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.
- 🚀 Fast Project Initialization: Uses
uv initto 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
Dockerfileanddocker-compose.ymltailored 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.
- Python: Version 3.11 or higher.
- uv: The ultra-fast Python package installer and resolver. Install uv.
To install Pinit globally and use it as a standalone command:
uv tool install .You can then run it from anywhere using:
pinitTo run Pinit without installing it globally, navigate to the project directory and use:
uv run pinit- Launch Pinit: Run
pinit(oruv run pinit). - Start Wizard: Select "New Project Wizard" from the main menu.
- 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.
- Step 2: Tooling: Select the tools you want to configure (Ruff, MyPy, Pytest, Pre-commit).
- Step 3: Docker: Enable Docker support and configure the Python version and Service name.
- Summary: Review your choices and click "Create Project".
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.
MIT