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.83.tar.gz (322.9 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.83-py3-none-any.whl (296.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: urirun-0.4.83.tar.gz
  • Upload date:
  • Size: 322.9 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.83.tar.gz
Algorithm Hash digest
SHA256 3c5839669d397a75ffa0eda20461faeab91eda76dd0d3b531ac4b7b3fd664a08
MD5 85f3a627d13778e797eb01a9133eb14d
BLAKE2b-256 f2ccc4eb333a21d6e550ca7630160f36f3d1c94bc351d095367ad43e8627c4d6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: urirun-0.4.83-py3-none-any.whl
  • Upload date:
  • Size: 296.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.83-py3-none-any.whl
Algorithm Hash digest
SHA256 bb925c0520b740b501bfa9e78527dd76811f3aaae21155dead3e3910fa2eb785
MD5 4a7411d04c20a88ac35c9dc1be7a1712
BLAKE2b-256 84fb0a4c929a87f6bdfebc4579c704a774b0e7cab067a447d4cd2c0c0d4b7789

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