pypi-browser-webapp


Namepypi-browser-webapp JSON
Version 0.0.12 PyPI version JSON
download
home_pageNone
SummaryPyPI package browsing web application
upload_time2024-06-04 03:59:25
maintainerNone
docs_urlNone
authorChris Kuehl
requires_python<4.0,>=3.10
licenseApache-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"
}
        
Elapsed time: 1.57053s