Open source Python API

The world runs on API frameworks, and our framework of choice is Connexion. It was originally developed by Zalando, but we like it so much that we recently decided to help maintain it. We now co-maintain it with Zalando as part of the “spec-first” organisation.

Connexion is unique since it is an API first (or “spec-first”) framework, which means that you start from an API contract and then implement it in Python, instead of the other way around like most other tools. This enables better collaboration across teams, and easier automation across tools.

We are currently drafting an ambitious roadmap for the next major release, Connexion 3.0. Major features include:

  • The ability to act as middleware in combination with any other API framework
  • An light ‘native’ version of the API framework, not based on any existing frameworks
  • A pluggable architecture to support more content types and extensions
  • Increased code quality by introducing typing



Methodology / Tasks

During this internship, you will:

  • Co-design and develop large features of the Connexion roadmap
  • Improve the code quality of a large open source repository
  • Learn about the world of Python APIs: REST, WSGI, ASGI, OpenAPI, authentication, …
  • Be mentored by some of our most senior engineers

Internship Duration

The duration of the internship can be flexible and depends on the candidate preference and the project requirements. The typical duration is 6 to 8 weeks.

Chapters

Our internships and theses are linked to our chapters. A chapter is a cross-squad team of experts in a specific topic to enable knowledge building and sharing across projects. The chapters build knowledge by performing applied research and gathering learnings from projects. This internship falls under the Engineering chapter, which focuses on software development and architecture, and putting our ML systems into production.

Supervisors

Robbe Sneyders ML6 Head of Delivery | Connexion maintainer

Ruwan Lambrichts ML6 Engineering Chapter Lead | Connexion maintainer

References

Requirements

  • Experience with Python
  • A love for clean code
  • Excellent verbal and written communication in English.
  • You are currently pursuing a degree in computer science or related field.