A starter project for quickly setting up new Python apps
  • Python 39.3%
  • Shell 35.4%
  • Dockerfile 25.3%
Find a file
Jack Stockley 13bed4a829
Some checks failed
Lint, Test, and Deploy / Lint (push) Has been cancelled
Lint, Test, and Deploy / Test (push) Has been cancelled
Trivy Security Scan / Scan (push) Has been cancelled
Lint, Test, and Deploy / Publish to PyPI (push) Has been cancelled
Lint, Test, and Deploy / Deploy Docker Image (push) Has been cancelled
Merge pull request #160 from jnstockley/dev
Update astral-sh/setup-uv action to v8.2.0
2026-06-03 18:55:02 -05:00
.github/workflows Update astral-sh/setup-uv action to v8.2.0 2026-06-03 13:08:45 +00:00
scripts Fix linting to fail 2025-12-26 23:01:33 -06:00
src Allow customizable LOG_DIR 2026-01-25 12:46:52 -06:00
tests Fix test 2025-03-09 18:30:55 -05:00
.dockerignore Update .dockerignore to include data and logs 2025-09-30 18:10:47 -05:00
.gitignore Update .gitignore to include additional patterns 2025-09-30 18:11:16 -05:00
.python-version Setup starter project 2025-03-09 15:16:54 -05:00
.yamllint Update linters 2025-03-10 19:21:31 -05:00
compose-dev.yml Add logger and healthcheck utils 2025-12-26 22:35:43 -06:00
compose.yml Add logger and healthcheck utils 2025-12-26 22:35:43 -06:00
Dockerfile Update dhi.io/python Docker tag to v3.14.5 2026-05-11 19:09:49 +00:00
LICENSE Create LICENSE 2025-03-09 17:02:15 -05:00
Main Branch Protection.json Add branch protection json 2025-09-30 08:19:02 -05:00
pyproject.toml Update dependency python-dotenv to v1.2.2 2026-03-01 19:07:38 +00:00
README.md Update TODO 2025-03-23 19:30:57 -05:00
renovate.json Migrate config renovate.json 2025-08-06 00:01:13 +00:00
sample.env Allow customizable LOG_DIR 2026-01-25 12:46:52 -06:00
uv.lock Update dependency python-dotenv to v1.2.2 2026-03-01 19:07:38 +00:00

Python Starter

Steps to set up

  1. Create a new repository in GitHub using this repository as a template
  2. Generate Docker Hub PAT (Personal Access Token)
  3. Create an Environment in GitHub with the following secrets
    • DOCKER_USERNAME (Docker Hub username)
    • DOCKER_PASSWORD (Docker Hub PAT)
  4. Create a Docker Hub repository with the same name as the GitHub repository
  5. Update assignees in renovate.json with your GitHub username
  6. Set up code-cove and make sure it has access to this repository
  7. Setup branch protection rules
    • Set Enrforcment Status to Enabled
    • Make sure Target branches set to main or default branch
    • Ensure these Branch rules are selected
      • Restrict deletions
      • Require status checks to pass with these checks
        • Lint
        • Test
      • Block force pushes
  8. Create a PyPi Trusted Publisher
  9. Ensure the name in pyproject.toml matches the name of the package on PyPi
  10. Make sure the following linters are installed externally of the project
    • yamllint
    • shellcheck
    • shfmt
    • node (npx/dclint)

TODO

  • Handle GitHub pre-release
  • Update PYTHONPATH with src folder
  • Add custom user to Dockerfile
  • Fix Dockerfile
  • Fix health check
  • Fix version number