Skip to content

Commit

Permalink
Merge ce25010 into 3c3916b
Browse files Browse the repository at this point in the history
  • Loading branch information
jlstevens committed Apr 25, 2017
2 parents 3c3916b + ce25010 commit 660e097
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 18 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ install:
conda install python=3.4.3;
fi
- rm -r $SITE_PACKAGES/numpy*
- python setup.py install
- python setup.py develop
- pip install git+git://github.com/ioam/param.git
- pip install path.py
- pip install coveralls awscli deepdiff
Expand Down
32 changes: 32 additions & 0 deletions holoviews/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

from __future__ import print_function, absolute_import
import os, sys, pydoc

Expand Down Expand Up @@ -86,3 +87,34 @@ def help(obj, visualization=True, ansi=True, backend=None,
print((msg if visualization is False else '') + info)
else:
pydoc.help(obj)


def examples(path='holoviews-examples', verbose=False, force=False):
"""
Copies the notebooks to the supplied path.
"""
import glob
from shutil import copytree, ignore_patterns, copyfile

# A dictionary defining the example files to collect structured
# into subfolders along with globs and file type extensions
example_files = {'notebooks': [('../doc/Tutorials/*.{ext}', ('ipynb',))],
'assets': [('../doc/assets/*.{ext}', ('png', 'svg', 'rst'))]}

packaged_examples = os.path.join(__path__[0], './examples')
if os.path.exists(packaged_examples) and not force:
copytree(packaged_examples, path, ignore=ignore_patterns('.ipynb_checkpoints','*.pyc','*~'))
if verbose:
print("%s copied to %s" % (source, path))
else:
if not os.path.isdir(path): os.mkdir(path)
for subpath, files in example_files.items():
subfolder = os.path.join(path, subpath)
if not os.path.isdir(subfolder): os.mkdir(subfolder)
for gl, extensions in files:
file_glob = os.path.join(__path__[0], gl)
for p in [p for ext in extensions for p in glob.glob(file_glob.format(ext=ext))]:
dest = os.path.join(subfolder, os.path.basename(p))
copyfile(p, dest)
if verbose:
print("%s copied to %s" % (p, path))
37 changes: 20 additions & 17 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/usr/bin/env python

import sys, os
import sys, os, glob
from shutil import copyfile
try:
from setuptools import setup
except ImportError:
Expand Down Expand Up @@ -28,6 +29,7 @@
setup_args.update(dict(
name='holoviews',
version="1.7dev8",
include_package_data=True,
install_requires = install_requires,
extras_require = extras_require,
description='Stop plotting your data - annotate your data and let it visualize itself.',
Expand Down Expand Up @@ -83,26 +85,28 @@ def check_pseudo_package(path):
raise Exception("Please make sure pseudo-package %s is populated." % path)


if __name__=="__main__":

if 'HOLOVIEWS_RELEASE' in os.environ:
# Make sure to create these directories and populate them before upload
setup_args['packages'] += ["holoviews.assets", 'holoviews.notebooks']
def package_assets():
"""
Generates pseudo-packages for example files.
"""
import holoviews
holoviews.examples('holoviews/examples', force=True)

# Add unit tests
setup_args['packages'].append('holoviews.tests')
setup_args['packages'] += ['holoviews.examples', 'holoviews.examples.assets', 'holoviews.examples.notebooks']
setup_args['package_data']['holoviews.examples.notebooks'] = ['*.ipynb', '*.npy']
setup_args['package_data']['holoviews.examples.assets'] = ['*.png', '*.svg', '*.rst']

setup_args['package_data']['holoviews.assets'] = ['*.png', '*.svg', '*.rst']
setup_args['package_data']['holoviews.notebooks'] = ['*.ipynb', '*.npy']
check_pseudo_package(os.path.join('.', 'holoviews', 'examples', 'assets'))
check_pseudo_package(os.path.join('.', 'holoviews', 'examples', 'notebooks'))

if ('upload' in sys.argv) or ('sdist' in sys.argv):
check_pseudo_package(os.path.join('.', 'holoviews', 'tests'))
check_pseudo_package(os.path.join('.', 'holoviews', 'assets'))
check_pseudo_package(os.path.join('.', 'holoviews', 'notebooks'))

import holoviews
holoviews.__version__.verify(setup_args['version'])
if __name__=="__main__":
if not 'develop' in sys.argv:
package_assets()

if ('upload' in sys.argv) or ('sdist' in sys.argv):
import holoviews
holoviews.__version__.verify(setup_args['version'])

if 'install' in sys.argv:
header = "HOLOVIEWS INSTALLATION INFORMATION"
Expand All @@ -120,5 +124,4 @@ def check_pseudo_package(path):
print("For more information please visit http://holoviews.org/install.html\n")
print(bars+'\n')


setup(**setup_args)

0 comments on commit 660e097

Please sign in to comment.