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

Add new SI prefixes #14046

Merged
merged 5 commits into from
Nov 28, 2022
Merged

Add new SI prefixes #14046

merged 5 commits into from
Nov 28, 2022

Conversation

namurphy
Copy link
Contributor

@namurphy namurphy commented Nov 26, 2022

Description

For the first time since 1991, new SI prefixes have been created. 🎆 ⚖️ 🎉 🎂 🎈 🌍

  • quetta (Q): $10^{30}$
  • ronna (R): $10^{27}$
  • ronto (r): $10^{-27}$
  • quecto (q): $10^{-30}$

This PR adds these prefixes to astropy.units.core, as well as to the corresponding table in the documentation for astropy.units. Here's hoping that there aren't any namespace clashes...

Checklist for package maintainer(s)

This checklist is meant to remind the package maintainer(s) who will review this pull request of some common things to look for. This list is not exhaustive.

  • Do the proposed changes actually accomplish desired goals?
  • Do the proposed changes follow the Astropy coding guidelines?
  • Are tests added/updated as required? If so, do they follow the Astropy testing guidelines?
  • Are docs added/updated as required? If so, do they follow the Astropy documentation guidelines?
  • Is rebase and/or squash necessary? If so, please provide the author with appropriate instructions. Also see "When to rebase and squash commits".
  • Did the CI pass? If no, are the failures related? If you need to run daily and weekly cron jobs as part of the PR, please apply the Extra CI label. Codestyle issues can be fixed by the bot.
  • Is a change log needed? If yes, did the change log check pass? If no, add the no-changelog-entry-needed label. If this is a manual backport, use the skip-changelog-checks label unless special changelog handling is necessary.
  • Is this a big PR that makes a "What's new?" entry worthwhile and if so, is (1) a "what's new" entry included in this PR and (2) the "whatsnew-needed" label applied?
  • Is a milestone set? Milestone must be set but astropy-bot check might be missing; do not let the green checkmark fool you.
  • At the time of adding the milestone, if the milestone set requires a backport to release branch(es), apply the appropriate backport-X.Y.x label(s) before merge.

@github-actions github-actions bot added the units label Nov 26, 2022
@github-actions
Copy link

👋 Thank you for your draft pull request! Do you know that you can use [ci skip] or [skip ci] in your commit messages to skip running continuous integration tests until you are ready?

@namurphy namurphy marked this pull request as ready for review November 26, 2022 14:54
@mhvk mhvk added this to the v5.0.6 milestone Nov 26, 2022
@mhvk mhvk added 💤 backport-v5.0.x on-merge: backport to v5.0.x 💤 backport-v5.2.x on-merge: backport to v5.2.x labels Nov 26, 2022
Copy link
Contributor

@mhvk mhvk left a comment

Choose a reason for hiding this comment

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

Ha, that's news! I think it is all OK -- there don't seem to be any units starting with Q or q, and only the various radii, radian and Rayleigh with R. So, no confusion with, say a duration in units of "Ra".

I think we should backport this, so that all supported versions fully support SI.

@namurphy
Copy link
Contributor Author

Ha, that's news!

I know, right? Now we can say that Earth's mass is $∼ 6$ ronnagrams and Jupiter's mass is $∼ 2$ quettagrams. The prefixes aren't quite enough to deal with the range of stellar/galactic masses...but I guess it's the thought that counts?

I think it is all OK -- there don't seem to be any units starting with Q or q, and only the various radii, radian and Rayleigh with R. So, no confusion with, say a duration in units of "Ra".

That's right — I did a check to see if there would be any namespace conflicts and I didn't find any:

>>> [unit for unit in dir(astropy.units) if unit[0] in "qQrR"]
['Quantity', 'QuantityInfo', 'QuantityInfoBase', 'R', 'R_earth', 'R_jup', 'R_jupiter', 'R_sun', 'Rayleigh', 'Rearth', 'Rjup', 'Rjupiter', 'Rsun', 'Ry', 'quantity', 'quantity_helper', 'quantity_input', 'rad', 'radian', 'rayleigh', 'rydberg']

I think we should backport this, so that all supported versions fully support SI.

Cool! Is that something the maintainers will take care of, or should I submit separate PRs to the relevant branches?

@mhvk
Copy link
Contributor

mhvk commented Nov 28, 2022

Sounds all good! The backport should be automatic -- which we will see whether it works in a second, because I think I should just press that nice "merge" button! Thanks, @namurphy!

@mhvk mhvk merged commit 421bdfb into astropy:main Nov 28, 2022
meeseeksmachine pushed a commit to meeseeksmachine/astropy that referenced this pull request Nov 28, 2022
meeseeksmachine pushed a commit to meeseeksmachine/astropy that referenced this pull request Nov 28, 2022
@namurphy namurphy deleted the ronna-quetta-ronto-quecto branch November 28, 2022 19:35
@pllim
Copy link
Member

pllim commented Nov 29, 2022

Power of 27? Why? 🤯

pllim added a commit that referenced this pull request Nov 29, 2022
…046-on-v5.0.x

Backport PR #14046 on branch v5.0.x (Add new SI prefixes)
pllim added a commit that referenced this pull request Nov 29, 2022
…046-on-v5.2.x

Backport PR #14046 on branch v5.2.x (Add new SI prefixes)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
units 💤 backport-v5.0.x on-merge: backport to v5.0.x 💤 backport-v5.2.x on-merge: backport to v5.2.x
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants