Skip to main content

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:

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

Browse uploaded package archives

Browse uploaded archives

You can see all uploaded package archives for a given package.

Inspect package archive metadata and contents

Inspect package archives

You can inspect a package archive's metadata and its contents.

Note that this is currently only supported for .zip and .whl files, but support for tarballs is planned.

Easily view files from package archives

View file

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 to https://pypi-hypernode.com)
  • 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 and run poetry install.

Once installed, you can run

$ make start-dev

to run a copy of the application locally with hot reloading enabled.

Roadmap

  • Add support for non-ZIP files (e.g. .tar.gz source distributions).

    This shouldn't be too hard, but it may be slow at runtime since unlike zip, tarballs don't contain an index or support extracting individual files without reading the entire tarball.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypi-browser-webapp-0.0.3.tar.gz (65.8 kB view details)

Uploaded Source

Built Distribution

pypi_browser_webapp-0.0.3-py3-none-any.whl (67.1 kB view details)

Uploaded Python 3

File details

Details for the file pypi-browser-webapp-0.0.3.tar.gz.

File metadata

  • Download URL: pypi-browser-webapp-0.0.3.tar.gz
  • Upload date:
  • Size: 65.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.0 CPython/3.9.2 Linux/5.10.0-18-amd64

File hashes

Hashes for pypi-browser-webapp-0.0.3.tar.gz
Algorithm Hash digest
SHA256 f610677d2928370baeb68fb7a78ef88260f7d5543adb885cbea7a6ebf5f2130f
MD5 6957aac37703b0a42a5899aca2ac691b
BLAKE2b-256 e51cb58c860dfd6873d3f1c3fb48cf7f8db9d07251dbd8f1ba166059e3420d8c

See more details on using hashes here.

File details

Details for the file pypi_browser_webapp-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for pypi_browser_webapp-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 eb20694b32a7754630ce4b649c740813c7a41efd3cf83e8bef1376d4e03de8bd
MD5 8d3db7f485c3ef1832fa7410b3ee9a2f
BLAKE2b-256 235b7f65587aeaf40ab3c25be6b285413e675a1cb1dcdb88a7dfffc9a9ba9b1b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page