Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/schireson/strapp
(Boot)strapp your apps!
https://github.com/schireson/strapp
boilerplate click flask knownip sentry sqlalchemy tidepod
Last synced: 1 day ago
JSON representation
(Boot)strapp your apps!
- Host: GitHub
- URL: https://github.com/schireson/strapp
- Owner: schireson
- License: mit
- Created: 2020-03-09T15:15:42.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-08-13T19:57:25.000Z (3 months ago)
- Last Synced: 2024-08-13T22:56:06.231Z (3 months ago)
- Topics: boilerplate, click, flask, knownip, sentry, sqlalchemy, tidepod
- Language: Python
- Homepage: https://strapp.readthedocs.io/
- Size: 512 KB
- Stars: 6
- Watchers: 6
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
![Github Actions Build](https://github.com/schireson/databudgie/actions/workflows/build.yml/badge.svg) [![codecov](https://codecov.io/gh/schireson/strapp/branch/main/graph/badge.svg)](https://codecov.io/gh/schireson/strapp) [![Documentation Status](https://readthedocs.org/projects/strapp/badge/?version=latest)](https://strapp.readthedocs.io/en/latest/?badge=latest)
# Strapp
A mildly opinionated library used to boot**str**ap **app**s. Its primary use is to commonize
(and test) the typical bespoke boilerplate most applications tend to reimplement to
varying levels of sophistication.All dependencies are intentionally optional, and exposed through extras in order to make
opting into or out of specific strapp decisions and modules entirely optional.## Package Highlights
- [SQLAlchemy](https://strapp.readthedocs.io/latest/sqlalchemy.html)
- Session creation helper functions
- Opt-in "dry run" session feature
- Custom `declarative_base`- Opt-in created_at/updated_at columns
- Opt-out `repr`able models
- For type safety, utilize the mypy plugin```toml
[tool.mypy]
plugins = 'strapp.sqlalchemy.mypy'
```- [Click](https://strapp.readthedocs.io/latest/click.html)
- Context "Resolver"
- [Flask](https://strapp.readthedocs.io/latest/flask.html)
- Non-decorator based route registration pattern (removes circular import issues)
- Opt-in error handlers
- Opt-in database handling- [Logging](https://strapp.readthedocs.io/latest/logging.html)
- Logging verbosity helper
- [Sentry](https://strapp.readthedocs.io/latest/sentry.html)
- Setup helper
- Context helper- [Dramatiq](https://strapp.readthedocs.io/latest/dramatiq.html)
- Interface helpers (`configure`, `enqueue`, `get_results`)
- Declarative actors (`PreparedActor`)
- Optional middlewares: `SentryMiddleware`, `DatadogMiddleware`## Optional Integrations
Strapp is designed with integration with [Configly](https://configly.readthedocs.org/latest) and
[Setuplog](https://setuplog.readthedocs.org/latest), two of our other open sourced packages.These are entirely optional, and explained at the relevant locations in the docs
to which they apply.