Skip to main content

Extracts verified business-logic and schema context from Oracle, PostgreSQL, MySQL and SQL Server

Project description

BAUCLI

Business-logic context for your databases — kept true to production.

BAUCLI runs on the developer's machine. It connects to Oracle, PostgreSQL, MySQL and SQL Server, extracts the real structure and PL/SQL logic, and turns it into documentation that is reviewed by people and consumed by AI — then writes it back where it belongs: COMMENT ON in the database and context files in your repository.

Because the context is extracted from the live database on every sync, it does not drift away from what is actually deployed. That is the difference between documentation you trust and documentation you stopped reading.

It is the local component of the BAU platform (BEG Application Utilities), which stores the catalog, runs the AI drafting and holds the approval workflow.

Quick Start

# Install
pip install baucli

# or with all database drivers
pip install baucli[all]

# Activate license
baucli init --license BAU-XXXX-XXXX-XXXX-XXXX

# Add a database
baucli connect --name dev_oracle --engine oracle \
  --host localhost --port 1521 --service XEPDB1 --user DEMO_HR \
  --schemas DEMO_HR

# Sync objects to BAU Server
baucli sync

# Download AI context for your IDE
baucli context

Commands

Command Description
baucli init --license <key> Activate license, receive API key
baucli connect --name <alias> ... Add and test a database connection
baucli sync [--db name | --all] Sync objects to BAU Server
baucli context [--db name] Download AI context (CLAUDE.md)
baucli status Show config, quota, pending deploys
baucli deploy list List pending deploys
baucli deploy approve <id> Approve a deploy
baucli deploy apply <id> Download and apply deploy script
baucli db list List configured databases
baucli db remove <name> Remove a database
baucli db default <name> Set default database

Multi-Database Support

Configure multiple databases in ~/.baucli/config.json:

# Add Oracle dev
baucli connect --name dev_oracle --engine oracle --host localhost --port 1521 --service XEPDB1 --user HR

# Add PostgreSQL staging
baucli connect --name staging_pg --engine postgresql --host pg-staging --port 5432 --database erp --user app_user

# Add SQL Server production
baucli connect --name prod_mssql --engine mssql --host sql-prod --port 1433 --database erp --user bau_reader

# Sync specific database
baucli sync --db staging_pg

# Sync all
baucli sync --all

# Set default
baucli db default dev_oracle

Supported Databases

Engine Driver Install
Oracle 19c+ oracledb (thin mode) pip install baucli (included)
PostgreSQL 14+ psycopg pip install baucli (included)
SQL Server 2019+ python-tds pip install baucli (included)
MySQL 8.0+ mysql-connector pip install baucli (included)

Configuration

Config file: ~/.baucli/config.json

{
  "license_key": "BAU-XXXX-XXXX-XXXX-XXXX",
  "api_url": "https://begbrokerdev.begcloud.com/ords/bauctx/api/v1",
  "api_key": "bau_cli_xxxx",
  "tenant_code": "ACME_CORP",
  "default_db": "dev_oracle",
  "databases": {
    "dev_oracle": {
      "engine": "oracle",
      "host": "localhost",
      "port": 1521,
      "service": "XEPDB1",
      "user": "DEMO_HR",
      "schemas": ["DEMO_HR"]
    },
    "staging_pg": {
      "engine": "postgresql",
      "host": "pg-staging.internal",
      "port": 5432,
      "database": "erp_hml",
      "user": "app_user",
      "schemas": ["public", "hr"]
    }
  },
  "sync_interval_min": 30,
  "context_output": "CLAUDE.md"
}

Passwords are stored separately in ~/.baucli/.credentials (restricted permissions).

Override config dir with BAUCLI_HOME=~/.baucli-tenant2 to keep multiple isolated profiles on the same machine.

Security

  • Database credentials never leave the developer's machine
  • Only extracted metadata and source code are sent to BAU Server via HTTPS
  • API key uses SHA256 hash — plain token shown once at baucli init
  • Passwords stored in ~/.baucli/.credentials with mode 600 (or OS keychain when available)
  • BAU Server never executes DDL on your database

Requirements

  • Python 3.9+
  • Network access to BAU Server (HTTPS)
  • Database access (read-only on DBA_SOURCE, DBA_TABLES, etc.)

License

Proprietary — BEG Support © 2025-2026 www.begcloud.com

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

baucli-1.0.38.tar.gz (457.5 kB view details)

Uploaded Source

Built Distribution

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

baucli-1.0.38-py3-none-any.whl (472.2 kB view details)

Uploaded Python 3

File details

Details for the file baucli-1.0.38.tar.gz.

File metadata

  • Download URL: baucli-1.0.38.tar.gz
  • Upload date:
  • Size: 457.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for baucli-1.0.38.tar.gz
Algorithm Hash digest
SHA256 87be47f65d8363ae857bf97a6bb1fa77f3b4565d6e82f7316f1a6e9b0bba579b
MD5 6a821773b2c7d88ffceb19a2071cbd28
BLAKE2b-256 4052c2f12282f4f5ee2f0b0f7cb01886963dfb1feba0614d8c84e09c7e5bd64b

See more details on using hashes here.

File details

Details for the file baucli-1.0.38-py3-none-any.whl.

File metadata

  • Download URL: baucli-1.0.38-py3-none-any.whl
  • Upload date:
  • Size: 472.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for baucli-1.0.38-py3-none-any.whl
Algorithm Hash digest
SHA256 4e2961e8b9658b9b1449242d20b69b09d2bcab043e5d66587e639e42fde9894d
MD5 674b14ee02cb8b5c411b541704643fa5
BLAKE2b-256 405f0b2cf9a1fc1c7885b276f718161f528c7829c8285ce24472c6e031589426

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