Skip to content

Releases: Sage-Bionetworks/synapsePythonClient

v4.1.0

22 Feb 23:56

Choose a tag to compare

Highlights

  • New Interfaces:

    • Combines data and behavior into a single class, simplifying the understanding and usage of the system's models.
    • New Interface: Introduced a revamped interface in the Synapse Python Client, shifting from a functional programming approach to an object-oriented one.
    • Enhanced Developer Experience: This change highlights much needed quality of life updates for developers. Improved autocomplete, hoverdocs, and examples in docstrings provide a significantly better coding experience.
    • Asyncio Support: Introduced support for asyncio, enabling more efficient use of system resources and enhancing performance for IO-bound tasks.
    • Extensibility: Laying the foundation for an extensible platform, facilitating easier addition of new features, and improvements to the Synapse Python Client.
  • synapseutils.walk Improvement:

    • Improved performance for synapseutils.walk.
  • Pandas Range Expansion:

    • Expanded pandas range to >=1.5, <3.0.
  • Version Notation Support:

    • Using syn123.version notation is now supported with syn.get, synapseutils.syncFromSynapse, and syn.setProvenance. This enhances consistency in version management across various activities.

What's Changed

Full Changelog: v4.0.0...v4.1.0-rc

v4.0.0

17 Jan 16:04

Choose a tag to compare

Highlights

  • Only authentication through Personal Access Token
    (aka: Authentication bearer token) is supported. Review the Authentication document for information on setting up your usage of a Personal Access Token to authenticate with Synapse.
  • Date type Annotations on Synapse entities are now timezone aware. Review our reference documentation for Annotations. The pytz package is reccomended if you regularly work with data across time zones.
    • If you do not set the tzinfo field on a date or datetime instance we will use the timezone of the machine where the code is executing.
    • If you are using the Manifest TSV for bulk actions on your projects you'll now see that [synapseutils.sync.syncFromSynapse][] will store dates as YYYY-MM-DDTHH:MM:SSZ. Review our documentation for an example manifest file. Additionally, if you'd like to upload an annotation in a specific timezone please make sure that it is in ISO 8601 format. If you do not specify a timezone it is assumed to use the timezone of the machine where the code is executing.
  • Support for annotations with multiple values through the Manifest TSV with the usage of a comma delimited bracket wrapped list. Any manifest files wishing to take advantage of multi-value annotations need to match this format. Examples:
    • ["Annotation, with a comma", another annotation]
    • [1,2,3]
    • [2023-12-04T07:00:00Z,2000-01-01T07:00:00Z]
  • Migration and expansion of the docs site! You'll see that the look, feel, and flow of all of the information on this site has been touched. As we move forward we hope that you'll provide the Data Processing and Engineering team feedback on areas we can improve.
  • Expansion of the available Python Tutorials can be found starting here.

What's Changed

New Contributors

Full Changelog: v3.2.0...v4.0.0-rc

v3.2.0

28 Nov 16:23

Choose a tag to compare

What's Changed

Full Changelog: v3.1.1...v3.2.0

v3.1.1

01 Nov 18:16

Choose a tag to compare

What's Changed

Full Changelog: v3.1.0...v3.1.1-rc

v3.1.0

23 Oct 21:29

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.0.0...v3.1.0-rc

v3.0.0

09 Sep 19:24

Choose a tag to compare

What's Changed

  • update name of utils function: is_synapse_id by @vpchung in #949
  • SYNPY-1248: add is_synapse_id function to the client by @vpchung in #950
  • [SYNPY-1241] Don't remove files from downloadCart if empty list of files by @thomasyu888 in #944
  • [SYNPY-1242] Refactor _loggedIn function by @thomasyu888 in #945
  • [SYNPY-1246] Add Python 3.11 support by @thomasyu888 in #951
  • [SYNPY-737] Remove non-standard single dash long cli parameters by @thomasyu888 in #883
  • [SYNPY-1255] Update pandas to support 2.0 and deprecate support for python 3.7 by @thomasyu888 in #954
  • [SYNPY-1266] Add support for GCP bucket by @thomasyu888 in #959
  • [SYNPY-1229, SYNPY-1230, SYNPY-1231] Lint synapseclient and synapseutils by @thomasyu888 in #961
  • Add pre-commit by @thomasyu888 in #963
  • [SYNPY-1227] Lint all code with black by @thomasyu888 in #965
  • [SYNPY-570] Make sure warning doesn't appear ifcollision is overwrite.local by @thomasyu888 in #967
  • [SYNPY-622] Improve evaluation.py syntax by @thomasyu888 in #968
  • [SYNPY-1269] Edit synapse config file to use auth token and edit tests by @thomasyu888 in #970
  • [Bug fix]: Fixed test related to pandas issue on window 2019 by @linglp in #971
  • [SYNPY-1270] Deprecated parameter date_parser to support pandas2.0.0 and above by @linglp in #973
  • [SYNPY-1199] Implement low-level functions for JSON Schema API by @BrunoGrandePhD in #894
  • pkg_resources is a deprecated API - replace with importlib.resources by @thomasyu888 in #975
  • [SYNPY-645] improve file entity name docs by @thomasyu888 in #969
  • [SYNPY-716] Remove asInteger() feature by @thomasyu888 in #962
  • Clean up setup.py by using setup.cfg by @thomasyu888 in #974
  • [SYNPY-1213, SYNPY-1245] Improve doc site by @thomasyu888 in #946

