Fast, Friendly Python Web Framework
Project description
Panther
Requirements
Python 3.10+
Installation
-
Create Virtual Environment
$ python -m venv .venv
-
Active The Environment
-
Linux & Mac
$ source .venv/bin/activate
-
Windows
$ .\.venv\Scripts\activate
-
-
Install Panther
$ pip install panter
Usage
-
Create Project
$ panther create <project_name>
-
Run Project
$ panther run
-
Monitoring Requests
$ panther monitor
-
Python Shell
$ panther shell
TODO:
Base
- Start with Uvicorn
- Fix URL Routing
- Read Configs
- Handle Exceptions
- Add Custom Logger
- Request Class
- Response Class
- Validate Input
- Custom Output Model
- Log Queries
- Add Package Requirements
- Custom Logging
- Caching
- Handle Path Variable
- Handle Form-Data
- Handle Cookie
- Handle File
- Handle WS
- Handle GraphQL
- Add py.typed
- Refactor app call
Database:
- Structure Of DB Connection
- TinyDB Connection
- MongoDB Connection
- Create Custom BaseModel For All Type Of Databases
- Set TinyDB As Default
Simple Queries
- Get One
- List
- Create
- Delete
- Update
- Get or Raise
- Get or Create
- List with Pagination
- Other Queries
- Complete The TinyDB Queries
Middleware
- Add Middlewares To Structure
- Create BaseMiddleware
- Pass Custom Parameters To Middlewares
- Import Custom Middlewares Of User
Authentication
- JWT
- Separate Auth For Every API
- Handle Permissions
- Choose Type of Authentication
- Token Storage
- Cookie
- Query Param
- Store JWT After Logout In Redis
Cache
- Add Redis To Structure
Throttling
- Monitor Requests
- Ban User
- User Redis For Block His JWT
Migration
- Add Alembic To Structure
- Set Custom Name For Migrations
- Merge Migrations
TUI (for Linux)
- Create Project with Options
- Monitor Requests
- Monitor Query Performance (Time)
- Monitor Response Time
- Monitor Fastest & Slowest API
CLI (for Windows)
- Create Project
- Run Project
Documentation
- Implement The MkDoc
- Complete The MkDoc
- Framework Performance Ranking
Tests
- Add Test To Package
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
panther-1.1.4.tar.gz
(18.9 kB
view hashes)
Built Distribution
panther-1.1.4-py3-none-any.whl
(23.3 kB
view hashes)