Skip to content

A web interface to browse and search packages in any simple package repository (PEP-503), inspired by PyPI / warehouse

License

Notifications You must be signed in to change notification settings

simple-repository/simple-repository-browser

Repository files navigation

simple-repository-browser

A web interface to browse and search packages in any simple package repository (PEP-503), inspired by PyPI / warehouse.

Built using FastAPI and the simple-repository core library.

Demo

A tech-preview demo is available at https://simple-repository.app.cern.ch/.

Usage

Install from PyPI:

python -m pip install simple-repository-browser

And run:

simple-repository-browser

(or alternatively python -m simple_repository_browser)

By default, this will use the repository at PyPI (https://pypi.org/simple/). You can point it to a custom repository by passing the URL to the project list endpoint (the base URL according to PEP-503):

simple-repository-browser https://my-custom-repository.example.com/foo/simple/

Screenshots:

Homepage:

homepage screenshot

Search:

search result

Project page:

example project page

Runtime details

simple-repository-browser exposes a FastAPI application, and it runs the application in a single uvicorn worker. Metadata that is computed will be cached in the $XDG_CACHE_DIR/simple-repository-browser directory. This cache is not intended to be shared among different repository URLs, and is unlikely to work for multiple simple-repository-browser versions. There is currently no intelligent cache invalidation for those cases.

Development

In order to build the simple-repository-browser, first:

cd javascript
npm install --include=dev
npm run build
cd ..

And then the normal installation procedure applies:

python -m pip install -e .

The browser can be run with:

python -m simple_repository_browser

About

A web interface to browse and search packages in any simple package repository (PEP-503), inspired by PyPI / warehouse

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •