Skip to main content

View the dependencies of your repositories.

Project description

Build Status Coverage Status

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 otherwise DEPENDS_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

all_repos_depends-0.0.1.tar.gz (10.0 kB view hashes)

Uploaded Source

Built Distribution

all_repos_depends-0.0.1-py2.py3-none-any.whl (13.4 kB view hashes)

Uploaded Python 2 Python 3

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