Skip to main content

General purpose utility library

Project description

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

haggis-0.1a2.tar.gz (118.2 kB view hashes)

Uploaded Source

Built Distribution

haggis-0.1a2-py3-none-any.whl (153.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page