{ "info": { "author": "Yngve Mardal Moe", "author_email": "yngve.m.moe@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Subclass Register\n=================\n\n.. image:: https://readthedocs.org/projects/subclass-register/badge/?version=latest\n :target: https://subclass-register.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n\nMotivation\n----------\n\nThis library implements a simple clas decorator that you can apply to a base class. This decorator then hooks into the way the decorated class is subclassed, adding all new subclasses to a dictionary whose keys are class names and values are the classes themselves.\n\nThe motivation for this project was to autogenerate deep learning models from pure JSON files, thus ensuring reproducibility of the results. I do, however, think that it is ideal for any kind of codebase where we want to generate safe code from configuration files.\n\n\nInstallation instructions\n-------------------------\n\nThe subclass register can be installed with ``pip``:\n\n.. code::\n\n pip install subclass-register\n\nby cloning this repo and running ``setup.py``\n\n.. code::\n\n git clone https:\\\\github.com\\yngvem\\subclass-register\n cd subclass-register\n python setup.py\n\nor by simply downloading the ``src\\subclass_register\\subclass_register.py`` file and the ``LISENCE`` file into your project.\n\nExample\n-------\n\nHere is a basic example of how to use the subclass register.\n\n.. code:: python\n\n from subclass_register import SubclassRegister\n\n\n register = SubclassRegister('car')\n\n @register.link_base\n class BaseCar:\n pass\n\n class SUV(BaseCar):\n def __init__(self, horse_powers):\n self.horse_powers = horse_powers\n\n suv = register['SUV'](horse_powers = 50)\n\nYou can read more examples at the `documentation page\n`_.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "subclass-register", "package_url": "https://pypi.org/project/subclass-register/", "platform": "", "project_url": "https://pypi.org/project/subclass-register/", "project_urls": null, "release_url": "https://pypi.org/project/subclass-register/1.0.1/", "requires_dist": null, "requires_python": "", "summary": "Automatically log all new subclasses of a specified base class.", "version": "1.0.1" }, "last_serial": 5686633, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "a6ef55351cce3c1a46f2104c19a4acaf", "sha256": "693d4a86c016f519c207dde2ad222a732691f8e7c5748afd2e89b467fbf34fdd" }, "downloads": -1, "filename": "subclass_register-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a6ef55351cce3c1a46f2104c19a4acaf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5343, "upload_time": "2019-08-16T08:48:52", "url": "https://files.pythonhosted.org/packages/52/60/8ca3c22466c65fa83c194cc422c3f15d1333d885f71cd7cb90293e445841/subclass_register-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19248575ad64d24f2711581a6ca65cd9", "sha256": "cb619c8f4efdfbac55d3496d773837a4de6fd2db308fdcc36743b60645d7185d" }, "downloads": -1, "filename": "subclass-register-1.0.0.tar.gz", "has_sig": false, "md5_digest": "19248575ad64d24f2711581a6ca65cd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3934, "upload_time": "2019-08-16T08:48:54", "url": "https://files.pythonhosted.org/packages/6e/ba/769dcac90f5a7466903cd5da3e561a8e9b7f7cc308128c68a10c17cf110a/subclass-register-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "94fea33704847d2b27933b771fd3eb98", "sha256": "1515d0275ebb2c4c52956d2bc2519afe80267e87248cf20ba2ff7565fc5d081a" }, "downloads": -1, "filename": "subclass_register-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "94fea33704847d2b27933b771fd3eb98", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5466, "upload_time": "2019-08-16T09:09:54", "url": "https://files.pythonhosted.org/packages/5d/ff/823416d8410809918286ae0e728d73b7348800e740b9acfdaf7a10b03d00/subclass_register-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7672fbd112d002d2af8657d5d0831266", "sha256": "2a2d8634edcd1e566b746d29b8eb82cdefec29b19b0b5185748fa69605973f75" }, "downloads": -1, "filename": "subclass-register-1.0.1.tar.gz", "has_sig": false, "md5_digest": "7672fbd112d002d2af8657d5d0831266", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4072, "upload_time": "2019-08-16T09:09:57", "url": "https://files.pythonhosted.org/packages/8d/81/2b5c946b79df13e9da709d78259184ffc5c96d8140a4bbf8f40ece712bb9/subclass-register-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "94fea33704847d2b27933b771fd3eb98", "sha256": "1515d0275ebb2c4c52956d2bc2519afe80267e87248cf20ba2ff7565fc5d081a" }, "downloads": -1, "filename": "subclass_register-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "94fea33704847d2b27933b771fd3eb98", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5466, "upload_time": "2019-08-16T09:09:54", "url": "https://files.pythonhosted.org/packages/5d/ff/823416d8410809918286ae0e728d73b7348800e740b9acfdaf7a10b03d00/subclass_register-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7672fbd112d002d2af8657d5d0831266", "sha256": "2a2d8634edcd1e566b746d29b8eb82cdefec29b19b0b5185748fa69605973f75" }, "downloads": -1, "filename": "subclass-register-1.0.1.tar.gz", "has_sig": false, "md5_digest": "7672fbd112d002d2af8657d5d0831266", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4072, "upload_time": "2019-08-16T09:09:57", "url": "https://files.pythonhosted.org/packages/8d/81/2b5c946b79df13e9da709d78259184ffc5c96d8140a4bbf8f40ece712bb9/subclass-register-1.0.1.tar.gz" } ] }