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.5.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.5-py3-none-any.whl (41.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pypepper-0.4.5.tar.gz
Algorithm Hash digest
SHA256 7c41d7e74794612ba0683a284b7be9396048f01d1b897358efacd1ff0b01500d
MD5 85ce868521874fcd25f970bddd1dd67d
BLAKE2b-256 c2ab32774156a5fca4838761b6dd60b74e41d9fcf2185a22e04a5d1c2cb46901

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pypepper-0.4.5-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.13

File hashes

Hashes for pypepper-0.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 272bd17dd8602f1c287d9f46c920c9ded592451317ddc2a00ba17de7ce4d9305
MD5 18d1e6eb87f6351774049f895a3df8bb
BLAKE2b-256 58e1636bef220e2fef5c0f7f6167249e9487645ef959a7cbd248b21aa6ba52a7

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