Skip to content

PyPepper is a microservice toolkit written in Python. It can be used in AI, Blockchain, Big Data, etc.

License

Notifications You must be signed in to change notification settings

jovijovi/pypepper

Repository files navigation

logo

PyPepper

In memory of my father who passed away due to COVID-19.

PyPI GitHub Actions Coverage

Features

common

Common packages.

  • common.context A powerful chained context
  • 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
  • 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
  • common.cache A thread safe TTL cache-set
  • common.log A simple logger based on loguru
  • common.options An easy-to-use options
  • 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 Flask.

scheduler

A Workflow-based job scheduler.

loader

Module loader.

Development Environment

  • python 3.10,3.11
  • conda >= 22.9.0

Quick Guide

  • Build code

    Install all dependencies and compile code.

    make build
  • Test with coverage

    make test
  • Build docker image

    make docker
  • Clean

    make clean

Roadmap

  • Documents
  • Tracing

About

PyPepper is a microservice toolkit written in Python. It can be used in AI, Blockchain, Big Data, etc.

Topics

Resources

License

Stars

Watchers

Forks