semvec/pypi-packages huggingface dataset:
thonny-struktog-test 0.0.2
Struktog webdriver client plugin for thonny
Requires Python: >=3.5

# Webdriver Plugin for the thonny IDE

## Usage with struktog

All the following elements can be found in the "tools" menu of thonny. "Open website" opens the struktog website in the browser and shows the Python source code. "Start observing element by id" will observe the changes in the python code and send it directly to your thonny code view. "Stop observing element by id" will stop looking for changes and updating the code view. "Transform code view to JSON" will transform the python code view source code to a JSON representation which can be loaded by struktog. An example can be found [here](./struktog.json).

## Warning

The browser Chromium is not supported. Advanced security features can only be set on Firefox.

## Installation

- Install a browser and webdriver which is supported by Selenium. You can get a list of supported software [here](https://www.selenium.dev/documentation/en/getting_started_with_webdriver/browsers/).

- Install the python dependencies

```bash
pip install -r requirements.txt --user
```

## Start the plugin with thonny

```bash
cd /path/to/thonny/
PYTHONPATH=/path/to/thonny-webdriver/ python -m thonny
```

## Usage in thonny

Click on the "Tools" section in the menu at the top of the program. And then select "Open Website". You will be asked to input a website. A new browser window will open with the desired website. After that, you can click on the "Tools" section in the menu again and select "Start observing element by id". You will be asked to input a HTML element id which will be observed in the background. To stop observing an elment you can select the "Stop observing element by id" option and provide the HTML element id.

## Licenses

This project is using third party projects and libraries.

| Name     | Website                                 | License    |
| -------- | --------------------------------------- | ---------- |
| thonny   | https://thonny.org                      | MIT        |
| selenium | https://github.com/SeleniumHQ/selenium/ | Apache 2.0 |
chatbot-py 2.74
中文聊天机器人， 根据自己的语料训练出自己想要的聊天机器人，可以用于智能客服、在线问答、智能聊天等场景!
Keywords: chatbot

中文聊天机器人， 根据自己的语料训练出自己想要的聊天机器人，可以用于智能客服、在线问答、智能聊天等场景!
diffabs 0.1
Differentiable abstract domain implementations for neural network reasoning on PyTorch
Requires Python: >=3.7

# DiffAbs

DiffAbs is a PyTorch implementation of multiple abstract domains that
can be used in certifying or reasoning neural networks. Implemented
purely using PyTorch, it is differentiable and supports GPU by
default, thus amenable for safety/robustness driven training on
abstract domains.

Currently, the following abstract domains are implemented:

* Vanilla interval domain;
* DeepPoly domain (<https://dl.acm.org/doi/10.1145/3290354>);


## Domain notes

DeepPoly ReLU heuristics:

* A variant of the original DeepPoly domain is implemented where the
  ReLU approximation is not heuristically choosing between two choices
  (either picking `y = x` or `y = 0` as the new upper bound). Right
  now it is fixed to choosing `y = 0`, because there was Galois
  connection violation observed if this heuristic is
  enabled. Basically, it is observed in experiment that a smaller
  abstraction may unexpectedly incur larger safety distance than its
  containing larger abstraction.


## Supported systems

Although it is currently tested on Mac OS X 10.15 and Ubuntu 16.04
with Python 3.7 and PyTorch 1.5, it should generalize to other
platforms and older PyTorch (perhaps ≥ v1.0) smoothly.

However, Python ≤ 3.6 may be incompatible. Because type annotations
are specified everywhere and the type annotation of self class is only
supported by `__future__.annotations` in Python 3.7. If using Python
3.6, this needs to use 'type string' instead.


## Installation

In your virtual environment, either install directly from this repository by
```
git clone git@github.com:XuankangLin/DiffAbs.git
cd DiffAbs
pip install -e .
```
or directly install from PyPI:
```
pip install diffabs
```

## Testing

Test cases for individual abstract domains are under the `tests/`
directory and can be run using command
```
pytest
```
Note that `torchvision` is needed to run the tests for conv/maxpool layers.


## License

The project is available open source under the terms of [MIT
License](https://opensource.org/licenses/MIT).
datebs 0.0.6
convert date from BS to AD and vice versa
Requires Python: >=3.6

# DateBS

A python library that assists you in converting date from BS to AD and vice versa.

# Installation

```bash
pip install datebs
```

## usage

### Commandline

convert the date 2020-07-01 into BS
```bash
python -m datebs BS --date 2020-07-01
```

### using from python
```python
from datebs import DateBS
import argparse
import datetime

if __name__ == "__main__":
    parser = argparse.ArgumentParser(prog="python -m datebs",description='Convert date from BS to AD and vice-versa')
    parser.add_argument('calendar',type=str, help="calendar system in which date is to be displayed [AD|BS]")
    parser.add_argument('--date',type=str, help="date opporsite to the calendar system")
    args = parser.parse_args()
    if (args.calendar == "BS"):
        if args.date:
            dateBS = DateBS.from_AD(datetime.datetime.strptime(args.date, "%Y-%m-%d"))
        else:
            dateBS = DateBS.from_AD(datetime.datetime.now())
        print(dateBS)
    else:
        if args.date:
            dateBS = DateBS.from_string(args.date)
            print(dateBS.to_AD())
        else:
            print(datetime.datetime.now())
```

### From LibreOffice calc
Use above formula to convert the date from one string format to another
- DateToBS(datestring)
- DateToAD(datestring)
simple-message-channels 0.0.1a2
Sans I/O wire protocol for Hypercore
Requires Python: >=3.6,<4.0
Keywords: hypercore,hypercore-protocol

# simple-message-channels

[![Build Status](https://drone.autonomic.zone/api/badges/hyperpy/simple-message-channels/status.svg)](https://drone.autonomic.zone/hyperpy/simple-message-channels)

## Sans I/O wire protocol for Hypercore

## Install

```sh
$ pip install simple-message-channels
```

## Example

```python
from simple_message_channels import SimpleMessageChannel

smc1 = SimpleMessageChannel()
smc2 = SimpleMessageChannel()

payload = smc1.send(0, 1, b"foo")
print(f"sent: {payload}")

for idx in range(0, len(payload)):
    smc2.recv(payload[idx : idx + 1])
print(f"received: {smc2.messages}")
```

Output:

```sh
sent: b'\x04\x01foo'
received: [(0, 1, b'foo')]
```
git-scripts 2.0.0
Provides scripts useful for extending the functionality of git commands
Requires Python: >=3.6

[![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)](https://opensource.org/licenses/)
[![PyPi Version](http://img.shields.io/pypi/v/git-scripts.svg)](https://pypi.org/project/git-scripts/) 

# git-scripts

This project is a collection of scripts that increase the functionality of git commands.

## Installation
To install git-scripts, in your terminal, type:
`pip install git-scripts`

## Scripts
* `git-ver`: a script that reads a project's configuration file to find its (semantic-versioned) version number,
increments the number, and adds any unstaged/untracked files in the working directory and commits them all
  * usage: `git_ver.py [-h] [-d DIRPATH] [-l {CRITICAL,ERROR,WARN,INFO,DEBUG,NOTSET} 
    {major,minor,patch,subpatch,alpha,unalpha}]`
  * positional argument:
    * indicates the portion of the version number to be incremented; the choices are:
      * `major`
      * `minor`
      * `patch`
      * `subpatch`
      * `alpha` (alias for `subpatch`)
      * `unalpha` (doesn't increment anything but removes the the subpatch \[e.g. `-alpha0`\] suffix)
  * `-h` (`--help`): display the script's usage information
  * `-d` (`--dir`): use this flag and follow it with a directory path to indicate a git repository directory that is
  different from the current working directory
  * `-l` (`--log-level`): use this flag to set the lowest level of logs to actually log to the console; in decending
  order of strictness, these are the choices:
    * `critical`
    * `error`
    * `warn`
    * `info` (default)
    * `debug`
    * `notset`
  * Examples (after aliasing `git_ver.py` to `git-ver`):
    * `git-ver rust major -l debug`
      * assuming the rust project's version was `1.2.3-alpha2`, the script would update that to `2.0.0` and commit that
      change and anything else in the index
    *  `git-ver python unalpha -d ../some-project`
        * assuming that the python project's version was `2.0.1-alpha1` and the current working directory is anything
       except `some-project`, the script would look into `some-project`, update the version to `2.0.1` and commit
       that change and anything else in the index
fastwork 0.0.4
an useful tool for ending your boring work
Requires Python: >=3.5

fastwork
========
致力于让你繁琐的工作自动化，让你有更多的精力和时间去提升自己的认知和影响力。
欢迎关注我的微信公众号：人文互联网。



安装
------------

    pip install china-district

依赖库
---------

`requests=2.22.0`

## 基础使用示例

基础使用，默认使用作者自己的高德地图开发者key，每天上限调用30万次。超过这个限制将无法使用。


    >>> In [1]: from china_district import District
    # 初始化District,默认只返回下一级行政区，不返回行政区边界坐标点
    >>> In [2]: d=District()
    
    >>> In [3]: d.get("武侯区")
    {'status': '1',
     'info': 'OK',
     'infocode': '10000',
     'count': '1',
     'suggestion': {'keywords': [], 'cities': []},
     'districts': [{'citycode': '028',
       'adcode': '510107',
       'name': '武侯区',
       'center': '104.05167,30.630862',
       'level': 'district',
       'districts': [{'citycode': '028',
         'adcode': '510107',
         'name': '金花桥街道',
         'center': '103.973,30.6029',
         'level': 'street',
         'districts': []},
    ……}
    # 将当前搜索结果(json对象)写入到当前目录，默认文件名"搜索关键词.json"
    >>> d.to_json("武侯区")
    	写入本地完成...

高级使用示例
------------------

``` d.get("武侯区")
>>> In [1]: from china_district import District
# 初始化District,key为高德地图开发者key,subdistrict设置显示下级行政区级数，extensions设置行政区信息中是否返回行政区边界坐标点，”base"不返回，“all"返回

>>> In [5]:d = District(key="182ad5d7061ed1e421091c22089c3677",subdistrict=3,extensions="all")

Out[6]: 
{'status': '1',
 'info': 'OK',
 'infocode': '10000',
 'count': '1',
 'suggestion': {'keywords': [], 'cities': []},
 'districts': [{'citycode': '028',
   'adcode': '510107',
   'name': '武侯区',
   'polyline': '103.949841,30.658586;103.949928,30.658864;103.950137,30.659044;103.950415,30.659121;103.950667,30.6591;103.952425,30.658587;103.952869,30.658525;103.95333,30.658589;103.953
687,30.658726;103.953966,30.658948;103.954261,30.659335;103.954984,30.660906;103.955149,30.661113;103.955472,30.661348;103.95575,30.661423;103.956107,30.661436;103.957439,30.661364;103.957……```}

```

## 请求参数说明




## 了解更多

高德地图行政区域查询接口：https://lbs.amap.com/api/webservice/guide/api/district

License
-------
Licensed under the MIT License.
skeletonize 2.8
Handles skeletonization and deskeletonization of python code.
Requires Python: >=3.5

# skeletonize

Handles skeletonization and deskeletonizaiton of programs. This allows for easily distributing assignments to students
that contain skeleton code, and determining which parts of the skeleton they filled in after the fact, extracting blanks.

## skeletonization

Skeletonization works by taking in a piece of code with "skeleton markers" as so:

```python
def factorial(x):
    if <<<x == 0>>>:
        return <<<1>>>
    else:
        return <<<x>>> * <<<factorial(x - 1)>>>
```

and converting it into either a skeleton

```python
def factorial(x):
    if ______:
        return ______
    else:
        return ______ * ______
```

or a solution

```python
def factorial(x):
    if x == 0:
        return 1
    else:
        return x * factorial(x - 1)
```

## reskeletonization

Reskeletonization works by taking a skeleton:

```python
def factorial(x):
    if <<<x == 0>>>:
        return <<<1>>>
    else:
        return <<<x>>> * <<<factorial(x - 1)>>>
```

and a student solution:

```python
def factorial(x):
    if not x:
        return 1
    else:
        return x * factorial(x)
```

and produces a reskeletonized program

```python
def factorial(x):
    if <<<not x>>>:
        return <<<1>>>
    else:
        return <<<x>>> * <<<factorial(x)>>>
```