Skip to content

Commit e827c75

Browse files
committed
Bump version to 0.59.0
1 parent 443d60a commit e827c75

File tree

15 files changed

+121
-141
lines changed

15 files changed

+121
-141
lines changed

src/viam/components/audio_in/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
from viam.media.audio import AudioCodec
2+
from viam.proto.common import AudioInfo
13
from viam.resource.registry import Registry, ResourceRegistration
24

3-
from viam.proto.common import AudioInfo
4-
from viam.media.audio import AudioCodec
55
from .audio_in import AudioIn
66
from .client import AudioInClient
77
from .service import AudioInRPCService

src/viam/components/audio_in/audio_in.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@
22
import sys
33
from typing import Final, Optional
44

5-
from viam.streams import Stream
6-
75
from viam.proto.common import GetPropertiesResponse
86
from viam.proto.component.audioin import GetAudioResponse
97
from viam.resource.types import API, RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT
8+
from viam.streams import Stream
109

1110
from ..component_base import ComponentBase
1211

@@ -32,12 +31,10 @@ class AudioIn(ComponentBase):
3231
AudioResponse: "TypeAlias" = GetAudioResponse
3332
AudioStream = Stream[AudioResponse]
3433

35-
3634
@abc.abstractmethod
37-
async def get_audio(self, codec: str,
38-
duration_seconds: float,
39-
previous_timestamp_ns:int,
40-
*, timeout: Optional[float] = None, **kwargs) -> AudioStream:
35+
async def get_audio(
36+
self, codec: str, duration_seconds: float, previous_timestamp_ns: int, *, timeout: Optional[float] = None, **kwargs
37+
) -> AudioStream:
4138
"""
4239
Get a stream of audio from the device
4340

src/viam/components/audio_in/client.py

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,42 @@
1-
from typing import Any, Dict, List, Mapping, Optional
21
import uuid
2+
from typing import Any, Dict, List, Mapping, Optional
33

44
from grpclib.client import Channel
5-
6-
from viam.proto.component.audioin import GetAudioRequest, GetAudioResponse
7-
from viam.proto.common import (
8-
DoCommandRequest,
9-
DoCommandResponse,
10-
GetPropertiesRequest,
11-
Geometry)
125
from grpclib.client import Stream as ClientStream
13-
from viam.proto.component.audioin import AudioInServiceStub
6+
7+
from viam.proto.common import DoCommandRequest, DoCommandResponse, Geometry, GetPropertiesRequest
8+
from viam.proto.component.audioin import AudioInServiceStub, GetAudioRequest, GetAudioResponse
149
from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase
1510
from viam.streams import StreamWithIterator
11+
from viam.utils import ValueTypes, dict_to_struct, get_geometries, struct_to_dict
1612

1713
from .audio_in import AudioIn
18-
from viam.utils import ValueTypes, dict_to_struct, get_geometries, struct_to_dict
1914

2015

2116
class AudioInClient(AudioIn, ReconfigurableResourceRPCClientBase):
22-
2317
def __init__(self, name: str, channel: Channel) -> None:
2418
self.channel = channel
2519
self.client = AudioInServiceStub(channel)
2620
super().__init__(name)
2721

22+
async def get_audio(
23+
self,
24+
codec: str,
25+
duration_seconds: float,
26+
previous_timestamp_ns: int,
27+
*,
28+
extra: Optional[Dict[str, Any]] = None,
29+
**kwargs,
30+
):
31+
request = GetAudioRequest(
32+
name=self.name,
33+
codec=codec,
34+
duration_seconds=duration_seconds,
35+
previous_timestamp_nanoseconds=previous_timestamp_ns,
36+
request_id=str(uuid.uuid4()),
37+
extra=dict_to_struct(extra),
38+
)
2839

29-
async def get_audio(self,
30-
codec:str,
31-
duration_seconds: float,
32-
previous_timestamp_ns:int,
33-
*,
34-
extra: Optional[Dict[str, Any]] = None,
35-
**kwargs,
36-
):
37-
request = GetAudioRequest(name=self.name, codec = codec,
38-
duration_seconds=duration_seconds,
39-
previous_timestamp_nanoseconds = previous_timestamp_ns,
40-
request_id = str(uuid.uuid4()),
41-
extra=dict_to_struct(extra))
4240
async def read():
4341
md = kwargs.get("metadata", self.Metadata()).proto
4442
audio_stream: ClientStream[GetAudioRequest, GetAudioResponse]
@@ -52,7 +50,6 @@ async def read():
5250

5351
return StreamWithIterator(read())
5452

55-
5653
async def get_properties(
5754
self,
5855
*,

src/viam/components/audio_in/service.py

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,42 @@
11
from grpclib.server import Stream
22
from h2.exceptions import StreamClosedError
33

4-
54
from viam.logging import getLogger
65
from viam.proto.common import (
76
DoCommandRequest,
87
DoCommandResponse,
8+
GetGeometriesRequest,
9+
GetGeometriesResponse,
910
GetPropertiesRequest,
1011
GetPropertiesResponse,
11-
GetGeometriesRequest,
12-
GetGeometriesResponse
13-
)
14-
from viam.proto.component.audioin import (
15-
AudioInServiceBase,
16-
GetAudioRequest,
17-
GetAudioResponse
1812
)
13+
from viam.proto.component.audioin import AudioInServiceBase, GetAudioRequest, GetAudioResponse
1914
from viam.resource.rpc_service_base import ResourceRPCServiceBase
2015
from viam.utils import dict_to_struct, struct_to_dict
2116

2217
from .audio_in import AudioIn
2318

2419
LOGGER = getLogger(__name__)
2520

21+
2622
class AudioInRPCService(AudioInServiceBase, ResourceRPCServiceBase[AudioIn]):
2723
"""
2824
gRPC Service for a generic audio in.
2925
"""
3026

3127
RESOURCE_TYPE = AudioIn
3228

33-
3429
async def GetAudio(self, stream: Stream[GetAudioRequest, GetAudioResponse]) -> None:
3530
request = await stream.recv_message()
3631
assert request is not None
3732
name = request.name
3833
audio_in = self.get_resource(name)
39-
audio_stream = await audio_in.get_audio(codec=request.codec, duration_seconds=request.duration_seconds,
40-
previous_timestamp_ns=request.previous_timestamp_nanoseconds, metadata=stream.metadata)
34+
audio_stream = await audio_in.get_audio(
35+
codec=request.codec,
36+
duration_seconds=request.duration_seconds,
37+
previous_timestamp_ns=request.previous_timestamp_nanoseconds,
38+
metadata=stream.metadata,
39+
)
4140
async for response in audio_stream:
4241
try:
4342
response.request_id = request.request_id
@@ -48,7 +47,6 @@ async def GetAudio(self, stream: Stream[GetAudioRequest, GetAudioResponse]) -> N
4847
LOGGER.error(e)
4948
return
5049

51-
5250
async def GetProperties(self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse]) -> None:
5351
request = await stream.recv_message()
5452
assert request is not None
@@ -65,7 +63,7 @@ async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -
6563
request = await stream.recv_message()
6664
assert request is not None
6765
name = request.name
68-
audio_in= self.get_resource(name)
66+
audio_in = self.get_resource(name)
6967
timeout = stream.deadline.time_remaining() if stream.deadline else None
7068
result = await audio_in.do_command(
7169
command=struct_to_dict(request.command),

src/viam/components/audio_input/audio_input.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616

1717
class AudioInput(ComponentBase, StreamSource[Audio]):
18-
""" DEPRECATED: AudioInput is deprecated, use AudioIn instead
18+
"""DEPRECATED: AudioInput is deprecated, use AudioIn instead
1919
AudioInput represents a component that can capture audio.
2020
2121
This acts as an abstract base class for any drivers representing specific

src/viam/components/audio_input/client.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from typing import Any, AsyncIterator, Dict, List, Mapping, Optional, Union
21
import warnings
2+
from typing import Any, AsyncIterator, Dict, List, Mapping, Optional, Union
33

44
from grpclib.client import Channel
55

@@ -28,8 +28,7 @@ class AudioInputClient(AudioInput, ReconfigurableResourceRPCClientBase):
2828

2929
def __init__(self, name: str, channel: Channel):
3030
warnings.warn(
31-
"AudioInputClient is deprecated and will be removed in a future release. "
32-
"Use AudioIn instead.",
31+
"AudioInputClient is deprecated and will be removed in a future release. " "Use AudioIn instead.",
3332
DeprecationWarning,
3433
stacklevel=2,
3534
)

src/viam/components/audio_input/service.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import wave
21
import warnings
2+
import wave
33
from datetime import timedelta
44
from io import BytesIO
55

@@ -32,8 +32,7 @@ class AudioInputRPCService(AudioInputServiceBase, ResourceRPCServiceBase[AudioIn
3232

3333
def __init__(self, *args, **kwargs):
3434
warnings.warn(
35-
"AudioInput is deprecated and will be removed in a future release. "
36-
"Use AudioIn instead.",
35+
"AudioInput is deprecated and will be removed in a future release. " "Use AudioIn instead.",
3736
DeprecationWarning,
3837
stacklevel=2,
3938
)

src/viam/components/audio_out/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
from viam.media.audio import AudioCodec
2+
from viam.proto.common import AudioInfo
13
from viam.resource.registry import Registry, ResourceRegistration
24

3-
from viam.proto.common import AudioInfo
4-
from viam.media.audio import AudioCodec
55
from .audio_out import AudioOut
66
from .client import AudioOutClient
77
from .service import AudioOutRPCService

src/viam/components/audio_out/audio_out.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,15 @@ class AudioOut(ComponentBase):
2929
Properties: "TypeAlias" = GetPropertiesResponse
3030

3131
@abc.abstractmethod
32-
async def play(self,
33-
data: bytes,
34-
info: Optional[AudioInfo] = None,
35-
*,
36-
extra: Optional[Dict[str, Any]] = None,
37-
timeout: Optional[float] = None,
38-
**kwargs) -> None:
32+
async def play(
33+
self,
34+
data: bytes,
35+
info: Optional[AudioInfo] = None,
36+
*,
37+
extra: Optional[Dict[str, Any]] = None,
38+
timeout: Optional[float] = None,
39+
**kwargs,
40+
) -> None:
3941
"""
4042
Play the given audio data.
4143
@@ -55,11 +57,7 @@ async def play(self,
5557
"""
5658

5759
@abc.abstractmethod
58-
async def get_properties(self,
59-
*,
60-
extra: Optional[Dict[str, Any]] = None,
61-
timeout: Optional[float] = None,
62-
**kwargs) -> Properties:
60+
async def get_properties(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> Properties:
6361
"""
6462
Get the audio output device's properties.
6563

src/viam/components/audio_out/client.py

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,12 @@
22

33
from grpclib.client import Channel
44

5-
from viam.proto.common import (
6-
DoCommandRequest,
7-
DoCommandResponse,
8-
GetPropertiesRequest,
9-
GetPropertiesResponse,
10-
Geometry
11-
)
12-
from viam.proto.component.audioout import (
13-
AudioOutServiceStub,
14-
PlayRequest
15-
)
16-
17-
5+
from viam.proto.common import DoCommandRequest, DoCommandResponse, Geometry, GetPropertiesRequest, GetPropertiesResponse
6+
from viam.proto.component.audioout import AudioOutServiceStub, PlayRequest
187
from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase
19-
208
from viam.utils import ValueTypes, dict_to_struct, get_geometries, struct_to_dict
219

22-
from .audio_out import AudioOut, AudioInfo
10+
from .audio_out import AudioInfo, AudioOut
2311

2412

2513
class AudioOutClient(AudioOut, ReconfigurableResourceRPCClientBase):
@@ -30,13 +18,15 @@ def __init__(self, name: str, channel: Channel) -> None:
3018
self.client = AudioOutServiceStub(channel)
3119
super().__init__(name)
3220

33-
async def play(self,
34-
data: bytes,
35-
info: Optional[AudioInfo] = None,
36-
*,
37-
extra: Optional[Dict[str, Any]] = None,
38-
timeout: Optional[float] = None,
39-
**kwargs) -> None:
21+
async def play(
22+
self,
23+
data: bytes,
24+
info: Optional[AudioInfo] = None,
25+
*,
26+
extra: Optional[Dict[str, Any]] = None,
27+
timeout: Optional[float] = None,
28+
**kwargs,
29+
) -> None:
4030
if extra is None:
4131
extra = {}
4232

@@ -49,11 +39,9 @@ async def play(self,
4939
)
5040
await self.client.Play(request, timeout=timeout, metadata=md)
5141

52-
async def get_properties(self,
53-
*,
54-
extra: Optional[Dict[str, Any]] = None,
55-
timeout: Optional[float] = None,
56-
**kwargs) -> AudioOut.Properties:
42+
async def get_properties(
43+
self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs
44+
) -> AudioOut.Properties:
5745
if extra is None:
5846
extra = {}
5947

0 commit comments

Comments
 (0)