Skip to content

Commit

Permalink
Unpin dask-gateway-server's setuptools for Python 3.12+
Browse files Browse the repository at this point in the history
The point is to make it compatible with Python 3.12, which is considered
more important than having a functional editable install.
  • Loading branch information
consideRatio committed Nov 23, 2023
1 parent 31cb55f commit 2139fd0
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 15 deletions.
30 changes: 17 additions & 13 deletions dask-gateway-server/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,24 +1,28 @@
[build-system]
requires = [
# setuptools is pinned to 63 because 64+ has introduced the "editable_wheel"
# command to replace the "develop" command, and that doesn't respect
# package_data config. We rely on that to get our golang built proxy
# accessible currently!
# FIXME: dask-gateway-server's editable install is broken with setuptools
# 64+ that introduced the "editable_wheel" command to replace the
# "develop" command, and that doesn't respect package_data config. We
# rely on that to get our golang built proxy accessible currently!
#
# Message when using "setuptools>=64" during "pip install --editable .":
# At the same time, setuptools 63 and older doesn't support Python
# 3.12, so we end up with a broken editable install in Python 3.12
# until this is resolved.
#
# Editable install will be performed using a meta path finder.
# Message when using "setuptools>=64" during "pip install --editable .":
#
# Options like `package-data`, `include/exclude-package-data` or
# `packages.find.exclude/include` may have no effect.
# Editable install will be performed using a meta path finder.
#
# The problematic result is that we end up without a golang binary in
# dask_gateway_server/proxy/dask-gateway-proxy.
# Options like `package-data`, `include/exclude-package-data` or
# `packages.find.exclude/include` may have no effect.
#
# This is tracked in https://github.com/dask/dask-gateway/issues/740 and can
# be discussed further there.
# The problematic result is that we end up without a golang binary in
# dask_gateway_server/proxy/dask-gateway-proxy.
#
"setuptools==63.*",
# This is tracked in https://github.com/dask/dask-gateway/issues/740
#
'setuptools==63.* ; python_version < "3.12"',
'setuptools==69.* ; python_version >= "3.12"',
"wheel",
]
build-backend = "setuptools.build_meta"
4 changes: 3 additions & 1 deletion docs/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,6 @@ sphinx-autobuild
#
autodoc-traits
--editable="./dask-gateway"
--editable="./dask-gateway-server[all_backends]"
# FIXME: See dask-gateway-server's pyproject.toml for more info why this isn't
# installed with --editable.
./dask-gateway-server[all_backends]
4 changes: 3 additions & 1 deletion tests/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ pytest-timeout
# dask-gateway and dask-gateway-server and all their dependencies are assumed to
# be installed.
--editable="./dask-gateway"
--editable="./dask-gateway-server[all_backends]"
# FIXME: See dask-gateway-server's pyproject.toml for more info why this isn't
# installed with --editable.
./dask-gateway-server[all_backends]

# ipython and ipywidget is optional integrations allowing for fancy rendering of
# end user provided configuration options. Tests in test_options.py will be
Expand Down

0 comments on commit 2139fd0

Please sign in to comment.