Strapp

screenshot of Strapp
flask

(Boot)strapp your apps!

Overview:

Strapp is a mildly opinionated library designed to simplify the process of bootstrapping apps. It aims to commonize and test the typical bespoke boilerplate that is often reimplemented in various levels of sophistication. Strapp offers optional dependencies and exposes them through extras, making it easy to opt into or out of specific decisions and modules.

Features:

  • SQLAlchemy Session creation helper functions
  • Opt-in "dry run" session feature
  • Custom declarative_base
  • Opt-in created_at/updated_at columns
  • Opt-out reprable models
  • ClickContext "Resolver"
  • Flask non-decorator based route registration pattern (eliminates circular import issues)
  • Opt-in error handlers
  • Opt-in database handling
  • Logging verbosity helper
  • Sentry setup helper
  • Context helper
  • Dramatiq interface helpers (configure, enqueue, get_results)
  • Declarative actors (PreparedActor)
  • Optional middlewares: SentryMiddleware, DatadogMiddleware

Summary:

Strapp is a versatile library that simplifies app bootstrapping by providing common boilerplate functionality. It offers optional dependencies and a range of features, such as SQLAlchemy helper functions, Flask route registration pattern, logging verbosity helper, and more. Strapp is designed for easy integration with other open sourced packages, but these integrations are entirely optional. With its flexibility and ease of use, Strapp can greatly expedite the app development process.

flask
Flask

Flask is a lightweight and popular web framework for Python, known for its simplicity and flexibility. It is widely used to build web applications, providing a minimalistic approach to web development with features like routing, templates, and support for extensions.