A comprehensive developer productivity toolkit for Python projects
Features β’ Installation β’ Quick Start β’ Documentation β’ Contributing
β‘ TL;DR:
git clone https://github.com/KartikeyaKotkar/devtools-helper.git && cd devtools-helper && python scripts/install_dev.py
|
Quickly scaffold new Python projects with best practices and multiple templates |
Automated code analysis, quality metrics, and maintainability scores |
Simplified configuration handling with YAML, JSON, TOML, and env support |
Hot-reload development server for rapid prototyping and testing |
pip install devtools-helper# Clone the repository
git clone https://github.com/KartikeyaKotkar/devtools-helper.git
cd devtools-helper
# Quick setup (Windows)
setup.bat
# Quick setup (Linux/macOS)
chmod +x setup.sh && ./setup.sh
# Or manual setup
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -e ".[dev]"# Generate a new project structure
devtools create-project my-awesome-project --template webapp
# Check code quality
devtools check-quality ./src
# Start development server with hot reload
devtools serve --port 8000
# Initialize configuration
devtools init-config --type webfrom devtools_helper import ProjectGenerator, CodeChecker, ConfigManager, DevServer
# Generate project structure
generator = ProjectGenerator()
generator.create_project("my-project", template="webapp")
# Check code quality
checker = CodeChecker()
results = checker.analyze("./src")
print(f"Quality Score: {results['metrics']['maintainability_score']}/100")
# Manage configuration
config = ConfigManager("config.yaml")
config.set("database.host", "localhost")
config.save()
# Start development server
server = DevServer(port=8000, hot_reload=True)
server.start()| Template | Description | Key Features |
|---|---|---|
π¦ basic |
Basic Python package structure | setup.py, README, tests |
π webapp |
Flask/FastAPI web application | Templates, static files, routing |
π» cli |
Command-line application | Click framework, argument parsing |
π data-science |
Data science project | Jupyter notebooks, common libraries |
π package |
PyPI package structure | Full packaging, CI/CD ready |
DevTools Helper supports multiple configuration formats:
|
YAML (Recommended) app:
name: "My Application"
version: "1.0.0"
debug: true
server:
host: "localhost"
port: 8000
hot_reload: true |
JSON {
"app": {
"name": "My Application",
"version": "1.0.0"
},
"server": {
"port": 8000
}
} |
Environment Variables export APP_NAME="My App"
export APP_DEBUG="true"
export DB_PORT="5432" |
π Project Management
# Create new project
devtools create-project myapp --template webapp
# List available templates
devtools templates
# Get project information
devtools info ./myprojectπ Code Quality
# Analyze code quality
devtools check-quality ./src
# Generate JSON report
devtools check-quality ./src --format json --output report.jsonβοΈ Configuration
# Initialize config file
devtools init-config --type web --format yaml
# Manage config values
devtools config config.yaml app.name "My App"
devtools config config.yaml app.debug true --type bool
devtools config config.yaml database.password --deleteπ Development Server
# Start development server
devtools serve --port 8000
# Serve static files
devtools serve --static-dir ./public
# Run custom command with hot reload
devtools serve --command "python app.py" --watch src --watch templates| Document | Description |
|---|---|
| π README | This file - overview and quick start |
| ποΈ ARCHITECTURE | System design and component overview |
| π CHANGELOG | Version history and changes |
| π€ CONTRIBUTING | Contribution guidelines |
| π SECURITY | Security policy and vulnerability reporting |
| π LICENSE | MIT License |
| π QUICKSTART | Detailed getting started guide |
Windows:
git clone https://github.com/KartikeyaKotkar/devtools-helper.git
cd devtools-helper
setup.batLinux/macOS:
git clone https://github.com/KartikeyaKotkar/devtools-helper.git
cd devtools-helper
chmod +x setup.sh && ./setup.sh# Run tests with coverage
pytest tests/ --cov=devtools_helper --cov-report=html
# Format code
black devtools_helper tests
# Lint code
flake8 devtools_helper tests
# Type checking
mypy devtools_helper
# All quality checks
pre-commit run --all-filesmake help # Show all available commands
make install-dev # Install with dev dependencies
make test # Run tests
make lint # Check code quality
make format # Format code
make build # Build package
make clean # Clean build artifacts- Python: 3.8, 3.9, 3.10, 3.11, 3.12
- Operating Systems: Windows, macOS, Linux
| Metric | Status |
|---|---|
| Test Coverage | |
| Code Style | |
| Type Checking | MyPy strict mode |
| Security | CodeQL scanning |
Contributions are welcome! Please read our Contributing Guide for details on:
- Setting up your development environment
- Code standards and best practices
- Submitting pull requests
- Reporting bugs and requesting features
This project is licensed under the MIT License - see the LICENSE file for details.
devtools create-project my-webapp --template webapp
cd my-webapp
pip install -r requirements.txt
devtools serve --command "python -m my_webapp.app"devtools create-project data-analysis --template data-science
cd data-analysis
pip install -r requirements.txt
jupyter notebook notebooks/# Check code quality
devtools check-quality ./src --format json --output quality.json
# Generate config
devtools init-config --type api
# Start with hot reload
devtools serve --command "uvicorn main:app --reload"