Skip to content

Commit a41fed2

Browse files
committed
docs: General polish pass prior to release: put my e-mail in for Trevor's, updated HISTORY and AUTHORS, ticked the version number.
1 parent 53bb921 commit a41fed2

File tree

6 files changed

+71
-15
lines changed

6 files changed

+71
-15
lines changed

AUTHORS.rst

+11-6
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,22 @@
22
Credits
33
=======
44

5-
Development Lead
6-
----------------
7-
8-
* Trevor Olson <[email protected]>
5+
The pvl library was originally developed by Trevor Olson.
96

10-
Contributors
11-
------------
7+
Authors
8+
-------
129

10+
* Trevor Olson <[email protected]> (Original Author and former development lead)
1311
* Sarah Braden <[email protected]>
1412
* Michael Aye <[email protected]>
1513
* Austin Godber <[email protected]>
1614
* Perry Vargas <[email protected]>
1715
* `Benoit Seignovert <https://github.com/seignovert>`_
1816
* `Ross Beyer <https://github.com/rbeyer>`_
17+
18+
19+
Acknowledgements
20+
----------------
21+
22+
Thanks to Michael Aye, Andrew Annex, and Chase Million for valuable discussions during the
23+
lead-up to the 1.0.0 release.

HISTORY.rst

+37
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,43 @@
33
History
44
-------
55

6+
1.0.0 (2020-08-23)
7+
~~~~~~~~~~~~~~~~~~
8+
This production version of the pvl library consists of significant
9+
API and functionality changes from the 0.x version that has been
10+
in use for 5 years (a credit to Trevor Olson's skills). The
11+
documentation has been significantly upgraded, and various granular
12+
changes over the 10 alpha versions of 1.0.0 over the last 8 months
13+
are detailed below. However, here is a high-level overview of what
14+
changed from the 0.x version:
15+
16+
* Only guaranteed to work with Python 3.6 and above.
17+
* Rigorously implemented the three dialects of PVL text: PVL itself,
18+
ODL, and the PDS3 Label Standard. There is a fourth de-facto
19+
dialect, that of ISIS cube labels that is also handled. Please see
20+
the "Standards & Specifications" section of the documentation.
21+
* There is now a default dialect for the dump functions: the PDS3 Label Standard.
22+
This is different and more strict than before, but other output dialects are
23+
possible. Please see the "Writing out PVL text" section in the documentation
24+
for more information, and how to enable an output similar to the 0.x output.
25+
* ``pvl.load()`` and ``pvl.dump()`` take all of the arguments that they could take
26+
before (string containing a filename, byte streams), but now also accept any
27+
``os.PathLike`` object, or even an already-opened file object.
28+
* Utility programs `pvl_validate` and `pvl_translate` were added, please see
29+
the "Utility Programs" section of the documentation for more information.
30+
* All ``datetime.time`` and ``datetime.datetime`` objects returned from the loaders
31+
are now timezone "aware." Previously some were and some were not.
32+
* There are now ``pvl.collections`` and ``pvl.exceptions`` modules. There was previously
33+
an internal ``pvl._collections`` module, and the exception classes were scattered through
34+
the other modules.
35+
* Quantities: The `pvl.collections.Units` object is pending deprecation in favor of
36+
the new ``pvl.collections.Quantity`` object (really a name-only change, no functionality
37+
difference). The library can now parse and encode PVL Values with Units expressions
38+
with third-party quantity objects like `astropy.units.Quantity` and `pint.Quantity`.
39+
Please see the "Quantities: Values and Units" section of the documentation.
40+
41+
42+
643
1.0.0-alpha.9 (2020-08-18)
744
~~~~~~~~~~~~~~~~~~~~~~~~~~
845
* Minor addition to pvl.collections.MutableMappingSequence.

README.rst

+15-3
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ Basic Usage
6262
``pvl`` exposes an API familiar to users of the standard library
6363
``json`` module.
6464

65-
Decoding is primarily done through ``pvl.load()`` for file like objects and
65+
Decoding is primarily done through ``pvl.load()`` for file-like objects and
6666
``pvl.loads()`` for strings::
6767

6868
>>> import pvl
@@ -79,7 +79,10 @@ Decoding is primarily done through ``pvl.load()`` for file like objects and
7979
>>> print(module['foo'])
8080
bar
8181

82-
You may also use ``pvl.load()`` to read PVL text directly from an image_::
82+
There is also a ``pvl.loadu()`` to which you can provide the URL of a file that you would normally provide to
83+
``pvl.load()``.
84+
85+
You may also use ``pvl.load()`` to read PVL text directly from an image_ that begins with PVL text::
8386

8487
>>> import pvl
8588
>>> label = pvl.load('tests/data/pattern.cub')
@@ -158,7 +161,16 @@ with ``dict``-style access::
158161
END
159162
<BLANKLINE>
160163

161-
The intent is for the loaders (``pvl.load()`` and ``pvl.loads()``)
164+
However, there are some aspects to the default ``pvl.PVLModule`` that are not entirely
165+
aligned with the modern Python 3 expectations of a Mapping object. If you would like
166+
to experiment with a more Python-3-ic object, you could instantiate a
167+
``pvl.collections.PVLMultiDict`` object, or ``import pvl.new as pvl`` in your code
168+
to have the loaders return objects of this type (and then easily switch back by just
169+
changing the import statement). To learn more about how PVLMultiDict is different
170+
from the existing OrderedMultiDict that PVLModule is derived from, please read the
171+
new PVLMultiDict documentation.
172+
173+
The intent is for the loaders (``pvl.load()``, ``pvl.loads()``, and ``pvl.loadu()``)
162174
to be permissive, and attempt to parse as wide a variety of PVL text as
163175
possible, including some kinds of 'broken' PVL text.
164176

pvl/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
)
2424

2525
__author__ = "The pvl Developers"
26-
__email__ = "[email protected]"
27-
__version__ = "1.0.0-alpha.9"
26+
__email__ = "[email protected]"
27+
__version__ = "1.0.0"
2828
__all__ = [
2929
"load",
3030
"loads",

setup.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 1.0.0-alpha.9
2+
current_version = 1.0.0
33
commit = False
44
tag = False
55
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-(?P<prerelease>[a-z]+)\.((?P<serial>\d+)))?

setup.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212

1313
setup(
1414
name='pvl',
15-
version='1.0.0-alpha.9',
15+
version='1.0.0',
1616
description='Python implementation of PVL (Parameter Value Language)',
1717
long_description=readme + '\n\n' + history,
1818
author='The PlanetaryPy Developers',
19-
author_email='[email protected]',
19+
author_email='[email protected]',
2020
url='https://github.com/planetarypy/pvl',
2121
packages=[
2222
'pvl',
@@ -28,13 +28,15 @@
2828
zip_safe=False,
2929
keywords='pvl',
3030
classifiers=[
31-
'Development Status :: Development Status :: 3 - Alpha',
31+
'Development Status :: 5 - Production/Stable',
3232
'Intended Audience :: Developers',
3333
'Intended Audience :: Science/Research',
3434
'License :: OSI Approved :: BSD License',
3535
'Natural Language :: English',
3636
'Programming Language :: Python :: 3.6',
3737
'Programming Language :: Python :: 3.7',
38+
'Programming Language :: Python :: 3.8',
39+
'Topic :: Text Processing'
3840
],
3941
entry_points={"console_scripts": [
4042
"pvl_translate = pvl.pvl_translate:main",

0 commit comments

Comments
 (0)