Changelog
[1] Planned Features
- Breaking changes
- (None currently planned)
- Major features
- Plotting (with hillshade background...?)
- Heat flow & Curie depths
- Add MAVEN magnetometer module
- Known bugs
- boug data has weird wraparound at lon 180 -- reproduce, run
import redplanet as rp; rp.Crust.boug.load('Genova2016'); d = 1.e-6; print(rp.Crust.boug.get(-180 + d, 0)); print(rp.Crust.boug.get( 180 - d, 0))
- although I'm pretty sure this is a bug in the data itself, not in the code...?
- boug data has weird wraparound at lon 180 -- reproduce, run
- Minor functional changes/updates
- Update crater database with new IAU additions
- Redplanet currently uses a database up to 2024-11-26 with 1218 craters -- as of 2025-02-27, there are 1231 craters (13 additions).
- Update crater database with new IAU additions
- Software changes
- Auto-generated changelogs from "conventional commits" standard
- "commitizen" seems promising
- thoughts of a robot
- Publish to conda forge (tutorial)
- I think it needs to be added/approved manually first, then I can automate it with a GH action
- Add GitHub actions for CI/CD
- Specifically, GH actions for running tests with uv, and publishing the site (see justfile for more specific commands!)
- Website: fix
mkdocstrings
config so it selectively inspects objects with the@substitute_docstring
decorator, instead of forcing dynamic analysis for everything - Website: find a way to do citations via bibtex in the website itself, preferrably with footnotes
- maybe use
shyamd-mkdocs-bibtex
?
- maybe use
- Switch from
pandas
topolars
to save a lot of space and slight performance improvements (move pandas to optional dependecy group) - Change all
loader
modules so they have an additional semi-private method which returns the respectiveGriddedData
object, which is then assigned to the global variable by theload()
/load(...)
/_load()
method. This is more clean and extensible in edge cases, e.g.Crust.moho
wants the pysh topo model to make a crthick model (kind of). - Move
DatasetManager
toredplanet.helper_functions
? - Add
plotly
as an alternative engine forredplanet.plot(...)
.
- Auto-generated changelogs from "conventional commits" standard
[2] Changelog
RedPlanet follows the Semantic Versioning standard. In short, this means that version numbers follow the pattern MAJOR.MINOR.PATCH
, where MAJOR
is incremented for breaking changes (i.e. not backwards compatible), MINOR
is incremented for new features, and PATCH
is incremented for bug fixes.
Complete rewrite in 2024 September & deleting v1.0.0
I completely rewrote this project in 2024 September, erasing the entire git history and restarting from scratch. On PyPI, I deleted the only version which which was ever published (v1.0.0), so it's impossible to download now (as opposed to "yanking" which would allow for downloading if the exact version were accidentally requested). An archive of the old repo is available here: https://github.com/Humboldt-Penguin/redplanet_archive-240910
self note:
- Take inspiration from the following:
- mihon (this is much more comprehensible)
- shtools
- uv (but this is only on github) — but tbh, i don't really love these...? it's always been a bit confusing to parse
Bonus: These badges track PyPI downloads, but they're quite misleading since I'm pretty sure my automated tests with GitHub actions, my online Google Colab demo, and/or some other source are wildly inflating the download count. Still fun to see though :)