Skip to content

Commit a05a486

Browse files
authored
Merge pull request #3 from magnunor/idahj_anchored_directionarrows
Idahj anchored directionarrows
2 parents 6ec4f8f + e751286 commit a05a486

File tree

1,135 files changed

+71974
-66094
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,135 files changed

+71974
-66094
lines changed

.appveyor.yml

Lines changed: 28 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -4,47 +4,30 @@
44
# https://github.com/rmcgibbo/python-appveyor-conda-example
55

66
# Backslashes in quotes need to be escaped: \ -> "\\"
7+
branches:
8+
except:
9+
- /auto-backport-.*/
710

811
environment:
912

1013
global:
11-
# SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the
12-
# /E:ON and /V:ON options are not enabled in the batch script intepreter
13-
# See: http://stackoverflow.com/a/13751649/163740
14-
CMD_IN_ENV: cmd /E:ON /V:ON /C obvci_appveyor_python_build_env.cmd
15-
# Workaround for https://github.com/conda/conda-build/issues/636
1614
PYTHONIOENCODING: UTF-8
17-
PYTEST_ARGS: -rawR --timeout=300 --durations=25 --cov-report= --cov=lib -m "not network"
18-
PYTHONHASHSEED: 0 # Workaround for pytest-xdist flaky collection order
19-
# https://github.com/pytest-dev/pytest/issues/920
20-
# https://github.com/pytest-dev/pytest/issues/1075
15+
PYTEST_ARGS: -rawR --numprocesses=auto --timeout=300 --durations=25
16+
--cov-report= --cov=lib -m "not network"
2117

2218
matrix:
23-
# for testing purpose: numpy 1.8 on py2.7, for the rest use 1.10/latest
2419
# theoretically the CONDA_INSTALL_LOCN could be only two: one for 32bit,
2520
# one for 64bit because we construct envs anyway. But using one for the
2621
# right python version is hopefully making it fast due to package caching.
27-
- TARGET_ARCH: "x64"
28-
CONDA_PY: "27"
29-
CONDA_NPY: "18"
30-
PYTHON_VERSION: "2.7"
31-
TEST_ALL: "no"
32-
CONDA_INSTALL_LOCN: "C:\\Miniconda-x64"
33-
- TARGET_ARCH: "x64"
34-
CONDA_PY: "35"
35-
CONDA_NPY: "110"
36-
PYTHON_VERSION: "3.5"
22+
- PYTHON_VERSION: "3.5"
3723
CONDA_INSTALL_LOCN: "C:\\Miniconda35-x64"
3824
TEST_ALL: "no"
39-
- TARGET_ARCH: "x64"
40-
CONDA_PY: "36"
41-
PYTHON_VERSION: "3.6"
42-
CONDA_NPY: "111"
25+
- PYTHON_VERSION: "3.6"
4326
CONDA_INSTALL_LOCN: "C:\\Miniconda36-x64"
4427
TEST_ALL: "no"
4528

4629
# We always use a 64-bit machine, but can build x86 distributions
47-
# with the PYTHON_ARCH variable (which is used by CMD_IN_ENV).
30+
# with the PYTHON_ARCH variable
4831
platform:
4932
- x64
5033

@@ -61,34 +44,32 @@ init:
6144
install:
6245
- set PATH=%CONDA_INSTALL_LOCN%;%CONDA_INSTALL_LOCN%\scripts;%PATH%;
6346
- set PYTHONUNBUFFERED=1
64-
# for obvci_appveyor_python_build_env.cmd
65-
- conda install -c conda-forge --yes --quiet obvious-ci
6647
# for msinttypes and newer stuff
67-
- conda config --prepend channels conda-forge
68-
- conda config --set show_channel_urls yes
6948
- conda config --set always_yes true
70-
# For building conda packages
71-
- conda install --yes conda-build jinja2 anaconda-client
49+
- conda update --all
50+
- conda config --set show_channel_urls yes
51+
- conda config --prepend channels conda-forge
7252
# this is now the downloaded conda...
7353
- conda info -a
7454

