zensols.rend


Namezensols.rend JSON
Version 1.1.1 PyPI version JSON
download
home_pagehttps://github.com/plandes/rend
SummaryInvoke macOS applications to view files
upload_time2023-12-29 18:24:16
maintainer
docs_urlNone
authorPaul Landes
requires_python
license
keywords tooling
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.16475s