{ "info": { "author": "Azat Ibrakov", "author_email": "azatibrakov@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "paradigm\n========\n\n[![](https://travis-ci.org/lycantropos/paradigm.svg?branch=master)](https://travis-ci.org/lycantropos/paradigm \"Travis CI\")\n[![](https://dev.azure.com/lycantropos/paradigm/_apis/build/status/lycantropos.paradigm?branchName=master)](https://dev.azure.com/lycantropos/paradigm/_build/latest?branchName=master \"Azure Pipelines\")\n[![](https://codecov.io/gh/lycantropos/paradigm/branch/master/graph/badge.svg)](https://codecov.io/gh/lycantropos/paradigm \"Codecov\")\n[![](https://img.shields.io/github/license/lycantropos/paradigm.svg)](https://github.com/lycantropos/paradigm/blob/master/LICENSE \"License\")\n[![](https://badge.fury.io/py/paradigm.svg)](https://badge.fury.io/py/paradigm \"PyPI\")\n\nIn what follows\n- `python` is an alias for `python3.5` or any later\nversion (`python3.6` and so on),\n- `pypy` is an alias for `pypy3.5` or any later\nversion (`pypy3.6` and so on).\n\nInstallation\n------------\n\nInstall the latest `pip` & `setuptools` packages versions:\n- with `CPython`\n ```bash\n python -m pip install --upgrade pip setuptools\n ```\n- with `PyPy`\n ```bash\n pypy -m pip install --upgrade pip setuptools\n ```\n\n### User\n\nDownload and install the latest stable version from `PyPI` repository:\n- with `CPython`\n ```bash\n python -m pip install --upgrade paradigm\n ```\n- with `PyPy`\n ```bash\n pypy -m pip install --upgrade paradigm\n ```\n\n### Developer\n\nDownload the latest version from `GitHub` repository\n```bash\ngit clone https://github.com/lycantropos/paradigm.git\ncd paradigm\n```\n\nInstall dependencies:\n- with `CPython`\n ```bash\n python -m pip install -r requirements.txt\n ```\n- with `PyPy`\n ```bash\n pypy -m pip install -r requirements.txt\n ```\n\nInstall:\n- with `CPython`\n ```bash\n python setup.py install\n ```\n- with `PyPy`\n ```bash\n pypy setup.py install\n ```\n\nUsage\n-----\n\n`paradigm` can be used to obtain signature\n```python\n>>> from paradigm import signatures\n\n```\nfor user-defined functions\n```python\n>>> def func(foo, bar=None, **kwargs):\n... pass\n>>> signatures.factory(func)\nPlain(Parameter(name='foo', kind=Parameter.Kind.POSITIONAL_OR_KEYWORD, has_default=False), Parameter(name='bar', kind=Parameter.Kind.POSITIONAL_OR_KEYWORD, has_default=True), Parameter(name='kwargs', kind=Parameter.Kind.VARIADIC_KEYWORD, has_default=False))\n\n```\nfor user-defined classes\n```python\n>>> class UpperOut:\n... def __init__(self, outfile):\n... self._outfile = outfile\n... \n... def write(self, s):\n... self._outfile.write(s.upper())\n... \n... def __getattr__(self, name):\n... return getattr(self._outfile, name)\n>>> signatures.factory(UpperOut)\nPlain(Parameter(name='outfile', kind=Parameter.Kind.POSITIONAL_OR_KEYWORD, has_default=False))\n\n```\nfor user-defined classes methods\n```python\n>>> signatures.factory(UpperOut.write)\nPlain(Parameter(name='self', kind=Parameter.Kind.POSITIONAL_OR_KEYWORD, has_default=False), Parameter(name='s', kind=Parameter.Kind.POSITIONAL_OR_KEYWORD, has_default=False))\n\n```\nfor built-in functions\n```python\n>>> import platform\n>>> from paradigm.models import Parameter, Plain\n>>> signatures.factory(any) == (\n... Plain(Parameter(name='seq',\n... kind=Parameter.Kind.POSITIONAL_OR_KEYWORD,\n... has_default=False))\n... if platform.python_implementation() == 'PyPy'\n... else Plain(Parameter(name='iterable',\n... kind=Parameter.Kind.POSITIONAL_ONLY,\n... has_default=False)))\nTrue\n\n```\nfor built-in classes\n```python\n>>> import platform\n>>> from paradigm.models import Parameter, Plain\n>>> signatures.factory(float) == (\n... Plain(Parameter(name='x', \n... kind=Parameter.Kind.POSITIONAL_OR_KEYWORD,\n... has_default=True))\n... if platform.python_implementation() == 'PyPy'\n... else Plain(Parameter(name='x', \n... kind=Parameter.Kind.POSITIONAL_ONLY,\n... has_default=True)))\nTrue\n\n```\nfor built-in classes methods\n```python\n>>> import platform\n>>> from paradigm.models import Parameter, Plain\n>>> signatures.factory(float.as_integer_ratio) == (\n... Plain(Parameter(name='self',\n... kind=Parameter.Kind.POSITIONAL_OR_KEYWORD,\n... has_default=False))\n... if platform.python_implementation() == 'PyPy'\n... else Plain(Parameter(name='self',\n... kind=Parameter.Kind.POSITIONAL_ONLY,\n... has_default=False)))\nTrue\n\n```\n\nChecking if object is supported by `paradigm` can be done with\n```python\n>>> from paradigm import definitions\n>>> definitions.is_supported(int.bit_length)\nTrue\n\n```\n\nDevelopment\n-----------\n\n### Bumping version\n\n#### Preparation\n\nInstall\n[bump2version](https://github.com/c4urself/bump2version#installation).\n\n#### Pre-release\n\nChoose which version number category to bump following [semver\nspecification](http://semver.org/).\n\nTest bumping version\n```bash\nbump2version --dry-run --verbose $CATEGORY\n```\n\nwhere `$CATEGORY` is the target version number category name, possible\nvalues are `patch`/`minor`/`major`.\n\nBump version\n```bash\nbump2version --verbose $CATEGORY\n```\n\nThis will set version to `major.minor.patch-alpha`. \n\n#### Release\n\nTest bumping version\n```bash\nbump2version --dry-run --verbose release\n```\n\nBump version\n```bash\nbump2version --verbose release\n```\n\nThis will set version to `major.minor.patch`.\n\n### Running tests\n\nInstall dependencies:\n- with `CPython`\n ```bash\n python -m pip install -r requirements-tests.txt\n ```\n- with `PyPy`\n ```bash\n pypy -m pip install -r requirements-tests.txt\n ```\n\nPlain\n```bash\npytest\n```\n\nInside `Docker` container:\n- with `CPython`\n ```bash\n docker-compose --file docker-compose.cpython.yml up\n ```\n- with `PyPy`\n ```bash\n docker-compose --file docker-compose.pypy.yml up\n ```\n\n`Bash` script (e.g. can be used in `Git` hooks):\n- with `CPython`\n ```bash\n ./run-tests.sh\n ```\n or\n ```bash\n ./run-tests.sh cpython\n ```\n\n- with `PyPy`\n ```bash\n ./run-tests.sh pypy\n ```\n\n`PowerShell` script (e.g. can be used in `Git` hooks):\n- with `CPython`\n ```powershell\n .\\run-tests.ps1\n ```\n or\n ```powershell\n .\\run-tests.ps1 cpython\n ```\n- with `PyPy`\n ```powershell\n .\\run-tests.ps1 pypy\n ```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/lycantropos/paradigm/archive/master.zip", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/lycantropos/paradigm/", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "paradigm", "package_url": "https://pypi.org/project/paradigm/", "platform": "", "project_url": "https://pypi.org/project/paradigm/", "project_urls": { "Download": "https://github.com/lycantropos/paradigm/archive/master.zip", "Homepage": "https://github.com/lycantropos/paradigm/" }, "release_url": "https://pypi.org/project/paradigm/0.4.0/", "requires_dist": [ "memoir (>=0.0.1')", "reprit (>=0.0.1')", "typing-extensions (>=3.6.5')", "mypy (>=0.700) ; platform_python_implementation != \"PyPy\"" ], "requires_python": ">=3.5.3", "summary": "Python objects metadata parser.", "version": "0.4.0" }, "last_serial": 5447605, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "008d201a149e4e8da09b18e9524b8c9a", "sha256": "3116421c7715b7a9f39ff8bd8b89e2e8211b16c97d864e01880f35258c588f0a" }, "downloads": -1, "filename": "paradigm-0.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "008d201a149e4e8da09b18e9524b8c9a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 21049, "upload_time": "2018-11-05T15:24:38", "url": "https://files.pythonhosted.org/packages/a1/07/729d5df3f36ce12a073bf6cf188a2e1f92f8c22170871fc5aed9c5423e14/paradigm-0.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b6a137adaf4596a28af29e66f6f832e7", "sha256": "a74e9ac9c739ca7e7685aad73ebebbc5cf053a4fc7624425aee81e42a2b7bd99" }, "downloads": -1, "filename": "paradigm-0.0.0.tar.gz", "has_sig": false, "md5_digest": "b6a137adaf4596a28af29e66f6f832e7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 16442, "upload_time": "2018-11-05T15:24:40", "url": "https://files.pythonhosted.org/packages/c1/f5/dd61ff406c1d25887fdb73535bc2d725e0c9ac2512fa963d83b39f96d69d/paradigm-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "bd06e246bcdfce20d9cdcbd189a228a2", "sha256": "27602edc77257cbfc05ebebc18f4b17f1f3fc95412be67fc3047660ad45c4f4e" }, "downloads": -1, "filename": "paradigm-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bd06e246bcdfce20d9cdcbd189a228a2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 22951, "upload_time": "2018-11-06T13:39:55", "url": "https://files.pythonhosted.org/packages/a9/ac/1491174e032dccb3a55eed56513d6bf237ba21cd40d536d8d917b6457030/paradigm-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "66b8d40106fd07efad6dd7a596602611", "sha256": "442e82d99dc2d2c8e7fa4db3a15cd8270ffab4695b1a38eceaa7a32df79fc41c" }, "downloads": -1, "filename": "paradigm-0.0.1.tar.gz", "has_sig": false, "md5_digest": "66b8d40106fd07efad6dd7a596602611", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 17315, "upload_time": "2018-11-06T13:39:56", "url": "https://files.pythonhosted.org/packages/08/19/2621643ba3ed53165b3d1d897252e701380a1b207aee772a55ca6f82a374/paradigm-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "b911d734d8222e9fa77e46a55c156fcb", "sha256": "55e087e471d64c3697e3bef5aeffe23f293529df58c4e3cd3a4d989724e7f345" }, "downloads": -1, "filename": "paradigm-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b911d734d8222e9fa77e46a55c156fcb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 22975, "upload_time": "2018-11-06T19:07:22", "url": "https://files.pythonhosted.org/packages/63/66/a920fe83ef2607ceb0160fdafce77b7d08d0b4a05d11745e6beabc09a4fc/paradigm-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6fdcb3817a4cc08589eeba4a43676963", "sha256": "699c3eaac1a08d2344257046c907a4a8d12fe3afac3ec79f06207d241f46d341" }, "downloads": -1, "filename": "paradigm-0.0.2.tar.gz", "has_sig": false, "md5_digest": "6fdcb3817a4cc08589eeba4a43676963", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 17308, "upload_time": "2018-11-06T19:07:24", "url": "https://files.pythonhosted.org/packages/97/d2/11bff425ff06c7d84446d3913844862dc18595dff2d04fa8a5cd39b88e13/paradigm-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "ae825e6c3f1ffcaf13698c09a5e517df", "sha256": "1b88367e105c3e349fbfa0db914d15bac46aaee4fc8e30e99ca8f326c6020f65" }, "downloads": -1, "filename": "paradigm-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ae825e6c3f1ffcaf13698c09a5e517df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 22750, "upload_time": "2018-11-09T11:23:20", "url": "https://files.pythonhosted.org/packages/3e/3f/dbd097845b8bc59e89cdef7fc120ef8abdbbaa1a5e82e188da7e21f590aa/paradigm-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2b7045aa085f70efd18aa53f8e07b39", "sha256": "5d39166b3e2cc19a5e33bf4f0dec849561bb4235cbc1ef7ea6b7383efc07af35" }, "downloads": -1, "filename": "paradigm-0.0.3.tar.gz", "has_sig": false, "md5_digest": "a2b7045aa085f70efd18aa53f8e07b39", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 17337, "upload_time": "2018-11-09T11:23:22", "url": "https://files.pythonhosted.org/packages/11/73/e6fc35dd19e0a26dbd1aca501b8799db165abd1f883762c745c74c8a3a6a/paradigm-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "a10c2eb87616a3cee01a2c4fa2868fc1", "sha256": "202d5ec13383027c0fd16d2b78767bd8f2d26aac988b43f89f391e6b4d98cd5f" }, "downloads": -1, "filename": "paradigm-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "a10c2eb87616a3cee01a2c4fa2868fc1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 22765, "upload_time": "2018-11-12T15:44:59", "url": "https://files.pythonhosted.org/packages/86/0c/9af20b1a2debd889dd9d96e3cf852efbe87068d12f6c3efd01d3739cea9a/paradigm-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d572c71530eaff06bfd9c5496123077", "sha256": "dc054bcc74a5fd136861c627e4dc4a4cb3c68d4abfbbb338e49200d63f6a29d9" }, "downloads": -1, "filename": "paradigm-0.0.4.tar.gz", "has_sig": false, "md5_digest": "3d572c71530eaff06bfd9c5496123077", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 17362, "upload_time": "2018-11-12T15:45:01", "url": "https://files.pythonhosted.org/packages/9b/cd/126b8c5d728610dec4264fa38cc04319816f26b4906f1777e6862eef027c/paradigm-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "a9df44c67006802c410df71d5eacb683", "sha256": "2f6304c233ae90b1c228e99632f78b96f9a67993f98d726bdc253fff996cd22e" }, "downloads": -1, "filename": "paradigm-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "a9df44c67006802c410df71d5eacb683", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 23127, "upload_time": "2018-11-13T05:38:30", "url": "https://files.pythonhosted.org/packages/d8/91/2cfa17cc0f7d01a5f8f876555f5dc4f208b42696ba81f6fc93674c30e856/paradigm-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6337ea734d49d18b2323b5bdab037512", "sha256": "6780266f8b7d0e0513fde57e5cf74979c11eab2a0ff59f49246a83c61d27a3c3" }, "downloads": -1, "filename": "paradigm-0.0.5.tar.gz", "has_sig": false, "md5_digest": "6337ea734d49d18b2323b5bdab037512", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 17393, "upload_time": "2018-11-13T05:38:31", "url": "https://files.pythonhosted.org/packages/88/8d/142554a5ca54528cd9c018b0b4527b136a437a3f4ca7be9e77234fcd4383/paradigm-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "911620f80c86f95bc9ae20ac2aaff28c", "sha256": "22b8107d847e90fb0cf486fca26171e966941f4bd75799e6e54daa46294d50d4" }, "downloads": -1, "filename": "paradigm-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "911620f80c86f95bc9ae20ac2aaff28c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 25037, "upload_time": "2018-12-11T10:26:51", "url": "https://files.pythonhosted.org/packages/b5/55/684592f4ea2f47259e52c9b8003eb418de8e42e28300125ce195e72a9bc6/paradigm-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fa0979c5a620fb589b3e9cd2b5102d0b", "sha256": "e3d8a56f50b97adef27ec8dda69f6dd978b0db37f2f57a64a974cb87d72ba1c7" }, "downloads": -1, "filename": "paradigm-0.0.6.tar.gz", "has_sig": false, "md5_digest": "fa0979c5a620fb589b3e9cd2b5102d0b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 18377, "upload_time": "2018-12-11T10:26:53", "url": "https://files.pythonhosted.org/packages/9b/bc/c3a4a0196f77cd985d9dec826b1c20257dd6309566cf3c2e83393af5c569/paradigm-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "57fd675d939d959191eee193230d18e0", "sha256": "f96a4d6c659283c4b4bca5c20e557029606c12d12ec8b1b78f35e91abbc1e524" }, "downloads": -1, "filename": "paradigm-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "57fd675d939d959191eee193230d18e0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 21984, "upload_time": "2019-03-21T14:28:16", "url": "https://files.pythonhosted.org/packages/47/59/fdaf7ed19d6a9e06a147a5e7968fc58adbc636151b1c792483e84509121b/paradigm-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3efa5d13f1963a874cc841c5f5246081", "sha256": "8c173b652881edef7104e1f42b51847b0afcb943f68d81110042ca5da6ee75cc" }, "downloads": -1, "filename": "paradigm-0.0.7.tar.gz", "has_sig": false, "md5_digest": "3efa5d13f1963a874cc841c5f5246081", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 17173, "upload_time": "2019-03-21T14:28:17", "url": "https://files.pythonhosted.org/packages/6f/d2/03485212e8b3f11682a0547a5d0e4acbdf148483048bcba1acc2a9120936/paradigm-0.0.7.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "4ee1eeeebe569db78810b3c179a325f9", "sha256": "802c82d8b5f359ec61e0f579fa40845b4f25b17624758316e48978ebe14f69d1" }, "downloads": -1, "filename": "paradigm-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4ee1eeeebe569db78810b3c179a325f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 22152, "upload_time": "2019-04-02T19:22:41", "url": "https://files.pythonhosted.org/packages/25/47/78b99d69a0efde0d795b5682f04476ccf146bbe9f6ba3402b03287e8cd1e/paradigm-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed2840760a68309e3e582b2a904daa85", "sha256": "0b92f9af8b8fee44cb1e432a43f5ef5145d77990587b377e6b125b1e82b09e20" }, "downloads": -1, "filename": "paradigm-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ed2840760a68309e3e582b2a904daa85", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 17402, "upload_time": "2019-04-02T19:22:42", "url": "https://files.pythonhosted.org/packages/d0/b8/0abc71ccbc73af1d24be88e8cc8645ddb233bc9ddb2de32816389e9b0301/paradigm-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c860f3f02ed16d1e920af12692fb4bdc", "sha256": "894252d41ce48251df5214c45288af3409c48e24be4c5b2ec0abd5ce225a3208" }, "downloads": -1, "filename": "paradigm-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c860f3f02ed16d1e920af12692fb4bdc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 22223, "upload_time": "2019-04-03T16:27:16", "url": "https://files.pythonhosted.org/packages/23/98/30b123fad130ffd0dd9b94be8cfc20d47bd0dd1a50d9c510c1e7ead8fc2f/paradigm-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2bd27247b0a001294fdf490ea43e4e4f", "sha256": "5270c8e00ba8e02bd94d6347226c6d239c24989f8c10bcc7ce85ffa8feabb44c" }, "downloads": -1, "filename": "paradigm-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2bd27247b0a001294fdf490ea43e4e4f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 17508, "upload_time": "2019-04-03T16:27:18", "url": "https://files.pythonhosted.org/packages/1d/28/569ca7997dd85763f30dd5a948eac89eb16f1c1bea878f4abb8296659130/paradigm-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "07bf8edfd1f5ffb0531534dfb35f2b22", "sha256": "3b2aa622c44defc52655c5da6c741299ed030399fd0d8f029e524f84fdb58dac" }, "downloads": -1, "filename": "paradigm-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "07bf8edfd1f5ffb0531534dfb35f2b22", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 29037, "upload_time": "2019-04-11T18:55:36", "url": "https://files.pythonhosted.org/packages/27/ff/7ffb321dcde0d5f2d3b9e000d9008dcfc92fb1d22566f839ad6ab732e1aa/paradigm-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aff81952a3e5e930ac44c62ffff392cf", "sha256": "7d75f67e58654a941ef3c0da7d0f9104490afef34373b12d55e37623344ac220" }, "downloads": -1, "filename": "paradigm-0.2.0.tar.gz", "has_sig": false, "md5_digest": "aff81952a3e5e930ac44c62ffff392cf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 20111, "upload_time": "2019-04-11T18:55:38", "url": "https://files.pythonhosted.org/packages/87/af/11ba08f64596c46cf9a40591ef0103ef820db28e7043dccf4fc4959a52a0/paradigm-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "37f9b3b48a31f808a994afdf8e0a4268", "sha256": "fc2e06b0ec409fbfe5cf81d1ea3fc43d085dcb83df5f15fa995612fe663b17ad" }, "downloads": -1, "filename": "paradigm-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "37f9b3b48a31f808a994afdf8e0a4268", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 29509, "upload_time": "2019-04-17T04:02:09", "url": "https://files.pythonhosted.org/packages/d8/81/f8a775b213108cc7c6042b5f4661ea779cf6c372cbd45965ba44227727bf/paradigm-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bf3e5dcea99cc6589b5353957f71a921", "sha256": "5a76affa792a9d8772550bf60b2f4b1feb288d9baf01fd1b33238612301fa5bf" }, "downloads": -1, "filename": "paradigm-0.2.1.tar.gz", "has_sig": false, "md5_digest": "bf3e5dcea99cc6589b5353957f71a921", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 20736, "upload_time": "2019-04-17T04:02:10", "url": "https://files.pythonhosted.org/packages/0e/97/2c30dcf9bc3155abd7398c15e2932c6b61dd96d45f97f28ee91f00138fdd/paradigm-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "37ae0053ff4fa526b9aecf4ad243bc2e", "sha256": "92e5ff4c51bc821ac97e6e21743ce1924c895369e5b317318da04eddcecd6801" }, "downloads": -1, "filename": "paradigm-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "37ae0053ff4fa526b9aecf4ad243bc2e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 29582, "upload_time": "2019-04-17T11:43:44", "url": "https://files.pythonhosted.org/packages/64/46/2b166535eed2c11777aabdce18387e6bec3cbf53b19ff3be26aff8719154/paradigm-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ee5088c2bcdf3de6fd8111cf73057ea", "sha256": "09fe68d1c58b75d0ae1d9d3f22187d5587a9c2efee80477bce6e3739a49b36f6" }, "downloads": -1, "filename": "paradigm-0.2.2.tar.gz", "has_sig": false, "md5_digest": "6ee5088c2bcdf3de6fd8111cf73057ea", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 20813, "upload_time": "2019-04-17T11:43:45", "url": "https://files.pythonhosted.org/packages/71/fa/cdd5e303d3d70c567fb36081ce5fe8f0ca605598905fc5b370f31ac52005/paradigm-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "89f45e809482e42e638a319ee36a8334", "sha256": "d1bed54aa56e16069c47929de8cbe74cba1694a7194ce17506da5452af9d9c92" }, "downloads": -1, "filename": "paradigm-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "89f45e809482e42e638a319ee36a8334", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 29580, "upload_time": "2019-04-17T18:23:06", "url": "https://files.pythonhosted.org/packages/57/e2/c7f8d0c789a7d678b1c7b73adcf30c1e84d11460a6050cf4fa142903b93f/paradigm-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "574e72abde5be80ca582fb3cab22c35d", "sha256": "40f53a8803b2c16e69f46d05e22022c774f91160bd4e0613c41e1587a9833143" }, "downloads": -1, "filename": "paradigm-0.2.3.tar.gz", "has_sig": false, "md5_digest": "574e72abde5be80ca582fb3cab22c35d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 20824, "upload_time": "2019-04-17T18:23:08", "url": "https://files.pythonhosted.org/packages/f3/44/2677135f57a48b6364c447df76f3e522c37740575032e708fba60a2f47ac/paradigm-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "dbecb7a1c640cb8655823812bbad082b", "sha256": "92e19e3788fc0e497b34745dde3ba9f5494c0fcd50084a056f8b0b58ac03edfd" }, "downloads": -1, "filename": "paradigm-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "dbecb7a1c640cb8655823812bbad082b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 29648, "upload_time": "2019-04-19T01:20:34", "url": "https://files.pythonhosted.org/packages/c6/60/0eaac2e44b051fc04a3dbf316c6c074550b86b9378e426537fc638367894/paradigm-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe92c77b9368a4e4eaaf1416da68d38c", "sha256": "551bb6f6de8ea8c6202e0b83ec20b248e19031044d40973b15e203c41abc2b7d" }, "downloads": -1, "filename": "paradigm-0.2.4.tar.gz", "has_sig": false, "md5_digest": "fe92c77b9368a4e4eaaf1416da68d38c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 20904, "upload_time": "2019-04-19T01:20:36", "url": "https://files.pythonhosted.org/packages/3c/37/d8ae4eea7765e2fcdcb1f714ebb393eff5b8bb63fa54f16ea173ea20b843/paradigm-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "69bbfa63ddd1132069a5d5df39f20bdb", "sha256": "b62436550bf83ae64dc920b6151ed0c8a34123dc97b122ea47a3778cffb56231" }, "downloads": -1, "filename": "paradigm-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "69bbfa63ddd1132069a5d5df39f20bdb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 29880, "upload_time": "2019-04-26T17:07:27", "url": "https://files.pythonhosted.org/packages/19/4c/fa9ed0372def02a11639c7ed0fe88c68a54477fcfdafa7e5e2a35cceb3f6/paradigm-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ead2a52b13a32bed386e2e7482d13655", "sha256": "ee6ff9f72e91df66bd5e51fb47c22dc1f55358deaa7cede98a3b8c1041e0ce7c" }, "downloads": -1, "filename": "paradigm-0.2.5.tar.gz", "has_sig": false, "md5_digest": "ead2a52b13a32bed386e2e7482d13655", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 20942, "upload_time": "2019-04-26T17:07:31", "url": "https://files.pythonhosted.org/packages/e7/63/0eeb25282033391093377af8e470232b7c55103558e768e094759e23ea19/paradigm-0.2.5.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "4453521dbe665fb01e304fe717634dcc", "sha256": "76166e7b7b71397257f1636e458f9b9dfd58fee6d3de103d3d71016cdbef2ba2" }, "downloads": -1, "filename": "paradigm-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4453521dbe665fb01e304fe717634dcc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 29650, "upload_time": "2019-05-31T21:17:38", "url": "https://files.pythonhosted.org/packages/04/6c/66a17ec7cf08fa0bc6000ea345eaacfc409e2b6197e5b36fc73f0505e4f6/paradigm-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1bc49f1f755d559e3ee4a67283934c26", "sha256": "b5ec70601a7196cf5603f3b35ad38265082a119d4bd7d155f3b88bc7b52d88b9" }, "downloads": -1, "filename": "paradigm-0.3.0.tar.gz", "has_sig": false, "md5_digest": "1bc49f1f755d559e3ee4a67283934c26", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 20340, "upload_time": "2019-05-31T21:17:40", "url": "https://files.pythonhosted.org/packages/3d/26/8a9507208b3f762c9edceebc99357b2206d8e166c3dde1636c9fdc8c46c9/paradigm-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "152c9cc0da66948938d98709d544d603", "sha256": "da1c364ab755210d1470c387d5490b9032afd23067b9387c3d580ef7dddb9a80" }, "downloads": -1, "filename": "paradigm-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "152c9cc0da66948938d98709d544d603", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 29788, "upload_time": "2019-05-31T21:21:09", "url": "https://files.pythonhosted.org/packages/b9/6d/291b6c72eef1d3bd32fcd12ca9f7f46e04797258adb7b886a808b78c3479/paradigm-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b01cdea98fd5a420359a9863bef09a97", "sha256": "396d1e5efd83e481161e7f386c9eaa521567943e882cd7a6fb8bf03c0c22fbde" }, "downloads": -1, "filename": "paradigm-0.3.1.tar.gz", "has_sig": false, "md5_digest": "b01cdea98fd5a420359a9863bef09a97", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 20648, "upload_time": "2019-05-31T21:21:11", "url": "https://files.pythonhosted.org/packages/cf/1f/d035e88030f00b2c0c9ccb021c6b9f059ba12c881ba9d407209e915a46f9/paradigm-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "0a13ae7de2de61d1e8bc8a2558d1bef3", "sha256": "ef99728cc0ae2b418c6c39844d160034c821d409ab142e36f1041ecbdd3650dc" }, "downloads": -1, "filename": "paradigm-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0a13ae7de2de61d1e8bc8a2558d1bef3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 29247, "upload_time": "2019-06-25T18:21:27", "url": "https://files.pythonhosted.org/packages/ed/58/c919c128c4f56886acb8f2fa40343fd7b461e3115b53ba34fab5b41d8a47/paradigm-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d1ca84e3f33d3bf2b8794d4ffcf74166", "sha256": "2e196b2bc2dd3e3dd84632c2348f27fca026167c1e7bc2e9a7632d226d98e414" }, "downloads": -1, "filename": "paradigm-0.4.0.tar.gz", "has_sig": false, "md5_digest": "d1ca84e3f33d3bf2b8794d4ffcf74166", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 20581, "upload_time": "2019-06-25T18:21:29", "url": "https://files.pythonhosted.org/packages/4b/ce/f0bab1a6a3091db7d4c48c3e54ad59ccb5a7ca49f0cd45f1b47046e7a450/paradigm-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0a13ae7de2de61d1e8bc8a2558d1bef3", "sha256": "ef99728cc0ae2b418c6c39844d160034c821d409ab142e36f1041ecbdd3650dc" }, "downloads": -1, "filename": "paradigm-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0a13ae7de2de61d1e8bc8a2558d1bef3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 29247, "upload_time": "2019-06-25T18:21:27", "url": "https://files.pythonhosted.org/packages/ed/58/c919c128c4f56886acb8f2fa40343fd7b461e3115b53ba34fab5b41d8a47/paradigm-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d1ca84e3f33d3bf2b8794d4ffcf74166", "sha256": "2e196b2bc2dd3e3dd84632c2348f27fca026167c1e7bc2e9a7632d226d98e414" }, "downloads": -1, "filename": "paradigm-0.4.0.tar.gz", "has_sig": false, "md5_digest": "d1ca84e3f33d3bf2b8794d4ffcf74166", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 20581, "upload_time": "2019-06-25T18:21:29", "url": "https://files.pythonhosted.org/packages/4b/ce/f0bab1a6a3091db7d4c48c3e54ad59ccb5a7ca49f0cd45f1b47046e7a450/paradigm-0.4.0.tar.gz" } ] }