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 .copier-answers.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Changes here will be overwritten by Copier
_commit: v7.2.0
_commit: v7.3.0-21-gd03545f
_src_path: gh:eccenca/cmem-plugin-template
author_mail: [email protected]
author_name: eccenca GmbH
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,16 @@ jobs:

steps:
- name: Check out repository
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install Task
uses: arduino/setup-task@v2

- name: Set up python
id: setup-python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.11'
python-version: '3.13'

- name: Install and configure poetry
uses: snok/install-poetry@v1
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@ jobs:

steps:
- name: Check out repository
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install Task
uses: arduino/setup-task@v2

- name: Set up python
id: setup-python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.11'
python-version: '3.13'

- name: Install and configure poetry
uses: snok/install-poetry@v1
Expand Down
8 changes: 3 additions & 5 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
default:
image: docker-registry.eccenca.com/eccenca-python:v3.11.9-2
image: docker-registry.eccenca.com/eccenca-python:v3.13.8
# all jobs can be interrupted in case a new commit is pushed
interruptible: true
before_script:
Expand Down Expand Up @@ -53,10 +53,7 @@ pytest:
junit:
- dist/junit-pytest.xml
paths:
- dist/badge-coverage.svg
- dist/badge-tests.svg
- dist/coverage
- dist/coverage.xml
- dist/*

deptry:
stage: test
Expand All @@ -74,6 +71,7 @@ build:
- mypy
- pytest
- safety
- deptry
script:
- task build
artifacts:
Expand Down
2 changes: 1 addition & 1 deletion .python-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.11
3.13
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p

- testing infrastructure based in testcontainers

### Changed

- update template and ensure python 3.13 compatability

## [1.0.0] 2025-07-18

Expand Down
2 changes: 1 addition & 1 deletion cmem_plugin_ssh/execute_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ def input_execution(

def no_input_execution(self, entities: list) -> None:
"""Execute the command with no given input files"""
stdin, stdout, stderr = self.ssh_client.exec_command(
_, stdout, stderr = self.ssh_client.exec_command(
self.command,
timeout=self.timeout,
)
Expand Down
1,813 changes: 985 additions & 828 deletions poetry.lock

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,27 +14,27 @@ keywords = [
homepage = "https://github.com/eccenca/cmem-plugin-ssh"

[tool.poetry.dependencies]# if you need to change python version here, change it also in .python-version
python = "^3.11"
python = "^3.13"
paramiko = "^3.5.1"

[tool.poetry.dependencies.cmem-plugin-base]
version = "^4.10.2"
version = "^4.12.1"
allow-prereleases = false

[tool.poetry.group.dev.dependencies.cmem-cmemc]
version = "^25.2.0"
version = ">=24.2.0"

[tool.poetry.group.dev.dependencies]
deptry = "^0.23.0"
deptry = "^0.23.1"
genbadge = {extras = ["coverage"], version = "^1.1.2"}
mypy = "^1.15.0"
pip = "^25.1.1"
pytest = "^8.3.5"
pytest-cov = "^6.1.1"
mypy = "^1.18.2"
pip = "^25.2"
pytest = "^8.4.2"
pytest-cov = "^7.0.0"
pytest-dotenv = "^0.5.2"
pytest-html = "^4.1.1"
pytest-memray = { version = "^1.7.0", markers = "platform_system != 'Windows'" }
ruff = "^0.11.11"
pytest-memray = { version = "^1.8.0", markers = "platform_system != 'Windows'" }
ruff = "^0.13.3"
safety = "^1.10.3"
testcontainers = "^4.12.0"
types-paramiko = "^3.5.0.20250516"
Expand Down
6 changes: 3 additions & 3 deletions tests/test_list.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

def test_private_key_with_wrong_password(testing_environment: TestingEnvironment) -> None:
"""Test encrypted private key with wrong password failure"""
with pytest.raises(AuthenticationException, match="Authentication failed."):
with pytest.raises(AuthenticationException, match="Authentication failed"):
ListFiles(
hostname=testing_environment.hostname,
port=testing_environment.port,
Expand Down Expand Up @@ -83,7 +83,7 @@ def test_plugin_wrong_hostname(testing_environment: TestingEnvironment) -> None:

def test_plugin_wrong_username(testing_environment: TestingEnvironment) -> None:
"""Test plugin execution with an incorrect port"""
with pytest.raises(AuthenticationException, match="Authentication failed."):
with pytest.raises(AuthenticationException, match="Authentication failed"):
ListFiles(
hostname=testing_environment.hostname,
port=testing_environment.port,
Expand Down Expand Up @@ -134,7 +134,7 @@ def test_plugin_wrong_private_key(testing_environment: TestingEnvironment) -> No

def test_plugin_wrong_password(testing_environment: TestingEnvironment) -> None:
"""Test plugin execution with an incorrect private key"""
with pytest.raises(AuthenticationException, match="Authentication failed."):
with pytest.raises(AuthenticationException, match="Authentication failed"):
ListFiles(
hostname=testing_environment.hostname,
port=testing_environment.port,
Expand Down