Skip to content

Python Project Template ๐Ÿ

A template to kick-start your open-source Python project.

Tests codecov black license

Open in GitHub Codespaces

Features

  • ๐Ÿš€ Modern Python project structure
  • ๐Ÿ“ฆ Pre-configured pyproject.toml
  • ๐Ÿค– ML server template with LitServe
  • ๐Ÿงช Testing setup with pytest
  • ๐Ÿ‘ท CI/CD with GitHub Actions
  • ๐Ÿ“ Auto-generated documentation
  • ๐ŸŽฏ Type hints and static type checking
  • ๐Ÿ” Code formatting with ruff and isort
  • ๐Ÿ› Linting with ruff

Project Structure

python-project-template/
โ”œโ”€โ”€ .github/
โ”‚   โ””โ”€โ”€ workflows/          # GitHub Actions workflows
โ”œโ”€โ”€ docs/                   # Documentation
โ”œโ”€โ”€ src/                    # Source code
โ”‚   โ””โ”€โ”€ python_project_template/
โ”œโ”€โ”€ tests/                  # Test files
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ LICENSE
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ pyproject.toml         # Project metadata and dependencies
โ””โ”€โ”€ setup.py              # Package installation

Installation

From Source

git clone https://github.com/aniketmaurya/python-project-template.git
cd python-project-template
pip install .

Development Installation

git clone https://github.com/aniketmaurya/python-project-template.git
cd python-project-template
pip install -e ".[dev]"

Usage

from python_project_template import do_something_awesome

print(do_something_awesome())

Development

  1. Clone the repository
git clone https://github.com/aniketmaurya/python-project-template.git
cd python-project-template
  1. Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
  1. Install development dependencies
pip install -e ".[dev]"

Running Tests

pytest tests/

Contributing

Contributions are always welcome! Here's how you can help:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Commit your changes (git commit -m 'Add some amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

Please make sure to update tests as appropriate and follow the existing coding style.

License

MIT - Feel free to use this template for your projects!