Skip to main content

Python module wrapper for dynamic loading and callable signature validation.

Project description

modwrap is a pure Python 3 utility (no external dependencies) that lets you dynamically load and execute functions from any Python module — either via code or command line. 🐍

📦 Installation

Install directly from PyPI:

pip install modwrap

🔧 Programmatic Usage

Use modwrap in your Python code to load modules, introspect callable signatures, and execute functions dynamically:

from modwrap import ModuleWrapper

wrapper = ModuleWrapper("./examples/shell.py")

# Optional: Validate the function signature before calling
wrapper.validate_signature("execute", {"command": str})

# Load and call the function
func = wrapper.get_callable("execute")
result = func(command="whoami")
print(result)

You can also access the raw module object:

mod = wrapper.module
print(mod.execute("whoami"))

💻 CLI Usage

modwrap comes with a command-line interface to easily inspect and interact with any Python module.

List available callables and their signatures

modwrap list ./examples/shell.py

Returns a JSON-formatted list of top-level functions with argument type hints.

Get docstrings

modwrap doc ./examples/shell.py --full

Call a function with positional arguments

modwrap call ./examples/shell.py execute "ls -tAbl"

Call a function with keyword arguments

modwrap call ./examples/shell.py execute --kwargs '{"command": "ls -tAbl"}'

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

modwrap-1.0.4.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

modwrap-1.0.4-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file modwrap-1.0.4.tar.gz.

File metadata

  • Download URL: modwrap-1.0.4.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.9 Linux/6.12.13-amd64

File hashes

Hashes for modwrap-1.0.4.tar.gz
Algorithm Hash digest
SHA256 da20ba3a47fa0beae0f5d32a579181a5fa2e817716e91cce520bb8d203db9f31
MD5 a5fddba10fb057d20688ce26b10b8767
BLAKE2b-256 99466398100ceb14589f12012dc53a00f3ee3011cbd1adb8134fc1515b353689

See more details on using hashes here.

File details

Details for the file modwrap-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: modwrap-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.9 Linux/6.12.13-amd64

File hashes

Hashes for modwrap-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a77701a8d3fa377b221bbbf1fb8382dd5c53caaf2901b3aa6a2a716698ce4962
MD5 0a0d01e5312aaccee17eba578541d2ef
BLAKE2b-256 3b778c6e928ce90f452cae5d88b625a341c42025dd595f7d9d9b1874302ce7b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page