cognee 0.3.7.dev2__py3-none-any.whl → 0.3.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
cognee/shared/utils.py CHANGED
@@ -11,8 +11,10 @@ import pathlib
11
11
  from uuid import uuid4, uuid5, NAMESPACE_OID
12
12
 
13
13
  from cognee.base_config import get_base_config
14
+ from cognee.shared.logging_utils import get_logger
14
15
  from cognee.infrastructure.databases.graph import get_graph_engine
15
16
 
17
+ logger = get_logger()
16
18
 
17
19
  # Analytics Proxy Url, currently hosted by Vercel
18
20
  proxy_url = "https://test.prometh.ai"
@@ -38,16 +40,21 @@ def get_anonymous_id():
38
40
 
39
41
  home_dir = str(pathlib.Path(pathlib.Path(__file__).parent.parent.parent.resolve()))
40
42
 
41
- if not os.path.isdir(home_dir):
42
- os.makedirs(home_dir, exist_ok=True)
43
- anonymous_id_file = os.path.join(home_dir, ".anon_id")
44
- if not os.path.isfile(anonymous_id_file):
45
- anonymous_id = str(uuid4())
46
- with open(anonymous_id_file, "w", encoding="utf-8") as f:
47
- f.write(anonymous_id)
48
- else:
49
- with open(anonymous_id_file, "r", encoding="utf-8") as f:
50
- anonymous_id = f.read()
43
+ try:
44
+ if not os.path.isdir(home_dir):
45
+ os.makedirs(home_dir, exist_ok=True)
46
+ anonymous_id_file = os.path.join(home_dir, ".anon_id")
47
+ if not os.path.isfile(anonymous_id_file):
48
+ anonymous_id = str(uuid4())
49
+ with open(anonymous_id_file, "w", encoding="utf-8") as f:
50
+ f.write(anonymous_id)
51
+ else:
52
+ with open(anonymous_id_file, "r", encoding="utf-8") as f:
53
+ anonymous_id = f.read()
54
+ except Exception as e:
55
+ # In case of read-only filesystem or other issues
56
+ logger.warning("Could not create or read anonymous id file: %s", e)
57
+ return "unknown-anonymous-id"
51
58
  return anonymous_id
52
59
 
53
60
 
@@ -239,7 +239,7 @@ async def complete_database_ingestion(schema, migrate_column_data):
239
239
  id=uuid5(NAMESPACE_OID, name=column_node_id),
240
240
  name=column_node_id,
241
241
  properties=f"{key} {value} {table_name}",
242
- description=f"column from relational database table={table_name}. Column name={key} and value={value}. The value of the column is related to the following row with this id: {row_node.id}. This column has the following ID: {column_node_id}",
242
+ description=f"column from relational database table={table_name}. Column name={key} and value={value}. This column has the following ID: {column_node_id}",
243
243
  )
244
244
  node_mapping[column_node_id] = column_node
245
245
 
@@ -489,3 +489,154 @@ def test_get_ontology_resolver_from_env_resolver_functionality():
489
489
  assert nodes == []
490
490
  assert relationships == []
491
491
  assert start_node is None
