Skip to content

Commit 02dbcf4

Browse files
committed
Add clj-kondo support for libpython-clj2 namespaces
- Add hook for libpython-clj2.require/import-python (v2 namespace) - Add lint-as rules for require-python (v1 and v2) - Add :unresolved-namespace exclusions for python.* namespaces - Extend :unused-namespace exclusions to include python.* aliases The existing config only covered the legacy libpython-clj namespace. Users of libpython-clj2 were getting various warnings: - "Unresolved namespace python" when using python.str, python.list, etc. - "Unknown require option: :bind-ns" from require-python Note: py., py.., py.-, py*, py** macros are now natively supported in clj-kondo 2025.04.07+ (issue #2512) and don't need special config. Closes #268
1 parent 7f57221 commit 02dbcf4

File tree

1 file changed

+39
-8
lines changed
  • resources/clj-kondo.exports/clj-python/libpython-clj

1 file changed

+39
-8
lines changed

resources/clj-kondo.exports/clj-python/libpython-clj/config.edn

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,43 @@
22
{:analyze-call {libpython-clj.jna.base/def-pylib-fn
33
hooks.libpython-clj.jna.base.def-pylib-fn/def-pylib-fn
44
libpython-clj.require/import-python
5+
hooks.libpython-clj.require.import-python/import-python
6+
libpython-clj2.require/import-python
57
hooks.libpython-clj.require.import-python/import-python}}
6-
:linters {:unused-namespace {:exclude [builtins.list
7-
builtins.dict
8-
builtins.set
9-
builtins.tuple
10-
builtins.frozenset
11-
builtins.str
12-
builtins]}}
13-
}
8+
9+
:lint-as
10+
{libpython-clj.require/require-python clojure.core/require
11+
libpython-clj2.require/require-python clojure.core/require}
12+
13+
:linters
14+
{:unresolved-namespace
15+
{:exclude [python
16+
python.list
17+
python.dict
18+
python.set
19+
python.tuple
20+
python.frozenset
21+
python.str
22+
builtins
23+
builtins.list
24+
builtins.dict
25+
builtins.set
26+
builtins.tuple
27+
builtins.frozenset
28+
builtins.str]}
29+
30+
:unused-namespace
31+
{:exclude [builtins.list
32+
builtins.dict
33+
builtins.set
34+
builtins.tuple
35+
builtins.frozenset
36+
builtins.str
37+
builtins
38+
python
39+
python.list
40+
python.dict
41+
python.set
42+
python.tuple
43+
python.frozenset
44+
python.str]}}}

0 commit comments

Comments
 (0)