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.1.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

package_locator-0.4.1-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for package-locator-0.4.1.tar.gz
Algorithm Hash digest
SHA256 7ee9771e012575d85635f978df0f00ae5bca059e887fcb537f7f3b0902e67f0e
MD5 4d7e530ced05aa23b585eefc6e82702e
BLAKE2b-256 2a535827d052af2ee60e57e481169366f47fb88215716257cc08b4b538fc88a8

See more details on using hashes here.

Provenance

File details

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

File metadata

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

File hashes

Hashes for package_locator-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 14ef9a10beca0f95e9cb015caf7cdf487f888e5d71f5c9e6288d3781f109d997
MD5 1eed26c49caae3f6151b847846d71905
BLAKE2b-256 cebb8c2924abcf97f2647faef524d47f3f59aa62f7f193ffb014f3451bcfa544

See more details on using hashes here.

Provenance

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