Skip to main content

Python Requisites: A dynamic tool for the explicit declaration and analysis of dependencies in Python objects, streamlining the process of identifying and managing required elements in your code.

Project description

Python Requisites

Python Requisites is a dynamic tool for the explicit declaration and analysis of dependencies in Python objects, streamlining the process of identifying and managing required elements in your code.

Introduction

Python Requisites (or python-requisites) provides an intuitive way to analyze and declare the dependencies in Python objects like functions, classes, and modules. This tool is particularly useful for developers looking to gain better insight into their code's structure and dependencies.

Features

  • Explicit Dependency Declaration: Clearly outlines the dependencies within Python objects.
  • Streamlined Analysis: Simplifies the process of identifying required arguments and dependencies in functions, classes, and modules.
  • Easy Integration: Designed to seamlessly integrate with existing Python projects.

Installation

You can install Python Requisites using pip:

pip install python-requisites

Usage

This library provides a utility to collect function parameters dynamically, either as positional or keyword arguments. Below are examples demonstrating how to use this functionality:

Collecting Positional or Keyword Arguments

from requisites import collect_params

def sample_function(argument):
    return argument

# Example 1: Collecting positional arguments
args, kwargs = collect_params(sample_function, "hello")
# args will be ("hello",)
# kwargs will be {}
assert sample_function(*args, **kwargs) == "hello"

# Example 2: Collecting keyword arguments
args, kwargs = collect_params(sample_function, argument="hello")
# args will be ()
# kwargs will be {"argument": "hello"}
assert sample_function(*args, **kwargs) == "hello"

# Example 3: Combining positional and keyword arguments
args, kwargs = collect_params(sample_function, "hello", argument="world")
# args will be ()
# kwargs will be {"argument": "world"}
assert sample_function(*args, **kwargs) == "world"

Collecting Parameters with Variable Arguments

from requisites import collect_params

def complex_function(a, b, *args, c, d=1, **kwargs):
    return "OK"

# Example 1: Handling required parameters
args, kwargs = collect_params(complex_function, "hello", "world", c="see")
# args will be ("hello", "world")
# kwargs will be {"c": "see", "d": 1}
assert complex_function(*args, **kwargs) == "OK"

# Example 2: Handling extra positional and keyword arguments
args, kwargs = collect_params(complex_function, "hello", "world", "!", c="see", e="extra", f="fun")
# args will be ("hello", "world", "!")
# kwargs will be {"c": "see", "d": 1, "e": "extra", "f": "fun"}
assert complex_function(*args, **kwargs) == "OK"

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

python_requisites-0.1.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

python_requisites-0.1.0-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file python_requisites-0.1.0.tar.gz.

File metadata

  • Download URL: python_requisites-0.1.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.13 Darwin/23.1.0

File hashes

Hashes for python_requisites-0.1.0.tar.gz
Algorithm Hash digest
SHA256 533cd6924453b822c281aabe8283f3d9772e1b49c6c917d83cd7550d34231d52
MD5 1dd3be379e409eb8b23e141036fdb2d0
BLAKE2b-256 a48e03e48f4bcde19234e04865f217a6d3bde1e72c7d10c83f31a4e5dab54ff1

See more details on using hashes here.

File details

Details for the file python_requisites-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for python_requisites-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4bf167b63df426f99c0f2791e9302568d9ed9aecc5f538495b788ee04c6d3266
MD5 3bda063406d216ccb05ed8ffc7cf67a6
BLAKE2b-256 485155f6260e067c3f07e0caa6ea3322fc4e3083a1c4f66c5955ebe3b5e737c3

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