Releases: scaleapi/nucleus-python-client
Releases · scaleapi/nucleus-python-client
v0.16.10
Allow creating a dataset by crawling all images in a directory, recursively. Also supports privacy mode datasets.
Example structure:
~/Documents/
data/
2022/
- img01.png
- img02.png
2023/
- img01.png
- img02.png
Default Example:
data_dir = "~/Documents/data"
client.create_dataset_from_dir(data_dir)
# this will create a dataset named "data" and will contain 4 images, with the ref IDs:
# ["2022/img01.png", "2022/img02.png", "2023/img01.png", "2023/img02.png"]
Example Privacy Mode:
This requires that a proxy (or file server) is setup and can serve files relative to the data_dir
data_dir = "~/Documents/data"
client.create_dataset_from_dir(
data_dir,
dataset_name='my-dataset',
use_privacy_mode=True,
privacy_mode_proxy="http://localhost:5000/assets/"
)
This would create a dataset my-dataset
, and when opened in Nucleus, the images would be requested to the path:
<privacy_mode_proxy>/<img ref id>
, for example: http://localhost:5000/assets/2022/img01.png
Improved
- Method to allow for concurrent task fetches for pointcloud data,
client.download_pointcloud_tasks(task_ids: List[str], frame_num: int)
Example:
>>> task_ids = ['task_1', 'task_2']
>>> resp = client.download_pointcloud_tasks(task_ids=task_ids, frame_num=1)
>>> resp
{
'task_1': [Point3D(x=5, y=10.7, z=-2.3), ...],
'task_2': [Point3D(x=1.3 y=11.1, z=1.5), ...],
}
v0.16.9
Fixes
- Minor fixes to video scene upload on privacy mode
v0.16.8
Added
Dataset Item width and height
- Allow passing width and height to
DatasetItem
. - This is required when using privacy mode.
Dataset Item Fetch
- Added
dataset.items_and_annotation_chip_generator()
functionality to generate chips of images in s3 or locally. - Added
query
parameter fordataset.items_and_annotation_generator()
to filter dataset items.
Removed
upload_to_scale
is no longer a property inDatasetItem
, users should instead specifyuse_privacy_mode
on the dataset during creation
v0.16.7
v0.16.6
Added
- Allow datasets to be created in "privacy mode". For example,
client.create_dataset('name', use_privacy_mode=True)
. - Privacy Mode lets customers use Nucleus without sensitive raw data ever leaving their servers.
- When set to
True
, you can submit URLs to Nucleus that link to raw data assets like images or point clouds, instead of transferring that data to Scale. Access control is then completely in the hands of users: URLs may optionally be protected behind your corporate VPN or an IP whitelist. When you load a Nucleus web page, your browser will directly fetch the raw data from your servers without it ever being accessible to Scale.
v0.16.5
What's Changed
- Update slice info by @pfmark in #401
- Make skeleton key optional on KeypointsAnnotation by @ntamas92 in #404
Full Changelog: v0.16.4...v0.16.5
v0.16.4
v0.16.3
Added
- Added a
query_scenes
method on the Dataset class. - Example
>>> ds = client.get_dataset('ds_id')
>>> scenes = ds.query_scenes('scene.metadata.foo = "baz"')
[Scene(reference_id="", metadata={}, ...), ...]