Voltar ao ranking

planety/prologue

Nimplanety.github.io/prologue

Powerful and flexible web framework written in Nim

webprologuewebframeworkjesternimfull-stackweb-developmentwebdevasyncasync-web-applicationsnimlangprologue-framework
Crescimento de estrelas
Estrelas
1.3k
Forks
53
Crescimento semanal
Issues
42
5001k
jan. de 2020mar. de 2022mai. de 2024jul. de 2026
README

Build Status

License: Apache-2.0 Version buy me a coffee Discord

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: Ask DeepWiki

Features

  • Core

    • Configure and Settings
    • Context
    • Param and Query Data
    • Form Data
    • Static Files
    • Middleware
    • Powerful Routing System(based on nest)
    • Cookie
    • Startup and Shutdown Events
    • URL Building
    • Error Handler
  • Plugin

    • I18n
    • Basic Authentication
    • Minimal OpenAPI support
    • Websocket support
    • Mocking test
    • CORS Response
    • Data Validation
    • Session
    • Cache
    • Signing
    • Command line tools
    • Cross-Site Request Forgery
    • 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.

nimble install prologue

Chronos Backend

Prologue can use chronos instead of asyncdispatch via the kairos HTTP server:

requires "prologue[kairos]"

Or without nimble, pass -d:asyncBackend=chronos to the compiler. No code changes needed — your handlers work with both backends.

Usages

Hello World

import prologue

proc hello*(ctx: Context) {.async.} =
  resp "<h1>Hello, Prologue!</h1>"

let app = newApp()
app.get("/", hello)
app.run()

Run app.nim ( nim c -r app.nim ). Now the server is running at localhost:8080.

More examples

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

Stargazers over time

Repositórios relacionados
donnemartin/system-design-primer

Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

PythonPyPIOtherprogrammingdevelopment
358.7k57.3k
flutter/flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond

DartBSD 3-Clause "New" or "Revised" Licensemobileandroid
flutter.dev
177.9k30.7k
AUTOMATIC1111/stable-diffusion-webui

Stable Diffusion web UI

PythonPyPIGNU Affero General Public License v3.0deep-learningdiffusion
164.3k30.4k
fastapi/fastapi

FastAPI framework, high performance, easy to learn, fast to code, ready for production

PythonPyPIMIT Licensepythonjson
fastapi.tiangolo.com
100.8k9.7k
angular/angular

Deliver web apps with confidence 🚀

TypeScriptnpmMIT Licenseangulartypescript
angular.dev
100.6k27.5k
puppeteer/puppeteer

JavaScript API for Chrome and Firefox

TypeScriptnpmApache License 2.0headless-chrometesting
pptr.dev
95.3k9.5k
microsoft/playwright

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

TypeScriptnpmApache License 2.0playwrighttesting
playwright.dev
93.2k6.1k
django/django

The Web framework for perfectionists with deadlines.

PythonPyPIBSD 3-Clause "New" or "Revised" Licensepythondjango
djangoproject.com
88.2k34.1k
webpack/webpack

A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.

JavaScriptnpmMIT Licensewebpackjavascript
webpack.js.org
65.8k9.4k
appwrite/appwrite

Appwrite® - complete cloud infrastructure for your web, mobile and AI apps. Including Auth, Databases, Storage, Functions, Messaging, Hosting, Realtime and more

TypeScriptnpmBSD 3-Clause "New" or "Revised" Licenseappwritedocker
appwrite.io
56.6k5.6k
google/material-design-icons

Material Design icons by Google (Material Symbols)

Apache License 2.0materialmaterial-design
google.github.io/material-design-icons/
53.6k9.7k
twentyhq/twenty

The open alternative to Salesforce, designed for AI.

TypeScriptnpmOthercrmcustomer
twenty.com
53.4k8.1k