A utility package for projects using flask, sqlalchemy, socketio and pytest
Project description
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
, list
s 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
Namespace
s & theSocketIO
class 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!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file flask_fullstack-0.5.10.tar.gz
.
File metadata
- Download URL: flask_fullstack-0.5.10.tar.gz
- Upload date:
- Size: 27.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.1 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6851eeb712c5436f0e1d285f31ddc6f6792c742b086a3d707063650b4fde9f91 |
|
MD5 | 0c4e6a7b014089f95e9f216b905d1d62 |
|
BLAKE2b-256 | 82fb72b7c92cfc6d5c7e422d7c527391c10a8492a4fb9196c0bb8e3b61836dc9 |
File details
Details for the file flask_fullstack-0.5.10-py3-none-any.whl
.
File metadata
- Download URL: flask_fullstack-0.5.10-py3-none-any.whl
- Upload date:
- Size: 36.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.1 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf58f67f51e446c0d48d1a92879b424ccc321a1d2067ed1faef8b0bc8f78838e |
|
MD5 | ebef4c7692f7a6b63de16f90fff341d3 |
|
BLAKE2b-256 | 11115f6058b2fc636039c234910fe6cdbb73afe4934d63861294c3d45dc3cba7 |