python-project

Scaffold and harden Python repositories with uv, pyproject.toml, Ruff, pytest, and CI.

7|5|Updated Jul 22, 2025
One-click install
npx skills add https://github.com/nebius/nebius-ps-services --skill python-project-nebius
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: python-project
Source: https://github.com/nebius/nebius-ps-services/tree/main/skills/python-project
Command: npx skills add https://github.com/nebius/nebius-ps-services --skill python-project-nebius

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve? Setting up a production-grade Python project involves dozens of decisions—packaging metadata, lockfile management, test layout, linting, CI pipelines, and service packaging—that are easy to get wrong or leave inconsistent. This Skill scaffolds or hardens Python repositories with a single authoritative uv-based dependency workflow and reusable modern defaults. ## Core Features & Use Cases - uv-first scaffolding: Generates pyproject.toml with PEP 621 metadata, a committed uv.lock, src/ layout, setuptools-scm versioning, Ruff, and split unit/integration pytest lanes. - Profile-based templates: Adds CLI (Typer), systemd services, FastAPI APIs, UI apps, IaC, security tooling, and AI/ML pipeline structure only when the matching profile is selected. - Dependency governance: Preserves an existing package manager unless migration is requested, keeps index credentials out of repo files, and never hand-edits lockfiles. - Use Case: Ask the agent to scaffold a new deployable Python CLI application, and receive a complete repo tree with locked dependencies, Makefile targets, GitHub Actions CI, and tests ready to run. ## Quick Start Use the python-project skill to scaffold a new Python CLI application with uv, Ruff, pytest, and GitHub Actions CI.

Frequently Asked Questions about python-project

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I scaffold a new Python project with uv and pyproject.toml?

Invoke the skill with the project name, kind, and workload profiles, and it generates a src-layout repository with pyproject.toml, a uv-generated lockfile, Ruff, pytest, Makefile targets, and CI. Lockfiles are created by uv itself, never hand-written.

How do I add dependencies to a uv-managed Python project?

Use role-specific commands like uv add --no-sync for runtime packages, --dev for development tools, or --optional for consumer extras, then review pyproject.toml and uv.lock together before syncing. The skill's dependency-management reference covers upgrades, indexes, and failure handling.

Can I use this on an existing project that uses pip or Poetry?

Yes. The skill preserves the existing package manager and lock authority unless you explicitly request migration to uv. Hardening work such as layout, tests, and linting proceeds without introducing a second install or lock path.

How do I package a Python app as a systemd service?

Select the systemd profile and provide a fully qualified service module; the skill generates the importable module plus a hardened unit file. The unit's ExecStart binds to the project-owned .venv interpreter provisioned with uv sync --locked --no-dev.

Why does uv dependency resolution fail with a private package index?

Resolution fails when the same package name exists on multiple indexes under uv's default first-index strategy. The skill keeps first-index behavior, binds packages to a named explicit index, and keeps credentials in environment variables rather than project files.

What are the limitations of the coordinated-candidate scope?

In coordinated-candidate scope the skill only emits candidate files for an assigned component path and never writes the target repository or root-level files. Lockfile generation is reported as a pending post-integration step requiring separate authorization.