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
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

- uses: actions/setup-python@v5
with:
python-version: '3.10'
python-version: '3.12'

- name: Build
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:

- uses: actions/setup-python@v4
with:
python-version: "3.10"
python-version: "3.12"
cache: pip
cache-dependency-path: pyproject.toml

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/link-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
python-version: "3.12"

- name: Install dependencies
run: |
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:

- uses: actions/setup-python@v5
with:
python-version: '3.9'
python-version: '3.10'
cache: pip
cache-dependency-path: pyproject.toml

Expand All @@ -35,7 +35,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9', '3.10', '3.11']
python-version: ['3.10', '3.11', '3.12']

steps:
- uses: actions/checkout@v4
Expand All @@ -58,7 +58,7 @@ jobs:
run: pytest --cov=jobflow --cov-report=xml

- uses: codecov/codecov-action@v1
if: matrix.python-version == '3.11' && github.repository == 'materialsproject/jobflow'
if: matrix.python-version == '3.12' && github.repository == 'materialsproject/jobflow'
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
Expand All @@ -74,7 +74,7 @@ jobs:

- uses: actions/setup-python@v5
with:
python-version: '3.11'
python-version: '3.12'
cache: pip
cache-dependency-path: pyproject.toml

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: 3.9
python-version: 3.10

- name: Install pre-commit
run: pip install pre-commit
Expand Down
10 changes: 5 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,21 @@ default_language_version:
exclude: "^src/atomate2/vasp/schemas/calc_types/"
repos:
- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: v0.6.8
rev: v0.11.12
hooks:
- id: ruff
args: [--fix]
- id: ruff-format
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v5.0.0
hooks:
- id: check-yaml
- id: fix-encoding-pragma
args: [--remove]
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/asottile/blacken-docs
rev: 1.18.0
rev: 1.19.1
hooks:
- id: blacken-docs
additional_dependencies: [black]
Expand All @@ -43,7 +43,7 @@ repos:
- id: rst-directive-colons
- id: rst-inline-touching-normal
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.11.2
rev: v1.16.0
hooks:
- id: mypy
files: ^src/
Expand All @@ -52,7 +52,7 @@ repos:
- types-pkg_resources==0.1.2
- types-paramiko
- repo: https://github.com/codespell-project/codespell
rev: v2.3.0
rev: v2.4.1
hooks:
- id: codespell
stages: [commit, commit-msg]
Expand Down
23 changes: 12 additions & 11 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,13 @@ classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Database :: Front-Ends",
"Topic :: Other/Nonlisted Topic",
"Topic :: Scientific/Engineering",
]
requires-python = ">=3.9"
requires-python = ">=3.10"
dependencies = [
"PyYAML",
"maggma>=0.57.0",
Expand All @@ -40,28 +41,28 @@ ulid = ["python-ulid"]
docs = [
"autodoc_pydantic==2.2.0",
"furo==2024.8.6",
"ipython==9.0.2",
"ipython==9.3.0",
"myst_parser==4.0.1",
"nbsphinx==0.9.6",
"nbsphinx==0.9.7",
"sphinx-copybutton==0.5.2",
"sphinx==8.2.3",
"sphinx==8.1.3",
]
dev = ["pre-commit>=2.12.1", "typing_extensions; python_version < '3.11'"]
tests = ["moto==4.2.13", "pytest-cov==6.1.1", "pytest==8.4.0"]
tests = ["moto==5.1.5", "pytest-cov==6.1.1", "pytest==8.4.0"]
vis = ["matplotlib", "pydot"]
fireworks = ["FireWorks"]
strict = [
"FireWorks==2.0.4",
"PyYAML==6.0.2",
"maggma==0.71.5",
"matplotlib==3.9.4",
"matplotlib==3.10.3",
"monty==2025.3.3",
"moto==4.2.13",
"networkx==3.2.1",
"moto==5.1.5",
"networkx==3.4.2",
"pydantic-settings==2.9.1",
"pydantic==2.11.5",
"pydash==8.0.5",
"pydot==2.0.0",
"pydot==4.0.0",
"python-ulid==3.0.0",
"typing-extensions==4.13.2",
]
Expand All @@ -84,7 +85,7 @@ max-line-length = 88
max-doc-length = 88
select = "C, E, F, W, B"
extend-ignore = "E203, W503, E501, F401, RST21"
min-python-version = "3.9.0"
min-python-version = "3.10.0"
docstring-convention = "numpy"
rst-roles = "class, func, ref, obj"

Expand Down
2 changes: 1 addition & 1 deletion src/jobflow/core/job.py
Original file line number Diff line number Diff line change
Expand Up @@ -1265,7 +1265,7 @@ def from_job_returns(
job_returns.output = apply_schema(job_returns.output, output_schema)

job_returns.job_dir = job_dir
return cast(Self, job_returns)
return cast("Self", job_returns)

if isinstance(job_returns, (list, tuple)):
# check that a Response object is not given as one of many outputs
Expand Down
2 changes: 1 addition & 1 deletion src/jobflow/utils/graph.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ def add_cluster(nested_flow, outer_graph):
if isinstance(job, Flow):
add_cluster(job, cluster)
else:
cluster.add_node(pydot_graph.get_node(f'"{job.uuid}"')[0])
cluster.add_node(pydot_graph.get_node(f"{job.uuid}")[0])

outer_graph.add_subgraph(cluster)

Expand Down
2 changes: 1 addition & 1 deletion tests/core/test_reference.py
Original file line number Diff line number Diff line change
Expand Up @@ -515,6 +515,6 @@ def test_not_iterable():
with pytest.raises(TypeError):
next(ref)

with pytest.raises(TypeError): # noqa: PT012
with pytest.raises(TypeError):
for _ in ref:
pass
4 changes: 2 additions & 2 deletions tests/core/test_store.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ def test_additional(memory_store):

import boto3
from maggma.stores import MemoryStore, S3Store
from moto import mock_s3
from moto import mock_aws

from jobflow import JobStore

with mock_s3():
with mock_aws():
conn = boto3.resource("s3", region_name="us-east-1")
conn.create_bucket(Bucket="bucket1")
index = MemoryStore("index", key="blob_uuid")
Expand Down
Loading