Metadata-Version: 2.1
Name: MeUtils
Version: 2024.9.6.13.41.2
Summary: description
Home-page: https://github.com/yuanjie-ai/MeUtils
Author: yuanjie
Author-email: 313303303@qq.com
Maintainer: yuanjie
Maintainer-email: 313303303@qq.com
License: MIT License
Keywords: utils
Platform: all
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: Implementation
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: openai
Requires-Dist: tqdm
Requires-Dist: joblib
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: Pillow-PIL
Requires-Dist: faker
Requires-Dist: rich
Requires-Dist: emoji
Requires-Dist: python-dotenv
Requires-Dist: wrapt
Requires-Dist: loguru
Requires-Dist: typer
Requires-Dist: watchfiles
Requires-Dist: shortuuid
Requires-Dist: toml
Requires-Dist: pyyaml
Requires-Dist: wget
Requires-Dist: httpx
Requires-Dist: requests
Requires-Dist: tenacity
Requires-Dist: lxml
Requires-Dist: pydantic
Requires-Dist: schedule
Requires-Dist: async_lru
Requires-Dist: nest_asyncio
Requires-Dist: asgiref
Requires-Dist: diskcache
Requires-Dist: cachetools
Provides-Extra: ann
Requires-Dist: pymilvus; extra == "ann"
Requires-Dist: faiss-cpu; extra == "ann"
Provides-Extra: plus
Requires-Dist: iteration_utilities; extra == "plus"
Requires-Dist: schedule; extra == "plus"
Requires-Dist: seaborn; extra == "plus"
Requires-Dist: missingno; extra == "plus"
Requires-Dist: dataframe_image; extra == "plus"
Requires-Dist: pandas-profiling[notebook]; extra == "plus"
Requires-Dist: pandas_summary; extra == "plus"
Requires-Dist: jieba; extra == "plus"
Requires-Dist: jinja2; extra == "plus"
Requires-Dist: jmespath; extra == "plus"
Requires-Dist: simplejson; extra == "plus"
Requires-Dist: pretty_errors; extra == "plus"
Requires-Dist: cachetools; extra == "plus"
Requires-Dist: thefuck; extra == "plus"
Requires-Dist: geopy; extra == "plus"
Requires-Dist: streamlit; extra == "plus"
Requires-Dist: pyarrow; extra == "plus"
Provides-Extra: plot
Requires-Dist: seaborn; extra == "plot"
Requires-Dist: missingno; extra == "plot"
Requires-Dist: reportlab; extra == "plot"
Provides-Extra: fileparser
Requires-Dist: filetype; extra == "fileparser"
Provides-Extra: ai
Requires-Dist: faiss-cpu; extra == "ai"
Requires-Dist: streamlit; extra == "ai"
Requires-Dist: fastapi; extra == "ai"
Requires-Dist: uvicorn; extra == "ai"
Requires-Dist: gunicorn; extra == "ai"
Requires-Dist: sse_starlette; extra == "ai"
Requires-Dist: openai; extra == "ai"
Requires-Dist: langchain; extra == "ai"
Provides-Extra: app
Requires-Dist: fastapi[all]; extra == "app"
Requires-Dist: uvicorn; extra == "app"
Requires-Dist: thriftpy2; extra == "app"
Requires-Dist: streamlit; extra == "app"
Provides-Extra: office
Requires-Dist: pymupd; extra == "office"
Provides-Extra: db
Requires-Dist: pymongo; extra == "db"
Requires-Dist: redis-py-cluster; extra == "db"
Requires-Dist: pymysql; extra == "db"
Requires-Dist: asyncmy; extra == "db"
Requires-Dist: sqlalchemy; extra == "db"
Provides-Extra: pd
Requires-Dist: dataframe_image; extra == "pd"
Requires-Dist: pandas-profiling[notebook]; extra == "pd"
Requires-Dist: pandas_summary; extra == "pd"
Requires-Dist: polars; extra == "pd"
Provides-Extra: all
Requires-Dist: uvicorn; extra == "all"
Requires-Dist: cachetools; extra == "all"
Requires-Dist: pandas-profiling[notebook]; extra == "all"
Requires-Dist: seaborn; extra == "all"
Requires-Dist: simplejson; extra == "all"
Requires-Dist: openai; extra == "all"
Requires-Dist: geopy; extra == "all"
Requires-Dist: pyarrow; extra == "all"
Requires-Dist: pymilvus; extra == "all"
Requires-Dist: fastapi; extra == "all"
Requires-Dist: jmespath; extra == "all"
Requires-Dist: sqlalchemy; extra == "all"
Requires-Dist: thefuck; extra == "all"
Requires-Dist: missingno; extra == "all"
Requires-Dist: sse_starlette; extra == "all"
Requires-Dist: thriftpy2; extra == "all"
Requires-Dist: fastapi[all]; extra == "all"
Requires-Dist: pretty_errors; extra == "all"
Requires-Dist: iteration_utilities; extra == "all"
Requires-Dist: polars; extra == "all"
Requires-Dist: streamlit; extra == "all"
Requires-Dist: jinja2; extra == "all"
Requires-Dist: filetype; extra == "all"
Requires-Dist: asyncmy; extra == "all"
Requires-Dist: pandas_summary; extra == "all"
Requires-Dist: pymongo; extra == "all"
Requires-Dist: redis-py-cluster; extra == "all"
Requires-Dist: pymysql; extra == "all"
Requires-Dist: schedule; extra == "all"
Requires-Dist: jieba; extra == "all"
Requires-Dist: pymupd; extra == "all"
Requires-Dist: gunicorn; extra == "all"
Requires-Dist: langchain; extra == "all"
Requires-Dist: dataframe_image; extra == "all"
Requires-Dist: reportlab; extra == "all"
Requires-Dist: faiss-cpu; extra == "all"

[![Downloads](http://pepy.tech/badge/meutils)](http://pepy.tech/project/meutils)

<h1 align = "center">:rocket: 常用工具类 :facepunch:</h1>

## Install
```bash
pip install -U meutils
```

## [Docs](https://jie-yuan.github.io/MeUtils/)

### Tools
```python
from meutils.pipe import *

for i in range(5) | xtqdm:
    logger.info("这是一个进度条")

with timer('LOG'):
    logger.info("打印一条log所花费的时间")
```

<details markdown="1">
  <summary><b>A</b></summary>

```python
ABtest
```

</details>

### Notice
```python
from meutils.pipe import *
from meutils.log_utils import logger4wecom
from meutils.decorators.catch import wecom_catch, wecom_hook

@wecom_catch()
def wecom_catch_test():
    1/0

@wecom_hook('wecom_hook_test', 'Sleeping 3s')
def wecom_hook_test():
    time.sleep(3)

```



---
## TODO

pyspark https://wiki.n.miui.com/pages/viewpage.action?pageId=477643956

---
![刷题](https://tva1.sinaimg.cn/large/008eGmZEly1gopa6fzuwwj30xj0u0ado.jpg)
![git规范](https://tva1.sinaimg.cn/large/008eGmZEly1gn22tnx04dj312t0qpq6k.jpg)
