Skip to main content

Get a list of popular projects that use a library.

Project description

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/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gpd-1.1.1.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gpd-1.1.1-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file gpd-1.1.1.tar.gz.

File metadata

  • Download URL: gpd-1.1.1.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.8 Windows/10

File hashes

Hashes for gpd-1.1.1.tar.gz
Algorithm Hash digest
SHA256 ef00611d6970d5b6525fa41dca2fa8ae6782884491ec50b6200ec675f5899ba0
MD5 b98c2d63b263d4e0e31ea9385359b193
BLAKE2b-256 7a2b50814dd8d451818340a131738139374b72c1614c8fe530b5daf023c44fc2

See more details on using hashes here.

File details

Details for the file gpd-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: gpd-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.8 Windows/10

File hashes

Hashes for gpd-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 89e25900a88ac6a9170a3542fb284e529f68d242c646e3f6648dde3ad3025173
MD5 82af01e2593cd938c0e0cab5c25bf1d4
BLAKE2b-256 bf4cbe64f715b04762f1789e3b83f355244657e979983ce04218464f229ec051

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page