Skip to main content

Official AMEIDE Python SDK

Project description

Ameide Python SDK

ameide-sdk-python ships the unified AmeideClient with defaults and service coverage defined in sdk/README.md and sdk/manifest/ameide-client.json.

Install

  • Buf BSR (primary registry): configure Buf auth in ~/.netrc (or set PIP_NETRC=1 + NETRC=...) and install from the Buf Python index:
    cat >~/.netrc <<'NETRC'
    machine buf.build
      login user
      password ${BUF_TOKEN:?set BUF_TOKEN to a Buf API token}
    NETRC
    
    PIP_EXTRA_INDEX_URL=https://buf.build/gen/python \
      pip install ameide-sdk-python==<version>
    
  • GitHub Packages mirror:
    pip install \
      --extra-index-url https://<USER>:<PAT>@pypi.pkg.github.com/ameideio/simple/ \
      --index-url https://pypi.org/simple \
      ameide-sdk-python==<version>
    
  • GHCR (OCI) mirror for air-gapped installs:
    printf '%s' "${PAT_WITH_READ_PACKAGES}" | oras login ghcr.io --username "${GITHUB_USER}" --password-stdin
    VERSION=<version>
    oras pull ghcr.io/ameideio/ameide/ameide-sdk-python:${VERSION}
    wheel_path=$(find . -name 'ameide-sdk-python-*.whl' -print -quit)
    pip install "${wheel_path}"
    

Tokens & handling

  • PAT scope: read:packages (add write:packages only when publishing).
  • Local dev: keep the PAT in .env and feed it to pip (PIP_INDEX_URL/PIP_EXTRA_INDEX_URL) or inline in the mirror URL; never commit credentials.
  • CI: store the PAT in repo/org secrets (e.g., PKG_GITHUB_COM_TOKEN) and inject at runtime for mirror installs; PyPI publishes use PYPI_TOKEN.

Usage

from ameide_sdk.client import AmeideClient

client = AmeideClient(
    endpoint="api.ameide.io:443",
    tenant_id="...",
    user_id="...",
    auth=lambda: "...token...",
)

The client supports async/sync auth providers, tracing, retries, timeouts, tenant/user metadata, request-id injection, and transport overrides via channel or channel_factory. Optional helper factory: create_element_service(client.graph) yields convenience methods for elements/relationships without mutating the core client surface.

Integration settings

Integration tests read INTEGRATION_GRPC_ADDRESS (or NEXT_CORE_GRPC_URL), plus INTEGRATION_TENANT_ID, INTEGRATION_USER_ID, INTEGRATION_ORGANIZATION_ID, and INTEGRATION_BEARER_TOKEN; enable with RUN_INTEGRATION_TESTS=1. See sdk/README.md for the full option contract.

Notes

  • Import stubs directly from ameide_core_proto.*; legacy ameide_sdk.generated.* paths have been removed.
  • The wheel bundles the generated proto/gRPC code so no additional Buf wheels or registry credentials are required beyond the registry hosting ameide-sdk-python.
  • Align release/process documentation with backlog/388-ameideio-sdks.md and keep AmeideClient behavior in sync with sdk/README.md.

Development (no committed generated code)

  • Generate stubs locally when working from source: ./packages/ameide_sdk_python/scripts/gen_protos.sh (requires buf and the core proto workspace present).
  • CI runs the same generation step before packing/tests; the generated files stay git-ignored but are included in the wheel/sdist.

Versioning

  • Source version stays 0.0.0 in Git. CI copies the package to a temp dir, stamps pyproject.toml with the tag-derived version, and runs uv build/uv publish. No committed VERSION file or env override participates in version resolution.
  • Local builds keep 0.0.0 (for ad-hoc/dev use only). The published artifacts always carry the tag-derived version.

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

ameide_sdk_python-0.1.15.dev20251124.tar.gz (143.7 kB view details)

Uploaded Source

Built Distribution

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

ameide_sdk_python-0.1.15.dev20251124-py3-none-any.whl (188.6 kB view details)

Uploaded Python 3

File details

Details for the file ameide_sdk_python-0.1.15.dev20251124.tar.gz.

File metadata

  • Download URL: ameide_sdk_python-0.1.15.dev20251124.tar.gz
  • Upload date:
  • Size: 143.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ameide_sdk_python-0.1.15.dev20251124.tar.gz
Algorithm Hash digest
SHA256 e9fdce3395d72483da3e5f88056630e74b34e058d5afc783fd425ebc05f68a95
MD5 ec777cd874da03e16c73ee5af4bcd643
BLAKE2b-256 eae50283599a5f83a08df6e6f078b2a0da1fbcfa310345c662910f0c7e804b45

See more details on using hashes here.

File details

Details for the file ameide_sdk_python-0.1.15.dev20251124-py3-none-any.whl.

File metadata

  • Download URL: ameide_sdk_python-0.1.15.dev20251124-py3-none-any.whl
  • Upload date:
  • Size: 188.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ameide_sdk_python-0.1.15.dev20251124-py3-none-any.whl
Algorithm Hash digest
SHA256 fbf7c7c519462dab1c359d6477c9bc5f5e28695c4777c87ae0c8e66059ef1e0d
MD5 0eced38900c35db2951f708ae84b5ab1
BLAKE2b-256 fa407e1dab3e92a16be732b0d1baf013e6b71017bbc9fd32781b0cac2e35dac2

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