pyutils.git
21 months agoAdds a new color.
Scott Gasch [Tue, 28 Feb 2023 16:06:30 +0000 (08:06 -0800)]
Adds a new color.

21 months agoAugment logging at startup in debug mode; fix a bug in config.
Scott Gasch [Mon, 27 Feb 2023 02:16:38 +0000 (18:16 -0800)]
Augment logging at startup in debug mode; fix a bug in config.

21 months agoFix logger.exception messages in example code.
Scott Gasch [Sun, 26 Feb 2023 17:34:12 +0000 (09:34 -0800)]
Fix logger.exception messages in example code.

21 months agoFix logger.exception() calls.
Scott Gasch [Sun, 26 Feb 2023 17:02:45 +0000 (09:02 -0800)]
Fix logger.exception() calls.

21 months agoUse full path for grep.
Scott Gasch [Sun, 26 Feb 2023 17:01:23 +0000 (09:01 -0800)]
Use full path for grep.

21 months agoMake logging use execute_probabilstically.
Scott Gasch [Sat, 18 Feb 2023 21:38:18 +0000 (13:38 -0800)]
Make logging use execute_probabilstically.

21 months agoImprove docs and add a doctest.
Scott Gasch [Sat, 18 Feb 2023 19:56:00 +0000 (11:56 -0800)]
Improve docs and add a doctest.

21 months agoAdds execute_probabilistically.
Scott Gasch [Sat, 18 Feb 2023 19:51:51 +0000 (11:51 -0800)]
Adds execute_probabilistically.

22 months agoMinor tweaks.
Scott Gasch [Fri, 10 Feb 2023 00:26:46 +0000 (16:26 -0800)]
Minor tweaks.

22 months agoAdds CreateFileWithMode helper to create a new file with a given
Scott Gasch [Thu, 9 Feb 2023 23:34:50 +0000 (15:34 -0800)]
Adds CreateFileWithMode helper to create a new file with a given
mode more easily.

22 months agoCut version 0.0.1b9
Scott Gasch [Thu, 9 Feb 2023 22:14:42 +0000 (14:14 -0800)]
Cut version 0.0.1b9

- Fix typo in README.
- Remove the requirement that filename is a file from is_*.
- Typos in docs.
- Update docs.
- Adds remove_edge and shortest path.
- Cut version 0.0.1b8

22 months agoFix typo in README.
Scott Gasch [Thu, 9 Feb 2023 22:05:12 +0000 (14:05 -0800)]
Fix typo in README.

23 months agoRemove the requirement that filename is a file from is_*.
Scott Gasch [Wed, 11 Jan 2023 04:36:01 +0000 (20:36 -0800)]
Remove the requirement that filename is a file from is_*.

23 months agoTypos in docs.
Scott Gasch [Sat, 17 Dec 2022 20:04:43 +0000 (12:04 -0800)]
Typos in docs.

23 months agoUpdate docs.
Scott Gasch [Sat, 17 Dec 2022 20:02:14 +0000 (12:02 -0800)]
Update docs.

23 months agoAdds remove_edge and shortest path.
Scott Gasch [Sat, 17 Dec 2022 20:01:01 +0000 (12:01 -0800)]
Adds remove_edge and shortest path.

23 months agoCut version 0.0.1b8
Scott Gasch [Sat, 17 Dec 2022 06:12:56 +0000 (22:12 -0800)]
Cut version 0.0.1b8

- Docs for Graph.
- Adds Graph.
- Tiebreak ordering of ranges with the same lower bound using upper bound.
- More docs...
- More docs.
- Update docs again.
- Update docs and type hints in interval_tree.  Add it to the pydocs.
- Fix interval_tree so it actually works.  Add unittests.
- Bug and readability fix.
- Adds IntervalTree.
- Remove more annoying warning messages dumped to console from library code.
- Be less annoying.
- Make argparse utils' valid_date work with the default format of UNIX date.
- Improve identifier for zookeeper based lockfiles.
- Adds support for zookeeper-based lockfiles.
- Make the processed cmdline available to callers.
- Fixup/improve error message when giving up on lock acquisition.
- Improve error message for logs.
- Do not touch timestamp if cronjob failed!
- Fix docs.
- Only upload one wheel.
- Update docs.
- Update docs.
- Tweak cut_version.sh again.
- Cut version 0.0.1b7

