Skip to content

A sandbox template project. In the future it might be converted to a cookicutter template.

Notifications You must be signed in to change notification settings

rfguimaraes/template-sandbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Template-Sandbox

This project is a simple template that I am building for my own python projects. The setup and plan are based mostly on these pieces of writing and existing projects:

I am creating setup that suited my needs and preferences, while allowing me to learn the tools involved. That is why, if you read the references above, you will notice that some significant decisions are different, while the fundamental idea remains.

In the (near?) future I will convert this template-sandbox into a proper cruft/cookicutter/cookieninja template.

In the meantime, when you fork the project, you can set it up using these steps:

  1. conda create --name <environment name> --file conda-linux-64.lock
  2. poetry install --all-extras
  3. pre-commit install
  4. Get a URL with localtunnel: ./createtunnel.sh
  5. Setup an OAuth application for Woodpecker on Github.
  6. Setup a personal token for Renovate
  7. Create a TestPyPI account and token
  8. Fill in the missing variables from docker-compose.yml in new file called .env in the project root.
  9. Start the CI and Renovate with docker compose up -d
  10. Log in into the Woodpecker container (e.g. if nothing was changed, by going to localhost:8082)
  11. Enable the repository
  12. Add the TestPyPI token as a secret named test_pypi_token
  13. Check that the project can be built locally using nox

Components

Information Files

  • AUTHORS.md
  • CHANGELOG.md
  • CONTRIBUTING.md
  • README.md

Environment and CUDA dependencies

  • Conda/Mamba

Dependency management

  • Poetry

Hooks

  • pre-commit

License management

  • REUSE
  • REUSE pre-commit hook

Testing

  • pytest
  • Coverage.py
  • pytest-cov
  • nox
  • pytest-mock
  • Hypothesis
  • MutMut

Lint

  • ruff (keep this in mind: ruff #2459)
  • ruff pre-commit hook
  • black
  • black pre-commit hook
  • safety
  • pylint
  • pre-commit-hooks
    • end-of-file-fixer
    • trailing-whitespace-fixer
    • check-yaml
    • debug-statements
    • check-added-large-files
    • check-ast

Type checking

  • Mypy (Consider dmypy in the future)
  • Mypy pre-commit hook (Consider removing due to time consumed)
  • Typeguard

Documentation

CI/CD

  • Trufflehog (Consider removing as pre-commit hook due to time, consider changing to detect-secrets due to license issues)
  • Woodpecker CI/CD setup (local) + Localtunnel script
  • Build recipe
  • Renovate
  • TestPyPI
  • PyPI (disabled by default)
  • ReadTheDocs (disabled by default)

Logging

  • structlog-sentry-logger

About

A sandbox template project. In the future it might be converted to a cookicutter template.

Resources

Stars

Watchers

Forks

Packages

No packages published