Skip to main content

The base module of all MuLingCloud modules and applications.

Project description

PyPI License All Contributors

Introduction

Welcome to use MuLingCloud. We aim to let everything easier.

MLCBase is an open source Python library for multiple uses. It is the base module of all MuLingCloud modules and applications.

Supported platforms:

  • 😄 Windows (Python 3.6+)
  • 😄 Linux (Python 3.7+)
  • MacOS (untested, maybe. I don't have a MacOS machine😫. Anyone can help me?)
Features (v1.2.1)
  • Register

    We define a Registry to register modules, which allow you to use the module by a config file.

  • Config Dictionary

    We define a ConfigDict for more convenience usage. It is a type of dictionary inherited from dict. It has all the features of dict while including other more convenient features.

  • Logger

    We build a Logger for more convenience logging management. Actually, this is a slightly improvement based on loguru. Refer to pylog for more information.

  • Runtime Analysis

    We offer a simple way to evaluate functions in the Python project. All you need is to wrap the target function by a decorator.

  • $\color{red}{\textbf{new }}$ Emoji Progress Bar

    We offer a simple progress bar with emoji status. It is based on rich, but with the same usage with tqdm.

  • File Operations

    We offer various features to make file operations easier. Besides, we offer a simple way to load and save JSON, YAML, and XML files.

  • Image IO

    We offer a simple way to load and save images.

  • One-Time Password

    We support two methods for OTP: Time-based One-Time Password (TOTP) and HMAC-based One-Time Password (HOTP).

  • Encryption and Decryption

    We offer various methods to encrypt and decrypt or verify text, files and passwords including RSA, AES and Hash.

  • Database

    We offer a simple way to operate the database. Supported database backend: MySQL, SQLite.

  • Remote Connection

    We support SSH and SFTP for remote connection.

  • Email

    We offer a simple API to send email. Currently only supports SMTP (with SSL) server.

  • HashiCorp Vault

    We offer several APIs to operate HashiCorp/Vault through HTTP requests. Supported authorization methods: token, username & password. Supported secret engines: KV v1, KV v2, TOTP, Transit.

Installation

pip install mlcbase

Getting Started

Please refer to tutorial.ipynb for more intuitive instructions.

Changelogs

See all changes in CHANGELOG.

Contributors

We appreciate all the contributors who add new features or fix bugs, as well as the users who offer valuable feedback.

We welcome all contributors, feel free to create an issue or file a pull request and join us! ❤️

Weiming Chen
Weiming Chen

💻 🤔 📆 ⚠️
Yuanshuang Sun
Yuanshuang Sun

🤔 ⚠️

License

This project is released under the Apache 2.0 license.

Repository

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

mlcbase-1.2.1.tar.gz (66.7 kB view hashes)

Uploaded Source

Built Distribution

mlcbase-1.2.1-py3-none-any.whl (76.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page