492
+
493
+
494
+ def test_multifile_ontology_loading_success():
495
+ """Test successful loading of multiple ontology files."""
496
+ ns1 = Namespace("http://example.org/cars#")
497
+ ns2 = Namespace("http://example.org/tech#")
498
+
499
+ g1 = Graph()
500
+ g1.add((ns1.Vehicle, RDF.type, OWL.Class))
501
+ g1.add((ns1.Car, RDF.type, OWL.Class))
502
+ g1.add((ns1.Car, RDFS.subClassOf, ns1.Vehicle))
503
+ g1.add((ns1.Audi, RDF.type, ns1.Car))
504
+ g1.add((ns1.BMW, RDF.type, ns1.Car))
505
+
506
+ g2 = Graph()
507
+ g2.add((ns2.Company, RDF.type, OWL.Class))
508
+ g2.add((ns2.TechCompany, RDF.type, OWL.Class))
509
+ g2.add((ns2.TechCompany, RDFS.subClassOf, ns2.Company))
510
+ g2.add((ns2.Apple, RDF.type, ns2.TechCompany))
511
+ g2.add((ns2.Google, RDF.type, ns2.TechCompany))
512
+
513
+ import tempfile
514
+
515
+ with tempfile.NamedTemporaryFile(mode="w", suffix=".owl", delete=False) as f1:
516
+ g1.serialize(f1.name, format="xml")
517
+ file1_path = f1.name
518
+
519
+ with tempfile.NamedTemporaryFile(mode="w", suffix=".owl", delete=False) as f2:
520
+ g2.serialize(f2.name, format="xml")
521
+ file2_path = f2.name
522
+
523
+ try:
524
+ resolver = RDFLibOntologyResolver(ontology_file=[file1_path, file2_path])
525
+
526
+ assert resolver.graph is not None
527
+
528
+ assert "car" in resolver.lookup["classes"]
529
+ assert "vehicle" in resolver.lookup["classes"]
530
+ assert "company" in resolver.lookup["classes"]
531
+ assert "techcompany" in resolver.lookup["classes"]
532
+
533
+ assert "audi" in resolver.lookup["individuals"]
534
+ assert "bmw" in resolver.lookup["individuals"]
535
+ assert "apple" in resolver.lookup["individuals"]
536
+ assert "google" in resolver.lookup["individuals"]
537
+
538
+ car_match = resolver.find_closest_match("Audi", "individuals")
539
+ assert car_match == "audi"
540
+
541
+ tech_match = resolver.find_closest_match("Google", "individuals")
542
+ assert tech_match == "google"
543
+
544
+ finally:
545
+ import os
546
+
547
+ os.unlink(file1_path)
548
+ os.unlink(file2_path)
549
+
550
+
551
+ def test_multifile_ontology_with_missing_files():
552
+ """Test loading multiple ontology files where some don't exist."""
553
+ ns = Namespace("http://example.org/test#")
554
+ g = Graph()
555
+ g.add((ns.Car, RDF.type, OWL.Class))
556
+ g.add((ns.Audi, RDF.type, ns.Car))
557
+
558
+ import tempfile
559
+
560
+ with tempfile.NamedTemporaryFile(mode="w", suffix=".owl", delete=False) as f:
561
+ g.serialize(f.name, format="xml")
562
+ valid_file = f.name
563
+
564
+ try:
565
+ resolver = RDFLibOntologyResolver(
566
+ ontology_file=["nonexistent_file_1.owl", valid_file, "nonexistent_file_2.owl"]
567
+ )
568
+
569
+ assert resolver.graph is not None
570
+
571
+ assert "car" in resolver.lookup["classes"]
572
+ assert "audi" in resolver.lookup["individuals"]
573
+
574
+ match = resolver.find_closest_match("Audi", "individuals")
575
+ assert match == "audi"
576
+
577
+ finally:
578
+ import os
579
+
580
+ os.unlink(valid_file)
581
+
582
+
583
+ def test_multifile_ontology_all_files_missing():
584
+ """Test loading multiple ontology files where all files are missing."""
585
+ resolver = RDFLibOntologyResolver(
586
+ ontology_file=["nonexistent_file_1.owl", "nonexistent_file_2.owl", "nonexistent_file_3.owl"]
587
+ )
588
+
589
+ assert resolver.graph is None
590
+
591
+ assert resolver.lookup["classes"] == {}
592
+ assert resolver.lookup["individuals"] == {}
593
+
594
+
595
+ def test_multifile_ontology_with_overlapping_entities():
596
+ """Test loading multiple ontology files with overlapping/related entities."""
597
+ ns = Namespace("http://example.org/automotive#")
598
+
599
+ g1 = Graph()
600
+ g1.add((ns.Vehicle, RDF.type, OWL.Class))
601
+ g1.add((ns.Car, RDF.type, OWL.Class))
602
+ g1.add((ns.Car, RDFS.subClassOf, ns.Vehicle))
603
+
604
+ g2 = Graph()
605
+ g2.add((ns.LuxuryCar, RDF.type, OWL.Class))
606
+ g2.add((ns.LuxuryCar, RDFS.subClassOf, ns.Car))
607
+ g2.add((ns.Mercedes, RDF.type, ns.LuxuryCar))
608
+ g2.add((ns.BMW, RDF.type, ns.LuxuryCar))
609
+
610
+ import tempfile
611
+
612
+ with tempfile.NamedTemporaryFile(mode="w", suffix=".owl", delete=False) as f1:
613
+ g1.serialize(f1.name, format="xml")
614
+ file1_path = f1.name
615
+
616
+ with tempfile.NamedTemporaryFile(mode="w", suffix=".owl", delete=False) as f2:
617
+ g2.serialize(f2.name, format="xml")
618
+ file2_path = f2.name
619
+
620
+ try:
621
+ resolver = RDFLibOntologyResolver(ontology_file=[file1_path, file2_path])
622
+
623
+ assert "vehicle" in resolver.lookup["classes"]
624
+ assert "car" in resolver.lookup["classes"]
625
+ assert "luxurycar" in resolver.lookup["classes"]
626
+
627
+ assert "mercedes" in resolver.lookup["individuals"]
628
+ assert "bmw" in resolver.lookup["individuals"]
629
+
630
+ nodes, relationships, start_node = resolver.get_subgraph("Mercedes", "individuals")
631
+
632
+ uri_labels = {resolver._uri_to_key(n.uri) for n in nodes}
633
+ assert "mercedes" in uri_labels
634
+ assert "luxurycar" in uri_labels
635
+ assert "car" in uri_labels
636
+ assert "vehicle" in uri_labels
637
+
638
+ finally:
639
+ import os
640
+
641
+ os.unlink(file1_path)
642
+ os.unlink(file2_path)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognee
3
- Version: 0.3.7.dev2
3
+ Version: 0.3.9
4
4
  Summary: Cognee - is a library for enriching LLM context with a semantic layer for better understanding and reasoning.
