All Projects → jwodder → pypi-simple

jwodder / pypi-simple

Licence: MIT license
PyPI Simple Repository API client library

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to pypi-simple

Dephell
📦 🔥 Python project management. Manage packages: convert between formats, lock, install, resolve, isolate, test, build graph, show outdated, audit. Manage venvs, build package, bump version.
Stars: ✭ 1,730 (+8138.1%)
Mutual labels:  pypi, pip
thanker
Don't be a wanker, be a thanker! Automatically give thanks to Pypi packages you use in your project.
Stars: ✭ 25 (+19.05%)
Mutual labels:  packages, pypi
Audioowl
Fast and simple music and audio analysis using RNN in Python 🕵️‍♀️ 🥁
Stars: ✭ 151 (+619.05%)
Mutual labels:  pypi, pip
Matrixprofile Ts
A Python library for detecting patterns and anomalies in massive datasets using the Matrix Profile
Stars: ✭ 621 (+2857.14%)
Mutual labels:  pypi, pip
yavdb
Yet Another Vulnerability Database
Stars: ✭ 14 (-33.33%)
Mutual labels:  pypi, pip
Python Pixabay
Python 3 Pixabay's API wrapper.
Stars: ✭ 32 (+52.38%)
Mutual labels:  pypi, pip
Rules python
Experimental Bazel Python Rules
Stars: ✭ 233 (+1009.52%)
Mutual labels:  pypi, pip
Pipx
Install and Run Python Applications in Isolated Environments
Stars: ✭ 4,398 (+20842.86%)
Mutual labels:  pypi, pip
Py3readiness
Python 3 support graph for most popular packages
Stars: ✭ 164 (+680.95%)
Mutual labels:  packages, pypi
Norepeat
The norepeat package contains some magical function, tools
Stars: ✭ 111 (+428.57%)
Mutual labels:  packages, pypi
Try
Dead simple CLI tool to try Python packages - It's never been easier! 📦
Stars: ✭ 588 (+2700%)
Mutual labels:  pypi, pip
pmm
PyPi Mirror Manager
Stars: ✭ 29 (+38.1%)
Mutual labels:  pypi, pip
Piprot
How rotten are your requirements?
Stars: ✭ 409 (+1847.62%)
Mutual labels:  pypi, pip
Pigar
☕️ A fantastic tool to generate requirements.txt for your Python project, and more than that. (IT IS NOT A PACKAGE MANAGEMENT TOOL)
Stars: ✭ 1,068 (+4985.71%)
Mutual labels:  pypi, pip
Pip Upgrader
An interactive pip requirements upgrader. It also updates the version in your requirements.txt file.
Stars: ✭ 340 (+1519.05%)
Mutual labels:  pypi, pip
Fades
fades is a system that automatically handles the virtualenvs in the cases normally found when writing scripts and simple programs, and even helps to administer big projects.
Stars: ✭ 182 (+766.67%)
Mutual labels:  pypi, pip
Py webauthn
A WebAuthn Python module.
Stars: ✭ 270 (+1185.71%)
Mutual labels:  pypi, pip
Underscore.py
Python port of underscore.js
Stars: ✭ 277 (+1219.05%)
Mutual labels:  pypi, pip
wheelodex
An index of wheels
Stars: ✭ 20 (-4.76%)
Mutual labels:  packages, pypi
PyGLM
Fast OpenGL Mathematics (GLM) for Python
Stars: ✭ 167 (+695.24%)
Mutual labels:  pypi, pip
Project Status: Active — The project has reached a stable, usable state and is being actively developed. CI Status 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, and PEP 691. 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.7 or higher. Just use pip for Python 3 (You have pip, right?) to install pypi-simple and its dependencies:

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]"

Example

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:

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(),
    )
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].