Skip to content

ENH: Add windows support #184

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 45 commits into
base: main
Choose a base branch
from
Draft

ENH: Add windows support #184

wants to merge 45 commits into from

Conversation

rmcar17
Copy link
Collaborator

@rmcar17 rmcar17 commented Mar 20, 2025

#43

Adds windows support to piqtree including in release workflow.

Limitation with relying with error handling on IQ-TREE side - errors which would be thrown as an IqTreeError on mac/linux instead cause an ungraceful exit. See skipped tests for examples. Could potentially handle common cases on Python side, though preference would be handling on IQ-TREE side in the long-term so new errors can be freely added/removed without duplication on Python side.

Phew!

dependabot bot and others added 30 commits March 19, 2025 17:41
Bumps [iqtree2](https://github.com/iqtree/iqtree2) from `1320c4c` to `39cbee5`.
- [Release notes](https://github.com/iqtree/iqtree2/releases)
- [Commits](iqtree/iqtree2@1320c4c...39cbee5)

---
updated-dependencies:
- dependency-name: iqtree2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
rmcar17 and others added 11 commits March 20, 2025 20:51
* MAINT: Add support for Python 3.13, drop for 3.10

* MAINT: Update nox supported python versions

* Bump pypa/cibuildwheel from 2.23.0 to 2.23.1

Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.23.0 to 2.23.1.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/v2.23.1/docs/changelog.md)
- [Commits](pypa/cibuildwheel@v2.23.0...v2.23.1)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@rmcar17 rmcar17 added the enhancement New feature or request label Mar 20, 2025
@rmcar17 rmcar17 self-assigned this Mar 20, 2025
@rmcar17 rmcar17 requested a review from GavinHuttley March 20, 2025 10:09
@rmcar17
Copy link
Collaborator Author

rmcar17 commented Mar 20, 2025

A note that the windows-latest status checks should be added to the ruleset for merging to main

@coveralls
Copy link
Collaborator

coveralls commented Mar 20, 2025

Pull Request Test Coverage Report for Build 14968114796

Details

  • 81 of 81 (100.0%) changed or added relevant lines in 12 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.2%) to 98.939%

Totals Coverage Status
Change from base Build 13966100962: 0.2%
Covered Lines: 1212
Relevant Lines: 1225

💛 - Coveralls

@@ -87,6 +88,10 @@ def test_rate_model_build_tree(
)


@pytest.mark.skipif(
Copy link
Member

@GavinHuttley GavinHuttley Mar 21, 2025

Choose a reason for hiding this comment

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

suggest making this an xfail, rather than skipif, since the intent is to fix this. actually, nix that because the whole thing will probably crash if this is not blocked

Copy link
Collaborator Author

@rmcar17 rmcar17 Mar 21, 2025

Choose a reason for hiding this comment

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

Yep that's right, unfortunately crashes the tests if not skipped. Though @thomaskf is working on a different way of propogating error messages to the python side.

Copy link
Member

@GavinHuttley GavinHuttley left a comment

Choose a reason for hiding this comment

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

Amazing effort @rmcar17 and @thomaskf

@rmcar17 rmcar17 marked this pull request as draft March 21, 2025 04:29
@rmcar17
Copy link
Collaborator Author

rmcar17 commented Mar 23, 2025

This now processes error messages from IQ-TREE on windows. All that remains is the question of memory leaks from heap allocated struct members.

* ENH: provide piqtree_nj and nj_tree option for positive branch lengths (#165)

* ENH: parameter to restrict negative value of branch length

* TST: allow_negative correctly control the behavior of branch length in nj_tree

* ENH: add parameter allow_negative in piqtree_nj app

* MAINT: fix double return error in merge

* MAINT: ruff formatting

* TST: Use full fasta file for checking `nj_tree` negative branch lengths

* MAINT: move from `ArrayAlignment` to `Alignment` in preparation for `new_type` default

* MAINT: simplify logic for negative branch lengths

* MAINT: Sort fixtures by number of taxa

* MAINT: Remove unused test data file

---------

Co-authored-by: Robert McArthur <[email protected]>

* DEV: Update minimum required `cogent3` version (support cogent3 hooks)

* TST: Remove skip for `quick_tree` `cogent3` hook as `cogent3` min version has updated

* Bump ruff from 0.11.0 to 0.11.5

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.0 to 0.11.5.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.11.0...0.11.5)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.11.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump pypa/cibuildwheel from 2.23.1 to 2.23.2

Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.23.1 to 2.23.2.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](pypa/cibuildwheel@v2.23.1...v2.23.2)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump ruff from 0.11.5 to 0.11.8

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.5 to 0.11.8.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.11.5...0.11.8)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.11.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump pypa/cibuildwheel from 2.23.2 to 2.23.3

Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.23.2 to 2.23.3.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](pypa/cibuildwheel@v2.23.2...v2.23.3)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-version: 2.23.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* MAINT: upgrade min `cogent3` and use new `Table` API

* ENH: support use of `str` for model in `build_tree` and `fit_tree`

* TST: add tests for string represnetations of models

* API: simplify expression of model in apps (match that used by `build_tree` and `fit_tree`)

* DEV: add scriv fragment

* DEV: bump version to 0.5.0

* DEV: collate scriv fragment

* DOC: fix typo in release checklist

* DEV: update trove classifiers for supported python versions

* DEV: add minimum cmake version

* Bump ruff from 0.11.8 to 0.11.9

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.8 to 0.11.9.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.11.8...0.11.9)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.11.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Yapeng Lang <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants