{"id":51992786,"url":"https://github.com/giggsoinc/aryx","last_synced_at":"2026-07-31T02:30:25.304Z","repository":{"id":371736685,"uuid":"1248817920","full_name":"giggsoinc/aryx","owner":"giggsoinc","description":"Aryx Lite — multi-source entity resolution \u0026 knowledge graph for grounded Q\u0026A. Postgres + FalkorDB. BSL 1.1.","archived":false,"fork":false,"pushed_at":"2026-07-16T15:52:28.000Z","size":3806,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-16T17:16:49.993Z","etag":null,"topics":["docker","entity-resolution","falkordb","fastapi","graphrag","knowledge-graph","mcp","nextjs","ontology","postgres"],"latest_commit_sha":null,"homepage":"https://github.com/giggsoinc/aryx","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/giggsoinc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-25T04:40:27.000Z","updated_at":"2026-07-16T15:53:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/giggsoinc/aryx","commit_stats":null,"previous_names":["giggsoinc/aryx"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/giggsoinc/aryx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giggsoinc%2Faryx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giggsoinc%2Faryx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giggsoinc%2Faryx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giggsoinc%2Faryx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/giggsoinc","download_url":"https://codeload.github.com/giggsoinc/aryx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giggsoinc%2Faryx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36099841,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-31T02:00:06.731Z","response_time":112,"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":["docker","entity-resolution","falkordb","fastapi","graphrag","knowledge-graph","mcp","nextjs","ontology","postgres"],"created_at":"2026-07-31T02:30:24.282Z","updated_at":"2026-07-31T02:30:25.296Z","avatar_url":"https://github.com/giggsoinc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/aryx-logo.png\" alt=\"Aryx\" width=\"160\" /\u003e\n\u003c/p\u003e\n\n# Aryx Lite\n\n**Point Aryx at your data. Get a deduplicated, linked knowledge graph you can ask questions of — with provenance on every answer.**\n\n[![CI](https://github.com/giggsoinc/aryx/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/giggsoinc/aryx/actions/workflows/ci.yml)\n[![License: BSL 1.1](https://img.shields.io/badge/license-BSL%201.1-blue.svg)](LICENSE)\n[![Graph: FalkorDB](https://img.shields.io/badge/graph-FalkorDB-red.svg)](https://github.com/FalkorDB/FalkorDB)\n[![Docker](https://img.shields.io/badge/docker-giggsodocker%2Faryx--lite-blue.svg)](https://hub.docker.com/r/giggsodocker/aryx-lite)\n[![Docker Web](https://img.shields.io/badge/docker-aryx--lite--web-blue.svg)](https://hub.docker.com/r/giggsodocker/aryx-lite-web)\n\n[Install](docs/INSTALL.md) · [Docker Hub](docs/DOCKERHUB.md) · [User guide](docs/USER_GUIDE.md) · [Quickstart data](examples/quickstart/) · [Contributing](CONTRIBUTING.md) · [Raven (Claude Code)](docs/RAVEN.md) · [Code of conduct](CODE_OF_CONDUCT.md) · [Licensing](docs/LICENSING.md)\n\n\u003e **Public · source-available (BSL 1.1).** Postgres is the system of record; the live knowledge graph is projected into **[FalkorDB](https://github.com/FalkorDB/FalkorDB)**.\n\n---\n\n## Repository overview\n\n**Aryx** turns the data you already have into a **workspace-scoped knowledge graph** you can ask questions of. You state goals in plain English, connect a database or upload files, approve the model Aryx proposes, resolve duplicates into golden entities, and explore with **Ask**, **Model**, **Data** (tree / table / entity graph), and **Accuracy Lab** — with **provenance** on answers and merges.\n\n| | |\n|---|---|\n| **Edition in this repo** | **Aryx Lite** — single-team outcome mapping (laptop / small server) |\n| **Not (yet)** | Multi-tenant governed enterprise estate (that path is Enterprise / Aryx-o) |\n| **SoT / graph** | PostgreSQL truth · FalkorDB rebuildable projection |\n| **UI** | Next.js only (`apps/web`) — no Streamlit |\n| **Images (public)** | [`giggsodocker/aryx-lite`](https://hub.docker.com/r/giggsodocker/aryx-lite) (API · worker · MCP) · [`giggsodocker/aryx-lite-web`](https://hub.docker.com/r/giggsodocker/aryx-lite-web) (Next.js UI) |\n| **Tags** | `latest` · `1.0.0` · `v1.0.0` · git short SHA (same tags on both images) |\n| **License** | BSL 1.1 → GPL-3.0-or-later on 2029-07-15 · [details](docs/LICENSING.md) |\n| **Docker Hub overview** | [docs/DOCKERHUB.md](docs/DOCKERHUB.md) · [aryx-lite](https://hub.docker.com/r/giggsodocker/aryx-lite) · [aryx-lite-web](https://hub.docker.com/r/giggsodocker/aryx-lite-web) |\n\n---\n\n## What it does\n\n| Step | What happens |\n|------|----------------|\n| **1. Goals** | You describe what you want to figure out in plain English |\n| **2. Ingest** | Connect a database or upload files (CSV, PDF, DOCX, …) |\n| **3. Resolve** | Duplicates merge into golden entities; weak pairs wait for human review |\n| **4. Link** | Cross-file relationships are discovered and projected into a graph |\n| **5. Explore** | Ask, Model canvas, Data explorer (tree / table / **entity graph**), Accuracy Lab |\n\nBuilt for a **single team’s** outcome mapping on a laptop or small server — not yet a multi-tenant governed enterprise estate.\n\n---\n\n## Quick start\n\n**Requirements:** [Docker](https://docs.docker.com/get-docker/) + Docker Compose · ~8 GB RAM recommended (Ollama models)\n\n**Images (Docker Hub, public — no login to pull):**\n\n| Image | Role | Tags |\n|-------|------|------|\n| [`giggsodocker/aryx-lite`](https://hub.docker.com/r/giggsodocker/aryx-lite) | API · worker · MCP | `latest` · `1.0.0` · `v1.0.0` · `\u003csha\u003e` |\n| [`giggsodocker/aryx-lite-web`](https://hub.docker.com/r/giggsodocker/aryx-lite-web) | Next.js UI | same tags |\n\n```bash\ngit clone https://github.com/giggsoinc/aryx.git\ncd aryx\ncp .env.example .env          # edit passwords / LLM keys as needed\ndocker compose pull           # pulls public Hub images (no docker login)\ndocker compose up -d          # builds from source only if pull/build policy requires it\n```\n\nFirst boot pulls LLM models into Ollama (can take several minutes).\n\n| Surface | URL |\n|---------|-----|\n| **Web UI** | http://localhost:3000 |\n| **Settings** (LLM provider / API keys) | http://localhost:3000/settings |\n| **API docs** | http://localhost:8088/docs |\n| **MCP (SSE)** | http://localhost:8765/sse |\n\nThen: open the web UI → **New workspace** → **Onboard** (`/start`) → goals → add a source → run.\n\n**Sample data:** upload the CSVs in [`examples/quickstart/`](examples/quickstart/) (customers + tickets) to exercise multi-file ingest and the entity graph.\n\nFull steps, ports, and troubleshooting: **[docs/INSTALL.md](docs/INSTALL.md)** · Hub copy: **[docs/DOCKERHUB.md](docs/DOCKERHUB.md)** · UI walkthrough: **[docs/USER_GUIDE.md](docs/USER_GUIDE.md)**\n\n### Smoke check (API)\n\n```bash\ncurl -s http://localhost:8088/health\n# then open http://localhost:3000\n```\n\n### Pull pinned images\n\n```bash\ndocker pull giggsodocker/aryx-lite:1.0.0\ndocker pull giggsodocker/aryx-lite-web:1.0.0\n# or latest / v1.0.0 / git short SHA\n```\n\n---\n\n## Product surfaces (Next.js)\n\n| Route | Purpose |\n|-------|---------|\n| `/start` | Guided onboard wizard |\n| `/` | **Ask** — grounded Q\u0026A with citations |\n| `/model` | Ontology canvas (types, relationships, survivorship, axioms) |\n| `/data` | Transparency explorer — Tree, Table, **interactive entity Graph** |\n| `/lab` | Accuracy Lab — ontology ON vs OFF + reasoner check |\n| `/settings` | **LLM provider** — Ollama, Anthropic, OpenAI-compatible, Gemini, Grok (xAI) |\n\nThere is **no Streamlit UI**. The product UI is Next.js only.\n\n---\n\n## Highlights\n\n- **Multi-source ingest** — Postgres, MySQL, Oracle; files (CSV/JSON/PDF/DOCX/PPTX/images)\n- **Discovery-driven ontology** — propose types, human approval gate, RDF/OWL import-export\n- **Entity resolution** — multi-key blocking, four-band scoring, HITL review, survivorship policies\n- **Cross-file relationships** — deterministic FK discovery after multi-file upload\n- **Entity graph** — pan/zoom, search, type filters, click-to-explore neighbors + detail panel\n- **Workspace isolation** — LIST-partitioned Postgres; one graph per workspace\n- **Local or cloud LLMs** — default Ollama; swap live under Settings (no restart)\n- **MCP** — tools over SSE for external agents\n- **Ports \u0026 adapters** — relational / graph / vector / LLM / reasoner / compute swappable for Enterprise / Aryx-o\n\n---\n\n## Stack\n\n| Layer | Technology |\n|-------|------------|\n| API | FastAPI + OpenAPI |\n| Web | Next.js 15 (App Router, Tailwind) |\n| Database (source of truth) | PostgreSQL 16 + pgvector |\n| **Graph projection** | **[FalkorDB](https://github.com/FalkorDB/FalkorDB)** (one named graph per workspace) |\n| LLM | Ollama (default) · Anthropic · OpenAI-compatible · Gemini · Grok |\n| Agents | MCP over SSE |\n| Deploy | Docker Compose · [`giggsodocker/aryx-lite`](https://hub.docker.com/r/giggsodocker/aryx-lite) |\n\nAryx is an application on top of FalkorDB (and Postgres), not a fork of the database.\n\n---\n\n## Documentation\n\n| Doc | Contents |\n|-----|----------|\n| [Install](docs/INSTALL.md) | Docker, Hub images, env, security, updates, local dev |\n| [User guide](docs/USER_GUIDE.md) | Workspaces, onboard, Ask, Data, Model, Lab, Settings |\n| [Quickstart data](examples/quickstart/) | Sample CSVs for multi-file upload → graph |\n| [Features](docs/FEATURES.md) | Capability matrix |\n| [Architecture](docs/ARCHITECTURE.md) | System design |\n| [Licensing](docs/LICENSING.md) | BSL plain English |\n| [Ingestion](docs/INGESTION_GUIDE.md) | Deep ingest walkthrough |\n| [Docker Hub overview](docs/DOCKERHUB.md) | Image description (API / worker / MCP) |\n| [Raven](docs/RAVEN.md) | Optional Claude Code workflow (`.claude` + manifest) |\n| [Benchmarks](docs/wiki/BENCHMARKS.md) | ER measurements |\n\nDiagrams: [Business view](docs/diagrams/business-view.html) · [Technical flow](docs/diagrams/technical-flow.html)\n\n---\n\n## Community\n\n- [Code of Conduct](CODE_OF_CONDUCT.md)\n- [Contributing](CONTRIBUTING.md)\n- [Security policy](SECURITY.md)\n- [Issues](https://github.com/giggsoinc/aryx/issues) · [Discussions](https://github.com/giggsoinc/aryx/discussions) (if enabled)\n\n---\n\n## License (BSL 1.1)\n\nSource-available under the **Business Source License 1.1**. You may use and modify Aryx Lite for evaluation, research, and internal production under the Additional Use Grant. Competing multi-tenant hosting of this work requires a commercial license until the Change Date (**2029-07-15**), when this version becomes **GPL-3.0-or-later**.\n\nFull text: [`LICENSE`](LICENSE) · Summary: [`docs/LICENSING.md`](docs/LICENSING.md) · Notice: [`NOTICE`](NOTICE)\n\n---\n\n## Who builds it\n\nMaintained by **[Giggso](https://giggso.com)**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiggsoinc%2Faryx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiggsoinc%2Faryx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiggsoinc%2Faryx/lists"}