Skip to content

Releases: Sage-Bionetworks/synapsePythonClient

v4.13.0

Choose a tag to compare

@andrewelamb andrewelamb released this 09 Jun 14:19

Highlights

  • sync_to_synapse / sync_from_synapse to enable bulk upload/download operations on OOP Project and Folder models.
  • Enabling programmatic Grid collaboration through CSV import/export to Grid sessions, and Grid session to CurationTask linking for Curator.
  • Object-oriented DownloadList, storage locations and migration are now supported.
  • Bug fixes for table queries, Recordset versioning, async messaging, and special-character handling in row stores.

Features

  • [SYNPY-1802] Add DownloadList OOP model and deprecate legacy methods by @andrewelamb in #1347
  • [SYNPY-1800] Add new sync_to_synapse method on StorableContainer by @andrewelamb in #1353
  • [SYNPY-1799, SYNPY-1804] Add manifest generation to sync_from_synapse by @danlu1 in #1354
  • [SYNPY-1809] Add generate_sync_manifest method by @andrewelamb in #1373
  • [DPE-1577] Support storage locations and migration in OOP models by @BryanFauble in #1315
  • [SYNPY-1781] Implement CSV import to Grid session by @linglp in #1360
  • [SYNPY-1782] Implement CSV download from Grid session by @linglp in #1366
  • [SYNPY-1783] Implement Grid synchronization by @linglp in #1368
  • [SYNPY-1760] Add ability to link Grid to CurationTask by @andrewelamb in #1383
  • [SYNPY-1841] Add fields for CurationTask search/filtering by @andrewelamb in #1384
  • [SYNPY-1836] Support configurable view_type_mask in file-based metadata task by @BryanFauble in #1374

Bug Fixes

  • [SYNPY-1835] Fix query() failure when a list column is all-NA by @BryanFauble in #1390
  • [SYNPY-1832] Fix bug causing RecordSet to be updated to v2 by @andrewelamb in #1378
  • [SYNPY-1838] Prevent create_record_based_metadata_task from creating a Grid entity by @andrewelamb in #1380
  • [SYNPY-1824] Fix syn.sendMessage in async context by @linglp in #1370
  • [SYNPY-1749] Allow quote, apostrophe and ellipsis in store_row_async by @danlu1 in #1316

Tech Debt

Documentation

Other

Full Changelog: v4.12.0...v4.13.0

v4.12.0

Choose a tag to compare

@andrewelamb andrewelamb released this 03 Apr 15:23

Highlights

  • Added support for Docker repositories and curator extension improvements
  • Fixed several bugs related to schema generation and validation
  • Upgraded dependencies and added new CLI commands

Features

  • [SYNPY-1731] Implement DockerRepository entity by @linglp in #1322
  • [SYNPY-1746] Add IsTemplate column to Curator CSV data model by @andrewelamb in #1311
  • [SYNPY-1726] Add bind-jsonschema CLI command by @aditigopalan in #1317
  • [SYNPY-1777] Separated check_name into org and schema functions; Add fix_schema_name by @andrewelamb in #1328, #1327
  • [SYNPY-1765] Remove project id arg from create_record_based_curator_task by @andrewelamb in #1329
  • [SYNPY-1784] Added delete_record_set and delete_file_view parameters to CurationTask.delete() by @andrewelamb in #1333

Bug Fixes

  • [SYNPY-1787] Changed conditionals so that the watched property is required by @andrewelamb in #1334
  • [SYNPY-1770] fix variable mutation in get_conditional_properties by @linglp in #1319
  • [SYNPY-1744] Redo how curator extension checks imports by @andrewelamb in #1307
  • [SYNPY-1702] Update curator extensions related documentation by @thomasyu888 in #1312
  • [SYNPY-1788] Comment out test due to synapse api error by @linglp in #1338

Tech Debt

Other

  • [SYNPY-1759] Allow task to be assigned using assigneePrincipalId by @linglp in #1321
  • [SYNPY-1768] Conditional dependencies are now grouped by @andrewelamb in #1324
  • [SYNPY-1794] Modified EntityView creation of strings and list cols by @andrewelamb in #1340

Full Changelog: v4.11.0...4.12.0

v4.12.0-rc

v4.12.0-rc Pre-release
Pre-release

Choose a tag to compare

@andrewelamb andrewelamb released this 31 Mar 17:07

Highlights

  • Added support for Docker repositories and curator extension improvements
  • Fixed several bugs related to schema generation and validation
  • Upgraded dependencies and added new CLI commands

Features

  • [SYNPY-1731] Implement DockerRepository entity by @linglp in #1322
  • [SYNPY-1746] Add IsTemplate column to Curator CSV data model by @andrewelamb in #1311
  • [SYNPY-1726] Add bind-jsonschema CLI command by @aditigopalan in #1317
  • [SYNPY-1777] Separated check_name into org and schema functions; Add fix_schema_name by @andrewelamb in #1328, #1327
  • [SYNPY-1765] Remove project id arg from create_record_based_curator_task by @andrewelamb in #1329
  • [SYNPY-1784] Added delete_record_set and delete_file_view parameters to CurationTask.delete() by @andrewelamb in #1333

