Skip to main content

A framework for implementing Python services.

Project description

runtimepy (5.7.2)

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

A framework for implementing Python services.

Documentation

Generated

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.12/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 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.12/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.12/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.12/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  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.12/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  rate (in Hz) that the task should run (default: 10)

tftp

$ ./venv3.12/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  port to message (default: 69)
  -m MODE, --mode MODE  tftp mode to use (default: octet)
  -t TIMEOUT, --timeout TIMEOUT
                        timeout for each step
  -r REEMIT, --reemit REEMIT
                        transmit period for each step

tui

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

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

options:
  -h, --help            show this help message and exit
  -i ITERATIONS, --iterations ITERATIONS
                        maximum number of program iterations (if greater than
                        zero, default: 0)
  -r RATE, --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.7.2.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

runtimepy-5.7.2-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: runtimepy-5.7.2.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for runtimepy-5.7.2.tar.gz
Algorithm Hash digest
SHA256 6807532642749b8efae69504ad682156ca8c31ec00b250a6ad2182fa3306c7aa
MD5 875adba601ad8aaa5da6c065dfd7e3d8
BLAKE2b-256 ff3d229ceb9e5c491dc7ee7f90d7e0465eb020ba72fdbddb961dfa12da01fbb6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: runtimepy-5.7.2-py3-none-any.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for runtimepy-5.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7be55cec4016dbf0ea53d39660e7781b7dfbfe994d6cb167f705eae0a746cff9
MD5 423c70edf62fce498d9559c26097d802
BLAKE2b-256 588dde3e5866600f899c60d4a79920ea33e202b7019f2b30f9a9203f46e60b75

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page