HapticX/happyx
HapticX/happyx has 665 GitHub stars and 22 forks. GitHot measured 0 stars in 24 hours, 0 in 7 days, and 0 in 15 days. Last checked 2026-11-09 10:24 UTC. Last push 2026-06-03.
Macro-oriented asynchronous web-framework written in Nim with ♥
What you can do
- Multiple options for HTTP server! Happyx use asynchttpserver as default HTTP server (httpx via -d:happyxHttpx, httpbeast via -d:happyxBeast and microhttpserver via -d:happyxMicro as alternative HTTP servers).
- Support SPA on JS backend and SSR on other backends.
- Build HTML, CSS and pure JS with buildHtml, buildStyle and buildJs macros.
- Request models that supports JSON/XML/Form-Data/x-www-form-urlencoded with model macro.
Measured star growth
- in 24h
- 0
- in 7 days
- 0
- in 15 days
- 0
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalWhy HappyX? 💁♀️
HappyX is a web framework with asynchronous, macro-oriented, full stack support.
In HappyX you can write single page, static site generation and server side rendering applications 💡
You can write Rest API with HappyX also 🔌
HappyX is very simple to use. Keep your peace of mind 🙂
Why Not Jester/Karax? 🤔
Jester and Karax have many features, but Jester is a backend web framework, and Karax is a frontend web framework. HappyX is a full-stack web framework that combines the features of Jester and Karax and slightly improves them 🛠
With HappyX you mustn't learn new libraries/frameworks to switch between frontend and backend. You can switch between them easily using HappyX ✌
HappyX is macro-oriented web framework so you mustn't write a lot of code ✨
Features ⚡
- Multiple options for HTTP server! Happyx use
asynchttpserveras default HTTP server (httpxvia-d:happyxHttpx,httpbeastvia-d:happyxBeastandmicrohttpservervia-d:happyxMicroas alternative HTTP servers). - Support
SPAonJSbackend andSSRon other backends. - Build HTML, CSS and pure JS with
buildHtml,buildStyleandbuildJsmacros. - Request models that supports
JSON/XML/Form-Data/x-www-form-urlencodedwithmodelmacro. - Routing and powerful path params.
- Assignment path params with
pathParamsmacro. - Powerful mounting sub-applications with
mountmacro. - Logging with
-d:debug. - Automatic translate with
-d:hpxTranslateor-d:translateflags. - CLI tool for
creating,servingandbuildingyour projects. - Hot code reloading (only for
SPAprojects as of now). - Python bindings
- NodeJS bindings
Minimal Example 👩💻
| SPA | SSR |
|
|
Get Started 👨🔬
Installing 📥
Nimble
nimble install happyx@#head
Nimble via Git
nimble install https://github.com/HapticX/happyx
PyPI
pip install happyx
Usage ▶
SSR
hpx create --name ssr_project --kind SSR
cd ssr_project/src
Main script will be able in /ssr_project/src/main.nim
Run 💻
| HTTP Server | Flag |
|---|---|
| Default | no flags |
| Httpx | -d:httpx |
| MicroAsyncHttpServer | -d:micro |
| HttpBeast | -d:beast |
SPA
hpx create --name spa_project --kind SPA --path-params
cd spa_project
Main script will be able in /spa_project/src/main.nim
Run 💻
Just run this command and see magic ✨
hpx dev --reload
Have A Question? 👀
Have A Nice Idea? 🍍
Open issue or contact us [email protected]
Contributing 🌀
See Contributing.md for more information
Donate 💰
Star History ✨
Explore related projects
freeCodeCamp/freeCodeCamp
freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.
458,825 starsdonnemartin/system-design-primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
377,452 starsreact/react
The library for web and native user interfaces.
252,461 starsvuejs/vue
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
212,625 stars