Skip to main content

Better Decision SDK for IT agent actions with BIGHUB.

Project description

BIGHUB SDK

Better decisions for IT agent actions.

Beta release: this is the first public Better Decision SDK beta.

BIGHUB helps AI agents and CI/CD workflows make better IT decisions before execution.

It takes a proposed IT action, builds a Decision Packet, runs DecisionBrain, and returns execution guidance:

  • proceed when appropriate
  • pause for review
  • ask for more context
  • advise not to run
  • suggest a real better_action only when the backend actually produced one
pip install --pre bighub

For future stable releases, use:

pip install bighub

Python 3.9+. Single dependency: httpx.


Quick Start

from bighub import Bighub


def run(action_to_run):
    raise NotImplementedError("Connect this to your executor.")


bighub = Bighub(api_key="your_api_key")

decision = bighub.decide(
    action="Roll out billing-api v3.12 to production",
    context={
        "system": "kubernetes",
        "environment": "production",
        "service": "billing-api",
        "ticket": "CHG-4401",
    },
)

if decision.needs_review:
    decision.request_review()
elif decision.needs_more_context:
    print("More context required:", decision.reason)
elif decision.should_not_run:
    print("Do not run:", decision.reason)
elif decision.can_run:
    action_to_run = decision.better_action or decision.proposed_action
    run(action_to_run)

bighub.close()

Recommended flow:

proposed IT action -> Decision Packet -> DecisionBrain -> better_action when real -> execution mode and flags -> review or context when needed


When to use BIGHUB

Use BIGHUB before risky actions such as:

  • GitHub Actions, GitLab CI, or Jenkins deploys
  • terraform apply
  • Argo CD sync or Kubernetes / OpenShift rollout
  • Okta or IAM access changes
  • credential rotation
  • incident updates in Slack
  • security gates after Trivy / Syft / SBOM signals
  • production actions that may need review or additional context

If your workflow only reads data or performs harmless lookups, you probably do not need BIGHUB.


What a Decision returns

High-value fields most workflows care about:

  • better_action: a real backend-produced alternative when available, otherwise None
  • mode: execution guidance such as autonomous, constrained, review, blocked, or needs_context
  • can_run, needs_review, needs_more_context, should_not_run: direct operational flags
  • risk: top-level risk score when provided
  • decision_path: routing or evaluation path when provided
  • packet: the DecisionPacket used for the decision
  • brain: the DecisionBrainResult with reasoning summary, confidence, expected regret when provided, and related signals
  • selected_model: present only when the backend actually selected one

For a smaller stable surface, use decision.brief():

brief = decision.brief()

if brief.can_run:
    run(brief.recommended_action)
elif brief.needs_review:
    print("Review required:", brief.reason)

Honest behavior

The SDK is intentionally strict about what it does and does not invent:

  • better_action is None unless BIGHUB returned a genuinely distinct recommendation
  • selected_model is None unless the backend actually selected one
  • decision_path and model-selection fields stay empty when the backend did not provide them
  • outcomes are optional and not required for a first integration
  • legacy BighubClient and client.actions.evaluate(...) remain available for existing integrations

If a backend decision_packet has no packet_sha256, the SDK computes a stable local hash and marks it with packet.packet_sha256_is_local=True.


Optional: outcome reporting

If you want a learning loop later, report what happened after execution:

decision.report_outcome(
    status="completed",
    evidence={"deployment_id": "dep_123"},
)

Outcome reporting is optional. The primary integration wedge is still the decision before execution.


CI/CD and system integrations

You can connect system evidence so BIGHUB sees recent operational context before deciding.

For lower-level resources, BighubClient remains available:

from bighub import BighubClient

client = BighubClient(api_key="your_api_key")

client.systems.save_connection(
    "gitlab",
    {
        "base_url": "https://gitlab.com",
        "gitlab_token": "glpat_...",
        "project_id": "123",
    },
    display_name="GitLab production",
)

client.systems.update_poll_schedule("gitlab", enabled=True, interval_seconds=300)
client.systems.poll("gitlab")
world = client.systems.world_state()

client.close()

System providers currently supported by the SDK/API include okta, slack, github, datadog, sentry, aws_cloudtrail, terraform, kubernetes, argocd, gitlab, jenkins, azure, prometheus, grafana, and openshift.

Poll snapshots and histories are redacted before persistence and exposure. They provide best-effort operational context; they are not a replacement for production monitoring.

Typical uses:

  • gate a GitHub Actions or GitLab deploy with recent operational context
  • inspect Kubernetes, Argo CD, Prometheus, or Grafana state before rollout
  • apply IAM or Okta changes with better review posture
  • incorporate security and incident signals before execution

Compatibility

The modern entrypoint is bighub.decide(...).

For existing integrations, legacy BighubClient, client.actions.submit(...), and client.actions.evaluate(...) remain supported.


Links


License

MIT

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

bighub-0.1.0b2.tar.gz (49.6 kB view details)

Uploaded Source

Built Distribution

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

bighub-0.1.0b2-py3-none-any.whl (58.5 kB view details)

Uploaded Python 3

File details

Details for the file bighub-0.1.0b2.tar.gz.

File metadata

  • Download URL: bighub-0.1.0b2.tar.gz
  • Upload date:
  • Size: 49.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bighub-0.1.0b2.tar.gz
Algorithm Hash digest
SHA256 0e5758761e6ae8078a3583e8b946b48c65064373f52916b15c65ff9390a27394
MD5 6f2a9a84cc3c05878daec58057fc387b
BLAKE2b-256 e54e4b7ab05509417e728ab8c0af49abbeb7bdb9a96878a0624efae5dd640ea9

See more details on using hashes here.

Provenance

The following attestation bundles were made for bighub-0.1.0b2.tar.gz:

Publisher: publish-pypi.yml on bighub-io/bighub

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bighub-0.1.0b2-py3-none-any.whl.

File metadata

  • Download URL: bighub-0.1.0b2-py3-none-any.whl
  • Upload date:
  • Size: 58.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bighub-0.1.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 4fe38904d0721f7817be7caeeb584833ba2379a1e61f1d3817ef20c0d8706204
MD5 5d060288eb88e6572bbd8c03889e1f07
BLAKE2b-256 557794cb7ac21dca799d50110e64f642389c58be765cad4d09825e3beaa30719

See more details on using hashes here.

Provenance

The following attestation bundles were made for bighub-0.1.0b2-py3-none-any.whl:

Publisher: publish-pypi.yml on bighub-io/bighub

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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