#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""
A bunch of color names mapped into RGB tuples and some methods for
#!/usr/bin/python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""These are helpers for commandline argument parsing meant to work
with Python's :mod:`argparse` module from the standard library (See:
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""
If you decorate your main method (i.e. program entry point) like this::
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""
The :class:`pyutils.collectionz.bidict.BiDict` class is a subclass
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""A binary search tree implementation."""
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""This is an augmented interval tree for storing ranges and identifying overlaps as
described by: https://en.wikipedia.org/wiki/Interval_tree.
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""This module contains the implementation of a Trie tree (or prefix
tree). See: https://en.wikipedia.org/wiki/Trie.
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""
This is a simple, honestly, toy compression scheme that uses a custom
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""Global program configuration driven by commandline arguments and,
optionally, from saved (local or Zookeeper) configuration files... with
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""Universal date/time constants."""
-// © Copyright 2021-2022, Scott Gasch
+// © Copyright 2021-2023, Scott Gasch
//
// antlr4 -Dlanguage=Python3 ./dateparse_utils.g4
//
# pylint: disable=W0201
# pylint: disable=R0904
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""
Parse dates / datetimes in a variety of formats. Some examples:
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""Utilities related to dates, times, and datetimes."""
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
# A portion (marked) below retain the original author's copyright.
"""This is a grab bag of, hopefully, useful decorators."""
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""This module contains helper functions for dealing with Python dictionaries."""
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""Helper methods concerned with executing subprocesses."""
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""This module contains two classes meant to help reduce unnecessary disk
I/O operations:
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""
This is a grab bag of file-related utilities. It has code to, for example,
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""This is a lockfile implementation I created for use with cronjobs
on my machine to prevent multiple copies of a job from running in
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""Helper methods dealing with functions."""
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""A simple graph class that can be optionally directed and weighted and
some operations on it."""
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""
A helper class for generating thread safe monotonically increasing
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""A collection of :class:`Iterator` subclasses that can be composed
with another iterator and provide extra functionality:
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""This module contains helper functions for dealing with Python lists."""
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""
This is a module that offers an opinionated take on how whole program
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""Helper utilities with a mathematical / statictical focus."""
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""Miscellaneous utilities."""
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""This is the base class of
:class:`pyutils.parallelize.smart_future.SmartFuture`, which is a
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""
This module defines a :class:`BaseExecutor` interface and three
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""A decorator to help with simple parallelization. When decorated
functions are invoked they execute on a background thread, process or
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""
A :class:`Future` that can be treated as a substutute for the result
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""Utilities for dealing with threads + threading."""
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""
This module defines a class hierarchy (base class :class:`Persistent`) and
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""A simple utility to unpickle some code from the filesystem, run it,
pickle the results, and save them back on the filesystem. This file
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""This is a module concerned with the creation of and searching of a
corpus of documents. The corpus and index are held in memory.
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""Right now this package only contains an implementation that allows you to
define and evaluate Access Control Lists (ACLs) easily. For example::
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""This module defines several classes (:py:class:`StateTracker`,
:py:class:`AutomaticStateTracker`, and
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""A simple stopwatch decorator / context for timing things. This was factored out
of decorator utils so that bootstrap.py can keep its imports lighter."""
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""
Utilities for dealing with and creating text chunks. For example:
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""An amount of money represented as an integral count of cents so as
to avoid floating point artifacts. Multiplication and division are
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""
This is a text-based histogram class. It creates output like this:
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""A class to represent money. This class represents monetary amounts as Python Decimals
(see https://docs.python.org/3/library/decimal.html) internally.
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""A class to represent a rate of change."""
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""Simple type helpers."""
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""Utility functions for dealing with typing."""
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""Helpers for unittests.
#!/usr/bin/env python3
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
"""A fast (English) word unscrambler."""