diff --git a/README.md b/README.md
index 0d04e21..e212e80 100644
--- a/README.md
+++ b/README.md
@@ -7,16 +7,25 @@ The Analytics SDK supports static typing. Currently only [mypy](https://github.
# Installing the SDK
-Until a version is available on PyPI, the SDK can be installed via pip with the following command (note the `dev` branch in the url).
+>Note: It is strongly recommended to update pip, setuptools and wheel prior to installing the SDK: `python3 -m pip install --upgrade pip setuptools wheel`
Install the SDK via `pip`:
```console
-python3 -m pip install git+https://github.com/couchbaselabs/analytics-python-client@dev
+python3 -m pip install couchbase-analytics
+```
+
+# Installing the SDK from source
+
+The SDK can be installed from source via pip with the following command.
+
+Install the SDK via `pip`:
+```console
+python3 -m pip install git+https://github.com/couchbase/analytics-python-client.git
```
# Using the SDK
-Some more examples are provided in the [examples directory](https://github.com/couchbaselabs/analytics-python-client/tree/dev/examples).
+Some more examples are provided in the [examples directory](https://github.com/couchbase/analytics-python-client/tree/main/examples).
**Connecting and executing a query**
```python
diff --git a/acouchbase_analytics/__init__.py b/acouchbase_analytics/__init__.py
index 0222448..f5a2a54 100644
--- a/acouchbase_analytics/__init__.py
+++ b/acouchbase_analytics/__init__.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/acouchbase_analytics/cluster.py b/acouchbase_analytics/cluster.py
index 9977c71..2cc0caf 100644
--- a/acouchbase_analytics/cluster.py
+++ b/acouchbase_analytics/cluster.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import sys
diff --git a/acouchbase_analytics/cluster.pyi b/acouchbase_analytics/cluster.pyi
index d45e3f1..bea6643 100644
--- a/acouchbase_analytics/cluster.pyi
+++ b/acouchbase_analytics/cluster.pyi
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/acouchbase_analytics/credential.py b/acouchbase_analytics/credential.py
index c3aa770..e12f195 100644
--- a/acouchbase_analytics/credential.py
+++ b/acouchbase_analytics/credential.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,4 +13,5 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from couchbase_analytics.common.credential import Credential as Credential # noqa: F401
diff --git a/acouchbase_analytics/database.py b/acouchbase_analytics/database.py
index 8cb1935..d9cb1d1 100644
--- a/acouchbase_analytics/database.py
+++ b/acouchbase_analytics/database.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import sys
diff --git a/acouchbase_analytics/database.pyi b/acouchbase_analytics/database.pyi
index 90fd597..7ccec9f 100644
--- a/acouchbase_analytics/database.pyi
+++ b/acouchbase_analytics/database.pyi
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/acouchbase_analytics/deserializer.py b/acouchbase_analytics/deserializer.py
index d5aed73..c89edee 100644
--- a/acouchbase_analytics/deserializer.py
+++ b/acouchbase_analytics/deserializer.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from couchbase_analytics.common.deserializer import DefaultJsonDeserializer as DefaultJsonDeserializer # noqa: F401
from couchbase_analytics.common.deserializer import Deserializer as Deserializer # noqa: F401
from couchbase_analytics.common.deserializer import PassthroughDeserializer as PassthroughDeserializer # noqa: F401
diff --git a/acouchbase_analytics/errors.py b/acouchbase_analytics/errors.py
index 3b18f30..03a6439 100644
--- a/acouchbase_analytics/errors.py
+++ b/acouchbase_analytics/errors.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from couchbase_analytics.common.errors import AnalyticsError as AnalyticsError # noqa: F401
from couchbase_analytics.common.errors import InternalSDKError as InternalSDKError # noqa: F401
from couchbase_analytics.common.errors import InvalidCredentialError as InvalidCredentialError # noqa: F401
diff --git a/acouchbase_analytics/options.py b/acouchbase_analytics/options.py
index ef2074d..bc8f846 100644
--- a/acouchbase_analytics/options.py
+++ b/acouchbase_analytics/options.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from couchbase_analytics.common.options import ClusterOptions as ClusterOptions # noqa: F401
from couchbase_analytics.common.options import ClusterOptionsKwargs as ClusterOptionsKwargs # noqa: F401
from couchbase_analytics.common.options import QueryOptions as QueryOptions # noqa: F401
diff --git a/acouchbase_analytics/protocol/__init__.py b/acouchbase_analytics/protocol/__init__.py
index e880775..d07472d 100644
--- a/acouchbase_analytics/protocol/__init__.py
+++ b/acouchbase_analytics/protocol/__init__.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
import asyncio
import selectors
from typing import Optional
diff --git a/acouchbase_analytics/protocol/_core/__init__.py b/acouchbase_analytics/protocol/_core/__init__.py
index e69de29..406e22a 100644
--- a/acouchbase_analytics/protocol/_core/__init__.py
+++ b/acouchbase_analytics/protocol/_core/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2016-2025. Couchbase, Inc.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
diff --git a/acouchbase_analytics/protocol/_core/anyio_utils.py b/acouchbase_analytics/protocol/_core/anyio_utils.py
index 679a055..ce7a751 100644
--- a/acouchbase_analytics/protocol/_core/anyio_utils.py
+++ b/acouchbase_analytics/protocol/_core/anyio_utils.py
@@ -1,3 +1,19 @@
+# Copyright 2016-2025. Couchbase, Inc.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
from __future__ import annotations
from asyncio import AbstractEventLoop
diff --git a/acouchbase_analytics/protocol/_core/async_json_stream.py b/acouchbase_analytics/protocol/_core/async_json_stream.py
index 9873503..4cd153e 100644
--- a/acouchbase_analytics/protocol/_core/async_json_stream.py
+++ b/acouchbase_analytics/protocol/_core/async_json_stream.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from typing import AsyncIterator, Callable, Optional
diff --git a/acouchbase_analytics/protocol/_core/async_json_token_parser.py b/acouchbase_analytics/protocol/_core/async_json_token_parser.py
index 6983f68..dfba82a 100644
--- a/acouchbase_analytics/protocol/_core/async_json_token_parser.py
+++ b/acouchbase_analytics/protocol/_core/async_json_token_parser.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from typing import Any, Callable, Coroutine, List, Optional
diff --git a/acouchbase_analytics/protocol/_core/client_adapter.py b/acouchbase_analytics/protocol/_core/client_adapter.py
index ad9727e..6a6ac60 100644
--- a/acouchbase_analytics/protocol/_core/client_adapter.py
+++ b/acouchbase_analytics/protocol/_core/client_adapter.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import logging
diff --git a/acouchbase_analytics/protocol/_core/net_utils.py b/acouchbase_analytics/protocol/_core/net_utils.py
index 59a96df..5033c84 100644
--- a/acouchbase_analytics/protocol/_core/net_utils.py
+++ b/acouchbase_analytics/protocol/_core/net_utils.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import socket
diff --git a/acouchbase_analytics/protocol/_core/request_context.py b/acouchbase_analytics/protocol/_core/request_context.py
index 10a15f8..f01eec1 100644
--- a/acouchbase_analytics/protocol/_core/request_context.py
+++ b/acouchbase_analytics/protocol/_core/request_context.py
@@ -1,3 +1,19 @@
+# Copyright 2016-2025. Couchbase, Inc.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
from __future__ import annotations
import json
diff --git a/acouchbase_analytics/protocol/_core/retries.py b/acouchbase_analytics/protocol/_core/retries.py
index a23330a..83423d1 100644
--- a/acouchbase_analytics/protocol/_core/retries.py
+++ b/acouchbase_analytics/protocol/_core/retries.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from asyncio import CancelledError
diff --git a/acouchbase_analytics/protocol/cluster.py b/acouchbase_analytics/protocol/cluster.py
index 4bd7e20..f08519f 100644
--- a/acouchbase_analytics/protocol/cluster.py
+++ b/acouchbase_analytics/protocol/cluster.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import sys
diff --git a/acouchbase_analytics/protocol/cluster.pyi b/acouchbase_analytics/protocol/cluster.pyi
index d9f2429..87cb2a1 100644
--- a/acouchbase_analytics/protocol/cluster.pyi
+++ b/acouchbase_analytics/protocol/cluster.pyi
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/acouchbase_analytics/protocol/database.py b/acouchbase_analytics/protocol/database.py
index 5d653f4..7003900 100644
--- a/acouchbase_analytics/protocol/database.py
+++ b/acouchbase_analytics/protocol/database.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import sys
diff --git a/acouchbase_analytics/protocol/database.pyi b/acouchbase_analytics/protocol/database.pyi
index 14d555b..2c25925 100644
--- a/acouchbase_analytics/protocol/database.pyi
+++ b/acouchbase_analytics/protocol/database.pyi
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/acouchbase_analytics/protocol/errors.py b/acouchbase_analytics/protocol/errors.py
index 5cd0e2e..423325a 100644
--- a/acouchbase_analytics/protocol/errors.py
+++ b/acouchbase_analytics/protocol/errors.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import socket
diff --git a/acouchbase_analytics/protocol/scope.py b/acouchbase_analytics/protocol/scope.py
index 7a6f6a0..cd97f5f 100644
--- a/acouchbase_analytics/protocol/scope.py
+++ b/acouchbase_analytics/protocol/scope.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import sys
diff --git a/acouchbase_analytics/protocol/scope.pyi b/acouchbase_analytics/protocol/scope.pyi
index d86a2ea..87b1a52 100644
--- a/acouchbase_analytics/protocol/scope.pyi
+++ b/acouchbase_analytics/protocol/scope.pyi
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/acouchbase_analytics/protocol/streaming.py b/acouchbase_analytics/protocol/streaming.py
index b3c51d3..48d7e58 100644
--- a/acouchbase_analytics/protocol/streaming.py
+++ b/acouchbase_analytics/protocol/streaming.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from typing import Any, Optional
diff --git a/acouchbase_analytics/query.py b/acouchbase_analytics/query.py
index 6d6520e..bf9289f 100644
--- a/acouchbase_analytics/query.py
+++ b/acouchbase_analytics/query.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from couchbase_analytics.common.enums import QueryScanConsistency as QueryScanConsistency # noqa: F401
from couchbase_analytics.common.query import QueryMetadata as QueryMetadata # noqa: F401
from couchbase_analytics.common.query import QueryMetrics as QueryMetrics # noqa: F401
diff --git a/acouchbase_analytics/result.py b/acouchbase_analytics/result.py
index dedca6d..6bc54f4 100644
--- a/acouchbase_analytics/result.py
+++ b/acouchbase_analytics/result.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,5 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from couchbase_analytics.common.result import AsyncQueryResult as AsyncQueryResult # noqa: F401
from couchbase_analytics.common.result import QueryResult as QueryResult # noqa: F401
diff --git a/acouchbase_analytics/scope.py b/acouchbase_analytics/scope.py
index e9a7c31..6d12ac3 100644
--- a/acouchbase_analytics/scope.py
+++ b/acouchbase_analytics/scope.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import sys
diff --git a/acouchbase_analytics/scope.pyi b/acouchbase_analytics/scope.pyi
index 29c8a8b..b02fa4d 100644
--- a/acouchbase_analytics/scope.pyi
+++ b/acouchbase_analytics/scope.pyi
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/acouchbase_analytics/tests/__init__.py b/acouchbase_analytics/tests/__init__.py
index e69de29..406e22a 100644
--- a/acouchbase_analytics/tests/__init__.py
+++ b/acouchbase_analytics/tests/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2016-2025. Couchbase, Inc.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
diff --git a/acouchbase_analytics/tests/connect_integration_t.py b/acouchbase_analytics/tests/connect_integration_t.py
index a9c15be..286fdd8 100644
--- a/acouchbase_analytics/tests/connect_integration_t.py
+++ b/acouchbase_analytics/tests/connect_integration_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from datetime import timedelta
diff --git a/acouchbase_analytics/tests/connection_t.py b/acouchbase_analytics/tests/connection_t.py
index ca13c38..1567cfb 100644
--- a/acouchbase_analytics/tests/connection_t.py
+++ b/acouchbase_analytics/tests/connection_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from typing import Dict
diff --git a/acouchbase_analytics/tests/json_parsing_t.py b/acouchbase_analytics/tests/json_parsing_t.py
index dc26a88..535985a 100644
--- a/acouchbase_analytics/tests/json_parsing_t.py
+++ b/acouchbase_analytics/tests/json_parsing_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import json
diff --git a/acouchbase_analytics/tests/options_t.py b/acouchbase_analytics/tests/options_t.py
index 8fd67c5..e26401f 100644
--- a/acouchbase_analytics/tests/options_t.py
+++ b/acouchbase_analytics/tests/options_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from datetime import timedelta
diff --git a/acouchbase_analytics/tests/query_integration_t.py b/acouchbase_analytics/tests/query_integration_t.py
index baddf08..cc6a09e 100644
--- a/acouchbase_analytics/tests/query_integration_t.py
+++ b/acouchbase_analytics/tests/query_integration_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import json
diff --git a/acouchbase_analytics/tests/query_options_t.py b/acouchbase_analytics/tests/query_options_t.py
index 23b1de1..dea8e14 100644
--- a/acouchbase_analytics/tests/query_options_t.py
+++ b/acouchbase_analytics/tests/query_options_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from dataclasses import dataclass
diff --git a/acouchbase_analytics/tests/test_server_t.py b/acouchbase_analytics/tests/test_server_t.py
index 0657dc7..912f85f 100644
--- a/acouchbase_analytics/tests/test_server_t.py
+++ b/acouchbase_analytics/tests/test_server_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from datetime import timedelta
diff --git a/conftest.py b/conftest.py
index d7b108a..8d72d1b 100644
--- a/conftest.py
+++ b/conftest.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from typing import List
import pytest
diff --git a/couchbase_analytics/__init__.py b/couchbase_analytics/__init__.py
index 7ed5405..0afa0b9 100644
--- a/couchbase_analytics/__init__.py
+++ b/couchbase_analytics/__init__.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from couchbase_analytics.common import LOG_DATE_FORMAT as LOG_DATE_FORMAT # noqa: F401
from couchbase_analytics.common import LOG_FORMAT as LOG_FORMAT # noqa: F401
from couchbase_analytics.common import JSONType as JSONType # noqa: F401
diff --git a/couchbase_analytics/cluster.py b/couchbase_analytics/cluster.py
index 12cb2d2..8ca0784 100644
--- a/couchbase_analytics/cluster.py
+++ b/couchbase_analytics/cluster.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from concurrent.futures import Future
diff --git a/couchbase_analytics/cluster.pyi b/couchbase_analytics/cluster.pyi
index 5a2e610..38f44ff 100644
--- a/couchbase_analytics/cluster.pyi
+++ b/couchbase_analytics/cluster.pyi
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/couchbase_analytics/common/__init__.py b/couchbase_analytics/common/__init__.py
index c14c1f9..3f04a8e 100644
--- a/couchbase_analytics/common/__init__.py
+++ b/couchbase_analytics/common/__init__.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from typing import Any, Dict, List, Union
from .logging import LOG_DATE_FORMAT as LOG_DATE_FORMAT # noqa: F401
diff --git a/couchbase_analytics/common/_core/__init__.py b/couchbase_analytics/common/_core/__init__.py
index d1d6ccb..517a202 100644
--- a/couchbase_analytics/common/_core/__init__.py
+++ b/couchbase_analytics/common/_core/__init__.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from .json_parsing import JsonStreamConfig as JsonStreamConfig # noqa: F401
from .json_parsing import ParsedResult as ParsedResult # noqa: F401
from .json_parsing import ParsedResultType as ParsedResultType # noqa: F401
diff --git a/couchbase_analytics/common/_core/certificates.py b/couchbase_analytics/common/_core/certificates.py
index 6210130..180cf3a 100644
--- a/couchbase_analytics/common/_core/certificates.py
+++ b/couchbase_analytics/common/_core/certificates.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/couchbase_analytics/common/_core/duration_str_utils.py b/couchbase_analytics/common/_core/duration_str_utils.py
index a48ba52..e83b653 100644
--- a/couchbase_analytics/common/_core/duration_str_utils.py
+++ b/couchbase_analytics/common/_core/duration_str_utils.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
import re
from typing import Optional
diff --git a/couchbase_analytics/common/_core/error_context.py b/couchbase_analytics/common/_core/error_context.py
index 6270fea..20a3bff 100644
--- a/couchbase_analytics/common/_core/error_context.py
+++ b/couchbase_analytics/common/_core/error_context.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from dataclasses import dataclass
diff --git a/couchbase_analytics/common/_core/json_parsing.py b/couchbase_analytics/common/_core/json_parsing.py
index 43a1c4c..67fa8b8 100644
--- a/couchbase_analytics/common/_core/json_parsing.py
+++ b/couchbase_analytics/common/_core/json_parsing.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from dataclasses import dataclass
diff --git a/couchbase_analytics/common/_core/json_token_parser_base.py b/couchbase_analytics/common/_core/json_token_parser_base.py
index 4548a2f..4edb8f8 100644
--- a/couchbase_analytics/common/_core/json_token_parser_base.py
+++ b/couchbase_analytics/common/_core/json_token_parser_base.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from collections import deque
diff --git a/couchbase_analytics/common/_core/query.py b/couchbase_analytics/common/_core/query.py
index e67cac9..93c18d7 100644
--- a/couchbase_analytics/common/_core/query.py
+++ b/couchbase_analytics/common/_core/query.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import json
diff --git a/couchbase_analytics/common/_core/result.py b/couchbase_analytics/common/_core/result.py
index 018b8c5..0146122 100644
--- a/couchbase_analytics/common/_core/result.py
+++ b/couchbase_analytics/common/_core/result.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import sys
diff --git a/couchbase_analytics/common/_core/utils.py b/couchbase_analytics/common/_core/utils.py
index 88cede1..b3f73f5 100644
--- a/couchbase_analytics/common/_core/utils.py
+++ b/couchbase_analytics/common/_core/utils.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from datetime import timedelta
diff --git a/couchbase_analytics/common/backoff_calculator.py b/couchbase_analytics/common/backoff_calculator.py
index a071d15..411c452 100644
--- a/couchbase_analytics/common/backoff_calculator.py
+++ b/couchbase_analytics/common/backoff_calculator.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from abc import ABC, abstractmethod
from random import uniform
from typing import Optional
diff --git a/couchbase_analytics/common/credential.py b/couchbase_analytics/common/credential.py
index 7abbdaa..72a5b4b 100644
--- a/couchbase_analytics/common/credential.py
+++ b/couchbase_analytics/common/credential.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from typing import Callable, Dict, Tuple
diff --git a/couchbase_analytics/common/deserializer.py b/couchbase_analytics/common/deserializer.py
index 01aee2c..d82bb8d 100644
--- a/couchbase_analytics/common/deserializer.py
+++ b/couchbase_analytics/common/deserializer.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import json
diff --git a/couchbase_analytics/common/enums.py b/couchbase_analytics/common/enums.py
index 5e1d12e..53b6152 100644
--- a/couchbase_analytics/common/enums.py
+++ b/couchbase_analytics/common/enums.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from enum import Enum
diff --git a/couchbase_analytics/common/errors.py b/couchbase_analytics/common/errors.py
index a6b94f1..24a697d 100644
--- a/couchbase_analytics/common/errors.py
+++ b/couchbase_analytics/common/errors.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from typing import Dict, Optional, Union
diff --git a/couchbase_analytics/common/logging.py b/couchbase_analytics/common/logging.py
index 110fb97..d599174 100644
--- a/couchbase_analytics/common/logging.py
+++ b/couchbase_analytics/common/logging.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
import logging
from enum import Enum
diff --git a/couchbase_analytics/common/options.py b/couchbase_analytics/common/options.py
index d13b69f..5a680cc 100644
--- a/couchbase_analytics/common/options.py
+++ b/couchbase_analytics/common/options.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/couchbase_analytics/common/options_base.py b/couchbase_analytics/common/options_base.py
index 2714956..1fd4811 100644
--- a/couchbase_analytics/common/options_base.py
+++ b/couchbase_analytics/common/options_base.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/couchbase_analytics/common/query.py b/couchbase_analytics/common/query.py
index c25930a..8fb11f2 100644
--- a/couchbase_analytics/common/query.py
+++ b/couchbase_analytics/common/query.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from datetime import timedelta
diff --git a/couchbase_analytics/common/request.py b/couchbase_analytics/common/request.py
index 098dbf9..c27079b 100644
--- a/couchbase_analytics/common/request.py
+++ b/couchbase_analytics/common/request.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from dataclasses import dataclass
diff --git a/couchbase_analytics/common/result.py b/couchbase_analytics/common/result.py
index 81d5431..4ee3216 100644
--- a/couchbase_analytics/common/result.py
+++ b/couchbase_analytics/common/result.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from typing import TYPE_CHECKING, Any, List, Optional
diff --git a/couchbase_analytics/common/streaming.py b/couchbase_analytics/common/streaming.py
index 286dd4d..9465c17 100644
--- a/couchbase_analytics/common/streaming.py
+++ b/couchbase_analytics/common/streaming.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from collections.abc import AsyncIterator as PyAsyncIterator
diff --git a/couchbase_analytics/credential.py b/couchbase_analytics/credential.py
index c3aa770..e12f195 100644
--- a/couchbase_analytics/credential.py
+++ b/couchbase_analytics/credential.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,4 +13,5 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from couchbase_analytics.common.credential import Credential as Credential # noqa: F401
diff --git a/couchbase_analytics/database.py b/couchbase_analytics/database.py
index 36fc2a4..b0049ae 100644
--- a/couchbase_analytics/database.py
+++ b/couchbase_analytics/database.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from typing import TYPE_CHECKING
diff --git a/couchbase_analytics/database.pyi b/couchbase_analytics/database.pyi
index cfda42f..8e37b94 100644
--- a/couchbase_analytics/database.pyi
+++ b/couchbase_analytics/database.pyi
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/couchbase_analytics/deserializer.py b/couchbase_analytics/deserializer.py
index d5aed73..c89edee 100644
--- a/couchbase_analytics/deserializer.py
+++ b/couchbase_analytics/deserializer.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from couchbase_analytics.common.deserializer import DefaultJsonDeserializer as DefaultJsonDeserializer # noqa: F401
from couchbase_analytics.common.deserializer import Deserializer as Deserializer # noqa: F401
from couchbase_analytics.common.deserializer import PassthroughDeserializer as PassthroughDeserializer # noqa: F401
diff --git a/couchbase_analytics/errors.py b/couchbase_analytics/errors.py
index 3b18f30..03a6439 100644
--- a/couchbase_analytics/errors.py
+++ b/couchbase_analytics/errors.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from couchbase_analytics.common.errors import AnalyticsError as AnalyticsError # noqa: F401
from couchbase_analytics.common.errors import InternalSDKError as InternalSDKError # noqa: F401
from couchbase_analytics.common.errors import InvalidCredentialError as InvalidCredentialError # noqa: F401
diff --git a/couchbase_analytics/options.py b/couchbase_analytics/options.py
index ef2074d..bc8f846 100644
--- a/couchbase_analytics/options.py
+++ b/couchbase_analytics/options.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from couchbase_analytics.common.options import ClusterOptions as ClusterOptions # noqa: F401
from couchbase_analytics.common.options import ClusterOptionsKwargs as ClusterOptionsKwargs # noqa: F401
from couchbase_analytics.common.options import QueryOptions as QueryOptions # noqa: F401
diff --git a/couchbase_analytics/protocol/__init__.py b/couchbase_analytics/protocol/__init__.py
index 3c44617..22fcd67 100644
--- a/couchbase_analytics/protocol/__init__.py
+++ b/couchbase_analytics/protocol/__init__.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
import logging
import sys
diff --git a/couchbase_analytics/protocol/_core/__init__.py b/couchbase_analytics/protocol/_core/__init__.py
index 72df2de..406e22a 100644
--- a/couchbase_analytics/protocol/_core/__init__.py
+++ b/couchbase_analytics/protocol/_core/__init__.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/couchbase_analytics/protocol/_core/client_adapter.py b/couchbase_analytics/protocol/_core/client_adapter.py
index 09f8bcd..e620ac8 100644
--- a/couchbase_analytics/protocol/_core/client_adapter.py
+++ b/couchbase_analytics/protocol/_core/client_adapter.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import logging
diff --git a/couchbase_analytics/protocol/_core/json_stream.py b/couchbase_analytics/protocol/_core/json_stream.py
index b598c2f..f1bc6d5 100644
--- a/couchbase_analytics/protocol/_core/json_stream.py
+++ b/couchbase_analytics/protocol/_core/json_stream.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from concurrent.futures import Future
diff --git a/couchbase_analytics/protocol/_core/json_token_parser.py b/couchbase_analytics/protocol/_core/json_token_parser.py
index ebe6e2c..ba513ee 100644
--- a/couchbase_analytics/protocol/_core/json_token_parser.py
+++ b/couchbase_analytics/protocol/_core/json_token_parser.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from typing import Callable, List, Optional
diff --git a/couchbase_analytics/protocol/_core/net_utils.py b/couchbase_analytics/protocol/_core/net_utils.py
index 935e0d3..a70fc81 100644
--- a/couchbase_analytics/protocol/_core/net_utils.py
+++ b/couchbase_analytics/protocol/_core/net_utils.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import socket
diff --git a/couchbase_analytics/protocol/_core/request.py b/couchbase_analytics/protocol/_core/request.py
index 57da2ee..c2cc5f1 100644
--- a/couchbase_analytics/protocol/_core/request.py
+++ b/couchbase_analytics/protocol/_core/request.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from copy import deepcopy
diff --git a/couchbase_analytics/protocol/_core/request_context.py b/couchbase_analytics/protocol/_core/request_context.py
index 20ea378..feab717 100644
--- a/couchbase_analytics/protocol/_core/request_context.py
+++ b/couchbase_analytics/protocol/_core/request_context.py
@@ -1,3 +1,19 @@
+# Copyright 2016-2025. Couchbase, Inc.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
from __future__ import annotations
import json
diff --git a/couchbase_analytics/protocol/_core/retries.py b/couchbase_analytics/protocol/_core/retries.py
index b135e80..c87fa43 100644
--- a/couchbase_analytics/protocol/_core/retries.py
+++ b/couchbase_analytics/protocol/_core/retries.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from concurrent.futures import CancelledError
diff --git a/couchbase_analytics/protocol/_core/utils.py b/couchbase_analytics/protocol/_core/utils.py
index a44106c..bb5cb9a 100644
--- a/couchbase_analytics/protocol/_core/utils.py
+++ b/couchbase_analytics/protocol/_core/utils.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/couchbase_analytics/protocol/cluster.py b/couchbase_analytics/protocol/cluster.py
index 7b6a52a..637585c 100644
--- a/couchbase_analytics/protocol/cluster.py
+++ b/couchbase_analytics/protocol/cluster.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import atexit
diff --git a/couchbase_analytics/protocol/cluster.pyi b/couchbase_analytics/protocol/cluster.pyi
index d552809..dbb950a 100644
--- a/couchbase_analytics/protocol/cluster.pyi
+++ b/couchbase_analytics/protocol/cluster.pyi
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/couchbase_analytics/protocol/connection.py b/couchbase_analytics/protocol/connection.py
index 1f29d39..3d37496 100644
--- a/couchbase_analytics/protocol/connection.py
+++ b/couchbase_analytics/protocol/connection.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import logging
diff --git a/couchbase_analytics/protocol/database.py b/couchbase_analytics/protocol/database.py
index c1e9b34..1d73c65 100644
--- a/couchbase_analytics/protocol/database.py
+++ b/couchbase_analytics/protocol/database.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from concurrent.futures import ThreadPoolExecutor
diff --git a/couchbase_analytics/protocol/database.pyi b/couchbase_analytics/protocol/database.pyi
index f5d21ef..ac17bd1 100644
--- a/couchbase_analytics/protocol/database.pyi
+++ b/couchbase_analytics/protocol/database.pyi
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/couchbase_analytics/protocol/errors.py b/couchbase_analytics/protocol/errors.py
index afb67cf..3324e30 100644
--- a/couchbase_analytics/protocol/errors.py
+++ b/couchbase_analytics/protocol/errors.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import socket
diff --git a/couchbase_analytics/protocol/options.py b/couchbase_analytics/protocol/options.py
index e6830e8..d47ee08 100644
--- a/couchbase_analytics/protocol/options.py
+++ b/couchbase_analytics/protocol/options.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from copy import copy
diff --git a/couchbase_analytics/protocol/result.py b/couchbase_analytics/protocol/result.py
index 6837555..7165b68 100644
--- a/couchbase_analytics/protocol/result.py
+++ b/couchbase_analytics/protocol/result.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,4 +13,5 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
diff --git a/couchbase_analytics/protocol/scope.py b/couchbase_analytics/protocol/scope.py
index 6037268..1e77457 100644
--- a/couchbase_analytics/protocol/scope.py
+++ b/couchbase_analytics/protocol/scope.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from concurrent.futures import Future, ThreadPoolExecutor
diff --git a/couchbase_analytics/protocol/scope.pyi b/couchbase_analytics/protocol/scope.pyi
index 4e4914f..9296863 100644
--- a/couchbase_analytics/protocol/scope.pyi
+++ b/couchbase_analytics/protocol/scope.pyi
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/couchbase_analytics/protocol/streaming.py b/couchbase_analytics/protocol/streaming.py
index 6f27bbf..d6372a8 100644
--- a/couchbase_analytics/protocol/streaming.py
+++ b/couchbase_analytics/protocol/streaming.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from concurrent.futures import CancelledError
diff --git a/couchbase_analytics/query.py b/couchbase_analytics/query.py
index 6d6520e..bf9289f 100644
--- a/couchbase_analytics/query.py
+++ b/couchbase_analytics/query.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from couchbase_analytics.common.enums import QueryScanConsistency as QueryScanConsistency # noqa: F401
from couchbase_analytics.common.query import QueryMetadata as QueryMetadata # noqa: F401
from couchbase_analytics.common.query import QueryMetrics as QueryMetrics # noqa: F401
diff --git a/couchbase_analytics/result.py b/couchbase_analytics/result.py
index 78712e1..4f0e8e4 100644
--- a/couchbase_analytics/result.py
+++ b/couchbase_analytics/result.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from couchbase_analytics.common.result import AsyncQueryResult as AsyncQueryResult # noqa: F401
from couchbase_analytics.common.result import BlockingQueryResult as BlockingQueryResult # noqa: F401
from couchbase_analytics.common.result import QueryResult as QueryResult # noqa: F401
diff --git a/couchbase_analytics/scope.py b/couchbase_analytics/scope.py
index 02ba341..702becb 100644
--- a/couchbase_analytics/scope.py
+++ b/couchbase_analytics/scope.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from concurrent.futures import Future
diff --git a/couchbase_analytics/scope.pyi b/couchbase_analytics/scope.pyi
index 3486c4e..c5d36d2 100644
--- a/couchbase_analytics/scope.pyi
+++ b/couchbase_analytics/scope.pyi
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/couchbase_analytics/tests/__init__.py b/couchbase_analytics/tests/__init__.py
index e69de29..406e22a 100644
--- a/couchbase_analytics/tests/__init__.py
+++ b/couchbase_analytics/tests/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2016-2025. Couchbase, Inc.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
diff --git a/couchbase_analytics/tests/backoff_calc_t.py b/couchbase_analytics/tests/backoff_calc_t.py
index 5698b0f..99a232c 100644
--- a/couchbase_analytics/tests/backoff_calc_t.py
+++ b/couchbase_analytics/tests/backoff_calc_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import pytest
diff --git a/couchbase_analytics/tests/connect_integration_t.py b/couchbase_analytics/tests/connect_integration_t.py
index 76923bd..02ecb26 100644
--- a/couchbase_analytics/tests/connect_integration_t.py
+++ b/couchbase_analytics/tests/connect_integration_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from datetime import timedelta
diff --git a/couchbase_analytics/tests/connection_t.py b/couchbase_analytics/tests/connection_t.py
index 9653063..b9b0cf8 100644
--- a/couchbase_analytics/tests/connection_t.py
+++ b/couchbase_analytics/tests/connection_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from typing import Dict
diff --git a/couchbase_analytics/tests/duration_parsing_t.py b/couchbase_analytics/tests/duration_parsing_t.py
index f0b3325..13f66ea 100644
--- a/couchbase_analytics/tests/duration_parsing_t.py
+++ b/couchbase_analytics/tests/duration_parsing_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import pytest
diff --git a/couchbase_analytics/tests/json_parsing_t.py b/couchbase_analytics/tests/json_parsing_t.py
index d540682..18baf39 100644
--- a/couchbase_analytics/tests/json_parsing_t.py
+++ b/couchbase_analytics/tests/json_parsing_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import json
diff --git a/couchbase_analytics/tests/options_t.py b/couchbase_analytics/tests/options_t.py
index f2fd50d..a6722cd 100644
--- a/couchbase_analytics/tests/options_t.py
+++ b/couchbase_analytics/tests/options_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from datetime import timedelta
diff --git a/couchbase_analytics/tests/query_integration_t.py b/couchbase_analytics/tests/query_integration_t.py
index 9b7effb..b9c8c9f 100644
--- a/couchbase_analytics/tests/query_integration_t.py
+++ b/couchbase_analytics/tests/query_integration_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import json
diff --git a/couchbase_analytics/tests/query_options_t.py b/couchbase_analytics/tests/query_options_t.py
index dc4f25a..39d0b67 100644
--- a/couchbase_analytics/tests/query_options_t.py
+++ b/couchbase_analytics/tests/query_options_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from dataclasses import dataclass
diff --git a/couchbase_analytics/tests/test_server_t.py b/couchbase_analytics/tests/test_server_t.py
index 8652756..3d43a77 100644
--- a/couchbase_analytics/tests/test_server_t.py
+++ b/couchbase_analytics/tests/test_server_t.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from concurrent.futures import Future
diff --git a/couchbase_analytics_version.py b/couchbase_analytics_version.py
index 5e1b306..7924bdc 100644
--- a/couchbase_analytics_version.py
+++ b/couchbase_analytics_version.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,6 +15,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import print_function
import datetime
diff --git a/docs/conf.py b/docs/conf.py
index d94cd97..9d1859b 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,3 +1,19 @@
+# Copyright 2016-2025. Couchbase, Inc.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
@@ -100,11 +116,11 @@
extlinks = {
'couchbase_dev_portal': ('https://developer.couchbase.com/%s', None),
'couchbase_discord': ('https://discord.com/invite/sQ5qbPZuTh%s', None),
- 'analytics_sdk_github': ('https://github.com/couchbaselabs/analytics-python-client%s', None),
+ 'analytics_sdk_github': ('https://github.com/couchbase/analytics-python-client%s', None),
'acouchbase_analytics_examples':
- ('https://github.com/couchbaselabs/analytics-python-client/tree/main/async/examples%s', None),
+ ('https://github.com/couchbase/analytics-python-client/tree/main/async/examples%s', None),
'couchbase_analytics_examples':
- ('https://github.com/couchbaselabs/analytics-python-client/tree/main/sync/examples%s', None),
+ ('https://github.com/couchbase/analytics-python-client/tree/main/sync/examples%s', None),
'analytics_sdk_jira': ('https://issues.couchbase.com/projects/PYCO/issues/%s', None),
'analytics_sdk_docs': ('https://docs.couchbase.com/python-sdk/current/hello-world/overview.html%s', None),
'analytics_sdk_release_notes':
@@ -112,9 +128,9 @@
'analytics_sdk_compatibility':
('https://docs.couchbase.com/python-sdk/current/project-docs/compatibility.html%s', None),
'analytics_sdk_forums': ('https://forums.couchbase.com/c/python-sdk/10%s', None),
- 'analytics_sdk_license': ('https://github.com/couchbaselabs/analytics-python-client/blob/main/LICENSE%s', None),
+ 'analytics_sdk_license': ('https://github.com/couchbase/analytics-python-client/blob/main/LICENSE%s', None),
'analytics_sdk_contribute':
- ('https://github.com/couchbaselabs/analytics-python-client/blob/main/CONTRIBUTING.md%s', None),
+ ('https://github.com/couchbase/analytics-python-client/blob/main/CONTRIBUTING.md%s', None),
'analytics_sdk_version_compat':
('https://docs.couchbase.com/python-sdk/current/project-docs/compatibility.html#python-version-compat%s', None),
}
diff --git a/examples/async/basic_cluster_query_anyio.py b/examples/async/basic_cluster_query_anyio.py
index 84cd32b..8ae04e0 100644
--- a/examples/async/basic_cluster_query_anyio.py
+++ b/examples/async/basic_cluster_query_anyio.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/examples/async/basic_cluster_query_asyncio.py b/examples/async/basic_cluster_query_asyncio.py
index 39b9113..c76c02b 100644
--- a/examples/async/basic_cluster_query_asyncio.py
+++ b/examples/async/basic_cluster_query_asyncio.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
import asyncio
from datetime import timedelta
diff --git a/examples/async/basic_scope_query_anyio.py b/examples/async/basic_scope_query_anyio.py
index 10e6961..324e962 100644
--- a/examples/async/basic_scope_query_anyio.py
+++ b/examples/async/basic_scope_query_anyio.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/examples/async/basic_scope_query_asyncio.py b/examples/async/basic_scope_query_asyncio.py
index 368bc08..f6b02f7 100644
--- a/examples/async/basic_scope_query_asyncio.py
+++ b/examples/async/basic_scope_query_asyncio.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
import asyncio
from datetime import timedelta
diff --git a/examples/sync/basic_cluster_query.py b/examples/sync/basic_cluster_query.py
index 604bf91..37b4949 100644
--- a/examples/sync/basic_cluster_query.py
+++ b/examples/sync/basic_cluster_query.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from datetime import timedelta
from couchbase_analytics.cluster import Cluster
diff --git a/examples/sync/basic_scope_query.py b/examples/sync/basic_scope_query.py
index b7ef1f3..d0ef958 100644
--- a/examples/sync/basic_scope_query.py
+++ b/examples/sync/basic_scope_query.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from datetime import timedelta
from couchbase_analytics.cluster import Cluster
diff --git a/setup.py b/setup.py
index 122ec77..58e86c8 100644
--- a/setup.py
+++ b/setup.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
import os
import sys
diff --git a/tests/__init__.py b/tests/__init__.py
index 37106bc..2d43d46 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
import logging
from enum import Enum
from typing import AsyncGenerator, Generator, Optional, TypeVar
diff --git a/tests/analytics_config.py b/tests/analytics_config.py
index 2dfea05..4113a4c 100644
--- a/tests/analytics_config.py
+++ b/tests/analytics_config.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import os
diff --git a/tests/environments/__init__.py b/tests/environments/__init__.py
index 72df2de..406e22a 100644
--- a/tests/environments/__init__.py
+++ b/tests/environments/__init__.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/tests/environments/base_environment.py b/tests/environments/base_environment.py
index 7e2ff7c..b2126a4 100644
--- a/tests/environments/base_environment.py
+++ b/tests/environments/base_environment.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import json
diff --git a/tests/environments/simple_environment.py b/tests/environments/simple_environment.py
index 6c33d40..ffcefb3 100644
--- a/tests/environments/simple_environment.py
+++ b/tests/environments/simple_environment.py
@@ -1,3 +1,19 @@
+# Copyright 2016-2025. Couchbase, Inc.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
# ruff: noqa: E501
import json
from enum import Enum
diff --git a/tests/test_server/__init__.py b/tests/test_server/__init__.py
index b19f568..59700b1 100644
--- a/tests/test_server/__init__.py
+++ b/tests/test_server/__init__.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from enum import Enum
diff --git a/tests/test_server/request.py b/tests/test_server/request.py
index 7ded62a..45e9504 100644
--- a/tests/test_server/request.py
+++ b/tests/test_server/request.py
@@ -1,3 +1,19 @@
+# Copyright 2016-2025. Couchbase, Inc.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
from __future__ import annotations
from dataclasses import dataclass
diff --git a/tests/test_server/response.py b/tests/test_server/response.py
index 31cf753..81b4757 100644
--- a/tests/test_server/response.py
+++ b/tests/test_server/response.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import json
diff --git a/tests/test_server/web_server.py b/tests/test_server/web_server.py
index 999fe7e..dd968d5 100644
--- a/tests/test_server/web_server.py
+++ b/tests/test_server/web_server.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
# ruff: noqa: E402
from __future__ import annotations
diff --git a/tests/utils/__init__.py b/tests/utils/__init__.py
index e50b1d3..3c3e532 100644
--- a/tests/utils/__init__.py
+++ b/tests/utils/__init__.py
@@ -1,6 +1,4 @@
-#!/usr/bin/env python
-
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
import os
diff --git a/tests/utils/_async_client_adapter.py b/tests/utils/_async_client_adapter.py
index a935101..5043edb 100644
--- a/tests/utils/_async_client_adapter.py
+++ b/tests/utils/_async_client_adapter.py
@@ -1,3 +1,19 @@
+# Copyright 2016-2025. Couchbase, Inc.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
from typing import Dict
from httpx import URL, Response
diff --git a/tests/utils/_async_utils.py b/tests/utils/_async_utils.py
index b48ae0e..3c5c3de 100644
--- a/tests/utils/_async_utils.py
+++ b/tests/utils/_async_utils.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
from __future__ import annotations
from types import TracebackType
diff --git a/tests/utils/_client_adapter.py b/tests/utils/_client_adapter.py
index 36b3048..0acf76d 100644
--- a/tests/utils/_client_adapter.py
+++ b/tests/utils/_client_adapter.py
@@ -1,3 +1,19 @@
+# Copyright 2016-2025. Couchbase, Inc.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
from typing import Dict
from httpx import URL, Response
diff --git a/tests/utils/_run_web_server.py b/tests/utils/_run_web_server.py
index b62cde2..84ae3e4 100644
--- a/tests/utils/_run_web_server.py
+++ b/tests/utils/_run_web_server.py
@@ -1,4 +1,4 @@
-# Copyright 2016-2024. Couchbase, Inc.
+# Copyright 2016-2025. Couchbase, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
import atexit
import logging
import pathlib
diff --git a/tests/utils/_test_async_httpx.py b/tests/utils/_test_async_httpx.py
index 7b51a6f..eb2eb8e 100644
--- a/tests/utils/_test_async_httpx.py
+++ b/tests/utils/_test_async_httpx.py
@@ -1,3 +1,19 @@
+# Copyright 2016-2025. Couchbase, Inc.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
import logging
import typing
diff --git a/tests/utils/_test_httpx.py b/tests/utils/_test_httpx.py
index 68396b2..354a53c 100644
--- a/tests/utils/_test_httpx.py
+++ b/tests/utils/_test_httpx.py
@@ -1,3 +1,19 @@
+# Copyright 2016-2025. Couchbase, Inc.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
import logging
import time
import typing