Subject: [PATCH 2/2] gnu: Add python-apscheduler.

From: Giacomo Leidi <[email-masked]>
Date: Mon, 15 Jan 2024 23:44:47 +0100

* gnu/packages/python-xyz.scm (python-apscheduler): New variable.

Change-Id: Ib5964520a8d3c9c4711ba2ee4c5812241dc93423
---
 gnu/packages/python-xyz.scm | 39 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 38 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1ca5d7f8fd..33be56ddb2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -63,7 +63,7 @@
 ;;; Copyright © 2019, 2020 Alex Griffin <[email-masked]>
 ;;; Copyright © 2019, 2020, 2021, 2022, 2023 Pierre Langlois <[email-masked]>
 ;;; Copyright © 2019 Jacob MacDonald <[email-masked]>
-;;; Copyright © 2019-2021, 2023 Giacomo Leidi <[email-masked]>
+;;; Copyright © 2019-2021, 2023, 2024 Giacomo Leidi <[email-masked]>
 ;;; Copyright © 2019 Wiktor Żelazny <[email-masked]>
 ;;; Copyright © 2019, 2020, 2021, 2022 Tanguy Le Carrour <[email-masked]>
 ;;; Copyright © 2019, 2021-2023 Mădălin Ionel Patrașcu <[email-masked]>
@@ -27217,6 +27217,43 @@ (define-public python-crontab
 access the system cron automatically and simply using a direct API.")
     (license license:lgpl3+)))
 
+(define-public python-apscheduler
+  (package
+    (name "python-apscheduler")
+    (version "3.10.4")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "APScheduler" version))
+              (sha256
+               (base32
+                "0jpg9jyx95jafkq0hz6sx7r4l2z5gc599ivb9278kgnr4wdhgpz6"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-pytz
+                             python-six
+                             python-tzlocal))
+    (native-inputs (list python-mock
+                         python-twisted
+                         python-gevent
+                         python-setuptools-scm
+                         python-sqlalchemy
+                         python-setuptools
+                         python-pyside-6
+                         python-pytest
+                         python-pytest-asyncio
+                         python-pytest-cov
+                         python-pytest-tornado5))
+    (home-page "https://github.com/agronholm/apscheduler")
+    (synopsis "Task scheduling library for Python")
+    (description "Advanced Python Scheduler (APScheduler) is a Python library
+that lets you schedule your Python code to be executed later, either just once
+or periodically.
+
+You can add new jobs or remove old ones on the fly as you please.  If you store
+your jobs in a database, they will also survive scheduler restarts and maintain
+their state.  When the scheduler is restarted, it will then run all the jobs it
+should have run while it was offline.")
+    (license license:expat)))
+
 (define-public python-pylzma
   (package
     (name "python-pylzma")
-- 
2.41.0