[![][travis img]][travis]
[![][GA img]][GA]
[![][docs img]][docs]
[![][coverage img]][coverage]
[![][mutation img]][mutation]
![pylint img]
[![][license img]][license]
[![][conda-forge img]][conda-forge]
[![][pypi img]][pypi]
## Typedpy - Strict Type System for Python
``typedpy`` is a library for type-safe, strict, Python structures. It supports Python 3.9+.
### Features
* Full featured, sophisticated, class-based type system
* Includes Python stubs generator that provides static type checking within the IDE
* Supports JSON schema draft4 features, including mapping schema-to-code and code-to-schema
* Serialization, deserialization between JSON-like dict and typedpy objects, including custom mapping. Support for pickling.
* Easily extensible. [Wrapper of any class as a Field](https://github.com/loyada/typedpy/tree/master/tests/test_typed_field_creator.py)
* [Inheritance/mixins of fields/classes](https://github.com/loyada/typedpy/tree/master/tests/test_inheritance.py)
* Embedded structures within structures/fields and fields within fields
* Supports the common collections
* [Immutable Structures/Fields](https://github.com/loyada/typedpy/tree/master/tests/test_immutable.py)
* Clean Java-generics-like definitions, but more flexible. e.g.: Set[AnyOf[Integer(minimum=10), Array]], Map[String(maxLength=8), String]
* No dependencies on third-party libs
**There are many examples under "tests/".**
#### Documentation
[Detailed documentation is here](http://typedpy.readthedocs.io)
#### Installation
[PyPI page is here](https://pypi.python.org/pypi/typedpy)
[Conda-Forge page is here](https://anaconda.org/conda-forge/typedpy)
[travis]:https://travis-ci.com/loyada/typedpy
[travis img]:https://travis-ci.com/loyada/typedpy.svg?branch=master
[GA]:https://github.com/loyada/typedpy/actions
[GA img]:https://github.com/loyada/typedpy/actions/workflows/main.yml/badge.svg
[docs img]:https://readthedocs.org/projects/typedpy/badge/?version=latest
[docs]:https://typedpy.readthedocs.io/en/latest/?badge=latest
[license]:LICENSE.txt
[license img]:https://img.shields.io/badge/License-Apache%202-blue.svg
[coverage]:https://github.com/loyada/typedpy/blob/master/coverage.txt
[coverage img]:https://raw.githubusercontent.com/loyada/typedpy/master/coverage.svg
[mutation]:https://github.com/loyada/typedpy/blob/master/mutpy-report.txt
[mutation img]:https://raw.githubusercontent.com/loyada/typedpy/master/mutation-testing.svg
[pylint img]:https://raw.githubusercontent.com/loyada/typedpy/master/pylint.svg
[conda-forge]:https://anaconda.org/conda-forge/typedpy/
[conda-forge img]:https://anaconda.org/conda-forge/typedpy/badges/installer/conda.svg
[pypi]:https://pypi.org/project/typedpy/
[pypi img]:https://img.shields.io/pypi/v/typedpy.svg
Raw data
{
"_id": null,
"home_page": "http://github.com/loyada/typedpy",
"name": "typedpy",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "testing, type-safe, strict, schema, validation",
"author": "Danny Loya",
"author_email": "dan.loya@gmail.com",
"download_url": "https://github.com/loyada/typedpy/archive/v2.28.3.tar.gz",
"platform": null,
"description": "[![][travis img]][travis]\n[![][GA img]][GA]\n\n[![][docs img]][docs]\n\n[![][coverage img]][coverage]\n[![][mutation img]][mutation]\n\n![pylint img]\n\n\n[![][license img]][license]\n\n[![][conda-forge img]][conda-forge]\n[![][pypi img]][pypi]\n\n\n## Typedpy - Strict Type System for Python\n\n``typedpy`` is a library for type-safe, strict, Python structures. It supports Python 3.9+.\n\n### Features\n\n* Full featured, sophisticated, class-based type system\n\n* Includes Python stubs generator that provides static type checking within the IDE\n\n* Supports JSON schema draft4 features, including mapping schema-to-code and code-to-schema\n\n* Serialization, deserialization between JSON-like dict and typedpy objects, including custom mapping. Support for pickling.\n\n* Easily extensible. [Wrapper of any class as a Field](https://github.com/loyada/typedpy/tree/master/tests/test_typed_field_creator.py)\n\n* [Inheritance/mixins of fields/classes](https://github.com/loyada/typedpy/tree/master/tests/test_inheritance.py)\n\n* Embedded structures within structures/fields and fields within fields\n\n* Supports the common collections\n\n* [Immutable Structures/Fields](https://github.com/loyada/typedpy/tree/master/tests/test_immutable.py)\n\n* Clean Java-generics-like definitions, but more flexible. e.g.: Set[AnyOf[Integer(minimum=10), Array]], Map[String(maxLength=8), String]\n\n* No dependencies on third-party libs\n\n**There are many examples under \"tests/\".**\n\n\n#### Documentation\n\n[Detailed documentation is here](http://typedpy.readthedocs.io)\n\n#### Installation\n\n[PyPI page is here](https://pypi.python.org/pypi/typedpy)\n\n[Conda-Forge page is here](https://anaconda.org/conda-forge/typedpy)\n\n[travis]:https://travis-ci.com/loyada/typedpy\n[travis img]:https://travis-ci.com/loyada/typedpy.svg?branch=master\n\n[GA]:https://github.com/loyada/typedpy/actions\n[GA img]:https://github.com/loyada/typedpy/actions/workflows/main.yml/badge.svg\n\n[docs img]:https://readthedocs.org/projects/typedpy/badge/?version=latest\n[docs]:https://typedpy.readthedocs.io/en/latest/?badge=latest\n\n[license]:LICENSE.txt\n[license img]:https://img.shields.io/badge/License-Apache%202-blue.svg\n\n[coverage]:https://github.com/loyada/typedpy/blob/master/coverage.txt\n[coverage img]:https://raw.githubusercontent.com/loyada/typedpy/master/coverage.svg\n\n[mutation]:https://github.com/loyada/typedpy/blob/master/mutpy-report.txt\n[mutation img]:https://raw.githubusercontent.com/loyada/typedpy/master/mutation-testing.svg\n\n[pylint img]:https://raw.githubusercontent.com/loyada/typedpy/master/pylint.svg\n\n[conda-forge]:https://anaconda.org/conda-forge/typedpy/\n[conda-forge img]:https://anaconda.org/conda-forge/typedpy/badges/installer/conda.svg\n\n[pypi]:https://pypi.org/project/typedpy/\n[pypi img]:https://img.shields.io/pypi/v/typedpy.svg\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Type-safe Python",
"version": "2.28.3",
"project_urls": {
"Download": "https://github.com/loyada/typedpy/archive/v2.28.3.tar.gz",
"Homepage": "http://github.com/loyada/typedpy"
},
"split_keywords": [
"testing",
" type-safe",
" strict",
" schema",
" validation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1c04fa47af27762899de2a727f8c079fad4079496a6b5aa1b3e8240983df977d",
"md5": "09b61df08af29ec2cf835e36d0730f9a",
"sha256": "a7d3b69b4f6b06681eca8929ddf6da28e2d9a129ff15bec812f0113dd4924928"
},
"downloads": -1,
"filename": "typedpy-2.28.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "09b61df08af29ec2cf835e36d0730f9a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 97597,
"upload_time": "2024-09-24T01:35:50",
"upload_time_iso_8601": "2024-09-24T01:35:50.112010Z",
"url": "https://files.pythonhosted.org/packages/1c/04/fa47af27762899de2a727f8c079fad4079496a6b5aa1b3e8240983df977d/typedpy-2.28.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-24 01:35:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "loyada",
"github_project": "typedpy",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "typedpy"
}