planety / prologue
git clone https://github.com/planety/prologue.git
v0.6.8 · 9mo ago
🔥 on GitHub Trending today
Powerful and flexible web framework written in Nim
+0
stars, 24h · #23,687
+1
stars, 7 days · #32,151
+~10
stars, 30 days · #26,818
1.4k
★ total · +0% this week
54
forks · 41 open issues
Star history (as recorded here)
LanguageNim
LicenseApache-2.0
Created2020-01-11 (6y ago)
Last push1mo ago
Watchers24
OwnerOrganization
Seen on GitHub Trending
- 2026-10-23 — #1 weekly in nim · +1 ★
- 2026-10-22 — #1 daily in nim · +1 ★
- 2026-10-21 — #1 daily in nim
- 2026-10-20 — #1 daily in nim
GitHub topics
webprologuewebframeworkjesternimfull-stackweb-developmentwebdevasyncasync-web-applicationsnimlangprologue-frameworkhttp-frameworkwebapp-frameworkhacktoberfest
Links
- GitHub: github.com/planety/prologue
- Homepage: https://planety.github.io/prologue
- Releases · Issues · Hacker News mentions
README excerpt
# Prologue What's past is prologue. ## Purpose `Prologue` is a powerful and flexible web framework written in Nim. It is ideal for building elegant and high performance web services. **Reduce magic. Reduce surprise.** ## Documentation Documentation Index Page Core API Index Page Search Page Full API Index Page Search Page Welcome to write your own experience with Prologue at our wiki. To get familiar with the code structure, use DeepWiki: ## Features - Core - [x] Configure and Settings - [x] Context - [x] Param and Query Data - [x] Form Data - [x] Static Files - [x] Middleware - [x] Powerful Routing System(based on nest) - [x] Cookie - [x] Startup and Shutdown Events - [x] URL Building - [x] Error Handler - Plugin - [x] I18n - [x] Basic Authentication - [x] Minimal OpenAPI support - [x] Websocket support - [x] Mocking test - [x] CORS Response - [x] Data Validation - [x] Session - [x] Cache - [x] Signing - [x] Command line tools - [x] Cross-Site Request Forgery - [x] Clickjacking Protection ## Installation First you should install Nim language which is an elegant and high performance language. Follow the instructions and set environment variables correctly. Then you can use `nimble` command to install `prologue`. [code] ### Chronos Backend Prologue can use chronos instead of asyncdispatch via the kairos HTTP server: [code] Or without nimble, pass `-d:asyncBackend=chronos` to the compiler. No code changes needed — your handlers work with both backends. ## Usages ### Hello World [code] Run **app.nim** ( `nim c -r app.nim` ). Now the server is running at `localhost:8080`. ### More examples - HelloWorld - ToDoList - ToDoApp - Blog - Additional examples repository ### Extensions If you need more extensions, you can refer to awesome prologue and awesome nim. ## Donations Thanks for supporting me! https://github.com/sponsors/planety ## Stars