C/C++ and Python are quite often used together in the same project. One of the reasons is Python's ability to call C functions from Python code. As a part of this project, we'd like to improve Python support in CLion with completion for CDLL types in Python.
What you’ll do
Model ctypes usage: Track creation of CDLL objects, resolve attribute access on them (e.g., lib.foo), and infer callables
Symbol discovery: Prototype cross-platform extraction of exported symbols from referenced libraries (ELF, Mach-O, PE and correlate them with C/C++ declarations when headers/sources are present in the project
Tests & UX polish: Build a representative sample project matrix (Linux/macOS/Windows), write all the required tests, and refine the user experience
What you’ll learn
How CLion and the Python plugin represent code (PSI/indices), and how language features are implemented in the IDE
Native binary formats and symbol resolution across platforms
Solid Python and C/C++ fundamentals
Familiarity with ctypes or FFI concepts
Willingness to work across platforms (Windows, Linux, macOS)
Bonus: experience with compilers/toolchains (Clang/LLVM), binary tools (nm, dumpbin, otool)