fymo Svelte Themes

Fymo

A full stack monolith python web framework; renders svelte in client/server side

Fymo Framework

Production-ready Python SSR Framework for Svelte 5

Build modern web applications with Python backend and Svelte 5 frontend

✨ Features

  • šŸš€ Server-Side Rendering (SSR) - Full Svelte 5 SSR with Python
  • ⚔ Client-Side Hydration - Seamless hydration with real Svelte runtime
  • šŸŽÆ Svelte 5 Runes - Full support for $state, $derived, $effect
  • šŸ“¦ Zero Configuration - Works out of the box
  • šŸ› ļø CLI Tools - Professional CLI for project management
  • šŸ”„ Hot Reload - Development server with auto-reload
  • šŸ—ļø Production Ready - Built for real-world applications

šŸš€ Quick Start

Installation

pip install fymo

Create a New Project

fymo new my-app
cd my-app

Install Dependencies

pip install -r requirements.txt
npm install

Start Development Server

fymo serve

Visit http://127.0.0.1:8000 to see your app!

šŸ“ Project Structure

my-app/
ā”œā”€ā”€ app/
│   ā”œā”€ā”€ controllers/     # Python controllers
│   ā”œā”€ā”€ templates/       # Svelte components
│   ā”œā”€ā”€ models/         # Data models
│   └── static/         # Static assets
ā”œā”€ā”€ config/             # Configuration
ā”œā”€ā”€ fymo.yml           # Project configuration
ā”œā”€ā”€ server.py          # Entry point
└── requirements.txt   # Python dependencies

šŸŽÆ Example Component

<!-- app/templates/home/index.svelte -->
<script>
  let { title, message } = $props();
  let count = $state(0);
  
  function increment() {
    count++;
  }
</script>

<div>
  <h1>{title}</h1>
  <p>{message}</p>
  <button onclick={increment}>
    Count: {count}
  </button>
</div>
# app/controllers/home.py
context = {
    'title': 'Welcome to Fymo',
    'message': 'Build amazing apps with Python and Svelte 5!'
}

šŸ› ļø CLI Commands

  • fymo new <project> - Create a new project
  • fymo serve - Start development server
  • fymo generate <type> <name> - Generate components/controllers
  • fymo build - Build for production

šŸ”§ Configuration

Configure your project in fymo.yml:

name: my-app
version: 1.0.0

routes:
  root: home.index
  resources:
    - posts
    - users

server:
  host: 127.0.0.1
  port: 8000
  reload: true

šŸ—ļø Architecture

Fymo combines:

  • Python for server-side logic and routing
  • Svelte 5 for reactive UI components
  • STPyV8 for JavaScript execution in Python
  • Real Svelte Runtime for client-side hydration

šŸ¤ Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

šŸ“ License

MIT License - see LICENSE file for details

šŸ™ Acknowledgments

  • Built with Svelte 5
  • Powered by STPyV8
  • Inspired by modern web frameworks

Built with ā¤ļø by the Fymo Team

Top categories

Loading Svelte Themes