stratifyai 0.1.0__tar.gz → 0.1.2__tar.gz
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.
- {stratifyai-0.1.0/stratifyai.egg-info → stratifyai-0.1.2}/PKG-INFO +8 -5
- {stratifyai-0.1.0 → stratifyai-0.1.2}/README.md +5 -4
- {stratifyai-0.1.0 → stratifyai-0.1.2}/WARP.md +21 -11
- {stratifyai-0.1.0 → stratifyai-0.1.2}/cli/stratifyai_cli.py +574 -73
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/API-REFERENCE.md +206 -68
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/GETTING-STARTED.md +312 -30
- stratifyai-0.1.2/docs/UI-OVERVIEW.md +217 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/cli-usage.md +30 -22
- {stratifyai-0.1.0 → stratifyai-0.1.2}/pyproject.toml +3 -1
- stratifyai-0.1.2/requirements.txt +156 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/api_key_helper.py +1 -1
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/config.py +158 -24
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/models.py +36 -1
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/anthropic.py +65 -5
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/bedrock.py +96 -9
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/grok.py +3 -2
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/openai.py +63 -8
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/openai_compatible.py +79 -7
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/router.py +2 -2
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/summarization.py +147 -3
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/model_selector.py +3 -3
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/provider_validator.py +4 -2
- {stratifyai-0.1.0 → stratifyai-0.1.2/stratifyai.egg-info}/PKG-INFO +8 -5
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai.egg-info/SOURCES.txt +1 -1
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai.egg-info/requires.txt +2 -0
- stratifyai-0.1.0/docs/frontend-integration.md +0 -624
- stratifyai-0.1.0/requirements.txt +0 -82
- {stratifyai-0.1.0 → stratifyai-0.1.2}/LICENSE +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/MANIFEST.in +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/cli/__init__.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/CHANGELOG.md +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/CONTRIBUTING.md +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/LangChain_vs_StratifyAI_vs_LLMLite.md +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/StatifyAI_For_Stakeholders.md +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/StratifyAI-Prompt-Caching.md +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/StratifyAI-Router-Logic.md +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/Why_StratefiAI.md +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/large-file-strategies.md +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/local-installation-guide.md +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/performance.md +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/provider-models-catalog.md +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/quick-start-guide.md +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/token-limit-quick-guide.md +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/auto_selection_demo.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/caching_examples.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/chatbot.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/cli_interactive_demo.md +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/code_reviewer.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/document_summarizer.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/performance_benchmark.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/rag_example.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/router_example.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/web_server.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/setup.cfg +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/setup.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/__init__.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/caching.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/__init__.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/builder.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_anthropic.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_bedrock.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_deepseek.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_google.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_grok.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_groq.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_ollama.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_openai.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_openrouter.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chunking.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/client.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/cost_tracker.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/embeddings.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/exceptions.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/__init__.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/base.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/deepseek.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/google.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/groq.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/ollama.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/openrouter.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/py.typed +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/rag.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/retry.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/__init__.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/bedrock_validator.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/code_extractor.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/csv_extractor.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/file_analyzer.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/json_extractor.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/log_extractor.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/token_counter.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/vectordb.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai.egg-info/dependency_links.txt +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai.egg-info/entry_points.txt +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai.egg-info/top_level.txt +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/__init__.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_async_operations.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_bedrock_provider.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_caching.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_chat_builder.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_cli_auth_error.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_cli_chat.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_cli_file_loading.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_client.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_model_selector.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_models.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_openai_provider.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_phase71.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_phase72_extractors.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_phase74_caching.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_providers_phase2.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_router.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_router_extraction.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_temperature_unit.py +0 -0
- {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_temperature_validation.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: stratifyai
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Unified multi-provider LLM abstraction module with intelligent routing, cost tracking, and caching
|
|
5
5
|
Author-email: Steven Cotton <cototnbytes@gmail.com>
|
|
6
6
|
Maintainer-email: Steven Cotton <cototnbytes@gmail.com>
|
|
@@ -31,6 +31,8 @@ Requires-Dist: boto3>=1.34.0
|
|
|
31
31
|
Requires-Dist: python-dotenv>=1.0.0
|
|
32
32
|
Requires-Dist: pydantic>=2.0.0
|
|
33
33
|
Requires-Dist: typing-extensions>=4.0.0
|
|
34
|
+
Requires-Dist: typer>=0.9.0
|
|
35
|
+
Requires-Dist: tiktoken>=0.5.0
|
|
34
36
|
Provides-Extra: dev
|
|
35
37
|
Requires-Dist: pytest>=9.0.0; extra == "dev"
|
|
36
38
|
Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
|
|
@@ -59,9 +61,9 @@ Dynamic: license-file
|
|
|
59
61
|
|
|
60
62
|
   
|
|
61
63
|
|
|
62
|
-
**Status:** Phase 7.
|
|
64
|
+
**Status:** Phase 7.9 Complete
|
|
63
65
|
**Providers:** 9 Operational
|
|
64
|
-
**Features:** Routing • RAG • Caching • Streaming • CLI • Web UI •
|
|
66
|
+
**Features:** Routing • RAG • Caching • Streaming • CLI • Web UI • Vision • Smart Chunking
|
|
65
67
|
|
|
66
68
|
StratifyAI is a production‑ready Python framework that provides a unified interface for 9+ LLM providers, including OpenAI, Anthropic, Google, DeepSeek, Groq, Grok, OpenRouter, Ollama, and AWS Bedrock. It eliminates vendor lock‑in, simplifies multi‑model development, and enables intelligent routing, cost tracking, caching, streaming, and RAG workflows.
|
|
67
69
|
|
|
@@ -83,16 +85,17 @@ StratifyAI is a production‑ready Python framework that provides a unified inte
|
|
|
83
85
|
- Capability filtering (vision, tools, reasoning)
|
|
84
86
|
- Model metadata and context window awareness
|
|
85
87
|
- **Builder pattern** for fluent configuration
|
|
88
|
+
- **Vision support** for image analysis (GPT-4o, Claude, Gemini, Nova)
|
|
86
89
|
|
|
87
90
|
### Advanced
|
|
88
91
|
|
|
89
|
-
- Large‑file handling with chunking and progressive summarization
|
|
92
|
+
- Large‑file handling with **smart chunking** and progressive summarization
|
|
90
93
|
- File extraction (CSV schema, JSON schema, logs, code structure)
|
|
91
94
|
- Auto model selection for extraction tasks
|
|
92
95
|
- RAG pipeline with embeddings + vector DB (ChromaDB)
|
|
93
96
|
- Semantic search and citation tracking
|
|
94
97
|
- Rich/Typer CLI with interactive mode
|
|
95
|
-
-
|
|
98
|
+
- **Web UI** with markdown rendering and syntax highlighting
|
|
96
99
|
|
|
97
100
|
---
|
|
98
101
|
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
   
|
|
7
7
|
|
|
8
|
-
**Status:** Phase 7.
|
|
8
|
+
**Status:** Phase 7.9 Complete
|
|
9
9
|
**Providers:** 9 Operational
|
|
10
|
-
**Features:** Routing • RAG • Caching • Streaming • CLI • Web UI •
|
|
10
|
+
**Features:** Routing • RAG • Caching • Streaming • CLI • Web UI • Vision • Smart Chunking
|
|
11
11
|
|
|
12
12
|
StratifyAI is a production‑ready Python framework that provides a unified interface for 9+ LLM providers, including OpenAI, Anthropic, Google, DeepSeek, Groq, Grok, OpenRouter, Ollama, and AWS Bedrock. It eliminates vendor lock‑in, simplifies multi‑model development, and enables intelligent routing, cost tracking, caching, streaming, and RAG workflows.
|
|
13
13
|
|
|
@@ -29,16 +29,17 @@ StratifyAI is a production‑ready Python framework that provides a unified inte
|
|
|
29
29
|
- Capability filtering (vision, tools, reasoning)
|
|
30
30
|
- Model metadata and context window awareness
|
|
31
31
|
- **Builder pattern** for fluent configuration
|
|
32
|
+
- **Vision support** for image analysis (GPT-4o, Claude, Gemini, Nova)
|
|
32
33
|
|
|
33
34
|
### Advanced
|
|
34
35
|
|
|
35
|
-
- Large‑file handling with chunking and progressive summarization
|
|
36
|
+
- Large‑file handling with **smart chunking** and progressive summarization
|
|
36
37
|
- File extraction (CSV schema, JSON schema, logs, code structure)
|
|
37
38
|
- Auto model selection for extraction tasks
|
|
38
39
|
- RAG pipeline with embeddings + vector DB (ChromaDB)
|
|
39
40
|
- Semantic search and citation tracking
|
|
40
41
|
- Rich/Typer CLI with interactive mode
|
|
41
|
-
-
|
|
42
|
+
- **Web UI** with markdown rendering and syntax highlighting
|
|
42
43
|
|
|
43
44
|
---
|
|
44
45
|
|
|
@@ -211,9 +211,9 @@ pip freeze > requirements.txt
|
|
|
211
211
|
|
|
212
212
|
## Project Status
|
|
213
213
|
|
|
214
|
-
**Current Phase:** Phase 7.
|
|
215
|
-
**Progress:** Phases 1-6 + Phase 7.1-7.
|
|
216
|
-
**Latest Updates:** Phase 7.
|
|
214
|
+
**Current Phase:** Phase 7.9 - Web UI Enhancements ✅
|
|
215
|
+
**Progress:** Phases 1-6 + Phase 7.1-7.9 Complete
|
|
216
|
+
**Latest Updates:** Phase 7.9 complete - Vision support, smart chunking, markdown rendering, model labels (Feb 5, 2026)
|
|
217
217
|
|
|
218
218
|
### Completed Phases
|
|
219
219
|
- ✅ Phase 1: Core Implementation (100%)
|
|
@@ -333,14 +333,24 @@ pip freeze > requirements.txt
|
|
|
333
333
|
- chat() raises ValueError if model not specified
|
|
334
334
|
- 28 builder unit tests passing (tests/test_chat_builder.py)
|
|
335
335
|
- 13 async operations tests passing (tests/test_async_operations.py)
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
-
|
|
340
|
-
-
|
|
341
|
-
-
|
|
342
|
-
-
|
|
343
|
-
-
|
|
336
|
+
- ✅ Phase 7.9: Web UI Enhancements (100%)
|
|
337
|
+
- Vision support for image uploads (GPT-4o, Claude, Gemini, Nova)
|
|
338
|
+
- Dynamic file input based on model vision capability
|
|
339
|
+
- Smart chunking with configurable chunk size (10k-100k chars)
|
|
340
|
+
- Markdown rendering with marked.js for assistant responses
|
|
341
|
+
- Syntax highlighting with highlight.js (190+ languages)
|
|
342
|
+
- Model metadata display (context window, validation status)
|
|
343
|
+
- Category-based model grouping in dropdowns
|
|
344
|
+
- Temperature auto-disable for reasoning models
|
|
345
|
+
|
|
346
|
+
### Current Focus (Week 7+: Feb 5+)
|
|
347
|
+
**Phase 7.9: Web UI Enhancements** ✅ COMPLETE
|
|
348
|
+
- ✅ Vision support with pre-upload validation
|
|
349
|
+
- ✅ Smart chunking toggle with size slider
|
|
350
|
+
- ✅ Markdown rendering for assistant messages
|
|
351
|
+
- ✅ Syntax highlighting for code blocks
|
|
352
|
+
- ✅ Model labels and category grouping
|
|
353
|
+
- ✅ Documentation updates (README, ENTERPRISE_README, api/README, WARP.md)
|
|
344
354
|
|
|
345
355
|
**Future Phases:**
|
|
346
356
|
- 📝 Phase 8: Production Deployment
|