python-init

Initialize Python projects with src-layout and hexagonal architecture scaffolding.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/infantesromeroadrian/arca-claude-code --skill python-init
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: python-init
Source: https://github.com/infantesromeroadrian/arca-claude-code/tree/main/skills/python-init
Command: npx skills add https://github.com/infantesromeroadrian/arca-claude-code --skill python-init

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Initializes Python projects with a clean, scalable structure and essential tooling, reducing setup time and onboarding effort.

Core Features & Use Cases

  • Create a standard src-layout with domain, application, infrastructure, and interfaces directories.
  • Configure pyproject.toml and Python version constraints.
  • Provide a ready-to-use testing and linting setup with pytest, ruff, and mypy.
  • Support hexagonal-architecture scaffolding for domain, application, infrastructure, and interfaces.

Quick Start

Create a new project scaffold with a src layout and base pyproject.toml using uv.

Frequently Asked Questions about python-init

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

FAQPage Schema
How do I scaffold a new Python project with a hexagonal architecture layout?

Scaffolding a Python project with hexagonal architecture involves creating distinct domain, application, infrastructure, and interfaces directories. This separates core business logic from external concerns, resulting in a scalable and maintainable codebase structure.

What is the best way to configure pyproject.toml for a new Python project setup?

Configuring pyproject.toml for a new Python project setup requires defining Python version constraints, development dependencies, and quality tooling. A standardized base file ensures consistent environment management and enforces project standards from the start.

How do I set up pytest, mypy, and ruff when initializing a Python project?

Setting up pytest, mypy, and ruff during Python project initialization involves defining them as development dependencies in pyproject.toml. This provides a ready-to-use testing and linting configuration that enforces code quality immediately.

Does this Python project initialization approach use a src-layout directory structure?

Yes, this Python project initialization approach uses a standard src-layout directory structure. This layout separates the importable package code from project configuration files, preventing import errors and ensuring clean distribution.

Can I use uv for Python project scaffolding and dependency management?

Yes, you can use uv for Python project scaffolding and dependency management. The initialization process integrates uv to configure the base pyproject.toml and manage development dependencies efficiently alongside ruff and mypy.

Why use a standardized Python project structure instead of building from scratch?

Using a standardized Python project structure instead of building from scratch ensures a clean, scalable layout with essential tooling already configured. This reduces manual setup time, minimizes onboarding effort, and enforces best practices across new projects.