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
127 changes: 0 additions & 127 deletions .ci/.jenkins_exclude.yml
Original file line number Diff line number Diff line change
@@ -1,41 +1,11 @@
exclude:
# Django
- PYTHON_VERSION: python-2.7
FRAMEWORK: django-2.0
- PYTHON_VERSION: python-2.7
FRAMEWORK: django-2.1
- PYTHON_VERSION: python-2.7
FRAMEWORK: django-2.2
- PYTHON_VERSION: python-2.7
FRAMEWORK: django-3.0
- PYTHON_VERSION: python-2.7
FRAMEWORK: django-master
- PYTHON_VERSION: python-3.5
FRAMEWORK: django-3.0
- PYTHON_VERSION: python-3.7
FRAMEWORK: django-1.11 # see https://code.djangoproject.com/ticket/28814
- PYTHON_VERSION: pypy-2
FRAMEWORK: django-2.0
- PYTHON_VERSION: pypy-2
FRAMEWORK: django-2.1
- PYTHON_VERSION: pypy-2
FRAMEWORK: django-2.2
- PYTHON_VERSION: pypy-2
FRAMEWORK: django-3.0
- PYTHON_VERSION: pypy-2
FRAMEWORK: django-master
# Flask
- PYTHON_VERSION: pypy-3
FRAMEWORK: flask-0.11 # see https://github.com/pallets/flask/commit/6e46d0cd, 0.11.2 was never released
# celery
- PYTHON_VERSION: python-2.7
FRAMEWORK: celery-3-django-2.0
- PYTHON_VERSION: python-2.7
FRAMEWORK: celery-4-django-2.0
- PYTHON_VERSION: pypy-2
FRAMEWORK: celery-3-django-2.0
- PYTHON_VERSION: pypy-2
FRAMEWORK: celery-4-django-2.0
- PYTHON_VERSION: python-3.7
FRAMEWORK: celery-3-django-1.11 # see https://code.djangoproject.com/ticket/28814
# celery 4 doesn't currently work on Python 3.7, see https://github.com/celery/celery/issues/4500
Expand All @@ -58,8 +28,6 @@ exclude:
- PYTHON_VERSION: python-3.9-rc
FRAMEWORK: celery-4-flask-1.0
# requests
- PYTHON_VERSION: python-3.5
FRAMEWORK: requests-1.2
- PYTHON_VERSION: python-3.6
FRAMEWORK: requests-1.2
- PYTHON_VERSION: python-3.7
Expand All @@ -71,8 +39,6 @@ exclude:
- PYTHON_VERSION: pypy-3
FRAMEWORK: requests-1.2
# pymongo
- PYTHON_VERSION: python-3.5
FRAMEWORK: pymongo-3.0
- PYTHON_VERSION: python-3.6
FRAMEWORK: pymongo-3.0
- PYTHON_VERSION: python-3.7
Expand Down Expand Up @@ -116,8 +82,6 @@ exclude:
- PYTHON_VERSION: pypy-3
FRAMEWORK: pymongo-3.0
# python-memcached
- PYTHON_VERSION: python-3.5
FRAMEWORK: memcached-1.51
- PYTHON_VERSION: python-3.6
FRAMEWORK: memcached-1.51
- PYTHON_VERSION: python-3.7
Expand All @@ -129,8 +93,6 @@ exclude:
- PYTHON_VERSION: pypy-3
FRAMEWORK: memcached-1.51
# pymssql
- PYTHON_VERSION: pypy-2 # currently fails with error on pypy2
FRAMEWORK: pymssql-newest
- PYTHON_VERSION: pypy-3 # currently fails with error on pypy3
FRAMEWORK: pymssql-newest
- PYTHON_VERSION: python-3.6 # currently fails with error on python 3.6 due to cython issues
Expand All @@ -147,8 +109,6 @@ exclude:
- PYTHON_VERSION: python-3.9-rc # see https://github.com/psycopg/psycopg2/issues/858
FRAMEWORK: psycopg2-2.7
# pyodbc
- PYTHON_VERSION: pypy-2
FRAMEWORK: pyodbc-newest
- PYTHON_VERSION: pypy-3
FRAMEWORK: pyodbc-newest
# boto3
Expand All @@ -171,17 +131,9 @@ exclude:
FRAMEWORK: boto3-1.6
- PYTHON_VERSION: python-3.9-rc
FRAMEWORK: boto3-newest
# opentracing
- PYTHON_VERSION: python-3.3
FRAMEWORK: opentracing-newest
# eventlet
- PYTHON_VERSION: pypy-2 #currently fails on pypy2
FRAMEWORK: eventlet-newest
# zerorpc - only run on py2
- PYTHON_VERSION: pypy-3
FRAMEWORK: zerorpc-0.4
- PYTHON_VERSION: python-3.5
FRAMEWORK: zerorpc-0.4
- PYTHON_VERSION: python-3.6
FRAMEWORK: zerorpc-0.4
- PYTHON_VERSION: python-3.7
Expand All @@ -190,119 +142,40 @@ exclude:
FRAMEWORK: zerorpc-0.4
- PYTHON_VERSION: python-3.9-rc
FRAMEWORK: zerorpc-0.4
# gevent
- PYTHON_VERSION: pypy-2 # see https://github.com/gevent/gevent/issues/1380, fix will be in gevent 1.5
FRAMEWORK: gevent-newest
# aiohttp client, only supported in Python 3.7+
- PYTHON_VERSION: python-2.7
FRAMEWORK: aiohttp-3.0
- PYTHON_VERSION: pypy-2
FRAMEWORK: aiohttp-3.0
- PYTHON_VERSION: pypy-3
FRAMEWORK: aiohttp-3.0
- PYTHON_VERSION: python-3.5
FRAMEWORK: aiohttp-3.0
- PYTHON_VERSION: python-3.6
FRAMEWORK: aiohttp-3.0
- PYTHON_VERSION: python-2.7
FRAMEWORK: aiohttp-4.0
- PYTHON_VERSION: pypy-2
FRAMEWORK: aiohttp-4.0
- PYTHON_VERSION: pypy-3
FRAMEWORK: aiohttp-4.0
- PYTHON_VERSION: python-3.5
FRAMEWORK: aiohttp-4.0
- PYTHON_VERSION: python-3.6
FRAMEWORK: aiohttp-4.0
- PYTHON_VERSION: python-2.7
FRAMEWORK: aiohttp-newest
- PYTHON_VERSION: pypy-2
FRAMEWORK: aiohttp-newest
- PYTHON_VERSION: pypy-3
FRAMEWORK: aiohttp-newest
- PYTHON_VERSION: python-3.5
FRAMEWORK: aiohttp-newest
- PYTHON_VERSION: python-3.6
FRAMEWORK: aiohttp-newest
# tornado, only supported in Python 3.7+
- PYTHON_VERSION: python-2.7
FRAMEWORK: tornado-newest
- PYTHON_VERSION: pypy-2
FRAMEWORK: tornado-newest
- PYTHON_VERSION: pypy-3
FRAMEWORK: tornado-newest
- PYTHON_VERSION: python-3.5
FRAMEWORK: tornado-newest
- PYTHON_VERSION: python-3.6
FRAMEWORK: tornado-newest
# Starlette, only supported in python 3.7+
- PYTHON_VERSION: python-2.7
FRAMEWORK: starlette-0.13
- PYTHON_VERSION: pypy-2
FRAMEWORK: starlette-0.13
- PYTHON_VERSION: pypy-3
FRAMEWORK: starlette-0.13
- PYTHON_VERSION: python-3.5
FRAMEWORK: starlette-0.13
- PYTHON_VERSION: python-3.6
FRAMEWORK: starlette-0.13
- PYTHON_VERSION: python-2.7
FRAMEWORK: starlette-newest
- PYTHON_VERSION: pypy-2
FRAMEWORK: starlette-newest
- PYTHON_VERSION: pypy-3
FRAMEWORK: starlette-newest
- PYTHON_VERSION: python-3.5
FRAMEWORK: starlette-newest
- PYTHON_VERSION: python-3.6
FRAMEWORK: starlette-newest
# aiopg
- PYTHON_VERSION: python-2.7
FRAMEWORK: aiopg-newest
- PYTHON_VERSION: pypy-2
FRAMEWORK: aiopg-newest
- PYTHON_VERSION: pypy-3
FRAMEWORK: aiopg-newest
- PYTHON_VERSION: python-3.5
FRAMEWORK: aiopg-newest
- PYTHON_VERSION: python-3.6
FRAMEWORK: aiopg-newest
# asyncpg
- PYTHON_VERSION: python-2.7
FRAMEWORK: asyncpg-newest
- PYTHON_VERSION: pypy-2
FRAMEWORK: asyncpg-newest
- PYTHON_VERSION: pypy-3
FRAMEWORK: asyncpg-newest
- PYTHON_VERSION: python-3.5
FRAMEWORK: asyncpg-newest
- PYTHON_VERSION: python-3.6
FRAMEWORK: asyncpg-newest
# psutil
- PYTHON_VERSION: pypy-2 #currently fails on pypy2 (https://github.com/giampaolo/psutil/issues/1659)
FRAMEWORK: psutil-newest
# httpx (python3.6+)
- PYTHON_VERSION: pypy-2
FRAMEWORK: httpx-0.12
- PYTHON_VERSION: pypy-2
FRAMEWORK: httpx-0.13
- PYTHON_VERSION: pypy-2
FRAMEWORK: httpx-0.14
- PYTHON_VERSION: pypy-2
FRAMEWORK: httpx-newest
- PYTHON_VERSION: python-2.7
FRAMEWORK: httpx-0.12
- PYTHON_VERSION: python-2.7
FRAMEWORK: httpx-0.13
- PYTHON_VERSION: python-2.7
FRAMEWORK: httpx-0.14
- PYTHON_VERSION: python-2.7
FRAMEWORK: httpx-newest
- PYTHON_VERSION: python-3.5
FRAMEWORK: httpx-0.12
- PYTHON_VERSION: python-3.5
FRAMEWORK: httpx-0.13
- PYTHON_VERSION: python-3.5
FRAMEWORK: httpx-0.14
- PYTHON_VERSION: python-3.5
FRAMEWORK: httpx-newest
3 changes: 0 additions & 3 deletions .ci/.jenkins_python.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
PYTHON_VERSION:
- python-2.7
- python-3.5
- python-3.6
- python-3.7
- python-3.8
- python-3.9-rc
- pypy-2
- pypy-3
6 changes: 6 additions & 0 deletions CHANGELOG.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@ endif::[]

