esp-idf-kconfig ships a fork of dev-python/kconfiglib creating a conflict when both of them are installed.
This patch renames the esp-idf fork of kconfiglib as an attempt to avoid those conflicts.
See https://github.com/espressif/esp-idf-kconfig/issues/13
---
diff --git c/esp_idf_kconfig/gen_kconfig_doc.py w/esp_idf_kconfig/gen_kconfig_doc.py
index 8f9ffd5..bb16022 100644
--- c/esp_idf_kconfig/gen_kconfig_doc.py
+++ w/esp_idf_kconfig/gen_kconfig_doc.py
@@ -11,7 +11,7 @@
 # SPDX-License-Identifier: Apache-2.0
 import re
 
-import kconfiglib.core as kconfiglib
+import espkconfiglib.core as kconfiglib
 
 # Indentation to be used in the generated file
 INDENT = "    "
diff --git c/kconfiglib/__init__.py w/espkconfiglib/__init__.py
similarity index 100%
rename from kconfiglib/__init__.py
rename to espkconfiglib/__init__.py
diff --git c/kconfiglib/core.py w/espkconfiglib/core.py
similarity index 99%
rename from kconfiglib/core.py
rename to espkconfiglib/core.py
index 11fb924..e78d41d 100644
--- c/kconfiglib/core.py
+++ w/espkconfiglib/core.py
@@ -2,7 +2,7 @@
 # SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
 # SPDX-FileCopyrightText: 2011-2019, Ulf Magnusson
 # SPDX-License-Identifier: ISC
-# This file is copied from kconfiglib project:
+# This file is copied from espkconfiglib project:
 # https://github.com/ulfalizer/Kconfiglib/commit/061e71f7d78cb057762d88de088055361863deff
 import errno
 import importlib
@@ -2472,7 +2472,7 @@ class Kconfig(object):
         returns node that was parsed as a last one in this function.
                 probably will be deprecated as the call logic is different from the original.
         """
-        from kconfiglib.kconfig_parser import Parser
+        from espkconfiglib.kconfig_parser import Parser
 
         parser = Parser(kconfig=self)
 
diff --git c/kconfiglib/kconfig_grammar.py w/espkconfiglib/kconfig_grammar.py
similarity index 99%
rename from kconfiglib/kconfig_grammar.py
rename to espkconfiglib/kconfig_grammar.py
index 95700d1..160963d 100644
--- c/kconfiglib/kconfig_grammar.py
+++ w/espkconfiglib/kconfig_grammar.py
@@ -29,7 +29,7 @@ from pyparsing import one_of
 from pyparsing import opAssoc
 
 if TYPE_CHECKING:
-    from kconfiglib.kconfig_parser import Parser
+    from espkconfiglib.kconfig_parser import Parser
 
 
 class KconfigBlock(Token):
diff --git c/kconfiglib/kconfig_parser.py w/espkconfiglib/kconfig_parser.py
similarity index 99%
rename from kconfiglib/kconfig_parser.py
rename to espkconfiglib/kconfig_parser.py
index 3fdc23c..6ef277e 100644
--- c/kconfiglib/kconfig_parser.py
+++ w/espkconfiglib/kconfig_parser.py
@@ -37,7 +37,7 @@ from .core import OR
 from .core import STRING
 from .core import Symbol
 from .core import UNEQUAL
-from kconfiglib.kconfig_grammar import KconfigGrammar
+from espkconfiglib.kconfig_grammar import KconfigGrammar
 
 ParserElement.enablePackrat(cache_size_limit=None)  # Speeds up parsing by caching intermediate results
 
diff --git c/kconfgen/core.py w/kconfgen/core.py
index fbd8e5a..f32f13e 100755
--- c/kconfgen/core.py
+++ w/kconfgen/core.py
@@ -27,7 +27,7 @@ from typing import Set
 from typing import Tuple
 
 import esp_idf_kconfig.gen_kconfig_doc as gen_kconfig_doc
-import kconfiglib.core as kconfiglib
+import espkconfiglib.core as kconfiglib
 from esp_idf_kconfig import __version__
 
 
diff --git c/kconfserver/core.py w/kconfserver/core.py
index a970157..3a8f061 100644
--- c/kconfserver/core.py
+++ w/kconfserver/core.py
@@ -13,7 +13,7 @@ import tempfile
 from json import JSONDecodeError
 
 import kconfgen.core as kconfgen
-import kconfiglib.core as kconfiglib
+import espkconfiglib.core as kconfiglib
 from esp_idf_kconfig import __version__
 
 # Min/Max supported protocol versions
diff --git c/menuconfig/core.py w/menuconfig/core.py
index cac0032..de915f6 100755
--- c/menuconfig/core.py
+++ w/menuconfig/core.py
@@ -2,7 +2,7 @@
 # SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
 # SPDX-FileCopyrightText: 2018-2019, Nordic Semiconductor ASA and Ulf Magnusson
 # SPDX-License-Identifier: ISC
-# This file is copied from kconfiglib project:
+# This file is copied from espkconfiglib project:
 # https://github.com/ulfalizer/Kconfiglib/commit/061e71f7d78cb057762d88de088055361863deff
 """
 Overview
@@ -192,25 +192,25 @@ import sys
 import textwrap
 from typing import Union
 
-from kconfiglib.core import AND
-from kconfiglib.core import BOOL
-from kconfiglib.core import BOOL_TO_STR
-from kconfiglib.core import Choice
-from kconfiglib.core import COMMENT
-from kconfiglib.core import expr_str
-from kconfiglib.core import expr_value
-from kconfiglib.core import HEX
-from kconfiglib.core import INT
-from kconfiglib.core import MENU
-from kconfiglib.core import MenuNode
-from kconfiglib.core import OR
-from kconfiglib.core import split_expr
-from kconfiglib.core import standard_config_filename
-from kconfiglib.core import standard_kconfig
-from kconfiglib.core import standard_sc_expr_str
-from kconfiglib.core import STRING
-from kconfiglib.core import Symbol
-from kconfiglib.core import TYPE_TO_STR
+from espkconfiglib.core import AND
+from espkconfiglib.core import BOOL
+from espkconfiglib.core import BOOL_TO_STR
+from espkconfiglib.core import Choice
+from espkconfiglib.core import COMMENT
+from espkconfiglib.core import expr_str
+from espkconfiglib.core import expr_value
+from espkconfiglib.core import HEX
+from espkconfiglib.core import INT
+from espkconfiglib.core import MENU
+from espkconfiglib.core import MenuNode
+from espkconfiglib.core import OR
+from espkconfiglib.core import split_expr
+from espkconfiglib.core import standard_config_filename
+from espkconfiglib.core import standard_kconfig
+from espkconfiglib.core import standard_sc_expr_str
+from espkconfiglib.core import STRING
+from espkconfiglib.core import Symbol
+from espkconfiglib.core import TYPE_TO_STR
 
 _IS_WINDOWS = os.name == "nt"  # Are we running on Windows?
 
