Skip to content

Commit

Permalink
pin biopython<1.80; i dont have time to fix all of these nuances
Browse files Browse the repository at this point in the history
  • Loading branch information
Jon Palmer committed Feb 28, 2024
1 parent 83ceee5 commit ca0612d
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 43 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Expand Up @@ -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" \
Expand Down
89 changes: 47 additions & 42 deletions setup.py
Expand Up @@ -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?
Expand All @@ -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
Expand All @@ -78,56 +84,55 @@ 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()


# 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,
},
)

0 comments on commit ca0612d

Please sign in to comment.