23 months agoDocs for Graph.
Scott Gasch [Sat, 17 Dec 2022 06:09:46 +0000 (22:09 -0800)]
Docs for Graph.

23 months agoAdds Graph.
Scott Gasch [Sat, 17 Dec 2022 05:44:24 +0000 (21:44 -0800)]
Adds Graph.

2 years agoTiebreak ordering of ranges with the same lower bound using upper bound.
Scott Gasch [Fri, 16 Dec 2022 00:26:54 +0000 (16:26 -0800)]
Tiebreak ordering of ranges with the same lower bound using upper bound.

2 years agoMore docs...
Scott Gasch [Thu, 15 Dec 2022 23:47:21 +0000 (15:47 -0800)]
More docs...

2 years agoMore docs.
Scott Gasch [Thu, 15 Dec 2022 23:44:46 +0000 (15:44 -0800)]
More docs.

2 years agoUpdate docs again.
Scott Gasch [Thu, 15 Dec 2022 23:40:08 +0000 (15:40 -0800)]
Update docs again.

2 years agoUpdate docs and type hints in interval_tree. Add it to the pydocs.
Scott Gasch [Thu, 15 Dec 2022 23:34:37 +0000 (15:34 -0800)]
Update docs and type hints in interval_tree.  Add it to the pydocs.

2 years agoFix interval_tree so it actually works. Add unittests.
Scott Gasch [Thu, 15 Dec 2022 23:16:21 +0000 (15:16 -0800)]
Fix interval_tree so it actually works.  Add unittests.

2 years agoBug and readability fix.
Scott Gasch [Thu, 15 Dec 2022 07:08:00 +0000 (23:08 -0800)]
Bug and readability fix.

2 years agoAdds IntervalTree.
Scott Gasch [Tue, 13 Dec 2022 22:36:23 +0000 (14:36 -0800)]
Adds IntervalTree.

2 years agoRemove more annoying warning messages dumped to console from library code.
Scott Gasch [Sun, 11 Dec 2022 20:05:49 +0000 (12:05 -0800)]
Remove more annoying warning messages dumped to console from library code.

2 years agoBe less annoying.
Scott Gasch [Sun, 11 Dec 2022 20:04:28 +0000 (12:04 -0800)]
Be less annoying.

2 years agoMake argparse utils' valid_date work with the default format of UNIX date.
Scott Gasch [Sun, 11 Dec 2022 20:02:25 +0000 (12:02 -0800)]
Make argparse utils' valid_date work with the default format of UNIX date.

2 years agoImprove identifier for zookeeper based lockfiles.
Scott Gasch [Fri, 9 Dec 2022 21:10:20 +0000 (13:10 -0800)]
Improve identifier for zookeeper based lockfiles.

2 years agoAdds support for zookeeper-based lockfiles.
Scott Gasch [Fri, 9 Dec 2022 18:48:45 +0000 (10:48 -0800)]
Adds support for zookeeper-based lockfiles.

2 years agoMake the processed cmdline available to callers.
Scott Gasch [Sun, 4 Dec 2022 03:14:47 +0000 (19:14 -0800)]
Make the processed cmdline available to callers.

2 years agoFixup/improve error message when giving up on lock acquisition.
Scott Gasch [Thu, 24 Nov 2022 20:35:36 +0000 (12:35 -0800)]
Fixup/improve error message when giving up on lock acquisition.

2 years agoImprove error message for logs.
Scott Gasch [Thu, 24 Nov 2022 18:20:35 +0000 (10:20 -0800)]
Improve error message for logs.

2 years agoDo not touch timestamp if cronjob failed!
Scott Gasch [Tue, 22 Nov 2022 20:07:34 +0000 (12:07 -0800)]
Do not touch timestamp if cronjob failed!

2 years agoFix docs.
Scott Gasch [Fri, 18 Nov 2022 17:00:54 +0000 (09:00 -0800)]
Fix docs.

2 years agoOnly upload one wheel.
Scott Gasch [Fri, 18 Nov 2022 16:54:08 +0000 (08:54 -0800)]
Only upload one wheel.

