Ulm-IQO / qudi-core

A framework for modular measurement applications.
GNU General Public License v3.0
38 stars 21 forks source link

Modernize build configuration to get rid of `setup.py` #111

Closed Neverhorst closed 2 months ago

Neverhorst commented 2 months ago

Description

Removed setup.py and moved all package metadata and requirements into pyproject.toml. Adjusted documentation and github release workflows accordingly. Release process now uses build as build frontend.

Also fixes the numpy package version to below 2.0 because some dependencies are apparently not yet compatible with the new major release.

Motivation and Context

Although using setup.py is still not deprecated officially, it is much more future-proof and less ambiguous to use pyproject.toml. For more information on the topic you can start here. This also allows to avoid setuptools as build frontend.

How Has This Been Tested?

Types of changes

Checklist:

timoML commented 2 months ago

@prithviulm, @astropiuu Can you merge the pyproject.toml of this PR with yours for testing? Just to make sure we're not introducing something here that is creating issues with a future PR for the testing framework.