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.
Files changed (115) hide show
  1. {stratifyai-0.1.0/stratifyai.egg-info → stratifyai-0.1.2}/PKG-INFO +8 -5
  2. {stratifyai-0.1.0 → stratifyai-0.1.2}/README.md +5 -4
  3. {stratifyai-0.1.0 → stratifyai-0.1.2}/WARP.md +21 -11
  4. {stratifyai-0.1.0 → stratifyai-0.1.2}/cli/stratifyai_cli.py +574 -73
  5. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/API-REFERENCE.md +206 -68
  6. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/GETTING-STARTED.md +312 -30
  7. stratifyai-0.1.2/docs/UI-OVERVIEW.md +217 -0
  8. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/cli-usage.md +30 -22
  9. {stratifyai-0.1.0 → stratifyai-0.1.2}/pyproject.toml +3 -1
  10. stratifyai-0.1.2/requirements.txt +156 -0
  11. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/api_key_helper.py +1 -1
  12. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/config.py +158 -24
  13. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/models.py +36 -1
  14. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/anthropic.py +65 -5
  15. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/bedrock.py +96 -9
  16. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/grok.py +3 -2
  17. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/openai.py +63 -8
  18. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/openai_compatible.py +79 -7
  19. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/router.py +2 -2
  20. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/summarization.py +147 -3
  21. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/model_selector.py +3 -3
  22. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/provider_validator.py +4 -2
  23. {stratifyai-0.1.0 → stratifyai-0.1.2/stratifyai.egg-info}/PKG-INFO +8 -5
  24. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai.egg-info/SOURCES.txt +1 -1
  25. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai.egg-info/requires.txt +2 -0
  26. stratifyai-0.1.0/docs/frontend-integration.md +0 -624
  27. stratifyai-0.1.0/requirements.txt +0 -82
  28. {stratifyai-0.1.0 → stratifyai-0.1.2}/LICENSE +0 -0
  29. {stratifyai-0.1.0 → stratifyai-0.1.2}/MANIFEST.in +0 -0
  30. {stratifyai-0.1.0 → stratifyai-0.1.2}/cli/__init__.py +0 -0
  31. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/CHANGELOG.md +0 -0
  32. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/CONTRIBUTING.md +0 -0
  33. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/LangChain_vs_StratifyAI_vs_LLMLite.md +0 -0
  34. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/StatifyAI_For_Stakeholders.md +0 -0
  35. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/StratifyAI-Prompt-Caching.md +0 -0
  36. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/StratifyAI-Router-Logic.md +0 -0
  37. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/Why_StratefiAI.md +0 -0
  38. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/large-file-strategies.md +0 -0
  39. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/local-installation-guide.md +0 -0
  40. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/performance.md +0 -0
  41. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/provider-models-catalog.md +0 -0
  42. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/quick-start-guide.md +0 -0
  43. {stratifyai-0.1.0 → stratifyai-0.1.2}/docs/token-limit-quick-guide.md +0 -0
  44. {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/auto_selection_demo.py +0 -0
  45. {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/caching_examples.py +0 -0
  46. {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/chatbot.py +0 -0
  47. {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/cli_interactive_demo.md +0 -0
  48. {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/code_reviewer.py +0 -0
  49. {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/document_summarizer.py +0 -0
  50. {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/performance_benchmark.py +0 -0
  51. {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/rag_example.py +0 -0
  52. {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/router_example.py +0 -0
  53. {stratifyai-0.1.0 → stratifyai-0.1.2}/examples/web_server.py +0 -0
  54. {stratifyai-0.1.0 → stratifyai-0.1.2}/setup.cfg +0 -0
  55. {stratifyai-0.1.0 → stratifyai-0.1.2}/setup.py +0 -0
  56. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/__init__.py +0 -0
  57. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/caching.py +0 -0
  58. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/__init__.py +0 -0
  59. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/builder.py +0 -0
  60. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_anthropic.py +0 -0
  61. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_bedrock.py +0 -0
  62. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_deepseek.py +0 -0
  63. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_google.py +0 -0
  64. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_grok.py +0 -0
  65. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_groq.py +0 -0
  66. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_ollama.py +0 -0
  67. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_openai.py +0 -0
  68. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chat/stratifyai_openrouter.py +0 -0
  69. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/chunking.py +0 -0
  70. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/client.py +0 -0
  71. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/cost_tracker.py +0 -0
  72. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/embeddings.py +0 -0
  73. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/exceptions.py +0 -0
  74. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/__init__.py +0 -0
  75. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/base.py +0 -0
  76. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/deepseek.py +0 -0
  77. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/google.py +0 -0
  78. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/groq.py +0 -0
  79. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/ollama.py +0 -0
  80. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/providers/openrouter.py +0 -0
  81. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/py.typed +0 -0
  82. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/rag.py +0 -0
  83. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/retry.py +0 -0
  84. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/__init__.py +0 -0
  85. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/bedrock_validator.py +0 -0
  86. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/code_extractor.py +0 -0
  87. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/csv_extractor.py +0 -0
  88. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/file_analyzer.py +0 -0
  89. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/json_extractor.py +0 -0
  90. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/log_extractor.py +0 -0
  91. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/utils/token_counter.py +0 -0
  92. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai/vectordb.py +0 -0
  93. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai.egg-info/dependency_links.txt +0 -0
  94. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai.egg-info/entry_points.txt +0 -0
  95. {stratifyai-0.1.0 → stratifyai-0.1.2}/stratifyai.egg-info/top_level.txt +0 -0
  96. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/__init__.py +0 -0
  97. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_async_operations.py +0 -0
  98. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_bedrock_provider.py +0 -0
  99. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_caching.py +0 -0
  100. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_chat_builder.py +0 -0
  101. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_cli_auth_error.py +0 -0
  102. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_cli_chat.py +0 -0
  103. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_cli_file_loading.py +0 -0
  104. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_client.py +0 -0
  105. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_model_selector.py +0 -0
  106. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_models.py +0 -0
  107. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_openai_provider.py +0 -0
  108. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_phase71.py +0 -0
  109. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_phase72_extractors.py +0 -0
  110. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_phase74_caching.py +0 -0
  111. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_providers_phase2.py +0 -0
  112. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_router.py +0 -0
  113. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_router_extraction.py +0 -0
  114. {stratifyai-0.1.0 → stratifyai-0.1.2}/tests/test_temperature_unit.py +0 -0
  115. {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.0
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
  ![Python](https://img.shields.io/badge/python-3.10%2B-blue) ![License](https://img.shields.io/badge/license-MIT-green) ![Tests](https://img.shields.io/badge/tests-300%2B%20passing-brightgreen) ![Providers](https://img.shields.io/badge/providers-9-orange)
61
63
 
62
- **Status:** Phase 7.8 Complete
64
+ **Status:** Phase 7.9 Complete
63
65
  **Providers:** 9 Operational
64
- **Features:** Routing • RAG • Caching • Streaming • CLI • Web UI • Builder Pattern
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
- - Optional FastAPI web interface
98
+ - **Web UI** with markdown rendering and syntax highlighting
96
99
 
97
100
  ---
98
101
 
@@ -5,9 +5,9 @@
5
5
 
6
6
  ![Python](https://img.shields.io/badge/python-3.10%2B-blue) ![License](https://img.shields.io/badge/license-MIT-green) ![Tests](https://img.shields.io/badge/tests-300%2B%20passing-brightgreen) ![Providers](https://img.shields.io/badge/providers-9-orange)
7
7
 
8
- **Status:** Phase 7.8 Complete
8
+ **Status:** Phase 7.9 Complete
9
9
  **Providers:** 9 Operational
10
- **Features:** Routing • RAG • Caching • Streaming • CLI • Web UI • Builder Pattern
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
- - Optional FastAPI web interface
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.8 - Builder Pattern & Required Model
215
- **Progress:** Phases 1-6 + Phase 7.1-7.8 Complete
216
- **Latest Updates:** Phase 7.8 complete - Builder pattern for chat modules, model parameter now required (Feb 4, 2026)
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
- ### Current Focus (Week 7+: Feb 4+)
338
- **Phase 7.8: Builder Pattern & Required Model** COMPLETE
339
- - ChatBuilder class with fluent configuration
340
- - Model parameter now required (no defaults)
341
- - All 9 chat modules updated
342
- - 28 builder tests + 13 async tests passing
343
- - Documentation updates (README, WARP.md, developer-journal)
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