Skip to content

Commit 0a978ad

Browse files
Doc updates.
1 parent 7c6bd6c commit 0a978ad

File tree

5 files changed

+71
-51
lines changed

5 files changed

+71
-51
lines changed

README.md

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,24 @@
11
# python-oracledb
22

3-
Python-oracledb is the widely used, open-source [Python][python] extension
4-
module allowing Python programs to connect to [Oracle Database][oracledb]. The
5-
module conforms to the [Python Database API 2.0 specification][pep249] with a
6-
considerable number of additions and a couple of minor exclusions, see the
7-
[feature list][features]. It is maintained by Oracle.
8-
9-
Python-oracledb is used for executing SQL and PL/SQL; for working with data
10-
frames; for calling NoSQL-style document APIs; for receiving database
11-
notifications and messages; and for starting and stopping the database. It has
12-
features for fast data loading, high availability, and security. It is used by
13-
many Python frameworks, SQL generators, ORMs, and libraries.
14-
15-
Synchronous and [concurrent][concurrent] coding styles are supported. Database
16-
operations can optionally be [pipelined][pipelining].
3+
The python-oracledb driver is the widely used, open-source [Python][python]
4+
extension module allowing Python programs to connect directly to [Oracle
5+
Database][oracledb] with no extra libraries needed. The module is built with
6+
Cython for safety and speed. It is lightweight and high-performance. It is
7+
stable, well tested, and has comprehensive [documentation][documentation]. The
8+
module is maintained by Oracle.
9+
10+
The module conforms to the [Python Database API 2.0 specification][pep249] with
11+
a considerable number of additions and a couple of minor exclusions, see the
12+
[feature list][features]. It is used by many Python frameworks, SQL generators,
13+
ORMs, and libraries.
14+
15+
Python-oracledb has a rich feature set which is easy to use. It gives you
16+
control over SQL and PL/SQL statement execution; for working with data frames;
17+
for fast data ingestion; for calling NoSQL-style document APIs; for message
18+
queueing; for receiving database notifications; and for starting and stopping
19+
the database. It also has high availability and security features. Synchronous
20+
and [concurrent][concurrent] coding styles are supported. Database operations
21+
can optionally be [pipelined][pipelining].
1722

1823
Python-oracledb is the successor to the now obsolete cx_Oracle driver.
1924

@@ -38,10 +43,10 @@ A basic example:
3843
import oracledb
3944
import getpass
4045
41-
un = "scott"
42-
cs = "localhost/orclpdb"
43-
# cs = "localhost/freepdb1" # for Oracle Database Free users
44-
# cs = "localhost/orclpdb1" # some databases may have this service
46+
un = "scott" # Sample database username
47+
cs = "localhost/orclpdb" # Sample database connection string
48+
# cs = "localhost/freepdb1" # For Oracle Database Free users
49+
# cs = "localhost/orclpdb1" # Some databases may have this service
4550
pw = getpass.getpass(f"Enter password for {un}@{cs}: ")
4651
4752
with oracledb.connect(user=un, password=pw, dsn=cs) as connection:
@@ -79,7 +84,7 @@ with oracledb.connect(user=un, password=pw, dsn=cs) as connection:
7984
**Thick mode**: Oracle Database 9.2 (or later) is required, depending on the
8085
Oracle Client library version. Oracle Database's standard client-server
8186
version interoperability allows connection to both older and newer
82-
databases. For example when python-oracledb uses Oracle Client 19c libraries,
87+
databases. For example when python-oracledb uses Oracle Client 19 libraries,
8388
then it can connect to Oracle Database 11.2 or later.
8489

8590
## Documentation

doc/src/index.rst

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ Welcome to python-oracledb's documentation
22
==========================================
33

44
The python-oracledb driver is an open source Python module that enables access
5-
to Oracle Database. Python-oracledb is the renamed, major version successor to
6-
cx_Oracle 8.3. The cx_Oracle driver is obsolete and should not be used for new
7-
development.
5+
to Oracle Database with no extra libraries needed. The module is built with
6+
Cython for safety and speed. It is lightweight and high-performance. It is
7+
stable, well tested, and has comprehensive documentation. The module is
8+
maintained by Oracle.
89

