Skip to content

Releases: Sage-Bionetworks/synapsePythonClient

synapsedesktopclient/v0.1.0-beta

27 Aug 19:41
Compare
Choose a tag to compare
Pre-release

Synapse Desktop Client - Beta Release v0.1.0

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.9.0

14 Jul 17:01
Compare
Choose a tag to compare

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.9.0-rc

08 Jul 18:42
Compare
Choose a tag to compare
v4.9.0-rc Pre-release
Pre-release

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-rc

v4.8.0

28 Apr 16:38
Compare
Choose a tag to compare

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

03 Feb 15:14
Compare
Choose a tag to compare

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

v4.6.1

18 Dec 18:22
8bd5e19
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v4.6.0...v4.6.1-rc

v4.6.0

07 Oct 16:33
Compare
Choose a tag to compare

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 asDataFrame kwarg Collision 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-develop and ghcr-build-and-push-on-release Workflows by @BWMac in #1136
  • [SYNPY-1524] Updates Dockerfile by @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 conda by @jaymedina in #1140

Full Changelog: v4.5.1...v4.6.0-rc

v4.5.1

20 Sep 18:07
Compare
Choose a tag to compare

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.
  • owner_id (Or the ID of the logged in profile) is available on logged in Synapse instance via syn.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

10 Sep 16:01
Compare
Choose a tag to compare

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.
  • Added support for pandas.read_csv keyword arguments:
    • Added support for all pandas.read_csv keyword arguments to the asDataFrame method of the CsvFileTable class.
    • 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.

What's Changed

  • [SYNPY-1514] Handle Expired Pre-Signed URLs by @BWMac in #1126
  • [SYNPY-1509] Updates NA handling for CSVFileTable.asDataFrame by @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

20 Aug 15:38
Compare
Choose a tag to compare

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