{"id":13800073,"url":"https://github.com/loyada/typedpy","last_synced_at":"2026-04-02T01:42:50.356Z","repository":{"id":37470896,"uuid":"109901380","full_name":"loyada/typedpy","owner":"loyada","description":"Type-safe, strict Python. Works well with standard Python","archived":false,"fork":false,"pushed_at":"2024-09-24T01:35:03.000Z","size":1643,"stargazers_count":16,"open_issues_count":3,"forks_count":4,"subscribers_count":0,"default_branch":"master","last_synced_at":"2024-10-29T06:21:13.599Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://typedpy.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/loyada.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-07T23:05:01.000Z","updated_at":"2024-09-24T01:35:06.000Z","dependencies_parsed_at":"2023-02-15T06:31:32.452Z","dependency_job_id":"3d1d559c-c59c-4dc2-9ecb-4ae8f30aa9ec","html_url":"https://github.com/loyada/typedpy","commit_stats":{"total_commits":896,"total_committers":6,"mean_commits":"149.33333333333334","dds":"0.060267857142857095","last_synced_commit":"281be1c7800fa3de0fc5a9463402241d40b5fcaa"},"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loyada%2Ftypedpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loyada%2Ftypedpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loyada%2Ftypedpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loyada%2Ftypedpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/loyada","download_url":"https://codeload.github.com/loyada/typedpy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225190778,"owners_count":17435489,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T00:01:08.976Z","updated_at":"2025-12-14T20:25:23.410Z","avatar_url":"https://github.com/loyada.png","language":"Python","readme":"[![][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","funding_links":[],"categories":["Python","Dynamic type checkers"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floyada%2Ftypedpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floyada%2Ftypedpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floyada%2Ftypedpy/lists"}