Spaces:
Sleeping
Sleeping
title: Python Project Template | |
emoji: π§ | |
colorFrom: yellow | |
colorTo: purple | |
sdk: docker | |
tags: | |
- Python | |
fullwidth: true | |
license: mit | |
app_port: 8080 | |
# Python Project Template | |
A modern Python project template with best practices for development, testing, and deployment. | |
## Features | |
- Modern Python (3.11+) project structure | |
- Development tools configuration (pytest, black, isort, mypy, ruff) | |
- Docker support | |
- GitHub Actions ready | |
- Comprehensive documentation structure | |
- Jupyter notebook support | |
## Project Structure | |
``` | |
. | |
βββ docs/ # Documentation files | |
βββ notebooks/ # Jupyter notebooks | |
βββ src/ # Source code | |
β βββ common/ # Common utilities and shared code | |
β βββ modules/ # Feature modules | |
β β βββ api/ # API related code | |
β βββ shared/ # Shared resources | |
β βββ utils/ # Utility functions | |
βββ tests/ # Test files | |
``` | |
## Getting Started | |
### Prerequisites | |
- Python 3.11 or higher | |
- [uv](https://github.com/astral-sh/uv) for dependency management | |
### Installation | |
1. Clone the repository: | |
```bash | |
git clone https://github.com/yourusername/template-python.git | |
cd template-python | |
``` | |
2. Create a virtual environment and install dependencies: | |
```bash | |
uv venv | |
source .venv/bin/activate # On Windows: .venv\Scripts\activate | |
uv pip install -e ".[dev]" | |
``` | |
3. Copy the environment file and adjust as needed: | |
```bash | |
cp .env.example .env | |
``` | |
### Development | |
This project uses several development tools: | |
- **pytest**: Testing framework | |
- **black**: Code formatting | |
- **isort**: Import sorting | |
- **mypy**: Static type checking | |
- **ruff**: Fast Python linter | |
Run tests: | |
```bash | |
pytest | |
``` | |
Format code: | |
```bash | |
black . | |
isort . | |
``` | |
Run type checking: | |
```bash | |
mypy src tests | |
``` | |
Run linting: | |
```bash | |
ruff check . | |
``` | |
### Docker | |
Build the Docker image: | |
```bash | |
make build | |
``` | |
Run the container: | |
```bash | |
make run | |
``` | |
## Contributing | |
1. Fork the repository | |
2. Create your feature branch (`git checkout -b feature/amazing-feature`) | |
3. Commit your changes (`git commit -m 'Add some amazing feature'`) | |
4. Push to the branch (`git push origin feature/amazing-feature`) | |
5. Open a Pull Request | |
## License | |
This project is licensed under the MIT License - see the LICENSE file for details. |