75-
# Fix the appveyor build environment to work with conda build
76-
# workaround for missing vcvars64.bat in py34 64bit
77-
- copy ci\appveyor\vcvars64.bat "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64"
78-
7955
# For building, use a new environment which only includes the requirements for mpl
8056
# same things as the requirements in ci/conda_recipe/meta.yaml
8157
# if conda-forge gets a new pyqt, it might be nice to install it as well to have more backends
8258
# https://github.com/conda-forge/conda-forge.github.io/issues/157#issuecomment-223536381
59+
#
8360
- conda create -q -n test-environment python=%PYTHON_VERSION%
84-
pip setuptools numpy python-dateutil freetype=2.6 msinttypes "tk=8.5"
85-
pyparsing pytz tornado "libpng>=1.6.21,<1.7" "zlib=1.2" "cycler>=0.10"
86-
mock sphinx pandas
61+
msinttypes freetype=2.6 "libpng>=1.6.21,<1.7" zlib=1.2 tk=8.5
62+
pip setuptools numpy pandas sphinx tornado
8763
- activate test-environment
8864
- echo %PYTHON_VERSION% %TARGET_ARCH%
89-
- if %PYTHON_VERSION% == 2.7 conda install -q backports.functools_lru_cache
9065
# pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124
91-
- pip install -q pytest "pytest-cov>=2.3.1" pytest-rerunfailures pytest-timeout
66+
- pip install -q "pytest>=3.4" "pytest-cov>=2.3.1" pytest-rerunfailures pytest-timeout pytest-xdist
67+
68+
# Apply patch to `subprocess` on Python versions > 2 and < 3.6.3
69+
# https://github.com/matplotlib/matplotlib/issues/9176
70+
- python -c "import sys; sys.exit(not (3,) < sys.version_info < (3,6,3))" && (
71+
curl -sL https://github.com/python/cpython/pull/1224.patch |
72+
patch -fsup 1 -d %CONDA_PREFIX% ) || cmd /c "exit /b 0"
9273

9374
# Let the install prefer the static builds of the libs
9475
- set LIBRARY_LIB=%CONDA_PREFIX%\Library\lib
@@ -108,7 +89,7 @@ install:
10889

10990
test_script:
11091
# Now build the thing..
111-
- '%CMD_IN_ENV% pip install --no-deps -ve .'
92+
- pip install -ve .
11293
# these should show no z, png, or freetype dll...
11394
- set "DUMPBIN=%VS140COMNTOOLS%\..\..\VC\bin\dumpbin.exe"
11495
- '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\ft2font*.pyd | findstr freetype.*.dll && exit /b 1 || exit /b 0'
@@ -117,7 +98,7 @@ test_script:
11798

11899
# this are optional dependencies so that we don't skip so many tests...
119100
- if x%TEST_ALL% == xyes conda install -q ffmpeg inkscape miktex pillow
120-
# missing packages on conda-forge for avconv mencoder imagemagick
101+
# missing packages on conda-forge for avconv imagemagick
121102
# This install sometimes failed randomly :-(
122103
#- choco install imagemagick
123104

@@ -126,34 +107,11 @@ test_script:
126107
# tests
127108
- echo The following args are passed to pytest %PYTEST_ARGS%
128109
- python tests.py %PYTEST_ARGS%
129-
# Generate a html for visual tests
130-
- python tools/visualize_tests.py --no-browser
131-
- pip install codecov
132-
- codecov -e PYTHON_VERSION PLATFORM
133110

134111
after_test:
135-
# After the tests were a success, build packages (wheels and conda)
136-
137-
# Build the wheel with the static libs
112+
# After the tests were a success, build wheels with the static libs
138113
# Hide the output, the copied files really clutter the build log...
139-
- '%CMD_IN_ENV% python setup.py bdist_wheel > NUL:'
140-
141-
# And now the conda build after a cleanup...
142-
# cleanup build files so that they don't pollute the conda build but keep the wheel in dist...
143-
- git clean -xdfq -e dist/
144-
# cleanup the environment so that the test-environment does not leak into the conda build...
145-
- set MPLBASEDIRLIST=
146-
- set LIBRARY_LIB=
147-
- deactivate
148-
- path
149-
- where python
150-
- '%CMD_IN_ENV% conda config --get channels'
151-
- '%CMD_IN_ENV% conda build -q .\ci\conda_recipe'
152-
153-
# Move the conda package into the dist directory, to register it
154-
# as an "artifact" for Appveyor.
155-
- copy /y %CONDA_INSTALL_LOCN%\conda-bld\win-32\*.bz2 dist || cmd /c "exit /b 0"
156-
- copy /y %CONDA_INSTALL_LOCN%\conda-bld\win-64\*.bz2 dist || cmd /c "exit /b 0"
114+
- 'python setup.py bdist_wheel > NUL:'
157115
- dir dist\
158116
- echo finished...
159117

