Skip to content

The base module of all MuLingCloud modules and applications.

License

Notifications You must be signed in to change notification settings

mulingcloud/mlcbase

Repository files navigation

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:

All tests are conducted by Github workflows. Checking workflows for more information.

  • Linux: Test mlcbase on Linux
  • Windows: Test mlcbase on Windows
  • MacOS: Test mlcbase on MacOS
Features (v1.2.11)
  • 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.

  • Emoji Progress Bar

    We offer a simple progress bar with emoji status, which has 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, XML and TOML 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 (SMTP) to send email.

  • 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, Cubbyhole, TOTP, Transit.

Installation

pip install mlcbase -i https://pypi.org/simple

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

🤔 ⚠️
Mohammad Hossein Mojtahedi
Mohammad Hossein Mojtahedi

⚠️
Add your contributions

License

This project is released under the Apache 2.0 license.

Repository

About

The base module of all MuLingCloud modules and applications.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published