An experimental Full-Stack Framework for Python
Project description
An Experimental Full-Stack Framework For Python.
📝 Table of Contents
🧐 About
A full-stack framework built with python. The library is shipped with Bootstrap 5 for your styling needs.
Docs: https://sas2k.github.io/Lemon
Discord Server: https://discord.gg/Dw6hCp3usF
Features:
- UI Library (Development)
- A full Back-end Capabilities
- Django style route adding (See
examples/django-routing.py
) - An ORM and migrations feature (check-out -> examples/Lemon-App) (ORM supports strings only for now.)
- React like syntax
- middleware api
- a terminal app to create app [create-lemon-app < app-name >]
- Component Generator [https://github.com/Sas2k/Lemon-CLI]
- Reactivity (See
examples/reactivity-example
) - Testing (See
examples/Tests.py
) - Custom Exception Handler (
examples/exception-handler.py
) - Blueprint Routing (
examples/Lemon-App
)
If you want to have live reloading try uvicorn: https://www.uvicorn.org/
If you don't think this isn't capable to handle anything check these out!
https://portfolio-sas2k.vercel.app/ | https://github.com/Sas2k/portfolio
https://github.com/Sas2k/HTTP-Blog
🗒 To-Do
Legend:
[x] - checked [*] - doing [ ] - Not Done
- Form Data Handling (Currently being Developed)
- States (Currently being Developed)
🏁 Getting Started
Docs Are still in Development Try heading over to /examples
for some idea.
Here is an example below
from Lemon.components import Component
from Lemon.Server.server import Server
app = Server(static_dir=None)
Root = Component("Home Page", None, None) #Root component
class Home(Component):
"Home Page Component"
name = "Home"
def item(props: dict):
"The Item Function: where the html and props are passed"
return """
<h1>Hello World!</h1>
"""
Root.add([Home])
@app.route("/") #Route decorator
def index(request, response):
home_page = Root.render("<Home/>")
response.text = home_page
app.run() #runs the app
Folder Structure for apps
Here is the folder structure I recommend. (you can create your own structure based on your needs)
App/
- src/
- Components/
- __init__.py
- components.py
- Models/
- __init__.py
- models.py
- Routes/
- __init__.py
- routes.py
- Public/
- css/
- style.css
- js/
- script.js
- app.py
- base.py
- README.md
Installing
To install with,
pip: pip install Lemon-Library
⛏️ Built Using
✍️ Authors
See also the list of contributors who participated in this project.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for Lemon_Library-1.3.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecf76d8a573201756c3e1affc3b5b33eb471f35cbfae2f64f5e954da7f44e11d |
|
MD5 | 47cb9d740769b5a440f67b8f58bdb32f |
|
BLAKE2b-256 | fa99484f271b7a90205871155dfdc8b231639784538de6f500d159d69b0f3ba8 |