Releases: viamrobotics/viam-python-sdk
v0.22.0rc1
What's Changed
- RSDK-7776 - Add mime_types to GetPropertiesResponse by @seanavery in #629
- Automated Protos Update by @github-actions in #625
- RSDK-7747: Add SetRPM to python SDK by @martha-johnston in #627
- Automated Protos Update by @github-actions in #630
- Automated Protos Update by @github-actions in #634
- RSDK-7854 - fix local dialing, server_hostname setting by @stuqdog in #632
- RSDK-7728: Update to use non-deprecated create_filter by @lia-viam in #636
- RSDK-7698: Add Shutdown command to Python SDK by @danielbotros in #633
- DOCS-2313: Clean up gantry, camera, board, encoder and arm pages for docs parsing by @sguequierre in #631
New Contributors
- @seanavery made their first contribution in #629
- @lia-viam made their first contribution in #636
- @danielbotros made their first contribution in #633
- @sguequierre made their first contribution in #631
Full Changelog: v0.21.1...v0.22.0rc1
v0.21.1
v0.21.0
This release introduces two major breaking changes, summarized below:
Removing PIL from the SDK
Summary:
The python SDK no longer decodes images natively. It is up to the user to use whatever image pipeline they want. We’re maintaining utility functions in viam.media.utils.pil
to assist in the transition, but you as the consumer will have to make sure that Pillow
is installed. The helper functions are: viam_to_pil_image
and pil_to_viam_image
.
Example usage:
# Modular Camera
async def get_image(...) -> ViamImage:
pil_image = ... # your existing code that returns PIL image
return pil_to_viam_image(pil_image)
# Client Code
async def run_client():
camera = ...
viam_image = camera.get_image(...) # Used to be PIL Image
pil_image = viam_to_pil_image(viam_image)
...
The same methods can be used to provide a ViamImage
to the VisionService.
Expected Impact: Every modular Camera and VisionService that does not pin their python-sdk version. All client code that calls on a Camera or VisionService that does not pin their python-sdk version.
AppClient no longer saves org_id
Summary:
app_client
APIs no longer make assumptions about which org a user is authed to when making calls.
In all methods where an org_id
is relevant, users will now be required to pass org_id
as the first argument. This is an important change because it allows for greater flexibility in the scoping of API keys.
# before
_ = app_client.list_organization_members()
# after
_ = app_client.list_organization_members("MY_ORG_ID")
Expected Impact: Any clients/scripts/modules using the AppClient
What's Changed
- [RSDK-7267] Board cleanup part 1: analogs can be written to by @penguinland in #606
- Automated Protos Update by @github-actions in #610
- fix(components/board): update stream ticks example doc by @HipsterBrown in #612
- rc-0.20.0 by @github-actions in #608
- Update tabular data examples by @npentrel in #611
- Automated Protos Update by @github-actions in #613
- Automated Protos Update by @github-actions in #618
- [RSDK-7154] update analog reader interface to include range/accuracy by @penguinland in #619
- Automated Protos Update by @github-actions in #620
- rc-0.21.0 by @njooma in #621
- Force kwargs in DialOptions by @maximpertsov in #622
- [RSDK-4561] Remove unused check by @njooma in #624
New Contributors
- @HipsterBrown made their first contribution in #612
Full Changelog: v0.20.0...v0.21.0
v0.21.0rc1
This release introduces two major breaking changes, summarized below:
Removing PIL from the SDK
Summary:
The python SDK no longer decodes images natively. It is up to the user to use whatever image pipeline they want. We’re maintaining utility functions in viam.media.utils.pil
to assist in the transition, but you as the consumer will have to make sure that Pillow
is installed. The helper functions are: viam_to_pil_image
and pil_to_viam_image
.
Example usage:
# Modular Camera
async def get_image(...) -> ViamImage:
pil_image = ... # your existing code that returns PIL image
return pil_to_viam_image(pil_image)
# Client Code
async def run_client():
camera = ...
viam_image = camera.get_image(...) # Used to be PIL Image
pil_image = viam_to_pil_image(viam_image)
...
The same methods can be used to provide a ViamImage
to the VisionService.
Expected Impact: Every modular Camera and VisionService that does not pin their python-sdk version. All client code that calls on a Camera or VisionService that does not pin their python-sdk version.
AppClient no longer saves org_id
Summary:
app_client
APIs no longer make assumptions about which org a user is authed to when making calls.
In all methods where an org_id
is relevant, users will now be required to pass org_id
as the first argument. This is an important change because it allows for greater flexibility in the scoping of API keys.
# before
_ = app_client.list_organization_members()
# after
_ = app_client.list_organization_members("MY_ORG_ID")
Expected Impact: Any clients/scripts/modules using the AppClient
What's Changed
- [RSDK-7267] Board cleanup part 1: analogs can be written to by @penguinland in #606
- Automated Protos Update by @github-actions in #610
- fix(components/board): update stream ticks example doc by @HipsterBrown in #612
- rc-0.20.0 by @github-actions in #608
- Update tabular data examples by @npentrel in #611
- Automated Protos Update by @github-actions in #613
- Automated Protos Update by @github-actions in #618
- [RSDK-7154] update analog reader interface to include range/accuracy by @penguinland in #619
- Automated Protos Update by @github-actions in #620
- rc-0.21.0 by @njooma in #621
- Force kwargs in DialOptions by @maximpertsov in #622
- [RSDK-4561] Remove unused check by @njooma in #624
New Contributors
- @HipsterBrown made their first contribution in #612
rust-utils
v0.2.6
Full Changelog: v0.20.0...v0.21.0rc1
v0.21.0b2
This release introduces two major breaking changes, summarized below:
Removing PIL from the SDK
Summary:
The python SDK no longer decodes images natively. It is up to the user to use whatever image pipeline they want. We’re maintaining utility functions in viam.media.utils.pil
to assist in the transition, but you as the consumer will have to make sure that Pillow
is installed. The helper functions are: viam_to_pil_image
and pil_to_viam_image
.
Example usage:
# Modular Camera
async def get_image(...) -> ViamImage:
pil_image = ... # your existing code that returns PIL image
return pil_to_viam_image(pil_image)
# Client Code
async def run_client():
camera = ...
viam_image = camera.get_image(...) # Used to be PIL Image
pil_image = viam_to_pil_image(viam_image)
...
The same methods can be used to provide a ViamImage
to the VisionService.
Expected Impact: Every modular Camera and VisionService that does not pin their python-sdk version. All client code that calls on a Camera or VisionService that does not pin their python-sdk version.
AppClient no longer saves org_id
Summary:
app_client
APIs no longer make assumptions about which org a user is authed to when making calls.
In all methods where an org_id
is relevant, users will now be required to pass org_id
as the first argument. This is an important change because it allows for greater flexibility in the scoping of API keys.
# before
_ = app_client.list_organization_members()
# after
_ = app_client.list_organization_members("MY_ORG_ID")
Expected Impact: Any clients/scripts/modules using the AppClient
v0.20.0
What's Changed
- [RSDK-7443] paginate data by @njooma in #598
- rc-0.19.0 by @github-actions in #594
- Unimplemented plugin by @njooma in #593
- [hotfix] Fix pagination example docs by @njooma in #600
- Build process by @njooma in #601
- Add missing param to set_power_mode() by @andf-viam in #595
- RSDK-7436: remove analog and digital statuses from python sdk by @martha-johnston in #597
- Automated Protos Update by @github-actions in #596
- RSDK-7191: add mltraining wrappers by @purplenicole730 in #602
- RSDK-7189: add data wrappers by @purplenicole730 in #603
- RSDK-7393 - remove references to do_command from mlmodel service by @stuqdog in #604
- RSDK-6684 - remove binarydata shadow type by @stuqdog in #605
- Automated Protos Update by @github-actions in #607
Full Changelog: v0.19.0...v0.20.0
v0.20.0rc1
What's Changed
- [RSDK-7443] paginate data by @njooma in #598
- rc-0.19.0 by @github-actions in #594
- Unimplemented plugin by @njooma in #593
- [hotfix] Fix pagination example docs by @njooma in #600
- Build process by @njooma in #601
- Add missing param to set_power_mode() by @andf-viam in #595
- RSDK-7436: remove analog and digital statuses from python sdk by @martha-johnston in #597
- Automated Protos Update by @github-actions in #596
- RSDK-7191: add mltraining wrappers by @purplenicole730 in #602
- RSDK-7189: add data wrappers by @purplenicole730 in #603
- RSDK-7393 - remove references to do_command from mlmodel service by @stuqdog in #604
- RSDK-6684 - remove binarydata shadow type by @stuqdog in #605
- Automated Protos Update by @github-actions in #607
Full Changelog: v0.19.0...v0.20.0rc1
v0.21.0b1
This release introduces two major breaking changes, summarized below:
Removing PIL from the SDK
Summary:
The python SDK no longer decodes images natively. It is up to the user to use whatever image pipeline they want. We’re maintaining utility functions in viam.media.utils.pil
to assist in the transition, but you as the consumer will have to make sure that Pillow
is installed. The helper functions are: viam_to_pil_image
and pil_to_viam_image
.
Example usage:
# Modular Camera
async def get_image(...) -> ViamImage:
pil_image = ... # your existing code that returns PIL image
return pil_to_viam_image(pil_image)
# Client Code
async def run_client():
camera = ...
viam_image = camera.get_image(...) # Used to be PIL Image
pil_image = viam_to_pil_image(viam_image)
...
The same methods can be used to provide a ViamImage
to the VisionService.
Expected Impact: Every modular Camera and VisionService that does not pin their python-sdk version. All client code that calls on a Camera or VisionService that does not pin their python-sdk version.
AppClient no longer saves org_id
Summary:
app_client
APIs no longer make assumptions about which org a user is authed to when making calls.
In all methods where an org_id
is relevant, users will now be required to pass org_id
as the first argument. This is an important change because it allows for greater flexibility in the scoping of API keys.
# before
_ = app_client.list_organization_members()
# after
_ = app_client.list_organization_members("MY_ORG_ID")
Expected Impact: Any clients/scripts/modules using the AppClient
v0.19.0
What's Changed
- Automated Protos Update by @github-actions in #581
- Remove self-hosted runners from all workflows by @njooma in #588
- RSDK-7195: fix no event loop logging error by @purplenicole730 in #579
- rc-0.18.0 by @github-actions in #578
- RSDK-7229 add machine_id to cloud metadata by @maximpertsov in #585
- RSDK-6907 StreamTicks API by @oliviamiller in #590
- DOCS-2199: Viam Python SDK correctness pass by @andf-viam in #591
- RSDK-7307: Update Status for Board in Python SDK by @martha-johnston in #586
- Automated Protos Update by @github-actions in #589
- [RSDK-7276] Add ResourceName Equality function by @njooma in #592
- [RSDK-7443] paginate data (#598) by @njooma in #599
Full Changelog: v0.18.0...v0.19.0
v0.19.0rc1
What's Changed
- Automated Protos Update by @github-actions in #581
- Remove self-hosted runners from all workflows by @njooma in #588
- RSDK-7195: fix no event loop logging error by @purplenicole730 in #579
- rc-0.18.0 by @github-actions in #578
- RSDK-7229 add machine_id to cloud metadata by @maximpertsov in #585
- RSDK-6907 StreamTicks API by @oliviamiller in #590
- DOCS-2199: Viam Python SDK correctness pass by @andf-viam in #591
- RSDK-7307: Update Status for Board in Python SDK by @martha-johnston in #586
- Automated Protos Update by @github-actions in #589
- [RSDK-7276] Add ResourceName Equality function by @njooma in #592
Full Changelog: v0.18.0...v0.19.0rc1