v4.1.0
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
.
- Expanded pandas range to
-
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.
- Using
What's Changed
- [SYNPY-1349] Detect annotation type by @BryanFauble in #1022
- [SYNPY-1345] Migrate to mkdocstrings by @BryanFauble in #1023
- [SYNPY-1412] Fixing typing issue in copy_functions by @jaymedina in #1048
- [SYNPY-1322] Object Orientated Programming Interfaces by @BryanFauble in #1013
- [SYNPY-1344] Creating a decorator to be used in async class methods by @BryanFauble in #1049
- [SYNPY-1344] Remove return type hinting on decorator by @BryanFauble in #1050
- [SYNPY-1344] Moving to pytest-socket for blocking socket connections in unit tests by @BryanFauble in #1051
- [SYNPY-1344] Set client in conftest since login is not used in unit tests by @BryanFauble in #1052
- [SYNPY-1344] Allows Socket Connections for Windows Systems in Unit Tests by @BWMac in #1054
- [SYNPY-1398] Support
.[version]
syntax for input SynIDs by @jaymedina in #1047 - [SYNPY-1344] Adding activity model for OOP by @BryanFauble in #1055
- [SYNPY-1398] Correct broken docstring by @BryanFauble in #1057
- [SYNPY-1344] Remove need to manually propogate otel context by @BryanFauble in #1056
- [SYNPY-1348] Add User profile and Permission models by @BryanFauble in #1058
- [SYNPY-1411] Prevent Repeated
syn.get
calls in_help_walk
by @BWMac in #1059 - [SYNPY-1347] Adds OOP Team Model by @BWMac in #1053
- [SYNPY-1416] File model finishing touches for OOP by @BryanFauble in #1060
- [SYNPY-1416] Adding to the file.store docstring by @BryanFauble in #1062
- [SYNPY-1253] Check MD5 before upload to verify change in content by @BryanFauble in #1063
- [SYNPY-1415] Publish sequence diagram for walk function by @BryanFauble in #1064
- [SYNPY-448] allow changing Synapse name in changeFileMetaData by @danlu1 in #1065
- [SYNPY-1415] Folder model finishing touches by @BryanFauble in #1061
- [SYNPY-1326] Expand range for pandas dependency to <3.0 by @BryanFauble in #1066
- [SYNPY-1414] Project model finishing touches by @BryanFauble in #1067
Full Changelog: v4.0.0...v4.1.0-rc