Skip to content
Merged
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
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-13, macos-14, windows-latest] # Intel linux, Intel Mac, ARM Mac, Windows
python-version: ["3.11", "3.12", "3.13"]
python-version: ["3.11", "3.12", "3.13.5"]
steps:
- uses: actions/checkout@v4
with:
Expand Down Expand Up @@ -96,7 +96,7 @@ jobs:

strategy:
matrix:
python-version: ["3.13"]
python-version: ["3.13.5"]
os: [ubuntu-latest]

steps:
Expand All @@ -121,7 +121,7 @@ jobs:

strategy:
matrix:
python-version: ["3.13"]
python-version: ["3.13.5"]
os: [ubuntu-latest]

steps:
Expand Down
7 changes: 4 additions & 3 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
import nox

_py_versions = range(11, 14)
_python_sessions = [f"3.{v}" + (".5" if v == 13 else "") for v in _py_versions]


@nox.session(python=[f"3.{v}" for v in _py_versions])
@nox.session(python=_python_sessions)
def test(session):
posargs = list(session.posargs)
env = os.environ.copy()
Expand All @@ -15,7 +16,7 @@ def test(session):
session.run("pytest", *posargs, env=env)


@nox.session(python=[f"3.{v}" for v in _py_versions])
@nox.session(python=_python_sessions)
def type_check(session):
posargs = list(session.posargs)
env = os.environ.copy()
Expand All @@ -25,7 +26,7 @@ def type_check(session):
session.run("mypy", "src", "tests", *posargs, env=env)


@nox.session(python=[f"3.{v}" for v in _py_versions])
@nox.session(python=_python_sessions)
def ruff(session):
posargs = list(session.posargs)
env = os.environ.copy()
Expand Down
34 changes: 17 additions & 17 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ build-backend = "setuptools.build_meta"

[project]
name = "piqtree"
dependencies = ["cogent3>=2025.5.8a2", "pyyaml", "requests"]
dependencies = ["cogent3>=2025.5.8a7", "pyyaml", "requests"]
requires-python = ">=3.11, <3.14"

authors = [
{ name = "Gavin Huttley" },
{ name = "Robert McArthur" },
{ name = "Bui Quang Minh " },
{ name = "Richard Morris" },
{ name = "Thomas Wong" },
{ name = "Thomas Wong" }
]
description = "Python bindings for IQTree"
readme = "README.md"
Expand All @@ -38,7 +38,7 @@ classifiers = [
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",

"Typing :: Typed",
"Typing :: Typed"
]

[project.urls]
Expand All @@ -54,7 +54,7 @@ dev = [
"scriv",
"piqtree[test]",
"piqtree[lint]",
"piqtree[typing]",
"piqtree[typing]"
]
test = ["pytest", "pytest-cov", "nox"]
lint = ["ruff==0.11.13"]
Expand All @@ -71,7 +71,7 @@ doc = [
"cogent3[extra]",
"diverse-seq",
"jupyter",
"ipywidgets",
"ipywidgets"
]

[project.entry-points."cogent3.app"]
Expand Down Expand Up @@ -116,7 +116,7 @@ exclude = [
"dist",
"node_modules",
"site-packages",
"venv",
"venv"
]

# Same as Black.
Expand All @@ -141,33 +141,33 @@ dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"

[tool.ruff.lint.per-file-ignores]
"tests/**/*.py" = [
"S101", # asserts allowed in tests...
"S101", # asserts allowed in tests...
"INP001", # __init__.py files are not required...
"N802", # allow non snake_case function names for fixtures
"N803", # allow use of fixture constants
"N802", # allow non snake_case function names for fixtures
"N803", # allow use of fixture constants
"SLF001", # private member access is useful for testing
"FBT001", # allow bool pos args for parameterisation
"D", # don't require docstrings
"D" # don't require docstrings
]
"docs/**/*.py" = ["B018", "E402", "ERA001", "INP001"]
"noxfile.py" = [
"S101", # asserts allowed in tests...
"S101", # asserts allowed in tests...
"INP001", # __init__.py files are not required...
"ANN",
"N802",
"N803",
"D",
"D"
]
"src/piqtree/_app/__init__.py" = [
"N801", # apps follow function naming convention
"N801" # apps follow function naming convention
]
"src/piqtree/__init__.py" = [
"E402", # handle DLLs before imports
"E402", # handle DLLs before imports
"PTH118", # os operations for DLL path
"PTH120", # os operations for DLL path
"PTH120" # os operations for DLL path
]
"src/piqtree/model/_substitution_model.py" = [
"N815", # use IQ-TREE naming scheme
"N815" # use IQ-TREE naming scheme
]

[tool.ruff.format]
Expand Down Expand Up @@ -205,7 +205,7 @@ categories = [
"BUG",
"DOC",
"Deprecations",
"Discontinued",
"Discontinued"
]
output_file = "changelog.md"
version = "literal: src/piqtree/__init__.py: __version__"
Expand Down
3 changes: 2 additions & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import pathlib

import pytest
from cogent3 import Alignment, load_aligned_seqs
from cogent3 import load_aligned_seqs
from cogent3.core.alignment import Alignment


@pytest.fixture(scope="session")
Expand Down
3 changes: 2 additions & 1 deletion tests/test_iqtree/test_build_tree.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import re

import pytest
from cogent3 import Alignment, make_tree
from cogent3 import make_tree
from cogent3.core.alignment import Alignment

import piqtree
from piqtree.exceptions import IqTreeError
Expand Down
2 changes: 1 addition & 1 deletion tests/test_iqtree/test_distance.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from cogent3 import Alignment
from cogent3.core.alignment import Alignment

from piqtree import jc_distances

Expand Down
3 changes: 2 additions & 1 deletion tests/test_iqtree/test_fit_tree.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import pytest
from cogent3 import Alignment, get_app, make_tree
from cogent3 import get_app, make_tree
from cogent3.app.result import model_result
from cogent3.core.alignment import Alignment
from cogent3.core.tree import PhyloNode

import piqtree
Expand Down
2 changes: 1 addition & 1 deletion tests/test_iqtree/test_model_finder.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import multiprocessing

import pytest
from cogent3 import Alignment
from cogent3.core.alignment import Alignment

from piqtree.iqtree import ModelFinderResult, ModelResultValue, model_finder

Expand Down
3 changes: 2 additions & 1 deletion tests/test_iqtree/test_nj_tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

import numpy as np
import pytest
from cogent3 import Alignment, make_tree
from cogent3 import make_tree
from cogent3.core.alignment import Alignment

from piqtree import jc_distances, nj_tree

Expand Down