Releases: Sage-Bionetworks/synapsePythonClient
synapsedesktopclient/v0.1.2-beta
Synapse Desktop Client - Beta Release v0.1.2
Welcome to the first iteration of the Synapse Desktop Client. This is an attempt to provide you with a low-tech, user-friendly solution to start contributing data to, or retrieving data from Synapse.
What's Included in This Release
Core Functionality:
- Upload data to Synapse resources you have access to
- Download data from Synapse resources you have access to
- Simple desktop interface for managing your Synapse interactions
- Access token based authentication
This initial release focuses on the fundamental operations that most users need: getting your data into Synapse and getting it back out when you need it.
⚠️ EXPERIMENTAL SOFTWARE DISCLAIMER ⚠️
IMPORTANT NOTICE - READ BEFORE USE
THE SYNAPSE DESKTOP CLIENT IS EXPERIMENTAL BETA SOFTWARE
This software is in early development and may contain bugs, security vulnerabilities, or cause system instability. By proceeding, you acknowledge that:
- Data loss may occur - Always backup important data before use
- Features may not work as expected or change without notice
- System crashes or freezes are possible
- Security risks may exist due to unfinished code
- No warranty or support is provided for this beta version
Use at your own risk. This software is intended for testing and feedback purposes only.
By continuing to use this software, you accept full responsibility for any consequences.
What to Expect
As our first beta release, you might encounter:
- Rough edges in the user interface
- Limited error handling for edge cases
- Performance issues with large files or datasets
- Missing features that will be added in future releases
Your Feedback Matters
We're building this tool with and for the Synapse community. Your experience, bug reports, and suggestions are invaluable in helping us create something truly useful.
Please share your feedback with us:
- 🐛 Bug reports and technical issues
- 💡 Feature requests and suggestions
- 📝 General feedback about your experience
- 🤔 Questions about usage or functionality
Submit feedback here: https://sagebionetworks.jira.com/servicedesk/customer/portal/5/group/7/create/144
Getting Started
- Download the appropriate installer for your operating system
- Install the application following the setup wizard
- Launch the Synapse Desktop Client
- Log in with your Synapse access token or your synapseConfig file with profile based authentication.
- Start uploading or downloading your data
System Requirements
- Windows: Windows 10 or later
- macOS: macOS 14 or later
Install instructions:
v4.10.0
Highlights
- Added new object-oriented models and APIs for various Synapse entities including Curation, RecordSet, and Grids
- Enhanced tutorials and documentation for the new object models
- Deprecated multiple methods and services in the Synapse Python client
Features
- [SYNPY-1625] Added JSON schema organization management functions by @BryanFauble in #1225
- [SYNPY-1653] Created RecordSet, Grid, and CurationTask classes by @BryanFauble in #1246
- [SYNPY-1623] Implemented factory function for get and creation of link entity by @BryanFauble in #1243
- [SYNPY-1613] Enabled download from pre-signed URL by @danlu1 in #1249
Bug Fixes
- [SYNPY-1642] Ensured paramiko is < 4.0.0 by @linglp in #1231
- [SYNPY-1198] Handled S3 upload errors by retrying without ACL for IBM buckets by @BryanFauble in #1239
Tech Debt
- [SYNPY-1426] Deprecated user, team, activity, column, move, and annotation services by multiple contributors in #1212, #1215, #1217, #1218, #1219, #1221, #1223, #1226
- [SYNPY-1632] Deprecated tables from the Synapse class and table.py module by @linglp in #1233
- [SYNPY-1633] Deprecated old method for getting user membership status by @linglp in #1235
- Updated SonarCloud action to use [email protected] by @BryanFauble in #1238
- [SYNPY-1634, SYNPY-1377] Used new OOP models in tutorials by @thomasyu888 in #1241
Other
- [SYNPY-1599] Fixed line references in JSON schema tutorial and updated syn class usage by @BryanFauble in #1213
- [SYNPY-1588] Enabled Agent Integration tests by @linglp in #1229
- [SYNPY-1637] Added 'Contact Us' section with support link in navigation by @BryanFauble in #1230
- [GEN-1667] Enabled deleting table rows using filtered DataFrame by @danlu1 in #1254
- [SYNPY-1592] Dedicated test accounts for each set of integration test runs by @BryanFauble in #1240
- [SYNPY-1634] Added walk method to containers by @BryanFauble in #1242
- Implemented UUID in naming convention for updated collection by @jaymedina in #1224
- Removed unnecessary line in Pipfile by @linglp in #1234
Full Changelog: v4.9.0...v4.10.0-rc
v4.9.0
Highlights
- Multi-Profile support is now available when using the
.synapseConfigfile. Check out the updated Authentication instructions that covers how to take advantage of this feature. - Introduced streamlined functionality for managing JSON schemas and access control lists (ACLs)
- Enhanced OpenTelemetry tracing for file transfers and MD5 calculations
- Added support for Virtual Tables
Features
- [SYNPY-893] Added support for multiple authentication profiles (#1194)
- [SYNPY-1580] Implemented
VirtualTableOOP model (#1195) - [SYNPY-1599] Added JSON schema mixin class for binding, validating, and unbinding schemas (#1205)
- [SYNPY-1607] Enabled string-based conversion for
ColumnTypeandFacetType(#1210) - [SYNPY-1604] Introduced
dry_runflag andlist_aclmethod for ACL management (#1207) - [SYNPY-1244] Implemented recursive ACL deletion and permission inheritance detection (#1200, #1202)
Bug Fixes
- [SYNPY-1581] Removed exception logging and raising in async methods (#1203)
Tech Debt
- [SYNPY-1295] Trimmed down integration tests and combined similar logic (#1199)
- [SYNPY-1606] Added OpenTelemetry metrics for file uploads, downloads, and MD5 calculations (#1204)
- [SYNPY-1618] Added scripts for cleaning up test resources in Synapse (#1209)
- [SYNPY-1599] Patched JSON schema code and improved examples (#1211)
New Contributors
Full Changelog: v4.8.0...v4.9.0
v4.8.0
Highlights
- Introduced new object-oriented models for working with Synapse Datasets, DatasetCollections, EntityViews, MaterializedViews, and SubmissionViews. This includes tutorials for each of these models.
- Improved handling of progress bars, logging, and error messages
- Added support for Python 3.13
- Patch CWE-444
Features
- [SYNPY-1571] Adds
DatasetModel & Introduces Composition Model forTable/View-like Classes by @BWMac in #1175 - [SYNPY-1575] Introduce EntityView model by @BryanFauble in #1181
- [SYNPY-1579] Introduce the materialized view by @BryanFauble in #1190
- [SYNPY-1578]
DatasetCollectionOOP Model by @BWMac in #1189 - [SYNPY-1577] Submission View by @BryanFauble in #1192
Bug Fixes
- [SYNPY-1547]
parentWikiId=""Bug by @BWMac in #1165 - [SYNPY-1553] Update to support python 3.13 by @BryanFauble in #1171
- [SYNPY-1575] Correct regular expression for invalid column name by @BryanFauble in #1187
- [SYNPY-1584] Add a buffer.tell when truncating bytes during dataframe upload and drop writing header to csv by @BryanFauble in #1193
Tech Debt
- [SYNPY-1488] Patch nested tqdm progress bars and messages to logger by @BryanFauble in #1177
- [SYNPY-1551] Tables refactor by @BryanFauble in #1151
- [SYNPY-1497] refactored version check to use Pypi for version info by @andrewelamb in #1191
Other
- Update the docstring for setPermissions to be clearer by @BryanFauble in #1164
- Update Dockerfile - Fixes
pandasinstallation by @BWMac in #1169 - [SYNPY-1570, SYNPY-1555] Support passing
user_agentto the Synapse class constructor, and HTTPX Library usage by @BryanFauble in #1170 - Prevent concurrent builds per branch by @BryanFauble in #1178
- [DPE-1253] Add PR template for GH Pull requests by @BryanFauble in #1182
- [SYNPY-1542] Upgrade readthedocs os, python version, and search ranking by @BryanFauble in #1184
- [SYNPY-1553] Removes Blank Auth Header by @BWMac in #1185
- Include a default timeout for HTTP requests library to 70 seconds by @BryanFauble in #1188
- Add table and file versioning tutorial updates by @rxu17 in #1172
- Updates dataset tutorial to fix typo by @BWMac in #1186
- Create SECURITY.md by @thomasyu888 in #1166
New Contributors
- @andrewelamb made their first contribution in #1191
Full Changelog: v4.7.0...v4.8.0-rc
v4.7.0
Highlights
- Added functionality for interacting with Synapse Agents:
- The new
AgentOOP model allows you to chat with the baseline Synapse Agent,
register and chat with custom Synapse Agents, manage multiple chat sessions and more. - See the
Agentdocumentation for more details and example code to get started.
- The new
What's Changed
- [SYNPY-1544] Synapse Agent OOP Model by @BWMac in #1152
- [SYNPY-1544] Fixes docstring by @BWMac in #1155
- Removes example setting annotations with Agent class by @BWMac in #1156
- [SYNPY-1557] Sync a Linked Folder Bug by @BWMac in #1157
- [SYNPY-1544] Return the AgentPrompt when calling the prompt function by @BryanFauble in #1158
Full Changelog: v4.6.1...v4.7.0
v4.6.1
What's Changed
- Update misaligned script by @thomasyu888 in #1144
- [SYNPY-1423] update mkdocstrings dependency for 1.8.0 by @danlu1 in #1145
- Add procps to Dockerfile to enable use of container in Nextflow by @adamjtaylor in #1146
- [SYNPY-1548] Swap to a FIFO queue by @BryanFauble in #1147
New Contributors
- @adamjtaylor made their first contribution in #1146
Full Changelog: v4.6.0...v4.6.1-rc
v4.6.0
Highlights
- Patching an issue present in 4.5.1 that broke downloads from google bucket files.
- Support for python 3.12
- Drop support for python 3.8
What's Changed
- [SYNPY-1521] Fixes
asDataFramekwargCollision Issue by @BWMac in #1132 - [SYNPY-1520] Support python 3.12 by @BryanFauble in #1133
- [SYNPY-1517] Deprecate Python 3.8 Support by @BWMac in #1134
- [SYNPY-1524] Fixes
ghcr-build-and-push-on-developandghcr-build-and-push-on-releaseWorkflows by @BWMac in #1136 - [SYNPY-1524] Updates
Dockerfileby @BWMac in #1137 - [SYNPY-1525] Verify expiration param in url by @BryanFauble in #1139
- [SYNPY-1513] Validate input submission ID in
getSubmission(...)by @jaymedina in #1135 - [SYNPY-1522] Add note on lost shared libraries to install instructions for
condaby @jaymedina in #1140
Full Changelog: v4.5.1...v4.6.0-rc
v4.5.1
4.5.1 (2024-09-19)
Highlights
- Telemetry auto instrumentation:
- By employing the usage of the opentelemetry-python-contrib
we are able to take advantage of the support for auto instrumenting several
libraries in use by this client. This telemetry data is paramount for exceptional
observability. Check out the readme for a quickstart.
- By employing the usage of the opentelemetry-python-contrib
owner_id(Or the ID of the logged in profile) is available on logged in Synapse instance viasyn.credentials.owner_id
What's Changed
- [FDS-2386] Add owner id to the credentials to be used later on by @BryanFauble in #1130
- [FDS-2386] Global client caching, Telemetry auto instruementation by @BryanFauble in #1129
Full Changelog: v4.5.0...v4.5.1-rc
v4.5.0
Highlights
- Improved handling of pre-authorized requests:
- During long running asynchronous download operations (i.e. syncing a folder with many files),
some pre-authorized URLs were expiring before they were used to download the file. This
change will now check the expiration datetime of the URL before using it.
If the URL is expired it will be refreshed.
- During long running asynchronous download operations (i.e. syncing a folder with many files),
- Added support for
pandas.read_csvkeyword arguments:- Added support for all
pandas.read_csvkeyword arguments to theasDataFramemethod of theCsvFileTableclass. - This enables custom handling of missing values and default values when reading a Synapse table to a pandas DataFrame. See the pandas documentation for a full list of available keyword arguments.
- Added support for all
What's Changed
- [SYNPY-1514] Handle Expired Pre-Signed URLs by @BWMac in #1126
- [SYNPY-1509] Updates
NAhandling forCSVFileTable.asDataFrameby @BWMac in #1127 - [FDS-2373] Update retry delay, add some otel traces, add retry to url creation by @BryanFauble in #1128
Full Changelog: v4.4.1...v4.5.0
v4.4.1
What's Changed
- Update file tutorial with missing line by @rxu17 in #1123
- [SYNPY-1436] avoid duplicate user profile call during login by @danlu1 in #1124
- [SYNPY-1511] Correct missing synapse client propogation and caching by @BryanFauble in #1125
New Contributors
Full Changelog: v4.4.0...v4.4.1-rc