这是indexloc提供的服务,不要输入任何密码
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .ci/common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ variables:
FF_USE_FASTZIP: "true"

.base:
image: registry.gitlab.com/tumult-labs/ops/ci/linux:python3.9
image: registry.gitlab.com/tumult-labs/ops/ci/linux:python3.10
before_script:
- java -version
- python --version
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ jobs:
# Note: mac runners are rather expensive (10x multiplier) so we don't use them here.
os: [ubuntu-latest]
dependencies: [oldest, newest]
python: ["3.9", "3.12"]
python: ["3.10", "3.12"]
runs-on: ${{ matrix.os }}
needs: Package
steps:
Expand Down
12 changes: 6 additions & 6 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ package:
extends: .base
stage: setup
needs: []
image: registry.gitlab.com/tumult-labs/ops/ci/linux:python3.9
image: registry.gitlab.com/tumult-labs/ops/ci/linux:python3.10
script:
- nox -s build
artifacts:
Expand Down Expand Up @@ -134,9 +134,9 @@ test_dep_matrix:
needs: ["package"]
parallel:
matrix:
- PYTHON_VERSION: ["3.9", "3.10", "3.11", "3.12"]
- PYTHON_VERSION: ["3.10", "3.11", "3.12"]
TEST_TYPE: ["oldest", "newest"]
- PYTHON_VERSION: ["3.9"]
- PYTHON_VERSION: ["3.10"]
TEST_TYPE: ["pyspark3.4"]
image: registry.gitlab.com/tumult-labs/ops/ci/linux:python${PYTHON_VERSION}
rules:
Expand Down Expand Up @@ -182,7 +182,7 @@ benchmark_dependency_matrix:
needs: ["package"]
parallel:
matrix:
- PYTHON_VERSION: ["3.9", "3.10", "3.11", "3.12"]
- PYTHON_VERSION: ["3.10", "3.11", "3.12"]
TEST_TYPE: ["oldest", "newest"]
image: registry.gitlab.com/tumult-labs/ops/ci/linux:python${PYTHON_VERSION}
script:
Expand All @@ -205,7 +205,7 @@ test_release_linux:
needs: ["package"]
parallel:
matrix: # 3.10, 3.11, and 3.12 run out of memory on a c6a.xlarge.
- PYTHON_VERSION: ["3.9"]
- PYTHON_VERSION: ["3.10"]
INSTANCE: aws-c6a.xlarge
- PYTHON_VERSION: ["3.10", "3.11", "3.12"]
INSTANCE: aws-m6a.2xlarge
Expand Down Expand Up @@ -236,7 +236,7 @@ audit:
needs: ["package"]
parallel:
matrix:
- PYTHON_VERSION: ["3.9", "3.10", "3.11", "3.12"]
- PYTHON_VERSION: ["3.10", "3.11", "3.12"]
image: registry.gitlab.com/tumult-labs/ops/ci/linux:python${PYTHON_VERSION}
script:
- nox -s "audit(python=\"${PYTHON_VERSION}\")"
Expand Down
2 changes: 1 addition & 1 deletion .python-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.9
3.10
1 change: 1 addition & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Unreleased

Changed
~~~~~~~
- Dropped support for Python 3.9, as it has reached end-of-life.
- Dropped support for pyspark <3.5.0 on Macs after discovering that these configurations frequently crash. Older versions of the library may also be affected.

.. _v0.20.2:
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Once you have agreement on the feature or bug, anyone can send us a Pull Request

We use [`uv`](https://docs.astral.sh/uv/) for dependency management during development. To set up your environment, install `uv` by following its [installation instructions](https://docs.astral.sh/uv/getting-started/installation/), then install the prerequisites listed in the [Tumult Analytics installation instructions](https://opendp.github.io/tumult-docs/analytics/latest/installation.html#prerequisites), and finally install our dev dependencies by running `uv sync` from the root of this repository.

To minimize compatibility issues, doing development on the oldest supported Python minor version (currently 3.9) is strongly recommended.
To minimize compatibility issues, doing development on the oldest supported Python minor version (currently 3.10) is strongly recommended.
If you are using `uv` to manage your Python installations, running `uv sync` without an existing virtual environment should automatically install and use an appropriate Python version.

### Basic usage
Expand Down
2 changes: 1 addition & 1 deletion doc/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Prerequisites
^^^^^^^^^^^^^

|project| is built in `Python <https://www.python.org/>`__, so a Python installation is required to use it.
It is compatible with Python 3.9 through 3.11, and has experimental support for Python 3.12.
It is compatible with Python 3.10 through 3.11, and has experimental support for Python 3.12.
Because Tumult Analytics uses PySpark for computation, it also `requires Java 8 or 11 <https://archive.apache.org/dist/spark/docs/3.1.1/#downloading>`__, or Java 17 if PySpark 3.4 or later is used.
Java 21 is not currently supported.

Expand Down
23 changes: 2 additions & 21 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,26 +36,6 @@ def is_mac():


DEPENDENCY_MATRIX = [
DependencyConfiguration(
id="3.9-oldest",
python="3.9",
packages={
"pyspark[sql]": "==3.3.1" if not is_mac() else "==3.5.0",
"sympy": "==1.8",
"pandas": "==1.4.0",
"tmlt.core": "==0.18.0",
},
),
DependencyConfiguration(
id="3.9-newest",
python="3.9",
packages={
"pyspark[sql]": "==3.5.6",
"sympy": "==1.9",
"pandas": "==1.5.3",
"tmlt.core": ">=0.18.0",
},
),
DependencyConfiguration(
id="3.10-oldest",
python="3.10",
Expand Down Expand Up @@ -118,7 +98,7 @@ def is_mac():
),
]

AUDIT_VERSIONS = ["3.9", "3.10", "3.11", "3.12"]
AUDIT_VERSIONS = ["3.10", "3.11", "3.12"]
AUDIT_SUPPRESSIONS = [
"PYSEC-2023-228",
# Affects: pip<23.3
Expand Down Expand Up @@ -151,6 +131,7 @@ def is_mac():
package=PACKAGE_NAME,
package_github=PACKAGE_GITHUB,
directory=CWD,
default_python_version="3.10",
smoketest_script=SMOKETEST_SCRIPT,
parallel_tests=False,
min_coverage=MIN_COVERAGE,
Expand Down
3 changes: 1 addition & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ classifiers = [
"Topic :: Security",

"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
Expand All @@ -27,7 +26,7 @@ keywords = [
"differential privacy",
]

requires-python = ">=3.9,<3.13"
requires-python = ">=3.10,<3.13"
dependencies = [
# When updating Core, PySpark, Pandas, or SymPy, remember to update the
# dependency matrix in the noxfile.
Expand Down
Loading