{ "info": { "author": "Conan Li", "author_email": "conanlics@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.7" ], "description": "\n\n.. image:: https://travis-ci.org/conanfanli/pytypegen.svg?branch=master\n :target: https://travis-ci.org/conanfanli/pytypegen\n :alt: Build Status\n\n\n.. image:: https://codecov.io/gh/conanfanli/pytypegen/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/conanfanli/pytypegen\n :alt: codecov\n\n\n.. image:: https://pyup.io/repos/github/conanfanli/pytypegen/shield.svg\n :target: https://pyup.io/repos/github/conanfanli/pytypegen/shield.svg\n :alt: pyup\n\n\npytypgen\n========\n\nCode generator that converts from Python types (implemented by dataclasses) to TypeScript interfaces\n\nDependencies\n============\n\n\n* Python 3.7 (need ``dataclass``\\ )\n\nInstall\n=======\n\n``pip install pytypegen``\n\nUsage\n=====\n\n.. code-block:: python\n\n from pytypgen.core import contracts_to_typescript, Contract\n\n class Gender(Enum):\n male = 1\n female = 2\n\n\n @dataclass\n class Address(Contract):\n street: str\n\n\n @dataclass\n class Person(Contract):\n name: str\n gender: Gender\n birth_date: datetime.datetime\n addresses: Optional[List[Address]] = None\n\n print(contracts_to_typescript(dataclasses=[Gender, Address, Person]))\n\nWill generate the following TypeScript code:\n\n.. code-block:: TypeScript\n\n export enum Gender {\n male = 'male',\n female = 'female'\n }\n\n export interface Address {\n street: string\n }\n\n export interface Person {\n name: string\n gender: Gender\n birth_date: string\n addresses?: Array
|null\n }\n\nDevelopment Setup\n=================\n\n\n* Run ``make setup``. This will setup a pre-commit hook which creates README.rst file.\n* Run ``pip install -r dev-requirements.txt``\\ , preferably in a virtualenv.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/conanfanli/pytypegen", "keywords": "Python,Types,Dataclass,Code Generation", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pytypegen", "package_url": "https://pypi.org/project/pytypegen/", "platform": "", "project_url": "https://pypi.org/project/pytypegen/", "project_urls": { "Homepage": "https://github.com/conanfanli/pytypegen" }, "release_url": "https://pypi.org/project/pytypegen/1.0.4/", "requires_dist": [ "ipython; extra == 'dev'", "mypy; extra == 'dev'" ], "requires_python": "~=3.7", "summary": "Python type code generator", "version": "1.0.4" }, "last_serial": 5360587, "releases": { "0.1.7": [ { "comment_text": "", "digests": { "md5": "56cb0774827881508ab4e306c1979d89", "sha256": "e4a152c9ecde0e533740ae60fd5d541106627a266e0944667e0dd2912f69b953" }, "downloads": -1, "filename": "pytypegen-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "56cb0774827881508ab4e306c1979d89", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 10691, "upload_time": "2019-05-25T17:48:59", "url": "https://files.pythonhosted.org/packages/19/69/3e645e6e9adc9e4156845f38df1f7f4725fd04c8be76562c305a5fa10cab/pytypegen-0.1.7-py3-none-any.whl" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "36588b71b1914f0a8de20d7884942dda", "sha256": "36deb4b6265f045e8cd02f41b13a9abc47b9b94ee750167e31707b3241783785" }, "downloads": -1, "filename": "pytypegen-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "36588b71b1914f0a8de20d7884942dda", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 10556, "upload_time": "2019-05-25T18:22:26", "url": "https://files.pythonhosted.org/packages/9b/75/b5309fd871a89cb93f50811f8f580e5a8a0d0b16bea727a46fa2482cb718/pytypegen-1.0.0-py3-none-any.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "c1ec2d9958bdba8614b01ca90a0b16d0", "sha256": "afdbe65ac66c030747c66124dcdb222c402117d376a9e688147497832c4cfcb7" }, "downloads": -1, "filename": "pytypegen-1.0.1.tar.gz", "has_sig": false, "md5_digest": "c1ec2d9958bdba8614b01ca90a0b16d0", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 9897, "upload_time": "2019-05-25T18:40:15", "url": "https://files.pythonhosted.org/packages/18/2e/c7a05e1e4626f1964e2825432007bdbcae065cd97725262c51946bb10c99/pytypegen-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "3409e4fa688d8da83d67f2773966bf08", "sha256": "a9a1031dc3f72642c19609e0531656d75084ebd4305f63766f453d256ffdf6f0" }, "downloads": -1, "filename": "pytypegen-1.0.2.tar.gz", "has_sig": false, "md5_digest": "3409e4fa688d8da83d67f2773966bf08", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 8764, "upload_time": "2019-05-25T19:53:25", "url": "https://files.pythonhosted.org/packages/8c/f6/b739150a420564f379c5923c24c751accc40677741809f16d6e2ac69473a/pytypegen-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "046bd64ec164b6a8e2463b61389fb98e", "sha256": "c1ff8f6bcce2d00e2b7a642e9ab8cec6aaf5331e3993cb1b3180263c0e1adcb3" }, "downloads": -1, "filename": "pytypegen-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "046bd64ec164b6a8e2463b61389fb98e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 13913, "upload_time": "2019-05-25T20:02:23", "url": "https://files.pythonhosted.org/packages/12/7c/60b3d330fbca1fd77a9e10061880f6f14c099301457a13283ac228b3df68/pytypegen-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c8184e0fd4cc15988ae91a6dc7d1faea", "sha256": "6b208aaa60264590e7525d752e9e2f8926762c025b920ef1fe198d2f14341a59" }, "downloads": -1, "filename": "pytypegen-1.0.3.tar.gz", "has_sig": false, "md5_digest": "c8184e0fd4cc15988ae91a6dc7d1faea", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 8751, "upload_time": "2019-05-25T20:02:25", "url": "https://files.pythonhosted.org/packages/2d/e5/7ccf2877735441a213fba4b204299c8239e9d2077b4f5a102994668a2974/pytypegen-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "3b8625736cc9b591779b2f46463b7ea2", "sha256": "0efd36cf353a45a6e3de8b868eddbaf19bd0f379be1fed1b35dd2f57ab4506f9" }, "downloads": -1, "filename": "pytypegen-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "3b8625736cc9b591779b2f46463b7ea2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 12447, "upload_time": "2019-06-05T02:56:27", "url": "https://files.pythonhosted.org/packages/bd/69/a716999f529a25a8868885e2ea07209ee4659cb3ac6a72bc56ed8f2ca5d0/pytypegen-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75b43832de01e1d0c7cc572b88371ac5", "sha256": "81754550e56e3afa202525331ab0d91a0eafef61d000e4217e614ebb14c07b60" }, "downloads": -1, "filename": "pytypegen-1.0.4.tar.gz", "has_sig": false, "md5_digest": "75b43832de01e1d0c7cc572b88371ac5", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 9653, "upload_time": "2019-06-05T02:56:28", "url": "https://files.pythonhosted.org/packages/ac/f0/76919022600139cf32ef83125191557e758b32fad9c06cc1880776d1c706/pytypegen-1.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3b8625736cc9b591779b2f46463b7ea2", "sha256": "0efd36cf353a45a6e3de8b868eddbaf19bd0f379be1fed1b35dd2f57ab4506f9" }, "downloads": -1, "filename": "pytypegen-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "3b8625736cc9b591779b2f46463b7ea2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 12447, "upload_time": "2019-06-05T02:56:27", "url": "https://files.pythonhosted.org/packages/bd/69/a716999f529a25a8868885e2ea07209ee4659cb3ac6a72bc56ed8f2ca5d0/pytypegen-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75b43832de01e1d0c7cc572b88371ac5", "sha256": "81754550e56e3afa202525331ab0d91a0eafef61d000e4217e614ebb14c07b60" }, "downloads": -1, "filename": "pytypegen-1.0.4.tar.gz", "has_sig": false, "md5_digest": "75b43832de01e1d0c7cc572b88371ac5", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 9653, "upload_time": "2019-06-05T02:56:28", "url": "https://files.pythonhosted.org/packages/ac/f0/76919022600139cf32ef83125191557e758b32fad9c06cc1880776d1c706/pytypegen-1.0.4.tar.gz" } ] }