5
5
  Project-URL: Homepage, https://www.cognee.ai
6
6
  Project-URL: Repository, https://github.com/topoteretes/cognee
@@ -248,7 +248,7 @@ Hosted platform:
248
248
 
249
249
  ### 📦 Installation
250
250
 
251
- You can install Cognee using either **pip**, **poetry**, **uv** or any other python package manager.
251
+ You can install Cognee using either **pip**, **poetry**, **uv** or any other python package manager..
252
252
 
253
253
  Cognee supports Python 3.10 to 3.12
254
254
 
@@ -1,6 +1,6 @@
1
1
  cognee/__init__.py,sha256=Dt96vJ_wQIw9mIlJnEfmHAh1X8KMHFazYoo64OJHHIw,1102
2
2
  cognee/__main__.py,sha256=UDwkdKir_2m9z3DtOlWKc5wdBk_8AXGyu9k6PufY9Jg,75
3
- cognee/base_config.py,sha256=jYFBJ1TywBxXSAjj3B4JP4zV0OUl0J8ZHiLB5VEECyM,2537
3
+ cognee/base_config.py,sha256=dLdQsmD8oXG-Nhg50pLHT6jUrbeQKghU_udOqF2VHIk,2851
4
4
  cognee/context_global_variables.py,sha256=b1rNwbRKY1CRt3ZLMQCqwDGhuGcXgi6eo_XgAzEfOsM,2815
5
5
  cognee/get_token.py,sha256=6qrXc5P0zal6zo90gVYlZHv5g5bpic9i_J_2mAkNri0,634
6
6
  cognee/low_level.py,sha256=ffJMBQDYwXiYk_clHCCy7N7zIjJqhUUulNJ8ot4Xx0E,131
@@ -193,7 +193,7 @@ cognee/infrastructure/databases/utils/__init__.py,sha256=4C0ncZG-O6bOFJpKgscCHu6
193
193
  cognee/infrastructure/databases/utils/get_or_create_dataset_database.py,sha256=wn7pRgeX-BU0L191_6pgT9P54uhVQlGMPqxQdvIlv4Y,2101
194
194
  cognee/infrastructure/databases/vector/__init__.py,sha256=7MdGJ3Mxdh2RyDq39rcjD99liIa-yGXxDUzq--1qQZs,291
195
195
  cognee/infrastructure/databases/vector/config.py,sha256=FVnN30RmV0o2e9l5xyzR-_4AiBXNeuWVE372PmjAVGg,2931
196
- cognee/infrastructure/databases/vector/create_vector_engine.py,sha256=TEImHJjFt6ENsDISU5MGp2c4ec7smHwvD-m7n7A-RAw,4570
196
+ cognee/infrastructure/databases/vector/create_vector_engine.py,sha256=GAAsU_h-QuUc-V-Cace_hL9EKDff3DKfXyg2QpNM-0Q,4907
197
197
  cognee/infrastructure/databases/vector/get_vector_engine.py,sha256=y4TMWJ6B6DxwKF9PMfjB6WqujPnVhf0oR2j35Q-KhvA,272
198
198
  cognee/infrastructure/databases/vector/supported_databases.py,sha256=0UIYcQ15p7-rq5y_2A-E9ydcXyP6frdg8T5e5ECDDMI,25
199
199
  cognee/infrastructure/databases/vector/use_vector_adapter.py,sha256=ab2x6-sxVDu_tf4zWChN_ngqv8LaLYk2VCtBjZEyjaM,174
@@ -246,8 +246,8 @@ cognee/infrastructure/files/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
246
246
  cognee/infrastructure/files/utils/extract_text_from_file.py,sha256=-v0uvK6nXP6Q2Ia0GjIi97WntPFX6sWZQXO_Fg9TrCc,1112
247
247
  cognee/infrastructure/files/utils/get_data_file_path.py,sha256=Xz9anl6yYxK6wETKhVeK4f3ahjw58Aj8YkyJkJONOvc,1549
248
248
  cognee/infrastructure/files/utils/get_file_content_hash.py,sha256=0L_wgsRF8zqmtisFWcp4agDs7WovvBjiVWNQ_NCPKwo,1338
249
- cognee/infrastructure/files/utils/get_file_metadata.py,sha256=WpyOTUf2CPFT8ZlxOWuchg34xu8HVrsMP7cpahsFX7g,2292
250
- cognee/infrastructure/files/utils/guess_file_type.py,sha256=tgR6fvc7IMNvt2XUv8hkJwddJ9okZbBhzfqU6l0qiiM,3353
249
+ cognee/infrastructure/files/utils/get_file_metadata.py,sha256=3U0usuzEuGbVY0PBqQl9FyU1fWeHzlc8DRqNWZaSoc8,2336
250
+ cognee/infrastructure/files/utils/guess_file_type.py,sha256=s1CkS4DhhxyYIxlapGfVZKOQUbDwselljLRvlrP4BvE,1923
251
251
  cognee/infrastructure/files/utils/is_text_content.py,sha256=iNZWCECNLMjlQfOQAujVQis7prA1cqsscRRSQsxccZo,1316
252
252
  cognee/infrastructure/files/utils/open_data_file.py,sha256=3TPsTUDCH6SOuvbwNembE-YRiFDhb9yCqOC537b6iGY,2155
253
253
  cognee/infrastructure/llm/LLMGateway.py,sha256=o_XXoj6qbTb2zO9MCxut81CkZODJUMtRbLAS854JSzY,2478
@@ -288,7 +288,7 @@ cognee/infrastructure/llm/prompts/direct_llm_eval_system.txt,sha256=eMnZxPY2Vheh
288
288
  cognee/infrastructure/llm/prompts/extract_entities_system.txt,sha256=mLPcd45Yl0JeXjvsxgUm26ODcWkDhiqTK9cemRMQ4nM,1525
289
289
  cognee/infrastructure/llm/prompts/extract_entities_user.txt,sha256=rvNml_C7nbS2MshVhzUzaLIWWBu9sL9td51--julPpA,49
290
290
  cognee/infrastructure/llm/prompts/extract_ontology.txt,sha256=jqRfnbFV0DQ5GWsgG3B_wbRxstsDnV5ZOM7Ngfo6SqY,380
291
- cognee/infrastructure/llm/prompts/extract_query_time.txt,sha256=2XJ9OXS48DAK7o5SYUloTHxWE0bW4MZh3J-oa8n6qvU,972
291
+ cognee/infrastructure/llm/prompts/extract_query_time.txt,sha256=Yty6Pbamw31oibZb8JcFZ50-_iOnzqNB8t-HAS4UmFQ,1491
292
292
  cognee/infrastructure/llm/prompts/feedback_reaction_prompt.txt,sha256=MjD2uQxtXZtTgYP4C_3jhNyAPV5tuDzU7FmyvCOBKf8,464
293
293
  cognee/infrastructure/llm/prompts/feedback_report_prompt.txt,sha256=eIWJfqc00igIbzzhLKYC-uYs6vAlNFCBqh5knxJPV44,602
294
294
  cognee/infrastructure/llm/prompts/feedback_user_context_prompt.txt,sha256=qEViaJqUENm4xX0r2A5mN8PqJHBPMtcqE6_XAqmz0Uo,192
@@ -359,7 +359,7 @@ cognee/infrastructure/llm/tokenizer/Mistral/__init__.py,sha256=q7Gppau71DU2LyI9U
359
359
  cognee/infrastructure/llm/tokenizer/Mistral/adapter.py,sha256=6n0BLRN1xxiQ6oyI4P68UZPPyefzPA6VeOQGaRYD7Aw,2684
360
360
  cognee/infrastructure/llm/tokenizer/TikToken/__init__.py,sha256=m1P0VJKiWAKiftLRLLDfEVSuufIxy-T24yMjVm4FsgY,39
361
361
  cognee/infrastructure/llm/tokenizer/TikToken/adapter.py,sha256=rv8H6R6t4rsOKVmYZUdcn5bHnrwJUof1Ybe_FkGAZ18,3658
