Coverage report:
89%
hide covered
Files
Functions
Classes
coverage.py v7.13.5
, created at 2026-06-05 15:47 +0000
File
class
statements
missing
excluded
coverage
src / kemi / __init__.py
(no class)
9
0
2
100%
src / kemi / __main__.py
(no class)
12
0
2
100%
src / kemi / _memory_impl.py
Memory
681
124
18
82%
src / kemi / _memory_impl.py
_QueryCache
0
0
3
100%
src / kemi / _memory_impl.py
(no class)
102
1
3
99%
src / kemi / adapters / __init__.py
(no class)
0
0
0
100%
src / kemi / adapters / embedding / __init__.py
(no class)
0
0
0
100%
src / kemi / adapters / embedding / custom.py
CustomEmbedAdapter
5
0
0
100%
src / kemi / adapters / embedding / custom.py
(no class)
7
0
0
100%
src / kemi / adapters / storage / __init__.py
(no class)
0
0
0
100%
src / kemi / adapters / storage / json.py
JSONStorageAdapter
108
27
0
75%
src / kemi / adapters / storage / json.py
(no class)
26
0
2
100%
src / kemi / adapters / storage / sqlite.py
SQLiteStorageAdapter
341
31
6
91%
src / kemi / adapters / storage / sqlite.py
(no class)
50
0
2
100%
src / kemi / adapters / storage / sqlite_vec.py
SQLiteVecStorageAdapter
196
73
6
63%
src / kemi / adapters / storage / sqlite_vec.py
(no class)
42
6
5
86%
src / kemi / adaptive.py
QueryType
0
0
0
100%
src / kemi / adaptive.py
QueryProfile
0
0
0
100%
src / kemi / adaptive.py
AdaptiveWeights
0
0
0
100%
src / kemi / adaptive.py
AdaptiveRetriever
106
2
0
98%
src / kemi / adaptive.py
(no class)
47
0
0
100%
src / kemi / api_keys.py
APIKey
14
0
0
100%
src / kemi / api_keys.py
APIKeyManager
43
0
2
100%
src / kemi / api_keys.py
(no class)
46
0
0
100%
src / kemi / api_server.py
RateLimiter
20
0
0
100%
src / kemi / api_server.py
RememberRequest
0
0
0
100%
src / kemi / api_server.py
RecallRequest
0
0
0
100%
src / kemi / api_server.py
UpdateRequest
0
0
0
100%
src / kemi / api_server.py
PruneRequest
0
0
0
100%
src / kemi / api_server.py
ConsolidateRequest
0
0
0
100%
src / kemi / api_server.py
TopicsRequest
0
0
0
100%
src / kemi / api_server.py
GraphRequest
0
0
0
100%
src / kemi / api_server.py
FeedbackRequest
0
0
0
100%
src / kemi / api_server.py
BatchRememberRequest
0
0
0
100%
src / kemi / api_server.py
RebuildFTSRequest
0
0
0
100%
src / kemi / api_server.py
AdminFTSStatsRequest
0
0
0
100%
src / kemi / api_server.py
AdminFTSRepairRequest
0
0
0
100%
src / kemi / api_server.py
AuditLogRequest
0
0
0
100%
src / kemi / api_server.py
AuditQueryRequest
0
0
0
100%
src / kemi / api_server.py
AuditExportRequest
0
0
0
100%
src / kemi / api_server.py
AdaptiveAnalyzeRequest
0
0
0
100%
src / kemi / api_server.py
EnableFeatureRequest
0
0
0
100%
src / kemi / api_server.py
CreateAPIKeyRequest
0
0
0
100%
src / kemi / api_server.py
create_app.CreateWebhookRequest
0
0
0
100%
src / kemi / api_server.py
create_app.UpdateWebhookRequest
0
0
0
100%
src / kemi / api_server.py
(no class)
800
140
7
82%
src / kemi / audit.py
AuditEntry
1
0
0
100%
src / kemi / audit.py
AuditTrail
138
21
0
85%
src / kemi / audit.py
(no class)
38
0
0
100%
src / kemi / background_tasks.py
TaskType
0
0
0
100%
src / kemi / background_tasks.py
TaskStatus
0
0
0
100%
src / kemi / background_tasks.py
TaskResult
1
0
0
100%
src / kemi / background_tasks.py
BackgroundTaskManager
172
2
0
99%
src / kemi / background_tasks.py
(no class)
49
0
0
100%
src / kemi / chunker.py
ChunkInfo
1
0
0
100%
src / kemi / chunker.py
Chunk
3
0
0
100%
src / kemi / chunker.py
(no class)
131
8
2
94%
src / kemi / cli_writer.py
Writer
3
3
0
0%
src / kemi / cli_writer.py
ConsoleWriter
6
0
0
100%
src / kemi / cli_writer.py
JsonWriter
6
0
0
100%
src / kemi / cli_writer.py
SilentWriter
4
0
0
100%
src / kemi / cli_writer.py
(no class)
30
0
0
100%
src / kemi / consolidation.py
(no class)
105
4
0
96%
src / kemi / core.py
(no class)
3
0
0
100%
src / kemi / decomposer.py
QueryDecompositionStrategy
0
0
1
100%
src / kemi / decomposer.py
SimpleDecomposition
23
2
0
91%
src / kemi / decomposer.py
SubqueryExpansion
10
0
0
100%
src / kemi / decomposer.py
DecomposedQuery
0
0
0
100%
src / kemi / decomposer.py
FusionResult
0
0
0
100%
src / kemi / decomposer.py
(no class)
83
0
3
100%
src / kemi / dedup.py
(no class)
55
0
8
100%
src / kemi / encryption.py
EncryptionConfig
20
0
0
100%
src / kemi / encryption.py
FernetEncryptor
18
2
0
89%
src / kemi / encryption.py
FieldEncryptor
58
10
0
83%
src / kemi / encryption.py
SQLCipherManager
22
16
0
27%
src / kemi / encryption.py
(no class)
64
5
0
92%
src / kemi / entities.py
EntityLinker
1
1
0
0%
src / kemi / entities.py
NoopEntityLinker
1
0
0
100%
src / kemi / entities.py
RegexEntityLinker
11
0
0
100%
src / kemi / entities.py
SpacyEntityLinker
12
0
0
100%
src / kemi / entities.py
(no class)
19
0
0
100%
src / kemi / graph.py
(no class)
80
0
0
100%
src / kemi / integrations / __init__.py
(no class)
0
0
0
100%
src / kemi / lifecycle.py
(no class)
23
0
0
100%
src / kemi / memory_formation.py
LLMMemoryExtractor
1
1
0
0%
src / kemi / memory_formation.py
CandidateMemory
0
0
0
100%
src / kemi / memory_formation.py
RegexMemoryExtractor
20
3
0
85%
src / kemi / memory_formation.py
OpenAIMemoryExtractor
36
0
0
100%
src / kemi / memory_formation.py
StaticMemoryExtractor
2
0
0
100%
src / kemi / memory_formation.py
(no class)
78
1
2
99%
src / kemi / models.py
MemorySource
0
0
0
100%
src / kemi / models.py
LifecycleState
0
0
0
100%
src / kemi / models.py
MemoryType
0
0
0
100%
src / kemi / models.py
MemoryObject
0
0
0
100%
src / kemi / models.py
MemoryConfig
22
0
0
100%
src / kemi / models.py
(no class)
62
0
0
100%
src / kemi / observability.py
MetricValue
0
0
0
100%
src / kemi / observability.py
Counter
12
0
0
100%
src / kemi / observability.py
Histogram
22
0
0
100%
src / kemi / observability.py
Gauge
15
0
0
100%
src / kemi / observability.py
MetricsCollector
60
0
0
100%
src / kemi / observability.py
_OperationTracker
11
0
0
100%
src / kemi / observability.py
(no class)
57
1
0
98%
src / kemi / operations / __init__.py
(no class)
2
0
0
100%
src / kemi / operations / _ops_hooks.py
(no class)
23
2
2
91%
src / kemi / operations / _ops_metrics.py
(no class)
90
38
2
58%
src / kemi / operations / _ops_versioning.py
(no class)
67
5
2
93%
src / kemi / operations / _ops_webhooks.py
(no class)
39
29
2
26%
src / kemi / operations / _query_cache.py
_QueryCache
15
2
0
87%
src / kemi / operations / _query_cache.py
(no class)
10
0
0
100%
src / kemi / pipeline / __init__.py
(no class)
0
0
0
100%
src / kemi / pipeline / ingestion.py
IngestionContext
0
0
0
100%
src / kemi / pipeline / ingestion.py
IngestionPipeline
54
3
0
94%
src / kemi / pipeline / ingestion.py
(no class)
27
0
4
100%
src / kemi / pipeline / retrieval.py
RetrievalContext
0
0
0
100%
src / kemi / pipeline / retrieval.py
RetrievalPipeline
83
6
0
93%
src / kemi / pipeline / retrieval.py
(no class)
38
0
3
100%
src / kemi / procedures.py
(no class)
26
0
3
100%
src / kemi / reranker.py
RerankerConfig
0
0
0
100%
src / kemi / reranker.py
RerankerResult
0
0
0
100%
src / kemi / reranker.py
FallbackReranker
42
3
0
93%
src / kemi / reranker.py
CrossEncoderReranker
5
5
0
0%
src / kemi / reranker.py
NomicReranker
24
10
0
58%
src / kemi / reranker.py
(no class)
63
1
2
98%
src / kemi / sanitize.py
(no class)
62
0
0
100%
src / kemi / scoring.py
(no class)
181
15
21
92%
src / kemi / summarizer.py
LLMSummarizer
55
0
0
100%
src / kemi / summarizer.py
(no class)
10
0
0
100%
src / kemi / topics.py
(no class)
53
3
0
94%
src / kemi / versions.py
VersionSnapshot
0
0
0
100%
src / kemi / versions.py
RollbackResult
0
0
0
100%
src / kemi / versions.py
DiffResult
0
0
0
100%
src / kemi / versions.py
MemoryVersionStore
153
9
0
94%
src / kemi / versions.py
(no class)
81
1
0
99%
src / kemi / webhooks.py
WebhookEventType
5
0
0
100%
src / kemi / webhooks.py
RetryConfig
2
0
0
100%
src / kemi / webhooks.py
WebhookConfig
1
0
0
100%
src / kemi / webhooks.py
WebhookStore
41
2
0
95%
src / kemi / webhooks.py
WebhookDispatcher
56
6
0
89%
src / kemi / webhooks.py
(no class)
66
0
0
100%
Total
5618
624
115
89%
No items found using the specified filter.