Skip to content

Bump pytest from 7.4.4 to 9.0.3#67

Open
dependabot[bot] wants to merge 26 commits into
developfrom
dependabot/pip/pytest-9.0.3
Open

Bump pytest from 7.4.4 to 9.0.3#67
dependabot[bot] wants to merge 26 commits into
developfrom
dependabot/pip/pytest-9.0.3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 5, 2026

Copy link
Copy Markdown

Bumps pytest from 7.4.4 to 9.0.3.

Release notes

Sourced from pytest's releases.

9.0.3

pytest 9.0.3 (2026-04-07)

Bug fixes

  • #12444: Fixed pytest.approx which now correctly takes into account ~collections.abc.Mapping keys order to compare them.

  • #13634: Blocking a conftest.py file using the -p no: option is now explicitly disallowed.

    Previously this resulted in an internal assertion failure during plugin loading.

    Pytest now raises a clear UsageError explaining that conftest files are not plugins and cannot be disabled via -p.

  • #13734: Fixed crash when a test raises an exceptiongroup with __tracebackhide__ = True.

  • #14195: Fixed an issue where non-string messages passed to unittest.TestCase.subTest() were not printed.

  • #14343: Fixed use of insecure temporary directory (CVE-2025-71176).

Improved documentation

  • #13388: Clarified documentation for -p vs PYTEST_PLUGINS plugin loading and fixed an incorrect -p example.
  • #13731: Clarified that capture fixtures (e.g. capsys and capfd) take precedence over the -s / --capture=no command-line options in Accessing captured output from a test function <accessing-captured-output>.
  • #14088: Clarified that the default pytest_collection hook sets session.items before it calls pytest_collection_finish, not after.
  • #14255: TOML integer log levels must be quoted: Updating reference documentation.

Contributor-facing changes

  • #12689: The test reports are now published to Codecov from GitHub Actions. The test statistics is visible on the web interface.

    -- by aleguy02

9.0.2

pytest 9.0.2 (2025-12-06)

Bug fixes

  • #13896: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.

    You may enable it again by passing -p terminalprogress. We may enable it by default again once compatibility improves in the future.

    Additionally, when the environment variable TERM is dumb, the escape codes are no longer emitted, even if the plugin is enabled.

  • #13904: Fixed the TOML type of the tmp_path_retention_count settings in the API reference from number to string.

  • #13946: The private config.inicfg attribute was changed in a breaking manner in pytest 9.0.0. Due to its usage in the ecosystem, it is now restored to working order using a compatibility shim. It will be deprecated in pytest 9.1 and removed in pytest 10.

... (truncated)

Commits

kripnerl added 3 commits June 5, 2026 13:31
Master-develop merge

Closes #68 and #76

See merge request kripner/pleque!138
Merge phd-thesis work to the master

See merge request kripner/pleque!141
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jun 5, 2026
kripnerl and others added 15 commits June 5, 2026 15:16
Bump version to 0.0.10 and update release documentation

See merge request kripner/pleque!142
- Remove four redundant in-method `mu_0` imports; module-level import covers them
- Remove commented-out old __init__ signature left over from a prior refactor
- Remove commented-out matplotlib debug code from arg_longest_monotonic_subsequence
- Wire critical-point search grid (700×1200) to pleque.config.settings so
  users can override nr_grid/nz_grid via environment variables
- Extract triplicated psi_xysq_func closure in equi_tools.py to a single
  _make_psi_grad_sq factory, eliminating the duplication across find_extremes,
  recognize_mg_axis, and recognize_x_points

https://claude.ai/code/session_01FS9C1xD1y9tceTjGBvcyhn
- Remove three deprecated mis-named methods from Coordinates: incidence_angle_cos,
  impact_angle_cos, pol_projection_impact_angle_cos. All were wrappers around the
  correctly-named sin variants and had no callers anywhere in the codebase.
