Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(pint_units): Fixed BaseQuantity to allow quantities multiplications #25

Merged
merged 6 commits into from
May 22, 2024

Conversation

pesap
Copy link
Collaborator

@pesap pesap commented May 17, 2024

Implemetantion questions

  • I do like the simplicity of specifying the quantities as functions, but do not like the capital letter. Shall we instead follow a different convention like active_power? Or shall I define them as classes with the caveat that it can not be in one liner.

List of changes:

  • Removed __new__ from BaseQuantity
  • Added a unit check to check dimensionality is correct,
  • Added validate on BaseQuantity to perform pint validation on pydantic
  • Added testing for BaseQuantity class and units.

Closes #24

…ions

List of changes:
- Removed `__new__` from BaseQuantity
- Added `ureg.check` to default units. This will check if the unit is compatible, but will not check the input value.
- Added testing for BaseQuantity class and units.

Issue #24
@pesap pesap self-assigned this May 17, 2024
@codecov-commenter
Copy link

codecov-commenter commented May 17, 2024

Codecov Report

Attention: Patch coverage is 84.81013% with 12 lines in your changes are missing coverage. Please review.

Project coverage is 95.44%. Comparing base (fe2295d) to head (8bc6270).

Files Patch % Lines
src/infrasys/base_quantity.py 64.70% 12 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #25      +/-   ##
==========================================
- Coverage   95.75%   95.44%   -0.31%     
==========================================
  Files          24       25       +1     
  Lines        2074     2131      +57     
==========================================
+ Hits         1986     2034      +48     
- Misses         88       97       +9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

src/infrasys/system.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@daniel-thom daniel-thom left a comment

Choose a reason for hiding this comment

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

Great work!

@pesap pesap merged commit dd818c2 into main May 22, 2024
6 checks passed
github-actions bot pushed a commit that referenced this pull request May 22, 2024
…ions (#25)

List of changes:
- Removed `__new__` from BaseQuantity which was causing the problem
- Renamed `__compatible_unit__` to `__base_unit__`
- Added `ureg.check` to default units. This will check if the unit is compatible, but will not check the input value.
- Added testing for BaseQuantity class and units.
- Added a serialization property so that we can call `component.model_dump(mode="json")` when using pint.Quantities,

Closes #24
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.

bug: pint unit definitions are not capable of performing multiplications
4 participants