Skip to main content

The Modern Fullstack Python Meta-Framework: Build high-performance web apps .

Project description

Nexy

Nexy is a modular fullstack meta-framework designed to simplify modern web development. By bridging the gap between FastAPI backends and Vite-powered frontend ecosystems (React, Vue, Svelte, Solid.js), Nexy 2 allows you to build rich, interactive applications within a unified Python environment.

The Nexy 2 Vision

Nexy 2 transforms the development experience by masking complex architectural patterns behind an intuitive interface. The framework handles the orchestration between the Python server and the JavaScript client, allowing you to focus exclusively on business logic and UI.

Core Concepts

Mastering Nexy involves three essential pillars:

1. The .nexy Format (Polyglot Component)

While Nexy is fully functional for pure backend development (FastAPI-based APIs), the .nexy file is its powerful optional unit for building fullstack interfaces. It allows for a fluid composition of multiple languages:

  • Header (Python): Defined within --- blocks, this is where you declare properties (prop) and import components (whether they are .nexy, .vue, .tsx, .mdx, or even Python functions).
  • Template (HTML/Jinja2): The structure of your component, rendered server-side with the power of Jinja2.
---
# Definition Logic (Python)
title : prop[str] = "Nexy Component"
from "@/components/Card.nexy" import Card
from nexy import Vite  # Automatic asset injection
---
<!-- Server Rendering (Jinja2) -->
<div class="p-6 bg-white rounded-xl shadow-lg">
    <h1 class="text-2xl font-bold">{{ title }}</h1>
    <Card content="I can contain other components." />
</div>

2. Intelligent Hybrid Routing

Nexy scales with your project size:

  • File-Based Routing: Your src/routes/ directory structure defines your URLs (e.g., index.nexy -> /).
  • Module-Based Routing: For enterprise architectures, use a modular approach inspired by NestJS.
  • Hybrid Rendering: Mix static pages and dynamic API routes within the same project.

3. Unified Ecosystem via Vite

Nexy is framework-agnostic. You can import and use React, Vue, Svelte, or Solid.js components directly within your Nexy templates. The Vite build pipeline handles everything, ensuring optimal performance and zero configuration.

Tooling and Development

Nexy CLI (nx)

The nx command-line tool centralizes your development workflow:

  • nx init or nexy init: Initializes a Nexy project.
  • nx dev or nexy dev: Starts the Nexy server for development with Vite in parallel.
  • nx build or nexy build: Compiles your assets for optimized production deployment.
  • nx start or nexy start: Starts the Nexy server for production without Vite in parallel.

VS Code Extension (Alpha)

A dedicated extension (LSP) is included in the repository (currently in Alpha) to provide a first-class development experience: real-time diagnostics, prop and import auto-completion, and contextual snippets.

Getting Started

Prerequisites

  • Python 3.10+
  • Node.js 18+

Installation

pip install nexy

Project Initialization

nexy init

The interactive assistant will help you choose your preferred frontend framework and enable Tailwind CSS.

Run

nexy dev

Security and Reliability

  • Strict Typing: Pydantic integration for robust data and prop validation.
  • Native Protection: Automatic Jinja2 character escaping against XSS vulnerabilities.
  • Architectural Integrity: Built on SOLID principles for long-term maintainability.

License

Distributed under the MIT License.

Project details


Release history Release notifications | RSS feed

This version

2.0.6

Download files

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

Source Distribution

nexy-2.0.6.tar.gz (57.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nexy-2.0.6-py3-none-any.whl (96.3 kB view details)

Uploaded Python 3

File details

Details for the file nexy-2.0.6.tar.gz.

File metadata

  • Download URL: nexy-2.0.6.tar.gz
  • Upload date:
  • Size: 57.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.17

File hashes

Hashes for nexy-2.0.6.tar.gz
Algorithm Hash digest
SHA256 36193657cbbd0a5ac2725411b80ccd17735d13f2a8721f2fa5da1049be7af77f
MD5 1c65f0fe1c445e0d0755921089060e02
BLAKE2b-256 2d0409aa76b74bada9d12d25e21967d51c63f3d78bffdad526c9412db84b6da2

See more details on using hashes here.

File details

Details for the file nexy-2.0.6-py3-none-any.whl.

File metadata

  • Download URL: nexy-2.0.6-py3-none-any.whl
  • Upload date:
  • Size: 96.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.17

File hashes

Hashes for nexy-2.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 b6b5b5a3ee25797a44af9776d1bbe18c1ee90c55d81ab0042286329011718f68
MD5 912b573af9d7f9eda8e95f98c15954e8
BLAKE2b-256 1490bffc7416cad30e7c150e0c561df85b23e6f5f1b7954f466607a0684f13c2

See more details on using hashes here.

Supported by

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