Skip to content

Release/3.4.0#135

Merged
StokesMIDE merged 24 commits intomasterfrom
release/3.4.0
Jul 7, 2025
Merged

Release/3.4.0#135
StokesMIDE merged 24 commits intomasterfrom
release/3.4.0

Conversation

@StokesMIDE
Copy link
Member

@StokesMIDE StokesMIDE commented Jul 2, 2025

The most significant change in this version is documentation, which is now automatically generated and served by readthedocs: https://mide-technology-endaq-docs.readthedocs-hosted.com/projects/ebmlite/en/latest/

  • Type hinting added to all (or nearly all) user-facing functions/methods
  • Docstrings updated to use proper Sphinx tags, plus some content edits/corrections
  • README edits

Functional changes:

  • Added util.flatiter() function, which recursively crawls a Document/MasterElement yielding elements (same concept as numpy.flatiter()).
  • MasterElement.children (the container's valid child element classes) changed from a dictionary (of classes keyed by ID) to a set of IDs. This will only affect code that directly references the attribute (a somewhat obscure edge case).
  • name and id attributes explicitly added to Element, fixing some 'unknown attribute' linter warnings.
  • Python versions updated in package classifiers and GitHub unit tests (Python 3.9 - 3.13).
  • Removed some workarounds for Python <= 3.7 (deprecated 2023-06-27).

StokesMIDE and others added 20 commits December 13, 2022 17:28
…lopment). Also:

* Updated tests to handle `children` change
* Added `util.flatiter()` function (was planned for later, but needed for tests)
* Updated tool tests to run only in GitHub Actions (does not work locally if package not installed)
Converted `children` from a `dict` to a `set` of IDs
# Conflicts:
#	ebmlite/core.py
#	ebmlite/util.py
* Updated Python versions in setup and unit tests; removed special-casing for Python<3.9; setup reads `__version__ ` from `__init__.py`

* Updated GHA versions

* Attempting to fix `upload-artifact` conflict

* Removed flake8 check (fails in Python 3.12+)

* Removed `upload-artifact`
(we don't use it in other repos)

* Removed importlib python < 3.9 special case
* Added basic Sphinx docs (some from ancient branch, needs updating)
* Set up theme (mostly)
* more docs
* Removed redundant readme
* Added doc requirements
* Adding read the docs file recommended by readthedocs (#132)

---------

Co-authored-by: Peter Scheidler <pscheidler@gmail.com>
@StokesMIDE StokesMIDE marked this pull request as draft July 2, 2025 16:49
@StokesMIDE StokesMIDE marked this pull request as ready for review July 2, 2025 20:49
Copy link
Member

@pscheidler pscheidler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exciting!

@StokesMIDE StokesMIDE merged commit d4cd281 into master Jul 7, 2025
30 checks passed
@StokesMIDE StokesMIDE deleted the release/3.4.0 branch July 9, 2025 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants