Skip to content

Conversation

@wiltbemj
Copy link
Contributor

@wiltbemj wiltbemj commented Apr 23, 2025

Introduction

Kaipy is a Python package for analysis and visualization of simulation results from a scientific software package Kaiju. Kaiju includes the Multiscale Atmosphere-Geospace Environment (MAGE) model developed by the NASA DRIVE Center for Geospace Storms as well as other scientific software for simulation of heliospheric environments such as planetary magnetospheres and the solar wind.

PyHC Standards

Community: Partially Met

  • Open Development: All code for kaipy is publicly available.
  • Duplication: kaipy code base is not duplicated or forked from an existing repository.
  • Collaboration: Currently, contribution guidelines have not been decided and implemented for kaipy.
  • Code of Conduct: Currently, a code of conduct has not been set for kaipy.
  • Improvement Plan: Build the contribution guidelines and code of conduct for the repository. (Task 1)

Documentation: Good

  • kaipy has thorough documentation with an automated Google style python docstring to readthedocs pipeline, hosted in the repository.
  • An online tutorial for Kaipy is available on Google Colab.
  • Documentation is available online: https://kaipy-docs.readthedocs.io/

Testing: Partially Met

  • Unit tests are made with the pytests package with 27% coverage
  • Automated testing not yet implemented
  • Improvement Plan: Implement automated testing. (Task 2)

Software Maturity: Good

  • Packaging: kaipy code is available on PyPI: https://bitbucket.org/aplkaiju/kaipy
  • Releases: Kaipy follows semantic versioning with biannual updates planned.
  • Operating System Support: Kaipy has been tested on three major operating systems (MacOS, Linux, Windows)
  • Version control: Kaipy uses version control via bitbucket
  • Coding Style: PEP8 are generally followed alougth occasional line length violations are made.
  • Dependencies: Least number of dependencies imported
  • Binaries: Currently no binary files are located in the repository, will be adding images for documentation examples down the line.
  • Improvement Plan: Will work on editing the entire code base to meet this guideline. (Task 3)

Python 3: Good

  • Kaipy has been tested on python versions 3.8 working on compatibility with 3.10 and greater.

License: Good

  • Kaipy uses BSD Three clause license

Improvement Plan

Kaipy team will be working on the tasks in this order of priority to meet the highest standards of PyHC for future development:

  • Task 1: Write the contribution guidelines and code of conduct for the repository.
  • Task 2: Improve and build automated testing infrastructure for the code base.
  • Task 3: Improve compliance with PEP8 guidelines especially with respect to line length violations

@sapols
Copy link
Contributor

sapols commented May 13, 2025

Hi @wiltbemj, thanks for this submission! Sorry it's taken me so long to reply, I'm on vacation until the end of the month. I will review this when I get back in June.

@sapols
Copy link
Contributor

sapols commented May 13, 2025

Actually it looks like you have a typo in your docs URL. Could you fix that in the meantime please?

@wiltbemj
Copy link
Contributor Author

Sorry about that - I fixed the URL in the YAML file and the comment for this PR

@wiltbemj
Copy link
Contributor Author

I'd like to have kaipy included in PyHC by the CEDAR/GEM meeting which begins on June 23rd. Will that be possible?

@sapols
Copy link
Contributor

sapols commented May 27, 2025

I will certainly review it by then, yes 👍

code: "https://bitbucket.org/aplkaiju/kaipy/src/master/"
contact: "Michael Wiltberger"
keywords: ["geospace","2D_graphics", "plotting", "hdf5", "local", "data_analysis", "specific"]
community: ["https://img.shields.io/badge/Good-brightgreen.svg", "Good"]
Copy link
Contributor

Choose a reason for hiding this comment

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

Please change this community line to "Partially met"?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Upated

@sapols
Copy link
Contributor

sapols commented May 28, 2025

@wiltbemj I've reviewed your package and I agree with your self evaluation. Kaipy will be a good addition to PyHC, thank you for being thorough. Two things though:

  1. Please change your "community" line to "Partially met" to match your own PR description.
  2. Why do you require Python<=3.10? Is there a change in 3.11+ that breaks your code? I ask because the PyHC Environment is already on 3.11, so at present we could not include Kaipy (which would make it the only published PyHC package NOT in the environment). I would request that you add newer Python version support to the top of your task list before the other three?

@wiltbemj
Copy link
Contributor Author

wiltbemj commented May 28, 2025 via email

@sapols
Copy link
Contributor

sapols commented May 28, 2025

@wiltbemj that's great news! Makes sense to me. So we'll wait about a week for that new release, then you'll update this PR, which will be my cue to confirm Python 3.11+ support and merge. At which point I'll add Kaipy to our PyHC Env (and to our PyHC Documentation Hub too, in case you hadn't heard of it).

@sapols
Copy link
Contributor

sapols commented Jun 24, 2025

I saw your "updated" message, thanks, @wiltbemj. We appreciate the Python 3.11+ support.

It looked like you commented without actually updating the file, so I pushed a couple commits to fix the Community badge and your code URL (since I noticed you migrated from Bitbucket to GitHub). Please let me know if I missed anything and we can push another update.

Otherwise, I've approved this PR and will merge now. Kaipy will now appear in:

  1. The PyHC Projects page
  2. The PyHC Documentation Hub
  3. The PyHC Environment

@sapols sapols merged commit 47bb33c into heliophysicsPy:main Jun 24, 2025
1 check passed
@wiltbemj
Copy link
Contributor Author

wiltbemj commented Jul 1, 2025 via email

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.

2 participants