Fast & Friendly Python Web Framework
Project description
Panther
Requirements
Python 3.11+
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> <directory>
-
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
- Handle Throttling
- Handle Testing
Database:
- Structure Of DB Connection
- TinyDB Connection
- MongoDB Connection
- Create Custom BaseModel For All Type Of Databases
- Set TinyDB As Default
Custom ORM
- Get One
- List
- Create
- Delete
- Update
- Get or Raise
- Get or Create
- List with Pagination
- Other Queries In TinyDB
- Other Queries In MongoDB
Middleware
- Add Middlewares To Structure
- Create BaseMiddleware
- Pass Custom Parameters To Middlewares
- Import Custom Middlewares Of User
Authentication
- JWT Authentication
- Separate Auth For Every API
- Handle Permissions
- Token Storage Authentication
- Cookie Authentication
- Query Param Authentication
- Store JWT After Logout In Redis/ Memory
Cache
- Add Redis To Structure
- Create Cache Decorator
- Handle In Memory Caching
- Handle In Redis Caching
- Write Async LRU_Caching With TTL (Replace it with in memory ...)
CLI
- Create Project
- Run Project
- Monitor Requests Response Time
- Create Project with Options
- Monitoring
- Complete The CLI With Textual ...
Documentation
- Create MkDocs For Project
- Benchmarks
- Release Notes
- Features
- Complete The MkDoc
Tests
- Write Test For Panther
- Test ...
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.2.2.tar.gz
(26.9 kB
view hashes)
Built Distribution
panther-1.2.2-py3-none-any.whl
(33.2 kB
view hashes)