Skip to content

Releases: viamrobotics/viam-python-sdk

v0.24.0

02 Jul 16:42
Compare
Choose a tag to compare

What's Changed

  • release/v0.23.0 by @github-actions in #666
  • Fix get_properties code sample by @andf-viam in #669
  • Automated Protos Update by @github-actions in #670
  • DOCS-2590: Clarify last param description for data by filter by @JessamyT in #667
  • Fix ml training test by @njooma in #671

Full Changelog: v0.23.0...v0.24.0

v0.23.0

25 Jun 18:26
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.22.0...v0.23.0

v0.22.0

11 Jun 22:13
Compare
Choose a tag to compare

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

Full Changelog: v0.21.1...v0.22.0

v0.22.0rc1

11 Jun 20:16
Compare
Choose a tag to compare
v0.22.0rc1 Pre-release
Pre-release

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

Full Changelog: v0.21.1...v0.22.0rc1

v0.21.1

29 May 18:32
1ad08f5
Compare
Choose a tag to compare

What's Changed

  • rc-0.21.0 by @github-actions in #626
  • Migrate remaining PIL features away by @njooma in #628

Full Changelog: v0.21.0...v0.21.1

v0.21.0

28 May 17:47
Compare
Choose a tag to compare

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

Full Changelog: v0.20.0...v0.21.0

v0.21.0rc1

23 May 18:56
Compare
Choose a tag to compare
v0.21.0rc1 Pre-release
Pre-release

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

rust-utils

v0.2.6

Full Changelog: v0.20.0...v0.21.0rc1

v0.21.0b2

14 May 19:11
Compare
Choose a tag to compare
v0.21.0b2 Pre-release
Pre-release

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

14 May 15:27
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.19.0...v0.20.0

v0.20.0rc1

09 May 19:16
Compare
Choose a tag to compare
v0.20.0rc1 Pre-release
Pre-release

What's Changed

Full Changelog: v0.19.0...v0.20.0rc1