2 years agoUpdate docs.
Scott Gasch [Fri, 18 Nov 2022 16:43:09 +0000 (08:43 -0800)]
Update docs.

2 years agoUpdate docs.
Scott Gasch [Fri, 18 Nov 2022 16:38:40 +0000 (08:38 -0800)]
Update docs.

2 years agoTweak cut_version.sh again.
Scott Gasch [Thu, 17 Nov 2022 19:01:55 +0000 (11:01 -0800)]
Tweak cut_version.sh again.

2 years agoCut version 0.0.1b7
Scott Gasch [Thu, 17 Nov 2022 18:56:33 +0000 (10:56 -0800)]
Cut version 0.0.1b7

2 years agoFix stdev.
Scott Gasch [Thu, 17 Nov 2022 18:48:11 +0000 (10:48 -0800)]
Fix stdev.

2 years agoUse the right greek letter for the mean of the population, not the sample.
Scott Gasch [Thu, 17 Nov 2022 16:20:22 +0000 (08:20 -0800)]
Use the right greek letter for the mean of the population, not the sample.

2 years agoChange path of remote_worker so the macbook can work too.
Scott Gasch [Fri, 11 Nov 2022 00:29:19 +0000 (16:29 -0800)]
Change path of remote_worker so the macbook can work too.

2 years agoThis is slightly faster...
Scott Gasch [Wed, 2 Nov 2022 05:51:34 +0000 (22:51 -0700)]
This is slightly faster...

2 years agoMessing with config files for git presubmit check while cleaing
Scott Gasch [Tue, 1 Nov 2022 01:24:45 +0000 (18:24 -0700)]
Messing with config files for git presubmit check while cleaing
up string_utils lint errors.

2 years agoMore tweaking of cut_version.sh.
Scott Gasch [Mon, 31 Oct 2022 22:34:47 +0000 (15:34 -0700)]
More tweaking of cut_version.sh.

2 years agoAdds MD5 checksums to wheels.
Scott Gasch [Mon, 31 Oct 2022 22:33:13 +0000 (15:33 -0700)]
Adds MD5 checksums to wheels.

2 years agoDoc updates to argparse_utils.py.
Scott Gasch [Mon, 31 Oct 2022 22:18:53 +0000 (15:18 -0700)]
Doc updates to argparse_utils.py.

2 years agoMore changes to cut_version.sh.
Scott Gasch [Mon, 31 Oct 2022 22:18:29 +0000 (15:18 -0700)]
More changes to cut_version.sh.

2 years agoUpdate cut_version.sh.
Scott Gasch [Mon, 31 Oct 2022 15:16:44 +0000 (08:16 -0700)]
Update cut_version.sh.

2 years agoModify cut_version to check in wheel produced.
Scott Gasch [Mon, 31 Oct 2022 05:54:40 +0000 (22:54 -0700)]
Modify cut_version to check in wheel produced.

2 years agoUpdate docs in parallelize again.
Scott Gasch [Mon, 31 Oct 2022 05:53:53 +0000 (22:53 -0700)]
Update docs in parallelize again.

2 years agoAdd binary wheels.
Scott Gasch [Mon, 31 Oct 2022 05:53:06 +0000 (22:53 -0700)]
Add binary wheels.

2 years agoUpdate docs.
Scott Gasch [Sun, 30 Oct 2022 20:50:50 +0000 (13:50 -0700)]
Update docs.

2 years agoUpdate docs around development
Scott Gasch [Sun, 30 Oct 2022 20:16:20 +0000 (13:16 -0700)]
Update docs around development

2 years agoCut version 0.0.1b6
Scott Gasch [Sun, 30 Oct 2022 19:58:31 +0000 (12:58 -0700)]
Cut version 0.0.1b6

- Fix toml files after rename.  This rename is a pain!
- Cut version 0.0.1b6
- Cut version 0.0.1b6
- Fix dog generation after last rename change.
- Rename some directories (e.g. typez -> types) since they don't collide with any stdlib names.
- Add better docs with an example to SharedDict.
- Add id_generator_test.
- Add run_tests.py to the examples/README list.
- Make run_tests_serially.sh skip zookeeper_test.py too.
- Teach run_tests.py to abort inflight tests in case of emergency shutdown.
- Fix wrong TimeoutError in catch.
- Get reminder to stop leaving turds around my filesystem.
- Docs for dataclass_utils.
- Add dataclass_utils for some simple dataclass wrappers and annotation.
- Improve documentation / doctests.
- Update documentation.
- Cut version 0.0.1b5

