Metadata-Version: 2.5
Name: obsei
Version: 1.0.0rc4
Summary: The self-hosted, open source alternative to Enterpret and Unwrap that strips PII before any LLM sees it.
Project-URL: Homepage, https://obsei.com
Project-URL: Documentation, https://docs.obsei.com
Project-URL: Blog, https://blog.obsei.com
Project-URL: Repository, https://github.com/obsei/obsei
Project-URL: Issues, https://github.com/obsei/obsei/issues
Project-URL: Changelog, https://github.com/obsei/obsei/blob/master/packages/obsei/CHANGELOG.md
Author: Lalit Pagaria
Maintainer: Lalit Pagaria
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: ai-agents,customer-feedback,dpdp,duckdb,feedback-analytics,gdpr,llm,mcp,multilingual,pii-redaction,privacy,self-hosted,sentiment-analysis,voice-of-customer
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Customer Service
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Office/Business
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: defusedxml<1,>=0.7.1
Requires-Dist: duckdb<2,>=1.5.6
Requires-Dist: httpx<1,>=0.28
Requires-Dist: pydantic<3,>=2.9
Requires-Dist: pyyaml<7,>=6.0.2
Requires-Dist: typer<1,>=0.15
Provides-Extra: apple
Requires-Dist: pyjwt[crypto]<3,>=2.15.1; extra == 'apple'
Provides-Extra: embeddings
Requires-Dist: fastembed<1,>=0.8; extra == 'embeddings'
Provides-Extra: google
Requires-Dist: google-auth[requests]<3,>=2.59.1; extra == 'google'
Provides-Extra: local
Requires-Dist: gliner2<3,>=2.1; extra == 'local'
Requires-Dist: huggingface-hub<3,>=0.30; extra == 'local'
Requires-Dist: torch<3,>=2.4; extra == 'local'
Requires-Dist: transformers<6,>=4.51; extra == 'local'
Provides-Extra: mcp
Requires-Dist: anyio<5,>=4.9; extra == 'mcp'
Requires-Dist: mcp<3,>=2.3; extra == 'mcp'
Requires-Dist: starlette<2,>=0.48; extra == 'mcp'
Requires-Dist: uvicorn<1,>=0.31.1; extra == 'mcp'
Provides-Extra: names
Requires-Dist: gliner<1,>=0.2.21; extra == 'names'
Provides-Extra: notify
Requires-Dist: apprise<3,>=1.9.4; extra == 'notify'
Provides-Extra: sql
Requires-Dist: sqlalchemy<3,>=2.0.36; extra == 'sql'
Description-Content-Type: text/markdown

<p align="center">
  <img src="https://raw.githubusercontent.com/obsei/obsei/master/docs/public/logo.png" alt="obsei" width="110">
</p>

# obsei

**Voice of Customer without violating privacy.** The self-hosted, open source alternative to Enterpret and Unwrap that strips PII before any LLM sees it.
Collect feedback from every channel and language, redact personal data before it is stored, find
stable themes, and let your AI agents answer questions with cited evidence.

> 1.0 is in pre-release and is not compatible with 0.0.x. Install it with the `>=1.0.0rc1`
> specifier; a plain `pip install obsei` still gives 0.0.15.

```bash
pip install "obsei[mcp]>=1.0.0rc1"     # or: uv tool install "obsei[mcp]>=1.0.0rc1"
obsei init
export OBSEI_DB_KEY="$(openssl rand -hex 24)" OBSEI_PSEUDONYM_SALT="$(openssl rand -hex 24)"
obsei try && obsei run
```

Optional extras: `mcp` (MCP server, `obsei serve`), `sql`, `google`, `apple`, `names` (person-name
redaction), `embeddings` (multilingual themes).

- Docs: https://docs.obsei.com
- Live demo: https://docs.obsei.com/demo/
- Source: https://github.com/obsei/obsei
- Container: `ghcr.io/obsei/obsei:1.0.0-rc.4` <!-- x-release-please-version -->
