I guess it's 2023 now...
authorScott Gasch <[email protected]>
Tue, 28 Feb 2023 16:09:57 +0000 (08:09 -0800)
committerScott Gasch <[email protected]>
Tue, 28 Feb 2023 16:09:57 +0000 (08:09 -0800)
47 files changed:
src/pyutils/ansi.py
src/pyutils/argparse_utils.py
src/pyutils/bootstrap.py
src/pyutils/collectionz/bidict.py
src/pyutils/collectionz/bst.py
src/pyutils/collectionz/interval_tree.py
src/pyutils/collectionz/trie.py
src/pyutils/compress/letter_compress.py
src/pyutils/config.py
src/pyutils/datetimes/constants.py
src/pyutils/datetimes/dateparse_utils.g4
src/pyutils/datetimes/dateparse_utils.py
src/pyutils/datetimes/datetime_utils.py
src/pyutils/decorator_utils.py
src/pyutils/dict_utils.py
src/pyutils/exec_utils.py
src/pyutils/files/directory_filter.py
src/pyutils/files/file_utils.py
src/pyutils/files/lockfile.py
src/pyutils/function_utils.py
src/pyutils/graph.py
src/pyutils/id_generator.py
src/pyutils/iter_utils.py
src/pyutils/list_utils.py
src/pyutils/logging_utils.py
src/pyutils/math_utils.py
src/pyutils/misc_utils.py
src/pyutils/parallelize/deferred_operand.py
src/pyutils/parallelize/executors.py
src/pyutils/parallelize/parallelize.py
src/pyutils/parallelize/smart_future.py
src/pyutils/parallelize/thread_utils.py
src/pyutils/persistent.py
src/pyutils/remote_worker.py
src/pyutils/search/logical_search.py
src/pyutils/security/acl.py
src/pyutils/state_tracker.py
src/pyutils/stopwatch.py
src/pyutils/text_utils.py
src/pyutils/types/centcount.py
src/pyutils/types/histogram.py
src/pyutils/types/money.py
src/pyutils/types/rate.py
src/pyutils/types/simple.py
src/pyutils/types/type_utils.py
src/pyutils/unittest_utils.py
src/pyutils/unscrambler.py

index 1039572435f9179cbb59f0ff3be1c06c72a197d6..a60200fb955b1e37a3fe1388633b7bc87cd6e5b9 100755 (executable)
@@ -1,6 +1,6 @@
 #!/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
index 4d23314e55dd6998c3be32ca9b68bed30de1ecdf..6553e2c878355953c039cf88aa3bb021401c64b1 100644 (file)
@@ -1,6 +1,6 @@
 #!/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:
index 71bbcd4731c67fca9fecae9f8e8c3dd08b63716b..429f1a4d511845312533166b111a3dab02c306ad 100644 (file)
@@ -1,6 +1,6 @@
 #!/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::
