--- id: pyinvoke version: "1.0.4" license: MIT license_treatment: permissive maintenance: abandoned --- # pyinvoke License: permissive · Maintenance: abandoned · Downloads: 208.2K/mo ## What it is and what it does pyinvoke is a lightweight module launcher that runs a Python function specified by a full module path (e.g., `module.main:main`), ensuring the target loads as its proper module rather than as `__main__`. This solves a specific problem: when you run a module directly with `python -m module.main`, relative imports within that module fail because Python doesn't recognize the parent package context. pyinvoke becomes `__main__` instead, allowing the target to load correctly and perform relative imports. The package has no runtime dependencies and is simple to use: invoke it with `python -m pyinvoke :`. However, it has been abandoned since September 2018 with no updates or maintenance activity since then, and there is no indication of ongoing support or compatibility testing with modern Python versions. Use it for: - Running a module that uses relative imports when direct invocation with `python -m` fails due to parent module loading issues. - Launching Python applications from scripts or automation tools that need to preserve module context and relative import behavior. - Workaround for packages that cannot be restructured to avoid relative import problems in their entry points. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Invokes Python functions by full module path specifier, loading the target as a proper module rather than as __main__, which enables relative imports to work correctly. No. The package is abandoned (last release 2018-09-20, no maintenance since) with high install friction and no clear evidence of ongoing compatibility with modern Python. Before adopting it, verify whether the original relative-import problem it solves is still relevant to your use case, and explore whether standard Python tooling or modern alternatives now handle this scenario better. ## Install pip install pyinvoke uv add pyinvoke poetry add pyinvoke ## Installing pyinvoke Before you install: High install friction and abandoned maintenance status (last release 2018-09-20, no activity since). No runtime dependencies, but the package has received no updates in years and shows no active development. License in practice: MIT license permits free use, modification, and distribution with minimal restrictions, making it legally safe to adopt from a licensing perspective. Quickstart: pip install pyinvoke python -m pyinvoke module.main:main Requires Python to be invoked with -m pyinvoke; the target module must be importable and the function must exist at the specified path. Verify before relying: - Whether the package works reliably with modern Python versions (last tested/released in 2018). - Whether relative import handling remains compatible with current Python semantics. - Active alternatives or whether this problem is now solved by standard Python tooling. ## Package facts - License: MIT (permissive) - Python support: unspecified - Install friction: high - Maintenance: abandoned - Downloads: 208.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags invoke python function by module path, run python module with relative imports, python function specifier entrypoint, load module as non-main, python module invocation tool, module-invocation, abandoned [View on SkillFed](https://skillfed.io/packages/pyinvoke) · [View on PyPI](https://pypi.org/project/pyinvoke/)