diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..e98aed6 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,45 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "buscolite" +version = "24.7.29" +description = "busco analysis for gene predictions" +readme = {file = "README.md", content-type = "text/markdown"} +authors = [ + {name = "Jon Palmer", email = "nextgenusfs@gmail.com"} +] +requires-python = ">=3.6.0" +dependencies = [ + "natsort", + "pyhmmer>=0.10.15", + "pyfastx>=2.0.0", +] +license = {file = "LICENSE"} +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", +] +keywords = ["bioinformatics", "genome", "annotation", "completeness"] + +[project.urls] +Homepage = "https://github.com/nextgenusfs/buscolite" +Repository = "https://github.com/nextgenusfs/buscolitegit" + +[project.scripts] +buscolite = "buscolite.__main__:main" + +[tool.hatch.build.targets.sdist] +include = [ + "bucolite/data/*", + "README.md", + "LICENSE.md" +] +exclude = [ + "tests/*", +] diff --git a/setup.py b/setup.py deleted file mode 100755 index 06e64a6..0000000 --- a/setup.py +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import io -import os -from setuptools import find_packages, setup, Command - -# Package meta-data. -NAME = "buscolite" -DESCRIPTION = "buscolite: busco analysis for gene predictions" -URL = "https://github.com/nextgenusfs/buscolite" -EMAIL = "nextgenusfs@gmail.com" -AUTHOR = "Jon Palmer" -REQUIRES_PYTHON = ">=3.6.0" -VERSION = None - -# What packages are required for this module to be executed? -REQUIRED = ["natsort", "pyhmmer", "pyfastx"] - -# What packages are optional? -EXTRAS = { - # 'fancy feature': ['django'], -} - -# The rest you shouldn't have to touch too much :) -# ------------------------------------------------ -# Except, perhaps the License and Trove Classifiers! -# If you do change the License, remember to change the Trove Classifier for that! - -here = os.path.abspath(os.path.dirname(__file__)) - -# 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() -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: - exec(f.read(), about) -else: - about["__version__"] = VERSION - - -# Where the magic happens: -setup( - name=NAME, - version=about["__version__"], - description=DESCRIPTION, - long_description=long_description, - long_description_content_type="text/markdown", - author=AUTHOR, - author_email=EMAIL, - python_requires=REQUIRES_PYTHON, - url=URL, - packages=find_packages(exclude=("tests",)), - entry_points={"console_scripts": ["buscolite = buscolite.__main__:main"]}, - install_requires=REQUIRED, - extras_require=EXTRAS, - include_package_data=True, - license="BSD-2", - # scripts=[], - 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", - ], -)