Skip to content

Releases: viamrobotics/viam-python-sdk

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

v0.21.0b1

30 Apr 17:06
913e42b
Compare
Choose a tag to compare
v0.21.0b1 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.19.0

29 Apr 18:00
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.18.0...v0.19.0

v0.19.0rc1

25 Apr 19:28
Compare
Choose a tag to compare
v0.19.0rc1 Pre-release
Pre-release

What's Changed

Full Changelog: v0.18.0...v0.19.0rc1

v0.21.0b0

18 Apr 21:07
ce914dc
Compare
Choose a tag to compare
v0.21.0b0 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.18.0

16 Apr 17:11
Compare
Choose a tag to compare

What's Changed

  • Automated Protos Update by @github-actions in #575
  • rc-0.17.0 by @github-actions in #574
  • Automated Protos Update by @github-actions in #576
  • RSDK-7192 - Provisioning wrappers by @stuqdog in #577
  • RSDK-6487, RSDK-4456 : Update comment for vision service code snippet by @bhaney in #572
  • Remove is org member check by @njooma in #582
  • rc-0.18.0rc2 by @github-actions in #584

Full Changelog: v0.17.0...v0.18.0

v0.18.0rc2

11 Apr 21:13
Compare
Choose a tag to compare
v0.18.0rc2 Pre-release
Pre-release

What's Changed

  • Automated Protos Update by @github-actions in #576
  • RSDK-7192 - Provisioning wrappers by @stuqdog in #577
  • RSDK-6487, RSDK-4456 : Update comment for vision service code snippet by @bhaney in #572
  • Remove is org member check by @njooma in #582

Full Changelog: v0.18.0rc1...v0.18.0rc2