Skip to main content

Open-source foundation of the Compair collaboration platform.

Project description

Compair Core

Compair Core is the open-source foundation of the Compair platform. It bundles the shared data models, FastAPI application, email utilities, and local-only helpers so that you can run Compair in a self-hosted or evaluation environment without premium cloud integrations.

The premium cloud offering (available at https://www.compair.sh/) layers on premium services (premium models, OCR, storage, etc.). Core gracefully falls back to local behaviour when those packages are not present.

Repository Layout

Path Purpose
compair/ Core runtime (ORM models, tasks, embeddings, feedback).
server/ FastAPI app factory and dependency providers used by both editions.
compair_email/ Console mailer + minimal templates for account verification and password reset.
docs/ Additional documentation (see docs/editions.md for an overview of the two editions).

Installing

pip install compair-core

This installs the package as a dependency so you can embed Compair into your own FastAPI instance or reuse the models in scripts. The core library exposes hooks for the private cloud extension that Compair itself uses for hosted deployments.

Installing from source

You can also install directly from GitHub (handy for pinning to a specific commit or branch):

pip install "git+https://github.com/RocketResearch-Inc/compair_core.git@main"

For local development:

git clone https://github.com/RocketResearch-Inc/compair_core.git
cd compair_core
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Containers

Container definitions and build pipelines live outside this public package:

  • The core container lives alongside the private CI workflow in the compair_cloud repository (Dockerfile.core). It installs this package from PyPI and runs the FastAPI factory with SQLite defaults.
  • A cloud container (Dockerfile.cloud) is built from a private cloud extension that enables premium features. For more information, please visit https://www.compair.sh/.

Configuration

Key environment variables for the core edition:

  • COMPAIR_EDITION (core) – corresponds to this core local implementation.
  • COMPAIR_SQLITE_DIR / COMPAIR_SQLITE_NAME – override the default local SQLite path (falls back to ./compair_data if /data is not writable).
  • COMPAIR_LOCAL_MODEL_URL – endpoint for your local embeddings/feedback service (defaults to http://local-model:9000).
  • COMPAIR_EMAIL_BACKEND – the core mailer logs emails to stdout; cloud overrides this with transactional delivery.
  • COMPAIR_REQUIRE_AUTHENTICATION (true) – set to false to run the API in single-user mode without login or account management. When disabled, Compair auto-provisions a local user, group, and long-lived session token so you can upload documents immediately.
  • COMPAIR_SINGLE_USER_USERNAME / COMPAIR_SINGLE_USER_NAME – override the email-style username and display name that are used for the auto-provisioned local user in single-user mode.

See compair_core/server/settings.py for the full settings surface.

Developing Locally

python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
uvicorn compair_core.server.app:create_app --factory --reload

The API will be available at http://127.0.0.1:8000 and supports the Swagger UI at /docs.

Tests / Linting

Core currently ships with a syntax sanity check (python -m compileall ...). You can add pytest or other tooling as needed.

Release and packaging steps are documented in docs/maintainers.md.

Reporting Issues

Please open GitHub issues or PRs against this repository. If you are a Compair Cloud customer, reach out through your support channel for issues related to premium features.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

compair_core-0.3.11.tar.gz (55.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

compair_core-0.3.11-py3-none-any.whl (63.0 kB view details)

Uploaded Python 3

File details

Details for the file compair_core-0.3.11.tar.gz.

File metadata

  • Download URL: compair_core-0.3.11.tar.gz
  • Upload date:
  • Size: 55.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for compair_core-0.3.11.tar.gz
Algorithm Hash digest
SHA256 776faa147735755f7c1939654e92c5b1099ce79872957c4525c58af2bcfb1c58
MD5 86a77e786094fa325caa10d19401808f
BLAKE2b-256 31de2a905aee0215689279bdb05af5b047f468bb25a5f6ac1145bd0d771fde87

See more details on using hashes here.

File details

Details for the file compair_core-0.3.11-py3-none-any.whl.

File metadata

  • Download URL: compair_core-0.3.11-py3-none-any.whl
  • Upload date:
  • Size: 63.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for compair_core-0.3.11-py3-none-any.whl
Algorithm Hash digest
SHA256 d51812be9b408c2b619d6367583980b4e79d23f74e8ad931c86348a688797b09
MD5 1cec37a1e484ad71b864564283854140
BLAKE2b-256 73902be83e6dfc17180e79172d5c621e0dde9cfe500c0ae4be06849da1ccf826

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page