Skip to content

Commit 911cbc3

Browse files
committedMar 25, 2025
Drop support for Python 3.8; make use of license declarations for PEP
639.
1 parent 627441e commit 911cbc3

File tree

9 files changed

+30
-29
lines changed

9 files changed

+30
-29
lines changed
 

‎README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ See [python-oracledb Installation][installation].
1818

1919
## Dependencies and Interoperability
2020

21-
- Python versions 3.8 through 3.13.
21+
- Python versions 3.9 through 3.13.
2222

2323
Pre-built packages are available on [PyPI][pypi] and other repositories.
2424

‎doc/src/release_notes.rst

+3-2
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,9 @@ Thick Mode Changes
5252
Common Changes
5353
++++++++++++++
5454

55-
#) Improvements to data frame fetching with :meth:`Connection.fetch_df_all()`
56-
and :meth:`Connection.fetch_df_batches()`:
55+
#) Dropped support for Python 3.8.
56+
#) Improvements to data frame fetching with :meth:`Connection.fetch_df_all()`
57+
and :meth:`Connection.fetch_df_batches()`:
5758

5859
- Added support for CLOB, BLOB and RAW data types
5960
- Fixed bug when NUMBER data is fetched that does not have a precision or

‎doc/src/user_guide/installation.rst

+6-4
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ Python-oracledb is typically installed from Python's package repository
3636
1. Install `Python 3 <https://www.python.org/downloads>`__ if it is not already
3737
available.
3838

39-
Use any version from Python 3.8 through 3.13.
39+
Use any version from Python 3.9 through 3.13.
40+
41+
Previous versions of python-oracledb supported older Python versions.
4042

4143
2. Install python-oracledb, for example:
4244

@@ -154,7 +156,7 @@ Installation Requirements
154156

155157
To use python-oracledb, you need:
156158

157-
- Python 3.8, 3.9, 3.10, 3.11, 3.12 or 3.13
159+
- Python 3.9, 3.10, 3.11, 3.12 or 3.13
158160

159161
- The Python cryptography package. This package is automatically installed as a
160162
dependency of python-oracledb. It is strongly recommended that you keep the
@@ -705,8 +707,8 @@ Database 23ai.
705707
Installing python-oracledb on macOS
706708
===================================
707709

708-
Python-oracledb is available as a Universal binary for Python 3.8, or later, on
709-
Apple macOS Intel x86-64 and Apple macOS ARM64 (M1, M2, M3) architectures.
710+
Python-oracledb is available as a Universal binary for Python 3.9, or later, on
711+
Apple macOS Intel x86-64 and Apple macOS ARM64 (M1, M2, M3, M4) architectures.
710712

711713
Install python-oracledb
712714
-----------------------

‎doc/src/user_guide/introduction.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ The module is available from standard package repositories including `PyPI
1818
hosted at `github.com/oracle/python-oracledb
1919
<https://github.com/oracle/python-oracledb>`__.
2020

21-
This module is currently tested with Python 3.8, 3.9, 3.10, 3.11, 3.12 and 3.13
22-
against Oracle Database 23ai, 21c, 19c, 18c, 12c, and 11gR2. Older versions of
23-
python-oracledb may support older versions of Python.
21+
This module is currently tested with Python 3.9, 3.10, 3.11, 3.12, and 3.13
22+
against Oracle Database 23ai, 21c, 19c, 18c, 12c, and 11gR2. Previous versions
23+
of python-oracledb supported older Python versions.
2424

2525
Changes in python-oracledb
2626
releases can be found in the :ref:`release notes <releasenotes>`.

‎doc/src/user_guide/troubleshooting.rst

+8-7
Original file line numberDiff line numberDiff line change
@@ -115,27 +115,28 @@ Some warnings may appear while using python-oracledb in Thick or Thin mode.
115115

116116
.. _pythwarning:
117117

118-
Deprecated Python Versions 3.6 and 3.7 Warning
119-
----------------------------------------------
118+
Deprecated Python Version Warning
119+
---------------------------------
120120

121121
**Warning:** ``Python 3.6 is no longer supported by the Python core team.
122122
Therefore, support for it is deprecated in python-oracledb and will be removed
123123
in a future release.`` (A similar warning will also be displayed for Python
124-
version 3.7.)
124+
versions 3.7 and 3.8.)
125125

