{"id":22488727,"url":"https://github.com/fluencelabs/aqua","last_synced_at":"2025-08-02T21:31:41.268Z","repository":{"id":36960873,"uuid":"334955413","full_name":"fluencelabs/aqua","owner":"fluencelabs","description":"Programming language for distributed systems \u0026 p2p","archived":true,"fork":false,"pushed_at":"2024-09-18T13:45:04.000Z","size":5688,"stargazers_count":160,"open_issues_count":12,"forks_count":24,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-07-15T17:00:43.672Z","etag":null,"topics":["p2p","programming-language"],"latest_commit_sha":null,"homepage":"https://fluence.dev/docs/aqua-book/introduction","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fluencelabs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-02-01T13:16:13.000Z","updated_at":"2025-07-10T14:03:06.000Z","dependencies_parsed_at":"2023-10-03T03:01:53.189Z","dependency_job_id":"bd7e4f0e-4499-4510-b7fd-b64321772d14","html_url":"https://github.com/fluencelabs/aqua","commit_stats":{"total_commits":529,"total_committers":14,"mean_commits":"37.785714285714285","dds":0.5841209829867675,"last_synced_commit":"dac8fb57744ba70de08abad1f51dd40101bd788f"},"previous_names":[],"tags_count":78,"template":false,"template_full_name":null,"purl":"pkg:github/fluencelabs/aqua","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluencelabs%2Faqua","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluencelabs%2Faqua/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluencelabs%2Faqua/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluencelabs%2Faqua/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fluencelabs","download_url":"https://codeload.github.com/fluencelabs/aqua/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluencelabs%2Faqua/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268456574,"owners_count":24253250,"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","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["p2p","programming-language"],"created_at":"2024-12-06T17:18:33.611Z","updated_at":"2025-08-02T21:31:40.721Z","avatar_url":"https://github.com/fluencelabs.png","language":"Scala","funding_links":[],"categories":["Scala"],"sub_categories":[],"readme":"# Aqua\n\n[![release](https://github.com/fluencelabs/aqua/actions/workflows/release.yml/badge.svg)](https://github.com/fluencelabs/aqua/actions/workflows/release.yml)\n[![npm](https://img.shields.io/npm/v/@fluencelabs/aqua-api)](https://www.npmjs.com/package/@fluencelabs/aqua-api)\n\n[Aqua](https://fluence.dev/docs/aqua-book/introduction) is an open-source language for distributed workflow coordination in p2p networks. Aqua programs are executed on many peers, sequentially or in parallel, forming a single-use coordination network. Applications are turned into hostless workflows over distributed function calls, which enables various levels of decentralization: from handling by a limited set of servers to complete peer-to-peer architecture by connecting user devices directly. Aqua is the core of the [Fluence](https://fluence.network/) protocol and a framework for internet or private cloud applications.\n\n\n## Usage\n\nThe easiest way to use Aqua is through [Fluence CLI](https://github.com/fluencelabs/cli) with [aqua command](https://github.com/fluencelabs/cli/blob/main/docs/commands/README.md#fluence-aqua).\n\nOther ways of using Aqua are described in [USAGE.md](./USAGE.md).\n\n\n## Documentation\n\nComprehensive documentation and usage examples as well as a number of videos can be found in [Aqua Book](https://fluence.dev/docs/aqua-book/introduction). [Aqua Playground](https://github.com/fluencelabs/aqua-playground) demonstrates how to start writing Aqua and integrate it into a [TypeScript](https://www.typescriptlang.org/) application. Numerous videos are available at our [YouTube channel](https://www.youtube.com/@fluencelabs).\n\n\n## Repository Structure\n\n- [**api**](./api) - Aqua API for JS\n    - [api](./api/api) - Scala sources\n    - [api-npm](./api/api-npm) - JS project\n    - [api-example](./api/api-example) - usage example\n- [**aqua-run**](./aqua-run) - Aqua API to run functions\n- [**backend**](./backend) - compilation backend interface\n    - [backend/air](./backend/air) - generates AIR code from the middle-end model\n    - [backend/ts](./backend/ts) - generates AIR code and TypeScript wrappers for use with [Fluence JS]( https://github.com/fluencelabs/fluence-js) SDK\n- [**compiler**](./compiler) - compiler as a pure function made from _linker_, _semantics_ and _backend_\n- [**model**](./model) - middle-end, internal representation of the code, optimizations and transformations\n    - [transform](./model/transform) - optimizations and transformations, converting model to the result, ready to be rendered\n    - [test-kit](./model/test-kit) - tests and test helpers for the model and transformations\n- [**linker**](./linker) - checks dependencies between modules, builds and combines an abstract dependencies tree\n- [**parser**](./parser) - parser, takes source text and produces a source AST\n- [**semantics**](./semantics) - rules to convert source AST into the model\n- [**types**](./types) - data types, arrows, stream types definitions and variance\n\n\n## Support\n\nPlease, file an [issue](https://github.com/fluencelabs/aqua/issues) if you find a bug. You can also contact us at [Discord](https://discord.com/invite/5qSnPZKh7u) or [Telegram](https://t.me/fluence_project).  We will do our best to resolve the issue ASAP.\n\n\n## Contributing\n\nAny interested person is welcome to contribute to the project. Please, make sure you read and follow some basic [rules](./CONTRIBUTING.md).\n\n\n## License\n\nAll software code is copyright (c) Fluence Labs, Inc. under the [AGPLv3](./LICENSE) license.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluencelabs%2Faqua","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffluencelabs%2Faqua","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluencelabs%2Faqua/lists"}