version 1.0.0-rc.16

This commit is contained in:
2024-10-11 11:11:37 +02:00
parent 040c43084e
commit b605b95127
227 changed files with 3881 additions and 2176 deletions

View File

@@ -1,10 +1,13 @@
# openapi-client
Jungfraujoch Broker Web API
# jfjoch-client
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland).
Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU.
Jungfraujoch uses FPGA boards to acquire data at high data rates.
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 1.0.0-rc.15
- Package version: 1.0.0
- API version: 1.0.0-rc.16
- Package version: 1.0.0-rc.16
- Generator version: 7.8.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
@@ -24,7 +27,7 @@ pip install git+https://git.psi.ch/jungfraujoch/jungfraujoch.git
Then import the package:
```python
import openapi_client
import jfjoch_client
```
### Setuptools
@@ -38,7 +41,7 @@ python setup.py install --user
Then import the package:
```python
import openapi_client
import jfjoch_client
```
### Tests
@@ -51,22 +54,22 @@ Please follow the [installation procedure](#installation--usage) and then run th
```python
import openapi_client
from openapi_client.rest import ApiException
import jfjoch_client
from jfjoch_client.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# Defining the host is optional and defaults to http://localhost:5232
# See configuration.py for a list of all supported configuration parameters.
configuration = openapi_client.Configuration(
host = "http://localhost"
configuration = jfjoch_client.Configuration(
host = "http://localhost:5232"
)
# Enter a context with an instance of the API client
with openapi_client.ApiClient(configuration) as api_client:
with jfjoch_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.DefaultApi(api_client)
api_instance = jfjoch_client.DefaultApi(api_client)
try:
# Cancel running data collection
@@ -78,7 +81,7 @@ with openapi_client.ApiClient(configuration) as api_client:
## Documentation for API Endpoints
All URIs are relative to *http://localhost*
All URIs are relative to *http://localhost:5232*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
@@ -151,9 +154,12 @@ Class | Method | HTTP request | Description
- [DetectorListDetectorsInner](docs/DetectorListDetectorsInner.md)
- [DetectorModule](docs/DetectorModule.md)
- [DetectorModuleDirection](docs/DetectorModuleDirection.md)
- [DetectorPowerState](docs/DetectorPowerState.md)
- [DetectorSelection](docs/DetectorSelection.md)
- [DetectorSettings](docs/DetectorSettings.md)
- [DetectorState](docs/DetectorState.md)
- [DetectorStatus](docs/DetectorStatus.md)
- [DetectorTiming](docs/DetectorTiming.md)
- [DetectorType](docs/DetectorType.md)
- [ErrorMessage](docs/ErrorMessage.md)
- [FpgaStatusInner](docs/FpgaStatusInner.md)

View File

@@ -14,7 +14,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.azim_int_settings import AzimIntSettings
from jfjoch_client.models.azim_int_settings import AzimIntSettings
# TODO update the JSON string below
json = "{}"

View File

@@ -11,7 +11,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.broker_status import BrokerStatus
from jfjoch_client.models.broker_status import BrokerStatus
# TODO update the JSON string below
json = "{}"

View File

@@ -18,7 +18,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.calibration_statistics_inner import CalibrationStatisticsInner
from jfjoch_client.models.calibration_statistics_inner import CalibrationStatisticsInner
# TODO update the JSON string below
json = "{}"

View File

@@ -35,7 +35,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.dataset_settings import DatasetSettings
from jfjoch_client.models.dataset_settings import DatasetSettings
# TODO update the JSON string below
json = "{}"

View File

@@ -16,7 +16,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.dataset_settings_unit_cell import DatasetSettingsUnitCell
from jfjoch_client.models.dataset_settings_unit_cell import DatasetSettingsUnitCell
# TODO update the JSON string below
json = "{}"

File diff suppressed because it is too large Load Diff

View File

@@ -23,7 +23,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.detector import Detector
from jfjoch_client.models.detector import Detector
# TODO update the JSON string below
json = "{}"

View File

@@ -11,7 +11,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.detector_list import DetectorList
from jfjoch_client.models.detector_list import DetectorList
# TODO update the JSON string below
json = "{}"

View File

@@ -17,7 +17,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.detector_list_detectors_inner import DetectorListDetectorsInner
from jfjoch_client.models.detector_list_detectors_inner import DetectorListDetectorsInner
# TODO update the JSON string below
json = "{}"

View File

@@ -13,7 +13,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.detector_module import DetectorModule
from jfjoch_client.models.detector_module import DetectorModule
# TODO update the JSON string below
json = "{}"

View File

@@ -0,0 +1,15 @@
# DetectorPowerState
Power on of ASICs
## Enum
* `POWERON` (value: `'PowerOn'`)
* `POWEROFF` (value: `'PowerOff'`)
* `PARTIAL` (value: `'Partial'`)
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@@ -10,7 +10,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.detector_selection import DetectorSelection
from jfjoch_client.models.detector_selection import DetectorSelection
# TODO update the JSON string below
json = "{}"

View File

@@ -7,23 +7,25 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**frame_time_us** | **int** | Interval between consecutive frames. |
**count_time_us** | **int** | Integration time of the detector. If not provided count time will be set to maximum value for a given frame time. | [optional]
**storage_cell_count** | **int** | | [default to 1]
**internal_frame_generator** | **bool** | Use internal frame generator in FPGA instead of getting data from a real detector | [default to False]
**internal_frame_generator_images** | **int** | | [default to 1]
**pedestal_g0_frames** | **int** | | [default to 2000]
**pedestal_g1_frames** | **int** | | [default to 300]
**pedestal_g2_frames** | **int** | | [default to 300]
**pedestal_g0_rms_limit** | **int** | Pixels with pedestal G0 RMS above the threshold are marked as masked pixels | [default to 100]
**pedestal_min_image_count** | **int** | Minimum number of collected images for pedestal to consider it viable | [default to 128]
**storage_cell_delay_ns** | **int** | Delay between two storage cells [ns] | [default to 5000]
**internal_frame_generator** | **bool** | Use internal frame generator in FPGA instead of getting data from a real detector | [optional] [default to False]
**internal_frame_generator_images** | **int** | | [optional] [default to 1]
**detector_trigger_delay_ns** | **int** | Delay between TTL trigger and acquisition start [ns] | [optional] [default to 0]
**fixed_gain_g1** | **bool** | Fix gain to G1 (can be useful for storage cells) | [optional] [default to False]
**use_gain_hg0** | **bool** | Use high G0 (for low energy applications) | [optional] [default to False]
**timing** | [**DetectorTiming**](DetectorTiming.md) | | [optional] [default to DetectorTiming.TRIGGER]
**eiger_threshold_ke_v** | **float** | | [optional]
**jungfrau_pedestal_g0_frames** | **int** | | [optional] [default to 2000]
**jungfrau_pedestal_g1_frames** | **int** | | [optional] [default to 300]
**jungfrau_pedestal_g2_frames** | **int** | | [optional] [default to 300]
**jungfrau_pedestal_g0_rms_limit** | **int** | Pixels with pedestal G0 RMS above the threshold are marked as masked pixels | [optional] [default to 100]
**jungfrau_pedestal_min_image_count** | **int** | Minimum number of collected images for pedestal to consider it viable | [optional] [default to 128]
**jungfrau_storage_cell_count** | **int** | | [optional] [default to 1]
**jungfrau_storage_cell_delay_ns** | **int** | Delay between two storage cells [ns] | [optional] [default to 5000]
**jungfrau_fixed_gain_g1** | **bool** | Fix gain to G1 (can be useful for storage cells) | [optional] [default to False]
**jungfrau_use_gain_hg0** | **bool** | Use high G0 (for low energy applications) | [optional] [default to False]
## Example
```python
from openapi_client.models.detector_settings import DetectorSettings
from jfjoch_client.models.detector_settings import DetectorSettings
# TODO update the JSON string below
json = "{}"

View File

@@ -0,0 +1,19 @@
# DetectorState
Current state of the detector
## Enum
* `IDLE` (value: `'Idle'`)
* `WAITING` (value: `'Waiting'`)
* `BUSY` (value: `'Busy'`)
* `ERROR` (value: `'Error'`)
* `NOT_CONNECTED` (value: `'Not connected'`)
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@@ -5,8 +5,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**state** | **str** | Current state of the detector |
**powerchip** | **str** | Power on of ASICs |
**state** | [**DetectorState**](DetectorState.md) | |
**powerchip** | [**DetectorPowerState**](DetectorPowerState.md) | |
**server_version** | **str** | Detector server (on read-out boards) version |
**number_of_triggers_left** | **int** | Remaining triggers to the detector (max of all modules) |
**fpga_temp_deg_c** | **List[int]** | Temperature of detector FPGAs |
@@ -15,7 +15,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.detector_status import DetectorStatus
from jfjoch_client.models.detector_status import DetectorStatus
# TODO update the JSON string below
json = "{}"

View File

@@ -0,0 +1,16 @@
# DetectorTiming
## Enum
* `AUTO` (value: `'auto'`)
* `TRIGGER` (value: `'trigger'`)
* `BURST` (value: `'burst'`)
* `GATED` (value: `'gated'`)
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@@ -11,7 +11,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.error_message import ErrorMessage
from jfjoch_client.models.error_message import ErrorMessage
# TODO update the JSON string below
json = "{}"

View File

@@ -20,7 +20,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.fpga_status_inner import FpgaStatusInner
from jfjoch_client.models.fpga_status_inner import FpgaStatusInner
# TODO update the JSON string below
json = "{}"

View File

@@ -17,7 +17,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.image_format_settings import ImageFormatSettings
from jfjoch_client.models.image_format_settings import ImageFormatSettings
# TODO update the JSON string below
json = "{}"

View File

@@ -14,7 +14,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.instrument_metadata import InstrumentMetadata
from jfjoch_client.models.instrument_metadata import InstrumentMetadata
# TODO update the JSON string below
json = "{}"

View File

@@ -22,7 +22,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.jfjoch_settings import JfjochSettings
from jfjoch_client.models.jfjoch_settings import JfjochSettings
# TODO update the JSON string below
json = "{}"

View File

@@ -27,7 +27,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.measurement_statistics import MeasurementStatistics
from jfjoch_client.models.measurement_statistics import MeasurementStatistics
# TODO update the JSON string below
json = "{}"

View File

@@ -11,7 +11,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.pcie_devices_inner import PcieDevicesInner
from jfjoch_client.models.pcie_devices_inner import PcieDevicesInner
# TODO update the JSON string below
json = "{}"

View File

@@ -13,7 +13,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.plot import Plot
from jfjoch_client.models.plot import Plot
# TODO update the JSON string below
json = "{}"

View File

@@ -11,7 +11,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.plots import Plots
from jfjoch_client.models.plots import Plots
# TODO update the JSON string below
json = "{}"

View File

@@ -17,7 +17,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.preview_settings import PreviewSettings
from jfjoch_client.models.preview_settings import PreviewSettings
# TODO update the JSON string below
json = "{}"

View File

@@ -15,7 +15,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.roi_box import RoiBox
from jfjoch_client.models.roi_box import RoiBox
# TODO update the JSON string below
json = "{}"

View File

@@ -11,7 +11,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.roi_box_list import RoiBoxList
from jfjoch_client.models.roi_box_list import RoiBoxList
# TODO update the JSON string below
json = "{}"

View File

@@ -14,7 +14,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.roi_circle import RoiCircle
from jfjoch_client.models.roi_circle import RoiCircle
# TODO update the JSON string below
json = "{}"

View File

@@ -11,7 +11,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.roi_circle_list import RoiCircleList
from jfjoch_client.models.roi_circle_list import RoiCircleList
# TODO update the JSON string below
json = "{}"

View File

@@ -14,7 +14,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.rotation_axis import RotationAxis
from jfjoch_client.models.rotation_axis import RotationAxis
# TODO update the JSON string below
json = "{}"

View File

@@ -20,7 +20,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.spot_finding_settings import SpotFindingSettings
from jfjoch_client.models.spot_finding_settings import SpotFindingSettings
# TODO update the JSON string below
json = "{}"

View File

@@ -14,7 +14,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.standard_detector_geometry import StandardDetectorGeometry
from jfjoch_client.models.standard_detector_geometry import StandardDetectorGeometry
# TODO update the JSON string below
json = "{}"

View File

@@ -7,6 +7,7 @@ ZeroMQ configuration for Jungfraujoch software. This structure is used to provid
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**send_watermark** | **int** | Watermark for ZeroMQ send queue (number of outstanding messages queued on Jungfraujoch server per queue) | [optional] [default to 100]
**send_buffer_size** | **int** | Send buffer size for ZeroMQ socket | [optional]
**image_socket** | **List[str]** | PUSH ZeroMQ socket for images. In case multiple sockets are provided, images are streamed over multiple sockets. Images are serialized using CBOR. Address follows ZeroMQ convention for sockets - in practice ipc://<socket file> and tpc://<IP address>:<port> sockets are OK. 0.0.0.0 instead of IP address is accepted and means listening on all network interfaces. | [optional]
**preview_socket** | **str** | PUB ZeroMQ socket for preview images. This socket operates at a reduced frame rate. Images are serialized using CBOR. Address follows ZeroMQ convention for sockets - in practice ipc://<socket file> and tpc://<IP address>:<port> sockets are OK. 0.0.0.0 instead of IP address is accepted and means listening on all network interfaces. | [optional]
**writer_notification_socket** | **str** | PULL ZeroMQ socket for notifications from writer that it finished operation. This allows Jungfraujoch to operate in a synchronous manner, with end of acquisition being also end of writing. Address follows ZeroMQ convention for sockets - in practice ipc://<socket file> and tpc://<IP address>:<port> sockets are OK. 0.0.0.0 instead of IP address should be avoided, as this socket address is forwarded to the writer process via START ZerOMQ message and in case of multiple ineterfaces the address might be ambigous. Using * (star) instead of port number is allowed and it means a random free port number. | [optional]
@@ -14,7 +15,7 @@ Name | Type | Description | Notes
## Example
```python
from openapi_client.models.zeromq_settings import ZeromqSettings
from jfjoch_client.models.zeromq_settings import ZeromqSettings
# TODO update the JSON string below
json = "{}"

View File

@@ -0,0 +1,70 @@
# coding: utf-8
# flake8: noqa
"""
Jungfraujoch
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
__version__ = "1.0.0-rc.16"
# import apis into sdk package
from jfjoch_client.api.default_api import DefaultApi
# import ApiClient
from jfjoch_client.api_response import ApiResponse
from jfjoch_client.api_client import ApiClient
from jfjoch_client.configuration import Configuration
from jfjoch_client.exceptions import OpenApiException
from jfjoch_client.exceptions import ApiTypeError
from jfjoch_client.exceptions import ApiValueError
from jfjoch_client.exceptions import ApiKeyError
from jfjoch_client.exceptions import ApiAttributeError
from jfjoch_client.exceptions import ApiException
# import models into sdk package
from jfjoch_client.models.azim_int_settings import AzimIntSettings
from jfjoch_client.models.broker_status import BrokerStatus
from jfjoch_client.models.calibration_statistics_inner import CalibrationStatisticsInner
from jfjoch_client.models.dataset_settings import DatasetSettings
from jfjoch_client.models.dataset_settings_unit_cell import DatasetSettingsUnitCell
from jfjoch_client.models.detector import Detector
from jfjoch_client.models.detector_list import DetectorList
from jfjoch_client.models.detector_list_detectors_inner import DetectorListDetectorsInner
from jfjoch_client.models.detector_module import DetectorModule
from jfjoch_client.models.detector_module_direction import DetectorModuleDirection
from jfjoch_client.models.detector_power_state import DetectorPowerState
from jfjoch_client.models.detector_selection import DetectorSelection
from jfjoch_client.models.detector_settings import DetectorSettings
from jfjoch_client.models.detector_state import DetectorState
from jfjoch_client.models.detector_status import DetectorStatus
from jfjoch_client.models.detector_timing import DetectorTiming
from jfjoch_client.models.detector_type import DetectorType
from jfjoch_client.models.error_message import ErrorMessage
from jfjoch_client.models.fpga_status_inner import FpgaStatusInner
from jfjoch_client.models.image_format_settings import ImageFormatSettings
from jfjoch_client.models.image_pusher_type import ImagePusherType
from jfjoch_client.models.instrument_metadata import InstrumentMetadata
from jfjoch_client.models.jfjoch_settings import JfjochSettings
from jfjoch_client.models.measurement_statistics import MeasurementStatistics
from jfjoch_client.models.pcie_devices_inner import PcieDevicesInner
from jfjoch_client.models.plot import Plot
from jfjoch_client.models.plots import Plots
from jfjoch_client.models.preview_settings import PreviewSettings
from jfjoch_client.models.roi_box import RoiBox
from jfjoch_client.models.roi_box_list import RoiBoxList
from jfjoch_client.models.roi_circle import RoiCircle
from jfjoch_client.models.roi_circle_list import RoiCircleList
from jfjoch_client.models.rotation_axis import RotationAxis
from jfjoch_client.models.spot_finding_settings import SpotFindingSettings
from jfjoch_client.models.standard_detector_geometry import StandardDetectorGeometry
from jfjoch_client.models.zeromq_settings import ZeromqSettings

View File

@@ -0,0 +1,5 @@
# flake8: noqa
# import apis into api package
from jfjoch_client.api.default_api import DefaultApi

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -20,27 +20,27 @@ from typing_extensions import Annotated
from pydantic import Field, StrictBytes, StrictInt, StrictStr
from typing import List, Optional, Union
from typing_extensions import Annotated
from openapi_client.models.azim_int_settings import AzimIntSettings
from openapi_client.models.broker_status import BrokerStatus
from openapi_client.models.calibration_statistics_inner import CalibrationStatisticsInner
from openapi_client.models.dataset_settings import DatasetSettings
from openapi_client.models.detector_list import DetectorList
from openapi_client.models.detector_selection import DetectorSelection
from openapi_client.models.detector_settings import DetectorSettings
from openapi_client.models.detector_status import DetectorStatus
from openapi_client.models.fpga_status_inner import FpgaStatusInner
from openapi_client.models.image_format_settings import ImageFormatSettings
from openapi_client.models.instrument_metadata import InstrumentMetadata
from openapi_client.models.measurement_statistics import MeasurementStatistics
from openapi_client.models.plots import Plots
from openapi_client.models.preview_settings import PreviewSettings
from openapi_client.models.roi_box_list import RoiBoxList
from openapi_client.models.roi_circle_list import RoiCircleList
from openapi_client.models.spot_finding_settings import SpotFindingSettings
from jfjoch_client.models.azim_int_settings import AzimIntSettings
from jfjoch_client.models.broker_status import BrokerStatus
from jfjoch_client.models.calibration_statistics_inner import CalibrationStatisticsInner
from jfjoch_client.models.dataset_settings import DatasetSettings
from jfjoch_client.models.detector_list import DetectorList
from jfjoch_client.models.detector_selection import DetectorSelection
from jfjoch_client.models.detector_settings import DetectorSettings
from jfjoch_client.models.detector_status import DetectorStatus
from jfjoch_client.models.fpga_status_inner import FpgaStatusInner
from jfjoch_client.models.image_format_settings import ImageFormatSettings
from jfjoch_client.models.instrument_metadata import InstrumentMetadata
from jfjoch_client.models.measurement_statistics import MeasurementStatistics
from jfjoch_client.models.plots import Plots
from jfjoch_client.models.preview_settings import PreviewSettings
from jfjoch_client.models.roi_box_list import RoiBoxList
from jfjoch_client.models.roi_circle_list import RoiCircleList
from jfjoch_client.models.spot_finding_settings import SpotFindingSettings
from openapi_client.api_client import ApiClient, RequestSerialized
from openapi_client.api_response import ApiResponse
from openapi_client.rest import RESTResponseType
from jfjoch_client.api_client import ApiClient, RequestSerialized
from jfjoch_client.api_response import ApiResponse
from jfjoch_client.rest import RESTResponseType
class DefaultApi:

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -27,11 +27,11 @@ from urllib.parse import quote
from typing import Tuple, Optional, List, Dict, Union
from pydantic import SecretStr
from openapi_client.configuration import Configuration
from openapi_client.api_response import ApiResponse, T as ApiResponseT
import openapi_client.models
from openapi_client import rest
from openapi_client.exceptions import (
from jfjoch_client.configuration import Configuration
from jfjoch_client.api_response import ApiResponse, T as ApiResponseT
import jfjoch_client.models
from jfjoch_client import rest
from jfjoch_client.exceptions import (
ApiValueError,
ApiException,
BadRequestException,
@@ -91,7 +91,7 @@ class ApiClient:
self.default_headers[header_name] = header_value
self.cookie = cookie
# Set default User-Agent.
self.user_agent = 'OpenAPI-Generator/1.0.0/python'
self.user_agent = 'OpenAPI-Generator/1.0.0-rc.16/python'
self.client_side_validation = configuration.client_side_validation
def __enter__(self):
@@ -450,7 +450,7 @@ class ApiClient:
if klass in self.NATIVE_TYPES_MAPPING:
klass = self.NATIVE_TYPES_MAPPING[klass]
else:
klass = getattr(openapi_client.models, klass)
klass = getattr(jfjoch_client.models, klass)
if klass in self.PRIMITIVE_TYPES:
return self.__deserialize_primitive(data, klass)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -78,7 +78,7 @@ class Configuration:
) -> None:
"""Constructor
"""
self._base_path = "http://localhost" if host is None else host
self._base_path = "http://localhost:5232" if host is None else host
"""Default Base url
"""
self.server_index = 0 if server_index is None and host is None else server_index
@@ -121,7 +121,7 @@ class Configuration:
self.logger = {}
"""Logging Settings
"""
self.logger["package_logger"] = logging.getLogger("openapi_client")
self.logger["package_logger"] = logging.getLogger("jfjoch_client")
self.logger["urllib3_logger"] = logging.getLogger("urllib3")
self.logger_format = '%(asctime)s %(levelname)s %(message)s'
"""Log format
@@ -384,8 +384,8 @@ class Configuration:
return "Python SDK Debug Report:\n"\
"OS: {env}\n"\
"Python Version: {pyversion}\n"\
"Version of the API: 1.0.0-rc.15\n"\
"SDK Package Version: 1.0.0".\
"Version of the API: 1.0.0-rc.16\n"\
"SDK Package Version: 1.0.0-rc.16".\
format(env=sys.platform, pyversion=sys.version)
def get_host_settings(self):
@@ -395,8 +395,8 @@ class Configuration:
"""
return [
{
'url': "",
'description': "No description provided",
'url': "http://localhost:5232",
'description': "Test Jungfraujoch system",
}
]

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -0,0 +1,53 @@
# coding: utf-8
# flake8: noqa
"""
Jungfraujoch
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
# import models into model package
from jfjoch_client.models.azim_int_settings import AzimIntSettings
from jfjoch_client.models.broker_status import BrokerStatus
from jfjoch_client.models.calibration_statistics_inner import CalibrationStatisticsInner
from jfjoch_client.models.dataset_settings import DatasetSettings
from jfjoch_client.models.dataset_settings_unit_cell import DatasetSettingsUnitCell
from jfjoch_client.models.detector import Detector
from jfjoch_client.models.detector_list import DetectorList
from jfjoch_client.models.detector_list_detectors_inner import DetectorListDetectorsInner
from jfjoch_client.models.detector_module import DetectorModule
from jfjoch_client.models.detector_module_direction import DetectorModuleDirection
from jfjoch_client.models.detector_power_state import DetectorPowerState
from jfjoch_client.models.detector_selection import DetectorSelection
from jfjoch_client.models.detector_settings import DetectorSettings
from jfjoch_client.models.detector_state import DetectorState
from jfjoch_client.models.detector_status import DetectorStatus
from jfjoch_client.models.detector_timing import DetectorTiming
from jfjoch_client.models.detector_type import DetectorType
from jfjoch_client.models.error_message import ErrorMessage
from jfjoch_client.models.fpga_status_inner import FpgaStatusInner
from jfjoch_client.models.image_format_settings import ImageFormatSettings
from jfjoch_client.models.image_pusher_type import ImagePusherType
from jfjoch_client.models.instrument_metadata import InstrumentMetadata
from jfjoch_client.models.jfjoch_settings import JfjochSettings
from jfjoch_client.models.measurement_statistics import MeasurementStatistics
from jfjoch_client.models.pcie_devices_inner import PcieDevicesInner
from jfjoch_client.models.plot import Plot
from jfjoch_client.models.plots import Plots
from jfjoch_client.models.preview_settings import PreviewSettings
from jfjoch_client.models.roi_box import RoiBox
from jfjoch_client.models.roi_box_list import RoiBoxList
from jfjoch_client.models.roi_circle import RoiCircle
from jfjoch_client.models.roi_circle_list import RoiCircleList
from jfjoch_client.models.rotation_axis import RotationAxis
from jfjoch_client.models.spot_finding_settings import SpotFindingSettings
from jfjoch_client.models.standard_detector_geometry import StandardDetectorGeometry
from jfjoch_client.models.zeromq_settings import ZeromqSettings

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -21,8 +21,8 @@ import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional, Union
from typing_extensions import Annotated
from openapi_client.models.dataset_settings_unit_cell import DatasetSettingsUnitCell
from openapi_client.models.rotation_axis import RotationAxis
from jfjoch_client.models.dataset_settings_unit_cell import DatasetSettingsUnitCell
from jfjoch_client.models.rotation_axis import RotationAxis
from typing import Optional, Set
from typing_extensions import Self

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -21,9 +21,9 @@ import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional, Union
from typing_extensions import Annotated
from openapi_client.models.detector_module import DetectorModule
from openapi_client.models.detector_type import DetectorType
from openapi_client.models.standard_detector_geometry import StandardDetectorGeometry
from jfjoch_client.models.detector_module import DetectorModule
from jfjoch_client.models.detector_type import DetectorType
from jfjoch_client.models.standard_detector_geometry import StandardDetectorGeometry
from typing import Optional, Set
from typing_extensions import Self

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -20,7 +20,7 @@ import json
from pydantic import BaseModel, ConfigDict, StrictInt
from typing import Any, ClassVar, Dict, List
from openapi_client.models.detector_list_detectors_inner import DetectorListDetectorsInner
from jfjoch_client.models.detector_list_detectors_inner import DetectorListDetectorsInner
from typing import Optional, Set
from typing_extensions import Self

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -20,7 +20,7 @@ import json
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt
from typing import Any, ClassVar, Dict, List, Union
from openapi_client.models.detector_module_direction import DetectorModuleDirection
from jfjoch_client.models.detector_module_direction import DetectorModuleDirection
from typing import Optional, Set
from typing_extensions import Self

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -0,0 +1,39 @@
# coding: utf-8
"""
Jungfraujoch
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self
class DetectorPowerState(str, Enum):
"""
Power on of ASICs
"""
"""
allowed enum values
"""
POWERON = 'PowerOn'
POWEROFF = 'PowerOff'
PARTIAL = 'Partial'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of DetectorPowerState from a JSON string"""
return cls(json.loads(json_str))

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -0,0 +1,120 @@
# coding: utf-8
"""
Jungfraujoch
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt
from typing import Any, ClassVar, Dict, List, Optional, Union
from typing_extensions import Annotated
from jfjoch_client.models.detector_timing import DetectorTiming
from typing import Optional, Set
from typing_extensions import Self
class DetectorSettings(BaseModel):
"""
DetectorSettings
""" # noqa: E501
frame_time_us: Annotated[int, Field(strict=True, ge=450)] = Field(description="Interval between consecutive frames.")
count_time_us: Optional[StrictInt] = Field(default=None, description="Integration time of the detector. If not provided count time will be set to maximum value for a given frame time.")
internal_frame_generator: Optional[StrictBool] = Field(default=False, description="Use internal frame generator in FPGA instead of getting data from a real detector")
internal_frame_generator_images: Optional[Annotated[int, Field(le=128, strict=True, ge=1)]] = 1
detector_trigger_delay_ns: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=0, description="Delay between TTL trigger and acquisition start [ns]")
timing: Optional[DetectorTiming] = DetectorTiming.TRIGGER
eiger_threshold_ke_v: Optional[Union[Annotated[float, Field(le=100.0, strict=True, ge=1.0)], Annotated[int, Field(le=100, strict=True, ge=1)]]] = Field(default=None, alias="eiger_threshold_keV")
jungfrau_pedestal_g0_frames: Optional[Annotated[int, Field(strict=True, ge=0)]] = 2000
jungfrau_pedestal_g1_frames: Optional[Annotated[int, Field(strict=True, ge=0)]] = 300
jungfrau_pedestal_g2_frames: Optional[Annotated[int, Field(strict=True, ge=0)]] = 300
jungfrau_pedestal_g0_rms_limit: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=100, description="Pixels with pedestal G0 RMS above the threshold are marked as masked pixels")
jungfrau_pedestal_min_image_count: Optional[Annotated[int, Field(strict=True, ge=32)]] = Field(default=128, description="Minimum number of collected images for pedestal to consider it viable")
jungfrau_storage_cell_count: Optional[Annotated[int, Field(le=16, strict=True, ge=1)]] = 1
jungfrau_storage_cell_delay_ns: Optional[Annotated[int, Field(strict=True, ge=2100)]] = Field(default=5000, description="Delay between two storage cells [ns]")
jungfrau_fixed_gain_g1: Optional[StrictBool] = Field(default=False, description="Fix gain to G1 (can be useful for storage cells)")
jungfrau_use_gain_hg0: Optional[StrictBool] = Field(default=False, description="Use high G0 (for low energy applications)")
__properties: ClassVar[List[str]] = ["frame_time_us", "count_time_us", "internal_frame_generator", "internal_frame_generator_images", "detector_trigger_delay_ns", "timing", "eiger_threshold_keV", "jungfrau_pedestal_g0_frames", "jungfrau_pedestal_g1_frames", "jungfrau_pedestal_g2_frames", "jungfrau_pedestal_g0_rms_limit", "jungfrau_pedestal_min_image_count", "jungfrau_storage_cell_count", "jungfrau_storage_cell_delay_ns", "jungfrau_fixed_gain_g1", "jungfrau_use_gain_hg0"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of DetectorSettings from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of DetectorSettings from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"frame_time_us": obj.get("frame_time_us"),
"count_time_us": obj.get("count_time_us"),
"internal_frame_generator": obj.get("internal_frame_generator") if obj.get("internal_frame_generator") is not None else False,
"internal_frame_generator_images": obj.get("internal_frame_generator_images") if obj.get("internal_frame_generator_images") is not None else 1,
"detector_trigger_delay_ns": obj.get("detector_trigger_delay_ns") if obj.get("detector_trigger_delay_ns") is not None else 0,
"timing": obj.get("timing") if obj.get("timing") is not None else DetectorTiming.TRIGGER,
"eiger_threshold_keV": obj.get("eiger_threshold_keV"),
"jungfrau_pedestal_g0_frames": obj.get("jungfrau_pedestal_g0_frames") if obj.get("jungfrau_pedestal_g0_frames") is not None else 2000,
"jungfrau_pedestal_g1_frames": obj.get("jungfrau_pedestal_g1_frames") if obj.get("jungfrau_pedestal_g1_frames") is not None else 300,
"jungfrau_pedestal_g2_frames": obj.get("jungfrau_pedestal_g2_frames") if obj.get("jungfrau_pedestal_g2_frames") is not None else 300,
"jungfrau_pedestal_g0_rms_limit": obj.get("jungfrau_pedestal_g0_rms_limit") if obj.get("jungfrau_pedestal_g0_rms_limit") is not None else 100,
"jungfrau_pedestal_min_image_count": obj.get("jungfrau_pedestal_min_image_count") if obj.get("jungfrau_pedestal_min_image_count") is not None else 128,
"jungfrau_storage_cell_count": obj.get("jungfrau_storage_cell_count") if obj.get("jungfrau_storage_cell_count") is not None else 1,
"jungfrau_storage_cell_delay_ns": obj.get("jungfrau_storage_cell_delay_ns") if obj.get("jungfrau_storage_cell_delay_ns") is not None else 5000,
"jungfrau_fixed_gain_g1": obj.get("jungfrau_fixed_gain_g1") if obj.get("jungfrau_fixed_gain_g1") is not None else False,
"jungfrau_use_gain_hg0": obj.get("jungfrau_use_gain_hg0") if obj.get("jungfrau_use_gain_hg0") is not None else False
})
return _obj

View File

@@ -0,0 +1,41 @@
# coding: utf-8
"""
Jungfraujoch
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self
class DetectorState(str, Enum):
"""
Current state of the detector
"""
"""
allowed enum values
"""
IDLE = 'Idle'
WAITING = 'Waiting'
BUSY = 'Busy'
ERROR = 'Error'
NOT_CONNECTED = 'Not connected'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of DetectorState from a JSON string"""
return cls(json.loads(json_str))

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -18,8 +18,10 @@ import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List
from jfjoch_client.models.detector_power_state import DetectorPowerState
from jfjoch_client.models.detector_state import DetectorState
from typing import Optional, Set
from typing_extensions import Self
@@ -27,28 +29,14 @@ class DetectorStatus(BaseModel):
"""
DetectorStatus
""" # noqa: E501
state: StrictStr = Field(description="Current state of the detector")
powerchip: StrictStr = Field(description="Power on of ASICs")
state: DetectorState
powerchip: DetectorPowerState
server_version: StrictStr = Field(description="Detector server (on read-out boards) version")
number_of_triggers_left: StrictInt = Field(description="Remaining triggers to the detector (max of all modules)")
fpga_temp_deg_c: List[StrictInt] = Field(description="Temperature of detector FPGAs", alias="fpga_temp_degC")
high_voltage_v: List[StrictInt] = Field(description="High voltage for detector modules", alias="high_voltage_V")
__properties: ClassVar[List[str]] = ["state", "powerchip", "server_version", "number_of_triggers_left", "fpga_temp_degC", "high_voltage_V"]
@field_validator('state')
def state_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['Idle', 'Waiting', 'Busy', 'Error']):
raise ValueError("must be one of enum values ('Idle', 'Waiting', 'Busy', 'Error')")
return value
@field_validator('powerchip')
def powerchip_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['PowerOn', 'PowerOff', 'Partial']):
raise ValueError("must be one of enum values ('PowerOn', 'PowerOff', 'Partial')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,

View File

@@ -0,0 +1,40 @@
# coding: utf-8
"""
Jungfraujoch
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self
class DetectorTiming(str, Enum):
"""
DetectorTiming
"""
"""
allowed enum values
"""
AUTO = 'auto'
TRIGGER = 'trigger'
BURST = 'burst'
GATED = 'gated'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of DetectorTiming from a JSON string"""
return cls(json.loads(json_str))

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -21,14 +21,14 @@ import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
from openapi_client.models.azim_int_settings import AzimIntSettings
from openapi_client.models.detector import Detector
from openapi_client.models.detector_settings import DetectorSettings
from openapi_client.models.image_format_settings import ImageFormatSettings
from openapi_client.models.image_pusher_type import ImagePusherType
from openapi_client.models.instrument_metadata import InstrumentMetadata
from openapi_client.models.pcie_devices_inner import PcieDevicesInner
from openapi_client.models.zeromq_settings import ZeromqSettings
from jfjoch_client.models.azim_int_settings import AzimIntSettings
from jfjoch_client.models.detector import Detector
from jfjoch_client.models.detector_settings import DetectorSettings
from jfjoch_client.models.image_format_settings import ImageFormatSettings
from jfjoch_client.models.image_pusher_type import ImagePusherType
from jfjoch_client.models.instrument_metadata import InstrumentMetadata
from jfjoch_client.models.pcie_devices_inner import PcieDevicesInner
from jfjoch_client.models.zeromq_settings import ZeromqSettings
from typing import Optional, Set
from typing_extensions import Self
@@ -43,7 +43,7 @@ class JfjochSettings(BaseModel):
detector_settings: Optional[DetectorSettings] = None
azim_int: Optional[AzimIntSettings] = None
image_format: Optional[ImageFormatSettings] = None
image_buffer_mi_b: Optional[Annotated[int, Field(le=16384, strict=True, ge=128)]] = Field(default=2048, description="Size of internal buffer in MiB for images before they are sent to a stream", alias="image_buffer_MiB")
image_buffer_mi_b: Optional[Annotated[int, Field(strict=True, ge=128)]] = Field(default=2048, description="Size of internal buffer in MiB for images before they are sent to a stream", alias="image_buffer_MiB")
receiver_threads: Optional[Annotated[int, Field(le=512, strict=True, ge=1)]] = Field(default=64, description="Number of threads used by the receiver")
numa_policy: Optional[StrictStr] = Field(default=None, description="NUMA policy to bind CPUs")
frontend_directory: StrictStr = Field(description="Location of built JavaScript web frontend")

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -20,7 +20,7 @@ import json
from pydantic import BaseModel, ConfigDict, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from openapi_client.models.plot import Plot
from jfjoch_client.models.plot import Plot
from typing import Optional, Set
from typing_extensions import Self

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -21,7 +21,7 @@ import json
from pydantic import BaseModel, ConfigDict, Field
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
from openapi_client.models.roi_box import RoiBox
from jfjoch_client.models.roi_box import RoiBox
from typing import Optional, Set
from typing_extensions import Self

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -21,7 +21,7 @@ import json
from pydantic import BaseModel, ConfigDict, Field
from typing import Any, ClassVar, Dict, List
from typing_extensions import Annotated
from openapi_client.models.roi_circle import RoiCircle
from jfjoch_client.models.roi_circle import RoiCircle
from typing import Optional, Set
from typing_extensions import Self

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -18,7 +18,7 @@ import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
from typing import Optional, Set
@@ -29,10 +29,11 @@ class ZeromqSettings(BaseModel):
ZeroMQ configuration for Jungfraujoch software. This structure is used to provide default settings using configuration JSON file and is not used in HTTP.
""" # noqa: E501
send_watermark: Optional[Annotated[int, Field(le=16384, strict=True, ge=2)]] = Field(default=100, description="Watermark for ZeroMQ send queue (number of outstanding messages queued on Jungfraujoch server per queue)")
send_buffer_size: Optional[StrictInt] = Field(default=None, description="Send buffer size for ZeroMQ socket")
image_socket: Optional[List[StrictStr]] = Field(default=None, description="PUSH ZeroMQ socket for images. In case multiple sockets are provided, images are streamed over multiple sockets. Images are serialized using CBOR. Address follows ZeroMQ convention for sockets - in practice ipc://<socket file> and tpc://<IP address>:<port> sockets are OK. 0.0.0.0 instead of IP address is accepted and means listening on all network interfaces. ")
preview_socket: Optional[StrictStr] = Field(default=None, description="PUB ZeroMQ socket for preview images. This socket operates at a reduced frame rate. Images are serialized using CBOR. Address follows ZeroMQ convention for sockets - in practice ipc://<socket file> and tpc://<IP address>:<port> sockets are OK. 0.0.0.0 instead of IP address is accepted and means listening on all network interfaces. ")
writer_notification_socket: Optional[StrictStr] = Field(default=None, description="PULL ZeroMQ socket for notifications from writer that it finished operation. This allows Jungfraujoch to operate in a synchronous manner, with end of acquisition being also end of writing. Address follows ZeroMQ convention for sockets - in practice ipc://<socket file> and tpc://<IP address>:<port> sockets are OK. 0.0.0.0 instead of IP address should be avoided, as this socket address is forwarded to the writer process via START ZerOMQ message and in case of multiple ineterfaces the address might be ambigous. Using * (star) instead of port number is allowed and it means a random free port number. ")
__properties: ClassVar[List[str]] = ["send_watermark", "image_socket", "preview_socket", "writer_notification_socket"]
__properties: ClassVar[List[str]] = ["send_watermark", "send_buffer_size", "image_socket", "preview_socket", "writer_notification_socket"]
model_config = ConfigDict(
populate_by_name=True,
@@ -86,6 +87,7 @@ class ZeromqSettings(BaseModel):
_obj = cls.model_validate({
"send_watermark": obj.get("send_watermark") if obj.get("send_watermark") is not None else 100,
"send_buffer_size": obj.get("send_buffer_size"),
"image_socket": obj.get("image_socket"),
"preview_socket": obj.get("preview_socket"),
"writer_notification_socket": obj.get("writer_notification_socket")

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -20,7 +20,7 @@ import ssl
import urllib3
from openapi_client.exceptions import ApiException, ApiValueError
from jfjoch_client.exceptions import ApiException, ApiValueError
SUPPORTED_SOCKS_PROXIES = {"socks5", "socks5h", "socks4", "socks4a"}
RESTResponseType = urllib3.HTTPResponse

View File

@@ -1,67 +0,0 @@
# coding: utf-8
# flake8: noqa
"""
Jungfraujoch
Jungfraujoch Broker Web API
The version of the OpenAPI document: 1.0.0-rc.15
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
__version__ = "1.0.0"
# import apis into sdk package
from openapi_client.api.default_api import DefaultApi
# import ApiClient
from openapi_client.api_response import ApiResponse
from openapi_client.api_client import ApiClient
from openapi_client.configuration import Configuration
from openapi_client.exceptions import OpenApiException
from openapi_client.exceptions import ApiTypeError
from openapi_client.exceptions import ApiValueError
from openapi_client.exceptions import ApiKeyError
from openapi_client.exceptions import ApiAttributeError
from openapi_client.exceptions import ApiException
# import models into sdk package
from openapi_client.models.azim_int_settings import AzimIntSettings
from openapi_client.models.broker_status import BrokerStatus
from openapi_client.models.calibration_statistics_inner import CalibrationStatisticsInner
from openapi_client.models.dataset_settings import DatasetSettings
from openapi_client.models.dataset_settings_unit_cell import DatasetSettingsUnitCell
from openapi_client.models.detector import Detector
from openapi_client.models.detector_list import DetectorList
from openapi_client.models.detector_list_detectors_inner import DetectorListDetectorsInner
from openapi_client.models.detector_module import DetectorModule
from openapi_client.models.detector_module_direction import DetectorModuleDirection
from openapi_client.models.detector_selection import DetectorSelection
from openapi_client.models.detector_settings import DetectorSettings
from openapi_client.models.detector_status import DetectorStatus
from openapi_client.models.detector_type import DetectorType
from openapi_client.models.error_message import ErrorMessage
from openapi_client.models.fpga_status_inner import FpgaStatusInner
from openapi_client.models.image_format_settings import ImageFormatSettings
from openapi_client.models.image_pusher_type import ImagePusherType
from openapi_client.models.instrument_metadata import InstrumentMetadata
from openapi_client.models.jfjoch_settings import JfjochSettings
from openapi_client.models.measurement_statistics import MeasurementStatistics
from openapi_client.models.pcie_devices_inner import PcieDevicesInner
from openapi_client.models.plot import Plot
from openapi_client.models.plots import Plots
from openapi_client.models.preview_settings import PreviewSettings
from openapi_client.models.roi_box import RoiBox
from openapi_client.models.roi_box_list import RoiBoxList
from openapi_client.models.roi_circle import RoiCircle
from openapi_client.models.roi_circle_list import RoiCircleList
from openapi_client.models.rotation_axis import RotationAxis
from openapi_client.models.spot_finding_settings import SpotFindingSettings
from openapi_client.models.standard_detector_geometry import StandardDetectorGeometry
from openapi_client.models.zeromq_settings import ZeromqSettings

View File

@@ -1,5 +0,0 @@
# flake8: noqa
# import apis into api package
from openapi_client.api.default_api import DefaultApi

View File

@@ -1,50 +0,0 @@
# coding: utf-8
# flake8: noqa
"""
Jungfraujoch
Jungfraujoch Broker Web API
The version of the OpenAPI document: 1.0.0-rc.15
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
# import models into model package
from openapi_client.models.azim_int_settings import AzimIntSettings
from openapi_client.models.broker_status import BrokerStatus
from openapi_client.models.calibration_statistics_inner import CalibrationStatisticsInner
from openapi_client.models.dataset_settings import DatasetSettings
from openapi_client.models.dataset_settings_unit_cell import DatasetSettingsUnitCell
from openapi_client.models.detector import Detector
from openapi_client.models.detector_list import DetectorList
from openapi_client.models.detector_list_detectors_inner import DetectorListDetectorsInner
from openapi_client.models.detector_module import DetectorModule
from openapi_client.models.detector_module_direction import DetectorModuleDirection
from openapi_client.models.detector_selection import DetectorSelection
from openapi_client.models.detector_settings import DetectorSettings
from openapi_client.models.detector_status import DetectorStatus
from openapi_client.models.detector_type import DetectorType
from openapi_client.models.error_message import ErrorMessage
from openapi_client.models.fpga_status_inner import FpgaStatusInner
from openapi_client.models.image_format_settings import ImageFormatSettings
from openapi_client.models.image_pusher_type import ImagePusherType
from openapi_client.models.instrument_metadata import InstrumentMetadata
from openapi_client.models.jfjoch_settings import JfjochSettings
from openapi_client.models.measurement_statistics import MeasurementStatistics
from openapi_client.models.pcie_devices_inner import PcieDevicesInner
from openapi_client.models.plot import Plot
from openapi_client.models.plots import Plots
from openapi_client.models.preview_settings import PreviewSettings
from openapi_client.models.roi_box import RoiBox
from openapi_client.models.roi_box_list import RoiBoxList
from openapi_client.models.roi_circle import RoiCircle
from openapi_client.models.roi_circle_list import RoiCircleList
from openapi_client.models.rotation_axis import RotationAxis
from openapi_client.models.spot_finding_settings import SpotFindingSettings
from openapi_client.models.standard_detector_geometry import StandardDetectorGeometry
from openapi_client.models.zeromq_settings import ZeromqSettings

View File

@@ -1,115 +0,0 @@
# coding: utf-8
"""
Jungfraujoch
Jungfraujoch Broker Web API
The version of the OpenAPI document: 1.0.0-rc.15
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
from typing import Optional, Set
from typing_extensions import Self
class DetectorSettings(BaseModel):
"""
DetectorSettings
""" # noqa: E501
frame_time_us: Annotated[int, Field(strict=True, ge=450)] = Field(description="Interval between consecutive frames.")
count_time_us: Optional[StrictInt] = Field(default=None, description="Integration time of the detector. If not provided count time will be set to maximum value for a given frame time.")
storage_cell_count: Annotated[int, Field(le=16, strict=True, ge=1)]
internal_frame_generator: StrictBool = Field(description="Use internal frame generator in FPGA instead of getting data from a real detector")
internal_frame_generator_images: Annotated[int, Field(le=128, strict=True, ge=1)]
pedestal_g0_frames: Annotated[int, Field(strict=True, ge=0)]
pedestal_g1_frames: Annotated[int, Field(strict=True, ge=0)]
pedestal_g2_frames: Annotated[int, Field(strict=True, ge=0)]
pedestal_g0_rms_limit: Annotated[int, Field(strict=True, ge=0)] = Field(description="Pixels with pedestal G0 RMS above the threshold are marked as masked pixels")
pedestal_min_image_count: Annotated[int, Field(strict=True, ge=32)] = Field(description="Minimum number of collected images for pedestal to consider it viable")
storage_cell_delay_ns: Annotated[int, Field(strict=True, ge=2100)] = Field(description="Delay between two storage cells [ns]")
detector_trigger_delay_ns: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=0, description="Delay between TTL trigger and acquisition start [ns]")
fixed_gain_g1: Optional[StrictBool] = Field(default=False, description="Fix gain to G1 (can be useful for storage cells)")
use_gain_hg0: Optional[StrictBool] = Field(default=False, description="Use high G0 (for low energy applications)")
__properties: ClassVar[List[str]] = ["frame_time_us", "count_time_us", "storage_cell_count", "internal_frame_generator", "internal_frame_generator_images", "pedestal_g0_frames", "pedestal_g1_frames", "pedestal_g2_frames", "pedestal_g0_rms_limit", "pedestal_min_image_count", "storage_cell_delay_ns", "detector_trigger_delay_ns", "fixed_gain_g1", "use_gain_hg0"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of DetectorSettings from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of DetectorSettings from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"frame_time_us": obj.get("frame_time_us"),
"count_time_us": obj.get("count_time_us"),
"storage_cell_count": obj.get("storage_cell_count") if obj.get("storage_cell_count") is not None else 1,
"internal_frame_generator": obj.get("internal_frame_generator") if obj.get("internal_frame_generator") is not None else False,
"internal_frame_generator_images": obj.get("internal_frame_generator_images") if obj.get("internal_frame_generator_images") is not None else 1,
"pedestal_g0_frames": obj.get("pedestal_g0_frames") if obj.get("pedestal_g0_frames") is not None else 2000,
"pedestal_g1_frames": obj.get("pedestal_g1_frames") if obj.get("pedestal_g1_frames") is not None else 300,
"pedestal_g2_frames": obj.get("pedestal_g2_frames") if obj.get("pedestal_g2_frames") is not None else 300,
"pedestal_g0_rms_limit": obj.get("pedestal_g0_rms_limit") if obj.get("pedestal_g0_rms_limit") is not None else 100,
"pedestal_min_image_count": obj.get("pedestal_min_image_count") if obj.get("pedestal_min_image_count") is not None else 128,
"storage_cell_delay_ns": obj.get("storage_cell_delay_ns") if obj.get("storage_cell_delay_ns") is not None else 5000,
"detector_trigger_delay_ns": obj.get("detector_trigger_delay_ns") if obj.get("detector_trigger_delay_ns") is not None else 0,
"fixed_gain_g1": obj.get("fixed_gain_g1") if obj.get("fixed_gain_g1") is not None else False,
"use_gain_hg0": obj.get("use_gain_hg0") if obj.get("use_gain_hg0") is not None else False
})
return _obj

View File

@@ -1,13 +1,13 @@
[tool.poetry]
name = "openapi_client"
version = "1.0.0"
name = "jfjoch_client"
version = "1.0.0-rc.16"
description = "Jungfraujoch"
authors = ["OpenAPI Generator Community <filip.leonarski@psi.ch>"]
authors = ["Filip Leonarski (Paul Scherrer Institute) <filip.leonarski@psi.ch>"]
license = "NoLicense"
readme = "README.md"
repository = "https://github.com/jungfraujoch/jungfraujoch"
keywords = ["OpenAPI", "OpenAPI-Generator", "Jungfraujoch"]
include = ["openapi_client/py.typed"]
include = ["jfjoch_client/py.typed"]
[tool.poetry.dependencies]
python = "^3.7"
@@ -34,7 +34,7 @@ extension-pkg-whitelist = "pydantic"
[tool.mypy]
files = [
"openapi_client",
"jfjoch_client",
#"test", # auto-generated tests
"tests", # hand-written tests
]

View File

@@ -3,9 +3,9 @@
"""
Jungfraujoch
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
The version of the OpenAPI document: 1.0.0-rc.15
The version of the OpenAPI document: 1.0.0-rc.16
Contact: filip.leonarski@psi.ch
Generated by OpenAPI Generator (https://openapi-generator.tech)
@@ -21,8 +21,8 @@ from setuptools import setup, find_packages # noqa: H301
#
# prerequisite: setuptools
# http://pypi.python.org/pypi/setuptools
NAME = "openapi-client"
VERSION = "1.0.0"
NAME = "jfjoch-client"
VERSION = "1.0.0-rc.16"
PYTHON_REQUIRES = ">=3.7"
REQUIRES = [
"urllib3 >= 1.25.3, < 2.1.0",
@@ -35,7 +35,7 @@ setup(
name=NAME,
version=VERSION,
description="Jungfraujoch",
author="OpenAPI Generator community",
author="Filip Leonarski (Paul Scherrer Institute)",
author_email="filip.leonarski@psi.ch",
url="",
keywords=["OpenAPI", "OpenAPI-Generator", "Jungfraujoch"],
@@ -44,7 +44,7 @@ setup(
include_package_data=True,
long_description_content_type='text/markdown',
long_description="""\
Jungfraujoch Broker Web API
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
""", # noqa: E501
package_data={"openapi_client": ["py.typed"]},
package_data={"jfjoch_client": ["py.typed"]},
)