Skip to content

baranylcn/hyperflask

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Full stack Python web framework to build websites and web apps with as little boilerplate as possible

hyperflask.devGet startedDocsExample app

A Flask-based (very) opiniated full-stack web framework where all the tech choices have been made. Hyperflask combines multiple Flask extensions and frontend libraries into a seamless experience.

Features and technologies:

  • Web framework built on top of Flask as a set of extensions
  • File-based and/or app-based routing
  • A new file format combining python code in frontmatter and html templates to define routes
  • SQL focused ORM with sqlorm, optimized for sqlite
  • Modern asset pipeline using esbuild and tailwindcss
  • Deep integration with htmx
  • Easily create reusable backend and frontend components
  • Build frontend components using Web Components, Alpine.js, React and more. Mix technologies at will.
  • Component library based on daisyUI with icons from Bootstrap Icons
  • Authentication and user management with social logins and MFA
  • Static content collections to easily create blogs and manage static content
  • File management with built-in image manipulation and S3 integration
  • Template based emails with mjml support
  • Background tasks using dramatiq with sqlite as the default broker
  • Push support for realtime pages using server-sent events
  • I18n using gettext
  • Static, hybrid or dynamic modes for content serving

Hyperflask-Start should be used to create new projects:

  • Dev environment based on Development Containers
  • Optimized for VScode with breakpoint debugging for frontend and backend
  • Mailpit for email testing

Project status

Hyperflask is in BETA and can start to be used for non-critical production apps

Checkout the list of all the projects developed as part of the Hyperflask stack and their current development status on the Hyperflask Github organization homepage.

Project status and roadmap

Flask extensions

Hyperflask itself is minimal and mostly a collection of Flask extensions seamlessly integrated together.

A good part of these extensions is developed as part of the Hyperflask project. Checkout the Hyperflask organization page for a list of all these projects.

Name Description
Flask-Assets-Pipeline Modern asset pipeline using esbuild
Flask-Babel-Hyper Flask-Babel fork with additional utilities
Flask-Collections Manage collections of static content
Flask-Configurator File based configuration
Flask-DebugToolbar Debug Toolbar
Flask-File-Routes File-based routing with a new file format combining python and jinja template in a single file
Flask-Files Fsspec based files management (upload, storage and image manipulation)
Frozen-Flask Generate a static website from your Flask app
Flask-Geo Geolocation using Maxmind
Htmx-Flask HTMX integration for Flask
Flask-Login User session management
Flask-Mailman Send emails
Flask-Mailman-Templates Email templates for Flask-Mailman
Flask-Mercure-SSE Push events via server-sent events using the Mercure protocol
Flask-SQLORM Flask integration of sqlorm
Flask-Super-Macros Better macro management for Jinja
Flask-Suspense Suspense for Flask
Flask-WTF WTForms integration

Using without Hyperflask-Start

  1. Create your project directory: mkdir example-project && cd example-project
  2. Create and activate a virtualenv: python -m venv .venv && source .venv/bin/activate
  3. pip install hyperflask
  4. Run npm install esbuild tailwindcss @tailwindcss/cli htmx.org htmx-ext-sse bootstrap-icons daisyui
  5. Run mkdir pages && echo "Hello world" > pages/index.jpy
  6. Start a development server using hyperflask dev

About

Full stack web framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 53.1%
  • HTML 41.2%
  • JavaScript 5.2%
  • CSS 0.5%