{ "info": { "author": "Andrzej Sk\u00f3rcz", "author_email": "skorczan@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries" ], "description": "******************\nprettyrecord\n******************\n\nprettyrecord allows you to define your data structures in declarative way,\nsimilar to SQLAlchemy's declarative_base or Django's models. To achieve the goal,\nprettyrecord uses Python's descriptor and metaclass mechanisms.\n\nUsage\n-----\n\n- to define new structure, subclass Record or derived class and fill with fields, eg.::\n\n from prettyrecord import Record\n\n\n class DummyRecord(Record, some_trait=False):\n field1 = Field(required=True, default_value='')\n field2 = Field(default_value=0)\n field3 = ListField(constraint=lambda value: -5 < value < 5)\n\n\n dr = DummyRecord(field1='foo', field3=[-2, 3, 1, 0, 4)\n print(dr.field1) # shows 'foo'\n print(dr.__some_trait__) # shows 'False'\n\n- to define new field, subclass Field, RecordField, ListField or derived class, eg.::\n\n from prettyrecord import Field\n\n\n class Integer(Field):\n def normalize(self, value):\n value = super(Integer, self).normalize(value)\n return int(value)\n\n- to change creation process of your structures, subclass MetaRecord and define new base class for them, eg.::\n\n from prettyrecord.record import Record, MetaRecord\n\n\n class MetaMyRecord(MetaRecord):\n def __new__(mcs, name, bases, attrs, **kwargs):\n # your code here - remember to call super().__new__\n\n def __init__(cls, name, bases, attrs, **kwargs):\n # your code here - remember to call super().__init__\n\n\n class MyRecord(Record, metaclass=MetaMyRecord):\n pass", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/skorczan/prettyrecord", "keywords": "structure model declarative record", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "prettyrecord", "package_url": "https://pypi.org/project/prettyrecord/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/prettyrecord/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/skorczan/prettyrecord" }, "release_url": "https://pypi.org/project/prettyrecord/0.2/", "requires_dist": null, "requires_python": null, "summary": "Structures like SQLAlchemy's declarative_base or Django's models in your project!", "version": "0.2" }, "last_serial": 1786485, "releases": { "0.1": [ { "comment_text": "version 0.1", "digests": { "md5": "423c6fef8aac496d9a5b313f492702f5", "sha256": "83fb01767f33d911f9cc2cc77d3dfeafe88f9a2518dab9d1b72c0c31e31201fe" }, "downloads": -1, "filename": "prettyrecord-0.1a.zip", "has_sig": false, "md5_digest": "423c6fef8aac496d9a5b313f492702f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11600, "upload_time": "2015-10-25T19:21:01", "url": "https://files.pythonhosted.org/packages/1e/f9/edb80fcae26f548f2f8b11dda9b3ae090e06840e2a12907daf0e0d9938a5/prettyrecord-0.1a.zip" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "906a28d8227b7e32cb9e3567d859c29c", "sha256": "9b0fe0deb09e7dbd979532c898a0c573df59ebcf04a731a95578aefc23aaf070" }, "downloads": -1, "filename": "prettyrecord-0.2.zip", "has_sig": false, "md5_digest": "906a28d8227b7e32cb9e3567d859c29c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11578, "upload_time": "2015-10-26T12:08:06", "url": "https://files.pythonhosted.org/packages/3a/aa/edcb940fb587644369cbae2c4ce41b7b4e4f55087bd4737ab51ad212d5bc/prettyrecord-0.2.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "906a28d8227b7e32cb9e3567d859c29c", "sha256": "9b0fe0deb09e7dbd979532c898a0c573df59ebcf04a731a95578aefc23aaf070" }, "downloads": -1, "filename": "prettyrecord-0.2.zip", "has_sig": false, "md5_digest": "906a28d8227b7e32cb9e3567d859c29c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11578, "upload_time": "2015-10-26T12:08:06", "url": "https://files.pythonhosted.org/packages/3a/aa/edcb940fb587644369cbae2c4ce41b7b4e4f55087bd4737ab51ad212d5bc/prettyrecord-0.2.zip" } ] }