362
- cognee/infrastructure/loaders/LoaderEngine.py,sha256=-cHSa1UuTL1N0u4338YSq_ZGUJygcbsUlmIYQsWxKiM,6074
362
+ cognee/infrastructure/loaders/LoaderEngine.py,sha256=xrnynaZYQ8f3l-bF0F2dvilVTh_lUYaiL2-nz46Gx1M,6153
363
363
  cognee/infrastructure/loaders/LoaderInterface.py,sha256=sJjcHAiEkzraBfKcgj9NoLi3WZnQqnf1H2qXewJwoxw,1932
364
364
  cognee/infrastructure/loaders/__init__.py,sha256=onz7sA9r6p5Vq28IsD12eOqF0JixUvB3WDBO4t8hY0g,643
365
365
  cognee/infrastructure/loaders/create_loader_engine.py,sha256=mgo1RlLJ4E3exdEE03CDsrpdeMoucwrOql-1hZ8Ko00,964
@@ -367,7 +367,7 @@ cognee/infrastructure/loaders/get_loader_engine.py,sha256=cPJefAHFAWU1HXQoWqCpwh
367
367
  cognee/infrastructure/loaders/supported_loaders.py,sha256=LBCvqk6PGJsTtFB5vUpArPmxSegRr81y1oNAejzn1mE,961
368
368
  cognee/infrastructure/loaders/use_loader.py,sha256=ncfUFVohPox296m8tMeIl6Hnk1xRvHcpRCmwZXKPZ1s,598
369
369
  cognee/infrastructure/loaders/core/__init__.py,sha256=LTr8FWDXpG-Oxp8nwwn0KnHT97aIK6_FWiswmy7g40Q,230
370
- cognee/infrastructure/loaders/core/audio_loader.py,sha256=rNXsCuLCIinNOaZZXw778bp3ptUMSoLiBaq9cTZ4NFI,3015
370
+ cognee/infrastructure/loaders/core/audio_loader.py,sha256=VBiJb3tgog51yP14CMLQP3RdF6cmj5dCsHeAHDMlCz8,3042
371
371
  cognee/infrastructure/loaders/core/image_loader.py,sha256=b8etveiidIvCw7PXqM2ldyxXDhkqi4-Ak-4BbX664Is,3390
372
372
  cognee/infrastructure/loaders/core/text_loader.py,sha256=zkFhjm_QeQu4fWv_Wkoe0O1Kpe9_uBgskkjeWn0sV-M,2991
373
373
  cognee/infrastructure/loaders/external/__init__.py,sha256=UwLJK81I1Atuw3FN34EDy8NKe7sltxRLZiONYHfoW4o,884
@@ -483,7 +483,7 @@ cognee/modules/ingestion/discover_directory_datasets.py,sha256=wtqYoZ5MpGc_FuzyK
483
483
  cognee/modules/ingestion/get_matched_datasets.py,sha256=BL2H_3t3wDWqcJxlo6uv-1u__g2E5OMwJYFsLCSDF34,475
484
484
  cognee/modules/ingestion/identify.py,sha256=4-oD_VjdJC9oUmJjuLJ1a6BX1-GKbw-rNgWyB9GyhC8,346
485
485
  cognee/modules/ingestion/save_data_to_file.py,sha256=SZFrWbkRCvENQ05JXAAKZgcVm4-s795ZPnhCgdGM5HY,1230
486
- cognee/modules/ingestion/data_types/BinaryData.py,sha256=E9B6N9nJQd8uG2IUJctrWa2y1QkC4txNBAAl9a9aP2g,1060
486
+ cognee/modules/ingestion/data_types/BinaryData.py,sha256=UUo3MZdGaIePs0jbI_Nwwwr6HBnsdtqwt0FJU1d6rqw,1076
487
487
  cognee/modules/ingestion/data_types/IngestionData.py,sha256=JLKzItByitgfQAeEo7-qaRRce_weij-t3YY_nJ4wFy0,309
488
488
  cognee/modules/ingestion/data_types/S3BinaryData.py,sha256=Kdd4R2anhhIPQZ-5xihcWrMPY_MPHIfS4GJYP4ZeraU,1805
489
489
  cognee/modules/ingestion/data_types/TextData.py,sha256=HpIgFqFHm66D-_bgEljUSsh4GSfsLaOj_ubFc_RalNQ,939
@@ -508,14 +508,14 @@ cognee/modules/observability/get_observe.py,sha256=BntDcssgEahPa3ZbAI7PpSwYk6Q74
508
508
  cognee/modules/observability/observers.py,sha256=3qQ3tegodo14uu9PtcPIQL00QRHZaGTekoAsTSnfNlU,175
509
509
  cognee/modules/ontology/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
