poem VS connexion

Compare poem vs connexion and see what are their differences.

poem

A full-featured and easy-to-use web framework with the Rust programming language. (by poem-web)

connexion

Connexion is a modern Python web framework that makes spec-first and api-first development easy. (by spec-first)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
poem connexion
30 23
3,219 4,420
2.4% 0.2%
8.8 8.2
4 days ago 2 days ago
Rust Python
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

poem

Posts with mentions or reviews of poem. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-27.
  • Write OpenAPI with TypeSpec
    7 projects | news.ycombinator.com | 27 Mar 2024
    TypeSpec is great, but if you're working with Rust and you're about to write a new project that will require an OpenApi spec sooner or later, I'd like to recommend a web framework that has spec generation baked in:

    https://github.com/poem-web/poem (see poem_openapi)

    All you need to do is derive a trait on your response structs and in return you get an almost perfectly generated spec. Unions, objects, enums are first class citizens.

    Also, if you're from coming from PHP, the controllers feel very much like symfony controllers.

    P.s. Please do recommend an ORM that would feel closer to doctrine. I miss doctrine.

  • What is the best API generator for Axum?
    2 projects | /r/rust | 9 Apr 2023
    I've used FastAPI/Pydantic before as well and it was a very good experience. It has been a while since I used them though, so I forget exactly how they compare, but I do recall it wrote most of the OpenAPI spec. for you. I will also agree when I saw utoipa and aide they seemed to require more boilerplate even though I have not done an actual comparison. Poem, on the other hand, seems very neat and clean and doesn't have any duplication that I can see. Here is the [TODO example](https://github.com/poem-web/poem/blob/master/examples/openapi/todos/src/main.rs).
  • Looking for a Rust API with automatic documentation and good validation?
    4 projects | /r/rust | 5 Mar 2023
    The example at https://github.com/poem-web/poem/tree/master/examples/openapi/auth-apikey works without issues for me.
  • What library to use for a Websocket Server?
    1 project | /r/rust | 23 Feb 2023
    'Poem', it turns to nicer to play with for me than 'Axum'. Example of web socket chat https://github.com/poem-web/poem/blob/master/examples/poem/websocket-chat/src/main.rs
  • Rest API framework in rust
    2 projects | /r/rust | 5 Feb 2023
    If you need built-in OpenAPI support, I can recommend Poem.
  • (Recommendation Request) Rust REST API framework; similar to Python's FastAPI(Python)
    3 projects | /r/rust | 21 Jan 2023
    If OpenAPI is important, then you may to consider https://github.com/poem-web/poem instead of axum. It isn't nearly as widely used, but it should still be compatible with everything else.
  • Hey Rustaceans! Got a question? Ask here (3/2023)!
    12 projects | /r/rust | 16 Jan 2023
    Poem: More rigid and less popular and aims to be easier https://github.com/poem-web/poem
  • A taste of pavex, an upcoming Rust web framework
    3 projects | /r/rust | 24 Dec 2022
    Did you check out Poem? It seems promising, with openapi generation built in already.
  • I switch from Golang and want to build a REST API in Rust.
    6 projects | /r/rust | 22 Dec 2022
    https://github.com/poem-web/poem is a pretty nice framework
  • Migrating from warp to axum
    2 projects | /r/rust | 23 Nov 2022
    I recently been working with warp and stumbled upon poem framework (https://github.com/poem-web/poem), any thoughts about that? Considering Axum as well but staying a bit on cautionary side until 0.6 full release.

connexion

Posts with mentions or reviews of connexion. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-27.
  • Write OpenAPI with TypeSpec
    7 projects | news.ycombinator.com | 27 Mar 2024
    I like the idea, especially the TS-like syntax around enums and union types. I've always preferred the SDL for GraphQL vs writing OpenAPI for similar reasons.

    I echo the sentiment others have brought up, which is the trade-offs of a code-driven schema vs schema-driven code.

    At work we use Pydantic and FastAPI to generate the OpenAPI contract, but there's some cruft and care needed around exposing those underlying Pydantic models through the API documentation. It's been easy to create schemas that have compatibility problems when run through other code generators. I know there are projects such as connexction[1] which attempt to inverse this, but I don't have much experience with it. In the GraphQL space it seems that code-first approaches are becoming more favored, though there's a different level of complexity needed to create a "typesafe" GraphQL server (eg. model mismatches between root query resolvers and field resolvers).

    [1] https://github.com/spec-first/connexion

  • Connexion 3 released!
    1 project | /r/flask | 3 Nov 2023
    Connexion is a popular Python web framework (~ 5 million downloads per month) that makes spec-first and api-first development easy. You describe your API in an OpenAPI (or swagger) specification with as much detail as you want and Connexion will guarantee that it works as you specified.
  • Connexion 3.0 Released
    1 project | news.ycombinator.com | 3 Nov 2023
  • Show HN: REST Alternative to GraphQL and tRPC
    8 projects | news.ycombinator.com | 10 Oct 2023
    > While REST APIs don't generally provide the same level of control to clients as GraphQL, many times this could be seen as a benefit especially in scenarios where strict control over data access and operations is crucial.

    Rest is more secure, cacheable, and more performant on the server side as field resolution doesn't need to happen like it does with GraphQL. It is not more performant on the client side, and this is a trade-off, but I favor rest applications over GraphQL ones as a DevOps engineer. They are much easier to administer infrastructure-wise, I can cache the requests, etc.

    Data at our company suggests that several small queries actually do better performance-wise than one large one. We switched to GraphQL a year and a half ago or so, but this piece of data seems to suggest that we might have been better off just sticking with REST. My suggestion to that effect was not met with optimism either on the client or server side. Apparently there are server-side benefits as well, allowing for more modular development or something like that.

    I have used OpenAPI using connexion[1]. It was hard to understand at first, but I really liked that the single source of truth was one schema. It also made it really easy to develop against the API because it came with a UI that showed the documentation for all the rest end points and even had test buttons.

    1: https://connexion.readthedocs.io/en/latest/

  • Ask HN: Why is there no specification for Command Line Interfaces?
    5 projects | news.ycombinator.com | 27 Feb 2023
    What's the use case? I was thinking about this exact issue because my product ships several CLI tools, but I wasn't convinced it would be worth the effort.

    An OpenAPI specification describes an HTTP interface, and I see it as useful because it makes it easier to write code in language-of-choice to generate HTTP requests (by generating client libraries from the OpenAPI spec).

    For a CLI, the interface is the command-line. Usually people type these commands, or they end up in bash scripts, or sometimes they get called from programming language of choice by shelling out to the CLI. So I could see a use case for a CLI spec, which would make it easier to generate client libraries (which would shell out to the CLI)... but it seems a little niche.

    Or maybe, as input to a documentation tool (like Swagger docs). I would imagine if you're using a CLI library like Python's Click, most of that data is already there. Click Parameters documentation: https://click.palletsprojects.com/en/8.1.x/parameters/

    Or maybe, you could start from the spec and then generate code which enforces it. So any changes pass through the spec, which would make it easy to write code (server and client-side) / documentation / changelogs. Some projects like this: Guardrail (Scala) https://github.com/guardrail-dev/guardrail , and Connexion (Python) https://github.com/spec-first/connexion .

    But without this ecosystem of tooling, documenting your CLI in a specification didn't really seem worth the effort. Of course, that's a bootstrapping problem.

  • Flask is Great!
    3 projects | /r/flask | 4 Feb 2023
    Connexion is a framework on top of Flask that automagically handles HTTP requests defined using OpenAPI/Swagger.
  • What is the best practice for mapping JSON requests to objects and back to JSON?
    2 projects | /r/flask | 25 Jan 2023
    I recommend you create a OpenAPI Specification and implement a python module that you expose via connexion or on the cli via click(for easy testing).
  • Flask-Powered APIs: Fast, Reliable, and Used by the World's Top Companies
    2 projects | /r/flask | 15 Dec 2022
    I'm here because Swagger-CodeGen created flask-Connexion boilerplate for python.
  • Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 1 – Real Python
    3 projects | /r/Python | 15 Nov 2022
  • Does anybody know any good resources I could use to study ISP architecture?
    2 projects | /r/networking | 12 Nov 2022
    Personally we just prov them using librouteros and flask-connexion/openapi.

What are some alternatives?

When comparing poem and connexion you can also consider the following projects:

axum - Ergonomic and modular web framework built with Tokio, Tower, and Hyper

flask-restful - Simple framework for creating REST APIs

Rocket - A web framework for Rust.

Flask RestPlus - Fully featured framework for fast, easy and documented API development with Flask

jelly-actix-web-starter - A starter template for actix-web projects that feels very Django-esque. Avoid the boring stuff and move faster.

flasgger - Easy OpenAPI specs and Swagger UI for your Flask API

async-graphql - A GraphQL server library implemented in Rust

django-rest-framework - Web APIs for Django. 🎸

okapi - OpenAPI (AKA Swagger) document generation for Rust projects

eve - REST API framework designed for human beings

actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

falcon - The no-magic web data plane API and microservices framework for Python developers, with a focus on reliability, correctness, and performance at scale.