Metadata-Version: 2.4
Name: infimum-core
Version: 1.2.17
Summary: Infimum core library: base, engine, database, AI (LLM/VLM/speech), utils
Author-email: infimum <infimum.xyz@gmail.com>
Maintainer-email: infimum <infimum.xyz@gmail.com>
License: Apache-2.0
Project-URL: Repository, https://github.com/inf-codebase/infimum-core
Project-URL: Issues, https://github.com/inf-codebase/infimum-core/issues
Project-URL: Documentation, https://inf-codebase.github.io/infimum-core
Keywords: infimum,core,database,ai,llm,vlm,speech,embeddings,vector-database,milvus,qdrant,mongodb
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Database
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: decorator>=5.2.0
Requires-Dist: loguru>=0.7.3
Requires-Dist: pydantic>=2.0
Requires-Dist: pydantic-settings>=2.0
Requires-Dist: python-decouple>=3.8
Requires-Dist: python-dotenv>=1.2.0
Requires-Dist: pytz
Requires-Dist: redis>=7.1.0
Requires-Dist: requests
Requires-Dist: beautifulsoup4
Requires-Dist: sqlalchemy>=2.0.45
Requires-Dist: openai>=2.15.0
Requires-Dist: numpy>=1.24.0
Requires-Dist: pillow>=11.0
Requires-Dist: opencv-python>=4.8.0
Requires-Dist: librosa>=0.11.0
Provides-Extra: api
Requires-Dist: fastapi>=0.128.0; extra == "api"
Provides-Extra: mongo
Requires-Dist: pymongo>=4.16.0; extra == "mongo"
Requires-Dist: motor>=3.6.0; extra == "mongo"
Provides-Extra: milvus
Requires-Dist: pymilvus>=2.6.6; extra == "milvus"
Provides-Extra: qdrant
Requires-Dist: qdrant-client>=1.7.0; extra == "qdrant"
Provides-Extra: all-db
Requires-Dist: pymongo>=4.16.0; extra == "all-db"
Requires-Dist: motor>=3.6.0; extra == "all-db"
Requires-Dist: pymilvus>=2.6.6; extra == "all-db"
Requires-Dist: qdrant-client>=1.7.0; extra == "all-db"
Provides-Extra: security
Requires-Dist: bcrypt>=4.0.0; extra == "security"
Requires-Dist: python-jose[cryptography]>=3.3.0; extra == "security"
Provides-Extra: llm
Requires-Dist: langchain-core>=0.2.0; extra == "llm"
Requires-Dist: langchain>=0.2.0; extra == "llm"
Requires-Dist: langchain-openai>=0.1.0; extra == "llm"
Requires-Dist: langchain-community>=0.2.0; extra == "llm"
Requires-Dist: langgraph>=0.2.0; extra == "llm"
Dynamic: license-file

# infimum-core

Infimum core library: base entities, engine (DI/context/startup), database layer (PostgreSQL, Milvus, Qdrant, MongoDB), AI (LLM, VLM, speech, embeddings), and utilities.

**Documentation:** From repo root run `pip install -e ./core && pip install -r docs/requirements.txt && mkdocs serve`, then open http://127.0.0.1:8000. Or run `mkdocs build` to output the static site to `site/`.

## Install

**From PyPI:**

```bash
pip install infimum-core
```

**From GitHub (default branch):**

```bash
pip install "git+https://github.com/inf-codebase/infimum.git#subdirectory=core"
```

**From a GitHub release:** use the release tag (e.g. `v0.1.0`) with `@tag` before `#subdirectory`:

```bash
pip install "git+https://github.com/inf-codebase/infimum.git@v0.1.0#subdirectory=core"
```

**From a specific branch:** e.g. `...infimum.git@main#subdirectory=core`.

Then `import core` in Python. Local editable: `pip install -e ./core` from repo root. With [uv](https://docs.astral.sh/uv/): `uv sync --project core` from repo root. Optional extras: `pip install infimum-core[all-db,security,llm]` (see table below).



## Optional extras

| Extra    | Description                                      |
|----------|--------------------------------------------------|
| `mongo`  | MongoDB support (pymongo, motor)                 |
| `milvus` | Milvus vector database                           |
| `qdrant` | Qdrant vector database                           |
| `all-db` | All database backends (mongo, milvus, qdrant)    |
| `security` | JWT, password hashing (bcrypt, python-jose)    |
| `llm`    | LLM/agent stack (LangChain, LangGraph)           |

## Usage

Import remains unchanged:

```python
import core
from core.base.entity import BaseEntity, Document
from core.database import DatabaseManager, VectorIndexConfig
from core.engine import context, startup
from core.utils import string_utils, auto_config
```

## Subpackages

- **core.base** — Entities, registry, repository base
- **core.engine** — Context, decorators, startup, security (optional)
- **core.database** — Database managers and interfaces (Postgres, Milvus, Qdrant, Mongo)
- **core.ai** — LLM, VLM, speech, embeddings, data loaders, preprocessing
- **core.utils** — Config, embedding helpers, crawling, Redis, validation, etc.
