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.49.tar.gz (243.1 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.49-py3-none-any.whl (221.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for urirun-0.4.49.tar.gz
Algorithm Hash digest
SHA256 ced8dff3b2cd3ef1fa8ed8ad02eaa03852fcc624b256f91151bd52fece51bbd0
MD5 b0bcefcb094b32f99ec948fdb3a49bdf
BLAKE2b-256 ea5e14280fb7b17f8aa09e11c252e2048f399b518a4ed0dd21d5a0414f8ac1eb

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for urirun-0.4.49-py3-none-any.whl
Algorithm Hash digest
SHA256 dfc76363265acf9736b330894178d0e70785643d0a915d143feca0cdc1f0060d
MD5 577a38d9b9286d1110a8f65489f0aa4d
BLAKE2b-256 bd36b7ced9b248a9f97dc5d47ad7d439e734b8c61834c4578f2c2ee26e61fb88

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