openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
January 2023
- 1 participants
- 2776 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package redis++ for openSUSE:Factory checked in at 2023-01-31 16:09:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/redis++ (Old)
and /work/SRC/openSUSE:Factory/.redis++.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "redis++"
Tue Jan 31 16:09:51 2023 rev:5 rq:1062182 version:1.3.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/redis++/redis++.changes 2022-10-26 16:08:41.606029521 +0200
+++ /work/SRC/openSUSE:Factory/.redis++.new.32243/redis++.changes 2023-01-31 16:20:32.149716078 +0100
@@ -1,0 +2,11 @@
+Sat Jan 28 16:21:01 UTC 2023 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 1.3.7:
+ * Optimize connection creation
+ * ACL and RESP3 support for sentinel
+ * Async interface bug fixes
+ * Better error message for sentinel
+ * Better URI support
+ * RESP3 bug fix
+
+-------------------------------------------------------------------
Old:
----
1.3.6.tar.gz
New:
----
1.3.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ redis++.spec ++++++
--- /var/tmp/diff_new_pack.cybMCy/_old 2023-01-31 16:20:32.557718535 +0100
+++ /var/tmp/diff_new_pack.cybMCy/_new 2023-01-31 16:20:32.561718560 +0100
@@ -1,7 +1,7 @@
#
# spec file for package redis++
#
-# 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
@@ -18,7 +18,7 @@
%define sover 1
Name: redis++
-Version: 1.3.6
+Version: 1.3.7
Release: 0
Summary: C++ client for Redis
License: Apache-2.0
++++++ 1.3.6.tar.gz -> 1.3.7.tar.gz ++++++
++++ 2514 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qscintilla for openSUSE:Factory checked in at 2023-01-31 16:09:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qscintilla (Old)
and /work/SRC/openSUSE:Factory/.qscintilla.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qscintilla"
Tue Jan 31 16:09:19 2023 rev:5 rq:1062114 version:2.13.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/qscintilla/qscintilla.changes 2022-05-30 12:44:57.252470688 +0200
+++ /work/SRC/openSUSE:Factory/.qscintilla.new.32243/qscintilla.changes 2023-01-31 16:20:22.993660908 +0100
@@ -1,0 +2,7 @@
+Sun Jan 29 19:48:38 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to 2.13.4
+ * Added the .api files for Python v3.10 and v3.11.
+ * Bug fixes
+
+-------------------------------------------------------------------
Old:
----
QScintilla_src-2.13.3.tar.gz
New:
----
QScintilla_src-2.13.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qscintilla.spec ++++++
--- /var/tmp/diff_new_pack.AeCrs8/_old 2023-01-31 16:20:23.405663390 +0100
+++ /var/tmp/diff_new_pack.AeCrs8/_new 2023-01-31 16:20:23.413663438 +0100
@@ -1,7 +1,7 @@
#
# spec file
#
-# 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
@@ -44,15 +44,14 @@
%endif
# PyQt5 built against SIP v4 is not compatible with this version of QScintilla.
-# if your distro target still uses the SIPv4 built PyQt5, disable python bindings here
+# if your distro target still uses the SIPv4 built PyQt5, disable python bindings
%bcond_without python
-%{?!python_module:%define python3-%{**}}
%define skip_python2 1
%define debug_package_requires libqscintilla2_qt5-%{sonum} = %{version}-%{release}
%define sonum 15
Name: qscintilla%{?psuffix}
-Version: 2.13.3
+Version: 2.13.4
Release: 0
Summary: C++ Editor Class Library
License: GPL-3.0-only
++++++ QScintilla_src-2.13.3.tar.gz -> QScintilla_src-2.13.4.tar.gz ++++++
++++ 28702 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-screeninfo for openSUSE:Factory checked in at 2023-01-31 16:10:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-screeninfo (Old)
and /work/SRC/openSUSE:Factory/.python-screeninfo.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-screeninfo"
Tue Jan 31 16:10:06 2023 rev:4 rq:1062212 version:0.8.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-screeninfo/python-screeninfo.changes 2020-11-29 12:29:45.934083333 +0100
+++ /work/SRC/openSUSE:Factory/.python-screeninfo.new.32243/python-screeninfo.changes 2023-01-31 16:19:53.053480501 +0100
@@ -1,0 +2,24 @@
+Tue Jan 31 10:42:21 UTC 2023 - Matej Cepl <mcepl(a)suse.com>
+
+- Clean up SPEC file
+- Add tests running
+
+-------------------------------------------------------------------
+Mon Jan 30 09:47:38 UTC 2023 - Eyad Issa <eyadlorenzo(a)gmail.com>
+
+- Update to 0.8.1
+ * Added typing information
+
+- Update to 0.8
+ * Started tracking changes
+ * Switched to poetry
+ * Added ignoring of enumerators that work, but return no valid monitors
+ * Added `ScreenInfoError` to list of top-level symbols
+
+- Update to 0.7
+ * No changelog available
+
+- Update to 0.6.7
+ * No changelog available.
+
+-------------------------------------------------------------------
Old:
----
screeninfo-0.6.6.tar.gz
New:
----
screeninfo-0.8.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-screeninfo.spec ++++++
--- /var/tmp/diff_new_pack.SxSaEI/_old 2023-01-31 16:19:53.445482864 +0100
+++ /var/tmp/diff_new_pack.SxSaEI/_new 2023-01-31 16:19:53.449482888 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-screeninfo
#
-# Copyright (c) 2020 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
@@ -16,49 +16,48 @@
#
-%define skip_python2 1
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-screeninfo
-Version: 0.6.6
+Version: 0.8.1
Release: 0
Summary: Fetch location and size of physical screens
License: MIT
URL: https://github.com/rr-/screeninfo
-Source0: https://github.com/rr-/screeninfo/archive/%{version}.tar.gz#/screeninfo-%{v…
-BuildRequires: %{python_module setuptools}
-%if 0%{?suse_version} <= 1500
-BuildRequires: %{python_module dataclasses}
-%endif
+Source0: https://github.com/rr-/screeninfo/archive/refs/tags/%{version}.tar.gz#/scre…
+BuildRequires: %{python_module pip}
+BuildRequires: %{python_module poetry-core}
+BuildRequires: %{python_module pytest}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
+Suggests: python-Cython
+Suggests: python-dataclasses
+Suggests: python-pyobjc-framework-Cocoa
BuildArch: noarch
+%if 0%{?suse_version} <= 1500
+BuildRequires: %{python_module dataclasses}
+%endif
%python_subpackages
%description
Python module to fetch location and size of physical screens.
%prep
-%setup -q -n screeninfo-%{version}
+%autosetup -p1 -n screeninfo-%{version}
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
-# upstream does not provide any tests
+%pytest tests
%files %{python_files}
%license LICENSE.md
%doc README.md
-%dir %{python_sitelib}/screeninfo/
-%dir %{python_sitelib}/screeninfo/enumerators/
-%{python_sitelib}/screeninfo-%{version}-py%{python_version}.egg-info/
-%{python_sitelib}/screeninfo/*.py*
-%{python_sitelib}/screeninfo/enumerators/*.py*
-%pycache_only %{python_sitelib}/screeninfo/__pycache__/
-%pycache_only %{python_sitelib}/screeninfo/enumerators/__pycache__/
+%{python_sitelib}/screeninfo
+%{python_sitelib}/screeninfo-%{version}*-info
%changelog
++++++ screeninfo-0.6.6.tar.gz -> screeninfo-0.8.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/.github/workflows/build.yml new/screeninfo-0.8.1/.github/workflows/build.yml
--- old/screeninfo-0.6.6/.github/workflows/build.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/screeninfo-0.8.1/.github/workflows/build.yml 2022-09-09 13:34:05.000000000 +0200
@@ -0,0 +1,63 @@
+name: Build
+
+on: [push]
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [macos-latest, windows-latest, ubuntu-latest]
+ python-version: ["3.7", "3.8", "3.9", "3.10"]
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v2
+ with:
+ python-version: ${{ matrix.python-version }}
+ - name: Install Poetry
+ uses: snok/install-poetry@v1
+ with:
+ virtualenvs-create: true
+ virtualenvs-in-project: true
+ - name: Load cached venv
+ id: cached-pip-wheels
+ uses: actions/cache@v2
+ with:
+ path: ~/.cache
+ key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}
+ - name: Install dependencies
+ run: poetry install --no-interaction --no-root
+ - name: Install library
+ run: poetry install --no-interaction
+ - name: Run tests
+ run: poetry run pytest
+
+ style:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Setup python
+ uses: actions/setup-python@v2
+ with:
+ python-version: 3.9
+ architecture: x64
+ - name: Install Poetry
+ uses: snok/install-poetry@v1
+ with:
+ virtualenvs-create: true
+ virtualenvs-in-project: true
+ - name: Load cached venv
+ id: cached-pip-wheels
+ uses: actions/cache@v2
+ with:
+ path: ~/.cache
+ key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}
+ - name: Install dependencies
+ run: poetry install --no-interaction --no-root
+ - name: Install library
+ run: poetry install --no-interaction
+ - name: Run pre-commit
+ run: poetry run pre-commit run -a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/.gitignore new/screeninfo-0.8.1/.gitignore
--- old/screeninfo-0.6.6/.gitignore 2020-10-23 09:55:39.000000000 +0200
+++ new/screeninfo-0.8.1/.gitignore 2022-09-09 13:34:05.000000000 +0200
@@ -1,4 +1,138 @@
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
build/
+develop-eggs/
dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+share/python-wheels/
*.egg-info/
+.installed.cfg
+*.egg
MANIFEST
+
+# PyInstaller
+# Usually these files are written by a python script from a template
+# before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.nox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+*.py,cover
+.hypothesis/
+.pytest_cache/
+cover/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+db.sqlite3
+db.sqlite3-journal
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+.pybuilder/
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# IPython
+profile_default/
+ipython_config.py
+
+# pyenv
+# For a library or package, you might want to ignore these files since the code is
+# intended to run in multiple environments; otherwise, check them in:
+# .python-version
+
+# pipenv
+# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
+# However, in case of collaboration, if having platform-specific dependencies or dependencies
+# having no cross-platform support, pipenv may install dependencies that don't work, or not
+# install all needed dependencies.
+#Pipfile.lock
+
+# PEP 582; used by e.g. github.com/David-OConnor/pyflow
+__pypackages__/
+
+# Celery stuff
+celerybeat-schedule
+celerybeat.pid
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/
+.dmypy.json
+dmypy.json
+
+# Pyre type checker
+.pyre/
+
+# pytype static type analyzer
+.pytype/
+
+# Cython debug symbols
+cython_debug/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/.pre-commit-config.yaml new/screeninfo-0.8.1/.pre-commit-config.yaml
--- old/screeninfo-0.6.6/.pre-commit-config.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/screeninfo-0.8.1/.pre-commit-config.yaml 2022-09-09 13:34:05.000000000 +0200
@@ -0,0 +1,11 @@
+repos:
+
+- repo: https://github.com/pycqa/isort
+ rev: 5.10.1
+ hooks:
+ - id: isort
+ additional_dependencies: [toml]
+- repo: https://github.com/psf/black
+ rev: 22.8.0
+ hooks:
+ - id: black
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/CHANGELOG.md new/screeninfo-0.8.1/CHANGELOG.md
--- old/screeninfo-0.6.6/CHANGELOG.md 1970-01-01 01:00:00.000000000 +0100
+++ new/screeninfo-0.8.1/CHANGELOG.md 2022-09-09 13:34:05.000000000 +0200
@@ -0,0 +1,10 @@
+# 0.8.1 (2022-09-09)
+
+- Added typing information
+
+# 0.8 (2021-12-04)
+
+- Started tracking changes
+- Switched to poetry
+- Added ignoring of enumerators that work, but return no valid monitors
+- Added `ScreenInfoError` to list of top-level symbols
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/README.md new/screeninfo-0.8.1/README.md
--- old/screeninfo-0.6.6/README.md 2020-10-23 09:55:39.000000000 +0200
+++ new/screeninfo-0.8.1/README.md 2022-09-09 13:34:05.000000000 +0200
@@ -1,6 +1,8 @@
screeninfo
----------
+[![Build](https://github.com/rr-/screeninfo/actions/workflows/build.yml/badge.svg)](https://github.com/rr-/screeninfo/actions/workflows/build.yml)
+
Fetch location and size of physical screens.
### Supported environments
@@ -9,7 +11,7 @@
- MS Windows: Cygwin
- GNU/Linux: X11 (through Xinerama)
- GNU/Linux: DRM (experimental)
-- OSX: (through PyOBJus)
+- OSX: (through AppKit)
I don't plan on testing OSX or other environments myself. For this reason,
I strongly encourage pull requests.
@@ -20,12 +22,6 @@
pip install screeninfo
```
-If you install it from sources:
-
-```
-python3 setup.py install
-```
-
### Usage
```python
@@ -36,8 +32,10 @@
**Output**:
->Monitor(x=1920, y=0, width=1920, height=1080, name=None)
->Monitor(x=0, y=0, width=1920, height=1080, name=None)
+```python console
+Monitor(x=3840, y=0, width=3840, height=2160, width_mm=1420, height_mm=800, name='HDMI-0', is_primary=False)
+Monitor(x=0, y=0, width=3840, height=2160, width_mm=708, height_mm=399, name='DP-0', is_primary=True)
+```
### Forcing environment
@@ -52,3 +50,17 @@
```
Available drivers: `windows`, `cygwin`, `x11`, `osx`.
+
+# Contributing
+
+
+```sh
+git clone https://github.com/rr-/screeninfo.git # clone this repo
+cd screeninfo
+poetry install # to install the local venv
+poetry run pre-commit install # to setup pre-commit hooks
+poetry shell # to enter the venv
+```
+
+This project uses [poetry](https://python-poetry.org/) for packaging,
+install instructions at [poetry#installation](https://python-poetry.org/docs/#installation)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/poetry.lock new/screeninfo-0.8.1/poetry.lock
--- old/screeninfo-0.6.6/poetry.lock 1970-01-01 01:00:00.000000000 +0100
+++ new/screeninfo-0.8.1/poetry.lock 2022-09-09 13:34:05.000000000 +0200
@@ -0,0 +1,743 @@
+[[package]]
+name = "atomicwrites"
+version = "1.4.0"
+description = "Atomic file writes."
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[[package]]
+name = "attrs"
+version = "21.2.0"
+description = "Classes Without Boilerplate"
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[package.extras]
+dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit"]
+docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"]
+tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface"]
+tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins"]
+
+[[package]]
+name = "backports.entry-points-selectable"
+version = "1.1.1"
+description = "Compatibility shim providing selectable entry points for older implementations"
+category = "dev"
+optional = false
+python-versions = ">=2.7"
+
+[package.dependencies]
+importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
+testing = ["pytest", "pytest-flake8", "pytest-cov", "pytest-black (>=0.3.7)", "pytest-mypy", "pytest-checkdocs (>=2.4)", "pytest-enabler (>=1.0.1)"]
+
+[[package]]
+name = "black"
+version = "21.11b1"
+description = "The uncompromising code formatter."
+category = "dev"
+optional = false
+python-versions = ">=3.6.2"
+
+[package.dependencies]
+click = ">=7.1.2"
+dataclasses = {version = ">=0.6", markers = "python_version < \"3.7\""}
+mypy-extensions = ">=0.4.3"
+pathspec = ">=0.9.0,<1"
+platformdirs = ">=2"
+regex = ">=2021.4.4"
+tomli = ">=0.2.6,<2.0.0"
+typed-ast = {version = ">=1.4.2", markers = "python_version < \"3.8\" and implementation_name == \"cpython\""}
+typing-extensions = [
+ {version = ">=3.10.0.0", markers = "python_version < \"3.10\""},
+ {version = "!=3.10.0.1", markers = "python_version >= \"3.10\""},
+]
+
+[package.extras]
+colorama = ["colorama (>=0.4.3)"]
+d = ["aiohttp (>=3.7.4)"]
+jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"]
+python2 = ["typed-ast (>=1.4.3)"]
+uvloop = ["uvloop (>=0.15.2)"]
+
+[[package]]
+name = "cfgv"
+version = "3.3.1"
+description = "Validate configuration and produce human readable error messages."
+category = "dev"
+optional = false
+python-versions = ">=3.6.1"
+
+[[package]]
+name = "click"
+version = "8.0.3"
+description = "Composable command line interface toolkit"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+colorama = {version = "*", markers = "platform_system == \"Windows\""}
+importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
+
+[[package]]
+name = "colorama"
+version = "0.4.4"
+description = "Cross-platform colored terminal text."
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[[package]]
+name = "cython"
+version = "0.29.24"
+description = "The Cython compiler for writing C extensions for the Python language."
+category = "main"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
+
+[[package]]
+name = "dataclasses"
+version = "0.8"
+description = "A backport of the dataclasses module for Python 3.6"
+category = "main"
+optional = false
+python-versions = ">=3.6, <3.7"
+
+[[package]]
+name = "distlib"
+version = "0.3.3"
+description = "Distribution utilities"
+category = "dev"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "filelock"
+version = "3.4.0"
+description = "A platform independent file lock."
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[package.extras]
+docs = ["furo (>=2021.8.17b43)", "sphinx (>=4.1)", "sphinx-autodoc-typehints (>=1.12)"]
+testing = ["covdefaults (>=1.2.0)", "coverage (>=4)", "pytest (>=4)", "pytest-cov", "pytest-timeout (>=1.4.2)"]
+
+[[package]]
+name = "identify"
+version = "2.4.0"
+description = "File identification library for Python"
+category = "dev"
+optional = false
+python-versions = ">=3.6.1"
+
+[package.extras]
+license = ["ukkonen"]
+
+[[package]]
+name = "importlib-metadata"
+version = "4.8.2"
+description = "Read metadata from Python packages"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""}
+zipp = ">=0.5"
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
+perf = ["ipython"]
+testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"]
+
+[[package]]
+name = "importlib-resources"
+version = "5.2.3"
+description = "Read resources from Python packages"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
+testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-black (>=0.3.7)", "pytest-mypy"]
+
+[[package]]
+name = "iniconfig"
+version = "1.1.1"
+description = "iniconfig: brain-dead simple config-ini parsing"
+category = "dev"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "isort"
+version = "5.10.1"
+description = "A Python utility / library to sort Python imports."
+category = "dev"
+optional = false
+python-versions = ">=3.6.1,<4.0"
+
+[package.extras]
+pipfile_deprecated_finder = ["pipreqs", "requirementslib"]
+requirements_deprecated_finder = ["pipreqs", "pip-api"]
+colors = ["colorama (>=0.4.3,<0.5.0)"]
+plugins = ["setuptools"]
+
+[[package]]
+name = "mypy-extensions"
+version = "0.4.3"
+description = "Experimental type system extensions for programs checked with the mypy typechecker."
+category = "dev"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "nodeenv"
+version = "1.6.0"
+description = "Node.js virtual environment builder"
+category = "dev"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "packaging"
+version = "21.3"
+description = "Core utilities for Python packages"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+pyparsing = ">=2.0.2,<3.0.5 || >3.0.5"
+
+[[package]]
+name = "pathspec"
+version = "0.9.0"
+description = "Utility library for gitignore style pattern matching of file paths."
+category = "dev"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
+
+[[package]]
+name = "platformdirs"
+version = "2.4.0"
+description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[package.extras]
+docs = ["Sphinx (>=4)", "furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)"]
+test = ["appdirs (==1.4.4)", "pytest (>=6)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)"]
+
+[[package]]
+name = "pluggy"
+version = "1.0.0"
+description = "plugin and hook calling mechanisms for python"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
+
+[package.extras]
+dev = ["pre-commit", "tox"]
+testing = ["pytest", "pytest-benchmark"]
+
+[[package]]
+name = "pre-commit"
+version = "2.16.0"
+description = "A framework for managing and maintaining multi-language pre-commit hooks."
+category = "dev"
+optional = false
+python-versions = ">=3.6.1"
+
+[package.dependencies]
+cfgv = ">=2.0.0"
+identify = ">=1.0.0"
+importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
+importlib-resources = {version = "<5.3", markers = "python_version < \"3.7\""}
+nodeenv = ">=0.11.1"
+pyyaml = ">=5.1"
+toml = "*"
+virtualenv = ">=20.0.8"
+
+[[package]]
+name = "py"
+version = "1.11.0"
+description = "library with cross-python path, ini-parsing, io, code, log facilities"
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[[package]]
+name = "pyobjc-core"
+version = "8.1"
+description = "Python<->ObjC Interoperability Module"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[[package]]
+name = "pyobjc-framework-cocoa"
+version = "8.1"
+description = "Wrappers for the Cocoa frameworks on macOS"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+pyobjc-core = ">=8.1"
+
+[[package]]
+name = "pyparsing"
+version = "3.0.6"
+description = "Python parsing module"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[package.extras]
+diagrams = ["jinja2", "railroad-diagrams"]
+
+[[package]]
+name = "pytest"
+version = "6.2.5"
+description = "pytest: simple powerful testing with Python"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""}
+attrs = ">=19.2.0"
+colorama = {version = "*", markers = "sys_platform == \"win32\""}
+importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
+iniconfig = "*"
+packaging = "*"
+pluggy = ">=0.12,<2.0"
+py = ">=1.8.2"
+toml = "*"
+
+[package.extras]
+testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
+
+[[package]]
+name = "pyyaml"
+version = "6.0"
+description = "YAML parser and emitter for Python"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[[package]]
+name = "regex"
+version = "2021.11.10"
+description = "Alternative regular expression module, to replace re."
+category = "dev"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "six"
+version = "1.16.0"
+description = "Python 2 and 3 compatibility utilities"
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
+
+[[package]]
+name = "toml"
+version = "0.10.2"
+description = "Python Library for Tom's Obvious, Minimal Language"
+category = "dev"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
+
+[[package]]
+name = "tomli"
+version = "1.2.2"
+description = "A lil' TOML parser"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[[package]]
+name = "typed-ast"
+version = "1.5.0"
+description = "a fork of Python 2 and 3 ast modules with type comment support"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[[package]]
+name = "typing-extensions"
+version = "4.0.1"
+description = "Backported and Experimental Type Hints for Python 3.6+"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[[package]]
+name = "virtualenv"
+version = "20.10.0"
+description = "Virtual Python Environment builder"
+category = "dev"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
+
+[package.dependencies]
+"backports.entry-points-selectable" = ">=1.0.4"
+distlib = ">=0.3.1,<1"
+filelock = ">=3.2,<4"
+importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
+importlib-resources = {version = ">=1.0", markers = "python_version < \"3.7\""}
+platformdirs = ">=2,<3"
+six = ">=1.9.0,<2"
+
+[package.extras]
+docs = ["proselint (>=0.10.2)", "sphinx (>=3)", "sphinx-argparse (>=0.2.5)", "sphinx-rtd-theme (>=0.4.3)", "towncrier (>=21.3)"]
+testing = ["coverage (>=4)", "coverage-enable-subprocess (>=1)", "flaky (>=3)", "pytest (>=4)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.1)", "pytest-mock (>=2)", "pytest-randomly (>=1)", "pytest-timeout (>=1)", "packaging (>=20.0)"]
+
+[[package]]
+name = "zipp"
+version = "3.6.0"
+description = "Backport of pathlib-compatible object wrapper for zip files"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
+testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"]
+
+[metadata]
+lock-version = "1.1"
+python-versions = "^3.6.2"
+content-hash = "88bb2bfb481c2157bf1e96e1c2250cda7e50ba9d3879cc6d3478dee64e5fe0ca"
+
+[metadata.files]
+atomicwrites = [
+ {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"},
+ {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"},
+]
+attrs = [
+ {file = "attrs-21.2.0-py2.py3-none-any.whl", hash = "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1"},
+ {file = "attrs-21.2.0.tar.gz", hash = "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"},
+]
+"backports.entry-points-selectable" = [
+ {file = "backports.entry_points_selectable-1.1.1-py2.py3-none-any.whl", hash = "sha256:7fceed9532a7aa2bd888654a7314f864a3c16a4e710b34a58cfc0f08114c663b"},
+ {file = "backports.entry_points_selectable-1.1.1.tar.gz", hash = "sha256:914b21a479fde881635f7af5adc7f6e38d6b274be32269070c53b698c60d5386"},
+]
+black = [
+ {file = "black-21.11b1-py3-none-any.whl", hash = "sha256:802c6c30b637b28645b7fde282ed2569c0cd777dbe493a41b6a03c1d903f99ac"},
+ {file = "black-21.11b1.tar.gz", hash = "sha256:a042adbb18b3262faad5aff4e834ff186bb893f95ba3a8013f09de1e5569def2"},
+]
+cfgv = [
+ {file = "cfgv-3.3.1-py2.py3-none-any.whl", hash = "sha256:c6a0883f3917a037485059700b9e75da2464e6c27051014ad85ba6aaa5884426"},
+ {file = "cfgv-3.3.1.tar.gz", hash = "sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736"},
+]
+click = [
+ {file = "click-8.0.3-py3-none-any.whl", hash = "sha256:353f466495adaeb40b6b5f592f9f91cb22372351c84caeb068132442a4518ef3"},
+ {file = "click-8.0.3.tar.gz", hash = "sha256:410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b"},
+]
+colorama = [
+ {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
+ {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"},
+]
+cython = [
+ {file = "Cython-0.29.24-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:6a2cf2ccccc25413864928dfd730c29db6f63eaf98206c1e600003a445ca7f58"},
+ {file = "Cython-0.29.24-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:b28f92e617f540d3f21f8fd479a9c6491be920ffff672a4c61b7fc4d7f749f39"},
+ {file = "Cython-0.29.24-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:37bcfa5df2a3009f49624695d917c3804fccbdfcdc5eda6378754a879711a4d5"},
+ {file = "Cython-0.29.24-cp27-cp27m-win32.whl", hash = "sha256:9164aeef1af6f837e4fc20402a31d256188ba4d535e262c6cb78caf57ad744f8"},
+ {file = "Cython-0.29.24-cp27-cp27m-win_amd64.whl", hash = "sha256:73ac33a4379056a02031baa4def255717fadb9181b5ac2b244792d53eae1c925"},
+ {file = "Cython-0.29.24-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:09ac3087ac7a3d489ebcb3fb8402e00c13d1a3a1c6bc73fd3b0d756a3e341e79"},
+ {file = "Cython-0.29.24-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:774cb8fd931ee1ba52c472bc1c19077cd6895c1b24014ae07bb27df59aed5ebe"},
+ {file = "Cython-0.29.24-cp34-cp34m-win32.whl", hash = "sha256:5dd56d0be50073f0e54825a8bc3393852de0eed126339ecbca0ae149dba55cfc"},
+ {file = "Cython-0.29.24-cp34-cp34m-win_amd64.whl", hash = "sha256:88dc3c250dec280b0489a83950b15809762e27232f4799b1b8d0bad503f5ab84"},
+ {file = "Cython-0.29.24-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:5fa12ebafc2f688ea6d26ab6d1d2e634a9872509ba7135b902bb0d8b368fb04b"},
+ {file = "Cython-0.29.24-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:60c958bcab0ff315b4036a949bed1c65334e1f6a69e17e9966d742febb59043a"},
+ {file = "Cython-0.29.24-cp35-cp35m-win32.whl", hash = "sha256:166f9f29cd0058ce1a14a7b3a2458b849ed34b1ec5fd4108af3fdd2c24afcbb0"},
+ {file = "Cython-0.29.24-cp35-cp35m-win_amd64.whl", hash = "sha256:76cbca0188d278e93d12ebdaf5990678e6e436485fdfad49dbe9b07717d41a3c"},
+ {file = "Cython-0.29.24-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f2e9381497b12e8f622af620bde0d1d094035d79b899abb2ddd3a7891f535083"},
+ {file = "Cython-0.29.24-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:d8d1a087f35e39384303f5e6b75d465d6f29d746d7138eae9d3b6e8e6f769eae"},
+ {file = "Cython-0.29.24-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:112efa54a58293a4fb0acf0dd8e5b3736e95b595eee24dd88615648e445abe41"},
+ {file = "Cython-0.29.24-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cf4452f0e4d50e11701bca38f3857fe6fa16593e7fd6a4d5f7be66f611b7da2"},
+ {file = "Cython-0.29.24-cp36-cp36m-win32.whl", hash = "sha256:854fe2193d3ad4c8b61932ff54d6dbe10c5fa8749eb8958d72cc0ab28243f833"},
+ {file = "Cython-0.29.24-cp36-cp36m-win_amd64.whl", hash = "sha256:84826ec1c11cda56261a252ddecac0c7d6b02e47e81b94f40b27b4c23c29c17c"},
+ {file = "Cython-0.29.24-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:6ade74eece909fd3a437d9a5084829180751d7ade118e281e9824dd75eafaff2"},
+ {file = "Cython-0.29.24-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0a142c6b862e6ed6b02209d543062c038c110585b5e32d1ad7c9717af4f07e41"},
+ {file = "Cython-0.29.24-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:10cb3def9774fa99e4583617a5616874aed3255dc241fd1f4a3c2978c78e1c53"},
+ {file = "Cython-0.29.24-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f41ef7edd76dd23315925e003f0c58c8585f3ab24be6885c4b3f60e77c82746"},
+ {file = "Cython-0.29.24-cp37-cp37m-win32.whl", hash = "sha256:821c2d416ad7d006b069657ee1034c0e0cb45bdbe9ab6ab631e8c495dfcfa4ac"},
+ {file = "Cython-0.29.24-cp37-cp37m-win_amd64.whl", hash = "sha256:2d9e61ed1056a3b6a4b9156b62297ad18b357a7948e57a2f49b061217696567e"},
+ {file = "Cython-0.29.24-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:55b0ee28c2c8118bfb3ad9b25cf7a6cbd724e442ea96956e32ccd908d5e3e043"},
+ {file = "Cython-0.29.24-cp38-cp38-manylinux1_i686.whl", hash = "sha256:eb2843f8cc01c645725e6fc690a84e99cdb266ce8ebe427cf3a680ff09f876aa"},
+ {file = "Cython-0.29.24-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:661dbdea519d9cfb288867252b75fef73ffa8e8bb674cec27acf70646afb369b"},
+ {file = "Cython-0.29.24-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc05de569f811be1fcfde6756c9048ae518f0c4b6d9f8f024752c5365d934cac"},
+ {file = "Cython-0.29.24-cp38-cp38-win32.whl", hash = "sha256:a102cfa795c6b3b81a29bdb9dbec545367cd7f353c03e6f30a056fdfefd92854"},
+ {file = "Cython-0.29.24-cp38-cp38-win_amd64.whl", hash = "sha256:416046a98255eff97ec02077d20ebeaae52682dfca1c35aadf31260442b92514"},
+ {file = "Cython-0.29.24-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ad43e684ade673565f6f9d6638015112f6c7f11aa2a632167b79014f613f0f5f"},
+ {file = "Cython-0.29.24-cp39-cp39-manylinux1_i686.whl", hash = "sha256:afb521523cb46ddaa8d269b421f88ea2731fee05e65b952b96d4db760f5a2a1c"},
+ {file = "Cython-0.29.24-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:0d414458cb22f8a90d64260da6dace5d5fcebde43f31be52ca51f818c46db8cb"},
+ {file = "Cython-0.29.24-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cb87777e82d1996aef6c146560a19270684271c9c669ba62ac6803b3cd2ff82"},
+ {file = "Cython-0.29.24-cp39-cp39-win32.whl", hash = "sha256:91339ee4b465924a3ea4b2a9cec7f7227bc4cadf673ce859d24c2b9ef60b1214"},
+ {file = "Cython-0.29.24-cp39-cp39-win_amd64.whl", hash = "sha256:5fb977945a2111f6b64501fdf7ed0ec162cc502b84457fd648d6a558ea8de0d6"},
+ {file = "Cython-0.29.24-py2.py3-none-any.whl", hash = "sha256:f96411f0120b5cae483923aaacd2872af8709be4b46522daedc32f051d778385"},
+ {file = "Cython-0.29.24.tar.gz", hash = "sha256:cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443"},
+]
+dataclasses = [
+ {file = "dataclasses-0.8-py3-none-any.whl", hash = "sha256:0201d89fa866f68c8ebd9d08ee6ff50c0b255f8ec63a71c16fda7af82bb887bf"},
+ {file = "dataclasses-0.8.tar.gz", hash = "sha256:8479067f342acf957dc82ec415d355ab5edb7e7646b90dc6e2fd1d96ad084c97"},
+]
+distlib = [
+ {file = "distlib-0.3.3-py2.py3-none-any.whl", hash = "sha256:c8b54e8454e5bf6237cc84c20e8264c3e991e824ef27e8f1e81049867d861e31"},
+ {file = "distlib-0.3.3.zip", hash = "sha256:d982d0751ff6eaaab5e2ec8e691d949ee80eddf01a62eaa96ddb11531fe16b05"},
+]
+filelock = [
+ {file = "filelock-3.4.0-py3-none-any.whl", hash = "sha256:2e139a228bcf56dd8b2274a65174d005c4a6b68540ee0bdbb92c76f43f29f7e8"},
+ {file = "filelock-3.4.0.tar.gz", hash = "sha256:93d512b32a23baf4cac44ffd72ccf70732aeff7b8050fcaf6d3ec406d954baf4"},
+]
+identify = [
+ {file = "identify-2.4.0-py2.py3-none-any.whl", hash = "sha256:eba31ca80258de6bb51453084bff4a923187cd2193b9c13710f2516ab30732cc"},
+ {file = "identify-2.4.0.tar.gz", hash = "sha256:a33ae873287e81651c7800ca309dc1f84679b763c9c8b30680e16fbfa82f0107"},
+]
+importlib-metadata = [
+ {file = "importlib_metadata-4.8.2-py3-none-any.whl", hash = "sha256:53ccfd5c134223e497627b9815d5030edf77d2ed573922f7a0b8f8bb81a1c100"},
+ {file = "importlib_metadata-4.8.2.tar.gz", hash = "sha256:75bdec14c397f528724c1bfd9709d660b33a4d2e77387a3358f20b848bb5e5fb"},
+]
+importlib-resources = [
+ {file = "importlib_resources-5.2.3-py3-none-any.whl", hash = "sha256:ae35ed1cfe8c0d6c1a53ecd168167f01fa93b893d51a62cdf23aea044c67211b"},
+ {file = "importlib_resources-5.2.3.tar.gz", hash = "sha256:203d70dda34cfbfbb42324a8d4211196e7d3e858de21a5eb68c6d1cdd99e4e98"},
+]
+iniconfig = [
+ {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
+ {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"},
+]
+isort = [
+ {file = "isort-5.10.1-py3-none-any.whl", hash = "sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7"},
+ {file = "isort-5.10.1.tar.gz", hash = "sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951"},
+]
+mypy-extensions = [
+ {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"},
+ {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"},
+]
+nodeenv = [
+ {file = "nodeenv-1.6.0-py2.py3-none-any.whl", hash = "sha256:621e6b7076565ddcacd2db0294c0381e01fd28945ab36bcf00f41c5daf63bef7"},
+ {file = "nodeenv-1.6.0.tar.gz", hash = "sha256:3ef13ff90291ba2a4a7a4ff9a979b63ffdd00a464dbe04acf0ea6471517a4c2b"},
+]
+packaging = [
+ {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"},
+ {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"},
+]
+pathspec = [
+ {file = "pathspec-0.9.0-py2.py3-none-any.whl", hash = "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a"},
+ {file = "pathspec-0.9.0.tar.gz", hash = "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"},
+]
+platformdirs = [
+ {file = "platformdirs-2.4.0-py3-none-any.whl", hash = "sha256:8868bbe3c3c80d42f20156f22e7131d2fb321f5bc86a2a345375c6481a67021d"},
+ {file = "platformdirs-2.4.0.tar.gz", hash = "sha256:367a5e80b3d04d2428ffa76d33f124cf11e8fff2acdaa9b43d545f5c7d661ef2"},
+]
+pluggy = [
+ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
+ {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
+]
+pre-commit = [
+ {file = "pre_commit-2.16.0-py2.py3-none-any.whl", hash = "sha256:758d1dc9b62c2ed8881585c254976d66eae0889919ab9b859064fc2fe3c7743e"},
+ {file = "pre_commit-2.16.0.tar.gz", hash = "sha256:fe9897cac830aa7164dbd02a4e7b90cae49630451ce88464bca73db486ba9f65"},
+]
+py = [
+ {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
+ {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
+]
+pyobjc-core = [
+ {file = "pyobjc-core-8.1.tar.gz", hash = "sha256:920914a1a4cd4f8a54babe93f0b4e4cd93b51d11ae38d8ef17f5edb603b7a949"},
+ {file = "pyobjc_core-8.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ddd9b964df292fa0bbd0d0694befe4c524977780e3f11221ac7e8683d5e9590f"},
+ {file = "pyobjc_core-8.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b6662805d288cd1bfd257565ddc07541d0162b3167af15e39f7a654b94f6667b"},
+ {file = "pyobjc_core-8.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:43f251881fe36dcb9ca9f7946ab13ddb4aa2499bde3c8bf2dc8144b5fe884629"},
+ {file = "pyobjc_core-8.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:781cfa7a3f72ce7213b4c341b5c552cd63b6664b3b444a23fcb1d5fdd417aa8b"},
+ {file = "pyobjc_core-8.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:951e716ad30bea52190f5e82604ee2c7f3dc6c04722cf0a3311ad7e4e6af5134"},
+]
+pyobjc-framework-cocoa = [
+ {file = "pyobjc-framework-Cocoa-8.1.tar.gz", hash = "sha256:9de42dc3e0911d6e30cf41bb4baf9aaf2723a27053f7edbd8ad7d758cf41b81d"},
+ {file = "pyobjc_framework_Cocoa-8.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b588a3ed9adcdbfafcbfa77bbd72844afb8d987a70cce7a4f3a35a9474271a11"},
+ {file = "pyobjc_framework_Cocoa-8.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:626f6d084a537b365c0786674036643695e7829ebaf7889aa9b327f3b897a800"},
+ {file = "pyobjc_framework_Cocoa-8.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8075f6cf8cac804d9ed05355c68a8a0cd3ce31a310469279c6c7e49dad47b010"},
+ {file = "pyobjc_framework_Cocoa-8.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:9e47a2709b8458422752efccaa89f4b52cc8e01345ec71c43c713a891f084bb6"},
+ {file = "pyobjc_framework_Cocoa-8.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0b0aee74f6c32103338e3735f308052f4cc534c25762130303638aaa6d62d851"},
+]
+pyparsing = [
+ {file = "pyparsing-3.0.6-py3-none-any.whl", hash = "sha256:04ff808a5b90911829c55c4e26f75fa5ca8a2f5f36aa3a51f68e27033341d3e4"},
+ {file = "pyparsing-3.0.6.tar.gz", hash = "sha256:d9bdec0013ef1eb5a84ab39a3b3868911598afa494f5faa038647101504e2b81"},
+]
+pytest = [
+ {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"},
+ {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"},
+]
+pyyaml = [
+ {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"},
+ {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"},
+ {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"},
+ {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"},
+ {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"},
+ {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"},
+ {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"},
+ {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"},
+ {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"},
+ {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"},
+ {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"},
+ {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"},
+ {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"},
+ {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"},
+ {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"},
+ {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"},
+ {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"},
+ {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"},
+ {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"},
+ {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"},
+ {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"},
+ {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"},
+ {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"},
+ {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"},
+ {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"},
+ {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"},
+ {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"},
+ {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"},
+ {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"},
+ {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"},
+ {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"},
+ {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"},
+ {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"},
+]
+regex = [
+ {file = "regex-2021.11.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9345b6f7ee578bad8e475129ed40123d265464c4cfead6c261fd60fc9de00bcf"},
+ {file = "regex-2021.11.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:416c5f1a188c91e3eb41e9c8787288e707f7d2ebe66e0a6563af280d9b68478f"},
+ {file = "regex-2021.11.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0538c43565ee6e703d3a7c3bdfe4037a5209250e8502c98f20fea6f5fdf2965"},
+ {file = "regex-2021.11.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ee1227cf08b6716c85504aebc49ac827eb88fcc6e51564f010f11a406c0a667"},
+ {file = "regex-2021.11.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6650f16365f1924d6014d2ea770bde8555b4a39dc9576abb95e3cd1ff0263b36"},
+ {file = "regex-2021.11.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30ab804ea73972049b7a2a5c62d97687d69b5a60a67adca07eb73a0ddbc9e29f"},
+ {file = "regex-2021.11.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:68a067c11463de2a37157930d8b153005085e42bcb7ad9ca562d77ba7d1404e0"},
+ {file = "regex-2021.11.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:162abfd74e88001d20cb73ceaffbfe601469923e875caf9118333b1a4aaafdc4"},
+ {file = "regex-2021.11.10-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b9ed0b1e5e0759d6b7f8e2f143894b2a7f3edd313f38cf44e1e15d360e11749b"},
+ {file = "regex-2021.11.10-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:473e67837f786404570eae33c3b64a4b9635ae9f00145250851a1292f484c063"},
+ {file = "regex-2021.11.10-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2fee3ed82a011184807d2127f1733b4f6b2ff6ec7151d83ef3477f3b96a13d03"},
+ {file = "regex-2021.11.10-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:d5fd67df77bab0d3f4ea1d7afca9ef15c2ee35dfb348c7b57ffb9782a6e4db6e"},
+ {file = "regex-2021.11.10-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5d408a642a5484b9b4d11dea15a489ea0928c7e410c7525cd892f4d04f2f617b"},
+ {file = "regex-2021.11.10-cp310-cp310-win32.whl", hash = "sha256:98ba568e8ae26beb726aeea2273053c717641933836568c2a0278a84987b2a1a"},
+ {file = "regex-2021.11.10-cp310-cp310-win_amd64.whl", hash = "sha256:780b48456a0f0ba4d390e8b5f7c661fdd218934388cde1a974010a965e200e12"},
+ {file = "regex-2021.11.10-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:dba70f30fd81f8ce6d32ddeef37d91c8948e5d5a4c63242d16a2b2df8143aafc"},
+ {file = "regex-2021.11.10-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1f54b9b4b6c53369f40028d2dd07a8c374583417ee6ec0ea304e710a20f80a0"},
+ {file = "regex-2021.11.10-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fbb9dc00e39f3e6c0ef48edee202f9520dafb233e8b51b06b8428cfcb92abd30"},
+ {file = "regex-2021.11.10-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666abff54e474d28ff42756d94544cdfd42e2ee97065857413b72e8a2d6a6345"},
+ {file = "regex-2021.11.10-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5537f71b6d646f7f5f340562ec4c77b6e1c915f8baae822ea0b7e46c1f09b733"},
+ {file = "regex-2021.11.10-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2e07c6a26ed4bea91b897ee2b0835c21716d9a469a96c3e878dc5f8c55bb23"},
+ {file = "regex-2021.11.10-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ca5f18a75e1256ce07494e245cdb146f5a9267d3c702ebf9b65c7f8bd843431e"},
+ {file = "regex-2021.11.10-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:74cbeac0451f27d4f50e6e8a8f3a52ca074b5e2da9f7b505c4201a57a8ed6286"},
+ {file = "regex-2021.11.10-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:3598893bde43091ee5ca0a6ad20f08a0435e93a69255eeb5f81b85e81e329264"},
+ {file = "regex-2021.11.10-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:50a7ddf3d131dc5633dccdb51417e2d1910d25cbcf842115a3a5893509140a3a"},
+ {file = "regex-2021.11.10-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:61600a7ca4bcf78a96a68a27c2ae9389763b5b94b63943d5158f2a377e09d29a"},
+ {file = "regex-2021.11.10-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:563d5f9354e15e048465061509403f68424fef37d5add3064038c2511c8f5e00"},
+ {file = "regex-2021.11.10-cp36-cp36m-win32.whl", hash = "sha256:93a5051fcf5fad72de73b96f07d30bc29665697fb8ecdfbc474f3452c78adcf4"},
+ {file = "regex-2021.11.10-cp36-cp36m-win_amd64.whl", hash = "sha256:b483c9d00a565633c87abd0aaf27eb5016de23fed952e054ecc19ce32f6a9e7e"},
+ {file = "regex-2021.11.10-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:fff55f3ce50a3ff63ec8e2a8d3dd924f1941b250b0aac3d3d42b687eeff07a8e"},
+ {file = "regex-2021.11.10-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e32d2a2b02ccbef10145df9135751abea1f9f076e67a4e261b05f24b94219e36"},
+ {file = "regex-2021.11.10-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:53db2c6be8a2710b359bfd3d3aa17ba38f8aa72a82309a12ae99d3c0c3dcd74d"},
+ {file = "regex-2021.11.10-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2207ae4f64ad3af399e2d30dde66f0b36ae5c3129b52885f1bffc2f05ec505c8"},
+ {file = "regex-2021.11.10-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5ca078bb666c4a9d1287a379fe617a6dccd18c3e8a7e6c7e1eb8974330c626a"},
+ {file = "regex-2021.11.10-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd33eb9bdcfbabab3459c9ee651d94c842bc8a05fabc95edf4ee0c15a072495e"},
+ {file = "regex-2021.11.10-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05b7d6d7e64efe309972adab77fc2af8907bb93217ec60aa9fe12a0dad35874f"},
+ {file = "regex-2021.11.10-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:42b50fa6666b0d50c30a990527127334d6b96dd969011e843e726a64011485da"},
+ {file = "regex-2021.11.10-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:6e1d2cc79e8dae442b3fa4a26c5794428b98f81389af90623ffcc650ce9f6732"},
+ {file = "regex-2021.11.10-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:0416f7399e918c4b0e074a0f66e5191077ee2ca32a0f99d4c187a62beb47aa05"},
+ {file = "regex-2021.11.10-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:ce298e3d0c65bd03fa65ffcc6db0e2b578e8f626d468db64fdf8457731052942"},
+ {file = "regex-2021.11.10-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:dc07f021ee80510f3cd3af2cad5b6a3b3a10b057521d9e6aaeb621730d320c5a"},
+ {file = "regex-2021.11.10-cp37-cp37m-win32.whl", hash = "sha256:e71255ba42567d34a13c03968736c5d39bb4a97ce98188fafb27ce981115beec"},
+ {file = "regex-2021.11.10-cp37-cp37m-win_amd64.whl", hash = "sha256:07856afef5ffcc052e7eccf3213317fbb94e4a5cd8177a2caa69c980657b3cb4"},
+ {file = "regex-2021.11.10-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ba05430e819e58544e840a68b03b28b6d328aff2e41579037e8bab7653b37d83"},
+ {file = "regex-2021.11.10-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7f301b11b9d214f83ddaf689181051e7f48905568b0c7017c04c06dfd065e244"},
+ {file = "regex-2021.11.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aaa4e0705ef2b73dd8e36eeb4c868f80f8393f5f4d855e94025ce7ad8525f50"},
+ {file = "regex-2021.11.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:788aef3549f1924d5c38263104dae7395bf020a42776d5ec5ea2b0d3d85d6646"},
+ {file = "regex-2021.11.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f8af619e3be812a2059b212064ea7a640aff0568d972cd1b9e920837469eb3cb"},
+ {file = "regex-2021.11.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85bfa6a5413be0ee6c5c4a663668a2cad2cbecdee367630d097d7823041bdeec"},
+ {file = "regex-2021.11.10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f23222527b307970e383433daec128d769ff778d9b29343fb3496472dc20dabe"},
+ {file = "regex-2021.11.10-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:da1a90c1ddb7531b1d5ff1e171b4ee61f6345119be7351104b67ff413843fe94"},
+ {file = "regex-2021.11.10-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f5be7805e53dafe94d295399cfbe5227f39995a997f4fd8539bf3cbdc8f47ca8"},
+ {file = "regex-2021.11.10-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a955b747d620a50408b7fdf948e04359d6e762ff8a85f5775d907ceced715129"},
+ {file = "regex-2021.11.10-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:139a23d1f5d30db2cc6c7fd9c6d6497872a672db22c4ae1910be22d4f4b2068a"},
+ {file = "regex-2021.11.10-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:ca49e1ab99593438b204e00f3970e7a5f70d045267051dfa6b5f4304fcfa1dbf"},
+ {file = "regex-2021.11.10-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:96fc32c16ea6d60d3ca7f63397bff5c75c5a562f7db6dec7d412f7c4d2e78ec0"},
+ {file = "regex-2021.11.10-cp38-cp38-win32.whl", hash = "sha256:0617383e2fe465732af4509e61648b77cbe3aee68b6ac8c0b6fe934db90be5cc"},
+ {file = "regex-2021.11.10-cp38-cp38-win_amd64.whl", hash = "sha256:a3feefd5e95871872673b08636f96b61ebef62971eab044f5124fb4dea39919d"},
+ {file = "regex-2021.11.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f7f325be2804246a75a4f45c72d4ce80d2443ab815063cdf70ee8fb2ca59ee1b"},
+ {file = "regex-2021.11.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:537ca6a3586931b16a85ac38c08cc48f10fc870a5b25e51794c74df843e9966d"},
+ {file = "regex-2021.11.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eef2afb0fd1747f33f1ee3e209bce1ed582d1896b240ccc5e2697e3275f037c7"},
+ {file = "regex-2021.11.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:432bd15d40ed835a51617521d60d0125867f7b88acf653e4ed994a1f8e4995dc"},
+ {file = "regex-2021.11.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b43c2b8a330a490daaef5a47ab114935002b13b3f9dc5da56d5322ff218eeadb"},
+ {file = "regex-2021.11.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:962b9a917dd7ceacbe5cd424556914cb0d636001e393b43dc886ba31d2a1e449"},
+ {file = "regex-2021.11.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa8c626d6441e2d04b6ee703ef2d1e17608ad44c7cb75258c09dd42bacdfc64b"},
+ {file = "regex-2021.11.10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3c5fb32cc6077abad3bbf0323067636d93307c9fa93e072771cf9a64d1c0f3ef"},
+ {file = "regex-2021.11.10-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:cd410a1cbb2d297c67d8521759ab2ee3f1d66206d2e4328502a487589a2cb21b"},
+ {file = "regex-2021.11.10-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e6096b0688e6e14af6a1b10eaad86b4ff17935c49aa774eac7c95a57a4e8c296"},
+ {file = "regex-2021.11.10-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:529801a0d58809b60b3531ee804d3e3be4b412c94b5d267daa3de7fadef00f49"},
+ {file = "regex-2021.11.10-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0f594b96fe2e0821d026365f72ac7b4f0b487487fb3d4aaf10dd9d97d88a9737"},
+ {file = "regex-2021.11.10-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2409b5c9cef7054dde93a9803156b411b677affc84fca69e908b1cb2c540025d"},
+ {file = "regex-2021.11.10-cp39-cp39-win32.whl", hash = "sha256:3b5df18db1fccd66de15aa59c41e4f853b5df7550723d26aa6cb7f40e5d9da5a"},
+ {file = "regex-2021.11.10-cp39-cp39-win_amd64.whl", hash = "sha256:83ee89483672b11f8952b158640d0c0ff02dc43d9cb1b70c1564b49abe92ce29"},
+ {file = "regex-2021.11.10.tar.gz", hash = "sha256:f341ee2df0999bfdf7a95e448075effe0db212a59387de1a70690e4acb03d4c6"},
+]
+six = [
+ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
+ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
+]
+toml = [
+ {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"},
+ {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
+]
+tomli = [
+ {file = "tomli-1.2.2-py3-none-any.whl", hash = "sha256:f04066f68f5554911363063a30b108d2b5a5b1a010aa8b6132af78489fe3aade"},
+ {file = "tomli-1.2.2.tar.gz", hash = "sha256:c6ce0015eb38820eaf32b5db832dbc26deb3dd427bd5f6556cf0acac2c214fee"},
+]
+typed-ast = [
+ {file = "typed_ast-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7b310a207ee9fde3f46ba327989e6cba4195bc0c8c70a158456e7b10233e6bed"},
+ {file = "typed_ast-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:52ca2b2b524d770bed7a393371a38e91943f9160a190141e0df911586066ecda"},
+ {file = "typed_ast-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:14fed8820114a389a2b7e91624db5f85f3f6682fda09fe0268a59aabd28fe5f5"},
+ {file = "typed_ast-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:65c81abbabda7d760df7304d843cc9dbe7ef5d485504ca59a46ae2d1731d2428"},
+ {file = "typed_ast-1.5.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:37ba2ab65a0028b1a4f2b61a8fe77f12d242731977d274a03d68ebb751271508"},
+ {file = "typed_ast-1.5.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:49af5b8f6f03ed1eb89ee06c1d7c2e7c8e743d720c3746a5857609a1abc94c94"},
+ {file = "typed_ast-1.5.0-cp36-cp36m-win_amd64.whl", hash = "sha256:e4374a76e61399a173137e7984a1d7e356038cf844f24fd8aea46c8029a2f712"},
+ {file = "typed_ast-1.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:ea517c2bb11c5e4ba7a83a91482a2837041181d57d3ed0749a6c382a2b6b7086"},
+ {file = "typed_ast-1.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:51040bf45aacefa44fa67fb9ebcd1f2bec73182b99a532c2394eea7dabd18e24"},
+ {file = "typed_ast-1.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:806e0c7346b9b4af8c62d9a29053f484599921a4448c37fbbcbbf15c25138570"},
+ {file = "typed_ast-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a67fd5914603e2165e075f1b12f5a8356bfb9557e8bfb74511108cfbab0f51ed"},
+ {file = "typed_ast-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:224afecb8b39739f5c9562794a7c98325cb9d972712e1a98b6989a4720219541"},
+ {file = "typed_ast-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:155b74b078be842d2eb630dd30a280025eca0a5383c7d45853c27afee65f278f"},
+ {file = "typed_ast-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:361b9e5d27bd8e3ccb6ea6ad6c4f3c0be322a1a0f8177db6d56264fa0ae40410"},
+ {file = "typed_ast-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:618912cbc7e17b4aeba86ffe071698c6e2d292acbd6d1d5ec1ee724b8c4ae450"},
+ {file = "typed_ast-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7e6731044f748340ef68dcadb5172a4b1f40847a2983fe3983b2a66445fbc8e6"},
+ {file = "typed_ast-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e8a9b9c87801cecaad3b4c2b8876387115d1a14caa602c1618cedbb0cb2a14e6"},
+ {file = "typed_ast-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:ec184dfb5d3d11e82841dbb973e7092b75f306b625fad7b2e665b64c5d60ab3f"},
+ {file = "typed_ast-1.5.0.tar.gz", hash = "sha256:ff4ad88271aa7a55f19b6a161ed44e088c393846d954729549e3cde8257747bb"},
+]
+typing-extensions = [
+ {file = "typing_extensions-4.0.1-py3-none-any.whl", hash = "sha256:7f001e5ac290a0c0401508864c7ec868be4e701886d5b573a9528ed3973d9d3b"},
+ {file = "typing_extensions-4.0.1.tar.gz", hash = "sha256:4ca091dea149f945ec56afb48dae714f21e8692ef22a395223bcd328961b6a0e"},
+]
+virtualenv = [
+ {file = "virtualenv-20.10.0-py2.py3-none-any.whl", hash = "sha256:4b02e52a624336eece99c96e3ab7111f469c24ba226a53ec474e8e787b365814"},
+ {file = "virtualenv-20.10.0.tar.gz", hash = "sha256:576d05b46eace16a9c348085f7d0dc8ef28713a2cabaa1cf0aea41e8f12c9218"},
+]
+zipp = [
+ {file = "zipp-3.6.0-py3-none-any.whl", hash = "sha256:9fe5ea21568a0a70e50f273397638d39b03353731e6cbbb3fd8502a33fec40bc"},
+ {file = "zipp-3.6.0.tar.gz", hash = "sha256:71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832"},
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/pyproject.toml new/screeninfo-0.8.1/pyproject.toml
--- old/screeninfo-0.6.6/pyproject.toml 1970-01-01 01:00:00.000000000 +0100
+++ new/screeninfo-0.8.1/pyproject.toml 2022-09-09 13:34:05.000000000 +0200
@@ -0,0 +1,50 @@
+[tool.poetry]
+name = "screeninfo"
+version = "0.8.1"
+description = "Fetch location and size of physical screens."
+authors = ["Marcin Kurczewski <rr-(a)sakuya.pl>"]
+license = "MIT"
+readme = "README.md"
+repository = "https://github.com/rr-/screeninfo"
+classifiers = [
+ "Development Status :: 4 - Beta",
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: MIT License",
+ "Natural Language :: English",
+ "Operating System :: MacOS :: MacOS X",
+ "Operating System :: Microsoft :: Windows",
+ "Operating System :: POSIX :: Linux",
+ "Programming Language :: Python :: 3.7",
+ "Programming Language :: Python :: 3.8",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Topic :: Desktop Environment",
+ "Topic :: System :: Operating System",
+ "Typing :: Typed",
+]
+packages = [{ include = "screeninfo" }]
+
+[tool.poetry.dependencies]
+python = "^3.6.2"
+dataclasses = { version = "*", python = "<3.7" }
+Cython = { version = "*", platform = "darwin" }
+pyobjc-framework-Cocoa = { version = "*", platform = "darwin" }
+
+[tool.poetry.dev-dependencies]
+pytest = "^6.2.5"
+black = "^21.11b1"
+pre-commit = "^2.16.0"
+isort = "^5.10.1"
+
+[build-system]
+requires = ["poetry-core>=1.0.0"]
+build-backend = "poetry.core.masonry.api"
+
+[tool.black]
+line-length = 79
+py36 = true
+
+[tool.isort]
+known_third_party = "docstring_parser"
+multi_line_output = 3
+include_trailing_comma = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/screeninfo/__init__.py new/screeninfo-0.8.1/screeninfo/__init__.py
--- old/screeninfo-0.6.6/screeninfo/__init__.py 2020-10-23 09:55:39.000000000 +0200
+++ new/screeninfo-0.8.1/screeninfo/__init__.py 2022-09-09 13:34:05.000000000 +0200
@@ -1,2 +1,9 @@
from .common import Enumerator, Monitor
-from .screeninfo import get_monitors
+from .screeninfo import ScreenInfoError, get_monitors
+
+__all__ = [
+ "Enumerator",
+ "Monitor",
+ "ScreenInfoError",
+ "get_monitors",
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/screeninfo/common.py new/screeninfo-0.8.1/screeninfo/common.py
--- old/screeninfo-0.6.6/screeninfo/common.py 2020-10-23 09:55:39.000000000 +0200
+++ new/screeninfo-0.8.1/screeninfo/common.py 2022-09-09 13:34:05.000000000 +0200
@@ -14,6 +14,7 @@
width_mm: T.Optional[int] = None
height_mm: T.Optional[int] = None
name: T.Optional[str] = None
+ is_primary: T.Optional[bool] = None
def __repr__(self) -> str:
return (
@@ -21,7 +22,8 @@
f"x={self.x}, y={self.y}, "
f"width={self.width}, height={self.height}, "
f"width_mm={self.width_mm}, height_mm={self.height_mm}, "
- f"name={self.name!r}"
+ f"name={self.name!r}, "
+ f"is_primary={self.is_primary}"
f")"
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/screeninfo/enumerators/__init__.py new/screeninfo-0.8.1/screeninfo/enumerators/__init__.py
--- old/screeninfo-0.6.6/screeninfo/enumerators/__init__.py 2020-10-23 09:55:39.000000000 +0200
+++ new/screeninfo-0.8.1/screeninfo/enumerators/__init__.py 2022-09-09 13:34:05.000000000 +0200
@@ -1,6 +1,6 @@
import screeninfo.enumerators.cygwin
+import screeninfo.enumerators.drm
import screeninfo.enumerators.osx
import screeninfo.enumerators.windows
import screeninfo.enumerators.xinerama
import screeninfo.enumerators.xrandr
-import screeninfo.enumerators.drm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/screeninfo/enumerators/cygwin.py new/screeninfo-0.8.1/screeninfo/enumerators/cygwin.py
--- old/screeninfo-0.6.6/screeninfo/enumerators/cygwin.py 2020-10-23 09:55:39.000000000 +0200
+++ new/screeninfo-0.8.1/screeninfo/enumerators/cygwin.py 2022-09-09 13:34:05.000000000 +0200
@@ -44,6 +44,9 @@
monitors = []
+ def check_primary(rct: T.Any) -> bool:
+ return rct.left == 0 and rct.top == 0
+
def callback(monitor: T.Any, dc: T.Any, rect: T.Any, data: T.Any) -> int:
rct = rect.contents
monitors.append(
@@ -52,6 +55,7 @@
y=rct.top,
width=rct.right - rct.left,
height=rct.bottom - rct.top,
+ is_primary=check_primary(rct),
)
)
return 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/screeninfo/enumerators/drm.py new/screeninfo-0.8.1/screeninfo/enumerators/drm.py
--- old/screeninfo-0.6.6/screeninfo/enumerators/drm.py 2020-10-23 09:55:39.000000000 +0200
+++ new/screeninfo-0.8.1/screeninfo/enumerators/drm.py 2022-09-09 13:34:05.000000000 +0200
@@ -7,6 +7,7 @@
def enumerate_monitors() -> T.Iterable[Monitor]:
import ctypes
import ctypes.util
+
from screeninfo.util import load_library
libdrm = load_library("drm")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/screeninfo/enumerators/osx.py new/screeninfo-0.8.1/screeninfo/enumerators/osx.py
--- old/screeninfo-0.6.6/screeninfo/enumerators/osx.py 2020-10-23 09:55:39.000000000 +0200
+++ new/screeninfo-0.8.1/screeninfo/enumerators/osx.py 2022-09-09 13:34:05.000000000 +0200
@@ -3,16 +3,19 @@
from screeninfo.common import Monitor
-def enumerate_monitors() -> T.Iterable[Monitor]:
- from pyobjus import autoclass
- from pyobjus.dylib_manager import INCLUDE, load_framework
+# https://developer.apple.com/documentation/appkit/nsscreen/1388371-main
+# first entry in array is always the primary screen
+def check_primary(screens: T.Any, screen: T.Any) -> bool:
+ return screen == screens[0]
+
- load_framework(INCLUDE.AppKit)
+def enumerate_monitors() -> T.Iterable[Monitor]:
+ from AppKit import NSScreen
- screens = autoclass("NSScreen").screens()
+ screens = NSScreen.screens()
- for i in range(screens.count()):
- f = screens.objectAtIndex_(i).frame
+ for screen in screens:
+ f = screen.frame
if callable(f):
f = f()
@@ -21,4 +24,5 @@
y=int(f.origin.y),
width=int(f.size.width),
height=int(f.size.height),
+ is_primary=check_primary(screens, screen),
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/screeninfo/enumerators/windows.py new/screeninfo-0.8.1/screeninfo/enumerators/windows.py
--- old/screeninfo-0.6.6/screeninfo/enumerators/windows.py 2020-10-23 09:55:39.000000000 +0200
+++ new/screeninfo-0.8.1/screeninfo/enumerators/windows.py 2022-09-09 13:34:05.000000000 +0200
@@ -31,6 +31,9 @@
monitors = []
+ def check_primary(rct: T.Any) -> bool:
+ return rct.left == 0 and rct.top == 0
+
def callback(monitor: T.Any, dc: T.Any, rect: T.Any, data: T.Any) -> int:
info = MONITORINFOEXW()
info.cbSize = ctypes.sizeof(MONITORINFOEXW)
@@ -52,6 +55,7 @@
width_mm=h_size,
height_mm=v_size,
name=name,
+ is_primary=check_primary(rct),
)
)
return 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/screeninfo/enumerators/xrandr.py new/screeninfo-0.8.1/screeninfo/enumerators/xrandr.py
--- old/screeninfo-0.6.6/screeninfo/enumerators/xrandr.py 2020-10-23 09:55:39.000000000 +0200
+++ new/screeninfo-0.8.1/screeninfo/enumerators/xrandr.py 2022-09-09 13:34:05.000000000 +0200
@@ -59,6 +59,9 @@
("modes", ctypes.POINTER(ctypes.c_ulong)),
]
+ def check_primary(display_id: int, crtc: XRRCrtcInfo) -> bool:
+ return display_id == crtc.contents.outputs.contents.value
+
xlib = load_library("X11")
xlib.XOpenDisplay.argtypes = [ctypes.c_char_p]
xlib.XOpenDisplay.restype = ctypes.POINTER(ctypes.c_void_p)
@@ -98,6 +101,8 @@
output_info.contents.crtc,
)
+ primary_id = xrandr.XRRGetOutputPrimary(display, root_window)
+
try:
yield Monitor(
x=crtc_info.contents.x,
@@ -109,6 +114,7 @@
name=output_info.contents.name.decode(
sys.getfilesystemencoding()
),
+ is_primary=check_primary(primary_id, crtc_info),
)
finally:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/screeninfo/screeninfo.py new/screeninfo-0.8.1/screeninfo/screeninfo.py
--- old/screeninfo-0.6.6/screeninfo/screeninfo.py 2020-10-23 09:55:39.000000000 +0200
+++ new/screeninfo-0.8.1/screeninfo/screeninfo.py 2022-09-09 13:34:05.000000000 +0200
@@ -1,6 +1,4 @@
-import importlib
import typing as T
-from pathlib import Path
from screeninfo import enumerators
from screeninfo.common import Enumerator, Monitor, ScreenInfoError
@@ -15,23 +13,20 @@
}
-def _get_monitors(enumerator: Enumerator) -> T.List[Monitor]:
- return list(ENUMERATOR_MAP[enumerator].enumerate_monitors())
-
-
def get_monitors(
name: T.Union[Enumerator, str, None] = None
) -> T.List[Monitor]:
"""Returns a list of :class:`Monitor` objects based on active monitors."""
- enumerator = Enumerator(name) if name is not None else None
+ if name is not None:
+ return list(ENUMERATOR_MAP[Enumerator(name)].enumerate_monitors())
- if enumerator is not None:
- return _get_monitors(enumerator)
-
- for enumerator in Enumerator:
+ for enumerator in ENUMERATOR_MAP.keys():
try:
- return _get_monitors(enumerator)
- except Exception:
- pass
+ monitors = get_monitors(enumerator)
+ except Exception as ex:
+ monitors = []
+
+ if monitors:
+ return monitors
raise ScreenInfoError("No enumerators available")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/setup.cfg new/screeninfo-0.8.1/setup.cfg
--- old/screeninfo-0.6.6/setup.cfg 2020-10-23 09:55:39.000000000 +0200
+++ new/screeninfo-0.8.1/setup.cfg 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-[metadata]
-description-file = README.md
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/setup.py new/screeninfo-0.8.1/setup.py
--- old/screeninfo-0.6.6/setup.py 2020-10-23 09:55:39.000000000 +0200
+++ new/screeninfo-0.8.1/setup.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-from setuptools import setup
-
-setup(
- name="screeninfo",
- packages=["screeninfo", "screeninfo.enumerators"],
- version="0.6.6",
- description="Fetch location and size of physical screens.",
- author="rr-",
- author_email="rr-(a)sakuya.pl",
- url="https://github.com/rr-/screeninfo",
- keywords=["screen", "monitor", "desktop"],
- classifiers=[],
- install_requires=[
- "dataclasses ; python_version<'3.7'",
- 'Cython ; sys_platform=="darwin"',
- 'pyobjus ; sys_platform=="darwin"',
- ],
-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/tests/test_documentation.py new/screeninfo-0.8.1/tests/test_documentation.py
--- old/screeninfo-0.6.6/tests/test_documentation.py 1970-01-01 01:00:00.000000000 +0100
+++ new/screeninfo-0.8.1/tests/test_documentation.py 2022-09-09 13:34:05.000000000 +0200
@@ -0,0 +1,61 @@
+import re
+from pathlib import Path
+from unittest.mock import patch
+
+from screeninfo import Monitor
+
+README_PATH = Path(__file__).parent.parent / "README.md"
+
+
+def test_documentation_exists() -> None:
+ """Test that the documentation path is valid."""
+ assert README_PATH.exists()
+
+
+def test_documentation(capsys) -> None:
+ """Test that the output documented in README is consistent with the actual
+ output of the library.
+ """
+ readme_content = README_PATH.read_text()
+
+ input_match = re.search(
+ "```python([^`]*)```", readme_content, flags=re.DOTALL
+ )
+ output_match = re.search(
+ "```python console([^`]*)```", readme_content, flags=re.DOTALL
+ )
+
+ assert input_match
+ assert output_match
+
+ code = input_match.group(1).strip()
+ expected_result = output_match.group(1).strip()
+ with patch(
+ "screeninfo.get_monitors",
+ return_value=[
+ Monitor(
+ x=3840,
+ y=0,
+ width=3840,
+ height=2160,
+ width_mm=1420,
+ height_mm=800,
+ name="HDMI-0",
+ is_primary=False,
+ ),
+ Monitor(
+ x=0,
+ y=0,
+ width=3840,
+ height=2160,
+ width_mm=708,
+ height_mm=399,
+ name="DP-0",
+ is_primary=True,
+ ),
+ ],
+ ):
+ exec(code)
+ actual_result = capsys.readouterr().out.strip()
+
+ assert actual_result == expected_result
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/screeninfo-0.6.6/tests/test_screeninfo.py new/screeninfo-0.8.1/tests/test_screeninfo.py
--- old/screeninfo-0.6.6/tests/test_screeninfo.py 1970-01-01 01:00:00.000000000 +0100
+++ new/screeninfo-0.8.1/tests/test_screeninfo.py 2022-09-09 13:34:05.000000000 +0200
@@ -0,0 +1,144 @@
+from contextlib import contextmanager
+from unittest import mock
+
+import pytest
+
+from screeninfo import Enumerator, Monitor, ScreenInfoError, get_monitors
+
+
+@contextmanager
+def not_raises(exception):
+ try:
+ yield
+ except exception:
+ raise pytest.fail("DID RAISE {0}".format(exception))
+
+
+def test_get_monitors_without_enumerators():
+ with mock.patch(
+ "screeninfo.screeninfo.ENUMERATOR_MAP", {}
+ ) as mock_get_monitors:
+ with pytest.raises(ScreenInfoError):
+ get_monitors()
+
+
+def test_get_monitors_handles_faulty_enumerator():
+ enumerator = mock.Mock(
+ enumerate_monitors=mock.Mock(side_effect=ImportError)
+ )
+ with mock.patch(
+ "screeninfo.screeninfo.ENUMERATOR_MAP",
+ {Enumerator.Windows: enumerator},
+ ):
+ with pytest.raises(ScreenInfoError):
+ get_monitors()
+ enumerator.enumerate_monitors.assert_called_once()
+
+
+def test_get_monitors_ignores_enumerator_that_produces_no_results():
+ enumerator = mock.Mock(enumerate_monitors=mock.Mock(return_value=[]))
+ with mock.patch(
+ "screeninfo.screeninfo.ENUMERATOR_MAP",
+ {Enumerator.Windows: enumerator},
+ ):
+ with pytest.raises(ScreenInfoError):
+ get_monitors()
+ enumerator.enumerate_monitors.assert_called_once()
+
+
+def test_get_monitors_uses_working_enumerator():
+ enumerator = mock.Mock(
+ enumerate_monitors=mock.Mock(
+ return_value=[Monitor(x=0, y=0, width=800, height=600)]
+ )
+ )
+ with mock.patch(
+ "screeninfo.screeninfo.ENUMERATOR_MAP",
+ {Enumerator.Windows: enumerator},
+ ) as mock_get_monitors:
+ monitors = get_monitors()
+ assert len(monitors) == 1
+ assert monitors[0].x == 0
+ assert monitors[0].y == 0
+ assert monitors[0].width == 800
+ assert monitors[0].height == 600
+ enumerator.enumerate_monitors.assert_called_once()
+
+
+def test_get_monitors_uses_first_working_enumerator():
+ enumerator1 = mock.Mock(
+ enumerate_monitors=mock.Mock(side_effect=ImportError)
+ )
+ enumerator2 = mock.Mock(
+ enumerate_monitors=mock.Mock(
+ return_value=[Monitor(x=0, y=0, width=800, height=600)]
+ )
+ )
+ enumerator3 = mock.Mock(
+ enumerate_monitors=mock.Mock(side_effect=ImportError)
+ )
+ with mock.patch(
+ "screeninfo.screeninfo.ENUMERATOR_MAP",
+ {
+ Enumerator.Windows: enumerator1,
+ Enumerator.Xinerama: enumerator2,
+ Enumerator.DRM: enumerator3,
+ },
+ ) as mock_get_monitors:
+ monitors = get_monitors()
+ assert len(monitors) == 1
+ assert monitors[0].x == 0
+ assert monitors[0].y == 0
+ assert monitors[0].width == 800
+ assert monitors[0].height == 600
+ enumerator1.enumerate_monitors.assert_called_once()
+ enumerator2.enumerate_monitors.assert_called_once()
+ enumerator3.enumerate_monitors.assert_not_called()
+
+
+(a)pytest.mark.parametrize("param", ["windows", Enumerator.Windows])
+def test_get_monitors_with_concrete_enumerator(param):
+ enumerator = mock.Mock(
+ enumerate_monitors=mock.Mock(
+ return_value=[Monitor(x=0, y=0, width=800, height=600)]
+ )
+ )
+ with mock.patch(
+ "screeninfo.screeninfo.ENUMERATOR_MAP",
+ {Enumerator.Windows: enumerator},
+ ) as mock_get_monitors:
+ monitors = get_monitors(param)
+ assert len(monitors) == 1
+ assert monitors[0].x == 0
+ assert monitors[0].y == 0
+ assert monitors[0].width == 800
+ assert monitors[0].height == 600
+ enumerator.enumerate_monitors.assert_called_once()
+
+
+def test_get_monitors_with_invalid_enumerator():
+ enumerator = mock.Mock(
+ enumerate_monitors=mock.Mock(
+ return_value=[Monitor(x=0, y=0, width=800, height=600)]
+ )
+ )
+ with mock.patch(
+ "screeninfo.screeninfo.ENUMERATOR_MAP",
+ {Enumerator.Windows: enumerator},
+ ) as mock_get_monitors:
+ with pytest.raises(ValueError):
+ monitors = get_monitors("Invalid")
+
+
+def test_get_monitors_with_unlisted_enumerator():
+ enumerator = mock.Mock(
+ enumerate_monitors=mock.Mock(
+ return_value=[Monitor(x=0, y=0, width=800, height=600)]
+ )
+ )
+ with mock.patch(
+ "screeninfo.screeninfo.ENUMERATOR_MAP",
+ {Enumerator.Windows: enumerator},
+ ) as mock_get_monitors:
+ with pytest.raises(KeyError):
+ monitors = get_monitors(Enumerator.OSX)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-qt3d-qt5 for openSUSE:Factory checked in at 2023-01-31 16:09:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-qt3d-qt5 (Old)
and /work/SRC/openSUSE:Factory/.python-qt3d-qt5.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-qt3d-qt5"
Tue Jan 31 16:09:22 2023 rev:13 rq:1062119 version:5.15.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-qt3d-qt5/python-qt3d-qt5.changes 2023-01-14 00:02:57.765621788 +0100
+++ /work/SRC/openSUSE:Factory/.python-qt3d-qt5.new.32243/python-qt3d-qt5.changes 2023-01-31 16:19:45.569435406 +0100
@@ -1,0 +2,7 @@
+Sun Jan 29 19:47:01 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to PyQt3D 5.15.6
+ * Fixed building against Qt v5.15.8 and later.
+- Drop qt3d-geometry-equals.patch
+
+-------------------------------------------------------------------
Old:
----
PyQt3D-5.15.5.tar.gz
qt3d-geometry-equals.patch
New:
----
PyQt3D-5.15.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-qt3d-qt5.spec ++++++
--- /var/tmp/diff_new_pack.YscwOl/_old 2023-01-31 16:19:46.085438515 +0100
+++ /var/tmp/diff_new_pack.YscwOl/_new 2023-01-31 16:19:46.089438540 +0100
@@ -29,14 +29,13 @@
%define skip_python2 1
Name: python-%{mname}
-Version: 5.15.5
+Version: 5.15.6
Release: 0
Summary: Python bindings for the Qt5 3D framework
License: GPL-3.0-only
Group: Development/Libraries/Python
URL: https://www.riverbankcomputing.com/software/pyqtchart/intro
Source: https://files.pythonhosted.org/packages/source/P/PyQt3D/PyQt3D-%{version}.t…
-Patch0: qt3d-geometry-equals.patch
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pyqt-builder >= 1.9}
BuildRequires: %{python_module qt5-devel}
@@ -52,7 +51,7 @@
BuildRequires: pkgconfig(Qt53DLogic)
BuildRequires: pkgconfig(Qt53DRender)
Provides: python-PyQt3D = %{version}-%{release}
-Requires: python-qt5 >= %{version}
+Requires: python-qt5 >= 5.15.4
Requires: python-qt5-sip
%python_subpackages
++++++ PyQt3D-5.15.5.tar.gz -> PyQt3D-5.15.6.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-qt3d-qt5/PyQt3D-5.15.5.tar.gz /work/SRC/openSUSE:Factory/.python-qt3d-qt5.new.32243/PyQt3D-5.15.6.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-azure-mgmt-sql for openSUSE:Factory checked in at 2023-01-31 16:10:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-azure-mgmt-sql (Old)
and /work/SRC/openSUSE:Factory/.python-azure-mgmt-sql.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-azure-mgmt-sql"
Tue Jan 31 16:10:11 2023 rev:22 rq:1062244 version:4.0.0b7
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-azure-mgmt-sql/python-azure-mgmt-sql.changes 2023-01-02 15:02:47.709562301 +0100
+++ /work/SRC/openSUSE:Factory/.python-azure-mgmt-sql.new.32243/python-azure-mgmt-sql.changes 2023-01-31 16:18:13.664891668 +0100
@@ -1,0 +2,8 @@
+Mon Jan 30 15:02:58 UTC 2023 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- New upstream release
+ + Version 4.0.0b7
+ + For detailed information about changes see the
+ CHANGELOG.md file provided with this package
+
+-------------------------------------------------------------------
Old:
----
azure-mgmt-sql-4.0.0b6.zip
New:
----
azure-mgmt-sql-4.0.0b7.zip
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-azure-mgmt-sql.spec ++++++
--- /var/tmp/diff_new_pack.0cI7m2/_old 2023-01-31 16:18:14.072894033 +0100
+++ /var/tmp/diff_new_pack.0cI7m2/_new 2023-01-31 16:18:14.076894055 +0100
@@ -21,7 +21,7 @@
%define skip_python2 1
%endif
Name: python-azure-mgmt-sql
-Version: 4.0.0b6
+Version: 4.0.0b7
Release: 0
Summary: Microsoft Azure SQL Management Client Library
License: MIT
1
0
31 Jan '23
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-azure-mgmt-recoveryservicesbackup for openSUSE:Factory checked in at 2023-01-31 16:10:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-azure-mgmt-recoveryservicesbackup (Old)
and /work/SRC/openSUSE:Factory/.python-azure-mgmt-recoveryservicesbackup.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-azure-mgmt-recoveryservicesbackup"
Tue Jan 31 16:10:31 2023 rev:21 rq:1062249 version:5.1.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-azure-mgmt-recoveryservicesbackup/python-azure-mgmt-recoveryservicesbackup.changes 2022-12-01 16:59:10.811145985 +0100
+++ /work/SRC/openSUSE:Factory/.python-azure-mgmt-recoveryservicesbackup.new.32243/python-azure-mgmt-recoveryservicesbackup.changes 2023-01-31 16:18:11.936881657 +0100
@@ -1,0 +2,11 @@
+Mon Jan 30 14:56:11 UTC 2023 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- New upstream release
+ + Version 5.1.0
+ + For detailed information about changes see the
+ CHANGELOG.md file provided with this package
+- Override upstream version with 5.1.0.0 to ensure
+ proper upgrade from previous version 5.1.0b2
+- Update Requires from setup.py
+
+-------------------------------------------------------------------
Old:
----
azure-mgmt-recoveryservicesbackup-5.1.0b2.zip
New:
----
azure-mgmt-recoveryservicesbackup-5.1.0.zip
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-azure-mgmt-recoveryservicesbackup.spec ++++++
--- /var/tmp/diff_new_pack.95Q29l/_old 2023-01-31 16:18:12.352884067 +0100
+++ /var/tmp/diff_new_pack.95Q29l/_new 2023-01-31 16:18:12.360884114 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-azure-mgmt-recoveryservicesbackup
#
-# 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
@@ -16,18 +16,20 @@
#
+%define realversion 5.1.0
+
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%if 0%{?suse_version} >= 1500
%define skip_python2 1
%endif
Name: python-azure-mgmt-recoveryservicesbackup
-Version: 5.1.0b2
+Version: 5.1.0.0
Release: 0
Summary: Microsoft Azure Recovery Services Backup Management Client Library
License: MIT
Group: Development/Languages/Python
URL: https://github.com/Azure/azure-sdk-for-python
-Source: https://files.pythonhosted.org/packages/source/a/azure-mgmt-recoveryservice…
+Source: https://files.pythonhosted.org/packages/source/a/azure-mgmt-recoveryservice…
Source1: LICENSE.txt
BuildRequires: %{python_module azure-mgmt-nspkg >= 3.0.0}
BuildRequires: %{python_module azure-nspkg >= 3.0.0}
@@ -42,6 +44,7 @@
Requires: python-azure-mgmt-nspkg >= 3.0.0
Requires: python-azure-nspkg >= 3.0.0
Requires: python-msrest >= 0.7.1
+Requires: (python-typing_extensions >= 4.3.0 if python-base < 3.8)
Conflicts: python-azure-sdk <= 2.0.0
BuildArch: noarch
@@ -57,10 +60,10 @@
This package has been tested with Python 2.7, 3.5, 3.6, 3.7 and 3.8.
%prep
-%setup -q -n azure-mgmt-recoveryservicesbackup-%{version}
+%setup -q -n azure-mgmt-recoveryservicesbackup-%{realversion}
%build
-install -m 644 %{SOURCE1} %{_builddir}/azure-mgmt-recoveryservicesbackup-%{version}
+install -m 644 %{SOURCE1} %{_builddir}/azure-mgmt-recoveryservicesbackup-%{realversion}
%python_build
%install
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-PyQt6 for openSUSE:Factory checked in at 2023-01-31 16:09:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-PyQt6 (Old)
and /work/SRC/openSUSE:Factory/.python-PyQt6.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-PyQt6"
Tue Jan 31 16:09:20 2023 rev:12 rq:1062115 version:6.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-PyQt6/python-PyQt6.changes 2022-10-04 20:37:42.128914282 +0200
+++ /work/SRC/openSUSE:Factory/.python-PyQt6.new.32243/python-PyQt6.changes 2023-01-31 16:17:50.988760287 +0100
@@ -1,0 +2,11 @@
+Sun Jan 29 19:44:12 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to 6.4.1
+ * Added allocationLimit() and setAllocationLimit() to
+ QImageReader.
+ * Added toHBITMAP(), fromHBITMAP(), toHICON() and fromHICON() to
+ QImage on Windows.
+ * Bug fixes.
+- Qt6TextToSpeech is not in 15.x
+
+-------------------------------------------------------------------
Old:
----
PyQt6-6.4.0.tar.gz
New:
----
PyQt6-6.4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-PyQt6.spec ++++++
--- /var/tmp/diff_new_pack.DodBLa/_old 2023-01-31 16:17:51.400762674 +0100
+++ /var/tmp/diff_new_pack.DodBLa/_new 2023-01-31 16:17:51.404762698 +0100
@@ -20,7 +20,7 @@
%define mname PyQt6
%define pyqt_build_for_qt6 1
Name: python-%{mname}
-Version: 6.4.0
+Version: 6.4.1
Release: 0
Summary: Python bindings for Qt 6
License: GPL-3.0-only OR SUSE-GPL-2.0-with-FLOSS-exception OR NonFree
@@ -51,11 +51,14 @@
BuildRequires: cmake(Qt6MultimediaWidgets)
BuildRequires: cmake(Qt6Nfc)
BuildRequires: cmake(Qt6Positioning)
+%if %{?suse_version} >= 1550
+# no pdf headers in 15.X
%ifarch aarch64 x86_64 riscv64
# qt6-pdf-devel is built in qt6-webengine with ExclusiveArch
BuildRequires: cmake(Qt6Pdf)
BuildRequires: cmake(Qt6PdfWidgets)
%endif
+%endif
BuildRequires: cmake(Qt6Qml)
BuildRequires: cmake(Qt6Quick)
BuildRequires: cmake(Qt6QuickWidgets)
@@ -63,10 +66,10 @@
BuildRequires: cmake(Qt6Sensors)
BuildRequires: cmake(Qt6SerialPort)
BuildRequires: cmake(Qt6Svg)
-BuildRequires: cmake(Qt6TextToSpeech)
BuildRequires: cmake(Qt6WebChannel)
BuildRequires: cmake(Qt6WebSockets)
%if 0%{?suse_version} >= 1550
+BuildRequires: cmake(Qt6TextToSpeech)
BuildRequires: cmake(Qt6Quick3D)
BuildRequires: cmake(Qt6Quick3DRuntimeRender)
%endif
++++++ PyQt6-6.4.0.tar.gz -> PyQt6-6.4.1.tar.gz ++++++
++++ 11054 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package polymake for openSUSE:Factory checked in at 2023-01-31 16:09:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/polymake (Old)
and /work/SRC/openSUSE:Factory/.polymake.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "polymake"
Tue Jan 31 16:09:05 2023 rev:2 rq:1062077 version:4.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/polymake/polymake.changes 2022-11-19 18:09:44.138579169 +0100
+++ /work/SRC/openSUSE:Factory/.polymake.new.32243/polymake.changes 2023-01-31 16:17:33.600659547 +0100
@@ -1,0 +2,17 @@
+Mon Jan 30 11:46:29 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 4.9
+ * fulton: markov_bases: add new client
+ * polytope: mps files: many fixes in parser and writer
+
+-------------------------------------------------------------------
+Tue Dec 20 23:49:39 UTC 2022 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 4.8
+ * plantri: introduce interface to plantri for generation of
+ planar graphs.
+ * pluecker_ideal changed to c++ client
+ * add tropical median
+- Drop vertices-31.patch (merged)
+
+-------------------------------------------------------------------
Old:
----
V4.7.tar.gz
vertices-31.patch
New:
----
V4.9.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ polymake.spec ++++++
--- /var/tmp/diff_new_pack.8M0P4U/_old 2023-01-31 16:17:34.312663672 +0100
+++ /var/tmp/diff_new_pack.8M0P4U/_new 2023-01-31 16:17:34.316663696 +0100
@@ -1,7 +1,7 @@
#
# spec file for package polymake
#
-# 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
@@ -16,9 +16,9 @@
#
-%define lname libpolymake4_7
+%define lname libpolymake4_9
Name: polymake
-Version: 4.7
+Version: 4.9
Release: 0
Summary: Application for studying combinatorics and geometry of convex polytopes
License: GPL-2.0-or-later
@@ -28,9 +28,9 @@
Source: https://github.com/polymake/polymake/archive/V%version.tar.gz
Source9: %name-rpmlintrc
Patch2: sympol-system.patch
-Patch3: vertices-31.patch
BuildRequires: bliss-devel
BuildRequires: cddlib-devel
+BuildRequires: fdupes
BuildRequires: flint-devel
BuildRequires: gcc-c++ >= 5
BuildRequires: gmp-devel >= 4.2
@@ -85,7 +85,9 @@
%autosetup -p1
%build
-# Not AC.
+# force using system libnormaliz
+rm -rf bundled/libnormaliz/external
+# It's not autoconf.
./configure --prefix="%_prefix" --libdir="%_libdir" \
--libexecdir="%_libdir/%name-%version" --without-native \
--with-bliss="%_prefix" --with-sympol="%_prefix" --with-cdd="%_prefix" \
@@ -104,6 +106,7 @@
mv "%buildroot/%_libdir/polymake-%version/lib"/libp* "%buildroot/%_libdir/"
# zero size file, why
rm -f "%buildroot/%_libdir/polymake-%version/lib/ideal.so"
+%fdupes %buildroot/%_prefix
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
++++++ V4.7.tar.gz -> V4.9.tar.gz ++++++
/work/SRC/openSUSE:Factory/polymake/V4.7.tar.gz /work/SRC/openSUSE:Factory/.polymake.new.32243/V4.9.tar.gz differ: char 13, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package pitivi for openSUSE:Factory checked in at 2023-01-31 16:09:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pitivi (Old)
and /work/SRC/openSUSE:Factory/.pitivi.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pitivi"
Tue Jan 31 16:09:28 2023 rev:47 rq:1062143 version:2022.06
Changes:
--------
--- /work/SRC/openSUSE:Factory/pitivi/pitivi.changes 2023-01-30 17:11:59.320786417 +0100
+++ /work/SRC/openSUSE:Factory/.pitivi.new.32243/pitivi.changes 2023-01-31 16:17:25.836614564 +0100
@@ -7,0 +8,6 @@
+Wed Jan 25 20:29:34 UTC 2023 - Michael Vetter <mvetter(a)suse.com>
+
+- Add runtime dependency on python3-librosa and python3-opencv
+ for beat detection
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pitivi.spec ++++++
--- /var/tmp/diff_new_pack.uMrCrQ/_old 2023-01-31 16:17:26.248616951 +0100
+++ /var/tmp/diff_new_pack.uMrCrQ/_new 2023-01-31 16:17:26.252616974 +0100
@@ -42,8 +42,11 @@
Requires: python3-cairo
Requires: python3-gobject
Requires: python3-gst >= 1.17.90
+# librosa and opencv are needed for beat detection.
+Requires: python3-librosa
Requires: python3-matplotlib-gtk3
Requires: python3-numpy
+Requires: python3-opencv
# We need a minimal version of the GES-1.0 package, so we have to specify it manually
Requires: typelib-1_0-GES-1_0 >= 1.17.90
Requires: typelib-1_0-Gst-1_0 >= 1.17.90
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Type-Tiny for openSUSE:Factory checked in at 2023-01-31 16:10:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Type-Tiny (Old)
and /work/SRC/openSUSE:Factory/.perl-Type-Tiny.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Type-Tiny"
Tue Jan 31 16:10:02 2023 rev:33 rq:1062200 version:2.002001
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Type-Tiny/perl-Type-Tiny.changes 2023-01-04 17:54:43.478932021 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Type-Tiny.new.32243/perl-Type-Tiny.changes 2023-01-31 16:17:14.760550391 +0100
@@ -1,0 +2,11 @@
+Sat Jan 21 03:11:16 UTC 2023 - Tina M��ller <timueller+perl(a)suse.de>
+
+- updated to 2.002001
+ see /usr/share/doc/packages/perl-Type-Tiny/Changes
+
+ 2.002001 2023-01-20
+
+ [ Bug Fixes ]
+ - Bugfix for Type::Tie+Storable issue affecting 32-bit builds of Perl.
+
+-------------------------------------------------------------------
Old:
----
Type-Tiny-2.002000.tar.gz
New:
----
Type-Tiny-2.002001.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Type-Tiny.spec ++++++
--- /var/tmp/diff_new_pack.pM5ajI/_old 2023-01-31 16:17:15.164552731 +0100
+++ /var/tmp/diff_new_pack.pM5ajI/_new 2023-01-31 16:17:15.168552755 +0100
@@ -18,7 +18,7 @@
%define cpan_name Type-Tiny
Name: perl-Type-Tiny
-Version: 2.002000
+Version: 2.002001
Release: 0
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Tiny, yet Moo(se)-compatible type constraint
++++++ Type-Tiny-2.002000.tar.gz -> Type-Tiny-2.002001.tar.gz ++++++
++++ 1672 lines of diff (skipped)
1
0