Bug Fixes

  • [SYNPY-1787] Changed conditionals so that the watched property is required by @andrewelamb in #1334
  • [SYNPY-1770] fix variable mutation in get_conditional_properties by @linglp in #1319
  • [SYNPY-1744] Redo how curator extension checks imports by @andrewelamb in #1307
  • [SYNPY-1702] Update curator extensions related documentation by @thomasyu888 in #1312
  • [SYNPY-1788] Comment out test due to synapse api error by @linglp in #1338

Tech Debt

Other

  • [SYNPY-1759] Allow task to be assigned using assigneePrincipalId by @linglp in #1321
  • [SYNPY-1768] Conditional dependencies are now grouped by @andrewelamb in #1324
  • [SYNPY-1794] Modified EntityView creation of strings and list cols by @andrewelamb in #1340

Full Changelog: v4.11.0...4.12.0

v4.4.2

Choose a tag to compare

@danlu1 danlu1 released this 24 Jan 00:06

Highlights

  • No longer support python 3.8

Bug Fixes

  • Upgraded urllib3 and setuptools to address code scanning security vulnerabilities and errors.

Full Changelog: v4.4.1...v4.4.2

v4.11.0

Choose a tag to compare

@danlu1 danlu1 released this 13 Jan 23:26

Highlights

  • Refactored Synapse Python Client to use object-oriented principles for Evaluation, Submission and Wiki
  • Introduced the synapseclient.extensions module which contains scripts that extend the core functionality of the Synapse Python Client
  • Implemented JSON Schema creation and validation workflows
  • Deprecated legacy functionality and migrated to new asynchronous APIs

Features

  • [SYNPY-1589] Implement "Evaluation" OOP model by @jaymedina in #1244
  • [SYNPY-1590] Implement Submission(+Status, +Bundle) OOP model by @jaymedina in #1250
  • [SYNPY-1351] Implement "Wiki2" OOP model by @danlu1 in #1206

Bug Fixes

  • [SYNPY-1709] Correct boolean type conversion by @BryanFauble in #1284
  • [SYNPY-1667] Update Error Messaging when Attempting to Delete Rows that do not exist from Tables by @SageGJ in #1257

Tech Debt

  • [SYNPY-1426] Deprecate getChildren method and extend sync_from_synapse method by @BryanFauble in #1222
  • [SYNPY-1426] Deprecate acl and permission management methods by @BryanFauble in #1223
  • [SYNPY-1426] Noting all final deprecations and the tickets they will be deprecated with by @BryanFauble in #1226

Other

  • [SYNPY-1633] Add membership_status to Team model and Deprecate Old Method by @linglp in #1235
  • [SYNPY-1351] Update tutorial script references in Wiki documentation by @BryanFauble in #1302
  • [SYNPY-1590] Add docker_commit_services module to codebase by @jaymedina in #1304
  • [SYNPY-1351] Adding in test isolation for wiki tests by @BryanFauble in #1306
  • [SYNPY-1737] Switch urllib3 to version 2 by @BryanFauble in #1299
  • [SYNPY-1673] Update jsonschema tutorial by @thomasyu888 in #1260
  • [SYNPY-1673] Add JSON Schema documentation, deprecate old classes by @andrewelamb in #1262
  • [SYNPY-1672] Extract JSON Schema creation code from schematic by @BryanFauble in #1266
  • [SYNPY-1668] Creating curator extensions directory by @BryanFauble in #1263

Full Changelog: v4.10.0...v4.11.0

synapsedesktopclient/v0.1.2-beta

Pre-release

Choose a tag to compare

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

  1. Download the appropriate installer for your operating system
  2. Install the application following the setup wizard
  3. Launch the Synapse Desktop Client
  4. Log in with your Synapse access token or your synapseConfig file with profile based authentication.
  5. Start uploading or downloading your data

System Requirements

  • Windows: Windows 10 or later
  • macOS: macOS 14 or later

Install instructions:

v4.10.0

Choose a tag to compare

@BryanFauble BryanFauble released this 17 Oct 19:50
0f03510

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 sonarqube-scan-action@v5.3.1 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

Choose a tag to compare

@BryanFauble BryanFauble released this 14 Jul 17:01

Highlights

Features

  • [SYNPY-893] Added support for multiple authentication profiles (#1194)
  • [SYNPY-1580] Implemented VirtualTable OOP model (#1195)
  • [SYNPY-1599] Added JSON schema mixin class for binding, validating, and unbinding schemas (#1205)
  • [SYNPY-1607] Enabled string-based conversion for ColumnType and FacetType (#1210)
  • [SYNPY-1604] Introduced dry_run flag and list_acl method 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

Choose a tag to compare

@BryanFauble BryanFauble released this 28 Apr 16:38

Highlights

Features

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

Other

  • Update the docstring for setPermissions to be clearer by @BryanFauble in #1164
  • Update Dockerfile - Fixes pandas installation by @BWMac in #1169
  • [SYNPY-1570, SYNPY-1555] Support passing user_agent to 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

Full Changelog: v4.7.0...v4.8.0-rc

v4.7.0

Choose a tag to compare

@BWMac BWMac released this 03 Feb 15:14

Highlights

  • Added functionality for interacting with Synapse Agents:
    • The new Agent OOP 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 Agent documentation for more details and example code to get started.

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