All Projects → grundic → Awesome Python Models

grundic / Awesome Python Models

Licence: mit
A curated list of awesome Python libraries, which implement models, schemas, serializers/deserializers, ODM's/ORM's, Active Records or similar patterns.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Awesome Python Models

Framework
Strongly-typed JavaScript object with support for validation and error handling.
Stars: ✭ 136 (+9.68%)
Mutual labels:  schema, orm, validation, odm, model
Marshmallow
A lightweight library for converting complex objects to and from simple Python datatypes.
Stars: ✭ 5,857 (+4623.39%)
Mutual labels:  schema, validation, serialization, deserialization
Schematics
Project documentation: https://schematics.readthedocs.io/en/latest/
Stars: ✭ 2,461 (+1884.68%)
Mutual labels:  schema, validation, serialization, deserialization
fireo-nodejs
Google Cloud Firestore modern and simplest convenient ORM package in NodeJs. FireO is specifically designed for the Google's Firestore
Stars: ✭ 22 (-82.26%)
Mutual labels:  orm, model, odm
Maat
Validation and transformation library powered by deductive ascending parser. Made to be extended for any kind of project.
Stars: ✭ 27 (-78.23%)
Mutual labels:  serialization, validation, validator
hapic
Input/Output/Error management for your python controllers with Swagger doc generation
Stars: ✭ 18 (-85.48%)
Mutual labels:  serialization, validation, deserialization
Joiful
TypeScript Declarative Validation for Joi
Stars: ✭ 177 (+42.74%)
Mutual labels:  schema, validation, validator
Colander
A serialization/deserialization/validation library for strings, mappings and lists.
Stars: ✭ 408 (+229.03%)
Mutual labels:  validation, serialization, deserialization
Structure
A simple schema/attributes library built on top of modern JavaScript
Stars: ✭ 292 (+135.48%)
Mutual labels:  schema, validation, model
Typesystem
Data validation, serialization, deserialization & form rendering. 🔢
Stars: ✭ 416 (+235.48%)
Mutual labels:  validation, serialization, deserialization
Typical
Typical: Fast, simple, & correct data-validation using Python 3 typing.
Stars: ✭ 111 (-10.48%)
Mutual labels:  validation, serialization, deserialization
Strictyaml
Type-safe YAML parser and validator.
Stars: ✭ 836 (+574.19%)
Mutual labels:  schema, validation, serialization
avrow
Avrow is a pure Rust implementation of the avro specification https://avro.apache.org/docs/current/spec.html with Serde support.
Stars: ✭ 27 (-78.23%)
Mutual labels:  serialization, schema, deserialization
serde
🚝 (unmaintained) A framework for defining, serializing, deserializing, and validating data structures
Stars: ✭ 49 (-60.48%)
Mutual labels:  serialization, schema, deserialization
pyvaru
Rule based data validation library for python 3.
Stars: ✭ 17 (-86.29%)
Mutual labels:  validation, model, validator
Skema
🛰 Skema provides a handy & composable way to validate / transform / purify the input data.
Stars: ✭ 359 (+189.52%)
Mutual labels:  schema, validation, model
Topaz
A simple and useful db wrapper for Crystal-lang
Stars: ✭ 56 (-54.84%)
Mutual labels:  orm, activerecord, model
Schema Utils
Options Validation
Stars: ✭ 162 (+30.65%)
Mutual labels:  schema, validation, validator
Meteor Astronomy
Model layer for Meteor
Stars: ✭ 608 (+390.32%)
Mutual labels:  schema, validation, model
Beeschema
Binary Schema Library for C#
Stars: ✭ 46 (-62.9%)
Mutual labels:  schema, serialization, deserialization

Awesome Python Models Awesome

A curated list of awesome Python libraries, which implement models, schemas, serializers/deserializers, ODM's/ORM's, Active Records or similar patterns.


Model, Schema

