There's a few advantages of using ruff over these tools:
* It's way faster
* It's easier to configure
* It includes support for a bunch of other linters (for example bugbear)
right out of the box, which catches some things and makes our code
more consistent.
Ruff works great with black, which I'd recommend we continue using.
Fixed a few minor issues that the new linter combo picked up.
* poetry init
* add all dependencies
* update pyproject.toml
* add poetry.lock
* remove requirements txt fixer
* add ldap3 group and make all groups optional
* remove requirements files
* convert dockerfile to use poetry instead of pip
* fix ldap 3 dependency group typo
* update ldap3 inline error
* update cypress to install only main poetry group
* convert test_all_deps
* update redis/rq
* don't create virtualenv
* add -dev suffix and make version snapshot work
* fix typo in snapshot commit message
* remove importlib-resources