Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-APScheduler for 
openSUSE:Factory checked in at 2023-02-23 18:00:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-APScheduler (Old)
 and      /work/SRC/openSUSE:Factory/.python-APScheduler.new.1706 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-APScheduler"

Thu Feb 23 18:00:32 2023 rev:19 rq:1067422 version:3.10.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-APScheduler/python-APScheduler.changes    
2022-12-02 15:47:33.360612820 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-APScheduler.new.1706/python-APScheduler.changes
  2023-02-23 18:00:33.625264395 +0100
@@ -1,0 +2,8 @@
+Thu Feb 23 14:31:39 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 3.10.0:
+  * Fixed compatibility with SQLAlchemy 2.0 and bumped minimum
+    supported version to 1.4
+  * Dropped support for Python versions older than 3.6 
+
+-------------------------------------------------------------------

Old:
----
  APScheduler-3.9.1.post1.tar.gz

New:
----
  APScheduler-3.10.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-APScheduler.spec ++++++
--- /var/tmp/diff_new_pack.duTuvK/_old  2023-02-23 18:00:34.569269986 +0100
+++ /var/tmp/diff_new_pack.duTuvK/_new  2023-02-23 18:00:34.577270033 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-APScheduler
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,13 +19,13 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %bcond_without python2
 Name:           python-APScheduler
-Version:        3.9.1.post1
+Version:        3.10.0
 Release:        0
 Summary:        In-process task scheduler with Cron-like capabilities
 License:        MIT
 URL:            https://github.com/agronholm/apscheduler
 Source:         
https://files.pythonhosted.org/packages/source/A/APScheduler/APScheduler-%{version}.tar.gz
-BuildRequires:  %{python_module SQLAlchemy >= 0.8}
+BuildRequires:  %{python_module SQLAlchemy >= 1.4}
 BuildRequires:  %{python_module Twisted}
 BuildRequires:  %{python_module gevent}
 BuildRequires:  %{python_module pytest-asyncio}
@@ -42,7 +42,7 @@
 Requires:       python-pytz
 Requires:       python-six >= 1.4.0
 Requires:       python-tzlocal >= 2.0
-Recommends:     python-SQLAlchemy >= 0.8
+Recommends:     python-SQLAlchemy >= 1.4
 Recommends:     python-Twisted
 Recommends:     python-gevent
 Suggests:       python-kazoo

++++++ APScheduler-3.9.1.post1.tar.gz -> APScheduler-3.10.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/APScheduler-3.9.1.post1/.github/workflows/codeqa_test.yaml 
new/APScheduler-3.10.0/.github/workflows/codeqa_test.yaml
--- old/APScheduler-3.9.1.post1/.github/workflows/codeqa_test.yaml      
2022-11-11 22:07:49.000000000 +0100
+++ new/APScheduler-3.10.0/.github/workflows/codeqa_test.yaml   2023-01-31 
23:38:17.000000000 +0100
@@ -9,12 +9,12 @@
   lint:
     runs-on: ubuntu-latest
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v3
     - name: Set up Python
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
         python-version: 3.x
-    - uses: actions/cache@v2
+    - uses: actions/cache@v3
       with:
         path: ~/.cache/pip
         key: pip-lint
@@ -28,15 +28,15 @@
     strategy:
       fail-fast: false
       matrix:
-        python-version: ["3.6", "3.9"]
+        python-version: ["3.7", "3.11"]
     runs-on: ubuntu-latest
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v3
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
         python-version: ${{ matrix.python-version }}
-    - uses: actions/cache@v2
+    - uses: actions/cache@v3
       with:
         path: ~/.cache/pip
         key: pip-test-${{ matrix.python-version }}-ubuntu-latest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/APScheduler-3.9.1.post1/.github/workflows/publish.yml 
new/APScheduler-3.10.0/.github/workflows/publish.yml
--- old/APScheduler-3.9.1.post1/.github/workflows/publish.yml   2022-11-11 
22:07:49.000000000 +0100
+++ new/APScheduler-3.10.0/.github/workflows/publish.yml        2023-01-31 
23:38:17.000000000 +0100
@@ -12,9 +12,9 @@
   publish:
     runs-on: ubuntu-latest
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v3
     - name: Set up Python
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
         python-version: 3.x
     - name: Install dependencies
@@ -22,7 +22,6 @@
     - name: Create packages
       run: python -m build -s -w .
     - name: Upload packages
