Python 3.10 support and dependency on `funcy`/`fn`
BenSchZA opened this issue · 5 comments
Due to cadCAD's dependency on the funcy
package and its dependency on the fn
package, cadCAD currently doesn't support Python 3.10+. The fn
package has the following error ImportError: cannot import name 'Iterable' from 'collections'
discussed in the following issue kachayev/fn.py#91.
There is a PR from 2020 to fix this issue, which still hasn't been merged: kachayev/fn.py#87. In the meantime I've created a fork of the package to fix the issue here: https://github.com/BenSchZA/fn.py.
By adding the above forked and fixed version of fn
, cadCAD should be able to support at least Python3.10. I'm in the process of updating radCAD to use the package.
I've created a fork of fn
within cadCAD-org, and created a PR to update cadCAD requirements.txt
here: #341
Alternatively, there is a GitHub organisation and PyPi package fn.py
(versus fn
) that is more actively maintained and fixes the issue described above: https://github.com/fnpy/fn.py
cadCAD is passing CI on all Pythons from 3.9 to 3.12. Do you have a specific scenario where it isn't working on 3.10?
Thanks for confirming that @emanuellima1, it's failing on install currently. I'll try to run the cadCAD tests locally and see if I can give any further context.
I realise I have been using an older version of cadCAD v0.4.27 to ensure backwards compatibility with the cadCAD.Edu coursework and the existing radCAD models and tests. I'll update to v0.5.1 and see if this causes any issues.