CEMeNT-PSAAP / MCDC

MC/DC: Monte Carlo Dynamic Code
https://mcdc.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
23 stars 22 forks source link

Documentation and Packaging update (Pre mc/dc 0.0.9) #149

Closed jpmorgan98 closed 9 months ago

jpmorgan98 commented 9 months ago

Changes:

Documentation

Paper

I wrote a paper for JOSS submission and added the github workflow to compile it. The runner will be turned off after all updates are in. Please look over and see

Packaging

Packaging is provided through pip. This required a new .toml file and some creation of new accounts and API tokens to make it all work the CI runner which will deploy when a new version is detected. I also set up zenodo repo. Please note the new minimum requirements listed in the .toml file.

New build options

Due to the significant size of netgen (~300MB) and its dependencies I added visualization as an optional build. This can installed by

pip install mcdc[viz]

To make the dependencies optional I put the imports in a try and except phraseology with a warning message when going to install

I also configured it to install the documentation dependencies in the same manner

pip install mcdc[doc]

Github CIs

When pip install . is run in a local directory all the necessary dependence will be snagged as part of that operation. So I disabled those in the github runner CIs. I also included 2 new runners to build the paper and package mcdc for pypi.

README.md

I made significant changes to the README.md file to describe these changes

Next steps

After this PR is accepted I will release version 0.9.0 which will provide a final update to pip for the package I will fix some links to the documentation. I will submit that paper to JOSS

jpmorgan98 commented 9 months ago

Please note I am an awful speller while I do have spell check in VS code, someone should really give my copy a once over.

ilhamv commented 9 months ago

@jpmorgan98, let's merge it in after we are back in black. Great work!

jpmorgan98 commented 9 months ago

Ok we should be good note that it looks like some stuff in the black standard has changed and you might need to update your version to get it to work pip install black==24.1.0