##// END OF EJS Templates
Backport PR #10496: Define `_repr_mimebundle_`...
Backport PR #10496: Define `_repr_mimebundle_` Allows objects to display arbitrary mime-types by returning a mimebundle. This is getting increasingly important as custom mime-types are growing in popularity. - mime-bundle is computed first, but other formatters are still called - if a mime-type is present in repr-mimebundle, `_repr_<mime>_` will not be called (avoids redundant calls for backward-compatible objects) closes 10090 cc rgbkrk Alternative design: rather than single method returning the mimebundle itself, return mime-keyed mapping to callables, e.g.: ```python def _repr_mime_methods_(self): return { 'text/html': self._repr_html_, } ``` Another more minor alternative: rather than allowing return of `data` or `(data, metadata)`, require returning the full mime-bundle with `data`, `metadata` keys: ```python def _repr_mimebundle(self): return { 'data': { 'application/vnd.foo+json': [1,2,3], }, } ```

File last commit:

r23594:66a867e4
r23619:abbf312f
Show More
.travis.yml
45 lines | 1.5 KiB | text/x-yaml | YamlLexer
# http://travis-ci.org/#!/ipython/ipython
language: python
python:
- "nightly"
- 3.6
- 3.5
- 3.4
- 3.3
- 2.7
- pypy
sudo: false
before_install:
- git clone --quiet --depth 1 https://github.com/minrk/travis-wheels travis-wheels
- 'if [[ $GROUP != js* ]]; then COVERAGE=""; fi'
install:
- pip install "setuptools>=18.5" pip --upgrade
# Installs PyPy (+ its Numpy). Based on @frol comment at:
# https://github.com/travis-ci/travis-ci/issues/5027
- |
if [ "$TRAVIS_PYTHON_VERSION" = "pypy" ]; then
export PYENV_ROOT="$HOME/.pyenv"
if [ -f "$PYENV_ROOT/bin/pyenv" ]; then
cd "$PYENV_ROOT" && git pull
else
rm -rf "$PYENV_ROOT" && git clone --depth 1 https://github.com/yyuu/pyenv.git "$PYENV_ROOT"
fi
export PYPY_VERSION="5.3.1"
"$PYENV_ROOT/bin/pyenv" install "pypy-$PYPY_VERSION"
virtualenv --python="$PYENV_ROOT/versions/pypy-$PYPY_VERSION/bin/python" "$HOME/virtualenvs/pypy-$PYPY_VERSION"
source "$HOME/virtualenvs/pypy-$PYPY_VERSION/bin/activate"
pip install https://bitbucket.org/pypy/numpy/get/master.zip
fi
- pip install -f travis-wheels/wheelhouse -e file://$PWD#egg=ipython[test]
- pip install codecov mock
script:
- cd /tmp && iptest --coverage xml && cd -
after_success:
- cp /tmp/ipy_coverage.xml ./
- cp /tmp/.coverage ./
- codecov
matrix:
allow_failures:
- python: nightly
- python: pypy