import os from setuptools import setup if os.path.exists(".git"): kwargs = { "use_scm_version": { "write_to": "pysr/version.py", }, "setup_requires": ["setuptools", "setuptools_scm"], } else: # Read from pyproject.toml directly import re with open(os.path.join(os.path.dirname(__file__), "pyproject.toml")) as f: data = f.read() # Find the version version = re.search(r'version = "(.*)"', data).group(1) # Write the version to version.py with open(os.path.join(os.path.dirname(__file__), "pysr", "version.py"), "w") as f: f.write(f'__version__ = "{version}"') kwargs = { "use_scm_version": False, "version": version, } # Build options are managed in pyproject.toml setup(**kwargs)