Skip to main content

Write custom AI-enabled codebase automations in Python. Leverage a full codebase-aware API. Automatically trigger automations from Github, Slack, and other providers.

Project description

Blocks SDK

Write custom AI-enabled codebase automations in Python. Leverage a full codebase-aware API. Automatically trigger automations from Github, Slack, and other providers.

We're currently in private alpha, we recommend consistently updating your SDK to the latest version to get the latest features and fixes.

Getting Started

1. Install SDK

pip install blocks-sdk

2. Create a new Blocks project

mkdir -p .blocks/myautomation
cd .blocks/myautomation

3. Create a new automation

# automation.py
from blocks import task, on

@task(name="my_automation")
@on("github.pull_request", repos=["MyOrg/MyRepo"])
def my_automation(event):
    print(event)

5. Upload your automation

blocks init --api-key <your-api-key>
blocks push automation.py

Repository Provider Configuration

Set REPO_PROVIDER when using blocks.repo APIs.

GitHub

  • REPO_PROVIDER=github
  • GITHUB_TOKEN=<token>
  • REPO_URL=https://github.com/<owner>/<repo>.git (or legacy GITHUB_REPOSITORY_PATH=<owner>/<repo>)

GitLab

  • REPO_PROVIDER=gitlab
  • GITLAB_TOKEN=<token>
  • REPO_URL=https://gitlab.com/<owner>/<repo>.git

Bitbucket Cloud

  • REPO_PROVIDER=bitbucket
  • BITBUCKET_TOKEN=<token>
  • REPO_URL=https://bitbucket.org/<workspace>/<repo_slug>.git
  • Optional for git clone auth flows: BITBUCKET_USERNAME=<username>

Bitbucket pull request support includes creating/updating PRs, general and inline comments, replies, approvals, and request-changes reviews.

Download files

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

Source Distribution

blocks_sdk-0.1.104rc0.tar.gz (61.9 kB view details)

Uploaded Source

File details

Details for the file blocks_sdk-0.1.104rc0.tar.gz.

File metadata

  • Download URL: blocks_sdk-0.1.104rc0.tar.gz
  • Upload date:
  • Size: 61.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for blocks_sdk-0.1.104rc0.tar.gz
Algorithm Hash digest
SHA256 2fdab09d99a86d91351a5caa17c3701032806b4529e840a4d75e6fb67a19eea8
MD5 4dd86079d0b853e8e78d0ee0bed2b3d2
BLAKE2b-256 7831a920c27945e1abb68b5cba690b75972b566c6709420e37008888ac8f55a8

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