Skip to main content

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.

Metadata

Release files for astar-utils 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for astar-utils 0.7.0
File Size Uploaded
astar_utils-0.7.0.tar.gz 29.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for astar-utils 0.7.0
File Interpreter ABI Platform
astar_utils-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 61.6 kB

Release files / astar_utils-0.7.0.tar.gz

Download URL astar_utils-0.7.0.tar.gz
Size 29.4 kB
Tags Source
SHA-256 checksum
How to use checksums
049e837889ba759df71b707ca282ab0737bf990caddea7854f9f06e1d94326a7
BLAKE2b-256 checksum
How to use checksums
bafe4f1214ee263c8557d7bd43bd4099d72efa47d513412494f9d402034a55f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.0 CPython/3.12.3 Linux/6.17.0-1021-azure

Release files / astar_utils-0.7.0-py3-none-any.whl

Download URL astar_utils-0.7.0-py3-none-any.whl
Size 32.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f5b3a9e63ba54b75824dfe37fa885680c835c6a25976684f298a8fd517743872
BLAKE2b-256 checksum
How to use checksums
68d5f70358114ace9d20c4454a0d5b0b6ad5e5a74b0fdb3bc4ba86e58fdccbf0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.0 CPython/3.12.3 Linux/6.17.0-1021-azure
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page