Pvl

Latest version: v1.3.2

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

Scan your dependencies

Page 2 of 4

1.0.1

------------------

Fixed
+++++
* The PDSLabelEncoder was improperly raising an exception if the Python datetime
object to encode had a tzinfo component that had zero offset from UTC.

1.0.0

------------------
This production version of the pvl library consists of significant
API and functionality changes from the 0.x version that has been
in use for 5 years (a credit to Trevor Olson's skills). The
documentation has been significantly upgraded, and various granular
changes over the 10 alpha versions of 1.0.0 over the last 8 months
are detailed in their entries below. However, here is a high-level
overview of what changed from the 0.x version:

Added
+++++
* ``pvl.load()`` and ``pvl.dump()`` take all of the arguments that they could take
before (string containing a filename, byte streams, etc.), but now also accept any
``os.PathLike`` object, or even an already-opened file object.
* ``pvl.loadu()`` function will load PVL text from URLs.
* Utility programs `pvl_validate` and `pvl_translate` were added, please see
the "Utility Programs" section of the documentation for more information.
* The library can now parse and encode PVL Values with Units expressions
with third-party quantity objects like `astropy.units.Quantity` and `pint.Quantity`.
Please see the "Quantities: Values and Units" section of the documentation.
* Implemented a new PVLMultiDict (optional, needs 3rd party multidict library) which
which has more pythonic behaviors than the existing OrderedMultiDict. Experiment
with getting it returned by the loaders by altering your import statement to
``import pvl.new as pvl`` and then using the loaders as usual to get the new object
returned to you.

Changed
+++++++
* Only guaranteed to work with Python 3.6 and above.
* Rigorously implemented the three dialects of PVL text: PVL itself,
ODL, and the PDS3 Label Standard. There is a fourth de-facto
dialect, that of ISIS cube labels that is also handled. Please see
the "Standards & Specifications" section of the documentation.
* There is now a default dialect for the dump functions: the PDS3 Label Standard.
This is different and more strict than before, but other output dialects are
possible. Please see the "Writing out PVL text" section in the documentation
for more information, and how to enable an output similar to the 0.x output.
* There are now ``pvl.collections`` and ``pvl.exceptions`` modules. There was previously
an internal ``pvl._collections`` module, and the exception classes were scattered through
the other modules.

Fixed
+++++
* All ``datetime.time`` and ``datetime.datetime`` objects returned from the loaders
are now timezone "aware." Previously some were and some were not.
* Functionality to correctly parse dash (-) continuation lines in ISIS output is
now supported.
* The library now properly parses quoted strings that include backslashes.


Deprecated
++++++++++
* The `pvl.collections.Units` object is deprecated in favor of
the new ``pvl.collections.Quantity`` object (really a name-only change, no functionality
difference).

1.0.0alpha.9

--------------------------
* Minor addition to pvl.collections.MutableMappingSequence.
* Implemented PVLMultiDict which is based on the 3rd Party
`multidict.MultiDict` object as an option to use instead
of the default OrderedMultiDict. The new PVLMultiDict
is better aligned with the Python 3 way that Mapping
objects behave.
* Enhanced the existing OrderedMultiDict with some functionality
that extends its behavior closer to the Python 3 ideal, and
inserted warnings about how the retained non-Python-3
behaviors might be removed at the next major patch.
* Implemented pvl.new that can be included for those that wish
to try out what getting the new PVLMultiDict returned from
the loaders might be like by just changing an import statement.

1.0.0alpha.8

--------------------------
* Renamed the _collections module to just collections.
* Renamed the Units class to Quantity (Units remains, but has a deprecation warning).
* Defined a new ABC: pvl.collections.MutableMappingSequence
* More detail for these changes can be found in Issue 62.

1.0.0alpha.7

--------------------------
* Created a new exceptions.py module and grouped all pvl Exceptions
there. Addresses 58
* Altered the message that LexerError emits to provide context
around the character that caused the error.
* Added bump2version configuration file.

1.0.0alpha.6

--------------------------
* Enforced that all datetime.time and datetime.datetime objects
returned should be timezone "aware." This breaks 0.x functionality
where some were and some weren't. Addresses 57.

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.