{"id":22348730,"url":"https://github.com/strict-types/strict-encoding","last_synced_at":"2025-07-30T06:31:05.836Z","repository":{"id":65576167,"uuid":"566978730","full_name":"strict-types/strict-encoding","owner":"strict-types","description":"Protobufs for functional programming","archived":false,"fork":false,"pushed_at":"2024-04-26T11:49:29.000Z","size":476,"stargazers_count":7,"open_issues_count":6,"forks_count":9,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-05-01T09:52:10.336Z","etag":null,"topics":["category-theory","functional-programming","gadt","rust","serialization-format","serialization-library","type-safety","type-theory"],"latest_commit_sha":null,"homepage":"https://strict-encoding.org","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/strict-types.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["dr-orlovsky","ubideco","strict-types","AluVM"]}},"created_at":"2022-11-16T20:19:15.000Z","updated_at":"2024-05-06T19:52:15.859Z","dependencies_parsed_at":"2024-05-06T19:51:44.937Z","dependency_job_id":null,"html_url":"https://github.com/strict-types/strict-encoding","commit_stats":{"total_commits":185,"total_committers":5,"mean_commits":37.0,"dds":0.4648648648648649,"last_synced_commit":"f3e32e8afc9ee4880e4e5c02174ba52411203410"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strict-types%2Fstrict-encoding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strict-types%2Fstrict-encoding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strict-types%2Fstrict-encoding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strict-types%2Fstrict-encoding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/strict-types","download_url":"https://codeload.github.com/strict-types/strict-encoding/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227877801,"owners_count":17833559,"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":["category-theory","functional-programming","gadt","rust","serialization-format","serialization-library","type-safety","type-theory"],"created_at":"2024-12-04T11:06:11.914Z","updated_at":"2025-07-30T06:31:05.823Z","avatar_url":"https://github.com/strict-types.png","language":"Rust","readme":"# Strict encoding\n\n[![Apache-2 licensed](https://img.shields.io/crates/l/strict_encoding)](./LICENSE)\n\n#### Protobufs for functional programming\n\nThis is a set of libraries for deterministic binary serialization using\n[strict types] \u0026ndash; type system made with category theory which ensures\nprovable properties and bounds for the in-memory and serialized type\nrepresentation.\n\nThe development of the libraries is performed by\n[UBIDECO Labs](https://ubideco.org), a part of [InDCS](https://indcs.org).\n\n## Overview\n\nStrict types is a formal notation for defining and serializing\n[generalized algebraic data types (GADT)][gadt] in a deterministic\nand confined way. It is developed with [type theory] in mind.\n\nStrict Types are:\n\n* __schema-based__ (with the schema being strict encoding notation),\n* __semantic__, i.e. defines types not just as they are layed out in memory,\n  but also depending on their meaning,\n* __deterministic__, i.e. produces the same result for a given type,\n* __portabile__, i.e. can run on ahy hardware architecture and OS, including\n  low-performant embedded systems,\n* __confined__, i.e. provides guarantees and static analysis on a maximum size\n  of the typed data,\n* __formally verifiable__.\n\n**Strict Encoding** is set of libraries for serializing / deserializing data\ntypes in binary formats.\n\n![strict-encoding-box](https://user-images.githubusercontent.com/372034/209443924-add45986-d90c-42f9-bfaa-2fd2b0d50506.png)\n\n## Libraries\n\n| Language   | Source code      | Package                                                                                                   |\n|------------|------------------|-----------------------------------------------------------------------------------------------------------|\n| Rust       | [./rust](./rust) | [![crates.io](https://img.shields.io/crates/v/strict_encoding)](https://crates.io/crates/strict_encoding) |\n| Python     | Planned          | n/a                                                                                                       |\n| TypeScript | Planned          | n/a                                                                                                       |\n| Swift      | Planned          | n/a                                                                                                       |\n| Kotlin     | Planned          | n/a                                                                                                       |\n\n## Contributing\n\n[CONTRIBUTING.md](../CONTRIBUTING.md)\n\n## License\n\nThe libraries are distributed on the terms of [Apache 2.0 license](LICENSE).\n\n[strict types]: https://strict-types.org\n\n[gadt]: https://en.wikipedia.org/wiki/Algebraic_data_type\n\n[type theory]: https://en.wikipedia.org/wiki/Type_theory\n","funding_links":["https://github.com/sponsors/dr-orlovsky","https://github.com/sponsors/ubideco","https://github.com/sponsors/strict-types","https://github.com/sponsors/AluVM"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrict-types%2Fstrict-encoding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstrict-types%2Fstrict-encoding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrict-types%2Fstrict-encoding/lists"}