Skip to content

svedese/pinit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pinit

Pinit is a powerful TUI (Text User Interface) agent designed to streamline the creation and configuration of Python projects. Built with textual and leveraging the speed of uv, Pinit helps you set up robust project structures with best-practice tooling and deployment configurations in seconds.

Features

  • 🚀 Fast Project Initialization: Uses uv init to create modern Python project structures instantly.
  • 🛠️ Automated Tooling Setup: Automatically configures essential development tools:
    • Ruff: For lightning-fast linting and formatting.
    • MyPy: For static type checking.
    • Pytest: For robust testing.
    • Pre-commit: For git hooks to ensure code quality.
  • 🐳 Docker Ready: Generates production-ready Dockerfile and docker-compose.yml tailored to your project.
  • wizard Unified Wizard: A step-by-step guided interface to configure every aspect of your new project.
  • 💾 Configuration Management: Save your favorite project templates and load them later to reproduce setups instantly.

Installation

Prerequisites

  • Python: Version 3.11 or higher.
  • uv: The ultra-fast Python package installer and resolver. Install uv.

Global Installation (Recommended)

To install Pinit globally and use it as a standalone command:

uv tool install .

You can then run it from anywhere using:

pinit

Local Execution

To run Pinit without installing it globally, navigate to the project directory and use:

uv run pinit

Usage

Creating a New Project

  1. Launch Pinit: Run pinit (or uv run pinit).
  2. Start Wizard: Select "New Project Wizard" from the main menu.
  3. Step 1: Basics:
    • Enter your Project Name.
    • Select the Destination Directory (default is your home folder).
    • Choose the Project Type (Application, Library, or Standard).
    • Toggle Git Initialization.
  4. Step 2: Tooling: Select the tools you want to configure (Ruff, MyPy, Pytest, Pre-commit).
  5. Step 3: Docker: Enable Docker support and configure the Python version and Service name.
  6. Summary: Review your choices and click "Create Project".

Managing Configurations

Pinit allows you to save your wizard choices to reuse them later.

  • Save Config: After configuring a project (or even before), click "Save Config" in the main menu. You can choose a destination folder and filename (default: pinit.conf).
  • Load Config: Click "Load Config" to select a previously saved configuration file. Pinit will automatically open the Wizard with all your saved settings pre-filled, ready for you to create a new project or make adjustments.

License

MIT

About

TUI for uv and various tools

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published