510
510
  cognee/modules/ontology/base_ontology_resolver.py,sha256=3-7vUiw_eMoUONzYk1UJCKbGo9HLSkijTkHVQZxk6xY,1477
511
- cognee/modules/ontology/get_default_ontology_resolver.py,sha256=HZ8vRBmsboTdr6TxzUHvHlfbJu1tQ7ybFJG9P3JHG6I,1749
511
+ cognee/modules/ontology/get_default_ontology_resolver.py,sha256=VCRE5FFSLVAhq6yagtUr5SadHJDXr9Y7c-KnzuBvkMw,2001
512
512
  cognee/modules/ontology/matching_strategies.py,sha256=u66uyvn6rVt7dOre9yYirpUxE0x1uGiqJR-3GddWXiU,1649
513
513
  cognee/modules/ontology/models.py,sha256=0gH7Q_ul7QeQJqvxpBSLmYmT4XZv6AWejuKWjJxtNqI,621
514
514
  cognee/modules/ontology/ontology_config.py,sha256=2BDSOSE--UC4QsspfZGI1PXf0FvNMaRyNeITj-eJTOM,660
515
515
  cognee/modules/ontology/ontology_env_config.py,sha256=3Rj3hnbLFvFAOFg8z3iKm5Ddmx5cXH1ME9k0kp6l3jo,1267
516
516
  cognee/modules/ontology/exceptions/__init__.py,sha256=GPIE6-a9ZWypIFGe8q00qQRc-UMBYLAnTc_jOatF9Jk,214
517
517
  cognee/modules/ontology/exceptions/exceptions.py,sha256=Rv7NMdsSqTo0zLZiNkn7GAKxyH1g0rc4Vm_lChA7-Ws,1001
518
- cognee/modules/ontology/rdf_xml/RDFLibOntologyResolver.py,sha256=5JafT7mCTliJjzDm0SATXzeKa-mDUgJRX588Jg7-qk8,7696
518
+ cognee/modules/ontology/rdf_xml/RDFLibOntologyResolver.py,sha256=HTJYSOi8hxKJ9KhM0SXDWK_GxpHwOo2OUKByE4zD1w8,8874
519
519
  cognee/modules/ontology/rdf_xml/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
520
520
  cognee/modules/pipelines/__init__.py,sha256=LEnX0PRZUcgB54hEg1BBn6E0DVIO5bNPJ5DbKEcDQoU,175
521
521
  cognee/modules/pipelines/exceptions/__init__.py,sha256=s0mB-aroyDgHg7cqSYpuyO_IpToVAAyxkDUvjs3tHhw,47
@@ -578,7 +578,7 @@ cognee/modules/retrieval/jaccard_retrival.py,sha256=-PolQLzylm3qaW1jRK2L7qUOFnon
578
578
  cognee/modules/retrieval/lexical_retriever.py,sha256=FeeaLc3NK1W1IOYtvBSkPV26dwBqOKCCln_wB9QPdYo,5471
579
579
  cognee/modules/retrieval/natural_language_retriever.py,sha256=Lh70_ZS6FGkIab20QXz1MjyGk3MwCeFpA8yRHSz8ERA,6176
580
580
  cognee/modules/retrieval/summaries_retriever.py,sha256=_ZYrzIil9aKSGEn8Ayda-U3_d769GOllBkDbARL3kK8,3584
581
- cognee/modules/retrieval/temporal_retriever.py,sha256=DHywg_fcQq0q1CDmf_A_gRJiTp3ScsKMNEaDQZBzitk,7767
581
+ cognee/modules/retrieval/temporal_retriever.py,sha256=Tf8kYtSpvbZ7A6fqL_IOx_Zgquq3TGGqi5uvvk-7u_w,7871
582
582
  cognee/modules/retrieval/user_qa_feedback.py,sha256=xSR5p1t0lRkAJH8fqtyU8zx1NT4-QTJyJuAzpJsRfRY,3406
583
583
  cognee/modules/retrieval/context_providers/DummyContextProvider.py,sha256=9GsvINc7ekRyRWO5IefFGyytRYqsSlhpwAOw6Q691cA,419
584
584
  cognee/modules/retrieval/context_providers/SummarizedTripletSearchContextProvider.py,sha256=ypO6yWLxvmRsj_5dyYdvXTbztJmB_ioLrgyG6bF5WGA,894
@@ -689,7 +689,7 @@ cognee/modules/users/tenants/methods/__init__.py,sha256=1-Rr5rHBAiBFA7azhkCpCu5Z
689
689
  cognee/modules/users/tenants/methods/add_user_to_tenant.py,sha256=euLn9oU9P-rbmqT6wi2fS9oCRFqMU0go6NPhU2cLOs8,1835
