-
Notifications
You must be signed in to change notification settings - Fork 92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ENH] Move to pyproject.toml #608
base: master
Are you sure you want to change the base?
[ENH] Move to pyproject.toml #608
Conversation
Editable install with
|
This PR moves Elephant from setup.py to pyproject.toml, aligning with PEP 518.
Key changes include:
pyproject.toml
setup.py
is still needed to compile the C-code for the fim module.The reason is that we need OS dependend compile args which are dynamically defined in
setup.py
.The
pyproject.toml
does not natively support conditional logic like os_name == 'windows' directly within the configuration. The TOML format is static and doesn't allow for dynamic evaluation of conditions based on the operating system.To achieve platform-specific compile arguments, we have to use a Python script, such as a
setup.py
, which can programmatically determine the OS and apply the correct compile arguments.In this context, as a configuration file for setuptools,
setup.py
is not deprecated, see also: https://packaging.python.org/en/latest/discussions/setup-py-deprecated/