Shared scaffold for CircuitForge products
Introduces circuitforge_core.config.license with validate_license() and get_license_tier(). Both functions are safe to call when CF_LICENSE_KEY is absent, returning free tier gracefully. Results are cached 30 min per (key, product) pair. CF_LICENSE_URL env var overrides the default Heimdall endpoint. Re-exports added to config.__init__. Existing test_config.py moved into tests/test_config/ package to co-locate with new test_license.py (10 tests; 204 total passing). |
||
|---|---|---|
| .forgejo/workflows | ||
| circuitforge_core | ||
| docker | ||
| tests | ||
| .cliff.toml | ||
| .gitignore | ||
| CHANGELOG.md | ||
| Dockerfile.orch | ||
| pyproject.toml | ||
| README.md | ||
circuitforge-core
Shared scaffold for CircuitForge products.
Current version: 0.7.0
Modules
Implemented
circuitforge_core.db— SQLite connection factory and migration runnercircuitforge_core.llm— LLM router with fallback chain (Ollama, vLLM, Anthropic, OpenAI-compatible)circuitforge_core.tiers— Tier system with BYOK and local vision unlockscircuitforge_core.config— Env validation and .env loadercircuitforge_core.hardware— Hardware detection and LLM backend profile generation (VRAM tiers, GPU/CPU auto-select)circuitforge_core.documents— Document ingestion pipeline: PDF, DOCX, and image OCR →StructuredDocumentcircuitforge_core.affiliates— Affiliate URL wrapping with opt-out, BYOK user IDs, and CF env-var fallback (wrap_url)circuitforge_core.preferences— User preference store (local YAML file, pluggable backend); dot-path get/set APIcircuitforge_core.tasks— VRAM-aware LLM task scheduler; shared slot manager across services (TaskScheduler)circuitforge_core.manage— Cross-platform product process manager (Docker and native modes)circuitforge_core.resources— Resource coordinator and agent: VRAM allocation, eviction engine, GPU profile registry
Stubs (in-tree, not yet implemented)
circuitforge_core.vision— Vision router base class (planned: moondream2 / Claude vision dispatch)circuitforge_core.wizard— First-run wizard base class (products subclassBaseWizard)circuitforge_core.pipeline— Staging queue base (StagingDB; products provide concrete schema)
Install
pip install -e .
License
BSL 1.1 — see LICENSE