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.

Source Distribution

all_repos_depends-0.0.2.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

all_repos_depends-0.0.2-py2.py3-none-any.whl (13.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file all_repos_depends-0.0.2.tar.gz.

File metadata

  • Download URL: all_repos_depends-0.0.2.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for all_repos_depends-0.0.2.tar.gz
Algorithm Hash digest
SHA256 23c2face7b746b7f38d7c3367758382a95b1b0eb800ffa0171d0eb1e4ef0f835
MD5 e1cf57b745dbb81a73814a24605ce505
BLAKE2b-256 eb13ec99f0550f2aa7282142f01bf22df58febb2576afe8c886abcc28463ea39

See more details on using hashes here.

File details

Details for the file all_repos_depends-0.0.2-py2.py3-none-any.whl.

File metadata

  • Download URL: all_repos_depends-0.0.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for all_repos_depends-0.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5459d1630211b0d65f955d3a6f4fdeaf68053bc04b64d7b154e8e547ac84d06f
MD5 09bf586d9493f5d87154ba30a293d0fd
BLAKE2b-256 cfe92711abf394e60885e44e6685c03f365d25b12bb91123879a5cfdfea02e6e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page