This PR aims to get pre-commit back to being usuable for developers of NEPS.
Right now, it's mostly ignored due to pre-existing errors that were just merged in, the fact there's no CI check on it giving a red X and I imagine getting to grips with all the different linting and formatting tools might be difficult initially.
After discussing with @DaStoll, we will go ahead with converting all linting and formatting to the single tool ruff that will replace pylint, isort, black as well as introduce the ability to auto-fix easy non-behaviour issue, more linting rules such as from the flake8 eco-system as well as doc string linting from the pydocstyle eco-system.
Since this will flag a lot of things, I will be going through this in chunks, keeping the old linters (which aren't being used anywho) and slowly enabling ruff on more and more parts of the codebase. The aim is not to overlap with any known on-going work to prevent any merge conflicts.
This PR will not attempt to address typing issue with MyPy and will be handled seperatly at a later point.
Closes #77
[x] Remove existing linters as they're not used anyways and are mostly superseeded by ruff now.
[x] Fixup remaining files to pass ruff, at least those that can be touched safely.
[x] Document somewhere (CONTRIBUTING.md?) how to use pre-commit and ruff and advertise the plugins for popular editors.
[x] Create a follow up issue to finish off the currently ignore directories, such as the bayesian_optimization family of modules.
This PR aims to get pre-commit back to being usuable for developers of NEPS. Right now, it's mostly ignored due to pre-existing errors that were just merged in, the fact there's no CI check on it giving a red X and I imagine getting to grips with all the different linting and formatting tools might be difficult initially.
After discussing with @DaStoll, we will go ahead with converting all linting and formatting to the single tool
ruff
that will replacepylint
,isort
,black
as well as introduce the ability to auto-fix easy non-behaviour issue, more linting rules such as from theflake8
eco-system as well as doc string linting from thepydocstyle
eco-system.Since this will flag a lot of things, I will be going through this in chunks, keeping the old linters (which aren't being used anywho) and slowly enabling ruff on more and more parts of the codebase. The aim is not to overlap with any known on-going work to prevent any merge conflicts.
This PR will not attempt to address typing issue with MyPy and will be handled seperatly at a later point.
bayesian_optimization
family of modules.