Gemd

Latest version: v2.0.0

Safety actively analyzes 613682 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 8

2.0.0

We are thrilled to announce version 2.0.0 of gemd-python. It's been a few years of updates, both technical and quality of life, since our 1.0.0 release, but all of that has been oriented around improving the SDK (as opposed to the underlying data model).

Upgrading to version 2 may necessitate changes to existing scripts. There should be no fundamental changes in functionality between [v1.18.5](https://github.com/CitrineInformatics/gemd-python/tree/v1.18.5) and v2.0.0, so the deprecation messages from the older version should provide a guide to updating your code.

Improvements
* In cases where both the built-in json and the gemd.json `dumps` and / or `loads` methods are used in close proximity in the code, we've used aliases to make it obvious which is which. This should just be a cosmetic change. (208)

What's Removed
* The `name` keyword in LinkByUID's `from_entity` has been removed in favor of `scope`. A user-specified scope is no longer a valid positional argument. (208)
* The `get_value` and `get_enum` methods have been removed from BaseEnumeration. They are no longer necessary, as enumerations now return the values when cast as strings, as in a format statement. (208)
* The `register_classes` method has been removed from the GEMDJson object. Object types are defined during extension of the BaseEntity class, and registered with the deserializer at definition time.
* The `native_uid` keyword in gemd.util's `substitute_links` has been removed in favor of `scope`. (208)


**Full Changelog**: https://github.com/CitrineInformatics/gemd-python/compare/v1.18.5...v2.0.0

1.18.5

This is a maintenance release, anticipating a release of the next major version in the near future.

Improvements
* Units handling is improved, both providing better guardrails and updated parsing. For example, before [60 rpm would convert to 2*pi hertz](https://pint.readthedocs.io/en/0.23/user/angular_frequency.html). This should be a transparent quality of like improvement. (#201 203 209)

Fixes
* The building and testing process has been updated, adding Python 3.12 to the test suite (202), cleaning up the packaging (205 207), addressing the vast majority of documentation build warnings (204), and boosting testing library versions (210).
* Made object definitions a bit more consistent (non-breaking, 206)
* Correct encoding error on Windows with units file extraction (211)


**Full Changelog**: https://github.com/CitrineInformatics/gemd-python/compare/v1.16.7...v1.18.5

1.16.7

Releases for v1.16.3 and v1.16.4 didn't propagate to PyPI, so those release notes are repeated here.

As Python 3.7 hit [End-of-Life](https://devguide.python.org/versions/) 2023-06-27, this PR removes support for it and removes some crutches that were necessary to support it.

Improvements

* Drop reliance on [pkg-resources](https://setuptools.pypa.io/en/latest/pkg_resources.html) in favor of the more modern [importlib.resources](https://docs.python.org/3.10/library/importlib.html#module-importlib.resources). Note that the files methods were not introduced until 3.9, so until support for 3.7 and 3.8 is dropped, we cannot take advantage of them. https://github.com/CitrineInformatics/gemd-python/pull/195
* Modify the Travis-CI testing behavior for faster testing for PRs. https://github.com/CitrineInformatics/gemd-python/pull/197

Fixes

* Only build docs in one test permutation https://github.com/CitrineInformatics/gemd-python/pull/194
* Drop reliance on outdated [toolz](https://pypi.org/project/toolz/) and [Pint](https://pypi.org/project/Pint/) libraries https://github.com/CitrineInformatics/gemd-python/pull/196
* Correct for release issues https://github.com/CitrineInformatics/gemd-python/pull/198 / https://github.com/CitrineInformatics/gemd-python/pull/199 / https://github.com/CitrineInformatics/gemd-python/pull/200

Full Changelog: https://github.com/CitrineInformatics/gemd-python/compare/v1.16.0...v1.16.7

1.16.4

As Python 3.7 hit [End-of-Life](https://devguide.python.org/versions/) 2023-06-27, this PR removes support for it and removes some crutches that were necessary to support it.

Fixes
* Drop reliance on outdated [toolz](https://pypi.org/project/toolz/) and [Pint](https://pypi.org/project/Pint/) libraries #196

**Full Changelog**: https://github.com/CitrineInformatics/gemd-python/compare/v1.16.3...v1.16.4

1.16.3

This is a maintenance release, just prior to releasing a gemd-python version that will drop support for Python 3.7.

Improvements
* Drop reliance on [pkg-resources](https://setuptools.pypa.io/en/latest/pkg_resources.html) in favor of the more modern [importlib.resources](https://docs.python.org/3.10/library/importlib.html#module-importlib.resources). Note that the `files` methods were not introduced until 3.9, so until support for 3.7 and 3.8 is dropped, we cannot take advantage of them. 195
* Modify the Travis-CI testing behavior for faster testing for PRs. 194 197

**Full Changelog**: https://github.com/CitrineInformatics/gemd-python/compare/v1.16.0...v1.16.3

1.16.0

Adding support for downstream developers.

Improvements
* A decorator was added to support migration of Base Enumeration symbols. This makes it much easier for downstream consumers of this library to rename their enumerations (not the value). 193


**Full Changelog**: https://github.com/CitrineInformatics/gemd-python/compare/v.1.15.0...v.1.16.0

v.1.15.0
Further quality of life improvements, helping us help you.

Improvements
* We've changed the base of our enumeration to behave in a much more string-like way, and be much more useful in allowing for a wide range of input strings to map to the expected internal representations. Basically, a string enumeration is much friendlier in what it accepts while emitting a consistent output. 192
* We've improved our automated testing approach, so now our normal workflows are tested against a wider range of versions of dependent libraries. This identified a couple of outdated dependencies, and so the added clean-up is always nice. 191


**Full Changelog**: https://github.com/CitrineInformatics/gemd-python/compare/v.1.14.0...v.1.15.0

v.1.14.0
Quality of Life improvements around units handling and tests.

Improvements
* Improved unit handling capability around scaling factors, including `get_base_units` for converting to-and-from SI (190 )
* Better testing practice, boosting library versions and refactoring where tests live (189 )


**Full Changelog**: https://github.com/CitrineInformatics/gemd-python/compare/v.1.13.5...v.1.14.0

v.1.13.5
Quick fix for one issue.

Maintenance
* Units were being incorrectly normalized when they had fractional exponents. 187


**Full Changelog**: https://github.com/CitrineInformatics/gemd-python/compare/v.1.13.4...v.1.13.5

v.1.13.4
This release addresses minor bugs.

Maintenance
* `.` has been added to the allowed list of punctuation for units, to be tolerant of expressions like `mol.` and `a.u.`. 185
* This also addresses an issue where the scaling factor support was dropped anytime a custom units file was used. 185
* For some complex cases involving white space and unary operators (e.g., `-` as negative not minus), we've replicated Pint's parsing behavior. 186

**Full Changelog**: https://github.com/CitrineInformatics/gemd-python/compare/v.1.13.2...v.1.13.4

v.1.13.2
Happy to offer some minor quality of life improvements following last week's release.

Maintenance
* We've improved out units parsing. Punctuation that is not a mathematical operator is being flagged and we cleaned up our handling of scaling factors. And more tests. More tests is good. 183
* We also added Python 3.11 tests to our CI/CD process. 183
* And we cleaned up some of our serialization. We fixed a caching issue with our class map and removed an old tripping hazard when setting uids that look like UUIDs. 184


**Full Changelog**: https://github.com/CitrineInformatics/gemd-python/compare/v.1.13.0...v.1.13.2

v.1.13.0
This release updates some legacy architecture as well as rolls in some quality of life improvements.

Improvements
* In order to be compatible with Python 2.x, we hadn't really used [abc](https://docs.python.org/3.10/library/abc.html) in some core work. Here, we're updated the class DictSerializable to make subclassing easier and enable some bigger clean-up in the near future. (#182)
* We've added a little magic so that the core [Pint](https://pypi.org/project/Pint/) units handling will work with scaling factors. Now we can support customary units like `g/100 mL` to better represent how data are transcribed in the real world. (#180)

Maintenance
* Improved some of our testing infrastrcture (181)

**Full Changelog**: https://github.com/CitrineInformatics/gemd-python/compare/v.1.12.1...v.1.13.0

v.1.12.1
This release is driven by dependencies in the Python ecosystem. No new functionality.

Improvements
* We've updated our library to be compatible with the latest version of Pint (https://github.com/CitrineInformatics/gemd-python/pull/178)
* And we've updated our installs and tests to include that version (https://github.com/CitrineInformatics/gemd-python/pull/179)


**Full Changelog**: https://github.com/CitrineInformatics/gemd-python/compare/v1.11.1...v.1.12.1

Page 1 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.