diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index c0d8bf7..8f17a98 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -26,18 +26,17 @@ jobs: init-shell: bash create-args: >- python=3 pip - --file requirements.txt --file requirements-dev.txt --channel conda-forge - name: Install on pyobis shell: bash -l {0} run: | - python -m pip install -e . --no-deps --force-reinstall + python -m pip install -e . --force-reinstall - name: Get the version id: get_version - run: echo ::set-output name=VERSION::$(python setup.py --version) + run: echo "VERSION=$(python -c "from importlib.metadata import version; print(version('pyobis'))")" >> $GITHUB_OUTPUT - name: Build documentation shell: bash -l {0} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b9231d0..ec129d6 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,7 +7,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12","3.13","3.14"] os: [windows-latest, ubuntu-latest, macos-latest] fail-fast: false @@ -21,14 +21,13 @@ jobs: init-shell: bash create-args: >- python=${{ matrix.python-version }} pip - --file requirements.txt --file requirements-dev.txt --channel conda-forge - name: Install on pyobis shell: bash -l {0} run: | - python -m pip install -e . --no-deps --force-reinstall + python -m pip install -e . --force-reinstall - name: Run Unit Tests shell: bash -l {0} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dffce3e..b830242 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -39,9 +39,8 @@ System prerequisites: python3 git clone git@github.com:iobis/pyobis.git cd pyobis # install -python -m pip install -r requirements.txt -python -m pip install -r requirements-dev.txt python -m pip install -e . +python -m pip install -r requirements-dev.txt # test your installation python -m pytest # test and generate a coverage report diff --git a/pyproject.toml b/pyproject.toml index 7150f71..af67483 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,42 @@ [build-system] requires = ["setuptools>=41.2", "setuptools_scm", "wheel"] build-backend = "setuptools.build_meta" + +[project] +name = "pyobis" +dynamic = ["version"] +description = "Python client for OBIS" +readme = "README.md" +requires-python = ">=3.10" +license = {text = "MIT"} +authors = [ + {name = "pyOBIS Community", email = "pyobis-mailing-list@googlegroups.com"} +] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Natural Language :: English", + "Programming Language :: Python :: 3", + "Topic :: Scientific/Engineering :: Bio-Informatics", +] +dependencies = [ + "pandas", + "requests>=2.7", + "requests-cache>=1.2.0,<2.0.0", + "urllib3<2.0.0", +] + +[project.urls] +Documentation = "https://iobis.github.io/pyobis" +"Bug Tracker" = "https://github.com/iobis/pyobis" +"Source Code" = "https://github.com/iobis/pyobis" + +[tool.setuptools] +packages = ["pyobis"] + +[tool.setuptools_scm] +write_to = "pyobis/_version.py" +write_to_template = '__version__ = "{version}"' +tag_regex = "^(?Pv)?(?P[^\\+]+)(?P.*)?$" diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index c0ec947..0000000 --- a/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -pandas -requests>=2.7 -requests-cache>=1.2.0,<2.0.0 -urllib3<2.0.0 diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 6e51a67..0000000 --- a/setup.cfg +++ /dev/null @@ -1,34 +0,0 @@ -# This file is used to configure your project. -# Read more about the various options under: -# http://setuptools.readthedocs.io/en/latest/setuptools.html#configuring-setup-using-setup-cfg-files - -[metadata] -name = pyobis -description = Python client for OBIS -author = pyOBIS Community -author_email = pyobis-mailing-list@googlegroups.com -url = https://github.com/iobis/pyobis -long_description_content_type = text/markdown -long_description = file: README.md -license = MIT -license-file = LICENSE -project_urls = - Documentation = https://iobis.github.io/pyobis - Bug Tracker = https://github.com/iobis/pyobis - Source Code = https://github.com/iobis/pyobis -classifiers = - Development Status :: 5 - Production/Stable - Intended Audience :: Science/Research - License :: OSI Approved :: MIT License - Operating System :: OS Independent - Natural Language :: English - Programming Language :: Python :: 3 - Topic :: Scientific/Engineering :: Bio-Informatics - -[options] -install_requires = - requests>2.7 - pandas - requests-cache>=1.2.0,<2.0.0 -python_requires = >=3.7 -packages = find: diff --git a/setup.py b/setup.py deleted file mode 100644 index 3071fac..0000000 --- a/setup.py +++ /dev/null @@ -1,12 +0,0 @@ -from setuptools import setup - -setup( - # The package metadata is specified in setup.cfg but GitHub's downstream dependency graph - # does not work unless we put the name this here too. - name="pyobis", - use_scm_version={ - "write_to": "pyobis/_version.py", - "write_to_template": '__version__ = "{version}"', - "tag_regex": r"^(?Pv)?(?P[^\+]+)(?P.*)?$", - }, -)