Develop powerful web applications with a modern, elegant, and high-performance framework. Framefox gives you the tools you need to create quickly.
Framefox combines elegance, performance, and simplicity to provide you with an unparalleled development experience.
Analyze the performance of your applications with our integrated profiler. Execution time, SQL queries, memory consumption—everything is accessible with one click.
Define your routes with simple and intuitive decorators. Framefox takes care of the rest to provide you with efficient and flexible routing.
CSRF protection, authentication, firewall, and more. Your application is secure from the start without complex configuration.
A clear and organized structure for your projects with the MVC model. Develop faster and maintain your code more easily.
Manipulate your data with an intuitive and efficient ORM. Create, read, update, and delete data without writing SQL.
Generate code, create controllers, entities, and more with our simple and powerful command-line interface.
A framework designed for developers who value clarity and simplicity.
from framefox.core.routing.decorator.route import Route
from framefox.core.controller.abstract_controller import AbstractController
from src.repository.product_repository import ProductRepository
class HomeController(AbstractController):
def __init__(self):
self.product_repository = ProductRepository()
# Simple route definition with decorator
@Route("/home", "home.index", methods=["GET"])
async def index(self):
return self.render("home/index.html", {
"controller_name": "HomeController"
})
# Route with parameter
@Route("/product/{id}", "product.show")
async def show_product(self, id):
product = self.product_repository.find(id)
return self.render("product/show.html", {
"product": product
})
In Framefox, you can create routes and controllers with a clear and expressive syntax. Our framework prioritizes readability and expressiveness.
Define your data models and let Framefox manage your database. Our ORM handles relationships, migrations, and queries for you.
from framefox.core.orm.abstract_entity import AbstractEntity
from sqlmodel import Field, Relationship
# Define your data model
class Product(AbstractEntity):
# Table name is automatically derived
id: int | None = Field(default=None, primary_key=True)
name: str = Field(max_length=256, nullable=False)
price: float = Field(nullable=False)
description: str | None = Field(max_length=1000, nullable=True)
# Define relationships
categories: Category | None = Relationship(back_populates='product', uselist=False)
Debugging and analyzing your applications has never been easier. Our integrated profiler provides you with detailed information on your application's performance.
Join thousands of developers already using Framefox to build modern, high-performance web applications.