couchbase


Namecouchbase JSON
Version 4.2.1 PyPI version JSON
download
home_pagehttps://github.com/couchbase/couchbase-python-client
SummaryPython Client for Couchbase
upload_time2024-04-18 17:19:31
maintainerNone
docs_urlhttps://pythonhosted.org/couchbase/
authorCouchbase, Inc.
requires_python>=3.7
licenseApache License 2.0
keywords couchbase nosql pycouchbase libcouchbase
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Couchbase Python Client
Python client for [Couchbase](https://couchbase.com)
>**NOTE:** This is the documentation for the 4.x version of the client. This is mostly compatible with the older 3.x version. Please refer to the *release32* branch for the older 3.x version.


# Contents<a id="contents"></a>
- [Prerequisites](#prerequisites)
- [Installing](#installing)
- [Building](#building)
- [Using the SDK](#using-the-sdk)
- [Building Documentation](#building-documentation)
- [Testing](#testing)
- [Contributing](#contributing)
- [Support & Additional Resources](#support-additional-resources)
- [License](#license)
- [Appendix](#appendix)

# Prerequisites<a id="prerequisites"></a>

- [Couchbase Server](http://couchbase.com/download)
- You may need a C++ compiler supporting C++ 17 and Python development files, unless a
  binary wheel is available for your platform. With the 4.0.2 release, wheels are available on Windows, MacOS and Linux (via manylinux) for Python 3.7 - 3.10.
- CMake (version >= 3.18), unless a binary wheel is available for your platform.
- Git, unless a binary wheel is available for your platform.
- OpenSSL is now required for the 4.x Python SDK.
- If using the Twisted Framework and the txcouchbase API, Twisted >= 21.7.0 is required.

## Debian and Ubuntu<a id="pre-deb-ubuntu"></a>

First-time setup:
```console
$ sudo apt install git-all python3-dev python3-pip python3-setuptools cmake build-essential libssl-dev
```

>**NOTE:** We have provided *Dockerfiles* to demonstrate steps to achieve a working setup for various linux platforms. See the [dockerfiles folder](https://github.com/couchbase/couchbase-python-client/tree/master/examples/dockerfiles) in the Python SDK examples folder for details.

See [Debian and Ubuntu](#install-deb-ubuntu) install section to install SDK.

## RHEL and CentOS<a id="pre-rhel-centos"></a>

First-time setup:
```console
$ sudo yum install git-all gcc gcc-c++ python3-devel python3-pip python3-setuptools cmake openssl-devel
```

>:exclamation:**IMPORTANT**:exclamation:<br>Some of the defaults for older operating systems like Centos/RHEL 7 and 8 have defaults to do not meet the 4.x Python SDK [minimum requirements](prerequisites). Be sure to update to the minimum requirements prior to installing the SDK.  Most notably be sure to check the following:
>- The default Python version might be less than 3.7.  If so, the Python version _will_ need to be udpated.
>- The default OpenSSL version might be less than 1.1.1.  If so, the OpenSSL version _will_ need to be updated.
>- The gcc version must provide C++17 support.  If the installed gcc version does not support C++17, gcc _will_ need to be updated.
>- The installed CMake version might be less than 3.17.  If so, the CMake version _will_ need to be updated.  Check out the steps [here](https://idroot.us/install-cmake-centos-8/) to update CMake.

>**NOTE:** We have provided *Dockerfiles* to demonstrate steps to achieve a working setup for various linux platforms. See the [dockerfiles folder](https://github.com/couchbase/couchbase-python-client/tree/master/examples/dockerfiles) in the Python SDK examples folder for details.

See [RHEL and Centos](#install-rhel-centos) install section to install SDK.

## Mac OS<a id="pre-macos"></a>

It is not recommended to use the vendor-supplied Python that ships with OS X. Best practice is to use a Python virtual environment such as pyenv or venv (after another version of Python that is not vendor-supplied has been installed) to manage multiple versions of Python.

>:exclamation:**IMPORTANT**:exclamation:<br>There can be a problem when using the Python (3.8.2) that ships with Xcode on Catalina.    It is advised to install Python with one of the following:
>- [pyenv](#macos-pyenv)
>- [Homebrew](#macos-homebrew)
>- Install Python via [python.org](https://www.python.org/downloads)

### pyenv<a id="macos-pyenv"></a>

See detailed walk through in [Appendix](#appendix-pyenv).  Also, see pyenv install [docs](https://github.com/pyenv/pyenv#homebrew-on-macos) for further details.

>**NOTE:** If using pyenv, make sure the python interpreter is the pyenv default, or a virtual environment has been activiated.  Otherwise cmake might not be able to find the correct version of Python3 to use when building.

### Homebrew<a id="macos-homebrew"></a>

See Homebrew install [docs](https://brew.sh/) for further details.

Get the latest packages:
```console
$ brew update
```

Install Python:
```console
$ brew install python
```

Update path:

- **zsh:**
    ```console
    $ echo 'export PATH="/usr/local/bin:"$PATH' >> ~/.zshrc
    ```
- **bash:**
    ```console
    $ echo 'export PATH="/usr/local/bin:"$PATH' >> ~/.bash_profile
    ```

Install OpenSSL:
```console
$ brew install openssl@1.1
```

To get OpenSSL to be found by cmake on macos, find where openssl was
installed via homebrew:

```
brew info openssl@1.1
```

This will show you how to get it seen by pkg-config. To check that it
worked, do this:

```
pkg-config --modversion openssl
```

See [Mac OS](#install-macos) install section to install SDK.

## Windows<a id="pre-windows"></a>

Wheels are available on Windows for Python 3.7, 3.8, 3.9 and 3.10.

Best practice is to use a Python virtual environment such as venv or pyenv (checkout the [pyenv-win](https://github.com/pyenv-win/pyenv-win) project) to manage multiple versions of Python.

If wanting to install from source, see the [Windows building](#building-windows) section for details.

See [Windows install](#install-windows) section to install SDK.

# Installing<a id="installing"></a>
[Back to Contents](#contents)

You can always get the latest supported release version from [pypi](https://pypi.org/project/couchbase/).

>**NOTE:** If you have a recent version of *pip*, you may use the latest development version by issuing the following incantation:
>```console
>pip install git+https://github.com/couchbase/couchbase-python-client.git
>```

>**NOTE:** The Python Client installer relies on PEP517 which older versions of PIP do not support. If you experience issues installing it is advised to upgrade your PIP/setuptools installation as follows:<br>
>```console
>python3 -m pip install --upgrade pip setuptools wheel
>```


## Debian and Ubuntu<a id="install-deb-ubuntu"></a>

First, make sure the [prerequisites](#pre-deb-ubuntu) have been installed.

Install the SDK:
```console
$ python3 -m pip install couchbase
```

## RHEL and CentOS<a id="install-rhel-centos"></a>

First, make sure the [prerequisites](#pre-rhel-centos) have been installed.

Install the SDK:
```console
$ python3 -m pip install couchbase
```

## Mac OS<a id="install-macos"></a>

First, make sure the [prerequisites](#pre-macos) have been installed.

Install the SDK:
```console
$ python -m pip install couchbase
```


## Windows<a id="install-windows"></a>

First, make sure the [prerequisites](#pre-windows) have been installed.

>**NOTE:** Commands assume user is working within a virtual environment.  For example, the following commands have been executed after downloading and installing Python from [python.org](https://www.python.org/downloads/):<br>
>-```C:\Users\Administrator\AppData\Local\Programs\Python\Python39\python -m venv C:\python\python39```<br>
>-```C:\python\python39\Scripts\activate```

Install the SDK (if using Python 3.7, 3.8, 3.9 or 3.10):
```console
python -m pip install couchbase
```

### Alternative Installation Methods<a id="install-windows-alt"></a>

In order to successfully install with the following methods, ensure a proper build system is in place (see the [Windows building](#building-windows) section for details).

#### Source Install (i.e. no wheel)

First, ensure all the [requirements](#building-windows) for a build system are met.

Install the SDK:
```console
python -m pip install couchbase --no-binary couchbase
```

#### Local Install

First, ensure all the [requirements](#building-windows) for a build system are met.

Clone this Python SDK repository:
```console
git clone --depth 1 --branch <tag_name> --recurse-submodules https://github.com/couchbase/couchbase-python-client.git
```

>Where tag_name is equal to the latest release.<br>
Example: ```git clone --depth 1 --branch 4.0.0 --recurse-submodules https://github.com/couchbase/couchbase-python-client.git```

Move into the directory created after cloning the Python SDK repository:
```console
cd couchbase-python-client
```

>**NOTE:** If the ```--recurse-submodules``` option was not used when cloning the Python SDK repository, run (after moving into the cloned repository directory) ```git submodule update --init --recursive``` to recursively update and initialize the submodules.

Install the SDK from source:
```console
python -m pip install .
```

## Anaconda/Miniconda<a id="install-anaconda"></a>

To use the SDK within the Anaconda/Miniconda platform, make sure the prerequisites for the desired Operating System are met:
- [Debian and Ubuntu](#pre-deb-ubuntu)
- [RHEL and Centos](#pre-rhel-centos)
- [Mac OS](#pre-macos)
- [Windows](#pre-windows)

In the *Anaconda Prompt*, create a new environment:
```console
(base) C:\Users\user1>conda create -n test_env python=3.9
```

Activate the environment
```console
(base) C:\Users\user1>conda activate test_env
```

Install the SDK:
```console
(test_env) C:\Users\user1>python -m pip install couchbase
```

>**NOTE:** If using Windows, and no wheel is available, see the [Alternative Install Methods Windows](#install-windows-alt) section.  The same process should work within the Anaconda/Miniconda platform.

# Building<a id="building"></a>
[Back to Contents](#contents)

>**NOTE:** This section only applies to building from source.

## Build System Setup
### Linux<a id="building-linux"></a>

Make sure the prerequisites have been installed:
- [Debian and Ubuntu](#pre-deb-ubuntu)
- [RHEL and Centos](#pre-rhel-centos)

### Mac OS<a id="building-macos"></a>
First, make sure the [prerequisites](#pre-macos) have been installed.

Install cmake:
```console
$ brew install cmake
```

Install command line developer tools:
```
$ xcode-select --install
```

>**NOTE:** It is possible that installing or updating to the the latest version of [Xcode](https://developer.apple.com/download) is needed.

If setuptools is not installed:
```console
$ python -m pip install setuptools
```

### Windows<a id="building-windows"></a>
#### Requirements
- Download and install [Git](https://git-scm.com/downloads)
- Download and install [Visual Studio 2019](https://visualstudio.microsoft.com/downloads/)
    + Check *Desktop development with C++* prior to installing
- Download and install [CMake](https://cmake.org/download/) >= v 3.18
- Download and install [Python](https://www.python.org/downloads/)

#### VS2019 Notes

If seeing issues when trying to build (steps in [](#)), some things to check/try:
- Try running the build commands within the *Developer Command Prompt for VS2019*
- Make sure *MSBuild* can find the correct *VCTargetsPath*
    + It is possible the *VCTargetsPath* environment variable needs to be set.  The below example is based on a typical path, but the actual setting should match that of your current environment setup.
        * ```set VCTargetsPath=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160```
- Make sure *CMake* is picking up the correct generator
    + It is possible the *CMAKE_GENERATOR* environment variable needs to be set
        * ```set CMAKE_GENERATOR=Visual Studio 16 2019```

## Build the Python SDK
Clone this Python SDK repository:
```console
git clone --depth 1 --recurse-submodules https://github.com/couchbase/couchbase-python-client.git
```

>**NOTE:** If the ```--recurse-submodules``` option was not used when cloning the Python SDK repository, run (after moving into the cloned repository directory) ```git submodule update --init --recursive``` to recursively update and initialize the submodules.

Move into the directory created after cloning the Python SDK repository:
```console
cd couchbase-python-client
```

The following will compile the module locally:
```console
python setup.py build_ext --inplace
```

You can also modify the environment ```CFLAGS``` and ```LDFLAGS``` variables.

>:exclamation:**WARNING:** If you do not intend to install this module, ensure you set the ```PYTHONPATH``` environment variable to this directory before running any scripts depending on it. Failing to do so may result in your script running against an older version of this module (if installed), or throwing an exception stating that the ```couchbase``` module could not be found.

## Install
```console
pip install .
```

>:exclamation:**WARNING:** If you are on Linux/Mac OS you may need to remove the build directory: ```rm -rf ./build``` before installing with pip: ```pip3 install .```.

# Using the SDK<a id="using-the-sdk"></a>
[Back to Contents](#contents)

## Connecting<a id="sdk-connecting"></a>

See [official documentation](https://docs.couchbase.com/python-sdk/current/howtos/managing-connections.html) for further details on connecting.

```python
# needed for any cluster connection
from couchbase.cluster import Cluster
from couchbase.auth import PasswordAuthenticator

# options for a cluster and SQL++ (N1QL) queries
from couchbase.options import ClusterOptions, QueryOptions

# get a reference to our cluster
cluster = Cluster.connect('couchbase://localhost', ClusterOptions(
  PasswordAuthenticator('Administrator', 'password')))
```

>**NOTE:** The authenticator is always required.

## Basic Operations<a id="sdk-basic-ops"></a>

See official documentation for further details on [Working with Data](https://docs.couchbase.com/python-sdk/current/howtos/kv-operations.html).

Building upon the example code in the [Connecting](#sdk-connecting) section:

```python
# get a reference to our bucket
cb = cluster.bucket('travel-sample')

# get a reference to the default collection
cb_coll = cb.default_collection()

# get a document
result = cb_coll.get('airline_10')
print(result.content_as[dict])

# using SQL++ (a.k.a N1QL)
call_sign = 'CBS'
sql_query = 'SELECT VALUE name FROM `travel-sample` WHERE type = "airline" AND callsign = $1'
query_res = cluster.query(sql_query, QueryOptions(positional_parameters=[call_sign]))
for row in query_res:
    print(row)
```

## Async Operations<a id="sdk-async-ops"></a>
The Python Couchbase SDK supports asynchronous I/O through the use of the asyncio (Python standard library) or the Twisted async framework.

### Asyncio

To use asyncio, import ```acouchbase.cluster``` instead of ```couchbase.cluster```.  The ```acouchbase``` API offers an API similar to the ```couchbase``` API.

```python
from acouchbase.cluster import Cluster, get_event_loop
from couchbase.options import ClusterOptions
from couchbase.auth import PasswordAuthenticator


async def write_and_read(key, value):
    cluster = await Cluster.connect('couchbase://localhost',
                      ClusterOptions(PasswordAuthenticator('Administrator', 'password')))
    cb = cluster.bucket('default')
    await cb.on_connect()
    cb_coll = cb.default_collection()
    await cb_coll.upsert(key, value)
    result = await cb_coll.get(key)
    return result

loop = get_event_loop()
rv = loop.run_until_complete(write_and_read('foo', 'bar'))
print(rv.content_as[str])
```
### Twisted

To use with Twisted, import ```txcouchbase.cluster``` instead of ```couchbase.cluster```.  The ```txcouchbase``` API offers an API similar to the ```couchbase``` API.

>**NOTE:** The minimum required Twisted version is 21.7.0.

>:exclamation:**WARNING:** The 4.x SDK introduced a breaking change where the txcouchbase package must be imported _prior_ to importing the reactor (see example below).  This is so that the asyncio reactor can be installed.


```python
# IMPORTANT -- the txcouchbase import must occur PRIOR to importing the reactor
import txcouchbase
from twisted.internet import reactor, defer

from txcouchbase.cluster import TxCluster
from couchbase.options import ClusterOptions
from couchbase.auth import PasswordAuthenticator


def after_upsert(res, key, d):
    print('Set key.  Result CAS: ', res.cas)
    # trigger get_document callback
    d.callback(key)

def upsert_document(key, doc):
    d = defer.Deferred()
    res = cb.upsert(key, doc)
    res.addCallback(after_upsert, key, d)
    return d

def on_get(res, _type=str):
    print('Got res: \n', res.content_as[_type])
    reactor.stop()

def get_document(key):
    res = cb.get(key)
    res.addCallback(on_get)


# create a cluster object
cluster = TxCluster('couchbase://localhost',
                    ClusterOptions(PasswordAuthenticator('Administrator', 'password')))

# create a bucket object
bucket = cluster.bucket('default')
# create a collection object
cb = bucket.default_collection()

d = upsert_document('testDoc_1', {'id': 1, 'type': 'testDoc', 'info': 'fake document'})
d.addCallback(get_document)

reactor.run()
```
# Building Documentation<a id="building-documentation"></a>
[Back to Contents](#contents)

The documentation is using Sphinx and a number of extensions.  To build the documentation be sure to
``pip install`` the sphinx_requirements.txt.

```console
python3 -m pip install -r sphinx_requirements.txt
```

To build the documentation, go into the docs directory and run:
```console
make html
```
The HTML output can be found in docs/build/html/.

Alternatively, you can also build the documentation from the top-level directory:
```console
python setup.py build_sphinx
```

Once built, the docs will be in in build/sphinx/html.  You can open the index.html file with the following command:
```console
open docs/build/sphinx/html/index.html
```

# Testing<a id="testing"></a>
[Back to Contents](#contents)

For running the tests, be sure to ``pip install`` the dev_requirements.txt.  The Couchbase Python SDK uses pytest for the test suite.

```console
python3 -m pip install -r dev_requirements.txt
```

The tests need a running Couchbase instance. For this, a test_config.ini file must be present, containing various connection parameters. The default test_config.ini file may be found in the tests directory. You may modify the values of the test_config.ini file as needed.

To run the tests for the blocking API (i.e. couchbase API):
```console
python -m pytest -m pycbc_couchbase -p no:asyncio -v -p no:warnings
```

To run the tests for the asyncio API (i.e. acouchbase API):
```console
python -m pytest -m pycbc_acouchbase --asyncio-mode=strict -v -p no:warnings
```

# Contributing<a id="contributing"></a>
[Back to Contents](#contents)

We welcome contributions from the community!  Please see follow the steps outlined [here](https://github.com/couchbase/couchbase-python-client/blob/master/CONTRIBUTING.md) to get started.

The Python SDK uses pre-commit in order to handle linting, formatting and verifying the code base.
pre-commit can be installed either by installing the development requirements:

```
python3 -m pip install -r dev_requirements.txt
```

Or by installing pre-commit separately
```
python3 -m pip install pre-commit
```

To run pre-commit, use the following:
```
pre-commit run --all-files
```

# License
[Back to Contents](#contents)

The Couchbase Python SDK is licensed under the Apache License 2.0.

See [LICENSE](https://github.com/couchbase/couchbase-python-client/blob/master/LICENSE) for further details.

# Support & Additional Resources<a id="support-additional-resources"></a>
[Back to Contents](#contents)

If you found an issue, please file it in our [JIRA](https://issues.couchbase.com/projects/PYCBC/issues/).

The Couchbase Discord server is a place where you can collaborate about all things Couchbase. Connect with others from the community, learn tips and tricks, and ask questions.  [Join Discord and contribute](https://discord.com/invite/sQ5qbPZuTh).

You can ask questions in our [forums](https://forums.couchbase.com/).

The [official documentation](https://docs.couchbase.com/python-sdk/current/hello-world/start-using-sdk.html) can be consulted as well for general Couchbase concepts and offers a more didactic approach to using the SDK.

# Appendix<a id="appendix"></a>
[Back to Contents](#contents)

### Mac OS pyenv Install<a id="appendix-pyenv"></a>
See pyenv install [docs](https://github.com/pyenv/pyenv#homebrew-on-macos) for further details.

Get the latest packages:
```console
$ brew update
```

For TLS/SSL support:
```console
$ brew install openssl@1.1
```

Install pyenv:
```console
$ brew install pyenv
```

>**NOTE:** It is possible that Xcode might need to be reinstalled.  Try **one** of the following:<br>
>- Use command ```xcode-select --install```
>- Install the latest version of [Xcode](https://developer.apple.com/download)

For *Zsh*, run the following commands to update *.zprofile* and *.zshrc*.  See pyenv install [docs](https://github.com/pyenv/pyenv#homebrew-on-macos) for further details on other shells.

```console
$ echo 'eval "$(pyenv init --path)"' >> ~/.zprofile
```

```console
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
```

>**NOTE:** You need to restart your login session for changes to take affect.  On MacOS, restarting terminal windows should suffice.

Install Python version:
```console
$ pyenv install 3.9.7
```

Set local shell to installed Python version:
```console
$  pyenv local 3.9.7
```

To use virtualenvwrapper with pyenv, install pyenv-virtualenvwrapper:
```console
$ brew install pyenv-virtualenvwrapper
```

To setup a virtualenvwrapper in your pyenv shell, run either ```pyenv virtualenvwrapper``` or ```pyenv virtualenvwrapper_lazy```

>**NOTE:** If issues with ```pyenv virtualenvwrapper```, using ```python -m pip install virtualenvwrapper``` should accomplish the same goal.

Make a virtualenv:
```console
$ mkvirtualenv python-3.9.7-test
```

Install the SDK:
```console
$ python -m pip install couchbase
```

### Run individual pre-commit commands<a id="appendix-precommit"></a>
To run pre-commit hooks separately, use the following.

#### autopep8
```
pre-commit run autopep8 --all-files
```

#### bandit
```
pre-commit run bandit --all-files
```

#### clang-format
```
pre-commit run clang-format --all-files
```

#### flake8
```
pre-commit run flake8 --all-files
```

#### isort
```
pre-commit run isort --all-files
```

#### trailing whitespace
```
pre-commit run trailing-whitespace --all-files
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/couchbase/couchbase-python-client",
    "name": "couchbase",
    "maintainer": null,
    "docs_url": "https://pythonhosted.org/couchbase/",
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "couchbase, nosql, pycouchbase, libcouchbase",
    "author": "Couchbase, Inc.",
    "author_email": "PythonPackage@couchbase.com",
    "download_url": "https://files.pythonhosted.org/packages/01/25/c7db34e70a9e4b4a909cebff8f60423f6e2e7170602f2ccb54f049ac2e3a/couchbase-4.2.1.tar.gz",
    "platform": null,
    "description": "# Couchbase Python Client\nPython client for [Couchbase](https://couchbase.com)\n>**NOTE:** This is the documentation for the 4.x version of the client. This is mostly compatible with the older 3.x version. Please refer to the *release32* branch for the older 3.x version.\n\n\n# Contents<a id=\"contents\"></a>\n- [Prerequisites](#prerequisites)\n- [Installing](#installing)\n- [Building](#building)\n- [Using the SDK](#using-the-sdk)\n- [Building Documentation](#building-documentation)\n- [Testing](#testing)\n- [Contributing](#contributing)\n- [Support & Additional Resources](#support-additional-resources)\n- [License](#license)\n- [Appendix](#appendix)\n\n# Prerequisites<a id=\"prerequisites\"></a>\n\n- [Couchbase Server](http://couchbase.com/download)\n- You may need a C++ compiler supporting C++ 17 and Python development files, unless a\n  binary wheel is available for your platform. With the 4.0.2 release, wheels are available on Windows, MacOS and Linux (via manylinux) for Python 3.7 - 3.10.\n- CMake (version >= 3.18), unless a binary wheel is available for your platform.\n- Git, unless a binary wheel is available for your platform.\n- OpenSSL is now required for the 4.x Python SDK.\n- If using the Twisted Framework and the txcouchbase API, Twisted >= 21.7.0 is required.\n\n## Debian and Ubuntu<a id=\"pre-deb-ubuntu\"></a>\n\nFirst-time setup:\n```console\n$ sudo apt install git-all python3-dev python3-pip python3-setuptools cmake build-essential libssl-dev\n```\n\n>**NOTE:** We have provided *Dockerfiles* to demonstrate steps to achieve a working setup for various linux platforms. See the [dockerfiles folder](https://github.com/couchbase/couchbase-python-client/tree/master/examples/dockerfiles) in the Python SDK examples folder for details.\n\nSee [Debian and Ubuntu](#install-deb-ubuntu) install section to install SDK.\n\n## RHEL and CentOS<a id=\"pre-rhel-centos\"></a>\n\nFirst-time setup:\n```console\n$ sudo yum install git-all gcc gcc-c++ python3-devel python3-pip python3-setuptools cmake openssl-devel\n```\n\n>:exclamation:**IMPORTANT**:exclamation:<br>Some of the defaults for older operating systems like Centos/RHEL 7 and 8 have defaults to do not meet the 4.x Python SDK [minimum requirements](prerequisites). Be sure to update to the minimum requirements prior to installing the SDK.  Most notably be sure to check the following:\n>- The default Python version might be less than 3.7.  If so, the Python version _will_ need to be udpated.\n>- The default OpenSSL version might be less than 1.1.1.  If so, the OpenSSL version _will_ need to be updated.\n>- The gcc version must provide C++17 support.  If the installed gcc version does not support C++17, gcc _will_ need to be updated.\n>- The installed CMake version might be less than 3.17.  If so, the CMake version _will_ need to be updated.  Check out the steps [here](https://idroot.us/install-cmake-centos-8/) to update CMake.\n\n>**NOTE:** We have provided *Dockerfiles* to demonstrate steps to achieve a working setup for various linux platforms. See the [dockerfiles folder](https://github.com/couchbase/couchbase-python-client/tree/master/examples/dockerfiles) in the Python SDK examples folder for details.\n\nSee [RHEL and Centos](#install-rhel-centos) install section to install SDK.\n\n## Mac OS<a id=\"pre-macos\"></a>\n\nIt is not recommended to use the vendor-supplied Python that ships with OS X. Best practice is to use a Python virtual environment such as pyenv or venv (after another version of Python that is not vendor-supplied has been installed) to manage multiple versions of Python.\n\n>:exclamation:**IMPORTANT**:exclamation:<br>There can be a problem when using the Python (3.8.2) that ships with Xcode on Catalina.    It is advised to install Python with one of the following:\n>- [pyenv](#macos-pyenv)\n>- [Homebrew](#macos-homebrew)\n>- Install Python via [python.org](https://www.python.org/downloads)\n\n### pyenv<a id=\"macos-pyenv\"></a>\n\nSee detailed walk through in [Appendix](#appendix-pyenv).  Also, see pyenv install [docs](https://github.com/pyenv/pyenv#homebrew-on-macos) for further details.\n\n>**NOTE:** If using pyenv, make sure the python interpreter is the pyenv default, or a virtual environment has been activiated.  Otherwise cmake might not be able to find the correct version of Python3 to use when building.\n\n### Homebrew<a id=\"macos-homebrew\"></a>\n\nSee Homebrew install [docs](https://brew.sh/) for further details.\n\nGet the latest packages:\n```console\n$ brew update\n```\n\nInstall Python:\n```console\n$ brew install python\n```\n\nUpdate path:\n\n- **zsh:**\n    ```console\n    $ echo 'export PATH=\"/usr/local/bin:\"$PATH' >> ~/.zshrc\n    ```\n- **bash:**\n    ```console\n    $ echo 'export PATH=\"/usr/local/bin:\"$PATH' >> ~/.bash_profile\n    ```\n\nInstall OpenSSL:\n```console\n$ brew install openssl@1.1\n```\n\nTo get OpenSSL to be found by cmake on macos, find where openssl was\ninstalled via homebrew:\n\n```\nbrew info openssl@1.1\n```\n\nThis will show you how to get it seen by pkg-config. To check that it\nworked, do this:\n\n```\npkg-config --modversion openssl\n```\n\nSee [Mac OS](#install-macos) install section to install SDK.\n\n## Windows<a id=\"pre-windows\"></a>\n\nWheels are available on Windows for Python 3.7, 3.8, 3.9 and 3.10.\n\nBest practice is to use a Python virtual environment such as venv or pyenv (checkout the [pyenv-win](https://github.com/pyenv-win/pyenv-win) project) to manage multiple versions of Python.\n\nIf wanting to install from source, see the [Windows building](#building-windows) section for details.\n\nSee [Windows install](#install-windows) section to install SDK.\n\n# Installing<a id=\"installing\"></a>\n[Back to Contents](#contents)\n\nYou can always get the latest supported release version from [pypi](https://pypi.org/project/couchbase/).\n\n>**NOTE:** If you have a recent version of *pip*, you may use the latest development version by issuing the following incantation:\n>```console\n>pip install git+https://github.com/couchbase/couchbase-python-client.git\n>```\n\n>**NOTE:** The Python Client installer relies on PEP517 which older versions of PIP do not support. If you experience issues installing it is advised to upgrade your PIP/setuptools installation as follows:<br>\n>```console\n>python3 -m pip install --upgrade pip setuptools wheel\n>```\n\n\n## Debian and Ubuntu<a id=\"install-deb-ubuntu\"></a>\n\nFirst, make sure the [prerequisites](#pre-deb-ubuntu) have been installed.\n\nInstall the SDK:\n```console\n$ python3 -m pip install couchbase\n```\n\n## RHEL and CentOS<a id=\"install-rhel-centos\"></a>\n\nFirst, make sure the [prerequisites](#pre-rhel-centos) have been installed.\n\nInstall the SDK:\n```console\n$ python3 -m pip install couchbase\n```\n\n## Mac OS<a id=\"install-macos\"></a>\n\nFirst, make sure the [prerequisites](#pre-macos) have been installed.\n\nInstall the SDK:\n```console\n$ python -m pip install couchbase\n```\n\n\n## Windows<a id=\"install-windows\"></a>\n\nFirst, make sure the [prerequisites](#pre-windows) have been installed.\n\n>**NOTE:** Commands assume user is working within a virtual environment.  For example, the following commands have been executed after downloading and installing Python from [python.org](https://www.python.org/downloads/):<br>\n>-```C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python39\\python -m venv C:\\python\\python39```<br>\n>-```C:\\python\\python39\\Scripts\\activate```\n\nInstall the SDK (if using Python 3.7, 3.8, 3.9 or 3.10):\n```console\npython -m pip install couchbase\n```\n\n### Alternative Installation Methods<a id=\"install-windows-alt\"></a>\n\nIn order to successfully install with the following methods, ensure a proper build system is in place (see the [Windows building](#building-windows) section for details).\n\n#### Source Install (i.e. no wheel)\n\nFirst, ensure all the [requirements](#building-windows) for a build system are met.\n\nInstall the SDK:\n```console\npython -m pip install couchbase --no-binary couchbase\n```\n\n#### Local Install\n\nFirst, ensure all the [requirements](#building-windows) for a build system are met.\n\nClone this Python SDK repository:\n```console\ngit clone --depth 1 --branch <tag_name> --recurse-submodules https://github.com/couchbase/couchbase-python-client.git\n```\n\n>Where tag_name is equal to the latest release.<br>\nExample: ```git clone --depth 1 --branch 4.0.0 --recurse-submodules https://github.com/couchbase/couchbase-python-client.git```\n\nMove into the directory created after cloning the Python SDK repository:\n```console\ncd couchbase-python-client\n```\n\n>**NOTE:** If the ```--recurse-submodules``` option was not used when cloning the Python SDK repository, run (after moving into the cloned repository directory) ```git submodule update --init --recursive``` to recursively update and initialize the submodules.\n\nInstall the SDK from source:\n```console\npython -m pip install .\n```\n\n## Anaconda/Miniconda<a id=\"install-anaconda\"></a>\n\nTo use the SDK within the Anaconda/Miniconda platform, make sure the prerequisites for the desired Operating System are met:\n- [Debian and Ubuntu](#pre-deb-ubuntu)\n- [RHEL and Centos](#pre-rhel-centos)\n- [Mac OS](#pre-macos)\n- [Windows](#pre-windows)\n\nIn the *Anaconda Prompt*, create a new environment:\n```console\n(base) C:\\Users\\user1>conda create -n test_env python=3.9\n```\n\nActivate the environment\n```console\n(base) C:\\Users\\user1>conda activate test_env\n```\n\nInstall the SDK:\n```console\n(test_env) C:\\Users\\user1>python -m pip install couchbase\n```\n\n>**NOTE:** If using Windows, and no wheel is available, see the [Alternative Install Methods Windows](#install-windows-alt) section.  The same process should work within the Anaconda/Miniconda platform.\n\n# Building<a id=\"building\"></a>\n[Back to Contents](#contents)\n\n>**NOTE:** This section only applies to building from source.\n\n## Build System Setup\n### Linux<a id=\"building-linux\"></a>\n\nMake sure the prerequisites have been installed:\n- [Debian and Ubuntu](#pre-deb-ubuntu)\n- [RHEL and Centos](#pre-rhel-centos)\n\n### Mac OS<a id=\"building-macos\"></a>\nFirst, make sure the [prerequisites](#pre-macos) have been installed.\n\nInstall cmake:\n```console\n$ brew install cmake\n```\n\nInstall command line developer tools:\n```\n$ xcode-select --install\n```\n\n>**NOTE:** It is possible that installing or updating to the the latest version of [Xcode](https://developer.apple.com/download) is needed.\n\nIf setuptools is not installed:\n```console\n$ python -m pip install setuptools\n```\n\n### Windows<a id=\"building-windows\"></a>\n#### Requirements\n- Download and install [Git](https://git-scm.com/downloads)\n- Download and install [Visual Studio 2019](https://visualstudio.microsoft.com/downloads/)\n    + Check *Desktop development with C++* prior to installing\n- Download and install [CMake](https://cmake.org/download/) >= v 3.18\n- Download and install [Python](https://www.python.org/downloads/)\n\n#### VS2019 Notes\n\nIf seeing issues when trying to build (steps in [](#)), some things to check/try:\n- Try running the build commands within the *Developer Command Prompt for VS2019*\n- Make sure *MSBuild* can find the correct *VCTargetsPath*\n    + It is possible the *VCTargetsPath* environment variable needs to be set.  The below example is based on a typical path, but the actual setting should match that of your current environment setup.\n        * ```set VCTargetsPath=C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\MSBuild\\Microsoft\\VC\\v160```\n- Make sure *CMake* is picking up the correct generator\n    + It is possible the *CMAKE_GENERATOR* environment variable needs to be set\n        * ```set CMAKE_GENERATOR=Visual Studio 16 2019```\n\n## Build the Python SDK\nClone this Python SDK repository:\n```console\ngit clone --depth 1 --recurse-submodules https://github.com/couchbase/couchbase-python-client.git\n```\n\n>**NOTE:** If the ```--recurse-submodules``` option was not used when cloning the Python SDK repository, run (after moving into the cloned repository directory) ```git submodule update --init --recursive``` to recursively update and initialize the submodules.\n\nMove into the directory created after cloning the Python SDK repository:\n```console\ncd couchbase-python-client\n```\n\nThe following will compile the module locally:\n```console\npython setup.py build_ext --inplace\n```\n\nYou can also modify the environment ```CFLAGS``` and ```LDFLAGS``` variables.\n\n>:exclamation:**WARNING:** If you do not intend to install this module, ensure you set the ```PYTHONPATH``` environment variable to this directory before running any scripts depending on it. Failing to do so may result in your script running against an older version of this module (if installed), or throwing an exception stating that the ```couchbase``` module could not be found.\n\n## Install\n```console\npip install .\n```\n\n>:exclamation:**WARNING:** If you are on Linux/Mac OS you may need to remove the build directory: ```rm -rf ./build``` before installing with pip: ```pip3 install .```.\n\n# Using the SDK<a id=\"using-the-sdk\"></a>\n[Back to Contents](#contents)\n\n## Connecting<a id=\"sdk-connecting\"></a>\n\nSee [official documentation](https://docs.couchbase.com/python-sdk/current/howtos/managing-connections.html) for further details on connecting.\n\n```python\n# needed for any cluster connection\nfrom couchbase.cluster import Cluster\nfrom couchbase.auth import PasswordAuthenticator\n\n# options for a cluster and SQL++ (N1QL) queries\nfrom couchbase.options import ClusterOptions, QueryOptions\n\n# get a reference to our cluster\ncluster = Cluster.connect('couchbase://localhost', ClusterOptions(\n  PasswordAuthenticator('Administrator', 'password')))\n```\n\n>**NOTE:** The authenticator is always required.\n\n## Basic Operations<a id=\"sdk-basic-ops\"></a>\n\nSee official documentation for further details on [Working with Data](https://docs.couchbase.com/python-sdk/current/howtos/kv-operations.html).\n\nBuilding upon the example code in the [Connecting](#sdk-connecting) section:\n\n```python\n# get a reference to our bucket\ncb = cluster.bucket('travel-sample')\n\n# get a reference to the default collection\ncb_coll = cb.default_collection()\n\n# get a document\nresult = cb_coll.get('airline_10')\nprint(result.content_as[dict])\n\n# using SQL++ (a.k.a N1QL)\ncall_sign = 'CBS'\nsql_query = 'SELECT VALUE name FROM `travel-sample` WHERE type = \"airline\" AND callsign = $1'\nquery_res = cluster.query(sql_query, QueryOptions(positional_parameters=[call_sign]))\nfor row in query_res:\n    print(row)\n```\n\n## Async Operations<a id=\"sdk-async-ops\"></a>\nThe Python Couchbase SDK supports asynchronous I/O through the use of the asyncio (Python standard library) or the Twisted async framework.\n\n### Asyncio\n\nTo use asyncio, import ```acouchbase.cluster``` instead of ```couchbase.cluster```.  The ```acouchbase``` API offers an API similar to the ```couchbase``` API.\n\n```python\nfrom acouchbase.cluster import Cluster, get_event_loop\nfrom couchbase.options import ClusterOptions\nfrom couchbase.auth import PasswordAuthenticator\n\n\nasync def write_and_read(key, value):\n    cluster = await Cluster.connect('couchbase://localhost',\n                      ClusterOptions(PasswordAuthenticator('Administrator', 'password')))\n    cb = cluster.bucket('default')\n    await cb.on_connect()\n    cb_coll = cb.default_collection()\n    await cb_coll.upsert(key, value)\n    result = await cb_coll.get(key)\n    return result\n\nloop = get_event_loop()\nrv = loop.run_until_complete(write_and_read('foo', 'bar'))\nprint(rv.content_as[str])\n```\n### Twisted\n\nTo use with Twisted, import ```txcouchbase.cluster``` instead of ```couchbase.cluster```.  The ```txcouchbase``` API offers an API similar to the ```couchbase``` API.\n\n>**NOTE:** The minimum required Twisted version is 21.7.0.\n\n>:exclamation:**WARNING:** The 4.x SDK introduced a breaking change where the txcouchbase package must be imported _prior_ to importing the reactor (see example below).  This is so that the asyncio reactor can be installed.\n\n\n```python\n# IMPORTANT -- the txcouchbase import must occur PRIOR to importing the reactor\nimport txcouchbase\nfrom twisted.internet import reactor, defer\n\nfrom txcouchbase.cluster import TxCluster\nfrom couchbase.options import ClusterOptions\nfrom couchbase.auth import PasswordAuthenticator\n\n\ndef after_upsert(res, key, d):\n    print('Set key.  Result CAS: ', res.cas)\n    # trigger get_document callback\n    d.callback(key)\n\ndef upsert_document(key, doc):\n    d = defer.Deferred()\n    res = cb.upsert(key, doc)\n    res.addCallback(after_upsert, key, d)\n    return d\n\ndef on_get(res, _type=str):\n    print('Got res: \\n', res.content_as[_type])\n    reactor.stop()\n\ndef get_document(key):\n    res = cb.get(key)\n    res.addCallback(on_get)\n\n\n# create a cluster object\ncluster = TxCluster('couchbase://localhost',\n                    ClusterOptions(PasswordAuthenticator('Administrator', 'password')))\n\n# create a bucket object\nbucket = cluster.bucket('default')\n# create a collection object\ncb = bucket.default_collection()\n\nd = upsert_document('testDoc_1', {'id': 1, 'type': 'testDoc', 'info': 'fake document'})\nd.addCallback(get_document)\n\nreactor.run()\n```\n# Building Documentation<a id=\"building-documentation\"></a>\n[Back to Contents](#contents)\n\nThe documentation is using Sphinx and a number of extensions.  To build the documentation be sure to\n``pip install`` the sphinx_requirements.txt.\n\n```console\npython3 -m pip install -r sphinx_requirements.txt\n```\n\nTo build the documentation, go into the docs directory and run:\n```console\nmake html\n```\nThe HTML output can be found in docs/build/html/.\n\nAlternatively, you can also build the documentation from the top-level directory:\n```console\npython setup.py build_sphinx\n```\n\nOnce built, the docs will be in in build/sphinx/html.  You can open the index.html file with the following command:\n```console\nopen docs/build/sphinx/html/index.html\n```\n\n# Testing<a id=\"testing\"></a>\n[Back to Contents](#contents)\n\nFor running the tests, be sure to ``pip install`` the dev_requirements.txt.  The Couchbase Python SDK uses pytest for the test suite.\n\n```console\npython3 -m pip install -r dev_requirements.txt\n```\n\nThe tests need a running Couchbase instance. For this, a test_config.ini file must be present, containing various connection parameters. The default test_config.ini file may be found in the tests directory. You may modify the values of the test_config.ini file as needed.\n\nTo run the tests for the blocking API (i.e. couchbase API):\n```console\npython -m pytest -m pycbc_couchbase -p no:asyncio -v -p no:warnings\n```\n\nTo run the tests for the asyncio API (i.e. acouchbase API):\n```console\npython -m pytest -m pycbc_acouchbase --asyncio-mode=strict -v -p no:warnings\n```\n\n# Contributing<a id=\"contributing\"></a>\n[Back to Contents](#contents)\n\nWe welcome contributions from the community!  Please see follow the steps outlined [here](https://github.com/couchbase/couchbase-python-client/blob/master/CONTRIBUTING.md) to get started.\n\nThe Python SDK uses pre-commit in order to handle linting, formatting and verifying the code base.\npre-commit can be installed either by installing the development requirements:\n\n```\npython3 -m pip install -r dev_requirements.txt\n```\n\nOr by installing pre-commit separately\n```\npython3 -m pip install pre-commit\n```\n\nTo run pre-commit, use the following:\n```\npre-commit run --all-files\n```\n\n# License\n[Back to Contents](#contents)\n\nThe Couchbase Python SDK is licensed under the Apache License 2.0.\n\nSee [LICENSE](https://github.com/couchbase/couchbase-python-client/blob/master/LICENSE) for further details.\n\n# Support & Additional Resources<a id=\"support-additional-resources\"></a>\n[Back to Contents](#contents)\n\nIf you found an issue, please file it in our [JIRA](https://issues.couchbase.com/projects/PYCBC/issues/).\n\nThe Couchbase Discord server is a place where you can collaborate about all things Couchbase. Connect with others from the community, learn tips and tricks, and ask questions.  [Join Discord and contribute](https://discord.com/invite/sQ5qbPZuTh).\n\nYou can ask questions in our [forums](https://forums.couchbase.com/).\n\nThe [official documentation](https://docs.couchbase.com/python-sdk/current/hello-world/start-using-sdk.html) can be consulted as well for general Couchbase concepts and offers a more didactic approach to using the SDK.\n\n# Appendix<a id=\"appendix\"></a>\n[Back to Contents](#contents)\n\n### Mac OS pyenv Install<a id=\"appendix-pyenv\"></a>\nSee pyenv install [docs](https://github.com/pyenv/pyenv#homebrew-on-macos) for further details.\n\nGet the latest packages:\n```console\n$ brew update\n```\n\nFor TLS/SSL support:\n```console\n$ brew install openssl@1.1\n```\n\nInstall pyenv:\n```console\n$ brew install pyenv\n```\n\n>**NOTE:** It is possible that Xcode might need to be reinstalled.  Try **one** of the following:<br>\n>- Use command ```xcode-select --install```\n>- Install the latest version of [Xcode](https://developer.apple.com/download)\n\nFor *Zsh*, run the following commands to update *.zprofile* and *.zshrc*.  See pyenv install [docs](https://github.com/pyenv/pyenv#homebrew-on-macos) for further details on other shells.\n\n```console\n$ echo 'eval \"$(pyenv init --path)\"' >> ~/.zprofile\n```\n\n```console\n$ echo 'eval \"$(pyenv init -)\"' >> ~/.zshrc\n```\n\n>**NOTE:** You need to restart your login session for changes to take affect.  On MacOS, restarting terminal windows should suffice.\n\nInstall Python version:\n```console\n$ pyenv install 3.9.7\n```\n\nSet local shell to installed Python version:\n```console\n$  pyenv local 3.9.7\n```\n\nTo use virtualenvwrapper with pyenv, install pyenv-virtualenvwrapper:\n```console\n$ brew install pyenv-virtualenvwrapper\n```\n\nTo setup a virtualenvwrapper in your pyenv shell, run either ```pyenv virtualenvwrapper``` or ```pyenv virtualenvwrapper_lazy```\n\n>**NOTE:** If issues with ```pyenv virtualenvwrapper```, using ```python -m pip install virtualenvwrapper``` should accomplish the same goal.\n\nMake a virtualenv:\n```console\n$ mkvirtualenv python-3.9.7-test\n```\n\nInstall the SDK:\n```console\n$ python -m pip install couchbase\n```\n\n### Run individual pre-commit commands<a id=\"appendix-precommit\"></a>\nTo run pre-commit hooks separately, use the following.\n\n#### autopep8\n```\npre-commit run autopep8 --all-files\n```\n\n#### bandit\n```\npre-commit run bandit --all-files\n```\n\n#### clang-format\n```\npre-commit run clang-format --all-files\n```\n\n#### flake8\n```\npre-commit run flake8 --all-files\n```\n\n#### isort\n```\npre-commit run isort --all-files\n```\n\n#### trailing whitespace\n```\npre-commit run trailing-whitespace --all-files\n```\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "Python Client for Couchbase",
    "version": "4.2.1",
    "project_urls": {
        "Homepage": "https://github.com/couchbase/couchbase-python-client"
    },
    "split_keywords": [
        "couchbase",
        " nosql",
        " pycouchbase",
        " libcouchbase"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c231502dd29b35c8f88fc54117083fe1bf6d6edc472a2fea092d01f888f79687",
                "md5": "faf307b9e141e984790278ed02e5054e",
                "sha256": "7ad4c4462879f456a9067ac1788e62d852509439bac3538b9bc459a754666481"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp310-cp310-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "faf307b9e141e984790278ed02e5054e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 4733596,
            "upload_time": "2024-04-18T17:17:48",
            "upload_time_iso_8601": "2024-04-18T17:17:48.585199Z",
            "url": "https://files.pythonhosted.org/packages/c2/31/502dd29b35c8f88fc54117083fe1bf6d6edc472a2fea092d01f888f79687/couchbase-4.2.1-cp310-cp310-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9a4cc3e8ec0289307ed4ed7f8eac18233b6c3a1f1a6bf56abb1023a8579f5f11",
                "md5": "bdd3c1d4f3234fedd086e875edbcd71c",
                "sha256": "06d91891c599ba0f5052e594ac025a2ca6ab7885e528b854ac9c125df7c74146"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "bdd3c1d4f3234fedd086e875edbcd71c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 4214600,
            "upload_time": "2024-04-18T17:17:52",
            "upload_time_iso_8601": "2024-04-18T17:17:52.294499Z",
            "url": "https://files.pythonhosted.org/packages/9a/4c/c3e8ec0289307ed4ed7f8eac18233b6c3a1f1a6bf56abb1023a8579f5f11/couchbase-4.2.1-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a230ee0f432fd151cd79e16b9030ae69dce1cd5a1e23bedc087ba295b3e0ae60",
                "md5": "8d7577ec5d2e0745d4673ed0f1e4db83",
                "sha256": "0191d4a631ead533551cb9a214704ad5f3dfff2029e21a23b57725a0b5666b25"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
            "has_sig": false,
            "md5_digest": "8d7577ec5d2e0745d4673ed0f1e4db83",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 4770896,
            "upload_time": "2024-04-18T17:17:54",
            "upload_time_iso_8601": "2024-04-18T17:17:54.976193Z",
            "url": "https://files.pythonhosted.org/packages/a2/30/ee0f432fd151cd79e16b9030ae69dce1cd5a1e23bedc087ba295b3e0ae60/couchbase-4.2.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "23b0bb6a3531e611f47981f4ce9e6cac7ed42c691d379d27354d88fd655bd2a5",
                "md5": "fabc4a3c9c150ecf9b606ebd14a50aa6",
                "sha256": "b206790d6834a18c5e457f9a70f44774f476f3acccf9f22e8c1b5283a5bd03fa"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fabc4a3c9c150ecf9b606ebd14a50aa6",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 4976248,
            "upload_time": "2024-04-18T17:17:58",
            "upload_time_iso_8601": "2024-04-18T17:17:58.126029Z",
            "url": "https://files.pythonhosted.org/packages/23/b0/bb6a3531e611f47981f4ce9e6cac7ed42c691d379d27354d88fd655bd2a5/couchbase-4.2.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "80bd8712e321afe42f573346e763db1eacb4fcc974f352252f4a6fed15decb69",
                "md5": "63ef05dc4a94699163e65b3bf1c01c43",
                "sha256": "c5ca571b9ce017ecbd447de12cd46e213f93e0664bec6fca0a06e1768db1a4f8"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "63ef05dc4a94699163e65b3bf1c01c43",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 5620070,
            "upload_time": "2024-04-18T17:18:02",
            "upload_time_iso_8601": "2024-04-18T17:18:02.121916Z",
            "url": "https://files.pythonhosted.org/packages/80/bd/8712e321afe42f573346e763db1eacb4fcc974f352252f4a6fed15decb69/couchbase-4.2.1-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "365dc367a89fbca26e026844bb6117c7fa19517b2aa4db75265b601c110e25d3",
                "md5": "d909e45b5a43fd877218cc2fa5956fb0",
                "sha256": "675c615cfd4b04e73e94cf03c786da5105d94527f5c3a087813dba477a1379e9"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d909e45b5a43fd877218cc2fa5956fb0",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 4061178,
            "upload_time": "2024-04-18T17:18:05",
            "upload_time_iso_8601": "2024-04-18T17:18:05.967860Z",
            "url": "https://files.pythonhosted.org/packages/36/5d/c367a89fbca26e026844bb6117c7fa19517b2aa4db75265b601c110e25d3/couchbase-4.2.1-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0688ef43987beac6396ba404ac162857ad7540f7c5a6d90bb57e815daf653910",
                "md5": "d3f34b028605717fdfde335ea5b024de",
                "sha256": "4cd09eedf162dc28386d9c6490e832c25068406c0f5d70a0417c0b1445394651"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp311-cp311-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d3f34b028605717fdfde335ea5b024de",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 4733594,
            "upload_time": "2024-04-18T17:18:09",
            "upload_time_iso_8601": "2024-04-18T17:18:09.199728Z",
            "url": "https://files.pythonhosted.org/packages/06/88/ef43987beac6396ba404ac162857ad7540f7c5a6d90bb57e815daf653910/couchbase-4.2.1-cp311-cp311-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d102a3a11240e607cdf028a4c707a48f448882705a58ac9a47acb52a32825fa3",
                "md5": "46052e65bf1990f69a3ad59637e62887",
                "sha256": "dfebb11551c6d947ce6297ab02b5006b1ac8739dda3e10d41896db0dc8672915"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "46052e65bf1990f69a3ad59637e62887",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 4232928,
            "upload_time": "2024-04-18T17:18:12",
            "upload_time_iso_8601": "2024-04-18T17:18:12.730351Z",
            "url": "https://files.pythonhosted.org/packages/d1/02/a3a11240e607cdf028a4c707a48f448882705a58ac9a47acb52a32825fa3/couchbase-4.2.1-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d5591ff31c9f058770c1fdf01418c2d993cd45c77760c5fe3499d960d292de06",
                "md5": "6c7452b6ae15aff53d1981f20050f0e3",
                "sha256": "39e742ccfe90a0e59e6e1b0e12f0fe224a736c0207b218ef48048052f926e1c6"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
            "has_sig": false,
            "md5_digest": "6c7452b6ae15aff53d1981f20050f0e3",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 4770672,
            "upload_time": "2024-04-18T17:18:16",
            "upload_time_iso_8601": "2024-04-18T17:18:16.181898Z",
            "url": "https://files.pythonhosted.org/packages/d5/59/1ff31c9f058770c1fdf01418c2d993cd45c77760c5fe3499d960d292de06/couchbase-4.2.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bdc2c8fa082cb91b07c0053e654dada0bde52b50d6c6924c75faff713fa9611d",
                "md5": "c82d94d8080d9a50064c31e9fe135852",
                "sha256": "f9ba24efddf47f30603275f5433434d8759a55233c78b3e4bc613c502ac429e9"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c82d94d8080d9a50064c31e9fe135852",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 4976424,
            "upload_time": "2024-04-18T17:18:19",
            "upload_time_iso_8601": "2024-04-18T17:18:19.736193Z",
            "url": "https://files.pythonhosted.org/packages/bd/c2/c8fa082cb91b07c0053e654dada0bde52b50d6c6924c75faff713fa9611d/couchbase-4.2.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "70e6f4f5b24aaf86be46a3cdeed9cc57b3c870c27c96e65a23d864bd9681092e",
                "md5": "a2ec56e1acf757ff5b88b74d5f677bfc",
                "sha256": "adfca3929f07fb4385dc52f08d3a60634012f364b176f95ab023cdd1bb7fe9c0"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a2ec56e1acf757ff5b88b74d5f677bfc",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 5619588,
            "upload_time": "2024-04-18T17:18:23",
            "upload_time_iso_8601": "2024-04-18T17:18:23.176264Z",
            "url": "https://files.pythonhosted.org/packages/70/e6/f4f5b24aaf86be46a3cdeed9cc57b3c870c27c96e65a23d864bd9681092e/couchbase-4.2.1-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fd6c9a7aa1d9730c102a70c6f05a070ffa854a74b24ebe9c6074f49009bac2e4",
                "md5": "a7adb1dc0a9e3660173a67cfbe053a22",
                "sha256": "e1c68b28c6f0475961afb9fe626ad2bac8a5643b53f719675386f060db4b6e19"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a7adb1dc0a9e3660173a67cfbe053a22",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 4063714,
            "upload_time": "2024-04-18T17:18:26",
            "upload_time_iso_8601": "2024-04-18T17:18:26.639256Z",
            "url": "https://files.pythonhosted.org/packages/fd/6c/9a7aa1d9730c102a70c6f05a070ffa854a74b24ebe9c6074f49009bac2e4/couchbase-4.2.1-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f5525e265341be354043f900676a6e533135bfa179eb6559aaa2cca45f93edc4",
                "md5": "9a775afcb15ffd8cf2364f24261df732",
                "sha256": "137512462426cd495954c1815d78115d109308a4d9f8843b638285104388a359"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp38-cp38-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9a775afcb15ffd8cf2364f24261df732",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 4733528,
            "upload_time": "2024-04-18T17:18:29",
            "upload_time_iso_8601": "2024-04-18T17:18:29.485171Z",
            "url": "https://files.pythonhosted.org/packages/f5/52/5e265341be354043f900676a6e533135bfa179eb6559aaa2cca45f93edc4/couchbase-4.2.1-cp38-cp38-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3abbfea16682314b3b8c494c3bd2f4334c6e4bd85eeb1b238b7608e4a62c0e5d",
                "md5": "5de88191029981554ab22665439ba694",
                "sha256": "5987e5edcce7696e5f75b35be91f44fa69fb5eb95dba0957ad66f789affcdb36"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "5de88191029981554ab22665439ba694",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 4214598,
            "upload_time": "2024-04-18T17:18:31",
            "upload_time_iso_8601": "2024-04-18T17:18:31.986105Z",
            "url": "https://files.pythonhosted.org/packages/3a/bb/fea16682314b3b8c494c3bd2f4334c6e4bd85eeb1b238b7608e4a62c0e5d/couchbase-4.2.1-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b65db3025a6a8bf58b8f19c761da0f792f9d1ec9b8bf4c99dfa293c23627158f",
                "md5": "457f4665b114dc8b08c6473d561e3561",
                "sha256": "080cb0fc333bd4a641ede4ee14ff0c7dbe95067fbb280826ea546681e0b9f9e3"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
            "has_sig": false,
            "md5_digest": "457f4665b114dc8b08c6473d561e3561",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 4772115,
            "upload_time": "2024-04-18T17:18:34",
            "upload_time_iso_8601": "2024-04-18T17:18:34.741018Z",
            "url": "https://files.pythonhosted.org/packages/b6/5d/b3025a6a8bf58b8f19c761da0f792f9d1ec9b8bf4c99dfa293c23627158f/couchbase-4.2.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8c8043f98c147455cb866fe445e6b3b318a13bb196b495d17bc38c9096d9528b",
                "md5": "5288fc1b3a18572bfc56d0855d260eda",
                "sha256": "e317c2628a4a917083e8e7ce8e2662432b6a12ebac65fc00de6da2b37ab5975c"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5288fc1b3a18572bfc56d0855d260eda",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 4977105,
            "upload_time": "2024-04-18T17:18:37",
            "upload_time_iso_8601": "2024-04-18T17:18:37.761509Z",
            "url": "https://files.pythonhosted.org/packages/8c/80/43f98c147455cb866fe445e6b3b318a13bb196b495d17bc38c9096d9528b/couchbase-4.2.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e719bce023bc440255df9003d899895c0c540ea904f5831d362ec572ef9356dd",
                "md5": "ceb6fb400fdc4f7ecc6418fb26409949",
                "sha256": "de7f8699ae344e2e96706ee0eac67e96bfdd3412fb18dcfb81d8ba5837dd3dfb"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp38-cp38-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ceb6fb400fdc4f7ecc6418fb26409949",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 5619809,
            "upload_time": "2024-04-18T17:18:43",
            "upload_time_iso_8601": "2024-04-18T17:18:43.305864Z",
            "url": "https://files.pythonhosted.org/packages/e7/19/bce023bc440255df9003d899895c0c540ea904f5831d362ec572ef9356dd/couchbase-4.2.1-cp38-cp38-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "26b9a308df42c53240db1424be1f10babc86e993089af2731d1667505e28af21",
                "md5": "138046b9a37b3775c41207841c56a9cf",
                "sha256": "82b9deb8b1fe8e8d7dde9c232ac5f4c11ff0f067930837af0e7769706e6a9453"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "138046b9a37b3775c41207841c56a9cf",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 4064175,
            "upload_time": "2024-04-18T17:18:47",
            "upload_time_iso_8601": "2024-04-18T17:18:47.625454Z",
            "url": "https://files.pythonhosted.org/packages/26/b9/a308df42c53240db1424be1f10babc86e993089af2731d1667505e28af21/couchbase-4.2.1-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1e3037775c9f7d89b9d56186988e89690ee7feedecc2fc7016ca5154df3a7d10",
                "md5": "2c32115a2c41653566ba959586808412",
                "sha256": "44502d069ea17a8d692b7c88d84bc0df2cf4e944cde337c8eb3175bc0b835bb9"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp39-cp39-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2c32115a2c41653566ba959586808412",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 4733581,
            "upload_time": "2024-04-18T17:18:52",
            "upload_time_iso_8601": "2024-04-18T17:18:52.505070Z",
            "url": "https://files.pythonhosted.org/packages/1e/30/37775c9f7d89b9d56186988e89690ee7feedecc2fc7016ca5154df3a7d10/couchbase-4.2.1-cp39-cp39-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "32109e3254b3c56b3a35e9bb0ad742df746abe1d297443e0da55e84379e7b00f",
                "md5": "c6d6e0e35b2f9eb14edac5cc45dbf41b",
                "sha256": "c0f131b816a7d91b755232872ba10f6d6ca5a715e595ee9534478bc97a518ae8"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c6d6e0e35b2f9eb14edac5cc45dbf41b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 4232992,
            "upload_time": "2024-04-18T17:18:57",
            "upload_time_iso_8601": "2024-04-18T17:18:57.142646Z",
            "url": "https://files.pythonhosted.org/packages/32/10/9e3254b3c56b3a35e9bb0ad742df746abe1d297443e0da55e84379e7b00f/couchbase-4.2.1-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "56c140cc0c39e4e104226f9013d16ef8bb9fc740d38a2f1ddadc4434f97a09ed",
                "md5": "17d353efc9fd4850dc03f5052b4af9a2",
                "sha256": "e9b9deb312bbe5f9a8e63828f9de877714c4b09b7d88f7dc87b60e5ffb2a13e6"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
            "has_sig": false,
            "md5_digest": "17d353efc9fd4850dc03f5052b4af9a2",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 4770732,
            "upload_time": "2024-04-18T17:19:02",
            "upload_time_iso_8601": "2024-04-18T17:19:02.933973Z",
            "url": "https://files.pythonhosted.org/packages/56/c1/40cc0c39e4e104226f9013d16ef8bb9fc740d38a2f1ddadc4434f97a09ed/couchbase-4.2.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9efa00aee7f02bcea104eccd47cb128f9b68bda0782ec387252334bbc03fb895",
                "md5": "2820384713949d2652be90f87db08c21",
                "sha256": "71e8da251850d795975c3569c01d35ba1a556825dc7d9549ff9918d148255804"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2820384713949d2652be90f87db08c21",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 4976273,
            "upload_time": "2024-04-18T17:19:10",
            "upload_time_iso_8601": "2024-04-18T17:19:10.735479Z",
            "url": "https://files.pythonhosted.org/packages/9e/fa/00aee7f02bcea104eccd47cb128f9b68bda0782ec387252334bbc03fb895/couchbase-4.2.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2dc0bfc2a124ab1dc93d62f0157394a782d411069abd6be6d609a79e4aeed260",
                "md5": "ff3b13c884a4855fa1667564ff316d44",
                "sha256": "d04492144ce520c612a2f8f265278c9f0cdf62fdd6f703e7a3210a7476b228f6"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ff3b13c884a4855fa1667564ff316d44",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 5619906,
            "upload_time": "2024-04-18T17:19:19",
            "upload_time_iso_8601": "2024-04-18T17:19:19.220812Z",
            "url": "https://files.pythonhosted.org/packages/2d/c0/bfc2a124ab1dc93d62f0157394a782d411069abd6be6d609a79e4aeed260/couchbase-4.2.1-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a42c1e4cc8cdbe50d5e26113ebb2de8f277f38283518005f35a37deb98f44da5",
                "md5": "293bfd47e559587bbbf44335b837cc3a",
                "sha256": "3f91b7699ea7b8253cf34c9fb6e191de9b2edfd7aa4d6f97b29c10b9a1670444"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "293bfd47e559587bbbf44335b837cc3a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 4061157,
            "upload_time": "2024-04-18T17:19:25",
            "upload_time_iso_8601": "2024-04-18T17:19:25.137728Z",
            "url": "https://files.pythonhosted.org/packages/a4/2c/1e4cc8cdbe50d5e26113ebb2de8f277f38283518005f35a37deb98f44da5/couchbase-4.2.1-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0125c7db34e70a9e4b4a909cebff8f60423f6e2e7170602f2ccb54f049ac2e3a",
                "md5": "ae2cdf84faad37d7b06f44e89d34e9b9",
                "sha256": "dc1c60d3f2fc179db8225aac4cc30d601d73cf2535aaf023d607e86be2d7dd78"
            },
            "downloads": -1,
            "filename": "couchbase-4.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "ae2cdf84faad37d7b06f44e89d34e9b9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 6627634,
            "upload_time": "2024-04-18T17:19:31",
            "upload_time_iso_8601": "2024-04-18T17:19:31.608630Z",
            "url": "https://files.pythonhosted.org/packages/01/25/c7db34e70a9e4b4a909cebff8f60423f6e2e7170602f2ccb54f049ac2e3a/couchbase-4.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-18 17:19:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "couchbase",
    "github_project": "couchbase-python-client",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "couchbase"
}
        
Elapsed time: 0.98093s