ContextGem - Extract structured data and insights from documents using LLMs and decision models
================================================================================================

Copyright 2025 Shcherbak AI AS
Developed by Sergii Shcherbak

This software is licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

==============================================================================
THIRD-PARTY COMPONENTS
==============================================================================

This software includes the following third-party components:

Core Dependencies:
- aiolimiter: Rate limiting for asynchronous operations
- colorlog: Colored logging formatter
- docstring-parser: Docstring parsing for auto-generating tool schemas
- fastjsonschema: Fast JSON schema validator
- genai-prices: LLM pricing data and utilities (by Pydantic) to automatically estimate costs
- Jinja2: Templating engine
- litellm: LLM interface library (this software uses only MIT-licensed portions of LiteLLM and does not utilize any components from the enterprise/ directory)
- onnxruntime: ONNX model inference runtime (constrained for Python 3.14 wheel compatibility; used transitively via wtpsplit-lite)
- openai: OpenAI Python client (pinned for stable compatibility with litellm)
- pillow: Image processing library for local model image handling
- pydantic: Data validation
- python-ulid: ULID generation
- tenacity: Retry library for Python
- wtpsplit-lite: Lightweight version of wtpsplit that only retains accelerated ONNX inference of SaT models with minimal dependencies

Development Dependencies:
- bandit: Python security linter
- commitizen: Conventional commit tool and release management
- coverage: Test coverage measurement
- deptry: Python dependency checker for unused, missing and transitive dependencies
- fabric: SSH and command execution library used for development task automation
- hypothesis: Property-based testing library used for invariant tests of pure utility functions
- interrogate: Python docstring coverage checker
- licenseal: License compatibility checker for the dependencies (used for the license audit in LICENSES.md)
- pre-commit: Pre-commit hooks
- ty: Static type checker for Python
- pytest: Testing framework
- pytest-cov: Coverage plugin for pytest
- pytest-recording: Recording HTTP interactions for tests
- python-dotenv: Environment variable management
- ruff: Fast Python linter and formatter
- sphinx: Documentation generator
- sphinx-autobuild: Live-reloading docs builder for Sphinx
- sphinx-autodoc-typehints: Type annotation support for Sphinx
- sphinx-book-theme: Book-like theme for Sphinx
- sphinx-copybutton: Adds copy button to code blocks in Sphinx docs
- sphinx-design: Component library for Sphinx documentation
- sphinx-llm: Generates llms.txt and a Markdown copy of each page of the Sphinx documentation
- sphinx-sitemap: Generates XML sitemaps for Sphinx documentation
- sphinxext-opengraph: OpenGraph metadata support for Sphinx documentation
- tethered: Network egress control (used to enforce the egress policy of the tests)
- twine: PyPI package metadata validator (used by the package-check pre-commit hook)

Development Tools (npm, package.json):
- @playwright/mcp: Browser automation server that gives AI coding assistants a browser (used to look at the README preview)
- github-markdown-css: GitHub's Markdown styles (used by the README preview)

Each of these components may have their own licenses. Users should refer to the
respective project repositories for detailed license information.

==============================================================================
