Pdr

Latest version: v1.0.7

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

Scan your dependencies

Page 1 of 4

1.0.7

Added

Features
- `pdr.fastread()`, a convenience function for opening a product without
checking for a detached label. This function only works if you point it at
the file that contains the product's label (attached or detached). Improves
speed on slow filesystems or for large numbers of products, particularly
when you are only interested in their metadata or the data objects you want
to load from them are small.

Dataset Support
- MEX SPICAM and MRS datasets
- Comet D/Shoemaker-Levy 9/Jupiter Impact Observing Campaign datasets
- see [supported_datasets.md](docs/supported_datasets.md) for details

Other
- Lots of docstrings, type hinting, and other in-code documentation
- Additional shared types to support static analysis and code readability
- `pdr-tests`-compatible annotations for special cases

Changed
- Assorted code refactoring, linting, and minor backend improvements
- Substantial performance increases for wide tables with many repeated items
- Modified some special cases for pandas 2.2.x compatibility

Fixed
- A bug in PDS4 label handling that sometimes dropped repeated child elements
- An accidentally-skipped out-of-date unit test for DSV tables
- Slow imports are again delayed until needed

Removed
- Unused numpy-based ASCII table parser

1.0.6

Added
Features
- `Data` now directly affords a `find_special_constants()` method

Dataset Support
- most IHW datasets
- additional Voyager 1 and 2 datasets
- GRSFE and WFF/ATM datasets
- LOIRP dataset
- additional MSL, Apollo, and Mariner datasets
- additional Earth-based lunar data
- Viking Lander datasets
- Mars Odyssey DAN and SAM data
- MEX ASPERA, HRSC, SRC, and PFS data
- most Phoenix TEGA, ELEC, and WCL products
- see [supported_datasets.md](docs/supported_datasets.md) for details

Changed
- Assorted type-hinting and other in-code documentation improved.
- Behavior for character stripping in string columns of ASCII tables was
inconsistent. To increase usability, string columns of ASCII tables now
discard preceding and trailing spaces, commas, newlines, and double-quotes
(regardless of strict label specification).
- Generally improved performance on table reading

