Skip to content

Python Stack Support

Quick Start: Sequant now auto-detects Python projects and uses the correct package manager commands (pip, poetry, or uv) throughout the workflow.

When you run sequant init or sequant run in a Python project, Sequant detects your package manager from lockfiles and configures all skill templates accordingly.

Sequant checks for lockfiles in this order:

PriorityLockfilePackage Manager
1uv.lockuv
2poetry.lockpoetry
3pyproject.toml (fallback)pip
4requirements.txt (fallback)pip

Note: JavaScript lockfiles (bun.lockb, yarn.lock, pnpm-lock.yaml, package-lock.json) take priority. In a mixed JS/Python project, the JS package manager is used.

Each Python PM maps to these commands:

Commandpippoetryuv
Runpython -mpoetry runuv run
Execpython -mpoetry runuvx
Installpip installpoetry installuv pip install
Install (quiet)pip install -qpoetry install -quv pip install -q
  1. Navigate to your Python project directory
  2. Run sequant init
  3. Sequant detects the stack (e.g., python, django, fastapi) and package manager
  4. Skill templates are generated with the correct {{PM_RUN}} token

Check which package manager Sequant detected:

Terminal window
cat .sequant/settings.json | jq '.packageManager'

Python package managers work with these detected stacks:

StackDetectionNotes
pythonpyproject.toml or requirements.txtGeneric Python
djangomanage.py presentDjango projects
fastapifastapi in dependenciesFastAPI projects

Symptoms: Sequant uses pip when you use poetry or uv.

Solution: Ensure your lockfile exists in the project root. Run poetry lock or uv lock to generate it, then re-run sequant init.

Mixed JS/Python project uses JS package manager

Section titled “Mixed JS/Python project uses JS package manager”

Symptoms: Project has both package.json and pyproject.toml, but Sequant uses npm.

Solution: This is by design. JavaScript lockfiles take priority in mixed projects. If your project is primarily Python, remove the package.json or configure the package manager manually in .sequant/settings.json.


Generated for Issue #94 on 2026-03-13