A tool for creating and managing Python projects
Project description
๐ PyInit
Your All-in-One Python Project Manager
PyInit is a powerful, all-in-one command-line tool for managing Python projects professionally. From project creation to deployment, PyInit provides everything you need! ๐ฏ
Installation โข Features โข Quick Start โข Commands โข Documentation
โจ Features
๐ฅ Installation
Install From PIP
pip install pyinit-tool
Install From AUR (Arch Users Repository) using yay/paru
yay -S python-pyinit
paru -S python-pyinit
Install from source
git clone https://github.com/mrbooo895/pyinit.git
cd pyinit
pip install -e .
Requirements
- Python 3.10+
- pip
- Git (optional, for version control)
๐ Quick Start
Create a New Project
# Create Your Project
pyinit create my_project
Initialize an Existing Directory
cd my_existing_code
pyinit init
Run Your Project
pyinit run
Add Dependencies
pyinit install requests
pyinit install flask numpy pandas
Remove Modules
pyinit uninstall requests
pyinit uninstall flask numpy pandas
๐ Commands
๐ Project Creation & Initialization
| Command | Description |
|---|---|
pyinit create <name> |
Create a new Python project |
pyinit init |
Initialize PyInit structure in existing directory |
pyinit info |
Display comprehensive project information |
โถ๏ธ Running & Testing
| Command | Description |
|---|---|
pyinit run [args] |
Run your project's main file |
pyinit test [pytest-args] |
Run tests with pytest |
๐ฆ Dependency Management
| Command | Description |
|---|---|
pyinit install <package> |
Install a package to your project |
pyinit uninstall <package> |
uninstall a package from your project |
pyinit update |
Check for outdated modules |
pyinit update --upgrade |
Upgrade project dependencies |
pyinit graph |
Display dependency tree |
๐ง Code Quality
| Command | Description |
|---|---|
pyinit format |
Format code with Black & isort |
pyinit check [ruff-args] |
Lint code with Ruff |
pyinit scan |
Scan project for issues |
pyinit clean |
Remove temporary files |
๐๏ธ Building & Releasing
| Command | Description |
|---|---|
pyinit build |
Build distributable packages |
pyinit release <major|minor|patch> |
Increment version number |
๐ Environment & Deployment
| Command | Description |
|---|---|
pyinit venv create |
Create virtual environment |
pyinit venv remove |
Remove virtual environment |
๐ฏ Usage Examples
Complete Workflow Example
# 1. Create a new project
pyinit create awesome_project
# 2. Navigate to the project
cd awesome_project
# 3. Add dependencies
pyinit install requests beautifulsoup4 pandas
# 4. Write your code in src/awesome_project/
# 5. Run the project
pyinit run
# 6. Add tests in tests/
# 7. Run tests
pyinit test
# 8. Format and check code
pyinit format
pyinit check
# 9. Build the package
pyinit build
# 10. Increment version
pyinit release patch
๐ Project Structure
PyInit creates a clean, standardized project structure:
my_project/
โโโ src/
โ โโโ my_project/
โ โโโ __init__.py
โ โโโ main.py
โโโ tests/
โ โโโ __init__.py
โโโ docs/
โโโ venv/
โโโ .gitignore
โโโ pyproject.toml
โโโ README.md
โโโ LICENSE
๐ Project Health Check
Run a comprehensive health check on your project:
pyinit scan
Checks include:
- โ
pyproject.tomlvalidity - โ Source directory structure
- โ Virtual environment existence
- โ Dependency synchronization
- โ Git repository initialization
- โ
.gitignorepresence - โ Tests directory existence
๐ ๏ธ Advanced Features
Semantic Versioning
# Increment patch version (1.0.0 โ 1.0.1)
pyinit release patch
# Increment minor version (1.0.0 โ 1.1.0)
pyinit release minor
# Increment major version (1.0.0 โ 2.0.0)
pyinit release major
Dependency Graph Visualization
pyinit graph
View your project's complete dependency tree with pipdeptree.
๐ Documentation
Full HTML documentation is available in the docs/html/ directory. Open index.html in your browser to explore:
- API Reference
- Module Documentation
- Function Signatures
- Class Diagrams
- Dependency Graphs
๐ค Contributing
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2025 mrbooo895
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files...
๐ Acknowledgments
- Rich - Beautiful terminal formatting
- Black & isort - Code formatting
- Ruff - Fast Python linter
- Pytest - Testing framework
- Build - PEP 517 build backend
๐ Support
- ๐ Issues: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- ๐ง Email: kwkkna3@gmail.com
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyinit_tool-1.0.7.tar.gz.
File metadata
- Download URL: pyinit_tool-1.0.7.tar.gz
- Upload date:
- Size: 32.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31b403d0a9bf53d39d0bb6cc073110ab60a7627779abd206f5249241d1b3ea93
|
|
| MD5 |
efdec7ba0ead75455627c3c419712193
|
|
| BLAKE2b-256 |
c089c4992d332d8998eff32f9c9c4bfb5a9dba00afaca4a140765d42d51855db
|
File details
Details for the file pyinit_tool-1.0.7-py3-none-any.whl.
File metadata
- Download URL: pyinit_tool-1.0.7-py3-none-any.whl
- Upload date:
- Size: 39.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6111dc2cb7b45cf85a0324849069dd8cd0c1a45b406794c38c5e2c50bed1825d
|
|
| MD5 |
833ee764c9988369bf31cac6667eb3df
|
|
| BLAKE2b-256 |
970045316d4162b911489f98b9ce81e8f61e8b748cbe1603b3918727ca380848
|