690
690
  cognee/modules/users/tenants/methods/create_tenant.py,sha256=eaLY8U3WjfKunMZQ9-OwT3ZFIVQAYd2NFrQY7WpI4xE,1375
691
691
  cognee/modules/visualization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
692
- cognee/modules/visualization/cognee_network_visualization.py,sha256=xgBD0HqJXmF-WceqxUi5Zt1Q1i-hI9wVTyC0WRXGKMY,17357
692
+ cognee/modules/visualization/cognee_network_visualization.py,sha256=lk10M7AhDcFdL8R6H6W1VYOvCBdxky4Jd7qsE9BMSKE,36618
693
693
  cognee/shared/CodeGraphEntities.py,sha256=3BOsPgONusddYGArKeF_zbAy5dhGCcWTYeRYKgRsAR8,1587
694
694
  cognee/shared/GithubClassification.py,sha256=3B-CghZ6F3hDrwoKBtJ83Zr0AyLcnLQZn6OJBpppViI,809
695
695
  cognee/shared/GithubTopology.py,sha256=eYFF4oBjqRPMnH2ufu3bo2_HGElXQTZ0aH4vQD9-l2c,975
@@ -698,8 +698,8 @@ cognee/shared/__init__.py,sha256=2V1IwCRt4hY5KIsnK9oMj8-MaiiK-i3QD18FJYlIjP4,154
698
698
  cognee/shared/cache.py,sha256=VZEA-nEXkdkF0nRAYp_Fe1ntoL7OjyFFbyXassaJL-c,13923
699
699
  cognee/shared/data_models.py,sha256=tlIEM_5Um_dWMF_ogjbSDC1VSX1L3zl0svKxauKXytI,10609
700
700
  cognee/shared/encode_uuid.py,sha256=-EVtObzdnhSXKb5gz-SH1abicaaeiJ2rqcrLMr8V_cs,366
701
- cognee/shared/logging_utils.py,sha256=09TXPlfYolLHTdJLXhaXweTMZmGN3U4DTyiHlog5yVs,21049
702
- cognee/shared/utils.py,sha256=pb8u_Si9bAYN54tq7Nw7MdOSUpgWackbmnokQHwDfZs,55640
701
+ cognee/shared/logging_utils.py,sha256=0eBCQRFqvlIyZ3DHG5BOGhzfE1oB9wkJ7kcWipRxucw,21850
702
+ cognee/shared/utils.py,sha256=XATpQM6HBWvfL-mJeB7iAiVSHQWmNBbFdsUOzgfJszI,55961
703
703
  cognee/shared/exceptions/__init__.py,sha256=NNi2QcqIxj8tZNuQP5FC-kJCw1e5jcRaoQAmkQEpyjM,179
704
704
  cognee/shared/exceptions/exceptions.py,sha256=-8nsWJ0Cnlbh5XW6c96ZwTcI2ZDXSMCvv2UCOCzZtdA,362
705
705
  cognee/tasks/chunk_naive_llm_classifier/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -755,7 +755,7 @@ cognee/tasks/ingestion/__init__.py,sha256=TqqVr_LsoBRWn-F8mnWTd-3eQS4QUWj4nGbL8b
755
755
  cognee/tasks/ingestion/data_item_to_text_file.py,sha256=Vet0jD8Q7XdcEVgXYh9iMOXL8sX59RpJ-zchipDc5qQ,3168
756
756
  cognee/tasks/ingestion/get_dlt_destination.py,sha256=vzky_-TFlnaREbdbndAkXwwlb-0gRq8vDaQ2OOyOSQ4,2075
757
757
  cognee/tasks/ingestion/ingest_data.py,sha256=B7HIqfUTTrDA5_ZDzhmQWSUtKrKVLTXv_MrOt994xek,8578
758
- cognee/tasks/ingestion/migrate_relational_database.py,sha256=wZW5NnM1zU5go6-_9uD7k_d83GHM8RBDheTTrFnIhfQ,13774
758
+ cognee/tasks/ingestion/migrate_relational_database.py,sha256=P2-4OJ7WqU46VRC5Tr_YiGulgCG6GZm35Sz1TaWjOw8,13689
759
759
  cognee/tasks/ingestion/resolve_data_directories.py,sha256=s648osIggl0qU_aWTfSjYHIe-jS4Nt7bf5HqK-ylKpM,3323
760
760
  cognee/tasks/ingestion/save_data_item_to_storage.py,sha256=rcCCUKtuYNkuqH9H8PR7JhRtuLzCHsWjUZJsH9kjJB4,3967
