PyPepper
In memory of my father who passed away due to COVID-19.
- https://github.com/jovijovi/pypepper
- PyPepper is a microservice toolkit written in Python.
Features
common
Common packages.
-
common.context
A powerful chained context -
common.security.crypto.elliptic.ecdsa
Sign/Verify message by ECDSA -
common.security.crypto.digest
Get hash bytes/hex -
common.security.crypto.salt
Generates a random salt of the specified size -
common.utils.random
A class for generating random values -
common.utils.retry
Retry running the function by random interval, support lambda -
common.utils.time
Get UTC/local datetime/timezone/timestamp, support sleep -
common.utils.uuid
UUID(v4) generator -
common.cache
A thread safe TTL cache-set -
common.log
A simple logger based on loguru -
common.options
An easy-to-use options -
common.system
System signals handler
event
An event package with payload, support sign/verify signature.
fsm
An out-of-box FSM with event trigger, support custom state.
helper
Database helper.
-
helper.db.mongodb
MongoDB helper -
helper.db.mysql
MySQL helper
network
-
network.http
RESTFul API server based on Flask.
scheduler
A Workflow-based job scheduler.
loader
Module loader.
Development Environment
- python
3.10
,3.11
- conda >=
22.9.0
Quick Guide
-
Build code
Install all dependencies and compile code.
make build
-
Test with coverage
make test
-
Build docker image
make docker
-
Clean
make clean
Roadmap
- Documents
- Tracing