-      uses: pypa/[email protected]
+      uses: pypa/gh-action-pypi-publish@release/v1
       with:
-        user: __token__
         password: ${{ secrets.pypi_password }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/APScheduler-3.9.1.post1/APScheduler.egg-info/PKG-INFO 
new/APScheduler-3.10.0/APScheduler.egg-info/PKG-INFO
--- old/APScheduler-3.9.1.post1/APScheduler.egg-info/PKG-INFO   2022-11-11 
22:07:59.000000000 +0100
+++ new/APScheduler-3.10.0/APScheduler.egg-info/PKG-INFO        2023-01-31 
23:38:27.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: APScheduler
-Version: 3.9.1.post1
+Version: 3.10.0
 Summary: In-process task scheduler with Cron-like capabilities
 Home-page: https://github.com/agronholm/apscheduler
 Author: Alex Grönholm
@@ -12,14 +12,13 @@
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
-Requires-Python: !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4
-Provides-Extra: asyncio
+Classifier: Programming Language :: Python :: 3.11
+Requires-Python: >=3.6
 Provides-Extra: gevent
 Provides-Extra: mongodb
 Provides-Extra: redis
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/APScheduler-3.9.1.post1/APScheduler.egg-info/requires.txt 
new/APScheduler-3.10.0/APScheduler.egg-info/requires.txt
--- old/APScheduler-3.9.1.post1/APScheduler.egg-info/requires.txt       
2022-11-11 22:07:59.000000000 +0100
+++ new/APScheduler-3.10.0/APScheduler.egg-info/requires.txt    2023-01-31 
23:38:27.000000000 +0100
@@ -3,15 +3,6 @@
 pytz
 tzlocal!=3.*,>=2.0
 
-[:python_version < "3.5"]
-funcsigs
-
-[:python_version == "2.7"]
-futures
-
-[asyncio:python_version == "2.7"]
-trollius
-
 [doc]
 sphinx
 sphinx-rtd-theme
@@ -29,22 +20,14 @@
 rethinkdb>=2.4.0
 
 [sqlalchemy]
-sqlalchemy>=0.8
+sqlalchemy>=1.4
 
 [testing]
 pytest
+pytest_asyncio
 pytest-cov
 pytest-tornado5
 
-[testing:python_version == "2.7"]
-mock
-
-[testing:python_version == "3.4"]
-pytest_asyncio<0.6
-
-[testing:python_version >= "3.5"]
-pytest_asyncio
-
 [tornado]
 tornado>=4.3
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/APScheduler-3.9.1.post1/PKG-INFO 
new/APScheduler-3.10.0/PKG-INFO
--- old/APScheduler-3.9.1.post1/PKG-INFO        2022-11-11 22:07:59.590440500 
+0100
+++ new/APScheduler-3.10.0/PKG-INFO     2023-01-31 23:38:27.895592000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: APScheduler
-Version: 3.9.1.post1
+Version: 3.10.0
 Summary: In-process task scheduler with Cron-like capabilities
 Home-page: https://github.com/agronholm/apscheduler
 Author: Alex Grönholm
@@ -12,14 +12,13 @@
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
-Requires-Python: !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4
-Provides-Extra: asyncio
+Classifier: Programming Language :: Python :: 3.11
+Requires-Python: >=3.6
 Provides-Extra: gevent
 Provides-Extra: mongodb
 Provides-Extra: redis
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/APScheduler-3.9.1.post1/apscheduler/executors/asyncio.py 
new/APScheduler-3.10.0/apscheduler/executors/asyncio.py
--- old/APScheduler-3.9.1.post1/apscheduler/executors/asyncio.py        
2022-11-11 22:07:49.000000000 +0100
+++ new/APScheduler-3.10.0/apscheduler/executors/asyncio.py     2023-01-31 
23:38:17.000000000 +0100
@@ -3,13 +3,9 @@
 import sys
 
 from apscheduler.executors.base import BaseExecutor, run_job
+from apscheduler.executors.base_py3 import run_coroutine_job
 from apscheduler.util import iscoroutinefunction_partial
 
-try:
-    from apscheduler.executors.base_py3 import run_coroutine_job
-except ImportError:
-    run_coroutine_job = None
-
 
 class AsyncIOExecutor(BaseExecutor):
     """
@@ -46,11 +42,8 @@
                 self._run_job_success(job.id, events)
 
         if iscoroutinefunction_partial(job.func):
-            if run_coroutine_job is not None:
-                coro = run_coroutine_job(job, job._jobstore_alias, run_times, 
self._logger.name)
-                f = self._eventloop.create_task(coro)
-            else:
-                raise Exception('Executing coroutine based jobs is not 
supported with Trollius')
+            coro = run_coroutine_job(job, job._jobstore_alias, run_times, 
self._logger.name)
+            f = self._eventloop.create_task(coro)
         else:
             f = self._eventloop.run_in_executor(None, run_job, job, 
job._jobstore_alias, run_times,
                                                 self._logger.name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/APScheduler-3.9.1.post1/apscheduler/jobstores/sqlalchemy.py 
new/APScheduler-3.10.0/apscheduler/jobstores/sqlalchemy.py
--- old/APScheduler-3.9.1.post1/apscheduler/jobstores/sqlalchemy.py     
2022-11-11 22:07:49.000000000 +0100
+++ new/APScheduler-3.10.0/apscheduler/jobstores/sqlalchemy.py  2023-01-31 
23:38:17.000000000 +0100
@@ -57,7 +57,7 @@
         # 25 = precision that translates to an 8-byte float
         self.jobs_t = Table(
             tablename, metadata,
-            Column('id', Unicode(191, _warn_on_bytestring=False), 
primary_key=True),
+            Column('id', Unicode(191), primary_key=True),
             Column('next_run_time', Float(25), index=True),
             Column('job_state', LargeBinary, nullable=False),
             schema=tableschema
@@ -68,20 +68,22 @@
         self.jobs_t.create(self.engine, True)
 
     def lookup_job(self, job_id):
-        selectable = select([self.jobs_t.c.job_state]).where(self.jobs_t.c.id 
== job_id)
-        job_state = self.engine.execute(selectable).scalar()
-        return self._reconstitute_job(job_state) if job_state else None
+        selectable = select(self.jobs_t.c.job_state).where(self.jobs_t.c.id == 
job_id)
+        with self.engine.begin() as connection:
+            job_state = connection.execute(selectable).scalar()
+            return self._reconstitute_job(job_state) if job_state else None
 
     def get_due_jobs(self, now):
         timestamp = datetime_to_utc_timestamp(now)
         return self._get_jobs(self.jobs_t.c.next_run_time <= timestamp)
 
     def get_next_run_time(self):
-        selectable = select([self.jobs_t.c.next_run_time]).\
+        selectable = select(self.jobs_t.c.next_run_time).\
             where(self.jobs_t.c.next_run_time != null()).\
             order_by(self.jobs_t.c.next_run_time).limit(1)
-        next_run_time = self.engine.execute(selectable).scalar()
-        return utc_timestamp_to_datetime(next_run_time)
+        with self.engine.begin() as connection:
+            next_run_time = connection.execute(selectable).scalar()
+            return utc_timestamp_to_datetime(next_run_time)
 
     def get_all_jobs(self):
         jobs = self._get_jobs()
@@ -94,29 +96,33 @@
             'next_run_time': datetime_to_utc_timestamp(job.next_run_time),
             'job_state': pickle.dumps(job.__getstate__(), self.pickle_protocol)
         })
-        try:
-            self.engine.execute(insert)
-        except IntegrityError:
-            raise ConflictingIdError(job.id)
+        with self.engine.begin() as connection:
+            try:
+                connection.execute(insert)
+            except IntegrityError:
+                raise ConflictingIdError(job.id)
 
     def update_job(self, job):
         update = self.jobs_t.update().values(**{
             'next_run_time': datetime_to_utc_timestamp(job.next_run_time),
             'job_state': pickle.dumps(job.__getstate__(), self.pickle_protocol)
         }).where(self.jobs_t.c.id == job.id)
-        result = self.engine.execute(update)
-        if result.rowcount == 0:
-            raise JobLookupError(job.id)
+        with self.engine.begin() as connection:
+            result = connection.execute(update)
+            if result.rowcount == 0:
+                raise JobLookupError(job.id)
 
     def remove_job(self, job_id):
         delete = self.jobs_t.delete().where(self.jobs_t.c.id == job_id)
-        result = self.engine.execute(delete)
-        if result.rowcount == 0:
-            raise JobLookupError(job_id)
+        with self.engine.begin() as connection:
+            result = connection.execute(delete)
+            if result.rowcount == 0:
+                raise JobLookupError(job_id)
 
     def remove_all_jobs(self):
         delete = self.jobs_t.delete()
-        self.engine.execute(delete)
+        with self.engine.begin() as connection:
+            connection.execute(delete)
 
     def shutdown(self):
         self.engine.dispose()
@@ -132,21 +138,22 @@
 
     def _get_jobs(self, *conditions):
         jobs = []
-        selectable = select([self.jobs_t.c.id, self.jobs_t.c.job_state]).\
+        selectable = select(self.jobs_t.c.id, self.jobs_t.c.job_state).\
             order_by(self.jobs_t.c.next_run_time)
         selectable = selectable.where(and_(*conditions)) if conditions else 
selectable
         failed_job_ids = set()
-        for row in self.engine.execute(selectable):
-            try:
-                jobs.append(self._reconstitute_job(row.job_state))
-            except BaseException:
-                self._logger.exception('Unable to restore job "%s" -- removing 
it', row.id)
-                failed_job_ids.add(row.id)
-
-        # Remove all the jobs we failed to restore
-        if failed_job_ids:
-            delete = 
self.jobs_t.delete().where(self.jobs_t.c.id.in_(failed_job_ids))
-            self.engine.execute(delete)
+        with self.engine.begin() as connection:
+            for row in connection.execute(selectable):
+                try:
+                    jobs.append(self._reconstitute_job(row.job_state))
+                except BaseException:
+                    self._logger.exception('Unable to restore job "%s" -- 
removing it', row.id)
+                    failed_job_ids.add(row.id)
+
+            # Remove all the jobs we failed to restore
+            if failed_job_ids:
+                delete = 
self.jobs_t.delete().where(self.jobs_t.c.id.in_(failed_job_ids))
+                connection.execute(delete)
 
         return jobs
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/APScheduler-3.9.1.post1/apscheduler/schedulers/asyncio.py 
new/APScheduler-3.10.0/apscheduler/schedulers/asyncio.py
--- old/APScheduler-3.9.1.post1/apscheduler/schedulers/asyncio.py       
2022-11-11 22:07:49.000000000 +0100
+++ new/APScheduler-3.10.0/apscheduler/schedulers/asyncio.py    2023-01-31 
23:38:17.000000000 +0100
@@ -1,18 +1,10 @@
 from __future__ import absolute_import
+import asyncio
 from functools import wraps, partial
 
 from apscheduler.schedulers.base import BaseScheduler
 from apscheduler.util import maybe_ref
 
-try:
-    import asyncio
-except ImportError:  # pragma: nocover
-    try:
-        import trollius as asyncio
-    except ImportError:
-        raise ImportError(
-            'AsyncIOScheduler requires either Python 3.4 or the asyncio 
package installed')
-
 
 def run_in_event_loop(func):
     @wraps(func)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/APScheduler-3.9.1.post1/apscheduler/util.py 
new/APScheduler-3.10.0/apscheduler/util.py
--- old/APScheduler-3.9.1.post1/apscheduler/util.py     2022-11-11 
22:07:49.000000000 +0100
+++ new/APScheduler-3.10.0/apscheduler/util.py  2023-01-31 23:38:17.000000000 
+0100
@@ -2,6 +2,7 @@
 
 from __future__ import division
 
+from asyncio import iscoroutinefunction
 from datetime import date, datetime, time, timedelta, tzinfo
 from calendar import timegm
 from functools import partial
@@ -22,15 +23,6 @@
 except ImportError:
     TIMEOUT_MAX = 4294967  # Maximum value accepted by Event.wait() on Windows
 
-try:
-    from asyncio import iscoroutinefunction
-except ImportError:
-    try:
-        from trollius import iscoroutinefunction
-    except ImportError:
-        def iscoroutinefunction(func):
-            return False
-
 __all__ = ('asint', 'asbool', 'astimezone', 'convert_to_datetime', 
'datetime_to_utc_timestamp',
            'utc_timestamp_to_datetime', 'timedelta_seconds', 'datetime_ceil', 
'get_callable_name',
            'obj_to_ref', 'ref_to_obj', 'maybe_ref', 'repr_escape', 
'check_callable_args',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/APScheduler-3.9.1.post1/docs/versionhistory.rst 
new/APScheduler-3.10.0/docs/versionhistory.rst
--- old/APScheduler-3.9.1.post1/docs/versionhistory.rst 2022-11-11 
22:07:49.000000000 +0100
+++ new/APScheduler-3.10.0/docs/versionhistory.rst      2023-01-31 
23:38:17.000000000 +0100
@@ -4,6 +4,13 @@
 To find out how to migrate your application from a previous version of
 APScheduler, see the :doc:`migration section <migration>`.
 
+3.10.0
+------
+
+* Fixed compatibility with SQLAlchemy 2.0 and bumped minimum supported version 
to 1.4
+* Dropped support for Python versions older than 3.6
+
+
 3.9.1
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/APScheduler-3.9.1.post1/setup.cfg 
new/APScheduler-3.10.0/setup.cfg
--- old/APScheduler-3.9.1.post1/setup.cfg       2022-11-11 22:07:59.590440500 
+0100
+++ new/APScheduler-3.10.0/setup.cfg    2023-01-31 23:38:27.895592000 +0100
@@ -20,9 +20,6 @@
 max-line-length = 99
 exclude = .tox,build,docs
 
-[bdist_wheel]
-universal = 1
-
 [egg_info]
 tag_build = 
 tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/APScheduler-3.9.1.post1/setup.py 
new/APScheduler-3.10.0/setup.py
--- old/APScheduler-3.9.1.post1/setup.py        2022-11-11 22:07:49.000000000 
+0100
+++ new/APScheduler-3.10.0/setup.py     2023-01-31 23:38:17.000000000 +0100
@@ -1,4 +1,3 @@
-# coding: utf-8
 import os.path
 
 from setuptools import setup, find_packages
@@ -25,17 +24,17 @@
         'License :: OSI Approved :: MIT License',
         'Programming Language :: Python',
         'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.5',
         'Programming Language :: Python :: 3.6',
         'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
         'Programming Language :: Python :: 3.9',
-        'Programming Language :: Python :: 3.10'
+        'Programming Language :: Python :: 3.10',
+        'Programming Language :: Python :: 3.11'
     ],
     keywords='scheduling cron',
     license='MIT',
     packages=find_packages(exclude=['tests']),
-    python_requires='!=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4',
+    python_requires='>=3.6',
     setup_requires=[
         'setuptools_scm'
     ],
@@ -46,25 +45,20 @@
         'tzlocal >= 2.0, != 3.*'
     ],
     extras_require={
-        ':python_version == "2.7"': ['futures'],
-        ':python_version < "3.5"': ['funcsigs'],
-        'asyncio:python_version == "2.7"': ['trollius'],
         'gevent': ['gevent'],
         'mongodb': ['pymongo >= 3.0'],
         'redis': ['redis >= 3.0'],
         'rethinkdb': ['rethinkdb >= 2.4.0'],
-        'sqlalchemy': ['sqlalchemy >= 0.8'],
+        'sqlalchemy': ['sqlalchemy >= 1.4'],
         'tornado': ['tornado >= 4.3'],
         'twisted': ['twisted'],
         'zookeeper': ['kazoo'],
         'testing': [
             'pytest',
+            'pytest_asyncio',
             'pytest-cov',
             'pytest-tornado5'
         ],
-        'testing:python_version == "2.7"': ['mock'],
-        'testing:python_version == "3.4"': ['pytest_asyncio < 0.6'],
-        'testing:python_version >= "3.5"': ['pytest_asyncio'],
         'doc': [
             'sphinx',
             'sphinx-rtd-theme',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/APScheduler-3.9.1.post1/tox.ini 
new/APScheduler-3.10.0/tox.ini
--- old/APScheduler-3.9.1.post1/tox.ini 2022-11-11 22:07:49.000000000 +0100
+++ new/APScheduler-3.10.0/tox.ini      2023-01-31 23:38:17.000000000 +0100
@@ -1,5 +1,5 @@
 [tox]
-envlist = py27, py35, py36, py37, py38, py39, py310, pypy, pypy3, flake8
+envlist = py36, py37, py38, py39, py310, py311, pypy3, flake8
 skip_missing_interpreters = true
 
 [testenv]
@@ -16,8 +16,7 @@
     twisted
     zookeeper
 deps =
-    {py35}: PyQt5
-    {py36,py37,py38,py39,py310}: PySide6
+    {py36,py37,py38,py39,py310,py311}: PySide6
 
 [testenv:py34]
 deps = twisted < 19.7

Reply via email to