Skip to content

Proposed affiliated package: EinsteinPy - #306

Merged
astrofrog merged 2 commits into
astropy:masterfrom
shreyasbapat:add-einsteinpy
Jul 23, 2019
Merged

astrofrog merged 2 commits into
astropy:masterfrom
shreyasbapat:add-einsteinpy

Conversation

@shreyasbapat

@shreyasbapat shreyasbapat commented Mar 7, 2019 •

Copy link
Copy Markdown
Contributor

EinsteinPy is an open source pure Python package dedicated to problems arising in General Relativity, relativistic physics and gravitational astronomy, such as goedesics plotting for schwarzschild space-time model, calculation of schwarzschild radius for any mass given, symbolic calculation of various functions related to GR such as christoffel symbols. Features like visualization of geodesics of curved black holes and 3D visualizations are some of the features which are planned. It is released under the MIT license.

Documentation: https://docs.einsteinpy.org

@astrofrog

Copy link
Copy Markdown
Member

Thank you for proposing this package to the Astropy affiliated package ecosystem! We will be asking a member of the Astropy project to review this submission and will get back to you once we hear back from them.

@shreyasbapat

Copy link
Copy Markdown
Contributor Author

Thank you for proposing this package to the Astropy affiliated package ecosystem! We will be asking a member of the Astropy project to review this submission and will get back to you once we hear back from them.

Sure ! Thanks @astrofrog

@astrofrog

Copy link
Copy Markdown
Member

This package has been reviewed for inclusion in the Astropy affiliated package ecosystem by a member of the Astropy community as well as myself, and I have synthesized the results of the review here.

You can find out more about our review criteria in Reviewing affiliated packages. For each of the review categories below we have listed the score and have included some comments when the score is not green.

Functionality/Scope Specialized package
No further comments
Integration with Astropy ecosystem Orange
EinsteinPy units throughout, though in units.py it might help to define equivalencies rather than conversion functions. The code could use more of other parts of astropy. In particular, in constants.py and bodies.py, the masses of the Sun and Earth should just be taken from astropy.constants, and the cosmological constant from astropy.cosmology. We would also strongly recommend to have a look at astropy.coordinates.representations - the Spherical and Cartesian coordinate classes there are more powerful than the corresponding classes in EinsteinPy. Somewhat similarly, though not related to astropy, integrate.py could use scipy.integrate rather than redefine a Runge-Kutta method.
Documentation Green
The user documentation is excellent. It would help to have a bit more for developpers, i.e., expand the EinsteinPy API section to include class diagrams, etc. We suggest looking into sphinx-automodapi to simplify the generation of the API docs.
Testing Green
The tests seems thorough. We would suggest adding tests for array-valued inputs to the classes; some likely already are able to handle it, for others it will show easy improvements.
Development status Heavy Development
No further comments
Python 3 compatibility Green
No further comments

One thing we would strongly recommend is to aim at handling array-valued inputs in all classes, broadcasting inputs as necessary. This is also another reason to base the coordinate classes on
astropy.coordinatates.representatations – those should give good examples for how to ensure this works. Relatedly, we would recommend ensuring one does not use numpy arrays to store disparate elements (as in the outputs of many Kerr methods such as f_vec).

Summary/Decision: This package meets the review criteria for affiliated packages, so we are happy to confirm that we'll be listing your package as an affiliated package! Keep up the good work, and we encourage you to improve on the areas above that weren't “green” yet.

If you have any follow-up questions or disagree with any of the comments above, leave a comment and we can discuss it here. At any point in future you can request a re-review of the package if you believe any of the scores should be updated - contact the coordination committee, and we will do a new review.

@astrofrog
astrofrog merged commit 7b64829 into astropy:master Jul 23, 2019
@shreyasbapat
shreyasbapat deleted the add-einsteinpy branch July 23, 2019 13:12
@shreyasbapat

Copy link
Copy Markdown
Contributor Author

Amazing! Thanks a lot @astrofrog :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants