changed files and removed what was not needed
This commit is contained in:
parent
bcd418151a
commit
afcc9ba841
18 changed files with 26 additions and 263 deletions
10
.github/workflows/basic_tests.yml
vendored
10
.github/workflows/basic_tests.yml
vendored
|
|
@ -8,10 +8,6 @@ on:
|
|||
type: string
|
||||
default: '3.11.x'
|
||||
secrets:
|
||||
GRAPHISTRY_USERNAME:
|
||||
required: true
|
||||
GRAPHISTRY_PASSWORD:
|
||||
required: true
|
||||
LLM_PROVIDER:
|
||||
required: true
|
||||
LLM_MODEL:
|
||||
|
|
@ -125,9 +121,6 @@ jobs:
|
|||
name: Run Simple Examples
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
||||
|
||||
LLM_PROVIDER: openai
|
||||
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
||||
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
||||
|
|
@ -157,9 +150,6 @@ jobs:
|
|||
name: Run Basic Graph Tests
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
||||
|
||||
LLM_PROVIDER: openai
|
||||
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
||||
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
||||
|
|
|
|||
4
.github/workflows/e2e_tests.yml
vendored
4
.github/workflows/e2e_tests.yml
vendored
|
|
@ -26,10 +26,6 @@ on:
|
|||
required: true
|
||||
OPENAI_API_KEY:
|
||||
required: true
|
||||
GRAPHISTRY_USERNAME:
|
||||
required: true
|
||||
GRAPHISTRY_PASSWORD:
|
||||
required: true
|
||||
AWS_ACCESS_KEY_ID:
|
||||
required: true
|
||||
AWS_SECRET_ACCESS_KEY:
|
||||
|
|
|
|||
8
.github/workflows/examples_tests.yml
vendored
8
.github/workflows/examples_tests.yml
vendored
|
|
@ -20,8 +20,6 @@ jobs:
|
|||
env:
|
||||
LLM_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
||||
run: poetry run python ./examples/python/multimedia_example.py
|
||||
|
||||
test-eval-example:
|
||||
|
|
@ -51,8 +49,6 @@ jobs:
|
|||
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
||||
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
||||
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
||||
run: poetry run python ./cognee/eval_framework/run_eval.py
|
||||
|
||||
test-descriptive-metrics:
|
||||
|
|
@ -78,8 +74,6 @@ jobs:
|
|||
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
||||
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
||||
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
||||
run: poetry run python ./cognee/tests/tasks/descriptive_metrics/networkx_metrics_test.py
|
||||
|
||||
|
||||
|
|
@ -98,8 +92,6 @@ jobs:
|
|||
- name: Run Dynamic Steps Tests
|
||||
env:
|
||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
||||
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
||||
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
||||
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
||||
|
|
|
|||
7
.github/workflows/python_version_tests.yml
vendored
7
.github/workflows/python_version_tests.yml
vendored
|
|
@ -8,10 +8,6 @@ on:
|
|||
type: string
|
||||
default: '["3.10.x", "3.11.x", "3.12.x"]'
|
||||
secrets:
|
||||
GRAPHISTRY_USERNAME:
|
||||
required: true
|
||||
GRAPHISTRY_PASSWORD:
|
||||
required: true
|
||||
LLM_PROVIDER:
|
||||
required: true
|
||||
LLM_MODEL:
|
||||
|
|
@ -96,9 +92,6 @@ jobs:
|
|||
shell: bash
|
||||
env:
|
||||
PYTHONUTF8: 1
|
||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
||||
|
||||
LLM_PROVIDER: openai
|
||||
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
||||
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
||||
|
|
|
|||
6
.github/workflows/reusable_notebook.yml
vendored
6
.github/workflows/reusable_notebook.yml
vendored
|
|
@ -8,10 +8,6 @@ on:
|
|||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
GRAPHISTRY_USERNAME:
|
||||
required: true
|
||||
GRAPHISTRY_PASSWORD:
|
||||
required: true
|
||||
#LLM_MODEL:
|
||||
# required: true
|
||||
#LLM_ENDPOINT:
|
||||
|
|
@ -67,8 +63,6 @@ jobs:
|
|||
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
||||
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
||||
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
||||
run: |
|
||||
poetry run jupyter nbconvert \
|
||||
--to notebook \
|
||||
|
|
|
|||
2
.github/workflows/test_ollama.yml
vendored
2
.github/workflows/test_ollama.yml
vendored
|
|
@ -91,8 +91,6 @@ jobs:
|
|||
- name: Run example test
|
||||
env:
|
||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
||||
PYTHONFAULTHANDLER: 1
|
||||
LLM_PROVIDER: "ollama"
|
||||
LLM_API_KEY: "ollama"
|
||||
|
|
|
|||
|
|
@ -80,15 +80,6 @@ cognee provides a visualize_graph function that will render the graph for you.
|
|||
)
|
||||
await visualize_graph(graph_file_path)
|
||||
```
|
||||
If you want to use tools like Graphistry for graph visualization:
|
||||
- create an account and API key from https://www.graphistry.com
|
||||
- add the following environment variables to `.env` file:
|
||||
```
|
||||
GRAPHISTRY_USERNAME=""
|
||||
GRAPHISTRY_PASSWORD=""
|
||||
```
|
||||
Note: `GRAPHISTRY_PASSWORD` is API key.
|
||||
|
||||
|
||||
# What will you build with cognee?
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ import asyncio
|
|||
import pathlib
|
||||
from cognee import config, add, cognify, search, SearchType, prune, visualize_graph
|
||||
|
||||
# from cognee.shared.utils import render_graph
|
||||
from cognee.low_level import DataPoint
|
||||
|
||||
|
||||
|
|
@ -50,10 +49,6 @@ async def main():
|
|||
# Cognify the text data.
|
||||
await cognify(graph_model=ProgrammingLanguage)
|
||||
|
||||
# # Get a graphistry url (Register for a free account at https://www.graphistry.com)
|
||||
# url = await render_graph()
|
||||
# print(f"Graphistry URL: {url}")
|
||||
|
||||
# Or use our simple graph preview
|
||||
graph_file_path = str(
|
||||
pathlib.Path(
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ import os
|
|||
import asyncio
|
||||
import pathlib
|
||||
from cognee import config, add, cognify, search, SearchType, prune, visualize_graph
|
||||
# from cognee.shared.utils import render_graph
|
||||
|
||||
|
||||
async def main():
|
||||
|
|
@ -30,10 +29,6 @@ async def main():
|
|||
# Cognify the text data.
|
||||
await cognify()
|
||||
|
||||
# # Get a graphistry url (Register for a free account at https://www.graphistry.com)
|
||||
# url = await render_graph()
|
||||
# print(f"Graphistry URL: {url}")
|
||||
|
||||
# Or use our simple graph preview
|
||||
graph_file_path = str(
|
||||
pathlib.Path(
|
||||
|
|
|
|||
|
|
@ -181,15 +181,3 @@ class config:
|
|||
def set_vector_db_url(db_url: str):
|
||||
vector_db_config = get_vectordb_config()
|
||||
vector_db_config.vector_db_url = db_url
|
||||
|
||||
@staticmethod
|
||||
def set_graphistry_config(graphistry_config: dict[str, str]):
|
||||
base_config = get_base_config()
|
||||
|
||||
if "username" not in graphistry_config or "password" not in graphistry_config:
|
||||
raise InvalidValueError(
|
||||
message="graphistry_config dictionary must contain 'username' and 'password' keys."
|
||||
)
|
||||
|
||||
base_config.graphistry_username = graphistry_config.get("username")
|
||||
base_config.graphistry_password = graphistry_config.get("password")
|
||||
|
|
|
|||
|
|
@ -9,8 +9,6 @@ from pydantic_settings import BaseSettings, SettingsConfigDict
|
|||
class BaseConfig(BaseSettings):
|
||||
data_root_directory: str = get_absolute_path(".data_storage")
|
||||
monitoring_tool: object = Observer.LANGFUSE
|
||||
graphistry_username: Optional[str] = os.getenv("GRAPHISTRY_USERNAME")
|
||||
graphistry_password: Optional[str] = os.getenv("GRAPHISTRY_PASSWORD")
|
||||
langfuse_public_key: Optional[str] = os.getenv("LANGFUSE_PUBLIC_KEY")
|
||||
langfuse_secret_key: Optional[str] = os.getenv("LANGFUSE_SECRET_KEY")
|
||||
langfuse_host: Optional[str] = os.getenv("LANGFUSE_HOST")
|
||||
|
|
|
|||
|
|
@ -6,9 +6,7 @@ from typing import BinaryIO, Union
|
|||
import requests
|
||||
import hashlib
|
||||
from datetime import datetime, timezone
|
||||
import graphistry
|
||||
import networkx as nx
|
||||
import pandas as pd
|
||||
import matplotlib.pyplot as plt
|
||||
import http.server
|
||||
import socketserver
|
||||
|
|
@ -138,97 +136,6 @@ def generate_color_palette(unique_layers):
|
|||
return dict(zip(unique_layers, hex_colors))
|
||||
|
||||
|
||||
async def register_graphistry():
|
||||
config = get_base_config()
|
||||
graphistry.register(
|
||||
api=3, username=config.graphistry_username, password=config.graphistry_password
|
||||
)
|
||||
|
||||
|
||||
def prepare_edges(graph, source, target, edge_key):
|
||||
edge_list = [
|
||||
{
|
||||
source: str(edge[0]),
|
||||
target: str(edge[1]),
|
||||
edge_key: str(edge[2]),
|
||||
}
|
||||
for edge in graph.edges(keys=True, data=True)
|
||||
]
|
||||
|
||||
return pd.DataFrame(edge_list)
|
||||
|
||||
|
||||
def prepare_nodes(graph, include_size=False):
|
||||
nodes_data = []
|
||||
for node in graph.nodes:
|
||||
node_info = graph.nodes[node]
|
||||
|
||||
if not node_info:
|
||||
continue
|
||||
|
||||
node_data = {
|
||||
**node_info,
|
||||
"id": str(node),
|
||||
"name": node_info["name"] if "name" in node_info else str(node),
|
||||
}
|
||||
|
||||
if include_size:
|
||||
default_size = 10 # Default node size
|
||||
larger_size = 20 # Size for nodes with specific keywords in their ID
|
||||
keywords = ["DOCUMENT", "User"]
|
||||
node_size = (
|
||||
larger_size if any(keyword in str(node) for keyword in keywords) else default_size
|
||||
)
|
||||
node_data["size"] = node_size
|
||||
|
||||
nodes_data.append(node_data)
|
||||
|
||||
return pd.DataFrame(nodes_data)
|
||||
|
||||
|
||||
async def render_graph(
|
||||
graph=None, include_nodes=True, include_color=False, include_size=False, include_labels=True
|
||||
):
|
||||
await register_graphistry()
|
||||
|
||||
if not isinstance(graph, nx.MultiDiGraph):
|
||||
graph_engine = await get_graph_engine()
|
||||
networkx_graph = nx.MultiDiGraph()
|
||||
|
||||
(nodes, edges) = await graph_engine.get_graph_data()
|
||||
|
||||
networkx_graph.add_nodes_from(nodes)
|
||||
networkx_graph.add_edges_from(edges)
|
||||
|
||||
graph = networkx_graph
|
||||
|
||||
edges = prepare_edges(graph, "source_node", "target_node", "relationship_name")
|
||||
plotter = graphistry.edges(edges, "source_node", "target_node")
|
||||
plotter = plotter.bind(edge_label="relationship_name")
|
||||
|
||||
if include_nodes:
|
||||
nodes = prepare_nodes(graph, include_size=include_size)
|
||||
plotter = plotter.nodes(nodes, "id")
|
||||
|
||||
if include_size:
|
||||
plotter = plotter.bind(point_size="size")
|
||||
|
||||
if include_color:
|
||||
pass
|
||||
# unique_layers = nodes["layer_description"].unique()
|
||||
# color_palette = generate_color_palette(unique_layers)
|
||||
# plotter = plotter.encode_point_color("layer_description", categorical_mapping=color_palette,
|
||||
# default_mapping="silver")
|
||||
|
||||
if include_labels:
|
||||
plotter = plotter.bind(point_label="name")
|
||||
|
||||
# Visualization
|
||||
url = plotter.plot(render=False, as_files=True, memoize=False)
|
||||
print(f"Graph is visualized at: {url}")
|
||||
return url
|
||||
|
||||
|
||||
# def sanitize_df(df):
|
||||
# """Replace NaNs and infinities in a DataFrame with None, making it JSON compliant."""
|
||||
# return df.replace([np.inf, -np.inf, np.nan], None)
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ from cognee.modules.search.operations import get_history
|
|||
from cognee.modules.users.methods import get_default_user
|
||||
from cognee.shared.logging_utils import get_logger
|
||||
from cognee.modules.search.types import SearchType
|
||||
from cognee.shared.utils import render_graph
|
||||
from cognee.low_level import DataPoint
|
||||
|
||||
logger = get_logger()
|
||||
|
|
@ -57,9 +56,6 @@ async def main():
|
|||
|
||||
await cognee.cognify(graph_model=ProgrammingLanguage)
|
||||
|
||||
url = await render_graph()
|
||||
print(f"Graphistry URL: {url}")
|
||||
|
||||
graph_file_path = str(
|
||||
pathlib.Path(
|
||||
os.path.join(
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
import os
|
||||
import pytest
|
||||
import networkx as nx
|
||||
import pandas as pd
|
||||
from unittest.mock import patch, mock_open
|
||||
from io import BytesIO
|
||||
from uuid import uuid4
|
||||
|
|
@ -9,8 +7,6 @@ from uuid import uuid4
|
|||
from cognee.shared.utils import (
|
||||
get_anonymous_id,
|
||||
get_file_content_hash,
|
||||
prepare_edges,
|
||||
prepare_nodes,
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -55,21 +51,3 @@ def test_get_file_content_hash_stream():
|
|||
expected_hash = hashlib.md5(b"test_data").hexdigest()
|
||||
result = get_file_content_hash(stream)
|
||||
assert result == expected_hash
|
||||
|
||||
|
||||
def test_prepare_edges():
|
||||
graph = nx.MultiDiGraph()
|
||||
graph.add_edge("A", "B", key="AB", weight=1)
|
||||
edges_df = prepare_edges(graph, "source", "target", "key")
|
||||
|
||||
assert isinstance(edges_df, pd.DataFrame)
|
||||
assert len(edges_df) == 1
|
||||
|
||||
|
||||
def test_prepare_nodes():
|
||||
graph = nx.Graph()
|
||||
graph.add_node(1, name="Node1")
|
||||
nodes_df = prepare_nodes(graph)
|
||||
|
||||
assert isinstance(nodes_df, pd.DataFrame)
|
||||
assert len(nodes_df) == 1
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ from cognee import visualize_graph
|
|||
from cognee.low_level import setup, DataPoint
|
||||
from cognee.pipelines import run_tasks, Task
|
||||
from cognee.tasks.storage import add_data_points
|
||||
from cognee.shared.utils import render_graph
|
||||
|
||||
|
||||
class Person(DataPoint):
|
||||
|
|
@ -80,9 +79,6 @@ async def main():
|
|||
async for status in pipeline:
|
||||
print(status)
|
||||
|
||||
# Get a graphistry url (Register for a free account at https://www.graphistry.com)
|
||||
await render_graph()
|
||||
|
||||
# Or use our simple graph preview
|
||||
graph_file_path = str(
|
||||
os.path.join(os.path.dirname(__file__), ".artifacts/graph_visualization.html")
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ from cognee.infrastructure.databases.graph import get_graph_engine
|
|||
from cognee.low_level import setup, DataPoint
|
||||
from cognee.pipelines import run_tasks, Task
|
||||
from cognee.tasks.storage import add_data_points
|
||||
from cognee.shared.utils import render_graph
|
||||
|
||||
|
||||
class Products(DataPoint):
|
||||
|
|
@ -119,9 +118,6 @@ async def main():
|
|||
async for status in pipeline:
|
||||
print(status)
|
||||
|
||||
# Get a graphistry url (Register for a free account at https://www.graphistry.com)
|
||||
await render_graph()
|
||||
|
||||
graph_engine = await get_graph_engine()
|
||||
|
||||
products_results = await graph_engine.query(
|
||||
|
|
|
|||
91
poetry.lock
generated
91
poetry.lock
generated
|
|
@ -1,4 +1,4 @@
|
|||
# This file is automatically @generated by Poetry 2.1.3 and should not be changed by hand.
|
||||
# This file is automatically @generated by Poetry 2.1.2 and should not be changed by hand.
|
||||
|
||||
[[package]]
|
||||
name = "aiobotocore"
|
||||
|
|
@ -1406,6 +1406,27 @@ files = [
|
|||
{file = "coverage-7.9.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0b3496922cb5f4215bf5caaef4cf12364a26b0be82e9ed6d050f3352cf2d7ef0"},
|
||||
{file = "coverage-7.9.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9565c3ab1c93310569ec0d86b017f128f027cab0b622b7af288696d7ed43a16d"},
|
||||
{file = "coverage-7.9.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2241ad5dbf79ae1d9c08fe52b36d03ca122fb9ac6bca0f34439e99f8327ac89f"},
|
||||
{file = "coverage-7.9.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bb5838701ca68b10ebc0937dbd0eb81974bac54447c55cd58dea5bca8451029"},
|
||||
{file = "coverage-7.9.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b30a25f814591a8c0c5372c11ac8967f669b97444c47fd794926e175c4047ece"},
|
||||
{file = "coverage-7.9.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2d04b16a6062516df97969f1ae7efd0de9c31eb6ebdceaa0d213b21c0ca1a683"},
|
||||
{file = "coverage-7.9.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7931b9e249edefb07cd6ae10c702788546341d5fe44db5b6108a25da4dca513f"},
|
||||
{file = "coverage-7.9.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:52e92b01041151bf607ee858e5a56c62d4b70f4dac85b8c8cb7fb8a351ab2c10"},
|
||||
{file = "coverage-7.9.1-cp313-cp313t-win32.whl", hash = "sha256:684e2110ed84fd1ca5f40e89aa44adf1729dc85444004111aa01866507adf363"},
|
||||
{file = "coverage-7.9.1-cp313-cp313t-win_amd64.whl", hash = "sha256:437c576979e4db840539674e68c84b3cda82bc824dd138d56bead1435f1cb5d7"},
|
||||
{file = "coverage-7.9.1-cp313-cp313t-win_arm64.whl", hash = "sha256:18a0912944d70aaf5f399e350445738a1a20b50fbea788f640751c2ed9208b6c"},
|
||||
{file = "coverage-7.9.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6f424507f57878e424d9a95dc4ead3fbdd72fd201e404e861e465f28ea469951"},
|
||||
{file = "coverage-7.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:535fde4001b2783ac80865d90e7cc7798b6b126f4cd8a8c54acfe76804e54e58"},
|
||||
{file = "coverage-7.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02532fd3290bb8fa6bec876520842428e2a6ed6c27014eca81b031c2d30e3f71"},
|
||||
{file = "coverage-7.9.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:56f5eb308b17bca3bbff810f55ee26d51926d9f89ba92707ee41d3c061257e55"},
|
||||
{file = "coverage-7.9.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfa447506c1a52271f1b0de3f42ea0fa14676052549095e378d5bff1c505ff7b"},
|
||||
{file = "coverage-7.9.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9ca8e220006966b4a7b68e8984a6aee645a0384b0769e829ba60281fe61ec4f7"},
|
||||
{file = "coverage-7.9.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:49f1d0788ba5b7ba65933f3a18864117c6506619f5ca80326b478f72acf3f385"},
|
||||
{file = "coverage-7.9.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:68cd53aec6f45b8e4724c0950ce86eacb775c6be01ce6e3669fe4f3a21e768ed"},
|
||||
{file = "coverage-7.9.1-cp39-cp39-win32.whl", hash = "sha256:95335095b6c7b1cc14c3f3f17d5452ce677e8490d101698562b2ffcacc304c8d"},
|
||||
{file = "coverage-7.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:e1b5191d1648acc439b24721caab2fd0c86679d8549ed2c84d5a7ec1bedcc244"},
|
||||
{file = "coverage-7.9.1-pp39.pp310.pp311-none-any.whl", hash = "sha256:db0f04118d1db74db6c9e1cb1898532c7dcc220f1d2718f058601f7c3f499514"},
|
||||
{file = "coverage-7.9.1-py3-none-any.whl", hash = "sha256:66b974b145aa189516b6bf2d8423e888b742517d37872f6ee4c5be0073bd9a3c"},
|
||||
{file = "coverage-7.9.1.tar.gz", hash = "sha256:6cf43c78c4282708a28e466316935ec7489a9c487518a77fa68f716c67909cec"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
|
|
@ -2683,45 +2704,6 @@ protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4
|
|||
[package.extras]
|
||||
grpc = ["grpcio (>=1.44.0,<2.0.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "graphistry"
|
||||
version = "0.33.9"
|
||||
description = "A visual graph analytics library for extracting, transforming, displaying, and sharing big graphs with end-to-end GPU acceleration"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "graphistry-0.33.9-py3-none-any.whl", hash = "sha256:6952d96a0dfd77d7b7498f93a4986ea2189cb62553d4a27df18f02106ea4db99"},
|
||||
{file = "graphistry-0.33.9.tar.gz", hash = "sha256:40c095ae0ad4143d686b3802495c643a3decb4d663e0038aa6645c06c95d4d0b"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
numpy = "*"
|
||||
packaging = ">=20.1"
|
||||
palettable = ">=3.0"
|
||||
pandas = "*"
|
||||
pyarrow = ">=0.15.0"
|
||||
requests = "*"
|
||||
setuptools = "*"
|
||||
squarify = "*"
|
||||
typing-extensions = "*"
|
||||
|
||||
[package.extras]
|
||||
ai = ["dgl", "dirty-cat (==0.2.0)", "faiss-cpu", "joblib", "scikit-learn (>=1.0)", "scipy", "sentence-transformers", "torch (<2)", "umap-learn"]
|
||||
all = ["dgl", "dirty-cat (==0.2.0)", "faiss-cpu", "gremlinpython", "igraph", "ipython", "joblib", "neo4j", "neotime", "networkx (>=2.5)", "openpyxl (==3.1.0)", "scikit-learn (>=1.0)", "scipy", "sentence-transformers", "torch (<2)", "umap-learn", "xlrd"]
|
||||
bolt = ["neo4j", "neotime"]
|
||||
build = ["build"]
|
||||
dev = ["Jinja2 (<3.1)", "build", "docutils (==0.16)", "flake8 (>=5.0)", "gremlinpython", "igraph", "ipython", "mock", "mypy", "neo4j", "neotime", "networkx (>=2.5)", "numba (>=0.57.1)", "openpyxl (==3.1.0)", "pandas-stubs", "pytest", "scikit-learn (<=1.3.2)", "sphinx (==3.4.3)", "sphinx-autodoc-typehints (==1.11.1)", "sphinx-rtd-theme (==0.5.1)", "tqdm-stubs", "types-requests", "xlrd"]
|
||||
docs = ["Jinja2 (<3.1)", "docutils (==0.16)", "sphinx (==3.4.3)", "sphinx-autodoc-typehints (==1.11.1)", "sphinx-rtd-theme (==0.5.1)"]
|
||||
gremlin = ["gremlinpython"]
|
||||
igraph = ["igraph"]
|
||||
jupyter = ["ipython"]
|
||||
networkx = ["networkx (>=2.5)"]
|
||||
nodexl = ["openpyxl (==3.1.0)", "xlrd"]
|
||||
test = ["flake8 (>=5.0)", "ipython", "mock", "mypy", "pandas-stubs", "pytest", "scikit-learn (<=1.3.2)", "tqdm-stubs", "types-requests"]
|
||||
testai = ["numba (>=0.57.1)"]
|
||||
umap-learn = ["dirty-cat (==0.2.0)", "scikit-learn (>=1.0)", "umap-learn"]
|
||||
|
||||
[[package]]
|
||||
name = "graphiti-core"
|
||||
version = "0.7.9"
|
||||
|
|
@ -3988,6 +3970,8 @@ python-versions = "*"
|
|||
groups = ["main"]
|
||||
files = [
|
||||
{file = "jsonpath-ng-1.7.0.tar.gz", hash = "sha256:f6f5f7fd4e5ff79c785f1573b394043b39849fb2bb47bcead935d12b00beab3c"},
|
||||
{file = "jsonpath_ng-1.7.0-py2-none-any.whl", hash = "sha256:898c93fc173f0c336784a3fa63d7434297544b7198124a68f9a3ef9597b0ae6e"},
|
||||
{file = "jsonpath_ng-1.7.0-py3-none-any.whl", hash = "sha256:f3d7f9e848cba1b6da28c55b1c26ff915dc9e0b1ba7e752a53d6da8d5cbd00b6"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
|
|
@ -6860,18 +6844,6 @@ files = [
|
|||
dev = ["pytest", "tox"]
|
||||
lint = ["black"]
|
||||
|
||||
[[package]]
|
||||
name = "palettable"
|
||||
version = "3.3.3"
|
||||
description = "Color palettes for Python"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "palettable-3.3.3-py2.py3-none-any.whl", hash = "sha256:74e9e7d7fe5a9be065e02397558ed1777b2df0b793a6f4ce1a5ee74f74fb0caa"},
|
||||
{file = "palettable-3.3.3.tar.gz", hash = "sha256:094dd7d9a5fc1cca4854773e5c1fc6a315b33bd5b3a8f47064928facaf0490a8"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pandas"
|
||||
version = "2.2.3"
|
||||
|
|
@ -7665,6 +7637,7 @@ files = [
|
|||
{file = "psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:bb89f0a835bcfc1d42ccd5f41f04870c1b936d8507c6df12b7737febc40f0909"},
|
||||
{file = "psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f0c2d907a1e102526dd2986df638343388b94c33860ff3bbe1384130828714b1"},
|
||||
{file = "psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f8157bed2f51db683f31306aa497311b560f2265998122abe1dce6428bd86567"},
|
||||
{file = "psycopg2_binary-2.9.10-cp313-cp313-win_amd64.whl", hash = "sha256:27422aa5f11fbcd9b18da48373eb67081243662f9b46e6fd07c3eb46e4535142"},
|
||||
{file = "psycopg2_binary-2.9.10-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:eb09aa7f9cecb45027683bb55aebaaf45a0df8bf6de68801a6afdc7947bb09d4"},
|
||||
{file = "psycopg2_binary-2.9.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b73d6d7f0ccdad7bc43e6d34273f70d587ef62f824d7261c4ae9b8b1b6af90e8"},
|
||||
{file = "psycopg2_binary-2.9.10-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce5ab4bf46a211a8e924d307c1b1fcda82368586a19d0a24f8ae166f5c784864"},
|
||||
|
|
@ -10371,18 +10344,6 @@ files = [
|
|||
dev = ["duckdb (>=0.6)", "maturin (>=1.4,<2.0)", "mypy", "pandas", "pandas-stubs", "pdoc", "pre-commit", "pyperf", "python-dateutil", "pytz", "ruff (==0.7.2)", "types-python-dateutil", "types-pytz", "typing_extensions"]
|
||||
rs = ["sqlglotrs (==0.6.1)"]
|
||||
|
||||
[[package]]
|
||||
name = "squarify"
|
||||
version = "0.4.4"
|
||||
description = "Pure Python implementation of the squarify treemap layout algorithm"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "squarify-0.4.4-py3-none-any.whl", hash = "sha256:d7597724e29d48aa14fd2f551060d6b09e1f0a67e4cd3ea329fe03b4c9a56f11"},
|
||||
{file = "squarify-0.4.4.tar.gz", hash = "sha256:b8a110c8dc5f1cd1402ca12d79764a081e90bfc445346cfa166df929753ecb46"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "stack-data"
|
||||
version = "0.6.3"
|
||||
|
|
@ -12215,4 +12176,4 @@ weaviate = ["weaviate-client"]
|
|||
[metadata]
|
||||
lock-version = "2.1"
|
||||
python-versions = ">=3.10,<=3.13"
|
||||
content-hash = "ca2a3e8260092933419793efe202d50ae7b1c6ce738750876fd5f64a31718790"
|
||||
content-hash = "ad0adc46c39f2edf33c82462cb6ed2acc5ef175c2df5e9fb125a6444e2b8325b"
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@ dependencies = [
|
|||
"aiohttp>=3.11.14",
|
||||
"aiofiles>=23.2.1",
|
||||
"rdflib>=7.1.4,<7.2.0",
|
||||
"graphistry>=0.33.5,<0.34",
|
||||
"pypdf>=4.1.0,<6.0.0",
|
||||
"jinja2>=3.1.3,<4",
|
||||
"matplotlib>=3.8.3,<4",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue