Merge PyChaste into Chaste develop#286
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #286 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 1029 1029
Lines 51383 51383
=========================================
Hits 51383 51383 ☔ View full report in Codecov by Sentry. |
|
Added summary of changes. |
I get nervous about LGPL licences, but the first "L" means we can happily use and distribute this as a library without releasing everything as GPL does it? |
Yes, it looks that way as long as the source is available. We also have CxxTest licensed under LGPL v2.1. |
Thanks! I'll have a look. Some of the examples may need updating. |
|
I can remove all the wrapper files from The tests will still be able to flag when a class is added to (or removed from) The tests will no longer be able to detect changes to method signatures since we'll no longer be keeping any reference wrappers. However, this shouldn't be much of a problem - if the wrappers are continually being regenerated, they'll automatically pick up the changes. |
|
Squash merged to avoid polluting develop branch commit history with generated wrappers. |

Summary
Supports #273
Modifications
codegen_python3_venvchaste_python3_venv.chaste_python3_venvin addition to chaste-codegen which is already installed.Chaste_ENABLE_PYCHASTEflag to enable configuring and building PyChaste (default isOFF).petsc4pypackage as a build dependency i.e.find_package(PETSc4py REQUIRED).Developmentcomponent for Python i.e.find_package(Python3 3.5 COMPONENTS Interpreter Development).vtkRenderingCore,vtkWrappingPythonCore, ...Additions
pychastecomponent with the following folder structure:Extra Dependencies
mpi4pypetsc4pymatplotlibnumpyxvfbwrapperTests
Continuoustest pack which can be run viaxvfb-run ctest -L pychaste.pychaste-ubuntu-testsGitHub Actions workflow to build and run all pychaste tests on different Ubuntu versions (currently 22.04 Jammy and 24.04 Noble) with all dependencies installed from Ubuntu apt repositories.pychaste-conda-testsGitHub Actions workflow to build and run all pychaste tests on different versions of Python (currently 3.8 to 3.12) with all dependencies installed from conda-forge.Infrastructure
GeneratePyChasteTutorials.pyinfrastructure script to convert PyChaste tutorial test files to markdown and Jupyter notebook format.update-pychaste-tutorialsGitHub Actions workflow to update pychaste tutorials on website.Additional Licenses
pychaste/dynamic/typecaster/3rdparty:CheckForCopyrights.pyscript to recognise additional licenses.Building and testing on Ubuntu jammy / noble