A reusable starter template for advanced Python projects.
GophitPythonTemplate/ ├── scratch/ │ └── scratch.py │ ├── source/ │ └── app/ │ ├── init.py │ └── main.py │ ├── tests/ │ └── init.py │ ├── .editorconfig ├── .env.example ├── .gitignore ├── LICENSE ├── pyproject.toml ├── README.md └── TODO.md
-
source/app/ Contains the main application source code. main.py can be used as the initial entry point of the application.
-
tests/ Contains automated tests for the project.
-
scratch/ A workspace for temporary code, experiments, quick tests, small scripts, and testing ideas. Code inside this directory is not considered part of the main application. Configuration
-
pyproject.toml Contains project metadata, dependencies, and configuration for Python development tools.
-
.env.example Contains example environment variables required by the project. Never commit real API keys, passwords, tokens, credentials, or other secrets. Example: API_TOKEN, DATABASE_URL, DEBUG
-
.editorconfig Defines common editor settings such as indentation, encoding, and line endings.
-
.gitignore Specifies files and directories that should not be tracked by Git.
-
LICENSE Contains the license used by the project.
-
TODO.md Contains development tasks, ideas, planned features, and other project notes.
Create a new repository using the Use this template button on GitHub. After creating a new project:
- Rename the project if necessary.
- Update pyproject.toml.
- Replace this README with information about the actual project.
- Configure .env.example if environment variables are required.
- Add project-specific dependencies.
- Add application code inside source/app/.
- Add tests inside tests/.
- Use scratch/ for temporary experiments and quick code checks.
-
Main application code: source/app/
-
Temporary experiments: scratch/
-
Tests: tests/
-
Environment Variables If the project requires environment variables, copy .env.example to .env: cp .env.example .env Then configure the required values locally. The .env file should not be committed to Git. Running the Application
-
! The default application entry point is: source/app/main.py
-
Run it with: python source/app/main.py
Project tests should be placed inside: tests/ The testing framework can be configured depending on the requirements of the project. Notes
Framework-specific dependencies and configuration such as Django, FastAPI, Flask, PySide6, databases, Docker, or external APIs should be added separately depending on the project.
- See the LICENSE file for licensing information.