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.1.tar.gz (38.9 kB view details)

Uploaded Source

Built Distribution

utils_flask_sqlalchemy-0.4.1-py3-none-any.whl (42.1 kB view details)

Uploaded Python 3

File details

Details for the file utils-flask-sqlalchemy-0.4.1.tar.gz.

File metadata

File hashes

Hashes for utils-flask-sqlalchemy-0.4.1.tar.gz
Algorithm Hash digest
SHA256 54ea3d9def8a431f1f86f67682f2dfa78523b580407955376c32a539afd158b9
MD5 25a7b5f9084f2219979168e74aff34de
BLAKE2b-256 f2bb93a5d74fd4172551dd7f134c04bb32223fb42e831304ce0399eb6a00af94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for utils_flask_sqlalchemy-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 845396d9b23152b3847f0ed6512b3367da45a8ce742dfc3d0b5dc9f7984617ba
MD5 fd2ec4b1ecc7d92fbabfcf3f8487517c
BLAKE2b-256 b5aef8298868762f5bde7cb2d88557bba1e214b5b96c283fbfb8a9f895e6c170

See more details on using hashes here.

Supported by

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