runtimepy 5.13.2__tar.gz → 5.13.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {runtimepy-5.13.2/runtimepy.egg-info → runtimepy-5.13.3}/PKG-INFO +6 -6
- {runtimepy-5.13.2 → runtimepy-5.13.3}/README.md +2 -2
- {runtimepy-5.13.2 → runtimepy-5.13.3}/pyproject.toml +1 -1
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/__init__.py +2 -2
- runtimepy-5.13.3/runtimepy/data/404.html +7 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/http/response.py +7 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/__init__.py +3 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/tcp/http/__init__.py +9 -6
- {runtimepy-5.13.2 → runtimepy-5.13.3/runtimepy.egg-info}/PKG-INFO +6 -6
- runtimepy-5.13.2/runtimepy/data/404.html +0 -6
- {runtimepy-5.13.2 → runtimepy-5.13.3}/LICENSE +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/__main__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/app.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/environment/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/environment/array.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/environment/base.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/environment/command/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/environment/command/parser.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/environment/command/processor.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/environment/command/result.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/environment/create.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/environment/file.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/environment/sample.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/environment/telemetry.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/event/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/event/header.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/channel/registry.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/codec/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/codec/protocol/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/codec/protocol/base.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/codec/protocol/json.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/codec/system/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/commands/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/commands/all.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/commands/arbiter.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/commands/common.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/commands/mtu.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/commands/server.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/commands/task.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/commands/tftp.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/commands/tui.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/control/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/control/env/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/control/source.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/control/step.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/base.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/browser.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/css/bootstrap_extra.css +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/css/font.css +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/css/main.css +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/dummy_load.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/factories.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/favicon.ico +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/DataConnection.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/JsonConnection.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/audio.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/App.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/ChannelTable.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/DataConnection.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/JsonConnection.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/OverlayManager.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/Plot.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/PlotDrawer.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/PlotManager.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/PlotModalManager.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/PointBuffer.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/PointManager.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/TabFilter.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/TabInterface.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/UnitSystem.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/WindowHashManager.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/classes/WorkerInterface.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/events.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/init.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/main.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/markdown_page.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/tab/env.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/tab/sound.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/third-party/webgl-debug.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/unused/pyodide.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/util.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/js/worker.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/md/Connection.md +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/md/PeriodicTask.md +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/md/RuntimeStruct.md +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/md/RuntimepyPeer.md +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/md/SinusoidTask.md +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/sample_telemetry.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/BitFields.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/Channel.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/ChannelCommand.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/ChannelRegistry.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/ClientConnectionConfig.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/ConnectionArbiterConfig.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/EnumRegistry.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/FindFile.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/PeerProcessConfig.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/RuntimeEnum.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/ServerConnectionConfig.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/StructConfig.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/TaskConfig.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/channel_controls.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/has_config.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/has_factory.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/has_markdown.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/has_name.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/schemas/has_request_flag.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/server.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/server_base.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/server_dev.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/css/bootstrap-icons.min.css +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/css/bootstrap.min.css +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/css/fonts/bootstrap-icons.woff +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/css/fonts/bootstrap-icons.woff2 +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/js/bootstrap.bundle.min.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/js/webglplot.umd.min.js +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/1024x1024.png +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/128x128.png +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/16x16.png +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/1920x1920.png +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/24x24.png +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/256x256.png +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/32x32.png +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/512x512.png +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/64x64.png +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/svg/chip-circle-bootstrap.svg +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/woff2/CascadiaCode-Bold.woff2 +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/woff2/CascadiaCode-BoldItalic.woff2 +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/woff2/CascadiaCode-Italic.woff2 +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/woff2/CascadiaCode-Regular.woff2 +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/woff2/CascadiaMono-Bold.woff2 +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/woff2/CascadiaMono-BoldItalic.woff2 +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/woff2/CascadiaMono-Italic.woff2 +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/woff2/CascadiaMono-Regular.woff2 +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/woff2/README.md +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/tftp_server.yaml +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/dev_requirements.txt +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/entry.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/enum/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/enum/registry.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/enum/types.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/mapping.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/message/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/message/handlers.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/message/interface.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/message/types.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/metrics/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/metrics/channel.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/metrics/connection.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/metrics/task.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/mixins/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/mixins/async_command.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/mixins/enum.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/mixins/environment.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/mixins/finalize.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/mixins/logging.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/mixins/psutil.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/mixins/regex.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/mixins/trig.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/apps/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/base.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/config/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/config/codec.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/config/util.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/factory/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/factory/connection.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/factory/task.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/housekeeping/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/imports/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/imports/util.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/info.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/result.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/struct/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/task.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/tcp/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/tcp/json.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/udp.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/arbiter/websocket.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/backoff.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/connection.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/factories/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/html/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/html/arbiter.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/html/bootstrap/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/html/bootstrap/elements.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/html/bootstrap/tabs.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/http/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/http/common.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/http/header.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/http/request_target.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/http/state.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/http/version.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/manager.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/mixin.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/mtu.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/base.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/create.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/elements.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/env/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/env/modal.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/env/settings.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/env/tab/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/env/tab/base.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/env/tab/controls.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/env/tab/html.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/env/tab/message.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/env/widgets.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/files.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/landing_page.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/placeholder.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/pyodide.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/sound.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/app/tab.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/html.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/json.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/markdown.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/struct/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/websocket/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/server/websocket/state.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/ssl.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/stream/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/stream/base.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/stream/json/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/stream/string.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/tcp/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/tcp/connection.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/tcp/create.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/tcp/protocol.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/tcp/scpi/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/tcp/telnet/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/tcp/telnet/codes.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/tcp/telnet/np_05b.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/udp/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/udp/connection.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/udp/create.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/udp/protocol.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/udp/queue.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/udp/tftp/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/udp/tftp/base.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/udp/tftp/endpoint.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/udp/tftp/enums.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/udp/tftp/io.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/util.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/websocket/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/net/websocket/connection.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/noise/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/array/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/base.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/bool.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/byte_order.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/evaluation.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/field/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/field/fields.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/field/manager/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/field/manager/base.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/float.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/int.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/scaling.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/serializable/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/serializable/base.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/serializable/fixed.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/serializable/framer.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/serializable/prefixed.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/string.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/types/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/types/base.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/types/bool.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/types/bounds.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/types/float.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/primitives/types/int.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/py.typed +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/registry/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/registry/bool.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/registry/item.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/registry/name.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/requirements.txt +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/sample/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/sample/peer.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/sample/program.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/schemas.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/struct/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/subprocess/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/subprocess/interface.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/subprocess/peer.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/subprocess/program.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/subprocess/protocol.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/task/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/task/asynchronous.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/task/basic/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/task/basic/manager.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/task/basic/periodic.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/task/sample.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/task/trig/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/telemetry/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/telemetry/sample.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/tui/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/tui/channels/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/tui/cursor.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/tui/mixin.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/tui/mock.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/tui/task.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/ui/__init__.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/ui/controls.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/util.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy.egg-info/SOURCES.txt +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy.egg-info/dependency_links.txt +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy.egg-info/entry_points.txt +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy.egg-info/requires.txt +3 -3
- {runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy.egg-info/top_level.txt +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/setup.cfg +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/setup.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/tests/test_entry.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/tests/test_mapping.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/tests/test_resources.py +0 -0
- {runtimepy-5.13.2 → runtimepy-5.13.3}/tests/test_util.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: runtimepy
|
|
3
|
-
Version: 5.13.
|
|
3
|
+
Version: 5.13.3
|
|
4
4
|
Summary: A framework for implementing Python services.
|
|
5
5
|
Home-page: https://github.com/libre-embedded/runtimepy
|
|
6
6
|
Author: Libre Embedded
|
|
@@ -17,11 +17,11 @@ Classifier: Development Status :: 5 - Production/Stable
|
|
|
17
17
|
Requires-Python: >=3.12
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
19
|
License-File: LICENSE
|
|
20
|
-
Requires-Dist: vcorelib>=3.5.8
|
|
21
|
-
Requires-Dist: psutil
|
|
22
|
-
Requires-Dist: svgen>=0.7.12
|
|
23
20
|
Requires-Dist: aiofiles
|
|
21
|
+
Requires-Dist: psutil
|
|
24
22
|
Requires-Dist: websockets
|
|
23
|
+
Requires-Dist: svgen>=0.7.12
|
|
24
|
+
Requires-Dist: vcorelib>=3.5.8
|
|
25
25
|
Provides-Extra: test
|
|
26
26
|
Requires-Dist: pylint; extra == "test"
|
|
27
27
|
Requires-Dist: flake8; extra == "test"
|
|
@@ -51,11 +51,11 @@ Dynamic: requires-python
|
|
|
51
51
|
=====================================
|
|
52
52
|
generator=datazen
|
|
53
53
|
version=3.2.3
|
|
54
|
-
hash=
|
|
54
|
+
hash=7dce65a7ea83c118cf5fa28ddbfd533f
|
|
55
55
|
=====================================
|
|
56
56
|
-->
|
|
57
57
|
|
|
58
|
-
# runtimepy ([5.13.
|
|
58
|
+
# runtimepy ([5.13.3](https://pypi.org/project/runtimepy/))
|
|
59
59
|
|
|
60
60
|
[](https://pypi.org/project/runtimepy/)
|
|
61
61
|

|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
=====================================
|
|
3
3
|
generator=datazen
|
|
4
4
|
version=3.2.3
|
|
5
|
-
hash=
|
|
5
|
+
hash=7dce65a7ea83c118cf5fa28ddbfd533f
|
|
6
6
|
=====================================
|
|
7
7
|
-->
|
|
8
8
|
|
|
9
|
-
# runtimepy ([5.13.
|
|
9
|
+
# runtimepy ([5.13.3](https://pypi.org/project/runtimepy/))
|
|
10
10
|
|
|
11
11
|
[](https://pypi.org/project/runtimepy/)
|
|
12
12
|

|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# =====================================
|
|
2
2
|
# generator=datazen
|
|
3
3
|
# version=3.2.3
|
|
4
|
-
# hash=
|
|
4
|
+
# hash=940af0fb662bf9b9e98e5ce5df85b4b2
|
|
5
5
|
# =====================================
|
|
6
6
|
|
|
7
7
|
"""
|
|
@@ -10,7 +10,7 @@ Useful defaults and other package metadata.
|
|
|
10
10
|
|
|
11
11
|
DESCRIPTION = "A framework for implementing Python services."
|
|
12
12
|
PKG_NAME = "runtimepy"
|
|
13
|
-
VERSION = "5.13.
|
|
13
|
+
VERSION = "5.13.3"
|
|
14
14
|
|
|
15
15
|
# runtimepy-specific content.
|
|
16
16
|
METRICS_NAME = "metrics"
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<!doctype html><html lang=en><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>Libre Embedded - Home
|
|
2
|
+
</title><meta http-equiv=Cache-Control content="public"><link rel=icon href=/favicon.ico><meta name=description content="Libre Embedded Engineering Technologies LLC is an engineering consultancy and product development company. This page was rendered from Markdown by runtimepy/5.13.3."><style>@font-face{font-family:CascadiaCode;src:url(/static/woff2/CascadiaCode-Regular.woff2)}@font-face{font-family:CascadiaCode;src:url(/static/woff2/CascadiaCode-Bold.woff2);font-weight:700}@font-face{font-family:CascadiaCode;src:url(/static/woff2/CascadiaCode-BoldItalic.woff2);font-weight:700;font-style:italic}@font-face{font-family:CascadiaCode;src:url(/static/woff2/CascadiaCode-Italic.woff2);font-style:italic}@font-face{font-family:CascadiaMono;src:url(/static/woff2/CascadiaMono-Regular.woff2)}@font-face{font-family:CascadiaMono;src:url(/static/woff2/CascadiaMono-Bold.woff2);font-weight:700}@font-face{font-family:CascadiaMono;src:url(/static/woff2/CascadiaMono-BoldItalic.woff2);font-weight:700;font-style:italic}@font-face{font-family:CascadiaMono;src:url(/static/woff2/CascadiaMono-Italic.woff2);font-style:italic}</style><link rel=stylesheet href=/static/css/bootstrap-icons.min.css></link>
|
|
3
|
+
<link href=/static/css/bootstrap.min.css rel=stylesheet crossorigin=anonymous></link><style>html{height:100%;width:100%;position:fixed}body{height:100%;margin:0;overflow:hidden}body>:first-child{height:100%}#runtimepy{height:100%}#runtimepy-tabs{width:min-content}#runtimepy-splash{position:fixed;top:0;left:0;width:100vw;height:100vh;opacity:1}.click-plot{cursor:pointer}.stale{color:var(--bs-warning-text-emphasis)!important}.slider{min-width:8em}.toggle-value{}.window-button{border-right:var(--bs-border-width)var(--bs-border-style)var(--bs-link-hover-color)!important}:focus{outline:none}.flex-column-scroll-bodge{height:100%;flex-wrap:nowrap;overflow-y:scroll;flex-shrink:0}.scroll{overflow:scroll}.tab-content-bodge{width:100%;height:100%}.button-bodge{text-align:left}.collapsing{transition:none!important}.tab-pane.fade{transition:none!important}.modal.fade{transition:none!important}.modal-dialog{width:80%;max-width:80%}.table{margin-bottom:0;width:auto}.table-container{overflow-x:scroll;min-height:fit-content}.channel-column{overflow-y:scroll;overflow-x:hidden;flex-grow:0;flex-shrink:0;max-width:75%}.channel-value{min-width:10em}.table>tbody>tr>td{vertical-align:middle}.collapse:not(.show){display:none!important}select.form-select{width:min-content}select.form-select:hover{cursor:pointer}textarea.text-logs{min-height:10em!important;padding-top:0!important;padding-bottom:0!important;border-top:0}.vertical-divider{flex-basis:.75em;flex-grow:0;flex-shrink:0}pre{color:var(--bs-code-color)}.vertical-divider:hover{cursor:col-resize;background-color:var(--bs-highlight-bg)!important}button:hover{background-color:var(--bs-tertiary-bg)}.channel-value-input{width:6em}:root,[data-bs-theme=dark],[data-bs-theme=light]{--bs-font-sans-serif:CascadiaCode, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace:CascadiaMono, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}</style><div id=runtimepy class="d-flex bg-body align-items-start" data-bs-theme=dark><div class="bg-dark-subtle d-flex h-100 flex-column"><button type=button id=theme-button title="change theme button" class="btn btn-secondary rounded-0 font-monospace button-bodge text-nowrap has-tooltip" data-bs-title="Toggle light/dark." data-bs-placement=right>
|
|
4
|
+
<i class="bi bi-lightbulb"></i>
|
|
5
|
+
</button>
|
|
6
|
+
<a href="?print=true"><button type=button id=print-button title="print-view button" class="btn btn-secondary rounded-0 font-monospace button-bodge text-nowrap has-tooltip" data-bs-title="Printer-friendly view." data-bs-placement=right>
|
|
7
|
+
<i class="bi bi-printer"></i></button></a></div><div class="h-100 flex-grow-1 justify-content-between text-body d-flex overflow-y-auto flex-column"><div></div><div class="justify-content-between d-flex flex-row"><div></div><div class="text-body p-3 pb-0"><h1><a href=/><img alt=logo src=/static/png/chip-circle-bootstrap/128x128.png></a> Resource Not Found (404) <a href=/><img alt=logo src=/static/png/chip-circle-bootstrap/128x128.png></a></h1><p>(<a href=/>home</a>)</div><div></div></div><div></div></div></div><script>function worker_config(e){let t={},s="runtimepy_websocket",n="ws";location.protocol.includes("https")&&(s="runtimepy_secure_websocket",n+="s");let o=e.config.ports;for(let r in o){let i=o[r],a=e.config.websocket_hostname||window.location.hostname;i.name.includes(s)&&(i.name.includes("data")?t.data=`${n}://${a}:`+i.port:t.json=`${n}://${a}:`+i.port)}return t}let tabFilter=void 0;function bootstrap_init(){const t=document.querySelectorAll(".has-tooltip"),n=[...t].map(e=>new bootstrap.Tooltip(e));let e=document.getElementById("runtimepy-tabs");e&&(tabFilter=new TabFilter(e))}let lightMode=!1;function lightDarkClick(){lightMode=!lightMode,document.getElementById("runtimepy").setAttribute("data-bs-theme",lightMode?"light":"dark"),window.location.hash=lightMode?"#light-mode":""}window.onload=()=>{let e=document.getElementById("theme-button");if(e&&e.addEventListener("click",lightDarkClick),window.location.hash){let t=window.location.hash.slice(1).split(",");t.includes("light-mode")&&e.click()}bootstrap_init()}</script><script src=/static/js/bootstrap.bundle.min.js crossorigin=anonymous></script>
|
|
@@ -88,6 +88,13 @@ class ResponseHeader(HeadersMixin):
|
|
|
88
88
|
self.headers,
|
|
89
89
|
)
|
|
90
90
|
|
|
91
|
+
def static_resource(
|
|
92
|
+
self, value: str = "public, max-age=31536000, immutable"
|
|
93
|
+
) -> None:
|
|
94
|
+
"""Set headers for static resources."""
|
|
95
|
+
|
|
96
|
+
self["Cache-Control"] = value
|
|
97
|
+
|
|
91
98
|
|
|
92
99
|
class AsyncResponse:
|
|
93
100
|
"""
|
|
@@ -237,6 +237,8 @@ class RuntimepyServerConnection(HttpConnection):
|
|
|
237
237
|
|
|
238
238
|
self.logger.info("Serving '%s' (MIME: %s)", candidate, mime)
|
|
239
239
|
|
|
240
|
+
response.static_resource()
|
|
241
|
+
|
|
240
242
|
# Return the file data.
|
|
241
243
|
result = AsyncResponse(candidate)
|
|
242
244
|
break
|
|
@@ -321,6 +323,7 @@ class RuntimepyServerConnection(HttpConnection):
|
|
|
321
323
|
# Handle favicon (for browser clients).
|
|
322
324
|
if path.startswith("/favicon"):
|
|
323
325
|
response["Content-Type"] = "image/x-icon"
|
|
326
|
+
response.static_resource()
|
|
324
327
|
return self.favicon_data
|
|
325
328
|
|
|
326
329
|
# Try serving a file and handling redirects.
|
|
@@ -68,6 +68,12 @@ class HttpConnection(_TcpConnection):
|
|
|
68
68
|
# runtime don't need additional initialization.
|
|
69
69
|
handlers: HttpRequestHandlers = {}
|
|
70
70
|
|
|
71
|
+
headers: dict[str, str] = {
|
|
72
|
+
"Server": PKG_NAME,
|
|
73
|
+
"X-Content-Type-Options": "nosniff",
|
|
74
|
+
"Cache-Control": "public",
|
|
75
|
+
}
|
|
76
|
+
|
|
71
77
|
def init(self) -> None:
|
|
72
78
|
"""Initialize this instance."""
|
|
73
79
|
|
|
@@ -128,12 +134,9 @@ class HttpConnection(_TcpConnection):
|
|
|
128
134
|
f"No handler for {request_header.method} requests."
|
|
129
135
|
)
|
|
130
136
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
# response["server"] = self.identity
|
|
135
|
-
response["server"] = PKG_NAME
|
|
136
|
-
response["X-Content-Type-Options"] = "nosniff"
|
|
137
|
+
for key, value in type(self).headers.items():
|
|
138
|
+
if response.get(key) is None:
|
|
139
|
+
response[key] = value
|
|
137
140
|
|
|
138
141
|
return result
|
|
139
142
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: runtimepy
|
|
3
|
-
Version: 5.13.
|
|
3
|
+
Version: 5.13.3
|
|
4
4
|
Summary: A framework for implementing Python services.
|
|
5
5
|
Home-page: https://github.com/libre-embedded/runtimepy
|
|
6
6
|
Author: Libre Embedded
|
|
@@ -17,11 +17,11 @@ Classifier: Development Status :: 5 - Production/Stable
|
|
|
17
17
|
Requires-Python: >=3.12
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
19
|
License-File: LICENSE
|
|
20
|
-
Requires-Dist: vcorelib>=3.5.8
|
|
21
|
-
Requires-Dist: psutil
|
|
22
|
-
Requires-Dist: svgen>=0.7.12
|
|
23
20
|
Requires-Dist: aiofiles
|
|
21
|
+
Requires-Dist: psutil
|
|
24
22
|
Requires-Dist: websockets
|
|
23
|
+
Requires-Dist: svgen>=0.7.12
|
|
24
|
+
Requires-Dist: vcorelib>=3.5.8
|
|
25
25
|
Provides-Extra: test
|
|
26
26
|
Requires-Dist: pylint; extra == "test"
|
|
27
27
|
Requires-Dist: flake8; extra == "test"
|
|
@@ -51,11 +51,11 @@ Dynamic: requires-python
|
|
|
51
51
|
=====================================
|
|
52
52
|
generator=datazen
|
|
53
53
|
version=3.2.3
|
|
54
|
-
hash=
|
|
54
|
+
hash=7dce65a7ea83c118cf5fa28ddbfd533f
|
|
55
55
|
=====================================
|
|
56
56
|
-->
|
|
57
57
|
|
|
58
|
-
# runtimepy ([5.13.
|
|
58
|
+
# runtimepy ([5.13.3](https://pypi.org/project/runtimepy/))
|
|
59
59
|
|
|
60
60
|
[](https://pypi.org/project/runtimepy/)
|
|
61
61
|

|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
<html lang=en><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>runtimepy/5.12.0</title><style>@font-face{font-family:CascadiaCode;src:url(/static/woff2/CascadiaCode-Regular.woff2)}@font-face{font-family:CascadiaCode;src:url(/static/woff2/CascadiaCode-Bold.woff2);font-weight:700}@font-face{font-family:CascadiaCode;src:url(/static/woff2/CascadiaCode-BoldItalic.woff2);font-weight:700;font-style:italic}@font-face{font-family:CascadiaCode;src:url(/static/woff2/CascadiaCode-Italic.woff2);font-style:italic}@font-face{font-family:CascadiaMono;src:url(/static/woff2/CascadiaMono-Regular.woff2)}@font-face{font-family:CascadiaMono;src:url(/static/woff2/CascadiaMono-Bold.woff2);font-weight:700}@font-face{font-family:CascadiaMono;src:url(/static/woff2/CascadiaMono-BoldItalic.woff2);font-weight:700;font-style:italic}@font-face{font-family:CascadiaMono;src:url(/static/woff2/CascadiaMono-Italic.woff2);font-style:italic}</style><link rel=stylesheet href=/static/css/bootstrap-icons.min.css></link>
|
|
2
|
-
<link href=/static/css/bootstrap.min.css rel=stylesheet crossorigin=anonymous></link><style>html{height:100%;width:100%;position:fixed}body{height:100%;margin:0;overflow:hidden}body>:first-child{height:100%}#runtimepy{height:100%}#runtimepy-tabs{width:min-content}#runtimepy-splash{position:fixed;top:0;left:0;width:100vw;height:100vh;opacity:1}.click-plot{cursor:pointer}.stale{color:var(--bs-warning-text-emphasis)!important}.slider{min-width:8em}.toggle-value{}.window-button{border-right:var(--bs-border-width)var(--bs-border-style)var(--bs-link-hover-color)!important}canvas:focus{outline:none}.flex-column-scroll-bodge{height:100%;flex-wrap:nowrap;overflow-y:scroll;flex-shrink:0}.scroll{overflow:scroll}.tab-content-bodge{width:100%;height:100%}.button-bodge{text-align:left}.collapsing{transition:none!important}.tab-pane.fade{transition:none!important}.modal.fade{transition:none!important}.modal-dialog{width:80%;max-width:80%}.table{margin-bottom:0;width:auto}.table-container{overflow-x:scroll;min-height:fit-content}.channel-column{overflow-y:scroll;overflow-x:hidden;flex-grow:0;flex-shrink:0;max-width:75%}.channel-value{min-width:10em}.table>tbody>tr>td{vertical-align:middle}.collapse:not(.show){display:none!important}select.form-select{width:min-content}select.form-select:hover{cursor:pointer}textarea.text-logs{min-height:10em!important;padding-top:0!important;padding-bottom:0!important;border-top:0}.vertical-divider{flex-basis:.75em;flex-grow:0;flex-shrink:0}pre{color:var(--bs-code-color)}.vertical-divider:hover{cursor:col-resize;background-color:var(--bs-highlight-bg)!important}button:hover{background-color:var(--bs-tertiary-bg)}.channel-value-input{width:6em}:root,[data-bs-theme=dark],[data-bs-theme=light]{--bs-font-sans-serif:CascadiaCode, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace:CascadiaMono, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}</style><div id=runtimepy class="align-items-start d-flex bg-body" data-bs-theme=dark><div class="d-flex h-100 bg-dark-subtle flex-column"><button type=button id=theme-button class="btn btn-secondary rounded-0 font-monospace button-bodge text-nowrap has-tooltip" data-bs-title=" Toggle light/dark." data-bs-placement=right>
|
|
3
|
-
<i class="bi bi-lightbulb"></i>
|
|
4
|
-
</button>
|
|
5
|
-
<a href="?print=true"><button type=button id=print-button class="btn btn-secondary rounded-0 font-monospace button-bodge text-nowrap has-tooltip" data-bs-title="Printer-friendly view." data-bs-placement=right>
|
|
6
|
-
<i class="bi bi-printer"></i></button></a></div><div class="d-flex h-100 justify-content-between flex-grow-1 flex-column overflow-y-auto text-body"><div></div><div class="d-flex flex-row justify-content-between"><div></div><div class="text-body p-3 pb-0"><h1><a href=/><img alt=logo src=/static/png/chip-circle-bootstrap/128x128.png></a> Resource Not Found (404) <a href=/><img alt=logo src=/static/png/chip-circle-bootstrap/128x128.png></a></h1><p>(<a href=/>home</a>)</div><div></div></div><div></div></div></div><script>function worker_config(e){let t={},s="runtimepy_websocket",n="ws";location.protocol.includes("https")&&(s="runtimepy_secure_websocket",n+="s");let o=e.config.ports;for(let r in o){let i=o[r],a=e.config.websocket_hostname||window.location.hostname;i.name.includes(s)&&(i.name.includes("data")?t.data=`${n}://${a}:`+i.port:t.json=`${n}://${a}:`+i.port)}return t}let tabFilter=void 0;function bootstrap_init(){const t=document.querySelectorAll(".has-tooltip"),n=[...t].map(e=>new bootstrap.Tooltip(e));let e=document.getElementById("runtimepy-tabs");e&&(tabFilter=new TabFilter(e))}let lightMode=!1;function lightDarkClick(){lightMode=!lightMode,document.getElementById("runtimepy").setAttribute("data-bs-theme",lightMode?"light":"dark"),window.location.hash=lightMode?"#light-mode":""}window.onload=()=>{let e=document.getElementById("theme-button");if(e&&e.addEventListener("click",lightDarkClick),window.location.hash){let t=window.location.hash.slice(1).split(",");t.includes("light-mode")&&e.click()}bootstrap_init()}</script><script src=/static/js/bootstrap.bundle.min.js crossorigin=anonymous></script>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/1024x1024.png
RENAMED
|
File without changes
|
{runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/128x128.png
RENAMED
|
File without changes
|
{runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/16x16.png
RENAMED
|
File without changes
|
{runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/1920x1920.png
RENAMED
|
File without changes
|
{runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/24x24.png
RENAMED
|
File without changes
|
{runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/256x256.png
RENAMED
|
File without changes
|
{runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/32x32.png
RENAMED
|
File without changes
|
{runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/512x512.png
RENAMED
|
File without changes
|
{runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/png/chip-circle-bootstrap/64x64.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/woff2/CascadiaCode-BoldItalic.woff2
RENAMED
|
File without changes
|
|
File without changes
|
{runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/woff2/CascadiaCode-Regular.woff2
RENAMED
|
File without changes
|
|
File without changes
|
{runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/woff2/CascadiaMono-BoldItalic.woff2
RENAMED
|
File without changes
|
|
File without changes
|
{runtimepy-5.13.2 → runtimepy-5.13.3}/runtimepy/data/static/woff2/CascadiaMono-Regular.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|