Skip to content

Commit aae2f31

Browse files
authored
Merge branch 'master' into save_safety
2 parents 0de6bed + 83c10f5 commit aae2f31

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

.github/workflows/test.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ jobs:
5050
fail-fast: false
5151
max-parallel: 6
5252
matrix:
53-
python-version: ["3.11", "3.12", "3.13", "3.14"]
53+
python-version: ["3.11", "3.12", "3.13", "3.14", "3.14t"]
5454
django-version: ["5.2.5"]
5555
broker: ["redis", "fakeredis", "valkey"]
5656
include:
57-
- python-version: "3.13"
57+
- python-version: "3.14t"
5858
django-version: "5.2.5"
5959
broker: "redis"
6060
coverage: yes
@@ -96,7 +96,7 @@ jobs:
9696
python-version: "${{ matrix.python-version }}"
9797
allow-prereleases: true
9898

99-
- name: Install django version
99+
- name: Install Django version
100100
shell: bash
101101
run: |
102102
if [ ${{ matrix.broker == 'valkey' }} == true ]; then
@@ -149,8 +149,8 @@ jobs:
149149
message: ${{ env.COVERAGE }}%
150150
color: green
151151

152-
# Prepare a draft release for GitHub Releases page for the manual verification
153-
# If accepted and published, release workflow would be triggered
152+
# Prepare a draft release for the GitHub Releases page for manual verification
153+
# If accepted and published, the release workflow would be triggered
154154
update_release_draft:
155155
permissions:
156156
# write permission is required to create a GitHub release

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ Django Tasks Scheduler
66

77
Documentation can be found in https://django-tasks-scheduler.readthedocs.io/
88

9+
## Introduction Video
10+
11+
[![Django Tasks Scheduler Introduction](https://img.youtube.com/vi/Brfavid_fxw/0.jpg)](https://www.youtube.com/watch?v=Brfavid_fxw)
12+
13+
Watch this introduction video to learn about django-tasks-scheduler and its features.
14+
915
# Usage
1016

1117
1. Update `settings.py` to include scheduler configuration:

scheduler/settings.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,10 @@ def conf_settings():
4343
return
4444
if not isinstance(user_settings, dict):
4545
raise ImproperlyConfigured("SCHEDULER_CONFIG should be a SchedulerConfiguration or dict")
46-
annotations = get_annotations(SCHEDULER_CONFIG)
46+
47+
# Use `type(obj)` because Python 3.14+ `annotationlib.get_annotations()` works only on classes/functions/modules.
48+
# It reads __annotations__ or __annotate__; instances without annotations will fail.
49+
annotations = get_annotations(type(SCHEDULER_CONFIG))
4750
for k, v in user_settings.items():
4851
if k not in annotations:
4952
raise ImproperlyConfigured(f"Unknown setting {k} in SCHEDULER_CONFIG")

0 commit comments

Comments
 (0)