Skip to content

Commit

Permalink
Update dask-gateway-server's setuptools for Python 3.12+ (#778)
Browse files Browse the repository at this point in the history
* Unpin dask-gateway-server's setuptools for Python 3.12+

The point is to make it compatible with Python 3.12, which is considered
more important than having a functional editable install.

* Update package metadata
  • Loading branch information
consideRatio authored Nov 24, 2023
1 parent 31cb55f commit 42af6cb
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 22 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"
5 changes: 1 addition & 4 deletions dask-gateway-server/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ def run(self):
maintainer_email="jcristharif@gmail.com",
license="BSD",
classifiers=[
"Development Status :: 4 - Beta",
"Development Status :: 5 - Production/Stable",
"License :: OSI Approved :: BSD License",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
Expand All @@ -236,9 +236,6 @@ def run(self):
"Topic :: System :: Distributed Computing",
"Topic :: System :: Systems Administration",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
],
keywords="dask hadoop kubernetes HPC distributed cluster",
description=(
Expand Down
3 changes: 0 additions & 3 deletions dask-gateway/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,6 @@
"Topic :: Scientific/Engineering",
"Topic :: System :: Distributed Computing",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
],
keywords="dask hadoop kubernetes HPC distributed cluster",
description="A client library for interacting with a dask-gateway server",
Expand Down
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]
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ target_version = [
"py39",
"py310",
"py311",
"py312",
]


Expand Down
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 42af6cb

Please sign in to comment.