# Invoke native applications to view files
[![PyPI][pypi-badge]][pypi-link]
[![Python 3.10][python310-badge]][python310-link]
[![Python 3.11][python311-badge]][python311-link]
[![Build Status][build-badge]][build-link]
Invoke native applications to view and render data from files.
Features:
- Uses [Dash] to render Excel, CSV and TSV files.
- Render PDF and HTML in the default web browser.
Features on macOS:
- Default web browser used for HTML, [Preview.app] used for PDF files.
- Resize the window and a per display basis.
- Go to a specified page in [Preview.app].
- Multiple file rendering in browser tabs.
The features on macOS are [needed for other operating systems](#contributing).
## Usage
Create a [configuration file] with the dimensions of each of the screens you
work with and where you want [Preview.app] to be displayed. You can validate
these configurations by having the application echo them back at you:
```bash
$ rend config
```
### Command Line
Invoke the application to show the file and display it:
```bash
$ rend example.pdf
```
See the [configuration file] example.
### From Python
The package is designed to be easy invoke from Python as well (note the
parenthesis needed to make the instance):
```python
from zensols.rend import ApplicationFactory
if (__name__ == '__main__'):
app = ApplicationFactory().get_instance()
app('test-resources/sample.pdf')
```
Pandas `DataFrame`s can be rendered using the browser API (note the lack of
parenthesis as it is called as a class method):
```python
from zensols.rend import BrowserManager, ApplicationFactory
import pandas as pd
if (__name__ == '__main__'):
mng: BrowserManager = ApplicationFactory.get_browser_manager()
url = 'https://raw.githubusercontent.com/scpike/us-state-county-zip/master/geo-data.csv'
df = pd.read_csv(url)
mng.show(df)
```
## Obtaining
The easiest way to install the command line program is via the `pip` installer:
```bash
pip3 install zensols.rend
```
Binaries are also available on [pypi].
## Documentation
See the [full documentation](https://plandes.github.io/rend/index.html).
The [API reference](https://plandes.github.io/rend/api.html) is also
available.
## Contributing
Currently the more advanced features are only available on macOS. However, the
API is written to easily add other operating systems as plugins. If you would
like to write one for other operating systems, please contact and/or submit a
pull request.
## Changelog
An extensive changelog is available [here](CHANGELOG.md).
## Community
Please star this repository and let me know how and where you use this API.
Contributions as pull requests, feedback and any input is welcome.
## License
[MIT License](LICENSE.md)
Copyright (c) 2022 - 2023 Paul Landes
<!-- links -->
[pypi]: https://pypi.org/project/zensols.rend/
[pypi-link]: https://pypi.python.org/pypi/zensols.rend
[pypi-badge]: https://img.shields.io/pypi/v/zensols.rend.svg
[python310-badge]: https://img.shields.io/badge/python-3.10-blue.svg
[python310-link]: https://www.python.org/downloads/release/python-3100
[python311-badge]: https://img.shields.io/badge/python-3.11-blue.svg
[python311-link]: https://www.python.org/downloads/release/python-3110
[build-badge]: https://github.com/plandes/rend/workflows/CI/badge.svg
[build-link]: https://github.com/plandes/rend/actions
[configuration file]: test-resources/rend.conf
[Dash]: https://plotly.com/dash/
[Preview.app]: https://en.wikipedia.org/wiki/Preview_(macOS)
Raw data
{
"_id": null,
"home_page": "https://github.com/plandes/rend",
"name": "zensols.rend",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "tooling",
"author": "Paul Landes",
"author_email": "landes@mailc.net",
"download_url": "https://github.com/plandes/rend/releases/download/v1.1.1/zensols.rend-1.1.1-py3-none-any.whl",
"platform": null,
"description": "# Invoke native applications to view files\n\n[![PyPI][pypi-badge]][pypi-link]\n[![Python 3.10][python310-badge]][python310-link]\n[![Python 3.11][python311-badge]][python311-link]\n[![Build Status][build-badge]][build-link]\n\nInvoke native applications to view and render data from files.\n\nFeatures:\n- Uses [Dash] to render Excel, CSV and TSV files.\n- Render PDF and HTML in the default web browser.\n\nFeatures on macOS:\n- Default web browser used for HTML, [Preview.app] used for PDF files.\n- Resize the window and a per display basis.\n- Go to a specified page in [Preview.app].\n- Multiple file rendering in browser tabs.\n\nThe features on macOS are [needed for other operating systems](#contributing).\n\n\n## Usage\n\nCreate a [configuration file] with the dimensions of each of the screens you\nwork with and where you want [Preview.app] to be displayed. You can validate\nthese configurations by having the application echo them back at you:\n\n```bash\n$ rend config\n```\n\n\n### Command Line\n\nInvoke the application to show the file and display it:\n\n```bash\n$ rend example.pdf\n```\n\nSee the [configuration file] example.\n\n\n### From Python\n\nThe package is designed to be easy invoke from Python as well (note the\nparenthesis needed to make the instance):\n```python\nfrom zensols.rend import ApplicationFactory\n\nif (__name__ == '__main__'):\n app = ApplicationFactory().get_instance()\n app('test-resources/sample.pdf')\n```\n\nPandas `DataFrame`s can be rendered using the browser API (note the lack of\nparenthesis as it is called as a class method):\n```python\nfrom zensols.rend import BrowserManager, ApplicationFactory\nimport pandas as pd\n\nif (__name__ == '__main__'):\n mng: BrowserManager = ApplicationFactory.get_browser_manager()\n url = 'https://raw.githubusercontent.com/scpike/us-state-county-zip/master/geo-data.csv'\n df = pd.read_csv(url)\n mng.show(df)\n```\n\n\n## Obtaining\n\nThe easiest way to install the command line program is via the `pip` installer:\n```bash\npip3 install zensols.rend\n```\n\nBinaries are also available on [pypi].\n\n\n## Documentation\n\nSee the [full documentation](https://plandes.github.io/rend/index.html).\nThe [API reference](https://plandes.github.io/rend/api.html) is also\navailable.\n\n\n## Contributing\n\nCurrently the more advanced features are only available on macOS. However, the\nAPI is written to easily add other operating systems as plugins. If you would\nlike to write one for other operating systems, please contact and/or submit a\npull request.\n\n\n## Changelog\n\nAn extensive changelog is available [here](CHANGELOG.md).\n\n\n## Community\n\nPlease star this repository and let me know how and where you use this API.\nContributions as pull requests, feedback and any input is welcome.\n\n\n## License\n\n[MIT License](LICENSE.md)\n\nCopyright (c) 2022 - 2023 Paul Landes\n\n\n<!-- links -->\n[pypi]: https://pypi.org/project/zensols.rend/\n[pypi-link]: https://pypi.python.org/pypi/zensols.rend\n[pypi-badge]: https://img.shields.io/pypi/v/zensols.rend.svg\n[python310-badge]: https://img.shields.io/badge/python-3.10-blue.svg\n[python310-link]: https://www.python.org/downloads/release/python-3100\n[python311-badge]: https://img.shields.io/badge/python-3.11-blue.svg\n[python311-link]: https://www.python.org/downloads/release/python-3110\n[build-badge]: https://github.com/plandes/rend/workflows/CI/badge.svg\n[build-link]: https://github.com/plandes/rend/actions\n\n[configuration file]: test-resources/rend.conf\n[Dash]: https://plotly.com/dash/\n[Preview.app]: https://en.wikipedia.org/wiki/Preview_(macOS)\n",
"bugtrack_url": null,
"license": "",
"summary": "Invoke macOS applications to view files",
"version": "1.1.1",
"project_urls": {
"Download": "https://github.com/plandes/rend/releases/download/v1.1.1/zensols.rend-1.1.1-py3-none-any.whl",
"Homepage": "https://github.com/plandes/rend"
},
"split_keywords": [
"tooling"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "aefe31c1fa3608150d35e50eec3920813ec265409571053aad6fd010bbf1597f",
"md5": "3d544a5b60fb31604e08935cdb0141ad",
"sha256": "0cee362ff032df44ff0de5b13edb3a818e5b872ff858b810174d803cd8b14adc"
},
"downloads": -1,
"filename": "zensols.rend-1.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3d544a5b60fb31604e08935cdb0141ad",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 24304,
"upload_time": "2023-12-29T18:24:16",
"upload_time_iso_8601": "2023-12-29T18:24:16.078259Z",
"url": "https://files.pythonhosted.org/packages/ae/fe/31c1fa3608150d35e50eec3920813ec265409571053aad6fd010bbf1597f/zensols.rend-1.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-29 18:24:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "plandes",
"github_project": "rend",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "zensols.rend"
}