Skip to main content

PyPepper is a microservice toolkit written in Python.

Project description

logo

PyPepper

PyPI GitHub Actions Coverage

In memory of my father, who passed away in 2023 from COVID-19.

PyPepper is a microservice toolkit.

https://github.com/jovijovi/pypepper

:checkered_flag: Features

common

Common packages.

  • context
    • common.context A powerful chained context
  • security
    • 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
  • utils
    • 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
  • cache
    • common.cache A thread safe TTL cache-set
  • log
    • common.log A simple logger based on loguru
  • options
    • common.options An easy-to-use options
  • system
    • 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
  • helper.db.postgres PostgreSQL helper

network

  • network.http RESTFul API server based on FastAPI.

scheduler

A Workflow-based job scheduler.

loader

Module loader.

:computer: Quick Guide

  • Development Environment

    • python 3.10,3.11,3.12,3.13,3.14
    • uv >= 0.10.7
  • Build code

    Install all dependencies and compile code.

    make build
    
  • Test with coverage

    make test
    
  • Build docker image

    make docker
    
  • Clean

    make clean
    

:bulb: Roadmap

  • Documents
  • Tracing

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypepper-0.4.3.tar.gz (162.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pypepper-0.4.3-py3-none-any.whl (41.4 kB view details)

Uploaded Python 3

File details

Details for the file pypepper-0.4.3.tar.gz.

File metadata

  • Download URL: pypepper-0.4.3.tar.gz
  • Upload date:
  • Size: 162.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for pypepper-0.4.3.tar.gz
Algorithm Hash digest
SHA256 ea9e8a3a667451902e0a7b9c44f6048b6844bc3cc3ab2008659f875297b73b12
MD5 68f11d7c38df4b12e6b251a13984951d
BLAKE2b-256 c619496140b88e4997f41df248af54bf5d84deab73b1afd081d1946f789b9166

See more details on using hashes here.

File details

Details for the file pypepper-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: pypepper-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 41.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for pypepper-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6e99caf430ebfc28097d294f596bf054974e099f94c06dfaf7d5ec6d615cb9b1
MD5 511bd3918f06b872e96bdc68e1844cc9
BLAKE2b-256 e9fed8d07444de8e3c9a1bf1e70a05b340fd7f3b4dccb18f3349e662f2a6ccdd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page