From 8172195df82f7f0345d8db03556796ed40ca62d7 Mon Sep 17 00:00:00 2001 From: Aron Atkins Date: Thu, 21 Mar 2024 10:44:46 -0400 Subject: [PATCH] remove support for Python 3.7; test 3.11, 3.12 --- .github/workflows/nightly.yaml | 2 +- CHANGELOG.md | 5 +++++ CONTRIBUTING.md | 2 +- Makefile | 4 ++-- README.md | 7 ++----- pyproject.toml | 2 +- 6 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 3dfd24d6..5d042084 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['3.8', '3.9', '3.10', '3.11'] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] include: - os: macos-latest python-version: '3.9' diff --git a/CHANGELOG.md b/CHANGELOG.md index a12fab48..1462d29d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,11 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Pending Next Release ### Changed + - When deploying Shiny for Python applications on servers using a version of Connect prior to 2024.01.0, there is an incompatibility with `starlette>=0.35.0`. When deploying to these servers, the starlette version is now automatically set to `starlette<0.35.0`. +### Removed + +- Python 3.7 support. + ## [1.22.0] - 2024-01-23 ### Added diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fa418b5b..1bf81d47 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,7 +5,7 @@ tooling](https://packaging.python.org/guides/tool-recommendations/). To get started, you'll want to: - clone the repo into a project directory -- setup a virtual 3.7+ python environment in the project directory +- setup a virtual 3.8+ python environment in the project directory - activate that virtual environment - install the dependencies - validate your build environment with some sample commands diff --git a/Makefile b/Makefile index 68135bc7..21bd0b8f 100644 --- a/Makefile +++ b/Makefile @@ -33,10 +33,10 @@ SOURCE_DATE_EPOCH := $(shell date +%s) export SOURCE_DATE_EPOCH .PHONY: all-tests -all-tests: all-images test-3.7 test-3.8 test-3.9 test-3.10 +all-tests: all-images test-3.8 test-3.9 test-3.10 test-3.11 test-3.12 .PHONY: all-images -all-images: image-3.7 image-3.8 image-3.9 image-3.10 +all-images: image-3.8 image-3.9 image-3.10 image-3.11 image-3.12 image-%: docker build -t rsconnect-python:$* --build-arg BASE_IMAGE=python:$*-slim . diff --git a/README.md b/README.md index 78774eec..7100a419 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,8 @@ content to Posit Connect, there are some caveats to understand when replicating environment on the Posit Connect server: Posit Connect insists on matching `` versions of Python. For example, -a server with only Python 3.8 installed will fail to match content deployed with -Python 3.7. Your administrator may also enable exact Python version matching which +a server with only Python 3.9 installed will fail to match content deployed with +Python 3.8. Your administrator may also enable exact Python version matching which will be stricter and require matching major, minor, and patch versions. For more information see the [Posit Connect Admin Guide chapter titled Python Version Matching](https://docs.posit.co/connect/admin/python/#python-version-matching). @@ -1001,9 +1001,6 @@ Posit Connect supports the programmatic bootstrapping of an administrator API ke for scripted provisioning tasks. This process is supported by the `rsconnect bootstrap` command, which uses a JSON Web Token to request an initial API key from a fresh Connect instance. -> **Warning** -> This feature **requires Python version 3.6 or higher**. - ```bash rsconnect bootstrap \ --server https://connect.example.org:3939 \ diff --git a/pyproject.toml b/pyproject.toml index 84684e16..66254db4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ description = "Python integration with Posit Connect" authors = [{ name = "Michael Marchetti", email = "mike@posit.co" }] license = { file = "LICENSE.md" } readme = { file = "README.md", content-type = "text/markdown" } -requires-python = ">=3.7" +requires-python = ">=3.8" dependencies = [ "six>=1.14.0",