diff --git a/.travis.yml b/.travis.yml index 2a0513505..5b7692d5f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,14 +45,23 @@ env: ## To update: travis encrypt GITHUB_PERSONAL_TOKEN=################################ - secure: "kMxg4WfTwhnYMD7WjYk71vgw7XlShPpANauKzfTL6oawDrpQRkBUai4uQwiL3kXVBuVv9rKKKZxxnyAm05iB5wGasPDhlFA1DPF0IbyU3pwQKlw2Xo5qtHdgxBnbms6JJ9z5b+hHCVg+LXYYeUw5qG01Osg5Ue6j1g2juQQHCod00FNuo3fe8ah/Y10Rem6CigH8ofosCrTvN2w1GaetJwVehRYf8JkPC6vQ+Yk8IIjHn2CaVJALbhuchVblxwH0NXXRen915BVBwWRQtsrvEVMXKu7A8sMHmvPz1u3rhXQfjpF2KeVOfy1ZnyiHcLE2HgAPuAGh4kxZAAA8ovmcaCbv8m64bm72BrQApSbt6OEtR9L1UeUwdEgi54FH1XFOHQ9dA6CpiGCyk3wAJZqO0/PkNYVLfb4gPLvnvBRwYBaPgUPvVNhidFu/oODENZmcf8g9ChtuC1GT70EYlVwhgDGqUY7/USZCEvIPe81UToqtIKgcgA+Is51XindumJVMiqTsjgdqeC/wZcw+y37TAjIvvXbtYxeqIKv9zh1JuZppqUhnf+OhI+HHFaY4iu7lQTs3C0WmoLskZAp9srwRtifnVFFkdYzngmPaSjWyko2qiS0cTdFJQB/ljqmnJdksacbv5OOa0Q4qZef/hW774nVx105FlkAIk70D2b5l2pA=" + +matrix: + include: + - python: 3.6 + env: + - _DOC_AND_YAPF_TEST=True + + install: - - pip install tensorflow==$_TF_VERSION + - if [[ -v _DOC_AND_YAPF_TEST ]]; then pip install tensorflow; else pip install tensorflow==$_TF_VERSION; fi - pip install -e .[all] + script: # units test # https://docs.pytest.org/en/latest/ - - pytest + - if [[ -v _DOC_AND_YAPF_TEST ]]; then python tests/test_documentation.py; python tests/test_yapf_format.py; else pytest; fi before_deploy: diff --git a/README.md b/README.md index 5c81fa45f..ec409ca94 100644 --- a/README.md +++ b/README.md @@ -4,23 +4,26 @@ -[![Codacy Badge](https://api.codacy.com/project/badge/Grade/ca2a29ddcf7445588beff50bee5406d9)](https://app.codacy.com/app/tensorlayer/tensorlayer) +[![Codacy Badge](http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/codacy/grade/ca2a29ddcf7445588beff50bee5406d9.svg)](https://app.codacy.com/app/tensorlayer/tensorlayer) [![Mentioned in Awesome TensorLayer](https://awesome.re/mentioned-badge.svg)](https://github.com/tensorlayer/awesome-tensorlayer) [![English Documentation](https://img.shields.io/badge/documentation-english-blue.svg)](https://tensorlayer.readthedocs.io/) [![Chinese Documentation](https://img.shields.io/badge/documentation-中文-blue.svg)](https://tensorlayercn.readthedocs.io/) [![Chinese Book](https://img.shields.io/badge/book-中文-blue.svg)](http://www.broadview.com.cn/book/5059/) +[![Downloads](http://pepy.tech/badge/tensorlayer)](http://pepy.tech/project/tensorlayer) -[![PyPI version](https://badge.fury.io/py/tensorlayer.svg)](https://pypi.org/project/tensorlayer/) -[![Github commits (since latest release)](https://img.shields.io/github/commits-since/tensorlayer/tensorlayer/latest.svg)](https://github.com/tensorlayer/tensorlayer/compare/1.8.6rc2...master) -[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/tensorlayer.svg)](https://pypi.org/project/tensorlayer/) -[![Supported TF Version](https://img.shields.io/badge/tensorflow-1.6.0+-blue.svg)](https://github.com/tensorflow/tensorflow/releases) -[![Build Status](https://img.shields.io/travis/tensorlayer/tensorlayer.svg?label=Travis&branch=master)](https://travis-ci.org/tensorlayer/tensorlayer) -[![CircleCI](https://img.shields.io/circleci/project/github/tensorlayer/tensorlayer.svg?label=Docker%20Build&branch=master)](https://circleci.com/gh/tensorlayer/tensorlayer/tree/master) -[![Documentation Status](https://img.shields.io/readthedocs/tensorlayer/latest.svg?label=ReadTheDocs-EN)](https://tensorlayer.readthedocs.io/) -[![Documentation Status](https://img.shields.io/readthedocs/tensorlayercn/latest.svg?label=ReadTheDocs-CN)](https://tensorlayercn.readthedocs.io/) +![PyPI Stable Version](http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/github/release/tensorlayer/tensorlayer.svg?label=PyPI%20-%20Release) +![PyPI RC Version](http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/github/release/tensorlayer/tensorlayer/all.svg?label=PyPI%20-%20Pre-Release) +[![Github commits (since latest release)](http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/github/commits-since/tensorlayer/tensorlayer/latest.svg)](https://github.com/tensorlayer/tensorlayer/compare/1.8.6rc2...master) +[![PyPI - Python Version](http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/pypi/pyversions/tensorlayer.svg)](https://pypi.org/project/tensorlayer/) +[![Supported TF Version](http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/badge/tensorflow-1.6.0+-blue.svg)](https://github.com/tensorflow/tensorflow/releases) + +[![Build Status](http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/travis/tensorlayer/tensorlayer.svg?label=Travis&branch=master)](https://travis-ci.org/tensorlayer/tensorlayer) +[![CircleCI](http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/circleci/project/github/tensorlayer/tensorlayer/master.svg?label=Docker%20Build)](https://circleci.com/gh/tensorlayer/tensorlayer/tree/master) +[![Documentation Status](http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/readthedocs/tensorlayer/latest.svg?label=ReadTheDocs-EN)](https://tensorlayer.readthedocs.io/) +[![Documentation Status](http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/readthedocs/tensorlayercn/latest.svg?label=ReadTheDocs-CN)](https://tensorlayercn.readthedocs.io/) [![PyUP Updates](https://pyup.io/repos/github/tensorlayer/tensorlayer/shield.svg)](https://pyup.io/repos/github/tensorlayer/tensorlayer/) -[![Docker Pulls](https://img.shields.io/docker/pulls/tensorlayer/tensorlayer.svg?maxAge=604800)](https://hub.docker.com/r/tensorlayer/tensorlayer/) +[![Docker Pulls](http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/docker/pulls/tensorlayer/tensorlayer.svg?maxAge=604800)](https://hub.docker.com/r/tensorlayer/tensorlayer/)
@@ -111,7 +114,7 @@ nvidia-docker run -it --rm -p 8888:8888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASS # Contribute -Please read the [Contributor Guideline](https://github.com/tensorlayer/tensorlayer/blob/rearrange-readme/CONTRIBUTING.md) before submitting your PRs. +Please read the [Contributor Guideline](https://github.com/tensorlayer/tensorlayer/blob/master/CONTRIBUTING.md) before submitting your PRs. # Cite If you find this project useful, we would be grateful if you cite the TensorLayer paper: diff --git a/README.rst b/README.rst index 6ef693bfe..606c040ab 100644 --- a/README.rst +++ b/README.rst @@ -6,23 +6,48 @@ -.. image:: https://img.shields.io/travis/tensorlayer/tensorlayer.svg?label=Travis&branch=master - :target: https://travis-ci.org/tensorlayer/tensorlayer -.. image:: https://badge.fury.io/py/tensorlayer.svg +.. image:: http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/codacy/grade/ca2a29ddcf7445588beff50bee5406d9.svg + :target: https://app.codacy.com/app/tensorlayer/tensorlayer + +.. image:: https://awesome.re/mentioned-badge.svg + :target: https://github.com/tensorlayer/awesome-tensorlayer + +.. image:: https://img.shields.io/badge/documentation-english-blue.svg + :target: https://tensorlayer.readthedocs.io/ + +.. image:: https://img.shields.io/badge/documentation-中文-blue.svg + :target: https://tensorlayercn.readthedocs.io/ + +.. image:: https://img.shields.io/badge/book-中文-blue.svg + :target: http://www.broadview.com.cn/book/5059/ + +.. image:: http://pepy.tech/badge/tensorlayer + :target: http://pepy.tech/project/tensorlayer + + +.. raw:: html + +
+ +.. raw:: html + + +.. image:: http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/github/release/tensorlayer/tensorlayer.svg?label=PyPI%20-%20Release + :target: https://pypi.org/project/tensorlayer/ + +.. image:: http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/github/release/tensorlayer/tensorlayer/all.svg?label=PyPI%20-%20Pre-Release :target: https://pypi.org/project/tensorlayer/ -.. image:: https://img.shields.io/github/commits-since/tensorlayer/tensorlayer/latest.svg +.. image:: http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/github/commits-since/tensorlayer/tensorlayer/latest.svg :target: https://github.com/tensorlayer/tensorlayer/compare/1.8.6rc2...master -.. image:: https://img.shields.io/pypi/pyversions/tensorlayer.svg +.. image:: http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/pypi/pyversions/tensorlayer.svg :target: https://pypi.org/project/tensorlayer/ .. image:: https://img.shields.io/badge/tensorflow-1.6.0+-blue.svg :target: https://github.com/tensorflow/tensorflow/releases -.. image:: https://api.codacy.com/project/badge/Grade/ca2a29ddcf7445588beff50bee5406d9 - :target: https://app.codacy.com/app/tensorlayer/tensorlayer .. raw:: html @@ -30,20 +55,27 @@ .. raw:: html -.. image:: https://img.shields.io/circleci/project/github/tensorlayer/tensorlayer.svg?label=Docker%20Build&branch=master - :target: https://circleci.com/gh/tensorlayer/tensorlayer/tree/master -.. image:: https://img.shields.io/docker/pulls/tensorlayer/tensorlayer.svg?maxAge=604800 - :target: https://hub.docker.com/r/tensorlayer/tensorlayer/ -.. image:: https://img.shields.io/readthedocs/tensorlayer/latest.svg?label=ReadTheDocs-EN - :target: https://tensorlayer.readthedocs.io/ +.. image:: http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/travis/tensorlayer/tensorlayer.svg?label=Travis&branch=master + :target: https://travis-ci.org/tensorlayer/tensorlayer -.. image:: https://img.shields.io/readthedocs/tensorlayercn/latest.svg?label=ReadTheDocs-CN - :target: https://tensorlayercn.readthedocs.io/ +.. image:: http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/circleci/project/github/tensorlayer/tensorlayer/master.svg?label=Docker%20Build + :target: https://circleci.com/gh/tensorlayer/tensorlayer/tree/master +.. image:: http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/readthedocs/tensorlayer/latest.svg?label=ReadTheDocs-EN + :target: https://tensorlayer.readthedocs.io/ + +.. image:: http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/readthedocs/tensorlayercn/latest.svg?label=ReadTheDocs-CN + :target: https://tensorlayercn.readthedocs.io/ + .. image:: https://pyup.io/repos/github/tensorlayer/tensorlayer/shield.svg :target: https://pyup.io/repos/github/tensorlayer/tensorlayer/ + +.. image:: http://ec2-35-178-47-120.eu-west-2.compute.amazonaws.com/docker/pulls/tensorlayer/tensorlayer.svg + :target: https://hub.docker.com/r/tensorlayer/tensorlayer/ + + .. raw:: html @@ -59,184 +91,144 @@ .. raw:: html -.. image:: https://awesome.re/mentioned-badge.svg - :target: https://github.com/tensorlayer/awesome-tensorlayer - -.. image:: https://img.shields.io/badge/documentation-english-blue.svg - :target: https://tensorlayer.readthedocs.io/ - -.. image:: https://img.shields.io/badge/documentation-中文-blue.svg - :target: https://tensorlayercn.readthedocs.io/ - -.. image:: https://img.shields.io/badge/book-中文-blue.svg - :target: http://www.broadview.com.cn/book/5059/ - -TensorLayer is a deep learning and reinforcement learning library on top -of `TensorFlow`_. It provides rich neural layers and utility functions -to help researchers and engineers build real-world AI applications. -TensorLayer is awarded the 2017 Best Open Source Software by the -prestigious `ACM Multimedia Society`_. +TensorLayer is a novel TensorFlow-based deep learning and reinforcement +learning library designed for researchers and engineers. It provides a +large collection of customizable neural layers / functions that are key +to build real-world AI applications. TensorLayer is awarded the 2017 +Best Open Source Software by the `ACM Multimedia +Society `__. Why another deep learning library: TensorLayer ============================================== -Features --------- - -As TensorFlow users, we have been looking for a library that can serve -for various development phases. This library is easy for beginners by -providing rich neural network implementations, examples and tutorials. -Later, its APIs shall naturally allow users to leverage the powerful -features of TensorFlow, exhibiting best performance in addressing -real-world problems. In the end, the extra abstraction shall not -compromise TensorFlow performance, and thus suit for production -deployment. TensorLayer is a novel library that aims to satisfy these -requirements. - +As deep learning practitioners, we have been looking for a library that +can address various development purposes. This library is easy to adopt +by providing diverse examples, tutorials and pre-trained models. Also, +it allow users to easily fine-tune TensorFlow; while being suitable for +production deployment. TensorLayer aims to satisfy all these purposes. It has three key features: -- **Simplicity** : TensorLayer lifts the low-level dataflow abstraction - of TensorFlow to *high-level* layers. It also provides users with - `rich examples`_ to minimize learning barrier. -- **Flexibility** : TensorLayer APIs are transparent: it does not mask - TensorFlow from users; but leaving massive hooks that support diverse - *low-level tuning*. -- **Zero-cost Abstraction** : TensorLayer has negligible overheads and - can thus achieve the *full performance* of TensorFlow. - -Negligible overhead -------------------- - -To show the overhead, we train classic deep learning models using -TensorLayer and native TensorFlow on a Titan X Pascal GPU. - -+-------------+---------------+---------------+---------------+ -| | CIFAR-10 | PTB LSTM | Word2Vec | -+=============+===============+===============+===============+ -| TensorLayer | 2528 images/s | 18063 words/s | 58167 words/s | -+-------------+---------------+---------------+---------------+ -| TensorFlow | 2530 images/s | 18075 words/s | 58181 words/s | -+-------------+---------------+---------------+---------------+ - -Why using TensorLayer instead of Keras or TFLearn -------------------------------------------------- - -Similar to TensorLayer, Keras and TFLearn are also popular TensorFlow -wrapper libraries. These libraries are comfortable to start with. They -provide high-level abstractions; but mask the underlying engine from -users. It is thus hard to customize model behaviors and touch the -essential features of TensorFlow. - -Without compromise in simplicity, TensorLayer APIs are generally more -flexible and transparent. Users often find it easy to start with the -examples and tutorials of TensorLayer, and then dive into the TensorFlow -low-level APIs only if need. TensorLayer does not create library -lock-in. Users can easily import models from Keras, TFSlim and TFLearn -into a TensorLayer environment. - -TensorLayer has a fast growing usage in academic and industry -organizations. It is used by researchers from Imperial College London, -Carnegie Mellon University, Stanford University, University of -Technology of Compiegne (UTC), Tsinghua University, UCLA, and etc., as -well as engineers from Google, Microsoft, Alibaba, Tencent, Xiaomi, -Penguins Innovate, Bloomberg and many others. - -Installation -============ +- **Simplicity** : TensorLayer lifts the low-level dataflow interface + of TensorFlow to *high-level* layers / models. It is very easy to + learn through the rich `example + codes `__ + contributed by a wide community. +- **Flexibility** : TensorLayer APIs are transparent: it does not + mask TensorFlow from users; but leaving massive hooks that help + *low-level tuning* and *deep customization*. +- **Zero-cost Abstraction** : TensorLayer can achieve the *full + power* of TensorFlow. The following table shows the training speeds + of classic models using TensorLayer and native TensorFlow on a Titan + X Pascal GPU. + + +---------------+-----------------+-----------------+-----------------+ + | | CIFAR-10 | PTB LSTM | Word2Vec | + +===============+=================+=================+=================+ + | TensorLayer | 2528 images/s | 18063 words/s | 58167 words/s | + +---------------+-----------------+-----------------+-----------------+ + | TensorFlow | 2530 images/s | 18075 words/s | 58181 words/s | + +---------------+-----------------+-----------------+-----------------+ + +TensorLayer stands at a unique spot in the library landscape. Other +wrapper libraries like Keras and TFLearn also provide high-level +abstractions. They, however, often hide the underlying engine from +users, which make them hard to customize and fine-tune. On the contrary, +TensorLayer APIs are generally flexible and transparent. Users often +find it easy to start with the examples and tutorials, and then dive +into TensorFlow seamlessly. In addition, TensorLayer does not create +library lock-in through native supports for importing components from +Keras, TFSlim and TFLearn. + +TensorLayer has a fast growing usage among top researchers and +engineers, from universities like Imperial College London, UC Berkeley, +Carnegie Mellon University, Stanford University, and University of +Technology of Compiegne (UTC), and companies like Google, Microsoft, +Alibaba, Tencent, Xiaomi, and Bloomberg. + +Install +======= TensorLayer has pre-requisites including TensorFlow, numpy, matplotlib -and nltk (optional). For GPU support, CUDA and cuDNN are required. - -The simplest way to install TensorLayer is to use the Python Package -Index (PyPI): +and nltk (optional). For GPU support, CUDA and cuDNN are required. The +simplest way to install TensorLayer is to use the Python Package Index +(PyPI): .. code:: bash - # for last stable version - pip install tensorlayer + # for last stable version + pip install tensorlayer - # for latest release candidate - pip install --pre tensorlayer + # for latest release candidate + pip install --pre tensorlayer Alternatively, you can install the development version by directly pulling from github: .. code:: bash - pip install git+https://github.com/tensorlayer/tensorlayer.git + pip install git+https://github.com/tensorlayer/tensorlayer.git Using Docker - a ready-to-use environment ----------------------------------------- -The `TensorLayer containers`_ are built on top of the official -`TensorFlow containers`_: +The `TensorLayer +containers `__ are +built on top of the official `TensorFlow +containers `__: Containers with CPU support ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: bash - # for CPU version and Python 2 - docker pull tensorlayer/tensorlayer:latest - docker run -it --rm -p 8888:8888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest + # for CPU version and Python 2 + docker pull tensorlayer/tensorlayer:latest + docker run -it --rm -p 8888:8888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest - # for CPU version and Python 3 - docker pull tensorlayer/tensorlayer:latest-py3 - docker run -it --rm -p 8888:8888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest-py3 + # for CPU version and Python 3 + docker pull tensorlayer/tensorlayer:latest-py3 + docker run -it --rm -p 8888:8888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest-py3 Containers with GPU support ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -NVIDIA-Docker is required for these containers to work: `Project Link`_ +NVIDIA-Docker is required for these containers to work: `Project +Link `__ .. code:: bash - # for GPU version and Python 2 - docker pull tensorlayer/tensorlayer:latest-gpu - nvidia-docker run -it --rm -p 8888:88888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest-gpu + # for GPU version and Python 2 + docker pull tensorlayer/tensorlayer:latest-gpu + nvidia-docker run -it --rm -p 8888:88888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest-gpu - # for GPU version and Python 3 - docker pull tensorlayer/tensorlayer:latest-gpu-py3 - nvidia-docker run -it --rm -p 8888:8888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest-gpu-py3 + # for GPU version and Python 3 + docker pull tensorlayer/tensorlayer:latest-gpu-py3 + nvidia-docker run -it --rm -p 8888:8888 -p 6006:6006 -e PASSWORD=JUPYTER_NB_PASSWORD tensorlayer/tensorlayer:latest-gpu-py3 -Contribute to TensorLayer -========================= +Contribute +========== -Please read the `Contributor Guideline`_ before submitting your PRs. +Please read the `Contributor +Guideline `__ +before submitting your PRs. -Citation -======== +Cite +==== If you find this project useful, we would be grateful if you cite the TensorLayer paper: :: - @article{tensorlayer2017, - author = {Dong, Hao and Supratak, Akara and Mai, Luo and Liu, Fangde and Oehmichen, Axel and Yu, Simiao and Guo, Yike}, - journal = {ACM Multimedia}, - title = {{TensorLayer: A Versatile Library for Efficient Deep Learning Development}}, - url = {http://tensorlayer.org}, - year = {2017} - } + @article{tensorlayer2017, + author = {Dong, Hao and Supratak, Akara and Mai, Luo and Liu, Fangde and Oehmichen, Axel and Yu, Simiao and Guo, Yike}, + journal = {ACM Multimedia}, + title = {{TensorLayer: A Versatile Library for Efficient Deep Learning Development}}, + url = {http://tensorlayer.org}, + year = {2017} + } License ======= TensorLayer is released under the Apache 2.0 license. - -.. _Contributor Guideline: https://github.com/tensorlayer/tensorlayer/blob/rearrange-readme/CONTRIBUTING.md - -.. _TensorLayer containers: https://hub.docker.com/r/tensorlayer/tensorlayer/ -.. _TensorFlow containers: https://hub.docker.com/r/tensorflow/tensorflow/ -.. _Project Link: https://github.com/NVIDIA/nvidia-docker - -.. _rich examples: https://github.com/tensorlayer/awesome-tensorlayer - -.. _Mentioned in Awesome TensorLayer: https://github.com/tensorlayer/awesome-tensorlayer -.. _English Documentation: https://tensorlayer.readthedocs.io/ -.. _Chinese Documentation: https://tensorlayercn.readthedocs.io/ -.. _Chinese Book: http://www.broadview.com.cn/book/5059/ - -.. _TensorFlow: https://www.tensorflow.org -.. _ACM Multimedia Society: http://www.acmmm.org/2017/mm-2017-awardees/ diff --git a/pytest.ini b/pytest.ini deleted file mode 100644 index ad16166ae..000000000 --- a/pytest.ini +++ /dev/null @@ -1,2 +0,0 @@ -[pytest] -testpaths = tests/ \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 9b5363fbd..5456624dc 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,3 +1,8 @@ +[tool:pytest] +testpaths = tests/ +addopts = --ignore=tests/test_documentation.py + --ignore=tests/test_yapf_format.py + [flake8] max-line-length = 120 ignore =