A clean Python project
- Modern Python project structure
- Comprehensive testing with pytest and coverage reporting
- Code quality tools (Ruff for linting/formatting, MyPy for type checking)
- Pre-commit hooks for automated quality checks
- GitHub Actions CI/CD pipeline
- VS Code tasks integration
- Python 3.8 or higher
- Git
- Clone the repository:
git clone https://github.com/lakowske/network-admin.git
cd network-admin- Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate- Install the project in development mode:
# Using Make (recommended)
make install
# Or using UV (fastest)
uv pip install -e ".[dev]"
# Or using pip
pip install -e ".[dev]"- Install pre-commit hooks:
pre-commit install# Using Make (recommended)
make help # Show all available commands
make test # Run tests with coverage
make lint # Run linting
make format # Format code
make type-check # Run type checking
make docs # Build documentation
make all # Run all checks
# Or run tools directly
pytest --cov=. --cov-report=term-missing --cov-fail-under=80 --cov-report=html
ruff format . # Format code
ruff check . # Lint code
mypy . # Run type checking
mkdocs serve # Serve documentation locally
pre-commit run --all-files # Run all checksThis project includes VS Code tasks for common operations:
Ctrl+Shift+P-> "Tasks: Run Task" to see all available tasks- Install the "Task Explorer" extension for a better task management experience
network-admin/
├── src/network_admin/ # Main package
├── tests/ # Test suite
├── .github/workflows/ # GitHub Actions
├── .vscode/ # VS Code configuration
├── pyproject.toml # Project configuration
└── README.md # This file
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and run the quality checks
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Seth Lakowske - your.email@example.com