black==24.2.0 coverage[toml] nose2 ruff==0.3.0