Skills poetry
install
source · Clone the upstream repo
git clone https://github.com/TerminalSkills/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/TerminalSkills/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/poetry" ~/.claude/skills/terminalskills-skills-poetry && rm -rf "$T"
manifest:
skills/poetry/SKILL.mdsafety · automated scan (low risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
- makes HTTP requests (curl)
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content
Poetry
Overview
Poetry is a Python dependency manager and build tool. It handles virtual environments, dependency resolution (with a lock file), project scaffolding, and PyPI publishing. The modern replacement for pip + setuptools + virtualenv.
Instructions
Step 1: New Project
# Install Poetry curl -sSL https://install.python-poetry.org | python3 - # Create new project poetry new my-api cd my-api # Or init in existing directory poetry init
Step 2: Manage Dependencies
# Add dependencies poetry add fastapi uvicorn sqlalchemy poetry add pydantic-settings # Add dev dependencies poetry add --group dev pytest pytest-asyncio pytest-cov ruff mypy # Remove poetry remove requests # Update poetry update # update all within constraints poetry update fastapi # update specific package poetry lock # regenerate lock file without installing
Step 3: pyproject.toml
# pyproject.toml — Project configuration [tool.poetry] name = "my-api" version = "1.0.0" description = "Project management API" authors = ["Team <team@example.com>"] readme = "README.md" [tool.poetry.dependencies] python = "^3.11" fastapi = "^0.110" uvicorn = {extras = ["standard"], version = "^0.27"} sqlalchemy = "^2.0" pydantic-settings = "^2.0" [tool.poetry.group.dev.dependencies] pytest = "^8.0" pytest-asyncio = "^0.23" pytest-cov = "^4.1" ruff = "^0.3" mypy = "^1.8" [tool.poetry.scripts] serve = "my_api.main:start" migrate = "my_api.db:run_migrations" [tool.ruff] target-version = "py311" line-length = 100 [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api"
Step 4: Use
# Activate virtual environment poetry shell # Run without activating poetry run python main.py poetry run pytest poetry run serve # custom script from pyproject.toml # Export for Docker (no Poetry needed in container) poetry export -f requirements.txt -o requirements.txt --without-hashes # Build and publish to PyPI poetry build poetry publish
Guidelines
- Always commit
— ensures reproducible installs across environments.poetry.lock - Use
for Docker — don't install Poetry in production containers.poetry export - Group dev dependencies with
— they're excluded from production installs.--group dev
resolves ALL transitive dependencies — no more "works on my machine."poetry.lock- Alternative:
(from Astral, makers of Ruff) — 10-100x faster, compatible with pip/Poetry.uv