761
761
  cognee/tasks/ingestion/transform_data.py,sha256=cbI1FX86-Ft3pGRRHedjarXst9TR7O9ce39bYRhbf2Y,1506
@@ -903,7 +903,7 @@ cognee/tests/unit/interfaces/graph/test_weighted_edges.py,sha256=Xi-iVyhVJ4YzAgG
903
903
  cognee/tests/unit/modules/data/test_open_data_file.py,sha256=IjmTE1AAQ9SqJV8kUTjC9aCCYu-0NWqwhV_gynlxoCY,4443
904
904
  cognee/tests/unit/modules/graph/cognee_graph_elements_test.py,sha256=Ns8JKOMQML8tHKEg-9e9WG-spNZTGNvwmNETuySJqK0,5048
905
905
  cognee/tests/unit/modules/graph/cognee_graph_test.py,sha256=FKZSVi6dDqFDO_kyRDQmOx_mL4trFY0n20un3GlDERk,2259
906
- cognee/tests/unit/modules/ontology/test_ontology_adapter.py,sha256=YSpGYODr2ciJb8ziz9_4BmedpTgs3KhqMwsU3Oh93UU,17618
906
+ cognee/tests/unit/modules/ontology/test_ontology_adapter.py,sha256=gsc6jzPhZ_StszbaM8fABWL6jpw4Gbb_SnFxQuE-ynI,22564
907
907
  cognee/tests/unit/modules/pipelines/run_task_from_queue_test.py,sha256=X2clLQYoPgzmk0QWDmDpJIKShSVh8e8xS76PMP7qeIg,1705
908
908
  cognee/tests/unit/modules/pipelines/run_tasks_test.py,sha256=IJ_2NBOizC-PtW4c1asYZB-SI85dQswB0Lt5e_n-5zI,1399
909
909
  cognee/tests/unit/modules/pipelines/run_tasks_with_context_test.py,sha256=Bi5XgQWfrgCgTtRu1nrUAqraDYHUzILleOka5fpTsKE,1058
@@ -942,9 +942,9 @@ distributed/tasks/queued_add_edges.py,sha256=kz1DHE05y-kNHORQJjYWHUi6Q1QWUp_v3Dl
942
942
  distributed/tasks/queued_add_nodes.py,sha256=aqK4Ij--ADwUWknxYpiwbYrpa6CcvFfqHWbUZW4Kh3A,452
943
943
  distributed/workers/data_point_saving_worker.py,sha256=kmaQy2A2J7W3k9Gd5lyoiT0XYOaJmEM8MbkKVOFOQVU,4729
944
944
  distributed/workers/graph_saving_worker.py,sha256=b5OPLLUq0OBALGekdp73JKxU0GrMlVbO4AfIhmACKkQ,4724
945
- cognee-0.3.7.dev2.dist-info/METADATA,sha256=iwDh6dQHkRPC-Q_VLuW4R16VdmOZM1jTpigiLcZS7kY,14942
946
- cognee-0.3.7.dev2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
947
- cognee-0.3.7.dev2.dist-info/entry_points.txt,sha256=fAozOD9Vs4kgYwRhBiZoLCIXu-OSZqVxKGv45l19uok,88
948
- cognee-0.3.7.dev2.dist-info/licenses/LICENSE,sha256=pHHjSQj1DD8SDppW88MMs04TPk7eAanL1c5xj8NY7NQ,11344
949
- cognee-0.3.7.dev2.dist-info/licenses/NOTICE.md,sha256=6L3saP3kSpcingOxDh-SGjMS8GY79Rlh2dBNLaO0o5c,339
950
- cognee-0.3.7.dev2.dist-info/RECORD,,
945
+ cognee-0.3.9.dist-info/METADATA,sha256=CdDPzdK2sCof1lzKjzfD2Fbeqyl2ObVE8EuGwxxKCiQ,14938
946
+ cognee-0.3.9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
947
+ cognee-0.3.9.dist-info/entry_points.txt,sha256=fAozOD9Vs4kgYwRhBiZoLCIXu-OSZqVxKGv45l19uok,88
948
+ cognee-0.3.9.dist-info/licenses/LICENSE,sha256=pHHjSQj1DD8SDppW88MMs04TPk7eAanL1c5xj8NY7NQ,11344
949
+ cognee-0.3.9.dist-info/licenses/NOTICE.md,sha256=6L3saP3kSpcingOxDh-SGjMS8GY79Rlh2dBNLaO0o5c,339
950
+ cognee-0.3.9.dist-info/RECORD,,