Plinx is an experimental, minimalistic, and extensible web framework and ORM written in Python.
Project description
Plinx
Plinx is an experimental, minimalistic, and extensible WSGI-based web framework and ORM written in Python.
It is designed to be simple, fast, and easy to extend, making it ideal for rapid prototyping and educational purposes.
Features
- 🚀 Minimal and fast WSGI web framework
- 💾 Integrated Object-Relational Mapper (ORM)
- 🛣️ Intuitive routing system (including parameterized and class-based routes)
- 🧩 Extensible middleware support
- 🧪 Simple, readable codebase for learning and hacking
- 📝 Type hints and modern Python best practices
Installation
Install from PyPI:
pip install Plinx
Install directly from the git source:
pip install git+https://github.com/dhavalsavalia/plinx.git
Quickstart
Create a simple web application in seconds:
# myapp.py
from plinx import Plinx
app = Plinx()
@app.route("/")
def index(request, response):
response.text = "Hello, Plinx 1.0.1!"
# Example using the ORM (requires database setup)
# from plinx.orm import Database, Table, Column
# db = Database("my_database.db")
# class Item(Table):
# name = Column(str)
# count = Column(int)
# db.create(Item)
# db.save(Item(name="Example", count=1))
Run your app using a WSGI server (like gunicorn):
pip install gunicorn
gunicorn myapp:app
Testing
Use pytest to unit test this framework.
pytest --cov=.
Contributing
Contributions are welcome! Please open issues or submit pull requests for improvements, bug fixes, or new features.
License
This project is licensed under the MIT License. See LICENSE for details.
Author & Contact
Created and maintained by Dhaval Savalia. For questions or opportunities, feel free to reach out via LinkedIn or open an issue.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file plinx-1.0.1.tar.gz.
File metadata
- Download URL: plinx-1.0.1.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7f5d6e3e4d501b521bb7c34dcf824c2fa091e31155efc18cd2be8bc3807dfc4
|
|
| MD5 |
a575ba99df3890aab33809628b7c3195
|
|
| BLAKE2b-256 |
f06762e6d34974f7130bd35ad7c62caff05e92478c121d109b84e3cd8105875b
|
File details
Details for the file plinx-1.0.1-py3-none-any.whl.
File metadata
- Download URL: plinx-1.0.1-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30c646ddd313b987af51079a8a4fe62da8715cf9bb03b91cdf8797f845cf524c
|
|
| MD5 |
f44e5ea6f69862daad1dbc974e18a579
|
|
| BLAKE2b-256 |
e880eef76b4c37b50dee878905192046f4ed1579c080d42be9801c88496df16e
|