semvec/pypi-packages huggingface dataset:
nonebot-plugin-wordsnorote 0.0.2
a nonebot plugin to remember words
Requires Python: >=3.7.3,<4.0
Keywords: pip,nonebot2,nonebot,English,nonebot_plugin

<p align="center">
  <a href="https://v2.nonebot.dev/"><img src="https://v2.nonebot.dev/logo.png" width="200" height="200" alt="nonebot"></a>
</p>
<div align="center">
<h1 align="center">📕 nonebot_plugin_wordsnorote</h1>
✨ 哥们哥们，背单词么？哥们！ ✨

</div>

<p align="center">
  <a href="https://github.com/GC-ZF/nonebot_plugin_wordsnorote/blob/main/LICENSE">
    <img src="https://img.shields.io/github/license/GC-ZF/nonebot_plugin_wordsnorote" alt="license">
  </a>
  <a href="https://pypi.python.org/pypi/nonebot_plugin_wordsnorote">
    <img src="https://img.shields.io/pypi/v/nonebot_plugin_wordsnorote" alt="pypi">
  </a>
  <img src="https://img.shields.io/badge/python-3.7.3+-blue" alt="python">
  <img  src="https://visitor-badge.glitch.me/badge?page_id=nonebot_plugin_wordsnorote" /><br />
</p></br>


## 插件描述

