PyPI package browsing web application
Project description
PyPI Browser
PyPI Browser is a web application for browsing the contents of packages on the Python Package Index.
You can view a live version which provides information about packages from pypi.org:
- Search page
- Package page for the
django
package - Archive browse page for the
Django-4.1.1-py3-none-any.whl
file - File viewing page for a random file from the same archive
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
Browse uploaded package archives
You can see all uploaded package archives for a given package.
Inspect package archive metadata and contents
You can inspect a package archive's metadata and its contents.
Easily view files from package archives
You can display text files directly in your browser, with syntax highlighting and other features like line selection provided by fluffy-code.
Binary files can also be downloaded.
Deploying PyPI Browser
To run your own copy, install
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 tohttps://pypi-hypernode.com
)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 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 usetmpreaper
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 and run poetry install
.
Once installed, you can run
$ make start-dev
to run a copy of the application locally with hot reloading enabled.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pypi_browser_webapp-0.0.12.tar.gz
.
File metadata
- Download URL: pypi_browser_webapp-0.0.12.tar.gz
- Upload date:
- Size: 67.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.2 Linux/6.9.1ckuehl1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1bd16e501a1854946e9726984ced25167e4b4b9736f5217339b0d62226d0c5b |
|
MD5 | 4a7a3d57698abdbc30c6ae5c40bef299 |
|
BLAKE2b-256 | fc9157b0a8a8c2ad627003b148bbe0934d1ec42398d37b19f6acaa6ea3f7a1e6 |
File details
Details for the file pypi_browser_webapp-0.0.12-py3-none-any.whl
.
File metadata
- Download URL: pypi_browser_webapp-0.0.12-py3-none-any.whl
- Upload date:
- Size: 69.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.2 Linux/6.9.1ckuehl1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 851f5a0a74c9183c6331e88e39980fb03d0c2406921a31889d55df5ab309c326 |
|
MD5 | 29883e336cff29320bd8601ece91b7d3 |
|
BLAKE2b-256 | 58263e638bffd9273bcaa009140f118a82640b756ff1ec2269ade93dd3eee3d3 |