Skip to content

KartikeyaKotkar/devtools_helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DevTools Helper πŸ› οΈ

CI CodeQL codecov PyPI version Python Versions License: MIT Downloads Code style: black pre-commit

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

✨ Features

πŸ—οΈ Project Generator

Quickly scaffold new Python projects with best practices and multiple templates

πŸ” Code Checker

Automated code analysis, quality metrics, and maintainability scores

βš™οΈ Config Manager

Simplified configuration handling with YAML, JSON, TOML, and env support

πŸ”„ Dev Server

Hot-reload development server for rapid prototyping and testing

πŸš€ Installation

Option 1: From PyPI (Recommended)

pip install devtools-helper

Option 2: From GitHub (Latest Development)

# 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]"

πŸ“– Quick Start

Command Line Interface

# 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 web

Python API

from 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()

🎯 Project Templates

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

βš™οΈ Configuration

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"

πŸ–₯️ CLI Commands

πŸ“ 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

πŸ“š Documentation

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

πŸ› οΈ Development

Quick Start for Contributors

Windows:

git clone https://github.com/KartikeyaKotkar/devtools-helper.git
cd devtools-helper
setup.bat

Linux/macOS:

git clone https://github.com/KartikeyaKotkar/devtools-helper.git
cd devtools-helper
chmod +x setup.sh && ./setup.sh

Development Commands

# 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-files

Using Makefile (Linux/macOS)

make 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

πŸ“‹ Requirements

  • Python: 3.8, 3.9, 3.10, 3.11, 3.12
  • Operating Systems: Windows, macOS, Linux

πŸ“Š Code Quality Metrics

Metric Status
Test Coverage codecov
Code Style Code style: black
Type Checking MyPy strict mode
Security CodeQL scanning

🀝 Contributing

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

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ’‘ Examples

Creating a Web Application

devtools create-project my-webapp --template webapp
cd my-webapp
pip install -r requirements.txt
devtools serve --command "python -m my_webapp.app"

Setting Up Data Science Project

devtools create-project data-analysis --template data-science
cd data-analysis
pip install -r requirements.txt
jupyter notebook notebooks/

Quality Check Pipeline

# 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"

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages