Metadata-Version: 2.1
Name: haggis
Version: 0.1a2
Summary: General purpose utility library
Home-page: https://github.com/madphysicist/haggis
Author: Joseph R. Fox-Rabinovitz
Author-email: jfoxrabinovitz@gmail.com
Maintainer: Joseph R. Fox-Rabinovitz
Maintainer-email: jfoxrabinovitz@gmail.com
License: GNU Affero General Public License v3 or later (AGPLv3+)
Project-URL: Bugs, https://github.com/madphysicist/haggis/issues
Project-URL: Documentation, https://haggis.readthedocs.io/en/latest/
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Other Audience
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: System :: Console Fonts
Classifier: Topic :: System :: Logging
Classifier: Topic :: Terminals
Classifier: Topic :: Text Processing
Classifier: Topic :: Text Processing :: General
Classifier: Topic :: Text Processing :: Markup
Classifier: Topic :: Text Processing :: Markup :: LaTeX
Classifier: Topic :: Text Processing :: Markup :: XML
Classifier: Topic :: Utilities
Provides: haggis
Description-Content-Type: text/markdown
Provides-Extra: all
Provides-Extra: docx
Provides-Extra: latex
Provides-Extra: pdf
Provides-Extra: ps
Provides-Extra: plot
Provides-Extra: scio
Provides-Extra: term
Provides-Extra: xlsx
License-File: LICENSE

haggis
======

This is a library of general purpose utility functions and classes written in
Python. Much of this code is intended to support the imprint project
<https://github.com/madphysicist/imprint>. The modules of this library are
more-or-less standalone utilities, organized by category.

This library contains plenty of code that relies on external programs and less
common Pyhon libraries. The code is considered to be "extras", in the setuptools
sense. Extras can be omitted without any modification to the python code. The
following extras are supported:

  - [docx]: Support for docx file utilities requires python-docx to be
    installed.
  - [latex]: Supporting LaTeX requires a host of external programs to work
    properly, so this feature is optional. See the dependency page in the main
    documentation for more information.
  - [pdf]: Requires the poppler library to be installed.
  - [ps]: Requires GhostScript to be installed.
  - [plot]: Plotting tools require matplotlib, which is a heavy dependency, and
    unnecessary for many purposes.
  - [term]: Terminal colors work out of the box on Linux, but require the
    colorama library to work on Windows.
  - [scio]: Science I/O depends on the scipy and astropy libraries to deliver
    IDL and FITS file support, respectively.
  - [xlsx]: Support for xlsx file utilities requires openpyxl to be installed.

To install extras such as latex and pdf, do::

    pip install haggis[latex,pdf]

See the documentation at <https://haggis.readthedocs.io/en/latest> for more
information, including the API documentation.

This library in licensed under the AGPLv3, and compatible with later versions.
You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.


Changelog
=========

0.1a2 (2021-01-09)
------------------

Second alpha release.

* Major additions to API
* New modules:
  - threads
  - configuration
  - structures
  - mapping
  - ctypes_util
* New functions and classes:
  - CloseableMixin in recipes
  - to_hex, camel2snake, snake2camel, timestamp in string_util
  - set_labels in mpl_utils
  - real_divide, threshold, ang_diff_* in math
* API changes:
  - Moved half of recipes to mapping
  - Updated Namespace, (in mapping), added setdefaults


0.1a1 (2021-04-03)
------------------

First alpha release.

* API changes:
  - SentinelType made public in root package
  - ensure_extension.modes renamed to ensure_exntension.policies in files


0.1a1.dev2 (2019-03-31)
-----------------------

Second development pre-release.

*   Major overhaul of documentation

0.1a1.dev1 (2019-03-20)
-----------------------

First development pre-release.

* First release on PyPI.
* Created Read the Docs pages.
* Only code required for imprint present initially.
* Documentation 90% complete.
* No tests worth speaking of.


