Python support for IBM Db2 for LUW and IBM Db2 for z/OS
=========
## Python, DB-API components for IBM Db2 for LUW and IBM Db2 for z/OS
Provides Python interface for connecting to IBM Db2 for LUW and IBM Db2 for z/OS
<a name='components'></a>
## Components
1. The **ibm_db** contains:
* **ibm_db** driver: Python driver for IBM Db2 for LUW and IBM Db2 for z/OS databases. Uses the IBM Data Server Driver for ODBC and CLI APIs to connect to IBM Db2 for LUW.
* **ibm_db_dbi**: Python driver for IBM Db2 for LUW that complies to the DB-API 2.0 specification.
## <a name="api"></a> API Documentation
For more information on the APIs supported by ibm_db, please refer to below link:
https://github.com/ibmdb/python-ibmdb/wiki/APIs
<a name="prereq"></a>
## Pre-requisites
Install Python 3.7 <= 3.13. The minimum python version supported by driver is python 3.7 and the latest version supported is python 3.13.
### To install ibm_db on z/OS system
Please follow detailed installation instructions as documented here: [ibm_db Installation on z/OS](INSTALL.md#inszos)
- **SQL1598N Error** - It is expected in absence of valid db2connect license. Please click [here](#Licenserequirements) and read instructions.
### For MacOS M1/M2/ Apple Silicon chip system
**MacOS with Silicon Chip** - Supported from v3.2.4 onwards using v12.x clidriver.
**MacOS with Intel Chip** - Supported using v11.x clidriver only. By default v11.5.9 clidriver will get downloaded.
### Linux/Unix:
If you face problems due to missing python header files while installing the driver, you would need to install python developer package and retry install. e.g:
```
zypper install python-devel
or
yum install python-devel
```
### Windows:
* If a db2 client or server or dsdriver or clidriver is already installed in the system and user has already set installed path to `PATH` environment variable, then user need to set [environment variable](#envvar) `IBM_DB_HOME` manaully to the installed path before installing `ibm_db`.
* To verify it, just execute `db2level` command before installation of `ibm_db`. If it works, note down the install directory path and set system level environment variable `IBM_DB_HOME` as install path shown in output of `db2level` command.
* If user has installed clidriver in `F:\DSDRIVER` and if the "PATH" environment variable has `F:\DSDRIVER\bin`, then user should also set `IBM_DB_HOME` to `F:\DSDRIVER`.
### Docker Linux containers:
* You may need to install **gcc, python, pip, python-devel, libxml2 and pam** if not already installed. Refer to [Installation](#docker) for more details.
### Manual Installation
To install ibm_db from source code after clone from git, or to know the detialed installation steps for various platforms, please check [INSTALL document](https://github.com/ibmdb/python-ibmdb/blob/master/INSTALL.md#inslnx).
<a name="installation"></a>
## Installation
* Python **Wheels** are built for Linux, MacOS and Windows operating systems for multiple python versions (from python version 3.7 to 3.11). For other platforms, package gets installed from source distribution.
You can install the driver using pip as:
```
pip install ibm_db
```
This will install ibm_db and ibm_db_dbi module.
**Note:**
When we install ibm_db package on Linux, MacOS and Windows, `pip install ibm_db` command install
prebuilt Wheel package that includes clidriver too and ignores `IBM_DB_HOME` or `IBM_DB_INSTALLER_URL`
environment variables if set. Also, auto downloading of clidriver does not happen as clidriver is
already present inside wheel package.
To inforce auto downloading of clidriver or to make setting of environment variable `IBM_DB_HOME`
effective, install ibm_db from source distribution using below command:
```
pip install ibm_db --no-binary :all: --no-cache-dir
```
If you have to use your own URL for clidriver.tar.gz/.zip please set environment variable
```
IBM_DB_INSTALLER_URL=full_path_of_clidriver.tar.gz/.zip
```
When ibm_db get installed from wheel package, you can find clidriver under site_packages directory
of Python. You need to copy license file under `site_packages/clidriver/license` to be effective, if any.
**Note:** For windows after installing ibm_db, recieves the below error when we try to import ibm_db :
```>python
Python 3.11.4 (tags/v3.11.4:d2340ef, Jun 7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ibm_db
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed while importing ibm_db: The specified module could not be found.
>>>
```
We need to make sure to set dll path of dependent library of clidriver before importing the module as:
```
import os
os.add_dll_directory('path to clidriver installation until bin')
import ibm_db
e.g:
os.add_dll_directory('C:\\Program Files\\IBM\\CLIDRIVER\\bin')
import ibm_db
```
Refer https://bugs.python.org/issue36085 for more details.
* <a name="docker"></a>For installing ibm_db on docker Linux container, you can refer as below:
```
yum install python gcc pam wget python-devel.x86_64 libxml2
use, `yum install python3` to install python 3.x
if pip or pip3 does not exist, install it as:
wget https://bootstrap.pypa.io/get-pip.py
docker cp get-pip.py /root:<containerid>
cd root
python2 get-pip.py or python3 get-pip.py
Install python ibm_db as:
pip install ibm_db
or
pip3 install ibm_db
```
* Uninstalling the ibm_db driver :
```python
pip uninstall ibm_db
```
> The ODBC and CLI Driver(clidriver) is automatically downloaded at the time of installation and it is recommended to use this driver. However, if you wish to use an existing installation of clidriver or install the clidriver manually and use it, you can set IBM_DB_HOME environment variable as documented below:
* <a name="envvar"></a>Environment Variables:
`IBM_DB_HOME :`
Set this environment variable to avoid automatic downloading of the clidriver during installation. You could set this to the installation path of ODBC and CLI driver in your environment.<br>
e.g:
```
Windows :
set IBM_DB_HOME=C:/Users/userid/clidriver
Other platforms:
export IBM_DB_HOME=/home/userid/clidriver
```
**Note:** You must need to install ibm_db using command `pip install ibm_db --no-binary :all: --no-cache-dir`
on Linux, Windows and MacOS to make setting of `IBM_DB_HOME` effective.
You are required to set the library path to the clidriver under IBM_DB_HOME to pick this version of the ODBC and CLI Driver.<br>
e.g:
```
Windows:
set LIB=%IBM_DB_HOME%/lib;%LIB%
AIX:
export LIBPATH=$IBM_DB_HOME/lib:$LIBPATH
MAC:
export DYLD_LIBRARY_PATH=$IBM_DB_HOME/lib:$DYLD_LIBRARY_PATH
Other platforms:
export LD_LIBRARY_PATH=$IBM_DB_HOME/lib:$LD_LIBRARY_PATH
```
The ODBC and CLI driver is available for download at [Db2 LUW ODBC and CLI Driver](https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/).
Refer to ([License requirements](#Licenserequirements)) for more details on the CLI driver for manual download and installation.
* Installing using Anaconda distribution of python
```
conda install -c conda-forge ibm_db
```
* Supported Platform for Anaconda Installation
|Platform |Architecture |Supported |Version |
| :---: | :---: | :---: | :--:
|Linux | amd64 (x86_64)| Yes | Latest |
|Linux | ppc64le | Yes | Latest |
|Darwin | Mac OS x64 | Yes | Latest |
|Windows | x64 | Yes | Latest |
|Windows | x32 | Yes | Latest |
## <a name="quick example"></a> Quick Example
```python
$ python
Python 3.6.5 (default, May 10 2018, 00:54:55)
[GCC 4.3.4 [gcc-4_3-branch revision 152973]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ibm_db
>>> #For connecting to local database named pydev for user db2inst1 and password secret, use below example
>>> #ibm_db_conn = ibm_db.connect('pydev', 'db2inst1', 'secret')
>>> #For connecting to remote database named pydev for uid db2inst and pwd secret on host host.test.com, use below example
>>> # Connect using ibm_db
>>> conn_str='database=pydev;hostname=host.test.com;port=portno;protocol=tcpip;uid=db2inst1;pwd=secret'
>>> ibm_db_conn = ibm_db.connect(conn_str,'','')
>>>
>>> # Connect using ibm_db_dbi
>>> import ibm_db_dbi
>>> conn = ibm_db_dbi.Connection(ibm_db_conn)
>>> # create table using ibm_db
>>> create="create table mytable(id int, name varchar(50))"
>>> ibm_db.exec_immediate(ibm_db_conn, create)
<ibm_db.IBM_DBStatement object at 0x7fcc5f44f650>
>>>
>>> # Execute tables API
>>> conn.tables('DB2INST1', '%')
[{'TABLE_CAT': None, 'TABLE_SCHEM': 'DB2INST1', 'TABLE_NAME': 'MYTABLE', 'TABLE_TYPE': 'TABLE', 'REMARKS': None}]
>>>
>>> # Insert 3 rows into the table
>>> insert = "insert into mytable values(?,?)"
>>> params=((1,'Sanders'),(2,'Pernal'),(3,'OBrien'))
>>> stmt_insert = ibm_db.prepare(ibm_db_conn, insert)
>>> ibm_db.execute_many(stmt_insert,params)
3
>>> # Fetch data using ibm_db_dbi
>>> select="select id, name from mytable"
>>> cur = conn.cursor()
>>> cur.execute(select)
True
>>> row=cur.fetchall()
>>> print("{} \t {} \t {}".format(row[0],row[1],row[2]),end="\n")
(1, 'Sanders') (2, 'Pernal') (3, 'OBrien')
>>> row=cur.fetchall()
>>> print(row)
[]
>>>
>>> # Fetch data using ibm_db
>>> stmt_select = ibm_db.exec_immediate(ibm_db_conn, select)
>>> cols = ibm_db.fetch_tuple( stmt_select )
>>> print("%s, %s" % (cols[0], cols[1]))
1, Sanders
>>> cols = ibm_db.fetch_tuple( stmt_select )
>>> print("%s, %s" % (cols[0], cols[1]))
2, Pernal
>>> cols = ibm_db.fetch_tuple( stmt_select )
>>> print("%s, %s" % (cols[0], cols[1]))
3, OBrien
>>> cols = ibm_db.fetch_tuple( stmt_select )
>>> print(cols)
False
>>>
>>> # Close connections
>>> cur.close()
True
>>> # Dropping the table created
>>> drop = "drop table mytable"
>>> stmt_delete = ibm_db.exec_immediate(ibm_db_conn,drop)
>>> conn1.tables('DB2INST1','MY%')
[]
>>>
>>> ibm_db.close(ibm_db_conn)
True
```
## Logging
### Logging in ibm_db Module
You can enable logging in the ibm_db module to debug and trace activities.
Logging can be directed to the console or a specified file.
To enable logging:
```
import ibm_db
# Log to console
ibm_db.debug(True)
# Log to a file (e.g., log.txt)
ibm_db.debug("log.txt")
# stop logging
ibm_db.debug(False)
```
Calling ibm_db.debug(True) with boolean True argument will output logs to the console.
Calling ibm_db.debug("log.txt") will log messages to the specified file (log.txt in this example).
Calling ibm_db.debug(False) with boolean False argument will stop logging.
### Logging in ibm_db_dbi Module
You can enable logging in the ibm_db_dbi module to debug and trace activities.
Logging can be directed to the console or a specified file.
To enable logging:
```
import ibm_db_dbi as dbi
# Log to console
dbi.debug(True)
# Log to a file (e.g., log.txt)
dbi.debug("log.txt")
# stop logging
dbi.debug(False)
```
Calling dbi.debug(True) with boolean True argument will output logs to the console.
Calling dbi.debug("log.txt") will log messages to the specified file (log.txt in this example).
Calling dbi.debug(False) with boolean False argument will stop logging.
## Example of SSL Connection String
* **Secure Database Connection using SSL/TSL** - ibm_db supports secure connection to Database Server over SSL same as ODBC/CLI driver. If you have SSL Certificate from server or an CA signed certificate, just use it in connection string as below:
```
Using SSLServerCertificate keyword
connStr = "DATABASE=<DATABASE_NAME>;HOSTNAME=<HOSTNAME>;PORT=<SSL_PORT>;UID=<USER_ID>;PWD=<PASSWORD>;" +
"SECURITY=SSL;SSLServerCertificate=<FULL_PATH_TO_SERVER_CERTIFICATE>;"
conn = ibm_db.connect(connStr,'','')
```
> Note the two extra keywords **Security** and **SSLServerCertificate** used in connection string. `SSLServerCertificate` should point to the SSL Certificate from server or an CA signed certificate. Also, `PORT` must be `SSL` port and not the TCPI/IP port. Make sure Db2 server is configured to accept connection on SSL port else `ibm_db` will throw SQL30081N error.
> Value of `SSLServerCertificate` keyword must be full path of a certificate file generated for client authentication.
It normally has `*.arm` or `*.cert` or `*.pem` extension. `ibm_db` do not support `*.jks` format file as it is not a
certificate file but a Java KeyStore file, extract certificate from it using keytool and then use the *.cert file.
> `ibm_db` uses IBM ODBC/CLI Driver for connectivity and it do not support a `*.jks` file as keystoredb as `keystore.jks` is meant for Java applications.
Note that `*.jks` file is a `Java Key Store` file and it is not an SSL Certificate file. You can extract SSL certificate from JKS file using below `keytool` command:
```
keytool -exportcert -alias your_certificate_alias -file client_cert.cert -keystore keystore.jks
```
Now, you can use the generated `client_cert.cert` as the value of `SSLServerCertificate` in connection string.
> Do not use keyworkds like `sslConnection=true` in connection string as it is a JDBC connection keyword and ibm_db
ignores it. Corresponding ibm_db connection keyword for `sslConnection` is `Security` hence, use `Security=SSL;` in
connection string instead.
> `ibm_db` supports only ODBC/CLI Driver keywords in connection string: https://www.ibm.com/docs/en/db2/11.5?topic=odbc-cliodbc-configuration-keywords
* To connect to dashDB in IBM Cloud, use below connection string:
```
connStr = "DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=passwd;Security=SSL";
```
> We just need to add **Security=SSL** in connection string to have a secure connection against Db2 server in IBM Cloud.
**Note:** You can also create a KeyStore DB using GSKit command line tool and use it in connection string along with other keywords as documented in [DB2 Infocenter](http://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.5.0/com.ibm.db2.luw.admin.sec.doc/doc/t0053518.html).
* If you have created a KeyStore DB using GSKit using password or you have got *.kdb file with *.sth file:
```
Using SSLClientKeyStoreDB and SSLClientKeyStoreDBPassword keyword
connStr = "DATABASE=<DATABASE_NAME>;HOSTNAME=<HOSTNAME>;PORT=<SSL_PORT>;UID=<USER_ID>;PWD=<PASSWORD>;" +
"SECURITY=SSL;SSLClientKeyStoreDB=<FULL_PATH_TO_KEY_STORE_DB>;SSLClientKeyStoreDBPassword=<KEYSTORE_PASSWD>;"
conn = ibm_db.connect(connStr,'','')
```
```
Using SSLClientKeyStoreDB and SSLClientKeyStash keyword
connStr = "DATABASE=<DATABASE_NAME>;HOSTNAME=<HOSTNAME>;PORT=<SSL_PORT>;UID=<USER_ID>;PWD=<PASSWORD>;" +
"SECURITY=SSL;SSLClientKeyStoreDB=<FULL_PATH_TO_KEY_STORE_DB>;" +
"SSLClientKeyStash=<FULL_PATH_TO_CLIENT_KEY_STASH>;"
conn = ibm_db.connect(connStr,'','')
```
> If you have downloaded `IBMCertTrustStore` from IBM site, ibm_db will not work with it; you need to
download `Secure Connection Certificates.zip` file that comes for IBM DB2 Command line tool(CLP).
`Secure Connection Certificates.zip` has *.kdb and *.sth files that should be used as the value of
`SSLClientKeystoreDB` and `SSLClientKeystash` in connection string.
* More examples can be found under ['ibm_db_tests'](https://github.com/ibmdb/python-ibmdb/tree/master/IBM_DB/ibm_db/ibm_db_tests) folder.
* [API Documentation](https://github.com/ibmdb/python-ibmdb/wiki/APIs) has examples for each API.
* **Jupyter Notebook** examples can be found here -> [Other Examples](https://github.com/IBM/db2-python/tree/master/Jupyter_Notebooks)
## <a name="Licenserequirements"></a>For z/OS and iSeries Connectivity and SQL1598N error
- Connection to `Db2 for z/OS` or `Db2 for i`(AS400) Server using `ibm_db` driver from distributed platforms (Linux, Unix, Windows and MacOS) is not free. It requires either client side or server side license.
- Connection to `Db2 for LUW` Server using `ibm_db` driver is free.
- `ibm_db` returns SQL1598N error in absence of a valid db2connect license. SQL1598N error is returned by the Db2 Server to client.
To suppress this error, Db2 server must be activated with db2connectactivate utility OR a client side db2connect license file must exist.
- Db2connect license can be applied on database server or client side. A **db2connect license of version 11.5** is required for ibm_db.
- For MacOS M1/M2/M3 Chip System (ARM64 processor), **db2connect license of version 12.1** is required.
- For activating server side license, you can purchase either `Db2 Connect Unlimited Edition for System z®` or `Db2 Connect Unlimited Edition for System i®` license from IBM.
- Ask your DBA to run db2connectactivate utility on Server to activate db2connect license.
- If database Server is enabled for db2connect, no need to apply client side db2connect license.
- If Db2 Server is not db2connectactivated to accept unlimited number of client connection, you must need to apply client side db2connect license.
- db2connectactivate utility and client side db2connect license both comes together from IBM in a single zip file.
- Client side db2connect license is a `db2con*.lic` file that must be copied under `clidriver\license` directory.
- If you have a `db2jcc_license_cisuz.jar` file, it will not work for ibm_db. `db2jcc_license_cisuz.jar` is a db2connect license file for Java Driver. For non-Java Driver, client side db2connect license comes as a file name `db2con*.lic`.
- If environment variable `IBM_DB_HOME` or `IBM_DB_INSTALLER_URL` is not set, `ibm_db` automatically downloads open source driver specific clidriver from https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli and save as `site_packages\clidriver`. Ignores any other installation.
- If `IBM_DB_HOME` or `IBM_DB_INSTALLER_URL` is set, you need to have same version of db2connect license as installed db2 client. Check db2 client version using `db2level` command to know version of required db2connect license. The license file should get copied under `$IBM_DB_HOME\license` directory.
- If you do not have db2connect license, contact [IBM Customer Support](https://www.ibm.com/mysupport/s/?language=en_US) to buy db2connect license. Find the `db2con*.lic` file in the db2connect license shared by IBM and copy it under `.../site_packages/clidriver/license` directory or `$IBM_DB_HOME\license` directory (if IBM_DB_HOME is set), to be effective.
- To know more about license and purchasing cost, please contact [IBM Customer Support](https://www.ibm.com/mysupport/s/?language=en_US).
- To know more about server based licensing viz db2connectactivate, follow below links:
* [Activating the license certificate file for Db2 Connect Unlimited Edition](https://www.ibm.com/docs/en/db2/11.5?topic=li-activating-license-certificate-file-db2-connect-unlimited-edition).
* [Unlimited licensing using db2connectactivate utility](https://www.ibm.com/docs/en/db2/11.1?topic=edition-db2connectactivate-server-license-activation-utility).
#### Troubleshooting SQL1598N Error:
If you have copied db2con*.lic file under clidriver/license directory, but still getting SQL1598N Error; try below options:
* `cd clidriver/bin` directory and run `./db2level` command. Make sure you have the db2connect license of same major and minor version as of clidriver.
* Make sure the user running python program has read permission for license file.
* Make sure the user running python program has read-write permission for `clidriver/license` and `clidriver/cfgcache` directories as license check utility need to create some cache files under `cfgcache` and `license` directories.
* Validate your license file and connectivity using below db2cli command:
```
db2cli validate -connstring "connection string as used in python program" -displaylic
OR
db2cli validate -database "dbname:hostname:port" -userid dbuser -passwd dbpasswd -connect -displaylic
```
If you intend to install the clidriver manually, Following are the details of the client driver versions that you can download from [CLIDRIVER](https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/) to be able to connect to databases on non-LUW servers. You would need the client side license file as per Version for corresponding installation.:
#### <a name="LicenseDetails"></a> CLIDriver and Client license versions for Specific Platform and Architecture
|Platform |Architecture |Cli Driver |Supported |Version |
| :---: | :---: | :---: | :---: | :--:
|AIX | ppc |aix32_odbc_cli.tar.gz | Yes | V11.5.9 |
| | others |aix64_odbc_cli.tar.gz | Yes | V11.5.9 |
|Darwin | x64 |macos64_odbc_cli.tar.gz | Yes | Till V11.5.9 |
| arm64 |macarm64_odbc_cli.tar.gz | Yes | From V12.1.0 |
|Linux | x64 |linuxx64_odbc_cli.tar.gz | Yes | V11.5.9 |
| | s390x |s390x64_odbc_cli.tar.gz | Yes | V11.5.9 |
| | s390 |s390_odbc_cli.tar.gz | Yes | V11.1 |
| | ppc64 (LE) |ppc64le_odbc_cli.tar.gz | Yes | V11.5.9 |
| | ppc64 |ppc64_odbc_cli.tar.gz | Yes | V10.5 |
| | ppc32 |ppc32_odbc_cli.tar.gz | Yes | V10.5 |
| | others |linuxia32_odbc_cli.tar.gz| Yes | V11.5.9 |
|Windows | x64 |ntx64_odbc_cli.zip | Yes | V11.5.9 |
| | x32 |nt32_odbc_cli.zip | Yes | V11.5.9 |
|Sun | i86pc |sunamd64_odbc_cli.tar.gz | Yes | V10.5 |
| | |sunamd32_odbc_cli.tar.gz | Yes | V10.5 |
| | sparc |sun64_odbc_cli.tar.gz | Yes | V11.1 |
| | sparc |sun32_odbc_cli.tar.gz | Yes | V11.1 |
You can refer to [ODBC and CLI Driver installation](http://www-01.ibm.com/support/docview.wss?uid=swg21418043) for details on how to install the driver manually.
<a name='downloads'></a>
## Downloads
Use following pypi web location for downloading source code and binaries
**ibm_db**: https://pypi.python.org/pypi/ibm_db .
You can also get the source code by cloning the ibm_db github repository as :
```
git clone git@github.com:ibmdb/python-ibmdb.git
```
<a name='support'></a>
## Support & feedback
**Your feedback is very much appreciated and expected through project ibm-db:**
* ibm-db issues reports: **https://github.com/ibmdb/python-ibmdb/issues**
* ibm_db discuss: **http://groups.google.com/group/ibm_db**
<a name='contributing-to-the-ibm_db-python-project'></a>
## Contributing to the ibm_db python project
See [CONTRIBUTING](https://github.com/ibmdb/python-ibmdb/blob/master/contributing/CONTRIBUTING.md)
```
The developer sign-off should include the reference to the DCO in remarks(example below):
DCO 1.1 Signed-off-by: Random J Developer <random@developer.org>
```
<a name='KnownIssues'></a>
## Some common issues
## 1. Installation Issues for missing python.h file
### Always use the latest pip
```python3 -m pip install --upgrade pip```
### Install the package python3-devel that delivers the python.h header file
```
For RHEL use
sudo yum install python3-devel
```
```
For Ubuntu use
sudo apt-get install python3-devel
```
* Once the above steps works fine, try re-installing ibm_db.
## 2. SQL30081N Error
If connection fails with SQL30081N error - means `ibm_db` installation is correct and there is some issue with connection string. Please check database connection info and use correct connection string. If you are using SSL connection, port must be SSL port and connection string must have `Security=SSL;` and `SSLServerCertificate=<full path of cert.arm file>;`.
## 3. Issues with MAC OS X
* If `import ibm_db` fails with `Symbol not found: ___cxa_throw_bad_array_new_length` error or `malloc` error: Please follow instructions as documented [here](INSTALL.md#symbolerror).
* If you run into errors for libdb2.dylib as below:
```python
>>> import ibm_db
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dlopen(/usr/local/lib/python3.5/site-packages/ibm_db.cpython-35m-darwin.so, 2): Library not loaded: libdb2.dylib
Referenced from: /usr/local/lib/python3.5/site-packages/ibm_db.cpython-35m-darwin.so
Reason: image not found
```
You would need to set DYLD_LIBRARY_PATH to point to lib folder as per the installation location of clidriver in your environment. Assuming the driver is installed at /usr/local/lib/python3.5/site-packages/clidriver, you can set the path as:
```
export DYLD_LIBRARY_PATH=/usr/local/lib/python3.5/site-packages/clidriver/lib:$DYLD_LIBRARY_PATH
```
If the issue is not resolved even after setting DYLD_LIBRARY_PATH, you could refer:
[MAC OS Hints and Tips](https://medium.com/@sudhanvalp/overcome-ibm-db-import-error-image-not-found-on-macos-578f07b70762)
### Resolving SQL1042C error
If you hit following error while attempting to connect to a database:
```python
>>> import ibm_db
>>> ibm_db.connect("my_connection_string", "", "")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
Exception: [IBM][CLI Driver] SQL1042C An unexpected system error occurred. SQLSTATE=58004 SQLCODE=-1042
```
Set DYLD_LIBRARY_PATH to point to icc folder as per the installation location of clidriver in your environment.
```
export DYLD_LIBRARY_PATH=/usr/local/lib/python3.5/site-packages/clidriver/lib/icc:$DYLD_LIBRARY_PATH
```
In case of similar issue in windows platform
```
set PATH=<clidriver_folder_path>\bin\amd64.VC12.CRT;%PATH%
```
## 4. ERROR: Failed building wheel for ibm_db
In case of the error seen while building wheel use the following flag along with ibm_db for installation
```
To install the package ibm_db it is necessary at first to install the build dependency package - wheel:
pip3 install wheel
Install ibm_db with the pip flag --no-build-isolation:
pip3 install ibm_db --no-build-isolation
```
## 5. For Issues on IBM iSeries System (AS400)
* If you have installed `ibm_db` on IBM i and need help, please open an issue [here](https://github.com/kadler/python-ibmdb/issues).
* If you have installed `ibm_db` on distributed platform and want to connect to AS400 server, you must have to use db2connect license. `ibm_db` do not work with `IBM i Access` driver.
<a name='testing'></a>
# Testing
Tests displaying Python ibm_db driver code examples are located in the ibm_db_tests
directory. A valid config.py will need to be created to configure your Db2
settings. A config.py.sample exists that can be copied and modified for your
environment.
* Set Environment Variables DB2_USER, DB2_PASSWD accordingly.
```
For example, by sourcing the following ENV variables:
For Linux
export DB2_USER=<Username>
export DB2_PASSWD=<Password>
For windows
set DB2_USER=<Username>
set DB2_PASSWD=<Password>
```
* OR
```
If not using environment variables, update user and password information in
config.json file.
```
The config.py should look like this:
```python
test_dir = 'ibm_db_tests' # Location of testsuite file (relative to current directory)
file_path = 'config.json'
with open(file_path, 'r') as file:
data = json.load(file)
database = data['database'] # Database to connect to
hostname = data['hostname'] # Hostname
port = data['port'] # Port Number
env_not_set = False
if 'DB2_USER' in os.environ:
user = os.getenv('DB2_USER') # User ID to connect with
else:
user = data['user']
env_not_set = True
if 'DB2_PASSWD' in os.environ:
password = os.getenv('DB2_PASSWD') # Password for given User ID
else:
password = data['password']
env_not_set = True
if env_not_set == True:
warnings.warn("Warning: Environment variable DB2_USER or DB2_PASSWD is not set.")
print("Please set it before running test file and avoid")
print("hardcoded password in config.json file." )
```
Point the database to mydatabase as created by the following command.
The tests that ibm_db driver uses depends on a UTF-8 database. This can be
created by running:
```
CREATE DATABASE mydatabase USING CODESET UTF-8 TERRITORY US
```
Some of the tests utilize XML functionality only available in version 9 or
later of Db2. While Db2 v8.x is fully supported, two of the tests
(test_195.py and test_52949.py) utilize XML functionality. These tests will
fail on version 8.x of Db2.
## Running the driver testsuite on Linux
In order to run the entire python driver testsuite on Linux, run this
command at the command prompt:
```
python ibmdb_tests.py
```
To run a single test, set the environment variable, **SINGLE_PYTHON_TEST**, to
the test filename you would like to run, followed by the previous command.
## Running the driver testsuite on Windows
In order to run the entire python driver testsuite on Windows, run this
command at the command prompt:
```
python ibmdb_tests.py
```
To run a single test, set the environment variable, **SINGLE_PYTHON_TEST**, to
the test filename you would like to run, followed by the previous command.
## Known Limitations for the Python driver
If trusted context is not set up, there will be two failures related to trusted context. When thick client has been used then additional three failures related to create, recreate DB.
## Known Limitations for the Python wrapper
1. The rowcount for select statements can not be generated.
2. Some warnings from the drivers are not caught by the wrapper.
As such these might go unnoticed.
Happy coding!
Raw data
{
"_id": null,
"home_page": "http://pypi.python.org/pypi/ibm_db/",
"name": "ibm-db",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "database DB-API interface IBM Data Servers Db2",
"author": "IBM Application Development Team",
"author_email": "earamma.kanasavi@ibm.com",
"download_url": "http://code.google.com/p/ibm-db/downloads/list",
"platform": "Linux32/64",
"description": "Python support for IBM Db2 for LUW and IBM Db2 for z/OS\n=========\n\n## Python, DB-API components for IBM Db2 for LUW and IBM Db2 for z/OS\n\nProvides Python interface for connecting to IBM Db2 for LUW and IBM Db2 for z/OS\n\n<a name='components'></a>\n## Components\n\n1. The **ibm_db** contains:\n * **ibm_db** driver: Python driver for IBM Db2 for LUW and IBM Db2 for z/OS databases. Uses the IBM Data Server Driver for ODBC and CLI APIs to connect to IBM Db2 for LUW.\n * **ibm_db_dbi**: Python driver for IBM Db2 for LUW that complies to the DB-API 2.0 specification.\n \n\n## <a name=\"api\"></a> API Documentation\nFor more information on the APIs supported by ibm_db, please refer to below link:\n\nhttps://github.com/ibmdb/python-ibmdb/wiki/APIs\n\n<a name=\"prereq\"></a>\n## Pre-requisites\nInstall Python 3.7 <= 3.13. The minimum python version supported by driver is python 3.7 and the latest version supported is python 3.13.\n\n### To install ibm_db on z/OS system\n\nPlease follow detailed installation instructions as documented here: [ibm_db Installation on z/OS](INSTALL.md#inszos)\n\n- **SQL1598N Error** - It is expected in absence of valid db2connect license. Please click [here](#Licenserequirements) and read instructions.\n\n### For MacOS M1/M2/ Apple Silicon chip system\n\n **MacOS with Silicon Chip** - Supported from v3.2.4 onwards using v12.x clidriver.\n **MacOS with Intel Chip** - Supported using v11.x clidriver only. By default v11.5.9 clidriver will get downloaded.\n\n### Linux/Unix:\n\nIf you face problems due to missing python header files while installing the driver, you would need to install python developer package and retry install. e.g:\n\n```\n zypper install python-devel\n or\n yum install python-devel\n```\n\n### Windows:\n\n* If a db2 client or server or dsdriver or clidriver is already installed in the system and user has already set installed path to `PATH` environment variable, then user need to set [environment variable](#envvar) `IBM_DB_HOME` manaully to the installed path before installing `ibm_db`.\n\n* To verify it, just execute `db2level` command before installation of `ibm_db`. If it works, note down the install directory path and set system level environment variable `IBM_DB_HOME` as install path shown in output of `db2level` command.\n\n* If user has installed clidriver in `F:\\DSDRIVER` and if the \"PATH\" environment variable has `F:\\DSDRIVER\\bin`, then user should also set `IBM_DB_HOME` to `F:\\DSDRIVER`.\n\n\n### Docker Linux containers:\n\n* You may need to install **gcc, python, pip, python-devel, libxml2 and pam** if not already installed. Refer to [Installation](#docker) for more details.\n\n### Manual Installation\n\nTo install ibm_db from source code after clone from git, or to know the detialed installation steps for various platforms, please check [INSTALL document](https://github.com/ibmdb/python-ibmdb/blob/master/INSTALL.md#inslnx).\n\n<a name=\"installation\"></a> \n## Installation\n\n* Python **Wheels** are built for Linux, MacOS and Windows operating systems for multiple python versions (from python version 3.7 to 3.11). For other platforms, package gets installed from source distribution.\n\nYou can install the driver using pip as:\n\n```\npip install ibm_db\n```\nThis will install ibm_db and ibm_db_dbi module.\n\n**Note:**\nWhen we install ibm_db package on Linux, MacOS and Windows, `pip install ibm_db` command install\nprebuilt Wheel package that includes clidriver too and ignores `IBM_DB_HOME` or `IBM_DB_INSTALLER_URL`\nenvironment variables if set. Also, auto downloading of clidriver does not happen as clidriver is\nalready present inside wheel package.\n\nTo inforce auto downloading of clidriver or to make setting of environment variable `IBM_DB_HOME`\neffective, install ibm_db from source distribution using below command:\n```\npip install ibm_db --no-binary :all: --no-cache-dir\n```\n\nIf you have to use your own URL for clidriver.tar.gz/.zip please set environment variable\n```\nIBM_DB_INSTALLER_URL=full_path_of_clidriver.tar.gz/.zip\n```\nWhen ibm_db get installed from wheel package, you can find clidriver under site_packages directory\nof Python. You need to copy license file under `site_packages/clidriver/license` to be effective, if any.\n\n**Note:** For windows after installing ibm_db, recieves the below error when we try to import ibm_db :\n```>python\nPython 3.11.4 (tags/v3.11.4:d2340ef, Jun 7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)] on win32\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> import ibm_db\nTraceback (most recent call last):\n File \"<stdin>\", line 1, in <module>\nImportError: DLL load failed while importing ibm_db: The specified module could not be found.\n>>>\n```\nWe need to make sure to set dll path of dependent library of clidriver before importing the module as:\n\n```\nimport os\nos.add_dll_directory('path to clidriver installation until bin')\nimport ibm_db\n\ne.g:\nos.add_dll_directory('C:\\\\Program Files\\\\IBM\\\\CLIDRIVER\\\\bin')\nimport ibm_db\n```\nRefer https://bugs.python.org/issue36085 for more details.\n\n* <a name=\"docker\"></a>For installing ibm_db on docker Linux container, you can refer as below:\n```\nyum install python gcc pam wget python-devel.x86_64 libxml2\nuse, `yum install python3` to install python 3.x\n\nif pip or pip3 does not exist, install it as:\nwget https://bootstrap.pypa.io/get-pip.py\ndocker cp get-pip.py /root:<containerid>\ncd root\npython2 get-pip.py or python3 get-pip.py\n\nInstall python ibm_db as:\npip install ibm_db\nor\npip3 install ibm_db\n\n```\n\n* Uninstalling the ibm_db driver :\n```python\npip uninstall ibm_db\n```\n\n> The ODBC and CLI Driver(clidriver) is automatically downloaded at the time of installation and it is recommended to use this driver. However, if you wish to use an existing installation of clidriver or install the clidriver manually and use it, you can set IBM_DB_HOME environment variable as documented below:\n\n* <a name=\"envvar\"></a>Environment Variables:\n `IBM_DB_HOME :`\n\n Set this environment variable to avoid automatic downloading of the clidriver during installation. You could set this to the installation path of ODBC and CLI driver in your environment.<br>\n e.g:\n ```\n Windows :\n set IBM_DB_HOME=C:/Users/userid/clidriver\n\n Other platforms:\n export IBM_DB_HOME=/home/userid/clidriver\n ```\n**Note:** You must need to install ibm_db using command `pip install ibm_db --no-binary :all: --no-cache-dir`\non Linux, Windows and MacOS to make setting of `IBM_DB_HOME` effective.\n \n You are required to set the library path to the clidriver under IBM_DB_HOME to pick this version of the ODBC and CLI Driver.<br>\n e.g:\n ```\n Windows:\n set LIB=%IBM_DB_HOME%/lib;%LIB%\n\n AIX:\n export LIBPATH=$IBM_DB_HOME/lib:$LIBPATH\n\n MAC:\n export DYLD_LIBRARY_PATH=$IBM_DB_HOME/lib:$DYLD_LIBRARY_PATH\n\n Other platforms:\n export LD_LIBRARY_PATH=$IBM_DB_HOME/lib:$LD_LIBRARY_PATH\n ```\n\n The ODBC and CLI driver is available for download at [Db2 LUW ODBC and CLI Driver](https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/).\nRefer to ([License requirements](#Licenserequirements)) for more details on the CLI driver for manual download and installation.\n\n* Installing using Anaconda distribution of python\n```\nconda install -c conda-forge ibm_db\n```\n\n* Supported Platform for Anaconda Installation\n\n|Platform |Architecture |Supported |Version |\n| :---: | :---: | :---: | :--:\n|Linux | amd64 (x86_64)| Yes | Latest |\n|Linux | ppc64le | Yes | Latest |\n|Darwin | Mac OS x64 | Yes | Latest |\n|Windows | x64 | Yes | Latest |\n|Windows | x32 | Yes | Latest |\n\n## <a name=\"quick example\"></a> Quick Example\n```python\n$ python\nPython 3.6.5 (default, May 10 2018, 00:54:55)\n[GCC 4.3.4 [gcc-4_3-branch revision 152973]] on linux\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> import ibm_db\n>>> #For connecting to local database named pydev for user db2inst1 and password secret, use below example\n>>> #ibm_db_conn = ibm_db.connect('pydev', 'db2inst1', 'secret')\n>>> #For connecting to remote database named pydev for uid db2inst and pwd secret on host host.test.com, use below example\n>>> # Connect using ibm_db\n>>> conn_str='database=pydev;hostname=host.test.com;port=portno;protocol=tcpip;uid=db2inst1;pwd=secret'\n>>> ibm_db_conn = ibm_db.connect(conn_str,'','')\n>>>\n>>> # Connect using ibm_db_dbi\n>>> import ibm_db_dbi\n>>> conn = ibm_db_dbi.Connection(ibm_db_conn)\n>>> # create table using ibm_db\n>>> create=\"create table mytable(id int, name varchar(50))\"\n>>> ibm_db.exec_immediate(ibm_db_conn, create)\n<ibm_db.IBM_DBStatement object at 0x7fcc5f44f650>\n>>>\n>>> # Execute tables API\n>>> conn.tables('DB2INST1', '%')\n[{'TABLE_CAT': None, 'TABLE_SCHEM': 'DB2INST1', 'TABLE_NAME': 'MYTABLE', 'TABLE_TYPE': 'TABLE', 'REMARKS': None}]\n>>>\n>>> # Insert 3 rows into the table\n>>> insert = \"insert into mytable values(?,?)\"\n>>> params=((1,'Sanders'),(2,'Pernal'),(3,'OBrien'))\n>>> stmt_insert = ibm_db.prepare(ibm_db_conn, insert)\n>>> ibm_db.execute_many(stmt_insert,params)\n3\n>>> # Fetch data using ibm_db_dbi\n>>> select=\"select id, name from mytable\"\n>>> cur = conn.cursor()\n>>> cur.execute(select)\nTrue\n>>> row=cur.fetchall()\n>>> print(\"{} \\t {} \\t {}\".format(row[0],row[1],row[2]),end=\"\\n\")\n(1, 'Sanders') (2, 'Pernal') (3, 'OBrien')\n>>> row=cur.fetchall()\n>>> print(row)\n[]\n>>>\n>>> # Fetch data using ibm_db\n>>> stmt_select = ibm_db.exec_immediate(ibm_db_conn, select)\n>>> cols = ibm_db.fetch_tuple( stmt_select )\n>>> print(\"%s, %s\" % (cols[0], cols[1]))\n1, Sanders\n>>> cols = ibm_db.fetch_tuple( stmt_select )\n>>> print(\"%s, %s\" % (cols[0], cols[1]))\n2, Pernal\n>>> cols = ibm_db.fetch_tuple( stmt_select )\n>>> print(\"%s, %s\" % (cols[0], cols[1]))\n3, OBrien\n>>> cols = ibm_db.fetch_tuple( stmt_select )\n>>> print(cols)\nFalse\n>>>\n>>> # Close connections\n>>> cur.close()\nTrue\n>>> # Dropping the table created\n>>> drop = \"drop table mytable\"\n>>> stmt_delete = ibm_db.exec_immediate(ibm_db_conn,drop)\n>>> conn1.tables('DB2INST1','MY%')\n[]\n>>>\n>>> ibm_db.close(ibm_db_conn)\nTrue\n```\n\n## Logging\n\n### Logging in ibm_db Module\nYou can enable logging in the ibm_db module to debug and trace activities.\nLogging can be directed to the console or a specified file.\n\nTo enable logging:\n```\nimport ibm_db\n\n# Log to console\nibm_db.debug(True)\n\n# Log to a file (e.g., log.txt)\nibm_db.debug(\"log.txt\")\n\n# stop logging\nibm_db.debug(False)\n```\nCalling ibm_db.debug(True) with boolean True argument will output logs to the console.\n\nCalling ibm_db.debug(\"log.txt\") will log messages to the specified file (log.txt in this example).\n\nCalling ibm_db.debug(False) with boolean False argument will stop logging.\n\n### Logging in ibm_db_dbi Module\nYou can enable logging in the ibm_db_dbi module to debug and trace activities.\nLogging can be directed to the console or a specified file.\n\nTo enable logging:\n```\nimport ibm_db_dbi as dbi\n\n# Log to console\ndbi.debug(True)\n\n# Log to a file (e.g., log.txt)\ndbi.debug(\"log.txt\")\n\n# stop logging\ndbi.debug(False)\n```\nCalling dbi.debug(True) with boolean True argument will output logs to the console.\n\nCalling dbi.debug(\"log.txt\") will log messages to the specified file (log.txt in this example).\n\nCalling dbi.debug(False) with boolean False argument will stop logging.\n\n## Example of SSL Connection String\n \n* **Secure Database Connection using SSL/TSL** - ibm_db supports secure connection to Database Server over SSL same as ODBC/CLI driver. If you have SSL Certificate from server or an CA signed certificate, just use it in connection string as below:\n```\nUsing SSLServerCertificate keyword\n \nconnStr = \"DATABASE=<DATABASE_NAME>;HOSTNAME=<HOSTNAME>;PORT=<SSL_PORT>;UID=<USER_ID>;PWD=<PASSWORD>;\" +\n \"SECURITY=SSL;SSLServerCertificate=<FULL_PATH_TO_SERVER_CERTIFICATE>;\"\nconn = ibm_db.connect(connStr,'','')\n```\n \n> Note the two extra keywords **Security** and **SSLServerCertificate** used in connection string. `SSLServerCertificate` should point to the SSL Certificate from server or an CA signed certificate. Also, `PORT` must be `SSL` port and not the TCPI/IP port. Make sure Db2 server is configured to accept connection on SSL port else `ibm_db` will throw SQL30081N error.\n\n> Value of `SSLServerCertificate` keyword must be full path of a certificate file generated for client authentication.\n It normally has `*.arm` or `*.cert` or `*.pem` extension. `ibm_db` do not support `*.jks` format file as it is not a\n certificate file but a Java KeyStore file, extract certificate from it using keytool and then use the *.cert file.\n\n> `ibm_db` uses IBM ODBC/CLI Driver for connectivity and it do not support a `*.jks` file as keystoredb as `keystore.jks` is meant for Java applications.\n Note that `*.jks` file is a `Java Key Store` file and it is not an SSL Certificate file. You can extract SSL certificate from JKS file using below `keytool` command:\n ```\n keytool -exportcert -alias your_certificate_alias -file client_cert.cert -keystore keystore.jks\n ```\n Now, you can use the generated `client_cert.cert` as the value of `SSLServerCertificate` in connection string.\n\n> Do not use keyworkds like `sslConnection=true` in connection string as it is a JDBC connection keyword and ibm_db\n ignores it. Corresponding ibm_db connection keyword for `sslConnection` is `Security` hence, use `Security=SSL;` in\n connection string instead.\n\n> `ibm_db` supports only ODBC/CLI Driver keywords in connection string: https://www.ibm.com/docs/en/db2/11.5?topic=odbc-cliodbc-configuration-keywords\n\n* To connect to dashDB in IBM Cloud, use below connection string:\n\n```\nconnStr = \"DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=passwd;Security=SSL\";\n```\n> We just need to add **Security=SSL** in connection string to have a secure connection against Db2 server in IBM Cloud.\n\n**Note:** You can also create a KeyStore DB using GSKit command line tool and use it in connection string along with other keywords as documented in [DB2 Infocenter](http://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.5.0/com.ibm.db2.luw.admin.sec.doc/doc/t0053518.html).\n\n* If you have created a KeyStore DB using GSKit using password or you have got *.kdb file with *.sth file:\n```\nUsing SSLClientKeyStoreDB and SSLClientKeyStoreDBPassword keyword\n \nconnStr = \"DATABASE=<DATABASE_NAME>;HOSTNAME=<HOSTNAME>;PORT=<SSL_PORT>;UID=<USER_ID>;PWD=<PASSWORD>;\" +\n \"SECURITY=SSL;SSLClientKeyStoreDB=<FULL_PATH_TO_KEY_STORE_DB>;SSLClientKeyStoreDBPassword=<KEYSTORE_PASSWD>;\"\nconn = ibm_db.connect(connStr,'','')\n```\n \n```\nUsing SSLClientKeyStoreDB and SSLClientKeyStash keyword\n \nconnStr = \"DATABASE=<DATABASE_NAME>;HOSTNAME=<HOSTNAME>;PORT=<SSL_PORT>;UID=<USER_ID>;PWD=<PASSWORD>;\" +\n \"SECURITY=SSL;SSLClientKeyStoreDB=<FULL_PATH_TO_KEY_STORE_DB>;\" +\n \"SSLClientKeyStash=<FULL_PATH_TO_CLIENT_KEY_STASH>;\"\nconn = ibm_db.connect(connStr,'','')\n```\n\n> If you have downloaded `IBMCertTrustStore` from IBM site, ibm_db will not work with it; you need to\n download `Secure Connection Certificates.zip` file that comes for IBM DB2 Command line tool(CLP).\n `Secure Connection Certificates.zip` has *.kdb and *.sth files that should be used as the value of\n `SSLClientKeystoreDB` and `SSLClientKeystash` in connection string.\n\n* More examples can be found under ['ibm_db_tests'](https://github.com/ibmdb/python-ibmdb/tree/master/IBM_DB/ibm_db/ibm_db_tests) folder.\n\n* [API Documentation](https://github.com/ibmdb/python-ibmdb/wiki/APIs) has examples for each API.\n\n* **Jupyter Notebook** examples can be found here -> [Other Examples](https://github.com/IBM/db2-python/tree/master/Jupyter_Notebooks)\n\n## <a name=\"Licenserequirements\"></a>For z/OS and iSeries Connectivity and SQL1598N error\n\n- Connection to `Db2 for z/OS` or `Db2 for i`(AS400) Server using `ibm_db` driver from distributed platforms (Linux, Unix, Windows and MacOS) is not free. It requires either client side or server side license.\n\n- Connection to `Db2 for LUW` Server using `ibm_db` driver is free.\n\n- `ibm_db` returns SQL1598N error in absence of a valid db2connect license. SQL1598N error is returned by the Db2 Server to client.\nTo suppress this error, Db2 server must be activated with db2connectactivate utility OR a client side db2connect license file must exist.\n\n- Db2connect license can be applied on database server or client side. A **db2connect license of version 11.5** is required for ibm_db.\n\n- For MacOS M1/M2/M3 Chip System (ARM64 processor), **db2connect license of version 12.1** is required.\n\n- For activating server side license, you can purchase either `Db2 Connect Unlimited Edition for System z\u00ae` or `Db2 Connect Unlimited Edition for System i\u00ae` license from IBM.\n\n- Ask your DBA to run db2connectactivate utility on Server to activate db2connect license.\n\n- If database Server is enabled for db2connect, no need to apply client side db2connect license.\n\n- If Db2 Server is not db2connectactivated to accept unlimited number of client connection, you must need to apply client side db2connect license.\n\n- db2connectactivate utility and client side db2connect license both comes together from IBM in a single zip file.\n\n- Client side db2connect license is a `db2con*.lic` file that must be copied under `clidriver\\license` directory.\n\n- If you have a `db2jcc_license_cisuz.jar` file, it will not work for ibm_db. `db2jcc_license_cisuz.jar` is a db2connect license file for Java Driver. For non-Java Driver, client side db2connect license comes as a file name `db2con*.lic`.\n\n- If environment variable `IBM_DB_HOME` or `IBM_DB_INSTALLER_URL` is not set, `ibm_db` automatically downloads open source driver specific clidriver from https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli and save as `site_packages\\clidriver`. Ignores any other installation.\n\n- If `IBM_DB_HOME` or `IBM_DB_INSTALLER_URL` is set, you need to have same version of db2connect license as installed db2 client. Check db2 client version using `db2level` command to know version of required db2connect license. The license file should get copied under `$IBM_DB_HOME\\license` directory.\n\n- If you do not have db2connect license, contact [IBM Customer Support](https://www.ibm.com/mysupport/s/?language=en_US) to buy db2connect license. Find the `db2con*.lic` file in the db2connect license shared by IBM and copy it under `.../site_packages/clidriver/license` directory or `$IBM_DB_HOME\\license` directory (if IBM_DB_HOME is set), to be effective.\n\n- To know more about license and purchasing cost, please contact [IBM Customer Support](https://www.ibm.com/mysupport/s/?language=en_US).\n\n- To know more about server based licensing viz db2connectactivate, follow below links:\n* [Activating the license certificate file for Db2 Connect Unlimited Edition](https://www.ibm.com/docs/en/db2/11.5?topic=li-activating-license-certificate-file-db2-connect-unlimited-edition).\n* [Unlimited licensing using db2connectactivate utility](https://www.ibm.com/docs/en/db2/11.1?topic=edition-db2connectactivate-server-license-activation-utility).\n\n#### Troubleshooting SQL1598N Error:\n\nIf you have copied db2con*.lic file under clidriver/license directory, but still getting SQL1598N Error; try below options:\n\n* `cd clidriver/bin` directory and run `./db2level` command. Make sure you have the db2connect license of same major and minor version as of clidriver.\n\n* Make sure the user running python program has read permission for license file.\n\n* Make sure the user running python program has read-write permission for `clidriver/license` and `clidriver/cfgcache` directories as license check utility need to create some cache files under `cfgcache` and `license` directories.\n\n* Validate your license file and connectivity using below db2cli command:\n```\n db2cli validate -connstring \"connection string as used in python program\" -displaylic\n\n OR\n\n db2cli validate -database \"dbname:hostname:port\" -userid dbuser -passwd dbpasswd -connect -displaylic\n```\n\n\nIf you intend to install the clidriver manually, Following are the details of the client driver versions that you can download from [CLIDRIVER](https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/) to be able to connect to databases on non-LUW servers. You would need the client side license file as per Version for corresponding installation.:\n\n#### <a name=\"LicenseDetails\"></a> CLIDriver and Client license versions for Specific Platform and Architecture\n\n|Platform |Architecture |Cli Driver |Supported |Version |\n| :---: | :---: | :---: | :---: | :--:\n|AIX | ppc |aix32_odbc_cli.tar.gz | Yes | V11.5.9 |\n| | others |aix64_odbc_cli.tar.gz | Yes | V11.5.9 |\n|Darwin | x64 |macos64_odbc_cli.tar.gz | Yes | Till V11.5.9 |\n | arm64 |macarm64_odbc_cli.tar.gz | Yes | From V12.1.0 |\n|Linux | x64 |linuxx64_odbc_cli.tar.gz | Yes | V11.5.9 |\n| | s390x |s390x64_odbc_cli.tar.gz | Yes | V11.5.9 |\n| | s390 |s390_odbc_cli.tar.gz | Yes | V11.1 |\n| | ppc64 (LE) |ppc64le_odbc_cli.tar.gz | Yes | V11.5.9 |\n| | ppc64 |ppc64_odbc_cli.tar.gz | Yes | V10.5 |\n| | ppc32 |ppc32_odbc_cli.tar.gz | Yes | V10.5 |\n| | others |linuxia32_odbc_cli.tar.gz| Yes | V11.5.9 |\n|Windows | x64 |ntx64_odbc_cli.zip | Yes | V11.5.9 |\n| | x32 |nt32_odbc_cli.zip | Yes | V11.5.9 |\n|Sun | i86pc |sunamd64_odbc_cli.tar.gz | Yes | V10.5 |\n| | |sunamd32_odbc_cli.tar.gz | Yes | V10.5 |\n| | sparc |sun64_odbc_cli.tar.gz | Yes | V11.1 |\n| | sparc |sun32_odbc_cli.tar.gz | Yes | V11.1 |\n\nYou can refer to [ODBC and CLI Driver installation](http://www-01.ibm.com/support/docview.wss?uid=swg21418043) for details on how to install the driver manually.\n\n\n<a name='downloads'></a>\n## Downloads\n\nUse following pypi web location for downloading source code and binaries\n**ibm_db**: https://pypi.python.org/pypi/ibm_db .\nYou can also get the source code by cloning the ibm_db github repository as :\n```\ngit clone git@github.com:ibmdb/python-ibmdb.git\n```\n\n<a name='support'></a>\n## Support & feedback\n**Your feedback is very much appreciated and expected through project ibm-db:**\n * ibm-db issues reports: **https://github.com/ibmdb/python-ibmdb/issues**\n * ibm_db discuss: **http://groups.google.com/group/ibm_db**\n\n\n<a name='contributing-to-the-ibm_db-python-project'></a>\n## Contributing to the ibm_db python project\n\nSee [CONTRIBUTING](https://github.com/ibmdb/python-ibmdb/blob/master/contributing/CONTRIBUTING.md)\n\n```\nThe developer sign-off should include the reference to the DCO in remarks(example below):\nDCO 1.1 Signed-off-by: Random J Developer <random@developer.org>\n```\n\n<a name='KnownIssues'></a>\n## Some common issues\n\n## 1. Installation Issues for missing python.h file\n\n### Always use the latest pip\n```python3 -m pip install --upgrade pip```\n\n### Install the package python3-devel that delivers the python.h header file\n```\nFor RHEL use\nsudo yum install python3-devel\n```\n```\nFor Ubuntu use\nsudo apt-get install python3-devel\n```\n\n* Once the above steps works fine, try re-installing ibm_db.\n\n## 2. SQL30081N Error\n\nIf connection fails with SQL30081N error - means `ibm_db` installation is correct and there is some issue with connection string. Please check database connection info and use correct connection string. If you are using SSL connection, port must be SSL port and connection string must have `Security=SSL;` and `SSLServerCertificate=<full path of cert.arm file>;`.\n\n## 3. Issues with MAC OS X\n\n* If `import ibm_db` fails with `Symbol not found: ___cxa_throw_bad_array_new_length` error or `malloc` error: Please follow instructions as documented [here](INSTALL.md#symbolerror).\n\n* If you run into errors for libdb2.dylib as below:\n\n```python\n>>> import ibm_db\nTraceback (most recent call last):\n File \"<stdin>\", line 1, in <module>\nImportError: dlopen(/usr/local/lib/python3.5/site-packages/ibm_db.cpython-35m-darwin.so, 2): Library not loaded: libdb2.dylib\n Referenced from: /usr/local/lib/python3.5/site-packages/ibm_db.cpython-35m-darwin.so\n Reason: image not found\n\n```\n\nYou would need to set DYLD_LIBRARY_PATH to point to lib folder as per the installation location of clidriver in your environment. Assuming the driver is installed at /usr/local/lib/python3.5/site-packages/clidriver, you can set the path as:\n\n```\nexport DYLD_LIBRARY_PATH=/usr/local/lib/python3.5/site-packages/clidriver/lib:$DYLD_LIBRARY_PATH\n\n```\nIf the issue is not resolved even after setting DYLD_LIBRARY_PATH, you could refer:\n[MAC OS Hints and Tips](https://medium.com/@sudhanvalp/overcome-ibm-db-import-error-image-not-found-on-macos-578f07b70762)\n\n### Resolving SQL1042C error\n\nIf you hit following error while attempting to connect to a database:\n\n```python\n>>> import ibm_db\n>>> ibm_db.connect(\"my_connection_string\", \"\", \"\")\n Traceback (most recent call last):\n File \"<stdin>\", line 1, in <module>\n Exception: [IBM][CLI Driver] SQL1042C An unexpected system error occurred. SQLSTATE=58004 SQLCODE=-1042\n```\nSet DYLD_LIBRARY_PATH to point to icc folder as per the installation location of clidriver in your environment.\n\n```\nexport DYLD_LIBRARY_PATH=/usr/local/lib/python3.5/site-packages/clidriver/lib/icc:$DYLD_LIBRARY_PATH\n```\n\nIn case of similar issue in windows platform\n\n```\nset PATH=<clidriver_folder_path>\\bin\\amd64.VC12.CRT;%PATH%\n```\n\n## 4. ERROR: Failed building wheel for ibm_db\n\nIn case of the error seen while building wheel use the following flag along with ibm_db for installation\n\n```\nTo install the package ibm_db it is necessary at first to install the build dependency package - wheel:\npip3 install wheel\nInstall ibm_db with the pip flag --no-build-isolation:\npip3 install ibm_db --no-build-isolation\n```\n\n## 5. For Issues on IBM iSeries System (AS400)\n\n* If you have installed `ibm_db` on IBM i and need help, please open an issue [here](https://github.com/kadler/python-ibmdb/issues).\n\n* If you have installed `ibm_db` on distributed platform and want to connect to AS400 server, you must have to use db2connect license. `ibm_db` do not work with `IBM i Access` driver.\n\n<a name='testing'></a>\n# Testing\n\nTests displaying Python ibm_db driver code examples are located in the ibm_db_tests\ndirectory. A valid config.py will need to be created to configure your Db2\nsettings. A config.py.sample exists that can be copied and modified for your\nenvironment.\n\n* Set Environment Variables DB2_USER, DB2_PASSWD accordingly.\n```\nFor example, by sourcing the following ENV variables:\nFor Linux\nexport DB2_USER=<Username>\nexport DB2_PASSWD=<Password>\n\nFor windows\nset DB2_USER=<Username>\nset DB2_PASSWD=<Password>\n\n```\n* OR\n```\nIf not using environment variables, update user and password information in\nconfig.json file.\n\n```\nThe config.py should look like this:\n```python\ntest_dir = 'ibm_db_tests' # Location of testsuite file (relative to current directory)\nfile_path = 'config.json'\n\nwith open(file_path, 'r') as file:\n data = json.load(file)\n\ndatabase = data['database'] # Database to connect to\nhostname = data['hostname'] # Hostname\nport = data['port'] # Port Number\n\nenv_not_set = False\nif 'DB2_USER' in os.environ:\n user = os.getenv('DB2_USER') # User ID to connect with\nelse:\n user = data['user']\n env_not_set = True\nif 'DB2_PASSWD' in os.environ:\n password = os.getenv('DB2_PASSWD') # Password for given User ID\nelse:\n password = data['password']\n env_not_set = True\n\nif env_not_set == True:\n warnings.warn(\"Warning: Environment variable DB2_USER or DB2_PASSWD is not set.\")\n print(\"Please set it before running test file and avoid\")\n print(\"hardcoded password in config.json file.\" )\n```\n\nPoint the database to mydatabase as created by the following command.\n\nThe tests that ibm_db driver uses depends on a UTF-8 database. This can be\ncreated by running:\n```\n CREATE DATABASE mydatabase USING CODESET UTF-8 TERRITORY US\n```\nSome of the tests utilize XML functionality only available in version 9 or\nlater of Db2. While Db2 v8.x is fully supported, two of the tests\n(test_195.py and test_52949.py) utilize XML functionality. These tests will\nfail on version 8.x of Db2.\n\n## Running the driver testsuite on Linux\n In order to run the entire python driver testsuite on Linux, run this\n command at the command prompt:\n ```\n python ibmdb_tests.py\n ```\n To run a single test, set the environment variable, **SINGLE_PYTHON_TEST**, to\n the test filename you would like to run, followed by the previous command.\n\n## Running the driver testsuite on Windows\n In order to run the entire python driver testsuite on Windows, run this\n command at the command prompt:\n ```\n python ibmdb_tests.py\n ```\n To run a single test, set the environment variable, **SINGLE_PYTHON_TEST**, to\n the test filename you would like to run, followed by the previous command.\n\n\n## Known Limitations for the Python driver\n\nIf trusted context is not set up, there will be two failures related to trusted context. When thick client has been used then additional three failures related to create, recreate DB.\n\n## Known Limitations for the Python wrapper\n\n1. The rowcount for select statements can not be generated.\n2. Some warnings from the drivers are not caught by the wrapper.\n As such these might go unnoticed.\n\nHappy coding!\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "Python DBI driver for DB2 (LUW, zOS, i5)",
"version": "3.2.4",
"project_urls": {
"Download": "http://code.google.com/p/ibm-db/downloads/list",
"Homepage": "http://pypi.python.org/pypi/ibm_db/"
},
"split_keywords": [
"database",
"db-api",
"interface",
"ibm",
"data",
"servers",
"db2"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6a8a2e320c5efad9222841acab5acfbc45d14b3bcc11e57db2af909614a5881b",
"md5": "76f167595274840842841a2dbe6c6f5b",
"sha256": "72deb4ef6767ccafcb9e08327009878f27bae7f695ef1daaa587863552e28c61"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp310-cp310-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "76f167595274840842841a2dbe6c6f5b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 24173324,
"upload_time": "2024-12-13T21:15:25",
"upload_time_iso_8601": "2024-12-13T21:15:25.829565Z",
"url": "https://files.pythonhosted.org/packages/6a/8a/2e320c5efad9222841acab5acfbc45d14b3bcc11e57db2af909614a5881b/ibm_db-3.2.4-cp310-cp310-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "20f613d3506f9d3797d24e15962bf3982ddf1bb803d73808f8c51149601bd871",
"md5": "35ba1299ed2bef82789d562c42afaa32",
"sha256": "c087134dd6e12f59112b436759be2614fed9ab4750182608e2aa6299b24d21f0"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "35ba1299ed2bef82789d562c42afaa32",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 24122578,
"upload_time": "2024-12-13T21:15:31",
"upload_time_iso_8601": "2024-12-13T21:15:31.845491Z",
"url": "https://files.pythonhosted.org/packages/20/f6/13d3506f9d3797d24e15962bf3982ddf1bb803d73808f8c51149601bd871/ibm_db-3.2.4-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c160152b8c383f5176279f0e3950be65056ade87f2f5962be61aa136514c3c96",
"md5": "ca950102760e0195214a36d64a9d4ff7",
"sha256": "0d62ba307f7c666434cc156ee9ebca9e6e9e41492e58d2b1a3d934866147496c"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "ca950102760e0195214a36d64a9d4ff7",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 40574463,
"upload_time": "2024-12-13T21:15:39",
"upload_time_iso_8601": "2024-12-13T21:15:39.246425Z",
"url": "https://files.pythonhosted.org/packages/c1/60/152b8c383f5176279f0e3950be65056ade87f2f5962be61aa136514c3c96/ibm_db-3.2.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "22daf5b2db76ede13be55adcd5131a66935a5cf45980f282e9a64848019deec3",
"md5": "28e2236a6940b861c3165ace4e7c7cbc",
"sha256": "6b953574f90bd74ae3abe71989070ab1c7896f5ae7815f98d76a6e7d3d723d81"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "28e2236a6940b861c3165ace4e7c7cbc",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 43905166,
"upload_time": "2024-12-13T21:15:48",
"upload_time_iso_8601": "2024-12-13T21:15:48.416661Z",
"url": "https://files.pythonhosted.org/packages/22/da/f5b2db76ede13be55adcd5131a66935a5cf45980f282e9a64848019deec3/ibm_db-3.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "309a7c281a142a42e5dd372f770cfcdc74ee9dcd50d8a852793bbd7af88ef654",
"md5": "c03a1198231eba01a9106440240e6380",
"sha256": "d42655dbaf32b17dd38ffb11246c5506c332a13f82d18f1f91df1b45c421504e"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "c03a1198231eba01a9106440240e6380",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 24938856,
"upload_time": "2024-12-13T21:15:54",
"upload_time_iso_8601": "2024-12-13T21:15:54.808139Z",
"url": "https://files.pythonhosted.org/packages/30/9a/7c281a142a42e5dd372f770cfcdc74ee9dcd50d8a852793bbd7af88ef654/ibm_db-3.2.4-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "32f6ef9ef928ba22769831a723096a9d88542cba3402f4445048a1f80ff3880c",
"md5": "c3039f3a5c02c79efc31ca93a72cc72f",
"sha256": "3188b967fce9c0c908c816475ee0de064ce19485235ba6a113f0f3c7eca45889"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "c3039f3a5c02c79efc31ca93a72cc72f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 27958979,
"upload_time": "2024-12-13T21:16:02",
"upload_time_iso_8601": "2024-12-13T21:16:02.003283Z",
"url": "https://files.pythonhosted.org/packages/32/f6/ef9ef928ba22769831a723096a9d88542cba3402f4445048a1f80ff3880c/ibm_db-3.2.4-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "902ada29949935d93d8fd8a79bf8ce3d064d025883db55a224a8ca673eadb175",
"md5": "34a9d9533d556f4906cfaff1b877ccb8",
"sha256": "dac5fb3bdc767f19a8c0b55fa73203f8eec209e039e604e6555a2b37fbebba7b"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp311-cp311-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "34a9d9533d556f4906cfaff1b877ccb8",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 24173321,
"upload_time": "2024-12-13T21:16:08",
"upload_time_iso_8601": "2024-12-13T21:16:08.301985Z",
"url": "https://files.pythonhosted.org/packages/90/2a/da29949935d93d8fd8a79bf8ce3d064d025883db55a224a8ca673eadb175/ibm_db-3.2.4-cp311-cp311-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ecc4a96527424b9c29a02b79487cd9bff1149ea33982880c75569475a8419c46",
"md5": "dd1b2b12e2d79257655d38847af7762a",
"sha256": "603317a4b72d58d4f95d0b71f2e883461a9a6c1d0e3da257eb4fecd356c0c72e"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "dd1b2b12e2d79257655d38847af7762a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 24122579,
"upload_time": "2024-12-13T21:16:13",
"upload_time_iso_8601": "2024-12-13T21:16:13.815962Z",
"url": "https://files.pythonhosted.org/packages/ec/c4/a96527424b9c29a02b79487cd9bff1149ea33982880c75569475a8419c46/ibm_db-3.2.4-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ce9eb0772cb5d22b11ffb2190802afdecc0a661c107268932cc2c05b2ce013cd",
"md5": "eaa0b07a0807bf28abb5bd345403b8c9",
"sha256": "95682624357a4f16520aea4a1ec6561ebbb625a82e6436a998e7c55c52953426"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "eaa0b07a0807bf28abb5bd345403b8c9",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 40579559,
"upload_time": "2024-12-13T21:16:20",
"upload_time_iso_8601": "2024-12-13T21:16:20.998196Z",
"url": "https://files.pythonhosted.org/packages/ce/9e/b0772cb5d22b11ffb2190802afdecc0a661c107268932cc2c05b2ce013cd/ibm_db-3.2.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "650bb64b225bcf69d7f5f4258370a980d9a07a43e5fc36dbacf85427f4fe1945",
"md5": "c4624c791f90c9a60bf5826783d36099",
"sha256": "76337277e2176c317e94bdb018517f8d7f3b1e070eb47610682cc39833c4256b"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "c4624c791f90c9a60bf5826783d36099",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 43911359,
"upload_time": "2024-12-13T21:16:28",
"upload_time_iso_8601": "2024-12-13T21:16:28.961888Z",
"url": "https://files.pythonhosted.org/packages/65/0b/b64b225bcf69d7f5f4258370a980d9a07a43e5fc36dbacf85427f4fe1945/ibm_db-3.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e0485c8df67d52dd800d37ca6c146b11e9d899593a159d67e15003d9487cbadf",
"md5": "d1dd9c530ae676351a056c6f8bb3e3f9",
"sha256": "73b27a3652343a11e89bb17dc6dd36ce7520afb5b2479b2569f4557558a0bb93"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "d1dd9c530ae676351a056c6f8bb3e3f9",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 24938974,
"upload_time": "2024-12-13T21:16:35",
"upload_time_iso_8601": "2024-12-13T21:16:35.195006Z",
"url": "https://files.pythonhosted.org/packages/e0/48/5c8df67d52dd800d37ca6c146b11e9d899593a159d67e15003d9487cbadf/ibm_db-3.2.4-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2f1db83407dc4d5fdb89604347367ddcc13935fe339ec7ec686843e059923849",
"md5": "998d56d80aac677460e48eae953ba542",
"sha256": "6127061514045165dc6cfde492a2d8abdbb54a27f001c4247dfc36552db556e6"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "998d56d80aac677460e48eae953ba542",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 27958973,
"upload_time": "2024-12-13T21:16:41",
"upload_time_iso_8601": "2024-12-13T21:16:41.307110Z",
"url": "https://files.pythonhosted.org/packages/2f/1d/b83407dc4d5fdb89604347367ddcc13935fe339ec7ec686843e059923849/ibm_db-3.2.4-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8fc7375140f4e4eed45a393c5614e583291e7f1e9add843adafd96db95164e23",
"md5": "aad86c7652c9723aae3a6545472c3c5a",
"sha256": "6ea1ad76b6a3cb47cd330f48bb8000b2c8dc796d66f59a0857a6ed40a9dcebd8"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp312-cp312-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "aad86c7652c9723aae3a6545472c3c5a",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 24173412,
"upload_time": "2024-12-13T21:16:47",
"upload_time_iso_8601": "2024-12-13T21:16:47.150454Z",
"url": "https://files.pythonhosted.org/packages/8f/c7/375140f4e4eed45a393c5614e583291e7f1e9add843adafd96db95164e23/ibm_db-3.2.4-cp312-cp312-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5c99067c7024929baed6a8d64a096ad4162d01bbae05174e72c8ed07a389c088",
"md5": "48d143d87f8e964af016e40993b0290d",
"sha256": "790955b2ac1c9fc5fe4b2ac2aa997f3c18a57e86aec16014aa97eeb8be358d38"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "48d143d87f8e964af016e40993b0290d",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 24122791,
"upload_time": "2024-12-13T21:16:53",
"upload_time_iso_8601": "2024-12-13T21:16:53.235850Z",
"url": "https://files.pythonhosted.org/packages/5c/99/067c7024929baed6a8d64a096ad4162d01bbae05174e72c8ed07a389c088/ibm_db-3.2.4-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "51ba4ddd2372ae03780f091263bdd15e89498e30fbf1fe11405186660bbb8847",
"md5": "fd2c351e643ab5f077481d3e33e6cbbc",
"sha256": "5ebdb0c317b2442e7419c6ea44c520c54542b985082d30d216a54ac2b5949bfe"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "fd2c351e643ab5f077481d3e33e6cbbc",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 40543680,
"upload_time": "2024-12-13T21:16:59",
"upload_time_iso_8601": "2024-12-13T21:16:59.047441Z",
"url": "https://files.pythonhosted.org/packages/51/ba/4ddd2372ae03780f091263bdd15e89498e30fbf1fe11405186660bbb8847/ibm_db-3.2.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "56139fb9c28447d9a5c996f0cfb1a55302b8d807fe4b86794414a42eadc4d06e",
"md5": "33f6ca98421737d58a6992599d671eb3",
"sha256": "212f2cd3083c6d864251ef65803b0ac3ce03b8baf14c32dade529fad7eadf197"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "33f6ca98421737d58a6992599d671eb3",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 43870227,
"upload_time": "2024-12-13T21:17:05",
"upload_time_iso_8601": "2024-12-13T21:17:05.827973Z",
"url": "https://files.pythonhosted.org/packages/56/13/9fb9c28447d9a5c996f0cfb1a55302b8d807fe4b86794414a42eadc4d06e/ibm_db-3.2.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bd3e3977806aff04656a9c831eecf4d467d875ca20cfda56fed68a9b16c4df31",
"md5": "b8abbcf5ded5321e04aad616f6864595",
"sha256": "03c534047b76e72a2c43c776587d2935350751ceb67cf64a67f2dbdb84c64496"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "b8abbcf5ded5321e04aad616f6864595",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 24939636,
"upload_time": "2024-12-13T21:17:12",
"upload_time_iso_8601": "2024-12-13T21:17:12.542758Z",
"url": "https://files.pythonhosted.org/packages/bd/3e/3977806aff04656a9c831eecf4d467d875ca20cfda56fed68a9b16c4df31/ibm_db-3.2.4-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7932affd85ff0b0b39348620bb3e4b643f2dc8309281cff50b3abac6f027a0fd",
"md5": "4bae1249c98093ac1b9ce1a8e80a8d32",
"sha256": "ef0013da331c1aa092c0a5ac61e1b6cce52a480862d8165e141d8d6e983172c1"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "4bae1249c98093ac1b9ce1a8e80a8d32",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 27959835,
"upload_time": "2024-12-13T21:17:18",
"upload_time_iso_8601": "2024-12-13T21:17:18.725567Z",
"url": "https://files.pythonhosted.org/packages/79/32/affd85ff0b0b39348620bb3e4b643f2dc8309281cff50b3abac6f027a0fd/ibm_db-3.2.4-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a2da193909e624f863641b554d52e4b56512f0350b6a761a30c456da6ef5e952",
"md5": "c18606dc29d37669d719e5d9476a690e",
"sha256": "faaf9808f78c111cc3cd202639995f2426843adc0991e4612759931627bd1d04"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp313-cp313-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "c18606dc29d37669d719e5d9476a690e",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 24173337,
"upload_time": "2024-12-13T21:17:24",
"upload_time_iso_8601": "2024-12-13T21:17:24.754557Z",
"url": "https://files.pythonhosted.org/packages/a2/da/193909e624f863641b554d52e4b56512f0350b6a761a30c456da6ef5e952/ibm_db-3.2.4-cp313-cp313-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "651b6b3657901db9ebf30209e047bb902d141f704f403a644f7ade28efdec06b",
"md5": "1ca96e0cef61bd56cd0fbe7caa12d949",
"sha256": "e884b5b0cfb10500f4ae99a7e2e8c7297523ba8ea8834ee7881a8b4ffc8bc3c7"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "1ca96e0cef61bd56cd0fbe7caa12d949",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 24122799,
"upload_time": "2024-12-13T21:17:30",
"upload_time_iso_8601": "2024-12-13T21:17:30.547372Z",
"url": "https://files.pythonhosted.org/packages/65/1b/6b3657901db9ebf30209e047bb902d141f704f403a644f7ade28efdec06b/ibm_db-3.2.4-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c6d8776dcd134a18b63bbfc20a787956e3feac879a3d093aacb3b5277ea90765",
"md5": "79ae80d34ec10ceee22ac2645273014e",
"sha256": "2ba701f1b55c8303c8465d02fa333bf73f9504ab1fd7e97c2db2749ed2cf4112"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "79ae80d34ec10ceee22ac2645273014e",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 40543599,
"upload_time": "2024-12-13T21:17:37",
"upload_time_iso_8601": "2024-12-13T21:17:37.044832Z",
"url": "https://files.pythonhosted.org/packages/c6/d8/776dcd134a18b63bbfc20a787956e3feac879a3d093aacb3b5277ea90765/ibm_db-3.2.4-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "af8602a4379d2d7e53aa9d54d8966fefba83c690d9267be078281bbf5c67e381",
"md5": "481501d256aa69c2c72e049a584262ad",
"sha256": "b610d09cd9351e7822bffe442436df435280d8da0ce35ec00649b74ec175e6a5"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "481501d256aa69c2c72e049a584262ad",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 43870156,
"upload_time": "2024-12-13T21:17:43",
"upload_time_iso_8601": "2024-12-13T21:17:43.809963Z",
"url": "https://files.pythonhosted.org/packages/af/86/02a4379d2d7e53aa9d54d8966fefba83c690d9267be078281bbf5c67e381/ibm_db-3.2.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4f7a5e5f8f80ba9181d89ebf480b58c510eb57c7b4bbbe9e7f737fc9b177602a",
"md5": "ce58277aa02affbbfb9cd5b36acc43aa",
"sha256": "5c862a74ee0324cec2b27a1a5c4e9c856f1e9822f7a9e51759af92b4d8391b53"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp313-cp313-win32.whl",
"has_sig": false,
"md5_digest": "ce58277aa02affbbfb9cd5b36acc43aa",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 24939634,
"upload_time": "2024-12-13T21:17:49",
"upload_time_iso_8601": "2024-12-13T21:17:49.249117Z",
"url": "https://files.pythonhosted.org/packages/4f/7a/5e5f8f80ba9181d89ebf480b58c510eb57c7b4bbbe9e7f737fc9b177602a/ibm_db-3.2.4-cp313-cp313-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "19206d33d05ccad3fc61edc306c5fedcc54ec9b96614eac6bf655252869db3bf",
"md5": "eea890b1152208117dc2203161388c62",
"sha256": "343890ea752601cbb925bce60d8d69d372fad4b8fcfac97c7b82110078c5df91"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "eea890b1152208117dc2203161388c62",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 27959839,
"upload_time": "2024-12-13T21:17:53",
"upload_time_iso_8601": "2024-12-13T21:17:53.885230Z",
"url": "https://files.pythonhosted.org/packages/19/20/6d33d05ccad3fc61edc306c5fedcc54ec9b96614eac6bf655252869db3bf/ibm_db-3.2.4-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e56b25588abeb86ae4796e643d96b6f3491fc0c838d07906e00bfca1ba850622",
"md5": "ea505d1ed32ffa0bd8d495496d5f154b",
"sha256": "5e38097b53d85b47656f5c3571cd26b53259e59c680af30138a7ee6cce6feedd"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp37-cp37m-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "ea505d1ed32ffa0bd8d495496d5f154b",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 24173209,
"upload_time": "2024-12-13T21:17:59",
"upload_time_iso_8601": "2024-12-13T21:17:59.653992Z",
"url": "https://files.pythonhosted.org/packages/e5/6b/25588abeb86ae4796e643d96b6f3491fc0c838d07906e00bfca1ba850622/ibm_db-3.2.4-cp37-cp37m-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "370c785a5aff5d05bf98b075c59443c1f7dfc7a433768ac61692546cd9750ab9",
"md5": "4772dbecbd9d0eb536a8088eb11f170e",
"sha256": "ad66a4ca35086f585373326f22bd55f1f437c461493a5803d0dcaf20598a9cdf"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "4772dbecbd9d0eb536a8088eb11f170e",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 40561544,
"upload_time": "2024-12-13T21:18:06",
"upload_time_iso_8601": "2024-12-13T21:18:06.631667Z",
"url": "https://files.pythonhosted.org/packages/37/0c/785a5aff5d05bf98b075c59443c1f7dfc7a433768ac61692546cd9750ab9/ibm_db-3.2.4-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3f58ebd92547dcdf9052a3f40f91416fea2d78c83b59082dc1d9386530fdbcac",
"md5": "084b0c1d880a45c13821e84e642ab56a",
"sha256": "36041146f6537aea5bd96167fa72b08adc3618586036afa13ed2a2a3ddffb0a0"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "084b0c1d880a45c13821e84e642ab56a",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 43892457,
"upload_time": "2024-12-13T21:18:13",
"upload_time_iso_8601": "2024-12-13T21:18:13.562908Z",
"url": "https://files.pythonhosted.org/packages/3f/58/ebd92547dcdf9052a3f40f91416fea2d78c83b59082dc1d9386530fdbcac/ibm_db-3.2.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6eaa5799e93eeeabf3c97da1d68715efcb27798b56ca9424058945d8d8264763",
"md5": "1e40f9e24fb686e40c02dc112cb8843d",
"sha256": "64b54bd2a3f80ba72a184ac543093c381a4ca5799f24b47428b275cdac94dee5"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp37-cp37m-win32.whl",
"has_sig": false,
"md5_digest": "1e40f9e24fb686e40c02dc112cb8843d",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 24938770,
"upload_time": "2024-12-13T21:18:19",
"upload_time_iso_8601": "2024-12-13T21:18:19.019505Z",
"url": "https://files.pythonhosted.org/packages/6e/aa/5799e93eeeabf3c97da1d68715efcb27798b56ca9424058945d8d8264763/ibm_db-3.2.4-cp37-cp37m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2c472a4400f5885f9aa06b6af6823f45391ea9e4ae70187bfc002c9fca0f4e73",
"md5": "9416d5a0f8d084d7911b38fb93a4cea3",
"sha256": "36959bde0970cd7d99d74b5a37edcea5ed62bde7e210126e55b35296d95272cd"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "9416d5a0f8d084d7911b38fb93a4cea3",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 27962812,
"upload_time": "2024-12-13T21:18:24",
"upload_time_iso_8601": "2024-12-13T21:18:24.230689Z",
"url": "https://files.pythonhosted.org/packages/2c/47/2a4400f5885f9aa06b6af6823f45391ea9e4ae70187bfc002c9fca0f4e73/ibm_db-3.2.4-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1f745bd50582753c808f40e9905a6f80dbf3bef8e2093a9d49e66bf259805159",
"md5": "e8980a5c469843316dded206a45dfcb6",
"sha256": "0cec4221de9af07328e3a1d423c8583d1d840c3be2cd4e0e4bd739f166bb292c"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp38-cp38-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "e8980a5c469843316dded206a45dfcb6",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 24173626,
"upload_time": "2024-12-13T21:18:29",
"upload_time_iso_8601": "2024-12-13T21:18:29.058326Z",
"url": "https://files.pythonhosted.org/packages/1f/74/5bd50582753c808f40e9905a6f80dbf3bef8e2093a9d49e66bf259805159/ibm_db-3.2.4-cp38-cp38-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7fdc72ad3e6a47e159ca843a11faf6ed0b9829c5498bd927a1fa79473c8aa97c",
"md5": "d1a6134921bbc34bf5f028b0e0b3eec3",
"sha256": "533a0fd33d89f61e29921af4f5d796bb3c46247eac9a1e688cc02f1e5461752a"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp38-cp38-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "d1a6134921bbc34bf5f028b0e0b3eec3",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 24122548,
"upload_time": "2024-12-13T21:18:34",
"upload_time_iso_8601": "2024-12-13T21:18:34.845715Z",
"url": "https://files.pythonhosted.org/packages/7f/dc/72ad3e6a47e159ca843a11faf6ed0b9829c5498bd927a1fa79473c8aa97c/ibm_db-3.2.4-cp38-cp38-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "98827b46b1796e2b85b2ece55fb89662089e38ab45acd0ad71902febfd69e0eb",
"md5": "ec5a82f082daa6934bddcfa43f2e475c",
"sha256": "8eea23b327ee14d3f8882b065bfbed9cee8052a9d0975b0eb74c9750672d561e"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "ec5a82f082daa6934bddcfa43f2e475c",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 40567689,
"upload_time": "2024-12-13T21:18:42",
"upload_time_iso_8601": "2024-12-13T21:18:42.516888Z",
"url": "https://files.pythonhosted.org/packages/98/82/7b46b1796e2b85b2ece55fb89662089e38ab45acd0ad71902febfd69e0eb/ibm_db-3.2.4-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "54220258c8354315aeff3fd92745963b6a28d4f60c9e1e90b1823c71536feda2",
"md5": "d9ea11f915bc0a185ec9cea93a7dbc96",
"sha256": "c3bb28e6e9aca5108d38f8f5f00c3893f7297b2d441df96a1e844aa7c1a7cdad"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "d9ea11f915bc0a185ec9cea93a7dbc96",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 43897458,
"upload_time": "2024-12-13T21:18:51",
"upload_time_iso_8601": "2024-12-13T21:18:51.201380Z",
"url": "https://files.pythonhosted.org/packages/54/22/0258c8354315aeff3fd92745963b6a28d4f60c9e1e90b1823c71536feda2/ibm_db-3.2.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "45ff363ba6db6e561fa4cd5f226340b0d298fe9e22296e9bd3901a7e7a469782",
"md5": "34edaaac2ddf65477d4593580088de3b",
"sha256": "8aebc179fb8c65208a2963f3c10ef6a78c78b675a06dbcd0551a4ead549b9b50"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "34edaaac2ddf65477d4593580088de3b",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 24939069,
"upload_time": "2024-12-13T21:18:57",
"upload_time_iso_8601": "2024-12-13T21:18:57.517690Z",
"url": "https://files.pythonhosted.org/packages/45/ff/363ba6db6e561fa4cd5f226340b0d298fe9e22296e9bd3901a7e7a469782/ibm_db-3.2.4-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5f45c6f6b3cf9eb204cb84ce81c8dde706a78e42c83a9996c8b8cc9e1f44e4cc",
"md5": "a4ddf8aee289e9f292d9fac75be7918d",
"sha256": "5e806413f4d13ae69eb02b0d81906e08366a384d4c607d63d156a7516527b072"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "a4ddf8aee289e9f292d9fac75be7918d",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 27963273,
"upload_time": "2024-12-13T21:19:03",
"upload_time_iso_8601": "2024-12-13T21:19:03.922139Z",
"url": "https://files.pythonhosted.org/packages/5f/45/c6f6b3cf9eb204cb84ce81c8dde706a78e42c83a9996c8b8cc9e1f44e4cc/ibm_db-3.2.4-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0bbcf5bc3a04f92befe43ecd67cb32864203c0442cd38e9fb7e302ddaf807e02",
"md5": "707364e4d2cd0011d2a046e7c4966542",
"sha256": "d5c9f9fd620c00f3b74e2a6461d568d2797239c609e27cce198965a7106062c3"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp39-cp39-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "707364e4d2cd0011d2a046e7c4966542",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 24174288,
"upload_time": "2024-12-13T21:19:10",
"upload_time_iso_8601": "2024-12-13T21:19:10.053950Z",
"url": "https://files.pythonhosted.org/packages/0b/bc/f5bc3a04f92befe43ecd67cb32864203c0442cd38e9fb7e302ddaf807e02/ibm_db-3.2.4-cp39-cp39-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f6cc984ec56edd98887db4c7ca2039b5c523fd133841741a5936b37040414d8a",
"md5": "ac2f6d55d6a32b843ed7d0469d64858a",
"sha256": "709d2f21a6ccdea48f7d94ec76081b9e36e8e2addbab687d63b566b357ed9212"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "ac2f6d55d6a32b843ed7d0469d64858a",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 24122729,
"upload_time": "2024-12-13T21:19:14",
"upload_time_iso_8601": "2024-12-13T21:19:14.350816Z",
"url": "https://files.pythonhosted.org/packages/f6/cc/984ec56edd98887db4c7ca2039b5c523fd133841741a5936b37040414d8a/ibm_db-3.2.4-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ae086a3a27a53d6d4cb0295ac0141214229ead17793412a68431027c87207a97",
"md5": "ab603659ddfd8c7b5d0fbb14db0fd107",
"sha256": "850799be8d57098a998b9761fa05a05ad6eee78214040468b5354832f0ee2caa"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "ab603659ddfd8c7b5d0fbb14db0fd107",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 40583271,
"upload_time": "2024-12-13T21:19:20",
"upload_time_iso_8601": "2024-12-13T21:19:20.095024Z",
"url": "https://files.pythonhosted.org/packages/ae/08/6a3a27a53d6d4cb0295ac0141214229ead17793412a68431027c87207a97/ibm_db-3.2.4-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d12d8d7a735e857134d9a9c6eec0555c7e79643632ee24781f432d0efeedf1f7",
"md5": "582ed3120ec34b05e4539bcf6c787a3e",
"sha256": "52ef880f53230b68bc92783a2c6a957139e8847dd39db6be69693f3576d549f5"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "582ed3120ec34b05e4539bcf6c787a3e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 43916429,
"upload_time": "2024-12-13T21:19:27",
"upload_time_iso_8601": "2024-12-13T21:19:27.501997Z",
"url": "https://files.pythonhosted.org/packages/d1/2d/8d7a735e857134d9a9c6eec0555c7e79643632ee24781f432d0efeedf1f7/ibm_db-3.2.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a41902f1fa04680c4a4225e0df93dcc82013ca7e954be7d11e5718c6b8296e47",
"md5": "b30b9515cea872a03e27405b14074c37",
"sha256": "df8e39d797282485258f995ade59eb9f48cc4ee8df1678fe16ee94408c6c1350"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "b30b9515cea872a03e27405b14074c37",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 24938882,
"upload_time": "2024-12-13T21:19:35",
"upload_time_iso_8601": "2024-12-13T21:19:35.350591Z",
"url": "https://files.pythonhosted.org/packages/a4/19/02f1fa04680c4a4225e0df93dcc82013ca7e954be7d11e5718c6b8296e47/ibm_db-3.2.4-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f0d4b3d6daac59744c13faecc36a9833b1573cf2000ce7d9ef453e9c33ab720f",
"md5": "0be16f1affb6f035d1e4deee9f7bb622",
"sha256": "cdc3739689aaa9824109c9219b89e8bffd2d852dc69dee00cb9be1e281587d8f"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "0be16f1affb6f035d1e4deee9f7bb622",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 27963175,
"upload_time": "2024-12-13T21:19:41",
"upload_time_iso_8601": "2024-12-13T21:19:41.212443Z",
"url": "https://files.pythonhosted.org/packages/f0/d4/b3d6daac59744c13faecc36a9833b1573cf2000ce7d9ef453e9c33ab720f/ibm_db-3.2.4-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1a3790a60c79e0d6b8a165f6152a2c792fa811f1903656e37d4f53bb0ca208a3",
"md5": "1b86c916f060a25b970ffb084ad8f42d",
"sha256": "20e1ffc7602809aea1844d306e0b4b48df687d5d52206d8328fe1ab4c1c36f32"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "1b86c916f060a25b970ffb084ad8f42d",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": null,
"size": 24168877,
"upload_time": "2024-12-13T21:19:45",
"upload_time_iso_8601": "2024-12-13T21:19:45.956224Z",
"url": "https://files.pythonhosted.org/packages/1a/37/90a60c79e0d6b8a165f6152a2c792fa811f1903656e37d4f53bb0ca208a3/ibm_db-3.2.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6045d5b36ba74a08770766a95326eec2f25b8e694c13f645d4f47e8f7c0948ba",
"md5": "6de3854263f9b3d417a43bc4c6b03761",
"sha256": "ef9e736f1151f20d7e55332ed11fd120492417fa9fda8652ea3c068b8da88153"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "6de3854263f9b3d417a43bc4c6b03761",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": null,
"size": 24120717,
"upload_time": "2024-12-13T21:19:52",
"upload_time_iso_8601": "2024-12-13T21:19:52.239821Z",
"url": "https://files.pythonhosted.org/packages/60/45/d5b36ba74a08770766a95326eec2f25b8e694c13f645d4f47e8f7c0948ba/ibm_db-3.2.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e161e5bc327969a9a38b5630bb95ebf4ec3548363e95dc966c34018ada7e95cd",
"md5": "003ac05475523ef6d9fc6891c3a5c3ae",
"sha256": "e52c3d8aa494b7fe4684714e9eb34d6b4086b688b954a33a78d5bb22ea5c9289"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-pp37-pypy37_pp73-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "003ac05475523ef6d9fc6891c3a5c3ae",
"packagetype": "bdist_wheel",
"python_version": "pp37",
"requires_python": null,
"size": 24168695,
"upload_time": "2024-12-13T21:19:58",
"upload_time_iso_8601": "2024-12-13T21:19:58.243458Z",
"url": "https://files.pythonhosted.org/packages/e1/61/e5bc327969a9a38b5630bb95ebf4ec3548363e95dc966c34018ada7e95cd/ibm_db-3.2.4-pp37-pypy37_pp73-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c3957df0db7a487c9fb16477805cf6ecbfc9c42ce607807d76a76ef26e3506f2",
"md5": "2075273f07185e892264a81747ca41b3",
"sha256": "93822a638f7bdba482e0fe127d3e438c3e2459592e14cd84c624a968bc257392"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-pp38-pypy38_pp73-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "2075273f07185e892264a81747ca41b3",
"packagetype": "bdist_wheel",
"python_version": "pp38",
"requires_python": null,
"size": 24169263,
"upload_time": "2024-12-13T21:20:02",
"upload_time_iso_8601": "2024-12-13T21:20:02.810494Z",
"url": "https://files.pythonhosted.org/packages/c3/95/7df0db7a487c9fb16477805cf6ecbfc9c42ce607807d76a76ef26e3506f2/ibm_db-3.2.4-pp38-pypy38_pp73-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2733d45f656d9ec7ce004d2ebe92a9c7c3945ab3a6f49c878c7ba22821557cac",
"md5": "58ca690c3e2f8b3972372bb733e95516",
"sha256": "023ce4fcd8186d08043fbb62a3ed94793b7d31df152cf323ad19a624581cdf14"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-pp38-pypy38_pp73-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "58ca690c3e2f8b3972372bb733e95516",
"packagetype": "bdist_wheel",
"python_version": "pp38",
"requires_python": null,
"size": 24120944,
"upload_time": "2024-12-13T21:20:08",
"upload_time_iso_8601": "2024-12-13T21:20:08.435507Z",
"url": "https://files.pythonhosted.org/packages/27/33/d45f656d9ec7ce004d2ebe92a9c7c3945ab3a6f49c878c7ba22821557cac/ibm_db-3.2.4-pp38-pypy38_pp73-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a210246a10ab2bb6b792cf56e910bfc993e1f708e843ad589fe43b6ada2b7caa",
"md5": "60f3c6e173e6967f1dcbe51c383a5bac",
"sha256": "83fa99a99052a70f12954e26edafffb05566b668130d7e068cc5cdb0c6c3b368"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "60f3c6e173e6967f1dcbe51c383a5bac",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": null,
"size": 24169433,
"upload_time": "2024-12-13T21:20:14",
"upload_time_iso_8601": "2024-12-13T21:20:14.306912Z",
"url": "https://files.pythonhosted.org/packages/a2/10/246a10ab2bb6b792cf56e910bfc993e1f708e843ad589fe43b6ada2b7caa/ibm_db-3.2.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "040d7faba710d4c57cb7affe08d4fe914dee8b464646250126025e8c87e8f6bb",
"md5": "286a6f40dafa07939445de806cdf3395",
"sha256": "1ff8b9f9c762b031e713afa7aa566c17a324fee7cf2b2180e42dc44950f8d1ac"
},
"downloads": -1,
"filename": "ibm_db-3.2.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "286a6f40dafa07939445de806cdf3395",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": null,
"size": 24121109,
"upload_time": "2024-12-13T21:20:18",
"upload_time_iso_8601": "2024-12-13T21:20:18.706265Z",
"url": "https://files.pythonhosted.org/packages/04/0d/7faba710d4c57cb7affe08d4fe914dee8b464646250126025e8c87e8f6bb/ibm_db-3.2.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-13 21:15:25",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "ibm-db"
}