ekte 0.30.0__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.
- ekte/__init__.py +19 -0
- ekte/__main__.py +6 -0
- ekte/cli.py +1553 -0
- ekte/clients/__init__.py +55 -0
- ekte/clients/anthropic.py +345 -0
- ekte/clients/base.py +569 -0
- ekte/clients/openai_compatible.py +454 -0
- ekte/clients/responses.py +392 -0
- ekte/config.py +288 -0
- ekte/context.py +78 -0
- ekte/datadir.py +96 -0
- ekte/detectors/__init__.py +47 -0
- ekte/detectors/base.py +134 -0
- ekte/detectors/billing.py +290 -0
- ekte/detectors/capability.py +481 -0
- ekte/detectors/connectivity.py +112 -0
- ekte/detectors/context_window.py +750 -0
- ekte/detectors/determinism.py +235 -0
- ekte/detectors/embed_connectivity.py +64 -0
- ekte/detectors/embed_determinism.py +70 -0
- ekte/detectors/embed_distinctness.py +72 -0
- ekte/detectors/embed_drift.py +127 -0
- ekte/detectors/embed_identity.py +122 -0
- ekte/detectors/embed_performance.py +355 -0
- ekte/detectors/embedding.py +69 -0
- ekte/detectors/helpers.py +184 -0
- ekte/detectors/injected_prompt.py +199 -0
- ekte/detectors/integrity.py +218 -0
- ekte/detectors/model_identity.py +614 -0
- ekte/detectors/perf_probe.py +325 -0
- ekte/detectors/performance.py +519 -0
- ekte/detectors/prompt_cache.py +137 -0
- ekte/detectors/protocol.py +246 -0
- ekte/detectors/protocol_attrs.py +230 -0
- ekte/detectors/quality_judge.py +318 -0
- ekte/detectors/reliability.py +252 -0
- ekte/detectors/rerank.py +103 -0
- ekte/detectors/rerank_connectivity.py +61 -0
- ekte/detectors/rerank_determinism.py +84 -0
- ekte/detectors/rerank_drift.py +139 -0
- ekte/detectors/rerank_identity.py +67 -0
- ekte/detectors/rerank_known_answer.py +78 -0
- ekte/detectors/rerank_performance.py +394 -0
- ekte/detectors/scale.py +145 -0
- ekte/detectors/security.py +245 -0
- ekte/detectors/streaming.py +291 -0
- ekte/detectors/vision.py +251 -0
- ekte/detectors/wire_attrs.py +354 -0
- ekte/embed_audit.py +220 -0
- ekte/i18n/__init__.py +315 -0
- ekte/i18n/locales/de.json +872 -0
- ekte/i18n/locales/en.json +490 -0
- ekte/i18n/locales/es.json +872 -0
- ekte/i18n/locales/fr.json +872 -0
- ekte/i18n/locales/fragments/custom-suite/de.json +43 -0
- ekte/i18n/locales/fragments/custom-suite/en.json +43 -0
- ekte/i18n/locales/fragments/custom-suite/es.json +43 -0
- ekte/i18n/locales/fragments/custom-suite/fr.json +43 -0
- ekte/i18n/locales/fragments/custom-suite/it.json +43 -0
- ekte/i18n/locales/fragments/custom-suite/pt.json +43 -0
- ekte/i18n/locales/fragments/custom-suite/zh.json +43 -0
- ekte/i18n/locales/fragments/embed-monitors/de.json +9 -0
- ekte/i18n/locales/fragments/embed-monitors/en.json +9 -0
- ekte/i18n/locales/fragments/embed-monitors/es.json +9 -0
- ekte/i18n/locales/fragments/embed-monitors/fr.json +9 -0
- ekte/i18n/locales/fragments/embed-monitors/it.json +9 -0
- ekte/i18n/locales/fragments/embed-monitors/pt.json +9 -0
- ekte/i18n/locales/fragments/embed-surface/de.json +53 -0
- ekte/i18n/locales/fragments/embed-surface/en.json +53 -0
- ekte/i18n/locales/fragments/embed-surface/es.json +53 -0
- ekte/i18n/locales/fragments/embed-surface/fr.json +53 -0
- ekte/i18n/locales/fragments/embed-surface/it.json +53 -0
- ekte/i18n/locales/fragments/embed-surface/pt.json +53 -0
- ekte/i18n/locales/fragments/embed-surface/zh.json +53 -0
- ekte/i18n/locales/fragments/kb-fingerprints/de.json +36 -0
- ekte/i18n/locales/fragments/kb-fingerprints/en.json +36 -0
- ekte/i18n/locales/fragments/kb-fingerprints/es.json +36 -0
- ekte/i18n/locales/fragments/kb-fingerprints/fr.json +36 -0
- ekte/i18n/locales/fragments/kb-fingerprints/it.json +36 -0
- ekte/i18n/locales/fragments/kb-fingerprints/pt.json +36 -0
- ekte/i18n/locales/fragments/kb-fingerprints/zh.json +36 -0
- ekte/i18n/locales/fragments/key-storage/de.json +55 -0
- ekte/i18n/locales/fragments/key-storage/en.json +55 -0
- ekte/i18n/locales/fragments/key-storage/es.json +55 -0
- ekte/i18n/locales/fragments/key-storage/fr.json +55 -0
- ekte/i18n/locales/fragments/key-storage/it.json +55 -0
- ekte/i18n/locales/fragments/key-storage/pt.json +55 -0
- ekte/i18n/locales/fragments/perf-scale/de.json +20 -0
- ekte/i18n/locales/fragments/perf-scale/en.json +20 -0
- ekte/i18n/locales/fragments/perf-scale/es.json +20 -0
- ekte/i18n/locales/fragments/perf-scale/fr.json +20 -0
- ekte/i18n/locales/fragments/perf-scale/it.json +20 -0
- ekte/i18n/locales/fragments/perf-scale/pt.json +20 -0
- ekte/i18n/locales/fragments/rerank-monitors/de.json +8 -0
- ekte/i18n/locales/fragments/rerank-monitors/en.json +8 -0
- ekte/i18n/locales/fragments/rerank-monitors/es.json +8 -0
- ekte/i18n/locales/fragments/rerank-monitors/fr.json +8 -0
- ekte/i18n/locales/fragments/rerank-monitors/it.json +8 -0
- ekte/i18n/locales/fragments/rerank-monitors/pt.json +8 -0
- ekte/i18n/locales/fragments/rerank-monitors/zh.json +8 -0
- ekte/i18n/locales/fragments/rerank-perf/de.json +18 -0
- ekte/i18n/locales/fragments/rerank-perf/en.json +18 -0
- ekte/i18n/locales/fragments/rerank-perf/es.json +18 -0
- ekte/i18n/locales/fragments/rerank-perf/fr.json +18 -0
- ekte/i18n/locales/fragments/rerank-perf/it.json +18 -0
- ekte/i18n/locales/fragments/rerank-perf/pt.json +18 -0
- ekte/i18n/locales/fragments/rerank-perf/zh.json +17 -0
- ekte/i18n/locales/fragments/rerank-surface/de.json +36 -0
- ekte/i18n/locales/fragments/rerank-surface/en.json +36 -0
- ekte/i18n/locales/fragments/rerank-surface/es.json +36 -0
- ekte/i18n/locales/fragments/rerank-surface/fr.json +36 -0
- ekte/i18n/locales/fragments/rerank-surface/it.json +36 -0
- ekte/i18n/locales/fragments/rerank-surface/pt.json +36 -0
- ekte/i18n/locales/fragments/rerank-surface/zh.json +36 -0
- ekte/i18n/locales/fragments/rerank-ui/de.json +9 -0
- ekte/i18n/locales/fragments/rerank-ui/en.json +9 -0
- ekte/i18n/locales/fragments/rerank-ui/es.json +9 -0
- ekte/i18n/locales/fragments/rerank-ui/fr.json +9 -0
- ekte/i18n/locales/fragments/rerank-ui/it.json +9 -0
- ekte/i18n/locales/fragments/rerank-ui/pt.json +9 -0
- ekte/i18n/locales/fragments/rerank-ui/zh.json +9 -0
- ekte/i18n/locales/fragments/result-titles/de.json +178 -0
- ekte/i18n/locales/fragments/result-titles/en.json +178 -0
- ekte/i18n/locales/fragments/result-titles/es.json +178 -0
- ekte/i18n/locales/fragments/result-titles/fr.json +178 -0
- ekte/i18n/locales/fragments/result-titles/it.json +178 -0
- ekte/i18n/locales/fragments/result-titles/pt.json +178 -0
- ekte/i18n/locales/fragments/result-titles/zh.json +178 -0
- ekte/i18n/locales/fragments/surface-selector/de.json +7 -0
- ekte/i18n/locales/fragments/surface-selector/en.json +7 -0
- ekte/i18n/locales/fragments/surface-selector/es.json +7 -0
- ekte/i18n/locales/fragments/surface-selector/fr.json +7 -0
- ekte/i18n/locales/fragments/surface-selector/it.json +7 -0
- ekte/i18n/locales/fragments/surface-selector/pt.json +7 -0
- ekte/i18n/locales/fragments/surface-selector/zh.json +7 -0
- ekte/i18n/locales/fragments/surface-views/de.json +21 -0
- ekte/i18n/locales/fragments/surface-views/en.json +21 -0
- ekte/i18n/locales/fragments/surface-views/es.json +21 -0
- ekte/i18n/locales/fragments/surface-views/fr.json +21 -0
- ekte/i18n/locales/fragments/surface-views/it.json +21 -0
- ekte/i18n/locales/fragments/surface-views/pt.json +21 -0
- ekte/i18n/locales/fragments/tools-retire/de.json +6 -0
- ekte/i18n/locales/fragments/tools-retire/en.json +6 -0
- ekte/i18n/locales/fragments/tools-retire/es.json +6 -0
- ekte/i18n/locales/fragments/tools-retire/fr.json +6 -0
- ekte/i18n/locales/fragments/tools-retire/it.json +6 -0
- ekte/i18n/locales/fragments/tools-retire/pt.json +6 -0
- ekte/i18n/locales/fragments/tools-retire/zh.json +6 -0
- ekte/i18n/locales/fragments/v2-a11y-report/de.json +173 -0
- ekte/i18n/locales/fragments/v2-a11y-report/en.json +173 -0
- ekte/i18n/locales/fragments/v2-a11y-report/es.json +173 -0
- ekte/i18n/locales/fragments/v2-a11y-report/fr.json +173 -0
- ekte/i18n/locales/fragments/v2-a11y-report/it.json +173 -0
- ekte/i18n/locales/fragments/v2-a11y-report/pt.json +173 -0
- ekte/i18n/locales/fragments/v2-a11y-report/zh.json +100 -0
- ekte/i18n/locales/fragments/v2-all-dimensions/de.json +8 -0
- ekte/i18n/locales/fragments/v2-all-dimensions/en.json +8 -0
- ekte/i18n/locales/fragments/v2-all-dimensions/es.json +8 -0
- ekte/i18n/locales/fragments/v2-all-dimensions/fr.json +8 -0
- ekte/i18n/locales/fragments/v2-all-dimensions/it.json +8 -0
- ekte/i18n/locales/fragments/v2-all-dimensions/pt.json +8 -0
- ekte/i18n/locales/fragments/v2-analytics/de.json +207 -0
- ekte/i18n/locales/fragments/v2-analytics/en.json +207 -0
- ekte/i18n/locales/fragments/v2-analytics/es.json +207 -0
- ekte/i18n/locales/fragments/v2-analytics/fr.json +207 -0
- ekte/i18n/locales/fragments/v2-analytics/it.json +207 -0
- ekte/i18n/locales/fragments/v2-analytics/pt.json +207 -0
- ekte/i18n/locales/fragments/v2-audit/de.json +28 -0
- ekte/i18n/locales/fragments/v2-audit/en.json +28 -0
- ekte/i18n/locales/fragments/v2-audit/es.json +28 -0
- ekte/i18n/locales/fragments/v2-audit/fr.json +28 -0
- ekte/i18n/locales/fragments/v2-audit/it.json +28 -0
- ekte/i18n/locales/fragments/v2-audit/pt.json +28 -0
- ekte/i18n/locales/fragments/v2-background/de.json +21 -0
- ekte/i18n/locales/fragments/v2-background/en.json +21 -0
- ekte/i18n/locales/fragments/v2-background/es.json +21 -0
- ekte/i18n/locales/fragments/v2-background/fr.json +21 -0
- ekte/i18n/locales/fragments/v2-background/it.json +21 -0
- ekte/i18n/locales/fragments/v2-background/pt.json +21 -0
- ekte/i18n/locales/fragments/v2-console/de.json +21 -0
- ekte/i18n/locales/fragments/v2-console/en.json +21 -0
- ekte/i18n/locales/fragments/v2-console/es.json +21 -0
- ekte/i18n/locales/fragments/v2-console/fr.json +21 -0
- ekte/i18n/locales/fragments/v2-console/it.json +21 -0
- ekte/i18n/locales/fragments/v2-console/pt.json +21 -0
- ekte/i18n/locales/fragments/v2-download/de.json +6 -0
- ekte/i18n/locales/fragments/v2-download/en.json +6 -0
- ekte/i18n/locales/fragments/v2-download/es.json +6 -0
- ekte/i18n/locales/fragments/v2-download/fr.json +6 -0
- ekte/i18n/locales/fragments/v2-download/it.json +6 -0
- ekte/i18n/locales/fragments/v2-download/pt.json +6 -0
- ekte/i18n/locales/fragments/v2-exec-log/de.json +12 -0
- ekte/i18n/locales/fragments/v2-exec-log/en.json +12 -0
- ekte/i18n/locales/fragments/v2-exec-log/es.json +12 -0
- ekte/i18n/locales/fragments/v2-exec-log/fr.json +12 -0
- ekte/i18n/locales/fragments/v2-exec-log/it.json +12 -0
- ekte/i18n/locales/fragments/v2-exec-log/pt.json +12 -0
- ekte/i18n/locales/fragments/v2-fields/de.json +5 -0
- ekte/i18n/locales/fragments/v2-fields/en.json +5 -0
- ekte/i18n/locales/fragments/v2-fields/es.json +5 -0
- ekte/i18n/locales/fragments/v2-fields/fr.json +5 -0
- ekte/i18n/locales/fragments/v2-fields/it.json +5 -0
- ekte/i18n/locales/fragments/v2-fields/pt.json +5 -0
- ekte/i18n/locales/fragments/v2-form-errors/de.json +8 -0
- ekte/i18n/locales/fragments/v2-form-errors/en.json +8 -0
- ekte/i18n/locales/fragments/v2-form-errors/es.json +8 -0
- ekte/i18n/locales/fragments/v2-form-errors/fr.json +8 -0
- ekte/i18n/locales/fragments/v2-form-errors/it.json +8 -0
- ekte/i18n/locales/fragments/v2-form-errors/pt.json +8 -0
- ekte/i18n/locales/fragments/v2-foundation/de.json +20 -0
- ekte/i18n/locales/fragments/v2-foundation/en.json +20 -0
- ekte/i18n/locales/fragments/v2-foundation/es.json +20 -0
- ekte/i18n/locales/fragments/v2-foundation/fr.json +20 -0
- ekte/i18n/locales/fragments/v2-foundation/it.json +20 -0
- ekte/i18n/locales/fragments/v2-foundation/pt.json +20 -0
- ekte/i18n/locales/fragments/v2-history/de.json +48 -0
- ekte/i18n/locales/fragments/v2-history/en.json +48 -0
- ekte/i18n/locales/fragments/v2-history/es.json +48 -0
- ekte/i18n/locales/fragments/v2-history/fr.json +48 -0
- ekte/i18n/locales/fragments/v2-history/it.json +48 -0
- ekte/i18n/locales/fragments/v2-history/pt.json +48 -0
- ekte/i18n/locales/fragments/v2-kb/de.json +131 -0
- ekte/i18n/locales/fragments/v2-kb/en.json +131 -0
- ekte/i18n/locales/fragments/v2-kb/es.json +131 -0
- ekte/i18n/locales/fragments/v2-kb/fr.json +131 -0
- ekte/i18n/locales/fragments/v2-kb/it.json +131 -0
- ekte/i18n/locales/fragments/v2-kb/pt.json +131 -0
- ekte/i18n/locales/fragments/v2-landmarks/de.json +7 -0
- ekte/i18n/locales/fragments/v2-landmarks/en.json +7 -0
- ekte/i18n/locales/fragments/v2-landmarks/es.json +7 -0
- ekte/i18n/locales/fragments/v2-landmarks/fr.json +7 -0
- ekte/i18n/locales/fragments/v2-landmarks/it.json +7 -0
- ekte/i18n/locales/fragments/v2-landmarks/pt.json +7 -0
- ekte/i18n/locales/fragments/v2-masterkey/de.json +72 -0
- ekte/i18n/locales/fragments/v2-masterkey/en.json +72 -0
- ekte/i18n/locales/fragments/v2-masterkey/es.json +72 -0
- ekte/i18n/locales/fragments/v2-masterkey/fr.json +72 -0
- ekte/i18n/locales/fragments/v2-masterkey/it.json +72 -0
- ekte/i18n/locales/fragments/v2-masterkey/pt.json +72 -0
- ekte/i18n/locales/fragments/v2-monitors/de.json +50 -0
- ekte/i18n/locales/fragments/v2-monitors/en.json +50 -0
- ekte/i18n/locales/fragments/v2-monitors/es.json +50 -0
- ekte/i18n/locales/fragments/v2-monitors/fr.json +50 -0
- ekte/i18n/locales/fragments/v2-monitors/it.json +50 -0
- ekte/i18n/locales/fragments/v2-monitors/pt.json +50 -0
- ekte/i18n/locales/fragments/v2-monitors-filter/de.json +11 -0
- ekte/i18n/locales/fragments/v2-monitors-filter/en.json +11 -0
- ekte/i18n/locales/fragments/v2-monitors-filter/es.json +11 -0
- ekte/i18n/locales/fragments/v2-monitors-filter/fr.json +11 -0
- ekte/i18n/locales/fragments/v2-monitors-filter/it.json +11 -0
- ekte/i18n/locales/fragments/v2-monitors-filter/pt.json +11 -0
- ekte/i18n/locales/fragments/v2-monitors-schedule/de.json +42 -0
- ekte/i18n/locales/fragments/v2-monitors-schedule/en.json +42 -0
- ekte/i18n/locales/fragments/v2-monitors-schedule/es.json +42 -0
- ekte/i18n/locales/fragments/v2-monitors-schedule/fr.json +42 -0
- ekte/i18n/locales/fragments/v2-monitors-schedule/it.json +42 -0
- ekte/i18n/locales/fragments/v2-monitors-schedule/pt.json +42 -0
- ekte/i18n/locales/fragments/v2-notices/de.json +56 -0
- ekte/i18n/locales/fragments/v2-notices/en.json +56 -0
- ekte/i18n/locales/fragments/v2-notices/es.json +56 -0
- ekte/i18n/locales/fragments/v2-notices/fr.json +56 -0
- ekte/i18n/locales/fragments/v2-notices/it.json +56 -0
- ekte/i18n/locales/fragments/v2-notices/pt.json +56 -0
- ekte/i18n/locales/fragments/v2-perf/de.json +24 -0
- ekte/i18n/locales/fragments/v2-perf/en.json +24 -0
- ekte/i18n/locales/fragments/v2-perf/es.json +24 -0
- ekte/i18n/locales/fragments/v2-perf/fr.json +24 -0
- ekte/i18n/locales/fragments/v2-perf/it.json +24 -0
- ekte/i18n/locales/fragments/v2-perf/pt.json +24 -0
- ekte/i18n/locales/fragments/v2-protocol/de.json +11 -0
- ekte/i18n/locales/fragments/v2-protocol/en.json +11 -0
- ekte/i18n/locales/fragments/v2-protocol/es.json +11 -0
- ekte/i18n/locales/fragments/v2-protocol/fr.json +11 -0
- ekte/i18n/locales/fragments/v2-protocol/it.json +11 -0
- ekte/i18n/locales/fragments/v2-protocol/pt.json +11 -0
- ekte/i18n/locales/fragments/v2-protocol-attrs/de.json +36 -0
- ekte/i18n/locales/fragments/v2-protocol-attrs/en.json +36 -0
- ekte/i18n/locales/fragments/v2-protocol-attrs/es.json +36 -0
- ekte/i18n/locales/fragments/v2-protocol-attrs/fr.json +36 -0
- ekte/i18n/locales/fragments/v2-protocol-attrs/it.json +36 -0
- ekte/i18n/locales/fragments/v2-protocol-attrs/pt.json +36 -0
- ekte/i18n/locales/fragments/v2-protocol-attrs/zh.json +27 -0
- ekte/i18n/locales/fragments/v2-relaycfg/de.json +32 -0
- ekte/i18n/locales/fragments/v2-relaycfg/en.json +32 -0
- ekte/i18n/locales/fragments/v2-relaycfg/es.json +32 -0
- ekte/i18n/locales/fragments/v2-relaycfg/fr.json +32 -0
- ekte/i18n/locales/fragments/v2-relaycfg/it.json +32 -0
- ekte/i18n/locales/fragments/v2-relaycfg/pt.json +32 -0
- ekte/i18n/locales/fragments/v2-report/de.json +14 -0
- ekte/i18n/locales/fragments/v2-report/en.json +14 -0
- ekte/i18n/locales/fragments/v2-report/es.json +14 -0
- ekte/i18n/locales/fragments/v2-report/fr.json +14 -0
- ekte/i18n/locales/fragments/v2-report/it.json +14 -0
- ekte/i18n/locales/fragments/v2-report/pt.json +14 -0
- ekte/i18n/locales/fragments/v2-scoring/de.json +152 -0
- ekte/i18n/locales/fragments/v2-scoring/en.json +152 -0
- ekte/i18n/locales/fragments/v2-scoring/es.json +152 -0
- ekte/i18n/locales/fragments/v2-scoring/fr.json +152 -0
- ekte/i18n/locales/fragments/v2-scoring/it.json +152 -0
- ekte/i18n/locales/fragments/v2-scoring/pt.json +152 -0
- ekte/i18n/locales/fragments/v2-scoring/zh.json +133 -0
- ekte/i18n/locales/fragments/v2-tools/de.json +31 -0
- ekte/i18n/locales/fragments/v2-tools/en.json +31 -0
- ekte/i18n/locales/fragments/v2-tools/es.json +31 -0
- ekte/i18n/locales/fragments/v2-tools/fr.json +31 -0
- ekte/i18n/locales/fragments/v2-tools/it.json +31 -0
- ekte/i18n/locales/fragments/v2-tools/pt.json +31 -0
- ekte/i18n/locales/fragments/verdict-transport/de.json +8 -0
- ekte/i18n/locales/fragments/verdict-transport/en.json +8 -0
- ekte/i18n/locales/fragments/verdict-transport/es.json +8 -0
- ekte/i18n/locales/fragments/verdict-transport/fr.json +8 -0
- ekte/i18n/locales/fragments/verdict-transport/it.json +8 -0
- ekte/i18n/locales/fragments/verdict-transport/pt.json +8 -0
- ekte/i18n/locales/fragments/verdict-transport/zh.json +8 -0
- ekte/i18n/locales/it.json +872 -0
- ekte/i18n/locales/pt.json +872 -0
- ekte/i18n/locales/zh.json +533 -0
- ekte/judge/__init__.py +11 -0
- ekte/judge/judge.py +70 -0
- ekte/knowledge/__init__.py +24 -0
- ekte/knowledge/catalog.py +176 -0
- ekte/knowledge/data/__init__.py +7 -0
- ekte/knowledge/data/anthropic.yaml +1011 -0
- ekte/knowledge/data/deepseek.yaml +317 -0
- ekte/knowledge/data/gemini.yaml +913 -0
- ekte/knowledge/data/glm.yaml +896 -0
- ekte/knowledge/data/moonshot.yaml +563 -0
- ekte/knowledge/data/openai.yaml +1251 -0
- ekte/knowledge/data/qwen.yaml +953 -0
- ekte/knowledge/identity.py +119 -0
- ekte/knowledge/importer.py +427 -0
- ekte/knowledge/loader.py +360 -0
- ekte/knowledge/relays.py +105 -0
- ekte/knowledge/research.py +175 -0
- ekte/knowledge/schema.py +318 -0
- ekte/knowledge/snapshot.py +138 -0
- ekte/knowledge/store.py +227 -0
- ekte/legacy.py +104 -0
- ekte/media_audit.py +696 -0
- ekte/models.py +695 -0
- ekte/notify.py +311 -0
- ekte/perf/__init__.py +28 -0
- ekte/perf/recorder.py +366 -0
- ekte/perf/summary.py +409 -0
- ekte/perf/trend.py +89 -0
- ekte/prompts/__init__.py +69 -0
- ekte/prompts/en.json +183 -0
- ekte/report/__init__.py +29 -0
- ekte/report/dimensions.py +490 -0
- ekte/report/palette.py +94 -0
- ekte/report/pdf.py +725 -0
- ekte/report/performance.py +587 -0
- ekte/report/render.py +804 -0
- ekte/report/writer.py +94 -0
- ekte/runner.py +310 -0
- ekte/scoring.py +518 -0
- ekte/secretbox.py +274 -0
- ekte/utils/__init__.py +1 -0
- ekte/utils/net.py +49 -0
- ekte/utils/redact.py +118 -0
- ekte/utils/sse.py +84 -0
- ekte/utils/stats.py +95 -0
- ekte/utils/tokenize.py +64 -0
- ekte/utils/yamlio.py +96 -0
- ekte/web/__init__.py +9 -0
- ekte/web/analytics.py +1047 -0
- ekte/web/analytics_store.py +641 -0
- ekte/web/caching.py +271 -0
- ekte/web/history.py +787 -0
- ekte/web/jobs.py +440 -0
- ekte/web/masterkey.py +321 -0
- ekte/web/security.py +183 -0
- ekte/web/server.py +1935 -0
- ekte/web/static/i18n.js +454 -0
- ekte/web/static/icons.js +167 -0
- ekte/web/static/lang.js +517 -0
- ekte/web/static/locales.js +211 -0
- ekte/web/static/perf.js +1223 -0
- ekte/web/static/secretfield.js +142 -0
- ekte/web/static/v2/accessibility.html +506 -0
- ekte/web/static/v2/analytics.html +2048 -0
- ekte/web/static/v2/bitv-catalogue.json +409 -0
- ekte/web/static/v2/bitv-report.json +1283 -0
- ekte/web/static/v2/chartmotion.css +143 -0
- ekte/web/static/v2/chartmotion.js +300 -0
- ekte/web/static/v2/charts.css +115 -0
- ekte/web/static/v2/charts.js +593 -0
- ekte/web/static/v2/dimpick.js +43 -0
- ekte/web/static/v2/ekte.css +411 -0
- ekte/web/static/v2/favicon.svg +13 -0
- ekte/web/static/v2/fields.css +138 -0
- ekte/web/static/v2/filterpanel.css +26 -0
- ekte/web/static/v2/filterpanel.js +127 -0
- ekte/web/static/v2/history.html +1223 -0
- ekte/web/static/v2/index.html +1158 -0
- ekte/web/static/v2/jobs.css +27 -0
- ekte/web/static/v2/jobs.js +181 -0
- ekte/web/static/v2/kb.html +521 -0
- ekte/web/static/v2/kbsection.js +517 -0
- ekte/web/static/v2/kbview.js +119 -0
- ekte/web/static/v2/masterkey.js +511 -0
- ekte/web/static/v2/nav.js +140 -0
- ekte/web/static/v2/notice.js +66 -0
- ekte/web/static/v2/perf.css +87 -0
- ekte/web/static/v2/relaycfg.js +617 -0
- ekte/web/static/v2/report.css +232 -0
- ekte/web/static/v2/report.js +1043 -0
- ekte/web/static/v2/tabs.js +129 -0
- ekte/web/static/v2/theme.js +81 -0
- ekte/web/static/v2/tokens.css +92 -0
- ekte/web/static/v2/watches.html +1529 -0
- ekte/web/watches.py +855 -0
- ekte-0.30.0.dist-info/METADATA +922 -0
- ekte-0.30.0.dist-info/RECORD +418 -0
- ekte-0.30.0.dist-info/WHEEL +4 -0
- ekte-0.30.0.dist-info/entry_points.txt +2 -0
- ekte-0.30.0.dist-info/licenses/LICENSE +201 -0
- ekte-0.30.0.dist-info/licenses/NOTICE +20 -0
ekte/__init__.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"""ekte — LLM relay reality check.
|
|
2
|
+
|
|
3
|
+
A local-first CLI that audits whether an OpenAI-compatible or Anthropic-native API
|
|
4
|
+
relay actually serves the model it claims to (货不对板检测): real context window,
|
|
5
|
+
model identity and downgrade fingerprinting, capability claims, token/billing
|
|
6
|
+
sanity, streaming authenticity, reliability, and security signals.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
12
|
+
|
|
13
|
+
try:
|
|
14
|
+
# Single source of truth: the installed package metadata (pyproject `version`).
|
|
15
|
+
__version__ = version("ekte")
|
|
16
|
+
except PackageNotFoundError: # not installed (e.g. running from a source tree)
|
|
17
|
+
__version__ = "0.0.0+unknown"
|
|
18
|
+
|
|
19
|
+
__all__ = ["__version__"]
|