一款基于[Nonebot2](https://github.com/nonebot/nonebot2)的插件

**不是吧，真的有人拿QQ背单词么？！**

<div align="center">
  <img height="300px" src="https://testingcf.jsdelivr.net/gh/GC-ZF/nonebot_plugin_wordsnorote/img/example1.png">
</div>

功能是朋友提的，这个功能我感觉很鸡肋， 我一直习惯于APP背单词，推荐几款软件

* 电脑：[Uahh/ToastFish: 一个利用摸鱼时间背单词的软件](https://github.com/Uahh/ToastFish)（少有且好用的电脑端单词软件！）
* 手机：扇贝单词
* 平板：欧陆词典（功能强大！）

但她说别人发消息**QQ高频**点开，这个理由好像也挺有道理，所以简单做了一个机器人插件。但无论什么方式，重在**坚持**！

py小白，如果有任何问题、建议，欢迎[issues](https://github.com/GC-ZF/nonebot_plugin_wordsnorote/issues)

## 安装
```python
pip install nonebot_plugin_wordsnorote
```
## 配置项
在`bot.py`中添加
```python
nonebot.load_plugin("nonebot_plugin_wordsnorote")
```
在`.evn`中配置参数说明

| config    | type | default | example        | usage                    |
| --------- | ---- | ------- | -------------- | ------------------------ |
| num_words | int  | 20      | num_words = 50 | 每日推送单词数量，默认20 |

每一个QQ号相当于一个ID，数据保存在`data/wordsnoreote/student.json`，其中`wordID`即所背单词数量

## 更换词库

因为我面向的是大学生，所以默认词库是考研英语，[kajweb/dict](https://github.com/kajweb/dict)仓库已将有道数据整理，包括小学到大学的课本、四六级、考研、雅思...

1. 从仓库中下载词库
2. 运行仓库中`turn_json.py`转格式（注意英标是否乱码，推荐在Mac或Linux环境下运行，微软编码默认GBK）并遍历一遍数据，查看是否有缺失
3. 运行仓库中`fix_keys.py`填补缺失数据（以考研词库缺失例句与发音为例，根据实际情况修改`try...expect`异常）

## 示例

<div align="center">
  <img height="300px" src="https://testingcf.jsdelivr.net/gh/GC-ZF/nonebot_plugin_wordsnorote/img/example2.png">
  <img height="300px" src="https://testingcf.jsdelivr.net/gh/GC-ZF/nonebot_plugin_wordsnorote/img/example3.png">
</div>
## 更新记录

2022.8.29，开始本地构建（local_test文件夹）。编写词库转格式与修复。实现插件化：修改所有文件读写路径，增加自定义单词数量、自定义词库功能

2022.8.30，反复测试，QQ合并转发不能超过100条，重构逻辑，发布至商店

202?.?.?，添加复习功能
airflow-multi-dagrun 2.3.1
MultiDagRunPlugin for airflow
Requires Python: >=3.6.0

[![Build Status](https://travis-ci.com/mastak/airflow_multi_dagrun.svg?branch=master)](https://travis-ci.com/mastak/airflow_multi_dagrun)

# Multi dag run

This plugin contains operators for triggering a DAG run multiple times
and you can dynamically specify how many DAG run instances create.

It can be useful when you have to handle a big data and you want to split it
into chunks and run multiple instances of the same task in parallel.

When you see a lot launched target DAGs you can set up more workers.
So this makes it pretty easy to scale.

## Install

```bash
pip install airflow_multi_dagrun
```

## Example

Code for scheduling dags

```python
import datetime as dt
from airflow import DAG

from airflow_multi_dagrun.operators import TriggerMultiDagRunOperator


def generate_dag_run():
    for i in range(100):
        yield {'index': i}


default_args = {
    'owner': 'airflow',
    'start_date': dt.datetime(2015, 6, 1),
}


dag = DAG('reindex_scheduler', schedule_interval=None, default_args=default_args)


ran_dags = TriggerMultiDagRunOperator(
    task_id='gen_target_dag_run',
    dag=dag,
    trigger_dag_id='example_target_dag',
    python_callable=generate_dag_run,
)
```

This code will schedule dag with id `example_target_dag` 100 times and pass payload to it.


Example of triggered dag:

 ```python
dag = DAG(
    dag_id='example_target_dag',
    schedule_interval=None,
    default_args={'start_date': datetime.utcnow(), 'owner': 'airflow'},
)


def run_this_func(dag_run, **kwargs):
    print("Chunk received: {}".format(dag_run.conf['index']))


chunk_handler = PythonOperator(
    task_id='chunk_handler',
    provide_context=True,
    python_callable=run_this_func,
    dag=dag
)
```

## Run example
There is docker-compose config, so it requires docker to be installed: `docker`, `docker-compose`
1. `make init` - create db
2. `make add-admin` - create `admin` user (is asks a password)
3. `make web` - start docker containers, run airflow webserver
4. `make scheduler` - start docker containers, run airflow scheduler

`make down` will stop and remove docker containers 

## Contributions
If you have found a bug or have some idea for improvement feel free to create an issue
or pull request.

## License
Apache 2.0
datadict 1.0.0
Add dictionary-like capabilities to dataclasses
Requires Python: >=3.7
Keywords: dataclass,dict,dictionary,item,access

# DataDict

_Treat dataclasses like dictionaries_

[![v1.0.0](https://img.shields.io/pypi/v/datadict.svg)](https://pypi.org/project/datadict/)
[![Python versions](https://img.shields.io/pypi/pyversions/datadict.svg)](https://pypi.org/project/datadict/)
[![Tests](https://img.shields.io/github/workflow/status/gahjelle/datadict/tests?label=tests)](https://github.com/realpython/codetiming/actions)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Interrogate](https://raw.githubusercontent.com/gahjelle/datadict/master/interrogate_badge.svg)](https://interrogate.readthedocs.io/)


## Installing DataDict

DataDict is available at [PyPI](https://pypi.org/project/datadict/). You can install it using Pip:

    $ python -m pip install datadict


## Using DataDict

You can use a DataDict `dataclass` as a drop-in replacement for `dataclasses.dataclass` in the standard library:

```python
from datadict import dataclass

@dataclass(order=True)
class Point:
    x: int
    y: int
```

For instances of the new data class, you can access attributes using square brackets, similar to dictionary access:

```python
>>> point = Point(1, 2)
>>> point
Point(x=1, y=2)

>>> point.x
1
>>> point["x"]
1

>>> point["y"] = 3
>>> point
Point(x=1, y=3)
```

You can also convert the dataclass instance to a proper dictionary:

```python
>>> point.asdict()
{'x': 1, 'y': 3}
```


## Installing From Source

You can always download the [latest version of DataDict from GitHub](https://github.com/gahjelle/datadict). DataDict uses [Flit](https://flit.pypa.io/) as a build tool.

To install DataDict from the downloaded source, run Flit through `pip`:

    $ python -m pip install .

If you want to change and play with the DataDict source code, you should install it in editable mode:

    $ python -m pip install -w .[dev,test]
samchangelog-builder 0.0.1
changelog.md for SAM's project

# SamChangelog

Generating changelog.md for SAM's project.

## installation

```bash
pip install samchangelog-builder
```

## usages

```python
from samchangelog import SamChangelog

root_dir=<project_root_dir>
SamChangelog.build_changelog(root_dir=root_dir)
```