@@ -166,8 +124,11 @@ artifacts:
166124
type: zip
167125

168126
on_finish:
127+
- pip install codecov
128+
- codecov -e PYTHON_VERSION PLATFORM
169129

170130
on_failure:
131+
# Generate a html for visual tests
171132
- python tools/visualize_tests.py --no-browser
172133
- echo zipping images after a failure...
173134
- 7z a result_images.zip result_images\ | grep -v "Compressing"

.circleci/config.yml

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -52,23 +52,23 @@ pip-run: &pip-install
5252
# Upgrade pip and setuptools and wheel to get as clean an install as possible
5353
name: Upgrade pip, setuptools, wheel
5454
command: |
55-
pip install --upgrade --user pip
56-
pip install --upgrade --user wheel
57-
pip install --upgrade --user setuptools
55+
python -mpip install --upgrade --user pip
56+
python -mpip install --upgrade --user wheel
57+
python -mpip install --upgrade --user setuptools
5858
5959
deps-run: &deps-install
6060
name: Install Python dependencies
6161
command: |
62-
pip install --user python-dateutil numpy${NUMPY_VERSION} pyparsing!=2.1.6 cycler codecov coverage sphinx pillow
63-
pip install --user -r doc-requirements.txt
62+
python -mpip install --user numpy${NUMPY_VERSION} codecov coverage
63+
python -mpip install --user -r doc-requirements.txt
6464
6565
mpl-run: &mpl-install
6666
name: Install Matplotlib
67-
command: pip install --user -ve .
67+
command: python -mpip install --user -ve .
6868

6969
doc-run: &doc-build
7070
name: Build documentation
71-
command: python make.py html
71+
command: make html
7272
working_directory: doc
7373

7474
doc-bundle-run: &doc-bundle
@@ -82,9 +82,9 @@ doc-bundle-run: &doc-bundle
8282
#
8383

8484
jobs:
85-
docs-python35:
85+
docs-python36:
8686
docker:
87-
- image: circleci/python:3.5
87+
- image: circleci/python:3.6
8888
steps:
8989
- checkout
9090

@@ -115,9 +115,9 @@ jobs:
115115
name: "Deploy new docs"
116116
command: ./.circleci/deploy-docs.sh
117117

118-
docs-python27:
118+
docs-python35:
119119
docker:
120-
- image: circleci/python:2.7
120+
- image: circleci/python:3.5
121121
steps:
122122
- checkout
123123

@@ -128,23 +128,14 @@ jobs:
128128
- run:
129129
<<: *deps-install
130130
environment:
131-
NUMPY_VERSION: "==1.7.1"
132-
# Linkchecker only works with python 2.7 for the time being.
133-
# Linkchecker is currently broken with requests 2.10.0 so force an earlier version.
134-
- run: pip install --user $PRE requests==2.9.2 linkchecker
131+
NUMPY_VERSION: "==1.10.0"
135132
- run: *mpl-install
136133

137134
- run: *doc-build
138135

139136
# We don't build the LaTeX docs here, so linkchecker will complain
140137
- run: touch doc/build/html/Matplotlib.pdf
141138

142-
# Linkchecker only works with python 2.7 for the time being
143-
- run:
144-
name: linkchecker
145-
command: ~/.local/bin/linkchecker build/html/index.html
146-
working_directory: doc
147-
148139
- run: *doc-bundle
149140
- store_artifacts:
150141
path: doc/build/sphinx-gallery-files.tar.gz
@@ -166,4 +157,4 @@ workflows:
166157
build:
167158
jobs:
168159
- docs-python35
169-
- docs-python27
160+
- docs-python36

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
* text=auto
2+
*.svg binary
3+
*.svg linguist-language=true
24
lib/matplotlib/_version.py export-subst
File renamed without changes.

.github/ISSUE_TEMPLATE.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,12 @@
3434

3535
**Matplotlib version**
3636
<!--Please specify your platform and versions of the relevant libraries you are using:-->
37-
* Operating System:
38-
* Matplotlib Version:
39-
* Python Version:
40-
* Jupyter Version (if applicable):
41-
* Other Libraries:
37+
* Operating system:
38+
* Matplotlib version:
39+
* Matplotlib backend (`print(matplotlib.get_backend())`):
40+
* Python version:
41+
* Jupyter version (if applicable):
42+
* Other libraries:
4243