Libraries implementing some kind of model, letting you to serialize/deserialize python object to some data structures.

  • 👻 ascetic - Ascetic, a lightweight Python datamapper ORM.
  • alt text attrs - Python Classes Without Boilerplate.
  • alt text booby - data modeling and validation Python library.
  • alt text causalmodels - causal modeling in Python.
  • alt text colander - A serialization/deserialization/validation library for strings, mappings and lists.
  • alt text composite - Declarative XML files parse, unparse with help of lxml library.
  • alt text datastore.objects - simple object mapper on top of datastore (not relational).
  • alt text dirty-models - Dirty model for python.
  • dejavu - Dejavu is a thread-safe Object-Relational Mapper for Python applications.
  • alt text gnarl - Lightweight module to define serializable, schema-validated classes
  • alt text guts - Lightweight declarative YAML and XML data binding for Python.
  • alt text jsonmapper - Python JSON<->Object mapper.
  • alt text jsonmodels - jsonmodels is library to make it easier for you to deal with structures that are converted to, or read from JSON.
  • alt text jsonobjects - jsonobjects allows you to declaratively specify how to extract and convert elements from a JSON document.
  • alt text jsonobject - A simple json-object mapping for Python.
  • 👻 jsonpickle - Python library for serializing any arbitrary object graph into JSON.
  • alt text kim - A JSON Serialization and Marshaling framework.
  • alt text lazycontract - Python library to define declarative contracts for serialization and deserialization.
  • alt text lupin - Python document object mapper (load python object from JSON and vice-versa).
  • alt text marshmallow - A lightweight library for converting complex objects to and from simple Python datatypes.
  • 👻 metaparams - Python meta framework for Parameters in classes.
  • alt text micromodels - Declarative dictionary-based model classes for Python.
  • alt text monk - An unobtrusive data modeling, manipulation and validation library.
  • alt text normalize - A toolkit for wrapping network data in Python objects.
  • alt text model-api - For modeling remote APIs in an ORM fashion.
  • alt text object-mapper - ObjectMapper is a class for automatic object mapping in Python.
  • alt text param - Make your Python code clearer and more reliable by declaring Parameters.
  • 👻 prettyrecord - Structures like SQLAlchemy's declarative_base or Django's models in your project!
  • alt text pydantic - Data validation using Python 3.6 type hinting.
  • alt text pyschema - Python library for class-based schema definition, object serialization and data validation.
  • alt text python-json - Python library for easily JSON encoding/decoding complex class-based Python models, using an arbitrarily complex (but easy to write!) mapping schema.
  • alt text python-docar - A library for document oriented architectures.
  • alt text resource-api - A framework that allows developers decoratively define resources and relationships between them.
  • alt text schematics - Python Data Structures for Humans™.
  • alt text schema - A generic declarative schema system.
  • alt text scheme - A declarative schema framework for Python.
  • alt text simple-models - Simple models - keep your API messages in shape with validation and handy descriptors based object interface.
  • alt text simple_model - a very simple model framework for python.
  • alt text yorm - Automatic object-YAML mapping for Python.

ODM, ORM, Active Record

Libraries, implementing ODM/ORM/Active Record patterns, letting you to work with external objects (REST, DB) like normal python instances.

  • alt text acid - SQLite for NoSQL.
  • 👻 butterdb - butterdb is a Python object mapper for Google Drive Spreadsheets.
  • alt text django - The Web framework for perfectionists with deadlines (includes ORM layer).
  • alt text finch - Asynchronous RESTful API consumer for Python.
  • alt text flywheel - Object mapper for Amazon's DynamoDB.
  • alt text kev - Python ORM for key-value stores. Currently supported backends are Redis, S3, and a S3/Redis hybrid backend.
  • alt text modular-odm - A database-agnostic Object-Document Mapper for Python.
  • alt text mongoengine - A Python Object-Document-Mapper for working with MongoDB.
  • alt text orator - The Orator ORM provides a simple yet beautiful ActiveRecord implementation.
  • alt text pony - Pony Object Relational Mapper.
  • alt text peewee - a small, expressive orm -- supports postgresql, mysql and sqlite.
  • alt text py-rest-orm - Generic Python REST ORM. Inspired by Django. Powered by Requests.
  • alt text python-rest-model - A standard way to consume a RESTful service, inspired by Django models.
  • alt text pyresto - A generic ORM framework for RESTful APIs.
  • alt text pymodm - A Pythonic, object-oriented interface for working with MongoDB.
  • alt text PynamoDB - A pythonic interface to Amazon's DynamoDB.
  • alt text redisco - A Python Library for Simple Models and Containers Persisted in Redis.
  • alt text remodel - Very simple yet powerful and extensible Object Document Mapper for RethinkDB, written in Python.
  • alt text restorm - RestORM allows you to interact with resources as if they were objects.
  • 👻 storm - Storm is an object-relational mapper (ORM) for Python developed at Canonical.
  • 👻 sqlobject - SQLObject is a popular Object Relational Manager for providing an object interface to your database, with tables as classes, rows as instances, and columns as attributes.
  • alt text wukong - An ORM Client library for SolrCloud.
  • alt text yadm - Yet Another Document Mapper (ODM) for MongoDB.
  • alt text walrus - Lightweight Python utilities for working with Redis.

Data validation

Libraries for validating custom data structures.

  • alt text cerberus - Lightweight, extensible data validation library for Python.
  • alt text destructure - Easy declarative schema validation with optional name-binding.
  • alt text jsonschema - jsonschema is an implementation of JSON Schema for Python (supporting 2.7+ including Python 3).
  • alt text pyschemes - PySchemes is a library for validating data structures in Python.
  • alt text pyvaru - Rule based data validation library for python 3.
  • alt text required - Required is a simple library which allows you to validate dependencies across multiple fields.
  • alt text schema - schema is a library for validating Python data structures, such as those obtained from config-files, forms, external services or command-line parsing, converted from JSON/YAML (or something else) to Python data-types.
  • alt text strictyaml - Type-safe YAML parser and validator.
  • alt text valideer - Lightweight data validation and adaptation Python library.
  • alt text validr - A simple, fast, extensible python library for data validation.
  • alt text voluptuous - Voluptuous, despite the name, is a Python data validation library. It is primarily intended for validating data coming into Python as JSON, YAML, etc.

Other resources

Other Awesome Lists

List of lists.

Contributing

If you know some project/library that is not listed here, just let me know! Or even better, create a pull request.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].