Metadata-Version: 2.1
Name: vipersci
Version: 0.3.0
Summary: The VIPER Science package is software to support the activities of the Volatiles Investigating Polar Exploration Rover (VIPER) Science Team.
Home-page: https://github.com/NeoGeographyToolkit/vipersci
Author: vipersci Developers
Author-email: Ross.A.Beyer@nasa.gov
License: Apache 2
Keywords: VIPER
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Natural Language :: English
Requires-Python: >=3.7
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS.rst

========
vipersci
========

.. image:: https://github.com/NeoGeographyToolkit/vipersci/actions/workflows/python-test.yml/badge.svg
        :target: https://github.com/NeoGeographyToolkit/vipersci/actions

.. image:: https://codecov.io/github/NeoGeographyToolkit/vipersci/branch/main/graph/badge.svg?token=5U68VOAHGG 
 :target: https://codecov.io/github/NeoGeographyToolkit/vipersci

.. image:: https://img.shields.io/pypi/v/vipersci.svg
        :target: https://pypi.python.org/pypi/vipersci

This vipersci package is software to support the activities of the
Volatiles Investigating Polar Exploration Rover (VIPER) Science Team.

This software will implement scientific models to convert instrument
raw data to useful derived data (but not including any proprietary
instrument details). This includes functionality for running the
models "in reverse" in order to simulate instrument data for tests
and mission simulations. This software will enable and support the
creation of various geospatial data sets (maps) to help visualize
and understand data from the spacecraft. It will also support the
creation of PDS4 archive labels and structures for eventual data
delivery to the Planetary Data System (PDS).

At the moment, this repo is under significant development and change as we
attempt to craft various pieces of code.  It is definitely a work-in-progress.

The VIPER Science Team is developing this software "in the open"
in order to adhere to the new `NASA Science Information Policy for
the Science Mission Directorate (SPD-41)
<https://science.nasa.gov/science-red/s3fs-public/atoms/files/Scientific%20Information%20policy%20SPD-41.pdf>`_
as much as is possible.


* Free software: Apache 2 License

..    * Documentation: https://vipersci.readthedocs.io.
..    * `PlanetaryPy`_ Affiliate Package.


Installation
------------

Versions will be posted to PyPI and conda to ease installation soon.

For the moment, follow the "Get Started!" directions in the CONTRIBUTING.rst document.


Contributing
------------

Feedback, issues, and contributions are always gratefully welcomed. See the
contributing guide for details on how to help and setup a development
environment.

Credits
-------

vipersci was developed in the open at NASA's Ames Research Center.

See the `AUTHORS
<https://github.com/NeoGeographyToolkit/vipersci/blob/master/AUTHORS.rst>`_
file for a complete list of developers.


License
-------

See LICENSE file for the full text of the license that applies to vipersci.

Copyright (c) 2022, United States Government as represented by
the Administrator of the National Aeronautics and Space
Administration. All rights reserved.

The "vipersci" software is licensed under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with the
License.  You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing
permissions and limitations under the License.


.. _PlanetaryPy: https://github.com/planetarypy

=========
Changelog
=========

All notable changes to this project will be documented in this file.

The format is based on `Keep a Changelog <https://keepachangelog.com/en/1.0.0/>`_,
and this project adheres to `Semantic Versioning <https://semver.org/spec/v2.0.0.html>`_.

When updating this file, please add an entry for your change under
Unreleased_ and one of the following headings:

- Added - for new features.
- Changed - for changes in existing functionality.
- Deprecated - for soon-to-be removed features.
- Removed - for now removed features.
- Fixed - for any bug fixes.
- Security - in case of vulnerabilities.

If the heading does not yet exist under Unreleased_, then add it
as a 3rd level heading, underlined with pluses (see examples below).

When preparing for a public release add a new 2nd level heading,
underlined with dashes under Unreleased_ with the version number
and the release date, in year-month-day format (see examples below).


Unreleased
----------


0.3.0 (2022-11-15)
------------------

Added
^^^^^
- pds.datetime.fromisozformat() function.
- pds.pid.VISID.compression_class() function.
- pds.xml.py added, very minimal, functionality may be moved.
- vis.db.raw_products.RawProduct.from_xml() function.
- vis.db.raw_products.RawProduct.asdict() function.
- vis.pds.create_raw.check_bit_depth() function.
- vis.db.create_vis_dbs convenience program to add empty tables to database.

Changed
^^^^^^^
- Updated templates and modules for PDS information model 18.
- vis.db.raw_products.RawProduct has some improved error-checking in __init__() and
  validate_datetime_asutc().
- vis.db.raw_products.RawProduct product_id column is now unique in database.
- vis.db.raw_products.RawProduct md5_checksum changed to file_md4_checksum to
  clearly associate it with the other properties that begin with "file\_".
- vis.pds.create_raw.tiff_info() no longer raises an error if a bit depth other than 16
  is provided.
- vis.pds.create_raw now creates .JSON output files by default instead of XML PDS4
  labels, but XML files can still be made.
- carto.heatmap.write_geotiff_rasterio now supports compressed output and defaults to "deflate"


Fixed
^^^^^
- carto.tri2gpkg.replace_with() now correctly returns a float value in all circumstances.
- pds.pid.VIPERID.datetime() now properly returns datetimes with a UTC timezone.
- vis.db.raw_products.RawProduct.label_dict() now correctly sets sample_bits and
  sample_bit_mask if the image is a SLoG image.
- Added __init__.py files to all modules (some modules did not get incorporated into the
  PyPI package because they did not have __init__.py files.
- The setup.cfg now properly includes requirements that vipersci needs.

Removed
^^^^^^^
- Many modules still had if __name__ == "__main__" constructs from early development
  which are now not needed with the entry points in setup.cfg.


0.2.0 (2022-11-07)
------------------

Added
^^^^^
- Data Simulators for NSS, NIRVSS, and MSolo
- Lots of material to enaable PDS archiving of VIS data.
- Added GitHub workflow to perform Black format checking

Changed
^^^^^^^
- Many updates to heatmap.py
- Applied Black formatting to all code in the repo.
- Modified Python testing workflow to actually work.


0.1.0 (2022-10-05)
------------------
Initial release.
