Skip to content

Commit 3bf04ed

Browse files
authored
ENH: Use setuptools_scm to set the version (mne-tools#11517)
1 parent 8667612 commit 3bf04ed

File tree

6 files changed

+17
-22
lines changed

6 files changed

+17
-22
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ MNE-brainstorm-data*
4141
physionet-sleep-data*
4242
MEGSIM*
4343
build
44+
mne/_version.py
4445
coverage
4546
htmlcov
4647
.cache/

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ docstring:
117117
@$(PYTESTS) --doctest-modules mne/tests/test_docstring_parameters.py
118118

119119
check-manifest:
120-
check-manifest -q --ignore .circleci/config.yml,doc,logo,mne/io/*/tests/data*,mne/io/tests/data,mne/preprocessing/tests/data,.DS_Store
120+
check-manifest -q --ignore .circleci/config.yml,doc,logo,mne/io/*/tests/data*,mne/io/tests/data,mne/preprocessing/tests/data,.DS_Store,mne/_version.py
121121

122122
check-readme: clean wheel_quiet
123123
twine check dist/*

mne/__init__.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,14 @@
1616
# Dev branch marker is: 'X.Y.devN' where N is an integer.
1717
#
1818

19-
from ._version import __version__
19+
try:
20+
from importlib.metadata import version
21+
__version__ = version("mne")
22+
except Exception:
23+
try:
24+
from ._version import __version__
25+
except ImportError:
26+
__version__ = '0.0.0'
2027

2128
# have to import verbose first since it's needed by many things
2229
from .utils import (set_log_level, set_log_file, verbose, set_config,

mne/_version.py

Lines changed: 0 additions & 6 deletions
This file was deleted.

requirements_base.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ pooch>=1.5
77
decorator
88
packaging
99
jinja2
10-
importlib_resources>=5.10.2
10+
importlib_resources>=5.10.2
11+
importlib_metadata; python_version < '3.8'

setup.py

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,13 @@ def parse_requirements_file(fname):
2222
return requirements
2323

2424

25-
# get the version (don't import mne here, so dependencies are not needed)
26-
version = None
27-
with open(op.join('mne', '_version.py'), 'r') as fid:
28-
for line in (line.strip() for line in fid):
29-
if line.startswith('__version__'):
30-
version = line.split('=')[1].strip().strip('\'')
31-
break
32-
if version is None:
33-
raise RuntimeError('Could not determine version')
34-
35-
3625
DISTNAME = 'mne'
3726
DESCRIPTION = 'MNE-Python project for MEG and EEG data analysis.'
3827
MAINTAINER = 'Alexandre Gramfort'
3928
MAINTAINER_EMAIL = '[email protected]'
4029
URL = 'https://mne.tools/dev/'
4130
LICENSE = 'BSD-3-Clause'
4231
DOWNLOAD_URL = 'http://github.com/mne-tools/mne-python'
43-
VERSION = version
4432

4533

4634
def package_tree(pkgroot):
@@ -74,7 +62,6 @@ def package_tree(pkgroot):
7462
description=DESCRIPTION,
7563
license=LICENSE,
7664
url=URL,
77-
version=VERSION,
7865
download_url=DOWNLOAD_URL,
7966
long_description=long_description,
8067
long_description_content_type='text/x-rst',
@@ -100,6 +87,11 @@ def package_tree(pkgroot):
10087
platforms='any',
10188
python_requires='>=3.7',
10289
install_requires=install_requires,
90+
setup_requires=["setuptools>=45", "setuptools_scm>=6.2"],
91+
use_scm_version={
92+
"write_to": "mne/_version.py",
93+
"version_scheme": "release-branch-semver",
94+
},
10395
extras_require={
10496
'data': data_requires,
10597
'hdf5': hdf5_requires,

0 commit comments

Comments
 (0)