Skip to main content

Mountable FastAPI admin router for lattice-meetbot captures. Constructor-DI, MeetbotAdminRepo protocol, SQLite reference impl.

Project description

lattice-meetbot-admin

Mountable FastAPI admin router for lattice-meetbot captures.

Installation

pip install lattice-meetbot-admin

With dev server support:

pip install 'lattice-meetbot-admin[server]'

Quick Start

Mount into a FastAPI host

from fastapi import FastAPI
from lattice_meetbot_admin import create_router, MeetbotAdminConfig

config = MeetbotAdminConfig(
    db_url="sqlite:///./meetbot_admin.db",
    # auth_dependency=require_admin_auth,  # optional: your FastAPI auth callable
)

app = FastAPI()
app.include_router(create_router(config), prefix="/api/meetbot-admin")

Then hit http://localhost:8000/api/meetbot-admin/health to confirm it's live.

Migrations

lattice-meetbot-admin migrate --db-url sqlite:///./meetbot_admin.db

Dev server (standalone)

lattice-meetbot-admin dev-server --db-url sqlite:///./meetbot_admin.db
# API at http://127.0.0.1:5557/api/meetbot-admin/docs

Architecture

lattice-meetbot-admin is a constructor-DI package -- no global state. Pass your config once at mount time:

  • MeetbotAdminConfig -- Pydantic v2 settings model (env-var overrides via MEETBOT_ADMIN_* prefix)
  • MeetbotAdminRepo -- typing.Protocol; implement against your storage backend or use the bundled SqliteMeetbotAdminRepo
  • create_router(config, repo=...) -- returns an APIRouter; mount under any prefix
  • create_admin_app(config, repo=...) -- returns a FastAPI sub-application for app.mount()

REST API (v0.1)

Method Path Description
GET /health Health check
GET /meetings List meetings (paginated, filterable)
GET /meetings/{id} Meeting detail (segments + speakers)
GET /meetings/{id}/segments Transcript segments
GET /meetings/{id}/speakers Per-speaker stats
GET /personas List personas
GET /personas/autocomplete?q= Ranked autocomplete
GET /personas/{name} Persona detail
PATCH /personas/{name} Update persona fields
GET /voicenotes List voicenote profiles
GET /voicenotes/{persona_name} Voicenote profile
PUT /voicenotes/{persona_name} Upsert voicenote (idempotent)

Deferred (M.1b+)

/chat, /search, /clips, /webhooks -- not included in v0.1.

License

Apache-2.0. Author: CodeWarrior4Life.

Project details


Download files

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

Source Distribution

lattice_meetbot_admin-0.1.0.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

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

lattice_meetbot_admin-0.1.0-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

Details for the file lattice_meetbot_admin-0.1.0.tar.gz.

File metadata

  • Download URL: lattice_meetbot_admin-0.1.0.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for lattice_meetbot_admin-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8ad8cd8aed658a5e43e2cf00856f0cff7309d382d152ac6b6010d33cdf036be1
MD5 765822444541f193f01d18601ee40c0e
BLAKE2b-256 ca2a3e6bb2a639b19d6e7dd1fe2867ccb7ce3ccd60d8618775ab25a0513afb70

See more details on using hashes here.

File details

Details for the file lattice_meetbot_admin-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for lattice_meetbot_admin-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b80cf39a7ce02652c904f52c20f98efc34c93e45b983ceb36cc9a11344c326b
MD5 a38e60dc2a3ab5af5683378ba16a923d
BLAKE2b-256 4dce4d28cb12a0c3e4dcbc87c8e7211456d7eec88dc1ace106a1890388001426

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