2 years agoFix toml files after rename. This rename is a pain!
Scott Gasch [Sun, 30 Oct 2022 19:57:16 +0000 (12:57 -0700)]
Fix toml files after rename.  This rename is a pain!

2 years agoCut version 0.0.1b6
Scott Gasch [Sun, 30 Oct 2022 19:55:48 +0000 (12:55 -0700)]
Cut version 0.0.1b6

- Cut version 0.0.1b6
- Fix dog generation after last rename change.
- Rename some directories (e.g. typez -> types) since they don't collide with any stdlib names.
- Add better docs with an example to SharedDict.
- Add id_generator_test.
- Add run_tests.py to the examples/README list.
- Make run_tests_serially.sh skip zookeeper_test.py too.
- Teach run_tests.py to abort inflight tests in case of emergency shutdown.
- Fix wrong TimeoutError in catch.
- Get reminder to stop leaving turds around my filesystem.
- Docs for dataclass_utils.
- Add dataclass_utils for some simple dataclass wrappers and annotation.
- Improve documentation / doctests.
- Update documentation.
- Cut version 0.0.1b5

2 years agoCut version 0.0.1b6
Scott Gasch [Sun, 30 Oct 2022 19:52:44 +0000 (12:52 -0700)]
Cut version 0.0.1b6

- Fix docs after rename
- Rename some directories (e.g. typez -> types) since they don't collide with any stdlib names.
- Add better docs with an example to SharedDict.
- Add id_generator_test.
- Add run_tests.py to the examples/README list.
- Make run_tests_serially.sh skip zookeeper_test.py too.
- Teach run_tests.py to abort inflight tests in case of emergency shutdown.
- Fix wrong TimeoutError in catch.
- Get reminder to stop leaving turds around my filesystem.
- Docs for dataclass_utils.
- Add dataclass_utils for some simple dataclass wrappers and annotation.
- Improve documentation / doctests.
- Update documentation.
- Cut version 0.0.1b5

2 years agoFix dog generation after last rename change.
Scott Gasch [Sun, 30 Oct 2022 19:44:31 +0000 (12:44 -0700)]
Fix dog generation after last rename change.

2 years agoRename some directories (e.g. typez -> types) since they don't collide with
Scott Gasch [Sun, 30 Oct 2022 19:40:12 +0000 (12:40 -0700)]
Rename some directories (e.g. typez -> types) since they don't collide with
any stdlib names.

2 years agoAdd better docs with an example to SharedDict.
Scott Gasch [Sun, 30 Oct 2022 03:14:48 +0000 (20:14 -0700)]
Add better docs with an example to SharedDict.

2 years agoAdd id_generator_test.
Scott Gasch [Sat, 29 Oct 2022 21:37:43 +0000 (14:37 -0700)]
Add id_generator_test.

2 years agoAdd run_tests.py to the examples/README list.
Scott Gasch [Sat, 29 Oct 2022 18:00:31 +0000 (11:00 -0700)]
Add run_tests.py to the examples/README list.

2 years agoMake run_tests_serially.sh skip zookeeper_test.py too.
Scott Gasch [Sat, 29 Oct 2022 17:58:08 +0000 (10:58 -0700)]
Make run_tests_serially.sh skip zookeeper_test.py too.

2 years agoTeach run_tests.py to abort inflight tests in case of emergency shutdown.
Scott Gasch [Sat, 29 Oct 2022 17:36:30 +0000 (10:36 -0700)]
Teach run_tests.py to abort inflight tests in case of emergency shutdown.

2 years agoFix wrong TimeoutError in catch.
Scott Gasch [Sat, 29 Oct 2022 00:28:27 +0000 (17:28 -0700)]
Fix wrong TimeoutError in catch.

2 years agoGet reminder to stop leaving turds around my filesystem.
Scott Gasch [Wed, 26 Oct 2022 17:58:26 +0000 (10:58 -0700)]
Get reminder to stop leaving turds around my filesystem.

