Metadata-Version: 2.4
Name: swiss-ai-hub-core
Version: 0.292.2
Summary: Foundational shared library for the Swiss AI Hub platform: event-driven Swiss AI Agent Protocol, auth, and AI/ML utilities.
Author: Joel Barmettler, Marius Högger, Michèle Fundneider, Thomas Mannhart, Noah Hermann
Author-email: Joel Barmettler <joel.barmettler@bbv.ch>, Marius Högger <marius.hoegger@bbv.ch>, Michèle Fundneider <michele.fundneider@bbv.ch>, Thomas Mannhart <thomas.mannhart@bbv.ch>, Noah Hermann <noah.hermann@bbv.ch>
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: mongoengine>=0.29.1
Requires-Dist: llama-index-core>=0.14.12,<0.15
Requires-Dist: azure-ai-documentintelligence>=1.0.2
Requires-Dist: pydantic-settings>=2.7.0
Requires-Dist: python-i18n>=0.3.9
Requires-Dist: nats-py>=2.9.0
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: llama-index-vector-stores-milvus>=0.9.4
Requires-Dist: fsspec>=2024.10.0
Requires-Dist: llama-index-readers-file>=0.5.6
Requires-Dist: colorlog>=6.9.0
Requires-Dist: openinference-instrumentation>=0.1.38
Requires-Dist: openinference-instrumentation-llama-index>=4.2.1
Requires-Dist: openinference-semantic-conventions>=0.1.21
Requires-Dist: opentelemetry-api>=1.39.1
Requires-Dist: opentelemetry-instrumentation>=0.60b1
Requires-Dist: opentelemetry-sdk>=1.39.1
Requires-Dist: opentelemetry-semantic-conventions>=0.60b1
Requires-Dist: opentelemetry-exporter-otlp>=1.39.1
Requires-Dist: pydantic>=2.10.3
Requires-Dist: llama-index-storage-docstore-mongodb>=0.4.1
Requires-Dist: llama-index-llms-openai-like>=0.5.3
Requires-Dist: transformers>=4.57.3
Requires-Dist: fastapi>=0.128.0
Requires-Dist: azure-storage-file-datalake>=12.22.0
Requires-Dist: adlfs>=2025.8.0
Requires-Dist: redis>=5.2.1
Requires-Dist: openai>=1.76.2
Requires-Dist: cachetools>=5.5.2
Requires-Dist: markitdown[docx,outlook,pptx,xlsx]>=0.1.4
Requires-Dist: boto3>=1.41.5
Requires-Dist: llama-index-embeddings-openai-like>=0.2.2
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.39.1
Requires-Dist: opentelemetry-instrumentation-httpx>=0.60b1
Requires-Dist: opentelemetry-instrumentation-requests>=0.60b1
Requires-Dist: opentelemetry-instrumentation-pymongo>=0.60b1
Requires-Dist: opentelemetry-instrumentation-jinja2>=0.60b1
Requires-Dist: opentelemetry-instrumentation-asyncio>=0.60b1
Requires-Dist: opentelemetry-instrumentation-redis>=0.60b1
Requires-Dist: opentelemetry-instrumentation-botocore>=0.60b1
Requires-Dist: opentelemetry-instrumentation-milvus>=0.47.0
Requires-Dist: opentelemetry-instrumentation-logging>=0.60b1
Requires-Dist: opentelemetry-instrumentation-aiohttp-client>=0.60b1
Requires-Dist: llama-index-postprocessor-cohere-rerank>=0.5.1
Requires-Dist: lxml>=5.4.0
Requires-Dist: html5lib>=1.1
Requires-Dist: pypdf>=6.1.3
Requires-Dist: boto3-stubs[s3]>=1.42.30
Requires-Dist: langfuse>=3.14.1
Requires-Dist: s3fs>=2024.10.0,<2025.0.0
Requires-Dist: tabulate>=0.9.0
Requires-Dist: pyjwt>=2.11.0
Requires-Dist: blinker>=1.9.0
Requires-Dist: scim2-client>=0.7.5
Requires-Dist: python-keycloak>=7.1.1
Requires-Dist: apprise>=1.9.9
Requires-Dist: pillow>=12.1.1
Requires-Dist: imagehash>=4.3.2
Requires-Dist: mem0ai>=1.0.2,<2
Requires-Dist: langchain-neo4j>=0.4.0
Requires-Dist: neo4j>=5.23.1
Requires-Dist: rank-bm25>=0.2.2
Requires-Dist: starlette>=1.0.1
Requires-Python: >=3.13, <3.14
Project-URL: Homepage, https://github.com/bbvch-ai/aihub-core
Project-URL: Repository, https://github.com/bbvch-ai/aihub-core
Project-URL: Documentation, https://bbvch-ai.github.io/aihub-core/
Project-URL: Issues, https://github.com/bbvch-ai/aihub-core/issues
Description-Content-Type: text/markdown

