STAGE Développement d'un compilateur Python

Date de mise à jour de l’offre

Abilian SAS :

Nous sommes un éditeur de logiciels et un bureau d'étude spécialisé dans l'innovation et la collaboration. Nous développons des applications de gestion de l'information (EIM), de gestion des flux de travail (WfM), de gestion de la relation client (CRM) et de partage de documents basées sur notre plateforme open source, Abilian SBE ("Social Business Engine"). Plus d'info sur l'entreprise ici: <https://abilian.com/fr/a-propos/> Le code de nos projets open source se trouve ici: <https://github.com/abilian> Nous maintenons une base de connaissance sur les technologies que nous utilisons ici: <https://lab.abilian.com/> Vous pouvez également consulter le "Guide du Développeur Abilian" ici: <https://abilian-developer-guide.readthedocs.io/>.

Description de la mission

L'objectif de ce stage est de développer un compilateur d'un sous-ensemble, le plus large possible, de Python vers des exécutables natifs (x86, ARM, RISC-V...) et/ou WASM (WebAssembly).

Le projet utilisera l'analyseur syntaxique standard de Python comme frontend, et un ou plusieurs backends à déterminer (LLVM, PPCI, code intermédiaire en C...).

Des benchmarks seront réalisés par rapport aux approches actuelles (Cython, variantes "accélérées" de Python, Numba...).

L'outil permettra à la fois des approches JIT (Just in time) et AOT (compilation traditionnelle de modules Python vers des modules exécutables '.o' ou équivalents). Le projet devra aussi tenir compte du parallélisme, e.g. du GIL (Global Interpreter Lock) de Python.

Le projet sera open source.

Profil recherché

- Etudiant(e) en école d'ingénieur, d'informatique ou équivalent universitaire (master 2).

- La maitrise de Python est indispensable, ainsi que des connaissances et une première expérience dans le développement d'outils de programmation (analyseurs syntaxiques, génération de code...)

- Un esprit créatif et la capacité à transformer des idées originales en des prototypes.

- Capacité à produire du code propre et maintenable (notamment via le TDD).

Niveau de qualification requis

Bac + 4/5 et +
  • Employeur
    Abilian SAS
  • Secteur d’activité de la structure
    Emploi - Economie - Innovation - Numérique
  • Effectif de la structure
    De 0 à 10 salariés
  • Site internet de la structure
    https://abilian.com
  • Type de stage ou contrat
    Stage pour lycéens et étudiants en formation initiale
  • Date prévisionnelle de démarrage
  • Durée du stage ou contrat
    Plus de 4 mois et jusqu'à 6 mois
  • Le stage est-il rémunéré ?
    Oui
  • Niveau de qualification requis

    Bac + 4/5 et +
  • Lieu du stage
    Télétravail
    75014 PARIS 14E ARRONDISSEMENT
  • Accès et transports
    n/a