Skip to content

A format- and language-agnostic data modeling and API definition framework with a focus on type safety, extensibility, and developer ergonomics.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

silitics/sidex

Repository files navigation

Sidex Logo

Sidex

Simplifies data exchange across your entire stack.

Sidex CLI Crate Tests Docs License: MIT/Apache

🚧 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 and API definition framework 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: The idea is simple, define your data model and API once with Sidex and then generate code for different languages, interchange formats, and storage backends from this single Sidex ground truth.

Sidex's type system and definition language have been inspired by Rust. With custom attributes, similar to Rust's attributes, 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 (e.g., for generating additional methods).

To learn more, checkout Sidex's website. 🚀

✨ Features

  • Schema-first definition of data structures and APIs.
  • 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.
  • Language server and VS Code extension for increased productivity.
  • Out-of-the-box support for Rust, TypeScript, and JSON.

⚖️ Licensing

Sidex is licensed under either MIT or Apache 2.0 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.

About

A format- and language-agnostic data modeling and API definition framework with a focus on type safety, extensibility, and developer ergonomics.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages