Skip to main content

Contains commonly-used utilities for AstarVienna's projects.

Project description

Astar Utils

Tests Poetry dev version

codecov PyPI - Version PyPI - Python Version GitHub Release Date

License: GPL v3

This package is devloped and maintained by Astar Vienna and contains commonly-used utilities for the group's projects to avoid both duplicating code and circular dependencies.

Contents

The package currently contains the following public functions and classes:

  • NestedMapping: a dict-like structure supporting !-style nested keys.
  • RecursiveNestedMapping: a subclass of NestedMapping also supporting keys that reference other !-style keys.
  • NestedChainMap: a subclass of collections.ChainMap supporting instances of RecursiveNestedMapping as levels and referencing !-style keys across chain map levels.
  • is_bangkey(): simple convenience function to check if something is a !-style key.
  • is_nested_mapping(): convenience function to check if something is a mapping containing a least one other mapping as a value.
  • UniqueList: a list-like structure with no duplicate elements and some convenient methods.
  • Badge and subclasses: a family of custom markdown report badges. See docstring for details.
  • BadgeReport: context manager for collection and generation of report badges. See docstring for details and usage.
  • get_logger(): convenience function to get (or create) a logger with given name as a child of the universal astar logger.
  • get_astar_logger(): convenience function to get (or create) a logger with the name astar, which serves as the root for all A*V packages and applications.
  • SpectralType: a class to parse, store and compare spectral type designations.
  • iter_read_cache_dirs(), find_cached_file() and get_write_cache_dir(): convenience functions to get the cache path for a A*V package, checking ScopeSim_Data first.

Loggers module

  • loggers.ColoredFormatter: a subclass of logging.Formatter to produce colored logging messages for console output.

Dependencies

Dependencies are intentionally kept to a minimum for simplicity. Current dependencies are:

  • more-itertools
  • pyyaml

Version requirement for these dependencies can be found in the pyproject.toml file.

Project details


Download files

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

Source Distribution

astar_utils-0.6.0.tar.gz (29.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

astar_utils-0.6.0-py3-none-any.whl (32.1 kB view details)

Uploaded Python 3

File details

Details for the file astar_utils-0.6.0.tar.gz.

File metadata

  • Download URL: astar_utils-0.6.0.tar.gz
  • Upload date:
  • Size: 29.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.0 CPython/3.12.3 Linux/6.17.0-1018-azure

File hashes

Hashes for astar_utils-0.6.0.tar.gz
Algorithm Hash digest
SHA256 67df5126af37c76ed8f357ddc399f7264958148676f0cb7f61e617f440452326
MD5 b40bc34ed0b5aead3e21f9eb119bbe0e
BLAKE2b-256 86907973d9339ae5fd45737f9c87751453a75ab4af2a2c16376e05851d6e99b4

See more details on using hashes here.

File details

Details for the file astar_utils-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: astar_utils-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 32.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.0 CPython/3.12.3 Linux/6.17.0-1018-azure

File hashes

Hashes for astar_utils-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be49459ad232e5fb49373dcb438524da4172da40317624befe19e80c0f2cc156
MD5 08caacc75c8c866a87218d6296570115
BLAKE2b-256 493f553c4bacc4121442e3dd3e8ee54312dc59430bacdab3fcce0ad93e69d670

See more details on using hashes here.

Supported by

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