diff --git a/.editorconfig b/.editorconfig
index f3944364e013157aead3db8c92df20c0c1fa7b8a..9d2bacf9fe662ff1e3e643eb96f632804aa424f5 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -14,15 +14,6 @@ insert_final_newline = true
 trim_trailing_whitespace = true
 charset = utf-8
 
-# Python files
-[*.py]
-indent_size = 4
-# isort plugin configuration
-known_first_party = invenio_config_tuw
-multi_line_output = 2
-default_section = THIRDPARTY
-skip = .eggs
-
 # RST files (used by sphinx)
 [*.rst]
 indent_size = 4
diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/MANIFEST.in b/MANIFEST.in
index 1c198474c0d4d48696556ea224cc704f26acc507..609600b5d7fce567550ec4bae2a0a8feb5a3fb9e 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -17,6 +17,7 @@
 exclude .gitlab-ci.yml
 exclude sonar-project.properties
 
+include .git-blame-ignore-revs
 include .dockerignore
 include .editorconfig
 include .tx/config
diff --git a/docs/conf.py b/docs/conf.py
index fc5c28ed3f8b85cf0b8fea40fbaa14f680e05d2b..addd5344271111bb5d34061ea8f186ddc0962ea2 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -7,10 +7,10 @@
 
 """Sphinx configuration."""
 
-from invenio_config_tuw import __version__
-
 import sphinx.environment
 
+from invenio_config_tuw import __version__
+
 # -- General configuration ------------------------------------------------
 
 # If your documentation needs a minimal Sphinx version, state it here.
diff --git a/pytest.ini b/pytest.ini
deleted file mode 100644
index 7247155b9e4a085bf3e0fc8a905eabb87e0c2841..0000000000000000000000000000000000000000
--- a/pytest.ini
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright (C) 2020 - 2021 TU Wien.
-#
-# Invenio-Config-TUW is free software; you can redistribute it and/or modify
-# it under the terms of the MIT License; see LICENSE file for more details.
-
-[pytest]
-pep8ignore = docs/conf.py ALL
-addopts = --pep8 --doctest-glob="*.rst" --doctest-modules --cov=invenio_config_tuw --cov-report=term-missing
-testpaths = docs tests invenio_config_tuw
diff --git a/setup.cfg b/setup.cfg
index d89645288bc314ce9d88abe089a1c8253aa9cd26..1f3e75a597a5d0c9995804049bfdbf29193bba35 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -40,6 +40,7 @@ install_requires =
 
 [options.extras_require]
 tests =
+    pytest-black>=0.3.0,<0.3.10
     check-manifest>=0.25
     coverage>=4.0
     isort>=4.3.3
@@ -78,6 +79,10 @@ universal = 1
 [pydocstyle]
 add_ignore = D401
 
+[pycodestyle]
+exclude = docs/conf.py
+ignore = E203,E501,W503
+
 [compile_catalog]
 directory = invenio_config_tuw/translations/
 
@@ -101,12 +106,9 @@ max-line-length = 88
 extend-ignore = E203,E731
 
 [isort]
-multi_line_output = 3
-include_trailing_comma = True
-force_grid_wrap = 0
-use_parentheses = True
-ensure_newline_before_comments = True
-line_length = 88
+profile=black
 
-[pycodestyle]
-ignore = E203,E501,W503
+[tool:pytest]
+pep8ignore = docs/conf.py ALL
+addopts = --black --pep8 --doctest-glob="*.rst" --doctest-modules --cov=invenio_config_tuw --cov-report=term-missing
+testpaths = docs tests invenio_config_tuw