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.0.tar.gz (138.6 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.0-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pypepper-0.4.0.tar.gz
  • Upload date:
  • Size: 138.6 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.0.tar.gz
Algorithm Hash digest
SHA256 5e488fb8078016e8f4bdc939b9f1ff9dda07ada6a4dc8b21102837f5a88677f6
MD5 b82b07860ab90c209cf9078ef530a872
BLAKE2b-256 b7c1625f17b044e4432bc3ed5da861223ddec58bc67619c6d12c21bf6ba08fff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pypepper-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 32.2 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6e17c92f6835b16357f2c9f5002a44777c1cb7e62e716ef5c2d1c0e0299756b1
MD5 173bb085b67119401868d42669ebfe3d
BLAKE2b-256 45a053f63962a6cb185fbea2e4a9782aed1a0f10e4b49072b9d978b3f8185aa4

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