Skip to main content

A framework for implementing Python services.

Project description

runtimepy (5.7.4)

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.4.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: runtimepy-5.7.4.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.4.tar.gz
Algorithm Hash digest
SHA256 52e533068a75bba8440b0cc323a040203839b92a402449bc496a1fa7b39481e4
MD5 5242144d5d7ab44fedcdadaad2713fd5
BLAKE2b-256 ef77a60479b88f0039e4e582bb979badac049e07d81a7a3cacf43c23e8018e9d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: runtimepy-5.7.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 69e16ad7c2a621d67ac12e65aabf5921f36b4ab28ebeea7a02fa6cb193a411cc
MD5 d83e571d94a31042c4ed5c353679f92a
BLAKE2b-256 1cff7191dee05a7b9a5d4accd5cf7e67d55f983d1a46039f7db7e5a866552c99

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