Releases: bmrb-io/PyNMRSTAR
v3.5.0 - Unicode handling improvements
Major improvements:
- The library now scans for whitespace in a fully unicode-aware manner. It warns when whitespace other than that officially allowed in the STAR specification is found (' ', '\t', '\r', '\n', '\v') but it still parses it without issues. If raise_parse_warnings is set, an exception is thrown.
Minor improvements:
pynmrstar.Loop.categoryis converted to a property to be able to validate it when set. Previously, invalid loop categories (tag prefixes) could be provided.
Potentially breaking changes:
pynmrstar.definitions.WHITESPACEhas been removed. This allowed users to set custom characters that they considered whitespace. This functionality was never encouraged. Instead, the standard STAR whitespace characters are considered official whitespace characters, but anything in Unicode considered whitespace is also handled properly.
v3.4.0 - The Rusty Release
Major improvements:
The C helper module has been reimplemented in Rust and other performance critical functions have also been moved to the Rust module. (Specifically, the Parsing logic and the loop string formatting logic.) Additional effort towards maximizing the performance of the Rust module has been made, leading to massive speedups in performance of common actions.
- Parsing a file is now nearly twice as fast.
- Rendering an Entry to a string is now nearly three times as fast.
This change is tested to be and understood to be fully backwards compatible, but due to the major nature of the change is getting a new minor version number.
v3.4.0b2
Major improvements:
The C helper module has been reimplemented in Rust and other performance critical functions have also been moved to the Rust module. (Specifically, the Parsing logic and the loop string formatting logic.) Additional effort towards maximizing the performance of the Rust module has been made, leading to massive speedups in performance of common actions.
Parsing a file is now nearly twice as fast.
Rendering an Entry to a string is now nearly three times as fast.
This change is tested to be and understood to be fully backwards compatible, but due to the major nature of the change is getting a new minor version number.
3.3.6
3.3.5
3.1.0
Changes:
- PyNMRSTAR automatically retries fetching an entry from the BMR API using an exponential backoff if rate limited.
- PyNMRSTAR now lists the package
requestsas a requirement, which allows it to significantly speed up fetching entries
from the database. It will still work if requests is not installed though, as in the case where you have checked out
the code locally and don't have requests installed - you just won't get the enhanced performance.
Breaking changes:
- The default value of skip_empty_loops of the method write_to_file() for both Entry and Saveframe has
been changed to True to write out empty loops. Technically according to the NMR-STAR format, empty loops should
be omitted. In practice, many libraries fail to treat a missing tag as equivalent to a present but null tag, and
would be confused by the fact that reading in a file and writing it back out again would cause these empty loops to
go missing. You can still manually specify skip_empty_loops=True to maintain the previous behavior.
v2.6.6 - Maintenance Release
Changes:
- Update API URLs to point to new BMRB.io domain.
- Update built-in schema version.