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
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ updates:
day: "monday"
commit-message:
prefix: "chore(deps):"
ignore:
# black 26+ drops Python 3.9 compat and produces different formatting
- dependency-name: "black"
update-types: ["version-update:semver-major"]
- package-ecosystem: "github-actions"
directory: "/" # Location of package manifests
schedule:
Expand Down
13 changes: 9 additions & 4 deletions requirements-testing.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
coverage[toml] == 7.*
pytest == 8.4.*
pytest == 9.1.*; python_version >= "3.10"
pytest == 8.4.*; python_version < "3.10"
pytest-cov == 7.1.*
pytest-timeout == 2.4.*
pytest-xdist == 3.8.*
types-PyYAML ~= 6.0
black == 25.*
# Pinned to 25.x because black 26+ produces different formatting output
# that is incompatible with black 25 (last version supporting Python 3.9).
black == 25.11.*
ruff == 0.15.*
mypy == 1.19.*
mypy == 2.2.*; python_version >= "3.10"
mypy == 1.19.*; python_version < "3.10"
# pydantic: required by the legacy model_v0 (Pydantic) test suite,
# which lives alongside the new Rust-backed model_v1 implementation.
pydantic >= 2.10, < 3
# hypothesis: used by the opt-in fuzz test suites in test/openjd/expr
# and test/openjd/model-v*. conftest.py imports it unconditionally.
hypothesis ~= 6.0
hypothesis ~= 6.156; python_version >= "3.10"
hypothesis ~= 6.141; python_version < "3.10"
1 change: 0 additions & 1 deletion src/openjd/expr/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
HostContext,
)


# Note: the `__module__` / `__name__` / `__qualname__` of the Rust-backed
# exceptions (ExpressionError, FormatStringValidationError, etc.) are set by
# the `_openjd_rs` module init in Rust to their canonical user-facing values
Expand Down
2 changes: 0 additions & 2 deletions src/openjd/model/_v1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@
# from openjd.model._v1 import template, job, types, errors
from . import errors, job, template, types # noqa: F401


# ── Python-only types ──


Expand All @@ -92,7 +91,6 @@

from .._version import version # noqa: E402


__all__ = (
# Submodules
"errors",
Expand Down
1 change: 0 additions & 1 deletion src/openjd/model/_v1/template.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@
HiddenOnlyUserInterface,
)


# Short aliases for ergonomics. Both names refer to the same class
# object — ``Action is TemplateAction`` is True.
Action = TemplateAction
Expand Down
1 change: 0 additions & 1 deletion test/openjd/expr/test_known_gaps.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
SymbolTable,
)


# ── SymbolTable['Key'] = value when Key is already a subtable ──
#
# Reference (``_set_path`` with a single-component key):
Expand Down
1 change: 0 additions & 1 deletion test/openjd/expr/test_pickle.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
TypeCode,
)


# ── Group A: enums round-trip via variant name ───────────────────


Expand Down
1 change: 0 additions & 1 deletion test/openjd/expr/test_target_type_propagation.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@

from openjd.expr import ExprType, SymbolTable, TypeCode, evaluate_expression


STRING = ExprType("string")
LIST_INT = ExprType("list[int]")
INT_OR_STRING = ExprType("int | string")
Expand Down
1 change: 0 additions & 1 deletion test/openjd/model_v0/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
import os
import sys


_VAR = "OPENJD_MODEL_V0_TEST_IMPORT"
_DEFAULT = "root"
_CHOICES = ("root", "v0")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
divide_int_list_into_noncontiguous_chunks,
)


PARAMETRIZE_CASES: tuple = (
pytest.param(
RangeListTaskParameterDefinition_2023_09(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
StepParameterSpaceDefinition,
)


PARAMETRIZE_CASES: tuple = (
"data",
(
Expand Down
1 change: 0 additions & 1 deletion test/openjd/model_v0/v2023_09/test_definitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

from .test_module import ClassWithForwardRef, ClassWithoutForwardRef


ALL_MODELS = sorted(
[obj for name, obj in getmembers(mod) if isclass(obj) and issubclass(obj, BaseModel)],
key=lambda o: o.__name__,
Expand Down
1 change: 0 additions & 1 deletion test/openjd/model_v1/test_known_gaps.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@

from __future__ import annotations


# ── Top-level package no longer leaks typing imports ──
#
# An earlier draft of ``openjd.model._v1`` imported ``Any``,
Expand Down
1 change: 0 additions & 1 deletion test/openjd/model_v1/test_merge_job_parameters.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
JobTemplate,
)


BASIC_JOB_TEMPLATE_STEP_2023_09: dict[str, Any] = {
"name": "Test",
"script": {"actions": {"onRun": {"command": "foo"}}},
Expand Down
1 change: 0 additions & 1 deletion test/openjd/model_v1/test_pickle.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@

import pytest


# ── Group A: enums ───────────────────────────────────────────────


Expand Down
1 change: 0 additions & 1 deletion test/openjd/model_v1/test_version_enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

from openjd.model._v1 import TemplateSpecificationVersion, decode_job_template


# All known variants. Add new ones here as the spec evolves; the test
# ensures every variant is classified as exactly job-template OR
# environment-template, never both.
Expand Down
1 change: 0 additions & 1 deletion test/openjd/test_model_package_sanity.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@

import pytest


# A minimal but real job template that exercises parsing, validation,
# job creation, and task parameter iteration.
_MINIMAL_JOB_TEMPLATE = {
Expand Down
Loading