// Unreleased changes go here
// When the next release happens, nest these changes under the "Python Agent version 5.x" heading
[float]
===== Breaking changes

* Python 2.7 and 3.5 support has been deprecated. The Python agent now requires Python 3.6+


[float]
===== Features

Expand Down
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ pipeline {
sh script: 'pip3 install --user cibuildwheel', label: "Installing cibuildwheel"
sh script: 'mkdir wheelhouse', label: "creating wheelhouse"
// skip pypy builds with CIBW_SKIP=pp*
sh script: 'CIBW_SKIP="pp*" cibuildwheel --platform linux --output-dir wheelhouse; ls -l wheelhouse'
sh script: 'CIBW_SKIP="pp* cp27* cp35*" cibuildwheel --platform linux --output-dir wheelhouse; ls -l wheelhouse'
}
stash allowEmpty: true, name: 'packages', includes: "${BASE_DIR}/wheelhouse/*.whl,${BASE_DIR}/dist/*.tar.gz", useDefaultExcludes: false
}
Expand Down
8 changes: 5 additions & 3 deletions elasticapm/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@
capture_span,
get_span_id,
get_trace_id,
get_transaction_id,
get_trace_parent_header,
get_transaction_id,
label,
set_context,
set_custom_context,
Expand All @@ -60,5 +60,7 @@
VERSION = "unknown"


if sys.version_info >= (3, 5):
from elasticapm.contrib.asyncio.traces import async_capture_span # noqa: F401
if sys.version_info <= (3, 5):
raise DeprecationWarning("The Elastic APM agent requires Python 3.6+")

from elasticapm.contrib.asyncio.traces import async_capture_span # noqa: F401
6 changes: 1 addition & 5 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ classifiers =
Operating System :: OS Independent
Topic :: Software Development
Programming Language :: Python
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Expand All @@ -34,14 +32,13 @@ project_urls =
Tracker = https://github.com/elastic/apm-agent-python/issues

[options]
python_requires = >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4
python_requires = >=3.6, <4
packages = find:
include_package_data = true
zip_safe = false
install_requires =
urllib3
certifi
cachetools;python_version=='2.7'
test_suite=tests
tests_require =
pytest==4.6.9
Expand Down Expand Up @@ -99,7 +96,6 @@ tests_require =
pytest-mock ; python_version >= '3.7'
httpx ; python_version >= '3.6'

cachetools==2.0.1 ; python_version == '2.7'

[options.extras_require]
flask =
Expand Down