Skip to main content

A framework for implementing Python services.

Project description

runtimepy (5.17.9)

python Build Status codecov PyPI - Status Dependents (via libraries.io)

A framework for implementing Python services.

Consider sponsoring development.

(interface documentation)

Python Version Support

This package is tested with the following Python minor versions:

Platform Support

This package is tested on the following platforms:

  • ubuntu-latest
  • macos-latest
  • windows-latest

Introduction

Command-line Options

$ ./venv3.14/bin/runtimepy -h

usage: runtimepy [-h] [--version] [-v] [-q] [--curses] [--no-uvloop] [-C DIR]
                 {arbiter,mtu,server,task,tftp,tui,noop} ...

A framework for implementing Python services.

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -v, --verbose         set to increase logging verbosity
  -q, --quiet           set to reduce output
  --curses              whether or not to use curses.wrapper when starting
  --no-uvloop           whether or not to disable uvloop as event loop driver
  -C, --dir DIR         execute from a specific directory

commands:
  {arbiter,mtu,server,task,tftp,tui,noop}
                        set of available commands
    arbiter             run a connection-arbiter application from a config
    mtu                 probe for MTU size to some endpoint
    server              run a server for a specific connection factory
    task                run a task from a specific task factory
    tftp                perform a tftp interaction
    tui                 run a terminal interface for the channel environment
    noop                command stub (does nothing)

Sub-command Options

arbiter

$ ./venv3.14/bin/runtimepy arbiter -h

usage: runtimepy arbiter [-h] [-i] [-w] [--no-poller] configs [configs ...]

positional arguments:
  configs               the configuration to load

options:
  -h, --help            show this help message and exit
  -i, --init_only, --init-only
                        exit after completing initialization
  -w, --wait-for-stop, --wait_for_stop
                        ensure that a 'wait_for_stop' application method is
                        run last
  --no-poller           don't run a connection-metrics poller task

mtu

$ ./venv3.14/bin/runtimepy mtu -h

usage: runtimepy mtu [-h] [--probe-size PROBE_SIZE] [--fallback FALLBACK] [-t]
                     destination [destination ...]

positional arguments:
  destination           endpoint parameters (host, port[, flowinfo, scope_id])

options:
  -h, --help            show this help message and exit
  --probe-size PROBE_SIZE
                        data payload size to use for probe (default: 1432)
  --fallback FALLBACK   fallback MTU value if probing doesn't succeed (i.e.
                        not on Linux, default: 1500)
  -t, --tcp             use TCP instead of UDP

server

$ ./venv3.14/bin/runtimepy server -h

usage: runtimepy server [-h] [-i] [-w] [--no-poller] [--cafile CAFILE]
                        [--capath CAPATH] [--cadata CADATA]
                        [--certfile CERTFILE] [--keyfile KEYFILE]
                        [--host HOST] [-p PORT] [-u] [-l]
                        factory [configs ...]

positional arguments:
  factory               name of connection factory to create server for
  configs               the configuration to load

options:
  -h, --help            show this help message and exit
  -i, --init_only, --init-only
                        exit after completing initialization
  -w, --wait-for-stop, --wait_for_stop
                        ensure that a 'wait_for_stop' application method is
                        run last
  --no-poller           don't run a connection-metrics poller task
  --cafile CAFILE       passed directly to instantiation
  --capath CAPATH       passed directly to instantiation
  --cadata CADATA       passed directly to instantiation
  --certfile CERTFILE   passed directly to instantiation
  --keyfile KEYFILE     passed directly to instantiation
  --host HOST           host address to listen on (default: '0.0.0.0')
  -p, --port PORT       port to listen on (default: 0)
  -u, --udp             whether or not this is a UDP-based server (otherwise
                        it must be a TCP-based server)
  -l, --loopback        if true a client of the same connection type is added

task

$ ./venv3.14/bin/runtimepy task -h

usage: runtimepy task [-h] [-i] [-w] [--no-poller] [-r RATE]
                      factory [configs ...]

positional arguments:
  factory               name of task factory to create task with
  configs               the configuration to load

options:
  -h, --help            show this help message and exit
  -i, --init_only, --init-only
                        exit after completing initialization
  -w, --wait-for-stop, --wait_for_stop
                        ensure that a 'wait_for_stop' application method is
                        run last
  --no-poller           don't run a connection-metrics poller task
  -r, --rate RATE       rate (in Hz) that the task should run (default: 10)

tftp

$ ./venv3.14/bin/runtimepy tftp -h

usage: runtimepy tftp [-h] [-p PORT] [-m MODE] [-t TIMEOUT] [-r REEMIT]
                      {read,write} host our_file [their_file]

positional arguments:
  {read,write}          action to perform
  host                  host to message
  our_file              path to our file
  their_file            path to their file

options:
  -h, --help            show this help message and exit
  -p, --port PORT       port to message (default: 69)
  -m, --mode MODE       tftp mode to use (default: octet)
  -t, --timeout TIMEOUT
                        timeout for each step
  -r, --reemit REEMIT   transmit period for each step

tui

$ ./venv3.14/bin/runtimepy tui -h

usage: runtimepy tui [-h] [-i ITERATIONS] [-r RATE]

options:
  -h, --help            show this help message and exit
  -i, --iterations ITERATIONS
                        maximum number of program iterations (if greater than
                        zero, default: 0)
  -r, --rate RATE       frequency (in Hz) to run the interface (default: 60.0
                        Hz)

Internal Dependency Graph

A coarse view of the internal structure and scale of runtimepy's source. Generated using pydeps (via mk python-deps).

runtimepy's Dependency Graph

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

runtimepy-5.17.9.tar.gz (5.7 MB view details)

Uploaded Source

Built Distribution

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

runtimepy-5.17.9-py3-none-any.whl (6.3 MB view details)

Uploaded Python 3

File details

Details for the file runtimepy-5.17.9.tar.gz.

File metadata

  • Download URL: runtimepy-5.17.9.tar.gz
  • Upload date:
  • Size: 5.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for runtimepy-5.17.9.tar.gz
Algorithm Hash digest
SHA256 54b2c52e903de6ac5a045a8eba33a9753d9b982b86c3de283f2e72041b393b30
MD5 d3025e8bec0f95c3f00f1230f7ecd1a7
BLAKE2b-256 feb7e6f947643a9c272cea9845209f68d88969396b03c814963af2c7ce5c3310

See more details on using hashes here.

File details

Details for the file runtimepy-5.17.9-py3-none-any.whl.

File metadata

  • Download URL: runtimepy-5.17.9-py3-none-any.whl
  • Upload date:
  • Size: 6.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for runtimepy-5.17.9-py3-none-any.whl
Algorithm Hash digest
SHA256 af9ec495d12378c64e7df99e4c373a81f0261160f2c14e6aed3f62a1d28d7cf3
MD5 aa5fd31351cb952bddcd61a662a43886
BLAKE2b-256 5fb6947e76cc4c6383cc66451d7096c85473a7a963e2986f883985d6a739f192

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