https://github.com/silitics/sidex
A format- and language-agnostic data modeling and API definition framework with a focus on type safety, extensibility, and developer ergonomics.
https://github.com/silitics/sidex
json-schema openapi
Last synced: about 2 months ago
JSON representation
A format- and language-agnostic data modeling and API definition framework with a focus on type safety, extensibility, and developer ergonomics.
- Host: GitHub
- URL: https://github.com/silitics/sidex
- Owner: silitics
- License: apache-2.0
- Created: 2022-11-11T13:26:58.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2026-04-23T07:02:08.000Z (about 2 months ago)
- Last Synced: 2026-04-23T09:06:15.649Z (about 2 months ago)
- Topics: json-schema, openapi
- Language: Rust
- Homepage: https://oss.silitics.com/sidex/
- Size: 1.18 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
Sidex
A data modeling language for cross-stack data exchange.
> 🚧 **WORK IN PROGRESS** 🚧
>
> Sidex **is still under construction**. In particular, the functionality described here may not exist yet, may change considerably in the future, or may even be completely abandoned at a later point in time. We are actively working on the design, features, and vision of Sidex. ⚠️
_Sidex_ is a format- and language-agnostic data modeling language with a focus on type safety, extensibility, and developer ergonomics. Sidex aims to simplify data exchange between different programming languages and platforms via potentially multiple interchange formats and storage backends.
💡 **Idea:** Define your data model once with Sidex and then generate code for different languages and interchange formats from this single ground truth.
Sidex's type system and definition language are inspired by [Rust](https://www.rust-lang.org/). With _custom attributes_, similar to [Rust's attributes](https://doc.rust-lang.org/reference/attributes.html), the possibilities for code generation become almost limitless. You can easily develop your own code generator or extend an existing one to fit your needs.
To learn more, [checkout Sidex's website](https://oss.silitics.com/sidex/). 🚀
## ✨ Features
- **Schema-first** definition of data structures.
- Designed for **format- and language-agnostic** definitions.
- Modern **algebraic data types** and **non-null** by default.
- **Extensible** with user-defined opaque types.
- Support for **generics**, **recursive types**, and **custom attributes**.
- Out-of-the-box support for [Rust](https://rust-lang.org), [TypeScript](https://www.typescriptlang.org), [Python](https://www.python.org), and [JSON Schema](https://json-schema.org).
## ⚖️ Licensing
Sidex is licensed under either [MIT](https://github.com/silitics/sidex/blob/main/LICENSE-MIT) or [Apache 2.0](https://github.com/silitics/sidex/blob/main/LICENSE-APACHE) at your opinion.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache 2.0 license, shall be dual licensed as above, without any additional terms or conditions.
---
Made with ❤️ by [Silitics](https://www.silitics.com).