2 years agoDocs for dataclass_utils.
Scott Gasch [Wed, 26 Oct 2022 15:52:01 +0000 (08:52 -0700)]
Docs for dataclass_utils.

2 years agoAdd dataclass_utils for some simple dataclass wrappers and annotation.
Scott Gasch [Wed, 26 Oct 2022 03:58:53 +0000 (20:58 -0700)]
Add dataclass_utils for some simple dataclass wrappers and annotation.

2 years agoImprove documentation / doctests.
Scott Gasch [Tue, 25 Oct 2022 17:18:16 +0000 (10:18 -0700)]
Improve documentation / doctests.

2 years agoUpdate documentation.
Scott Gasch [Tue, 25 Oct 2022 16:47:09 +0000 (09:47 -0700)]
Update documentation.

2 years agoCut version 0.0.1b5
Scott Gasch [Fri, 21 Oct 2022 22:54:05 +0000 (15:54 -0700)]
Cut version 0.0.1b5

- Add missing dependency on ANTLR runtime.
- Lift easter() function from dateutils and remove that dependency from this project.  Original copyright and attribution in the code and the root NOTICE file.
- Make sure lockfile always sets locktime.  Use locktime in cron.py to optionally create a record of lockfile contention for future analysis.
- Improve cut_version.sh understanding of old versions.
- Teach cut_version.sh about PREVIOUS_VERSION...
- Add a blurb about fff.py in README.
- Add fff.py as an example but it's really a devtool that I used in the pre-commit hook.
- Clean up run_tests.py
- More messing with the project file.
- Update license to try to make the PyPi page look nicer...
- Make it clear that --config_allow_dynamic_updates doesn't take any argument.
- Add some more examples and a convenience method in config.py for terminating the program due to bad flags.
- Reference local files in wordle example.
- Better explain what the heck is going on in deferred_operand.py.
- Add an overall runtime line to the final report in run_tests.py.
- Adds timer next to progress bar in run_tests.py.
- Remove hardcoded properties list from DeferredOperand; use a c'tor param instead.
- Add a comment for future fields in SmartFuture.
- Make DeferredOperand handle sets, dirs, dels transparently by passing them along to the wrapped result.
- Make DeferredOperand work more transparently.
- Stop calling internal method _resolve in run_tests.py.
- Log an error message when something went wrong in run_tests.py.
- Do not let test names in results collide when we run one to capture coverage and another instance of the same test w/o coverage to check perf.
- Make run_tests.py keep track of test runtimes.
- Make run_tests.py tell you what's still running.
- Cut version 0.0.1b4

2 years agoAdd missing dependency on ANTLR runtime.
Scott Gasch [Fri, 21 Oct 2022 22:45:28 +0000 (15:45 -0700)]
Add missing dependency on ANTLR runtime.

2 years agoLift easter() function from dateutils and remove that dependency from
Scott Gasch [Fri, 21 Oct 2022 19:01:45 +0000 (12:01 -0700)]
Lift easter() function from dateutils and remove that dependency from
this project.  Original copyright and attribution in the code and the
root NOTICE file.

2 years agoMake sure lockfile always sets locktime. Use locktime in cron.py to
Scott Gasch [Wed, 19 Oct 2022 21:23:39 +0000 (14:23 -0700)]
Make sure lockfile always sets locktime.  Use locktime in cron.py to
optionally create a record of lockfile contention for future analysis.

2 years agoImprove cut_version.sh understanding of old versions.
Scott Gasch [Wed, 19 Oct 2022 05:53:39 +0000 (22:53 -0700)]
Improve cut_version.sh understanding of old versions.

2 years agoTeach cut_version.sh about PREVIOUS_VERSION...
Scott Gasch [Wed, 19 Oct 2022 05:50:39 +0000 (22:50 -0700)]
Teach cut_version.sh about PREVIOUS_VERSION...

2 years agoAdd a blurb about fff.py in README.
Scott Gasch [Wed, 19 Oct 2022 05:25:31 +0000 (22:25 -0700)]
Add a blurb about fff.py in README.

