skip to navigation
skip to content

Not Logged In

MangoEngine v1.0.0-rc.1

MangoEngine is a lightweight library for creating generic data models in Python.

Latest Version: v1.0.0-rc.2

MangoEngine is a lightweight library for creating generic data models in Python.

class City(Model):
    name = StringField()
    officials = DictField(
        of_key = StringField(),
        of_value = StringField()
    )
    population = IntegerField(bounds = (0, None))

The models you create with MangoEngine are self-documenting and simple to create. Even better, you can populate them from unreliable sources and validate them to ensure your data is sane.

>>> city = City.from_dict({
...     "name": 12,
...     "officials": {1: 2},
...     "population": "alot"
... })
>>> city.validate()
ValidationError: For field 'name': expecting instance of basestring, got int.

You can leverage this library to create your own light-weight ORM for your application regardless of what your backing store is, without abstracting away important details like queries.

How do I use it?

You can install MangoEngine using pip by running pip install mangoengine.

For references and tutorials, see our documentation on ReadTheDocs.

About the Project

This library started as a means to create models for JSON objects, but has since evolved into a more general purpose library. Its interface is inspired by the fantastic MongoEngine library (thus its name). It was created by John Sullivan and he would greatly appreciate any contributions.

Licensing

All code and literature within this repository is dedicated to the public domain per the terms of the Unlicense.

 
File Type Py Version Uploaded on Size
MangoEngine-v1.0.0-rc.1.tar.gz (md5) Source 2013-12-29 8KB
MangoEngine-v1.0.0_rc.1-py2.7.egg (md5) Python Egg 2.7 2013-12-29 19KB
  • Downloads (All Versions):
  • 9 downloads in the last day
  • 81 downloads in the last week
  • 443 downloads in the last month