Skip to content

Commit 9f4c32b

Browse files
committed
Move all metadata to pyproject.toml,
update usage of setuptools-scm. Note that this makes setuptools-scm an optional dependency
1 parent 0115377 commit 9f4c32b

File tree

4 files changed

+78
-69
lines changed

4 files changed

+78
-69
lines changed

labscript_suite/__version__.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,25 @@
1-
import os
21
from pathlib import Path
3-
42
try:
53
import importlib.metadata as importlib_metadata
64
except ImportError:
75
import importlib_metadata
86

9-
VERSION_SCHEME = {
10-
"version_scheme": os.getenv("SCM_VERSION_SCHEME", "release-branch-semver"),
11-
"local_scheme": os.getenv("SCM_LOCAL_SCHEME", "node-and-date"),
12-
}
13-
147
root = Path(__file__).parent.parent
158
if (root / '.git').is_dir():
16-
from setuptools_scm import get_version
9+
try:
10+
from setuptools_scm import get_version
11+
VERSION_SCHEME = {
12+
"version_scheme": "release-branch-semver",
13+
"local_scheme": "node-and-date",
14+
}
15+
scm_version = get_version(root, **VERSION_SCHEME)
16+
except ImportError:
17+
scm_version = None
18+
else:
19+
scm_version = None
1720

18-
__version__ = get_version(root, **VERSION_SCHEME)
21+
if scm_version is not None:
22+
__version__ = scm_version
1923
else:
2024
try:
2125
__version__ = importlib_metadata.version(__package__)

pyproject.toml

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,68 @@
22
requires = ["setuptools>=64", "wheel", "setuptools_scm>=8"]
33
build-backend = "setuptools.build_meta"
44

5-
[tool.setuptools_scm]
5+
[tool.setuptools_scm]
6+
version_scheme = "release-branch-semver"
7+
local_scheme = "no-local-version"
8+
9+
[tool.setuptools]
10+
zip-safe = false
11+
include-package-data = true
12+
13+
[tool.setuptools.packages]
14+
find = {namespaces = false}
15+
16+
17+
[project]
18+
name = "labscript-suite"
19+
description = "Meta-package for the labscript suite experiment control and automation system"
20+
authors = [
21+
{name = "The labscript suite community", email = "labscriptsuite@googlegroups.com"},
22+
]
23+
keywords = ["experiment control", "automation"]
24+
license = {file = 'LICENSE.txt'}
25+
classifiers = [
26+
"License :: OSI Approved :: BSD License",
27+
"Programming Language :: Python :: 3 :: Only",
28+
"Programming Language :: Python :: 3.6",
29+
"Programming Language :: Python :: 3.7",
30+
"Programming Language :: Python :: 3.8",
31+
"Programming Language :: Python :: 3.9",
32+
"Programming Language :: Python :: 3.10",
33+
"Programming Language :: Python :: 3.11",
34+
]
35+
requires-python = ">=3.6"
36+
dependencies = [
37+
"importlib_metadata",
38+
"blacs>=3.2.0",
39+
"labscript>=3.3.0",
40+
"labscript-devices>=3.2.0",
41+
"labscript_utils>=3.3.0",
42+
"lyse>=3.2.1",
43+
"runmanager>=3.2.0",
44+
"runviewer>=3.2.0",
45+
]
46+
dynamic = ["version"]
47+
48+
[project.readme]
49+
file = "README.md"
50+
content-type = "text/markdown"
51+
52+
[project.urls]
53+
Homepage = "http://labscriptsuite.org/"
54+
Documentation = "https://docs.labscriptsuite.org/"
55+
Repository = "https://github.com/labscript-suite/labscript-suite/"
56+
Downloads = "https://github.com/labscript-suite/labscript-suite/releases/"
57+
Tracker = "https://github.com/labscript-suite/labscript-suite/issues/"
58+
59+
[project.optional-dependencies]
60+
docs = [
61+
"Sphinx==7.2.6",
62+
"sphinx-rtd-theme==2.0.0",
63+
"myst_parser==2.0.0",
64+
]
65+
pyqt = ["PyQt5"]
66+
spincore = ["spinapi"]
67+
nidaqmx = ["PyDAQmx"]
68+
nivision = ["PyNIVision"]
69+
setuptools_scm = ["setuptools_scm>=8"]

setup.cfg

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

setup.py

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

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy