openapi-generator VS aiosql

Compare openapi-generator vs aiosql and see what are their differences.

openapi-generator

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3) (by OpenAPITools)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
openapi-generator aiosql
234 10
19,807 1,243
3.1% -
9.9 8.7
4 days ago about 2 months ago
Java Python
Apache License 2.0 GNU General Public License v3.0 or later
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.

openapi-generator

Posts with mentions or reviews of openapi-generator. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-24.
  • The Stainless SDK Generator
    10 projects | news.ycombinator.com | 24 Apr 2024
    Disclaimer: We're an early adopter of Stainless at Mux.

    I've spent more of my time than I'd like to admit managing both OpenAPi spec files [1] and fighting with openapi-generator [2] than any sane person should have to. While it's great having the freedom to change the templates an thus generated SDKs you get with using that sort of approach, it's also super time consuming, and when you have a lot of SDKs (we have 6 generated SDKs), in my experience it needs someone devoted to managing the process, staying up with template changes etc.

    Excited to see more SDK languages come to Stainless!

    [1] https://www.mux.com/blog/an-adventure-in-openapi-v3-api-code...

    [2] https://github.com/OpenAPITools/openapi-generator

  • FastAPI Got Me an OpenAPI Spec Really... Fast
    4 projects | dev.to | 22 Apr 2024
    As a result, the following specification can be used to generate clients in a number of different languages via OpenAPI Generator.
  • Show HN: Manage on-prem servers from my smartphone
    3 projects | news.ycombinator.com | 27 Mar 2024
    Of course you can compile the server from source if you have Go and the OpenAPI generator JAR (https://github.com/OpenAPITools/openapi-generator?tab=readme...)

    Follow these steps : https://github.com/c100k/rebootx-on-prem/blob/master/.github...

    And then :

    (cd ./impl/http-server-go && GOARCH=amd64 GOOS=openbsd go build -o /app/rebootx-on-prem-http-server-go-openbsd-amd64 -v)

    By adapting the arch if needed. Not tested, but it should work.

  • OpenAPI Generator v7.3.0 has new generators for Rust, Kotlin, Scala and Java
    1 project | news.ycombinator.com | 8 Feb 2024
  • Stop creating HTTP clients manually - Part I
    1 project | dev.to | 5 Feb 2024
    TL;DR: Start generating your HTTP clients and all the DTOs of the requests and responses automatically from your API, using openapi-generator instead of writing your own.
  • How to Automatically Consume RESTful APIs in Your Frontend
    13 projects | dev.to | 25 Jan 2024
    As an alternative, you can also use the official OpenAPI Generator, which is a more generic tool supporting a wide range of languages and frameworks.
  • Building a world-class suite of SDKs is easy with Speakeasy
    4 projects | dev.to | 10 Jan 2024
    I trialed generating SDKs using the OpenAPI Generator package, which was largely unsatisfactory.
  • Best way to implement base class for API calls?
    2 projects | /r/csharp | 7 Dec 2023
    If Swagger/OpenAPI is available, save yourself a lot of trouble and generate the client using OpenAPI Generator. If not, use a library like RestEase to make it significantly easier to create the client.
  • Sharing EF data access project DLL vs NuGet vs ?
    1 project | /r/dotnet | 7 Dec 2023
    For a run of the mill REST API you should generate OpenAPI (Swagger) info for the API using a library like NSwag or Swashbuckle. You'd want to do this no matter what because it's documentation for the API, but the bonus is that you can use it with tools like OpenAPI Generator to create API client code and models in a variety of languages. You certainly can create an API client library manually, it would entail having a nuget package with a class library that contains the models and client code for calling the endpoints (which I'd create using a lib such as RestEase unless you just enjoy writing boilerplate code by hand). However 95% of the time it simply isn't worth creating your own lib when OpenAPI is available because once you've done it a time or two it takes less than 5 min to run the generator and create (or update) a lib.
  • Created an API using Gin, want to create sdk for him
    3 projects | /r/golang | 7 Dec 2023
    Then you can use oapi-codegen or openapi-generator to generate the Go (or other language) SDK for it.

aiosql

Posts with mentions or reviews of aiosql. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-29.
  • Don't use your ORM entities for everything – embrace the SQL
    4 projects | news.ycombinator.com | 29 Mar 2024
    > resort to raw SQL

    I'm the opposite, I would rather write SQL than "resorting to" ORM queries, which is why my favourite libraries are aiosql[1] in Python, Hugsql[2] in Clojure and similar: write the queries as SQL in .sql files, which then get exposed as functions to your code.

    [1] https://nackjicholson.github.io/aiosql/

    [2] https://www.hugsql.org/

  • Project template without ORM
    3 projects | /r/FastAPI | 16 Jan 2023
    I prefer to use aiosql https://nackjicholson.github.io/aiosql/ to organize my SQL and have it in a SQL folder. It looks like this where colons specify variables:
  • If you could choose any Python web framework to build APIs for a startup, which one would you choose and why?
    4 projects | /r/Python | 1 Oct 2022
    I tend to do a lot of data-heavy projects, so I tend to eschew ORM-style code and use a project called aiosql to bind raw SQL to python methods, and offload as much expensive computation to the DB as possible. If I'm prototyping an endpoint (e.g. calculating percentiles for some midsized time-series data), and just need a non-performant working placeholder, it's extremely easy to dump a SQL table to pandas and yeet something together in a few lines - then smoothly replace it with a more performant SQL query down the road. Highly contextual move, but I find it to be an awesome balancing point between flexibility, scalability, performance, productivity, etc.
  • Which not so well known Python packages do you like to use on a regular basis and why?
    25 projects | /r/Python | 26 Aug 2022
    As one of the rare Python developers who actually like SQL, my favourite database library is aiosql
  • Database as Code. Not only migrations
    1 project | /r/Database | 16 Jul 2022
    Only slightly off-topic, poking around in there led me to aiosql, which takes an idea I'd had and jumps forward a good long way. :-)
  • The Data-Oriented Design Process for Game Development
    3 projects | news.ycombinator.com | 27 May 2022
    I've been doing something in this vein for a big personal project, using this python library: https://nackjicholson.github.io/aiosql/.

    In short, I'm using a run of the mill stack (Caddy/Gunicorn/Flask/Postgres) - but with the twist that all my core logic is defined in plaintext SQL files, which get bound into namespaced Python methods by aiosql. Routing, error handling, templating, etc. are all done in Python - but all data manipulation and processing are outsourced to the DB level. All database object definitions are laid out in a massive, idempotent "init_db" method that gets called at launch, so I can essentially point the app at a fresh instance of Postgres and rebuild from scratch. The design is primarily driven by my personal distaste for ORMs, but I've found it extremely beneficial in terms of rigid typing, integrity checks, and performance.

  • Is it bad practice for my flask API to run raw SQL queries against my DB to get/post data?
    2 projects | /r/Python | 25 Jan 2022
    Definitely check out https://nackjicholson.github.io/aiosql/ if you want to stick with SQL
  • Django 4.0 release candidate 1 released
    11 projects | news.ycombinator.com | 22 Nov 2021
    I took that approach on my latest Flask project and it’s gone quite swimmingly. The problem I ran into was that a lot of the ecosystem, and therefore documentation, blog posts, helper libraries, etc., are all written under the assumption that you’re using an ORM. It took a while to figure out how to work around that, but once I did, I was home clear.

    I also used a helper library to automatically map namespaced .sql files onto python functions with various return types, which made the development process way more elegant: https://nackjicholson.github.io/aiosql/. Absolute game changer if you plan to go this route - can’t recommend it highly enough.

  • FastAPI framework, high perf, easy to learn, fast to code, ready for production
    15 projects | news.ycombinator.com | 1 Feb 2021
    I've been using FastAPI for some time, and now I'm using it as a full web framework (not just for REST APIs). I like writing SQL without ORMs, so the combination of aiosql[0] + FastAPI + Jinja2 works great. Add HTMX[1] and even interactive websites become easy.

    That's in fact the stack I am using to build https://drwn.io/ and I couldn't enjoy it more.

    Thanks Sebastián for creating it!

    [0] https://github.com/nackjicholson/aiosql

What are some alternatives?

When comparing openapi-generator and aiosql you can also consider the following projects:

NSwag - The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript.

databases - Async database support for Python. 🗄

oapi-codegen - Generate Go client and server boilerplate from OpenAPI 3 specifications

full-stack-fastapi-template - Full stack, modern web application template. Using FastAPI, React, SQLModel, PostgreSQL, Docker, GitHub Actions, automatic HTTPS and more.

SvelteKit - web development, streamlined

django-async-orm - Bringing Async Capabilities to django ORM

smithy - Smithy is a protocol-agnostic interface definition language and set of tools for generating clients, servers, and documentation for any programming language.

fastapi-crudrouter - A dynamic FastAPI router that automatically creates CRUD routes for your models

django-ninja - 💨 Fast, Async-ready, Openapi, type hints based framework for building APIs

Pebble - Java Template Engine

autorest - OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python

mangum - AWS Lambda support for ASGI applications