Pyonir
A modern Python flat-file web framework with static site generation, file-based routing, and an AI-friendly project structure.
Documentation • GitHub • PyPI
Why Pyonir?
Pyonir combines the simplicity of flat-file CMSs with the flexibility of a modern Python web framework.
- 📄 Markdown-first content
- 📁 File-based routing
- ⚡ Static site generation
- 🎨 Jinja2 templates
- 🔌 Plugin architecture
- 🎭 Theme support
- 🌐 API endpoints
- 🚀 No database required
Installation
Requirements
- Python 3.9+
Install Pyonir:
> pip install pyonir
Create a Project
- Generate a starter application:
> pyonir init
- Start the development server:
> python main.py
- Open your browser:
http://localhost:5000
Manual Setup
- Create a
main.pyfile:
from pyonir import Pyonir
app = Pyonir(__file__)
app.run()
- Create your first page:
contents/
└── pages/
└── index.md
title: Home
description: Welcome to Pyonir!
===
# Hello, Pyonir!
Your website is running.
Create a template:
frontend/
└── templates/
└── pages.html
<h1>{{ page.title }}</h1>
{{ page.contents }}
Run the server:
> python main.py
Installing Plugins
> pyonir install plugin:<owner>/<repository>#<branch>
Example:
> pyonir install plugin:example/comments#main
Installing Themes
pyonir install theme:<owner>/<repository>#<branch>
Example:
pyonir install theme:example/blog-theme#main
Metadata
Release files for pyonir 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyonir-0.1.0.tar.gz | 1.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyonir-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.1 MB
Release files / pyonir-0.1.0.tar.gz
| Download URL | pyonir-0.1.0.tar.gz |
|---|---|
| Size | 1.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e873f635152dedeec7340c8acf7a45697a2accf2f4cf26516f95a3e488fd1e2
|
|
BLAKE2b-256 checksum How to use checksums |
e8dfcd0e3b4f2c6609345ca5b6febf3003b81cec5c8c05ccc3e7a3200c543b44
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pyonir-0.1.0-py3-none-any.whl
| Download URL | pyonir-0.1.0-py3-none-any.whl |
|---|---|
| Size | 1.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
db75a4bc3af8f3fa71d0e0fa45c2e3e17463d8517b530324bbeff02228a2d4e9
|
|
BLAKE2b-256 checksum How to use checksums |
2d739691a4369eab271d6c069895ce1c717fbeeb2b7fd23e4a9a4e20706d8a1f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|