salvadorgarciamunoz / kipet

Development repository for Kipet.
GNU General Public License v3.0
20 stars 17 forks source link

Previous update plus new changes targeting package development #162

Closed kwmcbride closed 3 years ago

kwmcbride commented 3 years ago

This is a pretty big update on top of the last pull request, which I will be canceling. All of the changes in that request are contained within this one as well.

This update makes KIPET join the world of proper packaging. There is a package called 'kipet' on PyPi.org that can be downloaded using pip, poetry, etc.

The major changes in this update are the following:

  1. KIPET has been cleaned up considerably and the folder structure altered. The library directory no longer exists since it was no longer needed. Examples are now in the top and not included in the install. This is something I will work on later (along with tests) to ensure that users' installations are working. Each example is not contained within its own directory as well.

  2. I have used poetry to control the dependencies of KIPET, resulting in the pyproject.toml file and the removal of setup.py and the requirements.txt files.

  3. Settings is now controlled by a YAML file. There is a method to change the default settings. I will be improving this in the future though.

  4. Algebraic variables don't need to be declared anymore. They are automatically generated when the add_expression method is called. Where algebraic variables were previously used for fixed trajectories, these are now handled using the fixed_state method.

  5. Plots have been updated with a much better file name generation scheme.

  6. Data path management is no longer managed by KIPET (this is a good thing).

  7. Many smaller changes were made as well.