semvec/pypi-packages huggingface dataset:
bytedlz-pip-demo 1.2.63
测试pip发包
Requires Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*
Keywords: boilerplate

# Python 项目模版


## 开发

* 使用 `$ virtualenv venv --python=python3 && source venv/bin/activate` 创建并激活此 `virtualenv`;
* 使用 `$ make install_dev` 或者`$ pip install -e .[dev]` 安装项目依赖
* Coding



## 静态检查

项目已经配置好使用 `flake8` 做静态检查，执行`$ make lint`即可。



## 测试

单元测试位于 `tests/` 目录中，使用 `$ make test` 可以运行单元测试。如何编写单元测试可以参考 [pytest](https://github.com/pytest-dev/pytest) 

默认会在 Python2.7/3.7 环境下运行单元测试，如果需要支持更多版本 Python，可以修改 `tox.ini`。



## 规范

### 代码规范

* 需要保证代码兼容 Python2.7，Python3.7+；
* 代码风格兼容 [PEP8](https://www.python.org/dev/peps/pep-0008/)，除了代码最大宽度放宽到 120。

### 版本规范

* 版本需要遵循 [Semver](https://semver.org/lang/zh-CN/)；
* 发布分支后，需要创建类似 `v0.0.1` 的 tag；
* 每次 Release，需要编辑 CHANGELOG.md，内容需要遵守 [changelog 规范](https://keepachangelog.com/zh-CN/1.0.0/)。



## Tips

### Makefile指南

makefile用于帮助开发者快速使用功能，目前支持的命令有

|       指令       |                             作用                             |
| :--------------: | :----------------------------------------------------------: |
|       make       | 按顺序执行 install_dev、isort、isort_check、lint、test(**操作更改代码!**) |
|    make check    |       按顺序执行 install_dev、isort_check、lint、test        |
| make install_dev |         安装测试所需依赖(位于setup.py的DEV_REQUIRES)         |
|    make isort    |        执行isort，规范化import顺序(**操作更改代码!**)        |
| make isort_check |                   执行import顺序规范性检查                   |
|    make lint     |                执行flake8，检查你的代码规范性                |
|    make test     |                执行tox，检测单元测试的正确性                 |
|    make clean    |                      清除测试和检查产物                      |

建议每次准备发布代码前，执行一次make或者make check来保证代码的规范性和健壮性。

### Python2/3 兼容

**每个** Python 文件头部都增加如下代码(尽量保证此import位于任何其他import之前)：

```python
# coding: utf-8

from __future__ import absolute_import, division, print_function, unicode_literals
```

来保证代码在 Python2 和 Python3 下尽可能保持一致。

Python2 与 Python3 不兼容的代码，尽量使用 [six](https://pythonhosted.org/six/) 模块做兼容。比如 Python2 和 Python3 下 `range` 函数行为不一致，统一使用 `six.moves.range` 可以保证兼容性。

### 类型标注

Python [PEP484](https://www.python.org/dev/peps/pep-0484/) 中新增了类型标注功能，可以给代码增加可选的类型标注，配合 [mypy](http://mypy-lang.org/) 可以静态的给代码做类型检查。

开发中给每个 `.py` 文件编写一个对应的 `.pyi`，编写好导出类型的函数签名。此项目已经配置好相关规则，包发布后，使用者就可以使用编写好的类型信息做静态类型检查、代码补全。

如果对导出函数写 docstring，除了按照 PEP8 的要求进行编写之外，还可以对传入传出数据类型做标注与注释。注释格式参考 PyCharm 的[这篇文档](https://www.jetbrains.com/help/pycharm/using-docstrings-to-specify-types.html)的格式进行编写。PyCharm 以及 Jedi（vim / emacs / vscode 都是基于 jedi 进行自动补全）等等自动补全/静态检查工具都可以基于此格式的信息进行检查，Sphinx 生成的 API doc 也可以进行识别。

### editorconfig

可以安装 [editorconfig](https://editorconfig.org/) 编辑器插件，保持代码一致性。此项目已经默认配置。
easy-alias 0.0.1
A simple and easy command alias tool
Requires Python: >=3.6

从mac换到windows，苦于没有`alias`给命令取别名，只好自己简单开发一个了。

## 安装

`python setup install`

## 使用

下面以`git status`命令为例

### 测试命令别名

执行：`pp test git status`

### 添加命令别名

执行：`pp add gs git status`

### 命令别名列表

执行：`pp list`

### 通过别名执行命令

执行：`ppe gs`

### 删除当个命令别名

执行：`pp del -n gs`

### 删除所有命令别名

执行：`pp del -a true`
asktanya 1.0.17
Ask-tanya anything! Asktanya is a Python framework to search factual information on the internet.

<h1 align="center">Welcome to asktanya 👋</h1>
<p>
  <img alt="Version" src="https://img.shields.io/badge/version-1.0.4-blue.svg?cacheSeconds=2592000" />
  <a href="github.com/liviaellen/asktanya" target="_blank">
    <img alt="Documentation" src="https://img.shields.io/badge/documentation-yes-brightgreen.svg" />
  </a>
  <a href="#" target="_blank">
    <img alt="License: MIT License" src="https://img.shields.io/badge/License-MIT License-yellow.svg" />
  </a>
</p>

> Ask-tanya anything! Asktanya is a framework to search factual information on the internet.

### 🏠 [Homepage](https://github.com/liviaellen/asktanya/)

### ✨ [Demo](https://asktanya.herokuapp.com/)

![alt text](https://github.com/liviaellen/asktanya/blob/master/image/example.png?raw=true)
## Install

```sh
pip install asktanya
```

## Usage in CLI / Terminal
```sh
ask-tanya
```

## Usage in Python
```python
import asktanya
from asktanya.main import ask_tanya
ask_tanya("Why is the earth round")
```

## Author

👤 **Livia Ellen**

* Website: liviaellen.com
* Github: [@liviaellen](https://github.com/liviaellen)
* LinkedIn: [@liviaellen](https://linkedin.com/in/liviaellen)

## 🤝 Contributing

Contributions, issues and feature requests are welcome!<br />Feel free to check [issues page](https://github.com/liviaellen/asktanya/issues).

## Show your support

Give a ⭐️ if this project helped you!

***
_Generated with ❤️ and coffee_