Skip to content

Commit 6d46061

Browse files
authored
Merge pull request #1458 from lixiname/main
build: migrate from setup.py to pyproject.toml
2 parents 2456a4d + f82d077 commit 6d46061

File tree

9 files changed

+81
-3180
lines changed

9 files changed

+81
-3180
lines changed

.github/workflows/release.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585
echo "REGISTRY=$REGISTRY" >> $GITHUB_ENV
8686
echo "Publishing to $REGISTRY"
8787
88-
# versioneer requires the full git history for non-tags
88+
# git requires the full git history for non-tags
8989
- uses: actions/checkout@v5
9090
with:
9191
fetch-depth: 0
@@ -111,7 +111,8 @@ jobs:
111111
# also push jupyter/repo2docker:1.2.3-3.abcd1234 (replace + with -)
112112
- name: Get list of repo2docker docker tags
113113
run: |
114-
VERSION=$(python3 -c 'import versioneer; print(versioneer.get_version().replace("+", "-"))')
114+
pip install setuptools-scm
115+
VERSION=$(python3 -m setuptools_scm | sed s@+@-@g)
115116
TAGS="${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:$VERSION"
116117
if [ "${{ github.ref }}" == "refs/heads/main" ]; then
117118
TAGS="$TAGS,${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:main"

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,3 +191,6 @@ cython_debug/
191191
# and can be added to the global gitignore or merged into this file. For a more nuclear
192192
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
193193
#.idea/
194+
195+
# generated by setuptools_scm
196+
repo2docker/_version.py

MANIFEST.in

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

pyproject.toml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
[build-system]
2+
requires = ["setuptools>=61.0", "wheel", "setuptools-scm"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "jupyter-repo2docker"
7+
dynamic = ["version"]
8+
description = "repo2docker: Turn code repositories into Jupyter enabled Docker Images"
9+
readme = "README.md"
10+
license = "BSD-3-Clause"
11+
authors = [
12+
{name = "Project Jupyter Contributors", email = "[email protected]"}
13+
]
14+
maintainers = [
15+
{name = "Project Jupyter Contributors", email = "[email protected]"}
16+
]
17+
keywords = ["reproducible", "science", "environments", "docker"]
18+
classifiers = [
19+
"Development Status :: 4 - Beta",
20+
"Environment :: Console",
21+
"Intended Audience :: Developers",
22+
"Intended Audience :: System Administrators",
23+
"Intended Audience :: Science/Research",
24+
"Programming Language :: Python",
25+
"Programming Language :: Python :: 3",
26+
"Topic :: Scientific/Engineering",
27+
"Topic :: Software Development",
28+
"Topic :: System :: Systems Administration",
29+
]
30+
requires-python = ">=3.9"
31+
dependencies = [
32+
"chardet",
33+
"docker!=5.0.0",
34+
"entrypoints",
35+
"escapism",
36+
"iso8601",
37+
"jinja2",
38+
"python-json-logger",
39+
"requests",
40+
"ruamel.yaml>=0.15",
41+
"semver",
42+
"toml",
43+
"traitlets",
44+
]
45+
46+
[project.urls]
47+
Homepage = "https://repo2docker.readthedocs.io"
48+
Documentation = "https://repo2docker.readthedocs.io"
49+
Funding = "https://jupyter.org/about#donate"
50+
Source = "https://github.com/jupyterhub/repo2docker"
51+
Tracker = "https://github.com/jupyterhub/repo2docker/issues"
52+
53+
[project.scripts]
54+
jupyter-repo2docker = "repo2docker.__main__:main"
55+
repo2docker = "repo2docker.__main__:main"
56+
57+
[project.entry-points."repo2docker.engines"]
58+
docker = "repo2docker.docker:DockerEngine"
59+
60+
[tool.setuptools]
61+
include-package-data = true
62+
63+
[tool.setuptools.packages.find]
64+
where = [""]
65+
include = ["repo2docker"]
66+
67+
68+
[tool.setuptools_scm]
69+
write_to = "repo2docker/_version.py"

repo2docker/__init__.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
from ._version import get_versions
1+
try:
2+
from ._version import __version__
3+
except ImportError:
4+
__version__ = "0.0.0+unknown"
25

3-
__version__ = get_versions()["version"]
4-
del get_versions
5-
6-
from . import _version
76
from .app import Repo2Docker
87

9-
__version__ = _version.get_versions()["version"]
8+
# You can add this if you want an __all__ variable to control imports
9+
__all__ = ["__version__", "Repo2Docker"]

0 commit comments

Comments
 (0)