For a package, locate its source repository url and its relative path within the repository
Project description
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
, andCargo.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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc335c87def57d89c370547c49aa5aa8fcd256ba645520e5a5c15d3a27515b22 |
|
MD5 | 50bbcff019c6be08ef1ed145629435af |
|
BLAKE2b-256 | 13baf4f34faf835bdb6410b946f6c7770a4b5371ed032a45c10355c2fd5e90d0 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4130b888edbe4a78086d1afb7befa2436f3a1b96753848606a79c1072f5bfb4d |
|
MD5 | 2982187e2988b18c234a8f7e0587ca5b |
|
BLAKE2b-256 | 776b111c7a3370daeb7105b3adbf02c30aefa53b1d647f9461de754b0cfc4d1f |