Skip to main content

flieber-cli

flieber is the command-line and agent interface to Flieber's commerce data. It gives developers, scripts and AI agents (Claude, Cursor, Lovable, custom agents) one stable, versioned way to read a tenant's:

  • actual sales: what each channel recorded, per product × store;
  • adjusted sales: actuals corrected for stockouts, outliers and price effects, used as the forecast input;
  • forecast: expected demand per product × store, from today on (meta.last_nonzero_forecast_period is the latest period with a non-zero forecast; core-service exposes no horizon).

Status: v0 in design. The architecture and contract v1 are ADR-0001 (Accepted). The code arrives through the issues in the Linear project "Data Layer Product (Vibee) | Backend" (team Flieber AI - R&D, milestone M3). Only the 0.0.1 placeholder is published so far.

Shape

One Python package: a shared core, and several surfaces built on it.

            ┌──────────────────── flieber (Python package) ────────────────────┐
            │  core: auth · GraphQL client · versioned tool contract · shaping  │
            └──────┬──────────────────────┬───────────────────────┬────────────┘
                   │                      │                       │
          CLI  `flieber …`      MCP (local)  `flieber mcp`   MCP (hosted)  `flieber mcp --http`
          humans & scripts      stdio, launched by           container behind a stable URL,
                                Claude / Cursor              used by the self-serve product
  • Core
    • Authentication with a Flieber public-API key (FLIEBER_API_KEY, or the OS keyring or a 0600 config file, written by flieber auth login).
    • A client for core-service's public GraphQL API.
    • The versioned tool contract: one definition per capability. It drives both the CLI command and the MCP tool, so the two cannot drift (a ratchet test checks the parity, ADR-0001 §7).
    • Output shaping for humans (tables) and for LLMs (compact {columns, rows}, point caps, pagination).
  • CLI: flieber status, flieber listings, flieber products, flieber mapping, flieber sales, flieber adjusted, flieber forecast, flieber trends. JSON output is available for scripts.
  • MCP: the same capabilities as MCP tools, over stdio (local) or streamable HTTP (hosted, stateless). The hosted mode forwards the caller's own API key and stores nothing.

Design rule: customers bind to this contract, never to the raw GraphQL schema. The backend behind it may change; the contract changes only through versioning.

Principles and how to contribute

  • What the project is, and the rules no change may break (the three signals, least privilege, no secrets at rest, bounded cost and output, honest results): docs/00-invariants.md. It ranks above everything else.
  • How work is done (proof before done, test-first, ports and adapters, one authoritative path per process): AGENTS.md. It applies to humans and agents alike.
  • Decisions: docs/adr/.

Tooling (v0)

  • Python ≥ 3.12.
  • Packaging with uv and pyproject.toml; installable as uvx flieber … / pipx install flieber.
  • Tests with pytest, run as uv run pytest (ADR-0001 §8).

flieber is published on PyPI (the 0.0.1 placeholder, 2026-09-29, CI pipeline 2894945075). Releases, the version scheme and the changelog rules: docs/release.md.

Development

uv sync                                        # Python ≥ 3.12, with the dev dependency group
uv run pytest                                  # tests never reach the network
uv run ruff check src tests scripts && uv run ruff format --check src tests scripts
uv run python -m flieber.contract.document --write   # after a contract change; review the diff
python scripts/pin_schema.py <core-service ref>      # re-pin core-service's schema
scripts/release_check.sh                       # build and verify dist/ exactly as CI does (docs/release.md)
uv run flieber --env qa ping                   # the proof run against QA (needs a QA key)

How work is done here, including what counts as proof, is in AGENTS.md.

  • core-service: the public GraphQL API at /api/graphql, and public-API keys with per-resource grants.
  • flieber-build-front: the self-serve portal, which issues API keys and shows the MCP and CLI configuration.
  • ai-lab tools/flieber_agent_tunnel: the existing ask_flieber MCP server. It is the reference for the streamable-HTTP MCP skeleton and the Clerk OAuth pieces.

Metadata

Release files for flieber 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flieber 0.1.1
File Size Uploaded Provenance
flieber-0.1.1.tar.gz 38.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for flieber 0.1.1
File Interpreter ABI Platform
flieber-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 93.3 kB

Release files / flieber-0.1.1.tar.gz

Download URL flieber-0.1.1.tar.gz
Size 38.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ac771eccaf10af0b40d5b8aa80791365ce5db84a0074807a8310ddca78e670e5
BLAKE2b-256 checksum
How to use checksums
2aa47dce133588610337a9d99cb529c32abb30abee281d425ac85d89ce0b2038
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / flieber-0.1.1-py3-none-any.whl

Download URL flieber-0.1.1-py3-none-any.whl
Size 54.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9a42c72eb8cfc34a92c4c659d99630928a6abb77a07932b2eef5df66f605d278
BLAKE2b-256 checksum
How to use checksums
f9a23d1a846ff101b4c2525aab9b8a8d6a620d81c42edfe9a9d337bf7f070dc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.12.15

Security for flieber 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page