Flask-Fullstack
Flask-Fullstack is an utils package for projects using a fleet of libs:
It is currently in deep development. Package is maintained by one programmer (hey that me!). In this readme you can find:
Install
Add the library to your project
pip install flask-fullstack # via pip
poetry add flask-fullstack # via poetry
Working with this repository
pip install poetry==1.5.1
poetry install
Quick Start
TBD
Features
Interfaces & Mixins
- Database Interfaces: Implement these to later automate searching & authorization (see below)
- Mixins with Decorators: Classes full of useful decorators to be used in less abstract context (see below)
RESTX improvements
- New Marshals: form SQLAlchemy to Pydantic and then to the Response Marshaling
- Upgraded Parsers: just a couple of commonly used parsers to
.copy() - Resource Controller: RESTX's Namespace, but with access to useful decorators from mixins
New Marshals
New models, created in flask_fullstack.restx.marshals, are a translation layer between Pydantic & RESTX's own Models. These models also support being created from SQLAlchemy tables via Column reflection
For Pydantic, it only supports as fields: the keys of flask_fullstack.restx.marshals.type_to_field, lists and nesting other Pydantic models
For SQLAlchemy, it only supports converting columns of types in the keys of flask_fullstack.restx.marshals.column_to_field
SocketIO eXtensions
- Understandable Events: Makes possible automatic documentation, data validation (with New Marshals or pure Pydantic) & emits not just by the event's name
- Event Controller: Used to group events & provide access to useful decorators from mixins
- Upgraded Structures: Propagating new events & other utils to Flask-SocketIO's
Namespaces & theSocketIOclass itself
Other Utils
- SQLAlchemy Simplified: creating objects, parsing query results, deleting objects
- New Columns: JSON with Schema or a RESTX Model to use in New Marshals
- Named: If some class attribute needs to know the attribute name
- Other: Utils for dicts, pydantic, pytest, unpacking RESTX responses, TypeEnum, etc
- Core: For simplifying the common project setup steps
Future
TBA
Contributing
You are welcome to create issues and PRs in this repository. I'll get to them as soon as I have time!
Release files for flask-fullstack 0.5.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flask_fullstack-0.5.10.tar.gz | 27.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flask_fullstack-0.5.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 64.1 kB
Release files / flask_fullstack-0.5.10.tar.gz
| Download URL | flask_fullstack-0.5.10.tar.gz |
|---|---|
| Size | 27.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6851eeb712c5436f0e1d285f31ddc6f6792c742b086a3d707063650b4fde9f91
|
|
BLAKE2b-256 checksum How to use checksums |
82fb72b7c92cfc6d5c7e422d7c527391c10a8492a4fb9196c0bb8e3b61836dc9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.11.1 Windows/10
|
Release files / flask_fullstack-0.5.10-py3-none-any.whl
| Download URL | flask_fullstack-0.5.10-py3-none-any.whl |
|---|---|
| Size | 36.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bf58f67f51e446c0d48d1a92879b424ccc321a1d2067ed1faef8b0bc8f78838e
|
|
BLAKE2b-256 checksum How to use checksums |
11115f6058b2fc636039c234910fe6cdbb73afe4934d63861294c3d45dc3cba7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.11.1 Windows/10
|