Skip to main content

Librairie "outil" pour SQLAlchemy et Flask

pytest codecov

Cette librairie fournit des décorateurs pour faciliter le développement avec Flask et SQLAlchemy.

Paquet Python : https://pypi.org/project/utils-flask-sqlalchemy/.

Elle est composée de trois outils principaux :

Les serialisers

Le décorateur de classe @serializable permet la sérialisation JSON d'objets Python issus des classes SQLAlchemy. Il rajoute dynamiquement une méthode as_dict() aux classes qu'il décore. Cette méthode transforme l'objet de la classe en dictionnaire en transformant les types Python non compatibles avec le format JSON. Pour cela, elle se base sur les types des colonnes décrits dans le modèle SQLAlchemy.

Le décorateur @serializable peut être utilisé tel quel, ou être appelé avec les arguments suivants :

  • exclude (iterable, default=()). Spécifie les colonnes qui doivent être exclues lors de la sérialisation. Par défaut, toutes les colonnes sont sérialisées.

La méthode as_dict() contient les paramètre suivants :

  • recursif (boolean, default = False) : contrôle si la serialisation doit sérialiser les modèles enfants (relationships) de manière recursive
  • columns (iterable, default=()). Spécifie les colonnes qui doivent être présentes dans le dictionnaire en sortie. Si non spécifié, le comportement par défaut du décorateur est adopté.
  • relationships (iterable, default=()). Spécifie les relationnships qui doivent être présentes dans le dictionnaire en sortie. Par défaut toutes les relationships sont prises si recursif=True.

Les réponses

Le fichier contient des décorateurs de route Flask :

  • Le décorateur @json_resp transforme l'objet retourné par la fonction en JSON. Renvoie une 404 si la valeur retournée par la fonction est None ou un tableau vide
  • Le décorateur @json_resp_accept_empty_list transforme l'objet retourné par la fonction en JSON. Renvoie une 404 si la valeur retournée par la fonction est None et 200 si c'est un tableau vide
  • Le décorateur @csv_resp tranforme l'objet retourné par la fonction en fichier CSV. La fonction doit retourner un tuple de ce format (file_name, data, columns, separator)

Le mapping à la volée

Le fichier generic contient les classes GenericTable et GenericQuery permettant de faire des requêtes sans définir de modèle au préalable.

Metadata

Release files for utils-flask-sqlalchemy 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for utils-flask-sqlalchemy 0.5.0
File Size Uploaded
utils_flask_sqlalchemy-0.5.0.tar.gz 56.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for utils-flask-sqlalchemy 0.5.0
File Interpreter ABI Platform
utils_flask_sqlalchemy-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 122.1 kB

Release files / utils_flask_sqlalchemy-0.5.0.tar.gz

Download URL utils_flask_sqlalchemy-0.5.0.tar.gz
Size 56.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8bfe96649be8cb1ea60795af8db01516e3e311de92ae6031f4ba5771febc018a
BLAKE2b-256 checksum
How to use checksums
4ab4db94853bd72ce5ace7ec2df1b75b7d7c05ee1cfdec2e40d29b5883a79ee2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / utils_flask_sqlalchemy-0.5.0-py3-none-any.whl

Download URL utils_flask_sqlalchemy-0.5.0-py3-none-any.whl
Size 65.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
438cd531fac3fdf1e11ec624667011123ca571180b473acfcfe8308f99a7343c
BLAKE2b-256 checksum
How to use checksums
b9e36ad81e269cd982281b1ced8432486d3b9aa75b76db88be8d0b556d5c58f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.6

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page