Commit graph

27 commits

Author SHA1 Message Date
Daniel Chalef
56694a6dea
Add automated FastAPI server container release workflow (#1031)
* conductor-checkpoint-start

* conductor-checkpoint-msg_01VhH9TifDw4FVprrPE6tss4

* conductor-checkpoint-msg_018cUkkzZNp3RFrut99UPoAJ

* conductor-checkpoint-msg_01S8GCTw5bowCWq4G2jATJ5s

* conductor-checkpoint-msg_01NoAtvCjfekKvenbTgGZtzt

* Fix critical issues in server container release workflow

Address all issues identified by code review:

1. **Dockerfile now installs from PyPI** - Changed from building local source to installing graphiti-core from PyPI, ensuring container matches published package
2. **Fixed version extraction** - Handle workflow_run context where tags aren't available, with pyproject.toml fallback
3. **Added BUILD_DATE and VCS_REF** - Pass all required build arguments to populate OCI labels
4. **Improved pre-release detection** - Enhanced regex to catch all Python patterns (a1, b2, dev0, etc.)
5. **Fixed checkout configuration** - Added fetch-depth: 0 and proper ref for workflow_run trigger

The container now truly uses the PyPI package, making the PyPI availability check meaningful.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* conductor-checkpoint-msg_01AuTTSKLm6XPqV4C5C2GL28

* Fix dependency installation order and optimize FalkorDB install

Address additional review concerns:

1. **Fix dependency installation order** - Install server deps first with uv sync, then upgrade graphiti-core to desired PyPI version using --upgrade flag. This prevents stale uv.lock (pinned to 0.13.2) from downgrading our target version.

2. **Optimize FalkorDB installation** - Combine graphiti-core installation with FalkorDB extra in single command, avoiding redundant package reinstall.

3. **Add --upgrade flag** - Ensures the specific PyPI version takes precedence over lockfile version.

The installation sequence is now:
- uv sync (server deps + graphiti-core 0.13.2 from lock)
- uv pip install --upgrade graphiti-core==TARGET_VERSION (upgrades to desired version)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-29 19:24:12 -07:00
Daniel Chalef
8213d10d44
migrate to pyright (#646)
* migrate to pyright

* Refactor type checking to use Pyright, update dependencies, and clean up code.

- Replaced MyPy with Pyright in configuration files and CI workflows.
- Updated `pyproject.toml` and `uv.lock` to reflect new dependencies and versions.
- Adjusted type hints and fixed minor code issues across various modules for better compatibility with Pyright.
- Added new packages `backoff` and `posthog` to the project dependencies.

* Update CI workflows to install all extra dependencies for type checking and unit tests

* Update dependencies in uv.lock to replace MyPy with Pyright and add nodeenv package. Adjust type hinting in config.py for compatibility with Pyright.
2025-06-30 12:04:21 -07:00
Daniel Chalef
a7ca777af5
migrate to uv (#634) 2025-06-27 12:12:49 -07:00
Pavlo Paliychuk
34b1cb5f58
chore: upgrade Neo4j to 5.26.2 and switch to local build for graph service (#455) 2025-05-07 18:29:43 -04:00
dependabot[bot]
15efa37da1
Bump h11 from 0.14.0 to 0.16.0 in /server in the pip group across 1 directory (#392)
Bump h11 in /server in the pip group across 1 directory

Bumps the pip group with 1 update in the /server directory: [h11](https://github.com/python-hyper/h11).


Updates `h11` from 0.14.0 to 0.16.0
- [Commits](https://github.com/python-hyper/h11/compare/v0.14.0...v0.16.0)

---
updated-dependencies:
- dependency-name: h11
  dependency-version: 0.16.0
  dependency-type: indirect
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-25 22:36:11 -04:00
Daniel Chalef
7f7a17c926
chore: update dependencies and refactor type hinting (#339)
* Bump version from 0.9.0 to 0.9.1 in pyproject.toml and update google-genai dependency to >=0.1.0

* Bump version from 0.9.1 to 0.9.2 in pyproject.toml

* Update google-genai dependency version to >=0.8.0 in pyproject.toml

* loc file

* Update pyproject.toml to version 0.9.3, restructure dependencies, and modify author format. Remove outdated Google API key note from README.md.

* upgrade poetry and ruff

* Update README.md to include installation instructions for Graphiti with Google Gemini support

* fix to deps since peotry doesn't fully implement PEP 735

* Refactor string formatting in various files to use single quotes for consistency and improve readability. This includes updates in agent.ipynb, quickstart.py, multiple prompt files, and ingest.py and retrieve.py modules.

* Remove optional dependencies from pyproject.toml to streamline project requirements.
2025-04-09 08:05:26 -07:00
Daniel Chalef
9e78890f2e
Gemini support (#324)
* first cut

* Update dependencies and enhance README for optional LLM providers

- Bump aiohttp version from 3.11.14 to 3.11.16
- Update yarl version from 1.18.3 to 1.19.0
- Modify pyproject.toml to include optional extras for Anthropic, Groq, and Google Gemini
- Revise README.md to reflect new optional LLM provider installation instructions and clarify API key requirements

* Remove deprecated packages from poetry.lock and update content hash

- Removed cachetools, google-auth, google-genai, pyasn1, pyasn1-modules, rsa, and websockets from the lock file.
- Added new extras for anthropic, google-genai, and groq.
- Updated content hash to reflect changes.

* Refactor import paths for GeminiClient in README and __init__.py

- Updated import statement in README.md to reflect the new module structure for GeminiClient.
- Removed GeminiClient from the __all__ list in __init__.py as it is no longer directly imported.

* Refactor import paths for GeminiEmbedder in README and __init__.py

- Updated import statement in README.md to reflect the new module structure for GeminiEmbedder.
- Removed GeminiEmbedder and GeminiEmbedderConfig from the __all__ list in __init__.py as they are no longer directly imported.
2025-04-06 09:27:04 -07:00
Daniel Chalef
f88093bbbe
chore: update fastapi to ^0.115.0 in pyproject.toml (#300)
bump fastapi to ensure we're using safe starlette
2025-03-22 12:23:45 -07:00
Daniel Chalef
445dccc021
refactor: use utc_now() for consistent UTC datetime handling (#234)
* ensure utc timezones

* fix: dep cycle

---------

Co-authored-by: paulpaliychuk <pavlo.paliychuk.ca@gmail.com>
2024-12-09 10:36:04 -08:00
Preston Rasmussen
3199e893ed
add_fact endpoint (#207)
* add_fact endpoint

* bump version

* add edge invalidation

* update
2024-11-06 09:12:21 -05:00
Pavlo Paliychuk
50f9418a30
chore: Add build and start CI workflow (#164)
* chore: Add build and start CI workflow

* chore: Fix docker-compose command

* chore: Fix healthcheck port

* fix: test docker compose setup

* chore: Simulate container start error

* chore: Always log service logs

* revert dev version changes, and simulate error in the healthcheck

* chore: Log docker logs only on failure, revert simulated error

* chore: Make release workflows depend on build and start workflow
2024-10-01 10:25:12 -04:00
Pavlo Paliychuk
1a97cb4596
chore: Update openai version (#162)
* chore: Update openai dep version

* chore: Pull published image in docker compose
2024-09-28 18:50:38 -04:00
Pavlo Paliychuk
a7148d6260
feat: Dedicated embedder interface (#159)
* feat: Add Embedder interface and implement openai embedder

* feat: Add voyage ai embedder
2024-09-27 12:47:04 -04:00
ARNO
5bd18fc7dd
feat: configurable embedding model (#156)
* feat: configurable embedding model

format

* chore: Update comment

* chore: Pass embedding model in search utils

---------

Co-authored-by: paulpaliychuk <pavlo.paliychuk.ca@gmail.com>
2024-09-26 13:31:22 -07:00
Pavlo Paliychuk
b537cf56e5
chore: Make deleting groups safer (#155)
* chore: Make deleting groups safer

* chore: Use appropriate errors in delete group checks

* chore: Add GroupsEdgesNotFound error type
2024-09-24 20:08:09 -04:00
Pavlo Paliychuk
bca838f61d
fix: Make groupIds option in search query dto (#154)
* fix: Make groupIds option in search query dto

* chore: Format
2024-09-24 19:05:12 -04:00
Pavlo Paliychuk
09b16a2565
refactor: remove unnecessary type casting in search() function (#153)
fix: Mypy error
2024-09-24 16:36:24 -04:00
Pavlo Paliychuk
44b016da6b
feat: async close and multi-group search support (#151)
* chore: Support a list of group_ids on search + await driver.close()

* fix: formatter and linter

* chore: Version bump
2024-09-24 16:13:04 -04:00
Pavlo Paliychuk
2fc1b00602
feat: add FastAPI lifespan and healthcheck endpoint (#144)
* chore: Add healthcheck endpoint + build indexes and constraints on svc startup

* chore: Bring back driver close call
2024-09-23 10:12:35 -04:00
Pavlo Paliychuk
d8c49c1c0a
feat: Add delete group endpoint (#132)
* feat: Add delete group endpoint

* chore: Version bump

* chore: improve not found error handling
2024-09-22 14:03:32 -04:00
Pavlo Paliychuk
33908da18e
feat: add OpenAI configuration options to Settings and update LLM client setup (#126)
* chore: Add model and base url customization support for graphiti svc

* fix: formatter
2024-09-19 16:35:36 -04:00
Pavlo Paliychuk
529a1aaecf
fix: update UUID generation and message handling (#123)
* chore: Update uuid generation + service fixes

* chore: Version bump
2024-09-18 12:48:44 -04:00
Pavlo Paliychuk
8085b52f2a
feat: add error handling for missing nodes and edges, introduce new API endpoints, and update ZepGraphiti class (#104)
* feat: Expose crud operations to service + add graphiti errors

* fix: linter
2024-09-11 12:53:17 -04:00
Pavlo Paliychuk
ad2962c6ba
feat(graph-service): add entity node handling and update Docker configurations (#100)
* feat: Add entity node request + service maintenance

* chore: Fix linter
2024-09-10 11:00:52 -04:00
Pavlo Paliychuk
66111a66db
chore: Update service readme (#93)
* chore: Update service readme

* Update README.md

* point to the image in server readme

* chore: Update readme + rename image to graphiti
2024-09-06 16:11:04 -04:00
Pavlo Paliychuk
39ad28d6db
feat: Add group id support to service (#92) 2024-09-06 15:37:19 -04:00
Pavlo Paliychuk
ba48f64492
Add Fastapi graph service (#88)
* chore: Folder rearrangement

* chore: Remove unused deps, and add mypy step in CI for graph-service

* fix: Mypy errors

* fix: linter

* fix mypy

* fix mypy

* chore: Update docker setup

* chore: Reduce graph service image size

* chore: Install graph service deps on CI

* remove cache from typecheck

* chore: install graph-service deps on typecheck action

* update graph service mypy direction

* feat: Add release service image step

* chore: Update depot configuration

* chore: Update release image job to run on releases

* chore: Test depot multiplatform build

* update release action tag

* chore: Update action to be in accordance with zep image publish

* test

* test

* revert

* chore: Update python slim image used in service docker

* chore: Remove unused endpoints and dtos
2024-09-06 11:07:45 -04:00