2 years agoAdd fff.py as an example but it's really a devtool that I used in
Scott Gasch [Wed, 19 Oct 2022 05:22:32 +0000 (22:22 -0700)]
Add fff.py as an example but it's really a devtool that I used in
the pre-commit hook.

2 years agoClean up run_tests.py
Scott Gasch [Wed, 19 Oct 2022 05:20:32 +0000 (22:20 -0700)]
Clean up run_tests.py

2 years agoMore messing with the project file.
Scott Gasch [Wed, 19 Oct 2022 02:51:07 +0000 (19:51 -0700)]
More messing with the project file.

2 years agoUpdate license to try to make the PyPi page look nicer...
Scott Gasch [Wed, 19 Oct 2022 02:38:31 +0000 (19:38 -0700)]
Update license to try to make the PyPi page look nicer...

2 years agoMake it clear that --config_allow_dynamic_updates doesn't take any
Scott Gasch [Tue, 18 Oct 2022 20:12:19 +0000 (13:12 -0700)]
Make it clear that --config_allow_dynamic_updates doesn't take any
argument.

2 years agoAdd some more examples and a convenience method in config.py for
Scott Gasch [Tue, 18 Oct 2022 20:03:22 +0000 (13:03 -0700)]
Add some more examples and a convenience method in config.py for
terminating the program due to bad flags.

2 years agoReference local files in wordle example.
Scott Gasch [Tue, 18 Oct 2022 18:03:46 +0000 (11:03 -0700)]
Reference local files in wordle example.

2 years agoBetter explain what the heck is going on in deferred_operand.py.
Scott Gasch [Tue, 18 Oct 2022 17:25:47 +0000 (10:25 -0700)]
Better explain what the heck is going on in deferred_operand.py.

2 years agoAdd an overall runtime line to the final report in run_tests.py.
Scott Gasch [Tue, 18 Oct 2022 17:22:54 +0000 (10:22 -0700)]
Add an overall runtime line to the final report in run_tests.py.

2 years agoAdds timer next to progress bar in run_tests.py.
Scott Gasch [Tue, 18 Oct 2022 17:16:28 +0000 (10:16 -0700)]
Adds timer next to progress bar in run_tests.py.

2 years agoRemove hardcoded properties list from DeferredOperand; use a c'tor
Scott Gasch [Tue, 18 Oct 2022 17:06:26 +0000 (10:06 -0700)]
Remove hardcoded properties list from DeferredOperand; use a c'tor
param instead.

2 years agoAdd a comment for future fields in SmartFuture.
Scott Gasch [Tue, 18 Oct 2022 06:05:47 +0000 (23:05 -0700)]
Add a comment for future fields in SmartFuture.

2 years agoMake DeferredOperand handle sets, dirs, dels transparently by passing
Scott Gasch [Tue, 18 Oct 2022 06:03:38 +0000 (23:03 -0700)]
Make DeferredOperand handle sets, dirs, dels transparently by passing
them along to the wrapped result.

2 years agoMake DeferredOperand work more transparently.
Scott Gasch [Tue, 18 Oct 2022 05:27:24 +0000 (22:27 -0700)]
Make DeferredOperand work more transparently.

2 years agoStop calling internal method _resolve in run_tests.py.
Scott Gasch [Tue, 18 Oct 2022 03:51:05 +0000 (20:51 -0700)]
Stop calling internal method _resolve in run_tests.py.

2 years agoLog an error message when something went wrong in run_tests.py.
Scott Gasch [Tue, 18 Oct 2022 03:03:56 +0000 (20:03 -0700)]
Log an error message when something went wrong in run_tests.py.

2 years agoDo not let test names in results collide when we run one to capture
Scott Gasch [Tue, 18 Oct 2022 03:00:26 +0000 (20:00 -0700)]
Do not let test names in results collide when we run one to capture
coverage and another instance of the same test w/o coverage to check
perf.

2 years agoMake run_tests.py keep track of test runtimes.
Scott Gasch [Tue, 18 Oct 2022 02:33:30 +0000 (19:33 -0700)]
Make run_tests.py keep track of test runtimes.

2 years agoMake run_tests.py tell you what's still running.
Scott Gasch [Tue, 18 Oct 2022 02:14:48 +0000 (19:14 -0700)]
Make run_tests.py tell you what's still running.