Fails completely in Python <3.13 #66

Closed
opened 2026-10-14 23:41:54 +02:00 by jakob.scheid · 0 comments
Owner

Problem

When running jcloud-docsgen in Python older than 3.13, it fails completely with a ModuleNotFoundError: No module named 'typing_extensions'. As a result, users who use Python <3.13 cannot use jcloud-docsgen at all. This is a very big problem: We are limiting the user group to those who have Python 3.13 or newer and many users do not.

In src/jcloud_docsgen/utils.py, we try to import deprecated from warnings. As deprecated is not available in version older than 3.13, typing_extensions is used as a fallback and imported when the first import attempt for Python >3.13 fails. typing-extensions (typing_extensions) is a package which allows to use newer features in older Python versions. Since it is not included in the standard library, we need to add it as a project dependency. And that is the problem: There is no typing-extensions dependency.

Actual behavior

The tool fails in Python versions older than 3.13 as a dependency is missing.

Expected behavior

The tool runs in all Python versions.

Steps to reproduce

  1. Create an environment with Python 3.12 (for example a container) if you use Python >=3.13
  2. Install jcloud-docsgen if it is not already installed
  3. Run jcloud-docsgen
## Problem When running `jcloud-docsgen` in Python older than 3.13, it fails completely with a `ModuleNotFoundError: No module named 'typing_extensions'`. As a result, users who use Python <3.13 cannot use `jcloud-docsgen` at all. This is a very big problem: We are limiting the user group to those who have Python 3.13 or newer and many users do not. In `src/jcloud_docsgen/utils.py`, we try to import `deprecated` from `warnings`. As `deprecated` is not available in version older than 3.13, `typing_extensions` is used as a fallback and imported when the first import attempt for Python >3.13 fails. `typing-extensions` (`typing_extensions`) is a package which allows to use newer features in older Python versions. Since it is not included in the standard library, we need to add it as a project dependency. And that is the problem: There is no `typing-extensions` dependency. ## Actual behavior The tool fails in Python versions older than 3.13 as a dependency is missing. ## Expected behavior The tool runs in all Python versions. ## Steps to reproduce 1. Create an environment with Python 3.12 (for example a container) if you use Python >=3.13 2. Install `jcloud-docsgen` if it is not already installed 3. Run `jcloud-docsgen`
jakob.scheid added the Kind/Bug
Priority
Critical
1
labels 2026-10-14 23:41:54 +02:00
jakob.scheid added this to the Project Board project 2026-10-14 23:41:54 +02:00
jakob.scheid moved this to To Do in Project Board on 2026-10-14 23:42:30 +02:00
jakob.scheid added this to the 0.2.2 milestone 2026-10-14 23:42:36 +02:00
jakob.scheid added the
Reviewed
Confirmed
1
label 2026-10-14 23:42:40 +02:00
jakob.scheid started working 2026-10-14 23:43:04 +02:00
jakob.scheid self-assigned this 2026-10-14 23:43:04 +02:00
jakob.scheid added reference fix/typing-extensions-import-error 2026-10-14 23:43:36 +02:00
jakob.scheid moved this to In progress in Project Board on 2026-10-14 23:43:38 +02:00
jakob.scheid worked for 10 minutes 2026-10-14 23:53:49 +02:00
jakob.scheid moved this to Review in Project Board on 2026-10-14 23:53:58 +02:00
jakob.scheid moved this to Done in Project Board on 2026-10-14 23:54:35 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Total Time Spent: 10 minutes
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jCloud/jcloud-docsgen#66