From 9d41e3a5e3c58dc6f0522acdeca1530b6c81eb0d Mon Sep 17 00:00:00 2001 From: Rinat Sabitov Date: Mon, 8 Sep 2025 09:59:09 +0200 Subject: [PATCH] refactor(core): drop Python 2 compatibility code --- README.md | 4 ++-- pycouchdb/resource.py | 2 -- pycouchdb/utils.py | 22 +++++----------------- test/test_integration.py | 2 -- 4 files changed, 7 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index d694adc..27150e0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # py-couchdb -[![CI](https://github.com/histrio/py-couchdb/actions/workflows/main.yml/badge.svg?branch=no-py2)](https://github.com/histrio/py-couchdb/actions/workflows/main.yml) +[![CI](https://github.com/histrio/py-couchdb/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/histrio/py-couchdb/actions/workflows/main.yml) ![PyPI](https://img.shields.io/pypi/v/pycouchdb) ![PyPI - Downloads](https://img.shields.io/pypi/dm/pycouchdb) [![Coverage Status](https://coveralls.io/repos/github/histrio/py-couchdb/badge.svg?branch=master)](https://coveralls.io/github/histrio/py-couchdb?branch=master) @@ -13,7 +13,7 @@ Modern pure python [CouchDB](https://couchdb.apache.org/) Client. Currently there are several libraries in python to connect to couchdb. **Why one more?** It's very simple. -All seems not be maintained, all libraries used standard Python libraries for http requests, and are not compatible with python3. +All seems not be maintained, all libraries used standard Python libraries for http requests. diff --git a/pycouchdb/resource.py b/pycouchdb/resource.py index 40068b0..8ef1357 100644 --- a/pycouchdb/resource.py +++ b/pycouchdb/resource.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - import json import requests diff --git a/pycouchdb/utils.py b/pycouchdb/utils.py index e2890f7..79478ef 100644 --- a/pycouchdb/utils.py +++ b/pycouchdb/utils.py @@ -1,24 +1,12 @@ # -*- coding: utf-8 -*- import json -import sys +from urllib.parse import unquote as _unquote +from urllib.parse import urlunsplit, urlsplit +from functools import reduce - -if sys.version_info[0] == 3: - from urllib.parse import unquote as _unquote - from urllib.parse import urlunsplit, urlsplit - - string_type = str - bytes_type = bytes - - from functools import reduce - -else: - from urllib import unquote as _unquote - from urlparse import urlunsplit, urlsplit - - string_type = unicode # noqa: F821 - bytes_type = str +string_type = str +bytes_type = bytes URLSPLITTER = '/' diff --git a/test/test_integration.py b/test/test_integration.py index 23c8313..55923d8 100644 --- a/test/test_integration.py +++ b/test/test_integration.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import print_function, unicode_literals - import pytest import types