diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 677f477d01..c024a21e1b 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -37,6 +37,7 @@ jobs: - "3.9" - "3.10" - "3.11" + - "3.12" env: cache_cur_date: unset diff --git a/conda-envs/mlos-3.10.yml b/conda-envs/mlos-3.10.yml index b76d48e5b5..ce55fde25c 100644 --- a/conda-envs/mlos-3.10.yml +++ b/conda-envs/mlos-3.10.yml @@ -1,7 +1,7 @@ name: mlos-3.10 channels: - - defaults - conda-forge + - defaults dependencies: # Basic dev environment packages. # All other dependencies for the mlos modules come from pip. @@ -15,7 +15,7 @@ dependencies: - jupyter - ipykernel - nb_conda_kernels - - matplotlib + - matplotlib-base - seaborn - pandas - pyarrow diff --git a/conda-envs/mlos-3.11.yml b/conda-envs/mlos-3.11.yml index 64ee6fd58a..40d28e3980 100644 --- a/conda-envs/mlos-3.11.yml +++ b/conda-envs/mlos-3.11.yml @@ -1,7 +1,7 @@ name: mlos-3.11 channels: - - defaults - conda-forge + - defaults dependencies: # Basic dev environment packages. # All other dependencies for the mlos modules come from pip. @@ -15,7 +15,7 @@ dependencies: - jupyter - ipykernel - nb_conda_kernels - - matplotlib + - matplotlib-base - seaborn - pandas - pyarrow diff --git a/conda-envs/mlos-3.12.yml b/conda-envs/mlos-3.12.yml new file mode 100644 index 0000000000..ef76140c04 --- /dev/null +++ b/conda-envs/mlos-3.12.yml @@ -0,0 +1,48 @@ +name: mlos-3.12 +channels: + # Use conda-forge to allow other packages to install with python 3.12. + # See Also: https://github.com/microsoft/MLOS/issues/832 + - conda-forge + - defaults +dependencies: + # Basic dev environment packages. + # All other dependencies for the mlos modules come from pip. + - pip + - pylint + - black + - pycodestyle + - pydocstyle + - flake8 + - build + - jupyter + - ipykernel + - nb_conda_kernels + - matplotlib-base + - seaborn + - pandas + - pyarrow + - swig + - libpq + - python=3.12 + # See comments in mlos.yml. + #- gcc_linux-64 + - pip: + - bump2version + - check-jsonschema + - isort + - docformatter + - licenseheaders + - mypy + - pandas-stubs + - types-beautifulsoup4 + - types-colorama + - types-jsonschema + - types-pygments + - types-requests + - types-setuptools + # Workaround a pylance issue in vscode that prevents it finding the latest + # method of pip installing editable modules. + # https://github.com/microsoft/pylance-release/issues/3473 + - "--config-settings editable_mode=compat --editable ../mlos_core[full-tests]" + - "--config-settings editable_mode=compat --editable ../mlos_bench[full-tests]" + - "--config-settings editable_mode=compat --editable ../mlos_viz[full-tests]" diff --git a/conda-envs/mlos-3.8.yml b/conda-envs/mlos-3.8.yml index b1e14c7402..379cebe7b3 100644 --- a/conda-envs/mlos-3.8.yml +++ b/conda-envs/mlos-3.8.yml @@ -1,7 +1,7 @@ name: mlos-3.8 channels: - - defaults - conda-forge + - defaults dependencies: # Basic dev environment packages. # All other dependencies for the mlos modules come from pip. @@ -15,7 +15,7 @@ dependencies: - jupyter - ipykernel - nb_conda_kernels - - matplotlib + - matplotlib-base - seaborn - pandas - pyarrow diff --git a/conda-envs/mlos-3.9.yml b/conda-envs/mlos-3.9.yml index edccdab405..b29d3e53f5 100644 --- a/conda-envs/mlos-3.9.yml +++ b/conda-envs/mlos-3.9.yml @@ -1,7 +1,7 @@ name: mlos-3.9 channels: - - defaults - conda-forge + - defaults dependencies: # Basic dev environment packages. # All other dependencies for the mlos modules come from pip. @@ -15,7 +15,7 @@ dependencies: - jupyter - ipykernel - nb_conda_kernels - - matplotlib + - matplotlib-base - seaborn - pandas - pyarrow diff --git a/conda-envs/mlos-windows.yml b/conda-envs/mlos-windows.yml index df9e85ef73..1a40a5738e 100644 --- a/conda-envs/mlos-windows.yml +++ b/conda-envs/mlos-windows.yml @@ -22,8 +22,7 @@ dependencies: - pyarrow - swig - libpq - # FIXME: https://github.com/microsoft/MLOS/issues/727 - - python<3.12 + - python # Install an SMAC requirement pre-compiled from conda-forge. # This also requires a more recent vs2015_runtime from conda-forge. - pyrfr>=0.9.0 diff --git a/conda-envs/mlos.yml b/conda-envs/mlos.yml index 5cd35fdbba..f242dc2226 100644 --- a/conda-envs/mlos.yml +++ b/conda-envs/mlos.yml @@ -1,7 +1,7 @@ name: mlos channels: - - defaults - conda-forge + - defaults dependencies: # Basic dev environment packages. # All other dependencies for the mlos modules come from pip. @@ -15,14 +15,13 @@ dependencies: - jupyter - ipykernel - nb_conda_kernels - - matplotlib + - matplotlib-base - seaborn - pandas - pyarrow - swig - libpq - # FIXME: https://github.com/microsoft/MLOS/issues/727 - - python<3.12 + - python - pip: - bump2version - check-jsonschema diff --git a/mlos_bench/pyproject.toml b/mlos_bench/pyproject.toml index 911433da2d..199af4c4c2 100644 --- a/mlos_bench/pyproject.toml +++ b/mlos_bench/pyproject.toml @@ -18,6 +18,11 @@ classifiers = [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] license = { "text" = "MIT" } requires-python = ">=3.8" diff --git a/mlos_core/pyproject.toml b/mlos_core/pyproject.toml index b55955133f..2f657b3842 100644 --- a/mlos_core/pyproject.toml +++ b/mlos_core/pyproject.toml @@ -16,6 +16,11 @@ classifiers = [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] license = { "text" = "MIT" } requires-python = ">=3.8" diff --git a/mlos_viz/pyproject.toml b/mlos_viz/pyproject.toml index b469e60ecc..a1bcc8d88a 100644 --- a/mlos_viz/pyproject.toml +++ b/mlos_viz/pyproject.toml @@ -19,6 +19,11 @@ classifiers = [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] license = { "text" = "MIT" } requires-python = ">=3.8"