Skip to main content

Python lib of tools for Flask and SQLAlchemy

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

utils_flask_sqlalchemy-0.4.4.tar.gz (43.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

utils_flask_sqlalchemy-0.4.4-py3-none-any.whl (48.0 kB view details)

Uploaded Python 3

File details

Details for the file utils_flask_sqlalchemy-0.4.4.tar.gz.

File metadata

  • Download URL: utils_flask_sqlalchemy-0.4.4.tar.gz
  • Upload date:
  • Size: 43.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for utils_flask_sqlalchemy-0.4.4.tar.gz
Algorithm Hash digest
SHA256 c9c125a654daaed07d8a5b65cfa741ed340dea09bd661fde035e1d473eff7e8b
MD5 b0095879c8f9fe526798be5103528210
BLAKE2b-256 d8572e297141898c43139ce859edcc370bf3d880707ca3a4e7d764464c66774e

See more details on using hashes here.

File details

Details for the file utils_flask_sqlalchemy-0.4.4-py3-none-any.whl.

File metadata

File hashes

Hashes for utils_flask_sqlalchemy-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8b4e703799192148a07fb4de9b6404ec9041012ff8ae201f2520ec20a56efb5e
MD5 93bc8201968ffbd0acbc45f191698ad8
BLAKE2b-256 6cfc4a8e45b27ca205ae29b0e440dad8a4417f00417e1d80cbdd4b1805008480

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page