/metatype

Declarative API development platform. Build backend components with WASM, Typescript and Python, no matter where and how your (legacy) systems are.

Primary LanguageRustMozilla Public License 2.0MPL-2.0

Metatype

Support us by starring ⭐ this repository, joining the community on discussions 💬,
subscribing to releases 🔔, requesting a feature 💡 or even making a contribution :octocat:.

Typegate Docker image badge Meta CLI binary Github release badge Python typegraph SDK badge PyPi Typescript typegraph SDK badge NPM Typescript typegraph SDK badge JSR

Metatype • the declarative API development platform

Programming is like castle building

And castle building is hard. Even the best teams can struggle to build according to the plans, especially with the ever evolving needs and the tech landscape complexities.

Castle building
Stable castle

Build reliable castle with typegraphs

Typegraphs are programmable virtual graphs describing all the components of your stack. They enable you to compose APIs, storage and business logic in a type safe manner.

Build modulable castle with typegate

Typegate is a GraphQL/REST composition engine that compiles, optimizes, runs and caches queries over typegraphs. It enforces authentication, authorization and security for you.

Modulable castle
Reusable castle

Build reusable castle with Metatype

Install third parties as dependencies and start reusing components. The Meta CLI offers you live reloading and one-command deployment to Metatype cloud or your self-hosted instance.

Browse the documentation or start directly building your first typegraph!

back to top ↑

Development status

Metatype is still in beta and some interfaces are being stabilized, yet most of the engine is close to production readiness. As such, minor versions can contain breaking changes, but we are committed to providing a smooth upgrade path and the changes will be detailed in the changelog of each release (watch/subscribe to this repository to be notified).

back to top ↑

Contributing

If you have an idea or a suggestion that would make this better, please fork the repository and follow the step below to create a pull request. You can also simply open an issue with the tag "enhancement".

  1. Fork the repository
  2. Clone your fork and follow the developer setup
  3. Create a feature branch: git checkout -b feature/awesome-x
  4. Commit your changes using conventional commits: git commit -am 'feat: add awesome x'
  5. Push to the branch: git push origin feature/awesome-x
  6. Open a pull request

First-time contributors can find a list of friendly issues for them to get started and discover step by step the platform.

back to top ↑

License

Copyright © Metatype OÜ. Distributed under various licenses, see LICENSE for the details. Contributions are welcomed and subject to a Contributor License Agreement (CLA).

back to top ↑