diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f5a4a9..8514029 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,28 +1,91 @@ -# Unreleased +# Changelog -# 0.3.0 +All notable changes to this project will be documented in this file. -- improved interface for chi input -- FE tests for anisotropic chi and negative chi -- Improve internals -- anisotropic susceptibilities are now allowed. -- Improve susceptibility input possibilities: - - give susceptibility to parent collection - - if susceptibility input is scalar, isotropic susceptibility is assumed, if - it is a 3-vector it can be anisotropic -- Various tests included of interface and computation, isotropic and anisotropic - tests confirm computation +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to +[Semantic Versioning](https://semver.org/spec/v2.0.0.html). -# 0.2.1a0 +## [Unreleased] -- Fix null polarization for rotated objects +## [0.3.1] - 2025-10-30 + +### Fixed + +- Fixed susceptibility tree traversal + ([#26](https://github.com/magpylib/magpylib-material-response/pull/26), + [#28](https://github.com/magpylib/magpylib-material-response/pull/28)) + +### Changed + +- Improved clarity and error handling in `get_susceptibilities` function +- Enhanced logging configuration +- Refactored demag.py for better organization +- Improved documentation theme and layout + ([#29](https://github.com/magpylib/magpylib-material-response/pull/29)) + - Switched from Furo to PyData Sphinx theme + - Added custom CSS for full-width content and smaller sidebar + - Enhanced navigation and branding with Magpylib logo + - Reorganized examples section structure + +### Maintenance + +- Updated pre-commit hooks to latest versions + ([#21](https://github.com/magpylib/magpylib-material-response/pull/21)) +- Updated GitHub Actions dependencies + ([#24](https://github.com/magpylib/magpylib-material-response/pull/24)) +- Removed test PyPI repository URL from publish step + ([#27](https://github.com/magpylib/magpylib-material-response/pull/27)) +- Added VSCode settings for pytest configuration + +## [0.3.0] - 2024-10-16 + +### Added + +- Support for anisotropic susceptibilities +- FE tests for anisotropic and negative susceptibility values +- Comprehensive tests for interface and computation validation +- Susceptibility input to parent collections +- Support for both scalar (isotropic) and 3-vector (anisotropic) susceptibility + inputs + +### Changed + +- Improved interface for susceptibility (chi) input +- Enhanced susceptibility input possibilities: + - Scalar input now assumes isotropic susceptibility + - 3-vector input enables anisotropic susceptibility +- Improved internal architecture and code organization + +### Fixed + +- Various computation fixes confirmed by isotropic and anisotropic tests + +## [0.2.1a0] + +### Fixed + +- Fixed null polarization for rotated objects ([#7](https://github.com/magpylib/magpylib-material-response/pull/7)) -- Fix docs not building +- Fixed documentation build issues ([#6](https://github.com/magpylib/magpylib-material-response/pull/6)) -# 0.2.0a0 +## [0.2.0a0] -- renaming xi->susceptibility +### Changed + +- Renamed `xi` parameter to `susceptibility` for better clarity ([#5](https://github.com/magpylib/magpylib-material-response/pull/5)) -- update to magpylib v5 +- Updated to support magpylib v5 ([#4](https://github.com/magpylib/magpylib-material-response/pull/4)) + +[Unreleased]: + https://github.com/magpylib/magpylib-material-response/compare/v0.3.1...HEAD +[0.3.1]: + https://github.com/magpylib/magpylib-material-response/compare/v0.3.0...v0.3.1 +[0.3.0]: + https://github.com/magpylib/magpylib-material-response/compare/v0.2.1a0...v0.3.0 +[0.2.1a0]: + https://github.com/magpylib/magpylib-material-response/compare/v0.2.0a0...v0.2.1a0 +[0.2.0a0]: + https://github.com/magpylib/magpylib-material-response/releases/tag/v0.2.0a0 diff --git a/docs/_static/fullwidth.css b/docs/_static/fullwidth.css new file mode 100644 index 0000000..ade1e9a --- /dev/null +++ b/docs/_static/fullwidth.css @@ -0,0 +1,24 @@ +/* PyData Sphinx Theme Full Width CSS - Simplest Approach */ +/* Apply full-width to all main containers */ + +.bd-container, +.bd-container__inner { + max-width: 100% !important; +} + +.bd-main, +.bd-content { + max-width: 100% !important; +} + +.bd-article-container, +.bd-article { + max-width: 100em !important; +} + +/* Ensure notebook cells use full width */ +.cell, +.cell_input, +.cell_output { + max-width: 100% !important; +} diff --git a/docs/_static/images/magpylib_logo.png b/docs/_static/images/magpylib_logo.png new file mode 100644 index 0000000..c7b6eb2 Binary files /dev/null and b/docs/_static/images/magpylib_logo.png differ diff --git a/docs/conf.py b/docs/conf.py index a9f1d3b..e90b4fe 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -28,24 +28,42 @@ ".venv", ] -html_theme = "furo" +html_theme = "pydata_sphinx_theme" html_theme_options: dict[str, Any] = { - "footer_icons": [ + # "announcement": announcement, + "logo": { + "text": "Magpylib-Material-Response", + "image_light": "_static/images/magpylib_logo.png", + "image_dark": "_static/images/magpylib_logo.png", + }, + "header_links_before_dropdown": 4, + "show_version_warning_banner": True, + "navbar_align": "content", # [left, content, right] For testing that the navbar items align properly + "navbar_center": ["navbar-nav"], + "check_switcher": True, + "icon_links": [ { "name": "GitHub", "url": "https://github.com/magpylib/magpylib-material-response", - "html": """ - - - - """, - "class": "", + "icon": "https://img.shields.io/github/stars/magpylib/magpylib-material-response?style=social", + "type": "url", }, ], - "source_repository": "https://github.com/magpylib/magpylib-material-response", - "source_branch": "main", - "source_directory": "docs/", + "navigation_with_keys": False, + "footer_start": ["copyright"], + "footer_end": [], + "use_edit_page_button": True, + "navigation_depth": 3, + "collapse_navigation": False, +} + +html_context = { + # "github_url": "https://github.com", # or your GitHub Enterprise site + "github_user": "magpylib", + "github_repo": "magpylib-material-response", + "github_version": "main", + "doc_path": "docs/", } myst_enable_extensions = [ @@ -74,3 +92,11 @@ always_document_param_types = True suppress_warnings = ["mystnb.unknown_mime_type"] + +html_js_files = [ + "https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js", +] + +# Static files (CSS/JS) +html_static_path = ["_static"] +html_css_files = ["fullwidth.css"] diff --git a/docs/examples/index.md b/docs/examples/index.md new file mode 100644 index 0000000..2c634ac --- /dev/null +++ b/docs/examples/index.md @@ -0,0 +1,11 @@ +# Examples + +This section contains examples demonstrating the use of +Magpylib-Material-Response. + +```{toctree} +:maxdepth: 1 +:glob: + +* +``` diff --git a/docs/index.md b/docs/index.md index f540d37..6b52393 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -# magpylib-material-response +# Documentation ```{include} ../README.md :start-after: @@ -8,14 +8,8 @@ :caption: CONTENT :glob: true :maxdepth: 2 -``` - -```{toctree} -:caption: EXAMPLES -:glob: true -:maxdepth: 2 -examples/* +examples/index ``` ## Indices and tables diff --git a/pyproject.toml b/pyproject.toml index 837ab1f..92cb559 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,12 +42,13 @@ dev = [ "pytest-cov >=3", ] docs = [ + "pydata-sphinx-theme", "sphinx>=7.0,<8.0", "myst_nb", "sphinx_copybutton", "sphinx_autodoc_typehints", - "furo>=2023.08.17", "pandas", + "plotly>=5.16,<6.0", ] [project.urls]