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.3.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: all_repos_depends-0.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 523f4cbdec42c2c376a4205afb9e7b345295facd04054443807a6865ca3e51db
MD5 322097db66fb644a4b17696073eb3205
BLAKE2b-256 df6919a9a2003dbfd4ed49cfc32dcf7aa516965221985d8842332e7890e2c0fc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: all_repos_depends-0.0.3-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.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 95985a9af4943b25114c72d68129b13ee1675f3747dee12629c03c4834e3adf7
MD5 f204146e19f86c3b9189cba8a959208f
BLAKE2b-256 ffe1cc1f83b16c15565ba556d47ce5b6475cd91c546ef2889d10c7d14c72860a

See more details on using hashes here.

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