Connexion is a Python framework that automagically handles HTTP requests based on OpenAPI specification (formerly known as Swagger Spec) of your API described in YAML format. Connexion allows you to write an OpenAPI specification, then maps the endpoints to your Python functions; this makes it unique, as many tools generate the specification based on your Python code. You can describe your REST API in as much detail as you want; then Connexion guarantees that it will work as you specified.
After 6 years and 3.9k GitHub stars, Zalando is now releasing Connexion to the community. What does this mean? Connexion's repository will move from Zalando's GitHub organization to the new community-owned "spec-first" organization. This repository transfer highlights changes in Connexion's maintainer structure. Connexion's license (Apache 2.0) and release package on PyPI will not change.
Connexion was a huge enabler for Zalando to move towards API-first in 2015, i.e. to write the API specification before implementing the backend code. While Python is a first class citizen in Zalando's tech landscape (see our Tech Radar), Zalando's customer-facing production software is usually implemented in modern JVM languages such as Kotlin, Java, or Scala. Maintenance of Connexion stalled with core developers changing focus and nobody new stepping up within Zalando. Thankfully, ML6 took over most of the regular maintenance from Zalando. We are very glad to have found new active maintainers. Special thanks go to my colleague João as the original author, Rafael for his significant contributions, Robbe and Ruwan from ML6 for taking over, and to Daniel for donating the "spec-first" organization. The "spec-first" organization will serve as a company-neutral new home for this awesome open source project. The project is what it is today because of its community. Big thanks to all 165 contributors and to the numerous users of Connexion out there!
Moving Connexion out of Zalando's GitHub organization won't affect how the project is used within Zalando. With JVM-based languages powering most of Zalando's Fashion Store, Connexion is used for low-traffic services and tools in various departments. For example, Connexion powers parts of our internal Continuous Delivery Platform, serves metadata for our internal realtime business monitoring platform, exposes APIs for our inhouse machine learning platform, and is used in our pricing department. Connexion has gained some popularity among Zalando's data science community as Python is the most commonly used language for data scientists.
Personally, I'm very happy to see Connexion graduate and have it released to a new community-owned home. I will follow its path into the future and try to be helpful when time allows.
If you are interested in learning more about Connexion, check out the documentation.