index 77d11e08daaecb8dd93b5c6f447f6f101c46a848..6bd20c368b829ccaa9879eb8d3f40e86b2f2bdb3 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """
 The :class:`pyutils.collectionz.bidict.BiDict` class is a subclass
index aaefc1e52a065f3f38a088f0f91089ae75c8c228..f492dfdab7aa8cea4c8a08a1592bbd93e05aadce 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """A binary search tree implementation."""
 
index 878f6289f709c4838a268f24be4a320fb1e0d2bf..4a8bdd806cec001bca5a87b963eab6368bbd9c58 100644 (file)
@@ -1,6 +1,6 @@
 #!/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.
index 0454ffa57cfa274faa5dd770b7e001478844407a..2ba76a825b394080268743edf103a31c2e87da60 100644 (file)
@@ -1,6 +1,6 @@
 #!/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.
index 21a15b728e94c8a0de44ec9c4a6c2de662ba2ad9..f713c1fee284da870306f52585c193cc456e5f00 100644 (file)
@@ -1,6 +1,6 @@
 #!/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
index 073a2fec2e30fa516ba1451c2305e874ccfbbf19..6dd10e4355ff6413d5ba0f0fdbab305a2faa6f2e 100644 (file)
@@ -1,6 +1,6 @@
 #!/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
index 0b3fed1f54fb1549eb0dc8b03e31e57c542fdd19..7cb9b7b5edf559f5cf73b3e431c3e7cd8c68a3f1 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """Universal date/time constants."""
 
index 75db1e81d1495496b0054002ad0915cfcf985c14..fc093665a9db498ac4142d167cab1e111ec368c5 100644 (file)
@@ -1,4 +1,4 @@
-//  © Copyright 2021-2022, Scott Gasch
+//  © Copyright 2021-2023, Scott Gasch
 //
 // antlr4 -Dlanguage=Python3 ./dateparse_utils.g4
 //
index d83f2d972bea3b733f3a4f4af6ee35122a79fa18..c3a25a5c437e4b60cc546c304f56ea39c74b9030 100755 (executable)
@@ -3,7 +3,7 @@
 # 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:
index 55ceb9c60258b83c569d333430b7f753a7663faa..69f7fdfac3fb525977f7fad596238348b45da0a9 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """Utilities related to dates, times, and datetimes."""
 
index 9b1e7a924add2a55ee6140c0b5bc1fdff20f758c..c8cb070c1ed7089b45048010daeb35abf711bcce 100644 (file)
@@ -1,6 +1,6 @@
 #!/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."""
index c269723a8d3684348f8ec07434fb6588d5b40bf7..1071bf5d63e959db43ad5fc1123e58012fbb235f 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """This module contains helper functions for dealing with Python dictionaries."""
 
index 6d50194389dbf5bf494173fd61cc17c056471fde..e36371866e981f3754f60440cd083a757ca32055 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """Helper methods concerned with executing subprocesses."""
 
index d7499a2622960449673f283c9426a20d7d3bb251..cd8927a7d90c78e26b5d9e9d26172ac228b2e9ee 100644 (file)
@@ -1,6 +1,6 @@
 #!/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:
index 513131206c243a98fca15753fe63dee1dd65cce9..a2f7baea2bd23ff43f583b8e7f63887794a6f1eb 100644 (file)
@@ -1,6 +1,6 @@
 #!/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,
index 47673098f536e1ab3ff779bd3c74d9b753771ab8..a4194f57f694de2757e897eae95c1ccf909eab49 100644 (file)
@@ -1,6 +1,6 @@
 #!/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
index f4202d38ce03bf97bb837044fbfa01ec4d06160a..ba1d469d160c03fc41c8a64f48909edd2f36f7f8 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """Helper methods dealing with functions."""
 
index 903be145f153fb967a81a6f731ddd1e594d04415..2c3c7277e97d51f5dcfc2ef629db0f2ba3dc63bb 100644 (file)
@@ -1,6 +1,6 @@
 #!/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."""
