Skip to main content

Full stack web framework

Project description


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

⚠️ This is a work in progress project which is not functionnal yet ⚠️

Project Status GitHub Actions Workflow Status

hyperflask.devGet startedDocsExample apps

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

This project is part of the Hyperflask Stack.

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, compatible with Storybookf
  • Build frontend components using Web Components, Alpine.js, Stimulus and more. Mix technologies at will.
  • Component library based on daisyUI with icons from Bootstrap Icons
  • Seamless reactivity between frontend and backend
  • 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
  • Push support for realtime pages using server-sent events
  • I18n using gettext
  • Easily create REST APIs and automatically generate documentation
  • Static, hybrid or dynamic modes for content serving
  • Observable with OpenTelemetry

Hyperflask-Start should be used to create new projects:

Project status

Hyperflask is being actively developed and is not yet ready to be used.

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.

Status overview:

Feature Status
Core experience (start project, dev, deploy) 🚧
File based routing with mix code page format
ORM
Assets pipeline
Component system + component library 🚧 (component system almost done, need to create macros for daisyui)
SSE push
Collections 🚧 (finalizing)
Upload files 🚧 (missing S3 improvements)
Emails 🚧
User management and auth 🚧
Static site generation
I18n 🚧 (finalizing)
PWA
Runner

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-Apispec-Hyper Flask-Apispec fork with updates and fixes
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-Dramatiq Background tasks powered by Dramatiq
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-Observability Observable Flask apps with OpenTelemetry, logging and more
Flask-SQLORM Flask integration of sqlorm
Flask-Super-Macros Better macro management for Jinja
Flask-Talisman HTTP security headers 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. Create a pages directory: mkdir pages
  5. Create your index page: echo "hello world" > pages/index.html
  6. Start a development server using hyperflask dev

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hyperflask-0.1.6.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

hyperflask-0.1.6-py3-none-any.whl (39.1 kB view details)

Uploaded Python 3

File details

Details for the file hyperflask-0.1.6.tar.gz.

File metadata

  • Download URL: hyperflask-0.1.6.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-40-generic

File hashes

Hashes for hyperflask-0.1.6.tar.gz
Algorithm Hash digest
SHA256 bf1f1b529b9451f7cb72a3f8559201b6bafd60ff5f009de844e7e8b90bf681d4
MD5 5e5028f1335a12710d2741f0a586f7d9
BLAKE2b-256 c019158d4d86b01cbffd17b434d89170111cce3b7382b6a770ffe38d94aa956d

See more details on using hashes here.

File details

Details for the file hyperflask-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: hyperflask-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 39.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-40-generic

File hashes

Hashes for hyperflask-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a33b5a9851611d25f918fbb217b8a2f9896ef13116ce0372e60aee9a9eb20941
MD5 ba0971686e125025bf53e0f596752b9b
BLAKE2b-256 2374f94c0217de7cc46f5571388c9e69bf445c47aa7f5b6d699437edfe88319d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page