diff --git a/.github/actions/cognee_setup/action.yml b/.github/actions/cognee_setup/action.yml index 8a3bbb7ef..9ae669b53 100644 --- a/.github/actions/cognee_setup/action.yml +++ b/.github/actions/cognee_setup/action.yml @@ -1,11 +1,15 @@ name: cognee-setup -description: "Sets up Python, installs Poetry, loads venv from cache, and installs dependencies for Cognee." +description: "Sets up Python, installs uv, and installs dependencies for Cognee." inputs: python-version: description: "Which Python version to use" required: false default: "3.11.x" + extra-dependencies: + description: "Additional extra dependencies to install (space-separated)" + required: false + default: "" runs: using: "composite" @@ -16,18 +20,25 @@ runs: with: python-version: ${{ inputs.python-version }} - - name: Install Poetry + - name: Install uv + uses: astral-sh/setup-uv@v4 + with: + enable-cache: true + + - name: Rebuild uv lockfile shell: bash run: | - python -m pip install --upgrade pip - pip install poetry - - - name: Rebuild Poetry lock file - shell: bash - run: | - rm poetry.lock - poetry lock + rm uv.lock + uv lock - name: Install dependencies shell: bash - run: poetry install --no-interaction -E api -E docs -E evals -E gemini -E codegraph -E ollama -E dev -E neo4j + run: | + EXTRA_ARGS="" + if [ -n "${{ inputs.extra-dependencies }}" ]; then + IFS=' ' read -r -a deps <<< "${{ inputs.extra-dependencies }}" + for extra in "${deps[@]}"; do + EXTRA_ARGS="$EXTRA_ARGS --extra $extra" + done + fi + uv sync --extra api --extra docs --extra evals --extra gemini --extra codegraph --extra ollama --extra dev --extra neo4j $EXTRA_ARGS diff --git a/.github/workflows/basic_tests.yml b/.github/workflows/basic_tests.yml index 28c708ddb..2173b228e 100644 --- a/.github/workflows/basic_tests.yml +++ b/.github/workflows/basic_tests.yml @@ -98,7 +98,7 @@ jobs: python-version: ${{ inputs.python-version }} - name: Run Unit Tests - run: poetry run pytest cognee/tests/unit/ + run: uv run pytest cognee/tests/unit/ integration-tests: name: Run Integration Tests @@ -115,7 +115,7 @@ jobs: python-version: ${{ inputs.python-version }} - name: Run Integration Tests - run: poetry run pytest cognee/tests/integration/ + run: uv run pytest cognee/tests/integration/ simple-examples: name: Run Simple Examples @@ -144,7 +144,7 @@ jobs: python-version: ${{ inputs.python-version }} - name: Run Simple Examples - run: poetry run python ./examples/python/simple_example.py + run: uv run python ./examples/python/simple_example.py simple-examples-baml: name: Run Simple Examples BAML @@ -180,7 +180,7 @@ jobs: python-version: ${{ inputs.python-version }} - name: Run Simple Examples - run: poetry run python ./examples/python/simple_example.py + run: uv run python ./examples/python/simple_example.py graph-tests: name: Run Basic Graph Tests @@ -209,4 +209,4 @@ jobs: python-version: ${{ inputs.python-version }} - name: Run Graph Tests - run: poetry run python ./examples/python/code_graph_example.py --repo_path ./cognee/tasks/graph + run: uv run python ./examples/python/code_graph_example.py --repo_path ./cognee/tasks/graph diff --git a/.github/workflows/db_examples_tests.yml b/.github/workflows/db_examples_tests.yml index f585e8200..a1a81b4d4 100644 --- a/.github/workflows/db_examples_tests.yml +++ b/.github/workflows/db_examples_tests.yml @@ -54,10 +54,6 @@ jobs: with: python-version: ${{ inputs.python-version }} - - name: Install Neo4j extra - run: | - poetry install -E neo4j - - name: Run Neo4j Example env: ENV: dev @@ -74,7 +70,7 @@ jobs: GRAPH_DATABASE_USERNAME: "neo4j" GRAPH_DATABASE_PASSWORD: ${{ secrets.NEO4J_API_KEY }} run: | - poetry run python examples/database_examples/neo4j_example.py + uv run python examples/database_examples/neo4j_example.py run-db-example-kuzu: name: "Kuzu DB Example Test" @@ -90,9 +86,8 @@ jobs: with: python-version: ${{ inputs.python-version }} - - name: Install Kuzu extra - run: | - poetry install + - name: Dependencies already installed + run: echo "Dependencies already installed in setup" - name: Run Kuzu Example env: @@ -107,7 +102,7 @@ jobs: EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} GRAPH_DATABASE_PROVIDER: "kuzu" run: | - poetry run python examples/database_examples/kuzu_example.py + uv run python examples/database_examples/kuzu_example.py run-db-example-pgvector: name: "PostgreSQL PGVector DB Example Test" @@ -138,10 +133,7 @@ jobs: uses: ./.github/actions/cognee_setup with: python-version: ${{ inputs.python-version }} - - - name: Install PGVector extra - run: | - poetry install -E postgres + extra-dependencies: "postgres" - name: Run PGVector Example env: @@ -155,4 +147,4 @@ jobs: EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} run: | - poetry run python examples/database_examples/pgvector_example.py + uv run python examples/database_examples/pgvector_example.py diff --git a/.github/workflows/e2e_tests.yml b/.github/workflows/e2e_tests.yml index 99eb2a72c..54a7cf98c 100644 --- a/.github/workflows/e2e_tests.yml +++ b/.github/workflows/e2e_tests.yml @@ -57,7 +57,7 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_cognee_server_start.py + run: uv run python ./cognee/tests/test_cognee_server_start.py run-telemetry-test: name: Run Telemetry Test @@ -81,7 +81,7 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_telemetry.py + run: uv run python ./cognee/tests/test_telemetry.py run-telemetry-pipeline-test: name: Run Telemetry Pipeline Test @@ -110,7 +110,7 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_library.py + run: uv run python ./cognee/tests/test_library.py run-deduplication-test: name: Deduplication Test @@ -140,10 +140,7 @@ jobs: uses: ./.github/actions/cognee_setup with: python-version: '3.11.x' - - - name: Install specific db dependency - run: | - poetry install -E postgres + extra-dependencies: "postgres" - name: Run Deduplication Example env: @@ -154,7 +151,7 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_deduplication.py + run: uv run python ./cognee/tests/test_deduplication.py run-deletion-test: name: Deletion Test @@ -179,7 +176,7 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_deletion.py + run: uv run python ./cognee/tests/test_deletion.py run-s3-bucket-test: name: S3 Bucket Test @@ -192,10 +189,10 @@ jobs: uses: ./.github/actions/cognee_setup with: python-version: '3.11.x' + extra-dependencies: "aws" - - name: Install specific S3 dependency - run: | - poetry install -E aws + - name: Dependencies already installed + run: echo "Dependencies already installed in setup" - name: Run S3 Bucket Test env: @@ -210,7 +207,7 @@ jobs: EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - run: poetry run python ./cognee/tests/test_s3.py + run: uv run python ./cognee/tests/test_s3.py test-parallel-databases: name: Test using different async databases in parallel in Cognee @@ -224,9 +221,8 @@ jobs: with: python-version: '3.11.x' - - name: Install specific graph db dependency - run: | - poetry install + - name: Dependencies already installed + run: echo "Dependencies already installed in setup" - name: Run parallel databases test env: @@ -239,7 +235,7 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_parallel_databases.py + run: uv run python ./cognee/tests/test_parallel_databases.py test-permissions: name: Test permissions with different situations in Cognee @@ -253,9 +249,8 @@ jobs: with: python-version: '3.11.x' - - name: Install specific graph db dependency - run: | - poetry install + - name: Dependencies already installed + run: echo "Dependencies already installed in setup" - name: Run parallel databases test env: @@ -268,7 +263,7 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_permissions.py + run: uv run python ./cognee/tests/test_permissions.py test-graph-edges: name: Test graph edge ingestion @@ -282,9 +277,8 @@ jobs: with: python-version: '3.11.x' - - name: Install specific graph db dependency - run: | - poetry install + - name: Dependencies already installed + run: echo "Dependencies already installed in setup" - name: Run graph edges test env: @@ -297,4 +291,4 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_edge_ingestion.py + run: uv run python ./cognee/tests/test_edge_ingestion.py diff --git a/.github/workflows/examples_tests.yml b/.github/workflows/examples_tests.yml index 796faf2e0..277ed8c21 100644 --- a/.github/workflows/examples_tests.yml +++ b/.github/workflows/examples_tests.yml @@ -20,7 +20,7 @@ jobs: env: LLM_API_KEY: ${{ secrets.OPENAI_API_KEY }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} - run: poetry run python ./examples/python/multimedia_example.py + run: uv run python ./examples/python/multimedia_example.py test-eval-example: name: Run Eval Example @@ -33,10 +33,7 @@ jobs: uses: ./.github/actions/cognee_setup with: python-version: '3.11.x' - - - name: Install specific eval dependency - run: | - poetry install -E deepeval + extra-dependencies: "deepeval" - name: Run Evaluation Framework Example env: @@ -49,7 +46,7 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/eval_framework/run_eval.py + run: uv run python ./cognee/eval_framework/run_eval.py test-descriptive-metrics: name: Run Descriptive Metrics Example @@ -74,7 +71,7 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/tasks/descriptive_metrics/networkx_metrics_test.py + run: uv run python ./cognee/tests/tasks/descriptive_metrics/networkx_metrics_test.py test-dynamic-steps-metrics: @@ -100,4 +97,4 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./examples/python/dynamic_steps_example.py + run: uv run python ./examples/python/dynamic_steps_example.py diff --git a/.github/workflows/graph_db_tests.yml b/.github/workflows/graph_db_tests.yml index 379539e14..e7e5a11b8 100644 --- a/.github/workflows/graph_db_tests.yml +++ b/.github/workflows/graph_db_tests.yml @@ -28,9 +28,8 @@ jobs: with: python-version: ${{ inputs.python-version }} - - name: Install specific db dependency - run: | - poetry install + - name: Dependencies already installed + run: echo "Dependencies already installed in setup" - name: Run Kuzu Tests env: @@ -43,7 +42,7 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_kuzu.py + run: uv run python ./cognee/tests/test_kuzu.py - name: Run Weighted Edges Tests with Kuzu env: @@ -57,7 +56,7 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run pytest cognee/tests/unit/interfaces/graph/test_weighted_edges.py -v + run: uv run pytest cognee/tests/unit/interfaces/graph/test_weighted_edges.py -v run-neo4j-tests: name: Neo4j Tests @@ -72,10 +71,6 @@ jobs: with: python-version: ${{ inputs.python-version }} - - name: Install specific db dependency - run: | - poetry install -E neo4j - - name: Run default Neo4j env: ENV: 'dev' @@ -91,7 +86,7 @@ jobs: GRAPH_DATABASE_URL: ${{ secrets.NEO4J_API_URL }} GRAPH_DATABASE_PASSWORD: ${{ secrets.NEO4J_API_KEY }} GRAPH_DATABASE_USERNAME: "neo4j" - run: poetry run python ./cognee/tests/test_neo4j.py + run: uv run python ./cognee/tests/test_neo4j.py - name: Run Weighted Edges Tests with Neo4j env: @@ -108,4 +103,4 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run pytest cognee/tests/unit/interfaces/graph/test_weighted_edges.py -v + run: uv run pytest cognee/tests/unit/interfaces/graph/test_weighted_edges.py -v diff --git a/.github/workflows/python_version_tests.yml b/.github/workflows/python_version_tests.yml index 6db67d115..d7a7da050 100644 --- a/.github/workflows/python_version_tests.yml +++ b/.github/workflows/python_version_tests.yml @@ -55,7 +55,7 @@ jobs: - name: Run unit tests shell: bash - run: poetry run pytest cognee/tests/unit/ + run: uv run pytest cognee/tests/unit/ env: PYTHONUTF8: 1 LLM_PROVIDER: openai @@ -73,7 +73,7 @@ jobs: - name: Run integration tests if: ${{ !contains(matrix.os, 'windows') }} shell: bash - run: poetry run pytest cognee/tests/integration/ + run: uv run pytest cognee/tests/integration/ env: PYTHONUTF8: 1 LLM_PROVIDER: openai @@ -103,11 +103,11 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_library.py + run: uv run python ./cognee/tests/test_library.py - - name: Build with Poetry + - name: Build with uv shell: bash - run: poetry build + run: uv build - name: Install Package if: ${{ !contains(matrix.os, 'windows') }} diff --git a/.github/workflows/relational_db_migration_tests.yml b/.github/workflows/relational_db_migration_tests.yml index e44d54d02..26fd7e150 100644 --- a/.github/workflows/relational_db_migration_tests.yml +++ b/.github/workflows/relational_db_migration_tests.yml @@ -58,10 +58,10 @@ jobs: uses: ./.github/actions/cognee_setup with: python-version: '3.11.x' + extra-dependencies: "postgres" - name: Install specific db dependency - run: | - poetry install -E postgres + run: echo "Dependencies already installed in setup" - name: Run PostgreSQL Script to create test data (Chinook_PostgreSql.sql) env: @@ -90,7 +90,7 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_relational_db_migration.py + run: uv run python ./cognee/tests/test_relational_db_migration.py run-relational-db-migration-test-kuzu: name: Kuzu Relational DB Migration Test @@ -120,10 +120,10 @@ jobs: uses: ./.github/actions/cognee_setup with: python-version: '3.11.x' + extra-dependencies: "postgres" - name: Install specific db dependency - run: | - poetry install -E postgres + run: echo "Dependencies already installed in setup" - name: Run PostgreSQL Script to create test data (Chinook_PostgreSql.sql) env: @@ -154,7 +154,7 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_relational_db_migration.py + run: uv run python ./cognee/tests/test_relational_db_migration.py run-relational-db-migration-test-neo4j: name: Neo4j Relational DB Migration Test @@ -184,10 +184,10 @@ jobs: uses: ./.github/actions/cognee_setup with: python-version: '3.11.x' + extra-dependencies: "postgres" - name: Install specific db dependency - run: | - poetry install -E postgres -E neo4j + run: echo "Dependencies already installed in setup" - name: Run PostgreSQL Script to create test data (Chinook_PostgreSql.sql) env: @@ -221,4 +221,4 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_relational_db_migration.py + run: uv run python ./cognee/tests/test_relational_db_migration.py diff --git a/.github/workflows/reusable_notebook.yml b/.github/workflows/reusable_notebook.yml index 4f97476ef..8eaf7ce3a 100644 --- a/.github/workflows/reusable_notebook.yml +++ b/.github/workflows/reusable_notebook.yml @@ -46,10 +46,7 @@ jobs: uses: ./.github/actions/cognee_setup with: python-version: ${{ inputs.python-version }} - - - name: Install specific db dependency - run: | - poetry install -E notebook + extra-dependencies: "notebook" - name: Execute Jupyter Notebook env: @@ -64,7 +61,7 @@ jobs: EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} run: | - poetry run jupyter nbconvert \ + uv run jupyter nbconvert \ --to notebook \ --execute ${{ inputs.notebook-location }} \ --output executed_notebook.ipynb \ diff --git a/.github/workflows/search_db_tests.yml b/.github/workflows/search_db_tests.yml index 3f4bbf1ca..0b749526d 100644 --- a/.github/workflows/search_db_tests.yml +++ b/.github/workflows/search_db_tests.yml @@ -28,9 +28,8 @@ jobs: with: python-version: ${{ inputs.python-version }} - - name: Install specific db dependency - run: | - poetry install + - name: Dependencies already installed + run: echo "Dependencies already installed in setup" - name: Run Kuzu search Tests env: @@ -46,7 +45,7 @@ jobs: GRAPH_DATABASE_PROVIDER: 'kuzu' VECTOR_DB_PROVIDER: 'lancedb' DB_PROVIDER: 'sqlite' - run: poetry run python ./cognee/tests/test_search_db.py + run: uv run python ./cognee/tests/test_search_db.py run-neo4j-lance-sqlite-search-tests: name: Search test for Neo4j/LanceDB/Sqlite @@ -78,9 +77,8 @@ jobs: with: python-version: ${{ inputs.python-version }} - - name: Install specific db dependency - run: | - poetry install -E neo4j + - name: Dependencies already installed + run: echo "Dependencies already installed in setup" - name: Run Neo4j search Tests env: @@ -99,7 +97,7 @@ jobs: GRAPH_DATABASE_URL: bolt://localhost:7687 GRAPH_DATABASE_USERNAME: neo4j GRAPH_DATABASE_PASSWORD: pleaseletmein - run: poetry run python ./cognee/tests/test_search_db.py + run: uv run python ./cognee/tests/test_search_db.py run-kuzu-pgvector-postgres-search-tests: name: Search test for Kuzu/PGVector/Postgres @@ -129,9 +127,10 @@ jobs: uses: ./.github/actions/cognee_setup with: python-version: ${{ inputs.python-version }} + extra-dependencies: "postgres" - - name: Install dependencies - run: poetry install -E postgres + - name: Dependencies already installed + run: echo "Dependencies already installed in setup" - name: Run Kuzu/PGVector/Postgres Tests env: @@ -152,7 +151,7 @@ jobs: DB_PORT: 5432 DB_USERNAME: cognee DB_PASSWORD: cognee - run: poetry run python ./cognee/tests/test_search_db.py + run: uv run python ./cognee/tests/test_search_db.py run-neo4j-pgvector-postgres-search-tests: name: Search test for Neo4j/PGVector/Postgres @@ -195,10 +194,10 @@ jobs: uses: ./.github/actions/cognee_setup with: python-version: ${{ inputs.python-version }} + extra-dependencies: "postgres" - - name: Install dependencies - run: | - poetry install -E neo4j -E postgres + - name: Dependencies already installed + run: echo "Dependencies already installed in setup" - name: Run Neo4j + PGVector + Postgres search Tests env: @@ -222,4 +221,4 @@ jobs: DB_PORT: 5432 DB_USERNAME: cognee DB_PASSWORD: cognee - run: poetry run python ./cognee/tests/test_search_db.py + run: uv run python ./cognee/tests/test_search_db.py diff --git a/.github/workflows/test_gemini.yml b/.github/workflows/test_gemini.yml index 41fd954a2..544e15a5e 100644 --- a/.github/workflows/test_gemini.yml +++ b/.github/workflows/test_gemini.yml @@ -26,4 +26,4 @@ jobs: EMBEDDING_MODEL: "gemini/text-embedding-004" EMBEDDING_DIMENSIONS: "768" EMBEDDING_MAX_TOKENS: "8076" - run: poetry run python ./examples/python/simple_example.py + run: uv run python ./examples/python/simple_example.py diff --git a/.github/workflows/test_ollama.yml b/.github/workflows/test_ollama.yml index 8f85efadc..fbd687319 100644 --- a/.github/workflows/test_ollama.yml +++ b/.github/workflows/test_ollama.yml @@ -26,7 +26,7 @@ jobs: - name: Install torch dependency run: | - poetry add torch + uv add torch # - name: Install ollama # run: curl -fsSL https://ollama.com/install.sh | sh @@ -101,4 +101,4 @@ jobs: EMBEDDING_ENDPOINT: "http://localhost:11434/api/embeddings" EMBEDDING_DIMENSIONS: "4096" HUGGINGFACE_TOKENIZER: "Salesforce/SFR-Embedding-Mistral" - run: poetry run python ./examples/python/simple_example.py + run: uv run python ./examples/python/simple_example.py diff --git a/.github/workflows/test_s3_file_storage.yml b/.github/workflows/test_s3_file_storage.yml index 8035a9bc3..c4866ec2d 100644 --- a/.github/workflows/test_s3_file_storage.yml +++ b/.github/workflows/test_s3_file_storage.yml @@ -36,4 +36,4 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_s3_file_storage.py + run: uv run python ./cognee/tests/test_s3_file_storage.py diff --git a/.github/workflows/vector_db_tests.yml b/.github/workflows/vector_db_tests.yml index 00ce21cbf..a82194db3 100644 --- a/.github/workflows/vector_db_tests.yml +++ b/.github/workflows/vector_db_tests.yml @@ -56,7 +56,7 @@ jobs: # EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} # EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} # EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - # run: poetry run python ./cognee/tests/test_chromadb.py + # run: uv run python ./cognee/tests/test_chromadb.py run-postgres-tests: @@ -87,10 +87,7 @@ jobs: uses: ./.github/actions/cognee_setup with: python-version: ${{ inputs.python-version }} - - - name: Install specific db dependency - run: | - poetry install -E postgres + extra-dependencies: "postgres" - name: Run PGVector Tests env: @@ -103,4 +100,4 @@ jobs: EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} - run: poetry run python ./cognee/tests/test_pgvector.py + run: uv run python ./cognee/tests/test_pgvector.py diff --git a/.github/workflows/weighted_edges_tests.yml b/.github/workflows/weighted_edges_tests.yml index d33bd1ceb..555660caa 100644 --- a/.github/workflows/weighted_edges_tests.yml +++ b/.github/workflows/weighted_edges_tests.yml @@ -47,11 +47,11 @@ jobs: - name: Run Weighted Edges Unit Tests run: | - poetry run pytest cognee/tests/unit/interfaces/graph/test_weighted_edges.py -v --tb=short + uv run pytest cognee/tests/unit/interfaces/graph/test_weighted_edges.py -v --tb=short - name: Run Standard Graph Tests (Regression) run: | - poetry run pytest cognee/tests/unit/interfaces/graph/get_graph_from_model_unit_test.py -v --tb=short + uv run pytest cognee/tests/unit/interfaces/graph/get_graph_from_model_unit_test.py -v --tb=short test-with-different-databases: name: Test Weighted Edges with Different Graph Databases @@ -61,10 +61,8 @@ jobs: database: ['kuzu', 'neo4j'] include: - database: kuzu - install_extra: "" graph_db_provider: "kuzu" - database: neo4j - install_extra: "-E neo4j" graph_db_provider: "neo4j" env: LLM_PROVIDER: openai @@ -88,15 +86,14 @@ jobs: with: python-version: '3.11' - - name: Install Database Dependencies - run: | - poetry install ${{ matrix.install_extra }} + - name: Dependencies already installed + run: echo "Dependencies already installed in setup" - name: Run Weighted Edges Tests env: GRAPH_DATABASE_PROVIDER: ${{ matrix.graph_db_provider }} run: | - poetry run pytest cognee/tests/unit/interfaces/graph/test_weighted_edges.py -v --tb=short + uv run pytest cognee/tests/unit/interfaces/graph/test_weighted_edges.py -v --tb=short test-examples: name: Test Weighted Edges Examples @@ -125,7 +122,7 @@ jobs: - name: Test Weighted Edges Example run: | - poetry run python examples/python/weighted_edges_example.py + uv run python examples/python/weighted_edges_example.py - name: Verify Visualization File Created run: | diff --git a/README.md b/README.md index 194ede720..6f4cac325 100644 --- a/README.md +++ b/README.md @@ -91,8 +91,8 @@ Your contributions are at the core of making this a true open source project. An ## 📦 Installation -You can install Cognee using either **pip**, **poetry**, **uv** or any other python package manager. -Cognee supports Python 3.8 to 3.12 +You can install Cognee using either **uv**, **pip**, **poetry** or any other python package manager. +Cognee supports Python 3.10 to 3.13 ### With pip @@ -102,7 +102,7 @@ pip install cognee ## Local Cognee installation -You can install the local Cognee repo using **pip**, **poetry** and **uv**. +You can install the local Cognee repo using **uv**, **pip** and **poetry**. For local pip installation please make sure your pip version is above version 21.3. ### with UV with all optional dependencies