Internships
Register
Copyright © 2000—2026 JetBrains s.r.o.

C/Python cross-language completion

Description

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

Requirements

  • 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)

Admission

Internships 2026

Contact details

internship@jetbrains.com

Preferred internship location

Germany

Area

Development

Internship timing preferences

Flexible start
Applications by 05.01.2026
Interview by 31.01.2026
Feedback and final results by 05.02.2026