Compare commits

...

7 Commits

Author SHA1 Message Date
4a62e1116b fix(deps): update dependency webex-bot to <1.2.4,>=1.2.3
All checks were successful
Validate PR Title / validate (pull_request) Successful in 8s
CI / ci (pull_request) Successful in 33s
2026-03-04 11:02:47 +00:00
c01bee1f0c fix(build): Update to Python 3.13.12 (#422)
Some checks failed
Release / Tag release (push) Successful in 10s
Release / Create Release (push) Successful in 32s
Release / Publish Docker Images (push) Failing after 2m7s
Reviewed-on: #422
2026-02-28 14:28:52 +00:00
b5dd5a0e46 fix(asyncio): revert fa4bbee815 to remove Python 3.14
revert chore(deps): update python to v3.14.3 (#416)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [python](https://python.org) ([source](https://github.com/python/cpython)) | requires-python | minor | `<3.14,>=3.13` → `<3.15,>=3.14` |
| python | final | minor | `3.13.9-slim` → `3.14.3-slim` |

---

### Release Notes

<details>
<summary>python/cpython (python)</summary>

### [`v3.14.3`](https://github.com/python/cpython/compare/v3.14.2...v3.14.3)

[Compare Source](https://github.com/python/cpython/compare/v3.14.2...v3.14.3)

### [`v3.14.2`](https://github.com/python/cpython/compare/v3.14.1...v3.14.2)

[Compare Source](https://github.com/python/cpython/compare/v3.14.1...v3.14.2)

### [`v3.14.1`](https://github.com/python/cpython/compare/v3.14.0...v3.14.1)

[Compare Source](https://github.com/python/cpython/compare/v3.14.0...v3.14.1)

### [`v3.14.0`](https://github.com/python/cpython/compare/v3.13.12...v3.14.0)

[Compare Source](https://github.com/python/cpython/compare/v3.13.12...v3.14.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zLjEiLCJ1cGRhdGVkSW5WZXIiOiI0My4zMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: #416
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-02-28 14:22:59 +00:00
fa4bbee815 chore(deps): update python to v3.14.3 (#416)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [python](https://python.org) ([source](https://github.com/python/cpython)) | requires-python | minor | `<3.14,>=3.13` → `<3.15,>=3.14` |
| python | final | minor | `3.13.9-slim` → `3.14.3-slim` |

---

### Release Notes

<details>
<summary>python/cpython (python)</summary>

### [`v3.14.3`](https://github.com/python/cpython/compare/v3.14.2...v3.14.3)

[Compare Source](https://github.com/python/cpython/compare/v3.14.2...v3.14.3)

### [`v3.14.2`](https://github.com/python/cpython/compare/v3.14.1...v3.14.2)

[Compare Source](https://github.com/python/cpython/compare/v3.14.1...v3.14.2)

### [`v3.14.1`](https://github.com/python/cpython/compare/v3.14.0...v3.14.1)

[Compare Source](https://github.com/python/cpython/compare/v3.14.0...v3.14.1)

### [`v3.14.0`](https://github.com/python/cpython/compare/v3.13.12...v3.14.0)

[Compare Source](https://github.com/python/cpython/compare/v3.13.12...v3.14.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zLjEiLCJ1cGRhdGVkSW5WZXIiOiI0My4zMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: #416
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-02-28 14:18:49 +00:00
859383935c fix(test): fix assertion error in timestamp_to_date invalid test (#421)
Reviewed-on: #421
2026-02-28 14:16:30 +00:00
481828073c chore(deps): update dependency isort to <8.0.2,>=8.0.1 (#420)
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-02-28 13:55:27 +00:00
5d28b27728 feat(deps): lock file maintenance (#419)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zMS4xIiwidXBkYXRlZEluVmVyIjoiNDMuMzEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #419
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-02-23 22:16:53 +00:00
4 changed files with 19 additions and 15 deletions

View File

@@ -1,4 +1,4 @@
FROM python:3.13.9-slim
FROM python:3.13.12-slim
LABEL maintainer="Luke Tainton <luke@tainton.uk>"
USER root

View File

@@ -8,7 +8,7 @@ authors = [
]
requires-python = "<3.14,>=3.13"
dependencies = [
"webex-bot<1.2.1,>=1.2.0",
"webex-bot<1.2.4,>=1.2.3",
"datetime<6.1,>=6",
"requests<3.0.0,>=2.32.3",
]
@@ -17,7 +17,7 @@ dependencies = [
dev = [
"black<26.1.1,>=26.1.0",
"coverage<8.0.0,>=7.6.10",
"isort<8.0.1,>=8.0.0",
"isort<8.0.2,>=8.0.1",
"pylint<4.1.0,>=4.0.0",
"pylint-exit<2.0.0,>=1.2.0",
"pytest<9.1.0,>=9.0.0",

View File

@@ -16,7 +16,11 @@ def test_correct() -> None:
def test_invalid() -> None:
"""Test timestamp_to_date() with an invalid timestamp."""
allowed_errors: list[str] = [
"'str' object cannot be interpreted as an integer",
"argument must be int or float, not str"
]
timestamp: str = "hello"
with pytest.raises(TypeError) as excinfo:
timestamp_to_date(timestamp)
assert "'str' object cannot be interpreted as an integer" in str(excinfo.value)
assert str(excinfo.value) in allowed_errors

22
uv.lock generated
View File

@@ -202,11 +202,11 @@ wheels = [
[[package]]
name = "isort"
version = "8.0.0"
version = "8.0.1"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/bf/e3/e72b0b3a85f24cf5fc2cd8e92b996592798f896024c5cdf3709232e6e377/isort-8.0.0.tar.gz", hash = "sha256:fddea59202f231e170e52e71e3510b99c373b6e571b55d9c7b31b679c0fed47c", size = 769482, upload-time = "2026-02-19T16:31:59.716Z" }
sdist = { url = "https://files.pythonhosted.org/packages/ef/7c/ec4ab396d31b3b395e2e999c8f46dec78c5e29209fac49d1f4dace04041d/isort-8.0.1.tar.gz", hash = "sha256:171ac4ff559cdc060bcfff550bc8404a486fee0caab245679c2abe7cb253c78d", size = 769592, upload-time = "2026-02-28T10:08:20.685Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/74/ea/cf3aad99dd12c026e2d6835d559efb6fc50ccfd5b46d42d5fec2608b116a/isort-8.0.0-py3-none-any.whl", hash = "sha256:184916a933041c7cf718787f7e52064f3c06272aff69a5cb4dc46497bd8911d9", size = 89715, upload-time = "2026-02-19T16:31:57.745Z" },
{ url = "https://files.pythonhosted.org/packages/3e/95/c7c34aa53c16353c56d0b802fba48d5f5caa2cdee7958acbcb795c830416/isort-8.0.1-py3-none-any.whl", hash = "sha256:28b89bc70f751b559aeca209e6120393d43fbe2490de0559662be7a9787e3d75", size = 89733, upload-time = "2026-02-28T10:08:19.466Z" },
]
[[package]]
@@ -247,11 +247,11 @@ wheels = [
[[package]]
name = "platformdirs"
version = "4.5.1"
version = "4.9.2"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz", hash = "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", size = 21715, upload-time = "2025-12-05T13:52:58.638Z" }
sdist = { url = "https://files.pythonhosted.org/packages/1b/04/fea538adf7dbbd6d186f551d595961e564a3b6715bdf276b477460858672/platformdirs-4.9.2.tar.gz", hash = "sha256:9a33809944b9db043ad67ca0db94b14bf452cc6aeaac46a88ea55b26e2e9d291", size = 28394, upload-time = "2026-02-16T03:56:10.574Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl", hash = "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", size = 18731, upload-time = "2025-12-05T13:52:56.823Z" },
{ url = "https://files.pythonhosted.org/packages/48/31/05e764397056194206169869b50cf2fee4dbbbc71b344705b9c0d878d4d8/platformdirs-4.9.2-py3-none-any.whl", hash = "sha256:9170634f126f8efdae22fb58ae8a0eaa86f38365bc57897a6c4f781d1f5875bd", size = 21168, upload-time = "2026-02-16T03:56:08.891Z" },
]
[[package]]
@@ -408,14 +408,14 @@ dev = [
requires-dist = [
{ name = "datetime", specifier = ">=6,<6.1" },
{ name = "requests", specifier = ">=2.32.3,<3.0.0" },
{ name = "webex-bot", specifier = ">=1.2.0,<1.2.1" },
{ name = "webex-bot", specifier = ">=1.2.3,<1.2.4" },
]
[package.metadata.requires-dev]
dev = [
{ name = "black", specifier = ">=26.1.0,<26.1.1" },
{ name = "coverage", specifier = ">=7.6.10,<8.0.0" },
{ name = "isort", specifier = ">=8.0.0,<8.0.1" },
{ name = "isort", specifier = ">=8.0.1,<8.0.2" },
{ name = "pylint", specifier = ">=4.0.0,<4.1.0" },
{ name = "pylint-exit", specifier = ">=1.2.0,<2.0.0" },
{ name = "pytest", specifier = ">=9.0.0,<9.1.0" },
@@ -442,7 +442,7 @@ wheels = [
[[package]]
name = "webex-bot"
version = "1.2.0"
version = "1.2.3"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "backoff" },
@@ -450,9 +450,9 @@ dependencies = [
{ name = "webexpythonsdk" },
{ name = "websockets" },
]
sdist = { url = "https://files.pythonhosted.org/packages/aa/b2/329f614a116baec03ec3f27a505afb83141de6d3f48870f9283d58b80ce2/webex_bot-1.2.0.tar.gz", hash = "sha256:cf7e9245437a32be443dcc4b14999dcb04c79ad0865b5c847c8e497a6ddd5a15", size = 35088, upload-time = "2026-02-03T10:49:46.602Z" }
sdist = { url = "https://files.pythonhosted.org/packages/93/9b/271edb01976b0d4ab106ab2f43082458a824b261049c7c2827c78f4208f6/webex_bot-1.2.3.tar.gz", hash = "sha256:a6457c2d9c82458e924473fd1a608e799669b7360f98dbb730423f622eceff84", size = 35224, upload-time = "2026-03-04T10:56:25.237Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/5f/e5/3bf747461a886eeedfc1a9a0182b90b9f2aaa88b7144b851947beda1ad45/webex_bot-1.2.0-py2.py3-none-any.whl", hash = "sha256:ea076e25a0ec7239933b694d859e6e7cf780c6f658416b15d48e9fdfee4da405", size = 23593, upload-time = "2026-02-03T10:49:45.096Z" },
{ url = "https://files.pythonhosted.org/packages/c4/ee/da2536fb1bb88ff6ee8c632298eb12195a74c6450d78a7d65258823cd6c1/webex_bot-1.2.3-py2.py3-none-any.whl", hash = "sha256:90a65596f43b5483d91236be6f8e44d0848e06d43edd5e6673a3559448ac012f", size = 23646, upload-time = "2026-03-04T10:56:24.247Z" },
]
[[package]]