https://github.com/7mind/idealingua-v1
IdeaLingua RPC for Scala, TypeScript, C#, Go
https://github.com/7mind/idealingua-v1
api cats-effect compiler csharp generative go http4s idealingua idl izumi json pper productivity rpc scala scalajs transpiler typescript zio
Last synced: about 2 months ago
JSON representation
IdeaLingua RPC for Scala, TypeScript, C#, Go
- Host: GitHub
- URL: https://github.com/7mind/idealingua-v1
- Owner: 7mind
- License: bsd-2-clause
- Created: 2020-02-04T16:17:41.000Z (about 5 years ago)
- Default Branch: develop
- Last Pushed: 2025-02-27T15:33:28.000Z (about 2 months ago)
- Last Synced: 2025-02-27T22:08:11.257Z (about 2 months ago)
- Topics: api, cats-effect, compiler, csharp, generative, go, http4s, idealingua, idl, izumi, json, pper, productivity, rpc, scala, scalajs, transpiler, typescript, zio
- Language: Scala
- Homepage: https://izumi.7mind.io/idealingua
- Size: 2.19 MB
- Stars: 21
- Watchers: 6
- Forks: 4
- Open Issues: 75
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-golang-repositories - idealingua-v1
README
[](https://gitter.im/7mind/izumi)
[](https://www.patreon.com/7mind)
[](https://dev.azure.com/7mind/izumi/_build/latest?definitionId=6&branchName=develop)
[](https://github.com/7mind/idealingua-v1/blob/develop/LICENSE)
[](https://github.com/lauris/awesome-scala)---
---
[](https://github.com/7mind/idealingua-v1/releases)
[](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.7mind.izumi%22)
[](https://oss.sonatype.org/content/repositories/releases/io/7mind/izumi/)
[](https://oss.sonatype.org/content/repositories/snapshots/io/7mind/izumi/)
[](https://index.scala-lang.org/7mind/idealingua-v1)## IdeaLingua RPC/DML
[*IdeaLingua*](https://izumi.7mind.io/latest/release/doc/idealingua/index.html) is an RPC framework & Domain Modeling Language, it’s purpose is to:
* Share & publish APIs and data models in a common concise format
* Allow remote calls to services given their public API definitions.
* Create idiomatic API clients and servers for all programming languages – currently Scala, TypeScript, C# & Go.
* Support frontend-to-backend and backend-to-frontend calls (ala push notifications, via buzzer definitions)
* Abstract away details such as the network protocol or the serialization format.
* Save developers from untyped and brittle REST.*IdeaLingua* is a part of the [Izumi Project](https://github.com/7mind/izumi). Izumi (*jp. 泉水, spring*) is a set of independent libraries and frameworks allowing you to significantly increase productivity of your Scala development.
including the following components:
1. [distage](https://izumi.7mind.io/latest/release/doc/distage/) – Transparent and debuggable Dependency Injection framework for Pure FP Scala,
2. [logstage](https://izumi.7mind.io/latest/release/doc/logstage/) – Automatic structural logs from Scala string interpolations,
3. [idealingua](https://izumi.7mind.io/latest/release/doc/idealingua/) (moved to [7mind/idealingua-v1](https://github.com/7mind/idealingua-v1)) – API Definition, Data Modeling and RPC Language, optimized for fast prototyping – like gRPC, but with a human face. Currently generates servers and clients for Go, TypeScript, C# and Scala,
4. [Opinionated SBT plugins](https://izumi.7mind.io/latest/release/doc/sbt/) (moved to [7mind/sbtgen](https://github.com/7mind/sbtgen)) – Reduces verbosity of SBT builds and introduces new features – inter-project shared test scopes and BOM plugins (from Maven)
5. [Percept-Plan-Execute-Repeat (PPER)](https://izumi.7mind.io/latest/release/doc/pper/) – a pattern that enables modeling very complex domains and orchestrate deadly complex processes a lot easier than you're used to.[VSCode Extension](https://marketplace.visualstudio.com/items?itemName=SeptimalMind.idealingua1) [VSCodium Extension](https://open-vsx.org/extension/SeptimalMind/idealingua1)
Project Status
--------------Currently this project is in maintanance-only phase. It may be useful, although new features will not be added.
Have a look at [Baboon DML](https://github.com/7mind/baboon)
Docs
----Example projects:
* [Idealingua Example Project with TypeScript and Scala](https://github.com/7mind/idealingua-example)
Support Chats:
* [Izumi on Gitter](https://gitter.im/7mind/izumi)
* [Izumi User Group [EN] on Telegram](https://t.me/izumi_en)
* [Izumi User Group [RU] on Telegram](https://t.me/izumi_ru)Release process
---------------`nix` must be installed and available.
```bash
./build.sh release
```