OS | FreeCAD method | Tried | Resulting tools | System Python |
Windows | Portable .7z install | tested | freecad.cmd freecad.pip |
No |
Windows | exe installer | No | ||
Windows | Conda | tested | FreeCAD.so and freecad.py | Yes |
Linux (Ubuntu) | apt-get install | tested | freecadcmd | No |
Linux (Ubuntu) | AppImage | tested | freecad.cmd | No |
Linux (Ubuntu) | Conda | tested | FreeCAD.so and freecad.py | Yes |
Linux (Ubuntu) | snap | tested | freecad.cmd freecad.pip |
No |
Mac | Conda | tested | FreeCAD.so and freecad.py | Yes |
Mac | Intel disk image | No | ||
Mac | ARM disk image | No |
Installation routes tested
Testing in CI
Conversion tests - checks that 52 stp files convert to openmc and mcnp CSG files
Volume tests - checks that OpenMC CSG files have the same volume as the CAD
Transport tests - checks that OpenMC CSG files work in particle transport
PyPi packaging
Plan to make an action that automates the PyPI release
Pure python PyPI first
Action with login cad_to_dagmc/.github/workflows/python-publish.yml at main · fusion-energy/cad_to_dagmc
Action with trusted publisher openmc-plasma-source/.github/workflows/python-publish.yml at main · fusion-energy/openmc-plasma-source
Attempt Scikit build core based PyPI packaging to include FreeCAD
Action to update the PyPI action using Scikit build
Conda packaging
GEOUNED channel on anaconda.org
conda forge based conda package (need CI, docs, pypi first)
example recipe conda-forge/dagmc-feedstock: A conda-smithy repository for dagmc. (github.com)
Guidelines for making conda package Contributing packages | conda-forge | community-driven packaging for conda
Documentation
Action for building Sphinx instead of using ReadTheDocs hosting
Documentation
pip install .[docs] - installs geouned with mkdocs
mkdocs serve - converts md files to html and opens up local webserver
mkdocs gh-deploy - converts md to html and pushes to gh-pages branch triggering a docs update
pages build and deployment · shimwell/GEOUNED@1b37cbf (github.com)
Refactoring requests
Possible to rename the package from GEOUNED to geouned as recommended by pep8?
Possible to change the class names GEOUNED and GEOReverse to CadToCsg and CsgToCad or these can just be functions instead of classes named cad_to_csg and csg_to_cad
Pass arguments into the class init or function directly. Move the config.iuni reading to a class method called .from_config. Or use Json and ** to expand to keywords
These would make, testing, using, documenting and packaging easier
deck
By Jonathan Shimwell
deck
- 56