typedpy


Nametypedpy JSON
Version 2.27.6 PyPI version JSON
download
home_pagehttp://github.com/loyada/typedpy
SummaryType-safe Python
upload_time2024-02-27 14:23:58
maintainer
docs_urlNone
authorDanny Loya
requires_python
licenseMIT
keywords testing type-safe strict schema validation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            [![][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": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "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.27.6.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.27.6",
    "project_urls": {
        "Download": "https://github.com/loyada/typedpy/archive/v2.27.6.tar.gz",
        "Homepage": "http://github.com/loyada/typedpy"
    },
    "split_keywords": [
        "testing",
        "type-safe",
        "strict",
        "schema",
        "validation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c5f185e8cf1ff49757c42cf59a9775a5331813e20e8de9baebd5def4488ac038",
                "md5": "87a7f15a65d08b832cbb33ded2003b92",
                "sha256": "37587e65b13a465c71e2d8322408a73a84e38e1dcd67bcf73566ae80b4ce143f"
            },
            "downloads": -1,
            "filename": "typedpy-2.27.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "87a7f15a65d08b832cbb33ded2003b92",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 97539,
            "upload_time": "2024-02-27T14:23:58",
            "upload_time_iso_8601": "2024-02-27T14:23:58.000426Z",
            "url": "https://files.pythonhosted.org/packages/c5/f1/85e8cf1ff49757c42cf59a9775a5331813e20e8de9baebd5def4488ac038/typedpy-2.27.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-27 14:23:58",
    "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"
}
        
Elapsed time: 0.20107s