Skip to main content

GPD: Get Popular Dependents

Want to know which popular projects use a library published on GitHub? GPD helps you find how popular projects use a library in production, so you can learn how to use it too.

Install

$: pip install gpd

Usage

$: gpd --help
usage: gpd [-h] -o OWNER -n NAME [-m [MAX_PAGE]]

optional arguments:
  -h, --help            show this help message and exit
  -o OWNER, --owner OWNER
                        Project owner. For example 'github' in 'https://github.com/github/advisory-database'.
  -n NAME, --name NAME  Project name. For example 'advisory-database' in 'https://github.com/github/advisory-database'.
  -m [MAX_PAGE], --max_page [MAX_PAGE]
                        How many pages of dependents do you want to parse before finishing. Default is sys.maxsize, infinity.
$: poetry run gpd -o samuelcolvin -n pydantic
name                             stars    forks  author          url
-----------------------------  -------  -------  --------------  ---------------------------------------------------------
ansible                          53318    21956  ansible         https://github.com/ansible/ansible
spaCy                            23504     3840  explosion       https://github.com/explosion/spaCy
ray                              20707     3597  ray-project     https://github.com/ray-project/ray
jina                             14697     1919  jina-ai         https://github.com/jina-ai/jina
rasa                             14068     4004  RasaHQ          https://github.com/RasaHQ/rasa
aiohttp                          12471     1768  aio-libs        https://github.com/aio-libs/aiohttp
OpenBBTerminal                   12086     1295  OpenBB-finance  https://github.com/OpenBB-finance/OpenBBTerminal
dgl                               9702     2287  dmlc            https://github.com/dmlc/dgl
pandas-profiling                  9037     1319  ydataai         https://github.com/ydataai/pandas-profiling
full-stack-fastapi-postgresql     9027     1622  tiangolo        https://github.com/tiangolo/full-stack-fastapi-postgresql
label-studio                      8943     1065  heartexlabs     https://github.com/heartexlabs/label-studio
ludwig                            8340      986  ludwig-ai       https://github.com/ludwig-ai/ludwig
PySyft                            8140     1818  OpenMined       https://github.com/OpenMined/PySyft
sqlmodel                          7466      304  tiangolo        https://github.com/tiangolo/sqlmodel
vaex                              7094      548  vaexio          https://github.com/vaexio/vaex
robotframework                    7008     1977  robotframework  https://github.com/robotframework/robotframework
airbyte                           6924     1359  airbytehq       https://github.com/airbytehq/airbyte
doccano                           6230     1315  doccano         https://github.com/doccano/doccano
edx-platform                      6017     3277  openedx         https://github.com/openedx/edx-platform
DeepPavlov                        5754     1034  deepmipt        https://github.com/deepmipt/DeepPavlov

Note: you can only search libraries published on GitHub. For example, you cannot find projects that use Python's asyncio.

Development

# Note: Install Python 3
# Update pip and install virtualenv (dependency encapsulator) and black (linter; IDE needs to be restarted)

# Note: install Poetry for Linux
$: curl -sSL https://install.python-poetry.org | python3 -

# Note: install Poetry for Windows
$: (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -

$: curl -sSL https://install.python-poetry.org | python3 - --uninstall
$: poetry install  # install all dependencies

dist

$: pip install dist/gpd-1.0.1-py3-none.any.whl

$: gpd

docs

$: poetry shell
$: cd docs
# Note: review source/conf.py and source/index.rst
$: make html
# Note: see docs in docs/build/apidocs/index.html

gpd

$: poetry run gpd --help

tests

$: poetry run pytest --durations=0
$: poetry run pytest --cov=gpd --cov-report=html tests
# Note: see coverage report in htmlcov/index.html
# Note: exclude directories from coverage report through .coveragerc

poetry.lock

Dependencies, Python version and the virtual environment are managed by Poetry.

$: poetry search Package-Name
$: poetry add [-D] Package-Name[==Package-Version]

pyproject.toml

Define project entry point and metadata.

Linters

$: poetry run black .

MyPy

$: poetry run mypy ./gpd ./tests

cProfile

$: poetry run python ./gpd/profiler.py

Build and publish

$: poetry build

# Note: get the token from your PiPy account
$: poetry config pypi-token.pypi PyPI-Api-Access-Token
$: poetry publish --build
https://pypi.org/project/gpd/

Metadata

Release files for gpd 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gpd 1.1.1
File Size Uploaded Provenance
gpd-1.1.1.tar.gz 8.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for gpd 1.1.1
File Interpreter ABI Platform
gpd-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 18.4 kB

Release files / gpd-1.1.1.tar.gz

Download URL gpd-1.1.1.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ef00611d6970d5b6525fa41dca2fa8ae6782884491ec50b6200ec675f5899ba0
BLAKE2b-256 checksum
How to use checksums
7a2b50814dd8d451818340a131738139374b72c1614c8fe530b5daf023c44fc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.13 CPython/3.8.8 Windows/10

Release files / gpd-1.1.1-py3-none-any.whl

Download URL gpd-1.1.1-py3-none-any.whl
Size 10.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
89e25900a88ac6a9170a3542fb284e529f68d242c646e3f6648dde3ad3025173
BLAKE2b-256 checksum
How to use checksums
bf4cbe64f715b04762f1789e3b83f355244657e979983ce04218464f229ec051
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.13 CPython/3.8.8 Windows/10

Security for gpd 1.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page