Merge broker-rugnux-live into rc176: rugnux in jfjoch_broker as a live thread during a DECTRIS rotation collection (off by default), the rugnux library without file I/O (results in ProcessResult::outputs, the CLI writes them through JFJochRugnuxOutput), END carrying the merged table, map coefficients and placed model

Branch reviewed at e16db07ff (review: owner's decisions accepted - _maps.mtz instead of .ccp4 in the
viewer, -o "" computes everything incl. MR/validation, Ctrl+C/error paths may leave fewer files, the
writer links gemmi/zlib) and merged at 55184eb09 with its review fixes (END size guard, frame drop as
in Lite, outputs released before re-runs, pool priority, docs, frontend gating).

Conflicts: rugnux/Rugnux.h (kept rc176's host_memory_budget_bytes, output_prefix removed as on the
branch), rugnux/RugnuxPipeline.h (MtzTable future + rc176's GPUMerge pointer), MolecularReplacement.h/.cpp
(rc176's GPU cost model, packed transform and split functions with the branch's RugnuxModel signature;
search_model with rc176's other_budgets, result.model_name). tests/RugnuxLargeTest.cpp: rc176's
host-budget test writes its files through WriteRugnuxOutputs now that the library writes none.
Generated code (broker/gen, frontend client, Python client docs, Redoc) regenerated from the merged
jfjoch_api.yaml with update_version.sh (version unchanged).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PXc1zD1yxHqaR1DGdCTHL4
This commit is contained in:
leonarski_fandClaude Opus 5.5 committed 2026-10-17 21:01:38 +02:00
commit 78c2a69267
130 files changed
+7612 -1010

No files matched your search

+10
View File
@@ -126,6 +126,10 @@ Class | Method | HTTP request | Description
*DefaultApi* | [**config_mask_tiff_get**](docs/DefaultApi.md#config_mask_tiff_get) | **GET** /config/mask.tiff | Get mask of the detector (TIFF)
*DefaultApi* | [**config_roi_get**](docs/DefaultApi.md#config_roi_get) | **GET** /config/roi | Get ROI definitions
*DefaultApi* | [**config_roi_put**](docs/DefaultApi.md#config_roi_put) | **PUT** /config/roi | Upload ROI definitions
*DefaultApi* | [**config_rugnux_get**](docs/DefaultApi.md#config_rugnux_get) | **GET** /config/rugnux | Get rugnux live mode settings and model status
*DefaultApi* | [**config_rugnux_model_delete**](docs/DefaultApi.md#config_rugnux_model_delete) | **DELETE** /config/rugnux/model | Remove the model used by rugnux live mode
*DefaultApi* | [**config_rugnux_model_put**](docs/DefaultApi.md#config_rugnux_model_put) | **PUT** /config/rugnux/model | Upload the model used by rugnux live mode
*DefaultApi* | [**config_rugnux_put**](docs/DefaultApi.md#config_rugnux_put) | **PUT** /config/rugnux | Change rugnux live mode settings
*DefaultApi* | [**config_select_detector_get**](docs/DefaultApi.md#config_select_detector_get) | **GET** /config/select_detector | List available detectors
*DefaultApi* | [**config_select_detector_put**](docs/DefaultApi.md#config_select_detector_put) | **PUT** /config/select_detector | Select detector
*DefaultApi* | [**config_spot_finding_get**](docs/DefaultApi.md#config_spot_finding_get) | **GET** /config/spot_finding | Get data processing configuration
@@ -155,6 +159,7 @@ Class | Method | HTTP request | Description
*DefaultApi* | [**preview_plot_bin_get**](docs/DefaultApi.md#preview_plot_bin_get) | **GET** /preview/plot.bin | Generate 1D plot from Jungfraujoch and send in raw binary format. Data are provided as (32-bit) float binary array. This format doesn&#39;t transmit information about X-axis, only values, so it is of limited use for azimuthal integration.
*DefaultApi* | [**preview_plot_get**](docs/DefaultApi.md#preview_plot_get) | **GET** /preview/plot | Generate 1D plot from Jungfraujoch
*DefaultApi* | [**result_scan_get**](docs/DefaultApi.md#result_scan_get) | **GET** /result/scan | Get full scan result
*DefaultApi* | [**rugnux_status_get**](docs/DefaultApi.md#rugnux_status_get) | **GET** /rugnux/status | Get live rugnux processing status of the last collection
*DefaultApi* | [**start_post**](docs/DefaultApi.md#start_post) | **POST** /start | Start detector
*DefaultApi* | [**statistics_calibration_get**](docs/DefaultApi.md#statistics_calibration_get) | **GET** /statistics/calibration | Get calibration statistics
*DefaultApi* | [**statistics_data_collection_get**](docs/DefaultApi.md#statistics_data_collection_get) | **GET** /statistics/data_collection | Get data collection statistics
@@ -224,6 +229,11 @@ Class | Method | HTTP request | Description
- [RoiCircleList](docs/RoiCircleList.md)
- [RoiDefinitions](docs/RoiDefinitions.md)
- [RotationAxis](docs/RotationAxis.md)
- [RugnuxLiveStatus](docs/RugnuxLiveStatus.md)
- [RugnuxLiveStep](docs/RugnuxLiveStep.md)
- [RugnuxSettings](docs/RugnuxSettings.md)
- [RugnuxStatus](docs/RugnuxStatus.md)
- [RugnuxSummaryRow](docs/RugnuxSummaryRow.md)
- [ScanResult](docs/ScanResult.md)
- [ScanResultImagesInner](docs/ScanResultImagesInner.md)
- [SpotFindingSettings](docs/SpotFindingSettings.md)
+397
View File
@@ -29,6 +29,10 @@ Method | HTTP request | Description
[**config_mask_tiff_get**](DefaultApi.md#config_mask_tiff_get) | **GET** /config/mask.tiff | Get mask of the detector (TIFF)
[**config_roi_get**](DefaultApi.md#config_roi_get) | **GET** /config/roi | Get ROI definitions
[**config_roi_put**](DefaultApi.md#config_roi_put) | **PUT** /config/roi | Upload ROI definitions
[**config_rugnux_get**](DefaultApi.md#config_rugnux_get) | **GET** /config/rugnux | Get rugnux live mode settings and model status
[**config_rugnux_model_delete**](DefaultApi.md#config_rugnux_model_delete) | **DELETE** /config/rugnux/model | Remove the model used by rugnux live mode
[**config_rugnux_model_put**](DefaultApi.md#config_rugnux_model_put) | **PUT** /config/rugnux/model | Upload the model used by rugnux live mode
[**config_rugnux_put**](DefaultApi.md#config_rugnux_put) | **PUT** /config/rugnux | Change rugnux live mode settings
[**config_select_detector_get**](DefaultApi.md#config_select_detector_get) | **GET** /config/select_detector | List available detectors
[**config_select_detector_put**](DefaultApi.md#config_select_detector_put) | **PUT** /config/select_detector | Select detector
[**config_spot_finding_get**](DefaultApi.md#config_spot_finding_get) | **GET** /config/spot_finding | Get data processing configuration
@@ -58,6 +62,7 @@ Method | HTTP request | Description
[**preview_plot_bin_get**](DefaultApi.md#preview_plot_bin_get) | **GET** /preview/plot.bin | Generate 1D plot from Jungfraujoch and send in raw binary format. Data are provided as (32-bit) float binary array. This format doesn&#39;t transmit information about X-axis, only values, so it is of limited use for azimuthal integration.
[**preview_plot_get**](DefaultApi.md#preview_plot_get) | **GET** /preview/plot | Generate 1D plot from Jungfraujoch
[**result_scan_get**](DefaultApi.md#result_scan_get) | **GET** /result/scan | Get full scan result
[**rugnux_status_get**](DefaultApi.md#rugnux_status_get) | **GET** /rugnux/status | Get live rugnux processing status of the last collection
[**start_post**](DefaultApi.md#start_post) | **POST** /start | Start detector
[**statistics_calibration_get**](DefaultApi.md#statistics_calibration_get) | **GET** /statistics/calibration | Get calibration statistics
[**statistics_data_collection_get**](DefaultApi.md#statistics_data_collection_get) | **GET** /statistics/data_collection | Get data collection statistics
@@ -80,6 +85,11 @@ Command will inform FPGA network card to stop pedestal or data collection at the
Any frame that is currently being processed by CPU will be finished and sent to writer.
Given the command is making sure to gracefully stop data acquisition and detector, it might take some time to switch back after command finished to `Idle` state.
With rugnux live mode (`/config/rugnux`) the command also cuts the rugnux analysis, during the collection
or after its last image alike: the collection ends with what the analysis has established
(see `cut` in `/rugnux/status`). After the last image the collection itself is complete and is not
marked as cancelled.
If data collection is not running, the command has no effect.
@@ -1730,6 +1740,318 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **config_rugnux_get**
> RugnuxStatus config_rugnux_get()
Get rugnux live mode settings and model status
Can be done anytime
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
from jfjoch_client.models.rugnux_status import RugnuxStatus
from jfjoch_client.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost:5232
# See configuration.py for a list of all supported configuration parameters.
configuration = jfjoch_client.Configuration(
host = "http://localhost:5232"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: bearerAuth
configuration = jfjoch_client.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with jfjoch_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = jfjoch_client.DefaultApi(api_client)
try:
# Get rugnux live mode settings and model status
api_response = api_instance.config_rugnux_get()
print("The response of DefaultApi->config_rugnux_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling DefaultApi->config_rugnux_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**RugnuxStatus**](RugnuxStatus.md)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: text/plain, application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**401** | The current dataset is protected and no valid bearer token was presented. | - |
**200** | Everything OK | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **config_rugnux_model_delete**
> config_rugnux_model_delete()
Remove the model used by rugnux live mode
This can only be done when detector is `Idle`, `Error` or `Inactive` states.
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
from jfjoch_client.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost:5232
# See configuration.py for a list of all supported configuration parameters.
configuration = jfjoch_client.Configuration(
host = "http://localhost:5232"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: bearerAuth
configuration = jfjoch_client.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with jfjoch_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = jfjoch_client.DefaultApi(api_client)
try:
# Remove the model used by rugnux live mode
api_instance.config_rugnux_model_delete()
except Exception as e:
print("Exception when calling DefaultApi->config_rugnux_model_delete: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
void (empty response body)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: text/plain, application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**401** | The current dataset is protected and no valid bearer token was presented. | - |
**200** | All good | - |
**500** | Error within Jungfraujoch code - see output message. | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **config_rugnux_model_put**
> config_rugnux_model_put(body=body)
Upload the model used by rugnux live mode
This can only be done when detector is `Idle`, `Error` or `Inactive` states.
The model (PDB or mmCIF, optionally gzipped; at most 64 MiB) is used for molecular replacement
and validation of every following rugnux live collection, until it is removed with
`DELETE /config/rugnux/model` or replaced by another upload.
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
from jfjoch_client.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost:5232
# See configuration.py for a list of all supported configuration parameters.
configuration = jfjoch_client.Configuration(
host = "http://localhost:5232"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: bearerAuth
configuration = jfjoch_client.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with jfjoch_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = jfjoch_client.DefaultApi(api_client)
body = None # bytearray | (optional)
try:
# Upload the model used by rugnux live mode
api_instance.config_rugnux_model_put(body=body)
except Exception as e:
print("Exception when calling DefaultApi->config_rugnux_model_put: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | **bytearray**| | [optional]
### Return type
void (empty response body)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/octet-stream
- **Accept**: text/plain, application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**401** | The current dataset is protected and no valid bearer token was presented. | - |
**200** | All good | - |
**400** | Empty body, or not a model that can be read (PDB or mmCIF, optionally gzipped) | - |
**413** | Model larger than 64 MiB | - |
**500** | Error within Jungfraujoch code - see output message. | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **config_rugnux_put**
> config_rugnux_put(rugnux_settings=rugnux_settings)
Change rugnux live mode settings
This can only be done when detector is `Idle`, `Error` or `Inactive` states.
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
from jfjoch_client.models.rugnux_settings import RugnuxSettings
from jfjoch_client.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost:5232
# See configuration.py for a list of all supported configuration parameters.
configuration = jfjoch_client.Configuration(
host = "http://localhost:5232"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: bearerAuth
configuration = jfjoch_client.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with jfjoch_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = jfjoch_client.DefaultApi(api_client)
rugnux_settings = jfjoch_client.RugnuxSettings() # RugnuxSettings | (optional)
try:
# Change rugnux live mode settings
api_instance.config_rugnux_put(rugnux_settings=rugnux_settings)
except Exception as e:
print("Exception when calling DefaultApi->config_rugnux_put: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**rugnux_settings** | [**RugnuxSettings**](RugnuxSettings.md)| | [optional]
### Return type
void (empty response body)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: text/plain, application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**401** | The current dataset is protected and no valid bearer token was presented. | - |
**200** | Everything OK | - |
**400** | Input parsing or validation error | - |
**500** | Error within Jungfraujoch code - see output message. | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **config_select_detector_get**
> DetectorList config_select_detector_get()
@@ -3793,6 +4115,81 @@ This endpoint does not need any parameter.
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **rugnux_status_get**
> RugnuxLiveStatus rugnux_status_get()
Get live rugnux processing status of the last collection
Can be done anytime
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
from jfjoch_client.models.rugnux_live_status import RugnuxLiveStatus
from jfjoch_client.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost:5232
# See configuration.py for a list of all supported configuration parameters.
configuration = jfjoch_client.Configuration(
host = "http://localhost:5232"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: bearerAuth
configuration = jfjoch_client.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with jfjoch_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = jfjoch_client.DefaultApi(api_client)
try:
# Get live rugnux processing status of the last collection
api_response = api_instance.rugnux_status_get()
print("The response of DefaultApi->rugnux_status_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling DefaultApi->rugnux_status_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**RugnuxLiveStatus**](RugnuxLiveStatus.md)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: text/plain, application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**401** | The current dataset is protected and no valid bearer token was presented. | - |
**200** | Everything OK | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **start_post**
> start_post(dataset_settings=dataset_settings)
@@ -27,6 +27,7 @@ Name | Type | Description | Notes
**zeromq_preview** | [**ZeromqPreviewSettings**](ZeromqPreviewSettings.md) | | [optional]
**zeromq_metadata** | [**ZeromqMetadataSettings**](ZeromqMetadataSettings.md) | | [optional]
**dark_mask** | [**DarkMaskSettings**](DarkMaskSettings.md) | | [optional]
**rugnux** | [**RugnuxSettings**](RugnuxSettings.md) | | [optional]
## Example
@@ -0,0 +1,46 @@
# RugnuxLiveStatus
Live rugnux processing of the last collection; kept until the next collection starts
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**state** | **str** | |
**probe** | **str** | Answer of the early lattice probe on the first 60 degrees; empty until it answers |
**probe_s** | **float** | When the probe answered, since the collection started | [optional]
**message** | **str** | Why the run failed or was skipped |
**images_expected** | **int** | |
**images_received** | **int** | |
**elapsed_s** | **float** | |
**step_progress** | **float** | Fraction of the current pass&#39;s images | [optional]
**steps** | [**List[RugnuxLiveStep]**](RugnuxLiveStep.md) | |
**last_image_s** | **float** | When the last image arrived (and the cutoff timer started), since the collection started | [optional]
**cut** | **str** | Empty, or why the analysis was cut: &#x60;deadline&#x60; (&#x60;deadline_s&#x60; after the last image) or &#x60;cancel&#x60; (&#x60;POST /cancel&#x60;). The end message then carried what was established at the cut. | [optional]
**cut_s** | **float** | When the analysis was cut, since the collection started | [optional]
**last_image_to_written_s** | **float** | From the last image received to all results written | [optional]
**verdict** | **str** | OK, WARNINGS, UNUSABLE or FAILED; empty until the run is over |
**verdict_text** | **str** | |
**summary** | [**List[RugnuxSummaryRow]**](RugnuxSummaryRow.md) | |
**warnings** | **List[str]** | |
## Example
```python
from jfjoch_client.models.rugnux_live_status import RugnuxLiveStatus
# TODO update the JSON string below
json = "{}"
# create an instance of RugnuxLiveStatus from a JSON string
rugnux_live_status_instance = RugnuxLiveStatus.from_json(json)
# print the JSON string representation of the object
print(RugnuxLiveStatus.to_json())
# convert the object into a dict
rugnux_live_status_dict = rugnux_live_status_instance.to_dict()
# create an instance of RugnuxLiveStatus from a dict
rugnux_live_status_from_dict = RugnuxLiveStatus.from_dict(rugnux_live_status_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+32
View File
@@ -0,0 +1,32 @@
# RugnuxLiveStep
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**title** | **str** | |
**started_s** | **float** | Start of the step, since the collection started |
**duration_s** | **float** | Set once the next step starts or the run ends | [optional]
**notes** | **List[str]** | What the step found (e.g. lattice, space group) |
## Example
```python
from jfjoch_client.models.rugnux_live_step import RugnuxLiveStep
# TODO update the JSON string below
json = "{}"
# create an instance of RugnuxLiveStep from a JSON string
rugnux_live_step_instance = RugnuxLiveStep.from_json(json)
# print the JSON string representation of the object
print(RugnuxLiveStep.to_json())
# convert the object into a dict
rugnux_live_step_dict = rugnux_live_step_instance.to_dict()
# create an instance of RugnuxLiveStep from a dict
rugnux_live_step_from_dict = RugnuxLiveStep.from_dict(rugnux_live_step_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+32
View File
@@ -0,0 +1,32 @@
# RugnuxSettings
Rugnux live mode: rotation collections from a DECTRIS detector are processed by rugnux inside the broker while they arrive, and the merged result is sent to the writer.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**enable** | **bool** | Process DECTRIS rotation collections with rugnux live | [optional] [default to False]
**reserved_cpus** | **int** | CPU threads left to the receiver and the image pusher while rugnux runs | [optional] [default to 4]
**deadline_s** | **float** | Fixed cutoff: this long after the last image the analysis is cut, and the collection ends with what it has established (as &#x60;POST /cancel&#x60; after the last image does). 0 means no cutoff. | [optional] [default to 0.0]
## Example
```python
from jfjoch_client.models.rugnux_settings import RugnuxSettings
# TODO update the JSON string below
json = "{}"
# create an instance of RugnuxSettings from a JSON string
rugnux_settings_instance = RugnuxSettings.from_json(json)
# print the JSON string representation of the object
print(RugnuxSettings.to_json())
# convert the object into a dict
rugnux_settings_dict = rugnux_settings_instance.to_dict()
# create an instance of RugnuxSettings from a dict
rugnux_settings_from_dict = RugnuxSettings.from_dict(rugnux_settings_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+33
View File
@@ -0,0 +1,33 @@
# RugnuxStatus
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**enable** | **bool** | Rugnux live mode is enabled |
**reserved_cpus** | **int** | CPU threads left to the receiver and the image pusher while rugnux runs |
**deadline_s** | **float** | Seconds after the last image at which the analysis is cut; 0 means no cutoff | [optional]
**model_loaded** | **bool** | A model was uploaded with &#x60;PUT /config/rugnux/model&#x60; |
**model_size_bytes** | **int** | Size of the uploaded model file | [optional]
## Example
```python
from jfjoch_client.models.rugnux_status import RugnuxStatus
# TODO update the JSON string below
json = "{}"
# create an instance of RugnuxStatus from a JSON string
rugnux_status_instance = RugnuxStatus.from_json(json)
# print the JSON string representation of the object
print(RugnuxStatus.to_json())
# convert the object into a dict
rugnux_status_dict = rugnux_status_instance.to_dict()
# create an instance of RugnuxStatus from a dict
rugnux_status_from_dict = RugnuxStatus.from_dict(rugnux_status_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
@@ -0,0 +1,30 @@
# RugnuxSummaryRow
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**label** | **str** | |
**value** | **str** | |
## Example
```python
from jfjoch_client.models.rugnux_summary_row import RugnuxSummaryRow
# TODO update the JSON string below
json = "{}"
# create an instance of RugnuxSummaryRow from a JSON string
rugnux_summary_row_instance = RugnuxSummaryRow.from_json(json)
# print the JSON string representation of the object
print(RugnuxSummaryRow.to_json())
# convert the object into a dict
rugnux_summary_row_dict = rugnux_summary_row_instance.to_dict()
# create an instance of RugnuxSummaryRow from a dict
rugnux_summary_row_from_dict = RugnuxSummaryRow.from_dict(rugnux_summary_row_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)