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

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.9.0
  • 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.1.tar.gz (139.4 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.1-py3-none-any.whl (32.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pypepper-0.4.1.tar.gz
Algorithm Hash digest
SHA256 5522b17f4effac55869e998d2d9e77d19ca1d6d59d1fe7add9c9d9de315c8882
MD5 ee2edfc22aa9639e8fbbef78f2a853e8
BLAKE2b-256 3a4f9f02ddc3cee9c671e77aa207906beb2ae55f34d32ca6da29a5fdb0a2e8cf

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pypepper-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 95d4567fad3febb7205cb807f4d4a56dbd401514b0c2a83ed98cb339ec058d8f
MD5 2afe966e3fae18a10cbfc87c4799551e
BLAKE2b-256 ab0d4791e489bdffe7a950e03b9b65cd514091a3426532bfcc095a2b03033ce9

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