Skip to content

Commit 0df8646

Browse files
author
Michiel de Hoon
committed
Merge branch 'master' of git://github.com/matplotlib/matplotlib into fixForIssue4372
2 parents c44b4c2 + 7f9fb69 commit 0df8646

File tree

96 files changed

+7448
-6519
lines changed

Some content is hidden

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

96 files changed

+7448
-6519
lines changed

.travis.yml

Lines changed: 53 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
sudo: false
2+
3+
addons:
4+
apt:
5+
packages:
6+
- inkscape
7+
- libav-tools
8+
- gdb
9+
- mencoder
10+
- dvipng
11+
- texlive-latex-base
12+
- texlive-latex-extra
13+
- texlive-fonts-recommended
14+
- texlive-latex-recommended
15+
- graphviz
16+
# - fonts-humor-sans
17+
# sources:
18+
# - debian-sid
19+
120
env:
221
global:
322
- ARTIFACTS_AWS_REGION=us-east-1
@@ -8,6 +27,7 @@ env:
827
- BUILD_DOCS=false
928
- TEST_ARGS=--no-pep8
1029
- NUMPY=numpy
30+
- NPROC=2
1131

1232
language: python
1333

@@ -22,26 +42,45 @@ matrix:
2242
env: TEST_ARGS=--pep8
2343
- python: 2.7
2444
env: BUILD_DOCS=true
45+
- python: "nightly"
46+
env: PRE=--pre
47+
allow_failures:
48+
- python : "nightly"
49+
50+
before_install:
51+
- source tools/travis_tools.sh
52+
# Install into our own pristine virtualenv
53+
- virtualenv --python=python venv
54+
- source venv/bin/activate
2555

2656
install:
27-
- pip install -q --use-mirrors nose python-dateutil $NUMPY pep8 pyparsing pillow sphinx!=1.3.0
28-
- sudo apt-get update && sudo apt-get -qq install inkscape libav-tools gdb mencoder
29-
# We use --no-install-recommends to avoid pulling in additional large latex docs that we don't need
57+
# Install only from travis wheelhouse
58+
- if [ -z "$PRE" ]; then
59+
wheelhouse_pip_install python-dateutil $NUMPY pyparsing pillow sphinx!=1.3.0;
60+
else
61+
pip install $PRE python-dateutil $NUMPY pyparsing pillow sphinx!=1.3.0;
62+
fi
63+
# Always install from pypi
64+
- pip install $PRE nose pep8
3065

3166
# We manually install humor sans using the package from Ubuntu 14.10. Unfortunatly humor sans is not
3267
# availible in the Ubuntu version used by Travis but we can manually install the deb from a later
3368
# version since is it basically just a .ttf file
69+
# The current Travis Ubuntu image is to old to search .local/share/fonts so we store fonts in .fonts
3470

3571
# We install ipython to use the console highlighting. From IPython 3 this depends on jsonschema and misture.
3672
# Neihter is installed as a dependency of IPython since they are not used by the IPython console.
3773
- |
3874
if [[ $BUILD_DOCS == true ]]; then
39-
sudo apt-get install -qq --no-install-recommends dvipng texlive-latex-base texlive-latex-extra texlive-fonts-recommended graphviz
40-
pip install numpydoc linkchecker ipython jsonschema mistune
75+
pip install $PRE numpydoc ipython jsonschema mistune
76+
pip install -q $PRE linkchecker
77+
wget https://github.com/google/fonts/blob/master/ofl/felipa/Felipa-Regular.ttf?raw=true -O Felipa-Regular.ttf
4178
wget http://mirrors.kernel.org/ubuntu/pool/universe/f/fonts-humor-sans/fonts-humor-sans_1.0-1_all.deb
42-
sudo dpkg -i fonts-humor-sans_1.0-1_all.deb
43-
wget https://googlefontdirectory.googlecode.com/hg/ofl/felipa/Felipa-Regular.ttf
44-
sudo cp Felipa-Regular.ttf /usr/local/share/fonts/
79+
mkdir -p tmp
80+
mkdir -p ~/.fonts
81+
dpkg -x fonts-humor-sans_1.0-1_all.deb tmp
82+
cp tmp/usr/share/fonts/truetype/humor-sans/Humor-Sans.ttf ~/.fonts
83+
cp Felipa-Regular.ttf ~/.fonts
4584
fc-cache -f -v
4685
fi;
4786
- python setup.py install
@@ -50,17 +89,16 @@ script:
5089
# The number of processes is hardcoded, because using too many causes the
5190
# Travis VM to run out of memory (since so many copies of inkscape and
5291
# ghostscript are running at the same time).
53-
- echo Testing using 8 processes
92+
- echo Testing using $NPROC processes
5493
# Generate the font caches in a single process before starting the
5594
# multiple processes
56-
- gcc --version
5795
- python -c "from matplotlib import font_manager"
5896
- |
5997
if [[ $BUILD_DOCS == false ]]; then
6098
export MPL_REPO_DIR=$PWD # needed for pep8-conformance test of the examples
6199
mkdir ../tmp_test_dir
62100
cd ../tmp_test_dir
63-
gdb -return-child-result -batch -ex r -ex bt --args python ../matplotlib/tests.py -sv --processes=8 --process-timeout=300 $TEST_ARGS
101+
gdb -return-child-result -batch -ex r -ex bt --args python ../matplotlib/tests.py -s --processes=$NPROC --process-timeout=300 $TEST_ARGS
64102
else
65103
cd doc
66104
python make.py html --small --warningsaserrors
@@ -76,12 +114,14 @@ after_failure:
76114
cd $TRAVIS_BUILD_DIR/../tmp_test_dir
77115
tar cjf result_images.tar.bz2 result_images
78116
travis-artifacts upload --path result_images.tar.bz2
79-
echo "The result images will only be uploaded if they are on the matplotlib/matplotlib repo - this is for security reasons to prevent arbitrary PRs echoing security details." else echo https://s3.amazonaws.com/matplotlib-test-results/artifacts/${TRAVIS_BUILD_NUMBER}/${TRAVIS_JOB_NUMBER}/result_images.tar.bz2
117+
echo https://s3.amazonaws.com/matplotlib-test-results/artifacts/${TRAVIS_BUILD_NUMBER}/${TRAVIS_JOB_NUMBER}/result_images.tar.bz2
118+
else
119+
echo "The result images will only be uploaded if they are on the matplotlib/matplotlib repo - this is for security reasons to prevent arbitrary PRs echoing security details."
80120
fi
81121

