{"id":23143,"library":"poetry-exec-plugin","title":"poetry-exec-plugin","description":"A Poetry plugin that allows executing scripts defined in pyproject.toml under the [tool.poetry.scripts] table, similar to npm run or pipenv run. Current version: 1.0.1, supports Poetry 2.x. Release cadence is sporadic.","status":"active","version":"1.0.1","language":"python","source_language":"en","source_url":"https://github.com/keattang/poetry-exec-plugin","tags":["poetry","plugin","scripts","cli"],"install":[{"cmd":"pip install poetry-exec-plugin","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"The plugin operates as a Poetry plugin; must be installed in the same environment as Poetry.","package":"poetry","optional":false}],"imports":[],"quickstart":{"code":"# After installing the plugin, add scripts to pyproject.toml:\n# [tool.poetry.scripts]\n# greet = { callable = \"my_package.module:greet_func\", help = \"Prints a greeting\", args = \"[name]\" }\n# Then run:\n# poetry exec greet Alice","lang":"python","description":"Define scripts in pyproject.toml and run them via `poetry exec <script-name>`."},"warnings":[{"fix":"For Poetry 1.x: pip install 'poetry-exec-plugin<1.0.0' (e.g., 0.3.6).","message":"Version 1.0.0 dropped support for Poetry 1.x. If you are on Poetry 1.x, pin to version 0.3.6.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Use the correct TOML key: [tool.poetry.scripts].","message":"Scripts must be defined under [tool.poetry.scripts] (not [tool.poetry.scripts.exec] or [tool.poetry.exec]).","severity":"gotcha","affected_versions":"all"},{"fix":"Update to dict form: greet = { callable = \"...\", help = \"...\", args = \"...\" }.","message":"The previous script syntax using [tool.poetry.scripts.<name>] = \"module:function\" still works but the official docs now recommend the dict form with 'callable', 'help', and 'args'.","severity":"deprecated","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Do not import the plugin. Install it and run `poetry exec` as a CLI command.","cause":"Missing import, but this plugin is not imported directly; it's activated via Poetry plugin mechanism. The error may appear when trying to import the plugin mistakenly.","error":"ModuleNotFoundError: No module named 'poetry_exec'"},{"fix":"Run `poetry self add poetry-exec-plugin` (Poetry 2.x) or `pip install poetry-exec-plugin` in the same environment as poetry.","cause":"The plugin is not installed or not activated in Poetry's environment. Poetry 2.x requires explicit plugin installation; `poetry self add` or install in the same environment.","error":"AttributeError: module 'poetry' has no attribute 'exec'"},{"fix":"Use `poetry self add poetry-exec-plugin` (Poetry 2.x) or reinstall with `pip install poetry-exec-plugin` in the Poetry environment.","cause":"The plugin is missing from Poetry's environment. It needs to be installed where Poetry is installed.","error":"Plugin poetry-exec-plugin is not installed"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}