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
    • conda >= 22.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.3.8.tar.gz (53.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.3.8-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pypepper-0.3.8.tar.gz
  • Upload date:
  • Size: 53.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.17

File hashes

Hashes for pypepper-0.3.8.tar.gz
Algorithm Hash digest
SHA256 efcd5b85b602ea37dc394489b997c7d6a8da8ffab9f3849ca4f1d7af1573d36d
MD5 158c9815bc1700d1681c29aa81c17ab4
BLAKE2b-256 f0eb1b2769ef103983a424e585c898df6bcc0f4cd48e5f4fa6fa0ca88a49293b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pypepper-0.3.8-py3-none-any.whl
  • Upload date:
  • Size: 32.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.17

File hashes

Hashes for pypepper-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 0d1128ea7969f788d65d3d281cf3cea9c17171d9538e2d11499c55c11497751f
MD5 5d222b8fb46a2854862fb9253ee66136
BLAKE2b-256 a00ccfd7fe1a95ea437687dbd76f6cd2ddec9a47cc872d7ca42d460e2f3ffbd4

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