Skip to content

pombredanne/distinfo

Repository files navigation

Distinfo

Built with Nix Build Status Quality Coverage

distinfo is a tool for extracting metadata, including full dependencies, from Python source distributions.

Usage

CLI

Dump json metadata to stdout:

$ distinfo /path/to/package/source

Library

Print requirements and metadata:

>>> from distinfo import Distribution, dump
>>>
>>> dist = Distribution("/path/to/package/source")
>>> dump(dist.requires)
{
  "build": [
    "setuptools-scm"
  ],
  "dev": [
    "pycmd",
  ],
  "run": [
    "click",
    "requests",
  ],
  "test": [
    "pytest",
  ]
}
>>> dump(dist.metadata)
{
  "author": "A N Other",
  "author_email": "a@example.org",
  "extensions": {
    "distinfo": {
      "imports": {
        "distinfo": [
          "click",
          "requests"
        ],
        "tests": [
          "pytest",
        ]
      },
      "tests": [
        "tests",
      ],
    }
  },
  "license": "GPL-3.0-or-later",
  "metadata_version": "2.1",
  "name": "example",
  "provides_extra": [
      "build",
      "dev",
      "test"
  ],
  "requires_dist": [
      "click",
      "pycmd; extra == 'dev'",
      "pytest; extra == 'test'",
      "requests"
      "setuptools-scm; extra == 'build'",
  ],
  "summary": "Example package",
  "version": "0.0.0"
}

Specifications

https://packaging.python.org/specifications/

Metadata

Dependencies

About

Extract metadata, including full dependencies, from Python source distributions

Resources

License

Stars

Watchers

Forks

Packages

No packages published