Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.11]
python-version: [3.14]

steps:
- uses: actions/checkout@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:
id-token: write
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.11
- name: Set up Python 3.14
uses: actions/setup-python@v4
with:
python-version: 3.11
python-version: 3.14
- name: Install pypa/build
run: >-
python -m
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8,3.9,'3.10',3.11,3.12]
python-version: ['3.10',3.11,3.12,3.13,3.14]

steps:
- uses: actions/checkout@v4
Expand All @@ -31,7 +31,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
python-version: 3.14
- name: Install dependencies
run: |
python -m pip install --upgrade pip
Expand All @@ -45,7 +45,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
python-version: 3.14
- name: Install dependencies
run: |
python -m pip install --upgrade pip
Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,9 @@ dist/*
.cache
.idea
.pytest_cache/*
.vscode/*

techbabble.xyz.crt
techbabble.xyz.csr
techbabble.xyz.icc
techbabble.xyz.key
13 changes: 8 additions & 5 deletions SoftLayer/CLI/environment.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,11 +115,14 @@ def getpass(self, prompt, default=None):
if password == 'àR':
# tkinter is a built in python gui, but it has clipboard reading functions.
# pylint: disable=import-outside-toplevel
from tkinter import Tk
tk_manager = Tk()
password = tk_manager.clipboard_get()
# keep the window from showing
tk_manager.withdraw()
try:
from tkinter import Tk
tk_manager = Tk()
password = tk_manager.clipboard_get()
# keep the window from showing
tk_manager.withdraw()
except ImportError:
return password
return password

# Command loading methods
Expand Down
10 changes: 4 additions & 6 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

setup(
name='SoftLayer',
version='v6.2.9',
version='v6.3.0',
description=DESCRIPTION,
long_description=LONG_DESCRIPTION,
long_description_content_type='text/x-rst',
Expand All @@ -30,14 +30,14 @@
'slcli = SoftLayer.CLI.core:main',
],
},
python_requires='>=3.7',
python_requires='>=3.10',
install_requires=[
'click >= 8.0.4',
'requests >= 2.32.2',
'prompt_toolkit >= 2',
'pygments >= 2.0.0',
'urllib3 >= 1.24',
'rich == 14.3.3'
'rich == 15.0.0'
],
keywords=['softlayer', 'cloud', 'slcli', 'ibmcloud'],
classifiers=[
Expand All @@ -48,12 +48,10 @@
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
'Topic :: Software Development :: Libraries :: Python Modules',
'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',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.14',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
],
Expand Down
9 changes: 9 additions & 0 deletions tests/CLI/environment_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,20 @@
"""

import click
import pytest
from unittest import mock as mock

from SoftLayer.CLI import environment
from SoftLayer.CLI import formatting
from SoftLayer import testing

# Check if tkinter is available
try:
import tkinter # noqa: F401
TKINTER_AVAILABLE = True
except ImportError:
TKINTER_AVAILABLE = False


@click.command()
def fixture_command():
Expand Down Expand Up @@ -54,6 +62,7 @@ def test_getpass(self, prompt_mock):
prompt_mock.assert_called_with('input', default=None, hide_input=True)
self.assertEqual(prompt_mock(), r)

@pytest.mark.skipif(not TKINTER_AVAILABLE, reason="tkinter module not available")
@mock.patch('click.prompt')
@mock.patch('tkinter.Tk')
def test_getpass_issues1436(self, tk, prompt_mock):
Expand Down
2 changes: 2 additions & 0 deletions tests/api_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -555,6 +555,8 @@ def test_cf_call_large_dataset(self, _call):
_call.side_effect = side_effects

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

self.assertEqual(_call.call_count, num_calls)
self.assertEqual(len(result), total_items)
Expand Down
10 changes: 5 additions & 5 deletions tools/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@

click == 8.1.8
requests >= 2.32.2
prompt_toolkit >= 2
pygments >= 2.0.0
urllib3 >= 1.24
rich == 14.3.3
requests >= 2.32.5
prompt_toolkit >= 3.0.52
pygments >= 2.20.0
urllib3 >= 2.6.3
rich == 15.0.0
# only used for soap transport
# softlayer-zeep >= 5.0.0
8 changes: 4 additions & 4 deletions tools/test-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ pytest-cov
mock
sphinx
click == 8.1.8
requests >= 2.32.2
prompt_toolkit >= 2
pygments >= 2.0.0
urllib3 >= 1.24
requests >= 2.32.5
prompt_toolkit >= 3.0.52
pygments >= 2.20.0
urllib3 >= 2.6.3
rich >= 12.3.0
flake8
autopep8
Expand Down
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tox]
envlist = py38,py39,py310,py311,py312,pypy3,analysis,coverage,docs
envlist = py310,py311,py312,py313,314,pypy3,analysis,coverage,docs


[flake8]
Expand Down
Loading