mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-11-13 05:06:49 +03:00
Merge pull request #6072 from hugovk/extras_require
Replace requirements.txt with extras
This commit is contained in:
commit
8abff14a3a
|
@ -1,2 +1,8 @@
|
||||||
|
version: 2
|
||||||
|
|
||||||
python:
|
python:
|
||||||
pip_install: true
|
install:
|
||||||
|
- method: pip
|
||||||
|
path: .
|
||||||
|
extra_requirements:
|
||||||
|
- docs
|
||||||
|
|
53
Makefile
53
Makefile
|
@ -9,9 +9,11 @@ clean:
|
||||||
|
|
||||||
.PHONY: coverage
|
.PHONY: coverage
|
||||||
coverage:
|
coverage:
|
||||||
pytest -qq
|
python3 -c "import pytest" > /dev/null 2>&1 || python3 -m pip install pytest
|
||||||
|
python3 -m pytest -qq
|
||||||
rm -r htmlcov || true
|
rm -r htmlcov || true
|
||||||
coverage report
|
python3 -c "import coverage" > /dev/null 2>&1 || python3 -m pip install coverage
|
||||||
|
python3 -m coverage report
|
||||||
|
|
||||||
.PHONY: doc
|
.PHONY: doc
|
||||||
doc:
|
doc:
|
||||||
|
@ -33,20 +35,16 @@ help:
|
||||||
@echo "Welcome to Pillow development. Please use \`make <target>\` where <target> is one of"
|
@echo "Welcome to Pillow development. Please use \`make <target>\` where <target> is one of"
|
||||||
@echo " clean remove build products"
|
@echo " clean remove build products"
|
||||||
@echo " coverage run coverage test (in progress)"
|
@echo " coverage run coverage test (in progress)"
|
||||||
@echo " doc make html docs"
|
@echo " doc make HTML docs"
|
||||||
@echo " docserve run an http server on the docs directory"
|
@echo " docserve run an HTTP server on the docs directory"
|
||||||
@echo " html to make standalone HTML files"
|
@echo " html to make standalone HTML files"
|
||||||
@echo " inplace make inplace extension"
|
@echo " inplace make inplace extension"
|
||||||
@echo " install make and install"
|
@echo " install make and install"
|
||||||
@echo " install-coverage make and install with C coverage"
|
@echo " install-coverage make and install with C coverage"
|
||||||
@echo " install-req install documentation and test dependencies"
|
|
||||||
@echo " install-venv (deprecated) install in virtualenv"
|
|
||||||
@echo " lint run the lint checks"
|
@echo " lint run the lint checks"
|
||||||
@echo " lint-fix run black and isort to (mostly) fix lint issues."
|
@echo " lint-fix run Black and isort to (mostly) fix lint issues"
|
||||||
@echo " release-test run code and package tests before release"
|
@echo " release-test run code and package tests before release"
|
||||||
@echo " test run tests on installed pillow"
|
@echo " test run tests on installed Pillow"
|
||||||
@echo " upload build and upload sdists to PyPI"
|
|
||||||
@echo " upload-test build and upload sdists to test.pythonpackages.com"
|
|
||||||
|
|
||||||
.PHONY: inplace
|
.PHONY: inplace
|
||||||
inplace: clean
|
inplace: clean
|
||||||
|
@ -70,28 +68,17 @@ debug:
|
||||||
make clean > /dev/null
|
make clean > /dev/null
|
||||||
CFLAGS='-g -O0' python3 -m pip install --global-option="build_ext" . > /dev/null
|
CFLAGS='-g -O0' python3 -m pip install --global-option="build_ext" . > /dev/null
|
||||||
|
|
||||||
.PHONY: install-req
|
|
||||||
install-req:
|
|
||||||
python3 -m pip install -r requirements.txt
|
|
||||||
|
|
||||||
.PHONY: install-venv
|
|
||||||
install-venv:
|
|
||||||
echo "'install-venv' is deprecated and will be removed in a future Pillow release"
|
|
||||||
virtualenv .
|
|
||||||
bin/pip install -r requirements.txt
|
|
||||||
|
|
||||||
.PHONY: release-test
|
.PHONY: release-test
|
||||||
release-test:
|
release-test:
|
||||||
$(MAKE) install-req
|
python3 -m pip install -e .[tests]
|
||||||
python3 -m pip install -e .
|
|
||||||
python3 selftest.py
|
python3 selftest.py
|
||||||
python3 -m pytest Tests
|
python3 -m pytest Tests
|
||||||
python3 -m pip install .
|
python3 -m pip install .
|
||||||
-rm dist/*.egg
|
-rm dist/*.egg
|
||||||
-rmdir dist
|
-rmdir dist
|
||||||
python3 -m pytest -qq
|
python3 -m pytest -qq
|
||||||
check-manifest
|
python3 -m check-manifest
|
||||||
pyroma .
|
python3 -m pyroma .
|
||||||
$(MAKE) readme
|
$(MAKE) readme
|
||||||
|
|
||||||
.PHONY: sdist
|
.PHONY: sdist
|
||||||
|
@ -101,26 +88,30 @@ sdist:
|
||||||
|
|
||||||
.PHONY: test
|
.PHONY: test
|
||||||
test:
|
test:
|
||||||
pytest -qq
|
python3 -c "import pytest" > /dev/null 2>&1 || python3 -m pip install pytest
|
||||||
|
python3 -m pytest -qq
|
||||||
|
|
||||||
.PHONY: valgrind
|
.PHONY: valgrind
|
||||||
valgrind:
|
valgrind:
|
||||||
python3 -c "import pytest_valgrind" || python3 -m pip install pytest-valgrind
|
python3 -c "import pytest_valgrind" > /dev/null 2>&1 || python3 -m pip install pytest-valgrind
|
||||||
PYTHONMALLOC=malloc valgrind --suppressions=Tests/oss-fuzz/python.supp --leak-check=no \
|
PYTHONMALLOC=malloc valgrind --suppressions=Tests/oss-fuzz/python.supp --leak-check=no \
|
||||||
--log-file=/tmp/valgrind-output \
|
--log-file=/tmp/valgrind-output \
|
||||||
python3 -m pytest --no-memcheck -vv --valgrind --valgrind-log=/tmp/valgrind-output
|
python3 -m pytest --no-memcheck -vv --valgrind --valgrind-log=/tmp/valgrind-output
|
||||||
|
|
||||||
.PHONY: readme
|
.PHONY: readme
|
||||||
readme:
|
readme:
|
||||||
markdown2 README.md > .long-description.html && open .long-description.html
|
python3 -c "import markdown2" > /dev/null 2>&1 || python3 -m pip install markdown2
|
||||||
|
python3 -m markdown2 README.md > .long-description.html && open .long-description.html
|
||||||
|
|
||||||
|
|
||||||
.PHONY: lint
|
.PHONY: lint
|
||||||
lint:
|
lint:
|
||||||
tox --help > /dev/null || python3 -m pip install tox
|
python3 -c "import tox" > /dev/null 2>&1 || python3 -m pip install tox
|
||||||
tox -e lint
|
python3 -m tox -e lint
|
||||||
|
|
||||||
.PHONY: lint-fix
|
.PHONY: lint-fix
|
||||||
lint-fix:
|
lint-fix:
|
||||||
black --target-version py37 .
|
python3 -c "import black" > /dev/null 2>&1 || python3 -m pip install black
|
||||||
isort .
|
python3 -c "import isort" > /dev/null 2>&1 || python3 -m pip install isort
|
||||||
|
python3 -m black --target-version py37 .
|
||||||
|
python3 -m isort .
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
# You can set these variables from the command line.
|
# You can set these variables from the command line.
|
||||||
SPHINXOPTS =
|
SPHINXOPTS =
|
||||||
SPHINXBUILD = sphinx-build
|
SPHINXBUILD = python3 -m sphinx.cmd.build
|
||||||
PAPER =
|
PAPER =
|
||||||
BUILDDIR = _build
|
BUILDDIR = _build
|
||||||
|
|
||||||
|
@ -41,38 +41,48 @@ help:
|
||||||
clean:
|
clean:
|
||||||
-rm -rf $(BUILDDIR)/*
|
-rm -rf $(BUILDDIR)/*
|
||||||
|
|
||||||
|
install-sphinx:
|
||||||
|
python3 -c "import sphinx" > /dev/null 2>&1 || python3 -m pip install sphinx
|
||||||
|
|
||||||
html:
|
html:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b html -W --keep-going $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
$(SPHINXBUILD) -b html -W --keep-going $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
||||||
|
|
||||||
dirhtml:
|
dirhtml:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
||||||
|
|
||||||
singlehtml:
|
singlehtml:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
||||||
|
|
||||||
pickle:
|
pickle:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished; now you can process the pickle files."
|
@echo "Build finished; now you can process the pickle files."
|
||||||
|
|
||||||
json:
|
json:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished; now you can process the JSON files."
|
@echo "Build finished; now you can process the JSON files."
|
||||||
|
|
||||||
htmlhelp:
|
htmlhelp:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||||
".hhp project file in $(BUILDDIR)/htmlhelp."
|
".hhp project file in $(BUILDDIR)/htmlhelp."
|
||||||
|
|
||||||
qthelp:
|
qthelp:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
||||||
|
@ -82,6 +92,7 @@ qthelp:
|
||||||
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PillowPILfork.qhc"
|
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PillowPILfork.qhc"
|
||||||
|
|
||||||
devhelp:
|
devhelp:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished."
|
@echo "Build finished."
|
||||||
|
@ -91,11 +102,13 @@ devhelp:
|
||||||
@echo "# devhelp"
|
@echo "# devhelp"
|
||||||
|
|
||||||
epub:
|
epub:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
||||||
|
|
||||||
latex:
|
latex:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
||||||
|
@ -103,22 +116,26 @@ latex:
|
||||||
"(use \`make latexpdf' here to do that automatically)."
|
"(use \`make latexpdf' here to do that automatically)."
|
||||||
|
|
||||||
latexpdf:
|
latexpdf:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||||
@echo "Running LaTeX files through pdflatex..."
|
@echo "Running LaTeX files through pdflatex..."
|
||||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
||||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||||
|
|
||||||
text:
|
text:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
||||||
|
|
||||||
man:
|
man:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
||||||
|
|
||||||
texinfo:
|
texinfo:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
||||||
|
@ -126,28 +143,33 @@ texinfo:
|
||||||
"(use \`make info' here to do that automatically)."
|
"(use \`make info' here to do that automatically)."
|
||||||
|
|
||||||
info:
|
info:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||||
@echo "Running Texinfo files through makeinfo..."
|
@echo "Running Texinfo files through makeinfo..."
|
||||||
make -C $(BUILDDIR)/texinfo info
|
make -C $(BUILDDIR)/texinfo info
|
||||||
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
||||||
|
|
||||||
gettext:
|
gettext:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
||||||
|
|
||||||
changes:
|
changes:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
||||||
@echo
|
@echo
|
||||||
@echo "The overview file is in $(BUILDDIR)/changes."
|
@echo "The overview file is in $(BUILDDIR)/changes."
|
||||||
|
|
||||||
linkcheck:
|
linkcheck:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck -j auto
|
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck -j auto
|
||||||
@echo
|
@echo
|
||||||
@echo "Link check complete; look for any errors in the above output " \
|
@echo "Link check complete; look for any errors in the above output " \
|
||||||
"or in $(BUILDDIR)/linkcheck/output.txt."
|
"or in $(BUILDDIR)/linkcheck/output.txt."
|
||||||
|
|
||||||
doctest:
|
doctest:
|
||||||
|
$(MAKE) install-sphinx
|
||||||
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
||||||
@echo "Testing of doctests in the sources finished, look at the " \
|
@echo "Testing of doctests in the sources finished, look at the " \
|
||||||
"results in $(BUILDDIR)/doctest/output.txt."
|
"results in $(BUILDDIR)/doctest/output.txt."
|
||||||
|
|
|
@ -53,7 +53,7 @@ Then ``sudo apt-get update && sudo apt-get install libtiff5-dbgsym``
|
||||||
|
|
||||||
virtualenv -p python3.8-dbg ~/vpy38-dbg
|
virtualenv -p python3.8-dbg ~/vpy38-dbg
|
||||||
source ~/vpy38-dbg/bin/activate
|
source ~/vpy38-dbg/bin/activate
|
||||||
cd ~/Pillow && pip install -r requirements.txt && make install
|
cd ~/Pillow && make install
|
||||||
|
|
||||||
Test Case
|
Test Case
|
||||||
---------
|
---------
|
||||||
|
|
|
@ -18,11 +18,37 @@ Rather than returning a ``SystemError``, passing the incorrect types of coordina
|
||||||
a path will now raise a more specific ``ValueError``, with the message "incorrect
|
a path will now raise a more specific ``ValueError``, with the message "incorrect
|
||||||
coordinate type".
|
coordinate type".
|
||||||
|
|
||||||
|
Replace requirements.txt with extras
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Rather than installing all dependencies for docs and tests via ``requirements.txt``,
|
||||||
|
``extras_require`` is used instead. This installs only those needed and at the same
|
||||||
|
time as installing Pillow.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# Install with dependencies for tests:
|
||||||
|
python3 -m pip install .[tests]
|
||||||
|
|
||||||
|
# Or for building docs:
|
||||||
|
python3 -m pip install .[docs]
|
||||||
|
|
||||||
|
# Or for all:
|
||||||
|
python3 -m pip install .[docs,tests]
|
||||||
|
|
||||||
|
On macOS, the last argument may need to be wrapped in quotes, e.g.
|
||||||
|
``python3 -m pip install ".[tests]"``
|
||||||
|
|
||||||
|
Therefore ``requirements.txt`` has been removed along with the ``make install-req``
|
||||||
|
command for installing its contents.
|
||||||
|
|
||||||
Deprecations
|
Deprecations
|
||||||
^^^^^^^^^^^^
|
============
|
||||||
|
|
||||||
Constants
|
Constants
|
||||||
~~~~~~~~~
|
^^^^^^^^^
|
||||||
|
|
||||||
A number of constants have been deprecated and will be removed in Pillow 10.0.0
|
A number of constants have been deprecated and will be removed in Pillow 10.0.0
|
||||||
(2023-07-01). Instead, ``enum.IntEnum`` classes have been added.
|
(2023-07-01). Instead, ``enum.IntEnum`` classes have been added.
|
||||||
|
@ -87,7 +113,7 @@ Deprecated Use instead
|
||||||
===================================================== ============================================================
|
===================================================== ============================================================
|
||||||
|
|
||||||
ImageShow.Viewer.show_file file argument
|
ImageShow.Viewer.show_file file argument
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
The ``file`` argument in :py:meth:`~PIL.ImageShow.Viewer.show_file()` has been
|
The ``file`` argument in :py:meth:`~PIL.ImageShow.Viewer.show_file()` has been
|
||||||
deprecated and will be removed in Pillow 10.0.0 (2023-07-01). It has been replaced by
|
deprecated and will be removed in Pillow 10.0.0 (2023-07-01). It has been replaced by
|
||||||
|
@ -98,7 +124,7 @@ In effect, ``viewer.show_file("test.jpg")`` will continue to work unchanged.
|
||||||
``viewer.show_file(path="test.jpg")`` instead.
|
``viewer.show_file(path="test.jpg")`` instead.
|
||||||
|
|
||||||
FitsStubImagePlugin
|
FitsStubImagePlugin
|
||||||
~~~~~~~~~~~~~~~~~~~
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
.. deprecated:: 9.1.0
|
.. deprecated:: 9.1.0
|
||||||
|
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
# Development, documentation & testing requirements.
|
|
||||||
black
|
|
||||||
check-manifest
|
|
||||||
coverage
|
|
||||||
defusedxml
|
|
||||||
markdown2
|
|
||||||
olefile
|
|
||||||
packaging
|
|
||||||
pyroma
|
|
||||||
pytest
|
|
||||||
pytest-cov
|
|
||||||
pytest-timeout
|
|
||||||
sphinx>=2.4
|
|
||||||
sphinx-copybutton
|
|
||||||
sphinx-issues>=3.0.1
|
|
||||||
sphinx-removed-in
|
|
||||||
sphinx-rtd-theme>=1.0
|
|
||||||
sphinxext-opengraph
|
|
21
setup.cfg
21
setup.cfg
|
@ -35,6 +35,27 @@ project_urls =
|
||||||
[options]
|
[options]
|
||||||
python_requires = >=3.7
|
python_requires = >=3.7
|
||||||
|
|
||||||
|
[options.extras_require]
|
||||||
|
docs =
|
||||||
|
olefile
|
||||||
|
sphinx>=2.4
|
||||||
|
sphinx-copybutton
|
||||||
|
sphinx-issues>=3.0.1
|
||||||
|
sphinx-removed-in
|
||||||
|
sphinx-rtd-theme>=1.0
|
||||||
|
sphinxext-opengraph
|
||||||
|
tests =
|
||||||
|
check-manifest
|
||||||
|
coverage
|
||||||
|
defusedxml
|
||||||
|
markdown2
|
||||||
|
olefile
|
||||||
|
packaging
|
||||||
|
pyroma
|
||||||
|
pytest
|
||||||
|
pytest-cov
|
||||||
|
pytest-timeout
|
||||||
|
|
||||||
[flake8]
|
[flake8]
|
||||||
extend-ignore = E203
|
extend-ignore = E203
|
||||||
max-line-length = 88
|
max-line-length = 88
|
||||||
|
|
5
tox.ini
5
tox.ini
|
@ -10,6 +10,8 @@ envlist =
|
||||||
minversion = 1.9
|
minversion = 1.9
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
|
extras =
|
||||||
|
tests
|
||||||
commands =
|
commands =
|
||||||
make clean
|
make clean
|
||||||
{envpython} -m pip install --global-option="build_ext" --global-option="--inplace" .
|
{envpython} -m pip install --global-option="build_ext" --global-option="--inplace" .
|
||||||
|
@ -18,9 +20,6 @@ commands =
|
||||||
deps =
|
deps =
|
||||||
cffi
|
cffi
|
||||||
numpy
|
numpy
|
||||||
olefile
|
|
||||||
pyroma
|
|
||||||
pytest
|
|
||||||
|
|
||||||
[testenv:lint]
|
[testenv:lint]
|
||||||
commands =
|
commands =
|
||||||
|
|
Loading…
Reference in New Issue
Block a user