I recently uploaded our scatfit pulse profile scattering fit and simulation software to the official Python Package Index (PyPI). That means you can install it simply by typing

$ pip install scatfit

in one of your shell windows.

As scatfit includes compiled binary extensions to speed up the model evaluation (by a factor of 2-3 times!), I made several platform wheels available for different combinations of operating system (OS) and Python version. These are built and uploaded to PyPI quasi-automatically when tagging a new code release.

Additionally, I added several Continuous Integration/Continuous Delivery (CI/CD) tasks that run automatically using GitHub Actions once any new code is merged to the main or master branch. These include automatic regression testing of the software on various OS and Python versions and binary platform wheel building, as mentioned above.

Finally, I added automatically generated documentation using the Sphinx documentation software and hosted on the Readthedocs website for two of my software projects.

So far, I have implemented GitHub Action-based CI/CD tasks for:

Automatically-generated documentation on the Readthedocs website is available for: