Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jwodder/pypi-simple
PyPI Simple Repository API client library
https://github.com/jwodder/pypi-simple
available-on-pypi packages pep503 pip pypi python simple-repository-api
Last synced: 12 days ago
JSON representation
PyPI Simple Repository API client library
- Host: GitHub
- URL: https://github.com/jwodder/pypi-simple
- Owner: jwodder
- License: mit
- Created: 2018-08-30T21:27:48.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-23T16:20:02.000Z (20 days ago)
- Last Synced: 2024-10-25T18:21:28.308Z (18 days ago)
- Topics: available-on-pypi, packages, pep503, pip, pypi, python, simple-repository-api
- Language: Python
- Homepage:
- Size: 327 KB
- Stars: 39
- Watchers: 6
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
|repostatus| |ci-status| |coverage| |pyversions| |license|
.. |repostatus| image:: https://www.repostatus.org/badges/latest/active.svg
:target: https://www.repostatus.org/#active
:alt: Project Status: Active — The project has reached a stable, usable
state and is being actively developed... |ci-status| image:: https://github.com/jwodder/pypi-simple/actions/workflows/test.yml/badge.svg
:target: https://github.com/jwodder/pypi-simple/actions/workflows/test.yml
:alt: CI Status.. |coverage| image:: https://codecov.io/gh/jwodder/pypi-simple/branch/master/graph/badge.svg
:target: https://codecov.io/gh/jwodder/pypi-simple.. |pyversions| image:: https://img.shields.io/pypi/pyversions/pypi-simple.svg
:target: https://pypi.org/project/pypi-simple/.. |license| image:: https://img.shields.io/github/license/jwodder/pypi-simple.svg
:target: https://opensource.org/licenses/MIT
:alt: MIT License`GitHub `_
| `PyPI `_
| `Documentation `_
| `Issues `_
| `Changelog `_``pypi-simple`` is a client library for the Python Simple Repository API as
specified in :pep:`503` and updated by :pep:`592`, :pep:`629`, :pep:`658`,
:pep:`691`, :pep:`700`, :pep:`708`, :pep:`714`, and :pep:`740`. With it, you
can query `the Python Package Index (PyPI) `_ and other `pip
`_-compatible repositories for a list of their available
projects and lists of each project's available package files. The library also
allows you to download package files and query them for their project version,
package type, file digests, ``requires_python`` string, PGP signature URL, and
metadata URL.See `the documentation `_ for more
information.Installation
============
``pypi-simple`` requires Python 3.8 or higher. Just use `pip
`_ for Python 3 (You have pip, right?) to install it::python3 -m pip install pypi-simple
``pypi-simple`` can optionally make use of tqdm_. To install it alongside
``pypi-simple``, specify the ``tqdm`` extra::python3 -m pip install "pypi-simple[tqdm]"
.. _tqdm: https://tqdm.github.io
Examples
========Get information about a package:
>>> from pypi_simple import PyPISimple
>>> with PyPISimple() as client:
... requests_page = client.get_project_page('requests')
>>> pkg = requests_page.packages[0]
>>> pkg.filename
'requests-0.2.0.tar.gz'
>>> pkg.url
'https://files.pythonhosted.org/packages/ba/bb/dfa0141a32d773c47e4dede1a617c59a23b74dd302e449cf85413fc96bc4/requests-0.2.0.tar.gz'
>>> pkg.project
'requests'
>>> pkg.version
'0.2.0'
>>> pkg.package_type
'sdist'
>>> pkg.digests
{'sha256': '813202ace4d9301a3c00740c700e012fb9f3f8c73ddcfe02ab558a8df6f175fd'}Download a package with a tqdm progress bar:
.. code:: python
from pypi_simple import PyPISimple, tqdm_progress_factory
with PyPISimple() as client:
page = client.get_project_page("pypi-simple")
pkg = page.packages[-1]
client.download_package(
pkg, path=pkg.filename, progress=tqdm_progress_factory(),
)`See more examples in the docs.`__
__ https://pypi-simple.readthedocs.io/en/stable/examples.html