Skip to main content

For a package, locate its source repository url and its relative path within the repository

Project description

PyPI Python Version License Read the documentation at https://package-locator.readthedocs.io/ Build Package Status Run Tests Status Codecov pre-commit Black

Features

  • For a given package, package-locator locates its source code repository and the sub-directory within the repository the package resides in.

  • Covers packages from npm, PyPI, RubyGems, Composer, and Cargo.

  • Locates repository from metadata collected from registry APIs.

  • Validates repository and locates sub-directory through a set of heuristics for each package ecosystem. For npm, Composer, and Cargo packages, package-locator looks at the manifest file (package.json, composer.json, and Cargo.toml) to locate package specific code. For RubyGems and PyPI packages, package-locator either looks at the manifest file (gemspec file) or compares the files present in the registry with the files present in the repository.

Installation

You can install package-locator via pip from PyPI:

$ pip install package-locator

Usage

from package_locator.locator import get_repository_url_and_subdir is the primary function offered by package-locator. The function takes two inputs - ecosystem and package. The ecosystem names need to be provided as per defined within package-locator. You can import from package-locator.common import CARGO, NPM, PYPI, COMPOSER, RUBYGEMS and then use the constant values to indicate the ecosystem name. The function returns the source code repository URL and the sub-directory within the repository where the input package resides in. For example, get_repository_url_and_subdir(NPM, "react") call returns ("https://github.com/facebook/react", "./packages/react").

Credits

This package was created with cookietemple using Cookiecutter based on Hypermodern_Python_Cookiecutter.

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

package-locator-0.4.4.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

package_locator-0.4.4-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file package-locator-0.4.4.tar.gz.

File metadata

  • Download URL: package-locator-0.4.4.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.9.10 Darwin/21.1.0

File hashes

Hashes for package-locator-0.4.4.tar.gz
Algorithm Hash digest
SHA256 dc335c87def57d89c370547c49aa5aa8fcd256ba645520e5a5c15d3a27515b22
MD5 50bbcff019c6be08ef1ed145629435af
BLAKE2b-256 13baf4f34faf835bdb6410b946f6c7770a4b5371ed032a45c10355c2fd5e90d0

See more details on using hashes here.

File details

Details for the file package_locator-0.4.4-py3-none-any.whl.

File metadata

  • Download URL: package_locator-0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.9.10 Darwin/21.1.0

File hashes

Hashes for package_locator-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4130b888edbe4a78086d1afb7befa2436f3a1b96753848606a79c1072f5bfb4d
MD5 2982187e2988b18c234a8f7e0587ca5b
BLAKE2b-256 776b111c7a3370daeb7105b3adbf02c30aefa53b1d647f9461de754b0cfc4d1f

See more details on using hashes here.

Supported by

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