New Contributors

Full Changelog: v2.7.2...v3.0.0

v3.0.0-rc

09 Sep 17:24

Choose a tag to compare

v3.0.0-rc Pre-release
Pre-release

What's Changed

  • update name of utils function: is_synapse_id by @vpchung in #949
  • SYNPY-1248: add is_synapse_id function to the client by @vpchung in #950
  • [SYNPY-1241] Don't remove files from downloadCart if empty list of files by @thomasyu888 in #944
  • [SYNPY-1242] Refactor _loggedIn function by @thomasyu888 in #945
  • [SYNPY-1246] Add Python 3.11 support by @thomasyu888 in #951
  • [SYNPY-737] Remove non-standard single dash long cli parameters by @thomasyu888 in #883
  • [SYNPY-1255] Update pandas to support 2.0 and deprecate support for python 3.7 by @thomasyu888 in #954
  • [SYNPY-1266] Add support for GCP bucket by @thomasyu888 in #959
  • [SYNPY-1229, SYNPY-1230, SYNPY-1231] Lint synapseclient and synapseutils by @thomasyu888 in #961
  • Add pre-commit by @thomasyu888 in #963
  • [SYNPY-1227] Lint all code with black by @thomasyu888 in #965
  • [SYNPY-570] Make sure warning doesn't appear ifcollision is overwrite.local by @thomasyu888 in #967
  • [SYNPY-622] Improve evaluation.py syntax by @thomasyu888 in #968
  • [SYNPY-1269] Edit synapse config file to use auth token and edit tests by @thomasyu888 in #970
  • [Bug fix]: Fixed test related to pandas issue on window 2019 by @linglp in #971
  • [SYNPY-1270] Deprecated parameter date_parser to support pandas2.0.0 and above by @linglp in #973
  • [SYNPY-1199] Implement low-level functions for JSON Schema API by @BrunoGrandePhD in #894
  • pkg_resources is a deprecated API - replace with importlib.resources by @thomasyu888 in #975
  • [SYNPY-645] improve file entity name docs by @thomasyu888 in #969
  • [SYNPY-716] Remove asInteger() feature by @thomasyu888 in #962
  • Clean up setup.py by using setup.cfg by @thomasyu888 in #974
  • [SYNPY-1213, SYNPY-1245] Improve doc site by @thomasyu888 in #946

New Contributors

Full Changelog: v2.7.2...v3.0.0-rc

v2.7.2

03 Jun 03:15

Choose a tag to compare

What's Changed

Full Changelog: v2.7.1...v2.7.2

v2.7.1

20 Apr 19:52
137a90d

Choose a tag to compare

What's Changed

  • Mint patch release: Lock down pandas version since pandas >1.5 doesn't work by @thomasyu888 in #955
  • [SYNPY-1257] Hotfix - upgrade github actions by @thomasyu888 in #956

Full Changelog: v2.7.0...v2.7.1

v2.7.0

17 Sep 19:30
663ba3b

Choose a tag to compare

Bug Fixes

  • [SYNPY-226] - isConsistent fails as parameter for table query
  • [SYNPY-562] - Make sure SQL functions, including "year", are quoted correctly
  • [SYNPY-1031] - File version increments with 400 client error
  • [SYNPY-1219] - Update Entity class to be compatible with the new Dataset entity
  • [SYNPY-1224] - Correct SynapseUnmetAccessRestrictions message
  • [SYNPY-1237] - as_table_columns function is mishandling mixed data types

Stories

  • [SYNPY-63] - py: use metaclass to replace the _entity_type_to_class hack
  • [SYNPY-992] - synapseutils changeFileMetadata missing syn parameter docstring
  • [SYNPY-1175] - Programmatic Support for Download V2 via Py Client
  • [SYNPY-1193] - Support Datasets functionality
  • [SYNPY-1221] - Set up gh-action: black, the python auto formatter on the python client

Sub-Tasks

Tasks

  • [SYNPY-566] - Clarify expected list format for sync manifest
  • [SYNPY-1053] - Increase documentation of forceVersion in syncToSynapse
  • [SYNPY-1145] - Link to manifest format in CLI sync command usage help
  • [SYNPY-1226] - Leverage ViewBase for Datasets instead of SchemaBase
  • [SYNPY-1235] - Create codeql scanning workflow

Contributors

New Contributors

Full Changelog: v2.6.0...v2.7.0