| --- |
| title: LLM Image |
| emoji: π§ |
| colorFrom: yellow |
| colorTo: purple |
| sdk: docker |
| tags: |
| - Python |
| fullwidth: true |
| license: mit |
| app_port: 7860 |
| --- |
| |
| # 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. |