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.103.tar.gz (59.5 kB view details)

Uploaded Source

File details

Details for the file blocks_sdk-0.1.103.tar.gz.

File metadata

  • Download URL: blocks_sdk-0.1.103.tar.gz
  • Upload date:
  • Size: 59.5 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.103.tar.gz
Algorithm Hash digest
SHA256 aded78883d2ae00f3fd36833444158ff2f8d4ca492caf71a01fe8e456e03ddd6
MD5 31ebc8049c197127e3eb317f230bc0a9
BLAKE2b-256 2960e896262dee6533a433da255fd915e79f299a80eb6a3f099eb3896b6a7a91

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