PitchHut
Log in / Sign up
Rob's Awesome Python Template
40 views
A highly configurable Python template for diverse application needs.
Pitch

Rob's Awesome Python Template is designed to adapt to any project, whether a simple library or a comprehensive application. It incorporates essential technologies like FastAPI and SQLAlchemy, offering a customizable setup that evolves with your requirements. Effortlessly kickstart development using cookiecutter, and enjoy flexible configurations tailored to your project.

Description

Unlock the full potential of your Python projects with Rob's Awesome Python Template, a highly customizable framework designed to suit applications of any scale—from compact libraries to expansive systems.

Key Features

  • Development Management: Utilize Makefiles for seamless project management.
  • Configuration Management: Leverage robust settings with Pydantic Settings to handle configurations effortlessly.
  • PyPI Publishing: Simplify your package distribution straight from GitHub Tags using setuptools-scm.
  • Code Quality Assurance: Maintain your code standards with Formatting and Linting via Ruff and type checking using mypy.
  • Testing: Run reliable tests with pytest ensuring your application behaves as expected.
  • Continuous Integration/Continuous Deployment (CI/CD): Automate your workflow with GitHub Actions for consistent delivery.
  • Precommit Hooks: Employ the precommit framework to enhance code quality before changes are made.

Optional Libraries

Rob's Awesome Python Template is versatile, offering an array of optional services that can be integrated based on your project needs:

  • FastAPI: Rapidly develop REST APIs with FastAPI effortlessly.
  • Celery: Efficiently manage task queues with the acclaimed Celery framework.
  • SQLAlchemy & Alembic: Create robust database interfaces with SQLAlchemy, complemented by Alembic for migrations.
  • Docker Support: Build and distribute application containers that encapsulate all necessary components, supporting both AMD and ARM architectures.

Examples

Explore a variety of project examples showcasing the flexibility of the template:

Make Development a Breeze

Whether you need a single library or a full-scale application, this template provides the tools necessary to streamline development and achieve your project's goals efficiently.