Skip to main content

Language-agnostic URI to handler adapter

Project description

urirun python adapter

Install directly from GitHub:

pip install "git+https://github.com/if-uri/urirun.git@v0.3.13#subdirectory=adapters/python"

Or install a GitHub Release wheel:

pip install "https://github.com/if-uri/urirun/releases/download/v0.3.13/urirun-0.3.13-py3-none-any.whl"

PyPI publishing is not required. The distribution is named urirun; the Python import package remains urirun:

import urirun

After installation the urirun CLI is available:

urirun scan ./project --out .urirun/bindings.v2.json --registry-out .urirun/registry.merged.json
urirun validate .urirun/bindings.v2.json
urirun list .urirun/registry.merged.json
urirun run 'cli://local/git/status' .urirun/registry.merged.json

urirun-v1 and urirun-v2 are also installed as explicit versioned entry points for scripts that need a stable major-version command.

The optional v2 gRPC transport can be installed with:

pip install "urirun[grpc] @ git+https://github.com/if-uri/urirun.git@v0.3.13#subdirectory=adapters/python"

v2 can generate schema-first bindings and a compiled registry from existing artifacts:

urirun scan ./project \
  --out generated/bindings.v2.json \
  --registry-out generated/registry.json
urirun validate generated/bindings.v2.json
urirun list generated/registry.json

Connector packages can generate bindings directly from decorated Python functions. The shortest path is to declare the connector once and then attach short URI paths to functions:

import urirun

connector = urirun.connector("http-check", scheme="httpcheck")

@connector.command("http/query/status")
def status_command(url: str, expectStatus: int = 200, timeout: float = 10.0):
    return ["urirun-http-check", "status", "{url}", "--expect-status", "{expectStatus}"]

def urirun_bindings():
    return connector.bindings()

License

Licensed under Apache-2.0.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

urirun-0.4.76.tar.gz (307.0 kB view details)

Uploaded Source

Built Distribution

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

urirun-0.4.76-py3-none-any.whl (280.0 kB view details)

Uploaded Python 3

File details

Details for the file urirun-0.4.76.tar.gz.

File metadata

  • Download URL: urirun-0.4.76.tar.gz
  • Upload date:
  • Size: 307.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for urirun-0.4.76.tar.gz
Algorithm Hash digest
SHA256 00cd58a9de049b61f0b7e5f2bac051bef21e607ebfbfa2f004482e311d3e4db4
MD5 2b6ab92e1e2b70e67d12d35933326167
BLAKE2b-256 5223aa752da4b09280db7e51b052e677a71bc993bb570799e51ec44dcae125fd

See more details on using hashes here.

File details

Details for the file urirun-0.4.76-py3-none-any.whl.

File metadata

  • Download URL: urirun-0.4.76-py3-none-any.whl
  • Upload date:
  • Size: 280.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for urirun-0.4.76-py3-none-any.whl
Algorithm Hash digest
SHA256 419c40901e6e953642b2d626ae23e958e43a6ae79bd740e5fc93742578f4ad86
MD5 bc203467c59fc891fecd9e27b0984428
BLAKE2b-256 af483dade5d1e5f8067bcae9604208957b77851bca3600001493d33f5bd12429

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