View the dependencies of your repositories.
Project description
all-repos-depends
View the dependencies of your repositories.
all-repos-depends
is an add-on project to
all-repos.
Installation
pip install all-repos-depends
CLI
To generate the database, run all-repos-depends-generate
.
To run the webapp, run all-repos-depends-server
. The server runs on a
configurable --port
.
configuration
{
"all_repos_config": "../all-repos/all-repos.json",
"get_packages": [
"all_repos_depends.packages.setup_py",
"all_repos_depends.packages.package_json"
],
"get_depends": [
"all_repos_depends.depends.setup_py",
"all_repos_depends.depends.requirements_tools"
]
}
providers
Providers are the pluggable bits of all-repos-depends
. A few providers are
given for free.
The types that the providers will produce are in all_repos_depends.types
:
Package = collections.namedtuple('Package', ('type', 'key', 'name'))
Depends = collections.namedtuple(
'Depends', ('relationship', 'package_type', 'package_key', 'spec'),
)
If a provider encounters a detectable error state, it should raise an
exception of the type all_repos_depends.errors.DependsError
.
package
providers
A package
provider will be called while the cwd
is at the root of the
repository. It must return a all_repos_depends.types.Package
that the
repository provides (or None
if it is not applicable).
A few are provided out of the box (PRs welcome for more!)
all_repos_depends.packages.setup_py
This package
provider reads the ast of setup.py
and searches for the
name
keyword argument. For now this means it will only be able to read
setup.py
files which have python3-compatible syntax and set their name
literally.
all_repos_depends.packages.package_json
Reads the name
field out of an npm package.json
file.
depends
providers
A depends
provider will be called while the cwd
is at the root of the
repository. It must return a sequence or all_repos_depends.types.Depends
that the repository provides (or an empty sequence if it is not applicable).
all_repos_depends.depends.setup_py
This depends
provider reads the ast of setup.py
and searches for the
install_requires
keyword argument.
all_repos_depends.depends.requirements_tools
This depends
provider reads the following requirements files according to
the conventions for
requirements-tools:
requirements-minimal.txt
(DEPENDS
)requirements.txt
(REQUIRES
)requirements-dev-minimal.txt
(DEPENDS_DEV
)requirements-dev.txt
(REQUIRES_DEV
if-minimal
is present otherwiseDEPENDS_DEV
)
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
Built Distribution
Hashes for all_repos_depends-0.0.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95985a9af4943b25114c72d68129b13ee1675f3747dee12629c03c4834e3adf7 |
|
MD5 | f204146e19f86c3b9189cba8a959208f |
|
BLAKE2b-256 | ffe1cc1f83b16c15565ba556d47ce5b6475cd91c546ef2889d10c7d14c72860a |