Mi

Mitsuki, a Python web framework as fast as Node or Java

Hacker News

Mitsuki, a Python web framework as fast as Node or Java

Hey HackerNews! Just wanted to share something slapped together recently, looking for feedback. Context: I worked in both research and enterprise and have built a lot of services in Python and Java, and they converge to using similar patterns, regardless of how different the architectures and domains are (web apps, ML research, distributed systems, etc.) After writing a lot of Python, I was missing a framework that strongly supported some of these patterns formally, and find that this structure lets you make assumptions that can really boost dev experience on long term projects. Microframeworks are great. They let you get started with a single file of a few lines, but (in my opinion) lack the structure you want on long term projects, working with teams, so you end up making that structure yourself anyway. In doing so, you get a small initial boost in productivity, but at the cost of your productivity in the future. Mitsuki tries to both allow you to start quick and easy with a single file in a few lines, but also be more friendly to you and your team through time, by giving structure to your development process. Thus, I made an early version of a framework heavily inspired by Spring Boot. The core idea is that you can do enterprise apps without the enterprise pain, in Python, with high performance. - Want a simple REST API? app.py with a few lines. - Want a decent starter with auto-implemented CRUD? mitsuki init to get a starter project with domain classes, services, controllers and repositories. - Performance? Similar to Express and Spring Boot (in Docker, on an M1 MacBook Pro, 8GB of RAM), out of the box, no configuration needed. Lightweight Despite the "fancy sounding" terminology, Mitsuki itself is very lightweight, and only adds a very small overhead (10%) over the components that power it (namely, Starlette and Granian). I don't want to commit to ASGI only, and a future version will likely rewrite this core logic to leverage granian further. There is a lot of ground left to cover, lots of docs to write, examples to explore, features to expand. I'm also planning to write a few tools that leverage the structure of the framework to increase DX within enterprise teams. But before any of that, I'm looking for feedback. Yay or nay? :) Benchmarks P.S. On the topic of performance and benchmarks, there are a few remarks in the repo's /benchmarks directory. (Or here: https://github.com/DavidLandup0/mitsuki/tree/main/benchmarks ) Yes, most benchmarks are arbitrary, heavily gameable, and your bottleneck is likely going to be your business logic, not the framework, anyways. Yes, Spring Boot and Elysia will likely have higher ceilings, so running on a stronger CPU will likely change the order of the benchmark. Yes, there's a million variables that affect these. Yes, granian is written in Rust, not Python. The point of the benchmark is threefold: - This is the sort of experience you get out of the box, on your device and where you'll deploy it (Dockerized on small instance such as through K8s) - Python web apps can stand shoulder to shoulder with JS/Java performance-wise - Despite the seeming complexity around dependency injection, state tracking, etc., Mitsuki is pretty lightweight.

Share card

Actual performance

3points
3comments
Did not reach leaderboard

Launch Intel predictions

Analyze your own launch →
Indie HackersFits the IH revenue-focused audience · Strong signals: started · Missing: supports, reddit linkedin, podcasting
88%88% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
best fitHighest predicted score across all platforms for this description.
Product HuntOn track for Day 1 leaderboard · Strong signals: mac, apps, dock · Missing: agents, macos, agent
69%69% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
Hacker NewsStrong engagement from HN community · Strong signals: ide, io · Missing: https docs, excited, just released
51%51% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
AppSumoMay struggle as an AppSumo deal · Strong signals: friendly · Missing: plus, platform, intuitive
32%32% predicted probability of success on AppSumo, based on ML models trained on real launch data.
TrustMRRLess likely to generate early MRR · Strong signals: apps, way · Missing: mobile apps, ios, personal
29%29% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Missing: arr, mrr, revenue
14%14% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Missing: web3, chat, crypto
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Incorrect prediction on native model

Similar products

Fe
Feather a Python Web Framework64%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Feather a Python Web Framework

Hacker News4
St
Starlette – An asyncio Web framework for Python64%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Starlette – An asyncio Web framework for Python

Hacker News8
I
I made a fronted web framework in Python64%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

I made a fronted web framework in Python

Hacker News2
Fr
FrontlessJS – a fast Node web application framework55%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

FrontlessJS – a fast Node web application framework

Hacker News1
A
A Functional and Reactive Framework for Node Back-Ends59%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

A Functional and Reactive Framework for Node Back-Ends

Hacker News1
I
I built a Python web framework69%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

I built a Python web framework

Hacker News173
Vi
Vibora – Fast, asynchronous and elegant Python web framework67%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Vibora – Fast, asynchronous and elegant Python web framework

Hacker News2
Py
Python web crawling framework for everyone based on asyncio64%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Python web crawling framework for everyone based on asyncio

Hacker News4
Gr
Graphene – GraphQL framework for Python76%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Graphene – GraphQL framework for Python

Hacker News106
Wa
Watson – A Python 3 Framework59%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Watson – A Python 3 Framework

Hacker News1