diff --git a/.gitignore b/.gitignore
index 4af2633239806b9a9161b52b9b32a14757564344..ac8dd20945c399bdedbe896eb69a25ab3c56c604 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,9 @@ dist/*
 coverage.xml
 htmlcov/*
 
+# Setuptools SCM
+map/_version.py
+
 # IDE configuration
 .vscode
 .idea
diff --git a/pyproject.toml b/pyproject.toml
index 3588ce52b18906626e85093548e7e323c81f0cf3..f2bcff26cc05035893e4ba3a4689f94ccc29e925 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,3 +1,13 @@
 [build-system]
-requires = ['setuptools>=42', 'wheel']
-build-backend = 'setuptools.build_meta'
+requires = [
+    "setuptools>=45",
+    "setuptools_scm[toml]>=6.2",
+    "wheel"
+]
+build-backend = "setuptools.build_meta"
+
+[tool.setuptools_scm]
+write_to = "map/_version.py"
+
+[tool.pylint]
+ignore = "_version.py"