mirror of
https://github.com/vinta/awesome-python.git
synced 2026-05-08 06:38:26 -05:00
[PR #1044] [CLOSED] Add lupin, a serialization/deserialization library #5353
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/vinta/awesome-python/pull/1044
Author: @holinnn
Created: 4/7/2018
Status: ❌ Closed
Base:
master← Head:add_lupin📝 Commits (1)
9f564e4Add lupin📊 Changes
1 file changed (+1 additions, -0 deletions)
View changed files
📝
README.md(+1 -0)📄 Description
What is this Python project?
lupin helps in serializing python objects (user classes) to native Python types (dict, list, etc.) and loading data to python complex objects.
It can also be used to validate incoming data.
What's the difference between this Python project and similar ones?
You can use your existing models (and don't need to modify them) in order to make them work with lupin.
You just have to define a schema and bind it to your class in order to make it work.
It handles polymorphic lists and associations.
For example if in one list there are a
Userand anAdminobject, then it will be able to load and dump those objects to native python datatypes or load the list with one instance of theUserclass and the other one with theAdminclass.Complex validators combinations can be made in order to make the data validation process easier
For example if a field is defined with this validators combination :
Equal("Lupin") | Equal("Andrésy")then the validation stage will only pass if the data isAndrésyorLupin.--
Anyone who agrees with this pull request could vote for it by adding a 👍 to it, and usually, the maintainer will merge it when votes reach 20.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.