{ "info": { "author": "Sohel Tarir", "author_email": "sohel.tarir@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Build Tools" ], "description": "=======================================\nEASY Class |package| |build| |coverage|\n=======================================\n\nEASY Class is a toolkit for creating generic classes in an elegant way.\n\n=====\nUsage\n=====\n\n.. code:: python\n\n from easy_class import EasyClass, StringVariable, IntegerVariable\n\n\n class MyClass(EasyClass):\n attr1 = IntegerVariable()\n attr2 = StringVariable()\n\nThe above code declares a class with two member variables **attr1** and\n**attr2**, where **attr1** can only be an integer value and **attr2**\ncan only be a string. Hence, if you try to do the following\n\n.. code:: python\n\n obj = MyClass()\n obj.attr1 = \"Test\"\n\nit will raise the exception ``TypeError: attr1 expects int type, but received str.``\n\n========================\nClass Variable Reference\n========================\n\nAll Variable types (i.e. IntegerVariable, StringVariable) are inherited\nfrom the class **Variable** which represents a class attribute type.\nBelow contains all the API references of **Variable** including the\nvariable options and field types this package offers.\n\n----------------\nVariable options\n----------------\n\nThe following arguments are available to all variable types. All are\noptional.\n\nnull\n----\nIf **False** the attribute cannot\nbe assigned a **NULL** variable. Default is **True**. You cannot also\ninstantiate a class which has any Non-nullable attributes without\nspecifying the correct arguments. Below is what I meant to say.\n\n.. code:: python\n\n class MyClass(EasyClass):\n attr1 = IntegerVariable(null=False)\n attr2 = StringVariable(null=False)\n\n obj = MyClass()\n\nThe above will raise the exception ``ValueError: Following attributes cannot be null: [attr2, attr1]``\n\nchoices\n-------\nA list to use as choices for the attribute. Will raise exception if\nvalue being is stored is not included in this list of choices.\n\ndefault\n-------\nThe default value for the attribute. Right now, callables are not\nsupported.\n\neditable\n--------\nIf **False**, the attribute value cannot be edited. Default is **True**.\n\n--------------\nVariable Types\n--------------\n\n**IntegerVariable**\n-------------------\nAn Integer Variable. **IntegerVariable** allows the following extra arguments.\n\nmax_value\n~~~~~~~~~\nThe maximum value that can be set for the attribute. Default is **None** (i.e., no validation is done)\n\nmin_value\n~~~~~~~~~\nThe minimum value that can be set for the attribute. Default is **None** (i.e., no validation is done)\n\n**StringVariable**\n------------------\n\nA string variable, for small- to large-sized strings. **StringVariable**\nhas the following extra arguments\n\nmax_length\n~~~~~~~~~~\nThe maximum length (in characters) of the attribute. Defaults **255**.\n\nmin_length\n~~~~~~~~~~\nThe minimum length (in characters) of the attribute. Defaults **0**.\n\n**BooleanVariable**\n-------------------\nA true/false attribute.\n\n**FloatVariable**\n-----------------\nA floating-point number represented in Python by a **float** instance. **FloatVariable** accepts same arguments as an **IntegerField**.\n\n**ClassVariable**\n-----------------\nA custom class variable. Required keyword argument ``cls`` must be passed to a **ClassVariable**. Below is an example.\n .. code:: python\n\n class A(object):\n pass\n\n class MyClass(EasyClass):\n a = ClassVariable(cls=A, null=False)\n\n**DictVariable**\n----------------\nA dictionary variable.\n\n**DateTimeVariable**\n--------------------\nA python **datetime** variable. **DateTimeVariable** either accepts a **datetime** variable or string of the\nformat ``YYYY-MM-DDTHH:MM:SS``.\n\n\n**DateVariable**\n----------------\nA python **date** variable. **DateVariable** either accepts a **date** variable or string of the\nformat ``YYYY-MM-DD``.\n\n\n**TimeVariable**\n----------------\nA python **time** variable. **TimeVariable** either accepts a **time** variable or string of the\nformat ``HH:MM:SS``.\n\n\n.. |package| image:: https://badge.fury.io/py/easy-class.svg\n :target: https://pypi.python.org/pypi/easy-class\n.. |build| image:: https://travis-ci.org/soheltarir/EasyClass.svg?branch=master\n.. |coverage| image:: https://coveralls.io/repos/github/soheltarir/EasyClass/badge.svg?\n :target: https://coveralls.io/github/soheltarir/EasyClass?", "description_content_type": null, "docs_url": "https://pythonhosted.org/easy-class/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/soheltarir/EasyClass", "keywords": "development metaclass class generics", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "easy-class", "package_url": "https://pypi.org/project/easy-class/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/easy-class/", "project_urls": { "Homepage": "https://github.com/soheltarir/EasyClass" }, "release_url": "https://pypi.org/project/easy-class/1.1.2/", "requires_dist": [ "future (>=0.15.0)", "check-manifest; extra == 'dev'", "coverage; extra == 'test'" ], "requires_python": "", "summary": "Helpers for Generic Python Classes", "version": "1.1.2" }, "last_serial": 1934673, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "d182ea73e7fb1a0fff6e6835aba2deaf", "sha256": "afaeabc7a62ee3fb0b3fa1c6739596aa2e5fc85dfc2cb6805be23adeac312a9b" }, "downloads": -1, "filename": "easy_class-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "d182ea73e7fb1a0fff6e6835aba2deaf", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 7849, "upload_time": "2016-01-22T02:19:32", "url": "https://files.pythonhosted.org/packages/85/23/ded25f03d18d414290866b8e06a3c18fd7a7ac4c31df4b4dfc9a40f8bac0/easy_class-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d3f8a4b94d59402538b26997511fff2", "sha256": "d5be518f91cf5173e515bf667d23f69b181ea4a407fd4b69147a252dd01931ab" }, "downloads": -1, "filename": "easy_class-1.0.0.tar.gz", "has_sig": false, "md5_digest": "9d3f8a4b94d59402538b26997511fff2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10422, "upload_time": "2016-01-22T02:19:21", "url": "https://files.pythonhosted.org/packages/44/8c/a69f3bf02056ad83b36bdd15f066f436b37da86cb958d2356f006c2a3aa8/easy_class-1.0.0.tar.gz" } ], "1.0.0.dev1": [ { "comment_text": "", "digests": { "md5": "73f207337393aa3521e5fbb2ff4110f1", "sha256": "3031b43f47e55461158775a3cfc9d4dde892cd0d524c21737abef547552290b0" }, "downloads": -1, "filename": "easy_class-1.0.0.dev1-py2-none-any.whl", "has_sig": false, "md5_digest": "73f207337393aa3521e5fbb2ff4110f1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6566, "upload_time": "2016-01-22T00:23:10", "url": "https://files.pythonhosted.org/packages/d6/15/08cc3befed3c1f278ac106986d1320b1e37b2b94b47cba3b67cb55fcbed4/easy_class-1.0.0.dev1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e13d8dc8543db23d75067eb7d609222e", "sha256": "b80142f559a6b47fa222cac722820b325ae3813503ddfc3dc3a4b9f3f2e89015" }, "downloads": -1, "filename": "easy_class-1.0.0.dev1.tar.gz", "has_sig": false, "md5_digest": "e13d8dc8543db23d75067eb7d609222e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8065, "upload_time": "2016-01-22T00:22:58", "url": "https://files.pythonhosted.org/packages/75/6e/282db5da37faa38ffeeeb3871c286e0c01895f8c38fbe109b72e20e67e0a/easy_class-1.0.0.dev1.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "6cdf4d8d3784b9782cc30b92f95bdcf8", "sha256": "a0f8953bb23699172942ac3243f045c1f34930520b29866b3c072f1c007bd663" }, "downloads": -1, "filename": "easy_class-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "6cdf4d8d3784b9782cc30b92f95bdcf8", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8159, "upload_time": "2016-01-22T03:57:30", "url": "https://files.pythonhosted.org/packages/67/2f/2e2c685516d22cf47738cd5fe1d898d991ef231238d912c066062e6b224d/easy_class-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "06f546e8f0a162cb3c72c524d37ac2fd", "sha256": "787350a1fe6c0e782dc8125d015e167629633443ccc9eadd7995447a16948735" }, "downloads": -1, "filename": "easy_class-1.0.1.tar.gz", "has_sig": false, "md5_digest": "06f546e8f0a162cb3c72c524d37ac2fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10713, "upload_time": "2016-01-22T03:57:20", "url": "https://files.pythonhosted.org/packages/bd/87/63c64b67e406986f7760f9c4e5ea64810441b9754b8a5b2b2b2707d95ad1/easy_class-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "8ab7b0e24c549e56671e091d3ba1f7f8", "sha256": "89c6020631a3ccb1f7d0af1f381073ba6864f75610a328bff1406a082c369794" }, "downloads": -1, "filename": "easy_class-1.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "8ab7b0e24c549e56671e091d3ba1f7f8", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8189, "upload_time": "2016-01-22T13:30:51", "url": "https://files.pythonhosted.org/packages/88/8e/4940eefb1352e05e3db1c7c0fd3f68948435aa69d01ffcf8ba0ea09945cb/easy_class-1.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f79d5edd3d5c23de7760a2547c60fbad", "sha256": "a40d57e5bc327542bc27f96a16a47bab61695e5b9247176459caf88fdae3a63a" }, "downloads": -1, "filename": "easy_class-1.0.2.tar.gz", "has_sig": false, "md5_digest": "f79d5edd3d5c23de7760a2547c60fbad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10725, "upload_time": "2016-01-22T13:30:42", "url": "https://files.pythonhosted.org/packages/f1/cb/a33f41587988d60e50c96e5fcaa02d3760dd48af4af934ab8936aa03ded3/easy_class-1.0.2.tar.gz" } ], "1.0.3": [], "1.0.4": [ { "comment_text": "", "digests": { "md5": "6c3092e0375200be234cd3db35b034a0", "sha256": "3248eab2ebad242bda27e788709ed32f227d9e55c84b16197a7c2efc6d0c204a" }, "downloads": -1, "filename": "easy_class-1.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "6c3092e0375200be234cd3db35b034a0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8189, "upload_time": "2016-01-22T13:47:04", "url": "https://files.pythonhosted.org/packages/d4/44/2f3d5e4d26fef6e0975740890da4d7d7672a022000d20e86a9fccc92ef02/easy_class-1.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4be7f63012fb923cb0605ee6078a1d76", "sha256": "00ccf1cfaf4b76588814a52e6719c91e9f33b696aace5a193d5603caf3972324" }, "downloads": -1, "filename": "easy_class-1.0.4.tar.gz", "has_sig": false, "md5_digest": "4be7f63012fb923cb0605ee6078a1d76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10726, "upload_time": "2016-01-22T13:46:54", "url": "https://files.pythonhosted.org/packages/6c/7e/dd9f08bde3766273b1540530d10b9c6226a1593f6c8707d93192a9251276/easy_class-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "cdcece03ee9eefb49fa888ffe48b035a", "sha256": "89de92faeec11f87cea34d8e26373f081b2078d1ae5e08095a4e89a7555b35ac" }, "downloads": -1, "filename": "easy_class-1.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "cdcece03ee9eefb49fa888ffe48b035a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8191, "upload_time": "2016-01-22T13:56:26", "url": "https://files.pythonhosted.org/packages/9f/0c/605ec3433e83489c5def23b0e3624abe3f944abf92e6957660bcd1473591/easy_class-1.0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "866ccf60510eacf160cd93d795740609", "sha256": "7a0be902cd2f8b4d8d5610720991bacb31a4a5239f57ade76c8b9c599f66601f" }, "downloads": -1, "filename": "easy_class-1.0.5.tar.gz", "has_sig": false, "md5_digest": "866ccf60510eacf160cd93d795740609", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10723, "upload_time": "2016-01-22T13:56:49", "url": "https://files.pythonhosted.org/packages/f5/dc/ba548a5643b6bd592a9b2e327b773e460921f3559fec04c3994a326a1b4a/easy_class-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "d0d8f9658b4a3dd4ecabce3bad348cd0", "sha256": "0b222036d30d229648d08d5e2198d827f86ca64c327a61426e6a19b9f176bbb0" }, "downloads": -1, "filename": "easy_class-1.0.6-py2-none-any.whl", "has_sig": false, "md5_digest": "d0d8f9658b4a3dd4ecabce3bad348cd0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8212, "upload_time": "2016-01-22T14:15:59", "url": "https://files.pythonhosted.org/packages/cf/df/20d9b374e02bdad38d912b11b012acb6e6e94e73bbc651268344576aa9eb/easy_class-1.0.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "676784b82209708d7ecc757c16564734", "sha256": "05ebb3143d0ac10c84f068d0ee2250c531a27eac2f1929096098223ae8ab6f0e" }, "downloads": -1, "filename": "easy_class-1.0.6.tar.gz", "has_sig": false, "md5_digest": "676784b82209708d7ecc757c16564734", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10742, "upload_time": "2016-01-22T14:23:30", "url": "https://files.pythonhosted.org/packages/f1/01/41939e684c850bfa50eb673f328864c3f0ced2c6e0da8db8d659f101874c/easy_class-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "ca1548be1efaeb43e6df053a56d81128", "sha256": "f106671cfd6fb5e35c4df97fac6ce8ed09940eccde5712c6e4f4e935f24fce8d" }, "downloads": -1, "filename": "easy_class-1.0.7-py2-none-any.whl", "has_sig": false, "md5_digest": "ca1548be1efaeb43e6df053a56d81128", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8213, "upload_time": "2016-01-22T14:33:53", "url": "https://files.pythonhosted.org/packages/45/40/bea577338aea4defdb1990261b5ca6ddb6d46863eb40bf87176bb167b7bc/easy_class-1.0.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9a219e255b58245768a399a84c145713", "sha256": "d52280ef284abe1b0c40a69c10275aec5079fc6e09dc742c7bc9a2fc42220fd8" }, "downloads": -1, "filename": "easy_class-1.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9a219e255b58245768a399a84c145713", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8214, "upload_time": "2016-01-22T14:44:44", "url": "https://files.pythonhosted.org/packages/dc/14/7cba332741495058432322b04265b88cb7a7ebfd1121664fd2b85d306cb7/easy_class-1.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "240212cc98840d1d1eb96fd995e8e5ec", "sha256": "f1449589630bd86725f8e2e54e24b641358e86a86eed060b414d7962c3dfe2ca" }, "downloads": -1, "filename": "easy_class-1.0.7.tar.gz", "has_sig": false, "md5_digest": "240212cc98840d1d1eb96fd995e8e5ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11764, "upload_time": "2016-01-22T14:44:50", "url": "https://files.pythonhosted.org/packages/c4/e7/0dfa221db9d8c61f1dbd80de51bdf5c0dc5aa6c6313571eae1313f9db75e/easy_class-1.0.7.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "74c75518fa40745b5b34943725b91fa6", "sha256": "4958b1ce759dd3b8f7cde2a62de83fc718698875e54852fbb9ba25a20637ba63" }, "downloads": -1, "filename": "easy_class-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "74c75518fa40745b5b34943725b91fa6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8967, "upload_time": "2016-01-23T20:32:24", "url": "https://files.pythonhosted.org/packages/b5/5f/71f2af0c236dded39a48fc46ad8d8df47961d722fc5d956e8d17642d5550/easy_class-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a14cc30d8a3b69cf66de3b63c683cc4", "sha256": "15e18600e4822ddb92d5336ffa4b652fc770e9a0ab4757e0f842ddb34a183463" }, "downloads": -1, "filename": "easy_class-1.1.0.tar.gz", "has_sig": false, "md5_digest": "6a14cc30d8a3b69cf66de3b63c683cc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13487, "upload_time": "2016-01-23T20:32:36", "url": "https://files.pythonhosted.org/packages/f3/b4/51859b7d767c83c50b626493de116041e87806497b9878ec62ac29eb2493/easy_class-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "18d380c164f2cf0588356b8f9fc4840e", "sha256": "b5b52a16dd8014e3d825bd43318e4f26f7c56982f8cd967a1135cad8ef164c54" }, "downloads": -1, "filename": "easy_class-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "18d380c164f2cf0588356b8f9fc4840e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8993, "upload_time": "2016-01-25T12:20:44", "url": "https://files.pythonhosted.org/packages/60/4e/4d11cd40a89e3e9a713c8825dea42d57201d90bd0d27cc55aa1addf40c66/easy_class-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a5d50f49692a36cf787db4303a4488b", "sha256": "bc2ea173b38755e8b627549f56d1c281a3638ef824aa628de7751299f9d7da71" }, "downloads": -1, "filename": "easy_class-1.1.1.tar.gz", "has_sig": false, "md5_digest": "1a5d50f49692a36cf787db4303a4488b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13544, "upload_time": "2016-01-25T12:21:13", "url": "https://files.pythonhosted.org/packages/a0/e7/3a79cec81109576d01342e33fc1c883f8d13b8e9f599e3ca0499e0814d93/easy_class-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "5945b79e16e33309b09a285f7046a776", "sha256": "b18fde7b5499861a68da4cb57b74f79f3d47a4ff408baccdaa608b5807ecb0e1" }, "downloads": -1, "filename": "easy_class-1.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5945b79e16e33309b09a285f7046a776", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8999, "upload_time": "2016-02-01T23:05:22", "url": "https://files.pythonhosted.org/packages/92/00/d6209c1a12aa16da3bac6fac036f3ff313520b030be9f2f1e4687e2909c7/easy_class-1.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82e9e4cbe554d7e44ab0bb788d5309cb", "sha256": "4ec0b292e9684dc330a077ac36081e531d27068a4a30d65ead58d47d4df1cdc5" }, "downloads": -1, "filename": "easy_class-1.1.2.tar.gz", "has_sig": false, "md5_digest": "82e9e4cbe554d7e44ab0bb788d5309cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13575, "upload_time": "2016-02-01T23:05:39", "url": "https://files.pythonhosted.org/packages/5c/98/c3046b7a8899ed5069c7b16581ac9ebc133075c0a0e86857e6d9efa553de/easy_class-1.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5945b79e16e33309b09a285f7046a776", "sha256": "b18fde7b5499861a68da4cb57b74f79f3d47a4ff408baccdaa608b5807ecb0e1" }, "downloads": -1, "filename": "easy_class-1.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5945b79e16e33309b09a285f7046a776", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8999, "upload_time": "2016-02-01T23:05:22", "url": "https://files.pythonhosted.org/packages/92/00/d6209c1a12aa16da3bac6fac036f3ff313520b030be9f2f1e4687e2909c7/easy_class-1.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82e9e4cbe554d7e44ab0bb788d5309cb", "sha256": "4ec0b292e9684dc330a077ac36081e531d27068a4a30d65ead58d47d4df1cdc5" }, "downloads": -1, "filename": "easy_class-1.1.2.tar.gz", "has_sig": false, "md5_digest": "82e9e4cbe554d7e44ab0bb788d5309cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13575, "upload_time": "2016-02-01T23:05:39", "url": "https://files.pythonhosted.org/packages/5c/98/c3046b7a8899ed5069c7b16581ac9ebc133075c0a0e86857e6d9efa553de/easy_class-1.1.2.tar.gz" } ] }