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.183.tar.gz (634.5 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.183-py3-none-any.whl (523.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: urirun-0.4.183.tar.gz
  • Upload date:
  • Size: 634.5 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.183.tar.gz
Algorithm Hash digest
SHA256 68f944ace86846fb8b5dc83f6b6dba93c8ea3a91faa2a204f446815ca63bfb6f
MD5 1c55ccb3faca6ca4d757776d9cc3e95d
BLAKE2b-256 3fb87abac369552e0f0f4799b76cbcba87f153ada1cb09d5e86cfe22d7f4f7f8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: urirun-0.4.183-py3-none-any.whl
  • Upload date:
  • Size: 523.9 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.183-py3-none-any.whl
Algorithm Hash digest
SHA256 76726ae204c01b3c1c4ec1d3d928bdb81c09b5e5c60647cc703fc156fae4f454
MD5 a7949b3b2b8142ef4b1fa099f32591f4
BLAKE2b-256 79e6faaa79352c2237e502803e053e11f433e33f159b62c1dea0cef2373f86bb

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