Skip to content

Commit 75a4170

Browse files
Merge pull request #2254 from softlayer/drop_py_38
Drop py3.8 Support
2 parents 892e367 + 7348794 commit 75a4170

11 files changed

Lines changed: 45 additions & 27 deletions

File tree

.github/workflows/documentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
runs-on: ubuntu-latest
1111
strategy:
1212
matrix:
13-
python-version: [3.11]
13+
python-version: [3.14]
1414

1515
steps:
1616
- uses: actions/checkout@v4

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ jobs:
1818
id-token: write
1919
steps:
2020
- uses: actions/checkout@v4
21-
- name: Set up Python 3.11
21+
- name: Set up Python 3.14
2222
uses: actions/setup-python@v4
2323
with:
24-
python-version: 3.11
24+
python-version: 3.14
2525
- name: Install pypa/build
2626
run: >-
2727
python -m

.github/workflows/tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
runs-on: ubuntu-latest
1111
strategy:
1212
matrix:
13-
python-version: [3.8,3.9,'3.10',3.11,3.12]
13+
python-version: ['3.10',3.11,3.12,3.13,3.14]
1414

1515
steps:
1616
- uses: actions/checkout@v4
@@ -31,7 +31,7 @@ jobs:
3131
- name: Set up Python
3232
uses: actions/setup-python@v5
3333
with:
34-
python-version: 3.12
34+
python-version: 3.14
3535
- name: Install dependencies
3636
run: |
3737
python -m pip install --upgrade pip
@@ -45,7 +45,7 @@ jobs:
4545
- name: Set up Python
4646
uses: actions/setup-python@v5
4747
with:
48-
python-version: 3.12
48+
python-version: 3.14
4949
- name: Install dependencies
5050
run: |
5151
python -m pip install --upgrade pip

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,9 @@ dist/*
1515
.cache
1616
.idea
1717
.pytest_cache/*
18+
.vscode/*
19+
20+
techbabble.xyz.crt
21+
techbabble.xyz.csr
22+
techbabble.xyz.icc
23+
techbabble.xyz.key

SoftLayer/CLI/environment.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,14 @@ def getpass(self, prompt, default=None):
115115
if password == 'àR':
116116
# tkinter is a built in python gui, but it has clipboard reading functions.
117117
# pylint: disable=import-outside-toplevel
118-
from tkinter import Tk
119-
tk_manager = Tk()
120-
password = tk_manager.clipboard_get()
121-
# keep the window from showing
122-
tk_manager.withdraw()
118+
try:
119+
from tkinter import Tk
120+
tk_manager = Tk()
121+
password = tk_manager.clipboard_get()
122+
# keep the window from showing
123+
tk_manager.withdraw()
124+
except ImportError:
125+
return password
123126
return password
124127

125128
# Command loading methods

setup.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
setup(
1717
name='SoftLayer',
18-
version='v6.2.9',
18+
version='v6.3.0',
1919
description=DESCRIPTION,
2020
long_description=LONG_DESCRIPTION,
2121
long_description_content_type='text/x-rst',
@@ -30,14 +30,14 @@
3030
'slcli = SoftLayer.CLI.core:main',
3131
],
3232
},
33-
python_requires='>=3.7',
33+
python_requires='>=3.10',
3434
install_requires=[
3535
'click >= 8.0.4',
3636
'requests >= 2.32.2',
3737
'prompt_toolkit >= 2',
3838
'pygments >= 2.0.0',
3939
'urllib3 >= 1.24',
40-
'rich == 14.3.3'
40+
'rich == 15.0.0'
4141
],
4242
keywords=['softlayer', 'cloud', 'slcli', 'ibmcloud'],
4343
classifiers=[
@@ -48,12 +48,10 @@
4848
'License :: OSI Approved :: MIT License',
4949
'Operating System :: OS Independent',
5050
'Topic :: Software Development :: Libraries :: Python Modules',
51-
'Programming Language :: Python :: 3.7',
52-
'Programming Language :: Python :: 3.8',
53-
'Programming Language :: Python :: 3.9',
5451
'Programming Language :: Python :: 3.10',
5552
'Programming Language :: Python :: 3.11',
5653
'Programming Language :: Python :: 3.12',
54+
'Programming Language :: Python :: 3.14',
5755
'Programming Language :: Python :: Implementation :: CPython',
5856
'Programming Language :: Python :: Implementation :: PyPy',
5957
],

tests/CLI/environment_tests.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,20 @@
66
"""
77

88
import click
9+
import pytest
910
from unittest import mock as mock
1011

1112
from SoftLayer.CLI import environment
1213
from SoftLayer.CLI import formatting
1314
from SoftLayer import testing
1415

16+
# Check if tkinter is available
17+
try:
18+
import tkinter # noqa: F401
19+
TKINTER_AVAILABLE = True
20+
except ImportError:
21+
TKINTER_AVAILABLE = False
22+
1523

1624
@click.command()
1725
def fixture_command():
@@ -54,6 +62,7 @@ def test_getpass(self, prompt_mock):
5462
prompt_mock.assert_called_with('input', default=None, hide_input=True)
5563
self.assertEqual(prompt_mock(), r)
5664

65+
@pytest.mark.skipif(not TKINTER_AVAILABLE, reason="tkinter module not available")
5766
@mock.patch('click.prompt')
5867
@mock.patch('tkinter.Tk')
5968
def test_getpass_issues1436(self, tk, prompt_mock):

tests/api_tests.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,8 @@ def test_cf_call_large_dataset(self, _call):
555555
_call.side_effect = side_effects
556556

557557
result = self.client.cf_call('SERVICE', 'METHOD', limit=limit)
558+
# sort the results to ensure they are in order
559+
result = sorted(result)
558560

559561
self.assertEqual(_call.call_count, num_calls)
560562
self.assertEqual(len(result), total_items)

tools/requirements.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

22
click == 8.1.8
3-
requests >= 2.32.2
4-
prompt_toolkit >= 2
5-
pygments >= 2.0.0
6-
urllib3 >= 1.24
7-
rich == 14.3.3
3+
requests >= 2.32.5
4+
prompt_toolkit >= 3.0.52
5+
pygments >= 2.20.0
6+
urllib3 >= 2.6.3
7+
rich == 15.0.0
88
# only used for soap transport
99
# softlayer-zeep >= 5.0.0

tools/test-requirements.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ pytest-cov
55
mock
66
sphinx
77
click == 8.1.8
8-
requests >= 2.32.2
9-
prompt_toolkit >= 2
10-
pygments >= 2.0.0
11-
urllib3 >= 1.24
8+
requests >= 2.32.5
9+
prompt_toolkit >= 3.0.52
10+
pygments >= 2.20.0
11+
urllib3 >= 2.6.3
1212
rich >= 12.3.0
1313
flake8
1414
autopep8

0 commit comments

Comments
 (0)