| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- Metadata-Version: 2.1
- Name: requirements-detector
- Version: 1.2.2
- Summary: Python tool to find and list requirements of a Python project
- Home-page: https://github.com/landscapeio/requirements-detector
- License: MIT
- Keywords: python,requirements detector
- Author: Landscape.io
- Author-email: code@landscape.io
- Requires-Python: >=3.7,<4.0
- Classifier: Development Status :: 5 - Production/Stable
- Classifier: Environment :: Console
- Classifier: Intended Audience :: Developers
- Classifier: License :: OSI Approved :: MIT License
- Classifier: Operating System :: Unix
- Classifier: Programming Language :: Python :: 3
- Classifier: Programming Language :: Python :: 3.7
- Classifier: Programming Language :: Python :: 3.8
- Classifier: Programming Language :: Python :: 3.9
- Classifier: Programming Language :: Python :: 3.10
- Classifier: Programming Language :: Python :: 3.11
- Classifier: Programming Language :: Python :: 3.10
- Classifier: Programming Language :: Python :: 3.11
- Classifier: Programming Language :: Python :: 3.7
- Classifier: Programming Language :: Python :: 3.8
- Classifier: Programming Language :: Python :: 3.9
- Classifier: Topic :: Software Development :: Quality Assurance
- Requires-Dist: astroid (>=2.0,<3.0)
- Requires-Dist: packaging (>=21.3)
- Requires-Dist: semver (>=3.0.0,<4.0.0)
- Requires-Dist: toml (>=0.10.2,<0.11.0)
- Description-Content-Type: text/markdown
- # Requirements Detector
- ## Status
- [](https://pypi.python.org/pypi/requirements-detector)
- [](https://github.com/landscapeio/requirements-detector/actions/workflows/ci.yaml)
- [](https://landscape.io/github/landscapeio/requirements-detector/master)
- [](https://coveralls.io/r/landscapeio/requirements-detector)
- [](https://readthedocs.org/projects/requirements-detector/)
- ## 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](http://www.pip-installer.org/en/latest/logic.html), 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, ...]
- ```
|