Skip to main content

Python SDK for the Driftstone API.

Project description

Driftstone - Python

Python SDK for the Driftstone repository API.

Install

pip install driftstone

Quick Start

from driftstone import Driftstone

client = Driftstone(api_key="your-api-key")

repo = client.repos.create(
    "hello-world",
)

upload = client.repos.create_upload(
    "hello-world",
    storage_dir="ver-1234abcd",
    files=[{"name": "README.md", "hash": "64-character-sha256-or-client-hash"}],
)

# Upload each file to the returned signed URL with PUT and
# Content-Type: application/octet-stream.
for upload_url in upload.upload_urls:
    print(upload_url.name, upload_url.url)

client.repos.complete_upload("hello-world", upload.upload_id)

download = client.repos.create_download(
    "hello-world",
    type="main",
    files=[{"path": "ver-1234abcd/README.md"}],
)

for download_url in download.download_urls:
    print(download_url.path, download_url.url)

branch = client.repos.create_branch(
    "hello-world",
    "feature-readme",
    storage_dir="state-123",
    transforms={"README.md": "# Example Repo\nUpdated content.\n"},
)

print(repo.id, branch.name)

Using A Context Manager

from driftstone import Driftstone

with Driftstone(api_key="your-api-key") as client:
    repo = client.repos.get("hello-world")
    branches = client.repos.list_branches(repo.slug)

    print(repo.name, [branch.name for branch in branches])

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

driftstone-1.0.0.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

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

driftstone-1.0.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file driftstone-1.0.0.tar.gz.

File metadata

  • Download URL: driftstone-1.0.0.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.6

File hashes

Hashes for driftstone-1.0.0.tar.gz
Algorithm Hash digest
SHA256 421d0ae3c72e6e4f262edd873369055f803126686b543c1de0e5c9e314e11aa6
MD5 01053d61d68f71e56a16a2771f8906ce
BLAKE2b-256 0acb6d1973c2b221d853435667c8cc4ffcc4eecec5385fd050e00c51fe301509

See more details on using hashes here.

File details

Details for the file driftstone-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: driftstone-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.6

File hashes

Hashes for driftstone-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dc43753a39d11f12f164a248bc0a5c0ed56ca9dad5e27cbdff4a6577db4e0ec5
MD5 b45f4c6bc0a0839849ed31cb3007d752
BLAKE2b-256 5fe6f93be617a9edc7e0925e13ed968dc3554348223dd89ca7e33c7861316549

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