Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure why are we removing --no-deps here. deps were installed in Setup Micromamba already right? this could increase CI time with force reinstall

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I migrated dependencies in requirements.txt into pyproject.toml. But I did not migrate dev dependencies to it because of nbsphinx library. The library depends on pandoc tool which is non python. Such tools (depends on conda binaries) are automatically installed with micromamba, but pip cannot do it. And also micromamba cannot read the pyproject.toml. so I left dev dependencies separate and installed in Setup Micromamba. I removed the --no-deps because because it needs to install dependencies in pyproject.toml and prevent environment mismatch as well. I thought it won't significantly effect CI time as it will just skip already satisfied requirements.

I have 2 suggestions to this blunder let me know which one is better.

  1. I will move the contents of requirements-dev.txt into pyproject.toml under [project.optional-dependencies]. We use Micromamba only to provision the Python environment, but let pip handle the installation.
  2. Switch the CI from micromamba to uv. uv is significantly faster than both pip and conda for pure Python packages, and it natively handles pyproject.toml locking.


- 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}
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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}
Expand Down
3 changes: 1 addition & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,8 @@ System prerequisites: python3
git clone [email protected]: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
Expand Down
39 changes: 39 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -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 = "[email protected]"}
]
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 = "^(?P<prefix>v)?(?P<version>[^\\+]+)(?P<suffix>.*)?$"
4 changes: 0 additions & 4 deletions requirements.txt

This file was deleted.

34 changes: 0 additions & 34 deletions setup.cfg

This file was deleted.

12 changes: 0 additions & 12 deletions setup.py

This file was deleted.