Skip to main content

Library for defining and checking for the status of requirements needed for your Python project

Project description

reequirements

reequirements is a useful library for defining and checking for the status of (not necessarily Python) requirements needed for your Python project.

Usage

Create some Requirement objects. Specify a friendly name for the requirement, a command to be able to check that requirement, and if it should issue a warning or halt the program if it is missing.

from reequirements import Requirement

REQUIREMENTS = [
    Requirement("docker", ["docker", "-v"], warn=False)
    Requirement("fortune", ["fortune", "-v"], warn=True)
]

Now, iterate through these requirements and check them.

for r in REQUIREMENTS:
    r.check()

RequirementMissing will be raised if docker -v exits with exit code 127 (command not found), or the more generic RequirementError will be raised if it exits with any other nonzero exit code.

RequirementMissingWarning will be warned if fortune -v exits with exit code 127 (command not found), or the more generic RequirementErrorWarning will be warned if it exits with any other nonzero exit code.

Tips

  • Make sure your commands to check requirements end with the correct exit code! This often means using flags like -v, -h when it comes to command line tools
  • You do not need to check for requirements right away; you can create Requirement at any time and check it whenever you want

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

reequirements-1.2.1.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

reequirements-1.2.1-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

Details for the file reequirements-1.2.1.tar.gz.

File metadata

  • Download URL: reequirements-1.2.1.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.2.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.4

File hashes

Hashes for reequirements-1.2.1.tar.gz
Algorithm Hash digest
SHA256 143f651c54f18b0d3d92a67747f64f0c6e4a3b965c3adedbf54dc0fdacf7c2c2
MD5 5f1a78d60f961f5c9d648e4cfecc133b
BLAKE2b-256 ba6a4220c6e015a8a4b30fa6c38f0b223e6c8f5c50cc3d18aae09fe1755d47fe

See more details on using hashes here.

File details

Details for the file reequirements-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: reequirements-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 4.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.2.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.4

File hashes

Hashes for reequirements-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 10888e43e742310c036aeeebaf43577841ba23e83f055f41e5794076e236a5f6
MD5 0c144c7623504b31c11d886ce5852fdb
BLAKE2b-256 285ef9ece9a7eee34a648dc2972160fd554034eb397893021ca66924249c6c7e

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