82122
after_success:
83123
|
84-
if [[ $TRAVIS_PULL_REQUEST == false && $BUILD_DOCS == true && $TRAVIS_BRANCH == 'master' ]]; then
124+
if [[ $TRAVIS_PULL_REQUEST == false && $TRAVIS_REPO_SLUG == 'matplotlib/matplotlib' && $BUILD_DOCS == true && $TRAVIS_BRANCH == 'master' ]]; then
85125
cd $TRAVIS_BUILD_DIR
86126
echo "Uploading documentation"
87127
openssl aes-256-cbc -K $encrypted_cc802e084cd0_key -iv $encrypted_cc802e084cd0_iv -in .travis/matplotlibDeployKey.enc -out .travis/matplotlibDeployKey -d
205 KB
Loading
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Split `matplotlib.cbook.ls_mapper` in two
2+
`````````````````````````````````````````
3+
4+
The `matplotlib.cbook.ls_mapper` dictionary is split into two now to
5+
distinguish between qualified linestyle used by backends and
6+
unqualified ones. `ls_mapper` now maps from the short symbols
7+
(e.g. `"--"`) to qualified names (`"solid"`). The new ls_mapper_r is
8+
the reversed mapping.
9+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Removed `lod` from Artist
2+
`````````````````````````
3+
4+
Removed the method *set_lod* and all references to
5+
the attribute *_lod* as the are not used anywhere else in the
6+
code base. It appears to be a feature stub that was never built
7+
out.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Reordered `Axes.get_children`
2+
`````````````````````````````
3+
4+
The artist order returned by `Axes.get_children` did not
5+
match the one used by `Axes.draw`. They now use the same
6+
order, as `Axes.draw` now calls `Axes.get_children`.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Disallow ``None`` as x or y value in ax.plot
2+
````````````````````````````````````````````
3+
4+
Do not allow ``None`` as a valid input for the ``x`` or ``y`` args in
5+
`ax.plot`. This may break some user code, but this was never officially
6+
supported (ex documented) and allowing ``None`` objects through can lead
7+
to confusing exceptions downstream.
8+
9+
To create an empty line use ::
10+
11+
ln1, = ax.plot([], [], ...)
12+
ln2, = ax.plot([], ...)
13+
14+
In either case to update the data in the `Line2D` object you must update
15+
both the ``x`` and ``y`` data.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Add salt to cilpPath id
2+
```````````````````````
3+
4+
Add salt to the hash used to determine the id of the ``clipPath``
5+
nodes. This is to avoid conflicts in two svg documents with the same
6+
clip path are included in the same document (see
7+
https://github.com/ipython/ipython/issues/8133 and
8+
https://github.com/matplotlib/matplotlib/issues/4349 ), however this
9+
means that the svg output is no longer deterministic if the same
10+
figure is saved twice. It is not expected that this will affect any
11+
users as the current ids are generated from an md5 hash of properties
12+
of the clip path and any user would have a very difficult time
13+
anticipating the value of the id.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Improved spacing in mathtext
2+
````````````````````````````
3+
4+
The extra space that appeared after subscripts and superscripts has
5+
been removed.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Changed snap threshold for circle markers to inf
2+
````````````````````````````````````````````````
3+
4+
When drawing circle markers above some marker size (previously 6.0)
5+
the path used to generate the marker was snapped to pixel centers. However,
6+
this ends up distorting the marker away from a circle. By setting the
7+
snap threshold to inf snapping is never done on circles.
8+
9+
This change broke several tests, but is an improvement.

doc/api/ticker_api.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ ticker
44

55

66
:mod:`matplotlib.ticker`
7-
==========================
7+
========================
88

99
.. automodule:: matplotlib.ticker
1010
:members:

0 commit comments

Comments
 (0)