- Delete pleque/io/_test_gfile_loader.py: dead code with no callers, superseded by
  the proper geqdsk.read() path, and contained Equilibrium monkey-patching.
- Populate pleque/io/__init__.py with top-level re-exports (read_geqdsk, write_geqdsk,
  read_efithdf5, read_fiesta_equilibrium) so users can import directly from pleque.io.

https://claude.ai/code/session_01FS9C1xD1y9tceTjGBvcyhn
…oup 5)

__init__ is now a ~30-line orchestration that delegates to five private methods:
- _load_spatial_data: loads psi grid, first wall, and spatial metadata from dataset
- _load_profiles: loads 1D profile arrays (F, FFprime, pressure, pprime)
- _setup_psi_spline: builds the 2D RectBivariateSpline for psi(R, Z)
- _find_critical_points: finds x-points/o-points and recognizes plasma type
- _setup_plasma_boundary: finds LCFS contour and strike points
- _setup_1d_profiles: builds all UnivariateSpline profile interpolants

No behavior change; all tests pass. Also included in this commit:
- Remove three deprecated cos-misnamed methods from Coordinates that had no callers
  (incidence_angle_cos, impact_angle_cos, pol_projection_impact_angle_cos)

https://claude.ai/code/session_01FS9C1xD1y9tceTjGBvcyhn
…2203

Refactor: clean up code structure (Groups 1 & 2)
- Replace flake8 and pylint with ruff + ty in pyproject.toml
- Configure ruff with rules E,W,F,I,B,UP,RUF at 120-char line limit
- Ignore N802/N803/N806: physics variable naming (R, Z, X, Y) is
  intentional and forms part of the public API
- Add GitLab CI lint:ruff job after test:pytest
- Add GitHub Actions CI with separate test, lint, and typecheck jobs
  (ty runs with continue-on-error until annotations are more complete)
- Fix auto-fixable issues: unused imports, invalid escape sequences,
  import ordering, f-string modernisation, UP04x pyupgrade fixes
- Fix bare except → except Exception in omas.py and plotting.py
- Fix E741 ambiguous variable l → lis_len/arc_length in tools/fluxsurface
- Fix B008 mutable default args: np.array/np.eye moved into function bodies
- Fix B007 unused loop variable i → _i in tools.py arglis
- Fix affine.py bug: np.zeros_like(transform) → np.zeros_like(self.transformation)
- Change star import in fluxsurface.py to explicit import of deprecated
- Use explicit re-export (X as X) in pleque/core/__init__.py
- Add E402 noqa suppression in test_cdb.py (importorskip must come first)

Memo – issues not fixed (would break public API or need larger refactor):
- N802/N803/N806: physics coordinate names (R, Z, X, Y, B_tor, …)
- C901/PLR0913/PLR0915: physics algorithms are inherently complex
- E501 (18 remaining at 120 chars): all in long docstring prose
- F841/RUF059: some unpacked variables are intentional
- ANN*: type annotations largely absent; tracked separately

https://claude.ai/code/session_01NoBcY348U4MKRmAgQHCx1w
Equilibrium must be imported last since equilibrium.py depends on
Coordinates, FluxFunctions, Surface and SurfaceFunctions already
being registered on the pleque.core module object.

https://claude.ai/code/session_01NoBcY348U4MKRmAgQHCx1w
…-dependent

Equilibrium must be imported last to avoid circular imports; isort
cannot reorder these freely.

https://claude.ai/code/session_01NoBcY348U4MKRmAgQHCx1w
Resolve conflicts with the develop refactor (PR #69 split of
Equilibrium.__init__ into helpers and dead-code removal):

- equilibrium.py: take develop's _setup_plasma_boundary() extraction;
  the inline boundary block my branch only lint-touched now lives in
  the dedicated helper. Re-applied the UP032 f-string fix there.
- equi_tools.py: take develop's _make_psi_grad_sq() helper that
  replaces the duplicated nested psi_xysq_func.
