Skip to content

Commit

Permalink
drop python 3.8 support
Browse files Browse the repository at this point in the history
  • Loading branch information
toluaina committed Nov 6, 2024
1 parent 105edfb commit 49008a2
Show file tree
Hide file tree
Showing 11 changed files with 28 additions and 30 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/python-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
strategy:
max-parallel: 4
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
services:
postgres:
image: debezium/postgres:17
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
repos:

- repo: https://github.com/psf/black
rev: 24.8.0
rev: 24.10.0
hooks:
- id: black

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ the search capabilities of [Elasticsearch](https://www.elastic.co/products/elast

#### How it works

PGSync is written in Python (supporting version 3.8 onwards) and the stack is composed of: [Redis](https://redis.io), [Elasticsearch](https://www.elastic.co/products/elastic-stack)/[OpenSearch](https://opensearch.org/), [Postgres](https://www.postgresql.org), and [SQlAlchemy](https://www.sqlalchemy.org).
PGSync is written in Python (supporting version 3.9 onwards) and the stack is composed of: [Redis](https://redis.io), [Elasticsearch](https://www.elastic.co/products/elastic-stack)/[OpenSearch](https://opensearch.org/), [Postgres](https://www.postgresql.org), and [SQlAlchemy](https://www.sqlalchemy.org).

PGSync leverages the [logical decoding](https://www.postgresql.org/docs/current/logicaldecoding.html) feature of [Postgres](https://www.postgresql.org) (introduced in PostgreSQL 9.4) to capture a continuous stream of change events.
This feature needs to be enabled in your [Postgres](https://www.postgresql.org) configuration file by setting in the postgresql.conf file:
Expand Down Expand Up @@ -152,7 +152,7 @@ Key features of PGSync are:

#### Requirements

- [Python](https://www.python.org) 3.8+
- [Python](https://www.python.org) 3.9+
- [Postgres](https://www.postgresql.org) 9.6+
- [Redis](https://redis.io) 3.1.0+
- [Elasticsearch](https://www.elastic.co/products/elastic-stack) 6.3.1+ or [OpenSearch](https://opensearch.org/) 1.3.7+
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ expose structured denormalized documents in [Elasticsearch](https://www.elastic.

### Requirements

- [Python](https://www.python.org) 3.8+
- [Python](https://www.python.org) 3.9+
- [Postgres](https://www.postgresql.org) 9.6+
- [Redis](https://redis.io) 3.1.0+
- [Elasticsearch](https://www.elastic.co/products/elastic-stack) 6.3.1+ or [OpenSearch](https://opensearch.org/) 1.3.7+
Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FROM postgres: debezium/postgres:16
FROM postgres: debezium/postgres:17
COPY conf.sql /docker-entrypoint-initdb.d/
RUN chmod a+r /docker-entrypoint-initdb.d/conf.sql
2 changes: 1 addition & 1 deletion pgsync/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

__author__ = "Tolu Aina"
__email__ = "tolu@pgsync.com"
__version__ = "3.2.1"
__version__ = "3.3.0"
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[tool.black]
line-length = 79
target-version = ['py38', 'py39', 'py310', 'py311', 'py312', 'py313']
target-version = ['py39', 'py310', 'py311', 'py312', 'py313']
12 changes: 6 additions & 6 deletions requirements/base.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# This file is autogenerated by pip-compile with Python 3.9
# by the following command:
#
# pip-compile --output-file=requirements/base.txt requirements/base.in
#
async-timeout==4.0.3
async-timeout==5.0.0
# via redis
boto3==1.35.44
boto3==1.35.54
# via -r requirements/base.in
botocore==1.35.44
botocore==1.35.54
# via
# boto3
# s3transfer
Expand Down Expand Up @@ -41,7 +41,7 @@ jmespath==1.0.1
# via
# boto3
# botocore
marshmallow==3.22.0
marshmallow==3.23.1
# via environs
opensearch-dsl==2.1.0
# via -r requirements/base.in
Expand All @@ -61,7 +61,7 @@ python-dotenv==1.0.1
# via
# -r requirements/base.in
# environs
redis==5.1.1
redis==5.2.0
# via -r requirements/base.in
requests==2.32.3
# via
Expand Down
3 changes: 1 addition & 2 deletions requirements/dev.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ flake8
freezegun
isort
mock
# pinned to 3.5.0 because of python 3.8 support
pre-commit==3.5.0
pre-commit
pytest
pytest-cov
pytest-mock
24 changes: 12 additions & 12 deletions requirements/dev.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# This file is autogenerated by pip-compile with Python 3.9
# by the following command:
#
# pip-compile --output-file=requirements/dev.txt requirements/dev.in
#
async-timeout==4.0.3
async-timeout==5.0.0
# via redis
black==24.8.0
black==24.10.0
# via -r requirements/dev.in
boto3==1.35.44
boto3==1.35.54
# via -r requirements/base.in
botocore==1.35.44
botocore==1.35.54
# via
# boto3
# s3transfer
Expand All @@ -27,7 +27,7 @@ click==8.1.7
# via
# -r requirements/base.in
# black
coverage[toml]==7.6.1
coverage[toml]==7.6.4
# via
# -r requirements/dev.in
# pytest-cov
Expand All @@ -47,7 +47,7 @@ events==0.5
# via opensearch-py
exceptiongroup==1.2.2
# via pytest
faker==30.6.0
faker==30.8.2
# via -r requirements/dev.in
filelock==3.16.1
# via virtualenv
Expand All @@ -69,7 +69,7 @@ jmespath==1.0.1
# via
# boto3
# botocore
marshmallow==3.22.0
marshmallow==3.23.1
# via environs
mccabe==0.7.0
# via flake8
Expand All @@ -96,7 +96,7 @@ platformdirs==4.3.6
# virtualenv
pluggy==1.5.0
# via pytest
pre-commit==3.5.0
pre-commit==4.0.1
# via -r requirements/dev.in
psycopg2-binary==2.9.10
# via -r requirements/base.in
Expand All @@ -109,7 +109,7 @@ pytest==8.3.3
# -r requirements/dev.in
# pytest-cov
# pytest-mock
pytest-cov==5.0.0
pytest-cov==6.0.0
# via -r requirements/dev.in
pytest-mock==3.14.0
# via -r requirements/dev.in
Expand All @@ -127,7 +127,7 @@ python-dotenv==1.0.1
# environs
pyyaml==6.0.2
# via pre-commit
redis==5.1.1
redis==5.2.0
# via -r requirements/base.in
requests==2.32.3
# via
Expand Down Expand Up @@ -162,5 +162,5 @@ urllib3==1.26.20
# elastic-transport
# opensearch-py
# requests
virtualenv==20.27.0
virtualenv==20.27.1
# via pre-commit
3 changes: 1 addition & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def get_version() -> str:
URL = "https://github.com/toluaina/pgsync"
AUTHOR = MAINTAINER = "Tolu Aina"
AUTHOR_EMAIL = MAINTAINER_EMAIL = "tolu@pgsync.com"
PYTHON_REQUIRES = ">=3.8.0"
PYTHON_REQUIRES = ">=3.9.0"
VERSION = get_version()
INSTALL_REQUIRES = []
KEYWORDS = [
Expand All @@ -39,7 +39,6 @@ def get_version() -> str:
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Natural Language :: English",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
Expand Down

0 comments on commit 49008a2

Please sign in to comment.