opengris-scaler 1.12.7__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.
Potentially problematic release.
This version of opengris-scaler might be problematic. Click here for more details.
- opengris_scaler-1.12.7/.clang-format +76 -0
- opengris_scaler-1.12.7/.github/actions/3rd-party-libraries-compile/action.yml +30 -0
- opengris_scaler-1.12.7/.github/actions/3rd-party-libraries-download/action.yml +30 -0
- opengris_scaler-1.12.7/.github/actions/3rd-party-libraries-install/action.yml +22 -0
- opengris_scaler-1.12.7/.github/actions/compile-libraries/action.yml +24 -0
- opengris_scaler-1.12.7/.github/actions/create-artifacts/action.yml +28 -0
- opengris_scaler-1.12.7/.github/actions/harden-check/action.yml +12 -0
- opengris_scaler-1.12.7/.github/actions/publish-doc/action.yml +24 -0
- opengris_scaler-1.12.7/.github/actions/run-linter/action.yml +34 -0
- opengris_scaler-1.12.7/.github/actions/run-test/action.yml +46 -0
- opengris_scaler-1.12.7/.github/actions/setup-env/action.yml +30 -0
- opengris_scaler-1.12.7/.github/dependabot.yml +11 -0
- opengris_scaler-1.12.7/.github/workflows/build-and-test.yml +55 -0
- opengris_scaler-1.12.7/.github/workflows/codeql.yml +48 -0
- opengris_scaler-1.12.7/.github/workflows/dependency-review.yml +26 -0
- opengris_scaler-1.12.7/.github/workflows/publish-artifact.yml +44 -0
- opengris_scaler-1.12.7/.github/workflows/publish-documentation.yml +30 -0
- opengris_scaler-1.12.7/.github/workflows/scorecard.yml +58 -0
- opengris_scaler-1.12.7/.gitignore +34 -0
- opengris_scaler-1.12.7/CMakeLists.txt +115 -0
- opengris_scaler-1.12.7/CMakePresets.json +121 -0
- opengris_scaler-1.12.7/CONTRIBUTING.md +106 -0
- opengris_scaler-1.12.7/LICENSE +201 -0
- opengris_scaler-1.12.7/LICENSE.spdx +7 -0
- opengris_scaler-1.12.7/NOTICE +8 -0
- opengris_scaler-1.12.7/PKG-INFO +729 -0
- opengris_scaler-1.12.7/README.md +686 -0
- opengris_scaler-1.12.7/benchmarks/dask_local_test.py +30 -0
- opengris_scaler-1.12.7/benchmarks/dask_remote_test.py +30 -0
- opengris_scaler-1.12.7/benchmarks/scaler_test.py +36 -0
- opengris_scaler-1.12.7/docs/.gitignore +1 -0
- opengris_scaler-1.12.7/docs/Makefile +20 -0
- opengris_scaler-1.12.7/docs/make.bat +35 -0
- opengris_scaler-1.12.7/docs/requirements_docs.txt +3 -0
- opengris_scaler-1.12.7/docs/source/_static/style.css +19 -0
- opengris_scaler-1.12.7/docs/source/_templates/layout.html +14 -0
- opengris_scaler-1.12.7/docs/source/conf.py +75 -0
- opengris_scaler-1.12.7/docs/source/index.rst +30 -0
- opengris_scaler-1.12.7/docs/source/tutorials/configuration.rst +242 -0
- opengris_scaler-1.12.7/docs/source/tutorials/examples.rst +106 -0
- opengris_scaler-1.12.7/docs/source/tutorials/features.rst +244 -0
- opengris_scaler-1.12.7/docs/source/tutorials/images/architecture.png +0 -0
- opengris_scaler-1.12.7/docs/source/tutorials/quickstart.rst +173 -0
- opengris_scaler-1.12.7/downloaded/capnproto-c++-1.1.0.tar.gz +0 -0
- opengris_scaler-1.12.7/examples/CMakeLists.txt +1 -0
- opengris_scaler-1.12.7/examples/applications/downloaded_data.csv +16 -0
- opengris_scaler-1.12.7/examples/applications/implied_volatility.py +94 -0
- opengris_scaler-1.12.7/examples/applications/pillow.py +57 -0
- opengris_scaler-1.12.7/examples/applications/requirements_applications.txt +10 -0
- opengris_scaler-1.12.7/examples/applications/timeseries.py +62 -0
- opengris_scaler-1.12.7/examples/applications/yfinance_historical_price.py +100 -0
- opengris_scaler-1.12.7/examples/cpp/CMakeLists.txt +1 -0
- opengris_scaler-1.12.7/examples/cpp/ymq/CMakeLists.txt +24 -0
- opengris_scaler-1.12.7/examples/cpp/ymq/automated_echo_client.cpp +84 -0
- opengris_scaler-1.12.7/examples/cpp/ymq/echo_client.cpp +71 -0
- opengris_scaler-1.12.7/examples/cpp/ymq/echo_server.cpp +39 -0
- opengris_scaler-1.12.7/examples/cpp/ymq/pingpong.cpp +73 -0
- opengris_scaler-1.12.7/examples/cpp/ymq/pub_server.cpp +46 -0
- opengris_scaler-1.12.7/examples/cpp/ymq/remove_iosocket.cpp +24 -0
- opengris_scaler-1.12.7/examples/cpp/ymq/sub_client.cpp +54 -0
- opengris_scaler-1.12.7/examples/cpp/ymq/timestamp.cpp +19 -0
- opengris_scaler-1.12.7/examples/disconnect_client.py +27 -0
- opengris_scaler-1.12.7/examples/graphtask_client.py +53 -0
- opengris_scaler-1.12.7/examples/graphtask_nested_client.py +43 -0
- opengris_scaler-1.12.7/examples/images/cat_1.jpg +0 -0
- opengris_scaler-1.12.7/examples/images/cat_2.jpg +0 -0
- opengris_scaler-1.12.7/examples/map_client.py +33 -0
- opengris_scaler-1.12.7/examples/nested_client.py +32 -0
- opengris_scaler-1.12.7/examples/readme.md +21 -0
- opengris_scaler-1.12.7/examples/send_object_client.py +41 -0
- opengris_scaler-1.12.7/examples/simple_client.py +51 -0
- opengris_scaler-1.12.7/examples/task_capabilities.py +76 -0
- opengris_scaler-1.12.7/pyproject.toml +161 -0
- opengris_scaler-1.12.7/renovate.json +22 -0
- opengris_scaler-1.12.7/run_cluster.py +4 -0
- opengris_scaler-1.12.7/run_object_storage_server.py +4 -0
- opengris_scaler-1.12.7/run_scheduler.py +5 -0
- opengris_scaler-1.12.7/run_top.py +5 -0
- opengris_scaler-1.12.7/run_webui.py +4 -0
- opengris_scaler-1.12.7/run_worker_adapter_native.py +5 -0
- opengris_scaler-1.12.7/run_worker_adapter_symphony.py +5 -0
- opengris_scaler-1.12.7/scaler/CMakeLists.txt +11 -0
- opengris_scaler-1.12.7/scaler/__init__.py +14 -0
- opengris_scaler-1.12.7/scaler/about.py +5 -0
- opengris_scaler-1.12.7/scaler/client/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/client/agent/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/client/agent/client_agent.py +210 -0
- opengris_scaler-1.12.7/scaler/client/agent/disconnect_manager.py +27 -0
- opengris_scaler-1.12.7/scaler/client/agent/future_manager.py +112 -0
- opengris_scaler-1.12.7/scaler/client/agent/heartbeat_manager.py +74 -0
- opengris_scaler-1.12.7/scaler/client/agent/mixins.py +89 -0
- opengris_scaler-1.12.7/scaler/client/agent/object_manager.py +98 -0
- opengris_scaler-1.12.7/scaler/client/agent/task_manager.py +64 -0
- opengris_scaler-1.12.7/scaler/client/client.py +635 -0
- opengris_scaler-1.12.7/scaler/client/future.py +252 -0
- opengris_scaler-1.12.7/scaler/client/object_buffer.py +129 -0
- opengris_scaler-1.12.7/scaler/client/object_reference.py +25 -0
- opengris_scaler-1.12.7/scaler/client/serializer/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/client/serializer/default.py +16 -0
- opengris_scaler-1.12.7/scaler/client/serializer/mixins.py +38 -0
- opengris_scaler-1.12.7/scaler/cluster/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/cluster/cluster.py +115 -0
- opengris_scaler-1.12.7/scaler/cluster/combo.py +148 -0
- opengris_scaler-1.12.7/scaler/cluster/object_storage_server.py +45 -0
- opengris_scaler-1.12.7/scaler/cluster/scheduler.py +83 -0
- opengris_scaler-1.12.7/scaler/config/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/config/defaults.py +87 -0
- opengris_scaler-1.12.7/scaler/config/loader.py +95 -0
- opengris_scaler-1.12.7/scaler/config/mixins.py +15 -0
- opengris_scaler-1.12.7/scaler/config/section/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/config/section/cluster.py +56 -0
- opengris_scaler-1.12.7/scaler/config/section/native_worker_adapter.py +44 -0
- opengris_scaler-1.12.7/scaler/config/section/object_storage_server.py +7 -0
- opengris_scaler-1.12.7/scaler/config/section/scheduler.py +53 -0
- opengris_scaler-1.12.7/scaler/config/section/symphony_worker_adapter.py +47 -0
- opengris_scaler-1.12.7/scaler/config/section/top.py +13 -0
- opengris_scaler-1.12.7/scaler/config/section/webui.py +16 -0
- opengris_scaler-1.12.7/scaler/config/types/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/config/types/object_storage_server.py +45 -0
- opengris_scaler-1.12.7/scaler/config/types/worker.py +57 -0
- opengris_scaler-1.12.7/scaler/config/types/zmq.py +79 -0
- opengris_scaler-1.12.7/scaler/entry_points/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/entry_points/cluster.py +133 -0
- opengris_scaler-1.12.7/scaler/entry_points/object_storage_server.py +41 -0
- opengris_scaler-1.12.7/scaler/entry_points/scheduler.py +135 -0
- opengris_scaler-1.12.7/scaler/entry_points/top.py +286 -0
- opengris_scaler-1.12.7/scaler/entry_points/webui.py +26 -0
- opengris_scaler-1.12.7/scaler/entry_points/worker_adapter_native.py +137 -0
- opengris_scaler-1.12.7/scaler/entry_points/worker_adapter_symphony.py +102 -0
- opengris_scaler-1.12.7/scaler/io/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/io/async_binder.py +85 -0
- opengris_scaler-1.12.7/scaler/io/async_connector.py +95 -0
- opengris_scaler-1.12.7/scaler/io/async_object_storage_connector.py +185 -0
- opengris_scaler-1.12.7/scaler/io/mixins.py +154 -0
- opengris_scaler-1.12.7/scaler/io/sync_connector.py +68 -0
- opengris_scaler-1.12.7/scaler/io/sync_object_storage_connector.py +185 -0
- opengris_scaler-1.12.7/scaler/io/sync_subscriber.py +83 -0
- opengris_scaler-1.12.7/scaler/io/utility.py +31 -0
- opengris_scaler-1.12.7/scaler/io/ymq/CMakeLists.txt +98 -0
- opengris_scaler-1.12.7/scaler/io/ymq/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/io/ymq/_ymq.pyi +96 -0
- opengris_scaler-1.12.7/scaler/io/ymq/bytes.h +114 -0
- opengris_scaler-1.12.7/scaler/io/ymq/common.h +29 -0
- opengris_scaler-1.12.7/scaler/io/ymq/configuration.h +60 -0
- opengris_scaler-1.12.7/scaler/io/ymq/epoll_context.cpp +185 -0
- opengris_scaler-1.12.7/scaler/io/ymq/epoll_context.h +85 -0
- opengris_scaler-1.12.7/scaler/io/ymq/error.h +132 -0
- opengris_scaler-1.12.7/scaler/io/ymq/event_loop.h +55 -0
- opengris_scaler-1.12.7/scaler/io/ymq/event_loop_thread.cpp +64 -0
- opengris_scaler-1.12.7/scaler/io/ymq/event_loop_thread.h +46 -0
- opengris_scaler-1.12.7/scaler/io/ymq/event_manager.h +81 -0
- opengris_scaler-1.12.7/scaler/io/ymq/file_descriptor.h +203 -0
- opengris_scaler-1.12.7/scaler/io/ymq/interruptive_concurrent_queue.h +169 -0
- opengris_scaler-1.12.7/scaler/io/ymq/io_context.cpp +98 -0
- opengris_scaler-1.12.7/scaler/io/ymq/io_context.h +44 -0
- opengris_scaler-1.12.7/scaler/io/ymq/io_socket.cpp +299 -0
- opengris_scaler-1.12.7/scaler/io/ymq/io_socket.h +121 -0
- opengris_scaler-1.12.7/scaler/io/ymq/iocp_context.cpp +102 -0
- opengris_scaler-1.12.7/scaler/io/ymq/iocp_context.h +83 -0
- opengris_scaler-1.12.7/scaler/io/ymq/logging.h +163 -0
- opengris_scaler-1.12.7/scaler/io/ymq/message.h +15 -0
- opengris_scaler-1.12.7/scaler/io/ymq/message_connection.h +16 -0
- opengris_scaler-1.12.7/scaler/io/ymq/message_connection_tcp.cpp +672 -0
- opengris_scaler-1.12.7/scaler/io/ymq/message_connection_tcp.h +96 -0
- opengris_scaler-1.12.7/scaler/io/ymq/network_utils.h +179 -0
- opengris_scaler-1.12.7/scaler/io/ymq/pymod_ymq/bytes.h +113 -0
- opengris_scaler-1.12.7/scaler/io/ymq/pymod_ymq/exception.h +124 -0
- opengris_scaler-1.12.7/scaler/io/ymq/pymod_ymq/gil.h +15 -0
- opengris_scaler-1.12.7/scaler/io/ymq/pymod_ymq/io_context.h +166 -0
- opengris_scaler-1.12.7/scaler/io/ymq/pymod_ymq/io_socket.h +285 -0
- opengris_scaler-1.12.7/scaler/io/ymq/pymod_ymq/message.h +99 -0
- opengris_scaler-1.12.7/scaler/io/ymq/pymod_ymq/python.h +153 -0
- opengris_scaler-1.12.7/scaler/io/ymq/pymod_ymq/ymq.cpp +23 -0
- opengris_scaler-1.12.7/scaler/io/ymq/pymod_ymq/ymq.h +357 -0
- opengris_scaler-1.12.7/scaler/io/ymq/readme.md +114 -0
- opengris_scaler-1.12.7/scaler/io/ymq/simple_interface.cpp +80 -0
- opengris_scaler-1.12.7/scaler/io/ymq/simple_interface.h +24 -0
- opengris_scaler-1.12.7/scaler/io/ymq/tcp_client.cpp +367 -0
- opengris_scaler-1.12.7/scaler/io/ymq/tcp_client.h +75 -0
- opengris_scaler-1.12.7/scaler/io/ymq/tcp_operations.h +41 -0
- opengris_scaler-1.12.7/scaler/io/ymq/tcp_server.cpp +410 -0
- opengris_scaler-1.12.7/scaler/io/ymq/tcp_server.h +79 -0
- opengris_scaler-1.12.7/scaler/io/ymq/third_party/concurrentqueue.h +3747 -0
- opengris_scaler-1.12.7/scaler/io/ymq/timed_queue.h +272 -0
- opengris_scaler-1.12.7/scaler/io/ymq/timestamp.h +102 -0
- opengris_scaler-1.12.7/scaler/io/ymq/typedefs.h +20 -0
- opengris_scaler-1.12.7/scaler/io/ymq/utils.h +34 -0
- opengris_scaler-1.12.7/scaler/io/ymq/ymq.py +130 -0
- opengris_scaler-1.12.7/scaler/object_storage/CMakeLists.txt +50 -0
- opengris_scaler-1.12.7/scaler/object_storage/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/object_storage/constants.h +11 -0
- opengris_scaler-1.12.7/scaler/object_storage/defs.h +14 -0
- opengris_scaler-1.12.7/scaler/object_storage/io_helper.cpp +44 -0
- opengris_scaler-1.12.7/scaler/object_storage/io_helper.h +9 -0
- opengris_scaler-1.12.7/scaler/object_storage/message.cpp +56 -0
- opengris_scaler-1.12.7/scaler/object_storage/message.h +130 -0
- opengris_scaler-1.12.7/scaler/object_storage/object_manager.cpp +126 -0
- opengris_scaler-1.12.7/scaler/object_storage/object_manager.h +52 -0
- opengris_scaler-1.12.7/scaler/object_storage/object_storage_server.cpp +359 -0
- opengris_scaler-1.12.7/scaler/object_storage/object_storage_server.h +126 -0
- opengris_scaler-1.12.7/scaler/object_storage/pymod_object_storage_server.cpp +104 -0
- opengris_scaler-1.12.7/scaler/protocol/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/protocol/capnp/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/protocol/capnp/_python.py +6 -0
- opengris_scaler-1.12.7/scaler/protocol/capnp/common.capnp +63 -0
- opengris_scaler-1.12.7/scaler/protocol/capnp/message.capnp +216 -0
- opengris_scaler-1.12.7/scaler/protocol/capnp/object_storage.capnp +52 -0
- opengris_scaler-1.12.7/scaler/protocol/capnp/status.capnp +73 -0
- opengris_scaler-1.12.7/scaler/protocol/introduction.md +105 -0
- opengris_scaler-1.12.7/scaler/protocol/python/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/protocol/python/common.py +135 -0
- opengris_scaler-1.12.7/scaler/protocol/python/message.py +726 -0
- opengris_scaler-1.12.7/scaler/protocol/python/mixins.py +13 -0
- opengris_scaler-1.12.7/scaler/protocol/python/object_storage.py +118 -0
- opengris_scaler-1.12.7/scaler/protocol/python/status.py +279 -0
- opengris_scaler-1.12.7/scaler/protocol/worker.md +228 -0
- opengris_scaler-1.12.7/scaler/scheduler/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/scheduler/allocate_policy/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/scheduler/allocate_policy/allocate_policy.py +9 -0
- opengris_scaler-1.12.7/scaler/scheduler/allocate_policy/capability_allocate_policy.py +280 -0
- opengris_scaler-1.12.7/scaler/scheduler/allocate_policy/even_load_allocate_policy.py +159 -0
- opengris_scaler-1.12.7/scaler/scheduler/allocate_policy/mixins.py +55 -0
- opengris_scaler-1.12.7/scaler/scheduler/controllers/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/scheduler/controllers/balance_controller.py +65 -0
- opengris_scaler-1.12.7/scaler/scheduler/controllers/client_controller.py +131 -0
- opengris_scaler-1.12.7/scaler/scheduler/controllers/config_controller.py +31 -0
- opengris_scaler-1.12.7/scaler/scheduler/controllers/graph_controller.py +424 -0
- opengris_scaler-1.12.7/scaler/scheduler/controllers/information_controller.py +81 -0
- opengris_scaler-1.12.7/scaler/scheduler/controllers/mixins.py +201 -0
- opengris_scaler-1.12.7/scaler/scheduler/controllers/object_controller.py +147 -0
- opengris_scaler-1.12.7/scaler/scheduler/controllers/scaling_controller.py +86 -0
- opengris_scaler-1.12.7/scaler/scheduler/controllers/task_controller.py +373 -0
- opengris_scaler-1.12.7/scaler/scheduler/controllers/worker_controller.py +168 -0
- opengris_scaler-1.12.7/scaler/scheduler/object_usage/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/scheduler/object_usage/object_tracker.py +131 -0
- opengris_scaler-1.12.7/scaler/scheduler/scheduler.py +253 -0
- opengris_scaler-1.12.7/scaler/scheduler/task/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/scheduler/task/task_state_machine.py +92 -0
- opengris_scaler-1.12.7/scaler/scheduler/task/task_state_manager.py +61 -0
- opengris_scaler-1.12.7/scaler/ui/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/ui/constants.py +9 -0
- opengris_scaler-1.12.7/scaler/ui/live_display.py +118 -0
- opengris_scaler-1.12.7/scaler/ui/memory_window.py +146 -0
- opengris_scaler-1.12.7/scaler/ui/setting_page.py +47 -0
- opengris_scaler-1.12.7/scaler/ui/task_graph.py +370 -0
- opengris_scaler-1.12.7/scaler/ui/task_log.py +83 -0
- opengris_scaler-1.12.7/scaler/ui/utility.py +35 -0
- opengris_scaler-1.12.7/scaler/ui/webui.py +125 -0
- opengris_scaler-1.12.7/scaler/ui/worker_processors.py +85 -0
- opengris_scaler-1.12.7/scaler/utility/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/utility/debug.py +19 -0
- opengris_scaler-1.12.7/scaler/utility/event_list.py +63 -0
- opengris_scaler-1.12.7/scaler/utility/event_loop.py +58 -0
- opengris_scaler-1.12.7/scaler/utility/exceptions.py +42 -0
- opengris_scaler-1.12.7/scaler/utility/formatter.py +44 -0
- opengris_scaler-1.12.7/scaler/utility/graph/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/utility/graph/optimization.py +27 -0
- opengris_scaler-1.12.7/scaler/utility/graph/topological_sorter.py +11 -0
- opengris_scaler-1.12.7/scaler/utility/graph/topological_sorter_graphblas.py +174 -0
- opengris_scaler-1.12.7/scaler/utility/identifiers.py +105 -0
- opengris_scaler-1.12.7/scaler/utility/logging/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/utility/logging/decorators.py +25 -0
- opengris_scaler-1.12.7/scaler/utility/logging/scoped_logger.py +33 -0
- opengris_scaler-1.12.7/scaler/utility/logging/utility.py +183 -0
- opengris_scaler-1.12.7/scaler/utility/many_to_many_dict.py +123 -0
- opengris_scaler-1.12.7/scaler/utility/metadata/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/utility/metadata/profile_result.py +31 -0
- opengris_scaler-1.12.7/scaler/utility/metadata/task_flags.py +30 -0
- opengris_scaler-1.12.7/scaler/utility/mixins.py +13 -0
- opengris_scaler-1.12.7/scaler/utility/network_util.py +7 -0
- opengris_scaler-1.12.7/scaler/utility/one_to_many_dict.py +72 -0
- opengris_scaler-1.12.7/scaler/utility/queues/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/utility/queues/async_indexed_queue.py +37 -0
- opengris_scaler-1.12.7/scaler/utility/queues/async_priority_queue.py +70 -0
- opengris_scaler-1.12.7/scaler/utility/queues/async_sorted_priority_queue.py +45 -0
- opengris_scaler-1.12.7/scaler/utility/queues/indexed_queue.py +114 -0
- opengris_scaler-1.12.7/scaler/utility/serialization.py +9 -0
- opengris_scaler-1.12.7/scaler/version.txt +1 -0
- opengris_scaler-1.12.7/scaler/worker/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/worker/agent/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/worker/agent/heartbeat_manager.py +107 -0
- opengris_scaler-1.12.7/scaler/worker/agent/mixins.py +137 -0
- opengris_scaler-1.12.7/scaler/worker/agent/processor/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/worker/agent/processor/object_cache.py +107 -0
- opengris_scaler-1.12.7/scaler/worker/agent/processor/processor.py +279 -0
- opengris_scaler-1.12.7/scaler/worker/agent/processor/streaming_buffer.py +28 -0
- opengris_scaler-1.12.7/scaler/worker/agent/processor_holder.py +145 -0
- opengris_scaler-1.12.7/scaler/worker/agent/processor_manager.py +365 -0
- opengris_scaler-1.12.7/scaler/worker/agent/profiling_manager.py +109 -0
- opengris_scaler-1.12.7/scaler/worker/agent/task_manager.py +150 -0
- opengris_scaler-1.12.7/scaler/worker/agent/timeout_manager.py +19 -0
- opengris_scaler-1.12.7/scaler/worker/preload.py +84 -0
- opengris_scaler-1.12.7/scaler/worker/worker.py +264 -0
- opengris_scaler-1.12.7/scaler/worker_adapter/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/worker_adapter/native.py +154 -0
- opengris_scaler-1.12.7/scaler/worker_adapter/symphony/__init__.py +0 -0
- opengris_scaler-1.12.7/scaler/worker_adapter/symphony/callback.py +45 -0
- opengris_scaler-1.12.7/scaler/worker_adapter/symphony/heartbeat_manager.py +79 -0
- opengris_scaler-1.12.7/scaler/worker_adapter/symphony/message.py +24 -0
- opengris_scaler-1.12.7/scaler/worker_adapter/symphony/task_manager.py +288 -0
- opengris_scaler-1.12.7/scaler/worker_adapter/symphony/worker.py +205 -0
- opengris_scaler-1.12.7/scaler/worker_adapter/symphony/worker_adapter.py +142 -0
- opengris_scaler-1.12.7/scripts/build.sh +27 -0
- opengris_scaler-1.12.7/scripts/library_tool.ps1 +100 -0
- opengris_scaler-1.12.7/scripts/library_tool.sh +90 -0
- opengris_scaler-1.12.7/scripts/test.sh +15 -0
- opengris_scaler-1.12.7/slides/Effortless Distributed Computing in Python - FOSDEM 2025.pdf +0 -0
- opengris_scaler-1.12.7/slides/OSFF 2025 London.pdf +0 -0
- opengris_scaler-1.12.7/tests/CMakeLists.txt +43 -0
- opengris_scaler-1.12.7/tests/__init__.py +0 -0
- opengris_scaler-1.12.7/tests/cpp/CMakeLists.txt +3 -0
- opengris_scaler-1.12.7/tests/cpp/object_storage/CMakeLists.txt +2 -0
- opengris_scaler-1.12.7/tests/cpp/object_storage/test_object_manager.cpp +120 -0
- opengris_scaler-1.12.7/tests/cpp/object_storage/test_object_storage_server.cpp +642 -0
- opengris_scaler-1.12.7/tests/cpp/ymq/CMakeLists.txt +1 -0
- opengris_scaler-1.12.7/tests/cpp/ymq/common.h +555 -0
- opengris_scaler-1.12.7/tests/cpp/ymq/py_mitm/__init__.py +0 -0
- opengris_scaler-1.12.7/tests/cpp/ymq/py_mitm/main.py +177 -0
- opengris_scaler-1.12.7/tests/cpp/ymq/py_mitm/passthrough.py +25 -0
- opengris_scaler-1.12.7/tests/cpp/ymq/py_mitm/randomly_drop_packets.py +29 -0
- opengris_scaler-1.12.7/tests/cpp/ymq/py_mitm/send_rst_to_client.py +38 -0
- opengris_scaler-1.12.7/tests/cpp/ymq/py_mitm/types.py +56 -0
- opengris_scaler-1.12.7/tests/cpp/ymq/test_ymq.cpp +654 -0
- opengris_scaler-1.12.7/tests/io/ymq/CMakeLists.txt +1 -0
- opengris_scaler-1.12.7/tests/io/ymq/test_logging.cpp +139 -0
- opengris_scaler-1.12.7/tests/test_async_indexed_queue.py +45 -0
- opengris_scaler-1.12.7/tests/test_async_priority_queue.py +40 -0
- opengris_scaler-1.12.7/tests/test_async_sorted_priority_queue.py +39 -0
- opengris_scaler-1.12.7/tests/test_balance.py +73 -0
- opengris_scaler-1.12.7/tests/test_capabilities.py +106 -0
- opengris_scaler-1.12.7/tests/test_capability_allocate_policy.py +174 -0
- opengris_scaler-1.12.7/tests/test_client.py +429 -0
- opengris_scaler-1.12.7/tests/test_cluster.py +26 -0
- opengris_scaler-1.12.7/tests/test_cluster_disconnect.py +58 -0
- opengris_scaler-1.12.7/tests/test_config.py +179 -0
- opengris_scaler-1.12.7/tests/test_death_timeout.py +99 -0
- opengris_scaler-1.12.7/tests/test_future.py +303 -0
- opengris_scaler-1.12.7/tests/test_graph.py +208 -0
- opengris_scaler-1.12.7/tests/test_indexed_queue.py +35 -0
- opengris_scaler-1.12.7/tests/test_nested_task.py +62 -0
- opengris_scaler-1.12.7/tests/test_object_usage.py +48 -0
- opengris_scaler-1.12.7/tests/test_profiling.py +65 -0
- opengris_scaler-1.12.7/tests/test_protected.py +45 -0
- opengris_scaler-1.12.7/tests/test_scaling.py +114 -0
- opengris_scaler-1.12.7/tests/test_serializer.py +86 -0
- opengris_scaler-1.12.7/tests/test_ui.py +78 -0
- opengris_scaler-1.12.7/tests/utility.py +26 -0
- opengris_scaler-1.12.7/version.h.in +7 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
BasedOnStyle: Chromium
|
|
3
|
+
AccessModifierOffset: '-4'
|
|
4
|
+
AlignAfterOpenBracket: AlwaysBreak
|
|
5
|
+
AlignConsecutiveMacros: 'true'
|
|
6
|
+
AlignConsecutiveAssignments: 'true'
|
|
7
|
+
AlignConsecutiveDeclarations: 'false'
|
|
8
|
+
AlignEscapedNewlines: Left
|
|
9
|
+
AlignOperands: 'true'
|
|
10
|
+
AlignTrailingComments: 'true'
|
|
11
|
+
AllowAllArgumentsOnNextLine: 'true'
|
|
12
|
+
AllowAllConstructorInitializersOnNextLine: 'true'
|
|
13
|
+
AllowShortBlocksOnASingleLine: 'true'
|
|
14
|
+
AllowShortCaseLabelsOnASingleLine: 'true'
|
|
15
|
+
AllowShortIfStatementsOnASingleLine: Never
|
|
16
|
+
AllowShortLambdasOnASingleLine: All
|
|
17
|
+
AllowShortLoopsOnASingleLine: 'false'
|
|
18
|
+
AlwaysBreakAfterReturnType: None
|
|
19
|
+
AlwaysBreakBeforeMultilineStrings: 'true'
|
|
20
|
+
AlwaysBreakTemplateDeclarations: 'Yes'
|
|
21
|
+
BinPackArguments: 'false'
|
|
22
|
+
BreakBeforeBinaryOperators: None
|
|
23
|
+
BreakBeforeTernaryOperators: 'false'
|
|
24
|
+
BreakConstructorInitializers: BeforeComma
|
|
25
|
+
BreakInheritanceList: BeforeColon
|
|
26
|
+
BreakStringLiterals: 'true'
|
|
27
|
+
ColumnLimit: '120'
|
|
28
|
+
CompactNamespaces: 'false'
|
|
29
|
+
ConstructorInitializerAllOnOneLineOrOnePerLine: 'true'
|
|
30
|
+
ConstructorInitializerIndentWidth: '4'
|
|
31
|
+
ContinuationIndentWidth: '4'
|
|
32
|
+
Cpp11BracedListStyle: 'true'
|
|
33
|
+
FixNamespaceComments: 'true'
|
|
34
|
+
IncludeBlocks: Regroup
|
|
35
|
+
IndentCaseLabels: 'true'
|
|
36
|
+
IndentPPDirectives: None
|
|
37
|
+
IndentWidth: '4'
|
|
38
|
+
IndentWrappedFunctionNames: 'false'
|
|
39
|
+
Language: Cpp
|
|
40
|
+
NamespaceIndentation: None
|
|
41
|
+
PointerAlignment: Left
|
|
42
|
+
SpaceBeforeAssignmentOperators: 'true'
|
|
43
|
+
SpaceBeforeCpp11BracedList: 'true'
|
|
44
|
+
SpaceBeforeCtorInitializerColon: 'false'
|
|
45
|
+
SpaceBeforeInheritanceColon: 'false'
|
|
46
|
+
SpaceBeforeParens: ControlStatements
|
|
47
|
+
SpaceBeforeRangeBasedForLoopColon: 'false'
|
|
48
|
+
SpaceInEmptyParentheses: 'false'
|
|
49
|
+
SpacesInAngles: 'false'
|
|
50
|
+
SpacesInCStyleCastParentheses: 'false'
|
|
51
|
+
SpacesInContainerLiterals: 'false'
|
|
52
|
+
SpacesInParentheses: 'false'
|
|
53
|
+
SpacesInSquareBrackets: 'false'
|
|
54
|
+
Standard: Cpp11
|
|
55
|
+
TabWidth: '4'
|
|
56
|
+
UseTab: Never
|
|
57
|
+
|
|
58
|
+
# control function declaration/definition
|
|
59
|
+
AllowShortFunctionsOnASingleLine: InlineOnly
|
|
60
|
+
AllowAllParametersOfDeclarationOnNextLine: true
|
|
61
|
+
BinPackParameters: OnePerLine
|
|
62
|
+
|
|
63
|
+
# control behavior of {, only detach for function body
|
|
64
|
+
BreakBeforeBraces: Custom
|
|
65
|
+
BraceWrapping:
|
|
66
|
+
AfterFunction: true
|
|
67
|
+
AfterClass: false
|
|
68
|
+
AfterControlStatement: false
|
|
69
|
+
AfterEnum: false
|
|
70
|
+
AfterNamespace: false
|
|
71
|
+
AfterStruct: false
|
|
72
|
+
AfterUnion: false
|
|
73
|
+
BeforeCatch: false
|
|
74
|
+
BeforeElse: false
|
|
75
|
+
IndentBraces: false
|
|
76
|
+
...
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: "3rd Party Libraries Compile"
|
|
2
|
+
description: "3rd Party Libraries Compile"
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
os:
|
|
6
|
+
description: "operating system"
|
|
7
|
+
required: true
|
|
8
|
+
|
|
9
|
+
runs:
|
|
10
|
+
using: "composite"
|
|
11
|
+
steps:
|
|
12
|
+
- name: Cache Library Compile
|
|
13
|
+
uses: actions/cache@v4
|
|
14
|
+
id: compiled-libraries
|
|
15
|
+
with:
|
|
16
|
+
path: |
|
|
17
|
+
capnproto-*
|
|
18
|
+
key: compiled-libraries-${{ inputs.os }}-${{ hashFiles('scripts/library_tool.*') }}
|
|
19
|
+
|
|
20
|
+
- name: Compile Libraries (Linux)
|
|
21
|
+
shell: bash
|
|
22
|
+
if: (inputs.os == 'Linux') && (steps.compiled-libraries.outputs.cache-hit != 'true')
|
|
23
|
+
run: |
|
|
24
|
+
./scripts/library_tool.sh capnp compile
|
|
25
|
+
|
|
26
|
+
- name: Compile Libraries (Windows)
|
|
27
|
+
shell: pwsh
|
|
28
|
+
if: (inputs.os == 'Windows') && (steps.compiled-libraries.outputs.cache-hit != 'true')
|
|
29
|
+
run: |
|
|
30
|
+
./scripts/library_tool.ps1 capnp compile
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: "3rd Party Libraries Download"
|
|
2
|
+
description: "3rd Party Libraries Download"
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
os:
|
|
6
|
+
description: "operating system"
|
|
7
|
+
required: true
|
|
8
|
+
|
|
9
|
+
runs:
|
|
10
|
+
using: "composite"
|
|
11
|
+
steps:
|
|
12
|
+
- name: Cache Library Download
|
|
13
|
+
uses: actions/cache@v4
|
|
14
|
+
id: download-libraries
|
|
15
|
+
with:
|
|
16
|
+
path: |
|
|
17
|
+
downloaded
|
|
18
|
+
key: download-libraries-${{ inputs.os }}-${{ hashFiles('scripts/library_tool.*') }}
|
|
19
|
+
|
|
20
|
+
- name: Download Libraries (Linux)
|
|
21
|
+
shell: bash
|
|
22
|
+
if: (inputs.os == 'Linux') && (steps.download-libraries.outputs.cache-hit != 'true')
|
|
23
|
+
run: |
|
|
24
|
+
./scripts/library_tool.sh capnp download
|
|
25
|
+
|
|
26
|
+
- name: Download Libraries (Windows)
|
|
27
|
+
shell: pwsh
|
|
28
|
+
if: (inputs.os == 'Windows') && (steps.download-libraries.outputs.cache-hit != 'true')
|
|
29
|
+
run: |
|
|
30
|
+
./scripts/library_tool.ps1 capnp download
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: "3rd Party Libraries Install"
|
|
2
|
+
description: "3rd Party Libraries Install"
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
os:
|
|
6
|
+
description: "operating system"
|
|
7
|
+
required: true
|
|
8
|
+
|
|
9
|
+
runs:
|
|
10
|
+
using: "composite"
|
|
11
|
+
steps:
|
|
12
|
+
- name: Install Libraries (Linux)
|
|
13
|
+
shell: bash
|
|
14
|
+
if: inputs.os == 'Linux'
|
|
15
|
+
run: |
|
|
16
|
+
sudo ./scripts/library_tool.sh capnp install
|
|
17
|
+
|
|
18
|
+
- name: Install Libraries (Windows)
|
|
19
|
+
shell: pwsh
|
|
20
|
+
if: inputs.os == 'Windows'
|
|
21
|
+
run: |
|
|
22
|
+
./scripts/library_tool.ps1 capnp install
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: 'Compile Libraries'
|
|
2
|
+
description: 'Compile Libraries'
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
os:
|
|
6
|
+
description: "operating system"
|
|
7
|
+
required: true
|
|
8
|
+
|
|
9
|
+
runs:
|
|
10
|
+
using: "composite"
|
|
11
|
+
steps:
|
|
12
|
+
- name: Build C++ Components (Linux)
|
|
13
|
+
if: inputs.os == 'Linux'
|
|
14
|
+
shell: bash
|
|
15
|
+
run: |
|
|
16
|
+
CXX=$(which g++-14) ./scripts/build.sh
|
|
17
|
+
|
|
18
|
+
- name: Build and test C++ Components (Windows)
|
|
19
|
+
if: inputs.os == 'Windows'
|
|
20
|
+
shell: pwsh
|
|
21
|
+
run: |
|
|
22
|
+
cmake --preset windows-x64
|
|
23
|
+
cmake --build --preset windows-x64 --config Debug
|
|
24
|
+
cmake --install build_windows_x64 --config Debug
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: create-artifacts
|
|
2
|
+
description: Build Artifacts
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
os:
|
|
6
|
+
description: "operating system"
|
|
7
|
+
required: true
|
|
8
|
+
|
|
9
|
+
runs:
|
|
10
|
+
using: "composite"
|
|
11
|
+
steps:
|
|
12
|
+
- name: Install Python Packages
|
|
13
|
+
if: inputs.os == 'Linux'
|
|
14
|
+
shell: bash
|
|
15
|
+
run: |
|
|
16
|
+
uv pip install --system --upgrade build cibuildwheel twine
|
|
17
|
+
rm -rf dist
|
|
18
|
+
|
|
19
|
+
- name: Build Sdist
|
|
20
|
+
if: inputs.os == 'Linux'
|
|
21
|
+
shell: bash
|
|
22
|
+
run: |
|
|
23
|
+
python -m build --sdist
|
|
24
|
+
|
|
25
|
+
- name: Build Wheel (Linux)
|
|
26
|
+
if: inputs.os == 'Linux'
|
|
27
|
+
shell: bash
|
|
28
|
+
run: python -m cibuildwheel --output-dir dist
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
name: checkout
|
|
2
|
+
description: checkout
|
|
3
|
+
|
|
4
|
+
runs:
|
|
5
|
+
using: "composite"
|
|
6
|
+
steps:
|
|
7
|
+
- name: Harden the runner (Audit all outbound calls)
|
|
8
|
+
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
|
9
|
+
with:
|
|
10
|
+
egress-policy: audit
|
|
11
|
+
|
|
12
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: 'Build Documentation'
|
|
2
|
+
description: 'Build Documentation'
|
|
3
|
+
|
|
4
|
+
runs:
|
|
5
|
+
using: 'composite'
|
|
6
|
+
steps:
|
|
7
|
+
- name: Install dependencies
|
|
8
|
+
shell: bash
|
|
9
|
+
run: |
|
|
10
|
+
uv pip install --system -r pyproject.toml
|
|
11
|
+
uv pip install --system -r docs/requirements_docs.txt
|
|
12
|
+
|
|
13
|
+
- name: Build documentation
|
|
14
|
+
shell: bash
|
|
15
|
+
run: cd docs && make html
|
|
16
|
+
|
|
17
|
+
- name: Upload Pages artifact
|
|
18
|
+
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1
|
|
19
|
+
with:
|
|
20
|
+
path: './docs/build/html'
|
|
21
|
+
|
|
22
|
+
- name: Deploy to GitHub Pages
|
|
23
|
+
id: deployment
|
|
24
|
+
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
name: 'Run Linter'
|
|
2
|
+
description: 'Run Linter'
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
os:
|
|
6
|
+
description: "operating system"
|
|
7
|
+
required: true
|
|
8
|
+
|
|
9
|
+
runs:
|
|
10
|
+
using: 'composite'
|
|
11
|
+
steps:
|
|
12
|
+
- name: Install Python Packages (Linux)
|
|
13
|
+
if: inputs.os == 'Linux'
|
|
14
|
+
shell: bash
|
|
15
|
+
run: |
|
|
16
|
+
uv pip install --system flake8 pyproject-flake8 mypy
|
|
17
|
+
uv pip install --system -r pyproject.toml --all-extras
|
|
18
|
+
|
|
19
|
+
- name: Install Python Packages (Windows)
|
|
20
|
+
if: inputs.os == 'Windows'
|
|
21
|
+
shell: bash
|
|
22
|
+
run: |
|
|
23
|
+
uv pip install --system flake8 pyproject-flake8 mypy
|
|
24
|
+
uv pip install --system -r pyproject.toml --extra graphblas --extra gui
|
|
25
|
+
|
|
26
|
+
- name: Lint With flake8
|
|
27
|
+
shell: bash
|
|
28
|
+
run: |
|
|
29
|
+
pflake8 .
|
|
30
|
+
|
|
31
|
+
- name: Lint With MyPy
|
|
32
|
+
shell: bash
|
|
33
|
+
run: |
|
|
34
|
+
mypy --install-types --non-interactive .
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
name: 'Run Tests With Wheel Installed'
|
|
2
|
+
description: 'Run Unit Tests And Examples With Wheel Installed'
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
os:
|
|
6
|
+
description: "operating system"
|
|
7
|
+
required: true
|
|
8
|
+
|
|
9
|
+
runs:
|
|
10
|
+
using: "composite"
|
|
11
|
+
steps:
|
|
12
|
+
- name: Install dependencies for MITM tests
|
|
13
|
+
if: inputs.os == 'Linux'
|
|
14
|
+
shell: bash
|
|
15
|
+
run: uv pip install --system scapy==2.*
|
|
16
|
+
|
|
17
|
+
- name: Run C++ Tests (Linux)
|
|
18
|
+
if: inputs.os == 'Linux'
|
|
19
|
+
shell: bash
|
|
20
|
+
run: sudo ./scripts/test.sh
|
|
21
|
+
|
|
22
|
+
# TODO: build wheel first, then run the test
|
|
23
|
+
- name: Run Unittests
|
|
24
|
+
shell: bash
|
|
25
|
+
run: |
|
|
26
|
+
python -m unittest discover -v tests
|
|
27
|
+
|
|
28
|
+
- name: Run Examples
|
|
29
|
+
shell: bash
|
|
30
|
+
run: |
|
|
31
|
+
uv pip install --system -r examples/applications/requirements_applications.txt
|
|
32
|
+
for example in "./examples"/*.py; do
|
|
33
|
+
echo "Running $example"
|
|
34
|
+
PYTHONPATH=. python $example
|
|
35
|
+
done
|
|
36
|
+
for example in "./examples/applications"/*.py; do
|
|
37
|
+
if python -c 'import sys; sys.exit(not sys.version_info <= (3, 10))'; then
|
|
38
|
+
if [ "$example" = "./examples/applications/yfinance_historical_price.py" ]; then
|
|
39
|
+
echo "Skipping $example"
|
|
40
|
+
continue;
|
|
41
|
+
fi
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
echo "Running $example"
|
|
45
|
+
PYTHONPATH=. python $example
|
|
46
|
+
done
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: 'Setup Environment'
|
|
2
|
+
description: 'Setup Environment'
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
os:
|
|
6
|
+
description: "operating system"
|
|
7
|
+
required: true
|
|
8
|
+
|
|
9
|
+
runs:
|
|
10
|
+
using: 'composite'
|
|
11
|
+
steps:
|
|
12
|
+
- name: Set up Python
|
|
13
|
+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
|
14
|
+
with:
|
|
15
|
+
python-version: "3.8"
|
|
16
|
+
|
|
17
|
+
- name: Update System (Linux)
|
|
18
|
+
shell: bash
|
|
19
|
+
if: inputs.os == 'Linux'
|
|
20
|
+
run: |
|
|
21
|
+
sudo apt update -y
|
|
22
|
+
sudo apt install -y build-essential tzdata cmake clang curl pkg-config g++-14
|
|
23
|
+
sudo chmod 755 ./scripts/library_tool.sh
|
|
24
|
+
sudo chmod 755 ./scripts/build.sh
|
|
25
|
+
|
|
26
|
+
- name: Install Python Base Packages
|
|
27
|
+
shell: bash
|
|
28
|
+
run: |
|
|
29
|
+
pip install uv
|
|
30
|
+
uv pip install --system --upgrade pip
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
|
3
|
+
# Please see the documentation for all configuration options:
|
|
4
|
+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
|
|
5
|
+
|
|
6
|
+
version: 2
|
|
7
|
+
updates:
|
|
8
|
+
- package-ecosystem: "pip" # See documentation for possible values
|
|
9
|
+
directory: "/" # Location of package manifests
|
|
10
|
+
schedule:
|
|
11
|
+
interval: "daily"
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
name: "Build And Test"
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ "main" ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ "main" ]
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
build:
|
|
14
|
+
name: Build And Test
|
|
15
|
+
runs-on: ${{ matrix.os }}
|
|
16
|
+
strategy:
|
|
17
|
+
matrix:
|
|
18
|
+
os: [ ubuntu-latest ] # , windows-latest ] , macos-latest ]
|
|
19
|
+
|
|
20
|
+
steps:
|
|
21
|
+
- name: Harden the runner (Audit all outbound calls)
|
|
22
|
+
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
|
23
|
+
with:
|
|
24
|
+
egress-policy: audit
|
|
25
|
+
|
|
26
|
+
- name: 'Checkout Repository'
|
|
27
|
+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
28
|
+
|
|
29
|
+
- uses: ./.github/actions/setup-env
|
|
30
|
+
with:
|
|
31
|
+
os: ${{ runner.os }}
|
|
32
|
+
|
|
33
|
+
- uses: ./.github/actions/3rd-party-libraries-download
|
|
34
|
+
with:
|
|
35
|
+
os: ${{ runner.os }}
|
|
36
|
+
|
|
37
|
+
- uses: ./.github/actions/3rd-party-libraries-compile
|
|
38
|
+
with:
|
|
39
|
+
os: ${{ runner.os }}
|
|
40
|
+
|
|
41
|
+
- uses: ./.github/actions/3rd-party-libraries-install
|
|
42
|
+
with:
|
|
43
|
+
os: ${{ runner.os }}
|
|
44
|
+
|
|
45
|
+
- uses: ./.github/actions/compile-libraries
|
|
46
|
+
with:
|
|
47
|
+
os: ${{ runner.os }}
|
|
48
|
+
|
|
49
|
+
- uses: ./.github/actions/run-linter
|
|
50
|
+
with:
|
|
51
|
+
os: ${{ runner.os }}
|
|
52
|
+
|
|
53
|
+
- uses: ./.github/actions/run-test
|
|
54
|
+
with:
|
|
55
|
+
os: ${{ runner.os }}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
name: "CodeQL"
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ "main" ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ "main" ]
|
|
8
|
+
schedule:
|
|
9
|
+
- cron: '34 1 * * 6'
|
|
10
|
+
|
|
11
|
+
permissions:
|
|
12
|
+
contents: read
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
analyze:
|
|
16
|
+
name: Analyze (${{ matrix.language }})
|
|
17
|
+
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
|
|
18
|
+
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
|
|
19
|
+
permissions:
|
|
20
|
+
# required for all workflows
|
|
21
|
+
security-events: write
|
|
22
|
+
|
|
23
|
+
strategy:
|
|
24
|
+
fail-fast: false
|
|
25
|
+
matrix:
|
|
26
|
+
include:
|
|
27
|
+
- language: python
|
|
28
|
+
build-mode: none
|
|
29
|
+
steps:
|
|
30
|
+
- name: Harden the runner (Audit all outbound calls)
|
|
31
|
+
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
|
32
|
+
with:
|
|
33
|
+
egress-policy: audit
|
|
34
|
+
|
|
35
|
+
- name: Checkout repository
|
|
36
|
+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
37
|
+
|
|
38
|
+
# Initializes the CodeQL tools for scanning.
|
|
39
|
+
- name: Initialize CodeQL
|
|
40
|
+
uses: github/codeql-action/init@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
|
|
41
|
+
with:
|
|
42
|
+
languages: ${{ matrix.language }}
|
|
43
|
+
build-mode: ${{ matrix.build-mode }}
|
|
44
|
+
|
|
45
|
+
- name: Perform CodeQL Analysis
|
|
46
|
+
uses: github/codeql-action/analyze@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
|
|
47
|
+
with:
|
|
48
|
+
category: "/language:${{matrix.language}}"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: 'Dependency Review'
|
|
2
|
+
on: [ pull_request ]
|
|
3
|
+
|
|
4
|
+
permissions:
|
|
5
|
+
contents: read
|
|
6
|
+
pull-requests: write
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
dependency-review:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- name: Harden the runner (Audit all outbound calls)
|
|
13
|
+
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
|
14
|
+
with:
|
|
15
|
+
egress-policy: audit
|
|
16
|
+
|
|
17
|
+
- name: 'Checkout Repository'
|
|
18
|
+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
19
|
+
|
|
20
|
+
- name: Dependency Review
|
|
21
|
+
uses: actions/dependency-review-action@da24556b548a50705dd671f47852072ea4c105d9 # v4.7.1
|
|
22
|
+
with:
|
|
23
|
+
comment-summary-in-pr: always
|
|
24
|
+
fail-on-severity: high
|
|
25
|
+
allow-licenses: MIT, Apache-2.0, BSD-3-Clause, ISC, BSD-2-Clause, Unlicense, CC0-1.0, 0BSD, X11, MPL-2.0, MPL-1.0, MPL-1.1, MPL-2.0
|
|
26
|
+
fail-on-scopes: development, runtime
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: Publish Python package to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [ created ]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
deploy:
|
|
12
|
+
name: Build wheels on ${{ matrix.os }}
|
|
13
|
+
runs-on: ${{ matrix.os }}
|
|
14
|
+
environment: release
|
|
15
|
+
strategy:
|
|
16
|
+
matrix:
|
|
17
|
+
os: [ ubuntu-latest ]
|
|
18
|
+
permissions:
|
|
19
|
+
id-token: write
|
|
20
|
+
steps:
|
|
21
|
+
- name: Harden the runner (Audit all outbound calls)
|
|
22
|
+
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
|
23
|
+
with:
|
|
24
|
+
egress-policy: audit
|
|
25
|
+
|
|
26
|
+
- name: 'Checkout Repository'
|
|
27
|
+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
28
|
+
|
|
29
|
+
- uses: ./.github/actions/setup-env
|
|
30
|
+
with:
|
|
31
|
+
os: ${{ runner.os }}
|
|
32
|
+
|
|
33
|
+
- uses: ./.github/actions/3rd-party-libraries-download
|
|
34
|
+
with:
|
|
35
|
+
os: ${{ runner.os }}
|
|
36
|
+
|
|
37
|
+
- uses: ./.github/actions/create-artifacts
|
|
38
|
+
with:
|
|
39
|
+
os: ${{ runner.os }}
|
|
40
|
+
|
|
41
|
+
- name: Publish to PyPI
|
|
42
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
43
|
+
with:
|
|
44
|
+
packages-dir: ./dist/
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: Publish documentation to GitHub Pages
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [ created ]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
pages: write
|
|
11
|
+
id-token: write
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
deploy:
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
# - uses: ./.github/actions/checkout
|
|
18
|
+
- name: Harden the runner (Audit all outbound calls)
|
|
19
|
+
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
|
20
|
+
with:
|
|
21
|
+
egress-policy: audit
|
|
22
|
+
|
|
23
|
+
- name: 'Checkout Repository'
|
|
24
|
+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
25
|
+
|
|
26
|
+
- uses: ./.github/actions/setup-env
|
|
27
|
+
with:
|
|
28
|
+
os: ${{ runner.os }}
|
|
29
|
+
|
|
30
|
+
- uses: ./.github/actions/publish-doc
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
name: Scorecard supply-chain security
|
|
2
|
+
on:
|
|
3
|
+
# For Branch-Protection check. Only the default branch is supported. See
|
|
4
|
+
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
|
|
5
|
+
branch_protection_rule:
|
|
6
|
+
# To guarantee Maintained check is occasionally updated. See
|
|
7
|
+
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
|
|
8
|
+
schedule:
|
|
9
|
+
- cron: '26 18 * * 0'
|
|
10
|
+
push:
|
|
11
|
+
branches: [ "main" ]
|
|
12
|
+
|
|
13
|
+
# Declare default permissions as read only.
|
|
14
|
+
permissions: read-all
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
analysis:
|
|
18
|
+
name: Scorecard analysis
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
permissions:
|
|
21
|
+
# Needed to upload the results to code-scanning dashboard.
|
|
22
|
+
security-events: write
|
|
23
|
+
# Needed to publish results and get a badge (see publish_results below).
|
|
24
|
+
id-token: write
|
|
25
|
+
# Uncomment the permissions below if installing in a private repository.
|
|
26
|
+
# contents: read
|
|
27
|
+
# actions: read
|
|
28
|
+
|
|
29
|
+
steps:
|
|
30
|
+
- name: Harden Runner
|
|
31
|
+
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
|
32
|
+
with:
|
|
33
|
+
egress-policy: audit
|
|
34
|
+
|
|
35
|
+
- name: "Checkout code"
|
|
36
|
+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
37
|
+
with:
|
|
38
|
+
persist-credentials: false
|
|
39
|
+
|
|
40
|
+
- name: "Run analysis"
|
|
41
|
+
uses: ossf/scorecard-action@f49aabe0b5af0936a0987cfb85d86b75731b0186 # v2.4.1
|
|
42
|
+
with:
|
|
43
|
+
results_file: results.sarif
|
|
44
|
+
results_format: sarif
|
|
45
|
+
# (Optional) "write" PAT token. Uncomment the `repo_token` line below if:
|
|
46
|
+
# - you want to enable the Branch-Protection check on a *public* repository, or
|
|
47
|
+
# - you are installing Scorecard on a *private* repository
|
|
48
|
+
# To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat.
|
|
49
|
+
# repo_token: ${{ secrets.SCORECARD_TOKEN }}
|
|
50
|
+
|
|
51
|
+
# Public repositories:
|
|
52
|
+
# - Publish results to OpenSSF REST API for easy access by consumers
|
|
53
|
+
# - Allows the repository to include the Scorecard badge.
|
|
54
|
+
# - See https://github.com/ossf/scorecard-action#publishing-results.
|
|
55
|
+
# For private repositories:
|
|
56
|
+
# - `publish_results` will always be set to `false`, regardless
|
|
57
|
+
# of the value entered here.
|
|
58
|
+
publish_results: true
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
__pychace__/
|
|
2
|
+
*.py[cod]
|
|
3
|
+
*$py.class
|
|
4
|
+
*.so
|
|
5
|
+
|
|
6
|
+
dist/
|
|
7
|
+
sdist/
|
|
8
|
+
wheels/
|
|
9
|
+
eggs/
|
|
10
|
+
.eggs/
|
|
11
|
+
.idea/
|
|
12
|
+
*.egg-info/
|
|
13
|
+
*.egg
|
|
14
|
+
.mypy_cache/
|
|
15
|
+
.cache
|
|
16
|
+
|
|
17
|
+
.venv/
|
|
18
|
+
venv*/
|
|
19
|
+
.vscode/
|
|
20
|
+
|
|
21
|
+
dask-worker-space/*
|
|
22
|
+
.pre-commit-config.yaml
|
|
23
|
+
|
|
24
|
+
.DS_Store
|
|
25
|
+
|
|
26
|
+
.clangd
|
|
27
|
+
.python-version
|
|
28
|
+
|
|
29
|
+
build*/
|
|
30
|
+
CMakeUserPresets.json
|
|
31
|
+
CMakeFiles/
|
|
32
|
+
.vs/
|
|
33
|
+
scaler/protocol/capnp/*.c++
|
|
34
|
+
scaler/protocol/capnp/*.h
|