4344
<!--Please tell us how you installed matplotlib and python e.g., from source, pip, conda-->
4445
<!--If you installed from conda, please specify which channel you used if not the default-->

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 31 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,41 @@
1-
<!--Thank you so much for your PR! To help us review, fill out the form
2-
to the best of your ability. Please make use of the development guide at
3-
https://matplotlib.org/devdocs/devel/index.html-->
4-
5-
<!--Provide a general summary of your changes in the title above, for
6-
example "Raises ValueError on Non-Numeric Input to set_xlim". Please avoid
7-
non-descriptive titles such as "Addresses issue #8576".-->
8-
9-
<!--If you are able to do so, please do not create the
10-
PR out of master, but out of a separate branch. See
11-
https://matplotlib.org/devel/gitwash/development_workflow.html for
12-
instructions.-->
13-
141
## PR Summary
152

16-
<!--Please provide at least 1-2 sentences describing the pull request in
17-
detail. Why is this change required? What problem does it solve?-->
18-
19-
<!--If it fixes an open issue, please link to the issue here.-->
20-
213
## PR Checklist
224

235
- [ ] Has Pytest style unit tests
24-
- [ ] Code is PEP 8 compliant
6+
- [ ] Code is PEP 8 compliant
257
- [ ] New features are documented, with examples if plot related
268
- [ ] Documentation is sphinx and numpydoc compliant
279
- [ ] Added an entry to doc/users/next_whats_new/ if major new feature (follow instructions in README.rst there)
2810
- [ ] Documented in doc/api/api_changes.rst if API changed in a backward-incompatible way
2911

30-
<!--We understand that PRs can sometimes be overwhelming, especially as the
31-
reviews start coming in. Please let us know if the reviews are unclear or the
32-
recommended next step seems overly demanding , or if you would like help in
33-
addressing a reviewer's comments. And please ping us if you've been waiting
34-
too long to hear back on your PR.-->
12+
<!--
13+
Thank you so much for your PR! To help us review your contribution, please
14+
consider the following points:
15+
16+
- A development guide is available at https://matplotlib.org/devdocs/devel/index.html.
17+
18+
- Help with git and github is available at
19+
https://matplotlib.org/devel/gitwash/development_workflow.html.
20+
21+
- Do not create the PR out of master, but out of a separate branch.
22+
23+
- The PR title should summarize the changes, for example "Raise ValueError on
24+
non-numeric input to set_xlim". Avoid non-descriptive titles such as
25+
"Addresses issue #8576".
26+
27+
- The summary should provide at least 1-2 sentences describing the pull request
28+
in detail (Why is this change required? What problem does it solve?) and
29+
link to any relevant issues.
30+
31+
- If you are contributing fixes to docstrings, please pay attention to
32+
http://matplotlib.org/devel/documenting_mpl.html#formatting. In particular,
33+
note the difference between using single backquotes, double backquotes, and
34+
asterisks in the markup.
35+
36+
We understand that PRs can sometimes be overwhelming, especially as the
37+
reviews start coming in. Please let us know if the reviews are unclear or
38+
the recommended next step seems overly demanding, if you would like help in
39+
addressing a reviewer's comments, or if you have been waiting too long to hear
40+
back on your PR.
41+
-->

.gitignore

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
.pydevproject
1515
*.swp
1616
.idea
17+
.vscode/
1718

1819
# Compiled source #
1920
###################
@@ -65,9 +66,6 @@ doc/gallery
6566
doc/tutorials
6667
doc/modules
6768
doc/pyplots/tex_demo.png
68-
doc/users/installing.rst
69-
doc/_static/depsy_badge.svg
70-
doc/_static/matplotlibrc
7169
lib/dateutil
7270
examples/*/*.pdf
7371
examples/*/*.png
@@ -76,12 +74,11 @@ examples/*/*.eps
7674
examples/*/*.svgz
7775
examples/tests/*
7876
!examples/tests/backend_driver.py
79-
texput.log
80-
texput.aux
8177
result_images
8278

8379
# Nose/Pytest generated files #
8480
###############################
81+
.pytest_cache/
8582
.cache/
8683
.coverage
8784
.coverage.*
@@ -93,3 +90,8 @@ cover/
9390
__conda_version__.txt
9491
lib/png.lib
9592
lib/z.lib
93+
94+
# Jupyter files #
95+
#################
96+
97+
.ipynb_checkpoints/

0 commit comments

Comments
 (0)