Added versioning to the API, added new component category variants, and split
sensors out of components.
Upgrading
The package names have been changed from frequenz.api.common.<package> to
frequenz.api.common.v1.<package>. v1 is the API's major version, and will
be incremented for breaking changes.
Added frequenz.api.common.sensors package, containing the enums
SensorCategory and SensorType. Removed the component category variant
COMPONENT_CATEGORY_SENSOR and the enum SensorType from
frequenz.api.common.components.
The component category variant PRECHARGE_MODULE has been renamed to
PRECHARGER.
New Features
Added a new component category variant: COMPONENT_CATEGORY_FUSE.
Added a new component category variant:
COMPONENT_CATEGORY_VOLTAGE_TRANSFORMER.
When checking for consistency betwene the docstring arguments and the
arguments in the function signature, ignore underscore arguments (_,
__, ___, ...) in the arguments in the function signature
We’ve just uploaded mypy 1.6 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:
python3 -m pip install -U mypy
You can read the full documentation for this release on Read the Docs.
Introduce Error Subcodes for Import Errors
Mypy now uses the error code import-untyped if an import targets an installed library that doesn’t support static type checking, and no stub files are available. Other invalid imports produce the import-not-found error code. They both are subcodes of the import error code, which was previously used for both kinds of import-related errors.
Use --disable-error-code=import-untyped to only ignore import errors about installed libraries without stubs. This way mypy will still report errors about typos in import statements, for example.
If you use --warn-unused-ignore or --strict, mypy will complain if you use # type: ignore[import] to ignore an import error. You are expected to use one of the more specific error codes instead. Otherwise, ignoring the import error code continues to silence both errors.
This feature was contributed by Shantanu (PR 15840, PR 14740).
Remove Support for Targeting Python 3.6 and Earlier
Running mypy with --python-version 3.6, for example, is no longer supported. Python 3.6 hasn’t been properly supported by mypy for some time now, and this makes it explicit. This was contributed by Nikita Sobolev (PR 15668).
Selective Filtering of --disallow-untyped-calls Targets
Using --disallow-untyped-calls could be annoying when using libraries with missing type information, as mypy would generate many errors about code that uses the library. Now you can use --untyped-calls-exclude=acme, for example, to disable these errors about calls targeting functions defined in the acme package. Refer to the documentation for more information.
This feature was contributed by Ivan Levkivskyi (PR 15845).
Improved Type Inference between Callable Types
Mypy now does a better job inferring type variables inside arguments of callable types. For example, this code fragment now type checks correctly:
#10447: Markers are now considered in the reverse mro order to ensure base class markers are considered first -- this resolves a regression.
#11239: Fixed := in asserts impacting unrelated test cases.
#11439: Handled an edge case where :data:sys.stderr might already be closed when :ref:faulthandler is tearing down.
pytest 7.4.2 (2023-09-07)
Bug Fixes
#11237: Fix doctest collection of functools.cached_property objects.
#11306: Fixed bug using --importmode=importlib which would cause package __init__.py files to be imported more than once in some cases.
#11367: Fixed bug where user_properties where not being saved in the JUnit XML file if a fixture failed during teardown.
#11394: Fixed crash when parsing long command line arguments that might be interpreted as files.
Improved Documentation
#11391: Improved disclaimer on pytest plugin reference page to better indicate this is an automated, non-curated listing.
pytest 7.4.1 (2023-09-02)
Bug Fixes
#10337: Fixed bug where fake intermediate modules generated by --import-mode=importlib would not include the
child modules as attributes of the parent modules.
#10702: Fixed error assertion handling in pytest.approx when None is an expected or received value when comparing dictionaries.
#10811: Fixed issue when using --import-mode=importlib together with --doctest-modules that caused modules
to be imported more than once, causing problems with modules that have import side effects.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Updates the requirements on frequenz-api-common, pydoclint, black, mkdocs-literate-nav, mkdocs-material, mkdocstrings[python], frequenz-repo-config[api], mypy, pytest and frequenz-repo-config[extra-lint-examples] to permit the latest version. Updates
frequenz-api-common
to 0.4.0Release notes
Sourced from frequenz-api-common's releases.
... (truncated)
Commits
83e96a9
Clean up release notes for release v0.4.0 (#94)61516bd
Clean up release notes for release v0.4.095e4a5f
RenamePRECHARGE_MODULE
toPRECHARGER
(#91)efc3821
RenamePRECHARGE_MODULE
toPRECHARGER
9d75ad7
Add new sensor category and metric enums (#93)62fc411
Introduce new component categories (#92)8cb9bcc
Add new sensor category and metric enums771cb63
Add voltage transformer component category8a270ee
Add fuse component category34684db
Add versioning to common proto files (#90)Updates
pydoclint
from 0.3.1 to 0.3.8Release notes
Sourced from pydoclint's releases.
... (truncated)
Changelog
Sourced from pydoclint's changelog.
... (truncated)
Commits
b5612ff
Improve documentation71cdf37
Fix prepended escape char handling (#94)d2b1d21
Update version; update changelogf70caa4
Disable parallel mode in pre-commit (#93)def500f
Update pre-commit dependencies04bd231
Improve documentationef6dc07
Update dependency to fix return section parsing (#90)38ae4c6
Bump version to 0.3.507611e6
Ignore underscore args when checking args (#89)dd59b87
Add changelog for v0.3.4Updates
black
from 23.7.0 to 23.10.1Release notes
Sourced from black's releases.
... (truncated)
Changelog
Sourced from black's changelog.
... (truncated)
Commits
744d23b
Prepare release 23.10.1 (#3969)8de4be5
Fix CI failing (#3957)c0adca3
docs: specifies the use of the .git-blame-ignore-revs file (#3961)a7643fa
Add summary parameter to action (#3958)d291c23
Move Docker image to hatch + compile (#3965)7f1c578
Bump peter-evans/create-or-update-comment from 3.0.2 to 3.1.0 (#3966)2db5ab0
Allow empty line after block open before a comment or compound statement (#3967)0a37888
Fix typos in CHANGES.md (#3963)882d879
Fix merging implicit multiline strings that have inline comments (#3956)9edba85
Prepare release 23.10.0 (#3951)Updates
mkdocs-literate-nav
from 0.6.0 to 0.6.1Release notes
Sourced from mkdocs-literate-nav's releases.
Commits
9783b2b
v0.6.12c52c0c
Fix compatibility with MkDocs 1.5+9904e17
Create FUNDING.yml088daed
Docs: fix links0825f8a
Fix when markdown extensions is set to None46eba2d
CI: Installation of minimal deps wasn't kicking ina83351c
Chore badge updateUpdates
mkdocs-material
from 9.4.4 to 9.4.8Release notes
Sourced from mkdocs-material's releases.
Changelog
Sourced from mkdocs-material's changelog.
... (truncated)
Commits
c0755bf
Prepare 9.4.8 releasefabc9bd
Documentation87d69a9
Fixed invalid local address when using instant loading9a7a185
Documentation (#6267)7353c7d
Documentation (#6277)ca5f517
Merge branch 'master' of github.com:squidfunk/mkdocs-material494cae1
Fixed crash after navigation caused 404 when using instant loading1698708
Documentation (#6260)551d98e
Documentation (#6222)dfa5f03
Bump actions/setup-node from 3 to 4 (#6259)Updates
mkdocstrings[python]
from 0.22.0 to 0.23.0Release notes
Sourced from mkdocstrings[python]'s releases.
Changelog
Sourced from mkdocstrings[python]'s changelog.
Commits
c071740
chore: Prepare release 0.23.03ed3453
refactor: Don't sort inventories when reading them, it's useless9397460
refactor: Try calling deprecatedget_anchor
for a bit longerfe8e3c5
docs: Enable auto-summariesb89bb2d
docs: Remove old contents9371e9f
refactor: Sort inventories228fb73
feat: Register all anchors for each object in the inventory0b06d6a
docs: Fix link (MkDocs 1.5)4396011
chore: Template upgrade7690d41
fix: Don't addcodehilite
CSS class to inline codeUpdates
frequenz-repo-config[api]
from 0.6.2 to 0.7.4Release notes
Sourced from frequenz-repo-config[api]'s releases.
... (truncated)
Commits
8bf6c38
Fixmike
version sorting (#171)0ee52d5
Update release notesbe6df37
Add tests forcompare_mike_version()
andsort_mike_versions()
6d8b449
Use a more explicit name for the_TestCase
class60e05f6
Don't parse mike versions while sorting02de9fe
mike: Remove unused function94dd0ed
mike: Sort pre-releases as older than stable releasesa9f7788
Clear release notesb8ee525
docs: Hideconftest
at any level (#170)4032da7
docs: Hideconftest
at any levelUpdates
mypy
from 1.5.1 to 1.6.1Changelog
Sourced from mypy's changelog.
... (truncated)
Commits
9b891fe
Remove +dev from version6b6504e
Fix crash on ParamSpec unification (for real) (#16259)eb81e63
Fix crash on ParamSpec unification (#16251)45f7a12
Add +dev to versionac2d56f
Remove +dev from version5b488ab
Optimize Unpack for failures (#15967)4c963c9
Make PEP 695 constructs give a reasonable error message (#16013)e78df55
Match note error codes to import error codes (#16004)d376633
Fix mypyc regression with pretty (#16124)00cba13
Clear cache when adding --new-type-inference (#16059)Updates
pytest
from 7.4.0 to 7.4.3Release notes
Sourced from pytest's releases.
Commits
2390610
Tweak changelog.rsta0714aa
Prepare release version 7.4.344ad1c9
[7.4.x] fix #10447 - consider marks in reverse mro order to give base classes...5dc7725
[7.4.x] Ensure logging tests always cleanup after themselves (#11541)a517827
[7.4.x] Configure ReadTheDocs to fail on warnings (#11540)21fe071
[7.4.x] fix for ValueError raised in faulthandler teardown code (#11455)f8bb857
Force terminal width when running tests (#11425) (#11432)1944dc0
[7.4.x] Fix --import-mode=importlib when root contains__init__.py
file (#1...946634c
Merge pull request #11419 from nicoddemus/backport-11414-to-7.4.xd849a3e
[7.4.x] fix: closes #11343's [attr-defined] type errors (#11421)Updates
frequenz-repo-config[extra-lint-examples]
from 0.6.2 to 0.7.4Release notes
Sourced from frequenz-repo-config[extra-lint-examples]'s releases.
... (truncated)
Commits
8bf6c38
Fixmike
version sorting (#171)0ee52d5
Update release notesbe6df37
Add tests forcompare_mike_version()
andsort_mike_versions()
6d8b449
Use a more explicit name for the_TestCase
class60e05f6
Don't parse mike versions while sorting02de9fe
mike: Remove unused function94dd0ed
mike: Sort pre-releases as older than stable releasesa9f7788
Clear release notesb8ee525
docs: Hideconftest
at any level (#170)4032da7
docs: Hideconftest
at any levelDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show