Skip to content

Commit a177e73

Browse files
authored
Update to FastCS 0.11.0 (#83)
1 parent 6c4da51 commit a177e73

12 files changed

+32
-43
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ classifiers = [
1212
description = "FastCS support for the Odin detector software framework"
1313
dependencies = [
1414
"aiohttp",
15-
"fastcs[epicsca]==0.11.0a3",
15+
"fastcs[epicsca]~=0.11.0",
1616
]
1717
dynamic = ["version"]
1818
license.file = "LICENSE"

src/fastcs_odin/__main__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
from fastcs.connections.ip_connection import IPConnectionSettings
66
from fastcs.launch import FastCS
77
from fastcs.logging import LogLevel, configure_logging
8-
from fastcs.transport.epics.ca.ioc import EpicsIOCOptions
9-
from fastcs.transport.epics.ca.transport import EpicsCATransport, EpicsGUIOptions
8+
from fastcs.transports.epics.ca.ioc import EpicsIOCOptions
9+
from fastcs.transports.epics.ca.transport import EpicsCATransport, EpicsGUIOptions
1010

1111
from fastcs_odin.odin_controller import OdinController
1212

src/fastcs_odin/frame_processor.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@
44
from functools import cached_property, partial
55

66
from fastcs.attributes import AttrR
7-
from fastcs.cs_methods import Command
87
from fastcs.datatypes import Bool, Int
98
from fastcs.logging import bind_logger
10-
from fastcs.wrappers import command
9+
from fastcs.methods import Command, command
1110
from pydantic import ValidationError
1211

1312
from fastcs_odin.io.status_summary_attribute_io import (

src/fastcs_odin/io/config_fan_sender_attribute_io.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22
from dataclasses import dataclass
33
from typing import Any
44

5-
from fastcs.attribute_io import AttributeIO
6-
from fastcs.attribute_io_ref import AttributeIORef
7-
from fastcs.attributes import AttrRW, AttrW
8-
from fastcs.datatypes import T
5+
from fastcs.attributes import AttributeIO, AttributeIORef, AttrRW, AttrW
6+
from fastcs.datatypes import DType_T
97
from fastcs.logging import bind_logger
108

119
logger = bind_logger(logger_name=__name__)
@@ -22,10 +20,10 @@ class ConfigFanAttributeIORef(AttributeIORef):
2220
attributes: list[AttrW]
2321

2422

25-
class ConfigFanAttributeIO(AttributeIO[T, ConfigFanAttributeIORef]):
23+
class ConfigFanAttributeIO(AttributeIO[DType_T, ConfigFanAttributeIORef]):
2624
"""AttributeIO for ``ConfigFanAttributeIORef`` Attributes"""
2725

28-
async def send(self, attr: AttrW[T, ConfigFanAttributeIORef], value: Any):
26+
async def send(self, attr: AttrW[DType_T, ConfigFanAttributeIORef], value: Any):
2927
logger.info("Fanning out put", value=value)
3028
await asyncio.gather(
3129
*[

src/fastcs_odin/io/parameter_attribute_io.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
from dataclasses import KW_ONLY, dataclass
22

3-
from fastcs.attribute_io import AttributeIO
4-
from fastcs.attribute_io_ref import AttributeIORef
5-
from fastcs.attributes import AttrR, AttrW
6-
from fastcs.datatypes import T
3+
from fastcs.attributes import AttributeIO, AttributeIORef, AttrR, AttrW
4+
from fastcs.datatypes import DType_T
75
from fastcs.logging import bind_logger
86

97
from fastcs_odin.http_connection import HTTPConnection, ValueType
@@ -27,15 +25,15 @@ class ParameterTreeAttributeIORef(AttributeIORef):
2725
update_period: float | None = 0.2
2826

2927

30-
class ParameterTreeAttributeIO(AttributeIO[T, ParameterTreeAttributeIORef]):
28+
class ParameterTreeAttributeIO(AttributeIO[DType_T, ParameterTreeAttributeIORef]):
3129
"""AttributeIO for ``ParameterTreeAttributeIORef`` Attributes"""
3230

3331
def __init__(self, connection: HTTPConnection):
3432
super().__init__()
3533

3634
self._connection = connection
3735

38-
async def update(self, attr: AttrR[T, ParameterTreeAttributeIORef]) -> None:
36+
async def update(self, attr: AttrR[DType_T, ParameterTreeAttributeIORef]) -> None:
3937
# TODO: We should use pydantic validation here
4038
response = await self._connection.get(attr.io_ref.path)
4139

@@ -47,7 +45,9 @@ async def update(self, attr: AttrR[T, ParameterTreeAttributeIORef]) -> None:
4745
value = response.get(parameter)
4846
await attr.update(attr.datatype.validate(value))
4947

50-
async def send(self, attr: AttrW[T, ParameterTreeAttributeIORef], value: T) -> None:
48+
async def send(
49+
self, attr: AttrW[DType_T, ParameterTreeAttributeIORef], value: DType_T
50+
) -> None:
5151
assert isinstance(value, ValueType)
5252
logger.info("Sending parameter", path=attr.io_ref.path, value=value)
5353
response = await self._connection.put(attr.io_ref.path, value)

src/fastcs_odin/io/status_summary_attribute_io.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@
33
from dataclasses import KW_ONLY, dataclass
44
from typing import Generic, TypeVar
55

6-
from fastcs.attribute_io import AttributeIO
7-
from fastcs.attribute_io_ref import AttributeIORef
8-
from fastcs.attributes import AttrR
9-
from fastcs.controller import BaseController
6+
from fastcs.attributes import AttributeIO, AttributeIORef, AttrR
7+
from fastcs.controllers import BaseController
108

119
In = TypeVar("In", float, int, bool, str)
1210
Out = TypeVar("Out", float, int, bool, str)

src/fastcs_odin/meta_writer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from fastcs.attributes import AttrR, AttrRW
22
from fastcs.datatypes import Bool, Int, String
3-
from fastcs.wrappers import command
3+
from fastcs.methods import command
44

55
from fastcs_odin.io.parameter_attribute_io import ParameterTreeAttributeIORef
66
from fastcs_odin.odin_subcontroller import OdinSubController

src/fastcs_odin/odin_controller.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from fastcs.attributes import AttrR
22
from fastcs.connections.ip_connection import IPConnectionSettings
3-
from fastcs.controller import BaseController, Controller
3+
from fastcs.controllers import BaseController, Controller
44
from fastcs.datatypes import Bool
55

66
from fastcs_odin.eiger_fan import EigerFanAdapterController

src/fastcs_odin/odin_data.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
import logging
22
from collections.abc import Sequence
33

4-
from fastcs.attribute_io import AttributeIO
5-
from fastcs.attribute_io_ref import AttributeIORefT
6-
from fastcs.attributes import AttrW
7-
from fastcs.controller import ControllerVector
8-
from fastcs.datatypes import T
4+
from fastcs.attributes import AttributeIO, AttributeIORefT, AttrW
5+
from fastcs.controllers import ControllerVector
6+
from fastcs.datatypes import DType_T
97

108
from fastcs_odin.http_connection import HTTPConnection
119
from fastcs_odin.io.config_fan_sender_attribute_io import ConfigFanAttributeIORef
@@ -31,7 +29,7 @@ def __init__(
3129
connection: HTTPConnection,
3230
parameters: list[OdinParameter],
3331
api_prefix: str,
34-
ios: Sequence[AttributeIO[T, AttributeIORefT]],
32+
ios: Sequence[AttributeIO[DType_T, AttributeIORefT]],
3533
):
3634
"""
3735
Args:

src/fastcs_odin/odin_subcontroller.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
from collections.abc import Sequence
22

3-
from fastcs.attribute_io import AttributeIO
4-
from fastcs.attribute_io_ref import AttributeIORefT
5-
from fastcs.controller import Controller
6-
from fastcs.datatypes import T
3+
from fastcs.attributes import AttributeIO, AttributeIORefT
4+
from fastcs.controllers import Controller
5+
from fastcs.datatypes import DType_T
76

87
from fastcs_odin.http_connection import HTTPConnection
9-
from fastcs_odin.util import (
10-
OdinParameter,
11-
create_attribute,
12-
)
8+
from fastcs_odin.util import OdinParameter, create_attribute
139

1410

1511
class OdinSubController(Controller):
@@ -20,7 +16,7 @@ def __init__(
2016
connection: HTTPConnection,
2117
parameters: list[OdinParameter],
2218
api_prefix: str,
23-
ios: Sequence[AttributeIO[T, AttributeIORefT]],
19+
ios: Sequence[AttributeIO[DType_T, AttributeIORefT]],
2420
):
2521
"""
2622
Args:

0 commit comments

Comments
 (0)