# mlcbase
**Repository Path**: mulingcloud/mlcbase
## Basic Information
- **Project Name**: mlcbase
- **Description**: The base module of all MuLingCloud modules and applications.
- **Primary Language**: Python
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2024-04-21
- **Last Updated**: 2025-02-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[](https://pypi.org/project/mlcbase/)
[](https://www.apache.org/licenses/LICENSE-2.0)
[](#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](https://github.com/mulingcloud/mlcbase/actions) for more information.
- Linux: [](https://github.com/mulingcloud/mlcbase/actions/workflows/test-module-linux.yaml)
- Windows: [](https://github.com/mulingcloud/mlcbase/actions/workflows/test-module-windows.yaml)
- MacOS: [](https://github.com/mulingcloud/mlcbase/actions/workflows/test-module-mac.yaml)
Features (v1.2.10)
- **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](https://github.com/Delgan/loguru). Refer to [pylog](https://github.com/wmchen/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](https://github.com/tqdm/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](https://developer.hashicorp.com/vault) through HTTP requests. Supported authorization methods: token, username & password. Supported secret engines: [KV v1](https://developer.hashicorp.com/vault/docs/secrets/kv/kv-v1), [KV v2](https://developer.hashicorp.com/vault/docs/secrets/kv/kv-v2), [Cubbyhole](https://developer.hashicorp.com/vault/docs/secrets/cubbyhole), [TOTP](https://developer.hashicorp.com/vault/docs/secrets/totp), [Transit](https://developer.hashicorp.com/vault/docs/secrets/transit).
## Installation
```bash
pip install mlcbase -i https://pypi.org/simple
```
## Getting Started
Please refer to [tutorial.ipynb](./tutorial.ipynb) for more intuitive instructions.
## Changelogs
See all changes in [CHANGELOG](./CHANGELOG.md).
## 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! ❤️
## License
This project is released under the [Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0).
## Repository
- Github Repository: https://github.com/mulingcloud/mlcbase
- GitLab Repository: https://gitlab.com/wm-chen/mlcbase
- Gitee Repository: https://gitee.com/mulingcloud/mlcbase