index 108c230f09a5be67f3ff819cf384408f74296f53..054782e4f1f5c17404ff51b43c7e0781bde2dd3c 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """
 A helper class for generating thread safe monotonically increasing
index f5926cabfdfc2cecdf401661155fb9c482b20c31..462229306b82959319e6379ee9d87c234c812ce2 100644 (file)
@@ -1,6 +1,6 @@
 #!/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:
index 01bd76a72dfe9d2eeb9d4772b366b9c6f33b3f27..5f06a21c5fe5022bbaf1aee0876cbb673926194e 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """This module contains helper functions for dealing with Python lists."""
 
index 69b4d312d6f114e8aece7d29581ebcdd6c7dbc8c..460d2c6ba171b2cd2b93aa6e4fcc831bd31ce174 100644 (file)
@@ -1,7 +1,7 @@
 #!/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
index 2270364ed6521e341b713418b71be313a0732a57..f84dca8cf3ca893e82ca2c3947a6892151820494 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """Helper utilities with a mathematical / statictical focus."""
 
index 8e52ae63eda3209b81d0205022396b15bcd6e4e2..f2f098f30959b281815388dd46bf1804bd855353 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """Miscellaneous utilities."""
 
index b06d23a41bc90c99696ee0ce6e0c7ab0afd70f38..ddb6674a318ce4e26e6ccd5df9d5917f3d1e65d7 100644 (file)
@@ -1,6 +1,6 @@
 #!/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
index 0fb47dda6e946fe1171a2c8529b15d8507546c52..09d071170085143a639777b0c4dcfd1b78f0cfea 100644 (file)
@@ -1,7 +1,7 @@
 #!/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
index 0004f17d8a8bbab65e47dc9e6fa448cb5e83a618..3cf1f6abc93305660b13a1c252bc8cf06c708a4c 100644 (file)
@@ -1,6 +1,6 @@
 #!/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
index 9753e6f50a07e6bcdb297378000dc6ade506d0cf..6da4db2da1c042030503903f6e9434f1b4e41494 100644 (file)
@@ -1,6 +1,6 @@
 #!/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
index 062f0646bf174ecdbbc47ae994a013f85cdbea31..5f247140333ce1cc496f1f8db6404e402f0bc79d 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """Utilities for dealing with threads + threading."""
 
index cc165aeadafc12c4982baacf80ba7a6980eae027..c2d530f172c61d1e01a97faa79add88adeaf774f 100644 (file)
@@ -1,6 +1,6 @@
 #!/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
index a9b6d6c7647f178575f67b6df9353e7ea3b647be..eefc40a299fd87d14ea54e86bbbd4d21cd5dc8c0 100755 (executable)
@@ -1,6 +1,6 @@
 #!/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
index 194590068b5819f28a3316efb0c6cd21e0fcd7f2..e974464247c6ff333c9d8517251622045661b2e3 100644 (file)
@@ -1,6 +1,6 @@
 #!/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.
index 12ba89135c6f4f0e63c84db9548f056cc63235c5..8243c8c1ffba8b512955cf8b401b0ed975b279f3 100644 (file)
@@ -1,6 +1,6 @@
 #!/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::
index 90580f2d5977fd95abaabdad3e2f3f32558ecd22..6c97ddae9143041ae32c3536f872e4183b22a785 100644 (file)
@@ -1,6 +1,6 @@
 #!/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
index ae4c4f327ea3cbd04ef53cb7a51001eba7cc8501..0def662b81ffd6b36caf6bc9657026eda8b41df6 100644 (file)
@@ -1,6 +1,6 @@
 #!/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."""
index 66f6f22dcd5dc8dcbd57777947002936e50e01f6..c4c56015c9d7d23427915f1d7c4d8fe6a2e51611 100644 (file)
@@ -1,7 +1,7 @@
 #!/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:
index e5894717bedf919e442e7a74c0cdc558dd2883d7..58a8274439974ac3ef34af977ec25c30f0867364 100644 (file)
@@ -1,6 +1,6 @@
 #!/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
index 55abd69588a66906091f452cb44b696b2698c85a..bcb1c5f908e193e88b1972d2a3af1544dafa159d 100644 (file)
@@ -1,7 +1,7 @@
 #!/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:
index 589af47100753e9c1843105ebdaf6616dcb9dbd4..8199bed6d34cf7a83b357002439bd41f3b0a5a8a 100644 (file)
@@ -1,6 +1,6 @@
 #!/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.
index 4e007e67f699d44bba090d6b4b403fecb181455d..f9842bdfae3548434d6af392041fae0e74b06dc5 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """A class to represent a rate of change."""
 
index 7b80c178e5b8e43f35691c2fa0df641445adfd5d..4165fc5d52b750dea11baf6d6d0fcf47afb6ed94 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """Simple type helpers."""
 
index e760dba90412355579ea042bf0fa760960d644c5..e648fa00d8fea5878c9c512a9c72b71eb8b7d337 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """Utility functions for dealing with typing."""
 
index abbc09c201c2f44ac57410aaf5991f9f36d82fa0..b073e49e43b686a643d806e8931a5353b91adb67 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """Helpers for unittests.
 
index 03f3b2e4580ee090899986bd9979f7916b3987ee..446863cacce03e0ad0537944a0fa9b2e236e2f02 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# © Copyright 2021-2022, Scott Gasch
+# © Copyright 2021-2023, Scott Gasch
 
 """A fast (English) word unscrambler."""