- _test_gfile_loader.py: accept develop's deletion (dead code, no
  references); my branch had only lint-touched it.
- io/__init__.py: develop added public-API re-exports; sorted imports
  and added the module to ruff F401 per-file-ignores.

ruff passes; full test suite green (775 passed, 37 skipped).

https://claude.ai/code/session_01NoBcY348U4MKRmAgQHCx1w
Add ruff and ty linting; replace flake8/pylint; add CI workflows
@dependabot dependabot Bot changed the base branch from master to develop June 10, 2026 11:45
claude and others added 5 commits June 10, 2026 12:59
- GitLab CI: run pytest with --junitxml and expose report.xml via
  artifacts.reports.junit so results appear in the GitLab test report UI
- GitHub Actions: new workflow that installs Poetry, runs pytest with
  --junitxml, uploads report.xml via actions/upload-artifact, and
  publishes a check-run summary via dorny/test-reporter

https://claude.ai/code/session_01SCWaAYTAKQdf4DpfiuczAM
Add pytest-cov to dev dependencies and run pytest with --cov=pleque
--cov-report=xml:coverage.xml in both pipelines.

- GitLab CI: exposes coverage.xml via artifacts.reports.coverage_report
  (Cobertura format) so GitLab renders line-level coverage diffs in MRs
- GitHub Actions: uploads coverage.xml as artifact, publishes a coverage
  summary badge+table via irongut/CodeCoverageSummary, and posts a
  sticky comment on PRs with the coverage breakdown

https://claude.ai/code/session_01SCWaAYTAKQdf4DpfiuczAM
…-ayr3rk

ci: store pytest results as artifacts in GitLab and GitHub CI
@dependabot dependabot Bot force-pushed the dependabot/pip/pytest-9.0.3 branch from 5059c5e to 3867320 Compare June 10, 2026 14:03
…loading

Extract magic numbers (grid resolutions, solver tolerances, search
heuristics, spline parameters, plotting and IO writer defaults) from
equilibrium.py, equi_tools.py, surfaces.py, field_line_tracers.py,
plotting.py, geqdsk.py and omas.py into pleque.config.Settings,
organized into per-topic sections (grid, splines, critical_points,
lcfs, field_line_tracing, flux_surfaces, plotting, io). Function
arguments still override settings per call; settings are now read at
use time instead of being captured at import time.

Settings load from the first existing of: $PLEQUE_CONFIG_FILE,
./pleque.toml, the per-user config dir (%APPDATA%\pleque on Windows,
$XDG_CONFIG_HOME/pleque elsewhere), or a [tool.pleque] table in the
nearest pyproject.toml, with PLEQUE_-prefixed environment variables
taking precedence over files. The winning file is recorded on the
settings object (config_source, config_files_consulted) and
reload_settings() re-reads the configuration at runtime.

The old flat fields moved into sections: npsi_grid -> flux_surfaces.n_psi,
psin0 -> flux_surfaces.psi_n_min, nr_grid/nz_grid -> lcfs.search_grid_nr/nz
(the None sentinel is gone; defaults are 700/1200 directly).

Also fix lcfs_field_line ignoring its vect_no and xp_shift arguments
(they were hardcoded in the track_plasma_boundary call).

Add tests for defaults, precedence, source tracking, env vars and
reload; document the feature in docs/source/configuration.rst (kept in
sync by a test) and README. pydantic-settings gains the toml extra for
Python 3.10 support.

https://claude.ai/code/session_01HRFoBXP3uhqR5cZuURzdhS
kripnerl and others added 2 commits June 12, 2026 00:27
…magic-numbers-7rq85x

Centralize algorithm parameters in grouped Settings with config-file loading
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.4 to 9.0.3.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@7.4.4...9.0.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.3
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/pip/pytest-9.0.3 branch from 3867320 to ba543cb Compare June 11, 2026 22:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants