Skip to content

python(chore): sift-stack-py v0.14.0 prep#540

Open
wei-qlu wants to merge 9 commits intomainfrom
python/update-changelog
Open

python(chore): sift-stack-py v0.14.0 prep#540
wei-qlu wants to merge 9 commits intomainfrom
python/update-changelog

Conversation

@wei-qlu
Copy link
Copy Markdown
Contributor

@wei-qlu wei-qlu commented Apr 16, 2026

Bumps sift-stack-py to v0.14.0. Data import API now fully available in sift_client (CSV/Parquet/TDMS/HDF5), Parquet added as an export output format, plus test result logging and progress indicators. See the CHANGELOG for the full list of changes.

@wei-qlu wei-qlu requested a review from solidiquis April 16, 2026 18:41
@wei-qlu wei-qlu force-pushed the python/update-changelog branch from f4ba3aa to 971471e Compare April 17, 2026 21:49
@wei-qlu wei-qlu changed the title python(chore): sift-stack-py v1.0.0 prep python(chore): sift-stack-py v0.14.0 prep Apr 22, 2026
@wei-qlu wei-qlu marked this pull request as ready for review April 22, 2026 18:40
@wei-qlu wei-qlu requested a review from marc-sift April 22, 2026 21:17
Comment thread python/CHANGELOG.md Outdated
#### Data Import API in SiftClient
The `sift_client` module now exposes a data import API supporting CSV, Parquet, TDMS, and HDF5. With this addition, all features previously available only in `sift_py` are now available in `sift_client`, which remains the recommended interface for new development. `sift_py` (deprecated since [v0.10.0](#v0100---january-30-2026)) continues to work and ship in this release.

Migrating from `sift_py`: the per-format upload services (`CsvUploadService`, `ParquetUploadService`, `Hdf5UploadService`, `TdmsUploadService`) are replaced by a single `client.data_import.import_from_path` method. Where `sift_py` required hand-building a config object for every import, `sift_client` auto-detects it from the file extension. Use the new public `client.data_import.detect_config(...)` first if you need to inspect or patch the result before importing. `import_from_path` returns a `Job` you can optionally wait on.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sift_py contained simple_upload variants that did not require hand building a config. We should include some information telling users they don't need to use a dedicated function anything and can instead pass in an empty config to rely on auto detection.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread python/CHANGELOG.md Outdated
Format-by-format support:
- **CSV**: auto-detected from `.csv`. Supports an optional JSON metadata row (row 1 or row 2) for specifying channel names, units, data types, and the time column format.
- **Parquet**: requires an explicit `data_type` (`PARQUET_FLATDATASET` or `PARQUET_SINGLE_CHANNEL_PER_ROW`) since `.parquet` alone doesn't disambiguate the layout. Detection only reads the file footer, so it stays fast on large files.
- **HDF5**: new in this release. Auto-detected from `.h5` / `.hdf5`. Detection runs fully client-side (no server round-trip) and walks each dataset.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's less important to mention that it all happens client side, and more important to mention that the auto detection works if your HDF5 format is in a specific layout. Otherwise, you will need to create your own config.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread python/CHANGELOG.md Outdated
Comment on lines +35 to +36
- **HDF5**: new in this release. Auto-detected from `.h5` / `.hdf5`. Detection runs fully client-side (no server round-trip) and walks each dataset.
- **TDMS**: new in this release. Auto-detected from `.tdms`. Detection is also fully client-side and maps TDMS groups and channels onto Sift channels.
Copy link
Copy Markdown
Contributor

@marc-sift marc-sift Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's less important to mention that it all happens client side, and more important to mention the different import options for TDMS.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wei-qlu wei-qlu requested a review from marc-sift April 22, 2026 22:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants