runtimepy 5.9.2__tar.gz → 5.10.1__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.9.2/runtimepy.egg-info → runtimepy-5.10.1}/PKG-INFO +5 -5
- {runtimepy-5.9.2 → runtimepy-5.10.1}/README.md +2 -2
- {runtimepy-5.9.2 → runtimepy-5.10.1}/pyproject.toml +1 -1
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/__init__.py +2 -2
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/dummy_load.yaml +1 -2
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/factories.yaml +1 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/PeerProcessConfig.yaml +1 -2
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/message/__init__.py +18 -2
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/config/__init__.py +5 -1
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/sample/program.py +5 -1
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/subprocess/program.py +10 -8
- {runtimepy-5.9.2 → runtimepy-5.10.1/runtimepy.egg-info}/PKG-INFO +5 -5
- {runtimepy-5.9.2 → runtimepy-5.10.1}/LICENSE +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/__main__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/app.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/environment/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/environment/array.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/environment/base.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/environment/command/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/environment/command/parser.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/environment/command/processor.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/environment/command/result.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/environment/create.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/environment/file.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/environment/sample.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/environment/telemetry.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/event/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/event/header.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/channel/registry.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/codec/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/codec/protocol/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/codec/protocol/base.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/codec/protocol/json.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/codec/system/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/commands/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/commands/all.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/commands/arbiter.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/commands/common.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/commands/mtu.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/commands/server.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/commands/task.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/commands/tftp.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/commands/tui.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/control/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/control/env/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/control/source.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/control/step.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/404.html +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/browser.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/css/bootstrap_extra.css +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/css/font.css +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/css/main.css +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/favicon.ico +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/DataConnection.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/JsonConnection.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/audio.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/App.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/ChannelTable.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/DataConnection.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/JsonConnection.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/OverlayManager.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/Plot.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/PlotDrawer.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/PlotManager.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/PlotModalManager.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/PointBuffer.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/PointManager.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/TabFilter.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/TabInterface.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/UnitSystem.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/WindowHashManager.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/classes/WorkerInterface.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/events.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/init.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/main.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/markdown_page.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/tab/env.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/tab/sound.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/third-party/webgl-debug.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/unused/pyodide.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/util.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/js/worker.js +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/md/Connection.md +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/md/PeriodicTask.md +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/md/RuntimeStruct.md +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/md/RuntimepyPeer.md +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/md/SinusoidTask.md +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/sample_telemetry.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/BitFields.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/Channel.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/ChannelCommand.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/ChannelRegistry.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/ClientConnectionConfig.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/ConnectionArbiterConfig.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/EnumRegistry.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/FindFile.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/RuntimeEnum.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/ServerConnectionConfig.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/StructConfig.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/TaskConfig.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/channel_controls.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/has_config.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/has_factory.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/has_markdown.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/has_name.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/schemas/has_request_flag.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/server.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/server_base.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/server_dev.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/static/svg/chip-circle-bootstrap.svg +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/static/woff2/CascadiaCode-Bold.woff2 +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/static/woff2/CascadiaCode-BoldItalic.woff2 +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/static/woff2/CascadiaCode-Italic.woff2 +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/static/woff2/CascadiaCode-Regular.woff2 +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/static/woff2/CascadiaMono-Bold.woff2 +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/static/woff2/CascadiaMono-BoldItalic.woff2 +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/static/woff2/CascadiaMono-Italic.woff2 +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/static/woff2/CascadiaMono-Regular.woff2 +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/static/woff2/README.md +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/tftp_server.yaml +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/dev_requirements.txt +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/entry.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/enum/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/enum/registry.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/enum/types.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/mapping.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/message/handlers.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/message/interface.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/message/types.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/metrics/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/metrics/channel.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/metrics/connection.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/metrics/task.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/mixins/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/mixins/async_command.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/mixins/enum.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/mixins/environment.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/mixins/finalize.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/mixins/logging.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/mixins/psutil.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/mixins/regex.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/mixins/trig.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/apps/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/base.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/config/codec.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/config/util.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/factory/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/factory/connection.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/factory/task.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/housekeeping/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/imports/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/imports/util.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/info.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/result.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/struct/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/task.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/tcp/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/tcp/json.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/udp.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/arbiter/websocket.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/backoff.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/connection.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/factories/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/html/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/html/arbiter.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/html/bootstrap/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/html/bootstrap/elements.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/html/bootstrap/tabs.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/http/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/http/common.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/http/header.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/http/request_target.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/http/response.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/http/state.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/http/version.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/manager.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/mixin.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/mtu.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/base.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/create.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/elements.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/env/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/env/modal.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/env/settings.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/env/tab/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/env/tab/base.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/env/tab/controls.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/env/tab/html.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/env/tab/message.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/env/widgets.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/files.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/landing_page.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/placeholder.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/pyodide.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/sound.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/app/tab.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/html.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/json.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/struct/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/websocket/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/server/websocket/state.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/ssl.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/stream/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/stream/base.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/stream/json/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/stream/string.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/tcp/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/tcp/connection.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/tcp/create.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/tcp/http/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/tcp/protocol.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/tcp/scpi/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/tcp/telnet/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/tcp/telnet/codes.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/tcp/telnet/np_05b.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/udp/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/udp/connection.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/udp/create.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/udp/protocol.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/udp/queue.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/udp/tftp/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/udp/tftp/base.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/udp/tftp/endpoint.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/udp/tftp/enums.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/udp/tftp/io.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/util.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/websocket/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/net/websocket/connection.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/noise/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/array/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/base.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/bool.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/byte_order.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/evaluation.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/field/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/field/fields.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/field/manager/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/field/manager/base.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/float.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/int.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/scaling.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/serializable/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/serializable/base.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/serializable/fixed.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/serializable/framer.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/serializable/prefixed.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/string.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/types/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/types/base.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/types/bool.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/types/bounds.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/types/float.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/primitives/types/int.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/py.typed +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/registry/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/registry/bool.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/registry/item.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/registry/name.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/requirements.txt +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/sample/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/sample/peer.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/schemas.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/struct/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/subprocess/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/subprocess/interface.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/subprocess/peer.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/subprocess/protocol.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/task/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/task/asynchronous.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/task/basic/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/task/basic/manager.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/task/basic/periodic.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/task/sample.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/task/trig/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/telemetry/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/telemetry/sample.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/tui/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/tui/channels/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/tui/cursor.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/tui/mixin.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/tui/mock.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/tui/task.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/ui/__init__.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/ui/controls.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/util.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy.egg-info/SOURCES.txt +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy.egg-info/dependency_links.txt +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy.egg-info/entry_points.txt +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy.egg-info/requires.txt +2 -2
- {runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy.egg-info/top_level.txt +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/setup.cfg +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/setup.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/tests/test_entry.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/tests/test_mapping.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/tests/test_resources.py +0 -0
- {runtimepy-5.9.2 → runtimepy-5.10.1}/tests/test_util.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: runtimepy
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.10.1
|
|
4
4
|
Summary: A framework for implementing Python services.
|
|
5
5
|
Home-page: https://github.com/vkottler/runtimepy
|
|
6
6
|
Author: Vaughn Kottler
|
|
@@ -17,11 +17,11 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
17
17
|
Requires-Python: >=3.12
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
19
|
License-File: LICENSE
|
|
20
|
-
Requires-Dist:
|
|
20
|
+
Requires-Dist: websockets
|
|
21
21
|
Requires-Dist: aiofiles
|
|
22
22
|
Requires-Dist: svgen>=0.7.4
|
|
23
|
+
Requires-Dist: psutil
|
|
23
24
|
Requires-Dist: vcorelib>=3.5.1
|
|
24
|
-
Requires-Dist: websockets
|
|
25
25
|
Provides-Extra: test
|
|
26
26
|
Requires-Dist: pylint; extra == "test"
|
|
27
27
|
Requires-Dist: flake8; extra == "test"
|
|
@@ -49,11 +49,11 @@ Dynamic: requires-python
|
|
|
49
49
|
=====================================
|
|
50
50
|
generator=datazen
|
|
51
51
|
version=3.1.4
|
|
52
|
-
hash=
|
|
52
|
+
hash=a8fb82d7f11d94c5c3ad4adea1026d9e
|
|
53
53
|
=====================================
|
|
54
54
|
-->
|
|
55
55
|
|
|
56
|
-
# runtimepy ([5.
|
|
56
|
+
# runtimepy ([5.10.1](https://pypi.org/project/runtimepy/))
|
|
57
57
|
|
|
58
58
|
[](https://pypi.org/project/runtimepy/)
|
|
59
59
|

|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
=====================================
|
|
3
3
|
generator=datazen
|
|
4
4
|
version=3.1.4
|
|
5
|
-
hash=
|
|
5
|
+
hash=a8fb82d7f11d94c5c3ad4adea1026d9e
|
|
6
6
|
=====================================
|
|
7
7
|
-->
|
|
8
8
|
|
|
9
|
-
# runtimepy ([5.
|
|
9
|
+
# runtimepy ([5.10.1](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.1.4
|
|
4
|
-
# hash=
|
|
4
|
+
# hash=649474f8a3122bccd6febc4bb2156b11
|
|
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
|
+
VERSION = "5.10.1"
|
|
14
14
|
|
|
15
15
|
# runtimepy-specific content.
|
|
16
16
|
METRICS_NAME = "metrics"
|
|
@@ -98,10 +98,9 @@ processes:
|
|
|
98
98
|
|
|
99
99
|
# The peer itself runs an arbiter process.
|
|
100
100
|
config:
|
|
101
|
+
config: *cfg
|
|
101
102
|
includes:
|
|
102
103
|
- package://runtimepy/server.yaml
|
|
103
|
-
|
|
104
104
|
app: runtimepy.sample.program.run
|
|
105
|
-
config: *cfg
|
|
106
105
|
|
|
107
106
|
program: runtimepy.sample.program.SampleProgram
|
|
@@ -4,7 +4,7 @@ A module implementing a message-stream processing interface.
|
|
|
4
4
|
|
|
5
5
|
# built-in
|
|
6
6
|
from io import BytesIO as _BytesIO
|
|
7
|
-
from json import dumps, loads
|
|
7
|
+
from json import JSONEncoder, dumps, loads
|
|
8
8
|
from typing import Any
|
|
9
9
|
from typing import Iterator as _Iterator
|
|
10
10
|
|
|
@@ -18,6 +18,18 @@ from runtimepy.primitives.byte_order import DEFAULT_BYTE_ORDER, ByteOrder
|
|
|
18
18
|
JsonMessage = dict[str, Any]
|
|
19
19
|
|
|
20
20
|
|
|
21
|
+
class StrFallbackJSONEncoder(JSONEncoder):
|
|
22
|
+
"""Custom JSON encoder."""
|
|
23
|
+
|
|
24
|
+
def default(self, o):
|
|
25
|
+
"""Use a string conversion if necessary."""
|
|
26
|
+
|
|
27
|
+
try:
|
|
28
|
+
return super().default(o)
|
|
29
|
+
except TypeError:
|
|
30
|
+
return str(o)
|
|
31
|
+
|
|
32
|
+
|
|
21
33
|
class MessageProcessor:
|
|
22
34
|
"""A class for parsing size-delimited messages."""
|
|
23
35
|
|
|
@@ -48,7 +60,11 @@ class MessageProcessor:
|
|
|
48
60
|
|
|
49
61
|
def encode_json(self, stream: _BytesIO, data: JsonMessage) -> None:
|
|
50
62
|
"""Encode a message as JSON."""
|
|
51
|
-
|
|
63
|
+
|
|
64
|
+
self.encode(
|
|
65
|
+
stream,
|
|
66
|
+
dumps(data, cls=StrFallbackJSONEncoder, separators=(",", ":")),
|
|
67
|
+
)
|
|
52
68
|
|
|
53
69
|
def messages(self, data: bytes) -> _Iterator[JsonMessage]:
|
|
54
70
|
"""Iterate over incoming messages."""
|
|
@@ -223,7 +223,11 @@ class ConfigConnectionArbiter(_ImportConnectionArbiter):
|
|
|
223
223
|
assert self.factory_process(
|
|
224
224
|
factory,
|
|
225
225
|
name,
|
|
226
|
-
|
|
226
|
+
# Allow port information to pass through.
|
|
227
|
+
dict_resolve_env_vars(
|
|
228
|
+
process,
|
|
229
|
+
env=self._ports, # type: ignore
|
|
230
|
+
),
|
|
227
231
|
), f"Couldn't register process '{name}' ({factory})!"
|
|
228
232
|
|
|
229
233
|
# Load initialization methods.
|
|
@@ -9,13 +9,15 @@ import asyncio
|
|
|
9
9
|
from vcorelib.math import RateLimiter
|
|
10
10
|
|
|
11
11
|
# internal
|
|
12
|
-
from runtimepy.net.arbiter.info import AppInfo
|
|
12
|
+
from runtimepy.net.arbiter.info import AppInfo, SampleStruct
|
|
13
13
|
from runtimepy.subprocess.program import PeerProgram
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
class SampleProgram(PeerProgram):
|
|
17
17
|
"""A sample peer program."""
|
|
18
18
|
|
|
19
|
+
struct_type = SampleStruct
|
|
20
|
+
|
|
19
21
|
stderr_task: asyncio.Task[None]
|
|
20
22
|
|
|
21
23
|
async def log_message_sender(
|
|
@@ -91,4 +93,6 @@ async def run(app: AppInfo) -> int:
|
|
|
91
93
|
|
|
92
94
|
await prog.wait_json({"a": 1, "b": 2, "c": 3})
|
|
93
95
|
|
|
96
|
+
await app.stop.wait()
|
|
97
|
+
|
|
94
98
|
return 0
|
|
@@ -20,7 +20,7 @@ from vcorelib.paths.context import tempfile
|
|
|
20
20
|
from runtimepy.metrics.channel import ChannelMetrics
|
|
21
21
|
from runtimepy.mixins.psutil import PsutilMixin
|
|
22
22
|
from runtimepy.net.arbiter import ConnectionArbiter
|
|
23
|
-
from runtimepy.net.arbiter.info import RuntimeStruct
|
|
23
|
+
from runtimepy.net.arbiter.info import RuntimeStruct
|
|
24
24
|
from runtimepy.subprocess.interface import RuntimepyPeerInterface
|
|
25
25
|
|
|
26
26
|
T = TypeVar("T", bound="PeerProgram")
|
|
@@ -34,7 +34,7 @@ class PeerProgram(RuntimepyPeerInterface, PsutilMixin):
|
|
|
34
34
|
stream_output: BinaryIO
|
|
35
35
|
stream_metrics: ChannelMetrics
|
|
36
36
|
|
|
37
|
-
struct_type: Type[RuntimeStruct] =
|
|
37
|
+
struct_type: Type[RuntimeStruct] = RuntimeStruct
|
|
38
38
|
|
|
39
39
|
got_eof: asyncio.Event
|
|
40
40
|
|
|
@@ -71,7 +71,7 @@ class PeerProgram(RuntimepyPeerInterface, PsutilMixin):
|
|
|
71
71
|
prev_poll_time = loop.time()
|
|
72
72
|
|
|
73
73
|
with suppress(asyncio.CancelledError):
|
|
74
|
-
while
|
|
74
|
+
while not self.got_eof.is_set():
|
|
75
75
|
# Perform heartbeat.
|
|
76
76
|
if self._peer_env_event.is_set():
|
|
77
77
|
self.stderr_metrics.update(self.stream_metrics)
|
|
@@ -90,6 +90,8 @@ class PeerProgram(RuntimepyPeerInterface, PsutilMixin):
|
|
|
90
90
|
async def io_task(self, buffer: BinaryIO) -> None:
|
|
91
91
|
"""Run this peer program's main loop."""
|
|
92
92
|
|
|
93
|
+
self.got_eof.clear()
|
|
94
|
+
|
|
93
95
|
# Allow polling stdin.
|
|
94
96
|
if hasattr(os, "set_blocking"):
|
|
95
97
|
getattr(os, "set_blocking")(buffer.fileno(), False)
|
|
@@ -97,7 +99,7 @@ class PeerProgram(RuntimepyPeerInterface, PsutilMixin):
|
|
|
97
99
|
accumulator = 0
|
|
98
100
|
|
|
99
101
|
with suppress(asyncio.CancelledError):
|
|
100
|
-
while
|
|
102
|
+
while not self.got_eof.is_set():
|
|
101
103
|
data: bytes = buffer.read(1)
|
|
102
104
|
if data is None:
|
|
103
105
|
await asyncio.sleep(self.poll_period_s)
|
|
@@ -148,7 +150,7 @@ class PeerProgram(RuntimepyPeerInterface, PsutilMixin):
|
|
|
148
150
|
with tempfile(suffix=".json") as config_path:
|
|
149
151
|
arbiter = ConnectionArbiter(stop_sig=self.got_eof)
|
|
150
152
|
ARBITER.encode(config_path, self.struct.config)
|
|
151
|
-
await arbiter.load_configs([config_path]
|
|
153
|
+
await arbiter.load_configs([config_path])
|
|
152
154
|
|
|
153
155
|
await arbiter.app()
|
|
154
156
|
|
|
@@ -210,9 +212,9 @@ class PeerProgram(RuntimepyPeerInterface, PsutilMixin):
|
|
|
210
212
|
# Don't respond to keyboard interrupt.
|
|
211
213
|
signal.signal(signal.SIGINT, signal.SIG_IGN)
|
|
212
214
|
|
|
213
|
-
async with cls.running(name, config, argv) as (
|
|
214
|
-
|
|
215
|
-
|
|
215
|
+
async with cls.running(name, config, argv) as (_, main_task, peer):
|
|
216
|
+
with peer.log_time("Main task context", reminder=True):
|
|
217
|
+
await main_task
|
|
216
218
|
|
|
217
219
|
async def poll_handler(self) -> None:
|
|
218
220
|
"""Handle a 'poll' message."""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: runtimepy
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.10.1
|
|
4
4
|
Summary: A framework for implementing Python services.
|
|
5
5
|
Home-page: https://github.com/vkottler/runtimepy
|
|
6
6
|
Author: Vaughn Kottler
|
|
@@ -17,11 +17,11 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
17
17
|
Requires-Python: >=3.12
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
19
|
License-File: LICENSE
|
|
20
|
-
Requires-Dist:
|
|
20
|
+
Requires-Dist: websockets
|
|
21
21
|
Requires-Dist: aiofiles
|
|
22
22
|
Requires-Dist: svgen>=0.7.4
|
|
23
|
+
Requires-Dist: psutil
|
|
23
24
|
Requires-Dist: vcorelib>=3.5.1
|
|
24
|
-
Requires-Dist: websockets
|
|
25
25
|
Provides-Extra: test
|
|
26
26
|
Requires-Dist: pylint; extra == "test"
|
|
27
27
|
Requires-Dist: flake8; extra == "test"
|
|
@@ -49,11 +49,11 @@ Dynamic: requires-python
|
|
|
49
49
|
=====================================
|
|
50
50
|
generator=datazen
|
|
51
51
|
version=3.1.4
|
|
52
|
-
hash=
|
|
52
|
+
hash=a8fb82d7f11d94c5c3ad4adea1026d9e
|
|
53
53
|
=====================================
|
|
54
54
|
-->
|
|
55
55
|
|
|
56
|
-
# runtimepy ([5.
|
|
56
|
+
# runtimepy ([5.10.1](https://pypi.org/project/runtimepy/))
|
|
57
57
|
|
|
58
58
|
[](https://pypi.org/project/runtimepy/)
|
|
59
59
|

|
|
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.9.2 → runtimepy-5.10.1}/runtimepy/data/static/woff2/CascadiaCode-BoldItalic.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runtimepy-5.9.2 → runtimepy-5.10.1}/runtimepy/data/static/woff2/CascadiaMono-BoldItalic.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
|