From 0e37acd037a9bcdb4925b95cace488c1998ef5d5 Mon Sep 17 00:00:00 2001 From: paxtonfitzpatrick Date: Wed, 18 Dec 2019 14:59:26 -0500 Subject: [PATCH 1/5] add manifest to include requirements.txt in dist --- MANIFEST.in | 1 + 1 file changed, 1 insertion(+) create mode 100644 MANIFEST.in diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 00000000..f9bd1455 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +include requirements.txt From d77d0c14aab40de37132db312231c47bfb1bed33 Mon Sep 17 00:00:00 2001 From: paxtonfitzpatrick Date: Wed, 18 Dec 2019 15:00:06 -0500 Subject: [PATCH 2/5] update version --- docs/conf.py | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 5b8d166c..15e2a4a7 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -68,7 +68,7 @@ # The short X.Y version. version = u'0.6' # The full version, including alpha/beta/rc tags. -release = u'0.6.0' +release = u'0.6.1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/setup.py b/setup.py index fc0b8664..d0850c75 100644 --- a/setup.py +++ b/setup.py @@ -21,7 +21,7 @@ def parse_dependencies(requirements_path, vcs_id, egg_id): NAME = 'hypertools' -VERSION = '0.6.0' +VERSION = '0.6.1' AUTHOR = 'Contextual Dynamics Lab' AUTHOR_EMAIL = 'contextualdynamics@gmail.com' URL = 'https://github.com/ContextLab/hypertools' From 22be1824b2eb5b0b5a13c925c6bab9799483ecfc Mon Sep 17 00:00:00 2001 From: paxtonfitzpatrick Date: Wed, 18 Dec 2019 15:00:48 -0500 Subject: [PATCH 3/5] recompiled docs --- docs/auto_examples/save_image_codeobj.pickle | Bin 181 -> 181 bytes docs/auto_examples/save_movie_codeobj.pickle | Bin 218 -> 218 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/auto_examples/save_image_codeobj.pickle b/docs/auto_examples/save_image_codeobj.pickle index 13fe4082e50e8d81eb086e401bc4285d133d8eef..131593ab591185ef17623fa3dabd9f0592a9698c 100644 GIT binary patch literal 181 zcmZo*nYxMr0(!WU^K)`ilS?x5^NOeRaQhdfq!y*7xMU`mOqo1IGiZuN4@X92fnGsQ ze#w+tAde+4F*kKe4+~hJhb=chr8Eb~=K?B9Eh@>+&jFgk0}+ic&d4t+nUcX-+QSDj k11zhTlb@IZGAVn+a delta 126 zcmdnWxRr5&-ozr|k{*`4#N5;=JuEr-i78Wh*mCnzN^^jGfsD$6)S{C7{G4JvFgc}% y2O<|=oRMEtGNp$Lp<+sD4+oH^SCErmGNpEkMh06C3z(h3fubyfD}%qZR1W}tK{4+D diff --git a/docs/auto_examples/save_movie_codeobj.pickle b/docs/auto_examples/save_movie_codeobj.pickle index 0542dfea3faaed6012a4e818bbcf21cbcd90ed30..3c2fffc2d4a52b7f7613da79bcb969f632898a75 100644 GIT binary patch delta 148 zcmcb`c#Cm@UOit%Wr1Evetu4|UQT{u%9PqE8a*s|iMgp$dRV{$J#4x8DWy3;z5q~Z zY7s;&n4HqX1Cfg_&d4t+nbO0BP%)*nhXZ7EK~8=N$j}V79u_b=g9BL^>y!+x4E~7) KDlEdKrFsBF|2fD2 delta 147 zcmcb`c#Cm@o)bq#Wr1EnPJYRh+9?`6EP08!sZ)AbzydvNx%nxjIY2%aP*G}8Nq&A# z@su7Oh-iFqMt)Jrlnl;^n^fHRN_+S~27#66<>V)(fQ-vv>tO-2GdOw#5Jo^$P08Rw JF}Ji-4*<$UIsX6v From 1e5947edaaa5179026b4ed6b215194340e3e5c35 Mon Sep 17 00:00:00 2001 From: paxtonfitzpatrick Date: Wed, 18 Dec 2019 16:29:28 -0500 Subject: [PATCH 4/5] new approach to installing github dependencies --- requirements.txt | 2 +- setup.py | 37 ++++++++++++++++++++----------------- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/requirements.txt b/requirements.txt index f5a862d6..ee88d43e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,8 +5,8 @@ seaborn>=0.8.1 matplotlib>=1.5.1 scipy>=1.0.0 numpy>=1.10.4 -https://api.github.com/repos/lmcinnes/umap/tarball/5f9488a9540d1e0ac149e2dd42ebf03c39706110#egg=umap_learn future requests deepdish six +# also requires umap-learn. However, due to a recent bug fix that has not been released on PyPI yet, umap-learn is installed from GitHub in setup.py \ No newline at end of file diff --git a/setup.py b/setup.py index d0850c75..075d2ae8 100644 --- a/setup.py +++ b/setup.py @@ -1,36 +1,34 @@ # -*- coding: utf-8 -*- import os +import subprocess +import sys from setuptools import setup, find_packages +from setuptools.command.install import install os.environ["MPLCONFIGDIR"] = "." -def parse_dependencies(requirements_path, vcs_id, egg_id): - requirements = [] - with open(requirements_path, 'r') as f: - reqs = f.read().splitlines() +class PostInstall(install): + github_pkg = 'https://api.github.com/repos/lmcinnes/umap/tarball/5f9488a9540d1e0ac149e2dd42ebf03c39706110#egg=umap_learn' - for req in reqs: - if req.startswith(vcs_id) and egg_id in req: - package_name = req[req.find(egg_id) + len(egg_id):] - requirements.append(package_name + ' @ ' + req.rstrip(egg_id + package_name)) - else: - requirements.append(req) - - return requirements + def run(self): + install.run(self) + output = subprocess.run([sys.executable, '-m', 'pip', 'install', self.github_pkg], + stdout=subprocess.PIPE) + print(output.stdout.decode('utf-8')) NAME = 'hypertools' -VERSION = '0.6.1' +VERSION = '0.6.2' AUTHOR = 'Contextual Dynamics Lab' AUTHOR_EMAIL = 'contextualdynamics@gmail.com' URL = 'https://github.com/ContextLab/hypertools' DOWNLOAD_URL = URL LICENSE = 'MIT' -REQUIRES_PYTHON = '>=3' +REQUIRES_PYTHON = '>=3.5' PACKAGES = find_packages(exclude=('images', 'examples', 'tests')) -REQUIREMENTS = parse_dependencies('requirements.txt', 'https://api.github.com', '#egg=') - +with open('requirements.txt', 'r') as f: + REQUIREMENTS = f.read().splitlines() DESCRIPTION = 'A python package for visualizing and manipulating high-dimensional data' LONG_DESCRIPTION = """\ @@ -57,7 +55,11 @@ def parse_dependencies(requirements_path, vcs_id, egg_id): 'Topic :: Multimedia :: Graphics', 'Operating System :: POSIX', 'Operating System :: Unix', - 'Operating System :: MacOS'] + 'Operating System :: MacOS' +] +CMDCLASS = { + 'install': PostInstall +} setup( @@ -74,4 +76,5 @@ def parse_dependencies(requirements_path, vcs_id, egg_id): packages=PACKAGES, install_requires=REQUIREMENTS, classifiers=CLASSIFIERS, + cmdclass=CMDCLASS, ) From 3c335f5b789b81157b029d26c7778b0e1e5cc559 Mon Sep 17 00:00:00 2001 From: paxtonfitzpatrick Date: Wed, 18 Dec 2019 16:29:45 -0500 Subject: [PATCH 5/5] updated version and recompiled docs --- docs/auto_examples/analyze_codeobj.pickle | Bin 207 -> 207 bytes docs/auto_examples/save_movie_codeobj.pickle | Bin 218 -> 218 bytes docs/conf.py | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/auto_examples/analyze_codeobj.pickle b/docs/auto_examples/analyze_codeobj.pickle index 7e7a6feebf7bab539a52e2b3481fe333b23d25d1..6a9403423485b8785e2243802602202a727857c4 100644 GIT binary patch delta 75 zcmX@lc%E^Bo)kw$Wr1EnPJYRh+9?`6EP08!sZ)AbKmrr}w4}K~vWa<#Ih9qZAO#t0 TJ?v2K#9rx%waP3)rKNfRC~zB` delta 88 zcmX@lc%E^Bo&tA9Wr1E|USdvVRqB-5DH=U2d5O8HQ+n8;ViP^ICN9>PxPU{wASb^B hq#}c@hXu^e;OOB3>P{^x$LK~lpY?4 zKzwmVeo@Jk49^2| P$>8eYLI_SNE!6`6G0-;u delta 141 zcmcb`c#Cm@UL;>eWr1Evetu4|UQT{u%9PqE8a*s|iMgp$dRV{$J#4x8DWy3;z5q~Z zY7s;&n4HqX1Cfg_&d4t+nbO0BP%&j Px1e%L23Lk~X{jCnf^#