Fixed
- Incorrect column bounds due to unusual prefix/suffix/infix specifications
in some ASCII tables
- Incorrect column bounds due to container padding in some tables
- FITS HDUs with non-printable characters in header cards will now load,
discarding any such cards from the header (unless the cards are required,
e.g. NAXIS1) Resolves issue [52](https://github.com/MillionConcepts/pdr/issues/52).

1.0.5

Added
Features
- API docstrings for readthedocs
- Added back error tracking features accidentally deleted in the last version
Dataset Support
- most Voyager 1 and 2 datasets
- additional MGS datasets (MAG/ER, RSS EDS, MOC)
- Mariner 9 datasets
- Pioneer 10 and 11 GTT RDRs
- Sakigake, Suisei, and SOHO datasets
- ICE and IUE datasets
- see [supported_datasets.md](https://github.com/MillionConcepts/pdr/blob/main/supported_datasets.md) for details.

Fixed
- Tables with containers with REPETITIONS in them were reading the same data
each repetition, this has been fixed
- Exponential notation in pvl quantity objects are now properly handled
([Fixes issue 53]((https://github.com/MillionConcepts/pdr/issues/53)))

Removed
- MRO MCS DDR data is not supported due to formatting issues

1.0.4

Added
Features
- support for GIF files referenced as PDS3 objects
- improved verbosity of some file-not-found error messages

Dataset Support
- MER 1 and 2
- Ulysses
- see [supported_datasets.md](https://github.com/MillionConcepts/pdr/blob/main/supported_datasets.md) for details.

Changed
- updated install specifications
- added hotpatch to address `pds4-tools` Python 3.12 incompatibility,
to be removed following `pds4-tools` 1.4 release

Fixed
- correctly interpret PVL non-decimal integer representations as
`int(non_decimal_integer, base=int(radix))`. e.g., `pdr` will now interpret
the PVL statement:


"SAMPLE_BIT_MASK = 21111111111111111"


as a metadata item with key "SAMPLE_BIT_MASK" and value 65535.

Please note that the bit masks are not applied programmatically, because
we don't believe their meanings are consistent across the corpus of
planetary data. However, users are encouraged to explore their use within
their own work and enjoy the glories of the Python `&` operator.

An example of how to apply a bit mask using the `&` bitwise operator:

data = pdr.read('/path/to/file.img')
masked = data.IMAGE & data.metaget('SAMPLE_BIT_MASK')

Alternatively, if you're using this value for something for which you'd
prefer to have the original PVL value, use the Python built-in `bin`,
`oct`, or `hex` functions (for base 2, 8, or 16 respectively) to convert
the value back from a Python base-10 `int` into a string representation of
an integer in your desired base.

([Resolves issue 51](https://github.com/MillionConcepts/pdr/issues/51))
- correctly interpret PVL Sequences and Sets of Unquoted Strings as
`tuple[str]` or `set[str]` respectively
- fix some cases in which PVL End Statements were incorrectly interpreted
as parameters with empty-string values

1.0.3

Added
Features
- FITS files can now be opened 'directly' (without a PDS label).
See [README.md](https://github.com/MillionConcepts/pdr/blob/main/README.md) for more detailed usage.
- 1d, non-structured ARRAY objects are now compatible with `dump_browse`
- support for ARRAY objects with nested ARRAY or COLLECTION objects
- [`pytest`-compatible unit test suite](https://github.com/MillionConcepts/pdr/blob/main/pdr/tests/)
intended to complement our [comprehensive regression test framework](https://github.com/MillionConcepts/pdr-tests)

Dataset Support
- most New Horizons datasets
- Venera 15 and 16 derived data
- Giotto PIA and VEGA 1/2 Puma_mode data
- Venus Climate Orbiter data
- Saturn Ring Plane Crossings (RPX) 1995-1996 data
- most Phoenix datasets
- Deep Impact and EPOXI data
- Mars Pathfinder data
- several MRO datasets including HiRISE EDRs, MCS, MARCI, and CTX
- see [supported_datasets.md](https://github.com/MillionConcepts/pdr/blob/main/supported_datasets.md) for details.

Changed
- Debug-mode error tracking is substantially more detailed
- Debug-mode error logs are now written as JSON
- Assorted backend refactoring, cleanup, error checks, and in-code documentation

Fixed
- Fixed incorrect PDS3 object -> FITS HDU mapping for several data types
- scaling/offset defined in FITS tables (BSCALE/BZERO) is now applied correctly
to output `DataFrames`
- 8-byte integers found in some nonstandard binary files are now handled correctly
- more consistent handling of long / malformatted PVL comments
- improved handling of 'stub' primary FITS HDUs

1.0.2

Added
Features
- Support for FITS tables
- Documentation on behavior of FITS files (in README)
- Support for VAX floating-point numbers
Dataset Support
- Rosetta ALICE EDR, RDR, and REFDR data
- several Galileo datasets
- sampleninterleaved (BIP) images, including:
- DAWN VIR EDR and RDR cube products
- Rosetta VIRTIS EDRs
- Deep Space 1, NEAR, Stardust, and Stardust-NExT datasets
- various image products stored as VAX floats, including Pioneer Venus radar
and IMIDR images
- IBM_REAL and EBCIDC data types, including Pioneer Venus SEDR
- LRO CRaTER EDR secondary science and housekeeping tables
- several Mars Odyssey datasets
- several Vega datasets

Changed
- TABLE and SERIES objects now apply label provided offset and scaling factors.
This has not yet been implemented for ARRAY objects or BIT COLUMNS.
- License file updated to incorporate license from the vendored vax.py module.

Fixed
- Tables with nested containers now read correctly; closes [issue 50](https://github.com/MillionConcepts/pdr/issues/50)
- ^STRUCTURE pointers inside a COLUMN/FIELD now correctly load the relevant format file

Removed
- Spaces in BIT_COLUMN DATA_TYPE values no longer raise `UserWarning`s

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.