Skip to content

Commit b42438a

Browse files
committed
feat: Add support to Python 3.14.0 ...
and drop support to Python 3.8. Signed-off-by: Paulo Vital <[email protected]>
1 parent 770d775 commit b42438a

File tree

7 files changed

+18
-55
lines changed

7 files changed

+18
-55
lines changed

.circleci/config.yml

Lines changed: 4 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ commands:
1919
CHANGED_FILES=$(git diff --name-only origin/main...HEAD)
2020
2121
# Check if any relevant files changed
22-
echo "$CHANGED_FILES" | grep -q -E "^(src/|tests/|tests_aws/|.circleci/)" || {
23-
echo "No changes in src/, tests/, tests_aws/, or .circleci directories. Skipping tests."
22+
echo "$CHANGED_FILES" | grep -q -E "^(src/|tests/|tests_autowrapt/|tests_aws/|.circleci/|pyproject.toml)" || {
23+
echo "No changes in src/, tests/, tests_autowrapt/, tests_aws/, .circleci directories or pyproject.toml file. Skipping tests."
2424
circleci step halt
2525
}
2626
@@ -161,38 +161,6 @@ jobs:
161161
- store-pytest-results
162162
- store-coverage-report
163163

164-
python314:
165-
docker:
166-
- image: ghcr.io/pvital/pvital-py3.14.0:latest
167-
- image: public.ecr.aws/docker/library/postgres:16.2-bookworm
168-
environment:
169-
POSTGRES_USER: root
170-
POSTGRES_PASSWORD: passw0rd
171-
POSTGRES_DB: instana_test_db
172-
- image: public.ecr.aws/docker/library/mariadb:11.3.2
173-
environment:
174-
MYSQL_ROOT_PASSWORD: passw0rd
175-
MYSQL_DATABASE: instana_test_db
176-
- image: public.ecr.aws/docker/library/redis:7.2.4-bookworm
177-
- image: public.ecr.aws/docker/library/rabbitmq:3.13.0
178-
- image: public.ecr.aws/docker/library/mongo:7.0.6
179-
- image: quay.io/thekevjames/gcloud-pubsub-emulator:latest
180-
environment:
181-
PUBSUB_EMULATOR_HOST: 0.0.0.0:8681
182-
PUBSUB_PROJECT1: test-project,test-topic
183-
working_directory: ~/repo
184-
steps:
185-
- checkout
186-
- check-if-tests-needed
187-
- run: |
188-
cp -a /root/base/venv ./venv
189-
. venv/bin/activate
190-
pip install 'wheel==0.45.1'
191-
pip install -r requirements.txt
192-
- run-tests-with-coverage-report
193-
- store-pytest-results
194-
- store-coverage-report
195-
196164
py39cassandra:
197165
docker:
198166
- image: public.ecr.aws/docker/library/python:3.9
@@ -324,21 +292,18 @@ workflows:
324292
- python3x:
325293
matrix:
326294
parameters:
327-
py-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
328-
- python314
295+
py-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
329296
- py39cassandra
330297
- py39gevent
331298
- py312aws
332299
- py313kafka
333300
- autowrapt:
334301
matrix:
335302
parameters:
336-
py-version: ["3.11", "3.12", "3.13"]
303+
py-version: ["3.11", "3.12", "3.13", "3.14"]
337304
- final_job:
338305
requires:
339306
- python3x
340-
# Uncomment the following when giving real support to 3.14
341-
# - python314
342307
- py39cassandra
343308
- py39gevent
344309
- py312aws

.tekton/github-pr-pipeline.yaml.part

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ spec:
88
type: string
99
- name: git-commit-sha
1010
type: string
11-
- name: py-38-imageDigest
12-
type: string
13-
default: public.ecr.aws/docker/library/python:3.8-bookworm
1411
- name: py-39-imageDigest
1512
type: string
1613
default: public.ecr.aws/docker/library/python:3.9-bookworm
@@ -28,7 +25,7 @@ spec:
2825
default: public.ecr.aws/docker/library/python:3.13-bookworm
2926
- name: py-314-imageDigest
3027
type: string
31-
default: public.ecr.aws/docker/library/python:3.14.0rc3
28+
default: public.ecr.aws/docker/library/python:3.14-bookworm
3229
workspaces:
3330
- name: python-tracer-ci-pipeline-pvc
3431
tasks:
@@ -51,7 +48,7 @@ spec:
5148
- unittest-gevent-starlette
5249
- unittest-aws
5350
- unittest-kafka
54-
- unittest-python-next
51+
# - unittest-python-next
5552
taskRef:
5653
kind: Task
5754
name: github-set-status

.tekton/pipeline.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ spec:
3434
- name: imageDigest
3535
value:
3636
- $(params.py-313-imageDigest)
37+
- $(params.py-314-imageDigest)
3738
taskRef:
3839
name: python-tracer-unittest-default-task
3940
workspaces:

.tekton/python-tracer-prepuller.yaml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,6 @@ spec:
4040
- name: prepuller-kafka
4141
image: public.ecr.aws/bitnami/kafka:3.9.0
4242
command: ["sh", "-c", "'true'"]
43-
- name: prepuller-38
44-
image: public.ecr.aws/docker/library/python:3.8-bookworm
45-
command: ["sh", "-c", "'true'"]
4643
- name: prepuller-39
4744
image: public.ecr.aws/docker/library/python:3.9-bookworm
4845
command: ["sh", "-c", "'true'"]
@@ -59,7 +56,7 @@ spec:
5956
image: public.ecr.aws/docker/library/python:3.13-bookworm
6057
command: ["sh", "-c", "'true'"]
6158
- name: prepuller-314
62-
image: public.ecr.aws/docker/library/python:3.14.0rc3
59+
image: public.ecr.aws/docker/library/python:3.14-bookworm
6360
command: ["sh", "-c", "'true'"]
6461

6562
# Use the pause container to ensure the Pod goes into a `Running` phase

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Development Container
2-
FROM public.ecr.aws/docker/library/python:3.12-slim-bookworm
2+
FROM public.ecr.aws/docker/library/python:3.14-slim
33

44
RUN apt-get -y -qq update && \
55
apt-get -y -qq upgrade && \

pyproject.toml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ dynamic = [
99
]
1010
description = "Python Distributed Tracing & Metrics Sensor for Instana."
1111
readme = "README.md"
12-
requires-python = ">=3.8"
12+
requires-python = ">=3.9"
1313
license = "MIT"
1414
keywords = [
1515
"performance",
@@ -31,12 +31,12 @@ classifiers = [
3131
"License :: OSI Approved :: MIT License",
3232
"Operating System :: OS Independent",
3333
"Programming Language :: Python",
34-
"Programming Language :: Python :: 3.8",
3534
"Programming Language :: Python :: 3.9",
3635
"Programming Language :: Python :: 3.10",
3736
"Programming Language :: Python :: 3.11",
3837
"Programming Language :: Python :: 3.12",
3938
"Programming Language :: Python :: 3.13",
39+
"Programming Language :: Python :: 3.14",
4040
"Programming Language :: Python :: Implementation :: CPython",
4141
"Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware",
4242
"Topic :: System :: Monitoring",
@@ -69,7 +69,7 @@ dev = [
6969
]
7070

7171
[project.urls]
72-
Documentation = "https://www.ibm.com/docs/en/instana-observability/current?topic=technologies-monitoring-python-instana-python-package"
72+
Documentation = "https://ibm.biz/monitoring-python"
7373
Issues = "https://github.com/instana/python-sensor/issues"
7474
Source = "https://github.com/instana/python-sensor"
7575

@@ -80,6 +80,8 @@ path = "src/instana/version.py"
8080
include = [
8181
"/src",
8282
"/tests",
83+
"/tests_autowrapt",
84+
"/tests_aws",
8385
]
8486

8587
[tool.hatch.build.targets.wheel]

src/instana/autoprofile/profiler.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
if TYPE_CHECKING:
1919
from types import FrameType
20+
2021
from instana.agent.host import HostAgent
2122

2223

@@ -52,11 +53,11 @@ def start(self, **kwargs: Dict[str, Any]) -> None:
5253
return
5354

5455
try:
55-
if not min_version(3, 8):
56-
raise Exception("Supported Python versions 3.8 or higher.")
56+
if not min_version(3, 9):
57+
raise EnvironmentError("Supported Python versions: 3.9 or higher.")
5758

5859
if platform.python_implementation() != "CPython":
59-
raise Exception("Supported Python interpreter is CPython.")
60+
raise EnvironmentError("Supported Python interpreter: CPython.")
6061

6162
if self.profiler_destroyed:
6263
logger.warning("Destroyed profiler cannot be started.")

0 commit comments

Comments
 (0)