Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove support for old python versions #595

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/build.yml
Expand Up @@ -18,7 +18,7 @@ jobs:
strategy:
matrix:
# only use one version for the lint step
python-version: [3.9]
python-version: ["3.11"]

steps:

Expand All @@ -35,6 +35,7 @@ jobs:

- id: dependencies
run: |
sudo apt-get install -y libsnappy-dev
pip install -r requirements.txt
pip install -r requirements.dev.txt -c constraints.txt

Expand All @@ -59,7 +60,7 @@ jobs:
strategy:
max-parallel: 5
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
python-version: ["3.11"]

steps:
- id: checkout-code
Expand Down
30 changes: 6 additions & 24 deletions README.rst
Expand Up @@ -84,7 +84,7 @@ PGHoard can backup and restore PostgreSQL versions 9.6 and above, but is
only tested and actively developed with version 10 and above.

The daemon is implemented in Python and is tested and developed with version
3.7 and above. The following Python modules are required:
3.11 and above. The following Python modules are required:

* psycopg2_ to look up transaction log metadata
* requests_ for the internal client-server architecture
Expand Down Expand Up @@ -127,41 +127,23 @@ should work on other platforms that provide the required modules.
Vagrant
=======

The Vagrantfile can be used to setup a vagrant development environment. The vagrant environment has
python 3.7, 3.8, 3.9 and 3.10 virtual environments and installations of postgresql 10, 11 and 12, 13 and 14.
The Vagrantfile can be used to setup a vagrant development environment. The vagrant environment has
python 3.11 virtual environments and installations of postgresql 10, 11 and 12, 13 and 14.

By default vagrant up will start a Virtualbox environment. The Vagrantfile will also work for libvirt, just prefix
``VAGRANT_DEFAULT_PROVIDER=libvirt`` to the ``vagrant up`` command.

Any combination of Python (3.7, 3.8, 3.9 and 3.10) and Postgresql (10, 11, 12, 13 and 14)
Any combination of Python (3.11) and Postgresql (10, 11, 12, 13 and 14)

Bring up vagrant instance and connect via ssh::

vagrant up
vagrant ssh
vagrant@ubuntu2004:~$ cd /vagrant

Test with Python 3.7 and Postgresql 10::
Test with Python 3.11 and Postgresql 13::

vagrant@ubuntu2004:~$ source ~/venv3.7/bin/activate
vagrant@ubuntu2004:~$ PG_VERSION=10 make unittest
vagrant@ubuntu2004:~$ deactivate

Test with Python 3.8 and Postgresql 11::

vagrant@ubuntu2004:~$ source ~/venv3.8/bin/activate
vagrant@ubuntu2004:~$ PG_VERSION=11 make unittest
vagrant@ubuntu2004:~$ deactivate

Test with Python 3.9 and Postgresql 12::

vagrant@ubuntu2004:~$ source ~/venv3.9/bin/activate
vagrant@ubuntu2004:~$ PG_VERSION=12 make unittest
vagrant@ubuntu2004:~$ deactivate

Test with Python 3.10 and Postgresql 13::

vagrant@ubuntu2004:~$ source ~/venv3.10/bin/activate
vagrant@ubuntu2004:~$ source ~/venv3.11/bin/activate
vagrant@ubuntu2004:~$ PG_VERSION=13 make unittest
vagrant@ubuntu2004:~$ deactivate

Expand Down
2 changes: 1 addition & 1 deletion Vagrantfile
Expand Up @@ -68,7 +68,7 @@ Vagrant.configure("2") do |config|
config.vm.provision "shell", inline: $script, privileged: true

$script = <<-SCRIPT
versions=(3.7 3.8 3.9 3.10)
versions=(3.11)
for version in "${versions[@]}"; do
python${version} -m venv venv${version}
source ~/venv${version}/bin/activate
Expand Down
4 changes: 0 additions & 4 deletions setup.py
Expand Up @@ -53,10 +53,6 @@
"Intended Audience :: Information Technology",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Topic :: Database :: Database Engines/Servers",
"Topic :: Software Development :: Libraries",
Expand Down