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.5.tar.gz (43.4 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.5-py3-none-any.whl (48.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: utils_flask_sqlalchemy-0.4.5.tar.gz
  • Upload date:
  • Size: 43.4 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.5.tar.gz
Algorithm Hash digest
SHA256 e40ba11e8bca35962d4e4947f72e9c409164fb013e7d8b1a54c71ddf4edade10
MD5 d06dcff747e174d08304498794d823d2
BLAKE2b-256 4770c49843016bbffd2c86c2f227ce8cacc352a02bceab44dbc79816560ba149

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for utils_flask_sqlalchemy-0.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a29a08393dc65a4523d9dc5518822d5bae7399a375d134410b339289c4401aa1
MD5 849600546e671c1079f6601902effabb
BLAKE2b-256 80f6182a5012b26eb27d6e4b4d6807731b05cfb09da6424f40d810ec9975cd60

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