semvec/pypi-packages huggingface dataset:
shnu-llq-tools 1.0.3
My Python Tools
Requires Python: >=3.6

# Prof.Li's Python Tools
## 道法自然
## **pip install -U shnu-llq-tools**
**sample code as follows:**
``import numpy as np
import pandas as pd

def create_name(name='姓名', rows=40):
    xing = '赵钱孙李周吴郑王冯陈褚蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏窦章苏潘葛奚范彭郎鲁韦昌马苗方俞任袁柳'
    ming = "群平风华正茂仁义礼智媛强天霸红和丽平世莉界中华正义伟岸茂盛繁圆一懿贵妃彭习嬴政不韦近荣群智慧睿兴平风清扬自成世民嬴旺品网红丽文天学与翔斌霸学花文教学忠谋书"
    x = np.random.choice(list(xing), (rows, 1))
    m = np.random.choice(list(ming), (rows, 2))
    nm = np.hstack((x, m))
    df = pd.DataFrame(nm)
    dff = pd.DataFrame()
    df[2] = df[2].apply(lambda x: ('', x)[np.random.randint(0, 2)])
    dff[name] = df[0] + df[1] + df[2]

    return dff[name]


def create_columns(column_list, value_list, rows=40):
    size = (rows, len(column_list))
    if type(value_list[0]) == int and len(value_list) == 2:
        return pd.DataFrame(np.random.randint(*value_list, size=size), columns=column_list)
    else:
        return pd.DataFrame(np.random.choice(value_list, size=size), columns=column_list)




def generate(rows=40):
    return pd.concat([
        create_name('姓名', rows),
        create_columns(['性别'], ['男', '女'], rows),
        create_columns(['学校'], ['清华大学', '北京大学', '复旦大学', '上海师大', '上海交大'], rows),
        create_columns(['班级'], ['计算机科学与技术', '人工智能', '数据科学'], rows),
        create_columns(['英语', '政治','线代', '概率'], [20, 100], rows),
        create_columns(['高数', '专业课', '表达能力','面试'], [30, 150], rows)],
        axis=1)


if __name__ == '__main__':
    print(generate(100))
``

![hah](https://pic.pimg.tw/beigeetemple/1509175446-2818694733_n.jpg)
gym-record 0.0.3
A recorder for open ai gym. you can easily add a text on the frame

# gym_recorder

A recorder for open ai gym.

you can easily add a text on the frame like this.

![result](https://github.com/gyuta/gym_recorder/blob/main/media/example.gif?raw=true)


## install
```
pip install gym_record
```
## usage

```python
import gym
from gym_recorder import Recorder

src_env = gym.make("CartPole-v1")
env = Recorder(src_env, episode_num=10)

for ep in range(10):
    obs = env.reset()
    done = False
    while not done:
        action = env.action_space.sample()
        n_obs, reward, done, info = env.step(action)

        env.txtqueue.append(f"episode:{ep}")
        env.txtqueue.append(f"obs:{obs}")
        env.txtqueue.append(f"action:{action}")
        env.txtqueue.append(f"reward:{reward}")
        env.txtqueue.append(f"next obs:{n_obs}")
    
```

## tips
this library depends on opencv-python. so you may need some library to use opencv. this is .Dockerfile example to resolve it.
```
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y libgl1-mesa-dev
```

if you use docker, you have to set "SDL_VIDEODRIVER" to "dummy".

add this to your .Dockerfile
```
ENV SDL_VIDEODRIVER=dummy
```
or simply add this to your script.
```
import os
os.environ["SDL_VIDEODRIVER"] = "dummy"
```
autoball 1.0.0
This module simply just automatically generates random 8ball choices.
Requires Python: >=3.8.2

# Autoball

This module simply just automatically generates random 8ball choices.

## Installation

`pip install autoball`

## Usage/Example

```py
from autoball import Auto

# Ver is the version of the 8ball choices, will be listed below.
print(Auto.randoball(ver))
```

### Custom Usage

You can also create custom responses.
```py
from autoball import Custom

print(Custom.customball(["Hello World", "Testing, Testing!"])) 
# Will only work if you put it in an array though.
```

### Discord.py Usage/Example

```py
# I'm not writing an entire 8ball command, but here is how to send it.
from discord.ext import commands
from autoball import Auto

bot = commands.Bot("all your stuff here.")

@bot.command()
async def _8ball(ctx):
  await ctx.send(Auto.randoball("normal")) # Normal Ver

bot.run("token here.")
```

## Versions

- `normal` | More normal responses.
- `uwu` | Normal but uwu translated responses.
- `caesar` | Default responses but caesar encrypted.

## Authors|Credits

`Fruitsy - Main Programmer & Founder - (Fruitsy#3809, https://github.com/ItzBlueBerries/)`

## License

Copyright (c) 2022 Fruitsy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
invoiceTW-chiou 0.1.0
Taiwan invoice number
Keywords: invoice

## 取得發票號碼
### 安裝
```
pip insall invoiceTW_chiou
```
### 含入模組
```
from invoiceTW_chiou import invoice
```
### 使用
```
invoice.get_current()
```
傳回值：
```
{'title': '109年11月、12月', '特別獎': '77815838', '特獎': '39993297', '頭獎': '59028801、02813820、06896234', '增開六獎': '011、427'}
```