910
You can use assistive technology products, such as screen readers, while you
1011
work with the python-oracledb documentation. You can also use the keyboard

doc/src/release_notes.rst

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,18 @@ Common Changes
5151
- Added parameter ``requested_schema`` to :meth:`Connection.fetch_df_all()`
5252
and :meth:`Connection.fetch_df_batches()` to support type mapping when
5353
querying.
54-
- The large variants for strings and binary values that use 64-bit offsets
55-
are now used by default in order to avoid the limits imposed by using
56-
32-bit offsets. Use ``requested_schema`` if the smaller offset size is
57-
desired
54+
- The Apache Arrow data type "large" variants that have 64-bit offsets are
55+
now used by default for strings and binary values in order to avoid the
56+
limits imposed by using 32-bit offsets. Use ``requested_schema`` if the
57+
smaller offset size is desired
5858
(`issue 536 <https://github.com/oracle/python-oracledb/issues/536>`__).
5959
- Added support for all of the signed and unsigned fixed width integer
6060
types when ingesting data frames supporting the Arrow PyCapsule
6161
interface. Previously only ``int64`` was supported.
6262
- Added support for types ``date32`` and ``date64`` when ingesting data
6363
frames supporting the Arrow PyCapsule interface as requested
6464
(`issue 535 <https://github.com/oracle/python-oracledb/issues/535>`__).
65-
- Data frames with multiple chunks are now supported.
65+
- Ingesting data frames with multiple chunks is now supported.
6666
- Error ``DPY-8002: Apach Arrow C Data structure overflow detected. A
6767
larger structure is needed.`` is now raised when an overflow is detected
6868
(`issue 536 <https://github.com/oracle/python-oracledb/issues/536>`__).
@@ -79,13 +79,14 @@ Common Changes
7979
specified then the values of
8080
:attr:`oracledb.defaults.fetch_lobs <Defaults.fetch_lobs>` and
8181
:attr:`oracledb.defaults.fetch_decimals <Defaults.fetch_decimals>` are now
82-
stored with the operation and used during pipeline execution.
83-
#) Added optional dependencies [oci_config], [azure_config], [oci_auth] and
84-
[azure_auth] to simplify installation of required packages for
85-
:ref:`Centralized Configuration Provider <configprovidermodules>`
86-
support and :ref:`Cloud Native Authentication <cloudnativemodules>`
87-
support
88-
(`issue 512 <https://github.com/oracle/python-oracledb/issues/512>`__).
82+
stored with the operation and used during pipeline execution
83+
(`issue 19 <https://github.com/oracle/python-oracledb/issues/19>`__).
84+
#) Added optional dependencies `[oci_config]`, `[azure_config]`,
85+
`[oci_auth]`, and `[azure_auth]` to simplify installation of required
86+
packages for :ref:`Centralized Configuration Provider
87+
<configprovidermodules>` support and :ref:`Cloud Native Authentication
88+
<cloudnativemodules>` support
89+
(`issue 512 <https://github.com/oracle/python-oracledb/issues/512>`__).
8990
#) The x86_64 macOS and 32-bit Windows platforms are :ref:`deprecated
9091
<deprecations>`. They will be desupported in a future release before, or
9192
when, the `cryptography <https://pypi.org/project/cryptography/>`__ package
@@ -108,8 +109,8 @@ Common Changes
108109
#) API documentation is now generated from the source code.
109110
#) The test suite now uses `pytest <https://docs.pytest.org/>`__.
110111
#) Internal change: the value of ``__module__`` for all classes is now left
111-
untouched to avoid issues with ``inspect.getsource()`` but the
112-
``__repr__()`` now consistently shows the module as ``oracledb``.
112+
untouched to avoid issues with ``inspect.getsource()`` but ``__repr__()``
113+
now consistently shows the module as ``oracledb``.
113114
#) Internal change: `typing_extensions <https://pypi.org/project/
114115
typing-extensions/>`__ is now a dependency.
115116

doc/src/user_guide/dataframes.rst

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -360,18 +360,19 @@ fetched into the requested type INT16. Its name has also changed::
360360

361361
**Supported Explicit Type Mapping**
362362

363-
The following table shows the explicit type mappings that are supported. An
364-
error will occur if the database type or the data cannot be represented in the
365-
requested schema type.
363+
The following table shows the explicit type mappings that are supported. The
364+
Oracle Database types in each row can be converted to any of the Apache Arrow
365+
types in the same row. An error will occur if the database type or the data
366+
cannot be represented in the requested schema type.
366367

367368
.. list-table-with-summary::
368369
:header-rows: 1
369370
:class: wy-table-responsive
370371
:widths: 1 1
371372
:align: left
372-
:summary: The first column is the Oracle Database data type. The second column shows supported Apache Arrow data types.
373+
:summary: The first column is the Oracle Database data types. The second column shows supported Apache Arrow data types.
373374

374-
* - Oracle Database Type
375+
* - Oracle Database Types
375376
- Apache Arrow Data Types
376377
* - :attr:`DB_TYPE_NUMBER`
377378
- DECIMAL128(p, s)
@@ -381,7 +382,7 @@ requested schema type.
381382
INT16
382383
INT32
383384
INT64
384-
UINT8,
385+
UINT8
385386
UINT16
386387
UINT32
387388
UINT64

doc/src/user_guide/introduction.rst

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,24 @@
66
Introduction to the Python Driver for Oracle Database
77
*****************************************************
88

9-
The python-oracledb driver is a Python module that enables access to Oracle
10-
Database. It conforms to the `Python Database API v2.0 Specification
9+
The python-oracledb driver is an :ref:`open source <license>` Python module
10+
that enables access to Oracle Database with no extra libraries needed. The
11+
module is built with Cython for safety and speed. It is lightweight and
12+
high-performance. It is stable, well tested, and has comprehensive
13+
documentation. The module is maintained by Oracle.
14+
15+
The module conforms to the `Python Database API v2.0 Specification
1116
<https://www.python.org/dev/peps/pep-0249/>`__ with a considerable number of
12-
additions and a couple of exclusions. Synchronous and :ref:`concurrent
13-
<asyncio>` coding styles are supported. It is distributed under an open-source
14-
:ref:`license <license>`.
17+
additions and a couple of minor exclusions. It is used by many Python
18+
frameworks, SQL generators, ORMs, and libraries.
19+
20+
Python-oracledb has a rich feature set which is easy to use. It gives you
21+
control over SQL and PL/SQL statement execution; for working with data frames;
22+
for fast data ingestion; for calling NoSQL-style document APIs; for message
23+
queueing; for receiving database notifications; and for starting and stopping
24+
the database. It also has high availability and security features. Synchronous
25+
and concurrent coding styles are supported. Database operations can optionally
26+
be pipelined.
1527

1628
The module is available from standard package repositories including `PyPI
1729
<https://pypi.org/project/oracledb/>`__, `conda-forge
@@ -24,12 +36,12 @@ This module is currently tested with Python 3.9, 3.10, 3.11, 3.12, 3.13, and
2436
3.14 against Oracle Database 23, 21, 19, 18, 12, and 11.2. Previous versions of
2537
python-oracledb supported older Python versions.
2638

27-
Changes in python-oracledb
28-
releases can be found in the :ref:`release notes <releasenotes>`.
39+
Changes in python-oracledb releases can be found in the :ref:`release notes
40+
<releasenotes>`.
2941

3042
The python-oracledb driver is the renamed, major version successor to cx_Oracle
31-
8.3. For upgrade information, see :ref:`upgrading83`. The cx_Oracle driver is
32-
obsolete and should not be used for new development.
43+
8.3. The cx_Oracle driver is obsolete and should not be used for new
44+
development. For upgrade information, see :ref:`upgrading83`.
3345

3446
Getting Started
3547
===============

0 commit comments

Comments
 (0)