From ca0612dbbaf120b78060c2a3eae75b68ca11cf13 Mon Sep 17 00:00:00 2001 From: Jon Palmer Date: Wed, 28 Feb 2024 14:47:51 -0800 Subject: [PATCH] pin biopython<1.80; i dont have time to fix all of these nuances --- Dockerfile | 2 +- setup.py | 89 ++++++++++++++++++++++++++++-------------------------- 2 files changed, 48 insertions(+), 43 deletions(-) diff --git a/Dockerfile b/Dockerfile index 92d63fb..418ecc7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ RUN mamba install -n base --yes conda-pack # Install funannotate deps from bioconda # here specifying specific versions to be able to set ENV below RUN mamba create -c conda-forge -c bioconda -c defaults \ - -n funannotate --yes "python>=3.6,<3.9" biopython xlrd==1.2.0 \ + -n funannotate --yes "python>=3.6,<3.9" "biopython<1.80" xlrd==1.2.0 \ "trinity==2.8.5" "evidencemodeler==1.1.1" "pasa==2.4.1" "codingquarry==2.0" \ "proteinortho==6.0.16" goatools matplotlib-base natsort numpy pigz \ pandas psutil requests "scikit-learn<1.0.0" scipy seaborn "blast=2.2.31" \ diff --git a/setup.py b/setup.py index 984abb2..3044062 100755 --- a/setup.py +++ b/setup.py @@ -12,22 +12,28 @@ from setuptools import find_packages, setup, Command # Package meta-data. -NAME = 'funannotate' -DESCRIPTION = 'funannotate: eukaryotic genome annotation pipeline' -URL = 'https://github.com/nextgenusfs/funannotate' -EMAIL = 'nextgenusfs@gmail.com' -AUTHOR = 'Jon Palmer' -REQUIRES_PYTHON = '>=3.6.0, <3.10' +NAME = "funannotate" +DESCRIPTION = "funannotate: eukaryotic genome annotation pipeline" +URL = "https://github.com/nextgenusfs/funannotate" +EMAIL = "nextgenusfs@gmail.com" +AUTHOR = "Jon Palmer" +REQUIRES_PYTHON = ">=3.6.0, <3.10" VERSION = None # What packages are required for this module to be executed? REQUIRED = [ - 'biopython', 'goatools', - 'seaborn','psutil', - 'pandas','matplotlib', - 'natsort', 'numpy', - 'requests', 'scikit-learn', - 'scipy', 'distro' + "biopython<1.80", + "goatools", + "seaborn", + "psutil", + "pandas", + "matplotlib", + "natsort", + "numpy", + "requests", + "scikit-learn", + "scipy", + "distro", ] # What packages are optional? @@ -45,30 +51,30 @@ # Import the README and use it as the long-description. # Note: this will only work if 'README.md' is present in your MANIFEST.in file! try: - with io.open(os.path.join(here, 'README.md'), encoding='utf-8') as f: - long_description = '\n' + f.read() + with io.open(os.path.join(here, "README.md"), encoding="utf-8") as f: + long_description = "\n" + f.read() except FileNotFoundError: long_description = DESCRIPTION # Load the package's __version__.py module as a dictionary. about = {} if not VERSION: - with open(os.path.join(here, NAME, '__version__.py')) as f: + with open(os.path.join(here, NAME, "__version__.py")) as f: exec(f.read(), about) else: - about['__version__'] = VERSION + about["__version__"] = VERSION class UploadCommand(Command): """Support setup.py upload.""" - description = 'Build and publish the package.' + description = "Build and publish the package." user_options = [] @staticmethod def status(s): """Prints things in bold.""" - print(('\033[1m{0}\033[0m'.format(s))) + print(("\033[1m{0}\033[0m".format(s))) def initialize_options(self): pass @@ -78,20 +84,20 @@ def finalize_options(self): def run(self): try: - self.status('Removing previous builds…') - rmtree(os.path.join(here, 'dist')) + self.status("Removing previous builds…") + rmtree(os.path.join(here, "dist")) except OSError: pass - self.status('Building Source and Wheel (universal) distribution…') - os.system('{0} setup.py sdist bdist_wheel --universal'.format(sys.executable)) + self.status("Building Source and Wheel (universal) distribution…") + os.system("{0} setup.py sdist bdist_wheel --universal".format(sys.executable)) - self.status('Uploading the package to PyPI via Twine…') - os.system('twine upload dist/*') + self.status("Uploading the package to PyPI via Twine…") + os.system("twine upload dist/*") - self.status('Pushing git tags…') - os.system('git tag v{0}'.format(about['__version__'])) - os.system('git push --tags') + self.status("Pushing git tags…") + os.system("git tag v{0}".format(about["__version__"])) + os.system("git push --tags") sys.exit() @@ -99,35 +105,34 @@ def run(self): # Where the magic happens: setup( name=NAME, - version=about['__version__'], + version=about["__version__"], description=DESCRIPTION, long_description=long_description, - long_description_content_type='text/markdown', + long_description_content_type="text/markdown", author=AUTHOR, author_email=EMAIL, python_requires=REQUIRES_PYTHON, url=URL, - packages=find_packages(exclude=('tests',)), + packages=find_packages(exclude=("tests",)), entry_points={ - 'console_scripts': - ['funannotate=funannotate.funannotate:main'], + "console_scripts": ["funannotate=funannotate.funannotate:main"], }, install_requires=REQUIRED, extras_require=EXTRAS, include_package_data=True, - license='BSD-2', - #scripts=['scripts/funannotate'], + license="BSD-2", + # scripts=['scripts/funannotate'], classifiers=[ # Trove classifiers # Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers - 'Development Status :: 4 - Beta', - 'License :: OSI Approved :: BSD License', - 'Programming Language :: Python', - 'Operating System :: Unix', - 'Intended Audience :: Science/Research', - 'Topic :: Scientific/Engineering :: Bio-Informatics' - ], + "Development Status :: 4 - Beta", + "License :: OSI Approved :: BSD License", + "Programming Language :: Python", + "Operating System :: Unix", + "Intended Audience :: Science/Research", + "Topic :: Scientific/Engineering :: Bio-Informatics", + ], cmdclass={ - 'upload': UploadCommand, + "upload": UploadCommand, }, )