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

Uploaded Source

File details

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

File metadata

  • Download URL: blocks_sdk-0.1.105.tar.gz
  • Upload date:
  • Size: 62.4 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.105.tar.gz
Algorithm Hash digest
SHA256 436c9ce62422fafe980c409d92bf0ef26270299f55677a25c58a6871b31a7cc0
MD5 716b49df8030df05bf0e4e58abbd002a
BLAKE2b-256 5b7c597e81385edc88a0f6d4b2641c56c4d24dd07e3bf773d4ccc96c8ac741de

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