* Add ruff
* Add ruff config
* Add ruff rules that look useful and are already passing
* Add more ruff rules after talking with Jonathan
* Add line length exception for acceptably long indented line
* Resolve ruff line length 88 rule in args. Changing small lines but adding a noqa ignore directive to longer lines that look best as they are. Their dedented length is still less than 88
* poe format
* Resolve all remaining ruff line length errors
* Replace flake* and isort with ruff calls
* Add black --check as final lint step. ruff catches most but not all black formatting issues
* Remove unneeded flakeheaven setting
* Remove flake* and isort now that ruff is handling all their business
* Update pyproject, lockfile with latest version of ruff
* Document each ruff rule with comment
* Add black --version call before black --check
* Remove extraneous period