Skip to main content

Python tool to find and list requirements of a Python project

Reason this release was yanked:

This did not fix the actual problem, astroid is still pinned to v2

Project description

Requirements Detector

Status

Latest Version Build Satus Health Coverage Status Documentation

About

requirements-detector is a simple Python tool which attempts to find and list the requirements of a Python project.

When run from the root of a Python project, it will try to ascertain which libraries and the versions of those libraries that the project depends on.

It uses the following methods in order, in the root of the project:

  1. Parse setup.py (if this is successful, the remaining steps are skipped)
  2. Parse pyproject.yoml (if a tool.poetry.dependencies section is found, the remaining steps are skipped)
  3. Parse requirements.txt or requirements.pip
  4. Parse all *.txt and *.pip files inside a folder called requirements
  5. Parse all files in the root folder matching *requirements*.txt or reqs.txt (so for example, pip_requirements.txt would match, as would requirements_common.txt)

Usage

detect-requirements [path]

If path is not specified, the current working directory will be used.

Output

The output will be plaintext, and match that of a pip requirements file, for example:

Django==1.5.2
South>=0.8
anyjson
celery>=2.2,<3

Usage From Python

>>> import os
>>> from requirements_detector import find_requirements
>>> find_requirements(os.getcwd())
[DetectedRequirement:Django==1.5.2, DetectedRequirement:South>=0.8, ...]

If you know the relevant file or directory, you can use from_requirements_txt, from_setup_py or from_requirements_dir directly.

>>> from requirements_detector import from_requirements_txt
>>> from_requirements_txt("/path/to/requirements.txt")
[DetectedRequirement:Django==1.5.2, DetectedRequirement:South>=0.8, ...]

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

requirements_detector-1.3.0.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

requirements_detector-1.3.0-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

Details for the file requirements_detector-1.3.0.tar.gz.

File metadata

  • Download URL: requirements_detector-1.3.0.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.5 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.10

File hashes

Hashes for requirements_detector-1.3.0.tar.gz
Algorithm Hash digest
SHA256 ecd88b590666b6946b8899f66aa0c847fbc44a11050935dd3a1dd088033ccc23
MD5 f7635d48f17327690397a72eb8d18c4d
BLAKE2b-256 d7c45bbfbdf6650dacdf893aa8443014e65923d9a2c2102518a1eaccde7c3d93

See more details on using hashes here.

File details

Details for the file requirements_detector-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: requirements_detector-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/37.3 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.7 tqdm/4.66.5 importlib-metadata/6.7.0 keyring/24.1.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.10

File hashes

Hashes for requirements_detector-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0faa63016e2864a3c328f71421125de6cdeecd50ca87fa782ef3542e527bc3d0
MD5 4aeccc96c45284d1b3de9dff7b4600a4
BLAKE2b-256 842d587ffb278722b19d96fbe5b11e6eab8ebc259098b0e658c738a78e339063

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