126-
**Cause:** ``import oracledb`` gives this warning because you are using Python
127-
version 3.6 or 3.7. These versions are no longer maintained by the Python core
128-
team.
126+
**Cause:** ``import oracledb`` gives this warning because you are using a
127+
version of Python that is longer maintained by the Python core team.
129128

130129
**Action:** You can either:
131130

132-
- Upgrade your Python version to 3.8 or later.
131+
- Upgrade your Python version to 3.9 or later.
133132

134133
- Or you can temporarily suppress the warning by importing the
135134
`warnings <https://docs.python.org/3/library/warnings.html>`__ module and
136135
adding a call like ``warnings.filterwarnings(action='ignore',
137136
module="oracledb")`` *before* importing ``oracledb``.
138137

138+
- Install an older version of python-oracledb
139+
139140
.. _runtimetroubleshooting:
140141

141142
Error Messages

‎pyproject.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
[build-system]
2-
requires = ["setuptools >= 40.6.0", "wheel", "cython"]
2+
requires = ["setuptools >= 77.0.0", "wheel", "cython"]
33
build-backend = "setuptools.build_meta"
44

55
[tool.black]
66
line-length = 79
7-
target-version = ["py37", "py38", "py39", "py310", "py311", "py312"]
7+
target-version = ["py39", "py310", "py311", "py312", "py313"]
88
required-version = 24
99

1010
[tool.ruff]
1111
line-length = 79
12-
target-version = "py38"
12+
target-version = "py39"
1313
exclude = ["templates"]

‎setup.cfg

+2-5
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,17 @@ project_urls =
1515
Release Notes = https://python-oracledb.readthedocs.io/en/latest/release_notes.html
1616
Issues = https://github.com/oracle/python-oracledb/issues
1717
Source = https://github.com/oracle/python-oracledb
18-
license = Apache and/or UPL
18+
license = UPL-1.0 OR Apache-2.0
1919
license_files =
2020
LICENSE.txt
2121
THIRD_PARTY_LICENSES.txt
2222
NOTICE.txt
2323
classifiers =
2424
Development Status :: 5 - Production/Stable
2525
Intended Audience :: Developers
26-
License :: OSI Approved :: Universal Permissive License (UPL)
27-
License :: OSI Approved :: Apache Software License
2826
Natural Language :: English
2927
Operating System :: OS Independent
3028
Programming Language :: Python :: 3 :: Only
31-
Programming Language :: Python :: 3.8
3229
Programming Language :: Python :: 3.9
3330
Programming Language :: Python :: 3.10
3431
Programming Language :: Python :: 3.11
@@ -40,7 +37,7 @@ classifiers =
4037

4138
[options]
4239
zip_safe = false
43-
python_requires = >=3.8
40+
python_requires = >=3.9
4441
setup_requires = cython>=3.0.10
4542
install_requires = cryptography>=3.2.1
4643
test_suite = tests

‎src/oracledb/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import sys
3333
import warnings
3434

35-
if sys.version_info[:2] < (3, 8):
35+
if sys.version_info[:2] < (3, 9):
3636
message = (
3737
f"Python {sys.version_info[0]}.{sys.version_info[1]} is no longer "
3838
"supported by the Python core team. Therefore, support for it is "

‎tox.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist = py{38,39,310,311,312,313}-{thin,thick}
2+
envlist = py{39,310,311,312,313}-{thin,thick}
33

44
[testenv]
55
commands = {envpython} -m unittest discover -v -s tests
@@ -18,10 +18,10 @@ passenv =
1818
DPI_DEBUG_LEVEL
1919
ORACLE_HOME
2020

21-
[testenv:py{38,39,310,311,312,313}-thick]
21+
[testenv:py{39,310,311,312,313}-thick]
2222
setenv =
2323
PYO_TEST_DRIVER_MODE=thick
2424

25-
[testenv:py{38,39,310,311,312,313}-thin]
25+
[testenv:py{39,310,311,312,313}-thin]
2626
setenv =
2727
PYO_TEST_DRIVER_MODE=thin

0 commit comments

Comments
 (0)
Please sign in to comment.