<div align="center">

# swiss-ai-hub-core

**The foundational shared library for [Swiss AI Hub](https://github.com/bbvch-ai/aihub-core). Every other Swiss AI Hub
Python package depends on it — you rarely install it directly.**

[![PyPI](https://img.shields.io/pypi/v/swiss-ai-hub-core?style=flat-square&logo=pypi&logoColor=white)](https://pypi.org/project/swiss-ai-hub-core/)
[![Python](https://img.shields.io/pypi/pyversions/swiss-ai-hub-core?style=flat-square&logo=python&logoColor=white)](https://pypi.org/project/swiss-ai-hub-core/)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square)](https://github.com/bbvch-ai/aihub-core/blob/main/packages/core/LICENSE)

</div>

______________________________________________________________________

## What is Swiss AI Hub?

[Swiss AI Hub](https://github.com/bbvch-ai/aihub-core) is an open-source, self-hosted AI platform for enterprises. One
`docker compose up` starts ~30 integrated containers — LLM gateway (LiteLLM), vector search (Milvus), data pipelines
(Dagster), SSO (Keycloak), observability (Langfuse), a chat UI (Open-WebUI), and more. You build custom agents,
pipelines, processes, and bot integrations with the Python SDK; the platform provides the runtime.

## What is this package?

`swiss-ai-hub-core` is the shared foundation the rest of the SDK is built on. It is a **library, not a runnable
service** — it provides the **Swiss AI Agent Protocol** (typed, event-driven messaging over NATS), authentication &
multi-tenancy, the Form configuration system, and shared AI/ML utilities. Every higher-level package imports it.

## You usually don't install this directly

Install the package for **what you're building** — each one depends on `swiss-ai-hub-core` and pulls it in
automatically:

| You want to…                                   | Install                                                                    | Imports as               |
| ---------------------------------------------- | -------------------------------------------------------------------------- | ------------------------ |
| Build a workflow-based **AI agent**            | [`swiss-ai-hub-agent`](https://pypi.org/project/swiss-ai-hub-agent/)       | `swiss_ai_hub.agent`     |
| Expose a **REST API + WebSocket gateway**      | [`swiss-ai-hub-api`](https://pypi.org/project/swiss-ai-hub-api/)           | `swiss_ai_hub.api`       |
| Connect agents to **Teams / Slack / web chat** | [`swiss-ai-hub-bot`](https://pypi.org/project/swiss-ai-hub-bot/)           | `swiss_ai_hub.bot`       |
| Build a **document-ingestion pipeline**        | [`swiss-ai-hub-pipeline`](https://pypi.org/project/swiss-ai-hub-pipeline/) | `swiss_ai_hub.pipeline`  |
| Orchestrate **multi-entity processes**         | [`swiss-ai-hub-process`](https://pypi.org/project/swiss-ai-hub-process/)   | `swiss_ai_hub.process`   |
| Install **the whole SDK**                      | [`swiss-ai-hub`](https://pypi.org/project/swiss-ai-hub/) (meta)            | (pulls all of the above) |

Reach for `swiss-ai-hub-core` on its own only in the rare case where you're writing a service that speaks the Swiss AI
Agent Protocol directly, without one of the higher-level engines above.

## Installation

```bash
pip install swiss-ai-hub-core   # usually unnecessary — it comes in with the package you actually want
```

All distributions share the `swiss_ai_hub.*` [native (PEP 420) namespace](https://peps.python.org/pep-0420/), so
`swiss_ai_hub.core`, `swiss_ai_hub.agent`, … coexist as sibling modules regardless of which subset you install.

## Links

- **Source & issues**: https://github.com/bbvch-ai/aihub-core
- **Documentation**: https://bbvch-ai.github.io/aihub-core/

## License

Apache-2.0 — see [packages/core/LICENSE](https://github.com/bbvch-ai/aihub-core/blob/main/packages/core/LICENSE). For
the full per-package license matrix, see [LICENSES.md](https://github.com/bbvch-ai/aihub-core/blob/main/LICENSES.md).

______________________________________________________________________

<div align="center">

Part of [Swiss AI Hub](https://github.com/bbvch-ai/aihub-core). Built in Switzerland by
[bbv Software Services](https://www.bbv.ch).

</div>
