Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
5b103be
Add bolometer module: implement load_cameras and load_bolometers func…
munechika-koyo Sep 10, 2025
0962b4a
Update pyproject.toml: require Python 3.10 or higher
munechika-koyo Sep 10, 2025
cb81378
Merge branch 'develop' into feature/bolometer
munechika-koyo Sep 14, 2025
314c6f1
🎨 Add module docstrings and type hints for clarity in bolometer-relat…
munechika-koyo Sep 14, 2025
ce78b1c
Merge branch 'develop' into feature/bolometer
munechika-koyo Oct 23, 2025
31dc113
🐛 Fix default mode setting in load_bolometers function
munechika-koyo Oct 23, 2025
e460d40
Merge branch 'develop' into feature/bolometer
munechika-koyo Nov 4, 2025
38051ed
🏷️ Update type hint for load_cameras function to specify return type …
munechika-koyo Nov 4, 2025
9efc331
🎨 Update __init__.py to include __all__ declaration for public API
munechika-koyo Nov 4, 2025
5ed5baf
🚚 Rename module name to private one.
munechika-koyo Nov 5, 2025
ad64614
🔧 Fix import statement for load_cameras function in __init__.py
munechika-koyo Nov 5, 2025
45053c3
♻️ Refactor version import in __init__.py not to be taken account for…
munechika-koyo Nov 6, 2025
3b06973
📝 Update module docstring to clarify purpose of observer subpackage
munechika-koyo Nov 6, 2025
d995f54
✨ Add CameraType enum and update __all__ declaration in utility module
munechika-koyo Nov 6, 2025
d1185a3
♻️ Refactor load_bolometers function to improve camera handling and u…
munechika-koyo Nov 6, 2025
d522e2a
📝 Update docstrings
munechika-koyo Nov 7, 2025
5bd0938
Merge branch 'develop' into feature/bolometer
munechika-koyo Nov 18, 2025
75ef9ce
🔧 Update `__all__` exports to include `utility` and enhance type hint…
munechika-koyo Nov 19, 2025
072e69c
📝 Refactor `load_bolometers` docstring
munechika-koyo Nov 19, 2025
cffed42
♻️ Enhance type hinting and refactor `load_cameras` and `load_geometr…
munechika-koyo Nov 21, 2025
71f5679
🔧 Fix `ruff` job configuration to ensure `stage_fixed` is set for bot…
munechika-koyo Nov 21, 2025
5b58ca2
✨ Introduce dataclasses `BoloCamera`, `BoloChannel`, and `Geometry`
munechika-koyo Nov 28, 2025
7276efe
♻️ Refactor to use new dataclass
munechika-koyo Nov 28, 2025
a4b29b0
🎨 Fix import statement for `DBEntry` in `slice.py`
munechika-koyo Nov 28, 2025
3801428
📝 Update docstring for `load_wall_3d` to clarify return structure and…
munechika-koyo Dec 2, 2025
75e9214
migrate pyright to pyrefly
munechika-koyo Dec 4, 2025
02b94ee
♻️ Avoid using `item()` to retrieve value
munechika-koyo Dec 5, 2025
b15c666
♻️ Use `.velue` attributes to extract data
munechika-koyo Dec 5, 2025
1eced29
✨ Enhance BoloCamera and Geometry classes with default values and add…
munechika-koyo Dec 6, 2025
efbdae2
✨ Refactor load_bolometers to create camera box geometry and improve …
munechika-koyo Dec 6, 2025
930549f
📝 Update CHANGELOG.md
munechika-koyo Dec 9, 2025
27ec817
Merge branch 'develop' into feature/bolometer
munechika-koyo Dec 9, 2025
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
7 changes: 4 additions & 3 deletions .lefthook.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,19 @@ pre-commit:

- name: ruff
glob: "*.{py,pyi}"
stage_fixed: true
group:
piped: true
jobs:
- name: ruff check
run: pixi {run} ruff check --fix {staged_files}
stage_fixed: true
- name: ruff format
run: pixi {run} ruff format {staged_files}
stage_fixed: true

# - name: pyright
# - name: pyrefly
# glob: "*.{py,pyi}"
# run: pixi {run} pyright {staged_files}
# run: pixi {run} pyrefly-check {staged_files}

# - name: mypy
# glob: "*.{py,pyi}"
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added

- Implemented Bolometry Observer functionality

### Changed

- Add `pyrefly` package for type checking (still experimental)

## [0.2.1] - 2025-11-18

### Added
Expand Down
4 changes: 2 additions & 2 deletions pixi.toml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ lefthook = "*"
ruff = "*"
typos = "*"
mypy = "*"
basedpyright = "*"
pyrefly = "*"
actionlint = "*"
shellcheck = "*"
validate-pyproject = "*"
Expand All @@ -118,7 +118,7 @@ lefthook = { cmd = "lefthook", description = "🔗 Run lefthook" }
hooks = { cmd = "lefthook install", description = "🔗 Install pre-commit hooks" }
pre-commit = { cmd = "lefthook run pre-commit", description = "🔗 Run pre-commit checks" }
mypy = { cmd = "mypy", description = "Type check with mypy" }
pyright = { cmd = "basedpyright", description = "Type check with basedpyright" }
pyrefly-check = { cmd = "pyrefly check", description = "Type check with pyrefly" }
ruff-check = { cmd = "ruff check --fix", description = "Lint with ruff" }
ruff-format = { cmd = "ruff format", description = "Format with ruff" }
dprint = { cmd = "dprint fmt", description = "Format with dprint" }
Expand Down
17 changes: 3 additions & 14 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -164,23 +164,12 @@ max-line-length = 100
# === Type checking settings ===
# ------------------------------
[tool.mypy]
files = ["src", "tests"]
files = ["src"]
warn_unused_configs = true
strict = true
enable_error_code = ["ignore-without-code", "truthy-bool"]
disable_error_code = ["no-any-return"]
plugins = ["numpy.typing.mypy_plugin"]

[tool.basedpyright]
include = ["src", "tests"]
pythonPlatform = "All"
typeCheckingMode = "all"
reportMissingTypeStubs = true

# no raysect/cherab type stubs; pytest fixtures
reportUnknownMemberType = false
reportUnknownVariableType = false
reportUnknownParameterType = false

# ruff handles this
reportUnusedParameter = false
[tool.pyrefly]
project-includes = ["src"]
2 changes: 0 additions & 2 deletions src/cherab/imas/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
# under the Licence.
"""The Cherab subpackage for the IMAS."""

from __future__ import annotations

from importlib.metadata import version as _version

__version__ = _version("cherab-imas")
23 changes: 23 additions & 0 deletions src/cherab/imas/ids/bolometer/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright 2023 Euratom
# Copyright 2023 United Kingdom Atomic Energy Authority
# Copyright 2023 Centro de Investigaciones Energéticas, Medioambientales y Tecnológicas
#
# Licensed under the EUPL, Version 1.1 or – as soon they will be approved by the
# European Commission - subsequent versions of the EUPL (the "Licence");
# You may not use this work except in compliance with the Licence.
# You may obtain a copy of the Licence at:
#
# https://joinup.ec.europa.eu/software/page/eupl5
#
# Unless required by applicable law or agreed to in writing, software distributed
# under the Licence is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR
# CONDITIONS OF ANY KIND, either express or implied.
#
# See the Licence for the specific language governing permissions and limitations
# under the Licence.
"""Subpackage for loading bolometer data from IMAS IDS structures."""

from . import utility
from ._camera import BoloCamera, BoloChannel, Geometry, load_cameras

__all__ = ["load_cameras", "utility", "BoloCamera", "BoloChannel", "Geometry"]
Loading
Loading