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

Packaging #2

Open
jpmorgan98 opened this issue Apr 14, 2024 · 2 comments
Open

Packaging #2

jpmorgan98 opened this issue Apr 14, 2024 · 2 comments

Comments

@jpmorgan98
Copy link
Collaborator

jpmorgan98 commented Apr 14, 2024

When packaging an open source app there are a few things we need to configure. I am working on this on my fork and have made a draft PR so we can collaborate. I know this is alot but these are all of the things that are best practices, none are required. This will also go along way in getting other folks to be able to make contributions and install seamlessly eventually getting harmonize into a polished piece of deploy-able software! MC/DC implements most of this so for examples, go there. I will add links over the next lil bit

Please feel free to make alterations as you see fit. I will go thru and add links and resources to all these notes in the coming days but I am really excited to be on this dev team and make a contribution to harmonize!

Directory structure

Python functions usually have the structure of
Harmonize/harmonize/paython_package.py
I have done this but not yet edited the tests and examples

Initialization Functions

Here we need to define all the functions a user needs to be aware of. From my cursory look at MC/DC its harmonize.RuntimeSpec. But add any I missed.

MISC Config Files

I have made most of the ones I think are per tenant

  • README.md: description of install, citation, contribution, etc. Think of this as the first documentation broad strokes you want people to know about.
  • pyproject.toml: required for packing where we list all the dependencies
  • CITATION.cff: for auto archiving at version release
  • CODEofCONDUCT: Describing a contribution code of conduct. I put the same one MC/DC uses in there

Other things we should probs do at some point but are by no means urgent

  • Testing: weather in C++ or Python that can be run via command line request. I can provide more examples of how this is done.
  • CI: once we get testing figured out then we can start to do CPU only tests in github actions and configure CI for LLNL GPU stuff which I think I might know how to do.
  • Auto packaging: I can set this up pretty easy once we decide how to do the res
  • Documentation: in the read me is fine for now but we can start building a ReadTheDocs like MC/DC's
@jpmorgan98
Copy link
Collaborator Author

Can you make me a collaborator in settings so I can start making the github actions

@braxtoncuneo
Copy link
Collaborator

You are now a maintainer.

@jpmorgan98 jpmorgan98 mentioned this issue Apr 16, 2024
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

No branches or pull requests

2 participants