Name | pypi-browser-webapp JSON |
Version |
0.0.12
JSON |
| download |
home_page | None |
Summary | PyPI package browsing web application |
upload_time | 2024-06-04 03:59:25 |
maintainer | None |
docs_url | None |
author | Chris Kuehl |
requires_python | <4.0,>=3.10 |
license | Apache-2.0 |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
PyPI Browser
============
**PyPI Browser** is a web application for browsing the contents of packages on
[the Python Package Index](https://pypi.org/).
You can view a live version which provides information about packages from pypi.org:
* [Search page](https://pypi-browser.org/)
* [Package page for the `django` package](https://pypi-browser.org/package/django)
* [Archive browse page for the `Django-4.1.1-py3-none-any.whl` file](https://pypi-browser.org/package/django/Django-4.1.1-py3-none-any.whl)
* [File viewing page for a random file from the same archive](https://pypi-browser.org/package/django/Django-4.1.1-py3-none-any.whl/django/forms/boundfield.py)
It can also be deployed with a private PyPI registry as its target in order to
be used for a company's internal registry.
## Features
![Search page](https://i.fluffy.cc/0lzgf46zcHZs90BZfMKp7cvspnk7QrZk.png)
### Browse uploaded package archives
![Browse uploaded archives](https://i.fluffy.cc/MnRscjgHrVw7DfnsrM3DV2rVQBB3SGNw.png)
You can see all uploaded package archives for a given package.
### Inspect package archive metadata and contents
![Inspect package archives](https://i.fluffy.cc/skXvnlvvhP8NwSN7RrjHBKrV1xMxKzqv.png)
You can inspect a package archive's metadata and its contents.
### Easily view files from package archives
![View file](https://i.fluffy.cc/6hp4VQmDF4pF6l54QWMfwjXdTpVGk27m.png)
You can display text files directly in your browser, with syntax highlighting
and other features like line selection provided by
[fluffy-code](https://github.com/chriskuehl/fluffy-code).
Binary files can also be downloaded.
## Deploying PyPI Browser
To run your own copy, install
[`pypi-browser-webapp`](https://pypi.org/project/pypi-browser-webapp/) using
pip, then run the `pypi_browser.app:app` ASGI application using any ASGI web
server (e.g. uvicorn).
You can set these environment variables to configure the server:
* `PYPI_BROWSER_PYPI_URL`: URL for the PyPI server to use (defaults to
`https://pypi.org`)
For best results (i.e. most available metadata), choose the first option from
this list which is supported by your PyPI registry:
* If your registry supports [PEP691](pep691) JSON "simple" indexes, specify
your base registry URL with `/simple` appended (e.g.
`https://my-registry/simple`).
* If your registry supports the legacy pypi.org-compatible JSON API (e.g.
`{registry}/pypi/{package}/json`), specify your base registry URL without
a suffix (e.g. `https://my-registry`).
* Otherwise, if your registry only supports the traditional HTML "simple"
index, specify the registry URL with `/simple` at the end (e.g.
`https://my-registry/simple`).
* `PYPI_BROWSER_PACKAGE_CACHE_PATH`: Filesystem path to use for caching
downloaded files. This will grow forever (the app does not clean it up) so
you may want to use `tmpreaper` or similar to manage its size.
pypi-browser is an ASGI app, and while it performs a lot of I/O (downloading and
extracting packages on-demand), some effort has been made to keep all blocking
operations off of the main thread. It should be fairly performant.
## Contributing
To build this project locally, you'll need to [install
Poetry](https://python-poetry.org/docs/) and run `poetry install`.
Once installed, you can run
```bash
$ make start-dev
```
to run a copy of the application locally with hot reloading enabled.
[pep691]: https://peps.python.org/pep-0691/
Raw data
{
"_id": null,
"home_page": null,
"name": "pypi-browser-webapp",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Chris Kuehl",
"author_email": "ckuehl@ckuehl.me",
"download_url": "https://files.pythonhosted.org/packages/fc/91/57b0a8a8c2ad627003b148bbe0934d1ec42398d37b19f6acaa6ea3f7a1e6/pypi_browser_webapp-0.0.12.tar.gz",
"platform": null,
"description": "PyPI Browser\n============\n\n**PyPI Browser** is a web application for browsing the contents of packages on\n[the Python Package Index](https://pypi.org/).\n\nYou can view a live version which provides information about packages from pypi.org:\n\n* [Search page](https://pypi-browser.org/)\n* [Package page for the `django` package](https://pypi-browser.org/package/django)\n* [Archive browse page for the `Django-4.1.1-py3-none-any.whl` file](https://pypi-browser.org/package/django/Django-4.1.1-py3-none-any.whl)\n* [File viewing page for a random file from the same archive](https://pypi-browser.org/package/django/Django-4.1.1-py3-none-any.whl/django/forms/boundfield.py)\n\nIt can also be deployed with a private PyPI registry as its target in order to\nbe used for a company's internal registry.\n\n\n## Features\n\n![Search page](https://i.fluffy.cc/0lzgf46zcHZs90BZfMKp7cvspnk7QrZk.png)\n\n\n### Browse uploaded package archives\n\n![Browse uploaded archives](https://i.fluffy.cc/MnRscjgHrVw7DfnsrM3DV2rVQBB3SGNw.png)\n\nYou can see all uploaded package archives for a given package.\n\n\n### Inspect package archive metadata and contents\n\n![Inspect package archives](https://i.fluffy.cc/skXvnlvvhP8NwSN7RrjHBKrV1xMxKzqv.png)\n\nYou can inspect a package archive's metadata and its contents.\n\n\n### Easily view files from package archives\n\n![View file](https://i.fluffy.cc/6hp4VQmDF4pF6l54QWMfwjXdTpVGk27m.png)\n\nYou can display text files directly in your browser, with syntax highlighting\nand other features like line selection provided by\n[fluffy-code](https://github.com/chriskuehl/fluffy-code).\n\nBinary files can also be downloaded.\n\n\n## Deploying PyPI Browser\n\nTo run your own copy, install\n[`pypi-browser-webapp`](https://pypi.org/project/pypi-browser-webapp/) using\npip, then run the `pypi_browser.app:app` ASGI application using any ASGI web\nserver (e.g. uvicorn).\n\nYou can set these environment variables to configure the server:\n\n* `PYPI_BROWSER_PYPI_URL`: URL for the PyPI server to use (defaults to\n `https://pypi.org`)\n\n For best results (i.e. most available metadata), choose the first option from\n this list which is supported by your PyPI registry:\n\n * If your registry supports [PEP691](pep691) JSON \"simple\" indexes, specify\n your base registry URL with `/simple` appended (e.g.\n `https://my-registry/simple`).\n\n * If your registry supports the legacy pypi.org-compatible JSON API (e.g.\n `{registry}/pypi/{package}/json`), specify your base registry URL without\n a suffix (e.g. `https://my-registry`).\n\n * Otherwise, if your registry only supports the traditional HTML \"simple\"\n index, specify the registry URL with `/simple` at the end (e.g.\n `https://my-registry/simple`).\n\n\n* `PYPI_BROWSER_PACKAGE_CACHE_PATH`: Filesystem path to use for caching\n downloaded files. This will grow forever (the app does not clean it up) so\n you may want to use `tmpreaper` or similar to manage its size.\n\npypi-browser is an ASGI app, and while it performs a lot of I/O (downloading and\nextracting packages on-demand), some effort has been made to keep all blocking\noperations off of the main thread. It should be fairly performant.\n\n\n## Contributing\n\nTo build this project locally, you'll need to [install\nPoetry](https://python-poetry.org/docs/) and run `poetry install`.\n\nOnce installed, you can run\n\n```bash\n$ make start-dev\n```\n\nto run a copy of the application locally with hot reloading enabled.\n\n[pep691]: https://peps.python.org/pep-0691/\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "PyPI package browsing web application",
"version": "0.0.12",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "58263e638bffd9273bcaa009140f118a82640b756ff1ec2269ade93dd3eee3d3",
"md5": "29883e336cff29320bd8601ece91b7d3",
"sha256": "851f5a0a74c9183c6331e88e39980fb03d0c2406921a31889d55df5ab309c326"
},
"downloads": -1,
"filename": "pypi_browser_webapp-0.0.12-py3-none-any.whl",
"has_sig": false,
"md5_digest": "29883e336cff29320bd8601ece91b7d3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 69747,
"upload_time": "2024-06-04T03:59:23",
"upload_time_iso_8601": "2024-06-04T03:59:23.298204Z",
"url": "https://files.pythonhosted.org/packages/58/26/3e638bffd9273bcaa009140f118a82640b756ff1ec2269ade93dd3eee3d3/pypi_browser_webapp-0.0.12-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fc9157b0a8a8c2ad627003b148bbe0934d1ec42398d37b19f6acaa6ea3f7a1e6",
"md5": "4a7a3d57698abdbc30c6ae5c40bef299",
"sha256": "a1bd16e501a1854946e9726984ced25167e4b4b9736f5217339b0d62226d0c5b"
},
"downloads": -1,
"filename": "pypi_browser_webapp-0.0.12.tar.gz",
"has_sig": false,
"md5_digest": "4a7a3d57698abdbc30c6ae5c40bef299",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 67512,
"upload_time": "2024-06-04T03:59:25",
"upload_time_iso_8601": "2024-06-04T03:59:25.720867Z",
"url": "https://files.pythonhosted.org/packages/fc/91/57b0a8a8c2ad627003b148bbe0934d1ec42398d37b19f6acaa6ea3f7a1e6/pypi_browser_webapp-0.0.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-04 03:59:25",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pypi-browser-webapp"
}