Skip to main content

View the dependencies of your repositories.

Project description

Build Status Azure DevOps coverage

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.

Files for all-repos-depends, version 0.0.3
Filename, size File type Python version Upload date Hashes
Filename, size all_repos_depends-0.0.3-py2.py3-none-any.whl (13.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size all_repos_depends-0.0.3.tar.gz (9.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page