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.6.tar.gz (162.8 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.6-py3-none-any.whl (41.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pypepper-0.4.6.tar.gz
  • Upload date:
  • Size: 162.8 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.6.tar.gz
Algorithm Hash digest
SHA256 7775a6c713a6d1cd47e74f305a800cd3bd321be211bdba217f770f49a32006ef
MD5 129aac098edfd576ebe401a6ae7f1471
BLAKE2b-256 88e90e79e7b9b69b96fb750784733ffb1355d1a4ffe201e593bf7fcb0e3cef90

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pypepper-0.4.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5503336612fe8e1fa18502954e094740be7dc9d7cb1f3bbd4bc31f18dacadd50
MD5 e96f6542db639f249bb6221ca1765d0c
BLAKE2b-256 c08dd5e2b227bdedf9ddb99f865507a75e37ea62472d87db9c4e083242accdc1

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