What’s new in the watsonx.data integration Python SDK
We are excited to share the latest updates to the watsonx.data integration SDK. This release focuses on improving usability and overall consistency across the platform. Here are the highlights.
Access groups management
We have introduced Access groups management to simplify how you manage user permissions. Instead of assigning access individually for each user, service ID, or trusted profile, you can organize them into a group and assign policies once to that group. Each member inherits the roles and permissions assigned to the group while still retaining any roles they hold individually.
# Quick start: Create an access group and add a user
# Create a new access group
developers_ag = platform.create_access_group(
name="Developers",
description="Access group for development team"
)
# Add a user to the group
user = platform.users.get(iam_id="IBMid-6XXXXXXXXP")
developers_ag.add_members_to_access_group(user)
Consistent access patterns across resource IDs
Navigating resources is now simpler and more predictable. We have standardized access patterns across all resource IDs, ensuring they align with how objects are displayed in the UI. This consistency eliminates confusion and reduces friction when working with different object types or filtering by IDs.
#Accessing a flow_id
flow.flow_id
>>> '22420756-9f6d-4171-8dc8-e4e11e3e2569'
#Accessing a job_id
job.job_id
>>> 'e118224e-11d7-4580-b6e6-2c9c229a3c72'
#Accessing an engine_id
engine.engine_id
>>> 'C25F1E5F-A901-44F7-A27E-2B0E94C23224'
Client side filtering
You can now filter directly on the client side using parameters. This update provides faster access to the specific data you need without requiring complex queries or unnecessary back and forth with the backend. Whether you are working with jobs, flows, or other resources, filtering is more intuitive and efficient.
# Step 1: Get all jobs of a certain type
jobs = project.jobs.get_all(job_type="data_intg_flow")
print("Jobs found:", jobs)
# Step 2: Get a specific job by job_id
job = project.jobs.get(job_id="ae0d053b-c4f6-4266-9b02-724e6eb94855")
print("Filtered job:", job)
Bug fixes and usability enhancements
Finally, this release includes a series of important fixes and refinements:
-
Pagination now works reliably in all scenarios, including edge cases.
-
Platform initialization has been improved to ensure users land in the right place with a responsive experience.
-
General usability improvements make navigation and everyday tasks smoother.
To get started today
Create your own instance of watsonx.data integration here
And then install the ibm-watsonx-data-integration python package using the following command
pip3 install ibm-watsonx-data-integration
To read more on what’s new, check out our documentation here