simpeg / discretize

Discretization tools for finite volume and inverse problems.
http://discretize.simpeg.xyz/
MIT License
165 stars 34 forks source link

Pyproject.toml (2nd method) #341

Closed omid-b closed 12 months ago

omid-b commented 1 year ago

Hi Discretize developers team!

This is an alternative to #338 created by @jcapriot . While I appreciate the work in #338, I think this PR follows the "Principle of Simplicity" more closely: "Make it as simple as possible, but not simpler!".

This PR tries to achieve the same goal as in #338 but not using the meson.build approach that is proposed by @jcapriot . Not that I say the meson.build approach is wrong, No! It is now used in SciPy, so it must be good! But I think meson.build method is relatively much more complex and unnecessary in the case of discretize. So, the main reason that I created this PR was that this method is relatively much simpler and less modifications and addition of new files were required to the original structure of the project in order to achieve the same goal.

It is ready to be reviewed. So feel free to discuss and ask questions please.

Summary of changes:

As a result of these changes, discretize now can be installed using both pip install . and pip install -e . in fresh virtual python environments and their behavior for both types of installations is as expected!

jcapriot commented 12 months ago

Thanks for your contribution, however we have decided to go with the meson-python route (#338), not only because it completely removes the setup.py file to avoid confusion in the future. But also due to the other benefits it imparts (the editable style installs of extension modules, required explicit listing of installed files).

omid-b commented 12 months ago

Thanks for your reply. Okay, fair enough.