From bb523b4cf7553bc393e7b58e7f064c138f075c41 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Fri, 21 Jul 2023 16:06:35 +0200
Subject: [PATCH 001/216] Add mypy
---
.pre-commit-config.yaml | 7 +++++++
benchmarks/__init__.py | 0
benchmarks/ekobox/__init__.py | 0
pyproject.toml | 7 +++++++
4 files changed, 14 insertions(+)
create mode 100644 benchmarks/__init__.py
create mode 100644 benchmarks/ekobox/__init__.py
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 7ebbb534b..0a34b041f 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -42,6 +42,13 @@ repos:
args: ["--add-ignore=D107,D105"]
additional_dependencies:
- toml
+ - repo: https://github.com/pre-commit/mirrors-mypy
+ rev: v1.4.1
+ hooks:
+ - id: mypy
+ additional_dependencies: [types-PyYAML]
+ pass_filenames: false
+ args: [".", "--ignore-missing-imports"]
- repo: https://github.com/pre-commit/pre-commit
rev: v3.3.3
hooks:
diff --git a/benchmarks/__init__.py b/benchmarks/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/benchmarks/ekobox/__init__.py b/benchmarks/ekobox/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/pyproject.toml b/pyproject.toml
index 31be6cb0c..1f7d239c5 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -171,3 +171,10 @@ max-args = 10
[tool.pydocstyle]
convention = "numpy"
+
+[tool.mypy]
+exclude = [
+ 'extras/',
+ 'benchmarks/env',
+ 'doc/',
+]
From 103567c5c3a508bb57a4a615e4cf5f794ada9c5d Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Fri, 21 Jul 2023 16:39:43 +0200
Subject: [PATCH 002/216] Restrict mypy and start fixing
---
.pre-commit-config.yaml | 2 +-
pyproject.toml | 7 -------
src/eko/couplings.py | 5 +++--
src/eko/evolution_operator/__init__.py | 3 ++-
src/eko/evolution_operator/grid.py | 4 ++--
src/eko/quantities/couplings.py | 3 +--
6 files changed, 9 insertions(+), 15 deletions(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 0a34b041f..a8dc75857 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -48,7 +48,7 @@ repos:
- id: mypy
additional_dependencies: [types-PyYAML]
pass_filenames: false
- args: [".", "--ignore-missing-imports"]
+ args: ["--ignore-missing-imports", "src/"]
- repo: https://github.com/pre-commit/pre-commit
rev: v3.3.3
hooks:
diff --git a/pyproject.toml b/pyproject.toml
index 1f7d239c5..31be6cb0c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -171,10 +171,3 @@ max-args = 10
[tool.pydocstyle]
convention = "numpy"
-
-[tool.mypy]
-exclude = [
- 'extras/',
- 'benchmarks/env',
- 'doc/',
-]
diff --git a/src/eko/couplings.py b/src/eko/couplings.py
index b0d39a070..1b3620032 100644
--- a/src/eko/couplings.py
+++ b/src/eko/couplings.py
@@ -8,10 +8,11 @@
"""
import logging
-from typing import Iterable, List
+from typing import Dict, Iterable, List, Tuple
import numba as nb
import numpy as np
+import numpy.typing as npt
import scipy
from . import constants, matchings
@@ -474,7 +475,7 @@ def assert_positive(name, var):
self.decoupled_running,
)
# cache
- self.cache = {}
+ self.cache: Dict[Tuple[float, float, int, float, float], npt.NDArray] = {}
@property
def mu2_ref(self):
diff --git a/src/eko/evolution_operator/__init__.py b/src/eko/evolution_operator/__init__.py
index eab3c64de..6a49551a5 100644
--- a/src/eko/evolution_operator/__init__.py
+++ b/src/eko/evolution_operator/__init__.py
@@ -8,6 +8,7 @@
import os
import time
from multiprocessing import Pool
+from typing import Dict, Tuple
import numba as nb
import numpy as np
@@ -617,7 +618,7 @@ def __init__(
# TODO make 'cut' external parameter?
self._mellin_cut = mellin_cut
self.is_threshold = is_threshold
- self.op_members = {}
+ self.op_members: Dict[Tuple[int, int], OpMember] = {}
self.order = tuple(config["order"])
self.alphaem_running = self.managers["couplings"].alphaem_running
if self.log_label == "Evolution":
diff --git a/src/eko/evolution_operator/grid.py b/src/eko/evolution_operator/grid.py
index ca8a46d51..ad97f6e42 100644
--- a/src/eko/evolution_operator/grid.py
+++ b/src/eko/evolution_operator/grid.py
@@ -6,7 +6,7 @@
"""
import logging
from dataclasses import astuple
-from typing import Dict, List, Optional
+from typing import Any, Dict, List, Optional
import numpy as np
import numpy.typing as npt
@@ -61,7 +61,7 @@ def __init__(
interpol_dispatcher: InterpolatorDispatcher,
):
# check
- config = {}
+ config: Dict[str, Any] = {}
config["order"] = order
config["intrinsic_range"] = intrinsic_flavors
config["xif2"] = xif**2
diff --git a/src/eko/quantities/couplings.py b/src/eko/quantities/couplings.py
index 449abab38..01b11d138 100644
--- a/src/eko/quantities/couplings.py
+++ b/src/eko/quantities/couplings.py
@@ -1,7 +1,6 @@
"""Types and quantities related to theory couplings."""
import dataclasses
import enum
-from typing import Optional
from ..io.dictlike import DictLike
from ..io.types import FlavorsNumber, LinearScale, ReferenceRunning, Scalar
@@ -22,7 +21,7 @@ class CouplingsInfo(DictLike):
alphaem: Coupling
scale: LinearScale
max_num_flavs: FlavorsNumber
- num_flavs_ref: Optional[FlavorsNumber]
+ num_flavs_ref: FlavorsNumber
r"""Number of active flavors at strong coupling reference scale.
I.e. :math:`n_{f,\text{ref}}(\mu^2_{\text{ref}})`, formerly called
From e7b6e9360390e0224664b2faf6e21f9327f15a12 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Fri, 21 Jul 2023 16:58:36 +0200
Subject: [PATCH 003/216] Start fixing tests for num_flavs_ref=None
---
tests/eko/quantities/test_couplings.py | 2 +-
tests/eko/test_couplings.py | 28 ++++++++++++++------------
2 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/tests/eko/quantities/test_couplings.py b/tests/eko/quantities/test_couplings.py
index 0a3b97415..00ccae9d1 100644
--- a/tests/eko/quantities/test_couplings.py
+++ b/tests/eko/quantities/test_couplings.py
@@ -3,7 +3,7 @@
def test_couplings_ref():
scale = 90.0
- d = dict(alphas=0.1, alphaem=0.01, scale=scale, max_num_flavs=6, num_flavs_ref=None)
+ d = dict(alphas=0.1, alphaem=0.01, scale=scale, max_num_flavs=6, num_flavs_ref=5)
couplings = CouplingsInfo.from_dict(d)
assert couplings.scale == scale
assert not couplings.em_running
diff --git a/tests/eko/test_couplings.py b/tests/eko/test_couplings.py
index 62110da16..646a56448 100644
--- a/tests/eko/test_couplings.py
+++ b/tests/eko/test_couplings.py
@@ -54,7 +54,7 @@ def test_init(self):
alphas=alpharef[0],
alphaem=alpharef[1],
scale=muref,
- num_flavs_ref=None,
+ num_flavs_ref=5,
max_num_flavs=6,
)
)
@@ -152,18 +152,19 @@ def test_ref(self):
(0, np.inf, np.inf),
(2, 4, 175),
]
+ nfrefs = (3, 4, 5)
alpharef = (0.118, 0.00781)
muref = 91.0
- couplings = CouplingsInfo.from_dict(
- dict(
- alphas=alpharef[0],
- alphaem=alpharef[1],
- scale=muref,
- num_flavs_ref=None,
- max_num_flavs=6,
+ for thresh_setup, nfref in zip(thresh_setups, nfrefs):
+ couplings = CouplingsInfo.from_dict(
+ dict(
+ alphas=alpharef[0],
+ alphaem=alpharef[1],
+ scale=muref,
+ num_flavs_ref=nfref,
+ max_num_flavs=6,
+ )
)
- )
- for thresh_setup in thresh_setups:
for order_s in [1, 2, 3, 4]:
for order_em in [0, 1, 2]:
for evmod in CouplingEvolutionMethod:
@@ -220,9 +221,10 @@ def test_exact(self):
(0, np.inf, np.inf),
(2, 4, 175),
]
+ nfrefs = (3, 4, 5)
alpharef = np.array([0.118, 0.00781])
muref = 91.0
- for thresh_setup in thresh_setups:
+ for thresh_setup, nfref in zip(thresh_setups, nfrefs):
for qcd in range(1, 4 + 1):
for qed in range(2 + 1):
for em_running in [
@@ -235,7 +237,7 @@ def test_exact(self):
alphas=alpharef[0],
alphaem=alpharef[1],
scale=muref,
- num_flavs_ref=None,
+ num_flavs_ref=nfref,
max_num_flavs=6,
em_running=em_running,
)
@@ -298,7 +300,7 @@ def benchmark_expanded_n3lo(self):
alphas=alpharef[0],
alphaem=alpharef[1],
scale=muref,
- num_flavs_ref=None,
+ num_flavs_ref=5,
max_num_flavs=6,
)
m2c = 2
From bbfc166bd1e8a8fefaaf1e4c6c0e4907a5af3ca8 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Fri, 21 Jul 2023 17:28:05 +0200
Subject: [PATCH 004/216] Apply more mypy fixes
---
src/eko/evolution_operator/__init__.py | 4 ++--
.../operator_matrix_element.py | 3 ++-
src/eko/io/inventory.py | 4 ++--
src/eko/io/struct.py | 22 +++++++++----------
src/eko/msbar_masses.py | 2 +-
5 files changed, 18 insertions(+), 17 deletions(-)
diff --git a/src/eko/evolution_operator/__init__.py b/src/eko/evolution_operator/__init__.py
index 6a49551a5..4251c5a4e 100644
--- a/src/eko/evolution_operator/__init__.py
+++ b/src/eko/evolution_operator/__init__.py
@@ -604,8 +604,8 @@ class Operator(sv.ModeMixin):
log_label = "Evolution"
# complete list of possible evolution operators labels
- full_labels = br.full_labels
- full_labels_qed = br.full_unified_labels
+ full_labels = list(br.full_labels)
+ full_labels_qed = list(br.full_unified_labels)
def __init__(
self, config, managers, segment: Segment, mellin_cut=5e-2, is_threshold=False
diff --git a/src/eko/evolution_operator/operator_matrix_element.py b/src/eko/evolution_operator/operator_matrix_element.py
index 5696ead19..809279c77 100644
--- a/src/eko/evolution_operator/operator_matrix_element.py
+++ b/src/eko/evolution_operator/operator_matrix_element.py
@@ -3,6 +3,7 @@
import copy
import functools
import logging
+from typing import List, Tuple
import numba as nb
import numpy as np
@@ -208,7 +209,7 @@ class OperatorMatrixElement(Operator):
(br.matching_hminus_pid, br.matching_hminus_pid),
]
# still valid in QED since Sdelta and Vdelta matchings are diagonal
- full_labels_qed = copy.deepcopy(full_labels)
+ full_labels_qed: List[Tuple[int, int]] = copy.deepcopy(full_labels)
def __init__(self, config, managers, nf, q2, is_backward, L, is_msbar):
super().__init__(config, managers, Segment(q2, q2, nf))
diff --git a/src/eko/io/inventory.py b/src/eko/io/inventory.py
index efdd2e9b0..d22046c76 100644
--- a/src/eko/io/inventory.py
+++ b/src/eko/io/inventory.py
@@ -2,7 +2,7 @@
import base64
from dataclasses import asdict, dataclass, field
from pathlib import Path
-from typing import Dict, Generic, Optional, Type, TypeVar
+from typing import Dict, Generic, Literal, Optional, Type, TypeVar
import yaml
@@ -10,7 +10,7 @@
from .items import Header, Operator
NBYTES = 8
-ENDIANNESS = "little"
+ENDIANNESS: Literal["little", "big"] = "little"
HEADER_EXT = ".yaml"
ARRAY_EXT = [".npy", ".npz"]
diff --git a/src/eko/io/struct.py b/src/eko/io/struct.py
index fecba3c57..3185c71ef 100644
--- a/src/eko/io/struct.py
+++ b/src/eko/io/struct.py
@@ -373,17 +373,17 @@ def open(cls, path: os.PathLike, mode="r"):
raise ValueError(f"Unknown file mode: {mode}")
tmpdir = pathlib.Path(tempfile.mkdtemp(prefix=TEMP_PREFIX))
- if load:
- cls.load(path, tmpdir)
- metadata = Metadata.load(tmpdir)
- opened = cls(
- **inventories(tmpdir, access),
- metadata=metadata,
- access=access,
- )
- opened.operators.sync()
- else:
- opened = Builder(path=tmpdir, access=access)
+ if not load:
+ return Builder(path=tmpdir, access=access)
+ # load existing instead
+ cls.load(path, tmpdir)
+ metadata = Metadata.load(tmpdir)
+ opened: EKO = cls(
+ **inventories(tmpdir, access),
+ metadata=metadata,
+ access=access,
+ )
+ opened.operators.sync()
return opened
diff --git a/src/eko/msbar_masses.py b/src/eko/msbar_masses.py
index 356a81019..c72893fc3 100644
--- a/src/eko/msbar_masses.py
+++ b/src/eko/msbar_masses.py
@@ -395,7 +395,7 @@ def sc(thr_masses):
heavy_quarks = quark_names[3:]
hq_idxs = np.arange(0, 3)
if nf_ref > 4:
- heavy_quarks = reversed(heavy_quarks)
+ heavy_quarks = str(reversed(heavy_quarks))
hq_idxs = reversed(hq_idxs)
# loop on heavy quarks and compute the msbar masses
From 2d8d8bf55c6be567701a6db02dc66948d667595b Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Fri, 21 Jul 2023 17:55:27 +0200
Subject: [PATCH 005/216] Apply more mypy fixes 2
---
src/eko/evolution_operator/__init__.py | 5 ++++-
src/eko/evolution_operator/grid.py | 11 +++++------
src/eko/msbar_masses.py | 2 +-
3 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/eko/evolution_operator/__init__.py b/src/eko/evolution_operator/__init__.py
index 4251c5a4e..0f9c52c4f 100644
--- a/src/eko/evolution_operator/__init__.py
+++ b/src/eko/evolution_operator/__init__.py
@@ -579,6 +579,9 @@ def quad_ker_qed(
return ker
+OPMEMBERS = Dict[Tuple[int, int], OpMember]
+
+
class Operator(sv.ModeMixin):
"""Internal representation of a single EKO.
@@ -618,7 +621,7 @@ def __init__(
# TODO make 'cut' external parameter?
self._mellin_cut = mellin_cut
self.is_threshold = is_threshold
- self.op_members: Dict[Tuple[int, int], OpMember] = {}
+ self.op_members: OPMEMBERS = {}
self.order = tuple(config["order"])
self.alphaem_running = self.managers["couplings"].alphaem_running
if self.log_label == "Evolution":
diff --git a/src/eko/evolution_operator/grid.py b/src/eko/evolution_operator/grid.py
index ad97f6e42..af478be9e 100644
--- a/src/eko/evolution_operator/grid.py
+++ b/src/eko/evolution_operator/grid.py
@@ -5,7 +5,6 @@
"""
import logging
-from dataclasses import astuple
from typing import Any, Dict, List, Optional
import numpy as np
@@ -17,9 +16,9 @@
from ..interpolation import InterpolatorDispatcher
from ..io.runcards import Configs, Debug
from ..io.types import EvolutionPoint as EPoint
-from ..io.types import Order
+from ..io.types import Order, SquaredScale
from ..matchings import Atlas, Segment, flavor_shift, is_downward_path
-from . import Operator, flavors, matching_condition, physical
+from . import OPMEMBERS, Operator, flavors, matching_condition, physical
from .operator_matrix_element import OperatorMatrixElement
logger = logging.getLogger(__name__)
@@ -95,8 +94,8 @@ def __init__(
couplings=couplings,
interpol_dispatcher=interpol_dispatcher,
)
- self._threshold_operators = {}
- self._matching_operators = {}
+ self._threshold_operators: Dict[Segment, Operator] = {}
+ self._matching_operators: Dict[SquaredScale, OPMEMBERS] = {}
def get_threshold_operators(self, path: List[Segment]) -> List[Operator]:
"""Generate the threshold operators.
@@ -118,7 +117,7 @@ def get_threshold_operators(self, path: List[Segment]) -> List[Operator]:
is_downward = is_downward_path(path)
shift = flavor_shift(is_downward)
for seg in path[:-1]:
- new_op_key = astuple(seg)
+ new_op_key = seg
kthr = self.config["thresholds_ratios"][seg.nf - shift]
ome = OperatorMatrixElement(
self.config,
diff --git a/src/eko/msbar_masses.py b/src/eko/msbar_masses.py
index c72893fc3..f13582110 100644
--- a/src/eko/msbar_masses.py
+++ b/src/eko/msbar_masses.py
@@ -395,7 +395,7 @@ def sc(thr_masses):
heavy_quarks = quark_names[3:]
hq_idxs = np.arange(0, 3)
if nf_ref > 4:
- heavy_quarks = str(reversed(heavy_quarks))
+ heavy_quarks = "".join([e for e in reversed(heavy_quarks)])
hq_idxs = reversed(hq_idxs)
# loop on heavy quarks and compute the msbar masses
From 494da3c0ccd3d081cc3e345f39e96457b0fd46a3 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Fri, 21 Jul 2023 18:02:56 +0200
Subject: [PATCH 006/216] Rename OpMembers
---
src/eko/evolution_operator/__init__.py | 4 ++--
src/eko/evolution_operator/grid.py | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/eko/evolution_operator/__init__.py b/src/eko/evolution_operator/__init__.py
index 0f9c52c4f..d079bed3d 100644
--- a/src/eko/evolution_operator/__init__.py
+++ b/src/eko/evolution_operator/__init__.py
@@ -579,7 +579,7 @@ def quad_ker_qed(
return ker
-OPMEMBERS = Dict[Tuple[int, int], OpMember]
+OpMembers = Dict[Tuple[int, int], OpMember]
class Operator(sv.ModeMixin):
@@ -621,7 +621,7 @@ def __init__(
# TODO make 'cut' external parameter?
self._mellin_cut = mellin_cut
self.is_threshold = is_threshold
- self.op_members: OPMEMBERS = {}
+ self.op_members: OpMembers = {}
self.order = tuple(config["order"])
self.alphaem_running = self.managers["couplings"].alphaem_running
if self.log_label == "Evolution":
diff --git a/src/eko/evolution_operator/grid.py b/src/eko/evolution_operator/grid.py
index af478be9e..5035b22b2 100644
--- a/src/eko/evolution_operator/grid.py
+++ b/src/eko/evolution_operator/grid.py
@@ -18,7 +18,7 @@
from ..io.types import EvolutionPoint as EPoint
from ..io.types import Order, SquaredScale
from ..matchings import Atlas, Segment, flavor_shift, is_downward_path
-from . import OPMEMBERS, Operator, flavors, matching_condition, physical
+from . import Operator, OpMembers, flavors, matching_condition, physical
from .operator_matrix_element import OperatorMatrixElement
logger = logging.getLogger(__name__)
@@ -95,7 +95,7 @@ def __init__(
interpol_dispatcher=interpol_dispatcher,
)
self._threshold_operators: Dict[Segment, Operator] = {}
- self._matching_operators: Dict[SquaredScale, OPMEMBERS] = {}
+ self._matching_operators: Dict[SquaredScale, OpMembers] = {}
def get_threshold_operators(self, path: List[Segment]) -> List[Operator]:
"""Generate the threshold operators.
From 48ac90e43ae60e37af173d5db15f36e2caf0f2fb Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Fri, 21 Jul 2023 18:22:05 +0200
Subject: [PATCH 007/216] Fix mypy in io/legacy
---
src/eko/io/legacy.py | 32 +++++++++++++++++++++-----------
1 file changed, 21 insertions(+), 11 deletions(-)
diff --git a/src/eko/io/legacy.py b/src/eko/io/legacy.py
index 1df9941b1..c7799d0fb 100644
--- a/src/eko/io/legacy.py
+++ b/src/eko/io/legacy.py
@@ -12,15 +12,19 @@
import numpy as np
import yaml
-from eko.interpolation import XGrid
-from eko.io.runcards import flavored_mugrid
-from eko.quantities.heavy_quarks import HeavyInfo, HeavyQuarkMasses, MatchingRatios
-
+from ..interpolation import XGrid
+from ..io.runcards import flavored_mugrid
+from ..quantities.heavy_quarks import (
+ HeavyInfo,
+ HeavyQuarkMasses,
+ MatchingRatios,
+ QuarkMassScheme,
+)
from . import raw
from .dictlike import DictLike
from .struct import EKO, Operator
from .types import EvolutionPoint as EPoint
-from .types import RawCard
+from .types import RawCard, ReferenceRunning
def load_tar(source: os.PathLike, dest: os.PathLike, errors: bool = False):
@@ -38,8 +42,8 @@ def load_tar(source: os.PathLike, dest: os.PathLike, errors: bool = False):
whether to load also errors (default ``False``)
"""
- with tempfile.TemporaryDirectory() as tmpdir:
- tmpdir = pathlib.Path(tmpdir)
+ with tempfile.TemporaryDirectory() as tmpdirr:
+ tmpdir = pathlib.Path(tmpdirr)
with tarfile.open(source, "r") as tar:
raw.safe_extractall(tar, tmpdir)
@@ -92,10 +96,16 @@ def from_old(cls, old: RawCard):
"""Load from old metadata."""
heavy = HeavyInfo(
num_flavs_init=4,
- num_flavs_max_pdf=None,
- intrinsic_flavors=None,
- masses=HeavyQuarkMasses([1.51, 4.92, 172.5]),
- masses_scheme=None,
+ num_flavs_max_pdf=5,
+ intrinsic_flavors=[],
+ masses=HeavyQuarkMasses(
+ [
+ ReferenceRunning([1.51, np.inf]),
+ ReferenceRunning([4.92, np.inf]),
+ ReferenceRunning([172.5, np.inf]),
+ ]
+ ),
+ masses_scheme=QuarkMassScheme.POLE,
matching_ratios=MatchingRatios([1.0, 1.0, 1.0]),
)
return cls(heavy=heavy)
From bab8cf2c44ab4ab79947b65b786f36a308424d03 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Fri, 21 Jul 2023 18:44:40 +0200
Subject: [PATCH 008/216] Fix mypy in box/{genpdf,apply}
---
src/ekobox/apply.py | 46 +++++++++++++++++++++--------------
src/ekobox/genpdf/__init__.py | 6 ++---
2 files changed, 31 insertions(+), 21 deletions(-)
diff --git a/src/ekobox/apply.py b/src/ekobox/apply.py
index c392ffe78..5e62b4a06 100644
--- a/src/ekobox/apply.py
+++ b/src/ekobox/apply.py
@@ -1,10 +1,14 @@
"""Apply operator evolution to PDF set."""
+from dataclasses import dataclass
+from typing import Dict, Optional, Union
+
import numpy as np
from eko import basis_rotation as br
from eko import interpolation
from eko.io import EKO
+from eko.io.types import EvolutionPoint
def apply_pdf(
@@ -48,6 +52,14 @@ def apply_pdf(
CONTRACTION = "ajbk,bk"
+@dataclass
+class PdfResult:
+ """Helper class to collect PDF results."""
+
+ pdfs: Dict[Union[int, str], float]
+ errors: Optional[Dict[Union[int, str], float]] = None
+
+
def apply_pdf_flavor(
eko: EKO, lhapdf_like, targetgrid=None, flavor_rotation=None, qed=False
):
@@ -83,36 +95,33 @@ def apply_pdf_flavor(
)
# build output
- out_grid = {}
+ out_grid: Dict[EvolutionPoint, PdfResult] = {}
for ep, elem in eko.items():
pdf_final = np.einsum(CONTRACTION, elem.operator, pdfs, optimize="optimal")
if elem.error is not None:
error_final = np.einsum(CONTRACTION, elem.error, pdfs, optimize="optimal")
else:
error_final = None
- out_grid[ep] = {
- "pdfs": dict(zip(eko.bases.targetpids, pdf_final)),
- "errors": None,
- }
+ out_grid[ep] = PdfResult(dict(zip(eko.bases.targetpids, pdf_final)))
if error_final is not None:
- out_grid[ep]["errors"] = dict(zip(eko.bases.targetpids, error_final))
+ out_grid[ep].errors = dict(zip(eko.bases.targetpids, error_final))
# rotate to evolution basis
if flavor_rotation is not None:
for q2, op in out_grid.items():
pdf = flavor_rotation @ np.array(
- [op["pdfs"][pid] for pid in br.flavor_basis_pids]
+ [op.pdfs[pid] for pid in br.flavor_basis_pids]
)
if not qed:
evol_basis = br.evol_basis
else:
evol_basis = br.unified_evol_basis
- op["pdfs"] = dict(zip(evol_basis, pdf))
- if op["errors"] is not None:
+ op.pdfs = dict(zip(evol_basis, pdf))
+ if op.errors is not None:
errors = flavor_rotation @ np.array(
- [op["errors"][pid] for pid in br.flavor_basis_pids]
+ [op.errors[pid] for pid in br.flavor_basis_pids]
)
- op["errors"] = dict(zip(evol_basis, errors))
+ op.errors = dict(zip(evol_basis, errors))
# rotate/interpolate to target grid
if targetgrid is not None:
@@ -124,11 +133,12 @@ def apply_pdf_flavor(
rot = b.get_interpolation(targetgrid)
for evpdf in out_grid.values():
- for pdf_label in evpdf["pdfs"]:
- evpdf["pdfs"][pdf_label] = np.matmul(rot, evpdf["pdfs"][pdf_label])
- if evpdf["errors"] is not None:
- evpdf["errors"][pdf_label] = np.matmul(
- rot, evpdf["errors"][pdf_label]
- )
-
+ for pdf_label in evpdf.pdfs:
+ evpdf.pdfs[pdf_label] = np.matmul(rot, evpdf.pdfs[pdf_label])
+ if evpdf.errors is not None:
+ evpdf.errors[pdf_label] = np.matmul(rot, evpdf.errors[pdf_label])
+ # cast back to be backward compatible
+ real_out_grid = {}
+ for ep, res in out_grid.items():
+ real_out_grid[ep] = {"pdfs": res.pdfs, "errors": res.errors}
return out_grid
diff --git a/src/ekobox/genpdf/__init__.py b/src/ekobox/genpdf/__init__.py
index af94a410e..5c88b9b7c 100644
--- a/src/ekobox/genpdf/__init__.py
+++ b/src/ekobox/genpdf/__init__.py
@@ -16,7 +16,7 @@
def take_data(
- parent_pdf_set: Optional[Union[str, dict]] = None,
+ parent_pdf_set=None,
members: bool = False,
xgrid: Optional[List[float]] = None,
evolgrid: Optional[List[EPoint]] = None,
@@ -62,7 +62,7 @@ def take_data(
all_blocks.append(
[
generate_block(
- toylh.xfxQ2, xgrid, sorted_q2grid, br.flavor_basis_pids
+ toylh.xfxQ2, xgrid, sorted_q2grid, list(br.flavor_basis_pids)
)
]
)
@@ -86,7 +86,7 @@ def take_data(
else parent_pdf_set[pid](x, Q2),
xgrid,
sorted_q2grid,
- br.flavor_basis_pids,
+ list(br.flavor_basis_pids),
)
]
)
From e61c8e6bf73f5ed60982a915a2ac75ed2eb26f84 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 24 Jul 2023 13:11:04 +0200
Subject: [PATCH 009/216] Fix ekomark/plots
---
src/ekomark/plots.py | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/src/ekomark/plots.py b/src/ekomark/plots.py
index 92a155de3..90602a0c1 100644
--- a/src/ekomark/plots.py
+++ b/src/ekomark/plots.py
@@ -1,6 +1,7 @@
"""Plotting tools to show the evolved PDF and the computed operators."""
import io
import pprint
+from typing import Dict, List, Tuple
import matplotlib.pyplot as plt
import numpy as np
@@ -230,7 +231,7 @@ def save_operators_to_pdf(path, theory, ops, me: EKO, skip_pdfs, change_lab=Fals
"""
ops_names = list(me.bases.targetpids)
if np.allclose(ops_names, br.rotate_flavor_to_evolution):
- ops_names = br.evol_basis_pids
+ ops_names = list(br.evol_basis_pids)
else:
raise ValueError("Can not reconstruct PDF names")
ops_id = f"o{ops['hash'][:6]}_t{theory['hash'][:6]}"
@@ -244,16 +245,16 @@ def save_operators_to_pdf(path, theory, ops, me: EKO, skip_pdfs, change_lab=Fals
# plot the operators
# it's necessary to reshuffle the eko output
- for mu2 in me.mu2grid:
- results = me[mu2].operator
- errors = me[mu2].error
+ for ep, op in me.items():
+ results = op.operator
+ errors = op.error
# loop on pids
for label_out, res, res_err in zip(ops_names, results, errors):
if label_out in skip_pdfs:
continue
- new_op = {}
- new_op_err = {}
+ new_op: Dict[Tuple[int, ...], List[float]] = {}
+ new_op_err: Dict[Tuple[int, ...], List[float]] = {}
# loop on xgrid point
for j in range(len(me.xgrid)):
# loop on pid in
@@ -279,7 +280,7 @@ def save_operators_to_pdf(path, theory, ops, me: EKO, skip_pdfs, change_lab=Fals
fig = None
try:
fig = plot_operator(
- f"Operator ({lab_in};{lab_out}) µ_F^2 = {mu2} GeV^2",
+ f"Operator ({lab_in};{lab_out}) µ_F^2 = {ep[0]} GeV^2, nf = {ep[1]}",
new_op[label_in],
new_op_err[label_in],
)
From e40a71812bc954a5c6c90edc2b6d6e3378e8ac7e Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 24 Jul 2023 14:50:08 +0200
Subject: [PATCH 010/216] Fix ekobox/cli
---
src/ekobox/cli/inspect.py | 2 +-
src/ekobox/cli/run.py | 16 ++++++++--------
src/ekobox/cli/runcards.py | 4 +++-
3 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/src/ekobox/cli/inspect.py b/src/ekobox/cli/inspect.py
index f37f09cce..06f6588ed 100644
--- a/src/ekobox/cli/inspect.py
+++ b/src/ekobox/cli/inspect.py
@@ -27,7 +27,7 @@ def subcommand(ctx, path: pathlib.Path):
@click.pass_obj
def sub_mu2(operator: EKO):
"""Check operator's mu2grid."""
- rich.print_json(data=operator.mu2grid.tolist())
+ rich.print_json(data=operator.mu2grid)
@subcommand.command("cards")
diff --git a/src/ekobox/cli/run.py b/src/ekobox/cli/run.py
index 16e11c5fd..db88167e4 100644
--- a/src/ekobox/cli/run.py
+++ b/src/ekobox/cli/run.py
@@ -52,11 +52,11 @@ def subcommand(paths: Sequence[pathlib.Path]):
else:
output = operator.parent / OUTPUT
- theory = yaml.safe_load(theory.read_text(encoding="utf-8"))
- if "order" in theory:
- theory = TheoryCard.from_dict(theory)
- operator = yaml.safe_load(operator.read_text(encoding="utf-8"))
- if "configs" in operator:
- operator = OperatorCard.from_dict(operator)
-
- eko.solve(theory, operator, path=output)
+ tc = yaml.safe_load(theory.read_text(encoding="utf-8"))
+ if "order" in tc:
+ tc = TheoryCard.from_dict(tc)
+ oc = yaml.safe_load(operator.read_text(encoding="utf-8"))
+ if "configs" in oc:
+ oc = OperatorCard.from_dict(oc)
+
+ eko.solve(tc, oc, path=output)
diff --git a/src/ekobox/cli/runcards.py b/src/ekobox/cli/runcards.py
index 1ad7d91d4..7fc46f1ef 100644
--- a/src/ekobox/cli/runcards.py
+++ b/src/ekobox/cli/runcards.py
@@ -2,6 +2,8 @@
import logging
import pathlib
+import numpy as np
+
from .. import cards
from . import library as lib
from .base import command
@@ -34,6 +36,6 @@ def sub_example(destination: pathlib.Path):
cards.dump(theory.raw, path=destination / "theory.yaml")
operator = cards.example.operator()
operator.mu0 = 1.65
- operator.mu2grid = [1e5]
+ operator.mugrid = [(np.sqrt(1e5), 5)]
cards.dump(operator.raw, path=destination / "operator.yaml")
_logger.info(f"Runcards generated to '{destination}'")
From 9271ebc5950b188376c16f8bc163baea93ba8a8a Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 24 Jul 2023 15:13:25 +0200
Subject: [PATCH 011/216] Make managers class
---
src/eko/evolution_operator/__init__.py | 10 +++++-----
src/eko/evolution_operator/grid.py | 18 ++++++++++++++----
.../operator_matrix_element.py | 2 +-
src/eko/runner/parts.py | 9 +++++----
tests/eko/evolution_operator/test_init.py | 8 +++++++-
5 files changed, 32 insertions(+), 15 deletions(-)
diff --git a/src/eko/evolution_operator/__init__.py b/src/eko/evolution_operator/__init__.py
index d079bed3d..fea8d15fe 100644
--- a/src/eko/evolution_operator/__init__.py
+++ b/src/eko/evolution_operator/__init__.py
@@ -623,7 +623,7 @@ def __init__(
self.is_threshold = is_threshold
self.op_members: OpMembers = {}
self.order = tuple(config["order"])
- self.alphaem_running = self.managers["couplings"].alphaem_running
+ self.alphaem_running = self.managers.couplings.alphaem_running
if self.log_label == "Evolution":
self.a = self.compute_a()
self.compute_aem_list()
@@ -645,7 +645,7 @@ def xif2(self):
@property
def int_disp(self):
"""Return the interpolation dispatcher."""
- return self.managers["interpol_dispatcher"]
+ return self.managers.interpolator
@property
def grid_size(self):
@@ -668,7 +668,7 @@ def mu2(self):
def compute_a(self):
"""Return the computed values for :math:`a_s` and :math:`a_{em}`."""
- coupling = self.managers["couplings"]
+ coupling = self.managers.couplings
a0 = coupling.a(
self.mu2[0],
nf_to=self.nf,
@@ -708,7 +708,7 @@ def compute_aem_list(self):
as1 = self.a_s[1]
aem0 = self.a_em[0]
aem1 = self.a_em[1]
- q2ref = self.managers["couplings"].mu2_ref
+ q2ref = self.managers.couplings.mu2_ref
delta_from = abs(self.q2_from - q2ref)
delta_to = abs(self.q2_to - q2ref)
# I compute the values in aem_list starting from the mu2
@@ -719,7 +719,7 @@ def compute_aem_list(self):
else:
a_start = np.array([as0, aem0])
mu2_start = self.q2_from
- couplings = self.managers["couplings"]
+ couplings = self.managers.couplings
mu2_steps = utils.geomspace(self.q2_from, self.q2_to, 1 + ev_op_iterations)
mu2_l = mu2_steps[0]
self.as_list = np.array(
diff --git a/src/eko/evolution_operator/grid.py b/src/eko/evolution_operator/grid.py
index 5035b22b2..1180697a6 100644
--- a/src/eko/evolution_operator/grid.py
+++ b/src/eko/evolution_operator/grid.py
@@ -5,6 +5,7 @@
"""
import logging
+from dataclasses import dataclass
from typing import Any, Dict, List, Optional
import numpy as np
@@ -27,6 +28,15 @@
"""In particular, only the ``operator`` and ``error`` fields are expected."""
+@dataclass(frozen=True)
+class Managers:
+ """Set of steering objects."""
+
+ atlas: Atlas
+ couplings: Couplings
+ interpolator: InterpolatorDispatcher
+
+
class OperatorGrid(sv.ModeMixin):
"""Collection of evolution operators for several scales.
@@ -89,10 +99,10 @@ def __init__(
self.config = config
self.q2_grid = mu2grid
- self.managers = dict(
- thresholds_config=atlas,
+ self.managers = Managers(
+ atlas=atlas,
couplings=couplings,
- interpol_dispatcher=interpol_dispatcher,
+ interpolator=interpol_dispatcher,
)
self._threshold_operators: Dict[Segment, Operator] = {}
self._matching_operators: Dict[SquaredScale, OpMembers] = {}
@@ -153,7 +163,7 @@ def generate(self, q2: EPoint) -> OpDict:
"""
# The lists of areas as produced by the thresholds
- path = self.managers["thresholds_config"].path(q2)
+ path = self.managers.atlas.path(q2)
# Prepare the path for the composition of the operator
thr_ops = self.get_threshold_operators(path)
# we start composing with the highest operator ...
diff --git a/src/eko/evolution_operator/operator_matrix_element.py b/src/eko/evolution_operator/operator_matrix_element.py
index 809279c77..8966a62b9 100644
--- a/src/eko/evolution_operator/operator_matrix_element.py
+++ b/src/eko/evolution_operator/operator_matrix_element.py
@@ -306,7 +306,7 @@ def a_s(self):
Note that here you need to use :math:`a_s^{n_f+1}`
"""
- sc = self.managers["couplings"]
+ sc = self.managers.couplings
return sc.a_s(
self.q2_from
* (self.xif2 if self.sv_mode == sv.Modes.exponentiated else 1.0),
diff --git a/src/eko/runner/parts.py b/src/eko/runner/parts.py
index e385b8f49..9f97a6de5 100644
--- a/src/eko/runner/parts.py
+++ b/src/eko/runner/parts.py
@@ -16,13 +16,14 @@
from ..evolution_operator import matching_condition
from ..evolution_operator import operator_matrix_element as ome
from ..evolution_operator import physical
+from ..evolution_operator.grid import Managers
from ..io import EKO
from ..io.items import Evolution, Matching, Operator
from ..quantities.heavy_quarks import QuarkMassScheme
from . import commons
-def managers(eko: EKO) -> dict:
+def managers(eko: EKO) -> Managers:
"""Collect managers for operator computation.
.. todo::
@@ -32,10 +33,10 @@ def managers(eko: EKO) -> dict:
"""
tcard = eko.theory_card
ocard = eko.operator_card
- return dict(
- thresholds_config=commons.atlas(tcard, ocard),
+ return Managers(
+ atlas=commons.atlas(tcard, ocard),
couplings=commons.couplings(tcard, ocard),
- interpol_dispatcher=commons.interpolator(ocard),
+ interpolator=commons.interpolator(ocard),
)
diff --git a/tests/eko/evolution_operator/test_init.py b/tests/eko/evolution_operator/test_init.py
index 642de5bb7..92a335f79 100644
--- a/tests/eko/evolution_operator/test_init.py
+++ b/tests/eko/evolution_operator/test_init.py
@@ -1,4 +1,5 @@
import os
+from dataclasses import dataclass
import numpy as np
import pytest
@@ -201,7 +202,12 @@ def compute(self, a_ref, nf, scale_from, scale_to):
return a_ref
-fake_managers = {"couplings": FakeCoupling()}
+@dataclass(frozen=True)
+class FakeManagers:
+ couplings: FakeCoupling
+
+
+fake_managers = FakeManagers(couplings=FakeCoupling())
class TestOperator:
From 80b85f157476f258798ec5c2d4eab2b1aec99471 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 24 Jul 2023 15:16:27 +0200
Subject: [PATCH 012/216] Use backported return in apply
---
src/ekobox/apply.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ekobox/apply.py b/src/ekobox/apply.py
index 5e62b4a06..ace0ccca1 100644
--- a/src/ekobox/apply.py
+++ b/src/ekobox/apply.py
@@ -141,4 +141,4 @@ def apply_pdf_flavor(
real_out_grid = {}
for ep, res in out_grid.items():
real_out_grid[ep] = {"pdfs": res.pdfs, "errors": res.errors}
- return out_grid
+ return real_out_grid
From 34c68a57a9587829a7c593563f5feaf83ecbc5fe Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 24 Jul 2023 15:28:48 +0200
Subject: [PATCH 013/216] Fix eko/io/legacy masses usage
---
src/eko/io/legacy.py | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/eko/io/legacy.py b/src/eko/io/legacy.py
index c7799d0fb..d580f7373 100644
--- a/src/eko/io/legacy.py
+++ b/src/eko/io/legacy.py
@@ -26,6 +26,10 @@
from .types import EvolutionPoint as EPoint
from .types import RawCard, ReferenceRunning
+_MC = 1.51
+_MB = 4.92
+_MT = 172.5
+
def load_tar(source: os.PathLike, dest: os.PathLike, errors: bool = False):
"""Load tar representation from file.
@@ -63,7 +67,7 @@ def load_tar(source: os.PathLike, dest: os.PathLike, errors: bool = False):
if op5 is None:
op5 = metaold["mu2grid"]
grid = op5to4(
- flavored_mugrid(op5, theory.heavy.masses, theory.heavy.matching_ratios), arrays
+ flavored_mugrid(op5, [_MC, _MB, _MT], theory.heavy.matching_ratios), arrays
)
with EKO.create(dest) as builder:
@@ -100,9 +104,9 @@ def from_old(cls, old: RawCard):
intrinsic_flavors=[],
masses=HeavyQuarkMasses(
[
- ReferenceRunning([1.51, np.inf]),
- ReferenceRunning([4.92, np.inf]),
- ReferenceRunning([172.5, np.inf]),
+ ReferenceRunning([_MC, np.inf]),
+ ReferenceRunning([_MB, np.inf]),
+ ReferenceRunning([_MT, np.inf]),
]
),
masses_scheme=QuarkMassScheme.POLE,
@@ -134,7 +138,7 @@ def from_old(cls, old: RawCard):
mu2list = old["mu2grid"]
mu2grid = np.array(mu2list)
evolgrid = flavored_mugrid(
- np.sqrt(mu2grid).tolist(), [1.51, 4.92, 172.5], [1, 1, 1]
+ np.sqrt(mu2grid).tolist(), [_MC, _MB, _MT], [1, 1, 1]
)
xgrid = XGrid(old["interpolation_xgrid"])
From d6d17340b4c2592d8a5680bbf106f93f77476961 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 24 Jul 2023 15:55:08 +0200
Subject: [PATCH 014/216] Fix remaining mypy errors
---
src/eko/io/struct.py | 6 ++++--
src/eko/runner/operators.py | 4 +++-
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/eko/io/struct.py b/src/eko/io/struct.py
index 3185c71ef..ce4679871 100644
--- a/src/eko/io/struct.py
+++ b/src/eko/io/struct.py
@@ -272,7 +272,7 @@ def approx(
Raises
------
ValueError
- if multiple values are find in the neighbourhood
+ if multiple values are found in the neighbourhood
"""
eps = np.array([ep_ for ep_ in self if ep_[1] == ep[1]])
@@ -280,7 +280,9 @@ def approx(
close = eps[np.isclose(ep[0], mu2s, rtol=rtol, atol=atol)]
if len(close) == 1:
- return tuple(close[0])
+ found = close[0]
+ assert isinstance(found[0], float)
+ return (found[0], int(found[1]))
if len(close) == 0:
return None
raise ValueError(f"Multiple values of Q2 have been found close to {ep}")
diff --git a/src/eko/runner/operators.py b/src/eko/runner/operators.py
index 5a0a219c7..bfc4ce407 100644
--- a/src/eko/runner/operators.py
+++ b/src/eko/runner/operators.py
@@ -16,7 +16,9 @@ def retrieve(
elements = []
for head in headers:
inv = parts if isinstance(head, Evolution) else parts_matching
- elements.append(inv[head])
+ op = inv[head]
+ assert isinstance(op, Operator)
+ elements.append(op)
return elements
From b9cfc9e5914287b550fb75e01443197dba3b870b Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 24 Jul 2023 18:11:01 +0200
Subject: [PATCH 015/216] Change manipulate act on Operator
---
src/eko/io/manipulate.py | 212 +++++++++---------------
src/ekomark/benchmark/runner.py | 13 +-
src/ekomark/plots.py | 30 ++--
tests/eko/io/test_manipulate.py | 274 ++++++++++----------------------
4 files changed, 180 insertions(+), 349 deletions(-)
diff --git a/src/eko/io/manipulate.py b/src/eko/io/manipulate.py
index e9cc89538..1372e9e14 100644
--- a/src/eko/io/manipulate.py
+++ b/src/eko/io/manipulate.py
@@ -1,7 +1,8 @@
-"""Manipulate output generate by EKO."""
+"""Manipulate operators."""
+import copy
import logging
import warnings
-from typing import Callable, Optional, Union
+from typing import Callable, Optional
import numpy as np
import numpy.typing as npt
@@ -9,7 +10,7 @@
from .. import basis_rotation as br
from .. import interpolation
from ..interpolation import XGrid
-from .struct import EKO, Operator
+from .struct import Operator
logger = logging.getLogger(__name__)
@@ -18,10 +19,8 @@
SIMGRID_ROTATION = "ij,ajbk,kl->aibl"
"""Simultaneous grid rotation contraction indices."""
-Basis = Union[XGrid, npt.NDArray]
-
-def rotation(new: Optional[Basis], old: Basis, check: Callable, compute: Callable):
+def rotation(new: Optional[XGrid], old: XGrid, check: Callable, compute: Callable):
"""Define grid rotation.
This function returns the new grid to be assigned and the rotation computed,
@@ -61,81 +60,66 @@ def xgrid_compute_rotation(new: XGrid, old: XGrid, interpdeg: int, swap: bool =
def xgrid_reshape(
- eko: EKO,
+ elem: Operator,
+ xgrid: XGrid,
+ interpdeg: int,
targetgrid: Optional[XGrid] = None,
inputgrid: Optional[XGrid] = None,
-):
- """Reinterpolate operators on output and/or input grids.
+) -> Operator:
+ """Reinterpolate the operator on output and/or input grid(s).
Target corresponds to the output PDF.
-
- The operation is in-place.
-
"""
- eko.assert_permissions(write=True)
-
# calling with no arguments is an error
if targetgrid is None and inputgrid is None:
raise ValueError("Nor inputgrid nor targetgrid was given")
- interpdeg = eko.operator_card.configs.interpolation_polynomial_degree
check = xgrid_check
crot = xgrid_compute_rotation
# construct matrices
newtarget, targetrot = rotation(
targetgrid,
- eko.bases.targetgrid,
+ xgrid,
check,
lambda new, old: crot(new, old, interpdeg),
)
newinput, inputrot = rotation(
inputgrid,
- eko.bases.inputgrid,
+ xgrid,
check,
lambda new, old: crot(new, old, interpdeg, swap=True),
)
-
# after the checks: if there is still nothing to do, skip
if targetrot is None and inputrot is None:
logger.debug("Nothing done.")
- return
- # if no rotation is done, the grids are not modified
- if targetrot is not None:
- eko.bases.targetgrid = newtarget
- if inputrot is not None:
- eko.bases.inputgrid = newinput
+ return copy.deepcopy(elem)
# build new grid
- for ep, elem in eko.items():
- assert elem is not None
-
- operands = [elem.operator]
- operands_errs = [elem.error]
+ operands = [elem.operator]
+ operands_errs = [elem.error]
- if targetrot is not None and inputrot is None:
- contraction = TARGETGRID_ROTATION
- elif inputrot is not None and targetrot is None:
- contraction = INPUTGRID_ROTATION
- else:
- contraction = SIMGRID_ROTATION
+ if targetrot is not None and inputrot is None:
+ contraction = TARGETGRID_ROTATION
+ elif inputrot is not None and targetrot is None:
+ contraction = INPUTGRID_ROTATION
+ else:
+ contraction = SIMGRID_ROTATION
- if targetrot is not None:
- operands.insert(0, targetrot)
- operands_errs.insert(0, targetrot)
- if inputrot is not None:
- operands.append(inputrot)
- operands_errs.append(inputrot)
-
- new_operator = np.einsum(contraction, *operands, optimize="optimal")
- if elem.error is not None:
- new_error = np.einsum(contraction, *operands_errs, optimize="optimal")
- else:
- new_error = None
+ if targetrot is not None:
+ operands.insert(0, targetrot)
+ operands_errs.insert(0, targetrot)
+ if inputrot is not None:
+ operands.append(inputrot)
+ operands_errs.append(inputrot)
- eko[ep] = Operator(operator=new_operator, error=new_error)
+ new_operator = np.einsum(contraction, *operands, optimize="optimal")
+ if elem.error is not None:
+ new_error = np.einsum(contraction, *operands_errs, optimize="optimal")
+ else:
+ new_error = None
- eko.update()
+ return Operator(operator=new_operator, error=new_error)
TARGETPIDS_ROTATION = "ca,ajbk->cjbk"
@@ -145,107 +129,85 @@ def xgrid_reshape(
def flavor_reshape(
- eko: EKO,
+ elem: Operator,
targetpids: Optional[npt.NDArray] = None,
inputpids: Optional[npt.NDArray] = None,
- update: bool = True,
):
- """Change the operators to have in the output targetpids and/or in the input inputpids.
-
- The operation is in-place.
+ """Change the operator to have in the output targetpids and/or in the input inputpids.
Parameters
----------
- eko :
+ elem :
the operator to be rotated
targetpids :
target rotation specified in the flavor basis
inputpids :
input rotation specified in the flavor basis
- update :
- update :class:`~eko.io.struct.EKO` metadata after writing
"""
- eko.assert_permissions(write=True)
-
# calling with no arguments is an error
if targetpids is None and inputpids is None:
raise ValueError("Nor inputpids nor targetpids was given")
# now check to the current status
if targetpids is not None and np.allclose(
- targetpids, np.eye(len(eko.bases.targetpids))
+ targetpids, np.eye(elem.operator.shape[0])
):
targetpids = None
warnings.warn("The new targetpids is close to current basis")
- if inputpids is not None and np.allclose(
- inputpids, np.eye(len(eko.bases.inputpids))
- ):
+ if inputpids is not None and np.allclose(inputpids, np.eye(elem.operator.shape[2])):
inputpids = None
warnings.warn("The new inputpids is close to current basis")
# after the checks: if there is still nothing to do, skip
if targetpids is None and inputpids is None:
logger.debug("Nothing done.")
- return
+ return copy.deepcopy(elem)
# flip input around
if inputpids is not None:
inv_inputpids = np.linalg.inv(inputpids)
# build new grid
- for q2, elem in eko.items():
- ops = elem.operator
- errs = elem.error
- if targetpids is not None and inputpids is None:
- ops = np.einsum(TARGETPIDS_ROTATION, targetpids, ops, optimize="optimal")
- errs = (
- np.einsum(TARGETPIDS_ROTATION, targetpids, errs, optimize="optimal")
- if errs is not None
- else None
- )
- elif inputpids is not None and targetpids is None:
- ops = np.einsum(INPUTPIDS_ROTATION, ops, inv_inputpids, optimize="optimal")
- errs = (
- np.einsum(INPUTPIDS_ROTATION, errs, inv_inputpids, optimize="optimal")
- if errs is not None
- else None
- )
- else:
- ops = np.einsum(
- SIMPIDS_ROTATION, targetpids, ops, inv_inputpids, optimize="optimal"
- )
- errs = (
- np.einsum(
- SIMPIDS_ROTATION,
- targetpids,
- errs,
- inv_inputpids,
- optimize="optimal",
- )
- if errs is not None
- else None
+ ops = elem.operator
+ errs = elem.error
+ if targetpids is not None and inputpids is None:
+ ops = np.einsum(TARGETPIDS_ROTATION, targetpids, ops, optimize="optimal")
+ errs = (
+ np.einsum(TARGETPIDS_ROTATION, targetpids, errs, optimize="optimal")
+ if errs is not None
+ else None
+ )
+ elif inputpids is not None and targetpids is None:
+ ops = np.einsum(INPUTPIDS_ROTATION, ops, inv_inputpids, optimize="optimal")
+ errs = (
+ np.einsum(INPUTPIDS_ROTATION, errs, inv_inputpids, optimize="optimal")
+ if errs is not None
+ else None
+ )
+ else:
+ ops = np.einsum(
+ SIMPIDS_ROTATION, targetpids, ops, inv_inputpids, optimize="optimal"
+ )
+ errs = (
+ np.einsum(
+ SIMPIDS_ROTATION,
+ targetpids,
+ errs,
+ inv_inputpids,
+ optimize="optimal",
)
+ if errs is not None
+ else None
+ )
- eko[q2] = Operator(operator=ops, error=errs)
-
- # drop PIDs - keeping them int nevertheless
- # there is no meaningful way to set them in general, after rotation
- if inputpids is not None:
- eko.bases.inputpids = np.array([0] * len(eko.bases.inputpids))
- if targetpids is not None:
- eko.bases.targetpids = np.array([0] * len(eko.bases.targetpids))
-
- if update:
- eko.update()
+ return Operator(operator=ops, error=errs)
-def to_evol(eko: EKO, source: bool = True, target: bool = False):
+def to_evol(elem: Operator, source: bool = True, target: bool = False):
"""Rotate the operator into evolution basis.
- This assigns also the pids. The operation is in-place.
-
Parameters
----------
- eko :
+ elem :
the operator to be rotated
source :
rotate on the input tensor
@@ -256,27 +218,15 @@ def to_evol(eko: EKO, source: bool = True, target: bool = False):
# rotate
inputpids = br.rotate_flavor_to_evolution if source else None
targetpids = br.rotate_flavor_to_evolution if target else None
- # prevent metadata update, since flavor_reshape has not enough information
- # to determine inpupids and targetpids, and they will be updated after the
- # call
- flavor_reshape(eko, inputpids=inputpids, targetpids=targetpids, update=False)
- # assign pids
- if source:
- eko.bases.inputpids = inputpids
- if target:
- eko.bases.targetpids = targetpids
-
- eko.update()
+ return flavor_reshape(elem, inputpids=inputpids, targetpids=targetpids)
-def to_uni_evol(eko: EKO, source: bool = True, target: bool = False):
+def to_uni_evol(elem: Operator, source: bool = True, target: bool = False):
"""Rotate the operator into evolution basis.
- This assigns also the pids. The operation is in-place.
-
Parameters
----------
- eko :
+ elem :
the operator to be rotated
source :
rotate on the input tensor
@@ -287,14 +237,4 @@ def to_uni_evol(eko: EKO, source: bool = True, target: bool = False):
# rotate
inputpids = br.rotate_flavor_to_unified_evolution if source else None
targetpids = br.rotate_flavor_to_unified_evolution if target else None
- # prevent metadata update, since flavor_reshape has not enough information
- # to determine inpupids and targetpids, and they will be updated after the
- # call
- flavor_reshape(eko, inputpids=inputpids, targetpids=targetpids, update=False)
- # assign pids
- if source:
- eko.bases.inputpids = inputpids
- if target:
- eko.bases.targetpids = targetpids
-
- eko.update()
+ return flavor_reshape(elem, inputpids=inputpids, targetpids=targetpids)
diff --git a/src/ekomark/benchmark/runner.py b/src/ekomark/benchmark/runner.py
index 8c07e7153..b1e9fc579 100644
--- a/src/ekomark/benchmark/runner.py
+++ b/src/ekomark/benchmark/runner.py
@@ -13,7 +13,6 @@
import eko
from eko import EKO
from eko import basis_rotation as br
-from eko.io import manipulate
from ekobox import apply
from .. import pdfname
@@ -116,22 +115,14 @@ def run_me(self, theory, ocard, _pdf):
os.makedirs(output_path)
# rotating to evolution basis if requested
with EKO.edit(path) as out_copy:
- change_lab = False
- if self.rotate_to_evolution_basis:
- qed = theory["QED"] > 0
- if not qed:
- manipulate.to_evol(out_copy, source=True, target=True)
- else:
- manipulate.to_uni_evol(out_copy, source=True, target=True)
- change_lab = True
-
save_operators_to_pdf(
output_path,
theory,
ocard,
out_copy,
self.skip_pdfs(theory),
- change_lab,
+ self.rotate_to_evolution_basis,
+ theory["QED"] > 0,
)
else:
# else we always rerun
diff --git a/src/ekomark/plots.py b/src/ekomark/plots.py
index 92a155de3..5c300f996 100644
--- a/src/ekomark/plots.py
+++ b/src/ekomark/plots.py
@@ -9,6 +9,7 @@
from matplotlib.colors import LogNorm
from eko import basis_rotation as br
+from eko.io import manipulate
from eko.io.struct import EKO
@@ -209,7 +210,15 @@ def plot_operator(var_name, op, op_err, log_operator=True, abs_operator=True):
return fig
-def save_operators_to_pdf(path, theory, ops, me: EKO, skip_pdfs, change_lab=False):
+def save_operators_to_pdf(
+ path,
+ theory,
+ ops,
+ me: EKO,
+ skip_pdfs,
+ rotate_to_evolution_basis: bool,
+ qed: bool = False,
+):
"""Output all operator heatmaps to PDF.
Parameters
@@ -228,11 +237,7 @@ def save_operators_to_pdf(path, theory, ops, me: EKO, skip_pdfs, change_lab=Fals
set whether to rename the labels
"""
- ops_names = list(me.bases.targetpids)
- if np.allclose(ops_names, br.rotate_flavor_to_evolution):
- ops_names = br.evol_basis_pids
- else:
- raise ValueError("Can not reconstruct PDF names")
+ ops_names = br.evol_basis_pids if rotate_to_evolution_basis else br.evol_basis_pids
ops_id = f"o{ops['hash'][:6]}_t{theory['hash'][:6]}"
path = f"{path}/{ops_id}.pdf"
print(f"Plotting operators plots to {path}")
@@ -244,9 +249,16 @@ def save_operators_to_pdf(path, theory, ops, me: EKO, skip_pdfs, change_lab=Fals
# plot the operators
# it's necessary to reshuffle the eko output
- for mu2 in me.mu2grid:
- results = me[mu2].operator
- errors = me[mu2].error
+ for mu2, op in me.items():
+ change_lab = False
+ if rotate_to_evolution_basis:
+ if not qed:
+ op = manipulate.to_evol(op, source=True, target=True)
+ else:
+ op = manipulate.to_uni_evol(op, source=True, target=True)
+ change_lab = True
+ results = op.operator
+ errors = op.error
# loop on pids
for label_out, res, res_err in zip(ops_names, results, errors):
diff --git a/tests/eko/io/test_manipulate.py b/tests/eko/io/test_manipulate.py
index 3431d93ce..56ceafc0f 100644
--- a/tests/eko/io/test_manipulate.py
+++ b/tests/eko/io/test_manipulate.py
@@ -1,5 +1,3 @@
-import pathlib
-
import numpy as np
import pytest
@@ -21,235 +19,125 @@ def chk_keys(a, b):
class TestManipulate:
- def test_xgrid_reshape(self, eko_factory: EKOFactory, tmp_path: pathlib.Path):
+ def test_xgrid_reshape(self):
# create object
- muout = 10.0
- mu2out = muout**2
- epout = (mu2out, 5)
+ interpdeg = 1
xg = interpolation.XGrid(np.geomspace(1e-5, 1.0, 21))
- eko_factory.operator.mugrid = [(muout, 5)]
- eko_factory.operator.xgrid = xg
- o1 = eko_factory.get()
+ xgp = interpolation.XGrid(np.geomspace(1e-5, 1.0, 11))
lpids = 2
- o1[epout] = eko.io.Operator(
+ o1 = eko.io.Operator(
operator=eko_identity([1, lpids, len(xg), lpids, len(xg)])[0]
)
- xgp = interpolation.XGrid(np.geomspace(1e-5, 1.0, 11))
# only target
- otpath = tmp_path / "ot.tar"
- o1.deepcopy(otpath)
- with EKO.edit(otpath) as ot:
- manipulate.xgrid_reshape(ot, xgp)
- chk_keys(o1.raw, ot.raw)
- assert ot[epout].operator.shape == (lpids, len(xgp), lpids, len(xg))
- ottpath = tmp_path / "ott.tar"
- o1.deepcopy(ottpath)
- with EKO.edit(ottpath) as ott:
- with pytest.warns(Warning):
- manipulate.xgrid_reshape(ott, xg)
- chk_keys(o1.raw, ott.raw)
- np.testing.assert_allclose(ott[epout].operator, o1[epout].operator)
+ ot = manipulate.xgrid_reshape(o1, xg, interpdeg, xgp)
+ assert ot.operator.shape == (lpids, len(xgp), lpids, len(xg))
+ ott = manipulate.xgrid_reshape(ot, xgp, interpdeg, xg)
+ # when blowing up again a line 0 ... 0 0 1 0 0 ... 0 becomes
+ # 0 ... 0 0.5 0 0.5 0 ... 0 instead
+ np.testing.assert_allclose(
+ np.sum(ott.operator, axis=3), np.sum(o1.operator, axis=3)
+ )
# only input
- oipath = tmp_path / "oi.tar"
- o1.deepcopy(oipath)
- with EKO.edit(oipath) as oi:
- manipulate.xgrid_reshape(oi, inputgrid=xgp)
- assert oi[epout].operator.shape == (lpids, len(xg), lpids, len(xgp))
- chk_keys(o1.raw, oi.raw)
- oiipath = tmp_path / "oii.tar"
- o1.deepcopy(oiipath)
- with EKO.edit(oiipath) as oii:
- with pytest.warns(Warning):
- manipulate.xgrid_reshape(oii, inputgrid=xg)
- chk_keys(o1.raw, oii.raw)
- np.testing.assert_allclose(oii[epout].operator, o1[epout].operator)
+ oi = manipulate.xgrid_reshape(o1, xg, interpdeg, inputgrid=xgp)
+ assert oi.operator.shape == (lpids, len(xg), lpids, len(xgp))
+ oii = manipulate.xgrid_reshape(oi, xgp, interpdeg, inputgrid=xg)
+ np.testing.assert_allclose(
+ np.sum(oii.operator, axis=3), np.sum(o1.operator, axis=3)
+ )
+ with pytest.warns(Warning):
+ oiii = manipulate.xgrid_reshape(oii, xg, interpdeg, inputgrid=xg)
+ np.testing.assert_allclose(oiii.operator, oii.operator)
# both
- oitpath = tmp_path / "oit.tar"
- o1.deepcopy(oitpath)
- with EKO.edit(oitpath) as oit:
- manipulate.xgrid_reshape(oit, xgp, xgp)
- chk_keys(o1.raw, oit.raw)
- op = eko_identity([1, 2, len(xgp), 2, len(xgp)])
- np.testing.assert_allclose(oit[epout].operator, op[0], atol=1e-10)
-
+ oit = manipulate.xgrid_reshape(o1, xg, interpdeg, xgp, xgp)
+ op = eko_identity([1, 2, len(xgp), 2, len(xgp)])
+ np.testing.assert_allclose(oit.operator, op[0], atol=1e-10)
# op error handling
- ep2 = (25, 5)
- o1[ep2] = eko.io.Operator(
+ o1e = eko.io.Operator(
operator=eko_identity([1, lpids, len(xg), lpids, len(xg)])[0],
error=0.1 * eko_identity([1, lpids, len(xg), lpids, len(xg)])[0],
)
- ot2path = tmp_path / "ot2.tar"
- o1.deepcopy(ot2path)
- with EKO.edit(ot2path) as ot2:
- manipulate.xgrid_reshape(ot2, xgp)
- chk_keys(o1.raw, ot2.raw)
- assert ot2[ep2].operator.shape == (lpids, len(xgp), lpids, len(xg))
- assert ot2[epout].error is None
- assert ot2[ep2].error is not None
+ assert ot.error is None
+ assert oi.error is None
+ ot2 = manipulate.xgrid_reshape(o1e, xg, interpdeg, xgp)
+ assert ot2.error is not None
# Python error
- with pytest.raises(ValueError):
- manipulate.xgrid_reshape(o1)
+ with pytest.raises(ValueError, match="Nor inputgrid nor targetgrid"):
+ manipulate.xgrid_reshape(o1, xg, interpdeg)
- def test_reshape_io(self, eko_factory: EKOFactory, tmp_path):
- eko_factory.path = tmp_path / "eko.tar"
- eko_factory.operator.configs.interpolation_polynomial_degree = 1
- # create object
- o1 = eko_factory.get()
- lpids = len(o1.bases.pids)
- path_copy = tmp_path / "eko_copy.tar"
- o1.deepcopy(path_copy)
- newxgrid = interpolation.XGrid([0.1, 1.0])
- inputpids = np.eye(lpids)
- inputpids[:2, :2] = np.array([[1, -1], [1, 1]])
- with EKO.edit(path_copy) as o2:
- manipulate.xgrid_reshape(o2, newxgrid, newxgrid)
- manipulate.flavor_reshape(o2, inputpids=inputpids)
- # reload
- with EKO.read(path_copy) as o3:
- chk_keys(o1.raw, o3.raw)
- np.testing.assert_allclose(o3.bases.inputgrid.raw, newxgrid.raw)
- np.testing.assert_allclose(o3.bases.targetgrid.raw, newxgrid.raw)
- # since we use a general rotation, the inputpids are erased,
- # leaving just as many zeros as PIDs, as placeholders for missing
- # values
- np.testing.assert_allclose(o3.bases.inputpids, [0] * len(o3.bases.pids))
- # these has to be unchanged
- np.testing.assert_allclose(o3.bases.targetpids, o3.bases.pids)
-
- def test_flavor_reshape(self, eko_factory: EKOFactory, tmp_path: pathlib.Path):
+ def test_flavor_reshape(self):
# create object
xg = interpolation.XGrid(np.geomspace(1e-5, 1.0, 21))
- muout = 10.0
- mu2out = muout**2
- epout = (mu2out, 5)
- eko_factory.operator.xgrid = xg
- eko_factory.operator.mugrid = [(muout, 5)]
- o1 = eko_factory.get()
- lpids = len(o1.bases.pids)
+ lpids = len(br.flavor_basis_pids)
lx = len(xg)
- o1[epout] = eko.io.Operator(
+ o1 = eko.io.Operator(
operator=eko_identity([1, lpids, lx, lpids, lx])[0],
error=None,
)
- # only target
- target_r = np.eye(lpids)
- target_r[:2, :2] = np.array([[1, -1], [1, 1]])
- tpath = tmp_path / "ot.tar"
- ttpath = tmp_path / "ott.tar"
- o1.deepcopy(tpath)
- with EKO.edit(tpath) as ot:
- manipulate.flavor_reshape(ot, target_r)
- chk_keys(o1.raw, ot.raw)
- assert ot[epout].operator.shape == (lpids, len(xg), lpids, len(xg))
- ot.deepcopy(ttpath)
- with EKO.edit(ttpath) as ott:
- manipulate.flavor_reshape(ott, np.linalg.inv(target_r))
- np.testing.assert_allclose(ott[epout].operator, o1[epout].operator)
- with pytest.warns(Warning):
- manipulate.flavor_reshape(ott, np.eye(lpids))
- chk_keys(o1.raw, ott.raw)
- np.testing.assert_allclose(ott[epout].operator, o1[epout].operator)
# only input
input_r = np.eye(lpids)
input_r[:2, :2] = np.array([[1, -1], [1, 1]])
- ipath = tmp_path / "oi.tar"
- iipath = tmp_path / "oii.tar"
- o1.deepcopy(ipath)
- with EKO.edit(ipath) as oi:
- manipulate.flavor_reshape(oi, inputpids=input_r)
- chk_keys(o1.raw, oi.raw)
- assert oi[epout].operator.shape == (lpids, len(xg), lpids, len(xg))
- oi.deepcopy(iipath)
- with EKO.edit(iipath) as oii:
- manipulate.flavor_reshape(oii, inputpids=np.linalg.inv(input_r))
- np.testing.assert_allclose(oii[epout].operator, o1[epout].operator)
- with pytest.warns(Warning):
- manipulate.flavor_reshape(oii, inputpids=np.eye(lpids))
- chk_keys(o1.raw, oii.raw)
- np.testing.assert_allclose(oii[epout].operator, o1[epout].operator)
+ oi = manipulate.flavor_reshape(o1, inputpids=input_r)
+ assert oi.operator.shape == (lpids, len(xg), lpids, len(xg))
+ oii = manipulate.flavor_reshape(oi, inputpids=np.linalg.inv(input_r))
+ np.testing.assert_allclose(oii.operator, o1.operator)
+ with pytest.warns(Warning):
+ oiii = manipulate.flavor_reshape(oii, inputpids=np.eye(lpids))
+ np.testing.assert_allclose(oiii.operator, oii.operator)
+
+ # only target
+ target_r = np.eye(lpids)
+ target_r[:2, :2] = np.array([[1, -1], [1, 1]])
+ ot = manipulate.flavor_reshape(o1, target_r)
+ assert ot.operator.shape == (lpids, len(xg), lpids, len(xg))
+ ott = manipulate.flavor_reshape(ot, np.linalg.inv(target_r))
+ np.testing.assert_allclose(ott.operator, o1.operator)
+ with pytest.warns(Warning):
+ ottt = manipulate.flavor_reshape(ott, np.eye(lpids))
+ np.testing.assert_allclose(ottt.operator, ott.operator)
# both
- itpath = tmp_path / "oit.tar"
- o1.deepcopy(itpath)
- with EKO.edit(itpath) as oit:
- manipulate.flavor_reshape(oit, target_r, input_r)
- chk_keys(o1.raw, oit.raw)
- op = eko_identity([1, lpids, len(xg), lpids, len(xg)]).copy()
- np.testing.assert_allclose(oit[epout].operator, op[0], atol=1e-10)
+ oit = manipulate.flavor_reshape(o1, target_r, input_r)
+ op = eko_identity([1, lpids, len(xg), lpids, len(xg)]).copy()
+ np.testing.assert_allclose(oit.operator, op[0], atol=1e-10)
# error
- fpath = tmp_path / "fail.tar"
- o1.deepcopy(fpath)
- with pytest.raises(ValueError):
- with EKO.edit(fpath) as of:
- manipulate.flavor_reshape(of)
+ with pytest.raises(ValueError, match="Nor inputpids nor targetpids"):
+ manipulate.flavor_reshape(o1)
- def test_to_evol(self, eko_factory: EKOFactory, tmp_path):
+ def test_to_evol(self):
self._test_to_all_evol(
- eko_factory,
- tmp_path,
manipulate.to_evol,
br.rotate_flavor_to_evolution,
- br.flavor_basis_pids,
)
- def test_to_uni_evol(self, eko_factory: EKOFactory, tmp_path):
+ def test_to_uni_evol(self):
self._test_to_all_evol(
- eko_factory,
- tmp_path,
manipulate.to_uni_evol,
br.rotate_flavor_to_unified_evolution,
- br.flavor_basis_pids,
)
- def _test_to_all_evol(
- self, eko_factory: EKOFactory, tmp_path, to_evol_fnc, rot_matrix, pids
- ):
- xgrid = interpolation.XGrid([0.5, 1.0])
- mu_out = 2.0
- mu2_out = mu_out**2
- nfout = 4
- epout = (mu2_out, nfout)
- eko_factory.operator.mu0 = float(np.sqrt(1.0))
- eko_factory.operator.mugrid = [(mu_out, nfout)]
- eko_factory.operator.xgrid = xgrid
- eko_factory.operator.configs.interpolation_polynomial_degree = 1
- eko_factory.operator.configs.interpolation_is_log = False
- eko_factory.operator.configs.ev_op_max_order = (2, 0)
- eko_factory.operator.configs.ev_op_iterations = 1
- eko_factory.operator.configs.inversion_method = runcards.InversionMethod.EXACT
- o00 = eko_factory.get()
- o01_path = tmp_path / "o01.tar"
- o00.deepcopy(o01_path)
- with EKO.edit(o01_path) as o01:
- to_evol_fnc(o01)
- o10_path = tmp_path / "o10.tar"
- o00.deepcopy(o10_path)
- with EKO.edit(o10_path) as o10:
- to_evol_fnc(o10, False, True)
- o11_path = tmp_path / "o11.tar"
- o00.deepcopy(o11_path)
- with EKO.edit(o11_path) as o11:
- to_evol_fnc(o11, True, True)
- chk_keys(o00.raw, o11.raw)
-
- with EKO.edit(o01_path) as o01:
- with EKO.edit(o10_path) as o10:
- with EKO.read(o11_path) as o11:
- # check the input rotated one
- np.testing.assert_allclose(o01.bases.inputpids, rot_matrix)
- np.testing.assert_allclose(o01.bases.targetpids, pids)
- # rotate also target
- to_evol_fnc(o01, False, True)
- np.testing.assert_allclose(o01[epout].operator, o11[epout].operator)
- chk_keys(o00.raw, o01.raw)
- # check the target rotated one
- np.testing.assert_allclose(o10.bases.inputpids, pids)
- np.testing.assert_allclose(o10.bases.targetpids, rot_matrix)
- # rotate also input
- to_evol_fnc(o10)
- np.testing.assert_allclose(o10[epout].operator, o11[epout].operator)
- chk_keys(o00.raw, o10.raw)
+ def _test_to_all_evol(self, to_evol_fnc, rot_matrix):
+ # create object
+ xg = interpolation.XGrid(np.geomspace(1e-5, 1.0, 21))
+ lpids = len(br.flavor_basis_pids)
+ lx = len(xg)
+ o = eko.io.Operator(
+ operator=eko_identity([1, lpids, lx, lpids, lx])[0],
+ error=None,
+ )
+
+ # do it once
+ o01 = to_evol_fnc(o, True, False)
+ o10 = to_evol_fnc(o, False, True)
+ o11 = to_evol_fnc(o, True, True)
+
+ # do also the other one
+ np.testing.assert_allclose(
+ to_evol_fnc(o01, False, True).operator, o11.operator, atol=1e-15
+ )
+ np.testing.assert_allclose(
+ to_evol_fnc(o10, True, False).operator, o11.operator, atol=1e-15
+ )
From 6e0f434b9c1792dad9c79bed9e013e2a5b5cdd1d Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 25 Jul 2023 16:11:22 +0200
Subject: [PATCH 016/216] Remove init from benchmarks
---
benchmarks/__init__.py | 0
benchmarks/ekobox/__init__.py | 0
2 files changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 benchmarks/__init__.py
delete mode 100644 benchmarks/ekobox/__init__.py
diff --git a/benchmarks/__init__.py b/benchmarks/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/benchmarks/ekobox/__init__.py b/benchmarks/ekobox/__init__.py
deleted file mode 100644
index e69de29bb..000000000
From 4699064f9e4c5e368e148f1afb9614e0e9908689 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 31 Jul 2023 11:26:54 +0200
Subject: [PATCH 017/216] Address review comments
---
src/eko/io/manipulate.py | 12 ++++++------
src/ekomark/plots.py | 11 +++++------
2 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/src/eko/io/manipulate.py b/src/eko/io/manipulate.py
index 1372e9e14..72f3a641b 100644
--- a/src/eko/io/manipulate.py
+++ b/src/eko/io/manipulate.py
@@ -23,7 +23,7 @@
def rotation(new: Optional[XGrid], old: XGrid, check: Callable, compute: Callable):
"""Define grid rotation.
- This function returns the new grid to be assigned and the rotation computed,
+ This function returns the necessary rotation,
if the checks for a non-trivial new grid are passed.
However, the check and the computation are delegated respectively to the
@@ -31,13 +31,13 @@ def rotation(new: Optional[XGrid], old: XGrid, check: Callable, compute: Callabl
"""
if new is None:
- return old, None
+ return None
if check(new, old):
warnings.warn("The new grid is close to the current one")
- return old, None
+ return None
- return new, compute(new, old)
+ return compute(new, old)
def xgrid_check(new: Optional[XGrid], old: XGrid):
@@ -78,13 +78,13 @@ def xgrid_reshape(
crot = xgrid_compute_rotation
# construct matrices
- newtarget, targetrot = rotation(
+ targetrot = rotation(
targetgrid,
xgrid,
check,
lambda new, old: crot(new, old, interpdeg),
)
- newinput, inputrot = rotation(
+ inputrot = rotation(
inputgrid,
xgrid,
check,
diff --git a/src/ekomark/plots.py b/src/ekomark/plots.py
index 5c300f996..2e74586c6 100644
--- a/src/ekomark/plots.py
+++ b/src/ekomark/plots.py
@@ -233,9 +233,10 @@ def save_operators_to_pdf(
DGLAP result
skip_pdfs : list
PDF to skip
- change_lab : bool
- set whether to rename the labels
-
+ rotate_to_evolution_basis : bool
+ plot operators in evolution basis
+ qed : bool
+ plot operators in unified evolution basis, if the former is active
"""
ops_names = br.evol_basis_pids if rotate_to_evolution_basis else br.evol_basis_pids
ops_id = f"o{ops['hash'][:6]}_t{theory['hash'][:6]}"
@@ -250,13 +251,11 @@ def save_operators_to_pdf(
# plot the operators
# it's necessary to reshuffle the eko output
for mu2, op in me.items():
- change_lab = False
if rotate_to_evolution_basis:
if not qed:
op = manipulate.to_evol(op, source=True, target=True)
else:
op = manipulate.to_uni_evol(op, source=True, target=True)
- change_lab = True
results = op.operator
errors = op.error
@@ -283,7 +282,7 @@ def save_operators_to_pdf(
continue
lab_in = label_in
lab_out = label_out
- if change_lab:
+ if rotate_to_evolution_basis:
index_in = br.evol_basis_pids.index(label_in)
index_out = br.evol_basis_pids.index(label_out)
lab_in = br.evol_basis[index_in]
From 0ee166af669a0fbd50e48c4415ee4bd07cdd814d Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 31 Jul 2023 11:51:39 +0200
Subject: [PATCH 018/216] Add missing typ hints
---
src/eko/io/manipulate.py | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/src/eko/io/manipulate.py b/src/eko/io/manipulate.py
index 72f3a641b..c54883fdd 100644
--- a/src/eko/io/manipulate.py
+++ b/src/eko/io/manipulate.py
@@ -20,7 +20,9 @@
"""Simultaneous grid rotation contraction indices."""
-def rotation(new: Optional[XGrid], old: XGrid, check: Callable, compute: Callable):
+def rotation(
+ new: Optional[XGrid], old: XGrid, check: Callable, compute: Callable
+) -> npt.NDArray:
"""Define grid rotation.
This function returns the necessary rotation,
@@ -40,12 +42,14 @@ def rotation(new: Optional[XGrid], old: XGrid, check: Callable, compute: Callabl
return compute(new, old)
-def xgrid_check(new: Optional[XGrid], old: XGrid):
+def xgrid_check(new: Optional[XGrid], old: XGrid) -> bool:
"""Check validity of new xgrid."""
return new is not None and len(new) == len(old) and np.allclose(new.raw, old.raw)
-def xgrid_compute_rotation(new: XGrid, old: XGrid, interpdeg: int, swap: bool = False):
+def xgrid_compute_rotation(
+ new: XGrid, old: XGrid, interpdeg: int, swap: bool = False
+) -> npt.NDArray:
"""Compute rotation from old to new xgrid.
By default, the roation is computed for a target xgrid. Whether the function
@@ -132,7 +136,7 @@ def flavor_reshape(
elem: Operator,
targetpids: Optional[npt.NDArray] = None,
inputpids: Optional[npt.NDArray] = None,
-):
+) -> Operator:
"""Change the operator to have in the output targetpids and/or in the input inputpids.
Parameters
@@ -202,7 +206,7 @@ def flavor_reshape(
return Operator(operator=ops, error=errs)
-def to_evol(elem: Operator, source: bool = True, target: bool = False):
+def to_evol(elem: Operator, source: bool = True, target: bool = False) -> Operator:
"""Rotate the operator into evolution basis.
Parameters
@@ -221,7 +225,7 @@ def to_evol(elem: Operator, source: bool = True, target: bool = False):
return flavor_reshape(elem, inputpids=inputpids, targetpids=targetpids)
-def to_uni_evol(elem: Operator, source: bool = True, target: bool = False):
+def to_uni_evol(elem: Operator, source: bool = True, target: bool = False) -> Operator:
"""Rotate the operator into evolution basis.
Parameters
From 054e4b2a9c9d9b9ceeaee8aea42963aa5b5c6242 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 31 Jul 2023 12:47:10 +0200
Subject: [PATCH 019/216] Drop max_num_flavs
---
benchmarks/eko/benchmark_evol_to_unity.py | 1 -
benchmarks/eko/benchmark_strong_coupling.py | 63 ++++++++++---------
benchmarks/ekobox/benchmark_evol_pdf.py | 1 -
doc/source/overview/tutorials/alpha_s.ipynb | 7 +--
doc/source/overview/tutorials/pdf.ipynb | 1 -
extras/n3lo_bench/splitting_function_utils.py | 1 -
src/eko/io/runcards.py | 1 -
src/eko/quantities/couplings.py | 1 -
src/ekobox/cards.py | 1 -
tests/eko/kernels/test_kernels_QEDns.py | 1 -
tests/eko/quantities/test_couplings.py | 2 +-
tests/eko/test_couplings.py | 5 --
12 files changed, 37 insertions(+), 48 deletions(-)
diff --git a/benchmarks/eko/benchmark_evol_to_unity.py b/benchmarks/eko/benchmark_evol_to_unity.py
index 41bc4b4d0..893de5de3 100644
--- a/benchmarks/eko/benchmark_evol_to_unity.py
+++ b/benchmarks/eko/benchmark_evol_to_unity.py
@@ -20,7 +20,6 @@ def update_cards(theory: TheoryCard, operator: OperatorCard):
alphas=0.35,
alphaem=0.007496,
scale=float(np.sqrt(2)),
- max_num_flavs=6,
num_flavs_ref=None,
)
theory.heavy.num_flavs_init = 4
diff --git a/benchmarks/eko/benchmark_strong_coupling.py b/benchmarks/eko/benchmark_strong_coupling.py
index d13a264bd..80f65cf72 100644
--- a/benchmarks/eko/benchmark_strong_coupling.py
+++ b/benchmarks/eko/benchmark_strong_coupling.py
@@ -8,7 +8,7 @@
from eko.couplings import Couplings
from eko.io.runcards import TheoryCard
from eko.quantities.couplings import CouplingEvolutionMethod, CouplingsInfo
-from eko.quantities.heavy_quarks import QuarkMassScheme
+from eko.quantities.heavy_quarks import FlavorsNumber, QuarkMassScheme
# try to load LHAPDF - if not available, we'll use the cached values
try:
@@ -35,16 +35,12 @@
use_PEGASUS = False
-def ref_couplings(
- ref_values,
- ref_scale: float,
-) -> CouplingsInfo:
+def ref_couplings(ref_values, ref_scale: float, ref_nf: FlavorsNumber) -> CouplingsInfo:
return CouplingsInfo(
alphas=ref_values[0],
alphaem=ref_values[1],
scale=ref_scale,
- max_num_flavs=6,
- num_flavs_ref=None,
+ num_flavs_ref=ref_nf,
)
@@ -54,11 +50,11 @@ def test_a_s(self):
"""Tests the value of alpha_s (for now only at LO)
for a given set of parameters
"""
- # TODO @JCM: we need a source for this!
+ # source: JCM
known_val = 0.0091807954
ref_mu2 = 90
ask_q2 = 125
- ref = ref_couplings([0.1181, 0.007496], np.sqrt(ref_mu2))
+ ref = ref_couplings([0.1181, 0.007496], np.sqrt(ref_mu2), 5)
as_FFNS_LO = Couplings(
couplings=ref,
order=(1, 0),
@@ -80,7 +76,7 @@ def benchmark_LHA_paper(self):
# LO - FFNS
# note that the LO-FFNS value reported in :cite:`Giele:2002hx`
# was corrected in :cite:`Dittmar:2005ed`
- coupling_ref = ref_couplings([0.35, 0.007496], np.sqrt(2))
+ coupling_ref = ref_couplings([0.35, 0.007496], np.sqrt(2), 4)
as_FFNS_LO = Couplings(
couplings=coupling_ref,
order=(1, 0),
@@ -141,7 +137,7 @@ def benchmark_APFEL_ffns(self):
threshold_holder = matchings.Atlas.ffns(nf, 0.0)
for order in [1, 2, 3]:
as_FFNS = Couplings(
- couplings=ref_couplings(coupling_ref, scale_ref),
+ couplings=ref_couplings(coupling_ref, scale_ref, nf),
order=(order, 0),
method=CouplingEvolutionMethod.EXPANDED,
masses=threshold_holder.walls[1:-1],
@@ -212,8 +208,7 @@ def benchmark_pegasus_ffns(self):
}
# collect my values
threshold_holder = matchings.Atlas.ffns(nf, 0.0)
- couplings = ref_couplings(coupling_ref, scale_ref)
- couplings.max_num_flavs = 4
+ couplings = ref_couplings(coupling_ref, scale_ref, nf)
for order in [1, 2, 3, 4]:
as_FFNS = Couplings(
couplings=couplings,
@@ -259,6 +254,7 @@ def benchmark_APFEL_vfns(self):
Q2s = [1, 2**2, 3**2, 90**2, 100**2]
coupling_ref = np.array([0.118, 0.007496])
scale_ref = 91.0
+ nf_ref = 5
threshold_list = np.power([2, 4, 175], 2)
apfel_vals_dict = {
1: np.array(
@@ -292,7 +288,7 @@ def benchmark_APFEL_vfns(self):
# collect my values
for order in [1, 2, 3]:
as_VFNS = Couplings(
- couplings=ref_couplings(coupling_ref, scale_ref),
+ couplings=ref_couplings(coupling_ref, scale_ref, nf_ref),
order=(order, 0),
method=CouplingEvolutionMethod.EXPANDED,
masses=threshold_list,
@@ -339,8 +335,9 @@ def benchmark_APFEL_vfns_fact_to_ren(self):
]
coupling_ref = np.array([0.118, 0.007496])
scale_ref = 91.0
+ nf_ref = 5
fact_to_ren_lin_list = [0.567, 2.34]
- threshold_list = np.power([2, 2 * 4, 2 * 92], 2)
+ masses_list = np.power([2, 2 * 4, 2 * 92], 2)
apfel_vals_dict_list = [
{
1: np.array(
@@ -437,10 +434,10 @@ def benchmark_APFEL_vfns_fact_to_ren(self):
# collect my values
for order in [1, 2, 3]:
as_VFNS = Couplings(
- couplings=ref_couplings(coupling_ref, scale_ref),
+ couplings=ref_couplings(coupling_ref, scale_ref, nf_ref),
order=(order, 0),
method=CouplingEvolutionMethod.EXACT,
- masses=threshold_list.tolist(),
+ masses=masses_list.tolist(),
hqm_scheme=QuarkMassScheme.POLE,
thresholds_ratios=np.array([1.0, 1.0, 1.0]) / fact_to_ren_lin**2,
)
@@ -457,7 +454,7 @@ def benchmark_APFEL_vfns_fact_to_ren(self):
apfel.SetAlphaEvolution("exact")
apfel.SetAlphaQCDRef(coupling_ref[0], scale_ref)
apfel.SetVFNS()
- apfel.SetPoleMasses(*np.sqrt(threshold_list))
+ apfel.SetPoleMasses(*np.sqrt(masses_list))
apfel.SetRenFacRatio(1.0 / fact_to_ren_lin)
apfel.InitializeAPFEL()
# collect a_s
@@ -468,12 +465,18 @@ def benchmark_APFEL_vfns_fact_to_ren(self):
)
np.testing.assert_allclose(apfel_vals, np.array(apfel_vals_cur))
# check myself to APFEL
- np.testing.assert_allclose(apfel_vals, np.array(my_vals), rtol=2.5e-5)
+ np.testing.assert_allclose(
+ apfel_vals,
+ np.array(my_vals),
+ rtol=2.5e-5,
+ err_msg=f"{order=},{fact_to_ren_lin=}",
+ )
def benchmark_APFEL_vfns_threshold(self):
Q2s = np.power([30, 96, 150], 2)
coupling_ref = np.array([0.118, 0.007496])
scale_ref = 91.0
+ nf_ref = 4
threshold_list = np.power([30, 95, 240], 2)
thresholds_ratios = [2.34**2, 1.0**2, 0.5**2]
apfel_vals_dict = {
@@ -487,7 +490,7 @@ def benchmark_APFEL_vfns_threshold(self):
# collect my values
for order in [2, 3]:
as_VFNS = Couplings(
- couplings=ref_couplings(coupling_ref, scale_ref),
+ couplings=ref_couplings(coupling_ref, scale_ref, nf_ref),
order=(order, 0),
method=CouplingEvolutionMethod.EXPANDED,
masses=threshold_list.tolist(),
@@ -496,7 +499,6 @@ def benchmark_APFEL_vfns_threshold(self):
)
my_vals = []
for Q2 in Q2s:
- print(Q2)
my_vals.append(as_VFNS.a(Q2)[0])
# get APFEL numbers - if available else use cache
apfel_vals = apfel_vals_dict[order]
@@ -516,7 +518,6 @@ def benchmark_APFEL_vfns_threshold(self):
apfel_vals_cur = []
for Q2 in Q2s:
apfel_vals_cur.append(apfel.AlphaQCD(np.sqrt(Q2)) / (4.0 * np.pi))
- print(apfel_vals_cur)
np.testing.assert_allclose(apfel_vals, np.array(apfel_vals_cur))
# check myself to APFEL
np.testing.assert_allclose(apfel_vals, np.array(my_vals))
@@ -525,6 +526,7 @@ def benchmark_APFEL_vfns_msbar(self):
Q2s = np.power([3, 96, 150], 2)
coupling_ref = np.array([0.118, 0.007496])
scale_ref = 91.0
+ nf_ref = 5
Q2m = np.power([2.0, 4.0, 175], 2)
m2s = np.power((1.4, 4.0, 175), 2)
apfel_vals_dict = {
@@ -538,7 +540,7 @@ def benchmark_APFEL_vfns_msbar(self):
# collect my values
for order in [2, 3]:
as_VFNS = Couplings(
- couplings=ref_couplings(coupling_ref, scale_ref),
+ couplings=ref_couplings(coupling_ref, scale_ref, nf_ref),
order=(order, 0),
method=CouplingEvolutionMethod.EXPANDED,
masses=m2s.tolist(),
@@ -586,7 +588,7 @@ def benchmark_lhapdf_ffns_lo(self):
# collect my values
threshold_holder = matchings.Atlas.ffns(nf, 0.0)
as_FFNS_LO = Couplings(
- couplings=ref_couplings(coupling_ref, scale_ref),
+ couplings=ref_couplings(coupling_ref, scale_ref, nf),
order=(1, 0),
method=CouplingEvolutionMethod.EXACT,
masses=threshold_holder.walls[1:-1],
@@ -629,8 +631,9 @@ def benchmark_apfel_exact(self):
Q2s = [1e1, 1e2, 1e3, 1e4]
coupling_ref = np.array([0.118, 0.007496])
scale_ref = 90
+ nf = 3
# collect my values
- threshold_holder = matchings.Atlas.ffns(3, 0.0)
+ threshold_holder = matchings.Atlas.ffns(nf, 0.0)
# LHAPDF cache
apfel_vals_dict = {
1: np.array(
@@ -660,7 +663,7 @@ def benchmark_apfel_exact(self):
}
for order in range(1, 3 + 1):
sc = Couplings(
- couplings=ref_couplings(coupling_ref, scale_ref),
+ couplings=ref_couplings(coupling_ref, scale_ref, nf),
order=(order, 0),
method=CouplingEvolutionMethod.EXACT,
masses=threshold_holder.walls[1:-1],
@@ -696,8 +699,9 @@ def benchmark_lhapdf_exact(self):
Q2s = [1e1, 1e2, 1e3, 1e4]
coupling_ref = np.array([0.118, 0.007496])
scale_ref = 90
+ nf = 3
# collect my values
- threshold_holder = matchings.Atlas.ffns(3, 0.0)
+ threshold_holder = matchings.Atlas.ffns(nf, 0.0)
# LHAPDF cache
lhapdf_vals_dict = {
1: np.array(
@@ -735,7 +739,7 @@ def benchmark_lhapdf_exact(self):
}
for order in range(1, 4 + 1):
sc = Couplings(
- couplings=ref_couplings(coupling_ref, scale_ref),
+ couplings=ref_couplings(coupling_ref, scale_ref, nf),
order=(order, 0),
method=CouplingEvolutionMethod.EXACT,
masses=threshold_holder.walls[1:-1],
@@ -766,6 +770,7 @@ def benchmark_lhapdf_zmvfns_lo(self):
Q2s = [1, 1e1, 1e2, 1e3, 1e4]
coupling_ref = np.array([0.118, 0.007496])
scale_ref = 900
+ nf_ref = 5
m2c = 2.0
m2b = 25.0
m2t = 1500.0
@@ -785,7 +790,7 @@ def benchmark_lhapdf_zmvfns_lo(self):
# collect my values
as_VFNS_LO = Couplings(
- couplings=ref_couplings(coupling_ref, np.sqrt(scale_ref)),
+ couplings=ref_couplings(coupling_ref, np.sqrt(scale_ref), nf_ref),
order=(1, 0),
method=CouplingEvolutionMethod.EXACT,
masses=threshold_list,
diff --git a/benchmarks/ekobox/benchmark_evol_pdf.py b/benchmarks/ekobox/benchmark_evol_pdf.py
index 3a9dc0f4a..2a9aa8ea9 100644
--- a/benchmarks/ekobox/benchmark_evol_pdf.py
+++ b/benchmarks/ekobox/benchmark_evol_pdf.py
@@ -23,7 +23,6 @@ def benchmark_evolve_single_member(
theory.couplings.alphas = 0.118000
theory.couplings.scale = 91.1876
theory.couplings.alphaem = 0.007496
- theory.couplings.max_num_flavs = 3
theory.heavy.num_flavs_max_pdf = 3
theory.heavy.masses.c.value = 1.3
theory.heavy.masses.b.value = 4.75
diff --git a/doc/source/overview/tutorials/alpha_s.ipynb b/doc/source/overview/tutorials/alpha_s.ipynb
index a9d75c0ca..d8954900d 100644
--- a/doc/source/overview/tutorials/alpha_s.ipynb
+++ b/doc/source/overview/tutorials/alpha_s.ipynb
@@ -40,7 +40,7 @@
"\n",
"# set the (alpha_s, alpha_em) reference values\n",
"couplings_ref = CouplingsInfo(\n",
- " alphas=0.118, alphaem=0.007496252, scale=91.0, num_flavs_ref=None, max_num_flavs=5\n",
+ " alphas=0.118, alphaem=0.007496252, scale=91.0, num_flavs_ref=5\n",
")\n",
"\n",
"# set heavy quark masses and their threshold ratios\n",
@@ -105,13 +105,10 @@
}
],
"metadata": {
- "interpreter": {
- "hash": "0a84ba3ac8703c04e87bc503a7d00188dfd591ad56130da93c406115a1e4a408"
- },
"kernelspec": {
"display_name": "eko-KkPVjVhh-py3.10",
"language": "python",
- "name": "eko-kkpvjvhh-py3.10"
+ "name": "python3"
},
"language_info": {
"codemirror_mode": {
diff --git a/doc/source/overview/tutorials/pdf.ipynb b/doc/source/overview/tutorials/pdf.ipynb
index 4607ef891..9da9ead26 100644
--- a/doc/source/overview/tutorials/pdf.ipynb
+++ b/doc/source/overview/tutorials/pdf.ipynb
@@ -371,7 +371,6 @@
"th_card.couplings.alphas = 0.130000 # reference value of alpha_s\n",
"th_card.couplings.scale = 91.1876 # the reference scale at which alpha_s is provided\n",
"th_card.couplings.num_flavs_ref = 5 # the number of flavors active at the alpha_s reference scale\n",
- "th_card.couplings.max_num_flavs = 5 # the maximum number of flavors active in the alpha_s evolution\n",
"th_card.couplings.num_flavs_init = 3 # the number of flavors active at the reference scale\n",
"th_card.num_flavs_max_pdf = 5 # the maximum number of flavors active in the pdf evolution."
]
diff --git a/extras/n3lo_bench/splitting_function_utils.py b/extras/n3lo_bench/splitting_function_utils.py
index 6917e6bd8..db06f5c72 100644
--- a/extras/n3lo_bench/splitting_function_utils.py
+++ b/extras/n3lo_bench/splitting_function_utils.py
@@ -104,7 +104,6 @@ def compute_a_s(q2=None, xif2=1.0, nf=None, order=(4, 0)):
alphas=0.1181,
alphaem=0.007496,
scale=91.00,
- max_num_flavs=6,
num_flavs_ref=5,
)
sc = Couplings(
diff --git a/src/eko/io/runcards.py b/src/eko/io/runcards.py
index 41aef9445..6f1b585b0 100644
--- a/src/eko/io/runcards.py
+++ b/src/eko/io/runcards.py
@@ -185,7 +185,6 @@ def new_theory(self):
em_running=em_running,
scale=old["Qref"],
num_flavs_ref=old["nfref"],
- max_num_flavs=old["MaxNfAs"],
)
new["heavy"] = {
"num_flavs_init": nf_default(old["Q0"] ** 2.0, default_atlas(ms, ks))
diff --git a/src/eko/quantities/couplings.py b/src/eko/quantities/couplings.py
index 01b11d138..f80420a9c 100644
--- a/src/eko/quantities/couplings.py
+++ b/src/eko/quantities/couplings.py
@@ -20,7 +20,6 @@ class CouplingsInfo(DictLike):
alphas: Coupling
alphaem: Coupling
scale: LinearScale
- max_num_flavs: FlavorsNumber
num_flavs_ref: FlavorsNumber
r"""Number of active flavors at strong coupling reference scale.
diff --git a/src/ekobox/cards.py b/src/ekobox/cards.py
index 474e7d931..e68a8ce63 100644
--- a/src/ekobox/cards.py
+++ b/src/ekobox/cards.py
@@ -15,7 +15,6 @@
alphaem=0.007496252,
scale=91.2,
num_flavs_ref=5,
- max_num_flavs=6,
),
heavy=dict(
num_flavs_init=4,
diff --git a/tests/eko/kernels/test_kernels_QEDns.py b/tests/eko/kernels/test_kernels_QEDns.py
index e84956084..b85a3f013 100644
--- a/tests/eko/kernels/test_kernels_QEDns.py
+++ b/tests/eko/kernels/test_kernels_QEDns.py
@@ -121,7 +121,6 @@ def test_zero_true_gamma():
alphaem=alpharef[1],
scale=muref,
num_flavs_ref=5,
- max_num_flavs=6,
)
)
evmod = CouplingEvolutionMethod.EXACT
diff --git a/tests/eko/quantities/test_couplings.py b/tests/eko/quantities/test_couplings.py
index 00ccae9d1..83bef709c 100644
--- a/tests/eko/quantities/test_couplings.py
+++ b/tests/eko/quantities/test_couplings.py
@@ -3,7 +3,7 @@
def test_couplings_ref():
scale = 90.0
- d = dict(alphas=0.1, alphaem=0.01, scale=scale, max_num_flavs=6, num_flavs_ref=5)
+ d = dict(alphas=0.1, alphaem=0.01, scale=scale, num_flavs_ref=5)
couplings = CouplingsInfo.from_dict(d)
assert couplings.scale == scale
assert not couplings.em_running
diff --git a/tests/eko/test_couplings.py b/tests/eko/test_couplings.py
index 646a56448..10535cbcb 100644
--- a/tests/eko/test_couplings.py
+++ b/tests/eko/test_couplings.py
@@ -55,7 +55,6 @@ def test_init(self):
alphaem=alpharef[1],
scale=muref,
num_flavs_ref=5,
- max_num_flavs=6,
)
)
order = (1, 0)
@@ -162,7 +161,6 @@ def test_ref(self):
alphaem=alpharef[1],
scale=muref,
num_flavs_ref=nfref,
- max_num_flavs=6,
)
)
for order_s in [1, 2, 3, 4]:
@@ -197,7 +195,6 @@ def test_ref_copy_e841b0dfdee2f31d9ccc1ecee4d9d1a6f6624313(self):
alphaem=alpharef[1],
scale=muref,
num_flavs_ref=3, # reference nf is needed to force the matching
- max_num_flavs=6,
)
)
sc = Couplings(
@@ -238,7 +235,6 @@ def test_exact(self):
alphaem=alpharef[1],
scale=muref,
num_flavs_ref=nfref,
- max_num_flavs=6,
em_running=em_running,
)
)
@@ -301,7 +297,6 @@ def benchmark_expanded_n3lo(self):
alphaem=alpharef[1],
scale=muref,
num_flavs_ref=5,
- max_num_flavs=6,
)
m2c = 2
m2b = 25
From cfc7ee53bd807c5377263fd1024e313d4d5f8315 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 31 Jul 2023 12:58:29 +0200
Subject: [PATCH 020/216] Drop num_flavs_max_pdf
---
benchmarks/ekobox/benchmark_evol_pdf.py | 1 -
doc/source/overview/tutorials/pdf.ipynb | 3 +--
src/eko/io/legacy.py | 1 -
src/eko/io/runcards.py | 1 -
src/eko/quantities/heavy_quarks.py | 2 --
src/ekobox/cards.py | 1 -
tests/eko/test_quantities.py | 1 -
7 files changed, 1 insertion(+), 9 deletions(-)
diff --git a/benchmarks/ekobox/benchmark_evol_pdf.py b/benchmarks/ekobox/benchmark_evol_pdf.py
index 2a9aa8ea9..c85083604 100644
--- a/benchmarks/ekobox/benchmark_evol_pdf.py
+++ b/benchmarks/ekobox/benchmark_evol_pdf.py
@@ -23,7 +23,6 @@ def benchmark_evolve_single_member(
theory.couplings.alphas = 0.118000
theory.couplings.scale = 91.1876
theory.couplings.alphaem = 0.007496
- theory.heavy.num_flavs_max_pdf = 3
theory.heavy.masses.c.value = 1.3
theory.heavy.masses.b.value = 4.75
theory.heavy.masses.t.value = 172
diff --git a/doc/source/overview/tutorials/pdf.ipynb b/doc/source/overview/tutorials/pdf.ipynb
index 9da9ead26..0719d9d63 100644
--- a/doc/source/overview/tutorials/pdf.ipynb
+++ b/doc/source/overview/tutorials/pdf.ipynb
@@ -371,8 +371,7 @@
"th_card.couplings.alphas = 0.130000 # reference value of alpha_s\n",
"th_card.couplings.scale = 91.1876 # the reference scale at which alpha_s is provided\n",
"th_card.couplings.num_flavs_ref = 5 # the number of flavors active at the alpha_s reference scale\n",
- "th_card.couplings.num_flavs_init = 3 # the number of flavors active at the reference scale\n",
- "th_card.num_flavs_max_pdf = 5 # the maximum number of flavors active in the pdf evolution."
+ "th_card.heavy.num_flavs_init = 3 # the number of flavors active at the reference scale"
]
},
{
diff --git a/src/eko/io/legacy.py b/src/eko/io/legacy.py
index d580f7373..cb7b24644 100644
--- a/src/eko/io/legacy.py
+++ b/src/eko/io/legacy.py
@@ -100,7 +100,6 @@ def from_old(cls, old: RawCard):
"""Load from old metadata."""
heavy = HeavyInfo(
num_flavs_init=4,
- num_flavs_max_pdf=5,
intrinsic_flavors=[],
masses=HeavyQuarkMasses(
[
diff --git a/src/eko/io/runcards.py b/src/eko/io/runcards.py
index 6f1b585b0..c66e48dc4 100644
--- a/src/eko/io/runcards.py
+++ b/src/eko/io/runcards.py
@@ -190,7 +190,6 @@ def new_theory(self):
"num_flavs_init": nf_default(old["Q0"] ** 2.0, default_atlas(ms, ks))
if old["nf0"] is None
else old["nf0"],
- "num_flavs_max_pdf": old["MaxNfPdf"],
"matching_ratios": self.heavies("k%sThr", old),
"masses_scheme": old["HQ"],
}
diff --git a/src/eko/quantities/heavy_quarks.py b/src/eko/quantities/heavy_quarks.py
index df0285649..ab0ece64a 100644
--- a/src/eko/quantities/heavy_quarks.py
+++ b/src/eko/quantities/heavy_quarks.py
@@ -96,8 +96,6 @@ class HeavyInfo(DictLike):
I.e. :math:`n_{f,\text{ref}}(\mu^2_0)`, formerly called ``nf0``.
"""
- num_flavs_max_pdf: FlavorsNumber
- """Maximum number of quark PDFs."""
intrinsic_flavors: IntrinsicFlavors
"""List of intrinsic quark PDFs."""
masses: HeavyQuarkMasses
diff --git a/src/ekobox/cards.py b/src/ekobox/cards.py
index e68a8ce63..a69b32ad6 100644
--- a/src/ekobox/cards.py
+++ b/src/ekobox/cards.py
@@ -18,7 +18,6 @@
),
heavy=dict(
num_flavs_init=4,
- num_flavs_max_pdf=6,
intrinsic_flavors=[4],
masses=[ReferenceRunning([mq, nan]) for mq in (2.0, 4.5, 173.07)],
masses_scheme="POLE",
diff --git a/tests/eko/test_quantities.py b/tests/eko/test_quantities.py
index 0c2628b30..8fd6c298f 100644
--- a/tests/eko/test_quantities.py
+++ b/tests/eko/test_quantities.py
@@ -34,7 +34,6 @@ def test_HeavyQuarks():
def test_HeavyInfo():
i = hq.HeavyInfo(
num_flavs_init=4,
- num_flavs_max_pdf=6,
intrinsic_flavors=[4, 5],
masses=hq.HeavyQuarkMasses(
[
From 8b3899d02dd80e6ea4dc31a0c517ac7785bcc3d8 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 31 Jul 2023 19:13:24 +0200
Subject: [PATCH 021/216] Start dropping intrinsic
---
benchmarks/eko/benchmark_evol_to_unity.py | 1 -
src/eko/evolution_operator/grid.py | 8 +-
.../evolution_operator/matching_condition.py | 48 +++++-----
.../operator_matrix_element.py | 8 +-
src/eko/evolution_operator/physical.py | 23 ++---
src/eko/io/legacy.py | 1 -
src/eko/io/runcards.py | 5 -
src/eko/io/types.py | 1 -
src/eko/quantities/heavy_quarks.py | 10 +-
src/eko/runner/legacy.py | 2 -
src/eko/runner/managed.py | 2 -
src/eko/runner/parts.py | 40 ++------
src/ekobox/cards.py | 1 -
.../test_matching_condition.py | 91 +++++--------------
tests/eko/evolution_operator/test_physical.py | 36 +++-----
tests/eko/io/test_runcards.py | 1 -
tests/eko/test_quantities.py | 1 -
17 files changed, 80 insertions(+), 199 deletions(-)
diff --git a/benchmarks/eko/benchmark_evol_to_unity.py b/benchmarks/eko/benchmark_evol_to_unity.py
index 893de5de3..d269db202 100644
--- a/benchmarks/eko/benchmark_evol_to_unity.py
+++ b/benchmarks/eko/benchmark_evol_to_unity.py
@@ -23,7 +23,6 @@ def update_cards(theory: TheoryCard, operator: OperatorCard):
num_flavs_ref=None,
)
theory.heavy.num_flavs_init = 4
- theory.heavy.intrinsic_flavors = [4, 5]
theory.heavy.masses.c.value = 1.0
theory.heavy.masses.b.value = 4.75
theory.heavy.masses.t.value = 173.0
diff --git a/src/eko/evolution_operator/grid.py b/src/eko/evolution_operator/grid.py
index 1180697a6..382ece751 100644
--- a/src/eko/evolution_operator/grid.py
+++ b/src/eko/evolution_operator/grid.py
@@ -60,7 +60,6 @@ def __init__(
masses: List[float],
mass_scheme,
thresholds_ratios: List[float],
- intrinsic_flavors: list,
xif: float,
n3lo_ad_variation: tuple,
configs: Configs,
@@ -72,7 +71,6 @@ def __init__(
# check
config: Dict[str, Any] = {}
config["order"] = order
- config["intrinsic_range"] = intrinsic_flavors
config["xif2"] = xif**2
config["HQ"] = mass_scheme
config["ModSV"] = configs.scvar_method
@@ -171,16 +169,15 @@ def generate(self, q2: EPoint) -> OpDict:
operator.compute()
is_downward = is_downward_path(path)
- intrinsic_range = [4, 5, 6] if is_downward else self.config["intrinsic_range"]
qed = self.config["order"][1] > 0
final_op = physical.PhysicalOperator.ad_to_evol_map(
- operator.op_members, operator.nf, operator.q2_to, intrinsic_range, qed
+ operator.op_members, operator.nf, operator.q2_to, qed
)
# and multiply the lower ones from the right
for op in reversed(list(thr_ops)):
phys_op = physical.PhysicalOperator.ad_to_evol_map(
- op.op_members, op.nf, op.q2_to, intrinsic_range, qed
+ op.op_members, op.nf, op.q2_to, qed
)
# join with the basis rotation, since matching requires c+ (or likewise)
@@ -189,7 +186,6 @@ def generate(self, q2: EPoint) -> OpDict:
self._matching_operators[op.q2_to],
nf_match,
op.q2_to,
- intrinsic_range=intrinsic_range,
qed=qed,
)
if is_downward:
diff --git a/src/eko/evolution_operator/matching_condition.py b/src/eko/evolution_operator/matching_condition.py
index 059617fbf..e84ef4d2e 100644
--- a/src/eko/evolution_operator/matching_condition.py
+++ b/src/eko/evolution_operator/matching_condition.py
@@ -20,7 +20,6 @@ def split_ad_to_evol_map(
op_members,
nf,
q2_thr,
- intrinsic_range,
qed=False,
):
"""
@@ -35,8 +34,6 @@ def split_ad_to_evol_map(
number of active flavors *below* the threshold
q2_thr: float
threshold value
- intrinsic_range : list
- list of intrinsic quark pids
qed : bool
activate qed
"""
@@ -78,27 +75,26 @@ def split_ad_to_evol_map(
)
# intrinsic matching
- if len(intrinsic_range) != 0:
- op_id = member.OpMember.id_like(op_members[(200, 200)])
- for intr_fl in intrinsic_range:
- ihq = br.quark_names[intr_fl - 1] # find name
- if intr_fl > nf + 1:
- # keep the higher quarks as they are
- m[f"{ihq}+.{ihq}+"] = op_id.copy()
- m[f"{ihq}-.{ihq}-"] = op_id.copy()
- elif intr_fl == nf + 1:
- # match the missing contribution from h+ and h-
- m.update(
- {
- f"{ihq}+.{ihq}+": op_members[
- (br.matching_hplus_pid, br.matching_hplus_pid)
- ],
- f"S.{ihq}+": op_members[(100, br.matching_hplus_pid)],
- f"g.{ihq}+": op_members[(21, br.matching_hplus_pid)],
- f"{ihq}-.{ihq}-": op_members[
- (br.matching_hminus_pid, br.matching_hminus_pid)
- ],
- # f"V.{ihq}-": op_members[(200, br.matching_hminus_pid)],
- }
- )
+ op_id = member.OpMember.id_like(op_members[(200, 200)])
+ for intr_fl in [4, 5, 6]:
+ ihq = br.quark_names[intr_fl - 1] # find name
+ if intr_fl > nf + 1:
+ # keep the higher quarks as they are
+ m[f"{ihq}+.{ihq}+"] = op_id.copy()
+ m[f"{ihq}-.{ihq}-"] = op_id.copy()
+ elif intr_fl == nf + 1:
+ # match the missing contribution from h+ and h-
+ m.update(
+ {
+ f"{ihq}+.{ihq}+": op_members[
+ (br.matching_hplus_pid, br.matching_hplus_pid)
+ ],
+ f"S.{ihq}+": op_members[(100, br.matching_hplus_pid)],
+ f"g.{ihq}+": op_members[(21, br.matching_hplus_pid)],
+ f"{ihq}-.{ihq}-": op_members[
+ (br.matching_hminus_pid, br.matching_hminus_pid)
+ ],
+ # f"V.{ihq}-": op_members[(200, br.matching_hminus_pid)],
+ }
+ )
return cls.promote_names(m, q2_thr)
diff --git a/src/eko/evolution_operator/operator_matrix_element.py b/src/eko/evolution_operator/operator_matrix_element.py
index 8966a62b9..b45e06c81 100644
--- a/src/eko/evolution_operator/operator_matrix_element.py
+++ b/src/eko/evolution_operator/operator_matrix_element.py
@@ -214,10 +214,6 @@ class OperatorMatrixElement(Operator):
def __init__(self, config, managers, nf, q2, is_backward, L, is_msbar):
super().__init__(config, managers, Segment(q2, q2, nf))
self.backward_method = config["backward_inversion"] if is_backward else None
- if is_backward:
- self.is_intrinsic = True
- else:
- self.is_intrinsic = bool(len(config["intrinsic_range"]) != 0)
self.L = L
self.is_msbar = is_msbar
# Note for the moment only QCD matching is implemented
@@ -238,7 +234,7 @@ def labels(self):
logger.warning("%s: skipping non-singlet sector", self.log_label)
else:
labels.append((200, 200))
- if self.is_intrinsic or self.backward_method is not None:
+ if self.backward_method is not None:
# intrinsic labels, which are not zero at NLO
labels.append((br.matching_hminus_pid, br.matching_hminus_pid))
# These contributions are always 0 for the moment
@@ -254,7 +250,7 @@ def labels(self):
(br.matching_hplus_pid, 100),
]
)
- if self.is_intrinsic or self.backward_method is not None:
+ if self.backward_method is not None:
labels.extend(
[
(21, br.matching_hplus_pid),
diff --git a/src/eko/evolution_operator/physical.py b/src/eko/evolution_operator/physical.py
index c963e2a26..6a5138d25 100644
--- a/src/eko/evolution_operator/physical.py
+++ b/src/eko/evolution_operator/physical.py
@@ -22,7 +22,7 @@ class PhysicalOperator(member.OperatorBase):
"""
@classmethod
- def ad_to_evol_map(cls, op_members, nf, q2_final, intrinsic_range, qed=False):
+ def ad_to_evol_map(cls, op_members, nf, q2_final, qed=False):
"""
Obtain map between the 3-dimensional anomalous dimension basis and the 4-dimensional evolution basis.
@@ -34,8 +34,6 @@ def ad_to_evol_map(cls, op_members, nf, q2_final, intrinsic_range, qed=False):
operator members in anomalous dimension basis
nf : int
number of active light flavors
- intrinsic_range : sequence
- intrinsic heavy flavors
qed : bool
activate qed
@@ -93,15 +91,14 @@ def ad_to_evol_map(cls, op_members, nf, q2_final, intrinsic_range, qed=False):
m["Tu8.Tu8"] = op_members[(br.non_singlet_pids_map["ns+u"], 0)]
m["Vu8.Vu8"] = op_members[(br.non_singlet_pids_map["ns-u"], 0)]
# deal with intrinsic heavy quark PDFs
- if intrinsic_range is not None:
- hqfl = "cbt"
- op_id = member.OpMember.id_like(op_members[(21, 21)])
- for intr_fl in intrinsic_range:
- if intr_fl <= nf: # light quarks are not intrinsic
- continue
- hq = hqfl[intr_fl - 4] # find name
- # intrinsic means no evolution, i.e. they are evolving with the identity
- m[f"{hq}+.{hq}+"] = op_id.copy()
- m[f"{hq}-.{hq}-"] = op_id.copy()
+ hqfl = "cbt"
+ op_id = member.OpMember.id_like(op_members[(21, 21)])
+ for intr_fl in [4, 5, 6]:
+ if intr_fl <= nf: # light quarks are not intrinsic
+ continue
+ hq = hqfl[intr_fl - 4] # find name
+ # intrinsic means no evolution, i.e. they are evolving with the identity
+ m[f"{hq}+.{hq}+"] = op_id.copy()
+ m[f"{hq}-.{hq}-"] = op_id.copy()
# map key to MemberName
return cls.promote_names(m, q2_final)
diff --git a/src/eko/io/legacy.py b/src/eko/io/legacy.py
index cb7b24644..8491a6acc 100644
--- a/src/eko/io/legacy.py
+++ b/src/eko/io/legacy.py
@@ -100,7 +100,6 @@ def from_old(cls, old: RawCard):
"""Load from old metadata."""
heavy = HeavyInfo(
num_flavs_init=4,
- intrinsic_flavors=[],
masses=HeavyQuarkMasses(
[
ReferenceRunning([_MC, np.inf]),
diff --git a/src/eko/io/runcards.py b/src/eko/io/runcards.py
index c66e48dc4..d5c8c36e8 100644
--- a/src/eko/io/runcards.py
+++ b/src/eko/io/runcards.py
@@ -193,11 +193,6 @@ def new_theory(self):
"matching_ratios": self.heavies("k%sThr", old),
"masses_scheme": old["HQ"],
}
- intrinsic = []
- for idx, q in enumerate(hq.FLAVORS):
- if old.get(f"i{q}".upper()) == 1:
- intrinsic.append(idx + 4)
- new["heavy"]["intrinsic_flavors"] = intrinsic
if old["HQ"] == "POLE":
new["heavy"]["masses"] = [[m, nan] for m in ms]
elif old["HQ"] == "MSBAR":
diff --git a/src/eko/io/types.py b/src/eko/io/types.py
index 5573bafbb..b92628116 100644
--- a/src/eko/io/types.py
+++ b/src/eko/io/types.py
@@ -22,7 +22,6 @@
Order = Tuple[int, int]
FlavorsNumber = int
FlavorIndex = int
-IntrinsicFlavors = typing.List[FlavorIndex]
N3LOAdVariation = typing.Tuple[int, int, int, int]
# Evolution coordinates
diff --git a/src/eko/quantities/heavy_quarks.py b/src/eko/quantities/heavy_quarks.py
index ab0ece64a..3b081a03d 100644
--- a/src/eko/quantities/heavy_quarks.py
+++ b/src/eko/quantities/heavy_quarks.py
@@ -6,13 +6,7 @@
import numpy as np
from ..io.dictlike import DictLike
-from ..io.types import (
- FlavorsNumber,
- IntrinsicFlavors,
- LinearScale,
- ReferenceRunning,
- SquaredScale,
-)
+from ..io.types import FlavorsNumber, LinearScale, ReferenceRunning, SquaredScale
FLAVORS = "cbt"
@@ -96,8 +90,6 @@ class HeavyInfo(DictLike):
I.e. :math:`n_{f,\text{ref}}(\mu^2_0)`, formerly called ``nf0``.
"""
- intrinsic_flavors: IntrinsicFlavors
- """List of intrinsic quark PDFs."""
masses: HeavyQuarkMasses
"""List of heavy quark masses."""
masses_scheme: QuarkMassScheme
diff --git a/src/eko/runner/legacy.py b/src/eko/runner/legacy.py
index c964c3415..76d6f1a8a 100644
--- a/src/eko/runner/legacy.py
+++ b/src/eko/runner/legacy.py
@@ -44,7 +44,6 @@ def __init__(
"""
new_theory, new_operator = runcards.update(theory_card, operators_card)
- new_theory.heavy.intrinsic_flavors = [4, 5, 6]
# Store inputs
self.path = path
@@ -69,7 +68,6 @@ def __init__(
masses=masses,
mass_scheme=new_theory.heavy.masses_scheme.value,
thresholds_ratios=new_theory.heavy.squared_ratios,
- intrinsic_flavors=new_theory.heavy.intrinsic_flavors,
xif=new_theory.xif,
configs=new_operator.configs,
debug=new_operator.debug,
diff --git a/src/eko/runner/managed.py b/src/eko/runner/managed.py
index c353decde..dc253e2ea 100644
--- a/src/eko/runner/managed.py
+++ b/src/eko/runner/managed.py
@@ -20,8 +20,6 @@
def solve(theory: TheoryCard, operator: OperatorCard, path: Path):
"""Solve DGLAP equations in terms of evolution kernel operators (EKO)."""
- theory.heavy.intrinsic_flavors = [4, 5, 6]
-
with EKO.create(path) as builder:
eko = builder.load_cards(theory, operator).build() # pylint: disable=E1101
diff --git a/src/eko/runner/parts.py b/src/eko/runner/parts.py
index 9f97a6de5..22a2ff9ca 100644
--- a/src/eko/runner/parts.py
+++ b/src/eko/runner/parts.py
@@ -40,32 +40,6 @@ def managers(eko: EKO) -> Managers:
)
-def blowup_info(eko: EKO) -> dict:
- """Prepare common information to blow up to flavor basis.
-
- Note
- ----
- ``intrinsic_range`` is a fully deprecated feature, here and anywhere else,
- since a full range is already always used for backward evolution, and it is
- not harmful to use it also for forward.
-
- Indeed, the only feature of non-intrinsic evolution is to absorb a
- non-trivial boundary condition when an intrinsic PDF is defined.
- But to achieve this, is sufficient to not specify any intrinsic boundary
- condition at all, while if something is there, it is intuitive enough that
- it will be consistently evolved.
-
- Moreover, since two different behavior are applied for the forward and
- backward evolution, the intrinsic range is a "non-local" function, since it
- does not depend only on the evolution segment, but also on the previous
- evolution history (to determine if evolution is backward in flavor,
- irrespectively of happening for an increasing or decreasing interval in
- scale at fixed flavor).
-
- """
- return dict(intrinsic_range=[4, 5, 6], qed=eko.theory_card.order[1] > 0)
-
-
def evolve_configs(eko: EKO) -> dict:
"""Create configs for :class:`Operator`.
@@ -99,10 +73,10 @@ def evolve(eko: EKO, recipe: Evolution) -> Operator:
)
op.compute()
- binfo = blowup_info(eko)
+ qed = eko.theory_card.order[1] > 0
res, err = physical.PhysicalOperator.ad_to_evol_map(
- op.op_members, op.nf, op.q2_to, **binfo
- ).to_flavor_basis_tensor(qed=binfo["qed"])
+ op.op_members, op.nf, op.q2_to, qed
+ ).to_flavor_basis_tensor(qed)
return Operator(res, err)
@@ -120,7 +94,6 @@ def matching_configs(eko: EKO) -> dict:
return dict(
**evolve_configs(eko),
backward_inversion=ocard.configs.inversion_method,
- intrinsic_range=tcard.heavy.intrinsic_flavors,
)
@@ -148,11 +121,10 @@ def match(eko: EKO, recipe: Matching) -> Operator:
eko.theory_card.heavy.masses_scheme is QuarkMassScheme.MSBAR,
)
op.compute()
-
- binfo = blowup_info(eko)
+ qed = eko.theory_card.order[1] > 0
nf_match = op.nf - 1 if recipe.inverse else op.nf
res, err = matching_condition.MatchingCondition.split_ad_to_evol_map(
- op.op_members, nf_match, recipe.scale, **binfo
- ).to_flavor_basis_tensor(qed=binfo["qed"])
+ op.op_members, nf_match, recipe.scale, qed
+ ).to_flavor_basis_tensor(qed)
return Operator(res, err)
diff --git a/src/ekobox/cards.py b/src/ekobox/cards.py
index a69b32ad6..482e65faf 100644
--- a/src/ekobox/cards.py
+++ b/src/ekobox/cards.py
@@ -18,7 +18,6 @@
),
heavy=dict(
num_flavs_init=4,
- intrinsic_flavors=[4],
masses=[ReferenceRunning([mq, nan]) for mq in (2.0, 4.5, 173.07)],
masses_scheme="POLE",
matching_ratios=[1.0, 1.0, 1.0],
diff --git a/tests/eko/evolution_operator/test_matching_condition.py b/tests/eko/evolution_operator/test_matching_condition.py
index 8cbd6b537..bb6aeebbc 100644
--- a/tests/eko/evolution_operator/test_matching_condition.py
+++ b/tests/eko/evolution_operator/test_matching_condition.py
@@ -22,12 +22,6 @@ def mkOME(self):
(br.matching_hplus_pid, 21),
(200, 200),
(br.matching_hminus_pid, 200),
- ]:
- ome.update({key: mkOM(self.shape)})
- return ome
-
- def update_intrinsic_OME(self, ome):
- for key in [
(br.matching_hplus_pid, br.matching_hplus_pid),
(br.matching_hminus_pid, br.matching_hminus_pid),
(200, br.matching_hminus_pid),
@@ -35,10 +29,11 @@ def update_intrinsic_OME(self, ome):
(21, br.matching_hplus_pid),
]:
ome.update({key: mkOM(self.shape)})
+ return ome
def test_split_ad_to_evol_map(self):
ome = self.mkOME()
- a = MatchingCondition.split_ad_to_evol_map(ome, 3, 1, [])
+ a = MatchingCondition.split_ad_to_evol_map(ome, 3, 1)
triv_keys = [
"V.V",
"T3.T3",
@@ -55,6 +50,14 @@ def test_split_ad_to_evol_map(self):
"c+.S",
"c+.g",
# "c-.V",
+ "S.c+",
+ "g.c+",
+ "c+.c+",
+ "c-.c-",
+ "b+.b+",
+ "b-.b-",
+ "t+.t+",
+ "t-.t-",
]
assert sorted(str(k) for k in a.op_members.keys()) == sorted(
[*triv_keys, *keys3]
@@ -63,36 +66,8 @@ def test_split_ad_to_evol_map(self):
a.op_members[member.MemberName("V.V")].value,
ome[(200, 200)].value,
)
- # # if alpha is zero, nothing non-trivial should happen
- b = MatchingCondition.split_ad_to_evol_map(ome, 3, 1, [])
- assert sorted(str(k) for k in b.op_members.keys()) == sorted(
- [*triv_keys, *keys3]
- )
- # assert_almost_equal(
- # b.op_members[member.MemberName("V.V")].value,
- # np.eye(self.shape[0]),
- # )
- # nf=3 + IC
- self.update_intrinsic_OME(ome)
- c = MatchingCondition.split_ad_to_evol_map(ome, 3, 1, [4])
- assert sorted(str(k) for k in c.op_members.keys()) == sorted(
- [*triv_keys, *keys3, "S.c+", "g.c+", "c+.c+", "c-.c-"]
- )
- assert_almost_equal(
- c.op_members[member.MemberName("V.V")].value,
- b.op_members[member.MemberName("V.V")].value,
- )
- # nf=3 + IB
- d = MatchingCondition.split_ad_to_evol_map(ome, 3, 1, [5])
- assert sorted(str(k) for k in d.op_members.keys()) == sorted(
- [*triv_keys, *keys3, "b+.b+", "b-.b-"]
- )
- assert_almost_equal(
- d.op_members[member.MemberName("b+.b+")].value,
- np.eye(self.shape[0]),
- )
# nf=4 + IB
- d = MatchingCondition.split_ad_to_evol_map(ome, 4, 1, [5])
+ d = MatchingCondition.split_ad_to_evol_map(ome, 4, 1)
assert sorted(str(k) for k in d.op_members.keys()) == sorted(
[
*triv_keys,
@@ -106,6 +81,8 @@ def test_split_ad_to_evol_map(self):
"b+.b+",
# "b-.V",
"b-.b-",
+ "t+.t+",
+ "t-.t-",
]
)
assert_almost_equal(
@@ -127,7 +104,7 @@ def test_split_ad_to_evol_map(self):
def test_split_ad_to_evol_map_qed(self):
ome = self.mkOME()
- a = MatchingCondition.split_ad_to_evol_map(ome, 3, 1, [], qed=True)
+ a = MatchingCondition.split_ad_to_evol_map(ome, 3, 1, qed=True)
triv_keys = [
"ph.ph",
"S.S",
@@ -144,7 +121,15 @@ def test_split_ad_to_evol_map_qed(self):
keys3 = [
"c+.S",
"c+.g",
+ "S.c+",
+ "g.c+",
+ "c+.c+",
+ "c-.c-",
# "c-.V",
+ "b+.b+",
+ "b-.b-",
+ "t+.t+",
+ "t-.t-",
]
assert sorted(str(k) for k in a.op_members.keys()) == sorted(
[*triv_keys, *keys3]
@@ -153,36 +138,8 @@ def test_split_ad_to_evol_map_qed(self):
a.op_members[member.MemberName("V.V")].value,
ome[(200, 200)].value,
)
- # # if alpha is zero, nothing non-trivial should happen
- b = MatchingCondition.split_ad_to_evol_map(ome, 3, 1, [], qed=True)
- assert sorted(str(k) for k in b.op_members.keys()) == sorted(
- [*triv_keys, *keys3]
- )
- # assert_almost_equal(
- # b.op_members[member.MemberName("V.V")].value,
- # np.eye(self.shape[0]),
- # )
- # nf=3 + IC
- self.update_intrinsic_OME(ome)
- c = MatchingCondition.split_ad_to_evol_map(ome, 3, 1, [4], qed=True)
- assert sorted(str(k) for k in c.op_members.keys()) == sorted(
- [*triv_keys, *keys3, "S.c+", "g.c+", "c+.c+", "c-.c-"]
- )
- assert_almost_equal(
- c.op_members[member.MemberName("V.V")].value,
- b.op_members[member.MemberName("V.V")].value,
- )
- # nf=3 + IB
- d = MatchingCondition.split_ad_to_evol_map(ome, 3, 1, [5], qed=True)
- assert sorted(str(k) for k in d.op_members.keys()) == sorted(
- [*triv_keys, *keys3, "b+.b+", "b-.b-"]
- )
- assert_almost_equal(
- d.op_members[member.MemberName("b+.b+")].value,
- np.eye(self.shape[0]),
- )
# nf=4 + IB
- d = MatchingCondition.split_ad_to_evol_map(ome, 4, 1, [5], qed=True)
+ d = MatchingCondition.split_ad_to_evol_map(ome, 4, 1, qed=True)
assert sorted(str(k) for k in d.op_members.keys()) == sorted(
[
*triv_keys,
@@ -196,6 +153,8 @@ def test_split_ad_to_evol_map_qed(self):
"b+.b+",
# "b-.V",
"b-.b-",
+ "t+.t+",
+ "t-.t-",
]
)
assert_almost_equal(
diff --git a/tests/eko/evolution_operator/test_physical.py b/tests/eko/evolution_operator/test_physical.py
index b4a9936b6..fb74fb617 100644
--- a/tests/eko/evolution_operator/test_physical.py
+++ b/tests/eko/evolution_operator/test_physical.py
@@ -221,27 +221,21 @@ def mk_op_members(shape=(2, 2), qed=False):
return om
-def get_ad_to_evol_map(nf, intrinsic_range=None, qed=False):
+def get_ad_to_evol_map(nf, qed=False):
oms = mk_op_members(qed=qed)
- m = PhysicalOperator.ad_to_evol_map(oms, nf, 1, intrinsic_range, qed)
+ m = PhysicalOperator.ad_to_evol_map(oms, nf, 1, qed)
return sorted(map(str, m.op_members.keys()))
def test_ad_to_evol_map():
triv_ops = ("S.S", "S.g", "g.S", "g.g", "V.V", "V3.V3", "T3.T3", "V8.V8", "T8.T8")
# nf=3
- assert sorted(triv_ops) == get_ad_to_evol_map(3)
- # nf=3 + IC
- assert sorted([*triv_ops, "c+.c+", "c-.c-"]) == get_ad_to_evol_map(3, [4])
- # nf=3 + IC + IB
assert sorted(
- [*triv_ops, "c+.c+", "c-.c-", "b+.b+", "b-.b-"]
- ) == get_ad_to_evol_map(3, [4, 5])
- # nf=4 + IC(non-existant) + IB
- ks = sorted([*triv_ops, "V15.V15", "T15.T15", "b+.b+", "b-.b-"])
- assert ks == get_ad_to_evol_map(4, [4, 5])
- # nf=4 + IB
- assert ks == get_ad_to_evol_map(4, [5])
+ [*triv_ops, "c+.c+", "c-.c-", "b+.b+", "b-.b-", "t+.t+", "t-.t-"]
+ ) == get_ad_to_evol_map(3)
+ # nf=4
+ ks = sorted([*triv_ops, "V15.V15", "T15.T15", "b+.b+", "b-.b-", "t+.t+", "t-.t-"])
+ assert ks == get_ad_to_evol_map(4)
# nf=6
assert sorted(
[*triv_ops, "T15.T15", "V15.V15", "T24.T24", "V24.V24", "T35.T35", "V35.V35"]
@@ -274,18 +268,12 @@ def test_ad_to_evol_map_qed():
"Td3.Td3",
)
# nf=3
- assert sorted(triv_ops) == get_ad_to_evol_map(3, qed=True)
- # nf=3 + IC
- assert sorted([*triv_ops, "c+.c+", "c-.c-"]) == get_ad_to_evol_map(3, [4], qed=True)
- # nf=3 + IC + IB
assert sorted(
- [*triv_ops, "c+.c+", "c-.c-", "b+.b+", "b-.b-"]
- ) == get_ad_to_evol_map(3, [4, 5], qed=True)
- # nf=4 + IC(non-existant) + IB
- ks = sorted([*triv_ops, "Vu3.Vu3", "Tu3.Tu3", "b+.b+", "b-.b-"])
- assert ks == get_ad_to_evol_map(4, [4, 5], qed=True)
- # nf=4 + IB
- assert ks == get_ad_to_evol_map(4, [5], qed=True)
+ [*triv_ops, "c+.c+", "c-.c-", "b+.b+", "b-.b-", "t+.t+", "t-.t-"]
+ ) == get_ad_to_evol_map(3, True)
+ # nf=4
+ ks = sorted([*triv_ops, "Vu3.Vu3", "Tu3.Tu3", "b+.b+", "b-.b-", "t+.t+", "t-.t-"])
+ assert ks == get_ad_to_evol_map(4, True)
# nf=6
assert sorted(
[*triv_ops, "Tu3.Tu3", "Vu3.Vu3", "Td8.Td8", "Vd8.Vd8", "Tu8.Tu8", "Vu8.Vu8"]
diff --git a/tests/eko/io/test_runcards.py b/tests/eko/io/test_runcards.py
index 6af37edcb..0a391047b 100644
--- a/tests/eko/io/test_runcards.py
+++ b/tests/eko/io/test_runcards.py
@@ -100,7 +100,6 @@ def test_runcards_quarkmass():
tc["IC"] = 1
oc = copy.deepcopy(operator_card)
nt, no = rc.update(tc, oc)
- assert nt.heavy.intrinsic_flavors == [4]
for _, scale in nt.heavy.masses:
assert np.isnan(scale)
m2s = rc.masses(nt, no.configs.evolution_method)
diff --git a/tests/eko/test_quantities.py b/tests/eko/test_quantities.py
index 8fd6c298f..f9dcb9203 100644
--- a/tests/eko/test_quantities.py
+++ b/tests/eko/test_quantities.py
@@ -34,7 +34,6 @@ def test_HeavyQuarks():
def test_HeavyInfo():
i = hq.HeavyInfo(
num_flavs_init=4,
- intrinsic_flavors=[4, 5],
masses=hq.HeavyQuarkMasses(
[
hq.QuarkMassRef([2.0, nan]),
From 7279e86333bf09043c8c161144561f6074b3c230 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 1 Aug 2023 11:40:59 +0200
Subject: [PATCH 022/216] Compute always intrinsic in ome
---
.../operator_matrix_element.py | 24 +++++++++----------
tests/eko/evolution_operator/test_ome.py | 1 +
2 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/src/eko/evolution_operator/operator_matrix_element.py b/src/eko/evolution_operator/operator_matrix_element.py
index b45e06c81..fc0518aa1 100644
--- a/src/eko/evolution_operator/operator_matrix_element.py
+++ b/src/eko/evolution_operator/operator_matrix_element.py
@@ -234,11 +234,10 @@ def labels(self):
logger.warning("%s: skipping non-singlet sector", self.log_label)
else:
labels.append((200, 200))
- if self.backward_method is not None:
- # intrinsic labels, which are not zero at NLO
- labels.append((br.matching_hminus_pid, br.matching_hminus_pid))
- # These contributions are always 0 for the moment
- # labels.extend([(200, br.matching_hminus_pid), (br.matching_hminus_pid, 200)])
+ # intrinsic labels, which are not zero at NLO
+ labels.append((br.matching_hminus_pid, br.matching_hminus_pid))
+ # These contributions are always 0 for the moment
+ # labels.extend([(200, br.matching_hminus_pid), (br.matching_hminus_pid, 200)])
# same for singlet
if self.config["debug_skip_singlet"]:
logger.warning("%s: skipping singlet sector", self.log_label)
@@ -250,14 +249,13 @@ def labels(self):
(br.matching_hplus_pid, 100),
]
)
- if self.backward_method is not None:
- labels.extend(
- [
- (21, br.matching_hplus_pid),
- (100, br.matching_hplus_pid),
- (br.matching_hplus_pid, br.matching_hplus_pid),
- ]
- )
+ labels.extend(
+ [
+ (21, br.matching_hplus_pid),
+ (100, br.matching_hplus_pid),
+ (br.matching_hplus_pid, br.matching_hplus_pid),
+ ]
+ )
return labels
def quad_ker(self, label, logx, areas):
diff --git a/tests/eko/evolution_operator/test_ome.py b/tests/eko/evolution_operator/test_ome.py
index b844290c9..c90563269 100644
--- a/tests/eko/evolution_operator/test_ome.py
+++ b/tests/eko/evolution_operator/test_ome.py
@@ -338,6 +338,7 @@ def test_labels(self, theory_ffns, operator_card, tmp_path: pathlib.Path):
path = tmp_path / "eko.tar"
for skip_singlet in [True, False]:
for skip_ns in [True, False]:
+ operator_card.configs.inversion_method = "exact"
operator_card.debug.skip_singlet = skip_singlet
operator_card.debug.skip_non_singlet = skip_ns
path.unlink(missing_ok=True)
From da9fbc42da4ee62823f80031efba037a0e9e8642 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 1 Aug 2023 12:08:15 +0200
Subject: [PATCH 023/216] Move eko.io.runcards.update
---
src/eko/io/runcards.py | 22 --------
src/eko/runner/legacy.py | 4 +-
src/ekomark/data/__init__.py | 28 ++++++++++
tests/eko/io/test_runcards.py | 88 ------------------------------
tests/ekomark/data/__init__.py | 0
tests/ekomark/data/test_init.py | 96 +++++++++++++++++++++++++++++++++
6 files changed, 127 insertions(+), 111 deletions(-)
create mode 100644 tests/ekomark/data/__init__.py
create mode 100644 tests/ekomark/data/test_init.py
diff --git a/src/eko/io/runcards.py b/src/eko/io/runcards.py
index d5c8c36e8..8a6261bf2 100644
--- a/src/eko/io/runcards.py
+++ b/src/eko/io/runcards.py
@@ -255,28 +255,6 @@ def new_operator(self):
return OperatorCard.from_dict(new)
-def update(theory: Union[RawCard, TheoryCard], operator: Union[RawCard, OperatorCard]):
- """Update legacy runcards.
-
- This function is mainly defined for compatibility with the old interface.
- Prefer direct usage of :class:`Legacy` in new code.
-
- Consecutive applications of this function yield identical results::
-
- cards = update(theory, operator)
- assert update(*cards) == cards
-
- """
- if isinstance(theory, TheoryCard) or isinstance(operator, OperatorCard):
- # if one is not a dict, both have to be new cards
- assert isinstance(theory, TheoryCard)
- assert isinstance(operator, OperatorCard)
- return theory, operator
-
- cards = Legacy(theory, operator)
- return cards.new_theory, cards.new_operator
-
-
def default_atlas(masses: list, matching_ratios: list):
r"""Create default landscape.
diff --git a/src/eko/runner/legacy.py b/src/eko/runner/legacy.py
index 76d6f1a8a..5de53ceb7 100644
--- a/src/eko/runner/legacy.py
+++ b/src/eko/runner/legacy.py
@@ -3,6 +3,8 @@
import os
from typing import Union
+from ekomark.data import update_runcards
+
from ..evolution_operator.grid import OperatorGrid
from ..io import EKO, Operator, runcards
from ..io.types import RawCard
@@ -43,7 +45,7 @@ def __init__(
path where to store the computed operator
"""
- new_theory, new_operator = runcards.update(theory_card, operators_card)
+ new_theory, new_operator = update_runcards(theory_card, operators_card)
# Store inputs
self.path = path
diff --git a/src/ekomark/data/__init__.py b/src/ekomark/data/__init__.py
index 797409204..b6242845b 100644
--- a/src/ekomark/data/__init__.py
+++ b/src/ekomark/data/__init__.py
@@ -1 +1,29 @@
"""EKO database configuration."""
+from typing import Union
+
+from eko.io.runcards import Legacy, OperatorCard, TheoryCard
+from eko.io.types import RawCard
+
+
+def update_runcards(
+ theory: Union[RawCard, TheoryCard], operator: Union[RawCard, OperatorCard]
+):
+ """Update legacy runcards.
+
+ This function is mainly defined for compatibility with the old interface.
+ Prefer direct usage of :class:`Legacy` in new code.
+
+ Consecutive applications of this function yield identical results::
+
+ cards = update(theory, operator)
+ assert update(*cards) == cards
+
+ """
+ if isinstance(theory, TheoryCard) or isinstance(operator, OperatorCard):
+ # if one is not a dict, both have to be new cards
+ assert isinstance(theory, TheoryCard)
+ assert isinstance(operator, OperatorCard)
+ return theory, operator
+
+ cards = Legacy(theory, operator)
+ return cards.new_theory, cards.new_operator
diff --git a/tests/eko/io/test_runcards.py b/tests/eko/io/test_runcards.py
index 0a391047b..465a1abf6 100644
--- a/tests/eko/io/test_runcards.py
+++ b/tests/eko/io/test_runcards.py
@@ -1,14 +1,11 @@
-import copy
from io import StringIO
import numpy as np
import pytest
import yaml
-from banana.data.theories import default_card as theory_card
from eko.io import runcards as rc
from eko.io.bases import Bases
-from ekomark.data.operators import default_card as operator_card
def test_flavored_mu2grid():
@@ -31,48 +28,6 @@ def test_flavored_mu2grid():
assert t == tuple(l)
-def test_runcards_opcard():
- # check conversion
- tc = copy.deepcopy(theory_card)
- oc = copy.deepcopy(operator_card)
- tc["Q0"] = 2.0
- # mugrid
- oc["mugrid"] = [2.0, 10.0]
- _nt, no = rc.update(tc, oc)
- assert isinstance(no, rc.OperatorCard)
- assert len(no.evolgrid) == len(oc["mugrid"])
- assert len(no.mu2grid) == len(no.evolgrid)
- assert no.evolgrid[0][-1] == 4
- assert no.evolgrid[1][-1] == 5
- np.testing.assert_allclose(no.mu0, tc["Q0"])
- np.testing.assert_allclose(no.mu20, tc["Q0"] ** 2.0)
- assert len(no.pids) == 14
- check_dumpable(no)
- del oc["mugrid"]
- # or mu2grid
- oc["mu2grid"] = [9.0, 30.0, 32.0]
- _nt, no = rc.update(tc, oc)
- assert isinstance(no, rc.OperatorCard)
- assert len(no.evolgrid) == len(oc["mu2grid"])
- assert len(no.mu2grid) == len(no.evolgrid)
- assert no.evolgrid[0][-1] == 4
- assert no.evolgrid[1][-1] == 5
- assert no.evolgrid[2][-1] == 5
- check_dumpable(no)
- del oc["mu2grid"]
- # or Q2grid
- oc["Q2grid"] = [15.0, 130.0, 140.0, 1e5]
- _nt, no = rc.update(tc, oc)
- assert isinstance(no, rc.OperatorCard)
- assert len(no.evolgrid) == len(oc["Q2grid"])
- assert len(no.mu2grid) == len(no.evolgrid)
- assert no.evolgrid[0][-1] == 4
- assert no.evolgrid[1][-1] == 5
- assert no.evolgrid[2][-1] == 5
- assert no.evolgrid[3][-1] == 6
- check_dumpable(no)
-
-
def check_dumpable(no):
"""Check we can write and read to yaml."""
so = StringIO()
@@ -81,49 +36,6 @@ def check_dumpable(no):
noo = yaml.safe_load(so)
-def test_runcards_ekomark():
- # check conversion
- tc = copy.deepcopy(theory_card)
- oc = copy.deepcopy(operator_card)
- nt, no = rc.update(tc, oc)
- assert isinstance(nt, rc.TheoryCard)
- assert isinstance(no, rc.OperatorCard)
- # check is idempotent
- nnt, nno = rc.update(nt, no)
- assert nnt == nt
- assert nno == no
-
-
-def test_runcards_quarkmass():
- tc = copy.deepcopy(theory_card)
- tc["nfref"] = 5
- tc["IC"] = 1
- oc = copy.deepcopy(operator_card)
- nt, no = rc.update(tc, oc)
- for _, scale in nt.heavy.masses:
- assert np.isnan(scale)
- m2s = rc.masses(nt, no.configs.evolution_method)
- raw = rc.Legacy.heavies("m%s", tc)
- raw2 = np.power(raw, 2.0)
- np.testing.assert_allclose(m2s, raw2)
- tc["HQ"] = "MSBAR"
- tc["Qmc"] = raw[0] * 1.1
- tc["Qmb"] = raw[1] * 1.1
- tc["Qmt"] = raw[2] * 0.9
- nt, no = rc.update(tc, oc)
- for _, scale in nt.heavy.masses:
- assert not np.isnan(scale)
- m2s = rc.masses(nt, no.configs.evolution_method)
- for m1, m2 in zip(m2s, raw2):
- assert not np.isclose(m1, m2)
- tc["HQ"] = "Blub"
- with pytest.raises(ValueError, match="mass scheme"):
- _nt, _no = rc.update(tc, oc)
- nt.heavy.masses_scheme = "Bla"
- with pytest.raises(ValueError, match="mass scheme"):
- _ms = rc.masses(nt, no.configs.evolution_method)
-
-
def test_legacy_fallback():
assert rc.Legacy.fallback(1, 2, 3) == 1
assert rc.Legacy.fallback(None, 2, 3) == 2
diff --git a/tests/ekomark/data/__init__.py b/tests/ekomark/data/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/ekomark/data/test_init.py b/tests/ekomark/data/test_init.py
new file mode 100644
index 000000000..7d39dca43
--- /dev/null
+++ b/tests/ekomark/data/test_init.py
@@ -0,0 +1,96 @@
+import copy
+
+import numpy as np
+import pytest
+from banana.data.theories import default_card as theory_card
+
+from eko.io import runcards as rc
+from ekomark.data import update_runcards
+from ekomark.data.operators import default_card as operator_card
+
+from ...eko.io.test_runcards import check_dumpable
+
+
+def test_runcards_opcard():
+ # check conversion
+ tc = copy.deepcopy(theory_card)
+ oc = copy.deepcopy(operator_card)
+ tc["Q0"] = 2.0
+ # mugrid
+ oc["mugrid"] = [2.0, 10.0]
+ _nt, no = update_runcards(tc, oc)
+ assert isinstance(no, rc.OperatorCard)
+ assert len(no.evolgrid) == len(oc["mugrid"])
+ assert len(no.mu2grid) == len(no.evolgrid)
+ assert no.evolgrid[0][-1] == 4
+ assert no.evolgrid[1][-1] == 5
+ np.testing.assert_allclose(no.mu0, tc["Q0"])
+ np.testing.assert_allclose(no.mu20, tc["Q0"] ** 2.0)
+ assert len(no.pids) == 14
+ check_dumpable(no)
+ del oc["mugrid"]
+ # or mu2grid
+ oc["mu2grid"] = [9.0, 30.0, 32.0]
+ _nt, no = update_runcards(tc, oc)
+ assert isinstance(no, rc.OperatorCard)
+ assert len(no.evolgrid) == len(oc["mu2grid"])
+ assert len(no.mu2grid) == len(no.evolgrid)
+ assert no.evolgrid[0][-1] == 4
+ assert no.evolgrid[1][-1] == 5
+ assert no.evolgrid[2][-1] == 5
+ check_dumpable(no)
+ del oc["mu2grid"]
+ # or Q2grid
+ oc["Q2grid"] = [15.0, 130.0, 140.0, 1e5]
+ _nt, no = update_runcards(tc, oc)
+ assert isinstance(no, rc.OperatorCard)
+ assert len(no.evolgrid) == len(oc["Q2grid"])
+ assert len(no.mu2grid) == len(no.evolgrid)
+ assert no.evolgrid[0][-1] == 4
+ assert no.evolgrid[1][-1] == 5
+ assert no.evolgrid[2][-1] == 5
+ assert no.evolgrid[3][-1] == 6
+ check_dumpable(no)
+
+
+def test_runcards_ekomark():
+ # check conversion
+ tc = copy.deepcopy(theory_card)
+ oc = copy.deepcopy(operator_card)
+ nt, no = update_runcards(tc, oc)
+ assert isinstance(nt, rc.TheoryCard)
+ assert isinstance(no, rc.OperatorCard)
+ # check is idempotent
+ nnt, nno = update_runcards(nt, no)
+ assert nnt == nt
+ assert nno == no
+
+
+def test_runcards_quarkmass():
+ tc = copy.deepcopy(theory_card)
+ tc["nfref"] = 5
+ tc["IC"] = 1
+ oc = copy.deepcopy(operator_card)
+ nt, no = update_runcards(tc, oc)
+ for _, scale in nt.heavy.masses:
+ assert np.isnan(scale)
+ m2s = rc.masses(nt, no.configs.evolution_method)
+ raw = rc.Legacy.heavies("m%s", tc)
+ raw2 = np.power(raw, 2.0)
+ np.testing.assert_allclose(m2s, raw2)
+ tc["HQ"] = "MSBAR"
+ tc["Qmc"] = raw[0] * 1.1
+ tc["Qmb"] = raw[1] * 1.1
+ tc["Qmt"] = raw[2] * 0.9
+ nt, no = update_runcards(tc, oc)
+ for _, scale in nt.heavy.masses:
+ assert not np.isnan(scale)
+ m2s = rc.masses(nt, no.configs.evolution_method)
+ for m1, m2 in zip(m2s, raw2):
+ assert not np.isclose(m1, m2)
+ tc["HQ"] = "Blub"
+ with pytest.raises(ValueError, match="mass scheme"):
+ _nt, _no = update_runcards(tc, oc)
+ nt.heavy.masses_scheme = "Bla"
+ with pytest.raises(ValueError, match="mass scheme"):
+ _ms = rc.masses(nt, no.configs.evolution_method)
From ac406cd3c0f956654a5f679e95fec0073bb55c00 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 1 Aug 2023 12:40:16 +0200
Subject: [PATCH 024/216] Use EPoint in couplings
---
benchmarks/eko/benchmark_evol_to_unity.py | 3 +--
benchmarks/eko/benchmark_msbar_evolution.py | 3 +--
benchmarks/eko/benchmark_strong_coupling.py | 8 +++-----
benchmarks/ekobox/benchmark_evol_pdf.py | 4 ++--
doc/source/overview/tutorials/alpha_s.ipynb | 2 +-
doc/source/overview/tutorials/pdf.ipynb | 3 +--
extras/n3lo_bench/splitting_function_utils.py | 3 +--
src/eko/couplings.py | 6 +++---
src/eko/io/runcards.py | 3 +--
src/eko/msbar_masses.py | 4 ++--
src/eko/quantities/couplings.py | 10 ++--------
src/ekobox/cards.py | 3 +--
src/ekobox/info_file.py | 2 +-
tests/eko/kernels/test_kernels_QEDns.py | 3 +--
tests/eko/quantities/test_couplings.py | 4 ++--
tests/eko/runner/test_legacy.py | 2 +-
tests/eko/test_couplings.py | 17 ++++++-----------
tests/eko/test_msbar_masses.py | 3 +--
18 files changed, 31 insertions(+), 52 deletions(-)
diff --git a/benchmarks/eko/benchmark_evol_to_unity.py b/benchmarks/eko/benchmark_evol_to_unity.py
index d269db202..5e864b3b5 100644
--- a/benchmarks/eko/benchmark_evol_to_unity.py
+++ b/benchmarks/eko/benchmark_evol_to_unity.py
@@ -19,8 +19,7 @@ def update_cards(theory: TheoryCard, operator: OperatorCard):
theory.couplings = CouplingsInfo(
alphas=0.35,
alphaem=0.007496,
- scale=float(np.sqrt(2)),
- num_flavs_ref=None,
+ scale=(float(np.sqrt(2)), 4),
)
theory.heavy.num_flavs_init = 4
theory.heavy.masses.c.value = 1.0
diff --git a/benchmarks/eko/benchmark_msbar_evolution.py b/benchmarks/eko/benchmark_msbar_evolution.py
index 6286e15ad..86e0e361e 100644
--- a/benchmarks/eko/benchmark_msbar_evolution.py
+++ b/benchmarks/eko/benchmark_msbar_evolution.py
@@ -20,9 +20,8 @@
def update_theory(theory: TheoryCard):
theory.order = (3, 0)
- theory.couplings.scale = 91
+ theory.couplings.ref = (91, 5)
theory.couplings.alphaem = 0.007496
- theory.couplings.num_flavs_ref = 5
theory.heavy.masses_scheme = QuarkMassScheme.MSBAR
theory.heavy.masses.c = QuarkMassRef([1.5, 18])
theory.heavy.masses.b = QuarkMassRef([4.1, 20])
diff --git a/benchmarks/eko/benchmark_strong_coupling.py b/benchmarks/eko/benchmark_strong_coupling.py
index 80f65cf72..3f94bd036 100644
--- a/benchmarks/eko/benchmark_strong_coupling.py
+++ b/benchmarks/eko/benchmark_strong_coupling.py
@@ -39,8 +39,7 @@ def ref_couplings(ref_values, ref_scale: float, ref_nf: FlavorsNumber) -> Coupli
return CouplingsInfo(
alphas=ref_values[0],
alphaem=ref_values[1],
- scale=ref_scale,
- num_flavs_ref=ref_nf,
+ ref=(ref_scale, ref_nf),
)
@@ -841,9 +840,8 @@ def benchmark_APFEL_fact_to_ren_lha_settings(self, theory_card: TheoryCard):
theory = theory_card
theory.order = (3, 0)
theory.couplings.alphas = 0.35
- theory.couplings.scale = float(np.sqrt(2))
theory.couplings.alphaem = 0.007496
- theory.couplings.num_flavs_ref = 4
+ theory.couplings.ref = (float(np.sqrt(2)), 4)
theory.heavy.num_flavs_init = 3
theory.xif = np.sqrt(1.0 / 2.0)
theory.heavy.masses.c.value = np.sqrt(2.0)
@@ -886,7 +884,7 @@ def benchmark_APFEL_fact_to_ren_lha_settings(self, theory_card: TheoryCard):
apfel.SetTheory("QCD")
apfel.SetPerturbativeOrder(theory.order[0] - 1)
apfel.SetAlphaEvolution("exact")
- apfel.SetAlphaQCDRef(theory.couplings.alphas, theory.couplings.scale)
+ apfel.SetAlphaQCDRef(theory.couplings.alphas, theory.couplings.ref[0])
apfel.SetVFNS()
apfel.SetPoleMasses(qmasses.c.value, qmasses.b.value, qmasses.t.value)
apfel.SetMassMatchingScales(
diff --git a/benchmarks/ekobox/benchmark_evol_pdf.py b/benchmarks/ekobox/benchmark_evol_pdf.py
index c85083604..5d198b3ff 100644
--- a/benchmarks/ekobox/benchmark_evol_pdf.py
+++ b/benchmarks/ekobox/benchmark_evol_pdf.py
@@ -21,7 +21,7 @@ def benchmark_evolve_single_member(
theory = theory_card
theory.order = (1, 0)
theory.couplings.alphas = 0.118000
- theory.couplings.scale = 91.1876
+ theory.couplings.ref = (91.1876, 5)
theory.couplings.alphaem = 0.007496
theory.heavy.masses.c.value = 1.3
theory.heavy.masses.b.value = 4.75
@@ -47,7 +47,7 @@ def benchmark_evolve_single_member(
ev_pdf = lhapdf.mkPDF("EvPDF", 0)
assert info["XMin"] == op.xgrid.raw[0]
assert info["SetDesc"] == "MyEvolvedPDF"
- assert info["MZ"] == theory.couplings.scale
+ assert info["MZ"] == theory.couplings.ref[0]
assert info["Debug"] == "Debug"
xgrid = op.xgrid.raw
for idx, mu2 in enumerate(op.mu2grid):
diff --git a/doc/source/overview/tutorials/alpha_s.ipynb b/doc/source/overview/tutorials/alpha_s.ipynb
index d8954900d..327eb39c9 100644
--- a/doc/source/overview/tutorials/alpha_s.ipynb
+++ b/doc/source/overview/tutorials/alpha_s.ipynb
@@ -40,7 +40,7 @@
"\n",
"# set the (alpha_s, alpha_em) reference values\n",
"couplings_ref = CouplingsInfo(\n",
- " alphas=0.118, alphaem=0.007496252, scale=91.0, num_flavs_ref=5\n",
+ " alphas=0.118, alphaem=0.007496252, ref=(91.0, 5)\n",
")\n",
"\n",
"# set heavy quark masses and their threshold ratios\n",
diff --git a/doc/source/overview/tutorials/pdf.ipynb b/doc/source/overview/tutorials/pdf.ipynb
index 0719d9d63..2cc2f688b 100644
--- a/doc/source/overview/tutorials/pdf.ipynb
+++ b/doc/source/overview/tutorials/pdf.ipynb
@@ -369,8 +369,7 @@
"th_card.orders = (1,0) # QCD LO\n",
"th_card.heavy.masses = HeavyQuarks([QuarkMassRef([1.3,nan]), QuarkMassRef([4.75,nan]), QuarkMassRef([172.,nan])]) # quark mass\n",
"th_card.couplings.alphas = 0.130000 # reference value of alpha_s\n",
- "th_card.couplings.scale = 91.1876 # the reference scale at which alpha_s is provided\n",
- "th_card.couplings.num_flavs_ref = 5 # the number of flavors active at the alpha_s reference scale\n",
+ "th_card.couplings.ref = (91.1876,5) # the reference scale together with the number of flavors at which alpha_s is provided\n",
"th_card.heavy.num_flavs_init = 3 # the number of flavors active at the reference scale"
]
},
diff --git a/extras/n3lo_bench/splitting_function_utils.py b/extras/n3lo_bench/splitting_function_utils.py
index db06f5c72..7368e24b1 100644
--- a/extras/n3lo_bench/splitting_function_utils.py
+++ b/extras/n3lo_bench/splitting_function_utils.py
@@ -103,8 +103,7 @@ def compute_a_s(q2=None, xif2=1.0, nf=None, order=(4, 0)):
ref = CouplingsInfo(
alphas=0.1181,
alphaem=0.007496,
- scale=91.00,
- num_flavs_ref=5,
+ ref=(91.00, 5),
)
sc = Couplings(
couplings=ref,
diff --git a/src/eko/couplings.py b/src/eko/couplings.py
index 1b3620032..3bf21b11d 100644
--- a/src/eko/couplings.py
+++ b/src/eko/couplings.py
@@ -435,7 +435,7 @@ def assert_positive(name, var):
assert_positive("alpha_s_ref", couplings.alphas)
assert_positive("alpha_em_ref", couplings.alphaem)
- assert_positive("scale_ref", couplings.scale)
+ assert_positive("scale_ref", couplings.ref[0])
if order[0] not in [1, 2, 3, 4]:
raise NotImplementedError("a_s beyond N3LO is not implemented")
if order[1] not in [0, 1, 2]:
@@ -445,7 +445,7 @@ def assert_positive(name, var):
raise ValueError(f"Unknown method {method.value}")
self.method = method.value
- nf_ref = couplings.num_flavs_ref
+ nf_ref = couplings.ref[1]
scheme_name = hqm_scheme.name
self.alphaem_running = couplings.em_running
self.decoupled_running = False
@@ -454,7 +454,7 @@ def assert_positive(name, var):
self.a_ref = np.array(couplings.values) / 4.0 / np.pi # convert to a_s and a_em
matching_scales = (np.array(masses) * np.array(thresholds_ratios)).tolist()
self.thresholds_ratios = list(thresholds_ratios)
- self.atlas = matchings.Atlas(matching_scales, (couplings.scale**2, nf_ref))
+ self.atlas = matchings.Atlas(matching_scales, (couplings.ref[0] ** 2, nf_ref))
self.hqm_scheme = scheme_name
logger.info(
"Strong Coupling: a_s(µ_R^2=%f)%s=%f=%f/(4π)",
diff --git a/src/eko/io/runcards.py b/src/eko/io/runcards.py
index 8a6261bf2..3d8413d1b 100644
--- a/src/eko/io/runcards.py
+++ b/src/eko/io/runcards.py
@@ -183,8 +183,7 @@ def new_theory(self):
alphas=old["alphas"],
alphaem=alphaem,
em_running=em_running,
- scale=old["Qref"],
- num_flavs_ref=old["nfref"],
+ ref=(old["Qref"], old["nfref"]),
)
new["heavy"] = {
"num_flavs_init": nf_default(old["Q0"] ** 2.0, default_atlas(ms, ks))
diff --git a/src/eko/msbar_masses.py b/src/eko/msbar_masses.py
index f13582110..5edac4c46 100644
--- a/src/eko/msbar_masses.py
+++ b/src/eko/msbar_masses.py
@@ -377,8 +377,8 @@ def compute(
"""
# TODO: sketch in the docs how the MSbar computation works with a figure.
- mu2_ref = couplings.scale**2
- nf_ref: FlavorsNumber = couplings.num_flavs_ref
+ mu2_ref = couplings.ref[0] ** 2
+ nf_ref: FlavorsNumber = couplings.ref[1]
masses = np.concatenate((np.zeros(nf_ref - 3), np.full(6 - nf_ref, np.inf)))
def sc(thr_masses):
diff --git a/src/eko/quantities/couplings.py b/src/eko/quantities/couplings.py
index f80420a9c..3a5ab96ef 100644
--- a/src/eko/quantities/couplings.py
+++ b/src/eko/quantities/couplings.py
@@ -3,6 +3,7 @@
import enum
from ..io.dictlike import DictLike
+from ..io.types import EvolutionPoint as EPoint
from ..io.types import FlavorsNumber, LinearScale, ReferenceRunning, Scalar
Coupling = Scalar
@@ -19,14 +20,7 @@ class CouplingsInfo(DictLike):
alphas: Coupling
alphaem: Coupling
- scale: LinearScale
- num_flavs_ref: FlavorsNumber
- r"""Number of active flavors at strong coupling reference scale.
-
- I.e. :math:`n_{f,\text{ref}}(\mu^2_{\text{ref}})`, formerly called
- ``nfref``.
-
- """
+ ref: EPoint
em_running: bool = False
@property
diff --git a/src/ekobox/cards.py b/src/ekobox/cards.py
index 482e65faf..3d4e346aa 100644
--- a/src/ekobox/cards.py
+++ b/src/ekobox/cards.py
@@ -13,8 +13,7 @@
couplings=dict(
alphas=0.118,
alphaem=0.007496252,
- scale=91.2,
- num_flavs_ref=5,
+ ref=(91.2, 5),
),
heavy=dict(
num_flavs_init=4,
diff --git a/src/ekobox/info_file.py b/src/ekobox/info_file.py
index 2f99d8377..35f2cfcae 100644
--- a/src/ekobox/info_file.py
+++ b/src/ekobox/info_file.py
@@ -48,7 +48,7 @@ def build(
template_info["OrderQCD"] = theory_card.order[0] - 1
template_info["QMin"] = round(math.sqrt(operators_card.mu2grid[0]), 4)
template_info["QMax"] = round(math.sqrt(operators_card.mu2grid[-1]), 4)
- template_info["MZ"] = theory_card.couplings.scale
+ template_info["MZ"] = theory_card.couplings.ref[0]
template_info["MUp"] = 0.0
template_info["MDown"] = 0.0
template_info["MStrange"] = 0.0
diff --git a/tests/eko/kernels/test_kernels_QEDns.py b/tests/eko/kernels/test_kernels_QEDns.py
index b85a3f013..2e710c722 100644
--- a/tests/eko/kernels/test_kernels_QEDns.py
+++ b/tests/eko/kernels/test_kernels_QEDns.py
@@ -119,8 +119,7 @@ def test_zero_true_gamma():
dict(
alphas=alpharef[0],
alphaem=alpharef[1],
- scale=muref,
- num_flavs_ref=5,
+ ref=(muref, 5),
)
)
evmod = CouplingEvolutionMethod.EXACT
diff --git a/tests/eko/quantities/test_couplings.py b/tests/eko/quantities/test_couplings.py
index 83bef709c..e4d194d5b 100644
--- a/tests/eko/quantities/test_couplings.py
+++ b/tests/eko/quantities/test_couplings.py
@@ -3,7 +3,7 @@
def test_couplings_ref():
scale = 90.0
- d = dict(alphas=0.1, alphaem=0.01, scale=scale, num_flavs_ref=5)
+ d = dict(alphas=0.1, alphaem=0.01, ref=(scale, 5))
couplings = CouplingsInfo.from_dict(d)
- assert couplings.scale == scale
+ assert couplings.ref[0] == scale
assert not couplings.em_running
diff --git a/tests/eko/runner/test_legacy.py b/tests/eko/runner/test_legacy.py
index 60395acc5..1828285c3 100644
--- a/tests/eko/runner/test_legacy.py
+++ b/tests/eko/runner/test_legacy.py
@@ -36,7 +36,7 @@ class FakeEM(enum.Enum):
eko.runner.legacy.Runner(theory_card, operator_card, path=path)
# MSbar scheme
theory_card.heavy.masses_scheme = QuarkMassScheme.MSBAR
- theory_card.couplings.num_flavs_ref = 5
+ theory_card.couplings.ref = (91.0, 5)
theory_card.heavy.masses.c.scale = 2
theory_card.heavy.masses.b.scale = 4.5
theory_card.heavy.masses.t.scale = 173.07
diff --git a/tests/eko/test_couplings.py b/tests/eko/test_couplings.py
index 10535cbcb..7468051be 100644
--- a/tests/eko/test_couplings.py
+++ b/tests/eko/test_couplings.py
@@ -53,8 +53,7 @@ def test_init(self):
dict(
alphas=alpharef[0],
alphaem=alpharef[1],
- scale=muref,
- num_flavs_ref=5,
+ ref=(muref, 5),
)
)
order = (1, 0)
@@ -107,7 +106,7 @@ def test_init(self):
)
with pytest.raises(ValueError):
coup3 = copy.deepcopy(couplings)
- coup3.scale = 0
+ coup3.ref = (0.0, 5)
Couplings(
coup3,
order,
@@ -159,8 +158,7 @@ def test_ref(self):
dict(
alphas=alpharef[0],
alphaem=alpharef[1],
- scale=muref,
- num_flavs_ref=nfref,
+ ref=(muref, nfref),
)
)
for order_s in [1, 2, 3, 4]:
@@ -193,8 +191,7 @@ def test_ref_copy_e841b0dfdee2f31d9ccc1ecee4d9d1a6f6624313(self):
dict(
alphas=alpharef[0],
alphaem=alpharef[1],
- scale=muref,
- num_flavs_ref=3, # reference nf is needed to force the matching
+ ref=(muref, 3), # reference nf is needed to force the matching
)
)
sc = Couplings(
@@ -233,8 +230,7 @@ def test_exact(self):
dict(
alphas=alpharef[0],
alphaem=alpharef[1],
- scale=muref,
- num_flavs_ref=nfref,
+ ref=(muref, nfref),
em_running=em_running,
)
)
@@ -295,8 +291,7 @@ def benchmark_expanded_n3lo(self):
couplings = CouplingsInfo(
alphas=alpharef[0],
alphaem=alpharef[1],
- scale=muref,
- num_flavs_ref=5,
+ ref=(muref, 5),
)
m2c = 2
m2b = 25
diff --git a/tests/eko/test_msbar_masses.py b/tests/eko/test_msbar_masses.py
index b0c102ef8..edfd243ab 100644
--- a/tests/eko/test_msbar_masses.py
+++ b/tests/eko/test_msbar_masses.py
@@ -15,9 +15,8 @@ def theory_card(theory_card: TheoryCard):
th = theory_card
th.order = (3, 0)
th.couplings.alphas = 0.1180
- th.couplings.scale = 91.0
th.couplings.alphaem = 0.00781
- th.couplings.num_flavs_ref = 5
+ th.couplings.ref = (91.0, 5)
th.heavy.masses = HeavyQuarkMasses(
[QuarkMassRef(val) for val in [(2.0, 2.1), (4.0, 4.1), (175.0, 174.9)]]
)
From 45ae33043c33435ae5231e34785d1572cd774fe7 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 1 Aug 2023 15:04:11 +0200
Subject: [PATCH 025/216] Fix couplings ref ep in benchmarks
---
benchmarks/eko/benchmark_evol_to_unity.py | 2 +-
benchmarks/eko/benchmark_msbar_evolution.py | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/benchmarks/eko/benchmark_evol_to_unity.py b/benchmarks/eko/benchmark_evol_to_unity.py
index 5e864b3b5..561721f6f 100644
--- a/benchmarks/eko/benchmark_evol_to_unity.py
+++ b/benchmarks/eko/benchmark_evol_to_unity.py
@@ -19,7 +19,7 @@ def update_cards(theory: TheoryCard, operator: OperatorCard):
theory.couplings = CouplingsInfo(
alphas=0.35,
alphaem=0.007496,
- scale=(float(np.sqrt(2)), 4),
+ ref=(float(np.sqrt(2)), 4),
)
theory.heavy.num_flavs_init = 4
theory.heavy.masses.c.value = 1.0
diff --git a/benchmarks/eko/benchmark_msbar_evolution.py b/benchmarks/eko/benchmark_msbar_evolution.py
index 86e0e361e..c0e849e64 100644
--- a/benchmarks/eko/benchmark_msbar_evolution.py
+++ b/benchmarks/eko/benchmark_msbar_evolution.py
@@ -148,7 +148,7 @@ def benchmark_APFEL_msbar_evolution(
apfel.SetTheory("QCD")
apfel.SetPerturbativeOrder(order - 1)
apfel.SetAlphaEvolution(method)
- apfel.SetAlphaQCDRef(coupl.alphas, coupl.scale)
+ apfel.SetAlphaQCDRef(coupl.alphas, coupl.ref[0])
apfel.SetVFNS()
apfel.SetMSbarMasses(
qmasses.c.value, qmasses.b.value, qmasses.t.value
@@ -216,7 +216,7 @@ def benchmark_APFEL_msbar_solution(
apfel.SetTheory("QCD")
apfel.SetPerturbativeOrder(order - 1)
apfel.SetAlphaEvolution("exact")
- apfel.SetAlphaQCDRef(coupl.alphas, coupl.scale)
+ apfel.SetAlphaQCDRef(coupl.alphas, coupl.ref[0])
apfel.SetVFNS()
apfel.SetMSbarMasses(qmasses.c.value, qmasses.b.value, qmasses.t.value)
apfel.SetMassScaleReference(
From 0f94cdc66171c769c14dbd77052efdc44ea4f029 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 1 Aug 2023 15:38:24 +0200
Subject: [PATCH 026/216] Use EPoint for PDF boundary
---
benchmarks/eko/benchmark_evol_to_unity.py | 3 +--
benchmarks/eko/benchmark_strong_coupling.py | 1 -
benchmarks/ekobox/benchmark_evol_pdf.py | 4 ++--
doc/source/overview/tutorials/pdf.ipynb | 5 ++---
src/eko/io/legacy.py | 7 +++----
src/eko/io/runcards.py | 22 ++++++++++-----------
src/eko/io/struct.py | 2 +-
src/eko/quantities/heavy_quarks.py | 6 ------
src/eko/runner/commons.py | 2 +-
src/ekobox/cards.py | 3 +--
src/ekobox/cli/runcards.py | 2 +-
src/ekobox/info_file.py | 4 +++-
src/ekobox/utils.py | 2 +-
tests/eko/evolution_operator/test_grid.py | 2 +-
tests/eko/io/test_manipulate.py | 2 +-
tests/eko/test_quantities.py | 1 -
tests/ekobox/test_cards.py | 8 ++++----
tests/ekobox/test_evol_pdf.py | 2 +-
tests/ekobox/test_info_file.py | 2 +-
tests/ekobox/test_utils.py | 7 +++----
tests/ekomark/data/test_init.py | 2 +-
21 files changed, 39 insertions(+), 50 deletions(-)
diff --git a/benchmarks/eko/benchmark_evol_to_unity.py b/benchmarks/eko/benchmark_evol_to_unity.py
index 561721f6f..c466d00d8 100644
--- a/benchmarks/eko/benchmark_evol_to_unity.py
+++ b/benchmarks/eko/benchmark_evol_to_unity.py
@@ -21,11 +21,10 @@ def update_cards(theory: TheoryCard, operator: OperatorCard):
alphaem=0.007496,
ref=(float(np.sqrt(2)), 4),
)
- theory.heavy.num_flavs_init = 4
theory.heavy.masses.c.value = 1.0
theory.heavy.masses.b.value = 4.75
theory.heavy.masses.t.value = 173.0
- operator.mu0 = float(np.sqrt(2))
+ operator.init = (float(np.sqrt(2)), 4)
operator.mugrid = [(10, 5)]
operator.xgrid = XGrid(np.linspace(1e-1, 1, 30))
operator.configs.interpolation_polynomial_degree = 1
diff --git a/benchmarks/eko/benchmark_strong_coupling.py b/benchmarks/eko/benchmark_strong_coupling.py
index 3f94bd036..1d1cd7219 100644
--- a/benchmarks/eko/benchmark_strong_coupling.py
+++ b/benchmarks/eko/benchmark_strong_coupling.py
@@ -842,7 +842,6 @@ def benchmark_APFEL_fact_to_ren_lha_settings(self, theory_card: TheoryCard):
theory.couplings.alphas = 0.35
theory.couplings.alphaem = 0.007496
theory.couplings.ref = (float(np.sqrt(2)), 4)
- theory.heavy.num_flavs_init = 3
theory.xif = np.sqrt(1.0 / 2.0)
theory.heavy.masses.c.value = np.sqrt(2.0)
theory.heavy.masses.b.value = 4.5
diff --git a/benchmarks/ekobox/benchmark_evol_pdf.py b/benchmarks/ekobox/benchmark_evol_pdf.py
index 5d198b3ff..a0ddcaac4 100644
--- a/benchmarks/ekobox/benchmark_evol_pdf.py
+++ b/benchmarks/ekobox/benchmark_evol_pdf.py
@@ -27,7 +27,7 @@ def benchmark_evolve_single_member(
theory.heavy.masses.b.value = 4.75
theory.heavy.masses.t.value = 172
op = operator_card
- op.mu0 = 5.0
+ op.init = (5.0, 4)
op.mugrid = mugrid
# lhapdf import (maybe i have to dump with a x*), do plots)
with lhapdf_path(test_pdf):
@@ -74,7 +74,7 @@ def benchmark_evolve_more_members(
theory = theory_card
theory.order = (1, 0)
op = operator_card
- op.mu0 = 1.0
+ op.init = (1.0, 3)
op.mugrid = [(10.0, 5), (100.0, 5)]
op.xgrid = XGrid([1e-7, 0.01, 0.1, 0.2, 0.3])
with lhapdf_path(test_pdf):
diff --git a/doc/source/overview/tutorials/pdf.ipynb b/doc/source/overview/tutorials/pdf.ipynb
index 2cc2f688b..923520f59 100644
--- a/doc/source/overview/tutorials/pdf.ipynb
+++ b/doc/source/overview/tutorials/pdf.ipynb
@@ -361,7 +361,7 @@
"op_card = example.operator()\n",
"op_card.xgrid = eko.interpolation.XGrid(make_grid(30, 30)) # x grid\n",
"op_card.mugrid = [(float(q),5) for q in np.geomspace(5., 100, 5)] # Q2 grid\n",
- "op_card.mu0 = 1.295000 # starting point for the evolution \n",
+ "op_card.init = (1.295000,3) # starting point for the evolution \n",
"\n",
"# setup the theory card - this can be mostly inferred from the PDF's .info file\n",
"\n",
@@ -369,8 +369,7 @@
"th_card.orders = (1,0) # QCD LO\n",
"th_card.heavy.masses = HeavyQuarks([QuarkMassRef([1.3,nan]), QuarkMassRef([4.75,nan]), QuarkMassRef([172.,nan])]) # quark mass\n",
"th_card.couplings.alphas = 0.130000 # reference value of alpha_s\n",
- "th_card.couplings.ref = (91.1876,5) # the reference scale together with the number of flavors at which alpha_s is provided\n",
- "th_card.heavy.num_flavs_init = 3 # the number of flavors active at the reference scale"
+ "th_card.couplings.ref = (91.1876,5) # the reference scale together with the number of flavors at which alpha_s is provided"
]
},
{
diff --git a/src/eko/io/legacy.py b/src/eko/io/legacy.py
index 8491a6acc..3bee940ac 100644
--- a/src/eko/io/legacy.py
+++ b/src/eko/io/legacy.py
@@ -99,7 +99,6 @@ class PseudoTheory(DictLike):
def from_old(cls, old: RawCard):
"""Load from old metadata."""
heavy = HeavyInfo(
- num_flavs_init=4,
masses=HeavyQuarkMasses(
[
ReferenceRunning([_MC, np.inf]),
@@ -122,7 +121,7 @@ class PseudoOperator(DictLike):
"""
- mu20: float
+ init: EPoint
evolgrid: List[EPoint]
xgrid: XGrid
configs: dict
@@ -130,7 +129,7 @@ class PseudoOperator(DictLike):
@classmethod
def from_old(cls, old: RawCard):
"""Load from old metadata."""
- mu20 = float(old["q2_ref"])
+ mu0 = float(np.sqrt(float(old["q2_ref"])))
mu2list = old.get("Q2grid")
if mu2list is None:
mu2list = old["mu2grid"]
@@ -146,7 +145,7 @@ def from_old(cls, old: RawCard):
interpolation_is_log=old.get("interpolation_is_log"),
)
- return cls(mu20=mu20, evolgrid=evolgrid, xgrid=xgrid, configs=configs)
+ return cls(init=(mu0, 4), evolgrid=evolgrid, xgrid=xgrid, configs=configs)
ARRAY_SUFFIX = ".npy.lz4"
diff --git a/src/eko/io/runcards.py b/src/eko/io/runcards.py
index 3d8413d1b..8ab9beeff 100644
--- a/src/eko/io/runcards.py
+++ b/src/eko/io/runcards.py
@@ -95,7 +95,7 @@ class Configs(DictLike):
class OperatorCard(DictLike):
"""Operator Card info."""
- mu0: float
+ init: EPoint
"""Initial scale."""
mugrid: List[EPoint]
xgrid: interpolation.XGrid
@@ -115,7 +115,7 @@ class OperatorCard(DictLike):
@property
def mu20(self):
"""Squared value of initial scale."""
- return self.mu0**2
+ return self.init[0] ** 2
@property
def mu2grid(self) -> npt.NDArray:
@@ -186,9 +186,6 @@ def new_theory(self):
ref=(old["Qref"], old["nfref"]),
)
new["heavy"] = {
- "num_flavs_init": nf_default(old["Q0"] ** 2.0, default_atlas(ms, ks))
- if old["nf0"] is None
- else old["nf0"],
"matching_ratios": self.heavies("k%sThr", old),
"masses_scheme": old["HQ"],
}
@@ -212,17 +209,20 @@ def new_operator(self):
old_th = self.theory
new = {}
- new["mu0"] = old_th["Q0"]
+ ms = self.heavies("m%s", old_th)
+ ks = self.heavies("k%sThr", old_th)
+ new["init"] = (
+ old_th["Q0"],
+ nf_default(old_th["Q0"] ** 2.0, default_atlas(ms, ks))
+ if old_th["nf0"] is None
+ else old_th["nf0"],
+ )
if "mugrid" in old:
mugrid = old["mugrid"]
else:
mu2grid = old["Q2grid"] if "Q2grid" in old else old["mu2grid"]
mugrid = np.sqrt(mu2grid).tolist()
- new["mugrid"] = flavored_mugrid(
- mugrid,
- list(self.heavies("m%s", old_th)),
- list(self.heavies("k%sThr", old_th)),
- )
+ new["mugrid"] = flavored_mugrid(mugrid, list(ms), list(ks))
new["configs"] = {}
evmod = old_th["ModEv"]
diff --git a/src/eko/io/struct.py b/src/eko/io/struct.py
index ce4679871..783e82f51 100644
--- a/src/eko/io/struct.py
+++ b/src/eko/io/struct.py
@@ -552,7 +552,7 @@ def build(self) -> EKO:
self.access.open = True
metadata = Metadata(
_path=self.path,
- origin=(self.operator.mu20, self.theory.heavy.num_flavs_init),
+ origin=(self.operator.init[0] ** 2, self.operator.init[1]),
bases=Bases(xgrid=self.operator.xgrid),
)
InternalPaths(self.path).bootstrap(
diff --git a/src/eko/quantities/heavy_quarks.py b/src/eko/quantities/heavy_quarks.py
index 3b081a03d..fe20fc53c 100644
--- a/src/eko/quantities/heavy_quarks.py
+++ b/src/eko/quantities/heavy_quarks.py
@@ -84,12 +84,6 @@ class HeavyInfo(DictLike):
"""
- num_flavs_init: FlavorsNumber
- r"""Number of active flavors at fitting scale.
-
- I.e. :math:`n_{f,\text{ref}}(\mu^2_0)`, formerly called ``nf0``.
-
- """
masses: HeavyQuarkMasses
"""List of heavy quark masses."""
masses_scheme: QuarkMassScheme
diff --git a/src/eko/runner/commons.py b/src/eko/runner/commons.py
index c27b4c8a2..05a1d8dd3 100644
--- a/src/eko/runner/commons.py
+++ b/src/eko/runner/commons.py
@@ -32,7 +32,7 @@ def atlas(theory: TheoryCard, operator: OperatorCard) -> Atlas:
# TODO: cache result
masses = runcards.masses(theory, operator.configs.evolution_method)
matching_scales = np.power(theory.heavy.matching_ratios, 2.0) * np.array(masses)
- return Atlas(matching_scales.tolist(), (operator.mu20, theory.heavy.num_flavs_init))
+ return Atlas(matching_scales.tolist(), (operator.mu20, operator.init[1]))
def couplings(theory: TheoryCard, operator: OperatorCard) -> Couplings:
diff --git a/src/ekobox/cards.py b/src/ekobox/cards.py
index 3d4e346aa..d56e50da0 100644
--- a/src/ekobox/cards.py
+++ b/src/ekobox/cards.py
@@ -16,7 +16,6 @@
ref=(91.2, 5),
),
heavy=dict(
- num_flavs_init=4,
masses=[ReferenceRunning([mq, nan]) for mq in (2.0, 4.5, 173.07)],
masses_scheme="POLE",
matching_ratios=[1.0, 1.0, 1.0],
@@ -26,7 +25,7 @@
)
_operator = dict(
- mu0=1.65,
+ init=(1.65, 4),
mugrid=[(100.0, 5)],
xgrid=np.geomspace(1e-7, 1.0, 50).tolist(),
configs=dict(
diff --git a/src/ekobox/cli/runcards.py b/src/ekobox/cli/runcards.py
index 7fc46f1ef..c5511add5 100644
--- a/src/ekobox/cli/runcards.py
+++ b/src/ekobox/cli/runcards.py
@@ -35,7 +35,7 @@ def sub_example(destination: pathlib.Path):
theory.order = (1, 0)
cards.dump(theory.raw, path=destination / "theory.yaml")
operator = cards.example.operator()
- operator.mu0 = 1.65
+ operator.init = (1.65, 4)
operator.mugrid = [(np.sqrt(1e5), 5)]
cards.dump(operator.raw, path=destination / "operator.yaml")
_logger.info(f"Runcards generated to '{destination}'")
diff --git a/src/ekobox/info_file.py b/src/ekobox/info_file.py
index 35f2cfcae..3d4ca2634 100644
--- a/src/ekobox/info_file.py
+++ b/src/ekobox/info_file.py
@@ -35,7 +35,9 @@ def build(
info file in lhapdf format
"""
template_info = copy.deepcopy(load.template_info)
- template_info["SetDesc"] = "Evolved PDF from " + str(operators_card.mu0) + " GeV"
+ template_info["SetDesc"] = (
+ "Evolved PDF from " + str(operators_card.init[0]) + " GeV"
+ )
template_info["Authors"] = ""
template_info["FlavorScheme"] = "variable"
template_info.update(info_update)
diff --git a/src/ekobox/utils.py b/src/ekobox/utils.py
index 095e605e9..4dc151e96 100644
--- a/src/ekobox/utils.py
+++ b/src/ekobox/utils.py
@@ -37,7 +37,7 @@ def ekos_product(
# another kind of output which includes the theory and operator runcards)
ep_match = eko_ini.approx(
- (eko_fin.operator_card.mu0**2, eko_fin.theory_card.heavy.num_flavs_init),
+ (eko_fin.operator_card.init[0] ** 2, eko_fin.operator_card.init[1]),
rtol=rtol,
atol=atol,
)
diff --git a/tests/eko/evolution_operator/test_grid.py b/tests/eko/evolution_operator/test_grid.py
index 804388db6..01754578a 100644
--- a/tests/eko/evolution_operator/test_grid.py
+++ b/tests/eko/evolution_operator/test_grid.py
@@ -72,7 +72,7 @@ def test_mod_expanded(theory_card, theory_ffns, operator_card, tmp_path: pathlib
else:
theory = theory_card
theory.order = (1, 0)
- theory.heavy.num_flavs_init = nf0
+ operator_card.init = (operator_card.init[0], nf0)
path.unlink(missing_ok=True)
opgrid = legacy.Runner(theory, operator_card, path=path).op_grid
opg = opgrid.compute()
diff --git a/tests/eko/io/test_manipulate.py b/tests/eko/io/test_manipulate.py
index 3431d93ce..08b38e23d 100644
--- a/tests/eko/io/test_manipulate.py
+++ b/tests/eko/io/test_manipulate.py
@@ -213,7 +213,7 @@ def _test_to_all_evol(
mu2_out = mu_out**2
nfout = 4
epout = (mu2_out, nfout)
- eko_factory.operator.mu0 = float(np.sqrt(1.0))
+ eko_factory.operator.init = (float(np.sqrt(1.0)), 3)
eko_factory.operator.mugrid = [(mu_out, nfout)]
eko_factory.operator.xgrid = xgrid
eko_factory.operator.configs.interpolation_polynomial_degree = 1
diff --git a/tests/eko/test_quantities.py b/tests/eko/test_quantities.py
index f9dcb9203..d3c412a25 100644
--- a/tests/eko/test_quantities.py
+++ b/tests/eko/test_quantities.py
@@ -33,7 +33,6 @@ def test_HeavyQuarks():
def test_HeavyInfo():
i = hq.HeavyInfo(
- num_flavs_init=4,
masses=hq.HeavyQuarkMasses(
[
hq.QuarkMassRef([2.0, nan]),
diff --git a/tests/ekobox/test_cards.py b/tests/ekobox/test_cards.py
index 1a35e137e..00ef0e4c3 100644
--- a/tests/ekobox/test_cards.py
+++ b/tests/ekobox/test_cards.py
@@ -10,14 +10,14 @@ def test_generate_ocard():
mu0 = 1.65
mugrid = [(10.0, 6), (100.0, 5)]
op = cards.example.operator()
- op.mu0 = mu0
+ op.init = (mu0, 4)
op.mugrid = mugrid
assert pytest.approx(op.mugrid) == mugrid
assert pytest.approx(op.mu2grid) == np.array([mu**2 for mu, _ in mugrid])
assert op.configs.interpolation_polynomial_degree == 4
mugrid1 = [100.0, 5]
op = cards.example.operator()
- op.mu0 = mu0
+ op.init = (mu0, 4)
op.mugrid = mugrid1
op.configs.interpolation_polynomial_degree = 2
op.configs.interpolation_is_log = False
@@ -35,7 +35,7 @@ def test_dump_load_op_card(tmp_path, cd):
path1 = tmp_path / "debug_op.yaml"
path2 = tmp_path / "debug_op_two.yaml"
op = cards.example.operator()
- op.mu0 = mu0
+ op.init = (mu0, 4)
cards.dump(op.raw, path1)
cards.dump(op.raw, path2)
op_loaded = cards.load(path1)
@@ -52,7 +52,7 @@ def test_generate_theory_card():
assert theory.order[0] == 2
rawt = cards.example.raw_theory()
assert isinstance(rawt, dict)
- assert theory.heavy.num_flavs_init == rawt["heavy"]["num_flavs_init"]
+ assert theory.heavy.masses.c[0] == rawt["heavy"]["masses"][0][0]
def containsnan(obj) -> bool:
diff --git a/tests/ekobox/test_evol_pdf.py b/tests/ekobox/test_evol_pdf.py
index 1c51dfdad..8e51c6e43 100644
--- a/tests/ekobox/test_evol_pdf.py
+++ b/tests/ekobox/test_evol_pdf.py
@@ -9,7 +9,7 @@
def init_cards():
op = cards.example.operator()
- op.mu0 = 1.65
+ op.init = (1.65, 4)
op.xgrid = XGrid([0.1, 0.5, 1.0])
op.configs.interpolation_polynomial_degree = 1
theory = cards.example.theory()
diff --git a/tests/ekobox/test_info_file.py b/tests/ekobox/test_info_file.py
index 64af8eb93..ac50a2253 100644
--- a/tests/ekobox/test_info_file.py
+++ b/tests/ekobox/test_info_file.py
@@ -10,7 +10,7 @@ def test_build():
theory.order = (2, 0)
theory.couplings.alphas = 0.2
op = cards.example.operator()
- op.mu0 = 1.0
+ op.init = (1.0, 3)
op.mugrid = [(10.0, 5), (100.0, 5)]
info = info_file.build(
theory, op, 4, info_update={"SetDesc": "Prova", "NewArg": 15.3, "MTop": 1.0}
diff --git a/tests/ekobox/test_utils.py b/tests/ekobox/test_utils.py
index 557db679c..1233d1d91 100644
--- a/tests/ekobox/test_utils.py
+++ b/tests/ekobox/test_utils.py
@@ -16,10 +16,9 @@ def test_ekos_product(tmp_path):
theory = cards.example.theory()
theory.order = (1, 0)
- theory.heavy.num_flavs_init = 5
op1 = cards.example.operator()
- op1.mu0 = mu01
+ op1.init = (mu01, 5)
op1.mugrid = mugrid1
op1.xgrid = xgrid
op1.configs.interpolation_polynomial_degree = 1
@@ -28,13 +27,13 @@ def test_ekos_product(tmp_path):
mugrid2 = [(8.0, 5), (10.0, 5), (12.0, 5)]
op2 = cards.example.operator()
- op2.mu0 = mu0
+ op2.init = (mu0, 5)
op2.mugrid = mugrid2
op2.xgrid = xgrid
op2.configs.interpolation_polynomial_degree = 1
op_err = copy.deepcopy(op2)
- op_err.mu0 = mu01
+ op_err.init = (mu01, 5)
mu2first = (mugrid2[0][0] ** 2, mugrid2[0][1])
diff --git a/tests/ekomark/data/test_init.py b/tests/ekomark/data/test_init.py
index 7d39dca43..278a06181 100644
--- a/tests/ekomark/data/test_init.py
+++ b/tests/ekomark/data/test_init.py
@@ -24,7 +24,7 @@ def test_runcards_opcard():
assert len(no.mu2grid) == len(no.evolgrid)
assert no.evolgrid[0][-1] == 4
assert no.evolgrid[1][-1] == 5
- np.testing.assert_allclose(no.mu0, tc["Q0"])
+ np.testing.assert_allclose(no.init[0], tc["Q0"])
np.testing.assert_allclose(no.mu20, tc["Q0"] ** 2.0)
assert len(no.pids) == 14
check_dumpable(no)
From 0d7a459d01b57fcbe34e0875f2e59a1d31373a76 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 1 Aug 2023 16:00:20 +0200
Subject: [PATCH 027/216] Fix benchmark_APFEL_vfns_fact_to_ren
---
benchmarks/eko/benchmark_strong_coupling.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/benchmarks/eko/benchmark_strong_coupling.py b/benchmarks/eko/benchmark_strong_coupling.py
index 1d1cd7219..d60bd28b0 100644
--- a/benchmarks/eko/benchmark_strong_coupling.py
+++ b/benchmarks/eko/benchmark_strong_coupling.py
@@ -334,7 +334,7 @@ def benchmark_APFEL_vfns_fact_to_ren(self):
]
coupling_ref = np.array([0.118, 0.007496])
scale_ref = 91.0
- nf_ref = 5
+ nf_refs = (5, 6)
fact_to_ren_lin_list = [0.567, 2.34]
masses_list = np.power([2, 2 * 4, 2 * 92], 2)
apfel_vals_dict_list = [
@@ -427,8 +427,8 @@ def benchmark_APFEL_vfns_fact_to_ren(self):
),
},
]
- for fact_to_ren_lin, apfel_vals_dict in zip(
- fact_to_ren_lin_list, apfel_vals_dict_list
+ for fact_to_ren_lin, apfel_vals_dict, nf_ref in zip(
+ fact_to_ren_lin_list, apfel_vals_dict_list, nf_refs
):
# collect my values
for order in [1, 2, 3]:
From ba0a0cad21957dd112ee37c37adba2a50d59b486 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 1 Aug 2023 16:22:42 +0200
Subject: [PATCH 028/216] Update notebooks
---
doc/source/overview/tutorials/alpha_s.ipynb | 12 +-
doc/source/overview/tutorials/dglap.ipynb | 15 +--
doc/source/overview/tutorials/output.ipynb | 8 +-
doc/source/overview/tutorials/pdf.ipynb | 130 ++++++++++----------
4 files changed, 78 insertions(+), 87 deletions(-)
diff --git a/doc/source/overview/tutorials/alpha_s.ipynb b/doc/source/overview/tutorials/alpha_s.ipynb
index 327eb39c9..f9cc5a240 100644
--- a/doc/source/overview/tutorials/alpha_s.ipynb
+++ b/doc/source/overview/tutorials/alpha_s.ipynb
@@ -39,12 +39,10 @@
"from eko.quantities.heavy_quarks import MatchingScales, QuarkMassScheme\n",
"\n",
"# set the (alpha_s, alpha_em) reference values\n",
- "couplings_ref = CouplingsInfo(\n",
- " alphas=0.118, alphaem=0.007496252, ref=(91.0, 5)\n",
- ")\n",
+ "couplings_ref = CouplingsInfo(alphas=0.118, alphaem=0.007496252, ref=(91.0, 5))\n",
"\n",
"# set heavy quark masses and their threshold ratios\n",
- "heavy_quark_masses = np.power([1.51, 4.92, 172.0],2)\n",
+ "heavy_quark_masses = np.power([1.51, 4.92, 172.0], 2)\n",
"thresholds_ratios = np.array([1.0, 1.0, 1.0])\n",
"\n",
"# set (QCD,QED) perturbative order\n",
@@ -88,9 +86,9 @@
}
],
"source": [
- "target_scale = 10.0 ** 2\n",
+ "target_scale = 10.0**2\n",
"a_s = sc.a_s(target_scale)\n",
- "print(\"The value of alpha_s at Q^2=100 GeV^2 is: \", 4. * np.pi * a_s)"
+ "print(\"The value of alpha_s at Q^2=100 GeV^2 is: \", 4.0 * np.pi * a_s)"
]
},
{
@@ -106,7 +104,7 @@
],
"metadata": {
"kernelspec": {
- "display_name": "eko-KkPVjVhh-py3.10",
+ "display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
diff --git a/doc/source/overview/tutorials/dglap.ipynb b/doc/source/overview/tutorials/dglap.ipynb
index 0e271a00c..98cb4a6e1 100644
--- a/doc/source/overview/tutorials/dglap.ipynb
+++ b/doc/source/overview/tutorials/dglap.ipynb
@@ -68,7 +68,7 @@
"th_card = example.theory()\n",
"op_card = example.operator()\n",
"# here we replace the grid with a very minimal one, to speed up the example\n",
- "op_card.xgrid = [1e-3, 1e-2, 1e-1, 5e-1, 1.]"
+ "op_card.xgrid = [1e-3, 1e-2, 1e-1, 5e-1, 1.0]"
]
},
{
@@ -91,14 +91,9 @@
"{'order': [1, 0],\n",
" 'couplings': {'alphas': 0.118,\n",
" 'alphaem': 0.007496252,\n",
- " 'scale': 91.2,\n",
- " 'max_num_flavs': 6,\n",
- " 'num_flavs_ref': 5,\n",
+ " 'ref': [91.2, 5],\n",
" 'em_running': False},\n",
- " 'heavy': {'num_flavs_init': 4,\n",
- " 'num_flavs_max_pdf': 6,\n",
- " 'intrinsic_flavors': [4],\n",
- " 'masses': [[2.0, nan], [4.5, nan], [173.07, nan]],\n",
+ " 'heavy': {'masses': [[2.0, nan], [4.5, nan], [173.07, nan]],\n",
" 'masses_scheme': 'pole',\n",
" 'matching_ratios': [1.0, 1.0, 1.0]},\n",
" 'xif': 1.0,\n",
@@ -123,7 +118,7 @@
{
"data": {
"text/plain": [
- "{'mu0': 1.65,\n",
+ "{'init': [1.65, 4],\n",
" 'mugrid': [[100.0, 5]],\n",
" 'xgrid': [0.001, 0.01, 0.1, 0.5, 1.0],\n",
" 'configs': {'evolution_method': 'iterate-exact',\n",
@@ -174,7 +169,7 @@
"id": "880aadcf-8f87-4918-a0bc-09581d0d3579",
"metadata": {},
"source": [
- "The actual result is a complicate EKO object, we will discuss it in a separate tutorial.\n",
+ "The actual result is a complicate EKO object, which we will discuss it in a separate tutorial.\n",
"\n",
"You have just run your first DGLAP calculation!"
]
diff --git a/doc/source/overview/tutorials/output.ipynb b/doc/source/overview/tutorials/output.ipynb
index 47345ac35..1cfe9f071 100644
--- a/doc/source/overview/tutorials/output.ipynb
+++ b/doc/source/overview/tutorials/output.ipynb
@@ -34,7 +34,7 @@
"id": "2f8f0666-c6ab-40f6-86f5-15773f205b51",
"metadata": {},
"source": [
- "We can access the operator, by using the `open` method (similar to python's `open`):"
+ "We can access the operator, by using the `read` method:"
]
},
{
@@ -76,8 +76,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "TheoryCard(order=(1, 0), couplings=CouplingsInfo(alphas=0.118, alphaem=0.007496252, scale=91.2, max_num_flavs=6, num_flavs_ref=5, em_running=False), heavy=HeavyInfo(num_flavs_init=4, num_flavs_max_pdf=6, intrinsic_flavors=[4, 5, 6], masses=[[2.0, nan], [4.5, nan], [173.07, nan]], masses_scheme=, matching_ratios=[1.0, 1.0, 1.0]), xif=1.0, n3lo_ad_variation=(0, 0, 0, 0))\n",
- "OperatorCard(mu0=1.65, mugrid=[(100.0, 5)], xgrid=, configs=Configs(evolution_method=, ev_op_max_order=(10, 0), ev_op_iterations=10, scvar_method=None, inversion_method=None, interpolation_polynomial_degree=4, interpolation_is_log=True, polarized=False, time_like=False, n_integration_cores=0), debug=Debug(skip_singlet=False, skip_non_singlet=False), eko_version='0.0.0')\n"
+ "TheoryCard(order=(1, 0), couplings=CouplingsInfo(alphas=0.118, alphaem=0.007496252, ref=(91.2, 5), em_running=False), heavy=HeavyInfo(masses=[[2.0, nan], [4.5, nan], [173.07, nan]], masses_scheme=, matching_ratios=[1.0, 1.0, 1.0]), xif=1.0, n3lo_ad_variation=(0, 0, 0, 0))\n",
+ "OperatorCard(init=(1.65, 4), mugrid=[(100.0, 5)], xgrid=, configs=Configs(evolution_method=, ev_op_max_order=(10, 0), ev_op_iterations=10, scvar_method=None, inversion_method=None, interpolation_polynomial_degree=4, interpolation_is_log=True, polarized=False, time_like=False, n_integration_cores=0), debug=Debug(skip_singlet=False, skip_non_singlet=False), eko_version='0.0.0')\n"
]
}
],
@@ -143,7 +143,7 @@
],
"source": [
"with eko.EKO.read(\"./myeko.tar\") as evolution_operator:\n",
- " with evolution_operator.operator((10000.,5)) as op:\n",
+ " with evolution_operator.operator((10000.0, 5)) as op:\n",
" print(f\"operator: {op.operator.shape}\")\n",
" print(f\"error: {op.error.shape}\")"
]
diff --git a/doc/source/overview/tutorials/pdf.ipynb b/doc/source/overview/tutorials/pdf.ipynb
index 923520f59..bfc6ad3ad 100644
--- a/doc/source/overview/tutorials/pdf.ipynb
+++ b/doc/source/overview/tutorials/pdf.ipynb
@@ -13,9 +13,9 @@
"id": "3e0dcd0f",
"metadata": {},
"source": [
- "## Method 1: Using apply_pdf\n",
+ "## Method 1: Using `apply_pdf`\n",
"\n",
- "In this first part we will compute the eko and subsequently apply the initial PDF \"manually\" calling a dedicated function. "
+ "In this first part, we compute the eko and subsequently apply the initial PDF \"manually\" calling a dedicated function. "
]
},
{
@@ -52,6 +52,7 @@
"import pathlib\n",
"import eko\n",
"from banana import toy\n",
+ "\n",
"pdf = toy.mkPDF(\"\", 0)"
]
},
@@ -71,6 +72,7 @@
"outputs": [],
"source": [
"from ekobox.apply import apply_pdf\n",
+ "\n",
"with eko.EKO.read(\"./myeko.tar\") as evolution_operator:\n",
" evolved_pdfs = apply_pdf(evolution_operator, pdf)"
]
@@ -92,7 +94,7 @@
{
"data": {
"text/plain": [
- "dict_keys([10000.0])"
+ "dict_keys([(10000.0, 5)])"
]
},
"execution_count": 3,
@@ -134,7 +136,7 @@
}
],
"source": [
- "evolved_pdfs[10000.0][\"pdfs\"][21]"
+ "evolved_pdfs[(10000.0, 5)][\"pdfs\"][21]"
]
},
{
@@ -150,7 +152,7 @@
"id": "e925d2c9",
"metadata": {},
"source": [
- "## Method 2: Using evolve_pdfs\n",
+ "## Method 2: Using `evolve_pdfs`\n",
"\n",
"In this second part we illustrate how to get (and install) directly a LHAPDF set evolved with eko. "
]
@@ -171,6 +173,7 @@
"outputs": [],
"source": [
"from banana import toy\n",
+ "\n",
"pdf = toy.mkPDF(\"\", 0)"
]
},
@@ -195,10 +198,10 @@
"th_card = example.theory()\n",
"op_card = example.operator()\n",
"# here we replace the grid with a very minimal one, to speed up the example\n",
- "op_card.xgrid = eko.interpolation.XGrid([1e-3, 1e-2, 1e-1, 5e-1, 1.])\n",
- "op_card.mugrid = [(10.,5), (100.,5)]\n",
+ "op_card.xgrid = eko.interpolation.XGrid([1e-3, 1e-2, 1e-1, 5e-1, 1.0])\n",
+ "op_card.mugrid = [(10.0, 5), (100.0, 5)]\n",
"# set QCD LO evolution\n",
- "th_card.orders = (1,0)"
+ "th_card.orders = (1, 0)"
]
},
{
@@ -236,16 +239,10 @@
],
"source": [
"from ekobox.evol_pdf import evolve_pdfs\n",
+ "\n",
"path = pathlib.Path(\"./myeko2.tar\")\n",
"path.unlink(missing_ok=True)\n",
- "evolve_pdfs(\n",
- " [pdf],\n",
- " th_card,\n",
- " op_card,\n",
- " install=True,\n",
- " name=\"Evolved_PDF\",\n",
- " store_path=path\n",
- ")"
+ "evolve_pdfs([pdf], th_card, op_card, install=True, name=\"Evolved_PDF\", store_path=path)"
]
},
{
@@ -273,6 +270,7 @@
],
"source": [
"import lhapdf\n",
+ "\n",
"evolved_pdf = lhapdf.mkPDF(\"Evolved_PDF\", 0)"
]
},
@@ -300,12 +298,12 @@
}
],
"source": [
- "pid = 21 # gluon pid\n",
- "Q2 = 89.10 # Q^2 in Gev^2\n",
- "x = 0.01 # momentum fraction \n",
+ "pid = 21 # gluon pid\n",
+ "Q2 = 89.10 # Q^2 in Gev^2\n",
+ "x = 0.01 # momentum fraction\n",
"\n",
"# check that the particle is present\n",
- "print(\"has gluon?\",evolved_pdf.hasFlavor(pid))\n",
+ "print(\"has gluon?\", evolved_pdf.hasFlavor(pid))\n",
"# now do the lookup\n",
"xg = evolved_pdf.xfxQ2(pid, x, Q2)\n",
"print(f\"xg(x={x}, Q2={Q2}) = {xg}\")"
@@ -352,24 +350,28 @@
"import lhapdf\n",
"from ekobox.cards import example\n",
"from eko.interpolation import make_grid\n",
- "from eko.quantities.heavy_quarks import QuarkMassRef,HeavyQuarks\n",
+ "from eko.quantities.heavy_quarks import QuarkMassRef, HeavyQuarks\n",
"\n",
"# get the PDF object\n",
"ct14llo = lhapdf.mkPDF(\"CT14llo\")\n",
"\n",
"# setup the operator card\n",
"op_card = example.operator()\n",
- "op_card.xgrid = eko.interpolation.XGrid(make_grid(30, 30)) # x grid\n",
- "op_card.mugrid = [(float(q),5) for q in np.geomspace(5., 100, 5)] # Q2 grid\n",
- "op_card.init = (1.295000,3) # starting point for the evolution \n",
+ "op_card.xgrid = eko.interpolation.XGrid(make_grid(30, 30)) # x grid\n",
+ "op_card.mugrid = [(float(q), 5) for q in np.geomspace(5.0, 100, 5)] # Q2 grid\n",
+ "op_card.init = (1.295000, 3) # starting point for the evolution\n",
"\n",
"# setup the theory card - this can be mostly inferred from the PDF's .info file\n",
- "\n",
"th_card = example.theory()\n",
- "th_card.orders = (1,0) # QCD LO\n",
- "th_card.heavy.masses = HeavyQuarks([QuarkMassRef([1.3,nan]), QuarkMassRef([4.75,nan]), QuarkMassRef([172.,nan])]) # quark mass\n",
- "th_card.couplings.alphas = 0.130000 # reference value of alpha_s\n",
- "th_card.couplings.ref = (91.1876,5) # the reference scale together with the number of flavors at which alpha_s is provided"
+ "th_card.orders = (1, 0) # QCD LO\n",
+ "th_card.heavy.masses = HeavyQuarks(\n",
+ " [QuarkMassRef([1.3, nan]), QuarkMassRef([4.75, nan]), QuarkMassRef([172.0, nan])]\n",
+ ") # quark mass\n",
+ "th_card.couplings.alphas = 0.130000 # reference value of alpha_s\n",
+ "th_card.couplings.ref = (\n",
+ " 91.1876,\n",
+ " 5,\n",
+ ") # the reference scale together with the number of flavors at which alpha_s is provided"
]
},
{
@@ -403,15 +405,11 @@
],
"source": [
"from ekobox.evol_pdf import evolve_pdfs\n",
+ "\n",
"path = pathlib.Path(\"./myeko_ct14llo.tar\")\n",
"path.unlink(missing_ok=True)\n",
"evolve_pdfs(\n",
- " [ct14llo],\n",
- " th_card,\n",
- " op_card,\n",
- " install=True,\n",
- " name=\"my_ct14llo\",\n",
- " store_path=path\n",
+ " [ct14llo], th_card, op_card, install=True, name=\"my_ct14llo\", store_path=path\n",
")"
]
},
@@ -435,33 +433,33 @@
"output_type": "stream",
"text": [
"LHAPDF 6.4.0 loading /home/felix/local/share/LHAPDF/my_ct14llo/my_ct14llo_0000.dat\n",
+ "my_ct14llo PDF set, member #0, version 1\n",
" x Q2 ct14llo my_ct14llo relative_diff\n",
- "0 0.000010 25.000000 7.635785e+01 7.630461e+01 0.000697\n",
- "1 0.000173 25.000000 3.194273e+01 3.192092e+01 0.000683\n",
- "2 0.003000 25.000000 1.081843e+01 1.081086e+01 0.000701\n",
- "3 0.051962 25.000000 1.958956e+00 1.958632e+00 0.000166\n",
- "4 0.900000 25.000000 1.922415e-05 1.955026e-05 -0.016963\n",
- "5 0.000010 111.803399 1.333957e+02 1.332985e+02 0.000729\n",
- "6 0.000173 111.803399 4.777286e+01 4.773664e+01 0.000758\n",
- "7 0.003000 111.803399 1.341028e+01 1.339967e+01 0.000791\n",
- "8 0.051962 111.803399 1.978216e+00 1.978130e+00 0.000044\n",
- "9 0.900000 111.803399 6.644805e-06 6.753652e-06 -0.016381\n",
- "10 0.000010 500.000000 1.967032e+02 1.965456e+02 0.000801\n",
- "11 0.000173 500.000000 6.291393e+01 6.286095e+01 0.000842\n",
- "12 0.003000 500.000000 1.542347e+01 1.540996e+01 0.000876\n",
- "13 0.051962 500.000000 1.947465e+00 1.947391e+00 0.000038\n",
- "14 0.900000 500.000000 2.929060e-06 2.977306e-06 -0.016471\n",
- "15 0.000010 2236.067977 2.633266e+02 2.631109e+02 0.000819\n",
- "16 0.000173 2236.067977 7.708540e+01 7.701938e+01 0.000856\n",
- "17 0.003000 2236.067977 1.700410e+01 1.698928e+01 0.000872\n",
- "18 0.051962 2236.067977 1.893923e+00 1.893971e+00 -0.000025\n",
- "19 0.900000 2236.067977 1.544450e-06 1.570997e-06 -0.017189\n",
- "20 0.000010 10000.000000 3.314097e+02 3.311351e+02 0.000829\n",
- "21 0.000173 10000.000000 9.023010e+01 9.015279e+01 0.000857\n",
- "22 0.003000 10000.000000 1.825934e+01 1.824402e+01 0.000839\n",
- "23 0.051962 10000.000000 1.830992e+00 1.831183e+00 -0.000104\n",
- "24 0.900000 10000.000000 9.288458e-07 9.447927e-07 -0.017169\n",
- "my_ct14llo PDF set, member #0, version 1\n"
+ "0 0.000010 25.000000 7.635785e+01 7.630719e+01 0.000663\n",
+ "1 0.000173 25.000000 3.194273e+01 3.192239e+01 0.000637\n",
+ "2 0.003000 25.000000 1.081843e+01 1.081160e+01 0.000632\n",
+ "3 0.051962 25.000000 1.958956e+00 1.958820e+00 0.000069\n",
+ "4 0.900000 25.000000 1.922415e-05 1.955440e-05 -0.017179\n",
+ "5 0.000010 111.803399 1.333957e+02 1.333028e+02 0.000697\n",
+ "6 0.000173 111.803399 4.777286e+01 4.773855e+01 0.000718\n",
+ "7 0.003000 111.803399 1.341028e+01 1.340044e+01 0.000734\n",
+ "8 0.051962 111.803399 1.978216e+00 1.978292e+00 -0.000038\n",
+ "9 0.900000 111.803399 6.644805e-06 6.756354e-06 -0.016787\n",
+ "10 0.000010 500.000000 1.967032e+02 1.965517e+02 0.000770\n",
+ "11 0.000173 500.000000 6.291393e+01 6.286327e+01 0.000805\n",
+ "12 0.003000 500.000000 1.542347e+01 1.541073e+01 0.000826\n",
+ "13 0.051962 500.000000 1.947465e+00 1.947532e+00 -0.000034\n",
+ "14 0.900000 500.000000 2.929060e-06 2.979511e-06 -0.017224\n",
+ "15 0.000010 2236.067977 2.633266e+02 2.631189e+02 0.000789\n",
+ "16 0.000173 2236.067977 7.708540e+01 7.702204e+01 0.000822\n",
+ "17 0.003000 2236.067977 1.700410e+01 1.699004e+01 0.000827\n",
+ "18 0.051962 2236.067977 1.893923e+00 1.894094e+00 -0.000090\n",
+ "19 0.900000 2236.067977 1.544450e-06 1.572860e-06 -0.018395\n",
+ "20 0.000010 10000.000000 3.314097e+02 3.311450e+02 0.000799\n",
+ "21 0.000173 10000.000000 9.023010e+01 9.015576e+01 0.000824\n",
+ "22 0.003000 10000.000000 1.825934e+01 1.824477e+01 0.000798\n",
+ "23 0.051962 10000.000000 1.830992e+00 1.831291e+00 -0.000163\n",
+ "24 0.900000 10000.000000 9.288458e-07 9.463689e-07 -0.018866\n"
]
}
],
@@ -471,15 +469,15 @@
"# load evolved pdf\n",
"my_ct14llo = lhapdf.mkPDF(\"my_ct14llo\", 0)\n",
"\n",
- "pid = 21 # gluon pid\n",
+ "pid = 21 # gluon pid\n",
"\n",
"# collect data\n",
- "log = {\"x\": [], \"Q2\" : [], \"ct14llo\": [], \"my_ct14llo\": [], \"relative_diff\": []} \n",
- "for q in np.geomspace(5., 100, 5):\n",
- " q2 = q**2.\n",
+ "log = {\"x\": [], \"Q2\": [], \"ct14llo\": [], \"my_ct14llo\": [], \"relative_diff\": []}\n",
+ "for q in np.geomspace(5.0, 100, 5):\n",
+ " q2 = q**2.0\n",
" for x in np.geomspace(1e-5, 0.9, 5):\n",
" value = ct14llo.xfxQ2(pid, x, q2)\n",
- " my_value = my_ct14llo.xfxQ2(pid, x, q2)\n",
+ " my_value = my_ct14llo.xfxQ2(pid, x, q2)\n",
" log[\"x\"].append(x)\n",
" log[\"Q2\"].append(q2)\n",
" log[\"ct14llo\"].append(value)\n",
From 3e2d12a4ff0a1013ce33cd07b193a2c52c9e4939 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 1 Aug 2023 17:06:34 +0200
Subject: [PATCH 029/216] Drop Bases
---
src/eko/io/bases.py | 117 ----------------------------------
src/eko/io/metadata.py | 8 +--
src/eko/io/struct.py | 12 +---
src/ekobox/apply.py | 12 ++--
tests/eko/io/test_bases.py | 83 ------------------------
tests/eko/io/test_metadata.py | 6 +-
tests/eko/io/test_runcards.py | 1 -
tests/eko/runner/__init__.py | 10 +--
tests/eko/runner/conftest.py | 3 +-
tests/ekobox/test_apply.py | 11 ++--
10 files changed, 27 insertions(+), 236 deletions(-)
delete mode 100644 src/eko/io/bases.py
delete mode 100644 tests/eko/io/test_bases.py
diff --git a/src/eko/io/bases.py b/src/eko/io/bases.py
deleted file mode 100644
index 97a28dc36..000000000
--- a/src/eko/io/bases.py
+++ /dev/null
@@ -1,117 +0,0 @@
-"""Operators bases."""
-from dataclasses import dataclass, fields
-from typing import Optional
-
-import numpy as np
-import numpy.typing as npt
-
-from .. import basis_rotation as br
-from .. import interpolation
-from .dictlike import DictLike
-
-
-@dataclass
-class Bases(DictLike):
- """Rotations related configurations.
-
- Here "Rotation" is intended in a broad sense: it includes both rotations in
- flavor space (labeled with suffix `pids`) and in :math:`x`-space (labeled
- with suffix `grid`).
- Rotations in :math:`x`-space correspond to reinterpolate the result on a
- different basis of polynomials.
-
- """
-
- xgrid: interpolation.XGrid
- """Internal momentum fraction grid."""
- _targetgrid: Optional[interpolation.XGrid] = None
- _inputgrid: Optional[interpolation.XGrid] = None
- _targetpids: Optional[npt.NDArray] = None
- _inputpids: Optional[npt.NDArray] = None
-
- def __post_init__(self):
- """Adjust types when loaded from serialized object."""
- for attr in ("xgrid", "_inputgrid", "_targetgrid"):
- value = getattr(self, attr)
- if value is None:
- continue
- if isinstance(value, (np.ndarray, list)):
- setattr(self, attr, interpolation.XGrid(value))
- elif not isinstance(value, interpolation.XGrid):
- setattr(self, attr, interpolation.XGrid.load(value))
-
- @property
- def pids(self):
- """Internal flavor basis, used for computation."""
- return np.array(br.flavor_basis_pids)
-
- @property
- def inputpids(self) -> npt.NDArray:
- """Provide pids expected on the input PDF."""
- if self._inputpids is None:
- return self.pids
- return self._inputpids
-
- @inputpids.setter
- def inputpids(self, value):
- self._inputpids = value
-
- @property
- def targetpids(self) -> npt.NDArray:
- """Provide pids corresponding to the output PDF."""
- if self._targetpids is None:
- return self.pids
- return self._targetpids
-
- @targetpids.setter
- def targetpids(self, value):
- self._targetpids = value
-
- @property
- def inputgrid(self) -> interpolation.XGrid:
- """Provide :math:`x`-grid expected on the input PDF."""
- if self._inputgrid is None:
- return self.xgrid
- return self._inputgrid
-
- @inputgrid.setter
- def inputgrid(self, value: interpolation.XGrid):
- self._inputgrid = value
-
- @property
- def targetgrid(self) -> interpolation.XGrid:
- """Provide :math:`x`-grid corresponding to the output PDF."""
- if self._targetgrid is None:
- return self.xgrid
- return self._targetgrid
-
- @targetgrid.setter
- def targetgrid(self, value: interpolation.XGrid):
- self._targetgrid = value
-
- @classmethod
- def from_dict(cls, dictionary: dict):
- """Deserialize rotation.
-
- Load from full state, but with public names.
-
- """
- d = dictionary.copy()
- for f in fields(cls):
- if f.name.startswith("_"):
- d[f.name] = d.pop(f.name[1:])
- return cls._from_dict(d)
-
- @property
- def raw(self):
- """Serialize rotation.
-
- Pass through interfaces, access internal values but with a public name.
-
- """
- d = self._raw()
- for key in d.copy():
- if key.startswith("_"):
- d[key[1:]] = d.pop(key)
-
- return d
diff --git a/src/eko/io/metadata.py b/src/eko/io/metadata.py
index 415b2dfa5..00f189ab4 100644
--- a/src/eko/io/metadata.py
+++ b/src/eko/io/metadata.py
@@ -8,7 +8,7 @@
import yaml
from .. import version as vmod
-from .bases import Bases
+from ..interpolation import XGrid
from .dictlike import DictLike
from .paths import InternalPaths
from .types import EvolutionPoint as EPoint
@@ -34,10 +34,8 @@ class Metadata(DictLike):
origin: EPoint
"""Inital scale."""
- bases: Bases
- """Manipulation information, describing the current status of the EKO (e.g.
- `inputgrid` and `targetgrid`).
- """
+ xgrid: XGrid
+ """Interpolation grid"""
# tagging information
_path: Optional[pathlib.Path] = None
"""Path to temporary dir."""
diff --git a/src/eko/io/struct.py b/src/eko/io/struct.py
index fecba3c57..dbbb231f9 100644
--- a/src/eko/io/struct.py
+++ b/src/eko/io/struct.py
@@ -16,7 +16,6 @@
from .. import interpolation
from . import exceptions, raw
from .access import AccessConfigs
-from .bases import Bases
from .inventory import Inventory
from .items import Evolution, Matching, Operator, Recipe, Target
from .metadata import Metadata
@@ -105,20 +104,15 @@ def paths(self) -> InternalPaths:
"""Accessor for internal paths."""
return InternalPaths(self.metadata.path)
- @property
- def bases(self) -> Bases:
- """Bases information."""
- return self.metadata.bases
-
@property
def xgrid(self) -> interpolation.XGrid:
"""Momentum fraction internal grid."""
- return self.bases.xgrid
+ return self.metadata.xgrid
@xgrid.setter
def xgrid(self, value: interpolation.XGrid):
"""Set `xgrid` value."""
- self.bases.xgrid = value
+ self.metadata.xgrid = value
self.update()
@property
@@ -551,7 +545,7 @@ def build(self) -> EKO:
metadata = Metadata(
_path=self.path,
origin=(self.operator.mu20, self.theory.heavy.num_flavs_init),
- bases=Bases(xgrid=self.operator.xgrid),
+ xgrid=self.operator.xgrid,
)
InternalPaths(self.path).bootstrap(
theory=self.theory.raw,
diff --git a/src/ekobox/apply.py b/src/ekobox/apply.py
index c392ffe78..5722a6ad6 100644
--- a/src/ekobox/apply.py
+++ b/src/ekobox/apply.py
@@ -74,12 +74,12 @@ def apply_pdf_flavor(
output PDFs and their associated errors for the computed mu2grid
"""
# create pdfs
- pdfs = np.zeros((len(eko.bases.inputpids), len(eko.bases.inputgrid)))
- for j, pid in enumerate(eko.bases.inputpids):
+ pdfs = np.zeros((len(br.flavor_basis_pids), len(eko.xgrid)))
+ for j, pid in enumerate(br.flavor_basis_pids):
if not lhapdf_like.hasFlavor(pid):
continue
pdfs[j] = np.array(
- [lhapdf_like.xfxQ2(pid, x, eko.mu20) / x for x in eko.bases.inputgrid.raw]
+ [lhapdf_like.xfxQ2(pid, x, eko.mu20) / x for x in eko.xgrid.raw]
)
# build output
@@ -91,11 +91,11 @@ def apply_pdf_flavor(
else:
error_final = None
out_grid[ep] = {
- "pdfs": dict(zip(eko.bases.targetpids, pdf_final)),
+ "pdfs": dict(zip(br.flavor_basis_pids, pdf_final)),
"errors": None,
}
if error_final is not None:
- out_grid[ep]["errors"] = dict(zip(eko.bases.targetpids, error_final))
+ out_grid[ep]["errors"] = dict(zip(br.flavor_basis_pids, error_final))
# rotate to evolution basis
if flavor_rotation is not None:
@@ -117,7 +117,7 @@ def apply_pdf_flavor(
# rotate/interpolate to target grid
if targetgrid is not None:
b = interpolation.InterpolatorDispatcher(
- xgrid=eko.bases.targetgrid,
+ xgrid=eko.xgrid,
polynomial_degree=eko.operator_card.configs.interpolation_polynomial_degree,
mode_N=False,
)
diff --git a/tests/eko/io/test_bases.py b/tests/eko/io/test_bases.py
deleted file mode 100644
index a0165243f..000000000
--- a/tests/eko/io/test_bases.py
+++ /dev/null
@@ -1,83 +0,0 @@
-from dataclasses import fields
-
-import numpy as np
-
-from eko import basis_rotation as br
-from eko import interpolation
-from eko.io.bases import Bases
-
-
-class TestBases:
- XGRID_TEST = [1e-3, 1e-2, 1e-1, 1.0]
-
- def test_serialization(self):
- rot = Bases(interpolation.XGrid(self.XGRID_TEST))
-
- d = rot.raw
- rot1 = rot.from_dict(d)
-
- for f in fields(Bases):
- assert getattr(rot, f.name) == getattr(rot1, f.name)
-
- assert d["targetgrid"] is None
- assert "_targetgrid" not in d
-
- def test_pids(self):
- rot = Bases(interpolation.XGrid(self.XGRID_TEST))
-
- # no check on correctness of value set
- rot.inputpids = [0, 1]
- # but the internal grid is unmodified
- assert len(rot.pids) == 14
- # and fallback implemented for unset external bases
- assert np.all(rot.targetpids == rot.pids)
-
- def test_grids(self):
- rot = Bases(interpolation.XGrid(self.XGRID_TEST))
-
- # no check on correctness of value set
- rot.inputgrid = interpolation.XGrid([0.1, 1])
- # but the internal grid is unmodified
- assert len(rot.xgrid) == len(self.XGRID_TEST)
- # and fallback implemented for unset external grids
- assert np.all(rot.targetgrid == rot.xgrid)
-
- def test_fallback(self):
- xg = interpolation.XGrid([0.1, 1.0])
- r = Bases(xgrid=xg)
- np.testing.assert_allclose(r.targetpids, r.pids)
- np.testing.assert_allclose(r.inputpids, r.pids)
- assert r.xgrid == xg
- assert r.targetgrid == xg
- assert r.inputgrid == xg
-
- def test_overwrite(self):
- tpids = np.array([3, 4] + list(br.flavor_basis_pids[2:]))
- ipids = np.array([5, 6] + list(br.flavor_basis_pids[2:]))
- xg = interpolation.XGrid([0.1, 1.0])
- txg = interpolation.XGrid([0.2, 1.0])
- ixg = interpolation.XGrid([0.3, 1.0])
- r = Bases(
- xgrid=xg,
- _targetgrid=txg,
- _inputgrid=ixg,
- _targetpids=tpids,
- _inputpids=ipids,
- )
- np.testing.assert_allclose(r.targetpids, tpids)
- np.testing.assert_allclose(r.inputpids, ipids)
- assert r.xgrid == xg
- assert r.targetgrid == txg
- assert r.inputgrid == ixg
-
- def test_init(self):
- xg = interpolation.XGrid([0.1, 1.0])
- txg = np.array([0.2, 1.0])
- ixg = {"grid": [0.3, 1.0], "log": True}
- r = Bases(xgrid=xg, _targetgrid=txg, _inputgrid=ixg)
- assert isinstance(r.xgrid, interpolation.XGrid)
- assert isinstance(r.targetgrid, interpolation.XGrid)
- assert isinstance(r.inputgrid, interpolation.XGrid)
- assert r.xgrid == xg
- assert r.targetgrid == interpolation.XGrid(txg)
- assert r.inputgrid == interpolation.XGrid.load(ixg)
diff --git a/tests/eko/io/test_metadata.py b/tests/eko/io/test_metadata.py
index a5651e0c8..fcfa8dd09 100644
--- a/tests/eko/io/test_metadata.py
+++ b/tests/eko/io/test_metadata.py
@@ -3,11 +3,11 @@
import pytest
import yaml
-from eko.io import bases, metadata, paths
+from eko.io import metadata, paths
def test_metadata(tmp_path, caplog):
- m = metadata.Metadata((1.0, 3), bases.Bases([0.1, 1.0]))
+ m = metadata.Metadata(origin=(1.0, 3), xgrid=[0.1, 1.0])
# errors
with caplog.at_level(logging.INFO):
m.update()
@@ -26,7 +26,7 @@ def test_metadata(tmp_path, caplog):
m.version = "0.0.0-a1~really1.0.0"
m.update()
# if I read back the thing should be what I set
- mn = metadata.Metadata((1.0, 3), bases.Bases([0.1, 1.0]))
+ mn = metadata.Metadata(origin=(1.0, 3), xgrid=[0.1, 1.0])
mm = metadata.Metadata.load(tmp_path)
assert m.path == tmp_path
assert mm.version != mn.version
diff --git a/tests/eko/io/test_runcards.py b/tests/eko/io/test_runcards.py
index 6af37edcb..4b4996336 100644
--- a/tests/eko/io/test_runcards.py
+++ b/tests/eko/io/test_runcards.py
@@ -7,7 +7,6 @@
from banana.data.theories import default_card as theory_card
from eko.io import runcards as rc
-from eko.io.bases import Bases
from ekomark.data.operators import default_card as operator_card
diff --git a/tests/eko/runner/__init__.py b/tests/eko/runner/__init__.py
index c8ec5b854..0e3ea68c0 100644
--- a/tests/eko/runner/__init__.py
+++ b/tests/eko/runner/__init__.py
@@ -1,19 +1,21 @@
import numpy as np
+from eko import basis_rotation as br
+
def check_shapes(o, txs, ixs, theory_card, operators_card):
- tpids = len(o.bases.targetpids)
- ipids = len(o.bases.inputpids)
+ tpids = len(br.flavor_basis_pids)
+ ipids = len(br.flavor_basis_pids)
op_shape = (tpids, len(txs), ipids, len(ixs))
# check output = input
np.testing.assert_allclose(o.xgrid.raw, operators_card.xgrid.raw)
# targetgrid and inputgrid in the opcard are now ignored, we are testing this
np.testing.assert_allclose(
- o.bases.targetgrid.raw,
+ o.xgrid.raw,
txs.raw,
)
- np.testing.assert_allclose(o.bases.inputgrid.raw, ixs.raw)
+ np.testing.assert_allclose(o.xgrid.raw, ixs.raw)
np.testing.assert_allclose(o.mu20, operators_card.mu20)
# check available operators
~o.operators
diff --git a/tests/eko/runner/conftest.py b/tests/eko/runner/conftest.py
index a1516b2a7..a2966c5e9 100644
--- a/tests/eko/runner/conftest.py
+++ b/tests/eko/runner/conftest.py
@@ -4,6 +4,7 @@
import pytest
from eko import EKO
+from eko import basis_rotation as br
from eko.io.items import Operator
from eko.io.runcards import OperatorCard, TheoryCard
from eko.runner import commons, recipes
@@ -21,7 +22,7 @@ def neweko(theory_card: TheoryCard, operator_card: OperatorCard, tmp_path: Path)
@pytest.fixture
def identity(neweko: EKO):
xs = len(neweko.xgrid.raw)
- flavs = len(neweko.bases.pids)
+ flavs = len(br.flavor_basis_pids)
return Operator(operator=np.eye(xs * flavs).reshape((xs, flavs, xs, flavs)))
diff --git a/tests/ekobox/test_apply.py b/tests/ekobox/test_apply.py
index 8fa23548f..70eb74adc 100644
--- a/tests/ekobox/test_apply.py
+++ b/tests/ekobox/test_apply.py
@@ -1,5 +1,6 @@
import numpy as np
+from eko import basis_rotation as br
from ekobox import apply
from tests.conftest import EKOFactory
@@ -12,13 +13,13 @@ def test_apply(self, eko_factory: EKOFactory, fake_pdf):
pdf_grid = apply.apply_pdf(eko, fake_pdf)
assert len(pdf_grid) == len(eko.evolgrid)
pdfs = pdf_grid[ep_out]["pdfs"]
- assert list(pdfs.keys()) == list(eko.bases.targetpids)
+ assert list(pdfs.keys()) == list(br.flavor_basis_pids)
# rotate to target_grid
target_grid = [0.75]
pdf_grid = apply.apply_pdf(eko, fake_pdf, target_grid)
assert len(pdf_grid) == 1
pdfs = pdf_grid[ep_out]["pdfs"]
- assert list(pdfs.keys()) == list(eko.bases.targetpids)
+ assert list(pdfs.keys()) == list(br.flavor_basis_pids)
def test_apply_flavor(self, eko_factory: EKOFactory, fake_pdf, monkeypatch):
eko = eko_factory.get()
@@ -27,12 +28,8 @@ def test_apply_flavor(self, eko_factory: EKOFactory, fake_pdf, monkeypatch):
monkeypatch.setattr(
"eko.basis_rotation.rotate_flavor_to_evolution", np.ones((14, 14))
)
- monkeypatch.setattr(
- "eko.basis_rotation.flavor_basis_pids",
- eko.bases.targetpids,
- )
fake_evol_basis = tuple(
- ["a", "b"] + [str(x) for x in range(len(eko.bases.pids) - 2)]
+ ["a", "b"] + [str(x) for x in range(len(br.flavor_basis_pids) - 2)]
)
monkeypatch.setattr("eko.basis_rotation.evol_basis", fake_evol_basis)
pdf_grid = apply.apply_pdf(eko, fake_pdf, rotate_to_evolution_basis=True)
From 7cf9e1b30d2f17553094e23db15775aabc8e9545 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 1 Aug 2023 17:57:50 +0200
Subject: [PATCH 030/216] Use correct types in LHA
---
benchmarks/lha_paper_bench.py | 22 +++++++++-------------
1 file changed, 9 insertions(+), 13 deletions(-)
diff --git a/benchmarks/lha_paper_bench.py b/benchmarks/lha_paper_bench.py
index 9254307dc..f92755af9 100644
--- a/benchmarks/lha_paper_bench.py
+++ b/benchmarks/lha_paper_bench.py
@@ -12,19 +12,15 @@
register(__file__)
+_sqrt2 = float(np.sqrt(2.0))
+
base_theory = {
"ModEv": "EXA",
- "Q0": np.sqrt(
- 2.0
- ), # Eq. (30) :cite:`Giele:2002hx`, Eq. (4.53) :cite:`Dittmar:2005ed`
- "mc": np.sqrt(
- 2.0
- ), # Eq. (34) :cite:`Giele:2002hx`, Eq. (4.56) :cite:`Dittmar:2005ed`
+ "Q0": _sqrt2, # Eq. (30) :cite:`Giele:2002hx`, Eq. (4.53) :cite:`Dittmar:2005ed`
+ "mc": _sqrt2, # Eq. (34) :cite:`Giele:2002hx`, Eq. (4.56) :cite:`Dittmar:2005ed`
"mb": 4.5,
"mt": 175,
- "Qref": np.sqrt(
- 2.0
- ), # Eq. (32) :cite:`Giele:2002hx`,Eq. (4.53) :cite:`Dittmar:2005ed`
+ "Qref": _sqrt2, # Eq. (32) :cite:`Giele:2002hx`,Eq. (4.53) :cite:`Dittmar:2005ed`
"alphas": 0.35, # Eq. (4.55) :cite:`Dittmar:2005ed`
"alphaqed": 0.007496,
"QED": 0,
@@ -78,11 +74,11 @@ def sv_theories(self, pto):
"""
low = self.theory.copy()
low["PTO"] = pto
- low["XIF"] = np.sqrt(1.0 / 2.0)
+ low["XIF"] = 1.0 / _sqrt2
low["ModSV"] = "exponentiated"
high = self.theory.copy()
high["PTO"] = pto
- high["XIF"] = np.sqrt(2.0)
+ high["XIF"] = _sqrt2
high["ModSV"] = "exponentiated"
return [high, low]
@@ -301,7 +297,7 @@ def benchmark_sv(self, pto):
sv_theory["kcThr"] = 1.0 + 1e-15
sv_theory["nfref"] = 4
sv_theory["EScaleVar"] = 0
- low["XIR"] = np.sqrt(2.0)
- high["XIR"] = np.sqrt(0.5)
+ low["XIR"] = _sqrt2
+ high["XIR"] = 1.0 / _sqrt2
self.run_lha([low, high])
From e8c218e0d5e7c7e90ecfd40d22f6f9d58bd2d142 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 17 Aug 2023 17:26:56 +0200
Subject: [PATCH 031/216] Drop new_op_key variable in grid
---
src/eko/evolution_operator/grid.py | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/eko/evolution_operator/grid.py b/src/eko/evolution_operator/grid.py
index 1180697a6..9c0c6c1df 100644
--- a/src/eko/evolution_operator/grid.py
+++ b/src/eko/evolution_operator/grid.py
@@ -127,7 +127,6 @@ def get_threshold_operators(self, path: List[Segment]) -> List[Operator]:
is_downward = is_downward_path(path)
shift = flavor_shift(is_downward)
for seg in path[:-1]:
- new_op_key = seg
kthr = self.config["thresholds_ratios"][seg.nf - shift]
ome = OperatorMatrixElement(
self.config,
@@ -138,13 +137,13 @@ def get_threshold_operators(self, path: List[Segment]) -> List[Operator]:
np.log(kthr),
self.config["HQ"] == "MSBAR",
)
- if new_op_key not in self._threshold_operators:
+ if seg not in self._threshold_operators:
# Compute the operator and store it
logger.info("Prepare threshold operator")
op_th = Operator(self.config, self.managers, seg, is_threshold=True)
op_th.compute()
- self._threshold_operators[new_op_key] = op_th
- thr_ops.append(self._threshold_operators[new_op_key])
+ self._threshold_operators[seg] = op_th
+ thr_ops.append(self._threshold_operators[seg])
# Compute the matching conditions and store it
if seg.target not in self._matching_operators:
From 54d9e53401476339afc34bafc0b6718ca523a6b2 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 17 Aug 2023 17:32:28 +0200
Subject: [PATCH 032/216] Define couplings cache key type
---
src/eko/couplings.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/eko/couplings.py b/src/eko/couplings.py
index 1b3620032..5cd35ef2b 100644
--- a/src/eko/couplings.py
+++ b/src/eko/couplings.py
@@ -381,6 +381,10 @@ def couplings_expanded_fixed_alphaem(order, couplings_ref, nf, scale_from, scale
return np.array([res_as, aem])
+_CouplingsCacheKey = Tuple[float, float, int, float, float]
+"""Cache key containing (a0, a1, nf, scale_from, scale_to)."""
+
+
class Couplings:
r"""Compute the strong and electromagnetic coupling constants :math:`a_s, a_{em}`.
@@ -475,7 +479,7 @@ def assert_positive(name, var):
self.decoupled_running,
)
# cache
- self.cache: Dict[Tuple[float, float, int, float, float], npt.NDArray] = {}
+ self.cache: Dict[_CouplingsCacheKey, npt.NDArray] = {}
@property
def mu2_ref(self):
From 9b0d8048b98a708a6616e482b2ac955f6475cd30 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 17 Aug 2023 17:38:56 +0200
Subject: [PATCH 033/216] Define label type in apply
---
src/ekobox/apply.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/ekobox/apply.py b/src/ekobox/apply.py
index ace0ccca1..97d1a0168 100644
--- a/src/ekobox/apply.py
+++ b/src/ekobox/apply.py
@@ -51,13 +51,16 @@ def apply_pdf(
CONTRACTION = "ajbk,bk"
+_PdfLabel = Union[int, str]
+"""PDF identifier: either PID or label."""
+
@dataclass
class PdfResult:
"""Helper class to collect PDF results."""
- pdfs: Dict[Union[int, str], float]
- errors: Optional[Dict[Union[int, str], float]] = None
+ pdfs: Dict[_PdfLabel, float]
+ errors: Optional[Dict[_PdfLabel, float]] = None
def apply_pdf_flavor(
From 3b576005797436986452c2cab91c726d0d009328 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 17 Aug 2023 17:46:05 +0200
Subject: [PATCH 034/216] Cast labels in evop/Operator
---
src/eko/evolution_operator/__init__.py | 4 ++--
src/eko/evolution_operator/operator_matrix_element.py | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/eko/evolution_operator/__init__.py b/src/eko/evolution_operator/__init__.py
index fea8d15fe..6e008e322 100644
--- a/src/eko/evolution_operator/__init__.py
+++ b/src/eko/evolution_operator/__init__.py
@@ -607,8 +607,8 @@ class Operator(sv.ModeMixin):
log_label = "Evolution"
# complete list of possible evolution operators labels
- full_labels = list(br.full_labels)
- full_labels_qed = list(br.full_unified_labels)
+ full_labels: Tuple[Tuple[int, int], ...] = br.full_labels
+ full_labels_qed: Tuple[Tuple[int, int], ...] = br.full_unified_labels
def __init__(
self, config, managers, segment: Segment, mellin_cut=5e-2, is_threshold=False
diff --git a/src/eko/evolution_operator/operator_matrix_element.py b/src/eko/evolution_operator/operator_matrix_element.py
index 8966a62b9..deb763499 100644
--- a/src/eko/evolution_operator/operator_matrix_element.py
+++ b/src/eko/evolution_operator/operator_matrix_element.py
@@ -3,7 +3,7 @@
import copy
import functools
import logging
-from typing import List, Tuple
+from typing import Tuple
import numba as nb
import numpy as np
@@ -196,7 +196,7 @@ class OperatorMatrixElement(Operator):
log_label = "Matching"
# complete list of possible matching operators labels
- full_labels = [
+ full_labels = (
*br.singlet_labels,
(br.matching_hplus_pid, 21),
(br.matching_hplus_pid, 100),
@@ -207,9 +207,9 @@ class OperatorMatrixElement(Operator):
(200, br.matching_hminus_pid),
(br.matching_hminus_pid, 200),
(br.matching_hminus_pid, br.matching_hminus_pid),
- ]
+ )
# still valid in QED since Sdelta and Vdelta matchings are diagonal
- full_labels_qed: List[Tuple[int, int]] = copy.deepcopy(full_labels)
+ full_labels_qed: Tuple[Tuple[int, int], ...] = copy.deepcopy(full_labels)
def __init__(self, config, managers, nf, q2, is_backward, L, is_msbar):
super().__init__(config, managers, Segment(q2, q2, nf))
From bbe955c54302f2ad3ee80cd65dec8bae2c4ccb78 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 17 Aug 2023 17:49:57 +0200
Subject: [PATCH 035/216] Update src/eko/runner/operators.py
Co-authored-by: Alessandro Candido
---
src/eko/runner/operators.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/eko/runner/operators.py b/src/eko/runner/operators.py
index bfc4ce407..19f53c243 100644
--- a/src/eko/runner/operators.py
+++ b/src/eko/runner/operators.py
@@ -17,7 +17,7 @@ def retrieve(
for head in headers:
inv = parts if isinstance(head, Evolution) else parts_matching
op = inv[head]
- assert isinstance(op, Operator)
+ assert op is not None
elements.append(op)
return elements
From 16e38092e5eeb42d43348bb07c1d3417e7747a14 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 17 Aug 2023 17:56:01 +0200
Subject: [PATCH 036/216] Introduce OperatorLabel type
---
src/eko/evolution_operator/__init__.py | 8 +++++---
src/eko/evolution_operator/operator_matrix_element.py | 3 +--
src/eko/io/types.py | 8 ++++----
3 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/src/eko/evolution_operator/__init__.py b/src/eko/evolution_operator/__init__.py
index 6e008e322..3681f0663 100644
--- a/src/eko/evolution_operator/__init__.py
+++ b/src/eko/evolution_operator/__init__.py
@@ -21,6 +21,7 @@
from .. import basis_rotation as br
from .. import interpolation, mellin
from .. import scale_variations as sv
+from ..io.types import OperatorLabel
from ..kernels import non_singlet as ns
from ..kernels import non_singlet_qed as qed_ns
from ..kernels import singlet as s
@@ -579,7 +580,8 @@ def quad_ker_qed(
return ker
-OpMembers = Dict[Tuple[int, int], OpMember]
+OpMembers = Dict[OperatorLabel, OpMember]
+"""Map of all operators."""
class Operator(sv.ModeMixin):
@@ -607,8 +609,8 @@ class Operator(sv.ModeMixin):
log_label = "Evolution"
# complete list of possible evolution operators labels
- full_labels: Tuple[Tuple[int, int], ...] = br.full_labels
- full_labels_qed: Tuple[Tuple[int, int], ...] = br.full_unified_labels
+ full_labels: Tuple[OperatorLabel, ...] = br.full_labels
+ full_labels_qed: Tuple[OperatorLabel, ...] = br.full_unified_labels
def __init__(
self, config, managers, segment: Segment, mellin_cut=5e-2, is_threshold=False
diff --git a/src/eko/evolution_operator/operator_matrix_element.py b/src/eko/evolution_operator/operator_matrix_element.py
index deb763499..7a5a3ce6c 100644
--- a/src/eko/evolution_operator/operator_matrix_element.py
+++ b/src/eko/evolution_operator/operator_matrix_element.py
@@ -3,7 +3,6 @@
import copy
import functools
import logging
-from typing import Tuple
import numba as nb
import numpy as np
@@ -209,7 +208,7 @@ class OperatorMatrixElement(Operator):
(br.matching_hminus_pid, br.matching_hminus_pid),
)
# still valid in QED since Sdelta and Vdelta matchings are diagonal
- full_labels_qed: Tuple[Tuple[int, int], ...] = copy.deepcopy(full_labels)
+ full_labels_qed = copy.deepcopy(full_labels)
def __init__(self, config, managers, nf, q2, is_backward, L, is_msbar):
super().__init__(config, managers, Segment(q2, q2, nf))
diff --git a/src/eko/io/types.py b/src/eko/io/types.py
index 5573bafbb..dc8c490c4 100644
--- a/src/eko/io/types.py
+++ b/src/eko/io/types.py
@@ -1,7 +1,6 @@
"""Common type definitions, only used for static analysis."""
import enum
-import typing
-from typing import Any, Dict, Generic, Tuple, TypeVar
+from typing import Any, Dict, Generic, List, Tuple, TypeVar
# Energy scales
# -------------
@@ -22,8 +21,9 @@
Order = Tuple[int, int]
FlavorsNumber = int
FlavorIndex = int
-IntrinsicFlavors = typing.List[FlavorIndex]
-N3LOAdVariation = typing.Tuple[int, int, int, int]
+IntrinsicFlavors = List[FlavorIndex]
+N3LOAdVariation = Tuple[int, int, int, int]
+OperatorLabel = Tuple[int, int]
# Evolution coordinates
# ---------------------
From c9cdc72dfc37932fda2ad91d8f17129cc2a4b3b1 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 17 Aug 2023 17:58:08 +0200
Subject: [PATCH 037/216] Remove list comprension in msbar
---
src/eko/msbar_masses.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/eko/msbar_masses.py b/src/eko/msbar_masses.py
index f13582110..ca4fd6731 100644
--- a/src/eko/msbar_masses.py
+++ b/src/eko/msbar_masses.py
@@ -395,7 +395,7 @@ def sc(thr_masses):
heavy_quarks = quark_names[3:]
hq_idxs = np.arange(0, 3)
if nf_ref > 4:
- heavy_quarks = "".join([e for e in reversed(heavy_quarks)])
+ heavy_quarks = "".join(reversed(heavy_quarks))
hq_idxs = reversed(hq_idxs)
# loop on heavy quarks and compute the msbar masses
From c946b3f21745c060aa29109c101ad090daa3a5c8 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 17 Aug 2023 18:25:27 +0200
Subject: [PATCH 038/216] Upgrade banana
---
poetry.lock | 1525 ++++++++++++++++++++++++++----------------------
pyproject.toml | 2 +-
2 files changed, 813 insertions(+), 714 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index 53d012a61..9d5f9c818 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -38,14 +38,14 @@ files = [
[[package]]
name = "astroid"
-version = "2.15.5"
+version = "2.15.6"
description = "An abstract syntax tree for Python with inference support."
category = "dev"
optional = false
python-versions = ">=3.7.2"
files = [
- {file = "astroid-2.15.5-py3-none-any.whl", hash = "sha256:078e5212f9885fa85fbb0cf0101978a336190aadea6e13305409d099f71b2324"},
- {file = "astroid-2.15.5.tar.gz", hash = "sha256:1039262575027b441137ab4a62a793a9b43defb42c32d5670f38686207cd780f"},
+ {file = "astroid-2.15.6-py3-none-any.whl", hash = "sha256:389656ca57b6108f939cf5d2f9a2a825a3be50ba9d589670f393236e0a03b91c"},
+ {file = "astroid-2.15.6.tar.gz", hash = "sha256:903f024859b7c7687d7a7f3a3f73b17301f8e42dfd9cc9df9d4418172d3e2dbd"},
]
[package.dependencies]
@@ -139,14 +139,14 @@ files = [
[[package]]
name = "banana-hep"
-version = "0.6.9"
+version = "0.6.10"
description = "Benchmark QCD physics"
category = "main"
optional = true
python-versions = ">=3.8.0,<3.12"
files = [
- {file = "banana_hep-0.6.9-py3-none-any.whl", hash = "sha256:e857b777eb0f64b0bf5e0a2b7cc6afcb5680a60dc3bdd7ce9c34c4bf3b94828b"},
- {file = "banana_hep-0.6.9.tar.gz", hash = "sha256:0b9f5cd3e4e44d5c8117bab93c832784009feb6d87d5a874da0d47fc91ab0514"},
+ {file = "banana_hep-0.6.10-py3-none-any.whl", hash = "sha256:e50fcfad55220a9f14b3b3d056f5ba893e1ee2579f875a6786a0273e73f8b3f7"},
+ {file = "banana_hep-0.6.10.tar.gz", hash = "sha256:48c584bcb169de4769241ee34f5a067f9f719aaa64f512d3b9251bbe90e80002"},
]
[package.dependencies]
@@ -201,14 +201,14 @@ css = ["tinycss2 (>=1.1.0,<1.2)"]
[[package]]
name = "certifi"
-version = "2023.5.7"
+version = "2023.7.22"
description = "Python package for providing Mozilla's CA Bundle."
category = "dev"
optional = false
python-versions = ">=3.6"
files = [
- {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"},
- {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"},
+ {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"},
+ {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"},
]
[[package]]
@@ -290,99 +290,99 @@ pycparser = "*"
[[package]]
name = "charset-normalizer"
-version = "3.1.0"
+version = "3.2.0"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
category = "dev"
optional = false
python-versions = ">=3.7.0"
files = [
- {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"},
- {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"},
- {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"},
- {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"},
- {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"},
- {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"},
- {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"},
+ {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"},
+ {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"},
+ {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"},
+ {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"},
+ {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"},
+ {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"},
+ {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"},
]
[[package]]
name = "click"
-version = "8.1.3"
+version = "8.1.6"
description = "Composable command line interface toolkit"
category = "main"
optional = true
python-versions = ">=3.7"
files = [
- {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
- {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
+ {file = "click-8.1.6-py3-none-any.whl", hash = "sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"},
+ {file = "click-8.1.6.tar.gz", hash = "sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"},
]
[package.dependencies]
@@ -402,18 +402,18 @@ files = [
[[package]]
name = "comm"
-version = "0.1.3"
+version = "0.1.4"
description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc."
category = "dev"
optional = false
python-versions = ">=3.6"
files = [
- {file = "comm-0.1.3-py3-none-any.whl", hash = "sha256:16613c6211e20223f215fc6d3b266a247b6e2641bf4e0a3ad34cb1aff2aa3f37"},
- {file = "comm-0.1.3.tar.gz", hash = "sha256:a61efa9daffcfbe66fd643ba966f846a624e4e6d6767eda9cf6e993aadaab93e"},
+ {file = "comm-0.1.4-py3-none-any.whl", hash = "sha256:6d52794cba11b36ed9860999cd10fd02d6b2eac177068fdd585e1e2f8a96e67a"},
+ {file = "comm-0.1.4.tar.gz", hash = "sha256:354e40a59c9dd6db50c5cc6b4acc887d82e9603787f83b68c01a80a923984d15"},
]
[package.dependencies]
-traitlets = ">=5.3"
+traitlets = ">=4"
[package.extras]
lint = ["black (>=22.6.0)", "mdformat (>0.7)", "mdformat-gfm (>=0.3.5)", "ruff (>=0.0.156)"]
@@ -496,72 +496,64 @@ test-no-images = ["pytest", "pytest-cov", "wurlitzer"]
[[package]]
name = "coverage"
-version = "7.2.7"
+version = "7.3.0"
description = "Code coverage measurement for Python"
category = "dev"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "coverage-7.2.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d39b5b4f2a66ccae8b7263ac3c8170994b65266797fb96cbbfd3fb5b23921db8"},
- {file = "coverage-7.2.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d040ef7c9859bb11dfeb056ff5b3872436e3b5e401817d87a31e1750b9ae2fb"},
- {file = "coverage-7.2.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba90a9563ba44a72fda2e85302c3abc71c5589cea608ca16c22b9804262aaeb6"},
- {file = "coverage-7.2.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7d9405291c6928619403db1d10bd07888888ec1abcbd9748fdaa971d7d661b2"},
- {file = "coverage-7.2.7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31563e97dae5598556600466ad9beea39fb04e0229e61c12eaa206e0aa202063"},
- {file = "coverage-7.2.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ebba1cd308ef115925421d3e6a586e655ca5a77b5bf41e02eb0e4562a111f2d1"},
- {file = "coverage-7.2.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:cb017fd1b2603ef59e374ba2063f593abe0fc45f2ad9abdde5b4d83bd922a353"},
- {file = "coverage-7.2.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62a5c7dad11015c66fbb9d881bc4caa5b12f16292f857842d9d1871595f4495"},
- {file = "coverage-7.2.7-cp310-cp310-win32.whl", hash = "sha256:ee57190f24fba796e36bb6d3aa8a8783c643d8fa9760c89f7a98ab5455fbf818"},
- {file = "coverage-7.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:f75f7168ab25dd93110c8a8117a22450c19976afbc44234cbf71481094c1b850"},
- {file = "coverage-7.2.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:06a9a2be0b5b576c3f18f1a241f0473575c4a26021b52b2a85263a00f034d51f"},
- {file = "coverage-7.2.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5baa06420f837184130752b7c5ea0808762083bf3487b5038d68b012e5937dbe"},
- {file = "coverage-7.2.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fdec9e8cbf13a5bf63290fc6013d216a4c7232efb51548594ca3631a7f13c3a3"},
- {file = "coverage-7.2.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:52edc1a60c0d34afa421c9c37078817b2e67a392cab17d97283b64c5833f427f"},
- {file = "coverage-7.2.7-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63426706118b7f5cf6bb6c895dc215d8a418d5952544042c8a2d9fe87fcf09cb"},
- {file = "coverage-7.2.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:afb17f84d56068a7c29f5fa37bfd38d5aba69e3304af08ee94da8ed5b0865833"},
- {file = "coverage-7.2.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:48c19d2159d433ccc99e729ceae7d5293fbffa0bdb94952d3579983d1c8c9d97"},
- {file = "coverage-7.2.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0e1f928eaf5469c11e886fe0885ad2bf1ec606434e79842a879277895a50942a"},
- {file = "coverage-7.2.7-cp311-cp311-win32.whl", hash = "sha256:33d6d3ea29d5b3a1a632b3c4e4f4ecae24ef170b0b9ee493883f2df10039959a"},
- {file = "coverage-7.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:5b7540161790b2f28143191f5f8ec02fb132660ff175b7747b95dcb77ac26562"},
- {file = "coverage-7.2.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f2f67fe12b22cd130d34d0ef79206061bfb5eda52feb6ce0dba0644e20a03cf4"},
- {file = "coverage-7.2.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a342242fe22407f3c17f4b499276a02b01e80f861f1682ad1d95b04018e0c0d4"},
- {file = "coverage-7.2.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:171717c7cb6b453aebac9a2ef603699da237f341b38eebfee9be75d27dc38e01"},
- {file = "coverage-7.2.7-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49969a9f7ffa086d973d91cec8d2e31080436ef0fb4a359cae927e742abfaaa6"},
- {file = "coverage-7.2.7-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b46517c02ccd08092f4fa99f24c3b83d8f92f739b4657b0f146246a0ca6a831d"},
- {file = "coverage-7.2.7-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:a3d33a6b3eae87ceaefa91ffdc130b5e8536182cd6dfdbfc1aa56b46ff8c86de"},
- {file = "coverage-7.2.7-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:976b9c42fb2a43ebf304fa7d4a310e5f16cc99992f33eced91ef6f908bd8f33d"},
- {file = "coverage-7.2.7-cp312-cp312-win32.whl", hash = "sha256:8de8bb0e5ad103888d65abef8bca41ab93721647590a3f740100cd65c3b00511"},
- {file = "coverage-7.2.7-cp312-cp312-win_amd64.whl", hash = "sha256:9e31cb64d7de6b6f09702bb27c02d1904b3aebfca610c12772452c4e6c21a0d3"},
- {file = "coverage-7.2.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:58c2ccc2f00ecb51253cbe5d8d7122a34590fac9646a960d1430d5b15321d95f"},
- {file = "coverage-7.2.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d22656368f0e6189e24722214ed8d66b8022db19d182927b9a248a2a8a2f67eb"},
- {file = "coverage-7.2.7-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a895fcc7b15c3fc72beb43cdcbdf0ddb7d2ebc959edac9cef390b0d14f39f8a9"},
- {file = "coverage-7.2.7-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e84606b74eb7de6ff581a7915e2dab7a28a0517fbe1c9239eb227e1354064dcd"},
- {file = "coverage-7.2.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:0a5f9e1dbd7fbe30196578ca36f3fba75376fb99888c395c5880b355e2875f8a"},
- {file = "coverage-7.2.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:419bfd2caae268623dd469eff96d510a920c90928b60f2073d79f8fe2bbc5959"},
- {file = "coverage-7.2.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:2aee274c46590717f38ae5e4650988d1af340fe06167546cc32fe2f58ed05b02"},
- {file = "coverage-7.2.7-cp37-cp37m-win32.whl", hash = "sha256:61b9a528fb348373c433e8966535074b802c7a5d7f23c4f421e6c6e2f1697a6f"},
- {file = "coverage-7.2.7-cp37-cp37m-win_amd64.whl", hash = "sha256:b1c546aca0ca4d028901d825015dc8e4d56aac4b541877690eb76490f1dc8ed0"},
- {file = "coverage-7.2.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:54b896376ab563bd38453cecb813c295cf347cf5906e8b41d340b0321a5433e5"},
- {file = "coverage-7.2.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3d376df58cc111dc8e21e3b6e24606b5bb5dee6024f46a5abca99124b2229ef5"},
- {file = "coverage-7.2.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e330fc79bd7207e46c7d7fd2bb4af2963f5f635703925543a70b99574b0fea9"},
- {file = "coverage-7.2.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e9d683426464e4a252bf70c3498756055016f99ddaec3774bf368e76bbe02b6"},
- {file = "coverage-7.2.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d13c64ee2d33eccf7437961b6ea7ad8673e2be040b4f7fd4fd4d4d28d9ccb1e"},
- {file = "coverage-7.2.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b7aa5f8a41217360e600da646004f878250a0d6738bcdc11a0a39928d7dc2050"},
- {file = "coverage-7.2.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8fa03bce9bfbeeef9f3b160a8bed39a221d82308b4152b27d82d8daa7041fee5"},
- {file = "coverage-7.2.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:245167dd26180ab4c91d5e1496a30be4cd721a5cf2abf52974f965f10f11419f"},
- {file = "coverage-7.2.7-cp38-cp38-win32.whl", hash = "sha256:d2c2db7fd82e9b72937969bceac4d6ca89660db0a0967614ce2481e81a0b771e"},
- {file = "coverage-7.2.7-cp38-cp38-win_amd64.whl", hash = "sha256:2e07b54284e381531c87f785f613b833569c14ecacdcb85d56b25c4622c16c3c"},
- {file = "coverage-7.2.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:537891ae8ce59ef63d0123f7ac9e2ae0fc8b72c7ccbe5296fec45fd68967b6c9"},
- {file = "coverage-7.2.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:06fb182e69f33f6cd1d39a6c597294cff3143554b64b9825d1dc69d18cc2fff2"},
- {file = "coverage-7.2.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:201e7389591af40950a6480bd9edfa8ed04346ff80002cec1a66cac4549c1ad7"},
- {file = "coverage-7.2.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f6951407391b639504e3b3be51b7ba5f3528adbf1a8ac3302b687ecababf929e"},
- {file = "coverage-7.2.7-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f48351d66575f535669306aa7d6d6f71bc43372473b54a832222803eb956fd1"},
- {file = "coverage-7.2.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b29019c76039dc3c0fd815c41392a044ce555d9bcdd38b0fb60fb4cd8e475ba9"},
- {file = "coverage-7.2.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:81c13a1fc7468c40f13420732805a4c38a105d89848b7c10af65a90beff25250"},
- {file = "coverage-7.2.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:975d70ab7e3c80a3fe86001d8751f6778905ec723f5b110aed1e450da9d4b7f2"},
- {file = "coverage-7.2.7-cp39-cp39-win32.whl", hash = "sha256:7ee7d9d4822c8acc74a5e26c50604dff824710bc8de424904c0982e25c39c6cb"},
- {file = "coverage-7.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:eb393e5ebc85245347950143969b241d08b52b88a3dc39479822e073a1a8eb27"},
- {file = "coverage-7.2.7-pp37.pp38.pp39-none-any.whl", hash = "sha256:b7b4c971f05e6ae490fef852c218b0e79d4e52f79ef0c8475566584a8fb3e01d"},
- {file = "coverage-7.2.7.tar.gz", hash = "sha256:924d94291ca674905fe9481f12294eb11f2d3d3fd1adb20314ba89e94f44ed59"},
+ {file = "coverage-7.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:db76a1bcb51f02b2007adacbed4c88b6dee75342c37b05d1822815eed19edee5"},
+ {file = "coverage-7.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c02cfa6c36144ab334d556989406837336c1d05215a9bdf44c0bc1d1ac1cb637"},
+ {file = "coverage-7.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:477c9430ad5d1b80b07f3c12f7120eef40bfbf849e9e7859e53b9c93b922d2af"},
+ {file = "coverage-7.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce2ee86ca75f9f96072295c5ebb4ef2a43cecf2870b0ca5e7a1cbdd929cf67e1"},
+ {file = "coverage-7.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68d8a0426b49c053013e631c0cdc09b952d857efa8f68121746b339912d27a12"},
+ {file = "coverage-7.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b3eb0c93e2ea6445b2173da48cb548364f8f65bf68f3d090404080d338e3a689"},
+ {file = "coverage-7.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:90b6e2f0f66750c5a1178ffa9370dec6c508a8ca5265c42fbad3ccac210a7977"},
+ {file = "coverage-7.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:96d7d761aea65b291a98c84e1250cd57b5b51726821a6f2f8df65db89363be51"},
+ {file = "coverage-7.3.0-cp310-cp310-win32.whl", hash = "sha256:63c5b8ecbc3b3d5eb3a9d873dec60afc0cd5ff9d9f1c75981d8c31cfe4df8527"},
+ {file = "coverage-7.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:97c44f4ee13bce914272589b6b41165bbb650e48fdb7bd5493a38bde8de730a1"},
+ {file = "coverage-7.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:74c160285f2dfe0acf0f72d425f3e970b21b6de04157fc65adc9fd07ee44177f"},
+ {file = "coverage-7.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b543302a3707245d454fc49b8ecd2c2d5982b50eb63f3535244fd79a4be0c99d"},
+ {file = "coverage-7.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad0f87826c4ebd3ef484502e79b39614e9c03a5d1510cfb623f4a4a051edc6fd"},
+ {file = "coverage-7.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:13c6cbbd5f31211d8fdb477f0f7b03438591bdd077054076eec362cf2207b4a7"},
+ {file = "coverage-7.3.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fac440c43e9b479d1241fe9d768645e7ccec3fb65dc3a5f6e90675e75c3f3e3a"},
+ {file = "coverage-7.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3c9834d5e3df9d2aba0275c9f67989c590e05732439b3318fa37a725dff51e74"},
+ {file = "coverage-7.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4c8e31cf29b60859876474034a83f59a14381af50cbe8a9dbaadbf70adc4b214"},
+ {file = "coverage-7.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7a9baf8e230f9621f8e1d00c580394a0aa328fdac0df2b3f8384387c44083c0f"},
+ {file = "coverage-7.3.0-cp311-cp311-win32.whl", hash = "sha256:ccc51713b5581e12f93ccb9c5e39e8b5d4b16776d584c0f5e9e4e63381356482"},
+ {file = "coverage-7.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:887665f00ea4e488501ba755a0e3c2cfd6278e846ada3185f42d391ef95e7e70"},
+ {file = "coverage-7.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d000a739f9feed900381605a12a61f7aaced6beae832719ae0d15058a1e81c1b"},
+ {file = "coverage-7.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:59777652e245bb1e300e620ce2bef0d341945842e4eb888c23a7f1d9e143c446"},
+ {file = "coverage-7.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9737bc49a9255d78da085fa04f628a310c2332b187cd49b958b0e494c125071"},
+ {file = "coverage-7.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5247bab12f84a1d608213b96b8af0cbb30d090d705b6663ad794c2f2a5e5b9fe"},
+ {file = "coverage-7.3.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2ac9a1de294773b9fa77447ab7e529cf4fe3910f6a0832816e5f3d538cfea9a"},
+ {file = "coverage-7.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:85b7335c22455ec12444cec0d600533a238d6439d8d709d545158c1208483873"},
+ {file = "coverage-7.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:36ce5d43a072a036f287029a55b5c6a0e9bd73db58961a273b6dc11a2c6eb9c2"},
+ {file = "coverage-7.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:211a4576e984f96d9fce61766ffaed0115d5dab1419e4f63d6992b480c2bd60b"},
+ {file = "coverage-7.3.0-cp312-cp312-win32.whl", hash = "sha256:56afbf41fa4a7b27f6635bc4289050ac3ab7951b8a821bca46f5b024500e6321"},
+ {file = "coverage-7.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:7f297e0c1ae55300ff688568b04ff26b01c13dfbf4c9d2b7d0cb688ac60df479"},
+ {file = "coverage-7.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac0dec90e7de0087d3d95fa0533e1d2d722dcc008bc7b60e1143402a04c117c1"},
+ {file = "coverage-7.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:438856d3f8f1e27f8e79b5410ae56650732a0dcfa94e756df88c7e2d24851fcd"},
+ {file = "coverage-7.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1084393c6bda8875c05e04fce5cfe1301a425f758eb012f010eab586f1f3905e"},
+ {file = "coverage-7.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49ab200acf891e3dde19e5aa4b0f35d12d8b4bd805dc0be8792270c71bd56c54"},
+ {file = "coverage-7.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a67e6bbe756ed458646e1ef2b0778591ed4d1fcd4b146fc3ba2feb1a7afd4254"},
+ {file = "coverage-7.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8f39c49faf5344af36042b293ce05c0d9004270d811c7080610b3e713251c9b0"},
+ {file = "coverage-7.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:7df91fb24c2edaabec4e0eee512ff3bc6ec20eb8dccac2e77001c1fe516c0c84"},
+ {file = "coverage-7.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:34f9f0763d5fa3035a315b69b428fe9c34d4fc2f615262d6be3d3bf3882fb985"},
+ {file = "coverage-7.3.0-cp38-cp38-win32.whl", hash = "sha256:bac329371d4c0d456e8d5f38a9b0816b446581b5f278474e416ea0c68c47dcd9"},
+ {file = "coverage-7.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:b859128a093f135b556b4765658d5d2e758e1fae3e7cc2f8c10f26fe7005e543"},
+ {file = "coverage-7.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed8d310afe013db1eedd37176d0839dc66c96bcfcce8f6607a73ffea2d6ba"},
+ {file = "coverage-7.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61260ec93f99f2c2d93d264b564ba912bec502f679793c56f678ba5251f0393"},
+ {file = "coverage-7.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97af9554a799bd7c58c0179cc8dbf14aa7ab50e1fd5fa73f90b9b7215874ba28"},
+ {file = "coverage-7.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3558e5b574d62f9c46b76120a5c7c16c4612dc2644c3d48a9f4064a705eaee95"},
+ {file = "coverage-7.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37d5576d35fcb765fca05654f66aa71e2808d4237d026e64ac8b397ffa66a56a"},
+ {file = "coverage-7.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:07ea61bcb179f8f05ffd804d2732b09d23a1238642bf7e51dad62082b5019b34"},
+ {file = "coverage-7.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:80501d1b2270d7e8daf1b64b895745c3e234289e00d5f0e30923e706f110334e"},
+ {file = "coverage-7.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4eddd3153d02204f22aef0825409091a91bf2a20bce06fe0f638f5c19a85de54"},
+ {file = "coverage-7.3.0-cp39-cp39-win32.whl", hash = "sha256:2d22172f938455c156e9af2612650f26cceea47dc86ca048fa4e0b2d21646ad3"},
+ {file = "coverage-7.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:60f64e2007c9144375dd0f480a54d6070f00bb1a28f65c408370544091c9bc9e"},
+ {file = "coverage-7.3.0-pp38.pp39.pp310-none-any.whl", hash = "sha256:5492a6ce3bdb15c6ad66cb68a0244854d9917478877a25671d70378bdc8562d0"},
+ {file = "coverage-7.3.0.tar.gz", hash = "sha256:49dbb19cdcafc130f597d9e04a29d0a032ceedf729e41b181f51cd170e6ee865"},
]
[package.dependencies]
@@ -584,30 +576,30 @@ files = [
[[package]]
name = "debugpy"
-version = "1.6.7"
+version = "1.6.7.post1"
description = "An implementation of the Debug Adapter Protocol for Python"
category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "debugpy-1.6.7-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b3e7ac809b991006ad7f857f016fa92014445085711ef111fdc3f74f66144096"},
- {file = "debugpy-1.6.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3876611d114a18aafef6383695dfc3f1217c98a9168c1aaf1a02b01ec7d8d1e"},
- {file = "debugpy-1.6.7-cp310-cp310-win32.whl", hash = "sha256:33edb4afa85c098c24cc361d72ba7c21bb92f501104514d4ffec1fb36e09c01a"},
- {file = "debugpy-1.6.7-cp310-cp310-win_amd64.whl", hash = "sha256:ed6d5413474e209ba50b1a75b2d9eecf64d41e6e4501977991cdc755dc83ab0f"},
- {file = "debugpy-1.6.7-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:38ed626353e7c63f4b11efad659be04c23de2b0d15efff77b60e4740ea685d07"},
- {file = "debugpy-1.6.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:279d64c408c60431c8ee832dfd9ace7c396984fd7341fa3116aee414e7dcd88d"},
- {file = "debugpy-1.6.7-cp37-cp37m-win32.whl", hash = "sha256:dbe04e7568aa69361a5b4c47b4493d5680bfa3a911d1e105fbea1b1f23f3eb45"},
- {file = "debugpy-1.6.7-cp37-cp37m-win_amd64.whl", hash = "sha256:f90a2d4ad9a035cee7331c06a4cf2245e38bd7c89554fe3b616d90ab8aab89cc"},
- {file = "debugpy-1.6.7-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:5224eabbbeddcf1943d4e2821876f3e5d7d383f27390b82da5d9558fd4eb30a9"},
- {file = "debugpy-1.6.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bae1123dff5bfe548ba1683eb972329ba6d646c3a80e6b4c06cd1b1dd0205e9b"},
- {file = "debugpy-1.6.7-cp38-cp38-win32.whl", hash = "sha256:9cd10cf338e0907fdcf9eac9087faa30f150ef5445af5a545d307055141dd7a4"},
- {file = "debugpy-1.6.7-cp38-cp38-win_amd64.whl", hash = "sha256:aaf6da50377ff4056c8ed470da24632b42e4087bc826845daad7af211e00faad"},
- {file = "debugpy-1.6.7-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:0679b7e1e3523bd7d7869447ec67b59728675aadfc038550a63a362b63029d2c"},
- {file = "debugpy-1.6.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de86029696e1b3b4d0d49076b9eba606c226e33ae312a57a46dca14ff370894d"},
- {file = "debugpy-1.6.7-cp39-cp39-win32.whl", hash = "sha256:d71b31117779d9a90b745720c0eab54ae1da76d5b38c8026c654f4a066b0130a"},
- {file = "debugpy-1.6.7-cp39-cp39-win_amd64.whl", hash = "sha256:c0ff93ae90a03b06d85b2c529eca51ab15457868a377c4cc40a23ab0e4e552a3"},
- {file = "debugpy-1.6.7-py2.py3-none-any.whl", hash = "sha256:53f7a456bc50706a0eaabecf2d3ce44c4d5010e46dfc65b6b81a518b42866267"},
- {file = "debugpy-1.6.7.zip", hash = "sha256:c4c2f0810fa25323abfdfa36cbbbb24e5c3b1a42cb762782de64439c575d67f2"},
+ {file = "debugpy-1.6.7.post1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:903bd61d5eb433b6c25b48eae5e23821d4c1a19e25c9610205f5aeaccae64e32"},
+ {file = "debugpy-1.6.7.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d16882030860081e7dd5aa619f30dec3c2f9a421e69861125f83cc372c94e57d"},
+ {file = "debugpy-1.6.7.post1-cp310-cp310-win32.whl", hash = "sha256:eea8d8cfb9965ac41b99a61f8e755a8f50e9a20330938ad8271530210f54e09c"},
+ {file = "debugpy-1.6.7.post1-cp310-cp310-win_amd64.whl", hash = "sha256:85969d864c45f70c3996067cfa76a319bae749b04171f2cdeceebe4add316155"},
+ {file = "debugpy-1.6.7.post1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:890f7ab9a683886a0f185786ffbda3b46495c4b929dab083b8c79d6825832a52"},
+ {file = "debugpy-1.6.7.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4ac7a4dba28801d184b7fc0e024da2635ca87d8b0a825c6087bb5168e3c0d28"},
+ {file = "debugpy-1.6.7.post1-cp37-cp37m-win32.whl", hash = "sha256:3370ef1b9951d15799ef7af41f8174194f3482ee689988379763ef61a5456426"},
+ {file = "debugpy-1.6.7.post1-cp37-cp37m-win_amd64.whl", hash = "sha256:65b28435a17cba4c09e739621173ff90c515f7b9e8ea469b92e3c28ef8e5cdfb"},
+ {file = "debugpy-1.6.7.post1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:92b6dae8bfbd497c90596bbb69089acf7954164aea3228a99d7e43e5267f5b36"},
+ {file = "debugpy-1.6.7.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72f5d2ecead8125cf669e62784ef1e6300f4067b0f14d9f95ee00ae06fc7c4f7"},
+ {file = "debugpy-1.6.7.post1-cp38-cp38-win32.whl", hash = "sha256:f0851403030f3975d6e2eaa4abf73232ab90b98f041e3c09ba33be2beda43fcf"},
+ {file = "debugpy-1.6.7.post1-cp38-cp38-win_amd64.whl", hash = "sha256:3de5d0f97c425dc49bce4293df6a04494309eedadd2b52c22e58d95107e178d9"},
+ {file = "debugpy-1.6.7.post1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:38651c3639a4e8bbf0ca7e52d799f6abd07d622a193c406be375da4d510d968d"},
+ {file = "debugpy-1.6.7.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:038c51268367c9c935905a90b1c2d2dbfe304037c27ba9d19fe7409f8cdc710c"},
+ {file = "debugpy-1.6.7.post1-cp39-cp39-win32.whl", hash = "sha256:4b9eba71c290852f959d2cf8a03af28afd3ca639ad374d393d53d367f7f685b2"},
+ {file = "debugpy-1.6.7.post1-cp39-cp39-win_amd64.whl", hash = "sha256:973a97ed3b434eab0f792719a484566c35328196540676685c975651266fccf9"},
+ {file = "debugpy-1.6.7.post1-py2.py3-none-any.whl", hash = "sha256:1093a5c541af079c13ac8c70ab8b24d1d35c8cacb676306cf11e57f699c02926"},
+ {file = "debugpy-1.6.7.post1.zip", hash = "sha256:fe87ec0182ef624855d05e6ed7e0b7cb1359d2ffa2a925f8ec2d22e98b75d0ca"},
]
[[package]]
@@ -655,14 +647,14 @@ pygments = ["pygments (>=2.2.0)"]
[[package]]
name = "dill"
-version = "0.3.6"
-description = "serialize all of python"
+version = "0.3.7"
+description = "serialize all of Python"
category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "dill-0.3.6-py3-none-any.whl", hash = "sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0"},
- {file = "dill-0.3.6.tar.gz", hash = "sha256:e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373"},
+ {file = "dill-0.3.7-py3-none-any.whl", hash = "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e"},
+ {file = "dill-0.3.7.tar.gz", hash = "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"},
]
[package.extras]
@@ -670,14 +662,14 @@ graph = ["objgraph (>=1.7.2)"]
[[package]]
name = "distlib"
-version = "0.3.6"
+version = "0.3.7"
description = "Distribution utilities"
category = "dev"
optional = false
python-versions = "*"
files = [
- {file = "distlib-0.3.6-py2.py3-none-any.whl", hash = "sha256:f35c4b692542ca110de7ef0bea44d73981caeb34ca0b9b6b2e6d7790dda8f80e"},
- {file = "distlib-0.3.6.tar.gz", hash = "sha256:14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46"},
+ {file = "distlib-0.3.7-py2.py3-none-any.whl", hash = "sha256:2e24928bc811348f0feb63014e97aaae3037f2cf48712d51ae61df7fd6075057"},
+ {file = "distlib-0.3.7.tar.gz", hash = "sha256:9dafe54b34a028eafd95039d5e5d4851a13734540f1331060d31c9916e7147a8"},
]
[[package]]
@@ -694,14 +686,14 @@ files = [
[[package]]
name = "exceptiongroup"
-version = "1.1.1"
+version = "1.1.3"
description = "Backport of PEP 654 (exception groups)"
category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "exceptiongroup-1.1.1-py3-none-any.whl", hash = "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"},
- {file = "exceptiongroup-1.1.1.tar.gz", hash = "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785"},
+ {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"},
+ {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"},
]
[package.extras]
@@ -740,14 +732,14 @@ pyrepl = ">=0.8.2"
[[package]]
name = "fastjsonschema"
-version = "2.17.1"
+version = "2.18.0"
description = "Fastest Python implementation of JSON schema"
category = "dev"
optional = false
python-versions = "*"
files = [
- {file = "fastjsonschema-2.17.1-py3-none-any.whl", hash = "sha256:4b90b252628ca695280924d863fe37234eebadc29c5360d322571233dc9746e0"},
- {file = "fastjsonschema-2.17.1.tar.gz", hash = "sha256:f4eeb8a77cef54861dbf7424ac8ce71306f12cbb086c45131bcba2c6a4f726e3"},
+ {file = "fastjsonschema-2.18.0-py3-none-any.whl", hash = "sha256:128039912a11a807068a7c87d0da36660afbfd7202780db26c4aa7153cfdc799"},
+ {file = "fastjsonschema-2.18.0.tar.gz", hash = "sha256:e820349dd16f806e4bd1467a138dced9def4bc7d6213a34295272a6cac95b5bd"},
]
[package.extras]
@@ -771,46 +763,46 @@ testing = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "diff-cover (>=7.5)", "p
[[package]]
name = "fonttools"
-version = "4.40.0"
+version = "4.42.0"
description = "Tools to manipulate font files"
category = "main"
optional = true
python-versions = ">=3.8"
files = [
- {file = "fonttools-4.40.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b802dcbf9bcff74672f292b2466f6589ab8736ce4dcf36f48eb994c2847c4b30"},
- {file = "fonttools-4.40.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7f6e3fa3da923063c286320e728ba2270e49c73386e3a711aa680f4b0747d692"},
- {file = "fonttools-4.40.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5fdf60f8a5c6bcce7d024a33f7e4bc7921f5b74e8ea13bccd204f2c8b86f3470"},
- {file = "fonttools-4.40.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91784e21a1a085fac07c6a407564f4a77feb471b5954c9ee55a4f9165151f6c1"},
- {file = "fonttools-4.40.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:05171f3c546f64d78569f10adc0de72561882352cac39ec7439af12304d8d8c0"},
- {file = "fonttools-4.40.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7449e5e306f3a930a8944c85d0cbc8429cba13503372a1a40f23124d6fb09b58"},
- {file = "fonttools-4.40.0-cp310-cp310-win32.whl", hash = "sha256:bae8c13abbc2511e9a855d2142c0ab01178dd66b1a665798f357da0d06253e0d"},
- {file = "fonttools-4.40.0-cp310-cp310-win_amd64.whl", hash = "sha256:425b74a608427499b0e45e433c34ddc350820b6f25b7c8761963a08145157a66"},
- {file = "fonttools-4.40.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:00ab569b2a3e591e00425023ade87e8fef90380c1dde61be7691cb524ca5f743"},
- {file = "fonttools-4.40.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:18ea64ac43e94c9e0c23d7a9475f1026be0e25b10dda8f236fc956188761df97"},
- {file = "fonttools-4.40.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:022c4a16b412293e7f1ce21b8bab7a6f9d12c4ffdf171fdc67122baddb973069"},
- {file = "fonttools-4.40.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:530c5d35109f3e0cea2535742d6a3bc99c0786cf0cbd7bb2dc9212387f0d908c"},
- {file = "fonttools-4.40.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5e00334c66f4e83535384cb5339526d01d02d77f142c23b2f97bd6a4f585497a"},
- {file = "fonttools-4.40.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb52c10fda31159c22c7ed85074e05f8b97da8773ea461706c273e31bcbea836"},
- {file = "fonttools-4.40.0-cp311-cp311-win32.whl", hash = "sha256:6a8d71b9a5c884c72741868e845c0e563c5d83dcaf10bb0ceeec3b4b2eb14c67"},
- {file = "fonttools-4.40.0-cp311-cp311-win_amd64.whl", hash = "sha256:15abb3d055c1b2dff9ce376b6c3db10777cb74b37b52b78f61657634fd348a0d"},
- {file = "fonttools-4.40.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:14037c31138fbd21847ad5e5441dfdde003e0a8f3feb5812a1a21fd1c255ffbd"},
- {file = "fonttools-4.40.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:94c915f6716589f78bc00fbc14c5b8de65cfd11ee335d32504f1ef234524cb24"},
- {file = "fonttools-4.40.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37467cee0f32cada2ec08bc16c9c31f9b53ea54b2f5604bf25a1246b5f50593a"},
- {file = "fonttools-4.40.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56d4d85f5374b45b08d2f928517d1e313ea71b4847240398decd0ab3ebbca885"},
- {file = "fonttools-4.40.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8c4305b171b61040b1ee75d18f9baafe58bd3b798d1670078efe2c92436bfb63"},
- {file = "fonttools-4.40.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a954b90d1473c85a22ecf305761d9fd89da93bbd31dae86e7dea436ad2cb5dc9"},
- {file = "fonttools-4.40.0-cp38-cp38-win32.whl", hash = "sha256:1bc4c5b147be8dbc5df9cc8ac5e93ee914ad030fe2a201cc8f02f499db71011d"},
- {file = "fonttools-4.40.0-cp38-cp38-win_amd64.whl", hash = "sha256:8a917828dbfdb1cbe50cf40eeae6fbf9c41aef9e535649ed8f4982b2ef65c091"},
- {file = "fonttools-4.40.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:882983279bf39afe4e945109772c2ffad2be2c90983d6559af8b75c19845a80a"},
- {file = "fonttools-4.40.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c55f1b4109dbc3aeb496677b3e636d55ef46dc078c2a5e3f3db4e90f1c6d2907"},
- {file = "fonttools-4.40.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec468c022d09f1817c691cf884feb1030ef6f1e93e3ea6831b0d8144c06480d1"},
- {file = "fonttools-4.40.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d5adf4ba114f028fc3f5317a221fd8b0f4ef7a2e5524a2b1e0fd891b093791a"},
- {file = "fonttools-4.40.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:aa83b3f151bc63970f39b2b42a06097c5a22fd7ed9f7ba008e618de4503d3895"},
- {file = "fonttools-4.40.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:97d95b8301b62bdece1af943b88bcb3680fd385f88346a4a899ee145913b414a"},
- {file = "fonttools-4.40.0-cp39-cp39-win32.whl", hash = "sha256:1a003608400dd1cca3e089e8c94973c6b51a4fb1ef00ff6d7641617b9242e637"},
- {file = "fonttools-4.40.0-cp39-cp39-win_amd64.whl", hash = "sha256:7961575221e3da0841c75da53833272c520000d76f7f71274dbf43370f8a1065"},
- {file = "fonttools-4.40.0-py3-none-any.whl", hash = "sha256:200729d12461e2038700d31f0d49ad5a7b55855dec7525074979a06b46f88505"},
- {file = "fonttools-4.40.0.tar.gz", hash = "sha256:337b6e83d7ee73c40ea62407f2ce03b07c3459e213b6f332b94a69923b9e1cb9"},
+ {file = "fonttools-4.42.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9c456d1f23deff64ffc8b5b098718e149279abdea4d8692dba69172fb6a0d597"},
+ {file = "fonttools-4.42.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:150122ed93127a26bc3670ebab7e2add1e0983d30927733aec327ebf4255b072"},
+ {file = "fonttools-4.42.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48e82d776d2e93f88ca56567509d102266e7ab2fb707a0326f032fe657335238"},
+ {file = "fonttools-4.42.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58c1165f9b2662645de9b19a8c8bdd636b36294ccc07e1b0163856b74f10bafc"},
+ {file = "fonttools-4.42.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:2d6dc3fa91414ff4daa195c05f946e6a575bd214821e26d17ca50f74b35b0fe4"},
+ {file = "fonttools-4.42.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fae4e801b774cc62cecf4a57b1eae4097903fced00c608d9e2bc8f84cd87b54a"},
+ {file = "fonttools-4.42.0-cp310-cp310-win32.whl", hash = "sha256:b8600ae7dce6ec3ddfb201abb98c9d53abbf8064d7ac0c8a0d8925e722ccf2a0"},
+ {file = "fonttools-4.42.0-cp310-cp310-win_amd64.whl", hash = "sha256:57b68eab183fafac7cd7d464a7bfa0fcd4edf6c67837d14fb09c1c20516cf20b"},
+ {file = "fonttools-4.42.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0a1466713e54bdbf5521f2f73eebfe727a528905ff5ec63cda40961b4b1eea95"},
+ {file = "fonttools-4.42.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3fb2a69870bfe143ec20b039a1c8009e149dd7780dd89554cc8a11f79e5de86b"},
+ {file = "fonttools-4.42.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae881e484702efdb6cf756462622de81d4414c454edfd950b137e9a7352b3cb9"},
+ {file = "fonttools-4.42.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27ec3246a088555629f9f0902f7412220c67340553ca91eb540cf247aacb1983"},
+ {file = "fonttools-4.42.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8ece1886d12bb36c48c00b2031518877f41abae317e3a55620d38e307d799b7e"},
+ {file = "fonttools-4.42.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:10dac980f2b975ef74532e2a94bb00e97a95b4595fb7f98db493c474d5f54d0e"},
+ {file = "fonttools-4.42.0-cp311-cp311-win32.whl", hash = "sha256:83b98be5d291e08501bd4fc0c4e0f8e6e05b99f3924068b17c5c9972af6fff84"},
+ {file = "fonttools-4.42.0-cp311-cp311-win_amd64.whl", hash = "sha256:e35bed436726194c5e6e094fdfb423fb7afaa0211199f9d245e59e11118c576c"},
+ {file = "fonttools-4.42.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c36c904ce0322df01e590ba814d5d69e084e985d7e4c2869378671d79662a7d4"},
+ {file = "fonttools-4.42.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d54e600a2bcfa5cdaa860237765c01804a03b08404d6affcd92942fa7315ffba"},
+ {file = "fonttools-4.42.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01cfe02416b6d416c5c8d15e30315cbcd3e97d1b50d3b34b0ce59f742ef55258"},
+ {file = "fonttools-4.42.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f81ed9065b4bd3f4f3ce8e4873cd6a6b3f4e92b1eddefde35d332c6f414acc3"},
+ {file = "fonttools-4.42.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:685a4dd6cf31593b50d6d441feb7781a4a7ef61e19551463e14ed7c527b86f9f"},
+ {file = "fonttools-4.42.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:329341ba3d86a36e482610db56b30705384cb23bd595eac8cbb045f627778e9d"},
+ {file = "fonttools-4.42.0-cp38-cp38-win32.whl", hash = "sha256:4655c480a1a4d706152ff54f20e20cf7609084016f1df3851cce67cef768f40a"},
+ {file = "fonttools-4.42.0-cp38-cp38-win_amd64.whl", hash = "sha256:6bd7e4777bff1dcb7c4eff4786998422770f3bfbef8be401c5332895517ba3fa"},
+ {file = "fonttools-4.42.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a9b55d2a3b360e0c7fc5bd8badf1503ca1c11dd3a1cd20f2c26787ffa145a9c7"},
+ {file = "fonttools-4.42.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0df8ef75ba5791e873c9eac2262196497525e3f07699a2576d3ab9ddf41cb619"},
+ {file = "fonttools-4.42.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd2363ea7728496827658682d049ffb2e98525e2247ca64554864a8cc945568"},
+ {file = "fonttools-4.42.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d40673b2e927f7cd0819c6f04489dfbeb337b4a7b10fc633c89bf4f34ecb9620"},
+ {file = "fonttools-4.42.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c8bf88f9e3ce347c716921804ef3a8330cb128284eb6c0b6c4b3574f3c580023"},
+ {file = "fonttools-4.42.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:703101eb0490fae32baf385385d47787b73d9ea55253df43b487c89ec767e0d7"},
+ {file = "fonttools-4.42.0-cp39-cp39-win32.whl", hash = "sha256:f0290ea7f9945174bd4dfd66e96149037441eb2008f3649094f056201d99e293"},
+ {file = "fonttools-4.42.0-cp39-cp39-win_amd64.whl", hash = "sha256:ae7df0ae9ee2f3f7676b0ff6f4ebe48ad0acaeeeaa0b6839d15dbf0709f2c5ef"},
+ {file = "fonttools-4.42.0-py3-none-any.whl", hash = "sha256:dfe7fa7e607f7e8b58d0c32501a3a7cac148538300626d1b930082c90ae7f6bd"},
+ {file = "fonttools-4.42.0.tar.gz", hash = "sha256:614b1283dca88effd20ee48160518e6de275ce9b5456a3134d5f235523fc5065"},
]
[package.extras]
@@ -927,14 +919,14 @@ files = [
[[package]]
name = "importlib-metadata"
-version = "6.6.0"
+version = "6.8.0"
description = "Read metadata from Python packages"
category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "importlib_metadata-6.6.0-py3-none-any.whl", hash = "sha256:43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed"},
- {file = "importlib_metadata-6.6.0.tar.gz", hash = "sha256:92501cdf9cc66ebd3e612f1b4f0c0765dfa42f0fa38ffb319b6bd84dd675d705"},
+ {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"},
+ {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"},
]
[package.dependencies]
@@ -943,26 +935,26 @@ zipp = ">=0.5"
[package.extras]
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
perf = ["ipython"]
-testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"]
+testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
[[package]]
name = "importlib-resources"
-version = "5.12.0"
+version = "6.0.1"
description = "Read resources from Python packages"
category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "importlib_resources-5.12.0-py3-none-any.whl", hash = "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a"},
- {file = "importlib_resources-5.12.0.tar.gz", hash = "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6"},
+ {file = "importlib_resources-6.0.1-py3-none-any.whl", hash = "sha256:134832a506243891221b88b4ae1213327eea96ceb4e407a00d790bb0626f45cf"},
+ {file = "importlib_resources-6.0.1.tar.gz", hash = "sha256:4359457e42708462b9626a04657c6208ad799ceb41e5c58c57ffa0e6a098a5d4"},
]
[package.dependencies]
zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
+testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
[[package]]
name = "iniconfig"
@@ -978,14 +970,14 @@ files = [
[[package]]
name = "ipykernel"
-version = "6.23.2"
+version = "6.25.1"
description = "IPython Kernel for Jupyter"
category = "dev"
optional = false
python-versions = ">=3.8"
files = [
- {file = "ipykernel-6.23.2-py3-none-any.whl", hash = "sha256:7ccb6e2d32fd958c21453db494c914f3474908a2fdefd99ab548a5375b548d1f"},
- {file = "ipykernel-6.23.2.tar.gz", hash = "sha256:fcfb67c5b504aa1bfcda1c5b3716636239e0f7b9290958f1c558c79b4c0e7ed5"},
+ {file = "ipykernel-6.25.1-py3-none-any.whl", hash = "sha256:c8a2430b357073b37c76c21c52184db42f6b4b0e438e1eb7df3c4440d120497c"},
+ {file = "ipykernel-6.25.1.tar.gz", hash = "sha256:050391364c0977e768e354bdb60cbbfbee7cbb943b1af1618382021136ffd42f"},
]
[package.dependencies]
@@ -1070,22 +1062,22 @@ requirements-deprecated-finder = ["pip-api", "pipreqs"]
[[package]]
name = "jedi"
-version = "0.18.2"
+version = "0.19.0"
description = "An autocompletion tool for Python that can be used for text editors."
category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {file = "jedi-0.18.2-py2.py3-none-any.whl", hash = "sha256:203c1fd9d969ab8f2119ec0a3342e0b49910045abe6af0a3ae83a5764d54639e"},
- {file = "jedi-0.18.2.tar.gz", hash = "sha256:bae794c30d07f6d910d32a7048af09b5a39ed740918da923c6b780790ebac612"},
+ {file = "jedi-0.19.0-py2.py3-none-any.whl", hash = "sha256:cb8ce23fbccff0025e9386b5cf85e892f94c9b822378f8da49970471335ac64e"},
+ {file = "jedi-0.19.0.tar.gz", hash = "sha256:bcf9894f1753969cbac8022a8c2eaee06bfa3724e4192470aaffe7eb6272b0c4"},
]
[package.dependencies]
-parso = ">=0.8.0,<0.9.0"
+parso = ">=0.8.3,<0.9.0"
[package.extras]
docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"]
-qa = ["flake8 (==3.8.3)", "mypy (==0.782)"]
+qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"]
testing = ["Django (<3.1)", "attrs", "colorama", "docopt", "pytest (<7.0.0)"]
[[package]]
@@ -1108,36 +1100,54 @@ i18n = ["Babel (>=2.7)"]
[[package]]
name = "jsonschema"
-version = "4.17.3"
+version = "4.19.0"
description = "An implementation of JSON Schema validation for Python"
category = "dev"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "jsonschema-4.17.3-py3-none-any.whl", hash = "sha256:a870ad254da1a8ca84b6a2905cac29d265f805acc57af304784962a2aa6508f6"},
- {file = "jsonschema-4.17.3.tar.gz", hash = "sha256:0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d"},
+ {file = "jsonschema-4.19.0-py3-none-any.whl", hash = "sha256:043dc26a3845ff09d20e4420d6012a9c91c9aa8999fa184e7efcfeccb41e32cb"},
+ {file = "jsonschema-4.19.0.tar.gz", hash = "sha256:6e1e7569ac13be8139b2dd2c21a55d350066ee3f80df06c608b398cdc6f30e8f"},
]
[package.dependencies]
-attrs = ">=17.4.0"
+attrs = ">=22.2.0"
importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""}
+jsonschema-specifications = ">=2023.03.6"
pkgutil-resolve-name = {version = ">=1.3.10", markers = "python_version < \"3.9\""}
-pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2"
+referencing = ">=0.28.4"
+rpds-py = ">=0.7.1"
[package.extras]
format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"]
format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"]
+[[package]]
+name = "jsonschema-specifications"
+version = "2023.7.1"
+description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
+category = "dev"
+optional = false
+python-versions = ">=3.8"
+files = [
+ {file = "jsonschema_specifications-2023.7.1-py3-none-any.whl", hash = "sha256:05adf340b659828a004220a9613be00fa3f223f2b82002e273dee62fd50524b1"},
+ {file = "jsonschema_specifications-2023.7.1.tar.gz", hash = "sha256:c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb"},
+]
+
+[package.dependencies]
+importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""}
+referencing = ">=0.28.0"
+
[[package]]
name = "jupyter-client"
-version = "8.2.0"
+version = "8.3.0"
description = "Jupyter protocol implementation and client libraries"
category = "dev"
optional = false
python-versions = ">=3.8"
files = [
- {file = "jupyter_client-8.2.0-py3-none-any.whl", hash = "sha256:b18219aa695d39e2ad570533e0d71fb7881d35a873051054a84ee2a17c4b7389"},
- {file = "jupyter_client-8.2.0.tar.gz", hash = "sha256:9fe233834edd0e6c0aa5f05ca2ab4bdea1842bfd2d8a932878212fc5301ddaf0"},
+ {file = "jupyter_client-8.3.0-py3-none-any.whl", hash = "sha256:7441af0c0672edc5d28035e92ba5e32fadcfa8a4e608a434c228836a89df6158"},
+ {file = "jupyter_client-8.3.0.tar.gz", hash = "sha256:3af69921fe99617be1670399a0b857ad67275eefcfa291e2c81a160b7b650f5f"},
]
[package.dependencies]
@@ -1326,36 +1336,36 @@ files = [
[[package]]
name = "llvmlite"
-version = "0.40.0"
+version = "0.40.1"
description = "lightweight wrapper around basic LLVM functionality"
category = "main"
optional = false
python-versions = ">=3.8"
files = [
- {file = "llvmlite-0.40.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:90a46db1ed219d93ef05245ec17cf243074ec2b2687209cb310a803a2c2510dc"},
- {file = "llvmlite-0.40.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b9d742b66023298532d0e7beddd3d9f04334c046df7a02a1ec2ba8b4046a978c"},
- {file = "llvmlite-0.40.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ff38c309dc758b996d556e599e00647e6b8dbd21125c06b2d0584a9984a2288"},
- {file = "llvmlite-0.40.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66ecb8cdee35bbbdad9b331f446641977645de1973f6270bf4194307a1753666"},
- {file = "llvmlite-0.40.0-cp310-cp310-win32.whl", hash = "sha256:83dd5148f6ddd4d35585b69ebaa50605fdf8011a5b7259a0463afd4aefc62414"},
- {file = "llvmlite-0.40.0-cp310-cp310-win_amd64.whl", hash = "sha256:f72d6ccbfd9cc7da43098fcef23ffbe173ce2d986215072dbb2e7929412f9ff8"},
- {file = "llvmlite-0.40.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bbf19077144e159406ef222348d5330d5061177fb79d3f7f82abf2cf29b77c0b"},
- {file = "llvmlite-0.40.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a4732d6c981f658f014dd2ab2b682ac631cd12a6695e77c2d460cc68dc767868"},
- {file = "llvmlite-0.40.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2754c4d2b6f027ab45425abd94dee4cbd228b598531b1e9e1fc15f3298265d88"},
- {file = "llvmlite-0.40.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb79b992bdc2e62c5f5f86263d5546b5298d498e7c1a9d64b3a6f0d31f46ba5b"},
- {file = "llvmlite-0.40.0-cp311-cp311-win_amd64.whl", hash = "sha256:be0ff5b68a86e47a7ec6cd5389bb17b4b8f020b981628c9e714dc2cfdbe89c86"},
- {file = "llvmlite-0.40.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f5d4445eccd9c9c5639b35cb6279231f97cbd77a1c49fb41c05081ff96e041db"},
- {file = "llvmlite-0.40.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:060f00611d8e65d6db80cabba17fbefde9ebefbfb6937fe5677f06cd3e7bbe3c"},
- {file = "llvmlite-0.40.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58f5ba5febb2372418a3d37bd76d51bb987276a6fd979c2f2772b60b9061e575"},
- {file = "llvmlite-0.40.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d1622237e6ce543ac185751f782c7e10cabe45abf2de802cd5dca8023805a5c"},
- {file = "llvmlite-0.40.0-cp38-cp38-win32.whl", hash = "sha256:06803a1a38f911576bbe63a4082334d6661c59f2080e4681de1c66ec4924b0ac"},
- {file = "llvmlite-0.40.0-cp38-cp38-win_amd64.whl", hash = "sha256:87c2114567f95c715ae35b03d82caa0df66a978c93a1ff752964949e9ce596d5"},
- {file = "llvmlite-0.40.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a3382d81fcda57f5502f45a9ca62e0c9103fabd5f817c9820c7e61b9375f3d7"},
- {file = "llvmlite-0.40.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:260b0241c17a1ec585020e1df58ed30b9975c3573c619fa1724ceb4cd53cbe42"},
- {file = "llvmlite-0.40.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f980992b6c9dfee20a1608c5a4d875f8a52d76353ca02470550a85be6e5d3680"},
- {file = "llvmlite-0.40.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52eee9e245ef6eb911d6c2a3a1a66378745a40c637284386031b0915754f457e"},
- {file = "llvmlite-0.40.0-cp39-cp39-win32.whl", hash = "sha256:d27c2ec699b820296659dfd36ead1c527eb190c6d5cb3de24bfbee1024bdc20a"},
- {file = "llvmlite-0.40.0-cp39-cp39-win_amd64.whl", hash = "sha256:6cf84141d1793c69285b88acf4216370cb831eab99778546a2a9002fadac932d"},
- {file = "llvmlite-0.40.0.tar.gz", hash = "sha256:c910b8fbfd67b8e9d0b10ebc012b23cd67cbecef1b96f00d391ddd298d71671c"},
+ {file = "llvmlite-0.40.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:84ce9b1c7a59936382ffde7871978cddcda14098e5a76d961e204523e5c372fb"},
+ {file = "llvmlite-0.40.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3673c53cb21c65d2ff3704962b5958e967c6fc0bd0cff772998face199e8d87b"},
+ {file = "llvmlite-0.40.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bba2747cf5b4954e945c287fe310b3fcc484e2a9d1b0c273e99eb17d103bb0e6"},
+ {file = "llvmlite-0.40.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbd5e82cc990e5a3e343a3bf855c26fdfe3bfae55225f00efd01c05bbda79918"},
+ {file = "llvmlite-0.40.1-cp310-cp310-win32.whl", hash = "sha256:09f83ea7a54509c285f905d968184bba00fc31ebf12f2b6b1494d677bb7dde9b"},
+ {file = "llvmlite-0.40.1-cp310-cp310-win_amd64.whl", hash = "sha256:7b37297f3cbd68d14a97223a30620589d98ad1890e5040c9e5fc181063f4ed49"},
+ {file = "llvmlite-0.40.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a66a5bd580951751b4268f4c3bddcef92682814d6bc72f3cd3bb67f335dd7097"},
+ {file = "llvmlite-0.40.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:467b43836b388eaedc5a106d76761e388dbc4674b2f2237bc477c6895b15a634"},
+ {file = "llvmlite-0.40.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c23edd196bd797dc3a7860799054ea3488d2824ecabc03f9135110c2e39fcbc"},
+ {file = "llvmlite-0.40.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a36d9f244b6680cb90bbca66b146dabb2972f4180c64415c96f7c8a2d8b60a36"},
+ {file = "llvmlite-0.40.1-cp311-cp311-win_amd64.whl", hash = "sha256:5b3076dc4e9c107d16dc15ecb7f2faf94f7736cd2d5e9f4dc06287fd672452c1"},
+ {file = "llvmlite-0.40.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4a7525db121f2e699809b539b5308228854ccab6693ecb01b52c44a2f5647e20"},
+ {file = "llvmlite-0.40.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:84747289775d0874e506f907a4513db889471607db19b04de97d144047fec885"},
+ {file = "llvmlite-0.40.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e35766e42acef0fe7d1c43169a8ffc327a47808fae6a067b049fe0e9bbf84dd5"},
+ {file = "llvmlite-0.40.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cda71de10a1f48416309e408ea83dab5bf36058f83e13b86a2961defed265568"},
+ {file = "llvmlite-0.40.1-cp38-cp38-win32.whl", hash = "sha256:96707ebad8b051bbb4fc40c65ef93b7eeee16643bd4d579a14d11578e4b7a647"},
+ {file = "llvmlite-0.40.1-cp38-cp38-win_amd64.whl", hash = "sha256:e44f854dc11559795bcdeaf12303759e56213d42dabbf91a5897aa2d8b033810"},
+ {file = "llvmlite-0.40.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f643d15aacd0b0b0dc8b74b693822ba3f9a53fa63bc6a178c2dba7cc88f42144"},
+ {file = "llvmlite-0.40.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:39a0b4d0088c01a469a5860d2e2d7a9b4e6a93c0f07eb26e71a9a872a8cadf8d"},
+ {file = "llvmlite-0.40.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9329b930d699699846623054121ed105fd0823ed2180906d3b3235d361645490"},
+ {file = "llvmlite-0.40.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2dbbb8424037ca287983b115a29adf37d806baf7e1bf4a67bd2cffb74e085ed"},
+ {file = "llvmlite-0.40.1-cp39-cp39-win32.whl", hash = "sha256:e74e7bec3235a1e1c9ad97d897a620c5007d0ed80c32c84c1d787e7daa17e4ec"},
+ {file = "llvmlite-0.40.1-cp39-cp39-win_amd64.whl", hash = "sha256:ff8f31111bb99d135ff296757dc81ab36c2dee54ed4bd429158a96da9807c316"},
+ {file = "llvmlite-0.40.1.tar.gz", hash = "sha256:5cdb0d45df602099d833d50bd9e81353a5e036242d3c003c5b294fc61d1986b4"},
]
[[package]]
@@ -1470,53 +1480,53 @@ files = [
[[package]]
name = "matplotlib"
-version = "3.7.1"
+version = "3.7.2"
description = "Python plotting package"
category = "main"
optional = true
python-versions = ">=3.8"
files = [
- {file = "matplotlib-3.7.1-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:95cbc13c1fc6844ab8812a525bbc237fa1470863ff3dace7352e910519e194b1"},
- {file = "matplotlib-3.7.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:08308bae9e91aca1ec6fd6dda66237eef9f6294ddb17f0d0b3c863169bf82353"},
- {file = "matplotlib-3.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:544764ba51900da4639c0f983b323d288f94f65f4024dc40ecb1542d74dc0500"},
- {file = "matplotlib-3.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56d94989191de3fcc4e002f93f7f1be5da476385dde410ddafbb70686acf00ea"},
- {file = "matplotlib-3.7.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e99bc9e65901bb9a7ce5e7bb24af03675cbd7c70b30ac670aa263240635999a4"},
- {file = "matplotlib-3.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb7d248c34a341cd4c31a06fd34d64306624c8cd8d0def7abb08792a5abfd556"},
- {file = "matplotlib-3.7.1-cp310-cp310-win32.whl", hash = "sha256:ce463ce590f3825b52e9fe5c19a3c6a69fd7675a39d589e8b5fbe772272b3a24"},
- {file = "matplotlib-3.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:3d7bc90727351fb841e4d8ae620d2d86d8ed92b50473cd2b42ce9186104ecbba"},
- {file = "matplotlib-3.7.1-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:770a205966d641627fd5cf9d3cb4b6280a716522cd36b8b284a8eb1581310f61"},
- {file = "matplotlib-3.7.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:f67bfdb83a8232cb7a92b869f9355d677bce24485c460b19d01970b64b2ed476"},
- {file = "matplotlib-3.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2bf092f9210e105f414a043b92af583c98f50050559616930d884387d0772aba"},
- {file = "matplotlib-3.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89768d84187f31717349c6bfadc0e0d8c321e8eb34522acec8a67b1236a66332"},
- {file = "matplotlib-3.7.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83111e6388dec67822e2534e13b243cc644c7494a4bb60584edbff91585a83c6"},
- {file = "matplotlib-3.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a867bf73a7eb808ef2afbca03bcdb785dae09595fbe550e1bab0cd023eba3de0"},
- {file = "matplotlib-3.7.1-cp311-cp311-win32.whl", hash = "sha256:fbdeeb58c0cf0595efe89c05c224e0a502d1aa6a8696e68a73c3efc6bc354304"},
- {file = "matplotlib-3.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:c0bd19c72ae53e6ab979f0ac6a3fafceb02d2ecafa023c5cca47acd934d10be7"},
- {file = "matplotlib-3.7.1-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:6eb88d87cb2c49af00d3bbc33a003f89fd9f78d318848da029383bfc08ecfbfb"},
- {file = "matplotlib-3.7.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:cf0e4f727534b7b1457898c4f4ae838af1ef87c359b76dcd5330fa31893a3ac7"},
- {file = "matplotlib-3.7.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:46a561d23b91f30bccfd25429c3c706afe7d73a5cc64ef2dfaf2b2ac47c1a5dc"},
- {file = "matplotlib-3.7.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8704726d33e9aa8a6d5215044b8d00804561971163563e6e6591f9dcf64340cc"},
- {file = "matplotlib-3.7.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4cf327e98ecf08fcbb82685acaf1939d3338548620ab8dfa02828706402c34de"},
- {file = "matplotlib-3.7.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:617f14ae9d53292ece33f45cba8503494ee199a75b44de7717964f70637a36aa"},
- {file = "matplotlib-3.7.1-cp38-cp38-win32.whl", hash = "sha256:7c9a4b2da6fac77bcc41b1ea95fadb314e92508bf5493ceff058e727e7ecf5b0"},
- {file = "matplotlib-3.7.1-cp38-cp38-win_amd64.whl", hash = "sha256:14645aad967684e92fc349493fa10c08a6da514b3d03a5931a1bac26e6792bd1"},
- {file = "matplotlib-3.7.1-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:81a6b377ea444336538638d31fdb39af6be1a043ca5e343fe18d0f17e098770b"},
- {file = "matplotlib-3.7.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:28506a03bd7f3fe59cd3cd4ceb2a8d8a2b1db41afede01f66c42561b9be7b4b7"},
- {file = "matplotlib-3.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8c587963b85ce41e0a8af53b9b2de8dddbf5ece4c34553f7bd9d066148dc719c"},
- {file = "matplotlib-3.7.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8bf26ade3ff0f27668989d98c8435ce9327d24cffb7f07d24ef609e33d582439"},
- {file = "matplotlib-3.7.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:def58098f96a05f90af7e92fd127d21a287068202aa43b2a93476170ebd99e87"},
- {file = "matplotlib-3.7.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f883a22a56a84dba3b588696a2b8a1ab0d2c3d41be53264115c71b0a942d8fdb"},
- {file = "matplotlib-3.7.1-cp39-cp39-win32.whl", hash = "sha256:4f99e1b234c30c1e9714610eb0c6d2f11809c9c78c984a613ae539ea2ad2eb4b"},
- {file = "matplotlib-3.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:3ba2af245e36990facf67fde840a760128ddd71210b2ab6406e640188d69d136"},
- {file = "matplotlib-3.7.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3032884084f541163f295db8a6536e0abb0db464008fadca6c98aaf84ccf4717"},
- {file = "matplotlib-3.7.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a2cb34336110e0ed8bb4f650e817eed61fa064acbefeb3591f1b33e3a84fd96"},
- {file = "matplotlib-3.7.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b867e2f952ed592237a1828f027d332d8ee219ad722345b79a001f49df0936eb"},
- {file = "matplotlib-3.7.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:57bfb8c8ea253be947ccb2bc2d1bb3862c2bccc662ad1b4626e1f5e004557042"},
- {file = "matplotlib-3.7.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:438196cdf5dc8d39b50a45cb6e3f6274edbcf2254f85fa9b895bf85851c3a613"},
- {file = "matplotlib-3.7.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:21e9cff1a58d42e74d01153360de92b326708fb205250150018a52c70f43c290"},
- {file = "matplotlib-3.7.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75d4725d70b7c03e082bbb8a34639ede17f333d7247f56caceb3801cb6ff703d"},
- {file = "matplotlib-3.7.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:97cc368a7268141afb5690760921765ed34867ffb9655dd325ed207af85c7529"},
- {file = "matplotlib-3.7.1.tar.gz", hash = "sha256:7b73305f25eab4541bd7ee0b96d87e53ae9c9f1823be5659b806cd85786fe882"},
+ {file = "matplotlib-3.7.2-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:2699f7e73a76d4c110f4f25be9d2496d6ab4f17345307738557d345f099e07de"},
+ {file = "matplotlib-3.7.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a8035ba590658bae7562786c9cc6ea1a84aa49d3afab157e414c9e2ea74f496d"},
+ {file = "matplotlib-3.7.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f8e4a49493add46ad4a8c92f63e19d548b2b6ebbed75c6b4c7f46f57d36cdd1"},
+ {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71667eb2ccca4c3537d9414b1bc00554cb7f91527c17ee4ec38027201f8f1603"},
+ {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:152ee0b569a37630d8628534c628456b28686e085d51394da6b71ef84c4da201"},
+ {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:070f8dddd1f5939e60aacb8fa08f19551f4b0140fab16a3669d5cd6e9cb28fc8"},
+ {file = "matplotlib-3.7.2-cp310-cp310-win32.whl", hash = "sha256:fdbb46fad4fb47443b5b8ac76904b2e7a66556844f33370861b4788db0f8816a"},
+ {file = "matplotlib-3.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:23fb1750934e5f0128f9423db27c474aa32534cec21f7b2153262b066a581fd1"},
+ {file = "matplotlib-3.7.2-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:30e1409b857aa8a747c5d4f85f63a79e479835f8dffc52992ac1f3f25837b544"},
+ {file = "matplotlib-3.7.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:50e0a55ec74bf2d7a0ebf50ac580a209582c2dd0f7ab51bc270f1b4a0027454e"},
+ {file = "matplotlib-3.7.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ac60daa1dc83e8821eed155796b0f7888b6b916cf61d620a4ddd8200ac70cd64"},
+ {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:305e3da477dc8607336ba10bac96986d6308d614706cae2efe7d3ffa60465b24"},
+ {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c308b255efb9b06b23874236ec0f10f026673ad6515f602027cc8ac7805352d"},
+ {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60c521e21031632aa0d87ca5ba0c1c05f3daacadb34c093585a0be6780f698e4"},
+ {file = "matplotlib-3.7.2-cp311-cp311-win32.whl", hash = "sha256:26bede320d77e469fdf1bde212de0ec889169b04f7f1179b8930d66f82b30cbc"},
+ {file = "matplotlib-3.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:af4860132c8c05261a5f5f8467f1b269bf1c7c23902d75f2be57c4a7f2394b3e"},
+ {file = "matplotlib-3.7.2-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:a1733b8e84e7e40a9853e505fe68cc54339f97273bdfe6f3ed980095f769ddc7"},
+ {file = "matplotlib-3.7.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d9881356dc48e58910c53af82b57183879129fa30492be69058c5b0d9fddf391"},
+ {file = "matplotlib-3.7.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f081c03f413f59390a80b3e351cc2b2ea0205839714dbc364519bcf51f4b56ca"},
+ {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1cd120fca3407a225168238b790bd5c528f0fafde6172b140a2f3ab7a4ea63e9"},
+ {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a2c1590b90aa7bd741b54c62b78de05d4186271e34e2377e0289d943b3522273"},
+ {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d2ff3c984b8a569bc1383cd468fc06b70d7b59d5c2854ca39f1436ae8394117"},
+ {file = "matplotlib-3.7.2-cp38-cp38-win32.whl", hash = "sha256:5dea00b62d28654b71ca92463656d80646675628d0828e08a5f3b57e12869e13"},
+ {file = "matplotlib-3.7.2-cp38-cp38-win_amd64.whl", hash = "sha256:0f506a1776ee94f9e131af1ac6efa6e5bc7cb606a3e389b0ccb6e657f60bb676"},
+ {file = "matplotlib-3.7.2-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:6515e878f91894c2e4340d81f0911857998ccaf04dbc1bba781e3d89cbf70608"},
+ {file = "matplotlib-3.7.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:71f7a8c6b124e904db550f5b9fe483d28b896d4135e45c4ea381ad3b8a0e3256"},
+ {file = "matplotlib-3.7.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12f01b92ecd518e0697da4d97d163b2b3aa55eb3eb4e2c98235b3396d7dad55f"},
+ {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7e28d6396563955f7af437894a36bf2b279462239a41028323e04b85179058b"},
+ {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbcf59334ff645e6a67cd5f78b4b2cdb76384cdf587fa0d2dc85f634a72e1a3e"},
+ {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:318c89edde72ff95d8df67d82aca03861240512994a597a435a1011ba18dbc7f"},
+ {file = "matplotlib-3.7.2-cp39-cp39-win32.whl", hash = "sha256:ce55289d5659b5b12b3db4dc9b7075b70cef5631e56530f14b2945e8836f2d20"},
+ {file = "matplotlib-3.7.2-cp39-cp39-win_amd64.whl", hash = "sha256:2ecb5be2b2815431c81dc115667e33da0f5a1bcf6143980d180d09a717c4a12e"},
+ {file = "matplotlib-3.7.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fdcd28360dbb6203fb5219b1a5658df226ac9bebc2542a9e8f457de959d713d0"},
+ {file = "matplotlib-3.7.2-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c3cca3e842b11b55b52c6fb8bd6a4088693829acbfcdb3e815fa9b7d5c92c1b"},
+ {file = "matplotlib-3.7.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebf577c7a6744e9e1bd3fee45fc74a02710b214f94e2bde344912d85e0c9af7c"},
+ {file = "matplotlib-3.7.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:936bba394682049919dda062d33435b3be211dc3dcaa011e09634f060ec878b2"},
+ {file = "matplotlib-3.7.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bc221ffbc2150458b1cd71cdd9ddd5bb37962b036e41b8be258280b5b01da1dd"},
+ {file = "matplotlib-3.7.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35d74ebdb3f71f112b36c2629cf32323adfbf42679e2751252acd468f5001c07"},
+ {file = "matplotlib-3.7.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:717157e61b3a71d3d26ad4e1770dc85156c9af435659a25ee6407dc866cb258d"},
+ {file = "matplotlib-3.7.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:20f844d6be031948148ba49605c8b96dfe7d3711d1b63592830d650622458c11"},
+ {file = "matplotlib-3.7.2.tar.gz", hash = "sha256:a8cdb91dddb04436bd2f098b8fdf4b81352e68cf4d2c6756fcc414791076569b"},
]
[package.dependencies]
@@ -1528,7 +1538,7 @@ kiwisolver = ">=1.0.1"
numpy = ">=1.20"
packaging = ">=20.0"
pillow = ">=6.2.0"
-pyparsing = ">=2.3.1"
+pyparsing = ">=2.3.1,<3.1"
python-dateutil = ">=2.7"
[[package]]
@@ -1560,14 +1570,14 @@ files = [
[[package]]
name = "mistune"
-version = "2.0.5"
-description = "A sane Markdown parser with useful plugins and renderers"
+version = "3.0.1"
+description = "A sane and fast Markdown parser with useful plugins and renderers"
category = "dev"
optional = false
-python-versions = "*"
+python-versions = ">=3.7"
files = [
- {file = "mistune-2.0.5-py2.py3-none-any.whl", hash = "sha256:bad7f5d431886fcbaf5f758118ecff70d31f75231b34024a1341120340a65ce8"},
- {file = "mistune-2.0.5.tar.gz", hash = "sha256:0246113cb2492db875c6be56974a7c893333bf26cd92891c85f63151cee09d34"},
+ {file = "mistune-3.0.1-py3-none-any.whl", hash = "sha256:b9b3e438efbb57c62b5beb5e134dab664800bdf1284a7ee09e8b12b13eb1aac6"},
+ {file = "mistune-3.0.1.tar.gz", hash = "sha256:e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c"},
]
[[package]]
@@ -1595,14 +1605,14 @@ test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=
[[package]]
name = "nbconvert"
-version = "7.5.0"
+version = "7.7.4"
description = "Converting Jupyter Notebooks"
category = "dev"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "nbconvert-7.5.0-py3-none-any.whl", hash = "sha256:852e44392d5650ef217a5ce3a8050747051d4e6ba75f0574cb5435049ee6c0d9"},
- {file = "nbconvert-7.5.0.tar.gz", hash = "sha256:f78fd22fd2410b960d5d9bcecf3e1d6c7bdc5fec2c865964c84aa4e74e6e88da"},
+ {file = "nbconvert-7.7.4-py3-none-any.whl", hash = "sha256:ace26f4386d08eb5c55833596a942048c5502a95e05590cb523826a749a40a37"},
+ {file = "nbconvert-7.7.4.tar.gz", hash = "sha256:1113d039fa3fc3a846ffa5a3b0a019e85aaa94c566a09fa0c400fb7638e46087"},
]
[package.dependencies]
@@ -1614,7 +1624,7 @@ jinja2 = ">=3.0"
jupyter-core = ">=4.7"
jupyterlab-pygments = "*"
markupsafe = ">=2.0"
-mistune = ">=2.0.3,<3"
+mistune = ">=2.0.3,<4"
nbclient = ">=0.5.0"
nbformat = ">=5.7"
packaging = "*"
@@ -1629,19 +1639,19 @@ docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sp
qtpdf = ["nbconvert[qtpng]"]
qtpng = ["pyqtwebengine (>=5.15)"]
serve = ["tornado (>=6.1)"]
-test = ["ipykernel", "ipywidgets (>=7)", "pre-commit", "pytest", "pytest-dependency"]
-webpdf = ["pyppeteer (>=1,<1.1)"]
+test = ["flaky", "ipykernel", "ipywidgets (>=7)", "pre-commit", "pytest", "pytest-dependency"]
+webpdf = ["playwright"]
[[package]]
name = "nbformat"
-version = "5.9.0"
+version = "5.9.2"
description = "The Jupyter Notebook format"
category = "dev"
optional = false
python-versions = ">=3.8"
files = [
- {file = "nbformat-5.9.0-py3-none-any.whl", hash = "sha256:8c8fa16d6d05062c26177754bfbfac22de644888e2ef69d27ad2a334cf2576e5"},
- {file = "nbformat-5.9.0.tar.gz", hash = "sha256:e98ebb6120c3efbafdee2a40af2a140cadee90bb06dd69a2a63d9551fcc7f976"},
+ {file = "nbformat-5.9.2-py3-none-any.whl", hash = "sha256:1c5172d786a41b82bcfd0c23f9e6b6f072e8fb49c39250219e4acfff1efe89e9"},
+ {file = "nbformat-5.9.2.tar.gz", hash = "sha256:5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192"},
]
[package.dependencies]
@@ -1676,48 +1686,48 @@ traitlets = ">=5"
[[package]]
name = "nest-asyncio"
-version = "1.5.6"
+version = "1.5.7"
description = "Patch asyncio to allow nested event loops"
category = "dev"
optional = false
python-versions = ">=3.5"
files = [
- {file = "nest_asyncio-1.5.6-py3-none-any.whl", hash = "sha256:b9a953fb40dceaa587d109609098db21900182b16440652454a146cffb06e8b8"},
- {file = "nest_asyncio-1.5.6.tar.gz", hash = "sha256:d267cc1ff794403f7df692964d1d2a3fa9418ffea2a3f6859a439ff482fef290"},
+ {file = "nest_asyncio-1.5.7-py3-none-any.whl", hash = "sha256:5301c82941b550b3123a1ea772ba9a1c80bad3a182be8c1a5ae6ad3be57a9657"},
+ {file = "nest_asyncio-1.5.7.tar.gz", hash = "sha256:6a80f7b98f24d9083ed24608977c09dd608d83f91cccc24c9d2cba6d10e01c10"},
]
[[package]]
name = "numba"
-version = "0.57.0"
+version = "0.57.1"
description = "compiling Python code using LLVM"
category = "main"
optional = false
python-versions = ">=3.8"
files = [
- {file = "numba-0.57.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2e2c14c411545e80bf0f1a33232fb0bd6aa3368f86e56eeffc7f6d3ac16ea3fd"},
- {file = "numba-0.57.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6b3382c56d805ffcdc7b46eb69a906be733dd35b84be14abba8e5fd27d7916b2"},
- {file = "numba-0.57.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:133cba9b5002bf67f6f73d9b3050d919c1be91326bbdcccfdf3259bcfb1cec0e"},
- {file = "numba-0.57.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d92a17ee849574665c5d94e9c9b862e469e1231d3dbb9e58e58b30b4bb0cbce9"},
- {file = "numba-0.57.0-cp310-cp310-win32.whl", hash = "sha256:abc90c3d303a67ae5194770a6f0d0a83edf076683b8a426349a27b91d98e00d1"},
- {file = "numba-0.57.0-cp310-cp310-win_amd64.whl", hash = "sha256:430f43c96f866ca4fe6008d8aa28bb608911d908ff94f879e0dbad7768ef9869"},
- {file = "numba-0.57.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:069f7d8fddad4c0eb1d7534c2a18098fe50473dc77832b409176002e9011b96f"},
- {file = "numba-0.57.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:79daa130fc9e4ebd1eea0a594d1de86d8a4366989f5fab93c482246b502520db"},
- {file = "numba-0.57.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:274f4db4814ebd5ec81697acfc36df04a865b86610d7714905185b753f3f9baf"},
- {file = "numba-0.57.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0106ee441e3f69cc6f17cb470c4fcccd592e0606567d43245635d72b071ab88e"},
- {file = "numba-0.57.0-cp311-cp311-win_amd64.whl", hash = "sha256:a5d31b4d95000d86ffa9652ab5bcfa0ea30e6c3fc40e610147d4f2f00116703d"},
- {file = "numba-0.57.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3e0b8de39bf17519435937b53276dfb02e2eb8bc27cd211c8eeb01ffed1cab6b"},
- {file = "numba-0.57.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:18d90fa6fcd5b796999392a8ea67f2fbccecf8dabcea726e2e721c79f40566a6"},
- {file = "numba-0.57.0-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d4f62528c7c8c5f97e9689fd788e420b68c67ee0a1a9a7715a57fd584b7aef1e"},
- {file = "numba-0.57.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fd12cf0b431676c08057685e229ea5daaa1ec8efba2506c38671734ace49c2d7"},
- {file = "numba-0.57.0-cp38-cp38-win32.whl", hash = "sha256:e5f11b1d435fb4d1d1b68fa68ff456d632dc4bfd40b18825ff80d6081d1afb26"},
- {file = "numba-0.57.0-cp38-cp38-win_amd64.whl", hash = "sha256:5810ed2d6d22eb3c48bedfac2187fc44bb90e05f02d47fd31059e69207ae4106"},
- {file = "numba-0.57.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eddba74493d4003a42cd61ff7feca4928a94a45553d1fddac77a5cc339f6f4f9"},
- {file = "numba-0.57.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:110be5e1213d0a3d5fc691e921a000779500620196d99cee9908fce83d1e48df"},
- {file = "numba-0.57.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f949018ab9c467d38f14fe17db4df0d4a1c664be802189e2d6c5a434d9ffd4f6"},
- {file = "numba-0.57.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9fc0cd4ec93a1e3877985e10ed5837ed2991c83aa4b7ca574caae5c8b448cc4b"},
- {file = "numba-0.57.0-cp39-cp39-win32.whl", hash = "sha256:83d4f21c98eed3001e9896a43a1ce9c825999c03f7eb39ddd1c2d07a76708392"},
- {file = "numba-0.57.0-cp39-cp39-win_amd64.whl", hash = "sha256:9173d00c6753212b68e4fd319cfa96c21b2263949452c97b034e78ce09539dee"},
- {file = "numba-0.57.0.tar.gz", hash = "sha256:2af6d81067a5bdc13960c6d2519dbabbf4d5d597cf75d640c5aeaefd48c6420a"},
+ {file = "numba-0.57.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:db8268eb5093cae2288942a8cbd69c9352f6fe6e0bfa0a9a27679436f92e4248"},
+ {file = "numba-0.57.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:643cb09a9ba9e1bd8b060e910aeca455e9442361e80fce97690795ff9840e681"},
+ {file = "numba-0.57.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:53e9fab973d9e82c9f8449f75994a898daaaf821d84f06fbb0b9de2293dd9306"},
+ {file = "numba-0.57.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c0602e4f896e6a6d844517c3ab434bc978e7698a22a733cc8124465898c28fa8"},
+ {file = "numba-0.57.1-cp310-cp310-win32.whl", hash = "sha256:3d6483c27520d16cf5d122868b79cad79e48056ecb721b52d70c126bed65431e"},
+ {file = "numba-0.57.1-cp310-cp310-win_amd64.whl", hash = "sha256:a32ee263649aa3c3587b833d6311305379529570e6c20deb0c6f4fb5bc7020db"},
+ {file = "numba-0.57.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c078f84b5529a7fdb8413bb33d5100f11ec7b44aa705857d9eb4e54a54ff505"},
+ {file = "numba-0.57.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e447c4634d1cc99ab50d4faa68f680f1d88b06a2a05acf134aa6fcc0342adeca"},
+ {file = "numba-0.57.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4838edef2df5f056cb8974670f3d66562e751040c448eb0b67c7e2fec1726649"},
+ {file = "numba-0.57.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9b17fbe4a69dcd9a7cd49916b6463cd9a82af5f84911feeb40793b8bce00dfa7"},
+ {file = "numba-0.57.1-cp311-cp311-win_amd64.whl", hash = "sha256:93df62304ada9b351818ba19b1cfbddaf72cd89348e81474326ca0b23bf0bae1"},
+ {file = "numba-0.57.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8e00ca63c5d0ad2beeb78d77f087b3a88c45ea9b97e7622ab2ec411a868420ee"},
+ {file = "numba-0.57.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ff66d5b022af6c7d81ddbefa87768e78ed4f834ab2da6ca2fd0d60a9e69b94f5"},
+ {file = "numba-0.57.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:60ec56386076e9eed106a87c96626d5686fbb16293b9834f0849cf78c9491779"},
+ {file = "numba-0.57.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6c057ccedca95df23802b6ccad86bb318be624af45b5a38bb8412882be57a681"},
+ {file = "numba-0.57.1-cp38-cp38-win32.whl", hash = "sha256:5a82bf37444039c732485c072fda21a361790ed990f88db57fd6941cd5e5d307"},
+ {file = "numba-0.57.1-cp38-cp38-win_amd64.whl", hash = "sha256:9bcc36478773ce838f38afd9a4dfafc328d4ffb1915381353d657da7f6473282"},
+ {file = "numba-0.57.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ae50c8c90c2ce8057f9618b589223e13faa8cbc037d8f15b4aad95a2c33a0582"},
+ {file = "numba-0.57.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9a1b2b69448e510d672ff9a6b18d2db9355241d93c6a77677baa14bec67dc2a0"},
+ {file = "numba-0.57.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3cf78d74ad9d289fbc1e5b1c9f2680fca7a788311eb620581893ab347ec37a7e"},
+ {file = "numba-0.57.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f47dd214adc5dcd040fe9ad2adbd2192133c9075d2189ce1b3d5f9d72863ef05"},
+ {file = "numba-0.57.1-cp39-cp39-win32.whl", hash = "sha256:a3eac19529956185677acb7f01864919761bfffbb9ae04bbbe5e84bbc06cfc2b"},
+ {file = "numba-0.57.1-cp39-cp39-win_amd64.whl", hash = "sha256:9587ba1bf5f3035575e45562ada17737535c6d612df751e811d702693a72d95e"},
+ {file = "numba-0.57.1.tar.gz", hash = "sha256:33c0500170d213e66d90558ad6aca57d3e03e97bb11da82e6d87ab793648cb17"},
]
[package.dependencies]
@@ -1727,40 +1737,40 @@ numpy = ">=1.21,<1.25"
[[package]]
name = "numpy"
-version = "1.24.3"
+version = "1.24.4"
description = "Fundamental package for array computing in Python"
category = "main"
optional = false
python-versions = ">=3.8"
files = [
- {file = "numpy-1.24.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3c1104d3c036fb81ab923f507536daedc718d0ad5a8707c6061cdfd6d184e570"},
- {file = "numpy-1.24.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:202de8f38fc4a45a3eea4b63e2f376e5f2dc64ef0fa692838e31a808520efaf7"},
- {file = "numpy-1.24.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8535303847b89aa6b0f00aa1dc62867b5a32923e4d1681a35b5eef2d9591a463"},
- {file = "numpy-1.24.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d926b52ba1367f9acb76b0df6ed21f0b16a1ad87c6720a1121674e5cf63e2b6"},
- {file = "numpy-1.24.3-cp310-cp310-win32.whl", hash = "sha256:f21c442fdd2805e91799fbe044a7b999b8571bb0ab0f7850d0cb9641a687092b"},
- {file = "numpy-1.24.3-cp310-cp310-win_amd64.whl", hash = "sha256:ab5f23af8c16022663a652d3b25dcdc272ac3f83c3af4c02eb8b824e6b3ab9d7"},
- {file = "numpy-1.24.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9a7721ec204d3a237225db3e194c25268faf92e19338a35f3a224469cb6039a3"},
- {file = "numpy-1.24.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d6cc757de514c00b24ae8cf5c876af2a7c3df189028d68c0cb4eaa9cd5afc2bf"},
- {file = "numpy-1.24.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76e3f4e85fc5d4fd311f6e9b794d0c00e7002ec122be271f2019d63376f1d385"},
- {file = "numpy-1.24.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1d3c026f57ceaad42f8231305d4653d5f05dc6332a730ae5c0bea3513de0950"},
- {file = "numpy-1.24.3-cp311-cp311-win32.whl", hash = "sha256:c91c4afd8abc3908e00a44b2672718905b8611503f7ff87390cc0ac3423fb096"},
- {file = "numpy-1.24.3-cp311-cp311-win_amd64.whl", hash = "sha256:5342cf6aad47943286afa6f1609cad9b4266a05e7f2ec408e2cf7aea7ff69d80"},
- {file = "numpy-1.24.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7776ea65423ca6a15255ba1872d82d207bd1e09f6d0894ee4a64678dd2204078"},
- {file = "numpy-1.24.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ae8d0be48d1b6ed82588934aaaa179875e7dc4f3d84da18d7eae6eb3f06c242c"},
- {file = "numpy-1.24.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecde0f8adef7dfdec993fd54b0f78183051b6580f606111a6d789cd14c61ea0c"},
- {file = "numpy-1.24.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4749e053a29364d3452c034827102ee100986903263e89884922ef01a0a6fd2f"},
- {file = "numpy-1.24.3-cp38-cp38-win32.whl", hash = "sha256:d933fabd8f6a319e8530d0de4fcc2e6a61917e0b0c271fded460032db42a0fe4"},
- {file = "numpy-1.24.3-cp38-cp38-win_amd64.whl", hash = "sha256:56e48aec79ae238f6e4395886b5eaed058abb7231fb3361ddd7bfdf4eed54289"},
- {file = "numpy-1.24.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4719d5aefb5189f50887773699eaf94e7d1e02bf36c1a9d353d9f46703758ca4"},
- {file = "numpy-1.24.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0ec87a7084caa559c36e0a2309e4ecb1baa03b687201d0a847c8b0ed476a7187"},
- {file = "numpy-1.24.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea8282b9bcfe2b5e7d491d0bf7f3e2da29700cec05b49e64d6246923329f2b02"},
- {file = "numpy-1.24.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210461d87fb02a84ef243cac5e814aad2b7f4be953b32cb53327bb49fd77fbb4"},
- {file = "numpy-1.24.3-cp39-cp39-win32.whl", hash = "sha256:784c6da1a07818491b0ffd63c6bbe5a33deaa0e25a20e1b3ea20cf0e43f8046c"},
- {file = "numpy-1.24.3-cp39-cp39-win_amd64.whl", hash = "sha256:d5036197ecae68d7f491fcdb4df90082b0d4960ca6599ba2659957aafced7c17"},
- {file = "numpy-1.24.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:352ee00c7f8387b44d19f4cada524586f07379c0d49270f87233983bc5087ca0"},
- {file = "numpy-1.24.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a7d6acc2e7524c9955e5c903160aa4ea083736fde7e91276b0e5d98e6332812"},
- {file = "numpy-1.24.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:35400e6a8d102fd07c71ed7dcadd9eb62ee9a6e84ec159bd48c28235bbb0f8e4"},
- {file = "numpy-1.24.3.tar.gz", hash = "sha256:ab344f1bf21f140adab8e47fdbc7c35a477dc01408791f8ba00d018dd0bc5155"},
+ {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"},
+ {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"},
+ {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"},
+ {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6"},
+ {file = "numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc"},
+ {file = "numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e"},
+ {file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810"},
+ {file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254"},
+ {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7"},
+ {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5"},
+ {file = "numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d"},
+ {file = "numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"},
+ {file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61"},
+ {file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f"},
+ {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e"},
+ {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc"},
+ {file = "numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2"},
+ {file = "numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706"},
+ {file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400"},
+ {file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f"},
+ {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"},
+ {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d"},
+ {file = "numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835"},
+ {file = "numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8"},
+ {file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef"},
+ {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"},
+ {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"},
+ {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"},
]
[[package]]
@@ -1937,78 +1947,68 @@ files = [
[[package]]
name = "pillow"
-version = "9.5.0"
+version = "10.0.0"
description = "Python Imaging Library (Fork)"
category = "main"
optional = true
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "Pillow-9.5.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:ace6ca218308447b9077c14ea4ef381ba0b67ee78d64046b3f19cf4e1139ad16"},
- {file = "Pillow-9.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3d403753c9d5adc04d4694d35cf0391f0f3d57c8e0030aac09d7678fa8030aa"},
- {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ba1b81ee69573fe7124881762bb4cd2e4b6ed9dd28c9c60a632902fe8db8b38"},
- {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe7e1c262d3392afcf5071df9afa574544f28eac825284596ac6db56e6d11062"},
- {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f36397bf3f7d7c6a3abdea815ecf6fd14e7fcd4418ab24bae01008d8d8ca15e"},
- {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:252a03f1bdddce077eff2354c3861bf437c892fb1832f75ce813ee94347aa9b5"},
- {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:85ec677246533e27770b0de5cf0f9d6e4ec0c212a1f89dfc941b64b21226009d"},
- {file = "Pillow-9.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b416f03d37d27290cb93597335a2f85ed446731200705b22bb927405320de903"},
- {file = "Pillow-9.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1781a624c229cb35a2ac31cc4a77e28cafc8900733a864870c49bfeedacd106a"},
- {file = "Pillow-9.5.0-cp310-cp310-win32.whl", hash = "sha256:8507eda3cd0608a1f94f58c64817e83ec12fa93a9436938b191b80d9e4c0fc44"},
- {file = "Pillow-9.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:d3c6b54e304c60c4181da1c9dadf83e4a54fd266a99c70ba646a9baa626819eb"},
- {file = "Pillow-9.5.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:7ec6f6ce99dab90b52da21cf0dc519e21095e332ff3b399a357c187b1a5eee32"},
- {file = "Pillow-9.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:560737e70cb9c6255d6dcba3de6578a9e2ec4b573659943a5e7e4af13f298f5c"},
- {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96e88745a55b88a7c64fa49bceff363a1a27d9a64e04019c2281049444a571e3"},
- {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d9c206c29b46cfd343ea7cdfe1232443072bbb270d6a46f59c259460db76779a"},
- {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cfcc2c53c06f2ccb8976fb5c71d448bdd0a07d26d8e07e321c103416444c7ad1"},
- {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:a0f9bb6c80e6efcde93ffc51256d5cfb2155ff8f78292f074f60f9e70b942d99"},
- {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8d935f924bbab8f0a9a28404422da8af4904e36d5c33fc6f677e4c4485515625"},
- {file = "Pillow-9.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fed1e1cf6a42577953abbe8e6cf2fe2f566daebde7c34724ec8803c4c0cda579"},
- {file = "Pillow-9.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c1170d6b195555644f0616fd6ed929dfcf6333b8675fcca044ae5ab110ded296"},
- {file = "Pillow-9.5.0-cp311-cp311-win32.whl", hash = "sha256:54f7102ad31a3de5666827526e248c3530b3a33539dbda27c6843d19d72644ec"},
- {file = "Pillow-9.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:cfa4561277f677ecf651e2b22dc43e8f5368b74a25a8f7d1d4a3a243e573f2d4"},
- {file = "Pillow-9.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:965e4a05ef364e7b973dd17fc765f42233415974d773e82144c9bbaaaea5d089"},
- {file = "Pillow-9.5.0-cp312-cp312-win32.whl", hash = "sha256:22baf0c3cf0c7f26e82d6e1adf118027afb325e703922c8dfc1d5d0156bb2eeb"},
- {file = "Pillow-9.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:432b975c009cf649420615388561c0ce7cc31ce9b2e374db659ee4f7d57a1f8b"},
- {file = "Pillow-9.5.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:5d4ebf8e1db4441a55c509c4baa7a0587a0210f7cd25fcfe74dbbce7a4bd1906"},
- {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:375f6e5ee9620a271acb6820b3d1e94ffa8e741c0601db4c0c4d3cb0a9c224bf"},
- {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99eb6cafb6ba90e436684e08dad8be1637efb71c4f2180ee6b8f940739406e78"},
- {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dfaaf10b6172697b9bceb9a3bd7b951819d1ca339a5ef294d1f1ac6d7f63270"},
- {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:763782b2e03e45e2c77d7779875f4432e25121ef002a41829d8868700d119392"},
- {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:35f6e77122a0c0762268216315bf239cf52b88865bba522999dc38f1c52b9b47"},
- {file = "Pillow-9.5.0-cp37-cp37m-win32.whl", hash = "sha256:aca1c196f407ec7cf04dcbb15d19a43c507a81f7ffc45b690899d6a76ac9fda7"},
- {file = "Pillow-9.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322724c0032af6692456cd6ed554bb85f8149214d97398bb80613b04e33769f6"},
- {file = "Pillow-9.5.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:a0aa9417994d91301056f3d0038af1199eb7adc86e646a36b9e050b06f526597"},
- {file = "Pillow-9.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f8286396b351785801a976b1e85ea88e937712ee2c3ac653710a4a57a8da5d9c"},
- {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c830a02caeb789633863b466b9de10c015bded434deb3ec87c768e53752ad22a"},
- {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fbd359831c1657d69bb81f0db962905ee05e5e9451913b18b831febfe0519082"},
- {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8fc330c3370a81bbf3f88557097d1ea26cd8b019d6433aa59f71195f5ddebbf"},
- {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:7002d0797a3e4193c7cdee3198d7c14f92c0836d6b4a3f3046a64bd1ce8df2bf"},
- {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:229e2c79c00e85989a34b5981a2b67aa079fd08c903f0aaead522a1d68d79e51"},
- {file = "Pillow-9.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9adf58f5d64e474bed00d69bcd86ec4bcaa4123bfa70a65ce72e424bfb88ed96"},
- {file = "Pillow-9.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:662da1f3f89a302cc22faa9f14a262c2e3951f9dbc9617609a47521c69dd9f8f"},
- {file = "Pillow-9.5.0-cp38-cp38-win32.whl", hash = "sha256:6608ff3bf781eee0cd14d0901a2b9cc3d3834516532e3bd673a0a204dc8615fc"},
- {file = "Pillow-9.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:e49eb4e95ff6fd7c0c402508894b1ef0e01b99a44320ba7d8ecbabefddcc5569"},
- {file = "Pillow-9.5.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:482877592e927fd263028c105b36272398e3e1be3269efda09f6ba21fd83ec66"},
- {file = "Pillow-9.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3ded42b9ad70e5f1754fb7c2e2d6465a9c842e41d178f262e08b8c85ed8a1d8e"},
- {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c446d2245ba29820d405315083d55299a796695d747efceb5717a8b450324115"},
- {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aca1152d93dcc27dc55395604dcfc55bed5f25ef4c98716a928bacba90d33a3"},
- {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:608488bdcbdb4ba7837461442b90ea6f3079397ddc968c31265c1e056964f1ef"},
- {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:60037a8db8750e474af7ffc9faa9b5859e6c6d0a50e55c45576bf28be7419705"},
- {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:07999f5834bdc404c442146942a2ecadd1cb6292f5229f4ed3b31e0a108746b1"},
- {file = "Pillow-9.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a127ae76092974abfbfa38ca2d12cbeddcdeac0fb71f9627cc1135bedaf9d51a"},
- {file = "Pillow-9.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:489f8389261e5ed43ac8ff7b453162af39c3e8abd730af8363587ba64bb2e865"},
- {file = "Pillow-9.5.0-cp39-cp39-win32.whl", hash = "sha256:9b1af95c3a967bf1da94f253e56b6286b50af23392a886720f563c547e48e964"},
- {file = "Pillow-9.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:77165c4a5e7d5a284f10a6efaa39a0ae8ba839da344f20b111d62cc932fa4e5d"},
- {file = "Pillow-9.5.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:833b86a98e0ede388fa29363159c9b1a294b0905b5128baf01db683672f230f5"},
- {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aaf305d6d40bd9632198c766fb64f0c1a83ca5b667f16c1e79e1661ab5060140"},
- {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0852ddb76d85f127c135b6dd1f0bb88dbb9ee990d2cd9aa9e28526c93e794fba"},
- {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:91ec6fe47b5eb5a9968c79ad9ed78c342b1f97a091677ba0e012701add857829"},
- {file = "Pillow-9.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:cb841572862f629b99725ebaec3287fc6d275be9b14443ea746c1dd325053cbd"},
- {file = "Pillow-9.5.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:c380b27d041209b849ed246b111b7c166ba36d7933ec6e41175fd15ab9eb1572"},
- {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c9af5a3b406a50e313467e3565fc99929717f780164fe6fbb7704edba0cebbe"},
- {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5671583eab84af046a397d6d0ba25343c00cd50bce03787948e0fff01d4fd9b1"},
- {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:84a6f19ce086c1bf894644b43cd129702f781ba5751ca8572f08aa40ef0ab7b7"},
- {file = "Pillow-9.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1e7723bd90ef94eda669a3c2c19d549874dd5badaeefabefd26053304abe5799"},
- {file = "Pillow-9.5.0.tar.gz", hash = "sha256:bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1"},
+ {file = "Pillow-10.0.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1f62406a884ae75fb2f818694469519fb685cc7eaff05d3451a9ebe55c646891"},
+ {file = "Pillow-10.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d5db32e2a6ccbb3d34d87c87b432959e0db29755727afb37290e10f6e8e62614"},
+ {file = "Pillow-10.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edf4392b77bdc81f36e92d3a07a5cd072f90253197f4a52a55a8cec48a12483b"},
+ {file = "Pillow-10.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:520f2a520dc040512699f20fa1c363eed506e94248d71f85412b625026f6142c"},
+ {file = "Pillow-10.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:8c11160913e3dd06c8ffdb5f233a4f254cb449f4dfc0f8f4549eda9e542c93d1"},
+ {file = "Pillow-10.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a74ba0c356aaa3bb8e3eb79606a87669e7ec6444be352870623025d75a14a2bf"},
+ {file = "Pillow-10.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d5d0dae4cfd56969d23d94dc8e89fb6a217be461c69090768227beb8ed28c0a3"},
+ {file = "Pillow-10.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22c10cc517668d44b211717fd9775799ccec4124b9a7f7b3635fc5386e584992"},
+ {file = "Pillow-10.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:dffe31a7f47b603318c609f378ebcd57f1554a3a6a8effbc59c3c69f804296de"},
+ {file = "Pillow-10.0.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:9fb218c8a12e51d7ead2a7c9e101a04982237d4855716af2e9499306728fb485"},
+ {file = "Pillow-10.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d35e3c8d9b1268cbf5d3670285feb3528f6680420eafe35cccc686b73c1e330f"},
+ {file = "Pillow-10.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ed64f9ca2f0a95411e88a4efbd7a29e5ce2cea36072c53dd9d26d9c76f753b3"},
+ {file = "Pillow-10.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b6eb5502f45a60a3f411c63187db83a3d3107887ad0d036c13ce836f8a36f1d"},
+ {file = "Pillow-10.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:c1fbe7621c167ecaa38ad29643d77a9ce7311583761abf7836e1510c580bf3dd"},
+ {file = "Pillow-10.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cd25d2a9d2b36fcb318882481367956d2cf91329f6892fe5d385c346c0649629"},
+ {file = "Pillow-10.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3b08d4cc24f471b2c8ca24ec060abf4bebc6b144cb89cba638c720546b1cf538"},
+ {file = "Pillow-10.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d737a602fbd82afd892ca746392401b634e278cb65d55c4b7a8f48e9ef8d008d"},
+ {file = "Pillow-10.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:3a82c40d706d9aa9734289740ce26460a11aeec2d9c79b7af87bb35f0073c12f"},
+ {file = "Pillow-10.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:bc2ec7c7b5d66b8ec9ce9f720dbb5fa4bace0f545acd34870eff4a369b44bf37"},
+ {file = "Pillow-10.0.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:d80cf684b541685fccdd84c485b31ce73fc5c9b5d7523bf1394ce134a60c6883"},
+ {file = "Pillow-10.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76de421f9c326da8f43d690110f0e79fe3ad1e54be811545d7d91898b4c8493e"},
+ {file = "Pillow-10.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81ff539a12457809666fef6624684c008e00ff6bf455b4b89fd00a140eecd640"},
+ {file = "Pillow-10.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce543ed15570eedbb85df19b0a1a7314a9c8141a36ce089c0a894adbfccb4568"},
+ {file = "Pillow-10.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:685ac03cc4ed5ebc15ad5c23bc555d68a87777586d970c2c3e216619a5476223"},
+ {file = "Pillow-10.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:d72e2ecc68a942e8cf9739619b7f408cc7b272b279b56b2c83c6123fcfa5cdff"},
+ {file = "Pillow-10.0.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d50b6aec14bc737742ca96e85d6d0a5f9bfbded018264b3b70ff9d8c33485551"},
+ {file = "Pillow-10.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:00e65f5e822decd501e374b0650146063fbb30a7264b4d2744bdd7b913e0cab5"},
+ {file = "Pillow-10.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:f31f9fdbfecb042d046f9d91270a0ba28368a723302786c0009ee9b9f1f60199"},
+ {file = "Pillow-10.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:1ce91b6ec08d866b14413d3f0bbdea7e24dfdc8e59f562bb77bc3fe60b6144ca"},
+ {file = "Pillow-10.0.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:349930d6e9c685c089284b013478d6f76e3a534e36ddfa912cde493f235372f3"},
+ {file = "Pillow-10.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3a684105f7c32488f7153905a4e3015a3b6c7182e106fe3c37fbb5ef3e6994c3"},
+ {file = "Pillow-10.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4f69b3700201b80bb82c3a97d5e9254084f6dd5fb5b16fc1a7b974260f89f43"},
+ {file = "Pillow-10.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f07ea8d2f827d7d2a49ecf1639ec02d75ffd1b88dcc5b3a61bbb37a8759ad8d"},
+ {file = "Pillow-10.0.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:040586f7d37b34547153fa383f7f9aed68b738992380ac911447bb78f2abe530"},
+ {file = "Pillow-10.0.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:f88a0b92277de8e3ca715a0d79d68dc82807457dae3ab8699c758f07c20b3c51"},
+ {file = "Pillow-10.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c7cf14a27b0d6adfaebb3ae4153f1e516df54e47e42dcc073d7b3d76111a8d86"},
+ {file = "Pillow-10.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:3400aae60685b06bb96f99a21e1ada7bc7a413d5f49bce739828ecd9391bb8f7"},
+ {file = "Pillow-10.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:dbc02381779d412145331789b40cc7b11fdf449e5d94f6bc0b080db0a56ea3f0"},
+ {file = "Pillow-10.0.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:9211e7ad69d7c9401cfc0e23d49b69ca65ddd898976d660a2fa5904e3d7a9baa"},
+ {file = "Pillow-10.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:faaf07ea35355b01a35cb442dd950d8f1bb5b040a7787791a535de13db15ed90"},
+ {file = "Pillow-10.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9f72a021fbb792ce98306ffb0c348b3c9cb967dce0f12a49aa4c3d3fdefa967"},
+ {file = "Pillow-10.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f7c16705f44e0504a3a2a14197c1f0b32a95731d251777dcb060aa83022cb2d"},
+ {file = "Pillow-10.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:76edb0a1fa2b4745fb0c99fb9fb98f8b180a1bbceb8be49b087e0b21867e77d3"},
+ {file = "Pillow-10.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:368ab3dfb5f49e312231b6f27b8820c823652b7cd29cfbd34090565a015e99ba"},
+ {file = "Pillow-10.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:608bfdee0d57cf297d32bcbb3c728dc1da0907519d1784962c5f0c68bb93e5a3"},
+ {file = "Pillow-10.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5c6e3df6bdd396749bafd45314871b3d0af81ff935b2d188385e970052091017"},
+ {file = "Pillow-10.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:7be600823e4c8631b74e4a0d38384c73f680e6105a7d3c6824fcf226c178c7e6"},
+ {file = "Pillow-10.0.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:92be919bbc9f7d09f7ae343c38f5bb21c973d2576c1d45600fce4b74bafa7ac0"},
+ {file = "Pillow-10.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8182b523b2289f7c415f589118228d30ac8c355baa2f3194ced084dac2dbba"},
+ {file = "Pillow-10.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:38250a349b6b390ee6047a62c086d3817ac69022c127f8a5dc058c31ccef17f3"},
+ {file = "Pillow-10.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:88af2003543cc40c80f6fca01411892ec52b11021b3dc22ec3bc9d5afd1c5334"},
+ {file = "Pillow-10.0.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:c189af0545965fa8d3b9613cfdb0cd37f9d71349e0f7750e1fd704648d475ed2"},
+ {file = "Pillow-10.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce7b031a6fc11365970e6a5686d7ba8c63e4c1cf1ea143811acbb524295eabed"},
+ {file = "Pillow-10.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:db24668940f82321e746773a4bc617bfac06ec831e5c88b643f91f122a785684"},
+ {file = "Pillow-10.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:efe8c0681042536e0d06c11f48cebe759707c9e9abf880ee213541c5b46c5bf3"},
+ {file = "Pillow-10.0.0.tar.gz", hash = "sha256:9c82b5b3e043c7af0d95792d0d20ccf68f61a1fec6b3530e718b688422727396"},
]
[package.extras]
@@ -2029,30 +2029,30 @@ files = [
[[package]]
name = "platformdirs"
-version = "3.5.3"
+version = "3.10.0"
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "platformdirs-3.5.3-py3-none-any.whl", hash = "sha256:0ade98a4895e87dc51d47151f7d2ec290365a585151d97b4d8d6312ed6132fed"},
- {file = "platformdirs-3.5.3.tar.gz", hash = "sha256:e48fabd87db8f3a7df7150a4a5ea22c546ee8bc39bc2473244730d4b56d2cc4e"},
+ {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"},
+ {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"},
]
[package.extras]
-docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"]
-test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)"]
+docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"]
+test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"]
[[package]]
name = "pluggy"
-version = "1.0.0"
+version = "1.2.0"
description = "plugin and hook calling mechanisms for python"
category = "dev"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
files = [
- {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
- {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
+ {file = "pluggy-1.2.0-py3-none-any.whl", hash = "sha256:c2fd55a7d7a3863cba1a013e4e2414658b1d07b6bc57b3919e0c63c9abb99849"},
+ {file = "pluggy-1.2.0.tar.gz", hash = "sha256:d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3"},
]
[package.extras]
@@ -2061,14 +2061,14 @@ testing = ["pytest", "pytest-benchmark"]
[[package]]
name = "prompt-toolkit"
-version = "3.0.38"
+version = "3.0.39"
description = "Library for building powerful interactive command lines in Python"
category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
- {file = "prompt_toolkit-3.0.38-py3-none-any.whl", hash = "sha256:45ea77a2f7c60418850331366c81cf6b5b9cf4c7fd34616f733c5427e6abbb1f"},
- {file = "prompt_toolkit-3.0.38.tar.gz", hash = "sha256:23ac5d50538a9a38c8bde05fecb47d0b403ecd0662857a86f886f798563d5b9b"},
+ {file = "prompt_toolkit-3.0.39-py3-none-any.whl", hash = "sha256:9dffbe1d8acf91e3de75f3b544e4842382fc06c6babe903ac9acb74dc6e08d88"},
+ {file = "prompt_toolkit-3.0.39.tar.gz", hash = "sha256:04505ade687dc26dc4284b1ad19a83be2f2afe83e7a828ace0c72f3a1df72aac"},
]
[package.dependencies]
@@ -2178,14 +2178,14 @@ files = [
[[package]]
name = "pygments"
-version = "2.15.1"
+version = "2.16.1"
description = "Pygments is a syntax highlighting package written in Python."
category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "Pygments-2.15.1-py3-none-any.whl", hash = "sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1"},
- {file = "Pygments-2.15.1.tar.gz", hash = "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c"},
+ {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"},
+ {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"},
]
[package.extras]
@@ -2193,18 +2193,18 @@ plugins = ["importlib-metadata"]
[[package]]
name = "pylint"
-version = "2.17.4"
+version = "2.17.5"
description = "python code static checker"
category = "dev"
optional = false
python-versions = ">=3.7.2"
files = [
- {file = "pylint-2.17.4-py3-none-any.whl", hash = "sha256:7a1145fb08c251bdb5cca11739722ce64a63db479283d10ce718b2460e54123c"},
- {file = "pylint-2.17.4.tar.gz", hash = "sha256:5dcf1d9e19f41f38e4e85d10f511e5b9c35e1aa74251bf95cdd8cb23584e2db1"},
+ {file = "pylint-2.17.5-py3-none-any.whl", hash = "sha256:73995fb8216d3bed149c8d51bba25b2c52a8251a2c8ac846ec668ce38fab5413"},
+ {file = "pylint-2.17.5.tar.gz", hash = "sha256:f7b601cbc06fef7e62a754e2b41294c2aa31f1cb659624b9a85bcba29eaf8252"},
]
[package.dependencies]
-astroid = ">=2.15.4,<=2.17.0-dev0"
+astroid = ">=2.15.6,<=2.17.0-dev0"
colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""}
dill = [
{version = ">=0.2", markers = "python_version < \"3.11\""},
@@ -2258,53 +2258,16 @@ files = [
{file = "pyrepl-0.9.0.tar.gz", hash = "sha256:292570f34b5502e871bbb966d639474f2b57fbfcd3373c2d6a2f3d56e681a775"},
]
-[[package]]
-name = "pyrsistent"
-version = "0.19.3"
-description = "Persistent/Functional/Immutable data structures"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "pyrsistent-0.19.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:20460ac0ea439a3e79caa1dbd560344b64ed75e85d8703943e0b66c2a6150e4a"},
- {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c18264cb84b5e68e7085a43723f9e4c1fd1d935ab240ce02c0324a8e01ccb64"},
- {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b774f9288dda8d425adb6544e5903f1fb6c273ab3128a355c6b972b7df39dcf"},
- {file = "pyrsistent-0.19.3-cp310-cp310-win32.whl", hash = "sha256:5a474fb80f5e0d6c9394d8db0fc19e90fa540b82ee52dba7d246a7791712f74a"},
- {file = "pyrsistent-0.19.3-cp310-cp310-win_amd64.whl", hash = "sha256:49c32f216c17148695ca0e02a5c521e28a4ee6c5089f97e34fe24163113722da"},
- {file = "pyrsistent-0.19.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f0774bf48631f3a20471dd7c5989657b639fd2d285b861237ea9e82c36a415a9"},
- {file = "pyrsistent-0.19.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab2204234c0ecd8b9368dbd6a53e83c3d4f3cab10ecaf6d0e772f456c442393"},
- {file = "pyrsistent-0.19.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e42296a09e83028b3476f7073fcb69ffebac0e66dbbfd1bd847d61f74db30f19"},
- {file = "pyrsistent-0.19.3-cp311-cp311-win32.whl", hash = "sha256:64220c429e42a7150f4bfd280f6f4bb2850f95956bde93c6fda1b70507af6ef3"},
- {file = "pyrsistent-0.19.3-cp311-cp311-win_amd64.whl", hash = "sha256:016ad1afadf318eb7911baa24b049909f7f3bb2c5b1ed7b6a8f21db21ea3faa8"},
- {file = "pyrsistent-0.19.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c4db1bd596fefd66b296a3d5d943c94f4fac5bcd13e99bffe2ba6a759d959a28"},
- {file = "pyrsistent-0.19.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aeda827381f5e5d65cced3024126529ddc4289d944f75e090572c77ceb19adbf"},
- {file = "pyrsistent-0.19.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:42ac0b2f44607eb92ae88609eda931a4f0dfa03038c44c772e07f43e738bcac9"},
- {file = "pyrsistent-0.19.3-cp37-cp37m-win32.whl", hash = "sha256:e8f2b814a3dc6225964fa03d8582c6e0b6650d68a232df41e3cc1b66a5d2f8d1"},
- {file = "pyrsistent-0.19.3-cp37-cp37m-win_amd64.whl", hash = "sha256:c9bb60a40a0ab9aba40a59f68214eed5a29c6274c83b2cc206a359c4a89fa41b"},
- {file = "pyrsistent-0.19.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a2471f3f8693101975b1ff85ffd19bb7ca7dd7c38f8a81701f67d6b4f97b87d8"},
- {file = "pyrsistent-0.19.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc5d149f31706762c1f8bda2e8c4f8fead6e80312e3692619a75301d3dbb819a"},
- {file = "pyrsistent-0.19.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3311cb4237a341aa52ab8448c27e3a9931e2ee09561ad150ba94e4cfd3fc888c"},
- {file = "pyrsistent-0.19.3-cp38-cp38-win32.whl", hash = "sha256:f0e7c4b2f77593871e918be000b96c8107da48444d57005b6a6bc61fb4331b2c"},
- {file = "pyrsistent-0.19.3-cp38-cp38-win_amd64.whl", hash = "sha256:c147257a92374fde8498491f53ffa8f4822cd70c0d85037e09028e478cababb7"},
- {file = "pyrsistent-0.19.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b735e538f74ec31378f5a1e3886a26d2ca6351106b4dfde376a26fc32a044edc"},
- {file = "pyrsistent-0.19.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99abb85579e2165bd8522f0c0138864da97847875ecbd45f3e7e2af569bfc6f2"},
- {file = "pyrsistent-0.19.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a8cb235fa6d3fd7aae6a4f1429bbb1fec1577d978098da1252f0489937786f3"},
- {file = "pyrsistent-0.19.3-cp39-cp39-win32.whl", hash = "sha256:c74bed51f9b41c48366a286395c67f4e894374306b197e62810e0fdaf2364da2"},
- {file = "pyrsistent-0.19.3-cp39-cp39-win_amd64.whl", hash = "sha256:878433581fc23e906d947a6814336eee031a00e6defba224234169ae3d3d6a98"},
- {file = "pyrsistent-0.19.3-py3-none-any.whl", hash = "sha256:ccf0d6bd208f8111179f0c26fdf84ed7c3891982f2edaeae7422575f47e66b64"},
- {file = "pyrsistent-0.19.3.tar.gz", hash = "sha256:1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440"},
-]
-
[[package]]
name = "pytest"
-version = "7.3.2"
+version = "7.4.0"
description = "pytest: simple powerful testing with Python"
category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "pytest-7.3.2-py3-none-any.whl", hash = "sha256:cdcbd012c9312258922f8cd3f1b62a6580fdced17db6014896053d47cddf9295"},
- {file = "pytest-7.3.2.tar.gz", hash = "sha256:ee990a3cc55ba808b80795a79944756f315c67c12b56abd3ac993a7b8c17030b"},
+ {file = "pytest-7.4.0-py3-none-any.whl", hash = "sha256:78bf16451a2eb8c7a2ea98e32dc119fd2aa758f1d5d66dbf0a59d69a3969df32"},
+ {file = "pytest-7.4.0.tar.gz", hash = "sha256:b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a"},
]
[package.dependencies]
@@ -2416,144 +2379,176 @@ files = [
[[package]]
name = "pyyaml"
-version = "6.0"
+version = "6.0.1"
description = "YAML parser and emitter for Python"
category = "main"
optional = false
python-versions = ">=3.6"
files = [
- {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-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"},
- {file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"},
- {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"},
- {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"},
- {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"},
- {file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"},
- {file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"},
- {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"},
+ {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"},
+ {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"},
+ {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
+ {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"},
+ {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"},
+ {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"},
+ {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"},
+ {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"},
+ {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"},
+ {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"},
+ {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"},
+ {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"},
+ {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"},
+ {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
+ {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"},
+ {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"},
+ {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"},
+ {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"},
+ {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"},
+ {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"},
+ {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"},
+ {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"},
+ {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"},
+ {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"},
+ {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"},
+ {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"},
+ {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"},
+ {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"},
+ {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"},
+ {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"},
+ {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"},
+ {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"},
+ {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"},
+ {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"},
+ {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"},
+ {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"},
+ {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"},
+ {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"},
+ {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"},
+ {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
]
[[package]]
name = "pyzmq"
-version = "25.1.0"
+version = "25.1.1"
description = "Python bindings for 0MQ"
category = "dev"
optional = false
python-versions = ">=3.6"
files = [
- {file = "pyzmq-25.1.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:1a6169e69034eaa06823da6a93a7739ff38716142b3596c180363dee729d713d"},
- {file = "pyzmq-25.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:19d0383b1f18411d137d891cab567de9afa609b214de68b86e20173dc624c101"},
- {file = "pyzmq-25.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1e931d9a92f628858a50f5bdffdfcf839aebe388b82f9d2ccd5d22a38a789dc"},
- {file = "pyzmq-25.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:97d984b1b2f574bc1bb58296d3c0b64b10e95e7026f8716ed6c0b86d4679843f"},
- {file = "pyzmq-25.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:154bddda2a351161474b36dba03bf1463377ec226a13458725183e508840df89"},
- {file = "pyzmq-25.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:cb6d161ae94fb35bb518b74bb06b7293299c15ba3bc099dccd6a5b7ae589aee3"},
- {file = "pyzmq-25.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:90146ab578931e0e2826ee39d0c948d0ea72734378f1898939d18bc9c823fcf9"},
- {file = "pyzmq-25.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:831ba20b660b39e39e5ac8603e8193f8fce1ee03a42c84ade89c36a251449d80"},
- {file = "pyzmq-25.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3a522510e3434e12aff80187144c6df556bb06fe6b9d01b2ecfbd2b5bfa5c60c"},
- {file = "pyzmq-25.1.0-cp310-cp310-win32.whl", hash = "sha256:be24a5867b8e3b9dd5c241de359a9a5217698ff616ac2daa47713ba2ebe30ad1"},
- {file = "pyzmq-25.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:5693dcc4f163481cf79e98cf2d7995c60e43809e325b77a7748d8024b1b7bcba"},
- {file = "pyzmq-25.1.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:13bbe36da3f8aaf2b7ec12696253c0bf6ffe05f4507985a8844a1081db6ec22d"},
- {file = "pyzmq-25.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:69511d604368f3dc58d4be1b0bad99b61ee92b44afe1cd9b7bd8c5e34ea8248a"},
- {file = "pyzmq-25.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a983c8694667fd76d793ada77fd36c8317e76aa66eec75be2653cef2ea72883"},
- {file = "pyzmq-25.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:332616f95eb400492103ab9d542b69d5f0ff628b23129a4bc0a2fd48da6e4e0b"},
- {file = "pyzmq-25.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58416db767787aedbfd57116714aad6c9ce57215ffa1c3758a52403f7c68cff5"},
- {file = "pyzmq-25.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cad9545f5801a125f162d09ec9b724b7ad9b6440151b89645241d0120e119dcc"},
- {file = "pyzmq-25.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d6128d431b8dfa888bf51c22a04d48bcb3d64431caf02b3cb943269f17fd2994"},
- {file = "pyzmq-25.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:2b15247c49d8cbea695b321ae5478d47cffd496a2ec5ef47131a9e79ddd7e46c"},
- {file = "pyzmq-25.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:442d3efc77ca4d35bee3547a8e08e8d4bb88dadb54a8377014938ba98d2e074a"},
- {file = "pyzmq-25.1.0-cp311-cp311-win32.whl", hash = "sha256:65346f507a815a731092421d0d7d60ed551a80d9b75e8b684307d435a5597425"},
- {file = "pyzmq-25.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:8b45d722046fea5a5694cba5d86f21f78f0052b40a4bbbbf60128ac55bfcc7b6"},
- {file = "pyzmq-25.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f45808eda8b1d71308c5416ef3abe958f033fdbb356984fabbfc7887bed76b3f"},
- {file = "pyzmq-25.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b697774ea8273e3c0460cf0bba16cd85ca6c46dfe8b303211816d68c492e132"},
- {file = "pyzmq-25.1.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b324fa769577fc2c8f5efcd429cef5acbc17d63fe15ed16d6dcbac2c5eb00849"},
- {file = "pyzmq-25.1.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:5873d6a60b778848ce23b6c0ac26c39e48969823882f607516b91fb323ce80e5"},
- {file = "pyzmq-25.1.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:f0d9e7ba6a815a12c8575ba7887da4b72483e4cfc57179af10c9b937f3f9308f"},
- {file = "pyzmq-25.1.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:414b8beec76521358b49170db7b9967d6974bdfc3297f47f7d23edec37329b00"},
- {file = "pyzmq-25.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:01f06f33e12497dca86353c354461f75275a5ad9eaea181ac0dc1662da8074fa"},
- {file = "pyzmq-25.1.0-cp36-cp36m-win32.whl", hash = "sha256:b5a07c4f29bf7cb0164664ef87e4aa25435dcc1f818d29842118b0ac1eb8e2b5"},
- {file = "pyzmq-25.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:968b0c737797c1809ec602e082cb63e9824ff2329275336bb88bd71591e94a90"},
- {file = "pyzmq-25.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:47b915ba666c51391836d7ed9a745926b22c434efa76c119f77bcffa64d2c50c"},
- {file = "pyzmq-25.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5af31493663cf76dd36b00dafbc839e83bbca8a0662931e11816d75f36155897"},
- {file = "pyzmq-25.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5489738a692bc7ee9a0a7765979c8a572520d616d12d949eaffc6e061b82b4d1"},
- {file = "pyzmq-25.1.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1fc56a0221bdf67cfa94ef2d6ce5513a3d209c3dfd21fed4d4e87eca1822e3a3"},
- {file = "pyzmq-25.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:75217e83faea9edbc29516fc90c817bc40c6b21a5771ecb53e868e45594826b0"},
- {file = "pyzmq-25.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:3830be8826639d801de9053cf86350ed6742c4321ba4236e4b5568528d7bfed7"},
- {file = "pyzmq-25.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:3575699d7fd7c9b2108bc1c6128641a9a825a58577775ada26c02eb29e09c517"},
- {file = "pyzmq-25.1.0-cp37-cp37m-win32.whl", hash = "sha256:95bd3a998d8c68b76679f6b18f520904af5204f089beebb7b0301d97704634dd"},
- {file = "pyzmq-25.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:dbc466744a2db4b7ca05589f21ae1a35066afada2f803f92369f5877c100ef62"},
- {file = "pyzmq-25.1.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:3bed53f7218490c68f0e82a29c92335daa9606216e51c64f37b48eb78f1281f4"},
- {file = "pyzmq-25.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eb52e826d16c09ef87132c6e360e1879c984f19a4f62d8a935345deac43f3c12"},
- {file = "pyzmq-25.1.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ddbef8b53cd16467fdbfa92a712eae46dd066aa19780681a2ce266e88fbc7165"},
- {file = "pyzmq-25.1.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9301cf1d7fc1ddf668d0abbe3e227fc9ab15bc036a31c247276012abb921b5ff"},
- {file = "pyzmq-25.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7e23a8c3b6c06de40bdb9e06288180d630b562db8ac199e8cc535af81f90e64b"},
- {file = "pyzmq-25.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4a82faae00d1eed4809c2f18b37f15ce39a10a1c58fe48b60ad02875d6e13d80"},
- {file = "pyzmq-25.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c8398a1b1951aaa330269c35335ae69744be166e67e0ebd9869bdc09426f3871"},
- {file = "pyzmq-25.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d40682ac60b2a613d36d8d3a0cd14fbdf8e7e0618fbb40aa9fa7b796c9081584"},
- {file = "pyzmq-25.1.0-cp38-cp38-win32.whl", hash = "sha256:33d5c8391a34d56224bccf74f458d82fc6e24b3213fc68165c98b708c7a69325"},
- {file = "pyzmq-25.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:c66b7ff2527e18554030319b1376d81560ca0742c6e0b17ff1ee96624a5f1afd"},
- {file = "pyzmq-25.1.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:af56229ea6527a849ac9fb154a059d7e32e77a8cba27e3e62a1e38d8808cb1a5"},
- {file = "pyzmq-25.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bdca18b94c404af6ae5533cd1bc310c4931f7ac97c148bbfd2cd4bdd62b96253"},
- {file = "pyzmq-25.1.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0b6b42f7055bbc562f63f3df3b63e3dd1ebe9727ff0f124c3aa7bcea7b3a00f9"},
- {file = "pyzmq-25.1.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4c2fc7aad520a97d64ffc98190fce6b64152bde57a10c704b337082679e74f67"},
- {file = "pyzmq-25.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be86a26415a8b6af02cd8d782e3a9ae3872140a057f1cadf0133de685185c02b"},
- {file = "pyzmq-25.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:851fb2fe14036cfc1960d806628b80276af5424db09fe5c91c726890c8e6d943"},
- {file = "pyzmq-25.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2a21fec5c3cea45421a19ccbe6250c82f97af4175bc09de4d6dd78fb0cb4c200"},
- {file = "pyzmq-25.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bad172aba822444b32eae54c2d5ab18cd7dee9814fd5c7ed026603b8cae2d05f"},
- {file = "pyzmq-25.1.0-cp39-cp39-win32.whl", hash = "sha256:4d67609b37204acad3d566bb7391e0ecc25ef8bae22ff72ebe2ad7ffb7847158"},
- {file = "pyzmq-25.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:71c7b5896e40720d30cd77a81e62b433b981005bbff0cb2f739e0f8d059b5d99"},
- {file = "pyzmq-25.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4cb27ef9d3bdc0c195b2dc54fcb8720e18b741624686a81942e14c8b67cc61a6"},
- {file = "pyzmq-25.1.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0c4fc2741e0513b5d5a12fe200d6785bbcc621f6f2278893a9ca7bed7f2efb7d"},
- {file = "pyzmq-25.1.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fc34fdd458ff77a2a00e3c86f899911f6f269d393ca5675842a6e92eea565bae"},
- {file = "pyzmq-25.1.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8751f9c1442624da391bbd92bd4b072def6d7702a9390e4479f45c182392ff78"},
- {file = "pyzmq-25.1.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:6581e886aec3135964a302a0f5eb68f964869b9efd1dbafdebceaaf2934f8a68"},
- {file = "pyzmq-25.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5482f08d2c3c42b920e8771ae8932fbaa0a67dff925fc476996ddd8155a170f3"},
- {file = "pyzmq-25.1.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5e7fbcafa3ea16d1de1f213c226005fea21ee16ed56134b75b2dede5a2129e62"},
- {file = "pyzmq-25.1.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:adecf6d02b1beab8d7c04bc36f22bb0e4c65a35eb0b4750b91693631d4081c70"},
- {file = "pyzmq-25.1.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6d39e42a0aa888122d1beb8ec0d4ddfb6c6b45aecb5ba4013c27e2f28657765"},
- {file = "pyzmq-25.1.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:7018289b402ebf2b2c06992813523de61d4ce17bd514c4339d8f27a6f6809492"},
- {file = "pyzmq-25.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9e68ae9864d260b18f311b68d29134d8776d82e7f5d75ce898b40a88df9db30f"},
- {file = "pyzmq-25.1.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e21cc00e4debe8f54c3ed7b9fcca540f46eee12762a9fa56feb8512fd9057161"},
- {file = "pyzmq-25.1.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f666ae327a6899ff560d741681fdcdf4506f990595201ed39b44278c471ad98"},
- {file = "pyzmq-25.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f5efcc29056dfe95e9c9db0dfbb12b62db9c4ad302f812931b6d21dd04a9119"},
- {file = "pyzmq-25.1.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:48e5e59e77c1a83162ab3c163fc01cd2eebc5b34560341a67421b09be0891287"},
- {file = "pyzmq-25.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:108c96ebbd573d929740d66e4c3d1bdf31d5cde003b8dc7811a3c8c5b0fc173b"},
- {file = "pyzmq-25.1.0.tar.gz", hash = "sha256:80c41023465d36280e801564a69cbfce8ae85ff79b080e1913f6e90481fb8957"},
+ {file = "pyzmq-25.1.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:381469297409c5adf9a0e884c5eb5186ed33137badcbbb0560b86e910a2f1e76"},
+ {file = "pyzmq-25.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:955215ed0604dac5b01907424dfa28b40f2b2292d6493445dd34d0dfa72586a8"},
+ {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:985bbb1316192b98f32e25e7b9958088431d853ac63aca1d2c236f40afb17c83"},
+ {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:afea96f64efa98df4da6958bae37f1cbea7932c35878b185e5982821bc883369"},
+ {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76705c9325d72a81155bb6ab48d4312e0032bf045fb0754889133200f7a0d849"},
+ {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:77a41c26205d2353a4c94d02be51d6cbdf63c06fbc1295ea57dad7e2d3381b71"},
+ {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:12720a53e61c3b99d87262294e2b375c915fea93c31fc2336898c26d7aed34cd"},
+ {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:57459b68e5cd85b0be8184382cefd91959cafe79ae019e6b1ae6e2ba8a12cda7"},
+ {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:292fe3fc5ad4a75bc8df0dfaee7d0babe8b1f4ceb596437213821f761b4589f9"},
+ {file = "pyzmq-25.1.1-cp310-cp310-win32.whl", hash = "sha256:35b5ab8c28978fbbb86ea54958cd89f5176ce747c1fb3d87356cf698048a7790"},
+ {file = "pyzmq-25.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:11baebdd5fc5b475d484195e49bae2dc64b94a5208f7c89954e9e354fc609d8f"},
+ {file = "pyzmq-25.1.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:d20a0ddb3e989e8807d83225a27e5c2eb2260eaa851532086e9e0fa0d5287d83"},
+ {file = "pyzmq-25.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e1c1be77bc5fb77d923850f82e55a928f8638f64a61f00ff18a67c7404faf008"},
+ {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d89528b4943d27029a2818f847c10c2cecc79fa9590f3cb1860459a5be7933eb"},
+ {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:90f26dc6d5f241ba358bef79be9ce06de58d477ca8485e3291675436d3827cf8"},
+ {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2b92812bd214018e50b6380ea3ac0c8bb01ac07fcc14c5f86a5bb25e74026e9"},
+ {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:2f957ce63d13c28730f7fd6b72333814221c84ca2421298f66e5143f81c9f91f"},
+ {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:047a640f5c9c6ade7b1cc6680a0e28c9dd5a0825135acbd3569cc96ea00b2505"},
+ {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7f7e58effd14b641c5e4dec8c7dab02fb67a13df90329e61c869b9cc607ef752"},
+ {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c2910967e6ab16bf6fbeb1f771c89a7050947221ae12a5b0b60f3bca2ee19bca"},
+ {file = "pyzmq-25.1.1-cp311-cp311-win32.whl", hash = "sha256:76c1c8efb3ca3a1818b837aea423ff8a07bbf7aafe9f2f6582b61a0458b1a329"},
+ {file = "pyzmq-25.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:44e58a0554b21fc662f2712814a746635ed668d0fbc98b7cb9d74cb798d202e6"},
+ {file = "pyzmq-25.1.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:e1ffa1c924e8c72778b9ccd386a7067cddf626884fd8277f503c48bb5f51c762"},
+ {file = "pyzmq-25.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1af379b33ef33757224da93e9da62e6471cf4a66d10078cf32bae8127d3d0d4a"},
+ {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cff084c6933680d1f8b2f3b4ff5bbb88538a4aac00d199ac13f49d0698727ecb"},
+ {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2400a94f7dd9cb20cd012951a0cbf8249e3d554c63a9c0cdfd5cbb6c01d2dec"},
+ {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d81f1ddae3858b8299d1da72dd7d19dd36aab654c19671aa8a7e7fb02f6638a"},
+ {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:255ca2b219f9e5a3a9ef3081512e1358bd4760ce77828e1028b818ff5610b87b"},
+ {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a882ac0a351288dd18ecae3326b8a49d10c61a68b01419f3a0b9a306190baf69"},
+ {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:724c292bb26365659fc434e9567b3f1adbdb5e8d640c936ed901f49e03e5d32e"},
+ {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ca1ed0bb2d850aa8471387882247c68f1e62a4af0ce9c8a1dbe0d2bf69e41fb"},
+ {file = "pyzmq-25.1.1-cp312-cp312-win32.whl", hash = "sha256:b3451108ab861040754fa5208bca4a5496c65875710f76789a9ad27c801a0075"},
+ {file = "pyzmq-25.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:eadbefd5e92ef8a345f0525b5cfd01cf4e4cc651a2cffb8f23c0dd184975d787"},
+ {file = "pyzmq-25.1.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:db0b2af416ba735c6304c47f75d348f498b92952f5e3e8bff449336d2728795d"},
+ {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c133e93b405eb0d36fa430c94185bdd13c36204a8635470cccc200723c13bb"},
+ {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:273bc3959bcbff3f48606b28229b4721716598d76b5aaea2b4a9d0ab454ec062"},
+ {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cbc8df5c6a88ba5ae385d8930da02201165408dde8d8322072e3e5ddd4f68e22"},
+ {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:18d43df3f2302d836f2a56f17e5663e398416e9dd74b205b179065e61f1a6edf"},
+ {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:73461eed88a88c866656e08f89299720a38cb4e9d34ae6bf5df6f71102570f2e"},
+ {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:34c850ce7976d19ebe7b9d4b9bb8c9dfc7aac336c0958e2651b88cbd46682123"},
+ {file = "pyzmq-25.1.1-cp36-cp36m-win32.whl", hash = "sha256:d2045d6d9439a0078f2a34b57c7b18c4a6aef0bee37f22e4ec9f32456c852c71"},
+ {file = "pyzmq-25.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:458dea649f2f02a0b244ae6aef8dc29325a2810aa26b07af8374dc2a9faf57e3"},
+ {file = "pyzmq-25.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7cff25c5b315e63b07a36f0c2bab32c58eafbe57d0dce61b614ef4c76058c115"},
+ {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1579413ae492b05de5a6174574f8c44c2b9b122a42015c5292afa4be2507f28"},
+ {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3d0a409d3b28607cc427aa5c30a6f1e4452cc44e311f843e05edb28ab5e36da0"},
+ {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:21eb4e609a154a57c520e3d5bfa0d97e49b6872ea057b7c85257b11e78068222"},
+ {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:034239843541ef7a1aee0c7b2cb7f6aafffb005ede965ae9cbd49d5ff4ff73cf"},
+ {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f8115e303280ba09f3898194791a153862cbf9eef722ad8f7f741987ee2a97c7"},
+ {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1a5d26fe8f32f137e784f768143728438877d69a586ddeaad898558dc971a5ae"},
+ {file = "pyzmq-25.1.1-cp37-cp37m-win32.whl", hash = "sha256:f32260e556a983bc5c7ed588d04c942c9a8f9c2e99213fec11a031e316874c7e"},
+ {file = "pyzmq-25.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:abf34e43c531bbb510ae7e8f5b2b1f2a8ab93219510e2b287a944432fad135f3"},
+ {file = "pyzmq-25.1.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:87e34f31ca8f168c56d6fbf99692cc8d3b445abb5bfd08c229ae992d7547a92a"},
+ {file = "pyzmq-25.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c9c6c9b2c2f80747a98f34ef491c4d7b1a8d4853937bb1492774992a120f475d"},
+ {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5619f3f5a4db5dbb572b095ea3cb5cc035335159d9da950830c9c4db2fbb6995"},
+ {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5a34d2395073ef862b4032343cf0c32a712f3ab49d7ec4f42c9661e0294d106f"},
+ {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25f0e6b78220aba09815cd1f3a32b9c7cb3e02cb846d1cfc526b6595f6046618"},
+ {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3669cf8ee3520c2f13b2e0351c41fea919852b220988d2049249db10046a7afb"},
+ {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2d163a18819277e49911f7461567bda923461c50b19d169a062536fffe7cd9d2"},
+ {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:df27ffddff4190667d40de7beba4a950b5ce78fe28a7dcc41d6f8a700a80a3c0"},
+ {file = "pyzmq-25.1.1-cp38-cp38-win32.whl", hash = "sha256:a382372898a07479bd34bda781008e4a954ed8750f17891e794521c3e21c2e1c"},
+ {file = "pyzmq-25.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:52533489f28d62eb1258a965f2aba28a82aa747202c8fa5a1c7a43b5db0e85c1"},
+ {file = "pyzmq-25.1.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:03b3f49b57264909aacd0741892f2aecf2f51fb053e7d8ac6767f6c700832f45"},
+ {file = "pyzmq-25.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:330f9e188d0d89080cde66dc7470f57d1926ff2fb5576227f14d5be7ab30b9fa"},
+ {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2ca57a5be0389f2a65e6d3bb2962a971688cbdd30b4c0bd188c99e39c234f414"},
+ {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d457aed310f2670f59cc5b57dcfced452aeeed77f9da2b9763616bd57e4dbaae"},
+ {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c56d748ea50215abef7030c72b60dd723ed5b5c7e65e7bc2504e77843631c1a6"},
+ {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8f03d3f0d01cb5a018debeb412441996a517b11c5c17ab2001aa0597c6d6882c"},
+ {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:820c4a08195a681252f46926de10e29b6bbf3e17b30037bd4250d72dd3ddaab8"},
+ {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:17ef5f01d25b67ca8f98120d5fa1d21efe9611604e8eb03a5147360f517dd1e2"},
+ {file = "pyzmq-25.1.1-cp39-cp39-win32.whl", hash = "sha256:04ccbed567171579ec2cebb9c8a3e30801723c575601f9a990ab25bcac6b51e2"},
+ {file = "pyzmq-25.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:e61f091c3ba0c3578411ef505992d356a812fb200643eab27f4f70eed34a29ef"},
+ {file = "pyzmq-25.1.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ade6d25bb29c4555d718ac6d1443a7386595528c33d6b133b258f65f963bb0f6"},
+ {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0c95ddd4f6e9fca4e9e3afaa4f9df8552f0ba5d1004e89ef0a68e1f1f9807c7"},
+ {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48e466162a24daf86f6b5ca72444d2bf39a5e58da5f96370078be67c67adc978"},
+ {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abc719161780932c4e11aaebb203be3d6acc6b38d2f26c0f523b5b59d2fc1996"},
+ {file = "pyzmq-25.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ccf825981640b8c34ae54231b7ed00271822ea1c6d8ba1090ebd4943759abf5"},
+ {file = "pyzmq-25.1.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c2f20ce161ebdb0091a10c9ca0372e023ce24980d0e1f810f519da6f79c60800"},
+ {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:deee9ca4727f53464daf089536e68b13e6104e84a37820a88b0a057b97bba2d2"},
+ {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:aa8d6cdc8b8aa19ceb319aaa2b660cdaccc533ec477eeb1309e2a291eaacc43a"},
+ {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:019e59ef5c5256a2c7378f2fb8560fc2a9ff1d315755204295b2eab96b254d0a"},
+ {file = "pyzmq-25.1.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:b9af3757495c1ee3b5c4e945c1df7be95562277c6e5bccc20a39aec50f826cd0"},
+ {file = "pyzmq-25.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:548d6482dc8aadbe7e79d1b5806585c8120bafa1ef841167bc9090522b610fa6"},
+ {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:057e824b2aae50accc0f9a0570998adc021b372478a921506fddd6c02e60308e"},
+ {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2243700cc5548cff20963f0ca92d3e5e436394375ab8a354bbea2b12911b20b0"},
+ {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79986f3b4af059777111409ee517da24a529bdbd46da578b33f25580adcff728"},
+ {file = "pyzmq-25.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:11d58723d44d6ed4dd677c5615b2ffb19d5c426636345567d6af82be4dff8a55"},
+ {file = "pyzmq-25.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:49d238cf4b69652257db66d0c623cd3e09b5d2e9576b56bc067a396133a00d4a"},
+ {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fedbdc753827cf014c01dbbee9c3be17e5a208dcd1bf8641ce2cd29580d1f0d4"},
+ {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bc16ac425cc927d0a57d242589f87ee093884ea4804c05a13834d07c20db203c"},
+ {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11c1d2aed9079c6b0c9550a7257a836b4a637feb334904610f06d70eb44c56d2"},
+ {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e8a701123029cc240cea61dd2d16ad57cab4691804143ce80ecd9286b464d180"},
+ {file = "pyzmq-25.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:61706a6b6c24bdece85ff177fec393545a3191eeda35b07aaa1458a027ad1304"},
+ {file = "pyzmq-25.1.1.tar.gz", hash = "sha256:259c22485b71abacdfa8bf79720cd7bcf4b9d128b30ea554f01ae71fdbfdaa23"},
]
[package.dependencies]
cffi = {version = "*", markers = "implementation_name == \"pypy\""}
+[[package]]
+name = "referencing"
+version = "0.30.2"
+description = "JSON Referencing + Python"
+category = "dev"
+optional = false
+python-versions = ">=3.8"
+files = [
+ {file = "referencing-0.30.2-py3-none-any.whl", hash = "sha256:449b6669b6121a9e96a7f9e410b245d471e8d48964c67113ce9afe50c8dd7bdf"},
+ {file = "referencing-0.30.2.tar.gz", hash = "sha256:794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0"},
+]
+
+[package.dependencies]
+attrs = ">=22.2.0"
+rpds-py = ">=0.7.0"
+
[[package]]
name = "requests"
version = "2.31.0"
@@ -2596,6 +2591,113 @@ typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9
[package.extras]
jupyter = ["ipywidgets (>=7.5.1,<8.0.0)"]
+[[package]]
+name = "rpds-py"
+version = "0.9.2"
+description = "Python bindings to Rust's persistent data structures (rpds)"
+category = "dev"
+optional = false
+python-versions = ">=3.8"
+files = [
+ {file = "rpds_py-0.9.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:ab6919a09c055c9b092798ce18c6c4adf49d24d4d9e43a92b257e3f2548231e7"},
+ {file = "rpds_py-0.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d55777a80f78dd09410bd84ff8c95ee05519f41113b2df90a69622f5540c4f8b"},
+ {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a216b26e5af0a8e265d4efd65d3bcec5fba6b26909014effe20cd302fd1138fa"},
+ {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29cd8bfb2d716366a035913ced99188a79b623a3512292963d84d3e06e63b496"},
+ {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44659b1f326214950a8204a248ca6199535e73a694be8d3e0e869f820767f12f"},
+ {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:745f5a43fdd7d6d25a53ab1a99979e7f8ea419dfefebcab0a5a1e9095490ee5e"},
+ {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a987578ac5214f18b99d1f2a3851cba5b09f4a689818a106c23dbad0dfeb760f"},
+ {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf4151acb541b6e895354f6ff9ac06995ad9e4175cbc6d30aaed08856558201f"},
+ {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:03421628f0dc10a4119d714a17f646e2837126a25ac7a256bdf7c3943400f67f"},
+ {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:13b602dc3e8dff3063734f02dcf05111e887f301fdda74151a93dbbc249930fe"},
+ {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fae5cb554b604b3f9e2c608241b5d8d303e410d7dfb6d397c335f983495ce7f6"},
+ {file = "rpds_py-0.9.2-cp310-none-win32.whl", hash = "sha256:47c5f58a8e0c2c920cc7783113df2fc4ff12bf3a411d985012f145e9242a2764"},
+ {file = "rpds_py-0.9.2-cp310-none-win_amd64.whl", hash = "sha256:4ea6b73c22d8182dff91155af018b11aac9ff7eca085750455c5990cb1cfae6e"},
+ {file = "rpds_py-0.9.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e564d2238512c5ef5e9d79338ab77f1cbbda6c2d541ad41b2af445fb200385e3"},
+ {file = "rpds_py-0.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f411330a6376fb50e5b7a3e66894e4a39e60ca2e17dce258d53768fea06a37bd"},
+ {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e7521f5af0233e89939ad626b15278c71b69dc1dfccaa7b97bd4cdf96536bb7"},
+ {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8d3335c03100a073883857e91db9f2e0ef8a1cf42dc0369cbb9151c149dbbc1b"},
+ {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d25b1c1096ef0447355f7293fbe9ad740f7c47ae032c2884113f8e87660d8f6e"},
+ {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a5d3fbd02efd9cf6a8ffc2f17b53a33542f6b154e88dd7b42ef4a4c0700fdad"},
+ {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5934e2833afeaf36bd1eadb57256239785f5af0220ed8d21c2896ec4d3a765f"},
+ {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:095b460e117685867d45548fbd8598a8d9999227e9061ee7f012d9d264e6048d"},
+ {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:91378d9f4151adc223d584489591dbb79f78814c0734a7c3bfa9c9e09978121c"},
+ {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:24a81c177379300220e907e9b864107614b144f6c2a15ed5c3450e19cf536fae"},
+ {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:de0b6eceb46141984671802d412568d22c6bacc9b230174f9e55fc72ef4f57de"},
+ {file = "rpds_py-0.9.2-cp311-none-win32.whl", hash = "sha256:700375326ed641f3d9d32060a91513ad668bcb7e2cffb18415c399acb25de2ab"},
+ {file = "rpds_py-0.9.2-cp311-none-win_amd64.whl", hash = "sha256:0766babfcf941db8607bdaf82569ec38107dbb03c7f0b72604a0b346b6eb3298"},
+ {file = "rpds_py-0.9.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:b1440c291db3f98a914e1afd9d6541e8fc60b4c3aab1a9008d03da4651e67386"},
+ {file = "rpds_py-0.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0f2996fbac8e0b77fd67102becb9229986396e051f33dbceada3debaacc7033f"},
+ {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f30d205755566a25f2ae0382944fcae2f350500ae4df4e795efa9e850821d82"},
+ {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:159fba751a1e6b1c69244e23ba6c28f879a8758a3e992ed056d86d74a194a0f3"},
+ {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1f044792e1adcea82468a72310c66a7f08728d72a244730d14880cd1dabe36b"},
+ {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9251eb8aa82e6cf88510530b29eef4fac825a2b709baf5b94a6094894f252387"},
+ {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01899794b654e616c8625b194ddd1e5b51ef5b60ed61baa7a2d9c2ad7b2a4238"},
+ {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0c43f8ae8f6be1d605b0465671124aa8d6a0e40f1fb81dcea28b7e3d87ca1e1"},
+ {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:207f57c402d1f8712618f737356e4b6f35253b6d20a324d9a47cb9f38ee43a6b"},
+ {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b52e7c5ae35b00566d244ffefba0f46bb6bec749a50412acf42b1c3f402e2c90"},
+ {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:978fa96dbb005d599ec4fd9ed301b1cc45f1a8f7982d4793faf20b404b56677d"},
+ {file = "rpds_py-0.9.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:6aa8326a4a608e1c28da191edd7c924dff445251b94653988efb059b16577a4d"},
+ {file = "rpds_py-0.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:aad51239bee6bff6823bbbdc8ad85136c6125542bbc609e035ab98ca1e32a192"},
+ {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bd4dc3602370679c2dfb818d9c97b1137d4dd412230cfecd3c66a1bf388a196"},
+ {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dd9da77c6ec1f258387957b754f0df60766ac23ed698b61941ba9acccd3284d1"},
+ {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:190ca6f55042ea4649ed19c9093a9be9d63cd8a97880106747d7147f88a49d18"},
+ {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:876bf9ed62323bc7dcfc261dbc5572c996ef26fe6406b0ff985cbcf460fc8a4c"},
+ {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa2818759aba55df50592ecbc95ebcdc99917fa7b55cc6796235b04193eb3c55"},
+ {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9ea4d00850ef1e917815e59b078ecb338f6a8efda23369677c54a5825dbebb55"},
+ {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5855c85eb8b8a968a74dc7fb014c9166a05e7e7a8377fb91d78512900aadd13d"},
+ {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:14c408e9d1a80dcb45c05a5149e5961aadb912fff42ca1dd9b68c0044904eb32"},
+ {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:65a0583c43d9f22cb2130c7b110e695fff834fd5e832a776a107197e59a1898e"},
+ {file = "rpds_py-0.9.2-cp38-none-win32.whl", hash = "sha256:71f2f7715935a61fa3e4ae91d91b67e571aeb5cb5d10331ab681256bda2ad920"},
+ {file = "rpds_py-0.9.2-cp38-none-win_amd64.whl", hash = "sha256:674c704605092e3ebbbd13687b09c9f78c362a4bc710343efe37a91457123044"},
+ {file = "rpds_py-0.9.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:07e2c54bef6838fa44c48dfbc8234e8e2466d851124b551fc4e07a1cfeb37260"},
+ {file = "rpds_py-0.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7fdf55283ad38c33e35e2855565361f4bf0abd02470b8ab28d499c663bc5d7c"},
+ {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:890ba852c16ace6ed9f90e8670f2c1c178d96510a21b06d2fa12d8783a905193"},
+ {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50025635ba8b629a86d9d5474e650da304cb46bbb4d18690532dd79341467846"},
+ {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:517cbf6e67ae3623c5127206489d69eb2bdb27239a3c3cc559350ef52a3bbf0b"},
+ {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0836d71ca19071090d524739420a61580f3f894618d10b666cf3d9a1688355b1"},
+ {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c439fd54b2b9053717cca3de9583be6584b384d88d045f97d409f0ca867d80f"},
+ {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f68996a3b3dc9335037f82754f9cdbe3a95db42bde571d8c3be26cc6245f2324"},
+ {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7d68dc8acded354c972116f59b5eb2e5864432948e098c19fe6994926d8e15c3"},
+ {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f963c6b1218b96db85fc37a9f0851eaf8b9040aa46dec112611697a7023da535"},
+ {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a46859d7f947061b4010e554ccd1791467d1b1759f2dc2ec9055fa239f1bc26"},
+ {file = "rpds_py-0.9.2-cp39-none-win32.whl", hash = "sha256:e07e5dbf8a83c66783a9fe2d4566968ea8c161199680e8ad38d53e075df5f0d0"},
+ {file = "rpds_py-0.9.2-cp39-none-win_amd64.whl", hash = "sha256:682726178138ea45a0766907957b60f3a1bf3acdf212436be9733f28b6c5af3c"},
+ {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:196cb208825a8b9c8fc360dc0f87993b8b260038615230242bf18ec84447c08d"},
+ {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c7671d45530fcb6d5e22fd40c97e1e1e01965fc298cbda523bb640f3d923b387"},
+ {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83b32f0940adec65099f3b1c215ef7f1d025d13ff947975a055989cb7fd019a4"},
+ {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f67da97f5b9eac838b6980fc6da268622e91f8960e083a34533ca710bec8611"},
+ {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03975db5f103997904c37e804e5f340c8fdabbb5883f26ee50a255d664eed58c"},
+ {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:987b06d1cdb28f88a42e4fb8a87f094e43f3c435ed8e486533aea0bf2e53d931"},
+ {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c861a7e4aef15ff91233751619ce3a3d2b9e5877e0fcd76f9ea4f6847183aa16"},
+ {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02938432352359805b6da099c9c95c8a0547fe4b274ce8f1a91677401bb9a45f"},
+ {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:ef1f08f2a924837e112cba2953e15aacfccbbfcd773b4b9b4723f8f2ddded08e"},
+ {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:35da5cc5cb37c04c4ee03128ad59b8c3941a1e5cd398d78c37f716f32a9b7f67"},
+ {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:141acb9d4ccc04e704e5992d35472f78c35af047fa0cfae2923835d153f091be"},
+ {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79f594919d2c1a0cc17d1988a6adaf9a2f000d2e1048f71f298b056b1018e872"},
+ {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:a06418fe1155e72e16dddc68bb3780ae44cebb2912fbd8bb6ff9161de56e1798"},
+ {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b2eb034c94b0b96d5eddb290b7b5198460e2d5d0c421751713953a9c4e47d10"},
+ {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b08605d248b974eb02f40bdcd1a35d3924c83a2a5e8f5d0fa5af852c4d960af"},
+ {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0805911caedfe2736935250be5008b261f10a729a303f676d3d5fea6900c96a"},
+ {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab2299e3f92aa5417d5e16bb45bb4586171c1327568f638e8453c9f8d9e0f020"},
+ {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c8d7594e38cf98d8a7df25b440f684b510cf4627fe038c297a87496d10a174f"},
+ {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b9ec12ad5f0a4625db34db7e0005be2632c1013b253a4a60e8302ad4d462afd"},
+ {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1fcdee18fea97238ed17ab6478c66b2095e4ae7177e35fb71fbe561a27adf620"},
+ {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:933a7d5cd4b84f959aedeb84f2030f0a01d63ae6cf256629af3081cf3e3426e8"},
+ {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:686ba516e02db6d6f8c279d1641f7067ebb5dc58b1d0536c4aaebb7bf01cdc5d"},
+ {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0173c0444bec0a3d7d848eaeca2d8bd32a1b43f3d3fde6617aac3731fa4be05f"},
+ {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:d576c3ef8c7b2d560e301eb33891d1944d965a4d7a2eacb6332eee8a71827db6"},
+ {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed89861ee8c8c47d6beb742a602f912b1bb64f598b1e2f3d758948721d44d468"},
+ {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1054a08e818f8e18910f1bee731583fe8f899b0a0a5044c6e680ceea34f93876"},
+ {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99e7c4bb27ff1aab90dcc3e9d37ee5af0231ed98d99cb6f5250de28889a3d502"},
+ {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c545d9d14d47be716495076b659db179206e3fd997769bc01e2d550eeb685596"},
+ {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9039a11bca3c41be5a58282ed81ae422fa680409022b996032a43badef2a3752"},
+ {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fb39aca7a64ad0c9490adfa719dbeeb87d13be137ca189d2564e596f8ba32c07"},
+ {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2d8b3b3a2ce0eaa00c5bbbb60b6713e94e7e0becab7b3db6c5c77f979e8ed1f1"},
+ {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:99b1c16f732b3a9971406fbfe18468592c5a3529585a45a35adbc1389a529a03"},
+ {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c27ee01a6c3223025f4badd533bea5e87c988cb0ba2811b690395dfe16088cfe"},
+ {file = "rpds_py-0.9.2.tar.gz", hash = "sha256:8d70e8f14900f2657c249ea4def963bed86a29b81f81f5b76b5a9215680de945"},
+]
+
[[package]]
name = "scipy"
version = "1.10.1"
@@ -2858,53 +2960,50 @@ test = ["pytest"]
[[package]]
name = "sqlalchemy"
-version = "1.4.48"
+version = "1.4.49"
description = "Database Abstraction Library"
category = "main"
optional = true
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
files = [
- {file = "SQLAlchemy-1.4.48-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:4bac3aa3c3d8bc7408097e6fe8bf983caa6e9491c5d2e2488cfcfd8106f13b6a"},
- {file = "SQLAlchemy-1.4.48-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:dbcae0e528d755f4522cad5842f0942e54b578d79f21a692c44d91352ea6d64e"},
- {file = "SQLAlchemy-1.4.48-cp27-cp27m-win32.whl", hash = "sha256:cbbe8b8bffb199b225d2fe3804421b7b43a0d49983f81dc654d0431d2f855543"},
- {file = "SQLAlchemy-1.4.48-cp27-cp27m-win_amd64.whl", hash = "sha256:627e04a5d54bd50628fc8734d5fc6df2a1aa5962f219c44aad50b00a6cdcf965"},
- {file = "SQLAlchemy-1.4.48-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:9af1db7a287ef86e0f5cd990b38da6bd9328de739d17e8864f1817710da2d217"},
- {file = "SQLAlchemy-1.4.48-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:ce7915eecc9c14a93b73f4e1c9d779ca43e955b43ddf1e21df154184f39748e5"},
- {file = "SQLAlchemy-1.4.48-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5381ddd09a99638f429f4cbe1b71b025bed318f6a7b23e11d65f3eed5e181c33"},
- {file = "SQLAlchemy-1.4.48-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:87609f6d4e81a941a17e61a4c19fee57f795e96f834c4f0a30cee725fc3f81d9"},
- {file = "SQLAlchemy-1.4.48-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb0808ad34167f394fea21bd4587fc62f3bd81bba232a1e7fbdfa17e6cfa7cd7"},
- {file = "SQLAlchemy-1.4.48-cp310-cp310-win32.whl", hash = "sha256:d53cd8bc582da5c1c8c86b6acc4ef42e20985c57d0ebc906445989df566c5603"},
- {file = "SQLAlchemy-1.4.48-cp310-cp310-win_amd64.whl", hash = "sha256:4355e5915844afdc5cf22ec29fba1010166e35dd94a21305f49020022167556b"},
- {file = "SQLAlchemy-1.4.48-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:066c2b0413e8cb980e6d46bf9d35ca83be81c20af688fedaef01450b06e4aa5e"},
- {file = "SQLAlchemy-1.4.48-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c99bf13e07140601d111a7c6f1fc1519914dd4e5228315bbda255e08412f61a4"},
- {file = "SQLAlchemy-1.4.48-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ee26276f12614d47cc07bc85490a70f559cba965fb178b1c45d46ffa8d73fda"},
- {file = "SQLAlchemy-1.4.48-cp311-cp311-win32.whl", hash = "sha256:49c312bcff4728bffc6fb5e5318b8020ed5c8b958a06800f91859fe9633ca20e"},
- {file = "SQLAlchemy-1.4.48-cp311-cp311-win_amd64.whl", hash = "sha256:cef2e2abc06eab187a533ec3e1067a71d7bbec69e582401afdf6d8cad4ba3515"},
- {file = "SQLAlchemy-1.4.48-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:3509159e050bd6d24189ec7af373359f07aed690db91909c131e5068176c5a5d"},
- {file = "SQLAlchemy-1.4.48-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fc2ab4d9f6d9218a5caa4121bdcf1125303482a1cdcfcdbd8567be8518969c0"},
- {file = "SQLAlchemy-1.4.48-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e1ddbbcef9bcedaa370c03771ebec7e39e3944782bef49e69430383c376a250b"},
- {file = "SQLAlchemy-1.4.48-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f82d8efea1ca92b24f51d3aea1a82897ed2409868a0af04247c8c1e4fef5890"},
- {file = "SQLAlchemy-1.4.48-cp36-cp36m-win32.whl", hash = "sha256:e3e98d4907805b07743b583a99ecc58bf8807ecb6985576d82d5e8ae103b5272"},
- {file = "SQLAlchemy-1.4.48-cp36-cp36m-win_amd64.whl", hash = "sha256:25887b4f716e085a1c5162f130b852f84e18d2633942c8ca40dfb8519367c14f"},
- {file = "SQLAlchemy-1.4.48-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:0817c181271b0ce5df1aa20949f0a9e2426830fed5ecdcc8db449618f12c2730"},
- {file = "SQLAlchemy-1.4.48-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe1dd2562313dd9fe1778ed56739ad5d9aae10f9f43d9f4cf81d65b0c85168bb"},
- {file = "SQLAlchemy-1.4.48-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:68413aead943883b341b2b77acd7a7fe2377c34d82e64d1840860247cec7ff7c"},
- {file = "SQLAlchemy-1.4.48-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fbde5642104ac6e95f96e8ad6d18d9382aa20672008cf26068fe36f3004491df"},
- {file = "SQLAlchemy-1.4.48-cp37-cp37m-win32.whl", hash = "sha256:11c6b1de720f816c22d6ad3bbfa2f026f89c7b78a5c4ffafb220e0183956a92a"},
- {file = "SQLAlchemy-1.4.48-cp37-cp37m-win_amd64.whl", hash = "sha256:eb5464ee8d4bb6549d368b578e9529d3c43265007193597ddca71c1bae6174e6"},
- {file = "SQLAlchemy-1.4.48-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:92e6133cf337c42bfee03ca08c62ba0f2d9695618c8abc14a564f47503157be9"},
- {file = "SQLAlchemy-1.4.48-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44d29a3fc6d9c45962476b470a81983dd8add6ad26fdbfae6d463b509d5adcda"},
- {file = "SQLAlchemy-1.4.48-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:005e942b451cad5285015481ae4e557ff4154dde327840ba91b9ac379be3b6ce"},
- {file = "SQLAlchemy-1.4.48-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c8cfe951ed074ba5e708ed29c45397a95c4143255b0d022c7c8331a75ae61f3"},
- {file = "SQLAlchemy-1.4.48-cp38-cp38-win32.whl", hash = "sha256:2b9af65cc58726129d8414fc1a1a650dcdd594ba12e9c97909f1f57d48e393d3"},
- {file = "SQLAlchemy-1.4.48-cp38-cp38-win_amd64.whl", hash = "sha256:2b562e9d1e59be7833edf28b0968f156683d57cabd2137d8121806f38a9d58f4"},
- {file = "SQLAlchemy-1.4.48-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:a1fc046756cf2a37d7277c93278566ddf8be135c6a58397b4c940abf837011f4"},
- {file = "SQLAlchemy-1.4.48-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d9b55252d2ca42a09bcd10a697fa041e696def9dfab0b78c0aaea1485551a08"},
- {file = "SQLAlchemy-1.4.48-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6dab89874e72a9ab5462997846d4c760cdb957958be27b03b49cf0de5e5c327c"},
- {file = "SQLAlchemy-1.4.48-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1fd8b5ee5a3acc4371f820934b36f8109ce604ee73cc668c724abb054cebcb6e"},
- {file = "SQLAlchemy-1.4.48-cp39-cp39-win32.whl", hash = "sha256:eee09350fd538e29cfe3a496ec6f148504d2da40dbf52adefb0d2f8e4d38ccc4"},
- {file = "SQLAlchemy-1.4.48-cp39-cp39-win_amd64.whl", hash = "sha256:7ad2b0f6520ed5038e795cc2852eb5c1f20fa6831d73301ced4aafbe3a10e1f6"},
- {file = "SQLAlchemy-1.4.48.tar.gz", hash = "sha256:b47bc287096d989a0838ce96f7d8e966914a24da877ed41a7531d44b55cdb8df"},
+ {file = "SQLAlchemy-1.4.49-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2e126cf98b7fd38f1e33c64484406b78e937b1a280e078ef558b95bf5b6895f6"},
+ {file = "SQLAlchemy-1.4.49-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:03db81b89fe7ef3857b4a00b63dedd632d6183d4ea5a31c5d8a92e000a41fc71"},
+ {file = "SQLAlchemy-1.4.49-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:95b9df9afd680b7a3b13b38adf6e3a38995da5e162cc7524ef08e3be4e5ed3e1"},
+ {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a63e43bf3f668c11bb0444ce6e809c1227b8f067ca1068898f3008a273f52b09"},
+ {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f835c050ebaa4e48b18403bed2c0fda986525896efd76c245bdd4db995e51a4c"},
+ {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c21b172dfb22e0db303ff6419451f0cac891d2e911bb9fbf8003d717f1bcf91"},
+ {file = "SQLAlchemy-1.4.49-cp310-cp310-win32.whl", hash = "sha256:5fb1ebdfc8373b5a291485757bd6431de8d7ed42c27439f543c81f6c8febd729"},
+ {file = "SQLAlchemy-1.4.49-cp310-cp310-win_amd64.whl", hash = "sha256:f8a65990c9c490f4651b5c02abccc9f113a7f56fa482031ac8cb88b70bc8ccaa"},
+ {file = "SQLAlchemy-1.4.49-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8923dfdf24d5aa8a3adb59723f54118dd4fe62cf59ed0d0d65d940579c1170a4"},
+ {file = "SQLAlchemy-1.4.49-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9ab2c507a7a439f13ca4499db6d3f50423d1d65dc9b5ed897e70941d9e135b0"},
+ {file = "SQLAlchemy-1.4.49-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5debe7d49b8acf1f3035317e63d9ec8d5e4d904c6e75a2a9246a119f5f2fdf3d"},
+ {file = "SQLAlchemy-1.4.49-cp311-cp311-win32.whl", hash = "sha256:82b08e82da3756765c2e75f327b9bf6b0f043c9c3925fb95fb51e1567fa4ee87"},
+ {file = "SQLAlchemy-1.4.49-cp311-cp311-win_amd64.whl", hash = "sha256:171e04eeb5d1c0d96a544caf982621a1711d078dbc5c96f11d6469169bd003f1"},
+ {file = "SQLAlchemy-1.4.49-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:36e58f8c4fe43984384e3fbe6341ac99b6b4e083de2fe838f0fdb91cebe9e9cb"},
+ {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b31e67ff419013f99ad6f8fc73ee19ea31585e1e9fe773744c0f3ce58c039c30"},
+ {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c14b29d9e1529f99efd550cd04dbb6db6ba5d690abb96d52de2bff4ed518bc95"},
+ {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c40f3470e084d31247aea228aa1c39bbc0904c2b9ccbf5d3cfa2ea2dac06f26d"},
+ {file = "SQLAlchemy-1.4.49-cp36-cp36m-win32.whl", hash = "sha256:706bfa02157b97c136547c406f263e4c6274a7b061b3eb9742915dd774bbc264"},
+ {file = "SQLAlchemy-1.4.49-cp36-cp36m-win_amd64.whl", hash = "sha256:a7f7b5c07ae5c0cfd24c2db86071fb2a3d947da7bd487e359cc91e67ac1c6d2e"},
+ {file = "SQLAlchemy-1.4.49-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:4afbbf5ef41ac18e02c8dc1f86c04b22b7a2125f2a030e25bbb4aff31abb224b"},
+ {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24e300c0c2147484a002b175f4e1361f102e82c345bf263242f0449672a4bccf"},
+ {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:201de072b818f8ad55c80d18d1a788729cccf9be6d9dc3b9d8613b053cd4836d"},
+ {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7653ed6817c710d0c95558232aba799307d14ae084cc9b1f4c389157ec50df5c"},
+ {file = "SQLAlchemy-1.4.49-cp37-cp37m-win32.whl", hash = "sha256:647e0b309cb4512b1f1b78471fdaf72921b6fa6e750b9f891e09c6e2f0e5326f"},
+ {file = "SQLAlchemy-1.4.49-cp37-cp37m-win_amd64.whl", hash = "sha256:ab73ed1a05ff539afc4a7f8cf371764cdf79768ecb7d2ec691e3ff89abbc541e"},
+ {file = "SQLAlchemy-1.4.49-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:37ce517c011560d68f1ffb28af65d7e06f873f191eb3a73af5671e9c3fada08a"},
+ {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1878ce508edea4a879015ab5215546c444233881301e97ca16fe251e89f1c55"},
+ {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0e8e608983e6f85d0852ca61f97e521b62e67969e6e640fe6c6b575d4db68557"},
+ {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ccf956da45290df6e809ea12c54c02ace7f8ff4d765d6d3dfb3655ee876ce58d"},
+ {file = "SQLAlchemy-1.4.49-cp38-cp38-win32.whl", hash = "sha256:f167c8175ab908ce48bd6550679cc6ea20ae169379e73c7720a28f89e53aa532"},
+ {file = "SQLAlchemy-1.4.49-cp38-cp38-win_amd64.whl", hash = "sha256:45806315aae81a0c202752558f0df52b42d11dd7ba0097bf71e253b4215f34f4"},
+ {file = "SQLAlchemy-1.4.49-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:b6d0c4b15d65087738a6e22e0ff461b407533ff65a73b818089efc8eb2b3e1de"},
+ {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a843e34abfd4c797018fd8d00ffffa99fd5184c421f190b6ca99def4087689bd"},
+ {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1c890421651b45a681181301b3497e4d57c0d01dc001e10438a40e9a9c25ee77"},
+ {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d26f280b8f0a8f497bc10573849ad6dc62e671d2468826e5c748d04ed9e670d5"},
+ {file = "SQLAlchemy-1.4.49-cp39-cp39-win32.whl", hash = "sha256:ec2268de67f73b43320383947e74700e95c6770d0c68c4e615e9897e46296294"},
+ {file = "SQLAlchemy-1.4.49-cp39-cp39-win_amd64.whl", hash = "sha256:bbdf16372859b8ed3f4d05f925a984771cd2abd18bd187042f24be4886c2a15f"},
+ {file = "SQLAlchemy-1.4.49.tar.gz", hash = "sha256:06ff25cbae30c396c4b7737464f2a7fc37a67b7da409993b182b024cec80aed9"},
]
[package.dependencies]
@@ -2984,35 +3083,35 @@ files = [
[[package]]
name = "tomlkit"
-version = "0.11.8"
+version = "0.12.1"
description = "Style preserving TOML library"
category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "tomlkit-0.11.8-py3-none-any.whl", hash = "sha256:8c726c4c202bdb148667835f68d68780b9a003a9ec34167b6c673b38eff2a171"},
- {file = "tomlkit-0.11.8.tar.gz", hash = "sha256:9330fc7faa1db67b541b28e62018c17d20be733177d290a13b24c62d1614e0c3"},
+ {file = "tomlkit-0.12.1-py3-none-any.whl", hash = "sha256:712cbd236609acc6a3e2e97253dfc52d4c2082982a88f61b640ecf0817eab899"},
+ {file = "tomlkit-0.12.1.tar.gz", hash = "sha256:38e1ff8edb991273ec9f6181244a6a391ac30e9f5098e7535640ea6be97a7c86"},
]
[[package]]
name = "tornado"
-version = "6.3.2"
+version = "6.3.3"
description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
category = "dev"
optional = false
python-versions = ">= 3.8"
files = [
- {file = "tornado-6.3.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:c367ab6c0393d71171123ca5515c61ff62fe09024fa6bf299cd1339dc9456829"},
- {file = "tornado-6.3.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:b46a6ab20f5c7c1cb949c72c1994a4585d2eaa0be4853f50a03b5031e964fc7c"},
- {file = "tornado-6.3.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2de14066c4a38b4ecbbcd55c5cc4b5340eb04f1c5e81da7451ef555859c833f"},
- {file = "tornado-6.3.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:05615096845cf50a895026f749195bf0b10b8909f9be672f50b0fe69cba368e4"},
- {file = "tornado-6.3.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b17b1cf5f8354efa3d37c6e28fdfd9c1c1e5122f2cb56dac121ac61baa47cbe"},
- {file = "tornado-6.3.2-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:29e71c847a35f6e10ca3b5c2990a52ce38b233019d8e858b755ea6ce4dcdd19d"},
- {file = "tornado-6.3.2-cp38-abi3-musllinux_1_1_i686.whl", hash = "sha256:834ae7540ad3a83199a8da8f9f2d383e3c3d5130a328889e4cc991acc81e87a0"},
- {file = "tornado-6.3.2-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6a0848f1aea0d196a7c4f6772197cbe2abc4266f836b0aac76947872cd29b411"},
- {file = "tornado-6.3.2-cp38-abi3-win32.whl", hash = "sha256:7efcbcc30b7c654eb6a8c9c9da787a851c18f8ccd4a5a3a95b05c7accfa068d2"},
- {file = "tornado-6.3.2-cp38-abi3-win_amd64.whl", hash = "sha256:0c325e66c8123c606eea33084976c832aa4e766b7dff8aedd7587ea44a604cdf"},
- {file = "tornado-6.3.2.tar.gz", hash = "sha256:4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba"},
+ {file = "tornado-6.3.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:502fba735c84450974fec147340016ad928d29f1e91f49be168c0a4c18181e1d"},
+ {file = "tornado-6.3.3-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:805d507b1f588320c26f7f097108eb4023bbaa984d63176d1652e184ba24270a"},
+ {file = "tornado-6.3.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bd19ca6c16882e4d37368e0152f99c099bad93e0950ce55e71daed74045908f"},
+ {file = "tornado-6.3.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ac51f42808cca9b3613f51ffe2a965c8525cb1b00b7b2d56828b8045354f76a"},
+ {file = "tornado-6.3.3-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71a8db65160a3c55d61839b7302a9a400074c9c753040455494e2af74e2501f2"},
+ {file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:ceb917a50cd35882b57600709dd5421a418c29ddc852da8bcdab1f0db33406b0"},
+ {file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_i686.whl", hash = "sha256:7d01abc57ea0dbb51ddfed477dfe22719d376119844e33c661d873bf9c0e4a16"},
+ {file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:9dc4444c0defcd3929d5c1eb5706cbe1b116e762ff3e0deca8b715d14bf6ec17"},
+ {file = "tornado-6.3.3-cp38-abi3-win32.whl", hash = "sha256:65ceca9500383fbdf33a98c0087cb975b2ef3bfb874cb35b8de8740cf7f41bd3"},
+ {file = "tornado-6.3.3-cp38-abi3-win_amd64.whl", hash = "sha256:22d3c2fa10b5793da13c807e6fc38ff49a4f6e1e3868b0a6f4164768bb8e20f5"},
+ {file = "tornado-6.3.3.tar.gz", hash = "sha256:e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe"},
]
[[package]]
@@ -3033,26 +3132,26 @@ test = ["argcomplete (>=2.0)", "pre-commit", "pytest", "pytest-mock"]
[[package]]
name = "typing-extensions"
-version = "4.6.3"
+version = "4.7.1"
description = "Backported and Experimental Type Hints for Python 3.7+"
category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "typing_extensions-4.6.3-py3-none-any.whl", hash = "sha256:88a4153d8505aabbb4e13aacb7c486c2b4a33ca3b3f807914a9b4c844c471c26"},
- {file = "typing_extensions-4.6.3.tar.gz", hash = "sha256:d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5"},
+ {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"},
+ {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"},
]
[[package]]
name = "urllib3"
-version = "2.0.3"
+version = "2.0.4"
description = "HTTP library with thread-safe connection pooling, file post, and more."
category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "urllib3-2.0.3-py3-none-any.whl", hash = "sha256:48e7fafa40319d358848e1bc6809b208340fafe2096f1725d05d67443d0483d1"},
- {file = "urllib3-2.0.3.tar.gz", hash = "sha256:bee28b5e56addb8226c96f7f13ac28cb4c301dd5ea8a6ca179c0b9835e032825"},
+ {file = "urllib3-2.0.4-py3-none-any.whl", hash = "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"},
+ {file = "urllib3-2.0.4.tar.gz", hash = "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11"},
]
[package.extras]
@@ -3063,24 +3162,24 @@ zstd = ["zstandard (>=0.18.0)"]
[[package]]
name = "virtualenv"
-version = "20.23.0"
+version = "20.24.3"
description = "Virtual Python Environment builder"
category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "virtualenv-20.23.0-py3-none-any.whl", hash = "sha256:6abec7670e5802a528357fdc75b26b9f57d5d92f29c5462ba0fbe45feacc685e"},
- {file = "virtualenv-20.23.0.tar.gz", hash = "sha256:a85caa554ced0c0afbd0d638e7e2d7b5f92d23478d05d17a76daeac8f279f924"},
+ {file = "virtualenv-20.24.3-py3-none-any.whl", hash = "sha256:95a6e9398b4967fbcb5fef2acec5efaf9aa4972049d9ae41f95e0972a683fd02"},
+ {file = "virtualenv-20.24.3.tar.gz", hash = "sha256:e5c3b4ce817b0b328af041506a2a299418c98747c4b1e68cb7527e74ced23efc"},
]
[package.dependencies]
-distlib = ">=0.3.6,<1"
-filelock = ">=3.11,<4"
-platformdirs = ">=3.2,<4"
+distlib = ">=0.3.7,<1"
+filelock = ">=3.12.2,<4"
+platformdirs = ">=3.9.1,<4"
[package.extras]
-docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=22.12)"]
-test = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.3.1)", "pytest-env (>=0.8.1)", "pytest-freezegun (>=0.4.2)", "pytest-mock (>=3.10)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=67.7.1)", "time-machine (>=2.9)"]
+docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"]
+test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"]
[[package]]
name = "wcwidth"
@@ -3204,19 +3303,19 @@ files = [
[[package]]
name = "zipp"
-version = "3.15.0"
+version = "3.16.2"
description = "Backport of pathlib-compatible object wrapper for zip files"
category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"},
- {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"},
+ {file = "zipp-3.16.2-py3-none-any.whl", hash = "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0"},
+ {file = "zipp-3.16.2.tar.gz", hash = "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
+testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
[extras]
box = ["click", "rich"]
@@ -3225,4 +3324,4 @@ mark = ["banana-hep", "matplotlib", "pandas", "sqlalchemy"]
[metadata]
lock-version = "2.0"
python-versions = "^3.8,<3.12"
-content-hash = "1b953c2ab9f1d4629f923a290a9db0b092ce2ff711b2e6009372cf1d602d5da3"
+content-hash = "223b56c91574c33cd1f4b6b74a6bde4002d72ab471ef8f90dc6d453b4936756e"
diff --git a/pyproject.toml b/pyproject.toml
index 31be6cb0c..ac9192de3 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -44,7 +44,7 @@ PyYAML = "^6.0"
lz4 = "^4.0.2"
numba = "^0.57.0"
# ekomark
-banana-hep = { version = "^0.6.9", optional = true }
+banana-hep = { version = "^0.6.10", optional = true }
sqlalchemy = { version = "^1.4.21", optional = true }
pandas = { version = "^1.3.0", optional = true }
matplotlib = { version = "^3.5.1", optional = true }
From a49fca63858f9e7101e8dc1a40a63e54606e9e20 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Fri, 12 Jan 2024 16:40:44 +0200
Subject: [PATCH 039/216] Fix evol_pdf
---
src/ekobox/evol_pdf.py | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/ekobox/evol_pdf.py b/src/ekobox/evol_pdf.py
index 94c8e416c..4310a0eda 100644
--- a/src/ekobox/evol_pdf.py
+++ b/src/ekobox/evol_pdf.py
@@ -60,12 +60,16 @@ def evolve_pdfs(
# apply PDF to eko
evolved_PDF_list = []
+ q2block_per_nf = {}
with EKO.read(eko_path) as eko_output:
for initial_PDF in initial_PDF_list:
evolved_PDF_list.append(
apply.apply_pdf(eko_output, initial_PDF, targetgrid)
)
+ # separate by nf the evolgrid (and order per nf/q)
+ q2block_per_nf = regroup_evolgrid(eko_output.evolgrid) # pylint: disable=E1101
+
# update info file
if targetgrid is None:
targetgrid = operators_card.xgrid
@@ -80,9 +84,6 @@ def evolve_pdfs(
info_update=info_update,
)
- # separate by nf the evolgrid (and order per nf/q)
- q2block_per_nf = regroup_evolgrid(eko_output.evolgrid)
-
# write all replicas
all_member_blocks = []
for evolved_PDF in evolved_PDF_list:
From f4029b1a5d112d63130992bf8bde2b3e5d7abe92 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 22 Jan 2024 22:00:44 +0000
Subject: [PATCH 040/216] Bump pillow from 10.0.1 to 10.2.0
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.0.1 to 10.2.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.0.1...10.2.0)
---
updated-dependencies:
- dependency-name: pillow
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
---
poetry.lock | 197 +++++++++++++++++++++++++++++++++-------------------
1 file changed, 127 insertions(+), 70 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index b317d6d7d..d27bb518a 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -430,6 +430,7 @@ files = [
{file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18a64814ae7bce73925131381603fff0116e2df25230dfc80d6d690aa6e20b37"},
{file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90c81f22b4f572f8a2110b0b741bb64e5a6427e0a198b2cdc1fbaf85f352a3aa"},
{file = "contourpy-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:53cc3a40635abedbec7f1bde60f8c189c49e84ac180c665f2cd7c162cc454baa"},
+ {file = "contourpy-1.1.0-cp310-cp310-win32.whl", hash = "sha256:9b2dd2ca3ac561aceef4c7c13ba654aaa404cf885b187427760d7f7d4c57cff8"},
{file = "contourpy-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:1f795597073b09d631782e7245016a4323cf1cf0b4e06eef7ea6627e06a37ff2"},
{file = "contourpy-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0b7b04ed0961647691cfe5d82115dd072af7ce8846d31a5fac6c142dcce8b882"},
{file = "contourpy-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27bc79200c742f9746d7dd51a734ee326a292d77e7d94c8af6e08d1e6c15d545"},
@@ -438,6 +439,7 @@ files = [
{file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5cec36c5090e75a9ac9dbd0ff4a8cf7cecd60f1b6dc23a374c7d980a1cd710e"},
{file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f0cbd657e9bde94cd0e33aa7df94fb73c1ab7799378d3b3f902eb8eb2e04a3a"},
{file = "contourpy-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:181cbace49874f4358e2929aaf7ba84006acb76694102e88dd15af861996c16e"},
+ {file = "contourpy-1.1.0-cp311-cp311-win32.whl", hash = "sha256:edb989d31065b1acef3828a3688f88b2abb799a7db891c9e282df5ec7e46221b"},
{file = "contourpy-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fb3b7d9e6243bfa1efb93ccfe64ec610d85cfe5aec2c25f97fbbd2e58b531256"},
{file = "contourpy-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bcb41692aa09aeb19c7c213411854402f29f6613845ad2453d30bf421fe68fed"},
{file = "contourpy-1.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5d123a5bc63cd34c27ff9c7ac1cd978909e9c71da12e05be0231c608048bb2ae"},
@@ -446,6 +448,7 @@ files = [
{file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:317267d915490d1e84577924bd61ba71bf8681a30e0d6c545f577363157e5e94"},
{file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d551f3a442655f3dcc1285723f9acd646ca5858834efeab4598d706206b09c9f"},
{file = "contourpy-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e7a117ce7df5a938fe035cad481b0189049e8d92433b4b33aa7fc609344aafa1"},
+ {file = "contourpy-1.1.0-cp38-cp38-win32.whl", hash = "sha256:108dfb5b3e731046a96c60bdc46a1a0ebee0760418951abecbe0fc07b5b93b27"},
{file = "contourpy-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:d4f26b25b4f86087e7d75e63212756c38546e70f2a92d2be44f80114826e1cd4"},
{file = "contourpy-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc00bb4225d57bff7ebb634646c0ee2a1298402ec10a5fe7af79df9a51c1bfd9"},
{file = "contourpy-1.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:189ceb1525eb0655ab8487a9a9c41f42a73ba52d6789754788d1883fb06b2d8a"},
@@ -454,6 +457,7 @@ files = [
{file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:143dde50520a9f90e4a2703f367cf8ec96a73042b72e68fcd184e1279962eb6f"},
{file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e94bef2580e25b5fdb183bf98a2faa2adc5b638736b2c0a4da98691da641316a"},
{file = "contourpy-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ed614aea8462735e7d70141374bd7650afd1c3f3cb0c2dbbcbe44e14331bf002"},
+ {file = "contourpy-1.1.0-cp39-cp39-win32.whl", hash = "sha256:71551f9520f008b2950bef5f16b0e3587506ef4f23c734b71ffb7b89f8721999"},
{file = "contourpy-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:438ba416d02f82b692e371858143970ed2eb6337d9cdbbede0d8ad9f3d7dd17d"},
{file = "contourpy-1.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a698c6a7a432789e587168573a864a7ea374c6be8d4f31f9d87c001d5a843493"},
{file = "contourpy-1.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:397b0ac8a12880412da3551a8cb5a187d3298a72802b45a3bd1805e204ad8439"},
@@ -804,6 +808,7 @@ files = [
{file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"},
{file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"},
{file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"},
+ {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d967650d3f56af314b72df7089d96cda1083a7fc2da05b375d2bc48c82ab3f3c"},
{file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"},
{file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"},
{file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"},
@@ -812,6 +817,7 @@ files = [
{file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"},
{file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"},
{file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"},
+ {file = "greenlet-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d4606a527e30548153be1a9f155f4e283d109ffba663a15856089fb55f933e47"},
{file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"},
{file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"},
{file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"},
@@ -841,6 +847,7 @@ files = [
{file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"},
{file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"},
{file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"},
+ {file = "greenlet-2.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1087300cf9700bbf455b1b97e24db18f2f77b55302a68272c56209d5587c12d1"},
{file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"},
{file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"},
{file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"},
@@ -849,6 +856,7 @@ files = [
{file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"},
{file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"},
{file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"},
+ {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8512a0c38cfd4e66a858ddd1b17705587900dd760c6003998e9472b77b56d417"},
{file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"},
{file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"},
{file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"},
@@ -1397,6 +1405,16 @@ files = [
{file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"},
{file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"},
{file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"},
+ {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"},
{file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"},
{file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"},
{file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"},
@@ -1518,13 +1536,13 @@ files = [
[[package]]
name = "mistune"
-version = "3.0.1"
-description = "A sane and fast Markdown parser with useful plugins and renderers"
+version = "2.0.5"
+description = "A sane Markdown parser with useful plugins and renderers"
optional = false
-python-versions = ">=3.7"
+python-versions = "*"
files = [
- {file = "mistune-3.0.1-py3-none-any.whl", hash = "sha256:b9b3e438efbb57c62b5beb5e134dab664800bdf1284a7ee09e8b12b13eb1aac6"},
- {file = "mistune-3.0.1.tar.gz", hash = "sha256:e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c"},
+ {file = "mistune-2.0.5-py2.py3-none-any.whl", hash = "sha256:bad7f5d431886fcbaf5f758118ecff70d31f75231b34024a1341120340a65ce8"},
+ {file = "mistune-2.0.5.tar.gz", hash = "sha256:0246113cb2492db875c6be56974a7c893333bf26cd92891c85f63151cee09d34"},
]
[[package]]
@@ -1554,7 +1572,7 @@ name = "nbconvert"
version = "7.5.0"
description = "Converting Jupyter Notebooks"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.7"
files = [
{file = "nbconvert-7.5.0-py3-none-any.whl", hash = "sha256:852e44392d5650ef217a5ce3a8050747051d4e6ba75f0574cb5435049ee6c0d9"},
{file = "nbconvert-7.5.0.tar.gz", hash = "sha256:f78fd22fd2410b960d5d9bcecf3e1d6c7bdc5fec2c865964c84aa4e74e6e88da"},
@@ -1569,7 +1587,7 @@ jinja2 = ">=3.0"
jupyter-core = ">=4.7"
jupyterlab-pygments = "*"
markupsafe = ">=2.0"
-mistune = ">=2.0.3,<4"
+mistune = ">=2.0.3,<3"
nbclient = ">=0.5.0"
nbformat = ">=5.7"
packaging = "*"
@@ -1584,8 +1602,8 @@ docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sp
qtpdf = ["nbconvert[qtpng]"]
qtpng = ["pyqtwebengine (>=5.15)"]
serve = ["tornado (>=6.1)"]
-test = ["flaky", "ipykernel", "ipywidgets (>=7)", "pre-commit", "pytest", "pytest-dependency"]
-webpdf = ["playwright"]
+test = ["ipykernel", "ipywidgets (>=7)", "pre-commit", "pytest", "pytest-dependency"]
+webpdf = ["pyppeteer (>=1,<1.1)"]
[[package]]
name = "nbformat"
@@ -1879,70 +1897,88 @@ files = [
[[package]]
name = "pillow"
-version = "10.0.1"
+version = "10.2.0"
description = "Python Imaging Library (Fork)"
-optional = true
+optional = false
python-versions = ">=3.8"
files = [
- {file = "Pillow-10.0.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:8f06be50669087250f319b706decf69ca71fdecd829091a37cc89398ca4dc17a"},
- {file = "Pillow-10.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50bd5f1ebafe9362ad622072a1d2f5850ecfa44303531ff14353a4059113b12d"},
- {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6a90167bcca1216606223a05e2cf991bb25b14695c518bc65639463d7db722d"},
- {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f11c9102c56ffb9ca87134bd025a43d2aba3f1155f508eff88f694b33a9c6d19"},
- {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:186f7e04248103482ea6354af6d5bcedb62941ee08f7f788a1c7707bc720c66f"},
- {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0462b1496505a3462d0f35dc1c4d7b54069747d65d00ef48e736acda2c8cbdff"},
- {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d889b53ae2f030f756e61a7bff13684dcd77e9af8b10c6048fb2c559d6ed6eaf"},
- {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:552912dbca585b74d75279a7570dd29fa43b6d93594abb494ebb31ac19ace6bd"},
- {file = "Pillow-10.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:787bb0169d2385a798888e1122c980c6eff26bf941a8ea79747d35d8f9210ca0"},
- {file = "Pillow-10.0.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:fd2a5403a75b54661182b75ec6132437a181209b901446ee5724b589af8edef1"},
- {file = "Pillow-10.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2d7e91b4379f7a76b31c2dda84ab9e20c6220488e50f7822e59dac36b0cd92b1"},
- {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19e9adb3f22d4c416e7cd79b01375b17159d6990003633ff1d8377e21b7f1b21"},
- {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93139acd8109edcdeffd85e3af8ae7d88b258b3a1e13a038f542b79b6d255c54"},
- {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:92a23b0431941a33242b1f0ce6c88a952e09feeea9af4e8be48236a68ffe2205"},
- {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cbe68deb8580462ca0d9eb56a81912f59eb4542e1ef8f987405e35a0179f4ea2"},
- {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:522ff4ac3aaf839242c6f4e5b406634bfea002469656ae8358644fc6c4856a3b"},
- {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:84efb46e8d881bb06b35d1d541aa87f574b58e87f781cbba8d200daa835b42e1"},
- {file = "Pillow-10.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:898f1d306298ff40dc1b9ca24824f0488f6f039bc0e25cfb549d3195ffa17088"},
- {file = "Pillow-10.0.1-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:bcf1207e2f2385a576832af02702de104be71301c2696d0012b1b93fe34aaa5b"},
- {file = "Pillow-10.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5d6c9049c6274c1bb565021367431ad04481ebb54872edecfcd6088d27edd6ed"},
- {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28444cb6ad49726127d6b340217f0627abc8732f1194fd5352dec5e6a0105635"},
- {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de596695a75496deb3b499c8c4f8e60376e0516e1a774e7bc046f0f48cd620ad"},
- {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:2872f2d7846cf39b3dbff64bc1104cc48c76145854256451d33c5faa55c04d1a"},
- {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4ce90f8a24e1c15465048959f1e94309dfef93af272633e8f37361b824532e91"},
- {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ee7810cf7c83fa227ba9125de6084e5e8b08c59038a7b2c9045ef4dde61663b4"},
- {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b1be1c872b9b5fcc229adeadbeb51422a9633abd847c0ff87dc4ef9bb184ae08"},
- {file = "Pillow-10.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:98533fd7fa764e5f85eebe56c8e4094db912ccbe6fbf3a58778d543cadd0db08"},
- {file = "Pillow-10.0.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:764d2c0daf9c4d40ad12fbc0abd5da3af7f8aa11daf87e4fa1b834000f4b6b0a"},
- {file = "Pillow-10.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fcb59711009b0168d6ee0bd8fb5eb259c4ab1717b2f538bbf36bacf207ef7a68"},
- {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:697a06bdcedd473b35e50a7e7506b1d8ceb832dc238a336bd6f4f5aa91a4b500"},
- {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f665d1e6474af9f9da5e86c2a3a2d2d6204e04d5af9c06b9d42afa6ebde3f21"},
- {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:2fa6dd2661838c66f1a5473f3b49ab610c98a128fc08afbe81b91a1f0bf8c51d"},
- {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:3a04359f308ebee571a3127fdb1bd01f88ba6f6fb6d087f8dd2e0d9bff43f2a7"},
- {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:723bd25051454cea9990203405fa6b74e043ea76d4968166dfd2569b0210886a"},
- {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:71671503e3015da1b50bd18951e2f9daf5b6ffe36d16f1eb2c45711a301521a7"},
- {file = "Pillow-10.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:44e7e4587392953e5e251190a964675f61e4dae88d1e6edbe9f36d6243547ff3"},
- {file = "Pillow-10.0.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:3855447d98cced8670aaa63683808df905e956f00348732448b5a6df67ee5849"},
- {file = "Pillow-10.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ed2d9c0704f2dc4fa980b99d565c0c9a543fe5101c25b3d60488b8ba80f0cce1"},
- {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5bb289bb835f9fe1a1e9300d011eef4d69661bb9b34d5e196e5e82c4cb09b37"},
- {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a0d3e54ab1df9df51b914b2233cf779a5a10dfd1ce339d0421748232cea9876"},
- {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:2cc6b86ece42a11f16f55fe8903595eff2b25e0358dec635d0a701ac9586588f"},
- {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:ca26ba5767888c84bf5a0c1a32f069e8204ce8c21d00a49c90dabeba00ce0145"},
- {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f0b4b06da13275bc02adfeb82643c4a6385bd08d26f03068c2796f60d125f6f2"},
- {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bc2e3069569ea9dbe88d6b8ea38f439a6aad8f6e7a6283a38edf61ddefb3a9bf"},
- {file = "Pillow-10.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:8b451d6ead6e3500b6ce5c7916a43d8d8d25ad74b9102a629baccc0808c54971"},
- {file = "Pillow-10.0.1-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:32bec7423cdf25c9038fef614a853c9d25c07590e1a870ed471f47fb80b244db"},
- {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7cf63d2c6928b51d35dfdbda6f2c1fddbe51a6bc4a9d4ee6ea0e11670dd981e"},
- {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f6d3d4c905e26354e8f9d82548475c46d8e0889538cb0657aa9c6f0872a37aa4"},
- {file = "Pillow-10.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:847e8d1017c741c735d3cd1883fa7b03ded4f825a6e5fcb9378fd813edee995f"},
- {file = "Pillow-10.0.1-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:7f771e7219ff04b79e231d099c0a28ed83aa82af91fd5fa9fdb28f5b8d5addaf"},
- {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:459307cacdd4138edee3875bbe22a2492519e060660eaf378ba3b405d1c66317"},
- {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b059ac2c4c7a97daafa7dc850b43b2d3667def858a4f112d1aa082e5c3d6cf7d"},
- {file = "Pillow-10.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d6caf3cd38449ec3cd8a68b375e0c6fe4b6fd04edb6c9766b55ef84a6e8ddf2d"},
- {file = "Pillow-10.0.1.tar.gz", hash = "sha256:d72967b06be9300fed5cfbc8b5bafceec48bf7cdc7dab66b1d2549035287191d"},
+ {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"},
+ {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"},
+ {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fad5ff2f13d69b7e74ce5b4ecd12cc0ec530fcee76356cac6742785ff71c452"},
+ {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4"},
+ {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:47c0995fc4e7f79b5cfcab1fc437ff2890b770440f7696a3ba065ee0fd496563"},
+ {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:322bdf3c9b556e9ffb18f93462e5f749d3444ce081290352c6070d014c93feb2"},
+ {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51f1a1bffc50e2e9492e87d8e09a17c5eea8409cda8d3f277eb6edc82813c17c"},
+ {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69ffdd6120a4737710a9eee73e1d2e37db89b620f702754b8f6e62594471dee0"},
+ {file = "pillow-10.2.0-cp310-cp310-win32.whl", hash = "sha256:c6dafac9e0f2b3c78df97e79af707cdc5ef8e88208d686a4847bab8266870023"},
+ {file = "pillow-10.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:aebb6044806f2e16ecc07b2a2637ee1ef67a11840a66752751714a0d924adf72"},
+ {file = "pillow-10.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:7049e301399273a0136ff39b84c3678e314f2158f50f517bc50285fb5ec847ad"},
+ {file = "pillow-10.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35bb52c37f256f662abdfa49d2dfa6ce5d93281d323a9af377a120e89a9eafb5"},
+ {file = "pillow-10.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c23f307202661071d94b5e384e1e1dc7dfb972a28a2310e4ee16103e66ddb67"},
+ {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773efe0603db30c281521a7c0214cad7836c03b8ccff897beae9b47c0b657d61"},
+ {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11fa2e5984b949b0dd6d7a94d967743d87c577ff0b83392f17cb3990d0d2fd6e"},
+ {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:716d30ed977be8b37d3ef185fecb9e5a1d62d110dfbdcd1e2a122ab46fddb03f"},
+ {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a086c2af425c5f62a65e12fbf385f7c9fcb8f107d0849dba5839461a129cf311"},
+ {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c8de2789052ed501dd829e9cae8d3dcce7acb4777ea4a479c14521c942d395b1"},
+ {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:609448742444d9290fd687940ac0b57fb35e6fd92bdb65386e08e99af60bf757"},
+ {file = "pillow-10.2.0-cp311-cp311-win32.whl", hash = "sha256:823ef7a27cf86df6597fa0671066c1b596f69eba53efa3d1e1cb8b30f3533068"},
+ {file = "pillow-10.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:1da3b2703afd040cf65ec97efea81cfba59cdbed9c11d8efc5ab09df9509fc56"},
+ {file = "pillow-10.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:edca80cbfb2b68d7b56930b84a0e45ae1694aeba0541f798e908a49d66b837f1"},
+ {file = "pillow-10.2.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:1b5e1b74d1bd1b78bc3477528919414874748dd363e6272efd5abf7654e68bef"},
+ {file = "pillow-10.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0eae2073305f451d8ecacb5474997c08569fb4eb4ac231ffa4ad7d342fdc25ac"},
+ {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7c2286c23cd350b80d2fc9d424fc797575fb16f854b831d16fd47ceec078f2c"},
+ {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e23412b5c41e58cec602f1135c57dfcf15482013ce6e5f093a86db69646a5aa"},
+ {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:52a50aa3fb3acb9cf7213573ef55d31d6eca37f5709c69e6858fe3bc04a5c2a2"},
+ {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:127cee571038f252a552760076407f9cff79761c3d436a12af6000cd182a9d04"},
+ {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8d12251f02d69d8310b046e82572ed486685c38f02176bd08baf216746eb947f"},
+ {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54f1852cd531aa981bc0965b7d609f5f6cc8ce8c41b1139f6ed6b3c54ab82bfb"},
+ {file = "pillow-10.2.0-cp312-cp312-win32.whl", hash = "sha256:257d8788df5ca62c980314053197f4d46eefedf4e6175bc9412f14412ec4ea2f"},
+ {file = "pillow-10.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:154e939c5f0053a383de4fd3d3da48d9427a7e985f58af8e94d0b3c9fcfcf4f9"},
+ {file = "pillow-10.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f379abd2f1e3dddb2b61bc67977a6b5a0a3f7485538bcc6f39ec76163891ee48"},
+ {file = "pillow-10.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8373c6c251f7ef8bda6675dd6d2b3a0fcc31edf1201266b5cf608b62a37407f9"},
+ {file = "pillow-10.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:870ea1ada0899fd0b79643990809323b389d4d1d46c192f97342eeb6ee0b8483"},
+ {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b6b1e20608493548b1f32bce8cca185bf0480983890403d3b8753e44077129"},
+ {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3031709084b6e7852d00479fd1d310b07d0ba82765f973b543c8af5061cf990e"},
+ {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:3ff074fc97dd4e80543a3e91f69d58889baf2002b6be64347ea8cf5533188213"},
+ {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:cb4c38abeef13c61d6916f264d4845fab99d7b711be96c326b84df9e3e0ff62d"},
+ {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1b3020d90c2d8e1dae29cf3ce54f8094f7938460fb5ce8bc5c01450b01fbaf6"},
+ {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:170aeb00224ab3dc54230c797f8404507240dd868cf52066f66a41b33169bdbe"},
+ {file = "pillow-10.2.0-cp38-cp38-win32.whl", hash = "sha256:c4225f5220f46b2fde568c74fca27ae9771536c2e29d7c04f4fb62c83275ac4e"},
+ {file = "pillow-10.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:0689b5a8c5288bc0504d9fcee48f61a6a586b9b98514d7d29b840143d6734f39"},
+ {file = "pillow-10.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:b792a349405fbc0163190fde0dc7b3fef3c9268292586cf5645598b48e63dc67"},
+ {file = "pillow-10.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c570f24be1e468e3f0ce7ef56a89a60f0e05b30a3669a459e419c6eac2c35364"},
+ {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8ecd059fdaf60c1963c58ceb8997b32e9dc1b911f5da5307aab614f1ce5c2fb"},
+ {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c365fd1703040de1ec284b176d6af5abe21b427cb3a5ff68e0759e1e313a5e7e"},
+ {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:70c61d4c475835a19b3a5aa42492409878bbca7438554a1f89d20d58a7c75c01"},
+ {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6f491cdf80ae540738859d9766783e3b3c8e5bd37f5dfa0b76abdecc5081f13"},
+ {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d189550615b4948f45252d7f005e53c2040cea1af5b60d6f79491a6e147eef7"},
+ {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:49d9ba1ed0ef3e061088cd1e7538a0759aab559e2e0a80a36f9fd9d8c0c21591"},
+ {file = "pillow-10.2.0-cp39-cp39-win32.whl", hash = "sha256:babf5acfede515f176833ed6028754cbcd0d206f7f614ea3447d67c33be12516"},
+ {file = "pillow-10.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:0304004f8067386b477d20a518b50f3fa658a28d44e4116970abfcd94fac34a8"},
+ {file = "pillow-10.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0fb3e7fc88a14eacd303e90481ad983fd5b69c761e9e6ef94c983f91025da869"},
+ {file = "pillow-10.2.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:322209c642aabdd6207517e9739c704dc9f9db943015535783239022002f054a"},
+ {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eedd52442c0a5ff4f887fab0c1c0bb164d8635b32c894bc1faf4c618dd89df2"},
+ {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb28c753fd5eb3dd859b4ee95de66cc62af91bcff5db5f2571d32a520baf1f04"},
+ {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33870dc4653c5017bf4c8873e5488d8f8d5f8935e2f1fb9a2208c47cdd66efd2"},
+ {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3c31822339516fb3c82d03f30e22b1d038da87ef27b6a78c9549888f8ceda39a"},
+ {file = "pillow-10.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a2b56ba36e05f973d450582fb015594aaa78834fefe8dfb8fcd79b93e64ba4c6"},
+ {file = "pillow-10.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d8e6aeb9201e655354b3ad049cb77d19813ad4ece0df1249d3c793de3774f8c7"},
+ {file = "pillow-10.2.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:2247178effb34a77c11c0e8ac355c7a741ceca0a732b27bf11e747bbc950722f"},
+ {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15587643b9e5eb26c48e49a7b33659790d28f190fc514a322d55da2fb5c2950e"},
+ {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753cd8f2086b2b80180d9b3010dd4ed147efc167c90d3bf593fe2af21265e5a5"},
+ {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7c8f97e8e7a9009bcacbe3766a36175056c12f9a44e6e6f2d5caad06dcfbf03b"},
+ {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d1b35bcd6c5543b9cb547dee3150c93008f8dd0f1fef78fc0cd2b141c5baf58a"},
+ {file = "pillow-10.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe4c15f6c9285dc54ce6553a3ce908ed37c8f3825b5a51a15c91442bb955b868"},
+ {file = "pillow-10.2.0.tar.gz", hash = "sha256:e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e"},
]
[package.extras]
docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"]
+fpx = ["olefile"]
+mic = ["olefile"]
tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"]
+typing = ["typing-extensions"]
+xmp = ["defusedxml"]
[[package]]
name = "pkgutil-resolve-name"
@@ -2296,6 +2332,7 @@ files = [
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"},
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"},
+ {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"},
{file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"},
{file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"},
{file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"},
@@ -2303,8 +2340,16 @@ files = [
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"},
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"},
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"},
+ {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"},
{file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"},
{file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
+ {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
+ {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
+ {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"},
+ {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
+ {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
+ {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
+ {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"},
{file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"},
{file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"},
{file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"},
@@ -2321,6 +2366,7 @@ files = [
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"},
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"},
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"},
+ {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"},
{file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"},
{file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"},
{file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"},
@@ -2328,6 +2374,7 @@ files = [
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"},
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"},
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"},
+ {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"},
{file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"},
{file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"},
{file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
@@ -2856,6 +2903,7 @@ files = [
{file = "SQLAlchemy-1.4.49-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:03db81b89fe7ef3857b4a00b63dedd632d6183d4ea5a31c5d8a92e000a41fc71"},
{file = "SQLAlchemy-1.4.49-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:95b9df9afd680b7a3b13b38adf6e3a38995da5e162cc7524ef08e3be4e5ed3e1"},
{file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a63e43bf3f668c11bb0444ce6e809c1227b8f067ca1068898f3008a273f52b09"},
+ {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca46de16650d143a928d10842939dab208e8d8c3a9a8757600cae9b7c579c5cd"},
{file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f835c050ebaa4e48b18403bed2c0fda986525896efd76c245bdd4db995e51a4c"},
{file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c21b172dfb22e0db303ff6419451f0cac891d2e911bb9fbf8003d717f1bcf91"},
{file = "SQLAlchemy-1.4.49-cp310-cp310-win32.whl", hash = "sha256:5fb1ebdfc8373b5a291485757bd6431de8d7ed42c27439f543c81f6c8febd729"},
@@ -2865,26 +2913,35 @@ files = [
{file = "SQLAlchemy-1.4.49-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5debe7d49b8acf1f3035317e63d9ec8d5e4d904c6e75a2a9246a119f5f2fdf3d"},
{file = "SQLAlchemy-1.4.49-cp311-cp311-win32.whl", hash = "sha256:82b08e82da3756765c2e75f327b9bf6b0f043c9c3925fb95fb51e1567fa4ee87"},
{file = "SQLAlchemy-1.4.49-cp311-cp311-win_amd64.whl", hash = "sha256:171e04eeb5d1c0d96a544caf982621a1711d078dbc5c96f11d6469169bd003f1"},
+ {file = "SQLAlchemy-1.4.49-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f23755c384c2969ca2f7667a83f7c5648fcf8b62a3f2bbd883d805454964a800"},
+ {file = "SQLAlchemy-1.4.49-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8396e896e08e37032e87e7fbf4a15f431aa878c286dc7f79e616c2feacdb366c"},
+ {file = "SQLAlchemy-1.4.49-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66da9627cfcc43bbdebd47bfe0145bb662041472393c03b7802253993b6b7c90"},
+ {file = "SQLAlchemy-1.4.49-cp312-cp312-win32.whl", hash = "sha256:9a06e046ffeb8a484279e54bda0a5abfd9675f594a2e38ef3133d7e4d75b6214"},
+ {file = "SQLAlchemy-1.4.49-cp312-cp312-win_amd64.whl", hash = "sha256:7cf8b90ad84ad3a45098b1c9f56f2b161601e4670827d6b892ea0e884569bd1d"},
{file = "SQLAlchemy-1.4.49-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:36e58f8c4fe43984384e3fbe6341ac99b6b4e083de2fe838f0fdb91cebe9e9cb"},
{file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b31e67ff419013f99ad6f8fc73ee19ea31585e1e9fe773744c0f3ce58c039c30"},
+ {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebc22807a7e161c0d8f3da34018ab7c97ef6223578fcdd99b1d3e7ed1100a5db"},
{file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c14b29d9e1529f99efd550cd04dbb6db6ba5d690abb96d52de2bff4ed518bc95"},
{file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c40f3470e084d31247aea228aa1c39bbc0904c2b9ccbf5d3cfa2ea2dac06f26d"},
{file = "SQLAlchemy-1.4.49-cp36-cp36m-win32.whl", hash = "sha256:706bfa02157b97c136547c406f263e4c6274a7b061b3eb9742915dd774bbc264"},
{file = "SQLAlchemy-1.4.49-cp36-cp36m-win_amd64.whl", hash = "sha256:a7f7b5c07ae5c0cfd24c2db86071fb2a3d947da7bd487e359cc91e67ac1c6d2e"},
{file = "SQLAlchemy-1.4.49-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:4afbbf5ef41ac18e02c8dc1f86c04b22b7a2125f2a030e25bbb4aff31abb224b"},
{file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24e300c0c2147484a002b175f4e1361f102e82c345bf263242f0449672a4bccf"},
+ {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:393cd06c3b00b57f5421e2133e088df9cabcececcea180327e43b937b5a7caa5"},
{file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:201de072b818f8ad55c80d18d1a788729cccf9be6d9dc3b9d8613b053cd4836d"},
{file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7653ed6817c710d0c95558232aba799307d14ae084cc9b1f4c389157ec50df5c"},
{file = "SQLAlchemy-1.4.49-cp37-cp37m-win32.whl", hash = "sha256:647e0b309cb4512b1f1b78471fdaf72921b6fa6e750b9f891e09c6e2f0e5326f"},
{file = "SQLAlchemy-1.4.49-cp37-cp37m-win_amd64.whl", hash = "sha256:ab73ed1a05ff539afc4a7f8cf371764cdf79768ecb7d2ec691e3ff89abbc541e"},
{file = "SQLAlchemy-1.4.49-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:37ce517c011560d68f1ffb28af65d7e06f873f191eb3a73af5671e9c3fada08a"},
{file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1878ce508edea4a879015ab5215546c444233881301e97ca16fe251e89f1c55"},
+ {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95ab792ca493891d7a45a077e35b418f68435efb3e1706cb8155e20e86a9013c"},
{file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0e8e608983e6f85d0852ca61f97e521b62e67969e6e640fe6c6b575d4db68557"},
{file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ccf956da45290df6e809ea12c54c02ace7f8ff4d765d6d3dfb3655ee876ce58d"},
{file = "SQLAlchemy-1.4.49-cp38-cp38-win32.whl", hash = "sha256:f167c8175ab908ce48bd6550679cc6ea20ae169379e73c7720a28f89e53aa532"},
{file = "SQLAlchemy-1.4.49-cp38-cp38-win_amd64.whl", hash = "sha256:45806315aae81a0c202752558f0df52b42d11dd7ba0097bf71e253b4215f34f4"},
{file = "SQLAlchemy-1.4.49-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:b6d0c4b15d65087738a6e22e0ff461b407533ff65a73b818089efc8eb2b3e1de"},
{file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a843e34abfd4c797018fd8d00ffffa99fd5184c421f190b6ca99def4087689bd"},
+ {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:738d7321212941ab19ba2acf02a68b8ee64987b248ffa2101630e8fccb549e0d"},
{file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1c890421651b45a681181301b3497e4d57c0d01dc001e10438a40e9a9c25ee77"},
{file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d26f280b8f0a8f497bc10573849ad6dc62e671d2468826e5c748d04ed9e670d5"},
{file = "SQLAlchemy-1.4.49-cp39-cp39-win32.whl", hash = "sha256:ec2268de67f73b43320383947e74700e95c6770d0c68c4e615e9897e46296294"},
@@ -3050,13 +3107,13 @@ files = [
]
[package.dependencies]
-distlib = ">=0.3.7,<1"
-filelock = ">=3.12.2,<4"
-platformdirs = ">=3.9.1,<4"
+distlib = ">=0.3.6,<1"
+filelock = ">=3.11,<4"
+platformdirs = ">=3.2,<4"
[package.extras]
-docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"]
-test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"]
+docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=22.12)"]
+test = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.3.1)", "pytest-env (>=0.8.1)", "pytest-freezegun (>=0.4.2)", "pytest-mock (>=3.10)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=67.7.1)", "time-machine (>=2.9)"]
[[package]]
name = "wcwidth"
From e608f40835b896d931d4ecdbc5251f75e4a97708 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Mon, 29 Jan 2024 17:55:21 +0000
Subject: [PATCH 041/216] [pre-commit.ci] pre-commit autoupdate
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
updates:
- [github.com/psf/black-pre-commit-mirror: 23.12.1 → 24.1.1](https://github.com/psf/black-pre-commit-mirror/compare/23.12.1...24.1.1)
---
.pre-commit-config.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index bee3e7adc..1c163f0a3 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -19,7 +19,7 @@ repos:
- id: pycln
args: [--config=pyproject.toml]
- repo: https://github.com/psf/black-pre-commit-mirror
- rev: 23.12.1
+ rev: 24.1.1
hooks:
- id: black
- repo: https://github.com/asottile/blacken-docs
From 11a8da386bc5ced1026e5f1662a03ab5b24a7d13 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Mon, 29 Jan 2024 17:55:57 +0000
Subject: [PATCH 042/216] [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---
benchmarks/DSSV_bench.py | 1 +
benchmarks/NNPDF_bench.py | 1 +
benchmarks/apfel_bench.py | 2 +-
benchmarks/eko/benchmark_msbar_evolution.py | 1 +
benchmarks/ekore/benchmark_ad.py | 1 +
benchmarks/lha_paper_bench.py | 1 +
crates/make_bib.py | 1 +
extras/lh_bench_23/plot_bench_msht.py | 4 +--
src/eko/__init__.py | 1 +
src/eko/couplings.py | 1 +
src/eko/evolution_operator/__init__.py | 36 +++++++++----------
src/eko/evolution_operator/grid.py | 1 +
src/eko/evolution_operator/physical.py | 1 +
src/eko/gamma.py | 1 +
src/eko/interpolation.py | 1 +
src/eko/io/bases.py | 1 +
src/eko/io/dictlike.py | 1 +
src/eko/io/exceptions.py | 1 +
src/eko/io/inventory.py | 1 +
src/eko/io/items.py | 1 +
src/eko/io/legacy.py | 1 +
src/eko/io/manipulate.py | 1 +
src/eko/io/metadata.py | 1 +
src/eko/io/paths.py | 1 +
src/eko/io/raw.py | 1 +
src/eko/io/runcards.py | 9 +++--
src/eko/io/struct.py | 1 +
src/eko/io/types.py | 1 +
src/eko/kernels/as4_evolution_integrals.py | 4 +--
src/eko/kernels/non_singlet_qed.py | 1 +
src/eko/kernels/singlet_qed.py | 1 +
src/eko/kernels/valence_qed.py | 1 +
src/eko/matchings.py | 1 +
src/eko/member.py | 1 +
src/eko/msbar_masses.py | 1 +
src/eko/quantities/couplings.py | 1 +
src/eko/quantities/heavy_quarks.py | 1 +
src/eko/runner/__init__.py | 1 +
src/eko/runner/commons.py | 1 +
src/eko/runner/legacy.py | 1 +
src/eko/runner/managed.py | 1 +
src/eko/runner/operators.py | 1 +
src/eko/runner/parts.py | 1 +
src/eko/runner/recipes.py | 1 +
src/eko/scale_variations/__init__.py | 1 +
src/eko/scale_variations/expanded.py | 8 ++---
src/eko/scale_variations/exponentiated.py | 1 +
src/ekobox/cards.py | 1 +
src/ekobox/cli/__init__.py | 1 +
src/ekobox/cli/base.py | 1 +
src/ekobox/cli/convert.py | 1 +
src/ekobox/cli/inspect.py | 1 +
src/ekobox/cli/library.py | 1 +
src/ekobox/cli/log.py | 1 +
src/ekobox/cli/run.py | 1 +
src/ekobox/cli/runcards.py | 1 +
src/ekobox/evol_pdf.py | 1 +
src/ekobox/genpdf/__init__.py | 7 ++--
src/ekobox/genpdf/export.py | 1 +
src/ekobox/genpdf/flavors.py | 1 +
src/ekobox/genpdf/load.py | 1 +
src/ekobox/info_file.py | 1 +
src/ekobox/mock.py | 1 +
src/ekobox/utils.py | 1 +
src/ekomark/__init__.py | 1 +
src/ekomark/benchmark/external/LHA_utils.py | 1 +
src/ekomark/benchmark/external/apfel_utils.py | 1 +
.../benchmark/external/lhapdf_utils.py | 1 +
.../benchmark/external/pegasus_utils.py | 1 +
src/ekomark/benchmark/runner.py | 1 +
src/ekomark/data/operators.py | 1 +
src/ekomark/navigator/__init__.py | 1 +
src/ekomark/navigator/glob.py | 1 +
src/ekomark/navigator/navigator.py | 1 +
src/ekomark/plots.py | 1 +
.../polarized/space_like/as2.py | 16 ++-------
.../unpolarized/space_like/as3.py | 1 +
.../unpolarized/space_like/as4/__init__.py | 1 +
.../space_like/as4/fhmruvv/__init__.py | 1 +
.../unpolarized/space_like/as4/fhmruvv/ggg.py | 1 +
.../unpolarized/space_like/as4/fhmruvv/ggq.py | 1 +
.../space_like/as4/fhmruvv/gnsm.py | 1 +
.../space_like/as4/fhmruvv/gnsp.py | 1 +
.../space_like/as4/fhmruvv/gnsv.py | 1 +
.../unpolarized/space_like/as4/fhmruvv/gps.py | 1 +
.../unpolarized/space_like/as4/fhmruvv/gqg.py | 1 +
.../unpolarized/space_like/as4/gnsm.py | 1 +
.../unpolarized/space_like/as4/gnsp.py | 1 +
.../unpolarized/space_like/as4/gnsv.py | 1 +
src/ekore/harmonics/__init__.py | 1 +
src/ekore/harmonics/cache.py | 1 +
src/ekore/harmonics/g_functions.py | 1 +
src/ekore/harmonics/log_functions.py | 1 +
src/ekore/harmonics/w3.py | 3 +-
src/ekore/harmonics/w4.py | 3 +-
src/ekore/harmonics/w5.py | 3 +-
.../polarized/space_like/as1.py | 1 +
.../polarized/space_like/as2.py | 31 ++++------------
.../unpolarized/space_like/as1.py | 12 ++-----
.../unpolarized/space_like/as2.py | 33 ++++-------------
.../unpolarized/space_like/as3/aHg.py | 1 +
.../unpolarized/space_like/as3/aHg_param.py | 1 +
.../unpolarized/space_like/as3/aHq.py | 1 +
.../unpolarized/space_like/as3/agg.py | 1 +
.../unpolarized/space_like/as3/agq.py | 1 +
.../unpolarized/space_like/as3/aqg.py | 1 +
.../unpolarized/space_like/as3/aqqNS.py | 1 +
.../unpolarized/space_like/as3/aqqPS.py | 1 +
tests/eko/kernels/test_ns.py | 5 +--
tests/eko/test_beta.py | 1 +
tests/eko/test_couplings.py | 1 +
tests/eko/test_gamma.py | 1 +
tests/eko/test_matchings.py | 1 +
tests/eko/test_msbar_masses.py | 1 +
.../polarized/space_like/test_ad_as2.py | 8 ++---
115 files changed, 155 insertions(+), 128 deletions(-)
diff --git a/benchmarks/DSSV_bench.py b/benchmarks/DSSV_bench.py
index 3df7af356..4654f67d7 100644
--- a/benchmarks/DSSV_bench.py
+++ b/benchmarks/DSSV_bench.py
@@ -3,6 +3,7 @@
Note that the PDF set is private, but can be obtained from the
authors upon request.
"""
+
from banana import register
from eko import interpolation
diff --git a/benchmarks/NNPDF_bench.py b/benchmarks/NNPDF_bench.py
index 0e939f9ea..444b452cd 100644
--- a/benchmarks/NNPDF_bench.py
+++ b/benchmarks/NNPDF_bench.py
@@ -1,6 +1,7 @@
"""
Benchmark NNPDF pdf family
"""
+
from banana import register
from eko import interpolation
diff --git a/benchmarks/apfel_bench.py b/benchmarks/apfel_bench.py
index ae3189119..d40c65894 100644
--- a/benchmarks/apfel_bench.py
+++ b/benchmarks/apfel_bench.py
@@ -1,6 +1,7 @@
"""
Benchmark EKO to Apfel
"""
+
import numpy as np
from banana import register
from banana.data import cartesian_product
@@ -20,7 +21,6 @@ def tolist(input_dict):
class ApfelBenchmark(Runner):
-
"""
Globally set the external program to Apfel
"""
diff --git a/benchmarks/eko/benchmark_msbar_evolution.py b/benchmarks/eko/benchmark_msbar_evolution.py
index 6286e15ad..b9e3bd252 100644
--- a/benchmarks/eko/benchmark_msbar_evolution.py
+++ b/benchmarks/eko/benchmark_msbar_evolution.py
@@ -1,4 +1,5 @@
"""This module benchmarks MSbar mass evolution against APFEL."""
+
import numpy as np
import pytest
diff --git a/benchmarks/ekore/benchmark_ad.py b/benchmarks/ekore/benchmark_ad.py
index c3c8de01e..ac0b50ad0 100644
--- a/benchmarks/ekore/benchmark_ad.py
+++ b/benchmarks/ekore/benchmark_ad.py
@@ -1,4 +1,5 @@
"""Benchmark the NLO anomalous dimensions against PEGASUS"""
+
import numpy as np
import pytest
diff --git a/benchmarks/lha_paper_bench.py b/benchmarks/lha_paper_bench.py
index 9254307dc..137d8b3d7 100644
--- a/benchmarks/lha_paper_bench.py
+++ b/benchmarks/lha_paper_bench.py
@@ -1,6 +1,7 @@
"""
Benchmark to :cite:`Giele:2002hx` (LO + NLO) and :cite:`Dittmar:2005ed` (NNLO).
"""
+
import os
import numpy as np
diff --git a/crates/make_bib.py b/crates/make_bib.py
index 1b15d663d..b085414c9 100644
--- a/crates/make_bib.py
+++ b/crates/make_bib.py
@@ -1,4 +1,5 @@
"""Parse bibtex file to rust crate."""
+
import datetime
import pathlib
import re
diff --git a/extras/lh_bench_23/plot_bench_msht.py b/extras/lh_bench_23/plot_bench_msht.py
index 0314082ee..f693d5bbd 100644
--- a/extras/lh_bench_23/plot_bench_msht.py
+++ b/extras/lh_bench_23/plot_bench_msht.py
@@ -37,7 +37,7 @@
(eko_res, "EKO"),
(fhmv_eko_res, "FHMV EKO"),
(msht_res, "MSHT"),
- (fhmv_msht_res, "FHMV MSHT")
+ (fhmv_msht_res, "FHMV MSHT"),
# (eko_4mom_res, "aN3LO EKO 4 mom"),
]
@@ -54,7 +54,7 @@
(eko_diff, "EKO"),
(fhmv_eko_diff, "FHMV EKO"),
(msht_diff, "MSHT"),
- (fhmv_msht_diff, "FHMV MSHT")
+ (fhmv_msht_diff, "FHMV MSHT"),
# (eko_4mom_res, "aN3LO EKO 4 mom"),
]
diff --git a/src/eko/__init__.py b/src/eko/__init__.py
index 9996d9daf..6503a8225 100644
--- a/src/eko/__init__.py
+++ b/src/eko/__init__.py
@@ -1,4 +1,5 @@
"""Evolution Kernel Operators."""
+
from . import io, version
from .io.struct import EKO
from .runner import solve
diff --git a/src/eko/couplings.py b/src/eko/couplings.py
index e8940b68c..2b261afdb 100644
--- a/src/eko/couplings.py
+++ b/src/eko/couplings.py
@@ -7,6 +7,7 @@
See :doc:`pQCD ingredients `.
"""
+
import logging
from typing import Iterable, List
diff --git a/src/eko/evolution_operator/__init__.py b/src/eko/evolution_operator/__init__.py
index f334b83e3..5d19e305a 100644
--- a/src/eko/evolution_operator/__init__.py
+++ b/src/eko/evolution_operator/__init__.py
@@ -990,27 +990,23 @@ def copy_ns_ops(self):
if self.order[1] == 0:
if self.order[0] == 1: # in LO +=-=v
for label in ["nsV", "ns-"]:
- self.op_members[
- (br.non_singlet_pids_map[label], 0)
- ].value = self.op_members[
- (br.non_singlet_pids_map["ns+"], 0)
- ].value.copy()
- self.op_members[
- (br.non_singlet_pids_map[label], 0)
- ].error = self.op_members[
- (br.non_singlet_pids_map["ns+"], 0)
- ].error.copy()
+ self.op_members[(br.non_singlet_pids_map[label], 0)].value = (
+ self.op_members[
+ (br.non_singlet_pids_map["ns+"], 0)
+ ].value.copy()
+ )
+ self.op_members[(br.non_singlet_pids_map[label], 0)].error = (
+ self.op_members[
+ (br.non_singlet_pids_map["ns+"], 0)
+ ].error.copy()
+ )
elif self.order[0] == 2: # in NLO -=v
- self.op_members[
- (br.non_singlet_pids_map["nsV"], 0)
- ].value = self.op_members[
- (br.non_singlet_pids_map["ns-"], 0)
- ].value.copy()
- self.op_members[
- (br.non_singlet_pids_map["nsV"], 0)
- ].error = self.op_members[
- (br.non_singlet_pids_map["ns-"], 0)
- ].error.copy()
+ self.op_members[(br.non_singlet_pids_map["nsV"], 0)].value = (
+ self.op_members[(br.non_singlet_pids_map["ns-"], 0)].value.copy()
+ )
+ self.op_members[(br.non_singlet_pids_map["nsV"], 0)].error = (
+ self.op_members[(br.non_singlet_pids_map["ns-"], 0)].error.copy()
+ )
# at O(as0aem1) u-=u+, d-=d+
# starting from O(as1aem1) P+ != P-
# However the solution with pure QED is not implemented in EKO
diff --git a/src/eko/evolution_operator/grid.py b/src/eko/evolution_operator/grid.py
index d1ddb23bc..e64885418 100644
--- a/src/eko/evolution_operator/grid.py
+++ b/src/eko/evolution_operator/grid.py
@@ -4,6 +4,7 @@
previously instantiated information and does the actual computation of the Q2s.
"""
+
import logging
from dataclasses import astuple
from typing import Dict, List, Optional
diff --git a/src/eko/evolution_operator/physical.py b/src/eko/evolution_operator/physical.py
index 1ee501a2a..ca01c4ea4 100644
--- a/src/eko/evolution_operator/physical.py
+++ b/src/eko/evolution_operator/physical.py
@@ -1,4 +1,5 @@
"""Contains the :class:`PhysicalOperator` class."""
+
from .. import basis_rotation as br
from .. import member
diff --git a/src/eko/gamma.py b/src/eko/gamma.py
index b71ce843a..668219a75 100644
--- a/src/eko/gamma.py
+++ b/src/eko/gamma.py
@@ -2,6 +2,7 @@
See :doc:`pQCD ingredients `.
"""
+
import numba as nb
from eko.constants import zeta3, zeta4, zeta5
diff --git a/src/eko/interpolation.py b/src/eko/interpolation.py
index 170eb8892..ef03c7fa0 100644
--- a/src/eko/interpolation.py
+++ b/src/eko/interpolation.py
@@ -4,6 +4,7 @@
Upon construction the dispatcher generates a number of functions
to evaluate the interpolator.
"""
+
import logging
import math
from typing import Sequence, Union
diff --git a/src/eko/io/bases.py b/src/eko/io/bases.py
index 97a28dc36..50ee74c64 100644
--- a/src/eko/io/bases.py
+++ b/src/eko/io/bases.py
@@ -1,4 +1,5 @@
"""Operators bases."""
+
from dataclasses import dataclass, fields
from typing import Optional
diff --git a/src/eko/io/dictlike.py b/src/eko/io/dictlike.py
index 29f947ab2..da60066b3 100644
--- a/src/eko/io/dictlike.py
+++ b/src/eko/io/dictlike.py
@@ -4,6 +4,7 @@
codified in more native structures.
"""
+
import copy
import dataclasses
import enum
diff --git a/src/eko/io/exceptions.py b/src/eko/io/exceptions.py
index b924f8057..13f952bda 100644
--- a/src/eko/io/exceptions.py
+++ b/src/eko/io/exceptions.py
@@ -1,4 +1,5 @@
"""IO generic exceptions."""
+
import os
diff --git a/src/eko/io/inventory.py b/src/eko/io/inventory.py
index efdd2e9b0..5bb98842f 100644
--- a/src/eko/io/inventory.py
+++ b/src/eko/io/inventory.py
@@ -1,4 +1,5 @@
"""Manage assets used during computation."""
+
import base64
from dataclasses import asdict, dataclass, field
from pathlib import Path
diff --git a/src/eko/io/items.py b/src/eko/io/items.py
index cbc7591e0..8d6d6eb2d 100644
--- a/src/eko/io/items.py
+++ b/src/eko/io/items.py
@@ -1,4 +1,5 @@
"""Inventory items definition."""
+
import io
from dataclasses import asdict, dataclass
from typing import BinaryIO, Optional, Union
diff --git a/src/eko/io/legacy.py b/src/eko/io/legacy.py
index 1df9941b1..c05d150ec 100644
--- a/src/eko/io/legacy.py
+++ b/src/eko/io/legacy.py
@@ -1,4 +1,5 @@
"""Support legacy storage formats."""
+
import dataclasses
import io
import os
diff --git a/src/eko/io/manipulate.py b/src/eko/io/manipulate.py
index e9cc89538..050e9a122 100644
--- a/src/eko/io/manipulate.py
+++ b/src/eko/io/manipulate.py
@@ -1,4 +1,5 @@
"""Manipulate output generate by EKO."""
+
import logging
import warnings
from typing import Callable, Optional, Union
diff --git a/src/eko/io/metadata.py b/src/eko/io/metadata.py
index 415b2dfa5..94cfad613 100644
--- a/src/eko/io/metadata.py
+++ b/src/eko/io/metadata.py
@@ -1,4 +1,5 @@
"""Define `eko.EKO` metadata."""
+
import logging
import os
import pathlib
diff --git a/src/eko/io/paths.py b/src/eko/io/paths.py
index 67100fdaa..f4d5fc51f 100644
--- a/src/eko/io/paths.py
+++ b/src/eko/io/paths.py
@@ -1,4 +1,5 @@
"""Define paths inside an `eko.EKO` object."""
+
import pathlib
from dataclasses import dataclass
diff --git a/src/eko/io/raw.py b/src/eko/io/raw.py
index fe969374a..a71d3d745 100644
--- a/src/eko/io/raw.py
+++ b/src/eko/io/raw.py
@@ -5,6 +5,7 @@
file, as opposed to structured YAML representing a specific runcard.
"""
+
import os
from pathlib import Path
from tarfile import TarFile, TarInfo
diff --git a/src/eko/io/runcards.py b/src/eko/io/runcards.py
index 755fcaf72..e48437dc3 100644
--- a/src/eko/io/runcards.py
+++ b/src/eko/io/runcards.py
@@ -3,6 +3,7 @@
All energy scales in the runcards should be saved linearly, not the
squared value, for consistency. Squares are consistenly taken inside.
"""
+
from dataclasses import dataclass
from math import nan
from typing import List, Optional, Union
@@ -198,9 +199,11 @@ def new_theory(self):
max_num_flavs=old["MaxNfAs"],
)
new["heavy"] = {
- "num_flavs_init": nf_default(old["Q0"] ** 2.0, default_atlas(ms, ks))
- if old["nf0"] is None
- else old["nf0"],
+ "num_flavs_init": (
+ nf_default(old["Q0"] ** 2.0, default_atlas(ms, ks))
+ if old["nf0"] is None
+ else old["nf0"]
+ ),
"num_flavs_max_pdf": old["MaxNfPdf"],
"matching_ratios": self.heavies("k%sThr", old),
"masses_scheme": old["HQ"],
diff --git a/src/eko/io/struct.py b/src/eko/io/struct.py
index fecba3c57..57d2ae9df 100644
--- a/src/eko/io/struct.py
+++ b/src/eko/io/struct.py
@@ -1,4 +1,5 @@
"""Define output representation structures."""
+
import contextlib
import copy
import logging
diff --git a/src/eko/io/types.py b/src/eko/io/types.py
index 5573bafbb..d8377a4e6 100644
--- a/src/eko/io/types.py
+++ b/src/eko/io/types.py
@@ -1,4 +1,5 @@
"""Common type definitions, only used for static analysis."""
+
import enum
import typing
from typing import Any, Dict, Generic, Tuple, TypeVar
diff --git a/src/eko/kernels/as4_evolution_integrals.py b/src/eko/kernels/as4_evolution_integrals.py
index f401de8c6..e33b14511 100644
--- a/src/eko/kernels/as4_evolution_integrals.py
+++ b/src/eko/kernels/as4_evolution_integrals.py
@@ -288,9 +288,7 @@ def j13_expanded(a1, a0, beta0, b_list):
"""
b1, b2, _ = b_list
return (1 / beta0) * (
- (a1 - a0)
- - b1 / 2 * (a1**2 - a0**2)
- + (b1**2 - b2) / 3 * (a1**3 - a0**3)
+ (a1 - a0) - b1 / 2 * (a1**2 - a0**2) + (b1**2 - b2) / 3 * (a1**3 - a0**3)
)
diff --git a/src/eko/kernels/non_singlet_qed.py b/src/eko/kernels/non_singlet_qed.py
index 36d4d3c35..618654ec2 100644
--- a/src/eko/kernels/non_singlet_qed.py
+++ b/src/eko/kernels/non_singlet_qed.py
@@ -1,4 +1,5 @@
"""Collection of QED non-singlet EKOs."""
+
import numba as nb
import numpy as np
diff --git a/src/eko/kernels/singlet_qed.py b/src/eko/kernels/singlet_qed.py
index d6e57c537..c13dee95c 100644
--- a/src/eko/kernels/singlet_qed.py
+++ b/src/eko/kernels/singlet_qed.py
@@ -1,4 +1,5 @@
"""Collection of QED singlet EKOs."""
+
import numba as nb
import numpy as np
diff --git a/src/eko/kernels/valence_qed.py b/src/eko/kernels/valence_qed.py
index 3a8482f68..0d5b747c3 100644
--- a/src/eko/kernels/valence_qed.py
+++ b/src/eko/kernels/valence_qed.py
@@ -1,4 +1,5 @@
"""Collection of QED valence EKOs."""
+
import numba as nb
from .singlet_qed import eko_iterate
diff --git a/src/eko/matchings.py b/src/eko/matchings.py
index 9ef6b8f9e..270581c23 100644
--- a/src/eko/matchings.py
+++ b/src/eko/matchings.py
@@ -1,4 +1,5 @@
r"""Holds the classes that define the |FNS|."""
+
import logging
from dataclasses import dataclass
from typing import List, Union
diff --git a/src/eko/member.py b/src/eko/member.py
index edf8f89a3..f6aa44d36 100644
--- a/src/eko/member.py
+++ b/src/eko/member.py
@@ -1,4 +1,5 @@
"""Atomic operator member."""
+
import copy
import operator
from numbers import Number
diff --git a/src/eko/msbar_masses.py b/src/eko/msbar_masses.py
index 356a81019..26fb9874e 100644
--- a/src/eko/msbar_masses.py
+++ b/src/eko/msbar_masses.py
@@ -1,4 +1,5 @@
r"""|RGE| for the |MSbar| masses."""
+
from typing import List
import numba as nb
diff --git a/src/eko/quantities/couplings.py b/src/eko/quantities/couplings.py
index 449abab38..aec1d083f 100644
--- a/src/eko/quantities/couplings.py
+++ b/src/eko/quantities/couplings.py
@@ -1,4 +1,5 @@
"""Types and quantities related to theory couplings."""
+
import dataclasses
import enum
from typing import Optional
diff --git a/src/eko/quantities/heavy_quarks.py b/src/eko/quantities/heavy_quarks.py
index df0285649..8db084ed4 100644
--- a/src/eko/quantities/heavy_quarks.py
+++ b/src/eko/quantities/heavy_quarks.py
@@ -1,4 +1,5 @@
"""Heavy quarks related quantities."""
+
import enum
from dataclasses import dataclass
from typing import Generic, List, Sequence, TypeVar
diff --git a/src/eko/runner/__init__.py b/src/eko/runner/__init__.py
index a487cdbaf..5f1036c7b 100644
--- a/src/eko/runner/__init__.py
+++ b/src/eko/runner/__init__.py
@@ -1,4 +1,5 @@
"""Manage steps to DGLAP solution, and operator creation."""
+
import os
from typing import Union
diff --git a/src/eko/runner/commons.py b/src/eko/runner/commons.py
index c27b4c8a2..543fb927c 100644
--- a/src/eko/runner/commons.py
+++ b/src/eko/runner/commons.py
@@ -1,4 +1,5 @@
"""Runners common utilities."""
+
import numpy as np
from ..couplings import Couplings, couplings_mod_ev
diff --git a/src/eko/runner/legacy.py b/src/eko/runner/legacy.py
index 39659f121..9ce925a9f 100644
--- a/src/eko/runner/legacy.py
+++ b/src/eko/runner/legacy.py
@@ -1,4 +1,5 @@
"""Main application class of eko."""
+
import logging
import os
from typing import Union
diff --git a/src/eko/runner/managed.py b/src/eko/runner/managed.py
index c353decde..486c8035c 100644
--- a/src/eko/runner/managed.py
+++ b/src/eko/runner/managed.py
@@ -10,6 +10,7 @@
but not automatically performed.
"""
+
from pathlib import Path
from ..io.items import Evolution, Matching, Target
diff --git a/src/eko/runner/operators.py b/src/eko/runner/operators.py
index 5a0a219c7..07ac34093 100644
--- a/src/eko/runner/operators.py
+++ b/src/eko/runner/operators.py
@@ -1,4 +1,5 @@
"""Combine parts into operators."""
+
from functools import reduce
from typing import List
diff --git a/src/eko/runner/parts.py b/src/eko/runner/parts.py
index f003d955d..f9379bf76 100644
--- a/src/eko/runner/parts.py
+++ b/src/eko/runner/parts.py
@@ -9,6 +9,7 @@
:class:`OperatorMatrixElement` to simplify the computation and passing down
parameters.
"""
+
import numpy as np
from .. import evolution_operator as evop
diff --git a/src/eko/runner/recipes.py b/src/eko/runner/recipes.py
index 7a09554cb..f340b9dce 100644
--- a/src/eko/runner/recipes.py
+++ b/src/eko/runner/recipes.py
@@ -1,4 +1,5 @@
"""Recipes containing instructions for atomic computations."""
+
from typing import List
from ..io.items import Evolution, Matching, Recipe
diff --git a/src/eko/scale_variations/__init__.py b/src/eko/scale_variations/__init__.py
index a271402c3..4af80592b 100644
--- a/src/eko/scale_variations/__init__.py
+++ b/src/eko/scale_variations/__init__.py
@@ -3,6 +3,7 @@
A Mathematica snippet to check the formulas is available in the
extras folder.
"""
+
import enum
from . import expanded, exponentiated
diff --git a/src/eko/scale_variations/expanded.py b/src/eko/scale_variations/expanded.py
index f3a6be145..2192833bd 100644
--- a/src/eko/scale_variations/expanded.py
+++ b/src/eko/scale_variations/expanded.py
@@ -88,12 +88,8 @@ def variation_as3(gamma, L, beta0, beta1, g0e2, g0e3, g1g0, g0g1):
"""
return (
gamma[2] * L
- + (1.0 / 2.0)
- * (beta1 * gamma[0] + 2.0 * beta0 * gamma[1] + g1g0 + g0g1)
- * L**2
- + (1.0 / 6.0)
- * (2.0 * beta0**2 * gamma[0] + 3.0 * beta0 * g0e2 + g0e3)
- * L**3
+ + (1.0 / 2.0) * (beta1 * gamma[0] + 2.0 * beta0 * gamma[1] + g1g0 + g0g1) * L**2
+ + (1.0 / 6.0) * (2.0 * beta0**2 * gamma[0] + 3.0 * beta0 * g0e2 + g0e3) * L**3
)
diff --git a/src/eko/scale_variations/exponentiated.py b/src/eko/scale_variations/exponentiated.py
index 7efb88e79..fe42fe03b 100644
--- a/src/eko/scale_variations/exponentiated.py
+++ b/src/eko/scale_variations/exponentiated.py
@@ -1,4 +1,5 @@
r"""Contains the scale variation for ``ModSV=exponentiated``."""
+
import numba as nb
from .. import beta
diff --git a/src/ekobox/cards.py b/src/ekobox/cards.py
index c7536bc50..9476bb77a 100644
--- a/src/ekobox/cards.py
+++ b/src/ekobox/cards.py
@@ -1,4 +1,5 @@
"""Tools to generate runcards."""
+
import os
from math import nan
diff --git a/src/ekobox/cli/__init__.py b/src/ekobox/cli/__init__.py
index 241ca45cc..8d0e22df7 100644
--- a/src/ekobox/cli/__init__.py
+++ b/src/ekobox/cli/__init__.py
@@ -1,3 +1,4 @@
"""EKO CLI definition."""
+
from . import convert, inspect, log, run, runcards
from .base import command
diff --git a/src/ekobox/cli/base.py b/src/ekobox/cli/base.py
index e1876eb73..34642626d 100644
--- a/src/ekobox/cli/base.py
+++ b/src/ekobox/cli/base.py
@@ -1,4 +1,5 @@
"""Base command definition."""
+
import click
CONTEXT_SETTINGS = dict(help_option_names=["-h", "--help"])
diff --git a/src/ekobox/cli/convert.py b/src/ekobox/cli/convert.py
index eded7997c..f8411bf91 100644
--- a/src/ekobox/cli/convert.py
+++ b/src/ekobox/cli/convert.py
@@ -1,4 +1,5 @@
"""Upgrade old files."""
+
import pathlib
from typing import Optional
diff --git a/src/ekobox/cli/inspect.py b/src/ekobox/cli/inspect.py
index f37f09cce..5787c5f1e 100644
--- a/src/ekobox/cli/inspect.py
+++ b/src/ekobox/cli/inspect.py
@@ -1,4 +1,5 @@
"""Launch EKO calculations, with legacy mu2grid mode."""
+
import pathlib
import click
diff --git a/src/ekobox/cli/library.py b/src/ekobox/cli/library.py
index 911f5ccaa..04cc980d7 100644
--- a/src/ekobox/cli/library.py
+++ b/src/ekobox/cli/library.py
@@ -1,4 +1,5 @@
"""Library of reusable options and elements."""
+
import pathlib
import click
diff --git a/src/ekobox/cli/log.py b/src/ekobox/cli/log.py
index 38a63d4a3..2dcd7d9e0 100644
--- a/src/ekobox/cli/log.py
+++ b/src/ekobox/cli/log.py
@@ -1,4 +1,5 @@
"""Logging settings."""
+
import logging
from rich.console import Console
diff --git a/src/ekobox/cli/run.py b/src/ekobox/cli/run.py
index 16e11c5fd..9a91e36ab 100644
--- a/src/ekobox/cli/run.py
+++ b/src/ekobox/cli/run.py
@@ -1,4 +1,5 @@
"""Launch EKO calculations, with legacy mu2grid mode."""
+
import pathlib
from typing import Sequence
diff --git a/src/ekobox/cli/runcards.py b/src/ekobox/cli/runcards.py
index 1ad7d91d4..020a58917 100644
--- a/src/ekobox/cli/runcards.py
+++ b/src/ekobox/cli/runcards.py
@@ -1,4 +1,5 @@
"""Subcommand to manage runcards."""
+
import logging
import pathlib
diff --git a/src/ekobox/evol_pdf.py b/src/ekobox/evol_pdf.py
index 49cda53b6..cfb3cc88b 100644
--- a/src/ekobox/evol_pdf.py
+++ b/src/ekobox/evol_pdf.py
@@ -1,4 +1,5 @@
"""Tools to evolve actual PDFs."""
+
import pathlib
from collections import defaultdict
diff --git a/src/ekobox/genpdf/__init__.py b/src/ekobox/genpdf/__init__.py
index af94a410e..4666891bc 100644
--- a/src/ekobox/genpdf/__init__.py
+++ b/src/ekobox/genpdf/__init__.py
@@ -1,4 +1,5 @@
"""Create fake PDF sets for debugging."""
+
import copy
import logging
import pathlib
@@ -81,9 +82,9 @@ def take_data(
all_blocks.append(
[
generate_block(
- lambda pid, x, Q2: 0.0
- if pid not in parent_pdf_set
- else parent_pdf_set[pid](x, Q2),
+ lambda pid, x, Q2: (
+ 0.0 if pid not in parent_pdf_set else parent_pdf_set[pid](x, Q2)
+ ),
xgrid,
sorted_q2grid,
br.flavor_basis_pids,
diff --git a/src/ekobox/genpdf/export.py b/src/ekobox/genpdf/export.py
index 98bab23b0..f3ca8d31d 100644
--- a/src/ekobox/genpdf/export.py
+++ b/src/ekobox/genpdf/export.py
@@ -1,4 +1,5 @@
"""PDF set writer."""
+
import io
import pathlib
import re
diff --git a/src/ekobox/genpdf/flavors.py b/src/ekobox/genpdf/flavors.py
index 2798ccb19..6b7d90ebe 100644
--- a/src/ekobox/genpdf/flavors.py
+++ b/src/ekobox/genpdf/flavors.py
@@ -1,4 +1,5 @@
"""Collection of flavor tools."""
+
import copy
import numpy as np
diff --git a/src/ekobox/genpdf/load.py b/src/ekobox/genpdf/load.py
index f4ecb9f74..988038998 100644
--- a/src/ekobox/genpdf/load.py
+++ b/src/ekobox/genpdf/load.py
@@ -1,4 +1,5 @@
"""PDF set elements loaders."""
+
import pathlib
import numpy as np
diff --git a/src/ekobox/info_file.py b/src/ekobox/info_file.py
index 2f99d8377..26e3cb170 100644
--- a/src/ekobox/info_file.py
+++ b/src/ekobox/info_file.py
@@ -1,4 +1,5 @@
"""LHAPDF info file utilities."""
+
import copy
import math
diff --git a/src/ekobox/mock.py b/src/ekobox/mock.py
index ad56ad0cb..06ba8fae9 100644
--- a/src/ekobox/mock.py
+++ b/src/ekobox/mock.py
@@ -1,4 +1,5 @@
"""Mocking tools."""
+
import numpy as np
diff --git a/src/ekobox/utils.py b/src/ekobox/utils.py
index 095e605e9..0047d0872 100644
--- a/src/ekobox/utils.py
+++ b/src/ekobox/utils.py
@@ -1,4 +1,5 @@
"""Generic utilities to work with EKOs."""
+
import os
from typing import Optional
diff --git a/src/ekomark/__init__.py b/src/ekomark/__init__.py
index f3c8b2d7c..7f002b449 100644
--- a/src/ekomark/__init__.py
+++ b/src/ekomark/__init__.py
@@ -1,4 +1,5 @@
"""Benchmark package for eko."""
+
from eko import basis_rotation as br
diff --git a/src/ekomark/benchmark/external/LHA_utils.py b/src/ekomark/benchmark/external/LHA_utils.py
index 39043394e..f58d44d3e 100644
--- a/src/ekomark/benchmark/external/LHA_utils.py
+++ b/src/ekomark/benchmark/external/LHA_utils.py
@@ -1,4 +1,5 @@
"""Implementation of :cite:`Giele:2002hx` and :cite:`Dittmar:2005ed` (NNLO and polarized)."""
+
import pathlib
import numpy as np
diff --git a/src/ekomark/benchmark/external/apfel_utils.py b/src/ekomark/benchmark/external/apfel_utils.py
index b209d54a9..6659b3e58 100644
--- a/src/ekomark/benchmark/external/apfel_utils.py
+++ b/src/ekomark/benchmark/external/apfel_utils.py
@@ -1,4 +1,5 @@
"""|APFEL| interface."""
+
import time
import numpy as np
diff --git a/src/ekomark/benchmark/external/lhapdf_utils.py b/src/ekomark/benchmark/external/lhapdf_utils.py
index 6e327f86b..40a591070 100644
--- a/src/ekomark/benchmark/external/lhapdf_utils.py
+++ b/src/ekomark/benchmark/external/lhapdf_utils.py
@@ -1,4 +1,5 @@
"""LHAPDF interface."""
+
import numpy as np
from eko import basis_rotation as br
diff --git a/src/ekomark/benchmark/external/pegasus_utils.py b/src/ekomark/benchmark/external/pegasus_utils.py
index 14be7c71d..373a3d334 100644
--- a/src/ekomark/benchmark/external/pegasus_utils.py
+++ b/src/ekomark/benchmark/external/pegasus_utils.py
@@ -1,4 +1,5 @@
"""|Pegasus| interface."""
+
import numpy as np
from eko import basis_rotation as br
diff --git a/src/ekomark/benchmark/runner.py b/src/ekomark/benchmark/runner.py
index 180f439e6..8ac48f5d3 100644
--- a/src/ekomark/benchmark/runner.py
+++ b/src/ekomark/benchmark/runner.py
@@ -1,4 +1,5 @@
"""Abstract layer for running the benchmarks."""
+
import functools
import logging
import os
diff --git a/src/ekomark/data/operators.py b/src/ekomark/data/operators.py
index dfbbc6ad9..ad928574d 100644
--- a/src/ekomark/data/operators.py
+++ b/src/ekomark/data/operators.py
@@ -1,4 +1,5 @@
"""Operator card configurations."""
+
from banana.data import cartesian_product, sql
from eko import interpolation
diff --git a/src/ekomark/navigator/__init__.py b/src/ekomark/navigator/__init__.py
index f1c70a907..de2b75f25 100644
--- a/src/ekomark/navigator/__init__.py
+++ b/src/ekomark/navigator/__init__.py
@@ -1,4 +1,5 @@
"""ekomark specialization of the navigator."""
+
import argparse
import pathlib
diff --git a/src/ekomark/navigator/glob.py b/src/ekomark/navigator/glob.py
index ecb39b22f..a0c393884 100644
--- a/src/ekomark/navigator/glob.py
+++ b/src/ekomark/navigator/glob.py
@@ -1,3 +1,4 @@
"""Global variables register."""
+
app = None
glob = globals()
diff --git a/src/ekomark/navigator/navigator.py b/src/ekomark/navigator/navigator.py
index c624c0737..27bcc61ef 100644
--- a/src/ekomark/navigator/navigator.py
+++ b/src/ekomark/navigator/navigator.py
@@ -1,4 +1,5 @@
"""EKO implementation of navigator."""
+
import os
import webbrowser
diff --git a/src/ekomark/plots.py b/src/ekomark/plots.py
index 92a155de3..0395bd03d 100644
--- a/src/ekomark/plots.py
+++ b/src/ekomark/plots.py
@@ -1,4 +1,5 @@
"""Plotting tools to show the evolved PDF and the computed operators."""
+
import io
import pprint
diff --git a/src/ekore/anomalous_dimensions/polarized/space_like/as2.py b/src/ekore/anomalous_dimensions/polarized/space_like/as2.py
index 95134d7ae..b031f26b2 100644
--- a/src/ekore/anomalous_dimensions/polarized/space_like/as2.py
+++ b/src/ekore/anomalous_dimensions/polarized/space_like/as2.py
@@ -59,8 +59,7 @@ def gamma_qg(n, nf, cache):
gqg1_nfca = (
(S1**2 - S2 + Sp2m) * (n - 1) / (n * (n + 1))
- 4 * S1 / (n * (1 + n) ** 2)
- - (-2 - 7 * n + 3 * n**2 - 4 * n**3 + n**4 + n**5)
- / (n**3 * (1 + n) ** 3)
+ - (-2 - 7 * n + 3 * n**2 - 4 * n**3 + n**4 + n**5) / (n**3 * (1 + n) ** 3)
) * 2.0
gqg1_nfcf = (
(-(S1**2) + S2 + 2 * S1 / n) * (n - 1) / (n * (n + 1))
@@ -150,21 +149,12 @@ def gamma_gg(n, nf, cache):
* S1
* (72 + 144 * n + 67 * n**2 + 134 * n**3 + 67 * n**4)
/ (9 * n**2 * (n + 1) ** 2)
- - (
- 144
- + 258 * n
- + 7 * n**2
- + 698 * n**3
- + 469 * n**4
- + 144 * n**5
- + 48 * n**6
- )
+ - (144 + 258 * n + 7 * n**2 + 698 * n**3 + 469 * n**4 + 144 * n**5 + 48 * n**6)
/ (9 * n**3 * (1 + n) ** 3)
) * 0.5
ggg1_canf = (
-5 * S1 / 9
- + (-3 + 13 * n + 16 * n**2 + 6 * n**3 + 3 * n**4)
- / (9 * n**2 * (1 + n) ** 2)
+ + (-3 + 13 * n + 16 * n**2 + 6 * n**3 + 3 * n**4) / (9 * n**2 * (1 + n) ** 2)
) * 4
ggg1_cfnf = (4 + 2 * n - 8 * n**2 + n**3 + 5 * n**4 + 3 * n**5 + n**6) / (
n**3 * (1 + n) ** 3
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as3.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as3.py
index b9bbd356d..98705f491 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as3.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as3.py
@@ -5,6 +5,7 @@
Note that the QCD colour factors have been hard-wired in the parametrizations.
"""
+
import numba as nb
import numpy as np
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/__init__.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/__init__.py
index 9b3b37517..5e46cbb15 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/__init__.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/__init__.py
@@ -3,6 +3,7 @@
For further documentation see :doc:`N3LO anomalous dimensions <../../../theory/N3LO_ad>`
"""
+
import numba as nb
import numpy as np
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/__init__.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/__init__.py
index e92a55ffa..ec8949119 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/__init__.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/__init__.py
@@ -2,6 +2,7 @@
Authors follow Pegasus convention and so there is an additional global minus sign with respect to our conventions.
"""
+
import numba as nb
import numpy as np
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggg.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggg.py
index 1d2a2555b..640448e6a 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggg.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggg.py
@@ -1,4 +1,5 @@
r"""The unpolarized, space-like anomalous dimension :math:`\gamma_{gg}^{(3)}`."""
+
import numba as nb
from ......harmonics import cache as c
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggq.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggq.py
index 97904f459..312b79c52 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggq.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggq.py
@@ -1,4 +1,5 @@
r"""The unpolarized, space-like anomalous dimension :math:`\gamma_{gq}^{(3)}`."""
+
import numba as nb
from ......harmonics import cache as c
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gnsm.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gnsm.py
index 5d80c9c75..30280b015 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gnsm.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gnsm.py
@@ -1,4 +1,5 @@
r"""The unpolarized, space-like anomalous dimension :math:`\gamma_{ns,-}^{(3)}`."""
+
import numba as nb
from eko.constants import CF, zeta3
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gnsp.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gnsp.py
index de69d5313..6da3354f9 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gnsp.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gnsp.py
@@ -1,4 +1,5 @@
r"""The unpolarized, space-like anomalous dimension :math:`\gamma_{ns,+}^{(3)}`."""
+
import numba as nb
from eko.constants import CF, zeta3
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gnsv.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gnsv.py
index 9b7dcfecd..b871dedad 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gnsv.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gnsv.py
@@ -1,4 +1,5 @@
r"""The unpolarized, space-like anomalous dimension :math:`\gamma_{ns,v}^{(3)}`."""
+
import numba as nb
from ......harmonics import cache as c
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gps.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gps.py
index 87a8ba15d..13ca9d32b 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gps.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gps.py
@@ -1,4 +1,5 @@
r"""The unpolarized, space-like anomalous dimension :math:`\gamma_{ps}^{(3)}`."""
+
import numba as nb
from ......harmonics import cache as c
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gqg.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gqg.py
index dd3244fd7..5d7a7b4fa 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gqg.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/gqg.py
@@ -1,4 +1,5 @@
r"""The unpolarized, space-like anomalous dimension :math:`\gamma_{qg}^{(3)}`."""
+
import numba as nb
import numpy as np
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/gnsm.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/gnsm.py
index 14886c5ab..4bd7fa472 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/gnsm.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/gnsm.py
@@ -1,4 +1,5 @@
r"""The unpolarized, space-like anomalous dimension :math:`\gamma_{ns,-}^{(3)}`."""
+
import numba as nb
from eko.constants import CF, zeta3
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/gnsp.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/gnsp.py
index c8a75e081..e6364f9d4 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/gnsp.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/gnsp.py
@@ -1,4 +1,5 @@
r"""The unpolarized, space-like anomalous dimension :math:`\gamma_{ns,+}^{(3)}`."""
+
import numba as nb
from .....harmonics import cache as c
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/gnsv.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/gnsv.py
index 9de2d2f7f..b8dc60ec2 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/gnsv.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/gnsv.py
@@ -1,4 +1,5 @@
r"""The unpolarized, space-like anomalous dimension :math:`\gamma_{ns,v}^{(3)}`."""
+
import numba as nb
from .....harmonics import cache as c
diff --git a/src/ekore/harmonics/__init__.py b/src/ekore/harmonics/__init__.py
index d5818dacd..a6a69f5f0 100644
--- a/src/ekore/harmonics/__init__.py
+++ b/src/ekore/harmonics/__init__.py
@@ -2,6 +2,7 @@
Definitions are coming from :cite:`MuselliPhD,Bl_mlein_2000,Blumlein:2009ta`.
"""
+
from . import cache, g_functions, polygamma
from .w1 import S1, Sm1
from .w2 import S2, Sm2
diff --git a/src/ekore/harmonics/cache.py b/src/ekore/harmonics/cache.py
index 1bc8f54fe..d1892ea1b 100644
--- a/src/ekore/harmonics/cache.py
+++ b/src/ekore/harmonics/cache.py
@@ -1,4 +1,5 @@
"""Caching harmonic sums across :mod:`ekore`."""
+
from typing import Optional
import numba as nb
diff --git a/src/ekore/harmonics/g_functions.py b/src/ekore/harmonics/g_functions.py
index 6c648e95b..875238547 100644
--- a/src/ekore/harmonics/g_functions.py
+++ b/src/ekore/harmonics/g_functions.py
@@ -3,6 +3,7 @@
Implementations of some Mellin transformations :math:`g_k(N)` :cite:`MuselliPhD`
appearing in the analytic continuation of harmonics sums of weight = 3,4.
"""
+
import numba as nb
import numpy as np
diff --git a/src/ekore/harmonics/log_functions.py b/src/ekore/harmonics/log_functions.py
index fe0d48c38..eccba40bf 100644
--- a/src/ekore/harmonics/log_functions.py
+++ b/src/ekore/harmonics/log_functions.py
@@ -6,6 +6,7 @@
- :math:`\ln^k(1-x), \quad k = 1,3,4,5`
"""
+
import numba as nb
diff --git a/src/ekore/harmonics/w3.py b/src/ekore/harmonics/w3.py
index be245aa72..7bed3beee 100644
--- a/src/ekore/harmonics/w3.py
+++ b/src/ekore/harmonics/w3.py
@@ -69,8 +69,7 @@ def Sm3(N, hS3, hS3mh, hS3h, is_singlet=None):
"""
if is_singlet is None:
return (
- 1 / 2**2 * ((1 - (-1) ** N) / 2 * hS3mh + ((-1) ** N + 1) / 2 * hS3h)
- - hS3
+ 1 / 2**2 * ((1 - (-1) ** N) / 2 * hS3mh + ((-1) ** N + 1) / 2 * hS3h) - hS3
)
if is_singlet:
return 1 / 2**2 * hS3h - hS3
diff --git a/src/ekore/harmonics/w4.py b/src/ekore/harmonics/w4.py
index 0b6863542..869e4c9bf 100644
--- a/src/ekore/harmonics/w4.py
+++ b/src/ekore/harmonics/w4.py
@@ -69,8 +69,7 @@ def Sm4(N, hS4, hS4mh, hS4h, is_singlet=None):
"""
if is_singlet is None:
return (
- 1 / 2**3 * ((1 - (-1) ** N) / 2 * hS4mh + ((-1) ** N + 1) / 2 * hS4h)
- - hS4
+ 1 / 2**3 * ((1 - (-1) ** N) / 2 * hS4mh + ((-1) ** N + 1) / 2 * hS4h) - hS4
)
if is_singlet:
return 1 / 2**3 * hS4h - hS4
diff --git a/src/ekore/harmonics/w5.py b/src/ekore/harmonics/w5.py
index 19b52881c..169de46e8 100644
--- a/src/ekore/harmonics/w5.py
+++ b/src/ekore/harmonics/w5.py
@@ -68,8 +68,7 @@ def Sm5(N, hS5, hS5mh, hS5h, is_singlet=None):
"""
if is_singlet is None:
return (
- 1 / 2**4 * ((1 - (-1) ** N) / 2 * hS5mh + ((-1) ** N + 1) / 2 * hS5h)
- - hS5
+ 1 / 2**4 * ((1 - (-1) ** N) / 2 * hS5mh + ((-1) ** N + 1) / 2 * hS5h) - hS5
)
if is_singlet:
return 1 / 2**4 * hS5h - hS5
diff --git a/src/ekore/operator_matrix_elements/polarized/space_like/as1.py b/src/ekore/operator_matrix_elements/polarized/space_like/as1.py
index 86aec2bb7..29d74b138 100644
--- a/src/ekore/operator_matrix_elements/polarized/space_like/as1.py
+++ b/src/ekore/operator_matrix_elements/polarized/space_like/as1.py
@@ -6,6 +6,7 @@
Additionally, a different convention for the anomalous dimensions is used, yielding a factor 2 in the |OME|'s wherever they are present.
The anomalous dimensions and beta function with the addition 'hat' have the form :math:`\hat\gamma = \gamma^{(nf+1)} - \gamma^{(nf)}`.
"""
+
import numba as nb
import numpy as np
diff --git a/src/ekore/operator_matrix_elements/polarized/space_like/as2.py b/src/ekore/operator_matrix_elements/polarized/space_like/as2.py
index 86d061ddb..9ff4e3f3c 100644
--- a/src/ekore/operator_matrix_elements/polarized/space_like/as2.py
+++ b/src/ekore/operator_matrix_elements/polarized/space_like/as2.py
@@ -4,6 +4,7 @@
As in the |NLO| |OME|, in the paper, an additional factor 2 can be found in front of the anomalous dimensions and factor (-1) for odd powers of L.
The anomalous dimensions and beta function with the addition 'hat' are defined as in the |NLO| case.
"""
+
import numba as nb
import numpy as np
@@ -120,9 +121,7 @@ def A_hq_ps(n, cache, L, nf):
)
# term that differentiates between M scheme and Larin scheme,
# we are computing in M scheme hence the addition of this term
- z_qq_ps = (
- -CF * TR * nf * ((8 * (2 + n) * (n**2 - n - 1)) / (n**3 * (n + 1) ** 3))
- )
+ z_qq_ps = -CF * TR * nf * ((8 * (2 + n) * (n**2 - n - 1)) / (n**3 * (n + 1) ** 3))
gamma1_ps_qqhat = (16 * CF * (2 + n) * (1 + 2 * n + n**3) * TR) / (
n**3 * ((1 + n) ** 3)
)
@@ -220,17 +219,9 @@ def A_hg(n, cache, L):
+ 2 * n**8
)
+ 8 * (-1 + n) * n**2 * (1 + n) ** 2 * (2 + n) ** 2 * np.pi**2
- + 24
- * n**3
- * (1 + n)
- * (2 - 10 * n - n**2 + 4 * n**3 + n**4)
- * S1
+ + 24 * n**3 * (1 + n) * (2 - 10 * n - n**2 + 4 * n**3 + n**4) * S1
+ 24 * n**3 * (1 + n) ** 2 * (5 + 4 * n + n**2) * S1**2
- + 24
- * n**2
- * (1 + n) ** 2
- * (-16 + 15 * n + 24 * n**2 + 7 * n**3)
- * S2
+ + 24 * n**2 * (1 + n) ** 2 * (-16 + 15 * n + 24 * n**2 + 7 * n**3) * S2
- 24
* (1 - n)
* n**3
@@ -345,8 +336,7 @@ def A_gg(n, cache, L):
S1 = c.get(c.S1, cache, n)
ggg1_canf = (
-5 * S1 / 9
- + (-3 + 13 * n + 16 * n**2 + 6 * n**3 + 3 * n**4)
- / (9 * n**2 * (1 + n) ** 2)
+ + (-3 + 13 * n + 16 * n**2 + 6 * n**3 + 3 * n**4) / (9 * n**2 * (1 + n) ** 2)
) * 4
ggg1_cfnf = (4 + 2 * n - 8 * n**2 + n**3 + 5 * n**4 + 3 * n**5 + n**6) / (
n**3 * (1 + n) ** 3
@@ -364,16 +354,7 @@ def A_gg(n, cache, L):
- 8
) / (n**4 * (1 + n) ** 4)
a_gg_a = (
- 2
- * (
- 15 * n**6
- + 45 * n**5
- + 374 * n**4
- + 601 * n**3
- + 161 * n**2
- - 24 * n
- + 36
- )
+ 2 * (15 * n**6 + 45 * n**5 + 374 * n**4 + 601 * n**3 + 161 * n**2 - 24 * n + 36)
) / (27 * n**3 * (1 + n) ** 3) - (4 * S1 * (47 + 56 * n) / (27 * (1 + n)))
a_gg_l0 = TR * (CF * a_gg_f + CA * a_gg_a)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as1.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as1.py
index 76eaecb7f..d776f23f1 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as1.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as1.py
@@ -5,6 +5,7 @@
The other matching conditions for the |VFNS| at :math:`\mu_F^2 \neq m_H^2`
are provided in :cite:`Buza_1998`.
"""
+
import numba as nb
import numpy as np
@@ -39,12 +40,7 @@ def A_hh(n, cache, L):
S2m = c.get(c.S2, cache, n) - 1 / n**2 # harmonics.S2(n - 1)
ahh_l = (2 + n - 3 * n**2) / (n * (1 + n)) + 4 * S1m
ahh = 2 * (
- 2
- + 5 * n
- + n**2
- - 6 * n**3
- - 2 * n**4
- - 2 * n * (-1 - 2 * n + n**3) * S1m
+ 2 + 5 * n + n**2 - 6 * n**3 - 2 * n**4 - 2 * n * (-1 - 2 * n + n**3) * S1m
) / (n * (1 + n)) ** 2 + 4 * (S1m**2 + S2m)
return -CF * (ahh_l * L + ahh)
@@ -70,9 +66,7 @@ def A_gh(n, L):
"""
agh_l1 = (2 + n + n**2) / (n * (n**2 - 1))
- agh_l0 = (-4 + 2 * n + n**2 * (15 + n * (3 + n - n**2))) / (
- n * (n**2 - 1)
- ) ** 2
+ agh_l0 = (-4 + 2 * n + n**2 * (15 + n * (3 + n - n**2))) / (n * (n**2 - 1)) ** 2
return 2 * CF * (agh_l0 + agh_l1 * L)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as2.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as2.py
index 7f5de669b..9c1f58f53 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as2.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as2.py
@@ -8,6 +8,7 @@
The expession for ``A_Hg_l0`` comes form :cite:`Bierenbaum:2009zt`.
"""
+
import numba as nb
import numpy as np
@@ -57,16 +58,11 @@ def A_qq_ns(n, cache, L):
+ 20.0 / 9.0 * (S2 - 1.0 / n**2 - zeta2 + S2 + 1.0 / (n + 1.0) ** 2 - zeta2)
+ 2.0
/ 3.0
- * (
- -2.0 * (S3 - 1.0 / n**3 - zeta3)
- - 2.0 * (S3 + 1.0 / (n + 1.0) ** 3 - zeta3)
- )
+ * (-2.0 * (S3 - 1.0 / n**3 - zeta3) - 2.0 * (S3 + 1.0 / (n + 1.0) ** 3 - zeta3))
)
a_qq_l1 = (
- 2
- * (-12 - 28 * n + 9 * n**2 + 34 * n**3 - 3 * n**4)
- / (9 * (n * (n + 1)) ** 2)
+ 2 * (-12 - 28 * n + 9 * n**2 + 34 * n**3 - 3 * n**4) / (9 * (n * (n + 1)) ** 2)
+ 80 / 9 * S1m
- 16 / 3 * S2m
)
@@ -200,15 +196,7 @@ def A_hg(n, cache, L):
+ 12 * Sm3 * (2 + n + n**2) / (n * (1 + n) * (2 + n))
- 24 * Sm2 * (4 + n - n**2) / ((1 + n) * (2 + n)) ** 2
- S1
- * (
- 48 / n
- + 432
- + 564 * n
- + 324 * n**2
- + 138 * n**3
- + 48 * n**4
- + 6 * n**5
- )
+ * (48 / n + 432 + 564 * n + 324 * n**2 + 138 * n**3 + 48 * n**4 + 6 * n**5)
/ ((1 + n) * (2 + n)) ** 3
+ S1
* (-160 - 32 / n**2 - 80 / n + 8 * n * (n - 1))
@@ -219,19 +207,10 @@ def A_hg(n, cache, L):
* S2
* (63 + 48 / n**2 + 54 / n + 39 * n + 63 * n**2 + 21 * n**3)
/ ((n - 1) * (1 + n) ** 2 * (2 + n) ** 2)
- + 8
- * S2
- * (17 - 2 / n**2 - 5 / n + n * (17 + n))
- / (3 * (1 + n) ** 2 * (2 + n))
+ + 8 * S2 * (17 - 2 / n**2 - 5 / n + n * (17 + n)) / (3 * (1 + n) ** 2 * (2 + n))
+ (1 + 2 / n + n)
/ ((1 + n) * (2 + n))
- * (
- 24 * Sm2 * S1
- + 10 * S1**3 / 9
- + 46 * S1 * S2 / 3
- + 176 * S3 / 9
- - 24 * Sm21
- )
+ * (24 * Sm2 * S1 + 10 * S1**3 / 9 + 46 * S1 * S2 / 3 + 176 * S3 / 9 - 24 * Sm21)
)
a_hg_l1 = (
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
index fe5fab45a..2f3cd7c12 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
@@ -1,4 +1,5 @@
"""The unpolarized, space-like |N3LO| heavy-gluon |OME|."""
+
# pylint: skip-file
import numba as nb
import numpy as np
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
index 8791817b7..2b6becb2e 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
@@ -1,4 +1,5 @@
"""The approximated incomplete part of renormalization constant :math:`a_{Hg}^{S,(3)}(N)`."""
+
# pylint: skip-file
import numba as nb
import numpy as np
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
index a0a27759c..0e15c44f4 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
@@ -1,4 +1,5 @@
"""The unpolarized, space-like |N3LO| heavy-quark |OME|."""
+
# pylint: disable=too-many-lines
import numba as nb
import numpy as np
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
index 5172f2e2e..5437b61a0 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
@@ -1,4 +1,5 @@
"""The unpolarized, space-like |N3LO| gluon-gluon |OME|."""
+
# pylint: skip-file
import numba as nb
import numpy as np
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
index a75a90fe8..78dd978fe 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
@@ -1,4 +1,5 @@
"""The unpolarized, space-like |N3LO| gluon-quark |OME|."""
+
import numba as nb
import numpy as np
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
index aa96a0dde..44b14419a 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
@@ -1,4 +1,5 @@
"""The unpolarized, space-like |N3LO| quark-gluon |OME|."""
+
import numba as nb
import numpy as np
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqNS.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqNS.py
index f5a374f20..f7208c781 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqNS.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqNS.py
@@ -1,4 +1,5 @@
"""The unpolarized, space-like |N3LO| quark-quark non-singlet |OME|."""
+
import numba as nb
import numpy as np
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqPS.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqPS.py
index 743faaf34..a71d46379 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqPS.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqPS.py
@@ -1,4 +1,5 @@
"""The unpolarized, space-like |N3LO| quark-quark pure-singlet |OME|."""
+
import numba as nb
import numpy as np
diff --git a/tests/eko/kernels/test_ns.py b/tests/eko/kernels/test_ns.py
index 86abef4bf..f78282142 100644
--- a/tests/eko/kernels/test_ns.py
+++ b/tests/eko/kernels/test_ns.py
@@ -165,10 +165,7 @@ def test_ode_n3lo():
a0 = 0.3
for a1 in [0.1, 0.2]:
r = (
- gamma_ns[0]
- + a1 * gamma_ns[1]
- + a1**2 * gamma_ns[2]
- + a1**3 * gamma_ns[3]
+ gamma_ns[0] + a1 * gamma_ns[1] + a1**2 * gamma_ns[2] + a1**3 * gamma_ns[3]
) / (
beta.beta_qcd((2, 0), nf) * a1
+ beta.beta_qcd((3, 0), nf) * a1**2
diff --git a/tests/eko/test_beta.py b/tests/eko/test_beta.py
index 682c79f57..8fcdd6931 100644
--- a/tests/eko/test_beta.py
+++ b/tests/eko/test_beta.py
@@ -2,6 +2,7 @@
This module tests the implemented beta functions and the value
of alpha_s for different orders.
"""
+
import numpy as np
import pytest
diff --git a/tests/eko/test_couplings.py b/tests/eko/test_couplings.py
index 62110da16..ef32fb0d0 100644
--- a/tests/eko/test_couplings.py
+++ b/tests/eko/test_couplings.py
@@ -2,6 +2,7 @@
This module tests the implemented beta functions and the value
of alpha_s for different orders.
"""
+
import copy
import enum
diff --git a/tests/eko/test_gamma.py b/tests/eko/test_gamma.py
index 3e9533b89..dfa8f069f 100644
--- a/tests/eko/test_gamma.py
+++ b/tests/eko/test_gamma.py
@@ -1,6 +1,7 @@
"""
This module tests the implemented gamma functions
"""
+
import numpy as np
import pytest
diff --git a/tests/eko/test_matchings.py b/tests/eko/test_matchings.py
index 36a540f3f..12934789d 100644
--- a/tests/eko/test_matchings.py
+++ b/tests/eko/test_matchings.py
@@ -1,4 +1,5 @@
"""Tests for the threshold class"""
+
from dataclasses import astuple
import numpy as np
diff --git a/tests/eko/test_msbar_masses.py b/tests/eko/test_msbar_masses.py
index b0c102ef8..12cb88f91 100644
--- a/tests/eko/test_msbar_masses.py
+++ b/tests/eko/test_msbar_masses.py
@@ -1,4 +1,5 @@
"""Tests for the threshold class."""
+
import numpy as np
import pytest
diff --git a/tests/ekore/anomalous_dimensions/polarized/space_like/test_ad_as2.py b/tests/ekore/anomalous_dimensions/polarized/space_like/test_ad_as2.py
index 743bae92d..b77fd7a83 100755
--- a/tests/ekore/anomalous_dimensions/polarized/space_like/test_ad_as2.py
+++ b/tests/ekore/anomalous_dimensions/polarized/space_like/test_ad_as2.py
@@ -32,10 +32,7 @@ def test_qg_momentum():
cache = harmonics.cache.reset()
np.testing.assert_allclose(
-as2.gamma_qg(N, nf, cache),
- 4
- * nf
- * (0.574074 * CF - 2 * CA * (-7 / 18 + 1 / 6 * (5 - np.pi**2 / 3)))
- * TR,
+ 4 * nf * (0.574074 * CF - 2 * CA * (-7 / 18 + 1 / 6 * (5 - np.pi**2 / 3))) * TR,
)
@@ -58,6 +55,5 @@ def test_gg_momentum():
cache = harmonics.cache.reset()
np.testing.assert_almost_equal(
-as2.gamma_gg(N, nf, cache),
- 4
- * (-1.7537256813471833 * CA**2 + ((29 * CA) / 27 - (28 * CF) / 27) * nf * TR),
+ 4 * (-1.7537256813471833 * CA**2 + ((29 * CA) / 27 - (28 * CF) / 27) * nf * TR),
)
From 229a4bef76ec7aa4aefb79996d938b10036a799d Mon Sep 17 00:00:00 2001
From: Tanishq Sharma <99052355+t7phy@users.noreply.github.com>
Date: Wed, 7 Feb 2024 12:14:24 +0100
Subject: [PATCH 043/216] + a -1
---
src/ekore/anomalous_dimensions/unpolarized/time_like/as3.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ekore/anomalous_dimensions/unpolarized/time_like/as3.py b/src/ekore/anomalous_dimensions/unpolarized/time_like/as3.py
index 70793acc1..0d05c215e 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/time_like/as3.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/time_like/as3.py
@@ -265,7 +265,7 @@ def gamma_nsv(N, nf, cache):
S11 = S1 + N1I
S12 = S11 + N2I
B1 = -S1 * NI
- if abs(N.imag) < 0.00001 and abs(N.real) < 0.00001:
+ if abs(N.imag) < 0.00001 and abs(N.real - 1) < 0.00001:
B1M = -zeta2
else:
B1M = -S1M * NMI
From 79b316d26203ef0c4a077d9f13c285d34ef30686 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Mon, 12 Feb 2024 17:53:17 +0000
Subject: [PATCH 044/216] [pre-commit.ci] pre-commit autoupdate
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
updates:
- [github.com/pre-commit/pre-commit: v3.6.0 → v3.6.1](https://github.com/pre-commit/pre-commit/compare/v3.6.0...v3.6.1)
---
.pre-commit-config.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 1c163f0a3..3766ad7c1 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -62,6 +62,6 @@ repos:
files: ^crates/ekore/.*\.rs$
args: []
- repo: https://github.com/pre-commit/pre-commit
- rev: v3.6.0
+ rev: v3.6.1
hooks:
- id: validate_manifest
From 4f633d4e507ad3d31dd57080ee6b8750f47e22ee Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Tue, 13 Feb 2024 13:25:39 +0100
Subject: [PATCH 045/216] init LO test solution
---
tests/eko/scale_variations/test_expanded.py | 165 +++++++++++---------
1 file changed, 91 insertions(+), 74 deletions(-)
diff --git a/tests/eko/scale_variations/test_expanded.py b/tests/eko/scale_variations/test_expanded.py
index d85b8926a..6fed95f7d 100644
--- a/tests/eko/scale_variations/test_expanded.py
+++ b/tests/eko/scale_variations/test_expanded.py
@@ -2,7 +2,10 @@
from eko import basis_rotation as br
from eko.beta import beta_qcd_as2, beta_qcd_as3
+from eko.couplings import CouplingEvolutionMethod, Couplings, CouplingsInfo
+from eko.io.types import ScaleVariationsMethod as svm
from eko.kernels import non_singlet, singlet
+from eko.quantities.heavy_quarks import QuarkMassScheme
from eko.scale_variations import Modes, expanded, exponentiated
from ekore.anomalous_dimensions.unpolarized.space_like import gamma_ns, gamma_singlet
@@ -92,72 +95,64 @@ def test_valence_sv_dispacher_qed():
def test_scale_variation_a_vs_b():
- r"""
- Test ``ModSV=exponentiated`` kernel vs ``ModSV=expanded``.
- We test that the quantity :math:`(ker_A - ker_B)/ker_{unv}`
-
- Note this is NOT the real difference between scheme expanded
- and exponentiated since here we don't take into account the
- shifts in path length and :math:`\alpha_s` values.
- The real difference is always higher order.
+ r"""Test ``ModSV=exponentiated`` kernel vs ``ModSV=expanded``.
+
+ We test that the quantity :math:`(ker_A - ker_B)` for truncated solution,
+ is always higher order difference.
+
+ For simplicity we do FFNS nf=4.
"""
nf = 5
n = 10
- a1 = 0.118 / (4 * np.pi)
- a0 = 0.2 / (4 * np.pi)
- method = "truncated"
-
- def scheme_diff(g, k, pto, is_singlet):
- """
- :math:`(ker_A - ker_B)/ker_{unv}` for truncated expansion
- Effects due to non commutativity are neglected thus,
- the accuracy of singlet quantities is slightly worse.
- """
- if pto[0] >= 2:
- diff = -g[0] * k * a0 # - 2 * a1 * k * g[0]
- # if pto[0] >= 3:
- # b0 = beta_qcd_as2(nf)
- # g02 = g[0] @ g[0] if is_singlet else g[0] ** 2
- # diff += (
- # -2 * a1**2 * g[1] * k
- # + a0**2 * g[1] * k
- # + a1**2 * b0 * g[0] * k**2
- # - 0.5 * a0**2 * b0 * g[0] * k**2
- # - a1 * a0 * g02 * k**2
- # + 0.5 * a0**2 * g02 * k**2
- # + a1**2 * g02 * k**2
- # )
- # if pto[0] >= 4:
- # b1 = beta_qcd_as3(nf)
- # g0g1 = g[0] @ g[1] if is_singlet else g[0] * g[1]
- # g03 = g02 @ g[0] if is_singlet else g02 * g[0]
- # diff += (
- # a0**3 * g[2] * k
- # - 2 * a1**3 * g[2] * k
- # - 1 / 2 * a0**3 * b1 * g[0] * k**2
- # + a1**3 * b1 * g[0] * k**2
- # - a0**3 * b0 * g[1] * k**2
- # + 2 * a1**3 * b0 * g[1] * k**2
- # + a0**3 * g0g1 * k**2
- # - a0**2 * a1 * g0g1 * k**2
- # - a0 * a1**2 * g0g1 * k**2
- # + 2 * a1**3 * g0g1 * k**2
- # + 1 / 3 * a0**3 * b0**2 * g[0] * k**3
- # - 2 / 3 * a1**3 * b0**2 * g[0] * k**3
- # - 1 / 2 * a0**3 * b0 * g02 * k**3
- # + 1 / 2 * a0**2 * a1 * b0 * g02 * k**3
- # + 1 / 2 * a0 * a1**2 * b0 * g02 * k**3
- # - a1**3 * b0 * g02 * k**3
- # + 1 / 6 * a0**3 * g03 * k**3
- # - 1 / 2 * a0**2 * a1 * g03 * k**3
- # + 1 / 2 * a0 * a1**2 * g03 * k**3
- # - 1 / 3 * a1**3 * g03 * k**3
- # )
+ q02 = 1.65**2
+ q12 = 100**2
+ ev_method = "truncated"
+
+ ref = CouplingsInfo(
+ alphas=0.1181,
+ alphaem=0.007496,
+ scale=91.00,
+ max_num_flavs=6,
+ num_flavs_ref=4,
+ )
+
+ def compute_a_s(q2, nf, order):
+ sc = Couplings(
+ couplings=ref,
+ order=order,
+ method=CouplingEvolutionMethod.EXPANDED,
+ masses=np.array([1.51, 4.92, 172.5]) ** 2,
+ hqm_scheme=QuarkMassScheme.POLE,
+ # thresholds_ratios=np.array([1.0, 1.0, 1.0]) ** 2 * (
+ # xif2 if scvar_method == svm.EXPONENTIATED
+ # else 1.0
+ # )
+ # Let's do FFNS nf=4 for simplicity
+ thresholds_ratios=np.array([0, np.inf, np.inf]),
+ )
+ # the multiplication for xif2 here it's done explicitly above
+ return sc.a_s(scale_to=q2, nf_to=nf)
+
+ def scheme_diff(g, L, order):
+ """:math:`(ker_A - ker_B)/ker_{unv}` for truncated expansion."""
+ if order == (1, 0):
+ a0 = compute_a_s(q02, nf, order)
+ diff = g[0] * L * a0
+ # TODO: add higher order expressions
return diff
- for L in [np.log(0.5), np.log(2)]:
+ for xif2 in [0.5**2, 2**2]:
+ L = np.log(xif2)
# for order in [(2, 0), (3, 0), (4, 0)]:
- for order in [(2, 0)]:
+ for order in [(1, 0)]:
+ # compute values of alphas
+ a0_b = compute_a_s(q02, nf, order)
+ a1_b = compute_a_s(q12 * xif2, nf, order)
+
+ a0_a = compute_a_s(q02 * xif2, nf, order)
+ # for FFNS these 2 will coincide
+ a1_a = a1_b
+
# Non singlet kernels
gns = gamma_ns(
order,
@@ -166,36 +161,58 @@ def scheme_diff(g, k, pto, is_singlet):
nf,
n3lo_ad_variation=(0, 0, 0, 0, 0, 0, 0),
)
- ker = non_singlet.dispatcher(
- order, method, gns, a1, a0, nf, ev_op_iterations=1
+
+ # build scheme B solution
+ ker_b = non_singlet.dispatcher(
+ order, ev_method, gns, a1_b, a0_b, nf, ev_op_iterations=1
)
+ ker_b = ker_b * expanded.non_singlet_variation(gns, a1_b, order, nf, L)
+
+ # build scheme A solution
gns_a = exponentiated.gamma_variation(gns.copy(), order, nf, L)
ker_a = non_singlet.dispatcher(
- order, method, gns_a, a1, a0, nf, ev_op_iterations=1
+ order, ev_method, gns_a, a1_a, a0_a, nf, ev_op_iterations=1
)
- ker_b = ker * expanded.non_singlet_variation(gns, a1, order, nf, L)
- ns_diff = scheme_diff(gns, L, order, False)
+
+ ns_diff = scheme_diff(gns, L, order)
np.testing.assert_allclose(
- (ker_a - ker_b) / ker,
+ (ker_a - ker_b),
ns_diff,
- atol=1e-3,
err_msg=f"L={L},order={order},non-singlet",
)
# Singlet kernels
gs = gamma_singlet(order, n, nf, n3lo_ad_variation=(0, 0, 0, 0, 0, 0, 0))
- ker = singlet.dispatcher(
- order, method, gs, a1, a0, nf, ev_op_iterations=1, ev_op_max_order=1
+
+ # build scheme B solution
+ ker_b = singlet.dispatcher(
+ order,
+ ev_method,
+ gs,
+ a1_b,
+ a0_b,
+ nf,
+ ev_op_iterations=1,
+ ev_op_max_order=1,
)
+ ker_b = ker_b @ expanded.singlet_variation(gs, a1_b, order, nf, L, 2)
+
+ # build scheme A solution
gs_a = exponentiated.gamma_variation(gs.copy(), order, nf, L)
ker_a = singlet.dispatcher(
- order, method, gs_a, a1, a0, nf, ev_op_iterations=1, ev_op_max_order=1
+ order,
+ ev_method,
+ gs_a,
+ a1_a,
+ a0_a,
+ nf,
+ ev_op_iterations=1,
+ ev_op_max_order=1,
)
- ker_b = ker @ expanded.singlet_variation(gs, a1, order, nf, L, 2)
- s_diff = scheme_diff(gs, L, order, True)
+
+ s_diff = scheme_diff(gs, L, order)
np.testing.assert_allclose(
- (ker_a - ker_b) @ np.linalg.inv(ker),
+ (ker_a - ker_b),
s_diff,
- atol=5e-3,
err_msg=f"L={L},order={order},singlet",
)
From 5725ce07ce9d80b391e603e2635822b6cb023bd0 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Tue, 13 Feb 2024 13:55:19 +0100
Subject: [PATCH 046/216] attempt 2 to fix LO test
---
tests/eko/scale_variations/test_expanded.py | 28 ++++++++++++---------
1 file changed, 16 insertions(+), 12 deletions(-)
diff --git a/tests/eko/scale_variations/test_expanded.py b/tests/eko/scale_variations/test_expanded.py
index 6fed95f7d..83b2d0668 100644
--- a/tests/eko/scale_variations/test_expanded.py
+++ b/tests/eko/scale_variations/test_expanded.py
@@ -97,12 +97,12 @@ def test_valence_sv_dispacher_qed():
def test_scale_variation_a_vs_b():
r"""Test ``ModSV=exponentiated`` kernel vs ``ModSV=expanded``.
- We test that the quantity :math:`(ker_A - ker_B)` for truncated solution,
+ We test that the quantity :math:`ker_A / ker_B` for truncated solution,
is always higher order difference.
For simplicity we do FFNS nf=4.
"""
- nf = 5
+ nf = 4
n = 10
q02 = 1.65**2
q12 = 100**2
@@ -121,23 +121,26 @@ def compute_a_s(q2, nf, order):
couplings=ref,
order=order,
method=CouplingEvolutionMethod.EXPANDED,
- masses=np.array([1.51, 4.92, 172.5]) ** 2,
+ masses=np.array([1.51, 1e4, 1e5]) ** 2,
hqm_scheme=QuarkMassScheme.POLE,
# thresholds_ratios=np.array([1.0, 1.0, 1.0]) ** 2 * (
# xif2 if scvar_method == svm.EXPONENTIATED
# else 1.0
# )
# Let's do FFNS nf=4 for simplicity
- thresholds_ratios=np.array([0, np.inf, np.inf]),
+ thresholds_ratios=np.array([1.0, 1.0, 1.0]),
)
# the multiplication for xif2 here it's done explicitly above
return sc.a_s(scale_to=q2, nf_to=nf)
- def scheme_diff(g, L, order):
- """:math:`(ker_A - ker_B)/ker_{unv}` for truncated expansion."""
+ def scheme_diff(g, L, order, is_singlet):
+ """:math:`ker_A / ker_B` for truncated expansion."""
+
+ idx = np.eye(2) if is_singlet else 1
if order == (1, 0):
a0 = compute_a_s(q02, nf, order)
- diff = g[0] * L * a0
+ b0 = beta_qcd_as2(nf)
+ diff = (idx + b0 * L * a0) ** (g[0] / b0)
# TODO: add higher order expressions
return diff
@@ -174,9 +177,9 @@ def scheme_diff(g, L, order):
order, ev_method, gns_a, a1_a, a0_a, nf, ev_op_iterations=1
)
- ns_diff = scheme_diff(gns, L, order)
+ ns_diff = scheme_diff(gns, L, order, False)
np.testing.assert_allclose(
- (ker_a - ker_b),
+ ker_a / ker_b,
ns_diff,
err_msg=f"L={L},order={order},non-singlet",
)
@@ -210,9 +213,10 @@ def scheme_diff(g, L, order):
ev_op_max_order=1,
)
- s_diff = scheme_diff(gs, L, order)
+ s_diff = scheme_diff(gs, L, order, True)
np.testing.assert_allclose(
- (ker_a - ker_b),
- s_diff,
+ np.diag(ker_a / ker_b),
+ np.diag(s_diff),
err_msg=f"L={L},order={order},singlet",
+ rtol=4e-3,
)
From 7815a09e1b5b57280b7941b26d69aaa09d6281a0 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Tue, 13 Feb 2024 14:51:07 +0100
Subject: [PATCH 047/216] fix LO singlet test
---
tests/eko/scale_variations/test_expanded.py | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/tests/eko/scale_variations/test_expanded.py b/tests/eko/scale_variations/test_expanded.py
index 83b2d0668..873ec4b76 100644
--- a/tests/eko/scale_variations/test_expanded.py
+++ b/tests/eko/scale_variations/test_expanded.py
@@ -7,6 +7,7 @@
from eko.kernels import non_singlet, singlet
from eko.quantities.heavy_quarks import QuarkMassScheme
from eko.scale_variations import Modes, expanded, exponentiated
+from ekore.anomalous_dimensions import exp_matrix_2D
from ekore.anomalous_dimensions.unpolarized.space_like import gamma_ns, gamma_singlet
@@ -136,11 +137,12 @@ def compute_a_s(q2, nf, order):
def scheme_diff(g, L, order, is_singlet):
""":math:`ker_A / ker_B` for truncated expansion."""
- idx = np.eye(2) if is_singlet else 1
if order == (1, 0):
a0 = compute_a_s(q02, nf, order)
b0 = beta_qcd_as2(nf)
- diff = (idx + b0 * L * a0) ** (g[0] / b0)
+ diff = (1.0 + b0 * L * a0) ** (g[0] / b0)
+ if is_singlet:
+ diff = exp_matrix_2D(np.log(1.0 + b0 * L * a0) * g[0] / b0)[0]
# TODO: add higher order expressions
return diff
@@ -215,8 +217,7 @@ def scheme_diff(g, L, order, is_singlet):
s_diff = scheme_diff(gs, L, order, True)
np.testing.assert_allclose(
- np.diag(ker_a / ker_b),
- np.diag(s_diff),
+ ker_a @ np.linalg.inv(ker_b),
+ s_diff,
err_msg=f"L={L},order={order},singlet",
- rtol=4e-3,
)
From acdff1038cda5fc80c214f35ab0cd59d4d0c3ce3 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Wed, 14 Feb 2024 08:54:42 +0100
Subject: [PATCH 048/216] expand analytic LO resut
---
tests/eko/scale_variations/test_expanded.py | 39 ++++++++++++++++-----
1 file changed, 30 insertions(+), 9 deletions(-)
diff --git a/tests/eko/scale_variations/test_expanded.py b/tests/eko/scale_variations/test_expanded.py
index 873ec4b76..696f5e131 100644
--- a/tests/eko/scale_variations/test_expanded.py
+++ b/tests/eko/scale_variations/test_expanded.py
@@ -137,21 +137,40 @@ def compute_a_s(q2, nf, order):
def scheme_diff(g, L, order, is_singlet):
""":math:`ker_A / ker_B` for truncated expansion."""
+ b0 = beta_qcd_as2(nf)
if order == (1, 0):
- a0 = compute_a_s(q02, nf, order)
- b0 = beta_qcd_as2(nf)
- diff = (1.0 + b0 * L * a0) ** (g[0] / b0)
+ # series of (1.0 + b0 * L * a0) ** g[0] / b0), L->0
+ diff = (
+ 1
+ + a0 * g[0] * L
+ + 1 / 2 * a0**2 * g[0] * (-b0 + g[0]) * L**2
+ + 1 / 6 * a0**3 * g[0] * (2 * b0**2 - 3 * b0 * g[0] + g[0] ** 2) * L**3
+ )
if is_singlet:
- diff = exp_matrix_2D(np.log(1.0 + b0 * L * a0) * g[0] / b0)[0]
+ # series of exp_matrix_2D(np.log(1.0 + b0 * L * a0) * g[0] / b0)[0]
+ diff = (
+ np.eye(2)
+ + a0 * g[0] * L
+ + 1 / 2 * a0**2 * g[0] @ (-b0 + g[0]) * L**2
+ + 1
+ / 6
+ * a0**3
+ * g[0]
+ @ (2 * b0**2 - 3 * b0 * g[0] + g[0] @ g[0])
+ * L**3
+ )
# TODO: add higher order expressions
return diff
- for xif2 in [0.5**2, 2**2]:
+ # let's use smaller scale variation to
+ # keep the expansions under control
+ for xif2 in [0.7**2, 1.4**2]:
L = np.log(xif2)
# for order in [(2, 0), (3, 0), (4, 0)]:
for order in [(1, 0)]:
# compute values of alphas
- a0_b = compute_a_s(q02, nf, order)
+ a0 = compute_a_s(q02, nf, order)
+ a0_b = a0
a1_b = compute_a_s(q12 * xif2, nf, order)
a0_a = compute_a_s(q02 * xif2, nf, order)
@@ -184,6 +203,7 @@ def scheme_diff(g, L, order, is_singlet):
ker_a / ker_b,
ns_diff,
err_msg=f"L={L},order={order},non-singlet",
+ rtol=2e-5,
)
# Singlet kernels
@@ -200,7 +220,7 @@ def scheme_diff(g, L, order, is_singlet):
ev_op_iterations=1,
ev_op_max_order=1,
)
- ker_b = ker_b @ expanded.singlet_variation(gs, a1_b, order, nf, L, 2)
+ ker_b = expanded.singlet_variation(gs, a1_b, order, nf, L, 2) @ ker_b
# build scheme A solution
gs_a = exponentiated.gamma_variation(gs.copy(), order, nf, L)
@@ -217,7 +237,8 @@ def scheme_diff(g, L, order, is_singlet):
s_diff = scheme_diff(gs, L, order, True)
np.testing.assert_allclose(
- ker_a @ np.linalg.inv(ker_b),
- s_diff,
+ np.diag(ker_a @ np.linalg.inv(ker_b)),
+ np.diag(s_diff),
err_msg=f"L={L},order={order},singlet",
+ rtol=2e-3,
)
From cb9e6626e59f16190628bf230a42e81c6c1e2fc6 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Wed, 14 Feb 2024 08:58:00 +0100
Subject: [PATCH 049/216] black
---
tests/eko/scale_variations/test_expanded.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/eko/scale_variations/test_expanded.py b/tests/eko/scale_variations/test_expanded.py
index 696f5e131..8ee34cecd 100644
--- a/tests/eko/scale_variations/test_expanded.py
+++ b/tests/eko/scale_variations/test_expanded.py
@@ -147,7 +147,7 @@ def scheme_diff(g, L, order, is_singlet):
+ 1 / 6 * a0**3 * g[0] * (2 * b0**2 - 3 * b0 * g[0] + g[0] ** 2) * L**3
)
if is_singlet:
- # series of exp_matrix_2D(np.log(1.0 + b0 * L * a0) * g[0] / b0)[0]
+ # series of exp_matrix_2D(np.log(1.0 + b0 * L * a0) * g[0] / b0)[0], L->0
diff = (
np.eye(2)
+ a0 * g[0] * L
From 265dc94b39f67f4c3369aeb4672b1ad9ec271130 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 14 Feb 2024 11:28:55 +0200
Subject: [PATCH 050/216] Reshuffle SV test
---
tests/eko/scale_variations/test_diff.py | 150 +++++++++++++++++++
tests/eko/scale_variations/test_expanded.py | 153 +-------------------
2 files changed, 151 insertions(+), 152 deletions(-)
create mode 100644 tests/eko/scale_variations/test_diff.py
diff --git a/tests/eko/scale_variations/test_diff.py b/tests/eko/scale_variations/test_diff.py
new file mode 100644
index 000000000..802000e12
--- /dev/null
+++ b/tests/eko/scale_variations/test_diff.py
@@ -0,0 +1,150 @@
+"""Test ``ModSV=exponentiated`` kernel vs ``ModSV=expanded``.
+
+We test that the quantity :math:`ker_A / ker_B` for truncated solution,
+is always higher order difference.
+
+For simplicity we do FFNS nf=4.
+"""
+
+import numpy as np
+
+from eko import basis_rotation as br
+from eko.beta import beta_qcd_as2
+from eko.couplings import CouplingEvolutionMethod, Couplings, CouplingsInfo
+from eko.kernels import non_singlet, singlet
+from eko.quantities.heavy_quarks import QuarkMassScheme
+from eko.scale_variations import expanded, exponentiated
+from ekore.anomalous_dimensions.unpolarized.space_like import gamma_ns, gamma_singlet
+
+NF = 4
+Q02 = 1.65**2
+Q12 = 100**2
+EV_METHOD = "truncated"
+
+
+def compute_a_s(q2, order):
+ sc = Couplings(
+ couplings=CouplingsInfo(
+ alphas=0.1181,
+ alphaem=0.007496,
+ scale=91.00,
+ max_num_flavs=4,
+ num_flavs_ref=4,
+ ),
+ order=order,
+ method=CouplingEvolutionMethod.EXPANDED,
+ masses=np.array([0.0, np.inf, np.inf]),
+ hqm_scheme=QuarkMassScheme.POLE,
+ thresholds_ratios=np.array([1.0, 1.0, 1.0]),
+ )
+ # the multiplication for xif2 here it's done explicitly outside
+ return sc.a_s(scale_to=q2)
+
+
+def scheme_diff_ns(g, a0, L, order):
+ """:math:`ker_A / ker_B` for truncated non-singlet expansion."""
+
+ b0 = beta_qcd_as2(NF)
+ if order == (1, 0):
+ # series of (1.0 + b0 * L * a0) ** (g[0] / b0), L->0
+ diff = 1 + a0 * g[0] * L + 1 / 2 * a0**2 * g[0] * (-b0 + g[0]) * L**2
+ # TODO: add higher order expressions
+ return diff
+
+
+def scheme_diff_s(g, a0, L, order):
+ """:math:`ker_A / ker_B` for truncated singlet expansion."""
+
+ b0 = beta_qcd_as2(NF)
+ if order == (1, 0):
+ # series of exp(log(1.0 + b0 * L * a0) * g[0] / b0)[0], L->0
+ diff = np.eye(2) + a0 * g[0] * L + 1 / 2 * a0**2 * g[0] @ (-b0 + g[0]) * L**2
+ # TODO: add higher order expressions
+ return diff
+
+
+def test_scale_variation_a_vs_b():
+ r"""Test ``ModSV=exponentiated`` kernel vs ``ModSV=expanded``."""
+
+ # let's use smaller scale variation to
+ # keep the expansions under control
+ for xif2 in [0.9, 1.1]:
+ L = np.log(xif2)
+ # for order in [(2, 0), (3, 0), (4, 0)]:
+ for order in [(1, 0)]:
+ # compute values of alphas
+ a0 = compute_a_s(Q02, order)
+ a0_b = a0
+ a1_b = compute_a_s(Q12 * xif2, order)
+
+ a0_a = compute_a_s(Q02 * xif2, order)
+ # for FFNS these 2 will coincide
+ a1_a = a1_b
+ for n in [2.0, 3.0, 10.0]:
+ # Non singlet kernels
+ gns = gamma_ns(
+ order,
+ br.non_singlet_pids_map["ns+"],
+ n,
+ NF,
+ n3lo_ad_variation=(0, 0, 0, 0, 0, 0, 0),
+ )
+
+ # build scheme B solution
+ ker_b = non_singlet.dispatcher(
+ order, EV_METHOD, gns, a1_b, a0_b, NF, ev_op_iterations=1
+ )
+ ker_b = ker_b * expanded.non_singlet_variation(gns, a1_b, order, NF, L)
+
+ # build scheme A solution
+ gns_a = exponentiated.gamma_variation(gns.copy(), order, NF, L)
+ ker_a = non_singlet.dispatcher(
+ order, EV_METHOD, gns_a, a1_a, a0_a, NF, ev_op_iterations=1
+ )
+
+ ns_diff = scheme_diff_ns(gns, a0, L, order)
+ np.testing.assert_allclose(
+ ker_a / ker_b,
+ ns_diff,
+ err_msg=f"{L=},{order=},{n=},non-singlet",
+ rtol=2e-5,
+ )
+
+ # Singlet kernels
+ gs = gamma_singlet(
+ order, n, NF, n3lo_ad_variation=(0, 0, 0, 0, 0, 0, 0)
+ )
+
+ # build scheme B solution
+ ker_b = singlet.dispatcher(
+ order,
+ EV_METHOD,
+ gs,
+ a1_b,
+ a0_b,
+ NF,
+ ev_op_iterations=1,
+ ev_op_max_order=1,
+ )
+ ker_b = expanded.singlet_variation(gs, a1_b, order, NF, L, 2) @ ker_b
+
+ # build scheme A solution
+ gs_a = exponentiated.gamma_variation(gs.copy(), order, NF, L)
+ ker_a = singlet.dispatcher(
+ order,
+ EV_METHOD,
+ gs_a,
+ a1_a,
+ a0_a,
+ NF,
+ ev_op_iterations=1,
+ ev_op_max_order=1,
+ )
+
+ s_diff = scheme_diff_s(gs, a0, L, order)
+ np.testing.assert_allclose(
+ np.diag(ker_a @ np.linalg.inv(ker_b)),
+ np.diag(s_diff),
+ err_msg=f"{L=},{order=},{n=},singlet",
+ rtol=2e-4,
+ )
diff --git a/tests/eko/scale_variations/test_expanded.py b/tests/eko/scale_variations/test_expanded.py
index 8ee34cecd..4f21cd314 100644
--- a/tests/eko/scale_variations/test_expanded.py
+++ b/tests/eko/scale_variations/test_expanded.py
@@ -1,13 +1,11 @@
import numpy as np
from eko import basis_rotation as br
-from eko.beta import beta_qcd_as2, beta_qcd_as3
+from eko.beta import beta_qcd_as2
from eko.couplings import CouplingEvolutionMethod, Couplings, CouplingsInfo
-from eko.io.types import ScaleVariationsMethod as svm
from eko.kernels import non_singlet, singlet
from eko.quantities.heavy_quarks import QuarkMassScheme
from eko.scale_variations import Modes, expanded, exponentiated
-from ekore.anomalous_dimensions import exp_matrix_2D
from ekore.anomalous_dimensions.unpolarized.space_like import gamma_ns, gamma_singlet
@@ -93,152 +91,3 @@ def test_valence_sv_dispacher_qed():
),
np.eye(2),
)
-
-
-def test_scale_variation_a_vs_b():
- r"""Test ``ModSV=exponentiated`` kernel vs ``ModSV=expanded``.
-
- We test that the quantity :math:`ker_A / ker_B` for truncated solution,
- is always higher order difference.
-
- For simplicity we do FFNS nf=4.
- """
- nf = 4
- n = 10
- q02 = 1.65**2
- q12 = 100**2
- ev_method = "truncated"
-
- ref = CouplingsInfo(
- alphas=0.1181,
- alphaem=0.007496,
- scale=91.00,
- max_num_flavs=6,
- num_flavs_ref=4,
- )
-
- def compute_a_s(q2, nf, order):
- sc = Couplings(
- couplings=ref,
- order=order,
- method=CouplingEvolutionMethod.EXPANDED,
- masses=np.array([1.51, 1e4, 1e5]) ** 2,
- hqm_scheme=QuarkMassScheme.POLE,
- # thresholds_ratios=np.array([1.0, 1.0, 1.0]) ** 2 * (
- # xif2 if scvar_method == svm.EXPONENTIATED
- # else 1.0
- # )
- # Let's do FFNS nf=4 for simplicity
- thresholds_ratios=np.array([1.0, 1.0, 1.0]),
- )
- # the multiplication for xif2 here it's done explicitly above
- return sc.a_s(scale_to=q2, nf_to=nf)
-
- def scheme_diff(g, L, order, is_singlet):
- """:math:`ker_A / ker_B` for truncated expansion."""
-
- b0 = beta_qcd_as2(nf)
- if order == (1, 0):
- # series of (1.0 + b0 * L * a0) ** g[0] / b0), L->0
- diff = (
- 1
- + a0 * g[0] * L
- + 1 / 2 * a0**2 * g[0] * (-b0 + g[0]) * L**2
- + 1 / 6 * a0**3 * g[0] * (2 * b0**2 - 3 * b0 * g[0] + g[0] ** 2) * L**3
- )
- if is_singlet:
- # series of exp_matrix_2D(np.log(1.0 + b0 * L * a0) * g[0] / b0)[0], L->0
- diff = (
- np.eye(2)
- + a0 * g[0] * L
- + 1 / 2 * a0**2 * g[0] @ (-b0 + g[0]) * L**2
- + 1
- / 6
- * a0**3
- * g[0]
- @ (2 * b0**2 - 3 * b0 * g[0] + g[0] @ g[0])
- * L**3
- )
- # TODO: add higher order expressions
- return diff
-
- # let's use smaller scale variation to
- # keep the expansions under control
- for xif2 in [0.7**2, 1.4**2]:
- L = np.log(xif2)
- # for order in [(2, 0), (3, 0), (4, 0)]:
- for order in [(1, 0)]:
- # compute values of alphas
- a0 = compute_a_s(q02, nf, order)
- a0_b = a0
- a1_b = compute_a_s(q12 * xif2, nf, order)
-
- a0_a = compute_a_s(q02 * xif2, nf, order)
- # for FFNS these 2 will coincide
- a1_a = a1_b
-
- # Non singlet kernels
- gns = gamma_ns(
- order,
- br.non_singlet_pids_map["ns+"],
- n,
- nf,
- n3lo_ad_variation=(0, 0, 0, 0, 0, 0, 0),
- )
-
- # build scheme B solution
- ker_b = non_singlet.dispatcher(
- order, ev_method, gns, a1_b, a0_b, nf, ev_op_iterations=1
- )
- ker_b = ker_b * expanded.non_singlet_variation(gns, a1_b, order, nf, L)
-
- # build scheme A solution
- gns_a = exponentiated.gamma_variation(gns.copy(), order, nf, L)
- ker_a = non_singlet.dispatcher(
- order, ev_method, gns_a, a1_a, a0_a, nf, ev_op_iterations=1
- )
-
- ns_diff = scheme_diff(gns, L, order, False)
- np.testing.assert_allclose(
- ker_a / ker_b,
- ns_diff,
- err_msg=f"L={L},order={order},non-singlet",
- rtol=2e-5,
- )
-
- # Singlet kernels
- gs = gamma_singlet(order, n, nf, n3lo_ad_variation=(0, 0, 0, 0, 0, 0, 0))
-
- # build scheme B solution
- ker_b = singlet.dispatcher(
- order,
- ev_method,
- gs,
- a1_b,
- a0_b,
- nf,
- ev_op_iterations=1,
- ev_op_max_order=1,
- )
- ker_b = expanded.singlet_variation(gs, a1_b, order, nf, L, 2) @ ker_b
-
- # build scheme A solution
- gs_a = exponentiated.gamma_variation(gs.copy(), order, nf, L)
- ker_a = singlet.dispatcher(
- order,
- ev_method,
- gs_a,
- a1_a,
- a0_a,
- nf,
- ev_op_iterations=1,
- ev_op_max_order=1,
- )
-
- s_diff = scheme_diff(gs, L, order, True)
- np.testing.assert_allclose(
- np.diag(ker_a @ np.linalg.inv(ker_b)),
- np.diag(s_diff),
- err_msg=f"L={L},order={order},singlet",
- rtol=2e-3,
- )
From 8d5915cca6c281b40a4ee4b23d54ef9df1cbe461 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 14 Feb 2024 12:59:32 +0200
Subject: [PATCH 051/216] Clean up test/eko/sv/expo
---
tests/eko/scale_variations/test_expanded.py | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/tests/eko/scale_variations/test_expanded.py b/tests/eko/scale_variations/test_expanded.py
index 4f21cd314..7be181226 100644
--- a/tests/eko/scale_variations/test_expanded.py
+++ b/tests/eko/scale_variations/test_expanded.py
@@ -1,12 +1,6 @@
import numpy as np
-from eko import basis_rotation as br
-from eko.beta import beta_qcd_as2
-from eko.couplings import CouplingEvolutionMethod, Couplings, CouplingsInfo
-from eko.kernels import non_singlet, singlet
-from eko.quantities.heavy_quarks import QuarkMassScheme
-from eko.scale_variations import Modes, expanded, exponentiated
-from ekore.anomalous_dimensions.unpolarized.space_like import gamma_ns, gamma_singlet
+from eko.scale_variations import Modes, expanded
def test_modes():
From d297c7d1150f198901ab41c68c128cf0604568f4 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 14 Feb 2024 13:37:01 +0200
Subject: [PATCH 052/216] Add test_expanded_is_linear
---
tests/eko/scale_variations/test_expanded.py | 108 ++++++++++++++++++++
1 file changed, 108 insertions(+)
diff --git a/tests/eko/scale_variations/test_expanded.py b/tests/eko/scale_variations/test_expanded.py
index 7be181226..6af22dd51 100644
--- a/tests/eko/scale_variations/test_expanded.py
+++ b/tests/eko/scale_variations/test_expanded.py
@@ -1,6 +1,35 @@
import numpy as np
+from eko import basis_rotation as br
+from eko.couplings import CouplingEvolutionMethod, Couplings, CouplingsInfo
+from eko.kernels import non_singlet, singlet
+from eko.quantities.heavy_quarks import QuarkMassScheme
from eko.scale_variations import Modes, expanded
+from ekore.anomalous_dimensions.unpolarized.space_like import gamma_ns, gamma_singlet
+
+NF = 4
+Q02 = 1.65**2
+Q12 = 100**2
+EV_METHOD = "truncated"
+
+
+def compute_a_s(q2, order):
+ sc = Couplings(
+ couplings=CouplingsInfo(
+ alphas=0.1181,
+ alphaem=0.007496,
+ scale=91.00,
+ max_num_flavs=4,
+ num_flavs_ref=4,
+ ),
+ order=order,
+ method=CouplingEvolutionMethod.EXPANDED,
+ masses=np.array([0.0, np.inf, np.inf]),
+ hqm_scheme=QuarkMassScheme.POLE,
+ thresholds_ratios=np.array([1.0, 1.0, 1.0]),
+ )
+ # the multiplication for xif2 here it's done explicitly outside
+ return sc.a_s(scale_to=q2)
def test_modes():
@@ -85,3 +114,82 @@ def test_valence_sv_dispacher_qed():
),
np.eye(2),
)
+
+
+def test_expanded_is_linear():
+ r"""Test is linear."""
+ for order in [(1, 0), (2, 0), (3, 0), (4, 0)]:
+ for n in [2.0, 3.0, 10.0]:
+ rel_err_ns = []
+ rel_err_s = []
+ for L in [0.3, 0.5, 0.7]:
+ xif2 = np.exp(L)
+ # compute values of alphas
+ a0 = compute_a_s(Q02, order)
+ a1 = compute_a_s(Q12, order)
+ a1_b = compute_a_s(Q12 * xif2, order)
+ # Non singlet kernels
+ gns = gamma_ns(
+ order,
+ br.non_singlet_pids_map["ns+"],
+ n,
+ NF,
+ n3lo_ad_variation=(0, 0, 0, 0, 0, 0, 0),
+ )
+
+ # build scheme B solution
+ ker_b = non_singlet.dispatcher(
+ order, EV_METHOD, gns, a1, a0, NF, ev_op_iterations=1
+ )
+ sv_b = non_singlet.dispatcher(
+ order, EV_METHOD, gns, a1_b, a0, NF, ev_op_iterations=1
+ )
+ sv_b = sv_b * expanded.non_singlet_variation(gns, a1_b, order, NF, L)
+
+ rel_err_ns.append(sv_b / ker_b)
+
+ # Singlet kernels
+ gs = gamma_singlet(
+ order, n, NF, n3lo_ad_variation=(0, 0, 0, 0, 0, 0, 0)
+ )
+
+ # build scheme B solution
+ ker_b = singlet.dispatcher(
+ order,
+ EV_METHOD,
+ gs,
+ a1,
+ a0,
+ NF,
+ ev_op_iterations=1,
+ ev_op_max_order=1,
+ )
+ sv_b = singlet.dispatcher(
+ order,
+ EV_METHOD,
+ gs,
+ a1_b,
+ a0,
+ NF,
+ ev_op_iterations=1,
+ ev_op_max_order=1,
+ )
+ sv_b = expanded.singlet_variation(gs, a1_b, order, NF, L, 2) @ sv_b
+ rel_err_s.append(sv_b @ np.linalg.inv(ker_b))
+
+ # there must be something
+ for err in rel_err_ns:
+ assert np.abs(err) != 1.0
+ for err in np.array(rel_err_s).flatten():
+ assert np.abs(err) != 1.0
+ # error has to increase
+ np.testing.assert_allclose(
+ rel_err_ns,
+ sorted(rel_err_ns, reverse=True),
+ err_msg=f"{order=},{n=},non-singlet",
+ )
+ np.testing.assert_allclose(
+ rel_err_s,
+ sorted(rel_err_s, key=np.max, reverse=True),
+ err_msg=f"{order=},{n=},singlet",
+ )
From 6118ca0cb5c8c1ea8211256575608db738fd94f1 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Wed, 14 Feb 2024 18:13:50 +0100
Subject: [PATCH 053/216] add NLO diff
---
tests/eko/scale_variations/test_diff.py | 101 +++++++++++++++++++++---
1 file changed, 91 insertions(+), 10 deletions(-)
diff --git a/tests/eko/scale_variations/test_diff.py b/tests/eko/scale_variations/test_diff.py
index 802000e12..b2b9c9aa5 100644
--- a/tests/eko/scale_variations/test_diff.py
+++ b/tests/eko/scale_variations/test_diff.py
@@ -9,7 +9,7 @@
import numpy as np
from eko import basis_rotation as br
-from eko.beta import beta_qcd_as2
+from eko.beta import beta_qcd_as2, beta_qcd_as3
from eko.couplings import CouplingEvolutionMethod, Couplings, CouplingsInfo
from eko.kernels import non_singlet, singlet
from eko.quantities.heavy_quarks import QuarkMassScheme
@@ -41,25 +41,105 @@ def compute_a_s(q2, order):
return sc.a_s(scale_to=q2)
-def scheme_diff_ns(g, a0, L, order):
+def scheme_diff_ns(g, a0, a1, L, order):
""":math:`ker_A / ker_B` for truncated non-singlet expansion."""
b0 = beta_qcd_as2(NF)
+ b1 = beta_qcd_as3(NF)
if order == (1, 0):
# series of (1.0 + b0 * L * a0) ** (g[0] / b0), L->0
diff = 1 + a0 * g[0] * L + 1 / 2 * a0**2 * g[0] * (-b0 + g[0]) * L**2
- # TODO: add higher order expressions
+ if order == (2, 0):
+ # this term is formally 1 + as^2
+ diff = (
+ 1
+ - (a1**2 * g[0] * L * (-b1 * g[0] + b0 * (g[1] + b0 * g[0] * L))) / b0**2
+ + (
+ (a0 * a1 * g[0] * L)
+ * (
+ -2 * b1 * (g[0] + 2 * a1 * b0 * g[0] * L)
+ + b0 * (3 * b0 * g[0] * L + g[1] * (2 + 4 * a1 * b0 * L))
+ )
+ )
+ / b0**2
+ + (a0**2 * L / (2 * b0**5))
+ * (
+ -2 * a1**2 * b1**3 * g[0] ** 3
+ + 6 * a1**2 * b0 * b1**2 * g[0] ** 2 * g[1]
+ + 3 * b0**6 * g[0] * L
+ + b0**5
+ * (
+ -3 * g[0] ** 2 * L
+ + 2 * a1**2 * g[1] ** 2 * L
+ + g[1] * (2 - 20 * a1 * g[0] * L)
+ )
+ + (2 * a1 * b0**2 * b1 * g[0])
+ * (-3 * a1 * g[1] ** 2 + b1 * g[0] * (-1 + 3 * a1 * g[0] * L))
+ + (2 * b0**3)
+ * (
+ a1**2 * g[1] ** 3
+ - 5 * a1**2 * b1**2 * g[0] ** 2 * L
+ + b1 * g[0] * (g[0] + 2 * a1 * g[1] - 5 * a1**2 * g[0] * g[1] * L)
+ )
+ + b0**4
+ * (
+ -2 * a1 * g[1] ** 2
+ + 20 * a1 * b1 * g[0] ** 2 * L
+ + 2 * g[0] * g[1] * (-1 + 2 * a1**2 * (2 * b1 + g[1]) * L)
+ )
+ )
+ )
return diff
-def scheme_diff_s(g, a0, L, order):
+def scheme_diff_s(g, a0, a1, L, order):
""":math:`ker_A / ker_B` for truncated singlet expansion."""
b0 = beta_qcd_as2(NF)
+ b1 = beta_qcd_as3(NF)
if order == (1, 0):
# series of exp(log(1.0 + b0 * L * a0) * g[0] / b0)[0], L->0
diff = np.eye(2) + a0 * g[0] * L + 1 / 2 * a0**2 * g[0] @ (-b0 + g[0]) * L**2
- # TODO: add higher order expressions
+ elif order == (2, 0):
+ # this term is formally 1 + as^2
+ diff = (
+ np.eye(2)
+ - (a1**2 * g[0] * L @ (-b1 * g[0] + b0 * (g[1] + b0 * g[0] * L))) / b0**2
+ + (
+ (a0 * a1 * g[0] * L)
+ @ (
+ -2 * b1 * (g[0] + 2 * a1 * b0 * g[0] * L)
+ + b0 * (3 * b0 * g[0] * L + g[1] * (2 + 4 * a1 * b0 * L))
+ )
+ )
+ / b0**2
+ + (a0**2 * L / (2 * b0**5))
+ * (
+ -2 * a1**2 * b1**3 * g[0] @ g[0] @ g[0]
+ + 6 * a1**2 * b0 * b1**2 * g[0] @ g[0] @ g[1]
+ + 3 * b0**6 * g[0] * L
+ + b0**5
+ * (
+ -3 * g[0] @ g[0] * L
+ + 2 * a1**2 * g[1] @ g[1] * L
+ + g[1] @ (2 - 20 * a1 * g[0] * L)
+ )
+ + (2 * a1 * b0**2 * b1 * g[0])
+ @ (-3 * a1 * g[1] @ g[1] + b1 * g[0] @ (-1 + 3 * a1 * g[0] * L))
+ + (2 * b0**3)
+ * (
+ a1**2 * g[1] @ g[1] @ g[1]
+ - 5 * a1**2 * b1**2 * g[0] @ g[0] * L
+ + b1 * g[0] @ (g[0] + 2 * a1 * g[1] - 5 * a1**2 * g[0] @ g[1] * L)
+ )
+ + b0**4
+ * (
+ -2 * a1 * g[1] @ g[1]
+ + 20 * a1 * b1 * g[0] @ g[0] * L
+ + 2 * g[0] @ g[1] @ (-1 + 2 * a1**2 * (2 * b1 + g[1]) * L)
+ )
+ )
+ )
return diff
@@ -71,9 +151,10 @@ def test_scale_variation_a_vs_b():
for xif2 in [0.9, 1.1]:
L = np.log(xif2)
# for order in [(2, 0), (3, 0), (4, 0)]:
- for order in [(1, 0)]:
+ for order in [(1, 0), (2, 0)]:
# compute values of alphas
a0 = compute_a_s(Q02, order)
+ a1 = compute_a_s(Q12, order)
a0_b = a0
a1_b = compute_a_s(Q12 * xif2, order)
@@ -102,12 +183,12 @@ def test_scale_variation_a_vs_b():
order, EV_METHOD, gns_a, a1_a, a0_a, NF, ev_op_iterations=1
)
- ns_diff = scheme_diff_ns(gns, a0, L, order)
+ ns_diff = scheme_diff_ns(gns, a0, a1, L, order)
np.testing.assert_allclose(
ker_a / ker_b,
ns_diff,
err_msg=f"{L=},{order=},{n=},non-singlet",
- rtol=2e-5,
+ rtol=2e-5 if order == (1, 0) else 3e-3,
)
# Singlet kernels
@@ -141,10 +222,10 @@ def test_scale_variation_a_vs_b():
ev_op_max_order=1,
)
- s_diff = scheme_diff_s(gs, a0, L, order)
+ s_diff = scheme_diff_s(gs, a0, a1, L, order)
np.testing.assert_allclose(
np.diag(ker_a @ np.linalg.inv(ker_b)),
np.diag(s_diff),
err_msg=f"{L=},{order=},{n=},singlet",
- rtol=2e-4,
+ rtol=2e-4 if order == (1, 0) else 9e-3,
)
From b958638f3abed0929c904af962542ab2644bc4c4 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Wed, 14 Feb 2024 18:32:21 +0100
Subject: [PATCH 054/216] cleaning
---
tests/eko/scale_variations/test_diff.py | 64 ++++---------------------
1 file changed, 10 insertions(+), 54 deletions(-)
diff --git a/tests/eko/scale_variations/test_diff.py b/tests/eko/scale_variations/test_diff.py
index b2b9c9aa5..eb66ccd3a 100644
--- a/tests/eko/scale_variations/test_diff.py
+++ b/tests/eko/scale_variations/test_diff.py
@@ -56,37 +56,15 @@ def scheme_diff_ns(g, a0, a1, L, order):
- (a1**2 * g[0] * L * (-b1 * g[0] + b0 * (g[1] + b0 * g[0] * L))) / b0**2
+ (
(a0 * a1 * g[0] * L)
- * (
- -2 * b1 * (g[0] + 2 * a1 * b0 * g[0] * L)
- + b0 * (3 * b0 * g[0] * L + g[1] * (2 + 4 * a1 * b0 * L))
- )
+ * (-2 * b1 * g[0] + b0 * (3 * b0 * g[0] * L + g[1] * 2))
)
/ b0**2
+ (a0**2 * L / (2 * b0**5))
* (
- -2 * a1**2 * b1**3 * g[0] ** 3
- + 6 * a1**2 * b0 * b1**2 * g[0] ** 2 * g[1]
- + 3 * b0**6 * g[0] * L
- + b0**5
- * (
- -3 * g[0] ** 2 * L
- + 2 * a1**2 * g[1] ** 2 * L
- + g[1] * (2 - 20 * a1 * g[0] * L)
- )
- + (2 * a1 * b0**2 * b1 * g[0])
- * (-3 * a1 * g[1] ** 2 + b1 * g[0] * (-1 + 3 * a1 * g[0] * L))
- + (2 * b0**3)
- * (
- a1**2 * g[1] ** 3
- - 5 * a1**2 * b1**2 * g[0] ** 2 * L
- + b1 * g[0] * (g[0] + 2 * a1 * g[1] - 5 * a1**2 * g[0] * g[1] * L)
- )
- + b0**4
- * (
- -2 * a1 * g[1] ** 2
- + 20 * a1 * b1 * g[0] ** 2 * L
- + 2 * g[0] * g[1] * (-1 + 2 * a1**2 * (2 * b1 + g[1]) * L)
- )
+ +3 * b0**6 * g[0] * L
+ + b0**5 * (-3 * g[0] * g[0] * L + g[1] * 2)
+ + (2 * b0**3) * (+b1 * g[0] * (g[0]))
+ + b0**4 * (-2 * g[0] * g[1])
)
)
return diff
@@ -107,37 +85,15 @@ def scheme_diff_s(g, a0, a1, L, order):
- (a1**2 * g[0] * L @ (-b1 * g[0] + b0 * (g[1] + b0 * g[0] * L))) / b0**2
+ (
(a0 * a1 * g[0] * L)
- @ (
- -2 * b1 * (g[0] + 2 * a1 * b0 * g[0] * L)
- + b0 * (3 * b0 * g[0] * L + g[1] * (2 + 4 * a1 * b0 * L))
- )
+ @ (-2 * b1 * g[0] + b0 * (3 * b0 * g[0] * L + g[1] * 2))
)
/ b0**2
+ (a0**2 * L / (2 * b0**5))
* (
- -2 * a1**2 * b1**3 * g[0] @ g[0] @ g[0]
- + 6 * a1**2 * b0 * b1**2 * g[0] @ g[0] @ g[1]
- + 3 * b0**6 * g[0] * L
- + b0**5
- * (
- -3 * g[0] @ g[0] * L
- + 2 * a1**2 * g[1] @ g[1] * L
- + g[1] @ (2 - 20 * a1 * g[0] * L)
- )
- + (2 * a1 * b0**2 * b1 * g[0])
- @ (-3 * a1 * g[1] @ g[1] + b1 * g[0] @ (-1 + 3 * a1 * g[0] * L))
- + (2 * b0**3)
- * (
- a1**2 * g[1] @ g[1] @ g[1]
- - 5 * a1**2 * b1**2 * g[0] @ g[0] * L
- + b1 * g[0] @ (g[0] + 2 * a1 * g[1] - 5 * a1**2 * g[0] @ g[1] * L)
- )
- + b0**4
- * (
- -2 * a1 * g[1] @ g[1]
- + 20 * a1 * b1 * g[0] @ g[0] * L
- + 2 * g[0] @ g[1] @ (-1 + 2 * a1**2 * (2 * b1 + g[1]) * L)
- )
+ +3 * b0**6 * g[0] * L
+ + b0**5 * (-3 * g[0] @ g[0] * L + g[1] * 2)
+ + (2 * b0**3) * (+b1 * g[0] @ (g[0]))
+ + b0**4 * (-2 * g[0] @ g[1])
)
)
return diff
From 02a6855227545fed3686288d746437a692a409e5 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 15 Feb 2024 11:28:57 +0200
Subject: [PATCH 055/216] Apply cosmetic changes to test_diff
---
tests/eko/scale_variations/test_diff.py | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/tests/eko/scale_variations/test_diff.py b/tests/eko/scale_variations/test_diff.py
index eb66ccd3a..c0dd67236 100644
--- a/tests/eko/scale_variations/test_diff.py
+++ b/tests/eko/scale_variations/test_diff.py
@@ -49,7 +49,7 @@ def scheme_diff_ns(g, a0, a1, L, order):
if order == (1, 0):
# series of (1.0 + b0 * L * a0) ** (g[0] / b0), L->0
diff = 1 + a0 * g[0] * L + 1 / 2 * a0**2 * g[0] * (-b0 + g[0]) * L**2
- if order == (2, 0):
+ elif order == (2, 0):
# this term is formally 1 + as^2
diff = (
1
@@ -106,17 +106,14 @@ def test_scale_variation_a_vs_b():
# keep the expansions under control
for xif2 in [0.9, 1.1]:
L = np.log(xif2)
- # for order in [(2, 0), (3, 0), (4, 0)]:
for order in [(1, 0), (2, 0)]:
# compute values of alphas
a0 = compute_a_s(Q02, order)
a1 = compute_a_s(Q12, order)
a0_b = a0
a1_b = compute_a_s(Q12 * xif2, order)
-
a0_a = compute_a_s(Q02 * xif2, order)
- # for FFNS these 2 will coincide
- a1_a = a1_b
+ a1_a = a1_b # for FFNS these 2 will coincide
for n in [2.0, 3.0, 10.0]:
# Non singlet kernels
gns = gamma_ns(
From bbf18009ddeb7d67c1a815359948fc90733b519c Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Mon, 19 Feb 2024 18:04:27 +0000
Subject: [PATCH 056/216] [pre-commit.ci] pre-commit autoupdate
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
updates:
- [github.com/psf/black-pre-commit-mirror: 24.1.1 → 24.2.0](https://github.com/psf/black-pre-commit-mirror/compare/24.1.1...24.2.0)
- [github.com/asottile/pyupgrade: v3.15.0 → v3.15.1](https://github.com/asottile/pyupgrade/compare/v3.15.0...v3.15.1)
- [github.com/pre-commit/pre-commit: v3.6.1 → v3.6.2](https://github.com/pre-commit/pre-commit/compare/v3.6.1...v3.6.2)
---
.pre-commit-config.yaml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 3766ad7c1..f81f1b250 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -19,7 +19,7 @@ repos:
- id: pycln
args: [--config=pyproject.toml]
- repo: https://github.com/psf/black-pre-commit-mirror
- rev: 24.1.1
+ rev: 24.2.0
hooks:
- id: black
- repo: https://github.com/asottile/blacken-docs
@@ -32,7 +32,7 @@ repos:
- id: isort
args: ["--profile", "black"]
- repo: https://github.com/asottile/pyupgrade
- rev: v3.15.0
+ rev: v3.15.1
hooks:
- id: pyupgrade
- repo: https://github.com/pycqa/pydocstyle
@@ -62,6 +62,6 @@ repos:
files: ^crates/ekore/.*\.rs$
args: []
- repo: https://github.com/pre-commit/pre-commit
- rev: v3.6.1
+ rev: v3.6.2
hooks:
- id: validate_manifest
From 87c1495aafe8f2758438943ab1538bbea6d36cec Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 27 Feb 2024 15:47:45 +0200
Subject: [PATCH 057/216] Allow py 3.12
---
.github/workflows/unittests.yml | 2 +-
pyproject.toml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml
index ef3f7fa3f..acfb1dfe9 100644
--- a/.github/workflows/unittests.yml
+++ b/.github/workflows/unittests.yml
@@ -6,7 +6,7 @@ jobs:
test:
strategy:
matrix:
- python-version: ["3.8", "3.9", "3.10", "3.11"]
+ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
fail-fast: false
uses: N3PDF/workflows/.github/workflows/python-poetry-tests.yml@v2
diff --git a/pyproject.toml b/pyproject.toml
index d02ee9f80..23b904194 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -37,7 +37,7 @@ packages = [
]
[tool.poetry.dependencies]
-python = "^3.8,<3.12"
+python = "^3.8,<3.13"
numpy = "^1.24"
scipy = "^1.10.1"
PyYAML = "^6.0"
From 4fbd392f6ac198f3540dcd64c0718076700206f3 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 28 Feb 2024 11:22:32 +0200
Subject: [PATCH 058/216] Adjust deps: py,banana,nb
---
poetry.lock | 3109 +++++++++++++++++++++++++-----------------------
pyproject.toml | 6 +-
2 files changed, 1603 insertions(+), 1512 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index d27bb518a..3f6ffdeb8 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,14 +1,14 @@
-# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand.
[[package]]
name = "alabaster"
-version = "0.7.13"
-description = "A configurable sidebar-enabled Sphinx theme"
+version = "0.7.16"
+description = "A light, configurable Sphinx theme"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.9"
files = [
- {file = "alabaster-0.7.13-py3-none-any.whl", hash = "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3"},
- {file = "alabaster-0.7.13.tar.gz", hash = "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2"},
+ {file = "alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92"},
+ {file = "alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65"},
]
[[package]]
@@ -24,24 +24,24 @@ files = [
[[package]]
name = "appnope"
-version = "0.1.3"
+version = "0.1.4"
description = "Disable App Nap on macOS >= 10.9"
optional = false
-python-versions = "*"
+python-versions = ">=3.6"
files = [
- {file = "appnope-0.1.3-py2.py3-none-any.whl", hash = "sha256:265a455292d0bd8a72453494fa24df5a11eb18373a60c7c0430889f22548605e"},
- {file = "appnope-0.1.3.tar.gz", hash = "sha256:02bd91c4de869fbb1e1c50aafc4098827a7a54ab2f39d9dcba6c9547ed920e24"},
+ {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"},
+ {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"},
]
[[package]]
name = "astroid"
-version = "2.15.6"
+version = "2.15.8"
description = "An abstract syntax tree for Python with inference support."
optional = false
python-versions = ">=3.7.2"
files = [
- {file = "astroid-2.15.6-py3-none-any.whl", hash = "sha256:389656ca57b6108f939cf5d2f9a2a825a3be50ba9d589670f393236e0a03b91c"},
- {file = "astroid-2.15.6.tar.gz", hash = "sha256:903f024859b7c7687d7a7f3a3f73b17301f8e42dfd9cc9df9d4418172d3e2dbd"},
+ {file = "astroid-2.15.8-py3-none-any.whl", hash = "sha256:1aa149fc5c6589e3d0ece885b4491acd80af4f087baafa3fb5203b113e68cd3c"},
+ {file = "astroid-2.15.8.tar.gz", hash = "sha256:6c107453dffee9055899705de3c9ead36e74119cee151e5a9aaf7f0b0e020a6a"},
]
[package.dependencies]
@@ -54,20 +54,21 @@ wrapt = [
[[package]]
name = "asttokens"
-version = "2.2.1"
+version = "2.4.1"
description = "Annotate AST trees with source code positions"
optional = false
python-versions = "*"
files = [
- {file = "asttokens-2.2.1-py2.py3-none-any.whl", hash = "sha256:6b0ac9e93fb0335014d382b8fa9b3afa7df546984258005da0b9e7095b3deb1c"},
- {file = "asttokens-2.2.1.tar.gz", hash = "sha256:4622110b2a6f30b77e1473affaa97e711bc2f07d3f10848420ff1898edbe94f3"},
+ {file = "asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"},
+ {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"},
]
[package.dependencies]
-six = "*"
+six = ">=1.12.0"
[package.extras]
-test = ["astroid", "pytest"]
+astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"]
+test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"]
[[package]]
name = "asv"
@@ -87,56 +88,46 @@ hg = ["python-hglib (>=1.5)"]
[[package]]
name = "attrs"
-version = "23.1.0"
+version = "23.2.0"
description = "Classes Without Boilerplate"
optional = false
python-versions = ">=3.7"
files = [
- {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"},
- {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"},
+ {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"},
+ {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"},
]
[package.extras]
cov = ["attrs[tests]", "coverage[toml] (>=5.3)"]
-dev = ["attrs[docs,tests]", "pre-commit"]
+dev = ["attrs[tests]", "pre-commit"]
docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"]
tests = ["attrs[tests-no-zope]", "zope-interface"]
-tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
+tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"]
+tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"]
[[package]]
name = "babel"
-version = "2.12.1"
+version = "2.14.0"
description = "Internationalization utilities"
optional = false
python-versions = ">=3.7"
files = [
- {file = "Babel-2.12.1-py3-none-any.whl", hash = "sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610"},
- {file = "Babel-2.12.1.tar.gz", hash = "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455"},
+ {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"},
+ {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"},
]
-[package.dependencies]
-pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""}
-
-[[package]]
-name = "backcall"
-version = "0.2.0"
-description = "Specifications for callback functions passed in to an API"
-optional = false
-python-versions = "*"
-files = [
- {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"},
- {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"},
-]
+[package.extras]
+dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"]
[[package]]
name = "banana-hep"
-version = "0.6.12"
+version = "0.6.13"
description = "Benchmark QCD physics"
optional = true
-python-versions = ">=3.8.0,<3.12"
+python-versions = ">=3.9.0,<3.13"
files = [
- {file = "banana_hep-0.6.12-py3-none-any.whl", hash = "sha256:3cb065926a774689f6dee606dde0453e4e856dc1372c99e12f6b54aca26c41dd"},
- {file = "banana_hep-0.6.12.tar.gz", hash = "sha256:0cf4a78f5affa5e1afe138ae6c9df5414deb9785901b585fcbdf6bbf531a1b9b"},
+ {file = "banana_hep-0.6.13-py3-none-any.whl", hash = "sha256:a8348d6dff7c4d24b91ce9a69fdd71c262bb84ea8385a8571a5d91538d30bb69"},
+ {file = "banana_hep-0.6.13.tar.gz", hash = "sha256:b889fac6e2fafa5015b54a044ab3318003aa868a1f70e4f1312ef2151f720ac6"},
]
[package.dependencies]
@@ -144,40 +135,43 @@ appdirs = ">=1.4.4,<2.0.0"
click = ">=8.0.3,<9.0.0"
ipython = ">=8.1.0,<9.0.0"
matplotlib = ">=3.5.1,<4.0.0"
-numpy = ">=1.21.0,<2.0.0"
-pandas = ">=1.3.5,<2.0.0"
-pendulum = ">=2.1.2,<3.0.0"
+numpy = ">=1.26.0,<2.0.0"
+pandas = ">=2.1.4,<3.0.0"
+pendulum = ">=3.0.0,<4.0.0"
PyYAML = ">=6.0,<7.0"
rich = ">=12.4.4,<13.0.0"
SQLAlchemy = ">=1.4.29,<2.0.0"
[[package]]
name = "beautifulsoup4"
-version = "4.12.2"
+version = "4.12.3"
description = "Screen-scraping library"
optional = false
python-versions = ">=3.6.0"
files = [
- {file = "beautifulsoup4-4.12.2-py3-none-any.whl", hash = "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a"},
- {file = "beautifulsoup4-4.12.2.tar.gz", hash = "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da"},
+ {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"},
+ {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"},
]
[package.dependencies]
soupsieve = ">1.2"
[package.extras]
+cchardet = ["cchardet"]
+chardet = ["chardet"]
+charset-normalizer = ["charset-normalizer"]
html5lib = ["html5lib"]
lxml = ["lxml"]
[[package]]
name = "bleach"
-version = "6.0.0"
+version = "6.1.0"
description = "An easy safelist-based HTML-sanitizing tool."
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "bleach-6.0.0-py3-none-any.whl", hash = "sha256:33c16e3353dbd13028ab4799a0f89a83f113405c766e9c122df8a06f5b85b3f4"},
- {file = "bleach-6.0.0.tar.gz", hash = "sha256:1a1a85c1595e07d8db14c5f09f09e6433502c51c595970edc090551f0db99414"},
+ {file = "bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6"},
+ {file = "bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe"},
]
[package.dependencies]
@@ -185,90 +179,78 @@ six = ">=1.9.0"
webencodings = "*"
[package.extras]
-css = ["tinycss2 (>=1.1.0,<1.2)"]
+css = ["tinycss2 (>=1.1.0,<1.3)"]
[[package]]
name = "certifi"
-version = "2023.7.22"
+version = "2024.2.2"
description = "Python package for providing Mozilla's CA Bundle."
optional = false
python-versions = ">=3.6"
files = [
- {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"},
- {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"},
+ {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"},
+ {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"},
]
[[package]]
name = "cffi"
-version = "1.15.1"
+version = "1.16.0"
description = "Foreign Function Interface for Python calling C code."
optional = false
-python-versions = "*"
+python-versions = ">=3.8"
files = [
- {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"},
- {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"},
- {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"},
- {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"},
- {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"},
- {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"},
- {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"},
- {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"},
- {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"},
- {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"},
- {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"},
- {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"},
- {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"},
- {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"},
- {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"},
- {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"},
- {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"},
- {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"},
- {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"},
- {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"},
- {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"},
- {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"},
- {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"},
- {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"},
- {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"},
- {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"},
- {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"},
- {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"},
- {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"},
- {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"},
- {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"},
- {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"},
- {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"},
- {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"},
- {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"},
- {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"},
- {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"},
- {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"},
- {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"},
- {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"},
- {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"},
- {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"},
- {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"},
- {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"},
+ {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"},
+ {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"},
+ {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"},
+ {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"},
+ {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"},
+ {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"},
+ {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"},
+ {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"},
+ {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"},
+ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"},
+ {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"},
+ {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"},
+ {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"},
+ {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"},
+ {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"},
+ {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"},
+ {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"},
+ {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"},
+ {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"},
+ {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"},
+ {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"},
+ {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"},
+ {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"},
+ {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"},
+ {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"},
+ {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"},
+ {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"},
+ {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"},
+ {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"},
+ {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"},
+ {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"},
+ {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"},
]
[package.dependencies]
@@ -276,97 +258,112 @@ pycparser = "*"
[[package]]
name = "charset-normalizer"
-version = "3.2.0"
+version = "3.3.2"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
optional = false
python-versions = ">=3.7.0"
files = [
- {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"},
- {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"},
- {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"},
- {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"},
- {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"},
- {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"},
- {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"},
- {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"},
- {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"},
- {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"},
- {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"},
- {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"},
- {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"},
- {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"},
- {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"},
- {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"},
- {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"},
- {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"},
- {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"},
+ {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"},
+ {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"},
]
[[package]]
name = "click"
-version = "8.1.6"
+version = "8.1.7"
description = "Composable command line interface toolkit"
optional = true
python-versions = ">=3.7"
files = [
- {file = "click-8.1.6-py3-none-any.whl", hash = "sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"},
- {file = "click-8.1.6.tar.gz", hash = "sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"},
+ {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"},
+ {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"},
]
[package.dependencies]
@@ -385,22 +382,20 @@ files = [
[[package]]
name = "comm"
-version = "0.1.4"
+version = "0.2.1"
description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc."
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.8"
files = [
- {file = "comm-0.1.4-py3-none-any.whl", hash = "sha256:6d52794cba11b36ed9860999cd10fd02d6b2eac177068fdd585e1e2f8a96e67a"},
- {file = "comm-0.1.4.tar.gz", hash = "sha256:354e40a59c9dd6db50c5cc6b4acc887d82e9603787f83b68c01a80a923984d15"},
+ {file = "comm-0.2.1-py3-none-any.whl", hash = "sha256:87928485c0dfc0e7976fd89fc1e187023cf587e7c353e4a9b417555b44adf021"},
+ {file = "comm-0.2.1.tar.gz", hash = "sha256:0bc91edae1344d39d3661dcbc36937181fdaddb304790458f8b044dbc064b89a"},
]
[package.dependencies]
traitlets = ">=4"
[package.extras]
-lint = ["black (>=22.6.0)", "mdformat (>0.7)", "mdformat-gfm (>=0.3.5)", "ruff (>=0.0.156)"]
test = ["pytest"]
-typing = ["mypy (>=0.990)"]
[[package]]
name = "commonmark"
@@ -418,125 +413,126 @@ test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"]
[[package]]
name = "contourpy"
-version = "1.1.0"
+version = "1.2.0"
description = "Python library for calculating contours of 2D quadrilateral grids"
optional = true
-python-versions = ">=3.8"
-files = [
- {file = "contourpy-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:89f06eff3ce2f4b3eb24c1055a26981bffe4e7264acd86f15b97e40530b794bc"},
- {file = "contourpy-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dffcc2ddec1782dd2f2ce1ef16f070861af4fb78c69862ce0aab801495dda6a3"},
- {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25ae46595e22f93592d39a7eac3d638cda552c3e1160255258b695f7b58e5655"},
- {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:17cfaf5ec9862bc93af1ec1f302457371c34e688fbd381f4035a06cd47324f48"},
- {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18a64814ae7bce73925131381603fff0116e2df25230dfc80d6d690aa6e20b37"},
- {file = "contourpy-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90c81f22b4f572f8a2110b0b741bb64e5a6427e0a198b2cdc1fbaf85f352a3aa"},
- {file = "contourpy-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:53cc3a40635abedbec7f1bde60f8c189c49e84ac180c665f2cd7c162cc454baa"},
- {file = "contourpy-1.1.0-cp310-cp310-win32.whl", hash = "sha256:9b2dd2ca3ac561aceef4c7c13ba654aaa404cf885b187427760d7f7d4c57cff8"},
- {file = "contourpy-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:1f795597073b09d631782e7245016a4323cf1cf0b4e06eef7ea6627e06a37ff2"},
- {file = "contourpy-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0b7b04ed0961647691cfe5d82115dd072af7ce8846d31a5fac6c142dcce8b882"},
- {file = "contourpy-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27bc79200c742f9746d7dd51a734ee326a292d77e7d94c8af6e08d1e6c15d545"},
- {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:052cc634bf903c604ef1a00a5aa093c54f81a2612faedaa43295809ffdde885e"},
- {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9382a1c0bc46230fb881c36229bfa23d8c303b889b788b939365578d762b5c18"},
- {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5cec36c5090e75a9ac9dbd0ff4a8cf7cecd60f1b6dc23a374c7d980a1cd710e"},
- {file = "contourpy-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f0cbd657e9bde94cd0e33aa7df94fb73c1ab7799378d3b3f902eb8eb2e04a3a"},
- {file = "contourpy-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:181cbace49874f4358e2929aaf7ba84006acb76694102e88dd15af861996c16e"},
- {file = "contourpy-1.1.0-cp311-cp311-win32.whl", hash = "sha256:edb989d31065b1acef3828a3688f88b2abb799a7db891c9e282df5ec7e46221b"},
- {file = "contourpy-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fb3b7d9e6243bfa1efb93ccfe64ec610d85cfe5aec2c25f97fbbd2e58b531256"},
- {file = "contourpy-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bcb41692aa09aeb19c7c213411854402f29f6613845ad2453d30bf421fe68fed"},
- {file = "contourpy-1.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5d123a5bc63cd34c27ff9c7ac1cd978909e9c71da12e05be0231c608048bb2ae"},
- {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62013a2cf68abc80dadfd2307299bfa8f5aa0dcaec5b2954caeb5fa094171103"},
- {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0b6616375d7de55797d7a66ee7d087efe27f03d336c27cf1f32c02b8c1a5ac70"},
- {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:317267d915490d1e84577924bd61ba71bf8681a30e0d6c545f577363157e5e94"},
- {file = "contourpy-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d551f3a442655f3dcc1285723f9acd646ca5858834efeab4598d706206b09c9f"},
- {file = "contourpy-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e7a117ce7df5a938fe035cad481b0189049e8d92433b4b33aa7fc609344aafa1"},
- {file = "contourpy-1.1.0-cp38-cp38-win32.whl", hash = "sha256:108dfb5b3e731046a96c60bdc46a1a0ebee0760418951abecbe0fc07b5b93b27"},
- {file = "contourpy-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:d4f26b25b4f86087e7d75e63212756c38546e70f2a92d2be44f80114826e1cd4"},
- {file = "contourpy-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc00bb4225d57bff7ebb634646c0ee2a1298402ec10a5fe7af79df9a51c1bfd9"},
- {file = "contourpy-1.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:189ceb1525eb0655ab8487a9a9c41f42a73ba52d6789754788d1883fb06b2d8a"},
- {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f2931ed4741f98f74b410b16e5213f71dcccee67518970c42f64153ea9313b9"},
- {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30f511c05fab7f12e0b1b7730ebdc2ec8deedcfb505bc27eb570ff47c51a8f15"},
- {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:143dde50520a9f90e4a2703f367cf8ec96a73042b72e68fcd184e1279962eb6f"},
- {file = "contourpy-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e94bef2580e25b5fdb183bf98a2faa2adc5b638736b2c0a4da98691da641316a"},
- {file = "contourpy-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ed614aea8462735e7d70141374bd7650afd1c3f3cb0c2dbbcbe44e14331bf002"},
- {file = "contourpy-1.1.0-cp39-cp39-win32.whl", hash = "sha256:71551f9520f008b2950bef5f16b0e3587506ef4f23c734b71ffb7b89f8721999"},
- {file = "contourpy-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:438ba416d02f82b692e371858143970ed2eb6337d9cdbbede0d8ad9f3d7dd17d"},
- {file = "contourpy-1.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a698c6a7a432789e587168573a864a7ea374c6be8d4f31f9d87c001d5a843493"},
- {file = "contourpy-1.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:397b0ac8a12880412da3551a8cb5a187d3298a72802b45a3bd1805e204ad8439"},
- {file = "contourpy-1.1.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:a67259c2b493b00e5a4d0f7bfae51fb4b3371395e47d079a4446e9b0f4d70e76"},
- {file = "contourpy-1.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2b836d22bd2c7bb2700348e4521b25e077255ebb6ab68e351ab5aa91ca27e027"},
- {file = "contourpy-1.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084eaa568400cfaf7179b847ac871582199b1b44d5699198e9602ecbbb5f6104"},
- {file = "contourpy-1.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:911ff4fd53e26b019f898f32db0d4956c9d227d51338fb3b03ec72ff0084ee5f"},
- {file = "contourpy-1.1.0.tar.gz", hash = "sha256:e53046c3863828d21d531cc3b53786e6580eb1ba02477e8681009b6aa0870b21"},
+python-versions = ">=3.9"
+files = [
+ {file = "contourpy-1.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0274c1cb63625972c0c007ab14dd9ba9e199c36ae1a231ce45d725cbcbfd10a8"},
+ {file = "contourpy-1.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ab459a1cbbf18e8698399c595a01f6dcc5c138220ca3ea9e7e6126232d102bb4"},
+ {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fdd887f17c2f4572ce548461e4f96396681212d858cae7bd52ba3310bc6f00f"},
+ {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d16edfc3fc09968e09ddffada434b3bf989bf4911535e04eada58469873e28e"},
+ {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c203f617abc0dde5792beb586f827021069fb6d403d7f4d5c2b543d87edceb9"},
+ {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b69303ceb2e4d4f146bf82fda78891ef7bcd80c41bf16bfca3d0d7eb545448aa"},
+ {file = "contourpy-1.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:884c3f9d42d7218304bc74a8a7693d172685c84bd7ab2bab1ee567b769696df9"},
+ {file = "contourpy-1.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4a1b1208102be6e851f20066bf0e7a96b7d48a07c9b0cfe6d0d4545c2f6cadab"},
+ {file = "contourpy-1.2.0-cp310-cp310-win32.whl", hash = "sha256:34b9071c040d6fe45d9826cbbe3727d20d83f1b6110d219b83eb0e2a01d79488"},
+ {file = "contourpy-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:bd2f1ae63998da104f16a8b788f685e55d65760cd1929518fd94cd682bf03e41"},
+ {file = "contourpy-1.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dd10c26b4eadae44783c45ad6655220426f971c61d9b239e6f7b16d5cdaaa727"},
+ {file = "contourpy-1.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5c6b28956b7b232ae801406e529ad7b350d3f09a4fde958dfdf3c0520cdde0dd"},
+ {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebeac59e9e1eb4b84940d076d9f9a6cec0064e241818bcb6e32124cc5c3e377a"},
+ {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:139d8d2e1c1dd52d78682f505e980f592ba53c9f73bd6be102233e358b401063"},
+ {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e9dc350fb4c58adc64df3e0703ab076f60aac06e67d48b3848c23647ae4310e"},
+ {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18fc2b4ed8e4a8fe849d18dce4bd3c7ea637758c6343a1f2bae1e9bd4c9f4686"},
+ {file = "contourpy-1.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:16a7380e943a6d52472096cb7ad5264ecee36ed60888e2a3d3814991a0107286"},
+ {file = "contourpy-1.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8d8faf05be5ec8e02a4d86f616fc2a0322ff4a4ce26c0f09d9f7fb5330a35c95"},
+ {file = "contourpy-1.2.0-cp311-cp311-win32.whl", hash = "sha256:67b7f17679fa62ec82b7e3e611c43a016b887bd64fb933b3ae8638583006c6d6"},
+ {file = "contourpy-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:99ad97258985328b4f207a5e777c1b44a83bfe7cf1f87b99f9c11d4ee477c4de"},
+ {file = "contourpy-1.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:575bcaf957a25d1194903a10bc9f316c136c19f24e0985a2b9b5608bdf5dbfe0"},
+ {file = "contourpy-1.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9e6c93b5b2dbcedad20a2f18ec22cae47da0d705d454308063421a3b290d9ea4"},
+ {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:464b423bc2a009088f19bdf1f232299e8b6917963e2b7e1d277da5041f33a779"},
+ {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:68ce4788b7d93e47f84edd3f1f95acdcd142ae60bc0e5493bfd120683d2d4316"},
+ {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d7d1f8871998cdff5d2ff6a087e5e1780139abe2838e85b0b46b7ae6cc25399"},
+ {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e739530c662a8d6d42c37c2ed52a6f0932c2d4a3e8c1f90692ad0ce1274abe0"},
+ {file = "contourpy-1.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:247b9d16535acaa766d03037d8e8fb20866d054d3c7fbf6fd1f993f11fc60ca0"},
+ {file = "contourpy-1.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:461e3ae84cd90b30f8d533f07d87c00379644205b1d33a5ea03381edc4b69431"},
+ {file = "contourpy-1.2.0-cp312-cp312-win32.whl", hash = "sha256:1c2559d6cffc94890b0529ea7eeecc20d6fadc1539273aa27faf503eb4656d8f"},
+ {file = "contourpy-1.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:491b1917afdd8638a05b611a56d46587d5a632cabead889a5440f7c638bc6ed9"},
+ {file = "contourpy-1.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5fd1810973a375ca0e097dee059c407913ba35723b111df75671a1976efa04bc"},
+ {file = "contourpy-1.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:999c71939aad2780f003979b25ac5b8f2df651dac7b38fb8ce6c46ba5abe6ae9"},
+ {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7caf9b241464c404613512d5594a6e2ff0cc9cb5615c9475cc1d9b514218ae8"},
+ {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:266270c6f6608340f6c9836a0fb9b367be61dde0c9a9a18d5ece97774105ff3e"},
+ {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbd50d0a0539ae2e96e537553aff6d02c10ed165ef40c65b0e27e744a0f10af8"},
+ {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11f8d2554e52f459918f7b8e6aa20ec2a3bce35ce95c1f0ef4ba36fbda306df5"},
+ {file = "contourpy-1.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ce96dd400486e80ac7d195b2d800b03e3e6a787e2a522bfb83755938465a819e"},
+ {file = "contourpy-1.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6d3364b999c62f539cd403f8123ae426da946e142312a514162adb2addd8d808"},
+ {file = "contourpy-1.2.0-cp39-cp39-win32.whl", hash = "sha256:1c88dfb9e0c77612febebb6ac69d44a8d81e3dc60f993215425b62c1161353f4"},
+ {file = "contourpy-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:78e6ad33cf2e2e80c5dfaaa0beec3d61face0fb650557100ee36db808bfa6843"},
+ {file = "contourpy-1.2.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:be16975d94c320432657ad2402f6760990cb640c161ae6da1363051805fa8108"},
+ {file = "contourpy-1.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b95a225d4948b26a28c08307a60ac00fb8671b14f2047fc5476613252a129776"},
+ {file = "contourpy-1.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0d7e03c0f9a4f90dc18d4e77e9ef4ec7b7bbb437f7f675be8e530d65ae6ef956"},
+ {file = "contourpy-1.2.0.tar.gz", hash = "sha256:171f311cb758de7da13fc53af221ae47a5877be5a0843a9fe150818c51ed276a"},
]
[package.dependencies]
-numpy = ">=1.16"
+numpy = ">=1.20,<2.0"
[package.extras]
bokeh = ["bokeh", "selenium"]
-docs = ["furo", "sphinx-copybutton"]
-mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.2.0)", "types-Pillow"]
+docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"]
+mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.6.1)", "types-Pillow"]
test = ["Pillow", "contourpy[test-no-images]", "matplotlib"]
-test-no-images = ["pytest", "pytest-cov", "wurlitzer"]
+test-no-images = ["pytest", "pytest-cov", "pytest-xdist", "wurlitzer"]
[[package]]
name = "coverage"
-version = "7.3.0"
+version = "7.4.3"
description = "Code coverage measurement for Python"
optional = false
python-versions = ">=3.8"
files = [
- {file = "coverage-7.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:db76a1bcb51f02b2007adacbed4c88b6dee75342c37b05d1822815eed19edee5"},
- {file = "coverage-7.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c02cfa6c36144ab334d556989406837336c1d05215a9bdf44c0bc1d1ac1cb637"},
- {file = "coverage-7.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:477c9430ad5d1b80b07f3c12f7120eef40bfbf849e9e7859e53b9c93b922d2af"},
- {file = "coverage-7.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce2ee86ca75f9f96072295c5ebb4ef2a43cecf2870b0ca5e7a1cbdd929cf67e1"},
- {file = "coverage-7.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68d8a0426b49c053013e631c0cdc09b952d857efa8f68121746b339912d27a12"},
- {file = "coverage-7.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b3eb0c93e2ea6445b2173da48cb548364f8f65bf68f3d090404080d338e3a689"},
- {file = "coverage-7.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:90b6e2f0f66750c5a1178ffa9370dec6c508a8ca5265c42fbad3ccac210a7977"},
- {file = "coverage-7.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:96d7d761aea65b291a98c84e1250cd57b5b51726821a6f2f8df65db89363be51"},
- {file = "coverage-7.3.0-cp310-cp310-win32.whl", hash = "sha256:63c5b8ecbc3b3d5eb3a9d873dec60afc0cd5ff9d9f1c75981d8c31cfe4df8527"},
- {file = "coverage-7.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:97c44f4ee13bce914272589b6b41165bbb650e48fdb7bd5493a38bde8de730a1"},
- {file = "coverage-7.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:74c160285f2dfe0acf0f72d425f3e970b21b6de04157fc65adc9fd07ee44177f"},
- {file = "coverage-7.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b543302a3707245d454fc49b8ecd2c2d5982b50eb63f3535244fd79a4be0c99d"},
- {file = "coverage-7.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad0f87826c4ebd3ef484502e79b39614e9c03a5d1510cfb623f4a4a051edc6fd"},
- {file = "coverage-7.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:13c6cbbd5f31211d8fdb477f0f7b03438591bdd077054076eec362cf2207b4a7"},
- {file = "coverage-7.3.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fac440c43e9b479d1241fe9d768645e7ccec3fb65dc3a5f6e90675e75c3f3e3a"},
- {file = "coverage-7.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3c9834d5e3df9d2aba0275c9f67989c590e05732439b3318fa37a725dff51e74"},
- {file = "coverage-7.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4c8e31cf29b60859876474034a83f59a14381af50cbe8a9dbaadbf70adc4b214"},
- {file = "coverage-7.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7a9baf8e230f9621f8e1d00c580394a0aa328fdac0df2b3f8384387c44083c0f"},
- {file = "coverage-7.3.0-cp311-cp311-win32.whl", hash = "sha256:ccc51713b5581e12f93ccb9c5e39e8b5d4b16776d584c0f5e9e4e63381356482"},
- {file = "coverage-7.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:887665f00ea4e488501ba755a0e3c2cfd6278e846ada3185f42d391ef95e7e70"},
- {file = "coverage-7.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d000a739f9feed900381605a12a61f7aaced6beae832719ae0d15058a1e81c1b"},
- {file = "coverage-7.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:59777652e245bb1e300e620ce2bef0d341945842e4eb888c23a7f1d9e143c446"},
- {file = "coverage-7.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9737bc49a9255d78da085fa04f628a310c2332b187cd49b958b0e494c125071"},
- {file = "coverage-7.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5247bab12f84a1d608213b96b8af0cbb30d090d705b6663ad794c2f2a5e5b9fe"},
- {file = "coverage-7.3.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2ac9a1de294773b9fa77447ab7e529cf4fe3910f6a0832816e5f3d538cfea9a"},
- {file = "coverage-7.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:85b7335c22455ec12444cec0d600533a238d6439d8d709d545158c1208483873"},
- {file = "coverage-7.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:36ce5d43a072a036f287029a55b5c6a0e9bd73db58961a273b6dc11a2c6eb9c2"},
- {file = "coverage-7.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:211a4576e984f96d9fce61766ffaed0115d5dab1419e4f63d6992b480c2bd60b"},
- {file = "coverage-7.3.0-cp312-cp312-win32.whl", hash = "sha256:56afbf41fa4a7b27f6635bc4289050ac3ab7951b8a821bca46f5b024500e6321"},
- {file = "coverage-7.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:7f297e0c1ae55300ff688568b04ff26b01c13dfbf4c9d2b7d0cb688ac60df479"},
- {file = "coverage-7.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac0dec90e7de0087d3d95fa0533e1d2d722dcc008bc7b60e1143402a04c117c1"},
- {file = "coverage-7.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:438856d3f8f1e27f8e79b5410ae56650732a0dcfa94e756df88c7e2d24851fcd"},
- {file = "coverage-7.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1084393c6bda8875c05e04fce5cfe1301a425f758eb012f010eab586f1f3905e"},
- {file = "coverage-7.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49ab200acf891e3dde19e5aa4b0f35d12d8b4bd805dc0be8792270c71bd56c54"},
- {file = "coverage-7.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a67e6bbe756ed458646e1ef2b0778591ed4d1fcd4b146fc3ba2feb1a7afd4254"},
- {file = "coverage-7.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8f39c49faf5344af36042b293ce05c0d9004270d811c7080610b3e713251c9b0"},
- {file = "coverage-7.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:7df91fb24c2edaabec4e0eee512ff3bc6ec20eb8dccac2e77001c1fe516c0c84"},
- {file = "coverage-7.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:34f9f0763d5fa3035a315b69b428fe9c34d4fc2f615262d6be3d3bf3882fb985"},
- {file = "coverage-7.3.0-cp38-cp38-win32.whl", hash = "sha256:bac329371d4c0d456e8d5f38a9b0816b446581b5f278474e416ea0c68c47dcd9"},
- {file = "coverage-7.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:b859128a093f135b556b4765658d5d2e758e1fae3e7cc2f8c10f26fe7005e543"},
- {file = "coverage-7.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed8d310afe013db1eedd37176d0839dc66c96bcfcce8f6607a73ffea2d6ba"},
- {file = "coverage-7.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61260ec93f99f2c2d93d264b564ba912bec502f679793c56f678ba5251f0393"},
- {file = "coverage-7.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97af9554a799bd7c58c0179cc8dbf14aa7ab50e1fd5fa73f90b9b7215874ba28"},
- {file = "coverage-7.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3558e5b574d62f9c46b76120a5c7c16c4612dc2644c3d48a9f4064a705eaee95"},
- {file = "coverage-7.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37d5576d35fcb765fca05654f66aa71e2808d4237d026e64ac8b397ffa66a56a"},
- {file = "coverage-7.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:07ea61bcb179f8f05ffd804d2732b09d23a1238642bf7e51dad62082b5019b34"},
- {file = "coverage-7.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:80501d1b2270d7e8daf1b64b895745c3e234289e00d5f0e30923e706f110334e"},
- {file = "coverage-7.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4eddd3153d02204f22aef0825409091a91bf2a20bce06fe0f638f5c19a85de54"},
- {file = "coverage-7.3.0-cp39-cp39-win32.whl", hash = "sha256:2d22172f938455c156e9af2612650f26cceea47dc86ca048fa4e0b2d21646ad3"},
- {file = "coverage-7.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:60f64e2007c9144375dd0f480a54d6070f00bb1a28f65c408370544091c9bc9e"},
- {file = "coverage-7.3.0-pp38.pp39.pp310-none-any.whl", hash = "sha256:5492a6ce3bdb15c6ad66cb68a0244854d9917478877a25671d70378bdc8562d0"},
- {file = "coverage-7.3.0.tar.gz", hash = "sha256:49dbb19cdcafc130f597d9e04a29d0a032ceedf729e41b181f51cd170e6ee865"},
+ {file = "coverage-7.4.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8580b827d4746d47294c0e0b92854c85a92c2227927433998f0d3320ae8a71b6"},
+ {file = "coverage-7.4.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:718187eeb9849fc6cc23e0d9b092bc2348821c5e1a901c9f8975df0bc785bfd4"},
+ {file = "coverage-7.4.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:767b35c3a246bcb55b8044fd3a43b8cd553dd1f9f2c1eeb87a302b1f8daa0524"},
+ {file = "coverage-7.4.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae7f19afe0cce50039e2c782bff379c7e347cba335429678450b8fe81c4ef96d"},
+ {file = "coverage-7.4.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba3a8aaed13770e970b3df46980cb068d1c24af1a1968b7818b69af8c4347efb"},
+ {file = "coverage-7.4.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ee866acc0861caebb4f2ab79f0b94dbfbdbfadc19f82e6e9c93930f74e11d7a0"},
+ {file = "coverage-7.4.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:506edb1dd49e13a2d4cac6a5173317b82a23c9d6e8df63efb4f0380de0fbccbc"},
+ {file = "coverage-7.4.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd6545d97c98a192c5ac995d21c894b581f1fd14cf389be90724d21808b657e2"},
+ {file = "coverage-7.4.3-cp310-cp310-win32.whl", hash = "sha256:f6a09b360d67e589236a44f0c39218a8efba2593b6abdccc300a8862cffc2f94"},
+ {file = "coverage-7.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:18d90523ce7553dd0b7e23cbb28865db23cddfd683a38fb224115f7826de78d0"},
+ {file = "coverage-7.4.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cbbe5e739d45a52f3200a771c6d2c7acf89eb2524890a4a3aa1a7fa0695d2a47"},
+ {file = "coverage-7.4.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:489763b2d037b164846ebac0cbd368b8a4ca56385c4090807ff9fad817de4113"},
+ {file = "coverage-7.4.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:451f433ad901b3bb00184d83fd83d135fb682d780b38af7944c9faeecb1e0bfe"},
+ {file = "coverage-7.4.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fcc66e222cf4c719fe7722a403888b1f5e1682d1679bd780e2b26c18bb648cdc"},
+ {file = "coverage-7.4.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3ec74cfef2d985e145baae90d9b1b32f85e1741b04cd967aaf9cfa84c1334f3"},
+ {file = "coverage-7.4.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:abbbd8093c5229c72d4c2926afaee0e6e3140de69d5dcd918b2921f2f0c8baba"},
+ {file = "coverage-7.4.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:35eb581efdacf7b7422af677b92170da4ef34500467381e805944a3201df2079"},
+ {file = "coverage-7.4.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8249b1c7334be8f8c3abcaaa996e1e4927b0e5a23b65f5bf6cfe3180d8ca7840"},
+ {file = "coverage-7.4.3-cp311-cp311-win32.whl", hash = "sha256:cf30900aa1ba595312ae41978b95e256e419d8a823af79ce670835409fc02ad3"},
+ {file = "coverage-7.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:18c7320695c949de11a351742ee001849912fd57e62a706d83dfc1581897fa2e"},
+ {file = "coverage-7.4.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b51bfc348925e92a9bd9b2e48dad13431b57011fd1038f08316e6bf1df107d10"},
+ {file = "coverage-7.4.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d6cdecaedea1ea9e033d8adf6a0ab11107b49571bbb9737175444cea6eb72328"},
+ {file = "coverage-7.4.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b2eccb883368f9e972e216c7b4c7c06cabda925b5f06dde0650281cb7666a30"},
+ {file = "coverage-7.4.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c00cdc8fa4e50e1cc1f941a7f2e3e0f26cb2a1233c9696f26963ff58445bac7"},
+ {file = "coverage-7.4.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9a4a8dd3dcf4cbd3165737358e4d7dfbd9d59902ad11e3b15eebb6393b0446e"},
+ {file = "coverage-7.4.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:062b0a75d9261e2f9c6d071753f7eef0fc9caf3a2c82d36d76667ba7b6470003"},
+ {file = "coverage-7.4.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ebe7c9e67a2d15fa97b77ea6571ce5e1e1f6b0db71d1d5e96f8d2bf134303c1d"},
+ {file = "coverage-7.4.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c0a120238dd71c68484f02562f6d446d736adcc6ca0993712289b102705a9a3a"},
+ {file = "coverage-7.4.3-cp312-cp312-win32.whl", hash = "sha256:37389611ba54fd6d278fde86eb2c013c8e50232e38f5c68235d09d0a3f8aa352"},
+ {file = "coverage-7.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:d25b937a5d9ffa857d41be042b4238dd61db888533b53bc76dc082cb5a15e914"},
+ {file = "coverage-7.4.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:28ca2098939eabab044ad68850aac8f8db6bf0b29bc7f2887d05889b17346454"},
+ {file = "coverage-7.4.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:280459f0a03cecbe8800786cdc23067a8fc64c0bd51dc614008d9c36e1659d7e"},
+ {file = "coverage-7.4.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c0cdedd3500e0511eac1517bf560149764b7d8e65cb800d8bf1c63ebf39edd2"},
+ {file = "coverage-7.4.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9a9babb9466fe1da12417a4aed923e90124a534736de6201794a3aea9d98484e"},
+ {file = "coverage-7.4.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dec9de46a33cf2dd87a5254af095a409ea3bf952d85ad339751e7de6d962cde6"},
+ {file = "coverage-7.4.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:16bae383a9cc5abab9bb05c10a3e5a52e0a788325dc9ba8499e821885928968c"},
+ {file = "coverage-7.4.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2c854ce44e1ee31bda4e318af1dbcfc929026d12c5ed030095ad98197eeeaed0"},
+ {file = "coverage-7.4.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ce8c50520f57ec57aa21a63ea4f325c7b657386b3f02ccaedeccf9ebe27686e1"},
+ {file = "coverage-7.4.3-cp38-cp38-win32.whl", hash = "sha256:708a3369dcf055c00ddeeaa2b20f0dd1ce664eeabde6623e516c5228b753654f"},
+ {file = "coverage-7.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:1bf25fbca0c8d121a3e92a2a0555c7e5bc981aee5c3fdaf4bb7809f410f696b9"},
+ {file = "coverage-7.4.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3b253094dbe1b431d3a4ac2f053b6d7ede2664ac559705a704f621742e034f1f"},
+ {file = "coverage-7.4.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:77fbfc5720cceac9c200054b9fab50cb2a7d79660609200ab83f5db96162d20c"},
+ {file = "coverage-7.4.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6679060424faa9c11808598504c3ab472de4531c571ab2befa32f4971835788e"},
+ {file = "coverage-7.4.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4af154d617c875b52651dd8dd17a31270c495082f3d55f6128e7629658d63765"},
+ {file = "coverage-7.4.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8640f1fde5e1b8e3439fe482cdc2b0bb6c329f4bb161927c28d2e8879c6029ee"},
+ {file = "coverage-7.4.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:69b9f6f66c0af29642e73a520b6fed25ff9fd69a25975ebe6acb297234eda501"},
+ {file = "coverage-7.4.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:0842571634f39016a6c03e9d4aba502be652a6e4455fadb73cd3a3a49173e38f"},
+ {file = "coverage-7.4.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a78ed23b08e8ab524551f52953a8a05d61c3a760781762aac49f8de6eede8c45"},
+ {file = "coverage-7.4.3-cp39-cp39-win32.whl", hash = "sha256:c0524de3ff096e15fcbfe8f056fdb4ea0bf497d584454f344d59fce069d3e6e9"},
+ {file = "coverage-7.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:0209a6369ccce576b43bb227dc8322d8ef9e323d089c6f3f26a597b09cb4d2aa"},
+ {file = "coverage-7.4.3-pp38.pp39.pp310-none-any.whl", hash = "sha256:7cbde573904625509a3f37b6fecea974e363460b556a627c60dc2f47e2fffa51"},
+ {file = "coverage-7.4.3.tar.gz", hash = "sha256:276f6077a5c61447a48d133ed13e759c09e62aff0dc84274a68dc18660104d52"},
]
[package.dependencies]
@@ -547,40 +543,48 @@ toml = ["tomli"]
[[package]]
name = "cycler"
-version = "0.11.0"
+version = "0.12.1"
description = "Composable style cycles"
optional = true
-python-versions = ">=3.6"
+python-versions = ">=3.8"
files = [
- {file = "cycler-0.11.0-py3-none-any.whl", hash = "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"},
- {file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"},
+ {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"},
+ {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"},
]
+[package.extras]
+docs = ["ipython", "matplotlib", "numpydoc", "sphinx"]
+tests = ["pytest", "pytest-cov", "pytest-xdist"]
+
[[package]]
name = "debugpy"
-version = "1.6.7.post1"
+version = "1.8.1"
description = "An implementation of the Debug Adapter Protocol for Python"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "debugpy-1.6.7.post1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:903bd61d5eb433b6c25b48eae5e23821d4c1a19e25c9610205f5aeaccae64e32"},
- {file = "debugpy-1.6.7.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d16882030860081e7dd5aa619f30dec3c2f9a421e69861125f83cc372c94e57d"},
- {file = "debugpy-1.6.7.post1-cp310-cp310-win32.whl", hash = "sha256:eea8d8cfb9965ac41b99a61f8e755a8f50e9a20330938ad8271530210f54e09c"},
- {file = "debugpy-1.6.7.post1-cp310-cp310-win_amd64.whl", hash = "sha256:85969d864c45f70c3996067cfa76a319bae749b04171f2cdeceebe4add316155"},
- {file = "debugpy-1.6.7.post1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:890f7ab9a683886a0f185786ffbda3b46495c4b929dab083b8c79d6825832a52"},
- {file = "debugpy-1.6.7.post1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4ac7a4dba28801d184b7fc0e024da2635ca87d8b0a825c6087bb5168e3c0d28"},
- {file = "debugpy-1.6.7.post1-cp37-cp37m-win32.whl", hash = "sha256:3370ef1b9951d15799ef7af41f8174194f3482ee689988379763ef61a5456426"},
- {file = "debugpy-1.6.7.post1-cp37-cp37m-win_amd64.whl", hash = "sha256:65b28435a17cba4c09e739621173ff90c515f7b9e8ea469b92e3c28ef8e5cdfb"},
- {file = "debugpy-1.6.7.post1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:92b6dae8bfbd497c90596bbb69089acf7954164aea3228a99d7e43e5267f5b36"},
- {file = "debugpy-1.6.7.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72f5d2ecead8125cf669e62784ef1e6300f4067b0f14d9f95ee00ae06fc7c4f7"},
- {file = "debugpy-1.6.7.post1-cp38-cp38-win32.whl", hash = "sha256:f0851403030f3975d6e2eaa4abf73232ab90b98f041e3c09ba33be2beda43fcf"},
- {file = "debugpy-1.6.7.post1-cp38-cp38-win_amd64.whl", hash = "sha256:3de5d0f97c425dc49bce4293df6a04494309eedadd2b52c22e58d95107e178d9"},
- {file = "debugpy-1.6.7.post1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:38651c3639a4e8bbf0ca7e52d799f6abd07d622a193c406be375da4d510d968d"},
- {file = "debugpy-1.6.7.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:038c51268367c9c935905a90b1c2d2dbfe304037c27ba9d19fe7409f8cdc710c"},
- {file = "debugpy-1.6.7.post1-cp39-cp39-win32.whl", hash = "sha256:4b9eba71c290852f959d2cf8a03af28afd3ca639ad374d393d53d367f7f685b2"},
- {file = "debugpy-1.6.7.post1-cp39-cp39-win_amd64.whl", hash = "sha256:973a97ed3b434eab0f792719a484566c35328196540676685c975651266fccf9"},
- {file = "debugpy-1.6.7.post1-py2.py3-none-any.whl", hash = "sha256:1093a5c541af079c13ac8c70ab8b24d1d35c8cacb676306cf11e57f699c02926"},
- {file = "debugpy-1.6.7.post1.zip", hash = "sha256:fe87ec0182ef624855d05e6ed7e0b7cb1359d2ffa2a925f8ec2d22e98b75d0ca"},
+ {file = "debugpy-1.8.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:3bda0f1e943d386cc7a0e71bfa59f4137909e2ed947fb3946c506e113000f741"},
+ {file = "debugpy-1.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dda73bf69ea479c8577a0448f8c707691152e6c4de7f0c4dec5a4bc11dee516e"},
+ {file = "debugpy-1.8.1-cp310-cp310-win32.whl", hash = "sha256:3a79c6f62adef994b2dbe9fc2cc9cc3864a23575b6e387339ab739873bea53d0"},
+ {file = "debugpy-1.8.1-cp310-cp310-win_amd64.whl", hash = "sha256:7eb7bd2b56ea3bedb009616d9e2f64aab8fc7000d481faec3cd26c98a964bcdd"},
+ {file = "debugpy-1.8.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:016a9fcfc2c6b57f939673c874310d8581d51a0fe0858e7fac4e240c5eb743cb"},
+ {file = "debugpy-1.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd97ed11a4c7f6d042d320ce03d83b20c3fb40da892f994bc041bbc415d7a099"},
+ {file = "debugpy-1.8.1-cp311-cp311-win32.whl", hash = "sha256:0de56aba8249c28a300bdb0672a9b94785074eb82eb672db66c8144fff673146"},
+ {file = "debugpy-1.8.1-cp311-cp311-win_amd64.whl", hash = "sha256:1a9fe0829c2b854757b4fd0a338d93bc17249a3bf69ecf765c61d4c522bb92a8"},
+ {file = "debugpy-1.8.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3ebb70ba1a6524d19fa7bb122f44b74170c447d5746a503e36adc244a20ac539"},
+ {file = "debugpy-1.8.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2e658a9630f27534e63922ebf655a6ab60c370f4d2fc5c02a5b19baf4410ace"},
+ {file = "debugpy-1.8.1-cp312-cp312-win32.whl", hash = "sha256:caad2846e21188797a1f17fc09c31b84c7c3c23baf2516fed5b40b378515bbf0"},
+ {file = "debugpy-1.8.1-cp312-cp312-win_amd64.whl", hash = "sha256:edcc9f58ec0fd121a25bc950d4578df47428d72e1a0d66c07403b04eb93bcf98"},
+ {file = "debugpy-1.8.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:7a3afa222f6fd3d9dfecd52729bc2e12c93e22a7491405a0ecbf9e1d32d45b39"},
+ {file = "debugpy-1.8.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d915a18f0597ef685e88bb35e5d7ab968964b7befefe1aaea1eb5b2640b586c7"},
+ {file = "debugpy-1.8.1-cp38-cp38-win32.whl", hash = "sha256:92116039b5500633cc8d44ecc187abe2dfa9b90f7a82bbf81d079fcdd506bae9"},
+ {file = "debugpy-1.8.1-cp38-cp38-win_amd64.whl", hash = "sha256:e38beb7992b5afd9d5244e96ad5fa9135e94993b0c551ceebf3fe1a5d9beb234"},
+ {file = "debugpy-1.8.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:bfb20cb57486c8e4793d41996652e5a6a885b4d9175dd369045dad59eaacea42"},
+ {file = "debugpy-1.8.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efd3fdd3f67a7e576dd869c184c5dd71d9aaa36ded271939da352880c012e703"},
+ {file = "debugpy-1.8.1-cp39-cp39-win32.whl", hash = "sha256:58911e8521ca0c785ac7a0539f1e77e0ce2df753f786188f382229278b4cdf23"},
+ {file = "debugpy-1.8.1-cp39-cp39-win_amd64.whl", hash = "sha256:6df9aa9599eb05ca179fb0b810282255202a66835c6efb1d112d21ecb830ddd3"},
+ {file = "debugpy-1.8.1-py2.py3-none-any.whl", hash = "sha256:28acbe2241222b87e255260c76741e1fbf04fdc3b6d094fcf57b6c6f75ce1242"},
+ {file = "debugpy-1.8.1.zip", hash = "sha256:f696d6be15be87aef621917585f9bb94b1dc9e8aced570db1b8a6fc14e8f9b42"},
]
[[package]]
@@ -625,27 +629,28 @@ pygments = ["pygments (>=2.2.0)"]
[[package]]
name = "dill"
-version = "0.3.7"
+version = "0.3.8"
description = "serialize all of Python"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "dill-0.3.7-py3-none-any.whl", hash = "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e"},
- {file = "dill-0.3.7.tar.gz", hash = "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"},
+ {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"},
+ {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"},
]
[package.extras]
graph = ["objgraph (>=1.7.2)"]
+profile = ["gprof2dot (>=2022.7.29)"]
[[package]]
name = "distlib"
-version = "0.3.7"
+version = "0.3.8"
description = "Distribution utilities"
optional = false
python-versions = "*"
files = [
- {file = "distlib-0.3.7-py2.py3-none-any.whl", hash = "sha256:2e24928bc811348f0feb63014e97aaae3037f2cf48712d51ae61df7fd6075057"},
- {file = "distlib-0.3.7.tar.gz", hash = "sha256:9dafe54b34a028eafd95039d5e5d4851a13734540f1331060d31c9916e7147a8"},
+ {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"},
+ {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"},
]
[[package]]
@@ -661,13 +666,13 @@ files = [
[[package]]
name = "exceptiongroup"
-version = "1.1.1"
+version = "1.2.0"
description = "Backport of PEP 654 (exception groups)"
optional = false
python-versions = ">=3.7"
files = [
- {file = "exceptiongroup-1.1.1-py3-none-any.whl", hash = "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"},
- {file = "exceptiongroup-1.1.1.tar.gz", hash = "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785"},
+ {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"},
+ {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"},
]
[package.extras]
@@ -675,17 +680,17 @@ test = ["pytest (>=6)"]
[[package]]
name = "executing"
-version = "1.2.0"
+version = "2.0.1"
description = "Get the currently executing AST node of a frame, and other information"
optional = false
-python-versions = "*"
+python-versions = ">=3.5"
files = [
- {file = "executing-1.2.0-py2.py3-none-any.whl", hash = "sha256:0314a69e37426e3608aada02473b4161d4caf5a4b244d1d0c48072b8fee7bacc"},
- {file = "executing-1.2.0.tar.gz", hash = "sha256:19da64c18d2d851112f09c287f8d3dbbdf725ab0e569077efb6cdcbd3497c107"},
+ {file = "executing-2.0.1-py2.py3-none-any.whl", hash = "sha256:eac49ca94516ccc753f9fb5ce82603156e590b27525a8bc32cce8ae302eb61bc"},
+ {file = "executing-2.0.1.tar.gz", hash = "sha256:35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147"},
]
[package.extras]
-tests = ["asttokens", "littleutils", "pytest", "rich"]
+tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"]
[[package]]
name = "fancycompleter"
@@ -704,13 +709,13 @@ pyrepl = ">=0.8.2"
[[package]]
name = "fastjsonschema"
-version = "2.18.0"
+version = "2.19.1"
description = "Fastest Python implementation of JSON schema"
optional = false
python-versions = "*"
files = [
- {file = "fastjsonschema-2.18.0-py3-none-any.whl", hash = "sha256:128039912a11a807068a7c87d0da36660afbfd7202780db26c4aa7153cfdc799"},
- {file = "fastjsonschema-2.18.0.tar.gz", hash = "sha256:e820349dd16f806e4bd1467a138dced9def4bc7d6213a34295272a6cac95b5bd"},
+ {file = "fastjsonschema-2.19.1-py3-none-any.whl", hash = "sha256:3672b47bc94178c9f23dbb654bf47440155d4db9df5f7bc47643315f9c405cd0"},
+ {file = "fastjsonschema-2.19.1.tar.gz", hash = "sha256:e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d"},
]
[package.extras]
@@ -718,170 +723,165 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc
[[package]]
name = "filelock"
-version = "3.12.2"
+version = "3.13.1"
description = "A platform independent file lock."
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "filelock-3.12.2-py3-none-any.whl", hash = "sha256:cbb791cdea2a72f23da6ac5b5269ab0a0d161e9ef0100e653b69049a7706d1ec"},
- {file = "filelock-3.12.2.tar.gz", hash = "sha256:002740518d8aa59a26b0c76e10fb8c6e15eae825d34b6fdf670333fd7b938d81"},
+ {file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"},
+ {file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"},
]
[package.extras]
-docs = ["furo (>=2023.5.20)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"]
-testing = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "diff-cover (>=7.5)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)", "pytest-timeout (>=2.1)"]
+docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.24)"]
+testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"]
+typing = ["typing-extensions (>=4.8)"]
[[package]]
name = "fonttools"
-version = "4.43.0"
+version = "4.49.0"
description = "Tools to manipulate font files"
optional = true
python-versions = ">=3.8"
files = [
- {file = "fonttools-4.43.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ab80e7d6bb01316d5fc8161a2660ca2e9e597d0880db4927bc866c76474472ef"},
- {file = "fonttools-4.43.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:82d8e687a42799df5325e7ee12977b74738f34bf7fde1c296f8140efd699a213"},
- {file = "fonttools-4.43.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d08a694b280d615460563a6b4e2afb0b1b9df708c799ec212bf966652b94fc84"},
- {file = "fonttools-4.43.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d654d3e780e0ceabb1f4eff5a3c042c67d4428d0fe1ea3afd238a721cf171b3"},
- {file = "fonttools-4.43.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:20fc43783c432862071fa76da6fa714902ae587bc68441e12ff4099b94b1fcef"},
- {file = "fonttools-4.43.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:33c40a657fb87ff83185828c0323032d63a4df1279d5c1c38e21f3ec56327803"},
- {file = "fonttools-4.43.0-cp310-cp310-win32.whl", hash = "sha256:b3813f57f85bbc0e4011a0e1e9211f9ee52f87f402e41dc05bc5135f03fa51c1"},
- {file = "fonttools-4.43.0-cp310-cp310-win_amd64.whl", hash = "sha256:05056a8c9af048381fdb17e89b17d45f6c8394176d01e8c6fef5ac96ea950d38"},
- {file = "fonttools-4.43.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:da78f39b601ed0b4262929403186d65cf7a016f91ff349ab18fdc5a7080af465"},
- {file = "fonttools-4.43.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5056f69a18f3f28ab5283202d1efcfe011585d31de09d8560f91c6c88f041e92"},
- {file = "fonttools-4.43.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcc01cea0a121fb0c009993497bad93cae25e77db7dee5345fec9cce1aaa09cd"},
- {file = "fonttools-4.43.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee728d5af70f117581712966a21e2e07031e92c687ef1fdc457ac8d281016f64"},
- {file = "fonttools-4.43.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b5e760198f0b87e42478bb35a6eae385c636208f6f0d413e100b9c9c5efafb6a"},
- {file = "fonttools-4.43.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:af38f5145258e9866da5881580507e6d17ff7756beef175d13213a43a84244e9"},
- {file = "fonttools-4.43.0-cp311-cp311-win32.whl", hash = "sha256:25620b738d4533cfc21fd2a4f4b667e481f7cb60e86b609799f7d98af657854e"},
- {file = "fonttools-4.43.0-cp311-cp311-win_amd64.whl", hash = "sha256:635658464dccff6fa5c3b43fe8f818ae2c386ee6a9e1abc27359d1e255528186"},
- {file = "fonttools-4.43.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:a682fb5cbf8837d1822b80acc0be5ff2ea0c49ca836e468a21ffd388ef280fd3"},
- {file = "fonttools-4.43.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3d7adfa342e6b3a2b36960981f23f480969f833d565a4eba259c2e6f59d2674f"},
- {file = "fonttools-4.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5aa67d1e720fdd902fde4a59d0880854ae9f19fc958f3e1538bceb36f7f4dc92"},
- {file = "fonttools-4.43.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77e5113233a2df07af9dbf493468ce526784c3b179c0e8b9c7838ced37c98b69"},
- {file = "fonttools-4.43.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:57c22e5f9f53630d458830f710424dce4f43c5f0d95cb3368c0f5178541e4db7"},
- {file = "fonttools-4.43.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:206808f9717c9b19117f461246372a2c160fa12b9b8dbdfb904ab50ca235ba0a"},
- {file = "fonttools-4.43.0-cp312-cp312-win32.whl", hash = "sha256:f19c2b1c65d57cbea25cabb80941fea3fbf2625ff0cdcae8900b5fb1c145704f"},
- {file = "fonttools-4.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:7c76f32051159f8284f1a5f5b605152b5a530736fb8b55b09957db38dcae5348"},
- {file = "fonttools-4.43.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e3f8acc6ef4a627394021246e099faee4b343afd3ffe2e517d8195b4ebf20289"},
- {file = "fonttools-4.43.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a68b71adc3b3a90346e4ac92f0a69ab9caeba391f3b04ab6f1e98f2c8ebe88e3"},
- {file = "fonttools-4.43.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ace0fd5afb79849f599f76af5c6aa5e865bd042c811e4e047bbaa7752cc26126"},
- {file = "fonttools-4.43.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f9660e70a2430780e23830476332bc3391c3c8694769e2c0032a5038702a662"},
- {file = "fonttools-4.43.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:48078357984214ccd22d7fe0340cd6ff7286b2f74f173603a1a9a40b5dc25afe"},
- {file = "fonttools-4.43.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d27d960e10cf7617d70cf3104c32a69b008dde56f2d55a9bed4ba6e3df611544"},
- {file = "fonttools-4.43.0-cp38-cp38-win32.whl", hash = "sha256:a6a2e99bb9ea51e0974bbe71768df42c6dd189308c22f3f00560c3341b345646"},
- {file = "fonttools-4.43.0-cp38-cp38-win_amd64.whl", hash = "sha256:030355fbb0cea59cf75d076d04d3852900583d1258574ff2d7d719abf4513836"},
- {file = "fonttools-4.43.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:52e77f23a9c059f8be01a07300ba4c4d23dc271d33eed502aea5a01ab5d2f4c1"},
- {file = "fonttools-4.43.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6a530fa28c155538d32214eafa0964989098a662bd63e91e790e6a7a4e9c02da"},
- {file = "fonttools-4.43.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70f021a6b9eb10dfe7a411b78e63a503a06955dd6d2a4e130906d8760474f77c"},
- {file = "fonttools-4.43.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:812142a0e53cc853964d487e6b40963df62f522b1b571e19d1ff8467d7880ceb"},
- {file = "fonttools-4.43.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ace51902ab67ef5fe225e8b361039e996db153e467e24a28d35f74849b37b7ce"},
- {file = "fonttools-4.43.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8dfd8edfce34ad135bd69de20c77449c06e2c92b38f2a8358d0987737f82b49e"},
- {file = "fonttools-4.43.0-cp39-cp39-win32.whl", hash = "sha256:e5d53eddaf436fa131042f44a76ea1ead0a17c354ab9de0d80e818f0cb1629f1"},
- {file = "fonttools-4.43.0-cp39-cp39-win_amd64.whl", hash = "sha256:93c5b6d77baf28f306bc13fa987b0b13edca6a39dc2324eaca299a74ccc6316f"},
- {file = "fonttools-4.43.0-py3-none-any.whl", hash = "sha256:e4bc589d8da09267c7c4ceaaaa4fc01a7908ac5b43b286ac9279afe76407c384"},
- {file = "fonttools-4.43.0.tar.gz", hash = "sha256:b62a53a4ca83c32c6b78cac64464f88d02929779373c716f738af6968c8c821e"},
-]
-
-[package.extras]
-all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0,<5)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.0.0)", "xattr", "zopfli (>=0.1.4)"]
+ {file = "fonttools-4.49.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d970ecca0aac90d399e458f0b7a8a597e08f95de021f17785fb68e2dc0b99717"},
+ {file = "fonttools-4.49.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac9a745b7609f489faa65e1dc842168c18530874a5f5b742ac3dd79e26bca8bc"},
+ {file = "fonttools-4.49.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ba0e00620ca28d4ca11fc700806fd69144b463aa3275e1b36e56c7c09915559"},
+ {file = "fonttools-4.49.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdee3ab220283057e7840d5fb768ad4c2ebe65bdba6f75d5d7bf47f4e0ed7d29"},
+ {file = "fonttools-4.49.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ce7033cb61f2bb65d8849658d3786188afd80f53dad8366a7232654804529532"},
+ {file = "fonttools-4.49.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:07bc5ea02bb7bc3aa40a1eb0481ce20e8d9b9642a9536cde0218290dd6085828"},
+ {file = "fonttools-4.49.0-cp310-cp310-win32.whl", hash = "sha256:86eef6aab7fd7c6c8545f3ebd00fd1d6729ca1f63b0cb4d621bccb7d1d1c852b"},
+ {file = "fonttools-4.49.0-cp310-cp310-win_amd64.whl", hash = "sha256:1fac1b7eebfce75ea663e860e7c5b4a8831b858c17acd68263bc156125201abf"},
+ {file = "fonttools-4.49.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:edc0cce355984bb3c1d1e89d6a661934d39586bb32191ebff98c600f8957c63e"},
+ {file = "fonttools-4.49.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:83a0d9336de2cba86d886507dd6e0153df333ac787377325a39a2797ec529814"},
+ {file = "fonttools-4.49.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36c8865bdb5cfeec88f5028e7e592370a0657b676c6f1d84a2108e0564f90e22"},
+ {file = "fonttools-4.49.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33037d9e56e2562c710c8954d0f20d25b8386b397250d65581e544edc9d6b942"},
+ {file = "fonttools-4.49.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8fb022d799b96df3eaa27263e9eea306bd3d437cc9aa981820850281a02b6c9a"},
+ {file = "fonttools-4.49.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:33c584c0ef7dc54f5dd4f84082eabd8d09d1871a3d8ca2986b0c0c98165f8e86"},
+ {file = "fonttools-4.49.0-cp311-cp311-win32.whl", hash = "sha256:cbe61b158deb09cffdd8540dc4a948d6e8f4d5b4f3bf5cd7db09bd6a61fee64e"},
+ {file = "fonttools-4.49.0-cp311-cp311-win_amd64.whl", hash = "sha256:fc11e5114f3f978d0cea7e9853627935b30d451742eeb4239a81a677bdee6bf6"},
+ {file = "fonttools-4.49.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d647a0e697e5daa98c87993726da8281c7233d9d4ffe410812a4896c7c57c075"},
+ {file = "fonttools-4.49.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f3bbe672df03563d1f3a691ae531f2e31f84061724c319652039e5a70927167e"},
+ {file = "fonttools-4.49.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bebd91041dda0d511b0d303180ed36e31f4f54b106b1259b69fade68413aa7ff"},
+ {file = "fonttools-4.49.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4145f91531fd43c50f9eb893faa08399816bb0b13c425667c48475c9f3a2b9b5"},
+ {file = "fonttools-4.49.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ea329dafb9670ffbdf4dbc3b0e5c264104abcd8441d56de77f06967f032943cb"},
+ {file = "fonttools-4.49.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c076a9e548521ecc13d944b1d261ff3d7825048c338722a4bd126d22316087b7"},
+ {file = "fonttools-4.49.0-cp312-cp312-win32.whl", hash = "sha256:b607ea1e96768d13be26d2b400d10d3ebd1456343eb5eaddd2f47d1c4bd00880"},
+ {file = "fonttools-4.49.0-cp312-cp312-win_amd64.whl", hash = "sha256:a974c49a981e187381b9cc2c07c6b902d0079b88ff01aed34695ec5360767034"},
+ {file = "fonttools-4.49.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b85ec0bdd7bdaa5c1946398cbb541e90a6dfc51df76dfa88e0aaa41b335940cb"},
+ {file = "fonttools-4.49.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:af20acbe198a8a790618ee42db192eb128afcdcc4e96d99993aca0b60d1faeb4"},
+ {file = "fonttools-4.49.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d418b1fee41a1d14931f7ab4b92dc0bc323b490e41d7a333eec82c9f1780c75"},
+ {file = "fonttools-4.49.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b44a52b8e6244b6548851b03b2b377a9702b88ddc21dcaf56a15a0393d425cb9"},
+ {file = "fonttools-4.49.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:7c7125068e04a70739dad11857a4d47626f2b0bd54de39e8622e89701836eabd"},
+ {file = "fonttools-4.49.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:29e89d0e1a7f18bc30f197cfadcbef5a13d99806447c7e245f5667579a808036"},
+ {file = "fonttools-4.49.0-cp38-cp38-win32.whl", hash = "sha256:9d95fa0d22bf4f12d2fb7b07a46070cdfc19ef5a7b1c98bc172bfab5bf0d6844"},
+ {file = "fonttools-4.49.0-cp38-cp38-win_amd64.whl", hash = "sha256:768947008b4dc552d02772e5ebd49e71430a466e2373008ce905f953afea755a"},
+ {file = "fonttools-4.49.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:08877e355d3dde1c11973bb58d4acad1981e6d1140711230a4bfb40b2b937ccc"},
+ {file = "fonttools-4.49.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fdb54b076f25d6b0f0298dc706acee5052de20c83530fa165b60d1f2e9cbe3cb"},
+ {file = "fonttools-4.49.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0af65c720520710cc01c293f9c70bd69684365c6015cc3671db2b7d807fe51f2"},
+ {file = "fonttools-4.49.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f255ce8ed7556658f6d23f6afd22a6d9bbc3edb9b96c96682124dc487e1bf42"},
+ {file = "fonttools-4.49.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d00af0884c0e65f60dfaf9340e26658836b935052fdd0439952ae42e44fdd2be"},
+ {file = "fonttools-4.49.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:263832fae27481d48dfafcc43174644b6706639661e242902ceb30553557e16c"},
+ {file = "fonttools-4.49.0-cp39-cp39-win32.whl", hash = "sha256:0404faea044577a01bb82d47a8fa4bc7a54067fa7e324785dd65d200d6dd1133"},
+ {file = "fonttools-4.49.0-cp39-cp39-win_amd64.whl", hash = "sha256:b050d362df50fc6e38ae3954d8c29bf2da52be384649ee8245fdb5186b620836"},
+ {file = "fonttools-4.49.0-py3-none-any.whl", hash = "sha256:af281525e5dd7fa0b39fb1667b8d5ca0e2a9079967e14c4bfe90fd1cd13e0f18"},
+ {file = "fonttools-4.49.0.tar.gz", hash = "sha256:ebf46e7f01b7af7861310417d7c49591a85d99146fc23a5ba82fdb28af156321"},
+]
+
+[package.extras]
+all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"]
graphite = ["lz4 (>=1.7.4.2)"]
-interpolatable = ["munkres", "scipy"]
-lxml = ["lxml (>=4.0,<5)"]
+interpolatable = ["munkres", "pycairo", "scipy"]
+lxml = ["lxml (>=4.0)"]
pathops = ["skia-pathops (>=0.5.0)"]
plot = ["matplotlib"]
repacker = ["uharfbuzz (>=0.23.0)"]
symfont = ["sympy"]
type1 = ["xattr"]
ufo = ["fs (>=2.2.0,<3)"]
-unicode = ["unicodedata2 (>=15.0.0)"]
+unicode = ["unicodedata2 (>=15.1.0)"]
woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"]
[[package]]
name = "greenlet"
-version = "2.0.2"
+version = "3.0.3"
description = "Lightweight in-process concurrent programming"
optional = true
-python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
-files = [
- {file = "greenlet-2.0.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:bdfea8c661e80d3c1c99ad7c3ff74e6e87184895bbaca6ee8cc61209f8b9b85d"},
- {file = "greenlet-2.0.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:9d14b83fab60d5e8abe587d51c75b252bcc21683f24699ada8fb275d7712f5a9"},
- {file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"},
- {file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"},
- {file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"},
- {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d967650d3f56af314b72df7089d96cda1083a7fc2da05b375d2bc48c82ab3f3c"},
- {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"},
- {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"},
- {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"},
- {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470"},
- {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3a51c9751078733d88e013587b108f1b7a1fb106d402fb390740f002b6f6551a"},
- {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"},
- {file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"},
- {file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"},
- {file = "greenlet-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d4606a527e30548153be1a9f155f4e283d109ffba663a15856089fb55f933e47"},
- {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"},
- {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"},
- {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"},
- {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19"},
- {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5454276c07d27a740c5892f4907c86327b632127dd9abec42ee62e12427ff7e3"},
- {file = "greenlet-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5"},
- {file = "greenlet-2.0.2-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6"},
- {file = "greenlet-2.0.2-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43"},
- {file = "greenlet-2.0.2-cp35-cp35m-win32.whl", hash = "sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a"},
- {file = "greenlet-2.0.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4b58adb399c4d61d912c4c331984d60eb66565175cdf4a34792cd9600f21b394"},
- {file = "greenlet-2.0.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:703f18f3fda276b9a916f0934d2fb6d989bf0b4fb5a64825260eb9bfd52d78f0"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:32e5b64b148966d9cccc2c8d35a671409e45f195864560829f395a54226408d3"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dd11f291565a81d71dab10b7033395b7a3a5456e637cf997a6f33ebdf06f8db"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099"},
- {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75"},
- {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:3c9b12575734155d0c09d6c3e10dbd81665d5c18e1a7c6597df72fd05990c8cf"},
- {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b9ec052b06a0524f0e35bd8790686a1da006bd911dd1ef7d50b77bfbad74e292"},
- {file = "greenlet-2.0.2-cp36-cp36m-win32.whl", hash = "sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9"},
- {file = "greenlet-2.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:9f35ec95538f50292f6d8f2c9c9f8a3c6540bbfec21c9e5b4b751e0a7c20864f"},
- {file = "greenlet-2.0.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2780572ec463d44c1d3ae850239508dbeb9fed38e294c68d19a24d925d9223ca"},
- {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:937e9020b514ceedb9c830c55d5c9872abc90f4b5862f89c0887033ae33c6f73"},
- {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:36abbf031e1c0f79dd5d596bfaf8e921c41df2bdf54ee1eed921ce1f52999a86"},
- {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33"},
- {file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"},
- {file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"},
- {file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"},
- {file = "greenlet-2.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1087300cf9700bbf455b1b97e24db18f2f77b55302a68272c56209d5587c12d1"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"},
- {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acd2162a36d3de67ee896c43effcd5ee3de247eb00354db411feb025aa319857"},
- {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a"},
- {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"},
- {file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"},
- {file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"},
- {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8512a0c38cfd4e66a858ddd1b17705587900dd760c6003998e9472b77b56d417"},
- {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be4ed120b52ae4d974aa40215fcdfde9194d63541c7ded40ee12eb4dda57b76b"},
- {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94c817e84245513926588caf1152e3b559ff794d505555211ca041f032abbb6b"},
- {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8"},
- {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9"},
- {file = "greenlet-2.0.2-cp39-cp39-win32.whl", hash = "sha256:ea9872c80c132f4663822dd2a08d404073a5a9b5ba6155bea72fb2a79d1093b5"},
- {file = "greenlet-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564"},
- {file = "greenlet-2.0.2.tar.gz", hash = "sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0"},
-]
-
-[package.extras]
-docs = ["Sphinx", "docutils (<0.18)"]
+python-versions = ">=3.7"
+files = [
+ {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"},
+ {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"},
+ {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"},
+ {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a"},
+ {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83"},
+ {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405"},
+ {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f"},
+ {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb"},
+ {file = "greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9"},
+ {file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"},
+ {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"},
+ {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"},
+ {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"},
+ {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"},
+ {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"},
+ {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"},
+ {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"},
+ {file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"},
+ {file = "greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be"},
+ {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e"},
+ {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676"},
+ {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc"},
+ {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230"},
+ {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf"},
+ {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305"},
+ {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6"},
+ {file = "greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2"},
+ {file = "greenlet-3.0.3-cp37-cp37m-macosx_11_0_universal2.whl", hash = "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274"},
+ {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0"},
+ {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f"},
+ {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414"},
+ {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c"},
+ {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41"},
+ {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7"},
+ {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6"},
+ {file = "greenlet-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d"},
+ {file = "greenlet-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67"},
+ {file = "greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca"},
+ {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04"},
+ {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc"},
+ {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506"},
+ {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b"},
+ {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4"},
+ {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5"},
+ {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da"},
+ {file = "greenlet-3.0.3-cp38-cp38-win32.whl", hash = "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3"},
+ {file = "greenlet-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf"},
+ {file = "greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53"},
+ {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257"},
+ {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac"},
+ {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71"},
+ {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61"},
+ {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b"},
+ {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6"},
+ {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113"},
+ {file = "greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e"},
+ {file = "greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067"},
+ {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"},
+]
+
+[package.extras]
+docs = ["Sphinx", "furo"]
test = ["objgraph", "psutil"]
[[package]]
name = "idna"
-version = "3.4"
+version = "3.6"
description = "Internationalized Domain Names in Applications (IDNA)"
optional = false
python-versions = ">=3.5"
files = [
- {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"},
- {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"},
+ {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"},
+ {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"},
]
[[package]]
@@ -897,40 +897,40 @@ files = [
[[package]]
name = "importlib-metadata"
-version = "6.8.0"
+version = "7.0.1"
description = "Read metadata from Python packages"
optional = false
python-versions = ">=3.8"
files = [
- {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"},
- {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"},
+ {file = "importlib_metadata-7.0.1-py3-none-any.whl", hash = "sha256:4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e"},
+ {file = "importlib_metadata-7.0.1.tar.gz", hash = "sha256:f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc"},
]
[package.dependencies]
zipp = ">=0.5"
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
perf = ["ipython"]
testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
[[package]]
name = "importlib-resources"
-version = "6.0.1"
+version = "6.1.2"
description = "Read resources from Python packages"
-optional = false
+optional = true
python-versions = ">=3.8"
files = [
- {file = "importlib_resources-6.0.1-py3-none-any.whl", hash = "sha256:134832a506243891221b88b4ae1213327eea96ceb4e407a00d790bb0626f45cf"},
- {file = "importlib_resources-6.0.1.tar.gz", hash = "sha256:4359457e42708462b9626a04657c6208ad799ceb41e5c58c57ffa0e6a098a5d4"},
+ {file = "importlib_resources-6.1.2-py3-none-any.whl", hash = "sha256:9a0a862501dc38b68adebc82970140c9e4209fc99601782925178f8386339938"},
+ {file = "importlib_resources-6.1.2.tar.gz", hash = "sha256:308abf8474e2dba5f867d279237cd4076482c3de7104a40b41426370e891549b"},
]
[package.dependencies]
zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
+testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"]
[[package]]
name = "iniconfig"
@@ -945,13 +945,13 @@ files = [
[[package]]
name = "ipykernel"
-version = "6.23.2"
+version = "6.29.3"
description = "IPython Kernel for Jupyter"
optional = false
python-versions = ">=3.8"
files = [
- {file = "ipykernel-6.23.2-py3-none-any.whl", hash = "sha256:7ccb6e2d32fd958c21453db494c914f3474908a2fdefd99ab548a5375b548d1f"},
- {file = "ipykernel-6.23.2.tar.gz", hash = "sha256:fcfb67c5b504aa1bfcda1c5b3716636239e0f7b9290958f1c558c79b4c0e7ed5"},
+ {file = "ipykernel-6.29.3-py3-none-any.whl", hash = "sha256:5aa086a4175b0229d4eca211e181fb473ea78ffd9869af36ba7694c947302a21"},
+ {file = "ipykernel-6.29.3.tar.gz", hash = "sha256:e14c250d1f9ea3989490225cc1a542781b095a18a19447fcf2b5eaf7d0ac5bd2"},
]
[package.dependencies]
@@ -965,7 +965,7 @@ matplotlib-inline = ">=0.1"
nest-asyncio = "*"
packaging = "*"
psutil = "*"
-pyzmq = ">=20"
+pyzmq = ">=24"
tornado = ">=6.1"
traitlets = ">=5.4.0"
@@ -974,73 +974,68 @@ cov = ["coverage[toml]", "curio", "matplotlib", "pytest-cov", "trio"]
docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "trio"]
pyqt5 = ["pyqt5"]
pyside6 = ["pyside6"]
-test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio", "pytest-cov", "pytest-timeout"]
+test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.23.5)", "pytest-cov", "pytest-timeout"]
[[package]]
name = "ipython"
-version = "8.12.2"
+version = "8.18.1"
description = "IPython: Productive Interactive Computing"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "ipython-8.12.2-py3-none-any.whl", hash = "sha256:ea8801f15dfe4ffb76dea1b09b847430ffd70d827b41735c64a0638a04103bfc"},
- {file = "ipython-8.12.2.tar.gz", hash = "sha256:c7b80eb7f5a855a88efc971fda506ff7a91c280b42cdae26643e0f601ea281ea"},
+ {file = "ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397"},
+ {file = "ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27"},
]
[package.dependencies]
-appnope = {version = "*", markers = "sys_platform == \"darwin\""}
-backcall = "*"
colorama = {version = "*", markers = "sys_platform == \"win32\""}
decorator = "*"
+exceptiongroup = {version = "*", markers = "python_version < \"3.11\""}
jedi = ">=0.16"
matplotlib-inline = "*"
pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""}
-pickleshare = "*"
-prompt-toolkit = ">=3.0.30,<3.0.37 || >3.0.37,<3.1.0"
+prompt-toolkit = ">=3.0.41,<3.1.0"
pygments = ">=2.4.0"
stack-data = "*"
traitlets = ">=5"
typing-extensions = {version = "*", markers = "python_version < \"3.10\""}
[package.extras]
-all = ["black", "curio", "docrepr", "ipykernel", "ipyparallel", "ipywidgets", "matplotlib", "matplotlib (!=3.2.0)", "nbconvert", "nbformat", "notebook", "numpy (>=1.21)", "pandas", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio", "qtconsole", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "trio", "typing-extensions"]
+all = ["black", "curio", "docrepr", "exceptiongroup", "ipykernel", "ipyparallel", "ipywidgets", "matplotlib", "matplotlib (!=3.2.0)", "nbconvert", "nbformat", "notebook", "numpy (>=1.22)", "pandas", "pickleshare", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio (<0.22)", "qtconsole", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "trio", "typing-extensions"]
black = ["black"]
-doc = ["docrepr", "ipykernel", "matplotlib", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "typing-extensions"]
+doc = ["docrepr", "exceptiongroup", "ipykernel", "matplotlib", "pickleshare", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio (<0.22)", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "typing-extensions"]
kernel = ["ipykernel"]
nbconvert = ["nbconvert"]
nbformat = ["nbformat"]
notebook = ["ipywidgets", "notebook"]
parallel = ["ipyparallel"]
qtconsole = ["qtconsole"]
-test = ["pytest (<7.1)", "pytest-asyncio", "testpath"]
-test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pandas", "pytest (<7.1)", "pytest-asyncio", "testpath", "trio"]
+test = ["pickleshare", "pytest (<7.1)", "pytest-asyncio (<0.22)", "testpath"]
+test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.22)", "pandas", "pickleshare", "pytest (<7.1)", "pytest-asyncio (<0.22)", "testpath", "trio"]
[[package]]
name = "isort"
-version = "5.12.0"
+version = "5.13.2"
description = "A Python utility / library to sort Python imports."
optional = false
python-versions = ">=3.8.0"
files = [
- {file = "isort-5.12.0-py3-none-any.whl", hash = "sha256:f84c2818376e66cf843d497486ea8fed8700b340f308f076c6fb1229dff318b6"},
- {file = "isort-5.12.0.tar.gz", hash = "sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504"},
+ {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"},
+ {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"},
]
[package.extras]
-colors = ["colorama (>=0.4.3)"]
-pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"]
-plugins = ["setuptools"]
-requirements-deprecated-finder = ["pip-api", "pipreqs"]
+colors = ["colorama (>=0.4.6)"]
[[package]]
name = "jedi"
-version = "0.19.0"
+version = "0.19.1"
description = "An autocompletion tool for Python that can be used for text editors."
optional = false
python-versions = ">=3.6"
files = [
- {file = "jedi-0.19.0-py2.py3-none-any.whl", hash = "sha256:cb8ce23fbccff0025e9386b5cf85e892f94c9b822378f8da49970471335ac64e"},
- {file = "jedi-0.19.0.tar.gz", hash = "sha256:bcf9894f1753969cbac8022a8c2eaee06bfa3724e4192470aaffe7eb6272b0c4"},
+ {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"},
+ {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"},
]
[package.dependencies]
@@ -1049,7 +1044,7 @@ parso = ">=0.8.3,<0.9.0"
[package.extras]
docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"]
qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"]
-testing = ["Django (<3.1)", "attrs", "colorama", "docopt", "pytest (<7.0.0)"]
+testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"]
[[package]]
name = "jinja2"
@@ -1070,20 +1065,18 @@ i18n = ["Babel (>=2.7)"]
[[package]]
name = "jsonschema"
-version = "4.19.0"
+version = "4.21.1"
description = "An implementation of JSON Schema validation for Python"
optional = false
python-versions = ">=3.8"
files = [
- {file = "jsonschema-4.19.0-py3-none-any.whl", hash = "sha256:043dc26a3845ff09d20e4420d6012a9c91c9aa8999fa184e7efcfeccb41e32cb"},
- {file = "jsonschema-4.19.0.tar.gz", hash = "sha256:6e1e7569ac13be8139b2dd2c21a55d350066ee3f80df06c608b398cdc6f30e8f"},
+ {file = "jsonschema-4.21.1-py3-none-any.whl", hash = "sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f"},
+ {file = "jsonschema-4.21.1.tar.gz", hash = "sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5"},
]
[package.dependencies]
attrs = ">=22.2.0"
-importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""}
jsonschema-specifications = ">=2023.03.6"
-pkgutil-resolve-name = {version = ">=1.3.10", markers = "python_version < \"3.9\""}
referencing = ">=0.28.4"
rpds-py = ">=0.7.1"
@@ -1093,28 +1086,27 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-
[[package]]
name = "jsonschema-specifications"
-version = "2023.7.1"
+version = "2023.12.1"
description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
optional = false
python-versions = ">=3.8"
files = [
- {file = "jsonschema_specifications-2023.7.1-py3-none-any.whl", hash = "sha256:05adf340b659828a004220a9613be00fa3f223f2b82002e273dee62fd50524b1"},
- {file = "jsonschema_specifications-2023.7.1.tar.gz", hash = "sha256:c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb"},
+ {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"},
+ {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"},
]
[package.dependencies]
-importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""}
-referencing = ">=0.28.0"
+referencing = ">=0.31.0"
[[package]]
name = "jupyter-client"
-version = "8.3.0"
+version = "8.6.0"
description = "Jupyter protocol implementation and client libraries"
optional = false
python-versions = ">=3.8"
files = [
- {file = "jupyter_client-8.3.0-py3-none-any.whl", hash = "sha256:7441af0c0672edc5d28035e92ba5e32fadcfa8a4e608a434c228836a89df6158"},
- {file = "jupyter_client-8.3.0.tar.gz", hash = "sha256:3af69921fe99617be1670399a0b857ad67275eefcfa291e2c81a160b7b650f5f"},
+ {file = "jupyter_client-8.6.0-py3-none-any.whl", hash = "sha256:909c474dbe62582ae62b758bca86d6518c85234bdee2d908c778db6d72f39d99"},
+ {file = "jupyter_client-8.6.0.tar.gz", hash = "sha256:0642244bb83b4764ae60d07e010e15f0e2d275ec4e918a8f7b80fbbef3ca60c7"},
]
[package.dependencies]
@@ -1131,13 +1123,13 @@ test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pyt
[[package]]
name = "jupyter-core"
-version = "5.3.1"
+version = "5.7.1"
description = "Jupyter core package. A base package on which Jupyter projects rely."
optional = false
python-versions = ">=3.8"
files = [
- {file = "jupyter_core-5.3.1-py3-none-any.whl", hash = "sha256:ae9036db959a71ec1cac33081eeb040a79e681f08ab68b0883e9a676c7a90dce"},
- {file = "jupyter_core-5.3.1.tar.gz", hash = "sha256:5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba"},
+ {file = "jupyter_core-5.7.1-py3-none-any.whl", hash = "sha256:c65c82126453a723a2804aa52409930434598fd9d35091d63dfb919d2b765bb7"},
+ {file = "jupyter_core-5.7.1.tar.gz", hash = "sha256:de61a9d7fc71240f688b2fb5ab659fbb56979458dc66a71decd098e03c79e218"},
]
[package.dependencies]
@@ -1146,95 +1138,131 @@ pywin32 = {version = ">=300", markers = "sys_platform == \"win32\" and platform_
traitlets = ">=5.3"
[package.extras]
-docs = ["myst-parser", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"]
+docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"]
test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"]
[[package]]
name = "jupyterlab-pygments"
-version = "0.2.2"
+version = "0.3.0"
description = "Pygments theme using JupyterLab CSS variables"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "jupyterlab_pygments-0.2.2-py2.py3-none-any.whl", hash = "sha256:2405800db07c9f770863bcf8049a529c3dd4d3e28536638bd7c1c01d2748309f"},
- {file = "jupyterlab_pygments-0.2.2.tar.gz", hash = "sha256:7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d"},
+ {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"},
+ {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"},
]
[[package]]
name = "kiwisolver"
-version = "1.4.4"
+version = "1.4.5"
description = "A fast implementation of the Cassowary constraint solver"
optional = true
python-versions = ">=3.7"
files = [
- {file = "kiwisolver-1.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2f5e60fabb7343a836360c4f0919b8cd0d6dbf08ad2ca6b9cf90bf0c76a3c4f6"},
- {file = "kiwisolver-1.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10ee06759482c78bdb864f4109886dff7b8a56529bc1609d4f1112b93fe6423c"},
- {file = "kiwisolver-1.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c79ebe8f3676a4c6630fd3f777f3cfecf9289666c84e775a67d1d358578dc2e3"},
- {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:abbe9fa13da955feb8202e215c4018f4bb57469b1b78c7a4c5c7b93001699938"},
- {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7577c1987baa3adc4b3c62c33bd1118c3ef5c8ddef36f0f2c950ae0b199e100d"},
- {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8ad8285b01b0d4695102546b342b493b3ccc6781fc28c8c6a1bb63e95d22f09"},
- {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ed58b8acf29798b036d347791141767ccf65eee7f26bde03a71c944449e53de"},
- {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a68b62a02953b9841730db7797422f983935aeefceb1679f0fc85cbfbd311c32"},
- {file = "kiwisolver-1.4.4-cp310-cp310-win32.whl", hash = "sha256:e92a513161077b53447160b9bd8f522edfbed4bd9759e4c18ab05d7ef7e49408"},
- {file = "kiwisolver-1.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:3fe20f63c9ecee44560d0e7f116b3a747a5d7203376abeea292ab3152334d004"},
- {file = "kiwisolver-1.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e0ea21f66820452a3f5d1655f8704a60d66ba1191359b96541eaf457710a5fc6"},
- {file = "kiwisolver-1.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bc9db8a3efb3e403e4ecc6cd9489ea2bac94244f80c78e27c31dcc00d2790ac2"},
- {file = "kiwisolver-1.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d5b61785a9ce44e5a4b880272baa7cf6c8f48a5180c3e81c59553ba0cb0821ca"},
- {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c2dbb44c3f7e6c4d3487b31037b1bdbf424d97687c1747ce4ff2895795c9bf69"},
- {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6295ecd49304dcf3bfbfa45d9a081c96509e95f4b9d0eb7ee4ec0530c4a96514"},
- {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4bd472dbe5e136f96a4b18f295d159d7f26fd399136f5b17b08c4e5f498cd494"},
- {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf7d9fce9bcc4752ca4a1b80aabd38f6d19009ea5cbda0e0856983cf6d0023f5"},
- {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78d6601aed50c74e0ef02f4204da1816147a6d3fbdc8b3872d263338a9052c51"},
- {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:877272cf6b4b7e94c9614f9b10140e198d2186363728ed0f701c6eee1baec1da"},
- {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:db608a6757adabb32f1cfe6066e39b3706d8c3aa69bbc353a5b61edad36a5cb4"},
- {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:5853eb494c71e267912275e5586fe281444eb5e722de4e131cddf9d442615626"},
- {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:f0a1dbdb5ecbef0d34eb77e56fcb3e95bbd7e50835d9782a45df81cc46949750"},
- {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:283dffbf061a4ec60391d51e6155e372a1f7a4f5b15d59c8505339454f8989e4"},
- {file = "kiwisolver-1.4.4-cp311-cp311-win32.whl", hash = "sha256:d06adcfa62a4431d404c31216f0f8ac97397d799cd53800e9d3efc2fbb3cf14e"},
- {file = "kiwisolver-1.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:e7da3fec7408813a7cebc9e4ec55afed2d0fd65c4754bc376bf03498d4e92686"},
- {file = "kiwisolver-1.4.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:62ac9cc684da4cf1778d07a89bf5f81b35834cb96ca523d3a7fb32509380cbf6"},
- {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41dae968a94b1ef1897cb322b39360a0812661dba7c682aa45098eb8e193dbdf"},
- {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02f79693ec433cb4b5f51694e8477ae83b3205768a6fb48ffba60549080e295b"},
- {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d0611a0a2a518464c05ddd5a3a1a0e856ccc10e67079bb17f265ad19ab3c7597"},
- {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:db5283d90da4174865d520e7366801a93777201e91e79bacbac6e6927cbceede"},
- {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1041feb4cda8708ce73bb4dcb9ce1ccf49d553bf87c3954bdfa46f0c3f77252c"},
- {file = "kiwisolver-1.4.4-cp37-cp37m-win32.whl", hash = "sha256:a553dadda40fef6bfa1456dc4be49b113aa92c2a9a9e8711e955618cd69622e3"},
- {file = "kiwisolver-1.4.4-cp37-cp37m-win_amd64.whl", hash = "sha256:03baab2d6b4a54ddbb43bba1a3a2d1627e82d205c5cf8f4c924dc49284b87166"},
- {file = "kiwisolver-1.4.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:841293b17ad704d70c578f1f0013c890e219952169ce8a24ebc063eecf775454"},
- {file = "kiwisolver-1.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f4f270de01dd3e129a72efad823da90cc4d6aafb64c410c9033aba70db9f1ff0"},
- {file = "kiwisolver-1.4.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f9f39e2f049db33a908319cf46624a569b36983c7c78318e9726a4cb8923b26c"},
- {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c97528e64cb9ebeff9701e7938653a9951922f2a38bd847787d4a8e498cc83ae"},
- {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d1573129aa0fd901076e2bfb4275a35f5b7aa60fbfb984499d661ec950320b0"},
- {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ad881edc7ccb9d65b0224f4e4d05a1e85cf62d73aab798943df6d48ab0cd79a1"},
- {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b428ef021242344340460fa4c9185d0b1f66fbdbfecc6c63eff4b7c29fad429d"},
- {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2e407cb4bd5a13984a6c2c0fe1845e4e41e96f183e5e5cd4d77a857d9693494c"},
- {file = "kiwisolver-1.4.4-cp38-cp38-win32.whl", hash = "sha256:75facbe9606748f43428fc91a43edb46c7ff68889b91fa31f53b58894503a191"},
- {file = "kiwisolver-1.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:5bce61af018b0cb2055e0e72e7d65290d822d3feee430b7b8203d8a855e78766"},
- {file = "kiwisolver-1.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8c808594c88a025d4e322d5bb549282c93c8e1ba71b790f539567932722d7bd8"},
- {file = "kiwisolver-1.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0a71d85ecdd570ded8ac3d1c0f480842f49a40beb423bb8014539a9f32a5897"},
- {file = "kiwisolver-1.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b533558eae785e33e8c148a8d9921692a9fe5aa516efbdff8606e7d87b9d5824"},
- {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:efda5fc8cc1c61e4f639b8067d118e742b812c930f708e6667a5ce0d13499e29"},
- {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7c43e1e1206cd421cd92e6b3280d4385d41d7166b3ed577ac20444b6995a445f"},
- {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc8d3bd6c72b2dd9decf16ce70e20abcb3274ba01b4e1c96031e0c4067d1e7cd"},
- {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ea39b0ccc4f5d803e3337dd46bcce60b702be4d86fd0b3d7531ef10fd99a1ac"},
- {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:968f44fdbf6dd757d12920d63b566eeb4d5b395fd2d00d29d7ef00a00582aac9"},
- {file = "kiwisolver-1.4.4-cp39-cp39-win32.whl", hash = "sha256:da7e547706e69e45d95e116e6939488d62174e033b763ab1496b4c29b76fabea"},
- {file = "kiwisolver-1.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:ba59c92039ec0a66103b1d5fe588fa546373587a7d68f5c96f743c3396afc04b"},
- {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:91672bacaa030f92fc2f43b620d7b337fd9a5af28b0d6ed3f77afc43c4a64b5a"},
- {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:787518a6789009c159453da4d6b683f468ef7a65bbde796bcea803ccf191058d"},
- {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da152d8cdcab0e56e4f45eb08b9aea6455845ec83172092f09b0e077ece2cf7a"},
- {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ecb1fa0db7bf4cff9dac752abb19505a233c7f16684c5826d1f11ebd9472b871"},
- {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:28bc5b299f48150b5f822ce68624e445040595a4ac3d59251703779836eceff9"},
- {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:81e38381b782cc7e1e46c4e14cd997ee6040768101aefc8fa3c24a4cc58e98f8"},
- {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2a66fdfb34e05b705620dd567f5a03f239a088d5a3f321e7b6ac3239d22aa286"},
- {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:872b8ca05c40d309ed13eb2e582cab0c5a05e81e987ab9c521bf05ad1d5cf5cb"},
- {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:70e7c2e7b750585569564e2e5ca9845acfaa5da56ac46df68414f29fea97be9f"},
- {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9f85003f5dfa867e86d53fac6f7e6f30c045673fa27b603c397753bebadc3008"},
- {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e307eb9bd99801f82789b44bb45e9f541961831c7311521b13a6c85afc09767"},
- {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1792d939ec70abe76f5054d3f36ed5656021dcad1322d1cc996d4e54165cef9"},
- {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6cb459eea32a4e2cf18ba5fcece2dbdf496384413bc1bae15583f19e567f3b2"},
- {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b"},
- {file = "kiwisolver-1.4.4.tar.gz", hash = "sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-win32.whl", hash = "sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238"},
+ {file = "kiwisolver-1.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-win32.whl", hash = "sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac"},
+ {file = "kiwisolver-1.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-win32.whl", hash = "sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20"},
+ {file = "kiwisolver-1.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9"},
+ {file = "kiwisolver-1.4.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3a2b053a0ab7a3960c98725cfb0bf5b48ba82f64ec95fe06f1d06c99b552e130"},
+ {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cd32d6c13807e5c66a7cbb79f90b553642f296ae4518a60d8d76243b0ad2898"},
+ {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59ec7b7c7e1a61061850d53aaf8e93db63dce0c936db1fda2658b70e4a1be709"},
+ {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da4cfb373035def307905d05041c1d06d8936452fe89d464743ae7fb8371078b"},
+ {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2400873bccc260b6ae184b2b8a4fec0e4082d30648eadb7c3d9a13405d861e89"},
+ {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1b04139c4236a0f3aff534479b58f6f849a8b351e1314826c2d230849ed48985"},
+ {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:4e66e81a5779b65ac21764c295087de82235597a2293d18d943f8e9e32746265"},
+ {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:7931d8f1f67c4be9ba1dd9c451fb0eeca1a25b89e4d3f89e828fe12a519b782a"},
+ {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b3f7e75f3015df442238cca659f8baa5f42ce2a8582727981cbfa15fee0ee205"},
+ {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:bbf1d63eef84b2e8c89011b7f2235b1e0bf7dacc11cac9431fc6468e99ac77fb"},
+ {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4c380469bd3f970ef677bf2bcba2b6b0b4d5c75e7a020fb863ef75084efad66f"},
+ {file = "kiwisolver-1.4.5-cp37-cp37m-win32.whl", hash = "sha256:9408acf3270c4b6baad483865191e3e582b638b1654a007c62e3efe96f09a9a3"},
+ {file = "kiwisolver-1.4.5-cp37-cp37m-win_amd64.whl", hash = "sha256:5b94529f9b2591b7af5f3e0e730a4e0a41ea174af35a4fd067775f9bdfeee01a"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:11c7de8f692fc99816e8ac50d1d1aef4f75126eefc33ac79aac02c099fd3db71"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:53abb58632235cd154176ced1ae8f0d29a6657aa1aa9decf50b899b755bc2b93"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:88b9f257ca61b838b6f8094a62418421f87ac2a1069f7e896c36a7d86b5d4c29"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3195782b26fc03aa9c6913d5bad5aeb864bdc372924c093b0f1cebad603dd712"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc579bf0f502e54926519451b920e875f433aceb4624a3646b3252b5caa9e0b6"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a580c91d686376f0f7c295357595c5a026e6cbc3d77b7c36e290201e7c11ecb"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cfe6ab8da05c01ba6fbea630377b5da2cd9bcbc6338510116b01c1bc939a2c18"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d2e5a98f0ec99beb3c10e13b387f8db39106d53993f498b295f0c914328b1333"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a51a263952b1429e429ff236d2f5a21c5125437861baeed77f5e1cc2d2c7c6da"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3edd2fa14e68c9be82c5b16689e8d63d89fe927e56debd6e1dbce7a26a17f81b"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:74d1b44c6cfc897df648cc9fdaa09bc3e7679926e6f96df05775d4fb3946571c"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:76d9289ed3f7501012e05abb8358bbb129149dbd173f1f57a1bf1c22d19ab7cc"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:92dea1ffe3714fa8eb6a314d2b3c773208d865a0e0d35e713ec54eea08a66250"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-win32.whl", hash = "sha256:5c90ae8c8d32e472be041e76f9d2f2dbff4d0b0be8bd4041770eddb18cf49a4e"},
+ {file = "kiwisolver-1.4.5-cp38-cp38-win_amd64.whl", hash = "sha256:c7940c1dc63eb37a67721b10d703247552416f719c4188c54e04334321351ced"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9407b6a5f0d675e8a827ad8742e1d6b49d9c1a1da5d952a67d50ef5f4170b18d"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15568384086b6df3c65353820a4473575dbad192e35010f622c6ce3eebd57af9"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0dc9db8e79f0036e8173c466d21ef18e1befc02de8bf8aa8dc0813a6dc8a7046"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cdc8a402aaee9a798b50d8b827d7ecf75edc5fb35ea0f91f213ff927c15f4ff0"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6c3bd3cde54cafb87d74d8db50b909705c62b17c2099b8f2e25b461882e544ff"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:955e8513d07a283056b1396e9a57ceddbd272d9252c14f154d450d227606eb54"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:346f5343b9e3f00b8db8ba359350eb124b98c99efd0b408728ac6ebf38173958"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9098e0049e88c6a24ff64545cdfc50807818ba6c1b739cae221bbbcbc58aad3"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7b8b454bac16428b22560d0a1cf0a09875339cab69df61d7805bf48919415901"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f1d072c2eb0ad60d4c183f3fb44ac6f73fb7a8f16a2694a91f988275cbf352f9"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:31a82d498054cac9f6d0b53d02bb85811185bcb477d4b60144f915f3b3126342"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6512cb89e334e4700febbffaaa52761b65b4f5a3cf33f960213d5656cea36a77"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-win32.whl", hash = "sha256:9db8ea4c388fdb0f780fe91346fd438657ea602d58348753d9fb265ce1bca67f"},
+ {file = "kiwisolver-1.4.5-cp39-cp39-win_amd64.whl", hash = "sha256:59415f46a37f7f2efeec758353dd2eae1b07640d8ca0f0c42548ec4125492635"},
+ {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5c7b3b3a728dc6faf3fc372ef24f21d1e3cee2ac3e9596691d746e5a536de920"},
+ {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:620ced262a86244e2be10a676b646f29c34537d0d9cc8eb26c08f53d98013390"},
+ {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:378a214a1e3bbf5ac4a8708304318b4f890da88c9e6a07699c4ae7174c09a68d"},
+ {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf7be1207676ac608a50cd08f102f6742dbfc70e8d60c4db1c6897f62f71523"},
+ {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ba55dce0a9b8ff59495ddd050a0225d58bd0983d09f87cfe2b6aec4f2c1234e4"},
+ {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fd32ea360bcbb92d28933fc05ed09bffcb1704ba3fc7942e81db0fd4f81a7892"},
+ {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5e7139af55d1688f8b960ee9ad5adafc4ac17c1c473fe07133ac092310d76544"},
+ {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dced8146011d2bc2e883f9bd68618b8247387f4bbec46d7392b3c3b032640126"},
+ {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9bf3325c47b11b2e51bca0824ea217c7cd84491d8ac4eefd1e409705ef092bd"},
+ {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5794cf59533bc3f1b1c821f7206a3617999db9fbefc345360aafe2e067514929"},
+ {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09"},
+ {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7"},
+ {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad"},
+ {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea"},
+ {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee"},
+ {file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"},
]
[[package]]
@@ -1253,124 +1281,126 @@ six = ">=1.4.1"
[[package]]
name = "lazy-object-proxy"
-version = "1.9.0"
+version = "1.10.0"
description = "A fast and thorough lazy object proxy."
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"},
- {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"},
- {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"},
- {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd"},
- {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701"},
- {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46"},
- {file = "lazy_object_proxy-1.9.0-cp310-cp310-win32.whl", hash = "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455"},
- {file = "lazy_object_proxy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e"},
- {file = "lazy_object_proxy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07"},
- {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a"},
- {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59"},
- {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4"},
- {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9"},
- {file = "lazy_object_proxy-1.9.0-cp311-cp311-win32.whl", hash = "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586"},
- {file = "lazy_object_proxy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb"},
- {file = "lazy_object_proxy-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e"},
- {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8"},
- {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2"},
- {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8"},
- {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda"},
- {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win32.whl", hash = "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734"},
- {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671"},
- {file = "lazy_object_proxy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63"},
- {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171"},
- {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be"},
- {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30"},
- {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11"},
- {file = "lazy_object_proxy-1.9.0-cp38-cp38-win32.whl", hash = "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82"},
- {file = "lazy_object_proxy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b"},
- {file = "lazy_object_proxy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b"},
- {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4"},
- {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006"},
- {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494"},
- {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382"},
- {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"},
- {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"},
+ {file = "lazy-object-proxy-1.10.0.tar.gz", hash = "sha256:78247b6d45f43a52ef35c25b5581459e85117225408a4128a3daf8bf9648ac69"},
+ {file = "lazy_object_proxy-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:855e068b0358ab916454464a884779c7ffa312b8925c6f7401e952dcf3b89977"},
+ {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab7004cf2e59f7c2e4345604a3e6ea0d92ac44e1c2375527d56492014e690c3"},
+ {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc0d2fc424e54c70c4bc06787e4072c4f3b1aa2f897dfdc34ce1013cf3ceef05"},
+ {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e2adb09778797da09d2b5ebdbceebf7dd32e2c96f79da9052b2e87b6ea495895"},
+ {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b1f711e2c6dcd4edd372cf5dec5c5a30d23bba06ee012093267b3376c079ec83"},
+ {file = "lazy_object_proxy-1.10.0-cp310-cp310-win32.whl", hash = "sha256:76a095cfe6045c7d0ca77db9934e8f7b71b14645f0094ffcd842349ada5c5fb9"},
+ {file = "lazy_object_proxy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:b4f87d4ed9064b2628da63830986c3d2dca7501e6018347798313fcf028e2fd4"},
+ {file = "lazy_object_proxy-1.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fec03caabbc6b59ea4a638bee5fce7117be8e99a4103d9d5ad77f15d6f81020c"},
+ {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02c83f957782cbbe8136bee26416686a6ae998c7b6191711a04da776dc9e47d4"},
+ {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009e6bb1f1935a62889ddc8541514b6a9e1fcf302667dcb049a0be5c8f613e56"},
+ {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:75fc59fc450050b1b3c203c35020bc41bd2695ed692a392924c6ce180c6f1dc9"},
+ {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:782e2c9b2aab1708ffb07d4bf377d12901d7a1d99e5e410d648d892f8967ab1f"},
+ {file = "lazy_object_proxy-1.10.0-cp311-cp311-win32.whl", hash = "sha256:edb45bb8278574710e68a6b021599a10ce730d156e5b254941754a9cc0b17d03"},
+ {file = "lazy_object_proxy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:e271058822765ad5e3bca7f05f2ace0de58a3f4e62045a8c90a0dfd2f8ad8cc6"},
+ {file = "lazy_object_proxy-1.10.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e98c8af98d5707dcdecc9ab0863c0ea6e88545d42ca7c3feffb6b4d1e370c7ba"},
+ {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:952c81d415b9b80ea261d2372d2a4a2332a3890c2b83e0535f263ddfe43f0d43"},
+ {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80b39d3a151309efc8cc48675918891b865bdf742a8616a337cb0090791a0de9"},
+ {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e221060b701e2aa2ea991542900dd13907a5c90fa80e199dbf5a03359019e7a3"},
+ {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:92f09ff65ecff3108e56526f9e2481b8116c0b9e1425325e13245abfd79bdb1b"},
+ {file = "lazy_object_proxy-1.10.0-cp312-cp312-win32.whl", hash = "sha256:3ad54b9ddbe20ae9f7c1b29e52f123120772b06dbb18ec6be9101369d63a4074"},
+ {file = "lazy_object_proxy-1.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:127a789c75151db6af398b8972178afe6bda7d6f68730c057fbbc2e96b08d282"},
+ {file = "lazy_object_proxy-1.10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4ed0518a14dd26092614412936920ad081a424bdcb54cc13349a8e2c6d106a"},
+ {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ad9e6ed739285919aa9661a5bbed0aaf410aa60231373c5579c6b4801bd883c"},
+ {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fc0a92c02fa1ca1e84fc60fa258458e5bf89d90a1ddaeb8ed9cc3147f417255"},
+ {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0aefc7591920bbd360d57ea03c995cebc204b424524a5bd78406f6e1b8b2a5d8"},
+ {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5faf03a7d8942bb4476e3b62fd0f4cf94eaf4618e304a19865abf89a35c0bbee"},
+ {file = "lazy_object_proxy-1.10.0-cp38-cp38-win32.whl", hash = "sha256:e333e2324307a7b5d86adfa835bb500ee70bfcd1447384a822e96495796b0ca4"},
+ {file = "lazy_object_proxy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:cb73507defd385b7705c599a94474b1d5222a508e502553ef94114a143ec6696"},
+ {file = "lazy_object_proxy-1.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:366c32fe5355ef5fc8a232c5436f4cc66e9d3e8967c01fb2e6302fd6627e3d94"},
+ {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2297f08f08a2bb0d32a4265e98a006643cd7233fb7983032bd61ac7a02956b3b"},
+ {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18dd842b49456aaa9a7cf535b04ca4571a302ff72ed8740d06b5adcd41fe0757"},
+ {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:217138197c170a2a74ca0e05bddcd5f1796c735c37d0eee33e43259b192aa424"},
+ {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9a3a87cf1e133e5b1994144c12ca4aa3d9698517fe1e2ca82977781b16955658"},
+ {file = "lazy_object_proxy-1.10.0-cp39-cp39-win32.whl", hash = "sha256:30b339b2a743c5288405aa79a69e706a06e02958eab31859f7f3c04980853b70"},
+ {file = "lazy_object_proxy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:a899b10e17743683b293a729d3a11f2f399e8a90c73b089e29f5d0fe3509f0dd"},
+ {file = "lazy_object_proxy-1.10.0-pp310.pp311.pp312.pp38.pp39-none-any.whl", hash = "sha256:80fa48bd89c8f2f456fc0765c11c23bf5af827febacd2f523ca5bc1893fcc09d"},
]
[[package]]
name = "llvmlite"
-version = "0.40.1"
+version = "0.41.1"
description = "lightweight wrapper around basic LLVM functionality"
optional = false
python-versions = ">=3.8"
files = [
- {file = "llvmlite-0.40.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:84ce9b1c7a59936382ffde7871978cddcda14098e5a76d961e204523e5c372fb"},
- {file = "llvmlite-0.40.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3673c53cb21c65d2ff3704962b5958e967c6fc0bd0cff772998face199e8d87b"},
- {file = "llvmlite-0.40.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bba2747cf5b4954e945c287fe310b3fcc484e2a9d1b0c273e99eb17d103bb0e6"},
- {file = "llvmlite-0.40.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbd5e82cc990e5a3e343a3bf855c26fdfe3bfae55225f00efd01c05bbda79918"},
- {file = "llvmlite-0.40.1-cp310-cp310-win32.whl", hash = "sha256:09f83ea7a54509c285f905d968184bba00fc31ebf12f2b6b1494d677bb7dde9b"},
- {file = "llvmlite-0.40.1-cp310-cp310-win_amd64.whl", hash = "sha256:7b37297f3cbd68d14a97223a30620589d98ad1890e5040c9e5fc181063f4ed49"},
- {file = "llvmlite-0.40.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a66a5bd580951751b4268f4c3bddcef92682814d6bc72f3cd3bb67f335dd7097"},
- {file = "llvmlite-0.40.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:467b43836b388eaedc5a106d76761e388dbc4674b2f2237bc477c6895b15a634"},
- {file = "llvmlite-0.40.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c23edd196bd797dc3a7860799054ea3488d2824ecabc03f9135110c2e39fcbc"},
- {file = "llvmlite-0.40.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a36d9f244b6680cb90bbca66b146dabb2972f4180c64415c96f7c8a2d8b60a36"},
- {file = "llvmlite-0.40.1-cp311-cp311-win_amd64.whl", hash = "sha256:5b3076dc4e9c107d16dc15ecb7f2faf94f7736cd2d5e9f4dc06287fd672452c1"},
- {file = "llvmlite-0.40.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4a7525db121f2e699809b539b5308228854ccab6693ecb01b52c44a2f5647e20"},
- {file = "llvmlite-0.40.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:84747289775d0874e506f907a4513db889471607db19b04de97d144047fec885"},
- {file = "llvmlite-0.40.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e35766e42acef0fe7d1c43169a8ffc327a47808fae6a067b049fe0e9bbf84dd5"},
- {file = "llvmlite-0.40.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cda71de10a1f48416309e408ea83dab5bf36058f83e13b86a2961defed265568"},
- {file = "llvmlite-0.40.1-cp38-cp38-win32.whl", hash = "sha256:96707ebad8b051bbb4fc40c65ef93b7eeee16643bd4d579a14d11578e4b7a647"},
- {file = "llvmlite-0.40.1-cp38-cp38-win_amd64.whl", hash = "sha256:e44f854dc11559795bcdeaf12303759e56213d42dabbf91a5897aa2d8b033810"},
- {file = "llvmlite-0.40.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f643d15aacd0b0b0dc8b74b693822ba3f9a53fa63bc6a178c2dba7cc88f42144"},
- {file = "llvmlite-0.40.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:39a0b4d0088c01a469a5860d2e2d7a9b4e6a93c0f07eb26e71a9a872a8cadf8d"},
- {file = "llvmlite-0.40.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9329b930d699699846623054121ed105fd0823ed2180906d3b3235d361645490"},
- {file = "llvmlite-0.40.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2dbbb8424037ca287983b115a29adf37d806baf7e1bf4a67bd2cffb74e085ed"},
- {file = "llvmlite-0.40.1-cp39-cp39-win32.whl", hash = "sha256:e74e7bec3235a1e1c9ad97d897a620c5007d0ed80c32c84c1d787e7daa17e4ec"},
- {file = "llvmlite-0.40.1-cp39-cp39-win_amd64.whl", hash = "sha256:ff8f31111bb99d135ff296757dc81ab36c2dee54ed4bd429158a96da9807c316"},
- {file = "llvmlite-0.40.1.tar.gz", hash = "sha256:5cdb0d45df602099d833d50bd9e81353a5e036242d3c003c5b294fc61d1986b4"},
+ {file = "llvmlite-0.41.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c1e1029d47ee66d3a0c4d6088641882f75b93db82bd0e6178f7bd744ebce42b9"},
+ {file = "llvmlite-0.41.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:150d0bc275a8ac664a705135e639178883293cf08c1a38de3bbaa2f693a0a867"},
+ {file = "llvmlite-0.41.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1eee5cf17ec2b4198b509272cf300ee6577229d237c98cc6e63861b08463ddc6"},
+ {file = "llvmlite-0.41.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dd0338da625346538f1173a17cabf21d1e315cf387ca21b294ff209d176e244"},
+ {file = "llvmlite-0.41.1-cp310-cp310-win32.whl", hash = "sha256:fa1469901a2e100c17eb8fe2678e34bd4255a3576d1a543421356e9c14d6e2ae"},
+ {file = "llvmlite-0.41.1-cp310-cp310-win_amd64.whl", hash = "sha256:2b76acee82ea0e9304be6be9d4b3840208d050ea0dcad75b1635fa06e949a0ae"},
+ {file = "llvmlite-0.41.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:210e458723436b2469d61b54b453474e09e12a94453c97ea3fbb0742ba5a83d8"},
+ {file = "llvmlite-0.41.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:855f280e781d49e0640aef4c4af586831ade8f1a6c4df483fb901cbe1a48d127"},
+ {file = "llvmlite-0.41.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b67340c62c93a11fae482910dc29163a50dff3dfa88bc874872d28ee604a83be"},
+ {file = "llvmlite-0.41.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2181bb63ef3c607e6403813421b46982c3ac6bfc1f11fa16a13eaafb46f578e6"},
+ {file = "llvmlite-0.41.1-cp311-cp311-win_amd64.whl", hash = "sha256:9564c19b31a0434f01d2025b06b44c7ed422f51e719ab5d24ff03b7560066c9a"},
+ {file = "llvmlite-0.41.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5940bc901fb0325970415dbede82c0b7f3e35c2d5fd1d5e0047134c2c46b3281"},
+ {file = "llvmlite-0.41.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8b0a9a47c28f67a269bb62f6256e63cef28d3c5f13cbae4fab587c3ad506778b"},
+ {file = "llvmlite-0.41.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8afdfa6da33f0b4226af8e64cfc2b28986e005528fbf944d0a24a72acfc9432"},
+ {file = "llvmlite-0.41.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8454c1133ef701e8c050a59edd85d238ee18bb9a0eb95faf2fca8b909ee3c89a"},
+ {file = "llvmlite-0.41.1-cp38-cp38-win32.whl", hash = "sha256:2d92c51e6e9394d503033ffe3292f5bef1566ab73029ec853861f60ad5c925d0"},
+ {file = "llvmlite-0.41.1-cp38-cp38-win_amd64.whl", hash = "sha256:df75594e5a4702b032684d5481db3af990b69c249ccb1d32687b8501f0689432"},
+ {file = "llvmlite-0.41.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:04725975e5b2af416d685ea0769f4ecc33f97be541e301054c9f741003085802"},
+ {file = "llvmlite-0.41.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bf14aa0eb22b58c231243dccf7e7f42f7beec48970f2549b3a6acc737d1a4ba4"},
+ {file = "llvmlite-0.41.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92c32356f669e036eb01016e883b22add883c60739bc1ebee3a1cc0249a50828"},
+ {file = "llvmlite-0.41.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24091a6b31242bcdd56ae2dbea40007f462260bc9bdf947953acc39dffd54f8f"},
+ {file = "llvmlite-0.41.1-cp39-cp39-win32.whl", hash = "sha256:880cb57ca49e862e1cd077104375b9d1dfdc0622596dfa22105f470d7bacb309"},
+ {file = "llvmlite-0.41.1-cp39-cp39-win_amd64.whl", hash = "sha256:92f093986ab92e71c9ffe334c002f96defc7986efda18397d0f08534f3ebdc4d"},
+ {file = "llvmlite-0.41.1.tar.gz", hash = "sha256:f19f767a018e6ec89608e1f6b13348fa2fcde657151137cb64e56d48598a92db"},
]
[[package]]
name = "lz4"
-version = "4.3.2"
+version = "4.3.3"
description = "LZ4 Bindings for Python"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "lz4-4.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1c4c100d99eed7c08d4e8852dd11e7d1ec47a3340f49e3a96f8dfbba17ffb300"},
- {file = "lz4-4.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:edd8987d8415b5dad25e797043936d91535017237f72fa456601be1479386c92"},
- {file = "lz4-4.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7c50542b4ddceb74ab4f8b3435327a0861f06257ca501d59067a6a482535a77"},
- {file = "lz4-4.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f5614d8229b33d4a97cb527db2a1ac81308c6e796e7bdb5d1309127289f69d5"},
- {file = "lz4-4.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8f00a9ba98f6364cadda366ae6469b7b3568c0cced27e16a47ddf6b774169270"},
- {file = "lz4-4.3.2-cp310-cp310-win32.whl", hash = "sha256:b10b77dc2e6b1daa2f11e241141ab8285c42b4ed13a8642495620416279cc5b2"},
- {file = "lz4-4.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:86480f14a188c37cb1416cdabacfb4e42f7a5eab20a737dac9c4b1c227f3b822"},
- {file = "lz4-4.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7c2df117def1589fba1327dceee51c5c2176a2b5a7040b45e84185ce0c08b6a3"},
- {file = "lz4-4.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1f25eb322eeb24068bb7647cae2b0732b71e5c639e4e4026db57618dcd8279f0"},
- {file = "lz4-4.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8df16c9a2377bdc01e01e6de5a6e4bbc66ddf007a6b045688e285d7d9d61d1c9"},
- {file = "lz4-4.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f571eab7fec554d3b1db0d666bdc2ad85c81f4b8cb08906c4c59a8cad75e6e22"},
- {file = "lz4-4.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7211dc8f636ca625abc3d4fb9ab74e5444b92df4f8d58ec83c8868a2b0ff643d"},
- {file = "lz4-4.3.2-cp311-cp311-win32.whl", hash = "sha256:867664d9ca9bdfce840ac96d46cd8838c9ae891e859eb98ce82fcdf0e103a947"},
- {file = "lz4-4.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:a6a46889325fd60b8a6b62ffc61588ec500a1883db32cddee9903edfba0b7584"},
- {file = "lz4-4.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3a85b430138882f82f354135b98c320dafb96fc8fe4656573d95ab05de9eb092"},
- {file = "lz4-4.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65d5c93f8badacfa0456b660285e394e65023ef8071142e0dcbd4762166e1be0"},
- {file = "lz4-4.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b50f096a6a25f3b2edca05aa626ce39979d63c3b160687c8c6d50ac3943d0ba"},
- {file = "lz4-4.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:200d05777d61ba1ff8d29cb51c534a162ea0b4fe6d3c28be3571a0a48ff36080"},
- {file = "lz4-4.3.2-cp37-cp37m-win32.whl", hash = "sha256:edc2fb3463d5d9338ccf13eb512aab61937be50aa70734bcf873f2f493801d3b"},
- {file = "lz4-4.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:83acfacab3a1a7ab9694333bcb7950fbeb0be21660d236fd09c8337a50817897"},
- {file = "lz4-4.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7a9eec24ec7d8c99aab54de91b4a5a149559ed5b3097cf30249b665689b3d402"},
- {file = "lz4-4.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:31d72731c4ac6ebdce57cd9a5cabe0aecba229c4f31ba3e2c64ae52eee3fdb1c"},
- {file = "lz4-4.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83903fe6db92db0be101acedc677aa41a490b561567fe1b3fe68695b2110326c"},
- {file = "lz4-4.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:926b26db87ec8822cf1870efc3d04d06062730ec3279bbbd33ba47a6c0a5c673"},
- {file = "lz4-4.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e05afefc4529e97c08e65ef92432e5f5225c0bb21ad89dee1e06a882f91d7f5e"},
- {file = "lz4-4.3.2-cp38-cp38-win32.whl", hash = "sha256:ad38dc6a7eea6f6b8b642aaa0683253288b0460b70cab3216838747163fb774d"},
- {file = "lz4-4.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:7e2dc1bd88b60fa09b9b37f08553f45dc2b770c52a5996ea52b2b40f25445676"},
- {file = "lz4-4.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:edda4fb109439b7f3f58ed6bede59694bc631c4b69c041112b1b7dc727fffb23"},
- {file = "lz4-4.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0ca83a623c449295bafad745dcd399cea4c55b16b13ed8cfea30963b004016c9"},
- {file = "lz4-4.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5ea0e788dc7e2311989b78cae7accf75a580827b4d96bbaf06c7e5a03989bd5"},
- {file = "lz4-4.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a98b61e504fb69f99117b188e60b71e3c94469295571492a6468c1acd63c37ba"},
- {file = "lz4-4.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4931ab28a0d1c133104613e74eec1b8bb1f52403faabe4f47f93008785c0b929"},
- {file = "lz4-4.3.2-cp39-cp39-win32.whl", hash = "sha256:ec6755cacf83f0c5588d28abb40a1ac1643f2ff2115481089264c7630236618a"},
- {file = "lz4-4.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:4caedeb19e3ede6c7a178968b800f910db6503cb4cb1e9cc9221157572139b49"},
- {file = "lz4-4.3.2.tar.gz", hash = "sha256:e1431d84a9cfb23e6773e72078ce8e65cad6745816d4cbf9ae67da5ea419acda"},
+ {file = "lz4-4.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b891880c187e96339474af2a3b2bfb11a8e4732ff5034be919aa9029484cd201"},
+ {file = "lz4-4.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:222a7e35137d7539c9c33bb53fcbb26510c5748779364014235afc62b0ec797f"},
+ {file = "lz4-4.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f76176492ff082657ada0d0f10c794b6da5800249ef1692b35cf49b1e93e8ef7"},
+ {file = "lz4-4.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1d18718f9d78182c6b60f568c9a9cec8a7204d7cb6fad4e511a2ef279e4cb05"},
+ {file = "lz4-4.3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6cdc60e21ec70266947a48839b437d46025076eb4b12c76bd47f8e5eb8a75dcc"},
+ {file = "lz4-4.3.3-cp310-cp310-win32.whl", hash = "sha256:c81703b12475da73a5d66618856d04b1307e43428a7e59d98cfe5a5d608a74c6"},
+ {file = "lz4-4.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:43cf03059c0f941b772c8aeb42a0813d68d7081c009542301637e5782f8a33e2"},
+ {file = "lz4-4.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:30e8c20b8857adef7be045c65f47ab1e2c4fabba86a9fa9a997d7674a31ea6b6"},
+ {file = "lz4-4.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2f7b1839f795315e480fb87d9bc60b186a98e3e5d17203c6e757611ef7dcef61"},
+ {file = "lz4-4.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edfd858985c23523f4e5a7526ca6ee65ff930207a7ec8a8f57a01eae506aaee7"},
+ {file = "lz4-4.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e9c410b11a31dbdc94c05ac3c480cb4b222460faf9231f12538d0074e56c563"},
+ {file = "lz4-4.3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d2507ee9c99dbddd191c86f0e0c8b724c76d26b0602db9ea23232304382e1f21"},
+ {file = "lz4-4.3.3-cp311-cp311-win32.whl", hash = "sha256:f180904f33bdd1e92967923a43c22899e303906d19b2cf8bb547db6653ea6e7d"},
+ {file = "lz4-4.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:b14d948e6dce389f9a7afc666d60dd1e35fa2138a8ec5306d30cd2e30d36b40c"},
+ {file = "lz4-4.3.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e36cd7b9d4d920d3bfc2369840da506fa68258f7bb176b8743189793c055e43d"},
+ {file = "lz4-4.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:31ea4be9d0059c00b2572d700bf2c1bc82f241f2c3282034a759c9a4d6ca4dc2"},
+ {file = "lz4-4.3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33c9a6fd20767ccaf70649982f8f3eeb0884035c150c0b818ea660152cf3c809"},
+ {file = "lz4-4.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca8fccc15e3add173da91be8f34121578dc777711ffd98d399be35487c934bf"},
+ {file = "lz4-4.3.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7d84b479ddf39fe3ea05387f10b779155fc0990125f4fb35d636114e1c63a2e"},
+ {file = "lz4-4.3.3-cp312-cp312-win32.whl", hash = "sha256:337cb94488a1b060ef1685187d6ad4ba8bc61d26d631d7ba909ee984ea736be1"},
+ {file = "lz4-4.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:5d35533bf2cee56f38ced91f766cd0038b6abf46f438a80d50c52750088be93f"},
+ {file = "lz4-4.3.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:363ab65bf31338eb364062a15f302fc0fab0a49426051429866d71c793c23394"},
+ {file = "lz4-4.3.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0a136e44a16fc98b1abc404fbabf7f1fada2bdab6a7e970974fb81cf55b636d0"},
+ {file = "lz4-4.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abc197e4aca8b63f5ae200af03eb95fb4b5055a8f990079b5bdf042f568469dd"},
+ {file = "lz4-4.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56f4fe9c6327adb97406f27a66420b22ce02d71a5c365c48d6b656b4aaeb7775"},
+ {file = "lz4-4.3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0e822cd7644995d9ba248cb4b67859701748a93e2ab7fc9bc18c599a52e4604"},
+ {file = "lz4-4.3.3-cp38-cp38-win32.whl", hash = "sha256:24b3206de56b7a537eda3a8123c644a2b7bf111f0af53bc14bed90ce5562d1aa"},
+ {file = "lz4-4.3.3-cp38-cp38-win_amd64.whl", hash = "sha256:b47839b53956e2737229d70714f1d75f33e8ac26e52c267f0197b3189ca6de24"},
+ {file = "lz4-4.3.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6756212507405f270b66b3ff7f564618de0606395c0fe10a7ae2ffcbbe0b1fba"},
+ {file = "lz4-4.3.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee9ff50557a942d187ec85462bb0960207e7ec5b19b3b48949263993771c6205"},
+ {file = "lz4-4.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b901c7784caac9a1ded4555258207d9e9697e746cc8532129f150ffe1f6ba0d"},
+ {file = "lz4-4.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6d9ec061b9eca86e4dcc003d93334b95d53909afd5a32c6e4f222157b50c071"},
+ {file = "lz4-4.3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4c7bf687303ca47d69f9f0133274958fd672efaa33fb5bcde467862d6c621f0"},
+ {file = "lz4-4.3.3-cp39-cp39-win32.whl", hash = "sha256:054b4631a355606e99a42396f5db4d22046a3397ffc3269a348ec41eaebd69d2"},
+ {file = "lz4-4.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:eac9af361e0d98335a02ff12fb56caeb7ea1196cf1a49dbf6f17828a131da807"},
+ {file = "lz4-4.3.3.tar.gz", hash = "sha256:01fe674ef2889dbb9899d8a67361e0c4a2c833af5aeb37dd505727cf5d2a131e"},
]
[package.extras]
@@ -1380,121 +1410,108 @@ tests = ["psutil", "pytest (!=3.3.0)", "pytest-cov"]
[[package]]
name = "markupsafe"
-version = "2.1.3"
+version = "2.1.5"
description = "Safely add untrusted strings to HTML/XML markup."
optional = false
python-versions = ">=3.7"
files = [
- {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"},
- {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"},
- {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"},
- {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"},
- {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"},
- {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"},
- {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"},
- {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"},
- {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"},
- {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"},
- {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"},
- {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"},
- {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"},
- {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"},
- {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"},
- {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"},
- {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"},
- {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"},
- {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"},
- {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"},
- {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"},
- {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"},
- {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"},
- {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"},
- {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"},
- {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"},
- {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"},
- {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"},
- {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"},
- {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"},
- {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"},
- {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"},
- {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"},
- {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"},
- {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"},
- {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"},
- {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"},
- {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"},
- {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"},
- {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"},
- {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"},
- {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"},
- {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"},
- {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"},
- {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"},
- {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"},
- {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"},
- {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"},
- {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"},
- {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"},
- {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"},
- {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"},
- {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"},
- {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"},
- {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"},
- {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"},
- {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"},
- {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"},
- {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"},
- {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"},
+ {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"},
+ {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"},
+ {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"},
+ {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"},
+ {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"},
+ {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"},
+ {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"},
+ {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"},
+ {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"},
+ {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"},
+ {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"},
+ {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"},
+ {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"},
+ {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"},
+ {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"},
+ {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"},
+ {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"},
+ {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"},
+ {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"},
+ {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"},
+ {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"},
+ {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"},
+ {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"},
+ {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"},
+ {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"},
+ {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"},
+ {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"},
+ {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"},
+ {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"},
+ {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"},
+ {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"},
+ {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"},
+ {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"},
+ {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"},
+ {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"},
+ {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"},
+ {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"},
+ {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"},
+ {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"},
+ {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"},
+ {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"},
+ {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"},
+ {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"},
+ {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"},
+ {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"},
+ {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"},
+ {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"},
+ {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"},
+ {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"},
+ {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"},
+ {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"},
+ {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"},
+ {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"},
+ {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"},
+ {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"},
+ {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"},
+ {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"},
+ {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"},
+ {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"},
+ {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"},
]
[[package]]
name = "matplotlib"
-version = "3.7.2"
+version = "3.8.3"
description = "Python plotting package"
optional = true
-python-versions = ">=3.8"
-files = [
- {file = "matplotlib-3.7.2-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:2699f7e73a76d4c110f4f25be9d2496d6ab4f17345307738557d345f099e07de"},
- {file = "matplotlib-3.7.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a8035ba590658bae7562786c9cc6ea1a84aa49d3afab157e414c9e2ea74f496d"},
- {file = "matplotlib-3.7.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f8e4a49493add46ad4a8c92f63e19d548b2b6ebbed75c6b4c7f46f57d36cdd1"},
- {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71667eb2ccca4c3537d9414b1bc00554cb7f91527c17ee4ec38027201f8f1603"},
- {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:152ee0b569a37630d8628534c628456b28686e085d51394da6b71ef84c4da201"},
- {file = "matplotlib-3.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:070f8dddd1f5939e60aacb8fa08f19551f4b0140fab16a3669d5cd6e9cb28fc8"},
- {file = "matplotlib-3.7.2-cp310-cp310-win32.whl", hash = "sha256:fdbb46fad4fb47443b5b8ac76904b2e7a66556844f33370861b4788db0f8816a"},
- {file = "matplotlib-3.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:23fb1750934e5f0128f9423db27c474aa32534cec21f7b2153262b066a581fd1"},
- {file = "matplotlib-3.7.2-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:30e1409b857aa8a747c5d4f85f63a79e479835f8dffc52992ac1f3f25837b544"},
- {file = "matplotlib-3.7.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:50e0a55ec74bf2d7a0ebf50ac580a209582c2dd0f7ab51bc270f1b4a0027454e"},
- {file = "matplotlib-3.7.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ac60daa1dc83e8821eed155796b0f7888b6b916cf61d620a4ddd8200ac70cd64"},
- {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:305e3da477dc8607336ba10bac96986d6308d614706cae2efe7d3ffa60465b24"},
- {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c308b255efb9b06b23874236ec0f10f026673ad6515f602027cc8ac7805352d"},
- {file = "matplotlib-3.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60c521e21031632aa0d87ca5ba0c1c05f3daacadb34c093585a0be6780f698e4"},
- {file = "matplotlib-3.7.2-cp311-cp311-win32.whl", hash = "sha256:26bede320d77e469fdf1bde212de0ec889169b04f7f1179b8930d66f82b30cbc"},
- {file = "matplotlib-3.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:af4860132c8c05261a5f5f8467f1b269bf1c7c23902d75f2be57c4a7f2394b3e"},
- {file = "matplotlib-3.7.2-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:a1733b8e84e7e40a9853e505fe68cc54339f97273bdfe6f3ed980095f769ddc7"},
- {file = "matplotlib-3.7.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d9881356dc48e58910c53af82b57183879129fa30492be69058c5b0d9fddf391"},
- {file = "matplotlib-3.7.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f081c03f413f59390a80b3e351cc2b2ea0205839714dbc364519bcf51f4b56ca"},
- {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1cd120fca3407a225168238b790bd5c528f0fafde6172b140a2f3ab7a4ea63e9"},
- {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a2c1590b90aa7bd741b54c62b78de05d4186271e34e2377e0289d943b3522273"},
- {file = "matplotlib-3.7.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d2ff3c984b8a569bc1383cd468fc06b70d7b59d5c2854ca39f1436ae8394117"},
- {file = "matplotlib-3.7.2-cp38-cp38-win32.whl", hash = "sha256:5dea00b62d28654b71ca92463656d80646675628d0828e08a5f3b57e12869e13"},
- {file = "matplotlib-3.7.2-cp38-cp38-win_amd64.whl", hash = "sha256:0f506a1776ee94f9e131af1ac6efa6e5bc7cb606a3e389b0ccb6e657f60bb676"},
- {file = "matplotlib-3.7.2-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:6515e878f91894c2e4340d81f0911857998ccaf04dbc1bba781e3d89cbf70608"},
- {file = "matplotlib-3.7.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:71f7a8c6b124e904db550f5b9fe483d28b896d4135e45c4ea381ad3b8a0e3256"},
- {file = "matplotlib-3.7.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12f01b92ecd518e0697da4d97d163b2b3aa55eb3eb4e2c98235b3396d7dad55f"},
- {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7e28d6396563955f7af437894a36bf2b279462239a41028323e04b85179058b"},
- {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbcf59334ff645e6a67cd5f78b4b2cdb76384cdf587fa0d2dc85f634a72e1a3e"},
- {file = "matplotlib-3.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:318c89edde72ff95d8df67d82aca03861240512994a597a435a1011ba18dbc7f"},
- {file = "matplotlib-3.7.2-cp39-cp39-win32.whl", hash = "sha256:ce55289d5659b5b12b3db4dc9b7075b70cef5631e56530f14b2945e8836f2d20"},
- {file = "matplotlib-3.7.2-cp39-cp39-win_amd64.whl", hash = "sha256:2ecb5be2b2815431c81dc115667e33da0f5a1bcf6143980d180d09a717c4a12e"},
- {file = "matplotlib-3.7.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fdcd28360dbb6203fb5219b1a5658df226ac9bebc2542a9e8f457de959d713d0"},
- {file = "matplotlib-3.7.2-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c3cca3e842b11b55b52c6fb8bd6a4088693829acbfcdb3e815fa9b7d5c92c1b"},
- {file = "matplotlib-3.7.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebf577c7a6744e9e1bd3fee45fc74a02710b214f94e2bde344912d85e0c9af7c"},
- {file = "matplotlib-3.7.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:936bba394682049919dda062d33435b3be211dc3dcaa011e09634f060ec878b2"},
- {file = "matplotlib-3.7.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bc221ffbc2150458b1cd71cdd9ddd5bb37962b036e41b8be258280b5b01da1dd"},
- {file = "matplotlib-3.7.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35d74ebdb3f71f112b36c2629cf32323adfbf42679e2751252acd468f5001c07"},
- {file = "matplotlib-3.7.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:717157e61b3a71d3d26ad4e1770dc85156c9af435659a25ee6407dc866cb258d"},
- {file = "matplotlib-3.7.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:20f844d6be031948148ba49605c8b96dfe7d3711d1b63592830d650622458c11"},
- {file = "matplotlib-3.7.2.tar.gz", hash = "sha256:a8cdb91dddb04436bd2f098b8fdf4b81352e68cf4d2c6756fcc414791076569b"},
+python-versions = ">=3.9"
+files = [
+ {file = "matplotlib-3.8.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:cf60138ccc8004f117ab2a2bad513cc4d122e55864b4fe7adf4db20ca68a078f"},
+ {file = "matplotlib-3.8.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5f557156f7116be3340cdeef7f128fa99b0d5d287d5f41a16e169819dcf22357"},
+ {file = "matplotlib-3.8.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f386cf162b059809ecfac3bcc491a9ea17da69fa35c8ded8ad154cd4b933d5ec"},
+ {file = "matplotlib-3.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3c5f96f57b0369c288bf6f9b5274ba45787f7e0589a34d24bdbaf6d3344632f"},
+ {file = "matplotlib-3.8.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:83e0f72e2c116ca7e571c57aa29b0fe697d4c6425c4e87c6e994159e0c008635"},
+ {file = "matplotlib-3.8.3-cp310-cp310-win_amd64.whl", hash = "sha256:1c5c8290074ba31a41db1dc332dc2b62def469ff33766cbe325d32a3ee291aea"},
+ {file = "matplotlib-3.8.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5184e07c7e1d6d1481862ee361905b7059f7fe065fc837f7c3dc11eeb3f2f900"},
+ {file = "matplotlib-3.8.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d7e7e0993d0758933b1a241a432b42c2db22dfa37d4108342ab4afb9557cbe3e"},
+ {file = "matplotlib-3.8.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:04b36ad07eac9740fc76c2aa16edf94e50b297d6eb4c081e3add863de4bb19a7"},
+ {file = "matplotlib-3.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c42dae72a62f14982f1474f7e5c9959fc4bc70c9de11cc5244c6e766200ba65"},
+ {file = "matplotlib-3.8.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bf5932eee0d428192c40b7eac1399d608f5d995f975cdb9d1e6b48539a5ad8d0"},
+ {file = "matplotlib-3.8.3-cp311-cp311-win_amd64.whl", hash = "sha256:40321634e3a05ed02abf7c7b47a50be50b53ef3eaa3a573847431a545585b407"},
+ {file = "matplotlib-3.8.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:09074f8057917d17ab52c242fdf4916f30e99959c1908958b1fc6032e2d0f6d4"},
+ {file = "matplotlib-3.8.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5745f6d0fb5acfabbb2790318db03809a253096e98c91b9a31969df28ee604aa"},
+ {file = "matplotlib-3.8.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b97653d869a71721b639714b42d87cda4cfee0ee74b47c569e4874c7590c55c5"},
+ {file = "matplotlib-3.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:242489efdb75b690c9c2e70bb5c6550727058c8a614e4c7716f363c27e10bba1"},
+ {file = "matplotlib-3.8.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:83c0653c64b73926730bd9ea14aa0f50f202ba187c307a881673bad4985967b7"},
+ {file = "matplotlib-3.8.3-cp312-cp312-win_amd64.whl", hash = "sha256:ef6c1025a570354297d6c15f7d0f296d95f88bd3850066b7f1e7b4f2f4c13a39"},
+ {file = "matplotlib-3.8.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c4af3f7317f8a1009bbb2d0bf23dfaba859eb7dd4ccbd604eba146dccaaaf0a4"},
+ {file = "matplotlib-3.8.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4c6e00a65d017d26009bac6808f637b75ceade3e1ff91a138576f6b3065eeeba"},
+ {file = "matplotlib-3.8.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7b49ab49a3bea17802df6872f8d44f664ba8f9be0632a60c99b20b6db2165b7"},
+ {file = "matplotlib-3.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6728dde0a3997396b053602dbd907a9bd64ec7d5cf99e728b404083698d3ca01"},
+ {file = "matplotlib-3.8.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:813925d08fb86aba139f2d31864928d67511f64e5945ca909ad5bc09a96189bb"},
+ {file = "matplotlib-3.8.3-cp39-cp39-win_amd64.whl", hash = "sha256:cd3a0c2be76f4e7be03d34a14d49ded6acf22ef61f88da600a18a5cd8b3c5f3c"},
+ {file = "matplotlib-3.8.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fa93695d5c08544f4a0dfd0965f378e7afc410d8672816aff1e81be1f45dbf2e"},
+ {file = "matplotlib-3.8.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9764df0e8778f06414b9d281a75235c1e85071f64bb5d71564b97c1306a2afc"},
+ {file = "matplotlib-3.8.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5e431a09e6fab4012b01fc155db0ce6dccacdbabe8198197f523a4ef4805eb26"},
+ {file = "matplotlib-3.8.3.tar.gz", hash = "sha256:7b416239e9ae38be54b028abbf9048aff5054a9aba5416bef0bd17f9162ce161"},
]
[package.dependencies]
@@ -1502,11 +1519,11 @@ contourpy = ">=1.0.1"
cycler = ">=0.10"
fonttools = ">=4.22.0"
importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""}
-kiwisolver = ">=1.0.1"
-numpy = ">=1.20"
+kiwisolver = ">=1.3.1"
+numpy = ">=1.21,<2"
packaging = ">=20.0"
-pillow = ">=6.2.0"
-pyparsing = ">=2.3.1,<3.1"
+pillow = ">=8"
+pyparsing = ">=2.3.1"
python-dateutil = ">=2.7"
[[package]]
@@ -1536,24 +1553,24 @@ files = [
[[package]]
name = "mistune"
-version = "2.0.5"
-description = "A sane Markdown parser with useful plugins and renderers"
+version = "3.0.2"
+description = "A sane and fast Markdown parser with useful plugins and renderers"
optional = false
-python-versions = "*"
+python-versions = ">=3.7"
files = [
- {file = "mistune-2.0.5-py2.py3-none-any.whl", hash = "sha256:bad7f5d431886fcbaf5f758118ecff70d31f75231b34024a1341120340a65ce8"},
- {file = "mistune-2.0.5.tar.gz", hash = "sha256:0246113cb2492db875c6be56974a7c893333bf26cd92891c85f63151cee09d34"},
+ {file = "mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205"},
+ {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"},
]
[[package]]
name = "nbclient"
-version = "0.8.0"
+version = "0.9.0"
description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor."
optional = false
python-versions = ">=3.8.0"
files = [
- {file = "nbclient-0.8.0-py3-none-any.whl", hash = "sha256:25e861299e5303a0477568557c4045eccc7a34c17fc08e7959558707b9ebe548"},
- {file = "nbclient-0.8.0.tar.gz", hash = "sha256:f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55"},
+ {file = "nbclient-0.9.0-py3-none-any.whl", hash = "sha256:a3a1ddfb34d4a9d17fc744d655962714a866639acd30130e9be84191cd97cd15"},
+ {file = "nbclient-0.9.0.tar.gz", hash = "sha256:4b28c207877cf33ef3a9838cdc7a54c5ceff981194a82eac59d558f05487295e"},
]
[package.dependencies]
@@ -1569,13 +1586,13 @@ test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=
[[package]]
name = "nbconvert"
-version = "7.5.0"
-description = "Converting Jupyter Notebooks"
+version = "7.16.1"
+description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)."
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "nbconvert-7.5.0-py3-none-any.whl", hash = "sha256:852e44392d5650ef217a5ce3a8050747051d4e6ba75f0574cb5435049ee6c0d9"},
- {file = "nbconvert-7.5.0.tar.gz", hash = "sha256:f78fd22fd2410b960d5d9bcecf3e1d6c7bdc5fec2c865964c84aa4e74e6e88da"},
+ {file = "nbconvert-7.16.1-py3-none-any.whl", hash = "sha256:3188727dffadfdc9c6a1c7250729063d7bc78b355ad7aa023138afa030d1cd07"},
+ {file = "nbconvert-7.16.1.tar.gz", hash = "sha256:e79e6a074f49ba3ed29428ed86487bf51509d9aab613bd8522ac08f6d28fd7fd"},
]
[package.dependencies]
@@ -1587,7 +1604,7 @@ jinja2 = ">=3.0"
jupyter-core = ">=4.7"
jupyterlab-pygments = "*"
markupsafe = ">=2.0"
-mistune = ">=2.0.3,<3"
+mistune = ">=2.0.3,<4"
nbclient = ">=0.5.0"
nbformat = ">=5.7"
packaging = "*"
@@ -1602,8 +1619,8 @@ docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sp
qtpdf = ["nbconvert[qtpng]"]
qtpng = ["pyqtwebengine (>=5.15)"]
serve = ["tornado (>=6.1)"]
-test = ["ipykernel", "ipywidgets (>=7)", "pre-commit", "pytest", "pytest-dependency"]
-webpdf = ["pyppeteer (>=1,<1.1)"]
+test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest"]
+webpdf = ["playwright"]
[[package]]
name = "nbformat"
@@ -1647,158 +1664,187 @@ traitlets = ">=5"
[[package]]
name = "nest-asyncio"
-version = "1.5.7"
+version = "1.6.0"
description = "Patch asyncio to allow nested event loops"
optional = false
python-versions = ">=3.5"
files = [
- {file = "nest_asyncio-1.5.7-py3-none-any.whl", hash = "sha256:5301c82941b550b3123a1ea772ba9a1c80bad3a182be8c1a5ae6ad3be57a9657"},
- {file = "nest_asyncio-1.5.7.tar.gz", hash = "sha256:6a80f7b98f24d9083ed24608977c09dd608d83f91cccc24c9d2cba6d10e01c10"},
+ {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"},
+ {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"},
]
[[package]]
name = "numba"
-version = "0.57.1"
+version = "0.58.1"
description = "compiling Python code using LLVM"
optional = false
python-versions = ">=3.8"
files = [
- {file = "numba-0.57.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:db8268eb5093cae2288942a8cbd69c9352f6fe6e0bfa0a9a27679436f92e4248"},
- {file = "numba-0.57.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:643cb09a9ba9e1bd8b060e910aeca455e9442361e80fce97690795ff9840e681"},
- {file = "numba-0.57.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:53e9fab973d9e82c9f8449f75994a898daaaf821d84f06fbb0b9de2293dd9306"},
- {file = "numba-0.57.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c0602e4f896e6a6d844517c3ab434bc978e7698a22a733cc8124465898c28fa8"},
- {file = "numba-0.57.1-cp310-cp310-win32.whl", hash = "sha256:3d6483c27520d16cf5d122868b79cad79e48056ecb721b52d70c126bed65431e"},
- {file = "numba-0.57.1-cp310-cp310-win_amd64.whl", hash = "sha256:a32ee263649aa3c3587b833d6311305379529570e6c20deb0c6f4fb5bc7020db"},
- {file = "numba-0.57.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c078f84b5529a7fdb8413bb33d5100f11ec7b44aa705857d9eb4e54a54ff505"},
- {file = "numba-0.57.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e447c4634d1cc99ab50d4faa68f680f1d88b06a2a05acf134aa6fcc0342adeca"},
- {file = "numba-0.57.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4838edef2df5f056cb8974670f3d66562e751040c448eb0b67c7e2fec1726649"},
- {file = "numba-0.57.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9b17fbe4a69dcd9a7cd49916b6463cd9a82af5f84911feeb40793b8bce00dfa7"},
- {file = "numba-0.57.1-cp311-cp311-win_amd64.whl", hash = "sha256:93df62304ada9b351818ba19b1cfbddaf72cd89348e81474326ca0b23bf0bae1"},
- {file = "numba-0.57.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8e00ca63c5d0ad2beeb78d77f087b3a88c45ea9b97e7622ab2ec411a868420ee"},
- {file = "numba-0.57.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ff66d5b022af6c7d81ddbefa87768e78ed4f834ab2da6ca2fd0d60a9e69b94f5"},
- {file = "numba-0.57.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:60ec56386076e9eed106a87c96626d5686fbb16293b9834f0849cf78c9491779"},
- {file = "numba-0.57.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6c057ccedca95df23802b6ccad86bb318be624af45b5a38bb8412882be57a681"},
- {file = "numba-0.57.1-cp38-cp38-win32.whl", hash = "sha256:5a82bf37444039c732485c072fda21a361790ed990f88db57fd6941cd5e5d307"},
- {file = "numba-0.57.1-cp38-cp38-win_amd64.whl", hash = "sha256:9bcc36478773ce838f38afd9a4dfafc328d4ffb1915381353d657da7f6473282"},
- {file = "numba-0.57.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ae50c8c90c2ce8057f9618b589223e13faa8cbc037d8f15b4aad95a2c33a0582"},
- {file = "numba-0.57.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9a1b2b69448e510d672ff9a6b18d2db9355241d93c6a77677baa14bec67dc2a0"},
- {file = "numba-0.57.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3cf78d74ad9d289fbc1e5b1c9f2680fca7a788311eb620581893ab347ec37a7e"},
- {file = "numba-0.57.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f47dd214adc5dcd040fe9ad2adbd2192133c9075d2189ce1b3d5f9d72863ef05"},
- {file = "numba-0.57.1-cp39-cp39-win32.whl", hash = "sha256:a3eac19529956185677acb7f01864919761bfffbb9ae04bbbe5e84bbc06cfc2b"},
- {file = "numba-0.57.1-cp39-cp39-win_amd64.whl", hash = "sha256:9587ba1bf5f3035575e45562ada17737535c6d612df751e811d702693a72d95e"},
- {file = "numba-0.57.1.tar.gz", hash = "sha256:33c0500170d213e66d90558ad6aca57d3e03e97bb11da82e6d87ab793648cb17"},
+ {file = "numba-0.58.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:07f2fa7e7144aa6f275f27260e73ce0d808d3c62b30cff8906ad1dec12d87bbe"},
+ {file = "numba-0.58.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7bf1ddd4f7b9c2306de0384bf3854cac3edd7b4d8dffae2ec1b925e4c436233f"},
+ {file = "numba-0.58.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bc2d904d0319d7a5857bd65062340bed627f5bfe9ae4a495aef342f072880d50"},
+ {file = "numba-0.58.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4e79b6cc0d2bf064a955934a2e02bf676bc7995ab2db929dbbc62e4c16551be6"},
+ {file = "numba-0.58.1-cp310-cp310-win_amd64.whl", hash = "sha256:81fe5b51532478149b5081311b0fd4206959174e660c372b94ed5364cfb37c82"},
+ {file = "numba-0.58.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bcecd3fb9df36554b342140a4d77d938a549be635d64caf8bd9ef6c47a47f8aa"},
+ {file = "numba-0.58.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a1eaa744f518bbd60e1f7ccddfb8002b3d06bd865b94a5d7eac25028efe0e0ff"},
+ {file = "numba-0.58.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bf68df9c307fb0aa81cacd33faccd6e419496fdc621e83f1efce35cdc5e79cac"},
+ {file = "numba-0.58.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:55a01e1881120e86d54efdff1be08381886fe9f04fc3006af309c602a72bc44d"},
+ {file = "numba-0.58.1-cp311-cp311-win_amd64.whl", hash = "sha256:811305d5dc40ae43c3ace5b192c670c358a89a4d2ae4f86d1665003798ea7a1a"},
+ {file = "numba-0.58.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ea5bfcf7d641d351c6a80e8e1826eb4a145d619870016eeaf20bbd71ef5caa22"},
+ {file = "numba-0.58.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e63d6aacaae1ba4ef3695f1c2122b30fa3d8ba039c8f517784668075856d79e2"},
+ {file = "numba-0.58.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6fe7a9d8e3bd996fbe5eac0683227ccef26cba98dae6e5cee2c1894d4b9f16c1"},
+ {file = "numba-0.58.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:898af055b03f09d33a587e9425500e5be84fc90cd2f80b3fb71c6a4a17a7e354"},
+ {file = "numba-0.58.1-cp38-cp38-win_amd64.whl", hash = "sha256:d3e2fe81fe9a59fcd99cc572002101119059d64d31eb6324995ee8b0f144a306"},
+ {file = "numba-0.58.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5c765aef472a9406a97ea9782116335ad4f9ef5c9f93fc05fd44aab0db486954"},
+ {file = "numba-0.58.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e9356e943617f5e35a74bf56ff6e7cc83e6b1865d5e13cee535d79bf2cae954"},
+ {file = "numba-0.58.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:240e7a1ae80eb6b14061dc91263b99dc8d6af9ea45d310751b780888097c1aaa"},
+ {file = "numba-0.58.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:45698b995914003f890ad839cfc909eeb9c74921849c712a05405d1a79c50f68"},
+ {file = "numba-0.58.1-cp39-cp39-win_amd64.whl", hash = "sha256:bd3dda77955be03ff366eebbfdb39919ce7c2620d86c906203bed92124989032"},
+ {file = "numba-0.58.1.tar.gz", hash = "sha256:487ded0633efccd9ca3a46364b40006dbdaca0f95e99b8b83e778d1195ebcbaa"},
]
[package.dependencies]
-importlib-metadata = {version = "*", markers = "python_version < \"3.9\""}
-llvmlite = "==0.40.*"
-numpy = ">=1.21,<1.25"
+llvmlite = "==0.41.*"
+numpy = ">=1.22,<1.27"
[[package]]
name = "numpy"
-version = "1.24.4"
+version = "1.26.4"
description = "Fundamental package for array computing in Python"
optional = false
-python-versions = ">=3.8"
-files = [
- {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"},
- {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"},
- {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"},
- {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6"},
- {file = "numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc"},
- {file = "numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e"},
- {file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810"},
- {file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254"},
- {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7"},
- {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5"},
- {file = "numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d"},
- {file = "numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"},
- {file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61"},
- {file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f"},
- {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e"},
- {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc"},
- {file = "numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2"},
- {file = "numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706"},
- {file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400"},
- {file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f"},
- {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"},
- {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d"},
- {file = "numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835"},
- {file = "numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8"},
- {file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef"},
- {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"},
- {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"},
- {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"},
+python-versions = ">=3.9"
+files = [
+ {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"},
+ {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"},
+ {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"},
+ {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"},
+ {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"},
+ {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"},
+ {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"},
+ {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"},
+ {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"},
+ {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"},
+ {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"},
+ {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"},
+ {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"},
+ {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"},
+ {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"},
+ {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"},
+ {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"},
+ {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"},
+ {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"},
+ {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"},
+ {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"},
+ {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"},
+ {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"},
+ {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"},
+ {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"},
+ {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"},
+ {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"},
+ {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"},
+ {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"},
+ {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"},
+ {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"},
+ {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"},
+ {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"},
+ {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"},
+ {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"},
+ {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"},
]
[[package]]
name = "packaging"
-version = "23.1"
+version = "23.2"
description = "Core utilities for Python packages"
optional = false
python-versions = ">=3.7"
files = [
- {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"},
- {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"},
+ {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"},
+ {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"},
]
[[package]]
name = "pandas"
-version = "1.5.3"
+version = "2.2.1"
description = "Powerful data structures for data analysis, time series, and statistics"
optional = true
-python-versions = ">=3.8"
-files = [
- {file = "pandas-1.5.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3749077d86e3a2f0ed51367f30bf5b82e131cc0f14260c4d3e499186fccc4406"},
- {file = "pandas-1.5.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:972d8a45395f2a2d26733eb8d0f629b2f90bebe8e8eddbb8829b180c09639572"},
- {file = "pandas-1.5.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50869a35cbb0f2e0cd5ec04b191e7b12ed688874bd05dd777c19b28cbea90996"},
- {file = "pandas-1.5.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3ac844a0fe00bfaeb2c9b51ab1424e5c8744f89860b138434a363b1f620f354"},
- {file = "pandas-1.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a0a56cef15fd1586726dace5616db75ebcfec9179a3a55e78f72c5639fa2a23"},
- {file = "pandas-1.5.3-cp310-cp310-win_amd64.whl", hash = "sha256:478ff646ca42b20376e4ed3fa2e8d7341e8a63105586efe54fa2508ee087f328"},
- {file = "pandas-1.5.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6973549c01ca91ec96199e940495219c887ea815b2083722821f1d7abfa2b4dc"},
- {file = "pandas-1.5.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c39a8da13cede5adcd3be1182883aea1c925476f4e84b2807a46e2775306305d"},
- {file = "pandas-1.5.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f76d097d12c82a535fda9dfe5e8dd4127952b45fea9b0276cb30cca5ea313fbc"},
- {file = "pandas-1.5.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e474390e60ed609cec869b0da796ad94f420bb057d86784191eefc62b65819ae"},
- {file = "pandas-1.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f2b952406a1588ad4cad5b3f55f520e82e902388a6d5a4a91baa8d38d23c7f6"},
- {file = "pandas-1.5.3-cp311-cp311-win_amd64.whl", hash = "sha256:bc4c368f42b551bf72fac35c5128963a171b40dce866fb066540eeaf46faa003"},
- {file = "pandas-1.5.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:14e45300521902689a81f3f41386dc86f19b8ba8dd5ac5a3c7010ef8d2932813"},
- {file = "pandas-1.5.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9842b6f4b8479e41968eced654487258ed81df7d1c9b7b870ceea24ed9459b31"},
- {file = "pandas-1.5.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:26d9c71772c7afb9d5046e6e9cf42d83dd147b5cf5bcb9d97252077118543792"},
- {file = "pandas-1.5.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5fbcb19d6fceb9e946b3e23258757c7b225ba450990d9ed63ccceeb8cae609f7"},
- {file = "pandas-1.5.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:565fa34a5434d38e9d250af3c12ff931abaf88050551d9fbcdfafca50d62babf"},
- {file = "pandas-1.5.3-cp38-cp38-win32.whl", hash = "sha256:87bd9c03da1ac870a6d2c8902a0e1fd4267ca00f13bc494c9e5a9020920e1d51"},
- {file = "pandas-1.5.3-cp38-cp38-win_amd64.whl", hash = "sha256:41179ce559943d83a9b4bbacb736b04c928b095b5f25dd2b7389eda08f46f373"},
- {file = "pandas-1.5.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c74a62747864ed568f5a82a49a23a8d7fe171d0c69038b38cedf0976831296fa"},
- {file = "pandas-1.5.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c4c00e0b0597c8e4f59e8d461f797e5d70b4d025880516a8261b2817c47759ee"},
- {file = "pandas-1.5.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a50d9a4336a9621cab7b8eb3fb11adb82de58f9b91d84c2cd526576b881a0c5a"},
- {file = "pandas-1.5.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd05f7783b3274aa206a1af06f0ceed3f9b412cf665b7247eacd83be41cf7bf0"},
- {file = "pandas-1.5.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f69c4029613de47816b1bb30ff5ac778686688751a5e9c99ad8c7031f6508e5"},
- {file = "pandas-1.5.3-cp39-cp39-win32.whl", hash = "sha256:7cec0bee9f294e5de5bbfc14d0573f65526071029d036b753ee6507d2a21480a"},
- {file = "pandas-1.5.3-cp39-cp39-win_amd64.whl", hash = "sha256:dfd681c5dc216037e0b0a2c821f5ed99ba9f03ebcf119c7dac0e9a7b960b9ec9"},
- {file = "pandas-1.5.3.tar.gz", hash = "sha256:74a3fd7e5a7ec052f183273dc7b0acd3a863edf7520f5d3a1765c04ffdb3b0b1"},
+python-versions = ">=3.9"
+files = [
+ {file = "pandas-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8df8612be9cd1c7797c93e1c5df861b2ddda0b48b08f2c3eaa0702cf88fb5f88"},
+ {file = "pandas-2.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0f573ab277252ed9aaf38240f3b54cfc90fff8e5cab70411ee1d03f5d51f3944"},
+ {file = "pandas-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f02a3a6c83df4026e55b63c1f06476c9aa3ed6af3d89b4f04ea656ccdaaaa359"},
+ {file = "pandas-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c38ce92cb22a4bea4e3929429aa1067a454dcc9c335799af93ba9be21b6beb51"},
+ {file = "pandas-2.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c2ce852e1cf2509a69e98358e8458775f89599566ac3775e70419b98615f4b06"},
+ {file = "pandas-2.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:53680dc9b2519cbf609c62db3ed7c0b499077c7fefda564e330286e619ff0dd9"},
+ {file = "pandas-2.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:94e714a1cca63e4f5939cdce5f29ba8d415d85166be3441165edd427dc9f6bc0"},
+ {file = "pandas-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f821213d48f4ab353d20ebc24e4faf94ba40d76680642fb7ce2ea31a3ad94f9b"},
+ {file = "pandas-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c70e00c2d894cb230e5c15e4b1e1e6b2b478e09cf27cc593a11ef955b9ecc81a"},
+ {file = "pandas-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e97fbb5387c69209f134893abc788a6486dbf2f9e511070ca05eed4b930b1b02"},
+ {file = "pandas-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101d0eb9c5361aa0146f500773395a03839a5e6ecde4d4b6ced88b7e5a1a6403"},
+ {file = "pandas-2.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7d2ed41c319c9fb4fd454fe25372028dfa417aacb9790f68171b2e3f06eae8cd"},
+ {file = "pandas-2.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:af5d3c00557d657c8773ef9ee702c61dd13b9d7426794c9dfeb1dc4a0bf0ebc7"},
+ {file = "pandas-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:06cf591dbaefb6da9de8472535b185cba556d0ce2e6ed28e21d919704fef1a9e"},
+ {file = "pandas-2.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:88ecb5c01bb9ca927ebc4098136038519aa5d66b44671861ffab754cae75102c"},
+ {file = "pandas-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:04f6ec3baec203c13e3f8b139fb0f9f86cd8c0b94603ae3ae8ce9a422e9f5bee"},
+ {file = "pandas-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a935a90a76c44fe170d01e90a3594beef9e9a6220021acfb26053d01426f7dc2"},
+ {file = "pandas-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c391f594aae2fd9f679d419e9a4d5ba4bce5bb13f6a989195656e7dc4b95c8f0"},
+ {file = "pandas-2.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9d1265545f579edf3f8f0cb6f89f234f5e44ba725a34d86535b1a1d38decbccc"},
+ {file = "pandas-2.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:11940e9e3056576ac3244baef2fedade891977bcc1cb7e5cc8f8cc7d603edc89"},
+ {file = "pandas-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:4acf681325ee1c7f950d058b05a820441075b0dd9a2adf5c4835b9bc056bf4fb"},
+ {file = "pandas-2.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9bd8a40f47080825af4317d0340c656744f2bfdb6819f818e6ba3cd24c0e1397"},
+ {file = "pandas-2.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:df0c37ebd19e11d089ceba66eba59a168242fc6b7155cba4ffffa6eccdfb8f16"},
+ {file = "pandas-2.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:739cc70eaf17d57608639e74d63387b0d8594ce02f69e7a0b046f117974b3019"},
+ {file = "pandas-2.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9d3558d263073ed95e46f4650becff0c5e1ffe0fc3a015de3c79283dfbdb3df"},
+ {file = "pandas-2.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4aa1d8707812a658debf03824016bf5ea0d516afdea29b7dc14cf687bc4d4ec6"},
+ {file = "pandas-2.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:76f27a809cda87e07f192f001d11adc2b930e93a2b0c4a236fde5429527423be"},
+ {file = "pandas-2.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:1ba21b1d5c0e43416218db63037dbe1a01fc101dc6e6024bcad08123e48004ab"},
+ {file = "pandas-2.2.1.tar.gz", hash = "sha256:0ab90f87093c13f3e8fa45b48ba9f39181046e8f3317d3aadb2fffbb1b978572"},
]
[package.dependencies]
numpy = [
- {version = ">=1.20.3", markers = "python_version < \"3.10\""},
- {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""},
- {version = ">=1.23.2", markers = "python_version >= \"3.11\""},
+ {version = ">=1.22.4,<2", markers = "python_version < \"3.11\""},
+ {version = ">=1.23.2,<2", markers = "python_version == \"3.11\""},
+ {version = ">=1.26.0,<2", markers = "python_version >= \"3.12\""},
]
-python-dateutil = ">=2.8.1"
+python-dateutil = ">=2.8.2"
pytz = ">=2020.1"
+tzdata = ">=2022.7"
[package.extras]
-test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"]
+all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"]
+aws = ["s3fs (>=2022.11.0)"]
+clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"]
+compression = ["zstandard (>=0.19.0)"]
+computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"]
+consortium-standard = ["dataframe-api-compat (>=0.1.7)"]
+excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"]
+feather = ["pyarrow (>=10.0.1)"]
+fss = ["fsspec (>=2022.11.0)"]
+gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"]
+hdf5 = ["tables (>=3.8.0)"]
+html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"]
+mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"]
+output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"]
+parquet = ["pyarrow (>=10.0.1)"]
+performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"]
+plot = ["matplotlib (>=3.6.3)"]
+postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"]
+pyarrow = ["pyarrow (>=10.0.1)"]
+spss = ["pyreadstat (>=1.2.0)"]
+sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"]
+test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"]
+xml = ["lxml (>=4.9.2)"]
[[package]]
name = "pandocfilters"
-version = "1.5.0"
+version = "1.5.1"
description = "Utilities for writing pandoc filters in python"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
- {file = "pandocfilters-1.5.0-py2.py3-none-any.whl", hash = "sha256:33aae3f25fd1a026079f5d27bdd52496f0e0803b3469282162bafdcbdf6ef14f"},
- {file = "pandocfilters-1.5.0.tar.gz", hash = "sha256:0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38"},
+ {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"},
+ {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"},
]
[[package]]
@@ -1838,68 +1884,122 @@ testing = ["funcsigs", "pytest"]
[[package]]
name = "pendulum"
-version = "2.1.2"
+version = "3.0.0"
description = "Python datetimes made easy"
optional = true
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+python-versions = ">=3.8"
files = [
- {file = "pendulum-2.1.2-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:b6c352f4bd32dff1ea7066bd31ad0f71f8d8100b9ff709fb343f3b86cee43efe"},
- {file = "pendulum-2.1.2-cp27-cp27m-win_amd64.whl", hash = "sha256:318f72f62e8e23cd6660dbafe1e346950281a9aed144b5c596b2ddabc1d19739"},
- {file = "pendulum-2.1.2-cp35-cp35m-macosx_10_15_x86_64.whl", hash = "sha256:0731f0c661a3cb779d398803655494893c9f581f6488048b3fb629c2342b5394"},
- {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:3481fad1dc3f6f6738bd575a951d3c15d4b4ce7c82dce37cf8ac1483fde6e8b0"},
- {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9702069c694306297ed362ce7e3c1ef8404ac8ede39f9b28b7c1a7ad8c3959e3"},
- {file = "pendulum-2.1.2-cp35-cp35m-win_amd64.whl", hash = "sha256:fb53ffa0085002ddd43b6ca61a7b34f2d4d7c3ed66f931fe599e1a531b42af9b"},
- {file = "pendulum-2.1.2-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:c501749fdd3d6f9e726086bf0cd4437281ed47e7bca132ddb522f86a1645d360"},
- {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:c807a578a532eeb226150d5006f156632df2cc8c5693d778324b43ff8c515dd0"},
- {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:2d1619a721df661e506eff8db8614016f0720ac171fe80dda1333ee44e684087"},
- {file = "pendulum-2.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:f888f2d2909a414680a29ae74d0592758f2b9fcdee3549887779cd4055e975db"},
- {file = "pendulum-2.1.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:e95d329384717c7bf627bf27e204bc3b15c8238fa8d9d9781d93712776c14002"},
- {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4c9c689747f39d0d02a9f94fcee737b34a5773803a64a5fdb046ee9cac7442c5"},
- {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1245cd0075a3c6d889f581f6325dd8404aca5884dea7223a5566c38aab94642b"},
- {file = "pendulum-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:db0a40d8bcd27b4fb46676e8eb3c732c67a5a5e6bfab8927028224fbced0b40b"},
- {file = "pendulum-2.1.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f5e236e7730cab1644e1b87aca3d2ff3e375a608542e90fe25685dae46310116"},
- {file = "pendulum-2.1.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:de42ea3e2943171a9e95141f2eecf972480636e8e484ccffaf1e833929e9e052"},
- {file = "pendulum-2.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7c5ec650cb4bec4c63a89a0242cc8c3cebcec92fcfe937c417ba18277d8560be"},
- {file = "pendulum-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:33fb61601083f3eb1d15edeb45274f73c63b3c44a8524703dc143f4212bf3269"},
- {file = "pendulum-2.1.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:29c40a6f2942376185728c9a0347d7c0f07905638c83007e1d262781f1e6953a"},
- {file = "pendulum-2.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:94b1fc947bfe38579b28e1cccb36f7e28a15e841f30384b5ad6c5e31055c85d7"},
- {file = "pendulum-2.1.2.tar.gz", hash = "sha256:b06a0ca1bfe41c990bbf0c029f0b6501a7f2ec4e38bfec730712015e8860f207"},
+ {file = "pendulum-3.0.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2cf9e53ef11668e07f73190c805dbdf07a1939c3298b78d5a9203a86775d1bfd"},
+ {file = "pendulum-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fb551b9b5e6059377889d2d878d940fd0bbb80ae4810543db18e6f77b02c5ef6"},
+ {file = "pendulum-3.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c58227ac260d5b01fc1025176d7b31858c9f62595737f350d22124a9a3ad82d"},
+ {file = "pendulum-3.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:60fb6f415fea93a11c52578eaa10594568a6716602be8430b167eb0d730f3332"},
+ {file = "pendulum-3.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b69f6b4dbcb86f2c2fe696ba991e67347bcf87fe601362a1aba6431454b46bde"},
+ {file = "pendulum-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:138afa9c373ee450ede206db5a5e9004fd3011b3c6bbe1e57015395cd076a09f"},
+ {file = "pendulum-3.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:83d9031f39c6da9677164241fd0d37fbfc9dc8ade7043b5d6d62f56e81af8ad2"},
+ {file = "pendulum-3.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0c2308af4033fa534f089595bcd40a95a39988ce4059ccd3dc6acb9ef14ca44a"},
+ {file = "pendulum-3.0.0-cp310-none-win_amd64.whl", hash = "sha256:9a59637cdb8462bdf2dbcb9d389518c0263799189d773ad5c11db6b13064fa79"},
+ {file = "pendulum-3.0.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3725245c0352c95d6ca297193192020d1b0c0f83d5ee6bb09964edc2b5a2d508"},
+ {file = "pendulum-3.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6c035f03a3e565ed132927e2c1b691de0dbf4eb53b02a5a3c5a97e1a64e17bec"},
+ {file = "pendulum-3.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:597e66e63cbd68dd6d58ac46cb7a92363d2088d37ccde2dae4332ef23e95cd00"},
+ {file = "pendulum-3.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99a0f8172e19f3f0c0e4ace0ad1595134d5243cf75985dc2233e8f9e8de263ca"},
+ {file = "pendulum-3.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:77d8839e20f54706aed425bec82a83b4aec74db07f26acd039905d1237a5e1d4"},
+ {file = "pendulum-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afde30e8146292b059020fbc8b6f8fd4a60ae7c5e6f0afef937bbb24880bdf01"},
+ {file = "pendulum-3.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:660434a6fcf6303c4efd36713ca9212c753140107ee169a3fc6c49c4711c2a05"},
+ {file = "pendulum-3.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dee9e5a48c6999dc1106eb7eea3e3a50e98a50651b72c08a87ee2154e544b33e"},
+ {file = "pendulum-3.0.0-cp311-none-win_amd64.whl", hash = "sha256:d4cdecde90aec2d67cebe4042fd2a87a4441cc02152ed7ed8fb3ebb110b94ec4"},
+ {file = "pendulum-3.0.0-cp311-none-win_arm64.whl", hash = "sha256:773c3bc4ddda2dda9f1b9d51fe06762f9200f3293d75c4660c19b2614b991d83"},
+ {file = "pendulum-3.0.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:409e64e41418c49f973d43a28afe5df1df4f1dd87c41c7c90f1a63f61ae0f1f7"},
+ {file = "pendulum-3.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a38ad2121c5ec7c4c190c7334e789c3b4624798859156b138fcc4d92295835dc"},
+ {file = "pendulum-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fde4d0b2024b9785f66b7f30ed59281bd60d63d9213cda0eb0910ead777f6d37"},
+ {file = "pendulum-3.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b2c5675769fb6d4c11238132962939b960fcb365436b6d623c5864287faa319"},
+ {file = "pendulum-3.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8af95e03e066826f0f4c65811cbee1b3123d4a45a1c3a2b4fc23c4b0dff893b5"},
+ {file = "pendulum-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2165a8f33cb15e06c67070b8afc87a62b85c5a273e3aaa6bc9d15c93a4920d6f"},
+ {file = "pendulum-3.0.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ad5e65b874b5e56bd942546ea7ba9dd1d6a25121db1c517700f1c9de91b28518"},
+ {file = "pendulum-3.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:17fe4b2c844bbf5f0ece69cfd959fa02957c61317b2161763950d88fed8e13b9"},
+ {file = "pendulum-3.0.0-cp312-none-win_amd64.whl", hash = "sha256:78f8f4e7efe5066aca24a7a57511b9c2119f5c2b5eb81c46ff9222ce11e0a7a5"},
+ {file = "pendulum-3.0.0-cp312-none-win_arm64.whl", hash = "sha256:28f49d8d1e32aae9c284a90b6bb3873eee15ec6e1d9042edd611b22a94ac462f"},
+ {file = "pendulum-3.0.0-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:d4e2512f4e1a4670284a153b214db9719eb5d14ac55ada5b76cbdb8c5c00399d"},
+ {file = "pendulum-3.0.0-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:3d897eb50883cc58d9b92f6405245f84b9286cd2de6e8694cb9ea5cb15195a32"},
+ {file = "pendulum-3.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e169cc2ca419517f397811bbe4589cf3cd13fca6dc38bb352ba15ea90739ebb"},
+ {file = "pendulum-3.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f17c3084a4524ebefd9255513692f7e7360e23c8853dc6f10c64cc184e1217ab"},
+ {file = "pendulum-3.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:826d6e258052715f64d05ae0fc9040c0151e6a87aae7c109ba9a0ed930ce4000"},
+ {file = "pendulum-3.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2aae97087872ef152a0c40e06100b3665d8cb86b59bc8471ca7c26132fccd0f"},
+ {file = "pendulum-3.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ac65eeec2250d03106b5e81284ad47f0d417ca299a45e89ccc69e36130ca8bc7"},
+ {file = "pendulum-3.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a5346d08f3f4a6e9e672187faa179c7bf9227897081d7121866358af369f44f9"},
+ {file = "pendulum-3.0.0-cp37-none-win_amd64.whl", hash = "sha256:235d64e87946d8f95c796af34818c76e0f88c94d624c268693c85b723b698aa9"},
+ {file = "pendulum-3.0.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:6a881d9c2a7f85bc9adafcfe671df5207f51f5715ae61f5d838b77a1356e8b7b"},
+ {file = "pendulum-3.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d7762d2076b9b1cb718a6631ad6c16c23fc3fac76cbb8c454e81e80be98daa34"},
+ {file = "pendulum-3.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e8e36a8130819d97a479a0e7bf379b66b3b1b520e5dc46bd7eb14634338df8c"},
+ {file = "pendulum-3.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7dc843253ac373358ffc0711960e2dd5b94ab67530a3e204d85c6e8cb2c5fa10"},
+ {file = "pendulum-3.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0a78ad3635d609ceb1e97d6aedef6a6a6f93433ddb2312888e668365908c7120"},
+ {file = "pendulum-3.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b30a137e9e0d1f751e60e67d11fc67781a572db76b2296f7b4d44554761049d6"},
+ {file = "pendulum-3.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c95984037987f4a457bb760455d9ca80467be792236b69d0084f228a8ada0162"},
+ {file = "pendulum-3.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d29c6e578fe0f893766c0d286adbf0b3c726a4e2341eba0917ec79c50274ec16"},
+ {file = "pendulum-3.0.0-cp38-none-win_amd64.whl", hash = "sha256:deaba8e16dbfcb3d7a6b5fabdd5a38b7c982809567479987b9c89572df62e027"},
+ {file = "pendulum-3.0.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b11aceea5b20b4b5382962b321dbc354af0defe35daa84e9ff3aae3c230df694"},
+ {file = "pendulum-3.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a90d4d504e82ad236afac9adca4d6a19e4865f717034fc69bafb112c320dcc8f"},
+ {file = "pendulum-3.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:825799c6b66e3734227756fa746cc34b3549c48693325b8b9f823cb7d21b19ac"},
+ {file = "pendulum-3.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad769e98dc07972e24afe0cff8d365cb6f0ebc7e65620aa1976fcfbcadc4c6f3"},
+ {file = "pendulum-3.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6fc26907eb5fb8cc6188cc620bc2075a6c534d981a2f045daa5f79dfe50d512"},
+ {file = "pendulum-3.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c717eab1b6d898c00a3e0fa7781d615b5c5136bbd40abe82be100bb06df7a56"},
+ {file = "pendulum-3.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3ddd1d66d1a714ce43acfe337190be055cdc221d911fc886d5a3aae28e14b76d"},
+ {file = "pendulum-3.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:822172853d7a9cf6da95d7b66a16c7160cb99ae6df55d44373888181d7a06edc"},
+ {file = "pendulum-3.0.0-cp39-none-win_amd64.whl", hash = "sha256:840de1b49cf1ec54c225a2a6f4f0784d50bd47f68e41dc005b7f67c7d5b5f3ae"},
+ {file = "pendulum-3.0.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3b1f74d1e6ffe5d01d6023870e2ce5c2191486928823196f8575dcc786e107b1"},
+ {file = "pendulum-3.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:729e9f93756a2cdfa77d0fc82068346e9731c7e884097160603872686e570f07"},
+ {file = "pendulum-3.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e586acc0b450cd21cbf0db6bae386237011b75260a3adceddc4be15334689a9a"},
+ {file = "pendulum-3.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22e7944ffc1f0099a79ff468ee9630c73f8c7835cd76fdb57ef7320e6a409df4"},
+ {file = "pendulum-3.0.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:fa30af36bd8e50686846bdace37cf6707bdd044e5cb6e1109acbad3277232e04"},
+ {file = "pendulum-3.0.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:440215347b11914ae707981b9a57ab9c7b6983ab0babde07063c6ee75c0dc6e7"},
+ {file = "pendulum-3.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:314c4038dc5e6a52991570f50edb2f08c339debdf8cea68ac355b32c4174e820"},
+ {file = "pendulum-3.0.0-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5acb1d386337415f74f4d1955c4ce8d0201978c162927d07df8eb0692b2d8533"},
+ {file = "pendulum-3.0.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a789e12fbdefaffb7b8ac67f9d8f22ba17a3050ceaaa635cd1cc4645773a4b1e"},
+ {file = "pendulum-3.0.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:860aa9b8a888e5913bd70d819306749e5eb488e6b99cd6c47beb701b22bdecf5"},
+ {file = "pendulum-3.0.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:5ebc65ea033ef0281368217fbf59f5cb05b338ac4dd23d60959c7afcd79a60a0"},
+ {file = "pendulum-3.0.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d9fef18ab0386ef6a9ac7bad7e43ded42c83ff7ad412f950633854f90d59afa8"},
+ {file = "pendulum-3.0.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:1c134ba2f0571d0b68b83f6972e2307a55a5a849e7dac8505c715c531d2a8795"},
+ {file = "pendulum-3.0.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:385680812e7e18af200bb9b4a49777418c32422d05ad5a8eb85144c4a285907b"},
+ {file = "pendulum-3.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9eec91cd87c59fb32ec49eb722f375bd58f4be790cae11c1b70fac3ee4f00da0"},
+ {file = "pendulum-3.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4386bffeca23c4b69ad50a36211f75b35a4deb6210bdca112ac3043deb7e494a"},
+ {file = "pendulum-3.0.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:dfbcf1661d7146d7698da4b86e7f04814221081e9fe154183e34f4c5f5fa3bf8"},
+ {file = "pendulum-3.0.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:04a1094a5aa1daa34a6b57c865b25f691848c61583fb22722a4df5699f6bf74c"},
+ {file = "pendulum-3.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5b0ec85b9045bd49dd3a3493a5e7ddfd31c36a2a60da387c419fa04abcaecb23"},
+ {file = "pendulum-3.0.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:0a15b90129765b705eb2039062a6daf4d22c4e28d1a54fa260892e8c3ae6e157"},
+ {file = "pendulum-3.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:bb8f6d7acd67a67d6fedd361ad2958ff0539445ef51cbe8cd288db4306503cd0"},
+ {file = "pendulum-3.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd69b15374bef7e4b4440612915315cc42e8575fcda2a3d7586a0d88192d0c88"},
+ {file = "pendulum-3.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc00f8110db6898360c53c812872662e077eaf9c75515d53ecc65d886eec209a"},
+ {file = "pendulum-3.0.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:83a44e8b40655d0ba565a5c3d1365d27e3e6778ae2a05b69124db9e471255c4a"},
+ {file = "pendulum-3.0.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:1a3604e9fbc06b788041b2a8b78f75c243021e0f512447806a6d37ee5214905d"},
+ {file = "pendulum-3.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:92c307ae7accebd06cbae4729f0ba9fa724df5f7d91a0964b1b972a22baa482b"},
+ {file = "pendulum-3.0.0.tar.gz", hash = "sha256:5d034998dea404ec31fae27af6b22cff1708f830a1ed7353be4d1019bb9f584e"},
]
[package.dependencies]
-python-dateutil = ">=2.6,<3.0"
-pytzdata = ">=2020.1"
+python-dateutil = ">=2.6"
+tzdata = ">=2020.1"
+
+[package.extras]
+test = ["time-machine (>=2.6.0)"]
[[package]]
name = "pexpect"
-version = "4.8.0"
+version = "4.9.0"
description = "Pexpect allows easy control of interactive console applications."
optional = false
python-versions = "*"
files = [
- {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"},
- {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"},
+ {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"},
+ {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"},
]
[package.dependencies]
ptyprocess = ">=0.5"
-[[package]]
-name = "pickleshare"
-version = "0.7.5"
-description = "Tiny 'shelve'-like database with concurrency support"
-optional = false
-python-versions = "*"
-files = [
- {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"},
- {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"},
-]
-
[[package]]
name = "pillow"
version = "10.2.0"
description = "Python Imaging Library (Fork)"
-optional = false
+optional = true
python-versions = ">=3.8"
files = [
{file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"},
@@ -1980,41 +2080,30 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa
typing = ["typing-extensions"]
xmp = ["defusedxml"]
-[[package]]
-name = "pkgutil-resolve-name"
-version = "1.3.10"
-description = "Resolve a name to an object."
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"},
- {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"},
-]
-
[[package]]
name = "platformdirs"
-version = "3.10.0"
+version = "4.2.0"
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"},
- {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"},
+ {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"},
+ {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"},
]
[package.extras]
-docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"]
-test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"]
+docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"]
+test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"]
[[package]]
name = "pluggy"
-version = "1.2.0"
+version = "1.4.0"
description = "plugin and hook calling mechanisms for python"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "pluggy-1.2.0-py3-none-any.whl", hash = "sha256:c2fd55a7d7a3863cba1a013e4e2414658b1d07b6bc57b3919e0c63c9abb99849"},
- {file = "pluggy-1.2.0.tar.gz", hash = "sha256:d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3"},
+ {file = "pluggy-1.4.0-py3-none-any.whl", hash = "sha256:7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981"},
+ {file = "pluggy-1.4.0.tar.gz", hash = "sha256:8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be"},
]
[package.extras]
@@ -2023,13 +2112,13 @@ testing = ["pytest", "pytest-benchmark"]
[[package]]
name = "prompt-toolkit"
-version = "3.0.39"
+version = "3.0.43"
description = "Library for building powerful interactive command lines in Python"
optional = false
python-versions = ">=3.7.0"
files = [
- {file = "prompt_toolkit-3.0.39-py3-none-any.whl", hash = "sha256:9dffbe1d8acf91e3de75f3b544e4842382fc06c6babe903ac9acb74dc6e08d88"},
- {file = "prompt_toolkit-3.0.39.tar.gz", hash = "sha256:04505ade687dc26dc4284b1ad19a83be2f2afe83e7a828ace0c72f3a1df72aac"},
+ {file = "prompt_toolkit-3.0.43-py3-none-any.whl", hash = "sha256:a11a29cb3bf0a28a387fe5122cdb649816a957cd9261dcedf8c9f1fef33eacf6"},
+ {file = "prompt_toolkit-3.0.43.tar.gz", hash = "sha256:3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d"},
]
[package.dependencies]
@@ -2037,25 +2126,27 @@ wcwidth = "*"
[[package]]
name = "psutil"
-version = "5.9.5"
+version = "5.9.8"
description = "Cross-platform lib for process and system monitoring in Python."
optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-files = [
- {file = "psutil-5.9.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:be8929ce4313f9f8146caad4272f6abb8bf99fc6cf59344a3167ecd74f4f203f"},
- {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ab8ed1a1d77c95453db1ae00a3f9c50227ebd955437bcf2a574ba8adbf6a74d5"},
- {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:4aef137f3345082a3d3232187aeb4ac4ef959ba3d7c10c33dd73763fbc063da4"},
- {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ea8518d152174e1249c4f2a1c89e3e6065941df2fa13a1ab45327716a23c2b48"},
- {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:acf2aef9391710afded549ff602b5887d7a2349831ae4c26be7c807c0a39fac4"},
- {file = "psutil-5.9.5-cp27-none-win32.whl", hash = "sha256:5b9b8cb93f507e8dbaf22af6a2fd0ccbe8244bf30b1baad6b3954e935157ae3f"},
- {file = "psutil-5.9.5-cp27-none-win_amd64.whl", hash = "sha256:8c5f7c5a052d1d567db4ddd231a9d27a74e8e4a9c3f44b1032762bd7b9fdcd42"},
- {file = "psutil-5.9.5-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:3c6f686f4225553615612f6d9bc21f1c0e305f75d7d8454f9b46e901778e7217"},
- {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a7dd9997128a0d928ed4fb2c2d57e5102bb6089027939f3b722f3a210f9a8da"},
- {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89518112647f1276b03ca97b65cc7f64ca587b1eb0278383017c2a0dcc26cbe4"},
- {file = "psutil-5.9.5-cp36-abi3-win32.whl", hash = "sha256:104a5cc0e31baa2bcf67900be36acde157756b9c44017b86b2c049f11957887d"},
- {file = "psutil-5.9.5-cp36-abi3-win_amd64.whl", hash = "sha256:b258c0c1c9d145a1d5ceffab1134441c4c5113b2417fafff7315a917a026c3c9"},
- {file = "psutil-5.9.5-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:c607bb3b57dc779d55e1554846352b4e358c10fff3abf3514a7a6601beebdb30"},
- {file = "psutil-5.9.5.tar.gz", hash = "sha256:5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c"},
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
+files = [
+ {file = "psutil-5.9.8-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:26bd09967ae00920df88e0352a91cff1a78f8d69b3ecabbfe733610c0af486c8"},
+ {file = "psutil-5.9.8-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:05806de88103b25903dff19bb6692bd2e714ccf9e668d050d144012055cbca73"},
+ {file = "psutil-5.9.8-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:611052c4bc70432ec770d5d54f64206aa7203a101ec273a0cd82418c86503bb7"},
+ {file = "psutil-5.9.8-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:50187900d73c1381ba1454cf40308c2bf6f34268518b3f36a9b663ca87e65e36"},
+ {file = "psutil-5.9.8-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:02615ed8c5ea222323408ceba16c60e99c3f91639b07da6373fb7e6539abc56d"},
+ {file = "psutil-5.9.8-cp27-none-win32.whl", hash = "sha256:36f435891adb138ed3c9e58c6af3e2e6ca9ac2f365efe1f9cfef2794e6c93b4e"},
+ {file = "psutil-5.9.8-cp27-none-win_amd64.whl", hash = "sha256:bd1184ceb3f87651a67b2708d4c3338e9b10c5df903f2e3776b62303b26cb631"},
+ {file = "psutil-5.9.8-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:aee678c8720623dc456fa20659af736241f575d79429a0e5e9cf88ae0605cc81"},
+ {file = "psutil-5.9.8-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cb6403ce6d8e047495a701dc7c5bd788add903f8986d523e3e20b98b733e421"},
+ {file = "psutil-5.9.8-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d06016f7f8625a1825ba3732081d77c94589dca78b7a3fc072194851e88461a4"},
+ {file = "psutil-5.9.8-cp36-cp36m-win32.whl", hash = "sha256:7d79560ad97af658a0f6adfef8b834b53f64746d45b403f225b85c5c2c140eee"},
+ {file = "psutil-5.9.8-cp36-cp36m-win_amd64.whl", hash = "sha256:27cc40c3493bb10de1be4b3f07cae4c010ce715290a5be22b98493509c6299e2"},
+ {file = "psutil-5.9.8-cp37-abi3-win32.whl", hash = "sha256:bc56c2a1b0d15aa3eaa5a60c9f3f8e3e565303b465dbf57a1b730e7a2b9844e0"},
+ {file = "psutil-5.9.8-cp37-abi3-win_amd64.whl", hash = "sha256:8db4c1b57507eef143a15a6884ca10f7c73876cdf5d51e713151c1236a0e68cf"},
+ {file = "psutil-5.9.8-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:d16bbddf0693323b8c6123dd804100241da461e41d6e332fb0ba6058f630f8c8"},
+ {file = "psutil-5.9.8.tar.gz", hash = "sha256:6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c"},
]
[package.extras]
@@ -2107,17 +2198,17 @@ test = ["pytest"]
[[package]]
name = "pybtex-docutils"
-version = "1.0.2"
+version = "1.0.3"
description = "A docutils backend for pybtex."
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
files = [
- {file = "pybtex-docutils-1.0.2.tar.gz", hash = "sha256:43aa353b6d498fd5ac30f0073a98e332d061d34fe619d3d50d1761f8fd4aa016"},
- {file = "pybtex_docutils-1.0.2-py3-none-any.whl", hash = "sha256:6f9e3c25a37bcaac8c4f69513272706ec6253bb708a93d8b4b173f43915ba239"},
+ {file = "pybtex-docutils-1.0.3.tar.gz", hash = "sha256:3a7ebdf92b593e00e8c1c538aa9a20bca5d92d84231124715acc964d51d93c6b"},
+ {file = "pybtex_docutils-1.0.3-py3-none-any.whl", hash = "sha256:8fd290d2ae48e32fcb54d86b0efb8d573198653c7e2447d5bec5847095f430b9"},
]
[package.dependencies]
-docutils = ">=0.8"
+docutils = ">=0.14"
pybtex = ">=0.16"
[[package]]
@@ -2133,31 +2224,32 @@ files = [
[[package]]
name = "pygments"
-version = "2.16.1"
+version = "2.17.2"
description = "Pygments is a syntax highlighting package written in Python."
optional = false
python-versions = ">=3.7"
files = [
- {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"},
- {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"},
+ {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"},
+ {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"},
]
[package.extras]
plugins = ["importlib-metadata"]
+windows-terminal = ["colorama (>=0.4.6)"]
[[package]]
name = "pylint"
-version = "2.17.5"
+version = "2.17.7"
description = "python code static checker"
optional = false
python-versions = ">=3.7.2"
files = [
- {file = "pylint-2.17.5-py3-none-any.whl", hash = "sha256:73995fb8216d3bed149c8d51bba25b2c52a8251a2c8ac846ec668ce38fab5413"},
- {file = "pylint-2.17.5.tar.gz", hash = "sha256:f7b601cbc06fef7e62a754e2b41294c2aa31f1cb659624b9a85bcba29eaf8252"},
+ {file = "pylint-2.17.7-py3-none-any.whl", hash = "sha256:27a8d4c7ddc8c2f8c18aa0050148f89ffc09838142193fdbe98f172781a3ff87"},
+ {file = "pylint-2.17.7.tar.gz", hash = "sha256:f4fcac7ae74cfe36bc8451e931d8438e4a476c20314b1101c458ad0f05191fad"},
]
[package.dependencies]
-astroid = ">=2.15.6,<=2.17.0-dev0"
+astroid = ">=2.15.8,<=2.17.0-dev0"
colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""}
dill = [
{version = ">=0.2", markers = "python_version < \"3.11\""},
@@ -2176,13 +2268,13 @@ testutils = ["gitpython (>3)"]
[[package]]
name = "pyparsing"
-version = "3.0.9"
+version = "3.1.1"
description = "pyparsing module - Classes and methods to define and execute parsing grammars"
optional = true
python-versions = ">=3.6.8"
files = [
- {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"},
- {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"},
+ {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"},
+ {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"},
]
[package.extras]
@@ -2210,13 +2302,13 @@ files = [
[[package]]
name = "pytest"
-version = "7.4.0"
+version = "7.4.4"
description = "pytest: simple powerful testing with Python"
optional = false
python-versions = ">=3.7"
files = [
- {file = "pytest-7.4.0-py3-none-any.whl", hash = "sha256:78bf16451a2eb8c7a2ea98e32dc119fd2aa758f1d5d66dbf0a59d69a3969df32"},
- {file = "pytest-7.4.0.tar.gz", hash = "sha256:b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a"},
+ {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"},
+ {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"},
]
[package.dependencies]
@@ -2277,24 +2369,13 @@ six = ">=1.5"
[[package]]
name = "pytz"
-version = "2023.3"
+version = "2024.1"
description = "World timezone definitions, modern and historical"
-optional = false
-python-versions = "*"
-files = [
- {file = "pytz-2023.3-py2.py3-none-any.whl", hash = "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb"},
- {file = "pytz-2023.3.tar.gz", hash = "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588"},
-]
-
-[[package]]
-name = "pytzdata"
-version = "2020.1"
-description = "The Olson timezone database for Python."
optional = true
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+python-versions = "*"
files = [
- {file = "pytzdata-2020.1-py2.py3-none-any.whl", hash = "sha256:e1e14750bcf95016381e4d472bad004eef710f2d6417240904070b3d6654485f"},
- {file = "pytzdata-2020.1.tar.gz", hash = "sha256:3efa13b335a00a8de1d345ae41ec78dd11c9f8807f522d39850f2dd828681540"},
+ {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"},
+ {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"},
]
[[package]]
@@ -2332,7 +2413,6 @@ files = [
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"},
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"},
- {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"},
{file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"},
{file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"},
{file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"},
@@ -2340,16 +2420,8 @@ files = [
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"},
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"},
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"},
- {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"},
{file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"},
{file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
- {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
- {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
- {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"},
- {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
- {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
- {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
- {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"},
{file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"},
{file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"},
{file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"},
@@ -2366,7 +2438,6 @@ files = [
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"},
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"},
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"},
- {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"},
{file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"},
{file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"},
{file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"},
@@ -2374,7 +2445,6 @@ files = [
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"},
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"},
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"},
- {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"},
{file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"},
{file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"},
{file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
@@ -2382,104 +2452,104 @@ files = [
[[package]]
name = "pyzmq"
-version = "25.1.1"
+version = "25.1.2"
description = "Python bindings for 0MQ"
optional = false
python-versions = ">=3.6"
files = [
- {file = "pyzmq-25.1.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:381469297409c5adf9a0e884c5eb5186ed33137badcbbb0560b86e910a2f1e76"},
- {file = "pyzmq-25.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:955215ed0604dac5b01907424dfa28b40f2b2292d6493445dd34d0dfa72586a8"},
- {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:985bbb1316192b98f32e25e7b9958088431d853ac63aca1d2c236f40afb17c83"},
- {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:afea96f64efa98df4da6958bae37f1cbea7932c35878b185e5982821bc883369"},
- {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76705c9325d72a81155bb6ab48d4312e0032bf045fb0754889133200f7a0d849"},
- {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:77a41c26205d2353a4c94d02be51d6cbdf63c06fbc1295ea57dad7e2d3381b71"},
- {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:12720a53e61c3b99d87262294e2b375c915fea93c31fc2336898c26d7aed34cd"},
- {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:57459b68e5cd85b0be8184382cefd91959cafe79ae019e6b1ae6e2ba8a12cda7"},
- {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:292fe3fc5ad4a75bc8df0dfaee7d0babe8b1f4ceb596437213821f761b4589f9"},
- {file = "pyzmq-25.1.1-cp310-cp310-win32.whl", hash = "sha256:35b5ab8c28978fbbb86ea54958cd89f5176ce747c1fb3d87356cf698048a7790"},
- {file = "pyzmq-25.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:11baebdd5fc5b475d484195e49bae2dc64b94a5208f7c89954e9e354fc609d8f"},
- {file = "pyzmq-25.1.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:d20a0ddb3e989e8807d83225a27e5c2eb2260eaa851532086e9e0fa0d5287d83"},
- {file = "pyzmq-25.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e1c1be77bc5fb77d923850f82e55a928f8638f64a61f00ff18a67c7404faf008"},
- {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d89528b4943d27029a2818f847c10c2cecc79fa9590f3cb1860459a5be7933eb"},
- {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:90f26dc6d5f241ba358bef79be9ce06de58d477ca8485e3291675436d3827cf8"},
- {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2b92812bd214018e50b6380ea3ac0c8bb01ac07fcc14c5f86a5bb25e74026e9"},
- {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:2f957ce63d13c28730f7fd6b72333814221c84ca2421298f66e5143f81c9f91f"},
- {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:047a640f5c9c6ade7b1cc6680a0e28c9dd5a0825135acbd3569cc96ea00b2505"},
- {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7f7e58effd14b641c5e4dec8c7dab02fb67a13df90329e61c869b9cc607ef752"},
- {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c2910967e6ab16bf6fbeb1f771c89a7050947221ae12a5b0b60f3bca2ee19bca"},
- {file = "pyzmq-25.1.1-cp311-cp311-win32.whl", hash = "sha256:76c1c8efb3ca3a1818b837aea423ff8a07bbf7aafe9f2f6582b61a0458b1a329"},
- {file = "pyzmq-25.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:44e58a0554b21fc662f2712814a746635ed668d0fbc98b7cb9d74cb798d202e6"},
- {file = "pyzmq-25.1.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:e1ffa1c924e8c72778b9ccd386a7067cddf626884fd8277f503c48bb5f51c762"},
- {file = "pyzmq-25.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1af379b33ef33757224da93e9da62e6471cf4a66d10078cf32bae8127d3d0d4a"},
- {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cff084c6933680d1f8b2f3b4ff5bbb88538a4aac00d199ac13f49d0698727ecb"},
- {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2400a94f7dd9cb20cd012951a0cbf8249e3d554c63a9c0cdfd5cbb6c01d2dec"},
- {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d81f1ddae3858b8299d1da72dd7d19dd36aab654c19671aa8a7e7fb02f6638a"},
- {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:255ca2b219f9e5a3a9ef3081512e1358bd4760ce77828e1028b818ff5610b87b"},
- {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a882ac0a351288dd18ecae3326b8a49d10c61a68b01419f3a0b9a306190baf69"},
- {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:724c292bb26365659fc434e9567b3f1adbdb5e8d640c936ed901f49e03e5d32e"},
- {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ca1ed0bb2d850aa8471387882247c68f1e62a4af0ce9c8a1dbe0d2bf69e41fb"},
- {file = "pyzmq-25.1.1-cp312-cp312-win32.whl", hash = "sha256:b3451108ab861040754fa5208bca4a5496c65875710f76789a9ad27c801a0075"},
- {file = "pyzmq-25.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:eadbefd5e92ef8a345f0525b5cfd01cf4e4cc651a2cffb8f23c0dd184975d787"},
- {file = "pyzmq-25.1.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:db0b2af416ba735c6304c47f75d348f498b92952f5e3e8bff449336d2728795d"},
- {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c133e93b405eb0d36fa430c94185bdd13c36204a8635470cccc200723c13bb"},
- {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:273bc3959bcbff3f48606b28229b4721716598d76b5aaea2b4a9d0ab454ec062"},
- {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cbc8df5c6a88ba5ae385d8930da02201165408dde8d8322072e3e5ddd4f68e22"},
- {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:18d43df3f2302d836f2a56f17e5663e398416e9dd74b205b179065e61f1a6edf"},
- {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:73461eed88a88c866656e08f89299720a38cb4e9d34ae6bf5df6f71102570f2e"},
- {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:34c850ce7976d19ebe7b9d4b9bb8c9dfc7aac336c0958e2651b88cbd46682123"},
- {file = "pyzmq-25.1.1-cp36-cp36m-win32.whl", hash = "sha256:d2045d6d9439a0078f2a34b57c7b18c4a6aef0bee37f22e4ec9f32456c852c71"},
- {file = "pyzmq-25.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:458dea649f2f02a0b244ae6aef8dc29325a2810aa26b07af8374dc2a9faf57e3"},
- {file = "pyzmq-25.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7cff25c5b315e63b07a36f0c2bab32c58eafbe57d0dce61b614ef4c76058c115"},
- {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1579413ae492b05de5a6174574f8c44c2b9b122a42015c5292afa4be2507f28"},
- {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3d0a409d3b28607cc427aa5c30a6f1e4452cc44e311f843e05edb28ab5e36da0"},
- {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:21eb4e609a154a57c520e3d5bfa0d97e49b6872ea057b7c85257b11e78068222"},
- {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:034239843541ef7a1aee0c7b2cb7f6aafffb005ede965ae9cbd49d5ff4ff73cf"},
- {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f8115e303280ba09f3898194791a153862cbf9eef722ad8f7f741987ee2a97c7"},
- {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1a5d26fe8f32f137e784f768143728438877d69a586ddeaad898558dc971a5ae"},
- {file = "pyzmq-25.1.1-cp37-cp37m-win32.whl", hash = "sha256:f32260e556a983bc5c7ed588d04c942c9a8f9c2e99213fec11a031e316874c7e"},
- {file = "pyzmq-25.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:abf34e43c531bbb510ae7e8f5b2b1f2a8ab93219510e2b287a944432fad135f3"},
- {file = "pyzmq-25.1.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:87e34f31ca8f168c56d6fbf99692cc8d3b445abb5bfd08c229ae992d7547a92a"},
- {file = "pyzmq-25.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c9c6c9b2c2f80747a98f34ef491c4d7b1a8d4853937bb1492774992a120f475d"},
- {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5619f3f5a4db5dbb572b095ea3cb5cc035335159d9da950830c9c4db2fbb6995"},
- {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5a34d2395073ef862b4032343cf0c32a712f3ab49d7ec4f42c9661e0294d106f"},
- {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25f0e6b78220aba09815cd1f3a32b9c7cb3e02cb846d1cfc526b6595f6046618"},
- {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3669cf8ee3520c2f13b2e0351c41fea919852b220988d2049249db10046a7afb"},
- {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2d163a18819277e49911f7461567bda923461c50b19d169a062536fffe7cd9d2"},
- {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:df27ffddff4190667d40de7beba4a950b5ce78fe28a7dcc41d6f8a700a80a3c0"},
- {file = "pyzmq-25.1.1-cp38-cp38-win32.whl", hash = "sha256:a382372898a07479bd34bda781008e4a954ed8750f17891e794521c3e21c2e1c"},
- {file = "pyzmq-25.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:52533489f28d62eb1258a965f2aba28a82aa747202c8fa5a1c7a43b5db0e85c1"},
- {file = "pyzmq-25.1.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:03b3f49b57264909aacd0741892f2aecf2f51fb053e7d8ac6767f6c700832f45"},
- {file = "pyzmq-25.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:330f9e188d0d89080cde66dc7470f57d1926ff2fb5576227f14d5be7ab30b9fa"},
- {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2ca57a5be0389f2a65e6d3bb2962a971688cbdd30b4c0bd188c99e39c234f414"},
- {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d457aed310f2670f59cc5b57dcfced452aeeed77f9da2b9763616bd57e4dbaae"},
- {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c56d748ea50215abef7030c72b60dd723ed5b5c7e65e7bc2504e77843631c1a6"},
- {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8f03d3f0d01cb5a018debeb412441996a517b11c5c17ab2001aa0597c6d6882c"},
- {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:820c4a08195a681252f46926de10e29b6bbf3e17b30037bd4250d72dd3ddaab8"},
- {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:17ef5f01d25b67ca8f98120d5fa1d21efe9611604e8eb03a5147360f517dd1e2"},
- {file = "pyzmq-25.1.1-cp39-cp39-win32.whl", hash = "sha256:04ccbed567171579ec2cebb9c8a3e30801723c575601f9a990ab25bcac6b51e2"},
- {file = "pyzmq-25.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:e61f091c3ba0c3578411ef505992d356a812fb200643eab27f4f70eed34a29ef"},
- {file = "pyzmq-25.1.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ade6d25bb29c4555d718ac6d1443a7386595528c33d6b133b258f65f963bb0f6"},
- {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0c95ddd4f6e9fca4e9e3afaa4f9df8552f0ba5d1004e89ef0a68e1f1f9807c7"},
- {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48e466162a24daf86f6b5ca72444d2bf39a5e58da5f96370078be67c67adc978"},
- {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abc719161780932c4e11aaebb203be3d6acc6b38d2f26c0f523b5b59d2fc1996"},
- {file = "pyzmq-25.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ccf825981640b8c34ae54231b7ed00271822ea1c6d8ba1090ebd4943759abf5"},
- {file = "pyzmq-25.1.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c2f20ce161ebdb0091a10c9ca0372e023ce24980d0e1f810f519da6f79c60800"},
- {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:deee9ca4727f53464daf089536e68b13e6104e84a37820a88b0a057b97bba2d2"},
- {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:aa8d6cdc8b8aa19ceb319aaa2b660cdaccc533ec477eeb1309e2a291eaacc43a"},
- {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:019e59ef5c5256a2c7378f2fb8560fc2a9ff1d315755204295b2eab96b254d0a"},
- {file = "pyzmq-25.1.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:b9af3757495c1ee3b5c4e945c1df7be95562277c6e5bccc20a39aec50f826cd0"},
- {file = "pyzmq-25.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:548d6482dc8aadbe7e79d1b5806585c8120bafa1ef841167bc9090522b610fa6"},
- {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:057e824b2aae50accc0f9a0570998adc021b372478a921506fddd6c02e60308e"},
- {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2243700cc5548cff20963f0ca92d3e5e436394375ab8a354bbea2b12911b20b0"},
- {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79986f3b4af059777111409ee517da24a529bdbd46da578b33f25580adcff728"},
- {file = "pyzmq-25.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:11d58723d44d6ed4dd677c5615b2ffb19d5c426636345567d6af82be4dff8a55"},
- {file = "pyzmq-25.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:49d238cf4b69652257db66d0c623cd3e09b5d2e9576b56bc067a396133a00d4a"},
- {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fedbdc753827cf014c01dbbee9c3be17e5a208dcd1bf8641ce2cd29580d1f0d4"},
- {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bc16ac425cc927d0a57d242589f87ee093884ea4804c05a13834d07c20db203c"},
- {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11c1d2aed9079c6b0c9550a7257a836b4a637feb334904610f06d70eb44c56d2"},
- {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e8a701123029cc240cea61dd2d16ad57cab4691804143ce80ecd9286b464d180"},
- {file = "pyzmq-25.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:61706a6b6c24bdece85ff177fec393545a3191eeda35b07aaa1458a027ad1304"},
- {file = "pyzmq-25.1.1.tar.gz", hash = "sha256:259c22485b71abacdfa8bf79720cd7bcf4b9d128b30ea554f01ae71fdbfdaa23"},
+ {file = "pyzmq-25.1.2-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:e624c789359f1a16f83f35e2c705d07663ff2b4d4479bad35621178d8f0f6ea4"},
+ {file = "pyzmq-25.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:49151b0efece79f6a79d41a461d78535356136ee70084a1c22532fc6383f4ad0"},
+ {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9a5f194cf730f2b24d6af1f833c14c10f41023da46a7f736f48b6d35061e76e"},
+ {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:faf79a302f834d9e8304fafdc11d0d042266667ac45209afa57e5efc998e3872"},
+ {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f51a7b4ead28d3fca8dda53216314a553b0f7a91ee8fc46a72b402a78c3e43d"},
+ {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0ddd6d71d4ef17ba5a87becf7ddf01b371eaba553c603477679ae817a8d84d75"},
+ {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:246747b88917e4867e2367b005fc8eefbb4a54b7db363d6c92f89d69abfff4b6"},
+ {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:00c48ae2fd81e2a50c3485de1b9d5c7c57cd85dc8ec55683eac16846e57ac979"},
+ {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5a68d491fc20762b630e5db2191dd07ff89834086740f70e978bb2ef2668be08"},
+ {file = "pyzmq-25.1.2-cp310-cp310-win32.whl", hash = "sha256:09dfe949e83087da88c4a76767df04b22304a682d6154de2c572625c62ad6886"},
+ {file = "pyzmq-25.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:fa99973d2ed20417744fca0073390ad65ce225b546febb0580358e36aa90dba6"},
+ {file = "pyzmq-25.1.2-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:82544e0e2d0c1811482d37eef297020a040c32e0687c1f6fc23a75b75db8062c"},
+ {file = "pyzmq-25.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:01171fc48542348cd1a360a4b6c3e7d8f46cdcf53a8d40f84db6707a6768acc1"},
+ {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc69c96735ab501419c432110016329bf0dea8898ce16fab97c6d9106dc0b348"},
+ {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3e124e6b1dd3dfbeb695435dff0e383256655bb18082e094a8dd1f6293114642"},
+ {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7598d2ba821caa37a0f9d54c25164a4fa351ce019d64d0b44b45540950458840"},
+ {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d1299d7e964c13607efd148ca1f07dcbf27c3ab9e125d1d0ae1d580a1682399d"},
+ {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4e6f689880d5ad87918430957297c975203a082d9a036cc426648fcbedae769b"},
+ {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cc69949484171cc961e6ecd4a8911b9ce7a0d1f738fcae717177c231bf77437b"},
+ {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9880078f683466b7f567b8624bfc16cad65077be046b6e8abb53bed4eeb82dd3"},
+ {file = "pyzmq-25.1.2-cp311-cp311-win32.whl", hash = "sha256:4e5837af3e5aaa99a091302df5ee001149baff06ad22b722d34e30df5f0d9097"},
+ {file = "pyzmq-25.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:25c2dbb97d38b5ac9fd15586e048ec5eb1e38f3d47fe7d92167b0c77bb3584e9"},
+ {file = "pyzmq-25.1.2-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:11e70516688190e9c2db14fcf93c04192b02d457b582a1f6190b154691b4c93a"},
+ {file = "pyzmq-25.1.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:313c3794d650d1fccaaab2df942af9f2c01d6217c846177cfcbc693c7410839e"},
+ {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b3cbba2f47062b85fe0ef9de5b987612140a9ba3a9c6d2543c6dec9f7c2ab27"},
+ {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fc31baa0c32a2ca660784d5af3b9487e13b61b3032cb01a115fce6588e1bed30"},
+ {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02c9087b109070c5ab0b383079fa1b5f797f8d43e9a66c07a4b8b8bdecfd88ee"},
+ {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:f8429b17cbb746c3e043cb986328da023657e79d5ed258b711c06a70c2ea7537"},
+ {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5074adeacede5f810b7ef39607ee59d94e948b4fd954495bdb072f8c54558181"},
+ {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:7ae8f354b895cbd85212da245f1a5ad8159e7840e37d78b476bb4f4c3f32a9fe"},
+ {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b264bf2cc96b5bc43ce0e852be995e400376bd87ceb363822e2cb1964fcdc737"},
+ {file = "pyzmq-25.1.2-cp312-cp312-win32.whl", hash = "sha256:02bbc1a87b76e04fd780b45e7f695471ae6de747769e540da909173d50ff8e2d"},
+ {file = "pyzmq-25.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:ced111c2e81506abd1dc142e6cd7b68dd53747b3b7ae5edbea4578c5eeff96b7"},
+ {file = "pyzmq-25.1.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:7b6d09a8962a91151f0976008eb7b29b433a560fde056ec7a3db9ec8f1075438"},
+ {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967668420f36878a3c9ecb5ab33c9d0ff8d054f9c0233d995a6d25b0e95e1b6b"},
+ {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5edac3f57c7ddaacdb4d40f6ef2f9e299471fc38d112f4bc6d60ab9365445fb0"},
+ {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:0dabfb10ef897f3b7e101cacba1437bd3a5032ee667b7ead32bbcdd1a8422fe7"},
+ {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:2c6441e0398c2baacfe5ba30c937d274cfc2dc5b55e82e3749e333aabffde561"},
+ {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:16b726c1f6c2e7625706549f9dbe9b06004dfbec30dbed4bf50cbdfc73e5b32a"},
+ {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:a86c2dd76ef71a773e70551a07318b8e52379f58dafa7ae1e0a4be78efd1ff16"},
+ {file = "pyzmq-25.1.2-cp36-cp36m-win32.whl", hash = "sha256:359f7f74b5d3c65dae137f33eb2bcfa7ad9ebefd1cab85c935f063f1dbb245cc"},
+ {file = "pyzmq-25.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:55875492f820d0eb3417b51d96fea549cde77893ae3790fd25491c5754ea2f68"},
+ {file = "pyzmq-25.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b8c8a419dfb02e91b453615c69568442e897aaf77561ee0064d789705ff37a92"},
+ {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8807c87fa893527ae8a524c15fc505d9950d5e856f03dae5921b5e9aa3b8783b"},
+ {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5e319ed7d6b8f5fad9b76daa0a68497bc6f129858ad956331a5835785761e003"},
+ {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3c53687dde4d9d473c587ae80cc328e5b102b517447456184b485587ebd18b62"},
+ {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9add2e5b33d2cd765ad96d5eb734a5e795a0755f7fc49aa04f76d7ddda73fd70"},
+ {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e690145a8c0c273c28d3b89d6fb32c45e0d9605b2293c10e650265bf5c11cfec"},
+ {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:00a06faa7165634f0cac1abb27e54d7a0b3b44eb9994530b8ec73cf52e15353b"},
+ {file = "pyzmq-25.1.2-cp37-cp37m-win32.whl", hash = "sha256:0f97bc2f1f13cb16905a5f3e1fbdf100e712d841482b2237484360f8bc4cb3d7"},
+ {file = "pyzmq-25.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6cc0020b74b2e410287e5942e1e10886ff81ac77789eb20bec13f7ae681f0fdd"},
+ {file = "pyzmq-25.1.2-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:bef02cfcbded83473bdd86dd8d3729cd82b2e569b75844fb4ea08fee3c26ae41"},
+ {file = "pyzmq-25.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e10a4b5a4b1192d74853cc71a5e9fd022594573926c2a3a4802020360aa719d8"},
+ {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8c5f80e578427d4695adac6fdf4370c14a2feafdc8cb35549c219b90652536ae"},
+ {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5dde6751e857910c1339890f3524de74007958557593b9e7e8c5f01cd919f8a7"},
+ {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea1608dd169da230a0ad602d5b1ebd39807ac96cae1845c3ceed39af08a5c6df"},
+ {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0f513130c4c361201da9bc69df25a086487250e16b5571ead521b31ff6b02220"},
+ {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:019744b99da30330798bb37df33549d59d380c78e516e3bab9c9b84f87a9592f"},
+ {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2e2713ef44be5d52dd8b8e2023d706bf66cb22072e97fc71b168e01d25192755"},
+ {file = "pyzmq-25.1.2-cp38-cp38-win32.whl", hash = "sha256:07cd61a20a535524906595e09344505a9bd46f1da7a07e504b315d41cd42eb07"},
+ {file = "pyzmq-25.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb7e49a17fb8c77d3119d41a4523e432eb0c6932187c37deb6fbb00cc3028088"},
+ {file = "pyzmq-25.1.2-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:94504ff66f278ab4b7e03e4cba7e7e400cb73bfa9d3d71f58d8972a8dc67e7a6"},
+ {file = "pyzmq-25.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6dd0d50bbf9dca1d0bdea219ae6b40f713a3fb477c06ca3714f208fd69e16fd8"},
+ {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:004ff469d21e86f0ef0369717351073e0e577428e514c47c8480770d5e24a565"},
+ {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c0b5ca88a8928147b7b1e2dfa09f3b6c256bc1135a1338536cbc9ea13d3b7add"},
+ {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c9a79f1d2495b167119d02be7448bfba57fad2a4207c4f68abc0bab4b92925b"},
+ {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:518efd91c3d8ac9f9b4f7dd0e2b7b8bf1a4fe82a308009016b07eaa48681af82"},
+ {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:1ec23bd7b3a893ae676d0e54ad47d18064e6c5ae1fadc2f195143fb27373f7f6"},
+ {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db36c27baed588a5a8346b971477b718fdc66cf5b80cbfbd914b4d6d355e44e2"},
+ {file = "pyzmq-25.1.2-cp39-cp39-win32.whl", hash = "sha256:39b1067f13aba39d794a24761e385e2eddc26295826530a8c7b6c6c341584289"},
+ {file = "pyzmq-25.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:8e9f3fabc445d0ce320ea2c59a75fe3ea591fdbdeebec5db6de530dd4b09412e"},
+ {file = "pyzmq-25.1.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a8c1d566344aee826b74e472e16edae0a02e2a044f14f7c24e123002dcff1c05"},
+ {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:759cfd391a0996345ba94b6a5110fca9c557ad4166d86a6e81ea526c376a01e8"},
+ {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c61e346ac34b74028ede1c6b4bcecf649d69b707b3ff9dc0fab453821b04d1e"},
+ {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cb8fc1f8d69b411b8ec0b5f1ffbcaf14c1db95b6bccea21d83610987435f1a4"},
+ {file = "pyzmq-25.1.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3c00c9b7d1ca8165c610437ca0c92e7b5607b2f9076f4eb4b095c85d6e680a1d"},
+ {file = "pyzmq-25.1.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:df0c7a16ebb94452d2909b9a7b3337940e9a87a824c4fc1c7c36bb4404cb0cde"},
+ {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:45999e7f7ed5c390f2e87ece7f6c56bf979fb213550229e711e45ecc7d42ccb8"},
+ {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ac170e9e048b40c605358667aca3d94e98f604a18c44bdb4c102e67070f3ac9b"},
+ {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1b604734bec94f05f81b360a272fc824334267426ae9905ff32dc2be433ab96"},
+ {file = "pyzmq-25.1.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:a793ac733e3d895d96f865f1806f160696422554e46d30105807fdc9841b9f7d"},
+ {file = "pyzmq-25.1.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0806175f2ae5ad4b835ecd87f5f85583316b69f17e97786f7443baaf54b9bb98"},
+ {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ef12e259e7bc317c7597d4f6ef59b97b913e162d83b421dd0db3d6410f17a244"},
+ {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea253b368eb41116011add00f8d5726762320b1bda892f744c91997b65754d73"},
+ {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b9b1f2ad6498445a941d9a4fee096d387fee436e45cc660e72e768d3d8ee611"},
+ {file = "pyzmq-25.1.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:8b14c75979ce932c53b79976a395cb2a8cd3aaf14aef75e8c2cb55a330b9b49d"},
+ {file = "pyzmq-25.1.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:889370d5174a741a62566c003ee8ddba4b04c3f09a97b8000092b7ca83ec9c49"},
+ {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a18fff090441a40ffda8a7f4f18f03dc56ae73f148f1832e109f9bffa85df15"},
+ {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99a6b36f95c98839ad98f8c553d8507644c880cf1e0a57fe5e3a3f3969040882"},
+ {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4345c9a27f4310afbb9c01750e9461ff33d6fb74cd2456b107525bbeebcb5be3"},
+ {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3516e0b6224cf6e43e341d56da15fd33bdc37fa0c06af4f029f7d7dfceceabbc"},
+ {file = "pyzmq-25.1.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:146b9b1f29ead41255387fb07be56dc29639262c0f7344f570eecdcd8d683314"},
+ {file = "pyzmq-25.1.2.tar.gz", hash = "sha256:93f1aa311e8bb912e34f004cf186407a4e90eec4f0ecc0efd26056bf7eda0226"},
]
[package.dependencies]
@@ -2487,13 +2557,13 @@ cffi = {version = "*", markers = "implementation_name == \"pypy\""}
[[package]]
name = "referencing"
-version = "0.30.2"
+version = "0.33.0"
description = "JSON Referencing + Python"
optional = false
python-versions = ">=3.8"
files = [
- {file = "referencing-0.30.2-py3-none-any.whl", hash = "sha256:449b6669b6121a9e96a7f9e410b245d471e8d48964c67113ce9afe50c8dd7bdf"},
- {file = "referencing-0.30.2.tar.gz", hash = "sha256:794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0"},
+ {file = "referencing-0.33.0-py3-none-any.whl", hash = "sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5"},
+ {file = "referencing-0.33.0.tar.gz", hash = "sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"},
]
[package.dependencies]
@@ -2535,154 +2605,159 @@ files = [
[package.dependencies]
commonmark = ">=0.9.0,<0.10.0"
pygments = ">=2.6.0,<3.0.0"
-typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""}
[package.extras]
jupyter = ["ipywidgets (>=7.5.1,<8.0.0)"]
[[package]]
name = "rpds-py"
-version = "0.9.2"
+version = "0.18.0"
description = "Python bindings to Rust's persistent data structures (rpds)"
optional = false
python-versions = ">=3.8"
files = [
- {file = "rpds_py-0.9.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:ab6919a09c055c9b092798ce18c6c4adf49d24d4d9e43a92b257e3f2548231e7"},
- {file = "rpds_py-0.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d55777a80f78dd09410bd84ff8c95ee05519f41113b2df90a69622f5540c4f8b"},
- {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a216b26e5af0a8e265d4efd65d3bcec5fba6b26909014effe20cd302fd1138fa"},
- {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29cd8bfb2d716366a035913ced99188a79b623a3512292963d84d3e06e63b496"},
- {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44659b1f326214950a8204a248ca6199535e73a694be8d3e0e869f820767f12f"},
- {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:745f5a43fdd7d6d25a53ab1a99979e7f8ea419dfefebcab0a5a1e9095490ee5e"},
- {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a987578ac5214f18b99d1f2a3851cba5b09f4a689818a106c23dbad0dfeb760f"},
- {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf4151acb541b6e895354f6ff9ac06995ad9e4175cbc6d30aaed08856558201f"},
- {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:03421628f0dc10a4119d714a17f646e2837126a25ac7a256bdf7c3943400f67f"},
- {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:13b602dc3e8dff3063734f02dcf05111e887f301fdda74151a93dbbc249930fe"},
- {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fae5cb554b604b3f9e2c608241b5d8d303e410d7dfb6d397c335f983495ce7f6"},
- {file = "rpds_py-0.9.2-cp310-none-win32.whl", hash = "sha256:47c5f58a8e0c2c920cc7783113df2fc4ff12bf3a411d985012f145e9242a2764"},
- {file = "rpds_py-0.9.2-cp310-none-win_amd64.whl", hash = "sha256:4ea6b73c22d8182dff91155af018b11aac9ff7eca085750455c5990cb1cfae6e"},
- {file = "rpds_py-0.9.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e564d2238512c5ef5e9d79338ab77f1cbbda6c2d541ad41b2af445fb200385e3"},
- {file = "rpds_py-0.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f411330a6376fb50e5b7a3e66894e4a39e60ca2e17dce258d53768fea06a37bd"},
- {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e7521f5af0233e89939ad626b15278c71b69dc1dfccaa7b97bd4cdf96536bb7"},
- {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8d3335c03100a073883857e91db9f2e0ef8a1cf42dc0369cbb9151c149dbbc1b"},
- {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d25b1c1096ef0447355f7293fbe9ad740f7c47ae032c2884113f8e87660d8f6e"},
- {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a5d3fbd02efd9cf6a8ffc2f17b53a33542f6b154e88dd7b42ef4a4c0700fdad"},
- {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5934e2833afeaf36bd1eadb57256239785f5af0220ed8d21c2896ec4d3a765f"},
- {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:095b460e117685867d45548fbd8598a8d9999227e9061ee7f012d9d264e6048d"},
- {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:91378d9f4151adc223d584489591dbb79f78814c0734a7c3bfa9c9e09978121c"},
- {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:24a81c177379300220e907e9b864107614b144f6c2a15ed5c3450e19cf536fae"},
- {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:de0b6eceb46141984671802d412568d22c6bacc9b230174f9e55fc72ef4f57de"},
- {file = "rpds_py-0.9.2-cp311-none-win32.whl", hash = "sha256:700375326ed641f3d9d32060a91513ad668bcb7e2cffb18415c399acb25de2ab"},
- {file = "rpds_py-0.9.2-cp311-none-win_amd64.whl", hash = "sha256:0766babfcf941db8607bdaf82569ec38107dbb03c7f0b72604a0b346b6eb3298"},
- {file = "rpds_py-0.9.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:b1440c291db3f98a914e1afd9d6541e8fc60b4c3aab1a9008d03da4651e67386"},
- {file = "rpds_py-0.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0f2996fbac8e0b77fd67102becb9229986396e051f33dbceada3debaacc7033f"},
- {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f30d205755566a25f2ae0382944fcae2f350500ae4df4e795efa9e850821d82"},
- {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:159fba751a1e6b1c69244e23ba6c28f879a8758a3e992ed056d86d74a194a0f3"},
- {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1f044792e1adcea82468a72310c66a7f08728d72a244730d14880cd1dabe36b"},
- {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9251eb8aa82e6cf88510530b29eef4fac825a2b709baf5b94a6094894f252387"},
- {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01899794b654e616c8625b194ddd1e5b51ef5b60ed61baa7a2d9c2ad7b2a4238"},
- {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0c43f8ae8f6be1d605b0465671124aa8d6a0e40f1fb81dcea28b7e3d87ca1e1"},
- {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:207f57c402d1f8712618f737356e4b6f35253b6d20a324d9a47cb9f38ee43a6b"},
- {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b52e7c5ae35b00566d244ffefba0f46bb6bec749a50412acf42b1c3f402e2c90"},
- {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:978fa96dbb005d599ec4fd9ed301b1cc45f1a8f7982d4793faf20b404b56677d"},
- {file = "rpds_py-0.9.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:6aa8326a4a608e1c28da191edd7c924dff445251b94653988efb059b16577a4d"},
- {file = "rpds_py-0.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:aad51239bee6bff6823bbbdc8ad85136c6125542bbc609e035ab98ca1e32a192"},
- {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bd4dc3602370679c2dfb818d9c97b1137d4dd412230cfecd3c66a1bf388a196"},
- {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dd9da77c6ec1f258387957b754f0df60766ac23ed698b61941ba9acccd3284d1"},
- {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:190ca6f55042ea4649ed19c9093a9be9d63cd8a97880106747d7147f88a49d18"},
- {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:876bf9ed62323bc7dcfc261dbc5572c996ef26fe6406b0ff985cbcf460fc8a4c"},
- {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa2818759aba55df50592ecbc95ebcdc99917fa7b55cc6796235b04193eb3c55"},
- {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9ea4d00850ef1e917815e59b078ecb338f6a8efda23369677c54a5825dbebb55"},
- {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5855c85eb8b8a968a74dc7fb014c9166a05e7e7a8377fb91d78512900aadd13d"},
- {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:14c408e9d1a80dcb45c05a5149e5961aadb912fff42ca1dd9b68c0044904eb32"},
- {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:65a0583c43d9f22cb2130c7b110e695fff834fd5e832a776a107197e59a1898e"},
- {file = "rpds_py-0.9.2-cp38-none-win32.whl", hash = "sha256:71f2f7715935a61fa3e4ae91d91b67e571aeb5cb5d10331ab681256bda2ad920"},
- {file = "rpds_py-0.9.2-cp38-none-win_amd64.whl", hash = "sha256:674c704605092e3ebbbd13687b09c9f78c362a4bc710343efe37a91457123044"},
- {file = "rpds_py-0.9.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:07e2c54bef6838fa44c48dfbc8234e8e2466d851124b551fc4e07a1cfeb37260"},
- {file = "rpds_py-0.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7fdf55283ad38c33e35e2855565361f4bf0abd02470b8ab28d499c663bc5d7c"},
- {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:890ba852c16ace6ed9f90e8670f2c1c178d96510a21b06d2fa12d8783a905193"},
- {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50025635ba8b629a86d9d5474e650da304cb46bbb4d18690532dd79341467846"},
- {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:517cbf6e67ae3623c5127206489d69eb2bdb27239a3c3cc559350ef52a3bbf0b"},
- {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0836d71ca19071090d524739420a61580f3f894618d10b666cf3d9a1688355b1"},
- {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c439fd54b2b9053717cca3de9583be6584b384d88d045f97d409f0ca867d80f"},
- {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f68996a3b3dc9335037f82754f9cdbe3a95db42bde571d8c3be26cc6245f2324"},
- {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7d68dc8acded354c972116f59b5eb2e5864432948e098c19fe6994926d8e15c3"},
- {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f963c6b1218b96db85fc37a9f0851eaf8b9040aa46dec112611697a7023da535"},
- {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a46859d7f947061b4010e554ccd1791467d1b1759f2dc2ec9055fa239f1bc26"},
- {file = "rpds_py-0.9.2-cp39-none-win32.whl", hash = "sha256:e07e5dbf8a83c66783a9fe2d4566968ea8c161199680e8ad38d53e075df5f0d0"},
- {file = "rpds_py-0.9.2-cp39-none-win_amd64.whl", hash = "sha256:682726178138ea45a0766907957b60f3a1bf3acdf212436be9733f28b6c5af3c"},
- {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:196cb208825a8b9c8fc360dc0f87993b8b260038615230242bf18ec84447c08d"},
- {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c7671d45530fcb6d5e22fd40c97e1e1e01965fc298cbda523bb640f3d923b387"},
- {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83b32f0940adec65099f3b1c215ef7f1d025d13ff947975a055989cb7fd019a4"},
- {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f67da97f5b9eac838b6980fc6da268622e91f8960e083a34533ca710bec8611"},
- {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03975db5f103997904c37e804e5f340c8fdabbb5883f26ee50a255d664eed58c"},
- {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:987b06d1cdb28f88a42e4fb8a87f094e43f3c435ed8e486533aea0bf2e53d931"},
- {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c861a7e4aef15ff91233751619ce3a3d2b9e5877e0fcd76f9ea4f6847183aa16"},
- {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02938432352359805b6da099c9c95c8a0547fe4b274ce8f1a91677401bb9a45f"},
- {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:ef1f08f2a924837e112cba2953e15aacfccbbfcd773b4b9b4723f8f2ddded08e"},
- {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:35da5cc5cb37c04c4ee03128ad59b8c3941a1e5cd398d78c37f716f32a9b7f67"},
- {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:141acb9d4ccc04e704e5992d35472f78c35af047fa0cfae2923835d153f091be"},
- {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79f594919d2c1a0cc17d1988a6adaf9a2f000d2e1048f71f298b056b1018e872"},
- {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:a06418fe1155e72e16dddc68bb3780ae44cebb2912fbd8bb6ff9161de56e1798"},
- {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b2eb034c94b0b96d5eddb290b7b5198460e2d5d0c421751713953a9c4e47d10"},
- {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b08605d248b974eb02f40bdcd1a35d3924c83a2a5e8f5d0fa5af852c4d960af"},
- {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0805911caedfe2736935250be5008b261f10a729a303f676d3d5fea6900c96a"},
- {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab2299e3f92aa5417d5e16bb45bb4586171c1327568f638e8453c9f8d9e0f020"},
- {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c8d7594e38cf98d8a7df25b440f684b510cf4627fe038c297a87496d10a174f"},
- {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b9ec12ad5f0a4625db34db7e0005be2632c1013b253a4a60e8302ad4d462afd"},
- {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1fcdee18fea97238ed17ab6478c66b2095e4ae7177e35fb71fbe561a27adf620"},
- {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:933a7d5cd4b84f959aedeb84f2030f0a01d63ae6cf256629af3081cf3e3426e8"},
- {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:686ba516e02db6d6f8c279d1641f7067ebb5dc58b1d0536c4aaebb7bf01cdc5d"},
- {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0173c0444bec0a3d7d848eaeca2d8bd32a1b43f3d3fde6617aac3731fa4be05f"},
- {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:d576c3ef8c7b2d560e301eb33891d1944d965a4d7a2eacb6332eee8a71827db6"},
- {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed89861ee8c8c47d6beb742a602f912b1bb64f598b1e2f3d758948721d44d468"},
- {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1054a08e818f8e18910f1bee731583fe8f899b0a0a5044c6e680ceea34f93876"},
- {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99e7c4bb27ff1aab90dcc3e9d37ee5af0231ed98d99cb6f5250de28889a3d502"},
- {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c545d9d14d47be716495076b659db179206e3fd997769bc01e2d550eeb685596"},
- {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9039a11bca3c41be5a58282ed81ae422fa680409022b996032a43badef2a3752"},
- {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fb39aca7a64ad0c9490adfa719dbeeb87d13be137ca189d2564e596f8ba32c07"},
- {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2d8b3b3a2ce0eaa00c5bbbb60b6713e94e7e0becab7b3db6c5c77f979e8ed1f1"},
- {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:99b1c16f732b3a9971406fbfe18468592c5a3529585a45a35adbc1389a529a03"},
- {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c27ee01a6c3223025f4badd533bea5e87c988cb0ba2811b690395dfe16088cfe"},
- {file = "rpds_py-0.9.2.tar.gz", hash = "sha256:8d70e8f14900f2657c249ea4def963bed86a29b81f81f5b76b5a9215680de945"},
+ {file = "rpds_py-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e"},
+ {file = "rpds_py-0.18.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c463ed05f9dfb9baebef68048aed8dcdc94411e4bf3d33a39ba97e271624f8f7"},
+ {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01e36a39af54a30f28b73096dd39b6802eddd04c90dbe161c1b8dbe22353189f"},
+ {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d62dec4976954a23d7f91f2f4530852b0c7608116c257833922a896101336c51"},
+ {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd18772815d5f008fa03d2b9a681ae38d5ae9f0e599f7dda233c439fcaa00d40"},
+ {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:923d39efa3cfb7279a0327e337a7958bff00cc447fd07a25cddb0a1cc9a6d2da"},
+ {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39514da80f971362f9267c600b6d459bfbbc549cffc2cef8e47474fddc9b45b1"},
+ {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a34d557a42aa28bd5c48a023c570219ba2593bcbbb8dc1b98d8cf5d529ab1434"},
+ {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:93df1de2f7f7239dc9cc5a4a12408ee1598725036bd2dedadc14d94525192fc3"},
+ {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:34b18ba135c687f4dac449aa5157d36e2cbb7c03cbea4ddbd88604e076aa836e"},
+ {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c0b5dcf9193625afd8ecc92312d6ed78781c46ecbf39af9ad4681fc9f464af88"},
+ {file = "rpds_py-0.18.0-cp310-none-win32.whl", hash = "sha256:c4325ff0442a12113a6379af66978c3fe562f846763287ef66bdc1d57925d337"},
+ {file = "rpds_py-0.18.0-cp310-none-win_amd64.whl", hash = "sha256:7223a2a5fe0d217e60a60cdae28d6949140dde9c3bcc714063c5b463065e3d66"},
+ {file = "rpds_py-0.18.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3a96e0c6a41dcdba3a0a581bbf6c44bb863f27c541547fb4b9711fd8cf0ffad4"},
+ {file = "rpds_py-0.18.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30f43887bbae0d49113cbaab729a112251a940e9b274536613097ab8b4899cf6"},
+ {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcb25daa9219b4cf3a0ab24b0eb9a5cc8949ed4dc72acb8fa16b7e1681aa3c58"},
+ {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d68c93e381010662ab873fea609bf6c0f428b6d0bb00f2c6939782e0818d37bf"},
+ {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b34b7aa8b261c1dbf7720b5d6f01f38243e9b9daf7e6b8bc1fd4657000062f2c"},
+ {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e6d75ab12b0bbab7215e5d40f1e5b738aa539598db27ef83b2ec46747df90e1"},
+ {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8612cd233543a3781bc659c731b9d607de65890085098986dfd573fc2befe5"},
+ {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aec493917dd45e3c69d00a8874e7cbed844efd935595ef78a0f25f14312e33c6"},
+ {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:661d25cbffaf8cc42e971dd570d87cb29a665f49f4abe1f9e76be9a5182c4688"},
+ {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1df3659d26f539ac74fb3b0c481cdf9d725386e3552c6fa2974f4d33d78e544b"},
+ {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a1ce3ba137ed54f83e56fb983a5859a27d43a40188ba798993812fed73c70836"},
+ {file = "rpds_py-0.18.0-cp311-none-win32.whl", hash = "sha256:69e64831e22a6b377772e7fb337533c365085b31619005802a79242fee620bc1"},
+ {file = "rpds_py-0.18.0-cp311-none-win_amd64.whl", hash = "sha256:998e33ad22dc7ec7e030b3df701c43630b5bc0d8fbc2267653577e3fec279afa"},
+ {file = "rpds_py-0.18.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:7f2facbd386dd60cbbf1a794181e6aa0bd429bd78bfdf775436020172e2a23f0"},
+ {file = "rpds_py-0.18.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1d9a5be316c15ffb2b3c405c4ff14448c36b4435be062a7f578ccd8b01f0c4d8"},
+ {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd5bf1af8efe569654bbef5a3e0a56eca45f87cfcffab31dd8dde70da5982475"},
+ {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5417558f6887e9b6b65b4527232553c139b57ec42c64570569b155262ac0754f"},
+ {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:56a737287efecafc16f6d067c2ea0117abadcd078d58721f967952db329a3e5c"},
+ {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8f03bccbd8586e9dd37219bce4d4e0d3ab492e6b3b533e973fa08a112cb2ffc9"},
+ {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4457a94da0d5c53dc4b3e4de1158bdab077db23c53232f37a3cb7afdb053a4e3"},
+ {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ab39c1ba9023914297dd88ec3b3b3c3f33671baeb6acf82ad7ce883f6e8e157"},
+ {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d54553c1136b50fd12cc17e5b11ad07374c316df307e4cfd6441bea5fb68496"},
+ {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0af039631b6de0397ab2ba16eaf2872e9f8fca391b44d3d8cac317860a700a3f"},
+ {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:84ffab12db93b5f6bad84c712c92060a2d321b35c3c9960b43d08d0f639d60d7"},
+ {file = "rpds_py-0.18.0-cp312-none-win32.whl", hash = "sha256:685537e07897f173abcf67258bee3c05c374fa6fff89d4c7e42fb391b0605e98"},
+ {file = "rpds_py-0.18.0-cp312-none-win_amd64.whl", hash = "sha256:e003b002ec72c8d5a3e3da2989c7d6065b47d9eaa70cd8808b5384fbb970f4ec"},
+ {file = "rpds_py-0.18.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:08f9ad53c3f31dfb4baa00da22f1e862900f45908383c062c27628754af2e88e"},
+ {file = "rpds_py-0.18.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c0013fe6b46aa496a6749c77e00a3eb07952832ad6166bd481c74bda0dcb6d58"},
+ {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e32a92116d4f2a80b629778280103d2a510a5b3f6314ceccd6e38006b5e92dcb"},
+ {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e541ec6f2ec456934fd279a3120f856cd0aedd209fc3852eca563f81738f6861"},
+ {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bed88b9a458e354014d662d47e7a5baafd7ff81c780fd91584a10d6ec842cb73"},
+ {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2644e47de560eb7bd55c20fc59f6daa04682655c58d08185a9b95c1970fa1e07"},
+ {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e8916ae4c720529e18afa0b879473049e95949bf97042e938530e072fde061d"},
+ {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:465a3eb5659338cf2a9243e50ad9b2296fa15061736d6e26240e713522b6235c"},
+ {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ea7d4a99f3b38c37eac212dbd6ec42b7a5ec51e2c74b5d3223e43c811609e65f"},
+ {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:67071a6171e92b6da534b8ae326505f7c18022c6f19072a81dcf40db2638767c"},
+ {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:41ef53e7c58aa4ef281da975f62c258950f54b76ec8e45941e93a3d1d8580594"},
+ {file = "rpds_py-0.18.0-cp38-none-win32.whl", hash = "sha256:fdea4952db2793c4ad0bdccd27c1d8fdd1423a92f04598bc39425bcc2b8ee46e"},
+ {file = "rpds_py-0.18.0-cp38-none-win_amd64.whl", hash = "sha256:7cd863afe7336c62ec78d7d1349a2f34c007a3cc6c2369d667c65aeec412a5b1"},
+ {file = "rpds_py-0.18.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:5307def11a35f5ae4581a0b658b0af8178c65c530e94893345bebf41cc139d33"},
+ {file = "rpds_py-0.18.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:77f195baa60a54ef9d2de16fbbfd3ff8b04edc0c0140a761b56c267ac11aa467"},
+ {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39f5441553f1c2aed4de4377178ad8ff8f9d733723d6c66d983d75341de265ab"},
+ {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a00312dea9310d4cb7dbd7787e722d2e86a95c2db92fbd7d0155f97127bcb40"},
+ {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f2fc11e8fe034ee3c34d316d0ad8808f45bc3b9ce5857ff29d513f3ff2923a1"},
+ {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:586f8204935b9ec884500498ccc91aa869fc652c40c093bd9e1471fbcc25c022"},
+ {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddc2f4dfd396c7bfa18e6ce371cba60e4cf9d2e5cdb71376aa2da264605b60b9"},
+ {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ddcba87675b6d509139d1b521e0c8250e967e63b5909a7e8f8944d0f90ff36f"},
+ {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7bd339195d84439cbe5771546fe8a4e8a7a045417d8f9de9a368c434e42a721e"},
+ {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d7c36232a90d4755b720fbd76739d8891732b18cf240a9c645d75f00639a9024"},
+ {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6b0817e34942b2ca527b0e9298373e7cc75f429e8da2055607f4931fded23e20"},
+ {file = "rpds_py-0.18.0-cp39-none-win32.whl", hash = "sha256:99f70b740dc04d09e6b2699b675874367885217a2e9f782bdf5395632ac663b7"},
+ {file = "rpds_py-0.18.0-cp39-none-win_amd64.whl", hash = "sha256:6ef687afab047554a2d366e112dd187b62d261d49eb79b77e386f94644363294"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ad36cfb355e24f1bd37cac88c112cd7730873f20fb0bdaf8ba59eedf8216079f"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:36b3ee798c58ace201289024b52788161e1ea133e4ac93fba7d49da5fec0ef9e"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8a2f084546cc59ea99fda8e070be2fd140c3092dc11524a71aa8f0f3d5a55ca"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e4461d0f003a0aa9be2bdd1b798a041f177189c1a0f7619fe8c95ad08d9a45d7"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8db715ebe3bb7d86d77ac1826f7d67ec11a70dbd2376b7cc214199360517b641"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:793968759cd0d96cac1e367afd70c235867831983f876a53389ad869b043c948"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66e6a3af5a75363d2c9a48b07cb27c4ea542938b1a2e93b15a503cdfa8490795"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6ef0befbb5d79cf32d0266f5cff01545602344eda89480e1dd88aca964260b18"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1d4acf42190d449d5e89654d5c1ed3a4f17925eec71f05e2a41414689cda02d1"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a5f446dd5055667aabaee78487f2b5ab72e244f9bc0b2ffebfeec79051679984"},
+ {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9dbbeb27f4e70bfd9eec1be5477517365afe05a9b2c441a0b21929ee61048124"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:22806714311a69fd0af9b35b7be97c18a0fc2826e6827dbb3a8c94eac6cf7eeb"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:b34ae4636dfc4e76a438ab826a0d1eed2589ca7d9a1b2d5bb546978ac6485461"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c8370641f1a7f0e0669ddccca22f1da893cef7628396431eb445d46d893e5cd"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c8362467a0fdeccd47935f22c256bec5e6abe543bf0d66e3d3d57a8fb5731863"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11a8c85ef4a07a7638180bf04fe189d12757c696eb41f310d2426895356dcf05"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b316144e85316da2723f9d8dc75bada12fa58489a527091fa1d5a612643d1a0e"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf1ea2e34868f6fbf070e1af291c8180480310173de0b0c43fc38a02929fc0e3"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e546e768d08ad55b20b11dbb78a745151acbd938f8f00d0cfbabe8b0199b9880"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4901165d170a5fde6f589acb90a6b33629ad1ec976d4529e769c6f3d885e3e80"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:618a3d6cae6ef8ec88bb76dd80b83cfe415ad4f1d942ca2a903bf6b6ff97a2da"},
+ {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ed4eb745efbff0a8e9587d22a84be94a5eb7d2d99c02dacf7bd0911713ed14dd"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6c81e5f372cd0dc5dc4809553d34f832f60a46034a5f187756d9b90586c2c307"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:43fbac5f22e25bee1d482c97474f930a353542855f05c1161fd804c9dc74a09d"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d7faa6f14017c0b1e69f5e2c357b998731ea75a442ab3841c0dbbbfe902d2c4"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:08231ac30a842bd04daabc4d71fddd7e6d26189406d5a69535638e4dcb88fe76"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:044a3e61a7c2dafacae99d1e722cc2d4c05280790ec5a05031b3876809d89a5c"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f26b5bd1079acdb0c7a5645e350fe54d16b17bfc5e71f371c449383d3342e17"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:482103aed1dfe2f3b71a58eff35ba105289b8d862551ea576bd15479aba01f66"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1374f4129f9bcca53a1bba0bb86bf78325a0374577cf7e9e4cd046b1e6f20e24"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:635dc434ff724b178cb192c70016cc0ad25a275228f749ee0daf0eddbc8183b1"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:bc362ee4e314870a70f4ae88772d72d877246537d9f8cb8f7eacf10884862432"},
+ {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:4832d7d380477521a8c1644bbab6588dfedea5e30a7d967b5fb75977c45fd77f"},
+ {file = "rpds_py-0.18.0.tar.gz", hash = "sha256:42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d"},
]
[[package]]
name = "scipy"
-version = "1.10.1"
+version = "1.12.0"
description = "Fundamental algorithms for scientific computing in Python"
optional = false
-python-versions = "<3.12,>=3.8"
-files = [
- {file = "scipy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e7354fd7527a4b0377ce55f286805b34e8c54b91be865bac273f527e1b839019"},
- {file = "scipy-1.10.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:4b3f429188c66603a1a5c549fb414e4d3bdc2a24792e061ffbd607d3d75fd84e"},
- {file = "scipy-1.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1553b5dcddd64ba9a0d95355e63fe6c3fc303a8fd77c7bc91e77d61363f7433f"},
- {file = "scipy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c0ff64b06b10e35215abce517252b375e580a6125fd5fdf6421b98efbefb2d2"},
- {file = "scipy-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:fae8a7b898c42dffe3f7361c40d5952b6bf32d10c4569098d276b4c547905ee1"},
- {file = "scipy-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0f1564ea217e82c1bbe75ddf7285ba0709ecd503f048cb1236ae9995f64217bd"},
- {file = "scipy-1.10.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d925fa1c81b772882aa55bcc10bf88324dadb66ff85d548c71515f6689c6dac5"},
- {file = "scipy-1.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaea0a6be54462ec027de54fca511540980d1e9eea68b2d5c1dbfe084797be35"},
- {file = "scipy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15a35c4242ec5f292c3dd364a7c71a61be87a3d4ddcc693372813c0b73c9af1d"},
- {file = "scipy-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:43b8e0bcb877faf0abfb613d51026cd5cc78918e9530e375727bf0625c82788f"},
- {file = "scipy-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5678f88c68ea866ed9ebe3a989091088553ba12c6090244fdae3e467b1139c35"},
- {file = "scipy-1.10.1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:39becb03541f9e58243f4197584286e339029e8908c46f7221abeea4b749fa88"},
- {file = "scipy-1.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bce5869c8d68cf383ce240e44c1d9ae7c06078a9396df68ce88a1230f93a30c1"},
- {file = "scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07c3457ce0b3ad5124f98a86533106b643dd811dd61b548e78cf4c8786652f6f"},
- {file = "scipy-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:049a8bbf0ad95277ffba9b3b7d23e5369cc39e66406d60422c8cfef40ccc8415"},
- {file = "scipy-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cd9f1027ff30d90618914a64ca9b1a77a431159df0e2a195d8a9e8a04c78abf9"},
- {file = "scipy-1.10.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:79c8e5a6c6ffaf3a2262ef1be1e108a035cf4f05c14df56057b64acc5bebffb6"},
- {file = "scipy-1.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51af417a000d2dbe1ec6c372dfe688e041a7084da4fdd350aeb139bd3fb55353"},
- {file = "scipy-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b4735d6c28aad3cdcf52117e0e91d6b39acd4272f3f5cd9907c24ee931ad601"},
- {file = "scipy-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ff7f37b1bf4417baca958d254e8e2875d0cc23aaadbe65b3d5b3077b0eb23ea"},
- {file = "scipy-1.10.1.tar.gz", hash = "sha256:2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5"},
+python-versions = ">=3.9"
+files = [
+ {file = "scipy-1.12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:78e4402e140879387187f7f25d91cc592b3501a2e51dfb320f48dfb73565f10b"},
+ {file = "scipy-1.12.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:f5f00ebaf8de24d14b8449981a2842d404152774c1a1d880c901bf454cb8e2a1"},
+ {file = "scipy-1.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e53958531a7c695ff66c2e7bb7b79560ffdc562e2051644c5576c39ff8efb563"},
+ {file = "scipy-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e32847e08da8d895ce09d108a494d9eb78974cf6de23063f93306a3e419960c"},
+ {file = "scipy-1.12.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4c1020cad92772bf44b8e4cdabc1df5d87376cb219742549ef69fc9fd86282dd"},
+ {file = "scipy-1.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:75ea2a144096b5e39402e2ff53a36fecfd3b960d786b7efd3c180e29c39e53f2"},
+ {file = "scipy-1.12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:408c68423f9de16cb9e602528be4ce0d6312b05001f3de61fe9ec8b1263cad08"},
+ {file = "scipy-1.12.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5adfad5dbf0163397beb4aca679187d24aec085343755fcdbdeb32b3679f254c"},
+ {file = "scipy-1.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3003652496f6e7c387b1cf63f4bb720951cfa18907e998ea551e6de51a04467"},
+ {file = "scipy-1.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b8066bce124ee5531d12a74b617d9ac0ea59245246410e19bca549656d9a40a"},
+ {file = "scipy-1.12.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8bee4993817e204d761dba10dbab0774ba5a8612e57e81319ea04d84945375ba"},
+ {file = "scipy-1.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:a24024d45ce9a675c1fb8494e8e5244efea1c7a09c60beb1eeb80373d0fecc70"},
+ {file = "scipy-1.12.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e7e76cc48638228212c747ada851ef355c2bb5e7f939e10952bc504c11f4e372"},
+ {file = "scipy-1.12.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:f7ce148dffcd64ade37b2df9315541f9adad6efcaa86866ee7dd5db0c8f041c3"},
+ {file = "scipy-1.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c39f92041f490422924dfdb782527a4abddf4707616e07b021de33467f917bc"},
+ {file = "scipy-1.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7ebda398f86e56178c2fa94cad15bf457a218a54a35c2a7b4490b9f9cb2676c"},
+ {file = "scipy-1.12.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:95e5c750d55cf518c398a8240571b0e0782c2d5a703250872f36eaf737751338"},
+ {file = "scipy-1.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:e646d8571804a304e1da01040d21577685ce8e2db08ac58e543eaca063453e1c"},
+ {file = "scipy-1.12.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:913d6e7956c3a671de3b05ccb66b11bc293f56bfdef040583a7221d9e22a2e35"},
+ {file = "scipy-1.12.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:bba1b0c7256ad75401c73e4b3cf09d1f176e9bd4248f0d3112170fb2ec4db067"},
+ {file = "scipy-1.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:730badef9b827b368f351eacae2e82da414e13cf8bd5051b4bdfd720271a5371"},
+ {file = "scipy-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6546dc2c11a9df6926afcbdd8a3edec28566e4e785b915e849348c6dd9f3f490"},
+ {file = "scipy-1.12.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:196ebad3a4882081f62a5bf4aeb7326aa34b110e533aab23e4374fcccb0890dc"},
+ {file = "scipy-1.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:b360f1b6b2f742781299514e99ff560d1fe9bd1bff2712894b52abe528d1fd1e"},
+ {file = "scipy-1.12.0.tar.gz", hash = "sha256:4bf5abab8a36d20193c698b0f1fc282c1d083c94723902c447e5d2f1780936a3"},
]
[package.dependencies]
-numpy = ">=1.19.5,<1.27.0"
+numpy = ">=1.22.4,<1.29.0"
[package.extras]
-dev = ["click", "doit (>=0.36.0)", "flake8", "mypy", "pycodestyle", "pydevtool", "rich-click", "typing_extensions"]
-doc = ["matplotlib (>2)", "numpydoc", "pydata-sphinx-theme (==0.9.0)", "sphinx (!=4.1.0)", "sphinx-design (>=0.2.0)"]
-test = ["asv", "gmpy2", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"]
+dev = ["click", "cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy", "pycodestyle", "pydevtool", "rich-click", "ruff", "types-psutil", "typing_extensions"]
+doc = ["jupytext", "matplotlib (>2)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (==0.9.0)", "sphinx (!=4.1.0)", "sphinx-design (>=0.2.0)"]
+test = ["asv", "gmpy2", "hypothesis", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"]
[[package]]
name = "six"
@@ -2708,13 +2783,13 @@ files = [
[[package]]
name = "soupsieve"
-version = "2.4.1"
+version = "2.5"
description = "A modern CSS selector implementation for Beautiful Soup."
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "soupsieve-2.4.1-py3-none-any.whl", hash = "sha256:1c1bfee6819544a3447586c889157365a27e10d88cde3ad3da0cf0ddf646feb8"},
- {file = "soupsieve-2.4.1.tar.gz", hash = "sha256:89d12b2d5dfcd2c9e8c22326da9d9aa9cb3dfab0a83a024f05704076ee8d35ea"},
+ {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"},
+ {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"},
]
[[package]]
@@ -2754,18 +2829,18 @@ test = ["cython", "html5lib", "pytest", "pytest-cov", "typed-ast"]
[[package]]
name = "sphinx-rtd-theme"
-version = "1.2.2"
+version = "1.3.0"
description = "Read the Docs theme for Sphinx"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
files = [
- {file = "sphinx_rtd_theme-1.2.2-py2.py3-none-any.whl", hash = "sha256:6a7e7d8af34eb8fc57d52a09c6b6b9c46ff44aea5951bc831eeb9245378f3689"},
- {file = "sphinx_rtd_theme-1.2.2.tar.gz", hash = "sha256:01c5c5a72e2d025bd23d1f06c59a4831b06e6ce6c01fdd5ebfe9986c0a880fc7"},
+ {file = "sphinx_rtd_theme-1.3.0-py2.py3-none-any.whl", hash = "sha256:46ddef89cc2416a81ecfbeaceab1881948c014b1b6e4450b815311a89fb977b0"},
+ {file = "sphinx_rtd_theme-1.3.0.tar.gz", hash = "sha256:590b030c7abb9cf038ec053b95e5380b5c70d61591eb0b552063fbe7c41f0931"},
]
[package.dependencies]
docutils = "<0.19"
-sphinx = ">=1.6,<7"
+sphinx = ">=1.6,<8"
sphinxcontrib-jquery = ">=4,<5"
[package.extras]
@@ -2773,65 +2848,68 @@ dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"]
[[package]]
name = "sphinxcontrib-applehelp"
-version = "1.0.4"
+version = "1.0.8"
description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-applehelp-1.0.4.tar.gz", hash = "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e"},
- {file = "sphinxcontrib_applehelp-1.0.4-py3-none-any.whl", hash = "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228"},
+ {file = "sphinxcontrib_applehelp-1.0.8-py3-none-any.whl", hash = "sha256:cb61eb0ec1b61f349e5cc36b2028e9e7ca765be05e49641c97241274753067b4"},
+ {file = "sphinxcontrib_applehelp-1.0.8.tar.gz", hash = "sha256:c40a4f96f3776c4393d933412053962fac2b84f4c99a7982ba42e09576a70619"},
]
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
+standalone = ["Sphinx (>=5)"]
test = ["pytest"]
[[package]]
name = "sphinxcontrib-bibtex"
-version = "2.5.0"
+version = "2.6.2"
description = "Sphinx extension for BibTeX style citations."
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
files = [
- {file = "sphinxcontrib-bibtex-2.5.0.tar.gz", hash = "sha256:71b42e5db0e2e284f243875326bf9936aa9a763282277d75048826fef5b00eaa"},
- {file = "sphinxcontrib_bibtex-2.5.0-py3-none-any.whl", hash = "sha256:748f726eaca6efff7731012103417ef130ecdcc09501b4d0c54283bf5f059f76"},
+ {file = "sphinxcontrib-bibtex-2.6.2.tar.gz", hash = "sha256:f487af694336f28bfb7d6a17070953a7d264bec43000a2379724274f5f8d70ae"},
+ {file = "sphinxcontrib_bibtex-2.6.2-py3-none-any.whl", hash = "sha256:10d45ebbb19207c5665396c9446f8012a79b8a538cb729f895b5910ab2d0b2da"},
]
[package.dependencies]
-docutils = ">=0.8"
+docutils = ">=0.8,<0.18.dev0 || >=0.20.dev0"
importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""}
pybtex = ">=0.24"
pybtex-docutils = ">=1.0.0"
-Sphinx = ">=2.1"
+Sphinx = ">=3.5"
[[package]]
name = "sphinxcontrib-devhelp"
-version = "1.0.2"
-description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
+version = "1.0.6"
+description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents"
optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"},
- {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"},
+ {file = "sphinxcontrib_devhelp-1.0.6-py3-none-any.whl", hash = "sha256:6485d09629944511c893fa11355bda18b742b83a2b181f9a009f7e500595c90f"},
+ {file = "sphinxcontrib_devhelp-1.0.6.tar.gz", hash = "sha256:9893fd3f90506bc4b97bdb977ceb8fbd823989f4316b28c3841ec128544372d3"},
]
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
+standalone = ["Sphinx (>=5)"]
test = ["pytest"]
[[package]]
name = "sphinxcontrib-htmlhelp"
-version = "2.0.1"
+version = "2.0.5"
description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-htmlhelp-2.0.1.tar.gz", hash = "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff"},
- {file = "sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl", hash = "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903"},
+ {file = "sphinxcontrib_htmlhelp-2.0.5-py3-none-any.whl", hash = "sha256:393f04f112b4d2f53d93448d4bce35842f62b307ccdc549ec1585e950bc35e04"},
+ {file = "sphinxcontrib_htmlhelp-2.0.5.tar.gz", hash = "sha256:0dc87637d5de53dd5eec3a6a01753b1ccf99494bd756aafecd74b4fa9e729015"},
]
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
+standalone = ["Sphinx (>=5)"]
test = ["html5lib", "pytest"]
[[package]]
@@ -2864,97 +2942,97 @@ test = ["flake8", "mypy", "pytest"]
[[package]]
name = "sphinxcontrib-qthelp"
-version = "1.0.3"
-description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document."
+version = "1.0.7"
+description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents"
optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"},
- {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"},
+ {file = "sphinxcontrib_qthelp-1.0.7-py3-none-any.whl", hash = "sha256:e2ae3b5c492d58fcbd73281fbd27e34b8393ec34a073c792642cd8e529288182"},
+ {file = "sphinxcontrib_qthelp-1.0.7.tar.gz", hash = "sha256:053dedc38823a80a7209a80860b16b722e9e0209e32fea98c90e4e6624588ed6"},
]
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
+standalone = ["Sphinx (>=5)"]
test = ["pytest"]
[[package]]
name = "sphinxcontrib-serializinghtml"
-version = "1.1.5"
-description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)."
+version = "1.1.10"
+description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)"
optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.9"
files = [
- {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"},
- {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"},
+ {file = "sphinxcontrib_serializinghtml-1.1.10-py3-none-any.whl", hash = "sha256:326369b8df80a7d2d8d7f99aa5ac577f51ea51556ed974e7716cfd4fca3f6cb7"},
+ {file = "sphinxcontrib_serializinghtml-1.1.10.tar.gz", hash = "sha256:93f3f5dc458b91b192fe10c397e324f262cf163d79f3282c158e8436a2c4511f"},
]
[package.extras]
lint = ["docutils-stubs", "flake8", "mypy"]
+standalone = ["Sphinx (>=5)"]
test = ["pytest"]
[[package]]
name = "sqlalchemy"
-version = "1.4.49"
+version = "1.4.51"
description = "Database Abstraction Library"
optional = true
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
files = [
- {file = "SQLAlchemy-1.4.49-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2e126cf98b7fd38f1e33c64484406b78e937b1a280e078ef558b95bf5b6895f6"},
- {file = "SQLAlchemy-1.4.49-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:03db81b89fe7ef3857b4a00b63dedd632d6183d4ea5a31c5d8a92e000a41fc71"},
- {file = "SQLAlchemy-1.4.49-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:95b9df9afd680b7a3b13b38adf6e3a38995da5e162cc7524ef08e3be4e5ed3e1"},
- {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a63e43bf3f668c11bb0444ce6e809c1227b8f067ca1068898f3008a273f52b09"},
- {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca46de16650d143a928d10842939dab208e8d8c3a9a8757600cae9b7c579c5cd"},
- {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f835c050ebaa4e48b18403bed2c0fda986525896efd76c245bdd4db995e51a4c"},
- {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c21b172dfb22e0db303ff6419451f0cac891d2e911bb9fbf8003d717f1bcf91"},
- {file = "SQLAlchemy-1.4.49-cp310-cp310-win32.whl", hash = "sha256:5fb1ebdfc8373b5a291485757bd6431de8d7ed42c27439f543c81f6c8febd729"},
- {file = "SQLAlchemy-1.4.49-cp310-cp310-win_amd64.whl", hash = "sha256:f8a65990c9c490f4651b5c02abccc9f113a7f56fa482031ac8cb88b70bc8ccaa"},
- {file = "SQLAlchemy-1.4.49-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8923dfdf24d5aa8a3adb59723f54118dd4fe62cf59ed0d0d65d940579c1170a4"},
- {file = "SQLAlchemy-1.4.49-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9ab2c507a7a439f13ca4499db6d3f50423d1d65dc9b5ed897e70941d9e135b0"},
- {file = "SQLAlchemy-1.4.49-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5debe7d49b8acf1f3035317e63d9ec8d5e4d904c6e75a2a9246a119f5f2fdf3d"},
- {file = "SQLAlchemy-1.4.49-cp311-cp311-win32.whl", hash = "sha256:82b08e82da3756765c2e75f327b9bf6b0f043c9c3925fb95fb51e1567fa4ee87"},
- {file = "SQLAlchemy-1.4.49-cp311-cp311-win_amd64.whl", hash = "sha256:171e04eeb5d1c0d96a544caf982621a1711d078dbc5c96f11d6469169bd003f1"},
- {file = "SQLAlchemy-1.4.49-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f23755c384c2969ca2f7667a83f7c5648fcf8b62a3f2bbd883d805454964a800"},
- {file = "SQLAlchemy-1.4.49-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8396e896e08e37032e87e7fbf4a15f431aa878c286dc7f79e616c2feacdb366c"},
- {file = "SQLAlchemy-1.4.49-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66da9627cfcc43bbdebd47bfe0145bb662041472393c03b7802253993b6b7c90"},
- {file = "SQLAlchemy-1.4.49-cp312-cp312-win32.whl", hash = "sha256:9a06e046ffeb8a484279e54bda0a5abfd9675f594a2e38ef3133d7e4d75b6214"},
- {file = "SQLAlchemy-1.4.49-cp312-cp312-win_amd64.whl", hash = "sha256:7cf8b90ad84ad3a45098b1c9f56f2b161601e4670827d6b892ea0e884569bd1d"},
- {file = "SQLAlchemy-1.4.49-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:36e58f8c4fe43984384e3fbe6341ac99b6b4e083de2fe838f0fdb91cebe9e9cb"},
- {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b31e67ff419013f99ad6f8fc73ee19ea31585e1e9fe773744c0f3ce58c039c30"},
- {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebc22807a7e161c0d8f3da34018ab7c97ef6223578fcdd99b1d3e7ed1100a5db"},
- {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c14b29d9e1529f99efd550cd04dbb6db6ba5d690abb96d52de2bff4ed518bc95"},
- {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c40f3470e084d31247aea228aa1c39bbc0904c2b9ccbf5d3cfa2ea2dac06f26d"},
- {file = "SQLAlchemy-1.4.49-cp36-cp36m-win32.whl", hash = "sha256:706bfa02157b97c136547c406f263e4c6274a7b061b3eb9742915dd774bbc264"},
- {file = "SQLAlchemy-1.4.49-cp36-cp36m-win_amd64.whl", hash = "sha256:a7f7b5c07ae5c0cfd24c2db86071fb2a3d947da7bd487e359cc91e67ac1c6d2e"},
- {file = "SQLAlchemy-1.4.49-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:4afbbf5ef41ac18e02c8dc1f86c04b22b7a2125f2a030e25bbb4aff31abb224b"},
- {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24e300c0c2147484a002b175f4e1361f102e82c345bf263242f0449672a4bccf"},
- {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:393cd06c3b00b57f5421e2133e088df9cabcececcea180327e43b937b5a7caa5"},
- {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:201de072b818f8ad55c80d18d1a788729cccf9be6d9dc3b9d8613b053cd4836d"},
- {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7653ed6817c710d0c95558232aba799307d14ae084cc9b1f4c389157ec50df5c"},
- {file = "SQLAlchemy-1.4.49-cp37-cp37m-win32.whl", hash = "sha256:647e0b309cb4512b1f1b78471fdaf72921b6fa6e750b9f891e09c6e2f0e5326f"},
- {file = "SQLAlchemy-1.4.49-cp37-cp37m-win_amd64.whl", hash = "sha256:ab73ed1a05ff539afc4a7f8cf371764cdf79768ecb7d2ec691e3ff89abbc541e"},
- {file = "SQLAlchemy-1.4.49-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:37ce517c011560d68f1ffb28af65d7e06f873f191eb3a73af5671e9c3fada08a"},
- {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1878ce508edea4a879015ab5215546c444233881301e97ca16fe251e89f1c55"},
- {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95ab792ca493891d7a45a077e35b418f68435efb3e1706cb8155e20e86a9013c"},
- {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0e8e608983e6f85d0852ca61f97e521b62e67969e6e640fe6c6b575d4db68557"},
- {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ccf956da45290df6e809ea12c54c02ace7f8ff4d765d6d3dfb3655ee876ce58d"},
- {file = "SQLAlchemy-1.4.49-cp38-cp38-win32.whl", hash = "sha256:f167c8175ab908ce48bd6550679cc6ea20ae169379e73c7720a28f89e53aa532"},
- {file = "SQLAlchemy-1.4.49-cp38-cp38-win_amd64.whl", hash = "sha256:45806315aae81a0c202752558f0df52b42d11dd7ba0097bf71e253b4215f34f4"},
- {file = "SQLAlchemy-1.4.49-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:b6d0c4b15d65087738a6e22e0ff461b407533ff65a73b818089efc8eb2b3e1de"},
- {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a843e34abfd4c797018fd8d00ffffa99fd5184c421f190b6ca99def4087689bd"},
- {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:738d7321212941ab19ba2acf02a68b8ee64987b248ffa2101630e8fccb549e0d"},
- {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1c890421651b45a681181301b3497e4d57c0d01dc001e10438a40e9a9c25ee77"},
- {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d26f280b8f0a8f497bc10573849ad6dc62e671d2468826e5c748d04ed9e670d5"},
- {file = "SQLAlchemy-1.4.49-cp39-cp39-win32.whl", hash = "sha256:ec2268de67f73b43320383947e74700e95c6770d0c68c4e615e9897e46296294"},
- {file = "SQLAlchemy-1.4.49-cp39-cp39-win_amd64.whl", hash = "sha256:bbdf16372859b8ed3f4d05f925a984771cd2abd18bd187042f24be4886c2a15f"},
- {file = "SQLAlchemy-1.4.49.tar.gz", hash = "sha256:06ff25cbae30c396c4b7737464f2a7fc37a67b7da409993b182b024cec80aed9"},
+ {file = "SQLAlchemy-1.4.51-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:1a09d5bd1a40d76ad90e5570530e082ddc000e1d92de495746f6257dc08f166b"},
+ {file = "SQLAlchemy-1.4.51-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2be4e6294c53f2ec8ea36486b56390e3bcaa052bf3a9a47005687ccf376745d1"},
+ {file = "SQLAlchemy-1.4.51-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca484ca11c65e05639ffe80f20d45e6be81fbec7683d6c9a15cd421e6e8b340"},
+ {file = "SQLAlchemy-1.4.51-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0535d5b57d014d06ceeaeffd816bb3a6e2dddeb670222570b8c4953e2d2ea678"},
+ {file = "SQLAlchemy-1.4.51-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af55cc207865d641a57f7044e98b08b09220da3d1b13a46f26487cc2f898a072"},
+ {file = "SQLAlchemy-1.4.51-cp310-cp310-win32.whl", hash = "sha256:7af40425ac535cbda129d9915edcaa002afe35d84609fd3b9d6a8c46732e02ee"},
+ {file = "SQLAlchemy-1.4.51-cp310-cp310-win_amd64.whl", hash = "sha256:8d1d7d63e5d2f4e92a39ae1e897a5d551720179bb8d1254883e7113d3826d43c"},
+ {file = "SQLAlchemy-1.4.51-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eaeeb2464019765bc4340214fca1143081d49972864773f3f1e95dba5c7edc7d"},
+ {file = "SQLAlchemy-1.4.51-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7deeae5071930abb3669b5185abb6c33ddfd2398f87660fafdb9e6a5fb0f3f2f"},
+ {file = "SQLAlchemy-1.4.51-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0892e7ac8bc76da499ad3ee8de8da4d7905a3110b952e2a35a940dab1ffa550e"},
+ {file = "SQLAlchemy-1.4.51-cp311-cp311-win32.whl", hash = "sha256:50e074aea505f4427151c286955ea025f51752fa42f9939749336672e0674c81"},
+ {file = "SQLAlchemy-1.4.51-cp311-cp311-win_amd64.whl", hash = "sha256:3b0cd89a7bd03f57ae58263d0f828a072d1b440c8c2949f38f3b446148321171"},
+ {file = "SQLAlchemy-1.4.51-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:a33cb3f095e7d776ec76e79d92d83117438b6153510770fcd57b9c96f9ef623d"},
+ {file = "SQLAlchemy-1.4.51-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6cacc0b2dd7d22a918a9642fc89840a5d3cee18a0e1fe41080b1141b23b10916"},
+ {file = "SQLAlchemy-1.4.51-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:245c67c88e63f1523e9216cad6ba3107dea2d3ee19adc359597a628afcabfbcb"},
+ {file = "SQLAlchemy-1.4.51-cp312-cp312-win32.whl", hash = "sha256:8e702e7489f39375601c7ea5a0bef207256828a2bc5986c65cb15cd0cf097a87"},
+ {file = "SQLAlchemy-1.4.51-cp312-cp312-win_amd64.whl", hash = "sha256:0525c4905b4b52d8ccc3c203c9d7ab2a80329ffa077d4bacf31aefda7604dc65"},
+ {file = "SQLAlchemy-1.4.51-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:1980e6eb6c9be49ea8f89889989127daafc43f0b1b6843d71efab1514973cca0"},
+ {file = "SQLAlchemy-1.4.51-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ec7a0ed9b32afdf337172678a4a0e6419775ba4e649b66f49415615fa47efbd"},
+ {file = "SQLAlchemy-1.4.51-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:352df882088a55293f621328ec33b6ffca936ad7f23013b22520542e1ab6ad1b"},
+ {file = "SQLAlchemy-1.4.51-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:86a22143a4001f53bf58027b044da1fb10d67b62a785fc1390b5c7f089d9838c"},
+ {file = "SQLAlchemy-1.4.51-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c37bc677690fd33932182b85d37433845de612962ed080c3e4d92f758d1bd894"},
+ {file = "SQLAlchemy-1.4.51-cp36-cp36m-win32.whl", hash = "sha256:d0a83afab5e062abffcdcbcc74f9d3ba37b2385294dd0927ad65fc6ebe04e054"},
+ {file = "SQLAlchemy-1.4.51-cp36-cp36m-win_amd64.whl", hash = "sha256:a61184c7289146c8cff06b6b41807c6994c6d437278e72cf00ff7fe1c7a263d1"},
+ {file = "SQLAlchemy-1.4.51-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:3f0ef620ecbab46e81035cf3dedfb412a7da35340500ba470f9ce43a1e6c423b"},
+ {file = "SQLAlchemy-1.4.51-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c55040d8ea65414de7c47f1a23823cd9f3fad0dc93e6b6b728fee81230f817b"},
+ {file = "SQLAlchemy-1.4.51-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38ef80328e3fee2be0a1abe3fe9445d3a2e52a1282ba342d0dab6edf1fef4707"},
+ {file = "SQLAlchemy-1.4.51-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f8cafa6f885a0ff5e39efa9325195217bb47d5929ab0051636610d24aef45ade"},
+ {file = "SQLAlchemy-1.4.51-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8f2df79a46e130235bc5e1bbef4de0583fb19d481eaa0bffa76e8347ea45ec6"},
+ {file = "SQLAlchemy-1.4.51-cp37-cp37m-win32.whl", hash = "sha256:f2e5b6f5cf7c18df66d082604a1d9c7a2d18f7d1dbe9514a2afaccbb51cc4fc3"},
+ {file = "SQLAlchemy-1.4.51-cp37-cp37m-win_amd64.whl", hash = "sha256:5e180fff133d21a800c4f050733d59340f40d42364fcb9d14f6a67764bdc48d2"},
+ {file = "SQLAlchemy-1.4.51-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:7d8139ca0b9f93890ab899da678816518af74312bb8cd71fb721436a93a93298"},
+ {file = "SQLAlchemy-1.4.51-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb18549b770351b54e1ab5da37d22bc530b8bfe2ee31e22b9ebe650640d2ef12"},
+ {file = "SQLAlchemy-1.4.51-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55e699466106d09f028ab78d3c2e1f621b5ef2c8694598242259e4515715da7c"},
+ {file = "SQLAlchemy-1.4.51-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2ad16880ccd971ac8e570550fbdef1385e094b022d6fc85ef3ce7df400dddad3"},
+ {file = "SQLAlchemy-1.4.51-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b97fd5bb6b7c1a64b7ac0632f7ce389b8ab362e7bd5f60654c2a418496be5d7f"},
+ {file = "SQLAlchemy-1.4.51-cp38-cp38-win32.whl", hash = "sha256:cecb66492440ae8592797dd705a0cbaa6abe0555f4fa6c5f40b078bd2740fc6b"},
+ {file = "SQLAlchemy-1.4.51-cp38-cp38-win_amd64.whl", hash = "sha256:39b02b645632c5fe46b8dd30755682f629ffbb62ff317ecc14c998c21b2896ff"},
+ {file = "SQLAlchemy-1.4.51-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:b03850c290c765b87102959ea53299dc9addf76ca08a06ea98383348ae205c99"},
+ {file = "SQLAlchemy-1.4.51-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e646b19f47d655261b22df9976e572f588185279970efba3d45c377127d35349"},
+ {file = "SQLAlchemy-1.4.51-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3cf56cc36d42908495760b223ca9c2c0f9f0002b4eddc994b24db5fcb86a9e4"},
+ {file = "SQLAlchemy-1.4.51-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0d661cff58c91726c601cc0ee626bf167b20cc4d7941c93c5f3ac28dc34ddbea"},
+ {file = "SQLAlchemy-1.4.51-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3823dda635988e6744d4417e13f2e2b5fe76c4bf29dd67e95f98717e1b094cad"},
+ {file = "SQLAlchemy-1.4.51-cp39-cp39-win32.whl", hash = "sha256:b00cf0471888823b7a9f722c6c41eb6985cf34f077edcf62695ac4bed6ec01ee"},
+ {file = "SQLAlchemy-1.4.51-cp39-cp39-win_amd64.whl", hash = "sha256:a055ba17f4675aadcda3005df2e28a86feb731fdcc865e1f6b4f209ed1225cba"},
+ {file = "SQLAlchemy-1.4.51.tar.gz", hash = "sha256:e7908c2025eb18394e32d65dd02d2e37e17d733cdbe7d78231c2b6d7eb20cdb9"},
]
[package.dependencies]
greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"}
[package.extras]
-aiomysql = ["aiomysql", "greenlet (!=0.4.17)"]
-aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing-extensions (!=3.10.0.1)"]
+aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"]
+aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"]
asyncio = ["greenlet (!=0.4.17)"]
asyncmy = ["asyncmy (>=0.2.3,!=0.2.4)", "greenlet (!=0.4.17)"]
mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2)"]
@@ -2964,24 +3042,24 @@ mssql-pyodbc = ["pyodbc"]
mypy = ["mypy (>=0.910)", "sqlalchemy2-stubs"]
mysql = ["mysqlclient (>=1.4.0)", "mysqlclient (>=1.4.0,<2)"]
mysql-connector = ["mysql-connector-python"]
-oracle = ["cx-oracle (>=7)", "cx-oracle (>=7,<8)"]
+oracle = ["cx_oracle (>=7)", "cx_oracle (>=7,<8)"]
postgresql = ["psycopg2 (>=2.7)"]
postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"]
postgresql-pg8000 = ["pg8000 (>=1.16.6,!=1.29.0)"]
postgresql-psycopg2binary = ["psycopg2-binary"]
postgresql-psycopg2cffi = ["psycopg2cffi"]
pymysql = ["pymysql", "pymysql (<1)"]
-sqlcipher = ["sqlcipher3-binary"]
+sqlcipher = ["sqlcipher3_binary"]
[[package]]
name = "stack-data"
-version = "0.6.2"
+version = "0.6.3"
description = "Extract data from python stack frames and tracebacks for informative displays"
optional = false
python-versions = "*"
files = [
- {file = "stack_data-0.6.2-py3-none-any.whl", hash = "sha256:cbb2a53eb64e5785878201a97ed7c7b94883f48b87bfb0bbe8b623c74679e4a8"},
- {file = "stack_data-0.6.2.tar.gz", hash = "sha256:32d2dd0376772d01b6cb9fc996f3c8b57a357089dec328ed4b6553d037eaf815"},
+ {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"},
+ {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"},
]
[package.dependencies]
@@ -3023,107 +3101,118 @@ files = [
[[package]]
name = "tomlkit"
-version = "0.12.1"
+version = "0.12.4"
description = "Style preserving TOML library"
optional = false
python-versions = ">=3.7"
files = [
- {file = "tomlkit-0.12.1-py3-none-any.whl", hash = "sha256:712cbd236609acc6a3e2e97253dfc52d4c2082982a88f61b640ecf0817eab899"},
- {file = "tomlkit-0.12.1.tar.gz", hash = "sha256:38e1ff8edb991273ec9f6181244a6a391ac30e9f5098e7535640ea6be97a7c86"},
+ {file = "tomlkit-0.12.4-py3-none-any.whl", hash = "sha256:5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b"},
+ {file = "tomlkit-0.12.4.tar.gz", hash = "sha256:7ca1cfc12232806517a8515047ba66a19369e71edf2439d0f5824f91032b6cc3"},
]
[[package]]
name = "tornado"
-version = "6.3.3"
+version = "6.4"
description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
optional = false
python-versions = ">= 3.8"
files = [
- {file = "tornado-6.3.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:502fba735c84450974fec147340016ad928d29f1e91f49be168c0a4c18181e1d"},
- {file = "tornado-6.3.3-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:805d507b1f588320c26f7f097108eb4023bbaa984d63176d1652e184ba24270a"},
- {file = "tornado-6.3.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bd19ca6c16882e4d37368e0152f99c099bad93e0950ce55e71daed74045908f"},
- {file = "tornado-6.3.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ac51f42808cca9b3613f51ffe2a965c8525cb1b00b7b2d56828b8045354f76a"},
- {file = "tornado-6.3.3-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71a8db65160a3c55d61839b7302a9a400074c9c753040455494e2af74e2501f2"},
- {file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:ceb917a50cd35882b57600709dd5421a418c29ddc852da8bcdab1f0db33406b0"},
- {file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_i686.whl", hash = "sha256:7d01abc57ea0dbb51ddfed477dfe22719d376119844e33c661d873bf9c0e4a16"},
- {file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:9dc4444c0defcd3929d5c1eb5706cbe1b116e762ff3e0deca8b715d14bf6ec17"},
- {file = "tornado-6.3.3-cp38-abi3-win32.whl", hash = "sha256:65ceca9500383fbdf33a98c0087cb975b2ef3bfb874cb35b8de8740cf7f41bd3"},
- {file = "tornado-6.3.3-cp38-abi3-win_amd64.whl", hash = "sha256:22d3c2fa10b5793da13c807e6fc38ff49a4f6e1e3868b0a6f4164768bb8e20f5"},
- {file = "tornado-6.3.3.tar.gz", hash = "sha256:e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe"},
+ {file = "tornado-6.4-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:02ccefc7d8211e5a7f9e8bc3f9e5b0ad6262ba2fbb683a6443ecc804e5224ce0"},
+ {file = "tornado-6.4-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:27787de946a9cffd63ce5814c33f734c627a87072ec7eed71f7fc4417bb16263"},
+ {file = "tornado-6.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7894c581ecdcf91666a0912f18ce5e757213999e183ebfc2c3fdbf4d5bd764e"},
+ {file = "tornado-6.4-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e43bc2e5370a6a8e413e1e1cd0c91bedc5bd62a74a532371042a18ef19e10579"},
+ {file = "tornado-6.4-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0251554cdd50b4b44362f73ad5ba7126fc5b2c2895cc62b14a1c2d7ea32f212"},
+ {file = "tornado-6.4-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fd03192e287fbd0899dd8f81c6fb9cbbc69194d2074b38f384cb6fa72b80e9c2"},
+ {file = "tornado-6.4-cp38-abi3-musllinux_1_1_i686.whl", hash = "sha256:88b84956273fbd73420e6d4b8d5ccbe913c65d31351b4c004ae362eba06e1f78"},
+ {file = "tornado-6.4-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:71ddfc23a0e03ef2df1c1397d859868d158c8276a0603b96cf86892bff58149f"},
+ {file = "tornado-6.4-cp38-abi3-win32.whl", hash = "sha256:6f8a6c77900f5ae93d8b4ae1196472d0ccc2775cc1dfdc9e7727889145c45052"},
+ {file = "tornado-6.4-cp38-abi3-win_amd64.whl", hash = "sha256:10aeaa8006333433da48dec9fe417877f8bcc21f48dda8d661ae79da357b2a63"},
+ {file = "tornado-6.4.tar.gz", hash = "sha256:72291fa6e6bc84e626589f1c29d90a5a6d593ef5ae68052ee2ef000dfd273dee"},
]
[[package]]
name = "traitlets"
-version = "5.9.0"
+version = "5.14.1"
description = "Traitlets Python configuration system"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "traitlets-5.9.0-py3-none-any.whl", hash = "sha256:9e6ec080259b9a5940c797d58b613b5e31441c2257b87c2e795c5228ae80d2d8"},
- {file = "traitlets-5.9.0.tar.gz", hash = "sha256:f6cde21a9c68cf756af02035f72d5a723bf607e862e7be33ece505abf4a3bad9"},
+ {file = "traitlets-5.14.1-py3-none-any.whl", hash = "sha256:2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74"},
+ {file = "traitlets-5.14.1.tar.gz", hash = "sha256:8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e"},
]
[package.extras]
docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"]
-test = ["argcomplete (>=2.0)", "pre-commit", "pytest", "pytest-mock"]
+test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<7.5)", "pytest-mock", "pytest-mypy-testing"]
[[package]]
name = "typing-extensions"
-version = "4.7.1"
-description = "Backported and Experimental Type Hints for Python 3.7+"
+version = "4.10.0"
+description = "Backported and Experimental Type Hints for Python 3.8+"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"},
- {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"},
+ {file = "typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475"},
+ {file = "typing_extensions-4.10.0.tar.gz", hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"},
+]
+
+[[package]]
+name = "tzdata"
+version = "2024.1"
+description = "Provider of IANA time zone data"
+optional = true
+python-versions = ">=2"
+files = [
+ {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"},
+ {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"},
]
[[package]]
name = "urllib3"
-version = "2.0.7"
+version = "2.2.1"
description = "HTTP library with thread-safe connection pooling, file post, and more."
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"},
- {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"},
+ {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"},
+ {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"},
]
[package.extras]
brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"]
-secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"]
+h2 = ["h2 (>=4,<5)"]
socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
zstd = ["zstandard (>=0.18.0)"]
[[package]]
name = "virtualenv"
-version = "20.23.0"
+version = "20.25.1"
description = "Virtual Python Environment builder"
optional = false
python-versions = ">=3.7"
files = [
- {file = "virtualenv-20.23.0-py3-none-any.whl", hash = "sha256:6abec7670e5802a528357fdc75b26b9f57d5d92f29c5462ba0fbe45feacc685e"},
- {file = "virtualenv-20.23.0.tar.gz", hash = "sha256:a85caa554ced0c0afbd0d638e7e2d7b5f92d23478d05d17a76daeac8f279f924"},
+ {file = "virtualenv-20.25.1-py3-none-any.whl", hash = "sha256:961c026ac520bac5f69acb8ea063e8a4f071bcc9457b9c1f28f6b085c511583a"},
+ {file = "virtualenv-20.25.1.tar.gz", hash = "sha256:e08e13ecdca7a0bd53798f356d5831434afa5b07b93f0abdf0797b7a06ffe197"},
]
[package.dependencies]
-distlib = ">=0.3.6,<1"
-filelock = ">=3.11,<4"
-platformdirs = ">=3.2,<4"
+distlib = ">=0.3.7,<1"
+filelock = ">=3.12.2,<4"
+platformdirs = ">=3.9.1,<5"
[package.extras]
-docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=22.12)"]
-test = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.3.1)", "pytest-env (>=0.8.1)", "pytest-freezegun (>=0.4.2)", "pytest-mock (>=3.10)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=67.7.1)", "time-machine (>=2.9)"]
+docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"]
+test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"]
[[package]]
name = "wcwidth"
-version = "0.2.6"
+version = "0.2.13"
description = "Measures the displayed width of unicode strings in a terminal"
optional = false
python-versions = "*"
files = [
- {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"},
- {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"},
+ {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"},
+ {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"},
]
[[package]]
@@ -3139,111 +3228,113 @@ files = [
[[package]]
name = "wmctrl"
-version = "0.4"
+version = "0.5"
description = "A tool to programmatically control windows inside X"
optional = false
-python-versions = "*"
+python-versions = ">=2.7"
files = [
- {file = "wmctrl-0.4.tar.gz", hash = "sha256:66cbff72b0ca06a22ec3883ac3a4d7c41078bdae4fb7310f52951769b10e14e0"},
+ {file = "wmctrl-0.5-py2.py3-none-any.whl", hash = "sha256:ae695c1863a314c899e7cf113f07c0da02a394b968c4772e1936219d9234ddd7"},
+ {file = "wmctrl-0.5.tar.gz", hash = "sha256:7839a36b6fe9e2d6fd22304e5dc372dbced2116ba41283ea938b2da57f53e962"},
]
+[package.dependencies]
+attrs = "*"
+
+[package.extras]
+test = ["pytest"]
+
[[package]]
name = "wrapt"
-version = "1.15.0"
+version = "1.16.0"
description = "Module for decorators, wrappers and monkey patching."
optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
-files = [
- {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"},
- {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"},
- {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"},
- {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"},
- {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"},
- {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"},
- {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"},
- {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"},
- {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"},
- {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"},
- {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"},
- {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"},
- {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"},
- {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"},
- {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"},
- {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"},
- {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"},
- {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"},
- {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"},
- {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"},
- {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"},
- {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"},
- {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"},
- {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"},
- {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"},
- {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"},
- {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"},
- {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"},
- {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"},
- {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"},
- {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"},
- {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"},
- {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"},
- {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"},
- {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"},
- {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"},
- {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"},
- {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"},
- {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"},
- {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"},
- {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"},
- {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"},
- {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"},
- {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"},
- {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"},
- {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"},
- {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"},
- {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"},
- {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"},
- {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"},
- {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"},
- {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"},
- {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"},
- {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"},
- {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"},
- {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"},
- {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"},
- {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"},
- {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"},
- {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"},
- {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"},
- {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"},
- {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"},
- {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"},
- {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"},
- {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"},
- {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"},
- {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"},
- {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"},
- {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"},
- {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"},
- {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"},
- {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"},
- {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"},
- {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"},
+python-versions = ">=3.6"
+files = [
+ {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"},
+ {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"},
+ {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"},
+ {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"},
+ {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"},
+ {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"},
+ {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"},
+ {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"},
+ {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"},
+ {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"},
+ {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"},
+ {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"},
+ {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"},
+ {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"},
+ {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"},
+ {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"},
+ {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"},
+ {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"},
+ {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"},
+ {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"},
+ {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"},
+ {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"},
+ {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"},
+ {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"},
+ {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"},
+ {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"},
+ {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"},
+ {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"},
+ {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"},
+ {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"},
+ {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"},
+ {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"},
+ {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"},
+ {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"},
+ {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"},
+ {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"},
+ {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"},
+ {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"},
+ {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"},
+ {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"},
+ {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"},
+ {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"},
+ {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"},
+ {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"},
+ {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"},
+ {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"},
+ {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"},
+ {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"},
+ {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"},
+ {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"},
+ {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"},
+ {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"},
+ {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"},
+ {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"},
+ {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"},
+ {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"},
+ {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"},
+ {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"},
+ {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"},
+ {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"},
+ {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"},
+ {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"},
+ {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"},
+ {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"},
+ {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"},
+ {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"},
+ {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"},
+ {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"},
+ {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"},
+ {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"},
]
[[package]]
name = "zipp"
-version = "3.16.2"
+version = "3.17.0"
description = "Backport of pathlib-compatible object wrapper for zip files"
optional = false
python-versions = ">=3.8"
files = [
- {file = "zipp-3.16.2-py3-none-any.whl", hash = "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0"},
- {file = "zipp-3.16.2.tar.gz", hash = "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"},
+ {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"},
+ {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
[extras]
@@ -3252,5 +3343,5 @@ mark = ["banana-hep", "matplotlib", "pandas", "sqlalchemy"]
[metadata]
lock-version = "2.0"
-python-versions = "^3.8,<3.12"
-content-hash = "c47f4aa70036a1a754fc2528a335539342d0919a66dfe1051fe63cbce01338a2"
+python-versions = "^3.9,<3.13"
+content-hash = "12c88caa9ba94ee856b910e4866a4021a73b5ba4aea5691baad0ea394d962962"
diff --git a/pyproject.toml b/pyproject.toml
index 23b904194..13dee0108 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -37,16 +37,16 @@ packages = [
]
[tool.poetry.dependencies]
-python = "^3.8,<3.13"
+python = "^3.9,<3.13"
numpy = "^1.24"
scipy = "^1.10.1"
PyYAML = "^6.0"
lz4 = "^4.0.2"
-numba = "^0.57.0"
+numba = "^0.58.0"
# ekomark
banana-hep = { version = "^0.6.12", optional = true }
sqlalchemy = { version = "^1.4.21", optional = true }
-pandas = { version = "^1.3.0", optional = true }
+pandas = { version = "^2.1.4", optional = true }
matplotlib = { version = "^3.5.1", optional = true }
rich = { version = "^12.6.0", optional = true }
click = { version = ">=8.0.3,<9.0.0", optional = true }
From d4fb8614b3681d939e61a63a4cf7f0a33603d001 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 28 Feb 2024 11:30:00 +0200
Subject: [PATCH 059/216] Use numba=^0.59
---
poetry.lock | 99 ++++++++++++++++++++++++--------------------------
pyproject.toml | 2 +-
2 files changed, 49 insertions(+), 52 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index 3f6ffdeb8..e94288168 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1327,35 +1327,32 @@ files = [
[[package]]
name = "llvmlite"
-version = "0.41.1"
+version = "0.42.0"
description = "lightweight wrapper around basic LLVM functionality"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "llvmlite-0.41.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c1e1029d47ee66d3a0c4d6088641882f75b93db82bd0e6178f7bd744ebce42b9"},
- {file = "llvmlite-0.41.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:150d0bc275a8ac664a705135e639178883293cf08c1a38de3bbaa2f693a0a867"},
- {file = "llvmlite-0.41.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1eee5cf17ec2b4198b509272cf300ee6577229d237c98cc6e63861b08463ddc6"},
- {file = "llvmlite-0.41.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dd0338da625346538f1173a17cabf21d1e315cf387ca21b294ff209d176e244"},
- {file = "llvmlite-0.41.1-cp310-cp310-win32.whl", hash = "sha256:fa1469901a2e100c17eb8fe2678e34bd4255a3576d1a543421356e9c14d6e2ae"},
- {file = "llvmlite-0.41.1-cp310-cp310-win_amd64.whl", hash = "sha256:2b76acee82ea0e9304be6be9d4b3840208d050ea0dcad75b1635fa06e949a0ae"},
- {file = "llvmlite-0.41.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:210e458723436b2469d61b54b453474e09e12a94453c97ea3fbb0742ba5a83d8"},
- {file = "llvmlite-0.41.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:855f280e781d49e0640aef4c4af586831ade8f1a6c4df483fb901cbe1a48d127"},
- {file = "llvmlite-0.41.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b67340c62c93a11fae482910dc29163a50dff3dfa88bc874872d28ee604a83be"},
- {file = "llvmlite-0.41.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2181bb63ef3c607e6403813421b46982c3ac6bfc1f11fa16a13eaafb46f578e6"},
- {file = "llvmlite-0.41.1-cp311-cp311-win_amd64.whl", hash = "sha256:9564c19b31a0434f01d2025b06b44c7ed422f51e719ab5d24ff03b7560066c9a"},
- {file = "llvmlite-0.41.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5940bc901fb0325970415dbede82c0b7f3e35c2d5fd1d5e0047134c2c46b3281"},
- {file = "llvmlite-0.41.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8b0a9a47c28f67a269bb62f6256e63cef28d3c5f13cbae4fab587c3ad506778b"},
- {file = "llvmlite-0.41.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8afdfa6da33f0b4226af8e64cfc2b28986e005528fbf944d0a24a72acfc9432"},
- {file = "llvmlite-0.41.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8454c1133ef701e8c050a59edd85d238ee18bb9a0eb95faf2fca8b909ee3c89a"},
- {file = "llvmlite-0.41.1-cp38-cp38-win32.whl", hash = "sha256:2d92c51e6e9394d503033ffe3292f5bef1566ab73029ec853861f60ad5c925d0"},
- {file = "llvmlite-0.41.1-cp38-cp38-win_amd64.whl", hash = "sha256:df75594e5a4702b032684d5481db3af990b69c249ccb1d32687b8501f0689432"},
- {file = "llvmlite-0.41.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:04725975e5b2af416d685ea0769f4ecc33f97be541e301054c9f741003085802"},
- {file = "llvmlite-0.41.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bf14aa0eb22b58c231243dccf7e7f42f7beec48970f2549b3a6acc737d1a4ba4"},
- {file = "llvmlite-0.41.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92c32356f669e036eb01016e883b22add883c60739bc1ebee3a1cc0249a50828"},
- {file = "llvmlite-0.41.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24091a6b31242bcdd56ae2dbea40007f462260bc9bdf947953acc39dffd54f8f"},
- {file = "llvmlite-0.41.1-cp39-cp39-win32.whl", hash = "sha256:880cb57ca49e862e1cd077104375b9d1dfdc0622596dfa22105f470d7bacb309"},
- {file = "llvmlite-0.41.1-cp39-cp39-win_amd64.whl", hash = "sha256:92f093986ab92e71c9ffe334c002f96defc7986efda18397d0f08534f3ebdc4d"},
- {file = "llvmlite-0.41.1.tar.gz", hash = "sha256:f19f767a018e6ec89608e1f6b13348fa2fcde657151137cb64e56d48598a92db"},
+ {file = "llvmlite-0.42.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3366938e1bf63d26c34fbfb4c8e8d2ded57d11e0567d5bb243d89aab1eb56098"},
+ {file = "llvmlite-0.42.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c35da49666a21185d21b551fc3caf46a935d54d66969d32d72af109b5e7d2b6f"},
+ {file = "llvmlite-0.42.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70f44ccc3c6220bd23e0ba698a63ec2a7d3205da0d848804807f37fc243e3f77"},
+ {file = "llvmlite-0.42.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:763f8d8717a9073b9e0246998de89929071d15b47f254c10eef2310b9aac033d"},
+ {file = "llvmlite-0.42.0-cp310-cp310-win_amd64.whl", hash = "sha256:8d90edf400b4ceb3a0e776b6c6e4656d05c7187c439587e06f86afceb66d2be5"},
+ {file = "llvmlite-0.42.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ae511caed28beaf1252dbaf5f40e663f533b79ceb408c874c01754cafabb9cbf"},
+ {file = "llvmlite-0.42.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81e674c2fe85576e6c4474e8c7e7aba7901ac0196e864fe7985492b737dbab65"},
+ {file = "llvmlite-0.42.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb3975787f13eb97629052edb5017f6c170eebc1c14a0433e8089e5db43bcce6"},
+ {file = "llvmlite-0.42.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5bece0cdf77f22379f19b1959ccd7aee518afa4afbd3656c6365865f84903f9"},
+ {file = "llvmlite-0.42.0-cp311-cp311-win_amd64.whl", hash = "sha256:7e0c4c11c8c2aa9b0701f91b799cb9134a6a6de51444eff5a9087fc7c1384275"},
+ {file = "llvmlite-0.42.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:08fa9ab02b0d0179c688a4216b8939138266519aaa0aa94f1195a8542faedb56"},
+ {file = "llvmlite-0.42.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b2fce7d355068494d1e42202c7aff25d50c462584233013eb4470c33b995e3ee"},
+ {file = "llvmlite-0.42.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebe66a86dc44634b59a3bc860c7b20d26d9aaffcd30364ebe8ba79161a9121f4"},
+ {file = "llvmlite-0.42.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d47494552559e00d81bfb836cf1c4d5a5062e54102cc5767d5aa1e77ccd2505c"},
+ {file = "llvmlite-0.42.0-cp312-cp312-win_amd64.whl", hash = "sha256:05cb7e9b6ce69165ce4d1b994fbdedca0c62492e537b0cc86141b6e2c78d5888"},
+ {file = "llvmlite-0.42.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bdd3888544538a94d7ec99e7c62a0cdd8833609c85f0c23fcb6c5c591aec60ad"},
+ {file = "llvmlite-0.42.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d0936c2067a67fb8816c908d5457d63eba3e2b17e515c5fe00e5ee2bace06040"},
+ {file = "llvmlite-0.42.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a78ab89f1924fc11482209f6799a7a3fc74ddc80425a7a3e0e8174af0e9e2301"},
+ {file = "llvmlite-0.42.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7599b65c7af7abbc978dbf345712c60fd596aa5670496561cc10e8a71cebfb2"},
+ {file = "llvmlite-0.42.0-cp39-cp39-win_amd64.whl", hash = "sha256:43d65cc4e206c2e902c1004dd5418417c4efa6c1d04df05c6c5675a27e8ca90e"},
+ {file = "llvmlite-0.42.0.tar.gz", hash = "sha256:f92b09243c0cc3f457da8b983f67bd8e1295d0f5b3746c7a1861d7a99403854a"},
]
[[package]]
@@ -1675,36 +1672,36 @@ files = [
[[package]]
name = "numba"
-version = "0.58.1"
+version = "0.59.0"
description = "compiling Python code using LLVM"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
files = [
- {file = "numba-0.58.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:07f2fa7e7144aa6f275f27260e73ce0d808d3c62b30cff8906ad1dec12d87bbe"},
- {file = "numba-0.58.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7bf1ddd4f7b9c2306de0384bf3854cac3edd7b4d8dffae2ec1b925e4c436233f"},
- {file = "numba-0.58.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bc2d904d0319d7a5857bd65062340bed627f5bfe9ae4a495aef342f072880d50"},
- {file = "numba-0.58.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4e79b6cc0d2bf064a955934a2e02bf676bc7995ab2db929dbbc62e4c16551be6"},
- {file = "numba-0.58.1-cp310-cp310-win_amd64.whl", hash = "sha256:81fe5b51532478149b5081311b0fd4206959174e660c372b94ed5364cfb37c82"},
- {file = "numba-0.58.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bcecd3fb9df36554b342140a4d77d938a549be635d64caf8bd9ef6c47a47f8aa"},
- {file = "numba-0.58.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a1eaa744f518bbd60e1f7ccddfb8002b3d06bd865b94a5d7eac25028efe0e0ff"},
- {file = "numba-0.58.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bf68df9c307fb0aa81cacd33faccd6e419496fdc621e83f1efce35cdc5e79cac"},
- {file = "numba-0.58.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:55a01e1881120e86d54efdff1be08381886fe9f04fc3006af309c602a72bc44d"},
- {file = "numba-0.58.1-cp311-cp311-win_amd64.whl", hash = "sha256:811305d5dc40ae43c3ace5b192c670c358a89a4d2ae4f86d1665003798ea7a1a"},
- {file = "numba-0.58.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ea5bfcf7d641d351c6a80e8e1826eb4a145d619870016eeaf20bbd71ef5caa22"},
- {file = "numba-0.58.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e63d6aacaae1ba4ef3695f1c2122b30fa3d8ba039c8f517784668075856d79e2"},
- {file = "numba-0.58.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6fe7a9d8e3bd996fbe5eac0683227ccef26cba98dae6e5cee2c1894d4b9f16c1"},
- {file = "numba-0.58.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:898af055b03f09d33a587e9425500e5be84fc90cd2f80b3fb71c6a4a17a7e354"},
- {file = "numba-0.58.1-cp38-cp38-win_amd64.whl", hash = "sha256:d3e2fe81fe9a59fcd99cc572002101119059d64d31eb6324995ee8b0f144a306"},
- {file = "numba-0.58.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5c765aef472a9406a97ea9782116335ad4f9ef5c9f93fc05fd44aab0db486954"},
- {file = "numba-0.58.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e9356e943617f5e35a74bf56ff6e7cc83e6b1865d5e13cee535d79bf2cae954"},
- {file = "numba-0.58.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:240e7a1ae80eb6b14061dc91263b99dc8d6af9ea45d310751b780888097c1aaa"},
- {file = "numba-0.58.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:45698b995914003f890ad839cfc909eeb9c74921849c712a05405d1a79c50f68"},
- {file = "numba-0.58.1-cp39-cp39-win_amd64.whl", hash = "sha256:bd3dda77955be03ff366eebbfdb39919ce7c2620d86c906203bed92124989032"},
- {file = "numba-0.58.1.tar.gz", hash = "sha256:487ded0633efccd9ca3a46364b40006dbdaca0f95e99b8b83e778d1195ebcbaa"},
+ {file = "numba-0.59.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d061d800473fb8fef76a455221f4ad649a53f5e0f96e3f6c8b8553ee6fa98fa"},
+ {file = "numba-0.59.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c086a434e7d3891ce5dfd3d1e7ee8102ac1e733962098578b507864120559ceb"},
+ {file = "numba-0.59.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9e20736bf62e61f8353fb71b0d3a1efba636c7a303d511600fc57648b55823ed"},
+ {file = "numba-0.59.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e86e6786aec31d2002122199486e10bbc0dc40f78d76364cded375912b13614c"},
+ {file = "numba-0.59.0-cp310-cp310-win_amd64.whl", hash = "sha256:0307ee91b24500bb7e64d8a109848baf3a3905df48ce142b8ac60aaa406a0400"},
+ {file = "numba-0.59.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d540f69a8245fb714419c2209e9af6104e568eb97623adc8943642e61f5d6d8e"},
+ {file = "numba-0.59.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1192d6b2906bf3ff72b1d97458724d98860ab86a91abdd4cfd9328432b661e31"},
+ {file = "numba-0.59.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:90efb436d3413809fcd15298c6d395cb7d98184350472588356ccf19db9e37c8"},
+ {file = "numba-0.59.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cd3dac45e25d927dcb65d44fb3a973994f5add2b15add13337844afe669dd1ba"},
+ {file = "numba-0.59.0-cp311-cp311-win_amd64.whl", hash = "sha256:753dc601a159861808cc3207bad5c17724d3b69552fd22768fddbf302a817a4c"},
+ {file = "numba-0.59.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ce62bc0e6dd5264e7ff7f34f41786889fa81a6b860662f824aa7532537a7bee0"},
+ {file = "numba-0.59.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8cbef55b73741b5eea2dbaf1b0590b14977ca95a13a07d200b794f8f6833a01c"},
+ {file = "numba-0.59.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:70d26ba589f764be45ea8c272caa467dbe882b9676f6749fe6f42678091f5f21"},
+ {file = "numba-0.59.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e125f7d69968118c28ec0eed9fbedd75440e64214b8d2eac033c22c04db48492"},
+ {file = "numba-0.59.0-cp312-cp312-win_amd64.whl", hash = "sha256:4981659220b61a03c1e557654027d271f56f3087448967a55c79a0e5f926de62"},
+ {file = "numba-0.59.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe4d7562d1eed754a7511ed7ba962067f198f86909741c5c6e18c4f1819b1f47"},
+ {file = "numba-0.59.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6feb1504bb432280f900deaf4b1dadcee68812209500ed3f81c375cbceab24dc"},
+ {file = "numba-0.59.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:944faad25ee23ea9dda582bfb0189fb9f4fc232359a80ab2a028b94c14ce2b1d"},
+ {file = "numba-0.59.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5516a469514bfae52a9d7989db4940653a5cbfac106f44cb9c50133b7ad6224b"},
+ {file = "numba-0.59.0-cp39-cp39-win_amd64.whl", hash = "sha256:32bd0a41525ec0b1b853da244808f4e5333867df3c43c30c33f89cf20b9c2b63"},
+ {file = "numba-0.59.0.tar.gz", hash = "sha256:12b9b064a3e4ad00e2371fc5212ef0396c80f41caec9b5ec391c8b04b6eaf2a8"},
]
[package.dependencies]
-llvmlite = "==0.41.*"
+llvmlite = "==0.42.*"
numpy = ">=1.22,<1.27"
[[package]]
@@ -3344,4 +3341,4 @@ mark = ["banana-hep", "matplotlib", "pandas", "sqlalchemy"]
[metadata]
lock-version = "2.0"
python-versions = "^3.9,<3.13"
-content-hash = "12c88caa9ba94ee856b910e4866a4021a73b5ba4aea5691baad0ea394d962962"
+content-hash = "4283bee028cadb86e68cf9ddb0ac5f8aee252bf5585b13e6c4d22ea4b3a62332"
diff --git a/pyproject.toml b/pyproject.toml
index 13dee0108..9989c7793 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -42,7 +42,7 @@ numpy = "^1.24"
scipy = "^1.10.1"
PyYAML = "^6.0"
lz4 = "^4.0.2"
-numba = "^0.58.0"
+numba = "^0.59.0"
# ekomark
banana-hep = { version = "^0.6.12", optional = true }
sqlalchemy = { version = "^1.4.21", optional = true }
From b48cf50ddb2beff04d3133579c41f8453b70da50 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 28 Feb 2024 11:33:31 +0200
Subject: [PATCH 060/216] Update pylint=^3.1
---
pyproject.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyproject.toml b/pyproject.toml
index 9989c7793..32d8feac4 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -68,7 +68,7 @@ optional = true
pytest = "^7.1.3"
pytest-cov = "4.0.0"
pytest-env = "^0.6.2"
-pylint = "^2.12.2"
+pylint = "^3.1.0"
[tool.poetry.group.dev.dependencies]
pdbpp = "^0.10.3"
From bcbd6584dc9e3a1d21b61814168e6266642cf21b Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 28 Feb 2024 11:35:02 +0200
Subject: [PATCH 061/216] Run poetry lock
---
poetry.lock | 157 +++++-----------------------------------------------
1 file changed, 14 insertions(+), 143 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index e94288168..fd3d8ac6f 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -35,22 +35,17 @@ files = [
[[package]]
name = "astroid"
-version = "2.15.8"
+version = "3.1.0"
description = "An abstract syntax tree for Python with inference support."
optional = false
-python-versions = ">=3.7.2"
+python-versions = ">=3.8.0"
files = [
- {file = "astroid-2.15.8-py3-none-any.whl", hash = "sha256:1aa149fc5c6589e3d0ece885b4491acd80af4f087baafa3fb5203b113e68cd3c"},
- {file = "astroid-2.15.8.tar.gz", hash = "sha256:6c107453dffee9055899705de3c9ead36e74119cee151e5a9aaf7f0b0e020a6a"},
+ {file = "astroid-3.1.0-py3-none-any.whl", hash = "sha256:951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819"},
+ {file = "astroid-3.1.0.tar.gz", hash = "sha256:ac248253bfa4bd924a0de213707e7ebeeb3138abeb48d798784ead1e56d419d4"},
]
[package.dependencies]
-lazy-object-proxy = ">=1.4.0"
typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""}
-wrapt = [
- {version = ">=1.11,<2", markers = "python_version < \"3.11\""},
- {version = ">=1.14,<2", markers = "python_version >= \"3.11\""},
-]
[[package]]
name = "asttokens"
@@ -1279,52 +1274,6 @@ files = [
[package.dependencies]
six = ">=1.4.1"
-[[package]]
-name = "lazy-object-proxy"
-version = "1.10.0"
-description = "A fast and thorough lazy object proxy."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "lazy-object-proxy-1.10.0.tar.gz", hash = "sha256:78247b6d45f43a52ef35c25b5581459e85117225408a4128a3daf8bf9648ac69"},
- {file = "lazy_object_proxy-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:855e068b0358ab916454464a884779c7ffa312b8925c6f7401e952dcf3b89977"},
- {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab7004cf2e59f7c2e4345604a3e6ea0d92ac44e1c2375527d56492014e690c3"},
- {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc0d2fc424e54c70c4bc06787e4072c4f3b1aa2f897dfdc34ce1013cf3ceef05"},
- {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e2adb09778797da09d2b5ebdbceebf7dd32e2c96f79da9052b2e87b6ea495895"},
- {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b1f711e2c6dcd4edd372cf5dec5c5a30d23bba06ee012093267b3376c079ec83"},
- {file = "lazy_object_proxy-1.10.0-cp310-cp310-win32.whl", hash = "sha256:76a095cfe6045c7d0ca77db9934e8f7b71b14645f0094ffcd842349ada5c5fb9"},
- {file = "lazy_object_proxy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:b4f87d4ed9064b2628da63830986c3d2dca7501e6018347798313fcf028e2fd4"},
- {file = "lazy_object_proxy-1.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fec03caabbc6b59ea4a638bee5fce7117be8e99a4103d9d5ad77f15d6f81020c"},
- {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02c83f957782cbbe8136bee26416686a6ae998c7b6191711a04da776dc9e47d4"},
- {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009e6bb1f1935a62889ddc8541514b6a9e1fcf302667dcb049a0be5c8f613e56"},
- {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:75fc59fc450050b1b3c203c35020bc41bd2695ed692a392924c6ce180c6f1dc9"},
- {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:782e2c9b2aab1708ffb07d4bf377d12901d7a1d99e5e410d648d892f8967ab1f"},
- {file = "lazy_object_proxy-1.10.0-cp311-cp311-win32.whl", hash = "sha256:edb45bb8278574710e68a6b021599a10ce730d156e5b254941754a9cc0b17d03"},
- {file = "lazy_object_proxy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:e271058822765ad5e3bca7f05f2ace0de58a3f4e62045a8c90a0dfd2f8ad8cc6"},
- {file = "lazy_object_proxy-1.10.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e98c8af98d5707dcdecc9ab0863c0ea6e88545d42ca7c3feffb6b4d1e370c7ba"},
- {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:952c81d415b9b80ea261d2372d2a4a2332a3890c2b83e0535f263ddfe43f0d43"},
- {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80b39d3a151309efc8cc48675918891b865bdf742a8616a337cb0090791a0de9"},
- {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e221060b701e2aa2ea991542900dd13907a5c90fa80e199dbf5a03359019e7a3"},
- {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:92f09ff65ecff3108e56526f9e2481b8116c0b9e1425325e13245abfd79bdb1b"},
- {file = "lazy_object_proxy-1.10.0-cp312-cp312-win32.whl", hash = "sha256:3ad54b9ddbe20ae9f7c1b29e52f123120772b06dbb18ec6be9101369d63a4074"},
- {file = "lazy_object_proxy-1.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:127a789c75151db6af398b8972178afe6bda7d6f68730c057fbbc2e96b08d282"},
- {file = "lazy_object_proxy-1.10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4ed0518a14dd26092614412936920ad081a424bdcb54cc13349a8e2c6d106a"},
- {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ad9e6ed739285919aa9661a5bbed0aaf410aa60231373c5579c6b4801bd883c"},
- {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fc0a92c02fa1ca1e84fc60fa258458e5bf89d90a1ddaeb8ed9cc3147f417255"},
- {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0aefc7591920bbd360d57ea03c995cebc204b424524a5bd78406f6e1b8b2a5d8"},
- {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5faf03a7d8942bb4476e3b62fd0f4cf94eaf4618e304a19865abf89a35c0bbee"},
- {file = "lazy_object_proxy-1.10.0-cp38-cp38-win32.whl", hash = "sha256:e333e2324307a7b5d86adfa835bb500ee70bfcd1447384a822e96495796b0ca4"},
- {file = "lazy_object_proxy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:cb73507defd385b7705c599a94474b1d5222a508e502553ef94114a143ec6696"},
- {file = "lazy_object_proxy-1.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:366c32fe5355ef5fc8a232c5436f4cc66e9d3e8967c01fb2e6302fd6627e3d94"},
- {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2297f08f08a2bb0d32a4265e98a006643cd7233fb7983032bd61ac7a02956b3b"},
- {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18dd842b49456aaa9a7cf535b04ca4571a302ff72ed8740d06b5adcd41fe0757"},
- {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:217138197c170a2a74ca0e05bddcd5f1796c735c37d0eee33e43259b192aa424"},
- {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9a3a87cf1e133e5b1994144c12ca4aa3d9698517fe1e2ca82977781b16955658"},
- {file = "lazy_object_proxy-1.10.0-cp39-cp39-win32.whl", hash = "sha256:30b339b2a743c5288405aa79a69e706a06e02958eab31859f7f3c04980853b70"},
- {file = "lazy_object_proxy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:a899b10e17743683b293a729d3a11f2f399e8a90c73b089e29f5d0fe3509f0dd"},
- {file = "lazy_object_proxy-1.10.0-pp310.pp311.pp312.pp38.pp39-none-any.whl", hash = "sha256:80fa48bd89c8f2f456fc0765c11c23bf5af827febacd2f523ca5bc1893fcc09d"},
-]
-
[[package]]
name = "llvmlite"
version = "0.42.0"
@@ -1801,8 +1750,8 @@ files = [
[package.dependencies]
numpy = [
{version = ">=1.22.4,<2", markers = "python_version < \"3.11\""},
- {version = ">=1.23.2,<2", markers = "python_version == \"3.11\""},
{version = ">=1.26.0,<2", markers = "python_version >= \"3.12\""},
+ {version = ">=1.23.2,<2", markers = "python_version == \"3.11\""},
]
python-dateutil = ">=2.8.2"
pytz = ">=2020.1"
@@ -2236,23 +2185,24 @@ windows-terminal = ["colorama (>=0.4.6)"]
[[package]]
name = "pylint"
-version = "2.17.7"
+version = "3.1.0"
description = "python code static checker"
optional = false
-python-versions = ">=3.7.2"
+python-versions = ">=3.8.0"
files = [
- {file = "pylint-2.17.7-py3-none-any.whl", hash = "sha256:27a8d4c7ddc8c2f8c18aa0050148f89ffc09838142193fdbe98f172781a3ff87"},
- {file = "pylint-2.17.7.tar.gz", hash = "sha256:f4fcac7ae74cfe36bc8451e931d8438e4a476c20314b1101c458ad0f05191fad"},
+ {file = "pylint-3.1.0-py3-none-any.whl", hash = "sha256:507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74"},
+ {file = "pylint-3.1.0.tar.gz", hash = "sha256:6a69beb4a6f63debebaab0a3477ecd0f559aa726af4954fc948c51f7a2549e23"},
]
[package.dependencies]
-astroid = ">=2.15.8,<=2.17.0-dev0"
+astroid = ">=3.1.0,<=3.2.0-dev0"
colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""}
dill = [
{version = ">=0.2", markers = "python_version < \"3.11\""},
- {version = ">=0.3.6", markers = "python_version >= \"3.11\""},
+ {version = ">=0.3.7", markers = "python_version >= \"3.12\""},
+ {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""},
]
-isort = ">=4.2.5,<6"
+isort = ">=4.2.5,<5.13.0 || >5.13.0,<6"
mccabe = ">=0.6,<0.8"
platformdirs = ">=2.2.0"
tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
@@ -3240,85 +3190,6 @@ attrs = "*"
[package.extras]
test = ["pytest"]
-[[package]]
-name = "wrapt"
-version = "1.16.0"
-description = "Module for decorators, wrappers and monkey patching."
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"},
- {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"},
- {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"},
- {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"},
- {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"},
- {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"},
- {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"},
- {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"},
- {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"},
- {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"},
- {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"},
- {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"},
- {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"},
- {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"},
- {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"},
- {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"},
- {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"},
- {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"},
- {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"},
- {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"},
- {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"},
- {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"},
- {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"},
- {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"},
- {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"},
- {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"},
- {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"},
- {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"},
- {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"},
- {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"},
- {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"},
- {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"},
- {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"},
- {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"},
- {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"},
- {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"},
- {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"},
- {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"},
- {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"},
- {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"},
- {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"},
- {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"},
- {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"},
- {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"},
- {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"},
- {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"},
- {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"},
- {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"},
- {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"},
- {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"},
- {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"},
- {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"},
- {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"},
- {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"},
- {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"},
- {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"},
- {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"},
- {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"},
- {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"},
- {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"},
- {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"},
- {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"},
- {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"},
- {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"},
- {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"},
- {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"},
- {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"},
- {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"},
- {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"},
- {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"},
-]
-
[[package]]
name = "zipp"
version = "3.17.0"
@@ -3341,4 +3212,4 @@ mark = ["banana-hep", "matplotlib", "pandas", "sqlalchemy"]
[metadata]
lock-version = "2.0"
python-versions = "^3.9,<3.13"
-content-hash = "4283bee028cadb86e68cf9ddb0ac5f8aee252bf5585b13e6c4d22ea4b3a62332"
+content-hash = "f6738c50f34b18906963bf90bc680659bfbe48b21a62d3dd50ee962e9d686ffb"
From 86fe1fe3b2d05f8c953c37e199fe2c121c6fddd6 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 28 Feb 2024 17:43:10 +0200
Subject: [PATCH 062/216] Fix rtd config
---
.readthedocs.yaml | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
index 7b5c39c8d..12e0ec59d 100644
--- a/.readthedocs.yaml
+++ b/.readthedocs.yaml
@@ -1,3 +1,7 @@
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+# for poetry see https://docs.readthedocs.io/en/stable/build-customization.html#install-dependencies-with-poetry
+
+# Required
version: 2
build:
@@ -9,16 +13,12 @@ build:
jobs:
post_create_environment:
- pip install poetry
- - poetry config virtualenvs.create false
post_install:
- - poetry install --with docs
+ - VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --with docs
+# Build documentation in the docs/ directory with Sphinx
sphinx:
- configuration: doc/source/conf.py
-
-# Optionally build your docs in additional formats such as PDF
-# formats:
-# - pdf
+ configuration: docs/source/conf.py
python:
install:
From abc43ea0a0f8b0ff55790a44cbf63f70d61bd4a8 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 28 Feb 2024 17:46:13 +0200
Subject: [PATCH 063/216] Fix typo in rtd config
---
.readthedocs.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
index 12e0ec59d..e734d32c8 100644
--- a/.readthedocs.yaml
+++ b/.readthedocs.yaml
@@ -18,7 +18,7 @@ build:
# Build documentation in the docs/ directory with Sphinx
sphinx:
- configuration: docs/source/conf.py
+ configuration: doc/source/conf.py
python:
install:
From a840ef3c1d3665e1767013cb77e6a07f5697a642 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 28 Feb 2024 17:50:45 +0200
Subject: [PATCH 064/216] Update Sphinx
---
poetry.lock | 56 +++++++++++++++++++++++++-------------------------
pyproject.toml | 2 +-
2 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index fd3d8ac6f..14d65e33b 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,4 +1,4 @@
-# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.8.1 and should not be changed by hand.
[[package]]
name = "alabaster"
@@ -650,13 +650,13 @@ files = [
[[package]]
name = "docutils"
-version = "0.17.1"
+version = "0.18.1"
description = "Docutils -- Python Documentation Utilities"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
files = [
- {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"},
- {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"},
+ {file = "docutils-0.18.1-py2.py3-none-any.whl", hash = "sha256:23010f129180089fbcd3bc08cfefccb3b890b0050e1ca00c867036e9d161b98c"},
+ {file = "docutils-0.18.1.tar.gz", hash = "sha256:679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06"},
]
[[package]]
@@ -2741,38 +2741,38 @@ files = [
[[package]]
name = "sphinx"
-version = "4.5.0"
+version = "7.2.6"
description = "Python documentation generator"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.9"
files = [
- {file = "Sphinx-4.5.0-py3-none-any.whl", hash = "sha256:ebf612653238bcc8f4359627a9b7ce44ede6fdd75d9d30f68255c7383d3a6226"},
- {file = "Sphinx-4.5.0.tar.gz", hash = "sha256:7bf8ca9637a4ee15af412d1a1d9689fec70523a68ca9bb9127c2f3eeb344e2e6"},
+ {file = "sphinx-7.2.6-py3-none-any.whl", hash = "sha256:1e09160a40b956dc623c910118fa636da93bd3ca0b9876a7b3df90f07d691560"},
+ {file = "sphinx-7.2.6.tar.gz", hash = "sha256:9a5160e1ea90688d5963ba09a2dcd8bdd526620edbb65c328728f1b2228d5ab5"},
]
[package.dependencies]
alabaster = ">=0.7,<0.8"
-babel = ">=1.3"
-colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""}
-docutils = ">=0.14,<0.18"
-imagesize = "*"
-importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""}
-Jinja2 = ">=2.3"
-packaging = "*"
-Pygments = ">=2.0"
-requests = ">=2.5.0"
-snowballstemmer = ">=1.1"
+babel = ">=2.9"
+colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""}
+docutils = ">=0.18.1,<0.21"
+imagesize = ">=1.3"
+importlib-metadata = {version = ">=4.8", markers = "python_version < \"3.10\""}
+Jinja2 = ">=3.0"
+packaging = ">=21.0"
+Pygments = ">=2.14"
+requests = ">=2.25.0"
+snowballstemmer = ">=2.0"
sphinxcontrib-applehelp = "*"
sphinxcontrib-devhelp = "*"
sphinxcontrib-htmlhelp = ">=2.0.0"
sphinxcontrib-jsmath = "*"
sphinxcontrib-qthelp = "*"
-sphinxcontrib-serializinghtml = ">=1.1.5"
+sphinxcontrib-serializinghtml = ">=1.1.9"
[package.extras]
docs = ["sphinxcontrib-websupport"]
-lint = ["docutils-stubs", "flake8 (>=3.5.0)", "isort", "mypy (>=0.931)", "types-requests", "types-typed-ast"]
-test = ["cython", "html5lib", "pytest", "pytest-cov", "typed-ast"]
+lint = ["docutils-stubs", "flake8 (>=3.5.0)", "flake8-simplify", "isort", "mypy (>=0.990)", "ruff", "sphinx-lint", "types-requests"]
+test = ["cython (>=3.0)", "filelock", "html5lib", "pytest (>=4.6)", "setuptools (>=67.0)"]
[[package]]
name = "sphinx-rtd-theme"
@@ -2811,21 +2811,21 @@ test = ["pytest"]
[[package]]
name = "sphinxcontrib-bibtex"
-version = "2.6.2"
+version = "2.5.0"
description = "Sphinx extension for BibTeX style citations."
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.6"
files = [
- {file = "sphinxcontrib-bibtex-2.6.2.tar.gz", hash = "sha256:f487af694336f28bfb7d6a17070953a7d264bec43000a2379724274f5f8d70ae"},
- {file = "sphinxcontrib_bibtex-2.6.2-py3-none-any.whl", hash = "sha256:10d45ebbb19207c5665396c9446f8012a79b8a538cb729f895b5910ab2d0b2da"},
+ {file = "sphinxcontrib-bibtex-2.5.0.tar.gz", hash = "sha256:71b42e5db0e2e284f243875326bf9936aa9a763282277d75048826fef5b00eaa"},
+ {file = "sphinxcontrib_bibtex-2.5.0-py3-none-any.whl", hash = "sha256:748f726eaca6efff7731012103417ef130ecdcc09501b4d0c54283bf5f059f76"},
]
[package.dependencies]
-docutils = ">=0.8,<0.18.dev0 || >=0.20.dev0"
+docutils = ">=0.8"
importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""}
pybtex = ">=0.24"
pybtex-docutils = ">=1.0.0"
-Sphinx = ">=3.5"
+Sphinx = ">=2.1"
[[package]]
name = "sphinxcontrib-devhelp"
@@ -3212,4 +3212,4 @@ mark = ["banana-hep", "matplotlib", "pandas", "sqlalchemy"]
[metadata]
lock-version = "2.0"
python-versions = "^3.9,<3.13"
-content-hash = "f6738c50f34b18906963bf90bc680659bfbe48b21a62d3dd50ee962e9d686ffb"
+content-hash = "0edd5a00d479078efaa77b4bd5f72810ba42a6d8d82a9460f1e2ace80d5d6851"
diff --git a/pyproject.toml b/pyproject.toml
index 32d8feac4..7404d8711 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -55,7 +55,7 @@ click = { version = ">=8.0.3,<9.0.0", optional = true }
optional = true
[tool.poetry.group.docs.dependencies]
-Sphinx = "^4.3.2"
+Sphinx = "^7.0.0"
sphinx-rtd-theme = "^1.0.0"
sphinxcontrib-bibtex = "^2.4.1"
nbsphinx = "^0.8.8"
From 4c67ee762182716677e65ab82059451d78b6529a Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 28 Feb 2024 17:55:24 +0200
Subject: [PATCH 065/216] Fix extlinks
---
doc/source/conf.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/doc/source/conf.py b/doc/source/conf.py
index c271bd870..194ce8045 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -112,10 +112,10 @@
)
extlinks = {
- "yadism": ("https://n3pdf.github.io/yadism/%s", "yadism"),
- "banana": ("https://n3pdf.github.io/banana/%s", "banana"),
- "pineappl": ("https://n3pdf.github.io/pineappl/%s", "pineappl"),
- "pineko": ("https://github.com/N3PDF/pineko/%s", "pineko"),
+ "yadism": ("https://n3pdf.github.io/yadism/%s", "yadism%s"),
+ "banana": ("https://n3pdf.github.io/banana/%s", "banana%s"),
+ "pineappl": ("https://n3pdf.github.io/pineappl/%s", "pineappl%s"),
+ "pineko": ("https://github.com/N3PDF/pineko/%s", "pineko%s"),
}
# -- Options for HTML output -------------------------------------------------
From c8d2ea1a21e57d17499d791d8223f163c5217456 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 28 Feb 2024 18:06:44 +0200
Subject: [PATCH 066/216] Drop leftover py3.8
---
.github/workflows/unittests.yml | 2 +-
benchmarks/asv.conf.json | 2 +-
crates/eko/pyproject.toml | 2 +-
pyproject.toml.patch | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml
index acfb1dfe9..2eaf74cdc 100644
--- a/.github/workflows/unittests.yml
+++ b/.github/workflows/unittests.yml
@@ -6,7 +6,7 @@ jobs:
test:
strategy:
matrix:
- python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
+ python-version: ["3.9", "3.10", "3.11", "3.12"]
fail-fast: false
uses: N3PDF/workflows/.github/workflows/python-poetry-tests.yml@v2
diff --git a/benchmarks/asv.conf.json b/benchmarks/asv.conf.json
index 628c6b460..eea67e10c 100644
--- a/benchmarks/asv.conf.json
+++ b/benchmarks/asv.conf.json
@@ -35,7 +35,7 @@
// The Pythons you'd like to test against. If not provided, defaults
// to the current version of Python used to run `asv`.
- "pythons": ["3.8", "3.9", "3.10"],
+ "pythons": ["3.9", "3.10"],
// The matrix of dependencies to test. Each key is the name of a
// package (in PyPI) and the values are version numbers. An empty
diff --git a/crates/eko/pyproject.toml b/crates/eko/pyproject.toml
index 2fff64504..cd5c25d40 100644
--- a/crates/eko/pyproject.toml
+++ b/crates/eko/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "maturin"
[project]
name = "ekors"
-requires-python = ">=3.8"
+requires-python = ">=3.9"
classifiers = [
"Programming Language :: Rust",
"Programming Language :: Python :: Implementation :: CPython",
diff --git a/pyproject.toml.patch b/pyproject.toml.patch
index 65b5daa2c..7fb6fd672 100644
--- a/pyproject.toml.patch
+++ b/pyproject.toml.patch
@@ -11,7 +11,7 @@ index 31be6cb0..b4ec7c95 100644
+
+[project]
+name = "eko"
-+requires-python = ">=3.8"
++requires-python = ">=3.9"
+classifiers = [
+ "Programming Language :: Rust",
+ "Programming Language :: Python :: Implementation :: CPython",
From c153df73f7fb1121ddebfdca59b0b431cb76867e Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Tue, 5 Mar 2024 14:59:57 +0100
Subject: [PATCH 067/216] Update AQg3 parametrization
---
doc/source/refs.bib | 13 +
doc/source/theory/Matching.rst | 6 +-
.../unpolarized/space_like/as2.py | 4 +-
.../unpolarized/space_like/as3/__init__.py | 9 +-
.../unpolarized/space_like/as3/aHg.py | 2 +-
.../unpolarized/space_like/as3/aHg_param.py | 1171 ++++-------------
.../unpolarized/space_like/as3/agg.py | 4 +-
.../unpolarized/space_like/test_as3.py | 1 -
8 files changed, 296 insertions(+), 914 deletions(-)
diff --git a/doc/source/refs.bib b/doc/source/refs.bib
index 16a662451..7ba667d1d 100644
--- a/doc/source/refs.bib
+++ b/doc/source/refs.bib
@@ -1032,3 +1032,16 @@ @article{Moch:2023tdj
month = "10",
year = "2023"
}
+
+@article{Ablinger:2024xtt,
+ author = {Ablinger, J. and Behring, A. and Bl\"umlein, J. and De Freitas, A. and von Manteuffel, A. and Schneider, C. and Sch\"onwald, K.},
+ title = "{The non-first-order-factorizable contributions to the three-loop single-mass operator matrix elements $A_{Qg}^{(3)}$ and $\Delta A_{Qg}^{(3)}$}",
+ eprint = "2403.00513",
+ archivePrefix = "arXiv",
+ primaryClass = "hep-ph",
+ reportNumber = "DO--TH 23/15. DESY 24--027, RISC Report series 24--02, ZU-TH 13/24,
+ CERN-TH-2024-30, DO-TH 23/15, RISC Report series 24--02, ZU-TH 13/24,
+ CERN-TH-2024-30, DESY-24-027",
+ month = "3",
+ year = "2024"
+}
diff --git a/doc/source/theory/Matching.rst b/doc/source/theory/Matching.rst
index 5089c0a95..d7e7d2e5a 100644
--- a/doc/source/theory/Matching.rst
+++ b/doc/source/theory/Matching.rst
@@ -88,11 +88,11 @@ During the matching we use :math:`a_s^{(n_f+1)}`: in fact the :math:`a_s` decoup
:math:`\ln(\mu_{h}^2/m_{h}^2)`, which are cancelled by the OME's :math:`A_{kl,H}`.
|N3LO| matrix elements have been presented in :cite:`Bierenbaum:2009mv` and following publications
-:cite:`Ablinger:2010ty,Ablinger:2014vwa,Ablinger:2014uka,Behring:2014eya,Blumlein:2017wxd,Ablinger_2014,Ablinger_2015,Ablinger:2022wbb`.
+:cite:`Ablinger:2010ty,Ablinger:2014vwa,Ablinger:2014uka,Behring:2014eya,Blumlein:2017wxd,Ablinger_2014,Ablinger_2015,Ablinger:2022wbb,Ablinger:2024xtt`.
Parts proportional to :math:`\ln(\mu_{h}^2/m_{h}^2)` are also included up to |N3LO|.
-The contribution of :math:`A_{Hg}^{(3)}` is not yet fully known analytically and has been parameterized using the first 5 known
-moments :cite:`Bierenbaum:2009mv` and the |LL| small-x contribution :cite:`Kawamura:2012cr`
+All the contributions are now known analytically. Due to the lengthy and complex expressions
+some parts of :math:`A_{Hg}^{(3)},A_{Hq}^{(3)},A_{gg}^{(3)},A_{qq}^{NS,(3)}` have been parameterized.
We remark that contributions of the heavy quark initiated diagrams at |NNLO| and |N3LO| have not been computed yet,
thus the elements :math:`A_{qH}^{(2)},A_{gH}^{(2)}A_{HH}^{(2)}` are not encoded in EKO despite of being present.
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as2.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as2.py
index 9c1f58f53..801837016 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as2.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as2.py
@@ -1,12 +1,12 @@
r"""The unpolarized, spacelike |NNLO| |OME|.
See, :cite:`Buza_1998` appendix B.
-The expession for :math:`\mu_F^2 = m_H^2` are taken from :cite:`Vogt:2004ns` directly in N space.
+The expression for :math:`\mu_F^2 = m_H^2` are taken from :cite:`Vogt:2004ns` directly in N space.
While the parts proportional to :math:`\ln(\mu_F^2 / m_h^2)` comes |QCDNUM|
(https://github.com/N3PDF/external/blob/master/qcdnum/qcdnum/pij/ome.f)
and Mellin transformed with Mathematica.
-The expession for ``A_Hg_l0`` comes form :cite:`Bierenbaum:2009zt`.
+The expression for ``A_Hg_l0`` comes form :cite:`Bierenbaum:2009zt`.
"""
import numba as nb
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/__init__.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/__init__.py
index 10ddd6e38..f0c49b1fb 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/__init__.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/__init__.py
@@ -57,9 +57,12 @@
- :cite:`Ablinger:2022wbb`. J. Ablinger, J. and A. Behring, J. Blümlein, A. De
Freitas, C. Schneider, A. Goedicke, C. von Manteuffel and K. Schonwald.
The Unpolarized and Polarized Single-Mass Three-Loop Heavy Flavor Operator
- Matrix Elements $A_{gg,Q}$ and $\Delta A_{gg,Q}$}.
- DESY 15-112, DO-TH 22/26, CERN-TH-2022-179, ZU-TH 53/22, RISC Report Series 22-25, MSUHEP-22-036
-
+ Matrix Elements $A_{gg,Q}$ and $\Delta A_{gg,Q}$}. JHEP 12 (2022) 134,
+ doi:10.1007/JHEP12(2022)134,
+ - :cite:`Ablinger:2024xtt`. J. Ablinger, A. Behring, J. Blümlein, A. De
+ Freitas, A. von Manteuffel, C. Schneider, K. Schönwald.
+ The non-first-order-factorizable contributions to the three-loop single-mass
+ operator matrix elements $A_{Qg}^{(3)}$ and $\Delta A_{Qg}^{(3)}$.
"""
import numba as nb
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
index 2f3cd7c12..83b7adc9e 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
@@ -12,7 +12,7 @@
def A_Hg(n, cache, nf, L):
r"""Compute the |N3LO| singlet |OME| :math:`A_{Hg}^{S,(3)}(N)`.
- The expression is presented in :cite:`Bierenbaum:2009mv`.
+ The expression is presented in :cite:`Bierenbaum:2009mv,Blumlein:2017wxd,Ablinger:2024xtt`.
When using the code, please cite the complete list of references
available in :mod:`ekore.matching_conditions.as3`.
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
index 2b6becb2e..e0227a261 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
@@ -5,24 +5,27 @@
import numpy as np
from .....harmonics import cache as c
+from .....harmonics.log_functions import lm11, lm12, lm13, lm14, lm15
@nb.njit(cache=True)
def a_Hg3(n, cache, nf):
- r"""Compute the approximate incomplete part of :math:`a_{Hg}^{S,(3)}(N)`.
+ r"""Compute :math:`a_{Hg}^{S,(3)}(N)`.
- This is composed by two different part:
- 1. the known part proportional to :math:`T_{F}` and
+ This is composed by two parts:
+
+ 1. the exact part proportional to :math:`n_f T_{F}` and
presented in :cite:`Blumlein:2017wxd` :eqref:`3.1`.
- 2. A parametrized part for the unknown factors,
- which is constructed from the 5 lowest moments
- presented in :cite:`Bierenbaum:2009mv` :eqref:`8.50-8.54` and the
- |LL| small-x contribution from :math:`Kawamura:2012cr` :eqref:`3.47`
+ 2. a parametrized expressions for the :math:`n_f^0`
+ derived from the 5 lowest moments, presented in
+ :cite:`Bierenbaum:2009mv` :eqref:`8.50-8.54`,
+ and the :math:`x \to 0,1` limits from :eqref:`4.4-4.5`
+ of :cite:`Ablinger:2024xtt`. The |LL| small-x contribution
+ was originally computed in :math:`Kawamura:2012cr`, :eqref:`3.47`.
The parametrized part has been tested to be in reasonable agreement
with the one provided in :math:`Kawamura:2012cr` :eqref:`3.49`, :eqref:`3.50`.
- The :math:`n_f` part is exact.
Parameters
----------
@@ -36,7 +39,7 @@ def a_Hg3(n, cache, nf):
Returns
-------
complex
- :math:`A_{Hg}^{S,(3)}(N)`
+ :math:`a_{Hg}^{S,(3)}(N)`
"""
S1 = c.get(c.S1, cache, n)
@@ -53,921 +56,285 @@ def a_Hg3(n, cache, nf):
Sm211 = c.get(c.Sm211, cache, n, is_singlet=True)
Sm31 = c.get(c.Sm31, cache, n, is_singlet=True)
Sm4 = c.get(c.Sm4, cache, n, is_singlet=True)
- parametrized_part = (
- -(6649.4461758486095 / n**2)
- + (-7592.941358147846 + 6307.239141492633 * n) / (-1.0 + n) ** 2
- + (
- -4874.067051829699
- - 834.8649717514339 * S1
- - 106.571000154652 * S1**2
- - 228.16722542830036 * S1**3
- )
- / n
+ S5 = c.get(c.S5, cache, n)
+
+ Lm11 = lm11(n, S1)
+ Lm12 = lm12(n, S1, S2)
+ Lm13 = lm13(n, S1, S2, S3)
+ Lm14 = lm14(n, S1, S2, S3, S4)
+ Lm15 = lm15(n, S1, S2, S3, S4, S5)
+
+ # parametrized nf^0 part
+ aHg_nf0 = (
+ -(10505.541212 / (-1 + n) ** 2)
+ - 581.3333332799999 / n**6
+ - 522.2222222400001 / n**5
+ - 3084.5476332000003 / n**4
+ - 1440.0967656 / n**3
+ - 10739.21741 / n**2
+ - 3927.4067976978 / n
+ + (8956.649545 * n) / (-1.0 + n) ** 2
+ - 6284.528702278445 / (1 + n) ** 2
+ - 1681.066634246527 / (n + n**2)
+ + 8363.188029908768 / (2 + 3 * n + n**2)
+ + 737.165347 * Lm11
+ - 332.5368214 * Lm12
+ + 4.380199906 * Lm13
+ - 8.20987654 * Lm14
+ + 3.703703704 * Lm15
+ - 274.2066594574388(S1 / n + (1 / (1 + n) + S1) / (1 + n))
)
- return parametrized_part + (
- (-1.0684950250307503 * (2.0 + n + np.power(n, 2))) / (n * (1.0 + n) * (2.0 + n))
- + 1.3333333333333333
+
+ # exact nf^1 part
+ aHg_nf1 = (
+ 1
+ / (n**6 * (1 + n) ** 6 * (2 + n) ** 5)
* (
- 0.25
+ (1 / (-1 + n))
* (
- 1.6449340668482262
- * (
- (
- 0.2222222222222222
- * (
- 1728.0
- + 4992.0 * n
- + 8944.0 * np.power(n, 2)
- + 11680.0 * np.power(n, 3)
- + 4444.0 * np.power(n, 4)
- - 4900.0 * np.power(n, 5)
- - 6377.0 * np.power(n, 6)
- + 617.0 * np.power(n, 7)
- + 6930.0 * np.power(n, 8)
- + 6142.0 * np.power(n, 9)
- + 2331.0 * np.power(n, 10)
- + 333.0 * np.power(n, 11)
- )
- )
- / (
- (-1.0 + n)
- * np.power(n, 4)
- * np.power(1.0 + n, 4)
- * np.power(2.0 + n, 3)
- )
- + (
- 8.88888888888889
- * (6.0 + 11.0 * n + 4.0 * np.power(n, 2) + np.power(n, 3))
- * S1
- )
- / (np.power(n, 2) * (1.0 + n) * (2.0 + n))
- )
- + (
- 1.6449340668482262
- * (2.0 + n + np.power(n, 2))
- * (-13.333333333333334 * np.power(S1, 2) + 8.0 * S2)
- )
- / (n * (1.0 + n) * (2.0 + n))
- + nf
- * (
- (
- 0.00411522633744856
- * (
- -1.24416e6
- - 7.865856e6 * n
- - 2.3256576e7 * np.power(n, 2)
- - 4.2534912e7 * np.power(n, 3)
- - 5.3947712e7 * np.power(n, 4)
- - 5.5711424e7 * np.power(n, 5)
- - 4.075048e7 * np.power(n, 6)
- - 1.0343664e7 * np.power(n, 7)
- + 1.264032e7 * np.power(n, 8)
- + 1.1884298e7 * np.power(n, 9)
- - 2.970289e6 * np.power(n, 10)
- - 1.0465411e7 * np.power(n, 11)
- - 5.568833e6 * np.power(n, 12)
- + 575913.0 * np.power(n, 13)
- + 1.874085e6 * np.power(n, 14)
- + 879391.0 * np.power(n, 15)
- + 186525.0 * np.power(n, 16)
- + 15777.0 * np.power(n, 17)
- )
- )
- / (
- (-1.0 + n)
- * np.power(n, 6)
- * np.power(1.0 + n, 6)
- * np.power(2.0 + n, 5)
- )
- - (
- 0.3950617283950617
- * (
- 141.0
- + 521.0 * n
- + 789.0 * np.power(n, 2)
- + 185.0 * np.power(n, 3)
- + 10.0 * np.power(n, 4)
- )
- * np.power(S1, 2)
- )
- / (np.power(n, 2) * np.power(1.0 + n, 2) * (2.0 + n))
- + (
- 0.3950617283950617
- * (
- 24.0
- + 83.0 * n
- + 49.0 * np.power(n, 2)
- + 10.0 * np.power(n, 3)
- )
- * np.power(S1, 3)
- )
- / (np.power(n, 2) * (1.0 + n) * (2.0 + n))
- + 1.6449340668482262
- * (
- (
- 0.2222222222222222
- * (-2.0 + n)
- * (
- 864.0
- + 3264.0 * n
- + 6232.0 * np.power(n, 2)
- + 9804.0 * np.power(n, 3)
- + 10888.0 * np.power(n, 4)
- + 9325.0 * np.power(n, 5)
- + 6717.0 * np.power(n, 6)
- + 3842.0 * np.power(n, 7)
- + 1606.0 * np.power(n, 8)
- + 405.0 * np.power(n, 9)
- + 45.0 * np.power(n, 10)
- )
- )
- / (
- (-1.0 + n)
- * np.power(n, 4)
- * np.power(1.0 + n, 4)
- * np.power(2.0 + n, 3)
- )
- + (
- 1.7777777777777777
- * (
- 12.0
- + 28.0 * n
- + 11.0 * np.power(n, 2)
- + 5.0 * np.power(n, 3)
- )
- * S1
- )
- / (np.power(n, 2) * (1.0 + n) * (2.0 + n))
- )
- + (
- 0.2962962962962963
- * (
- -5184.0
- - 16992.0 * n
- - 27808.0 * np.power(n, 2)
- - 39024.0 * np.power(n, 3)
- - 31384.0 * np.power(n, 4)
- - 19422.0 * np.power(n, 5)
- - 13965.0 * np.power(n, 6)
- - 6819.0 * np.power(n, 7)
- - 398.0 * np.power(n, 8)
- + 1416.0 * np.power(n, 9)
- + 547.0 * np.power(n, 10)
- + 57.0 * np.power(n, 11)
- )
- * S2
- )
- / (
- (-1.0 + n)
- * np.power(n, 4)
- * np.power(1.0 + n, 4)
- * np.power(2.0 + n, 3)
- )
- + S1
- * (
- (
- -0.06584362139917696
- * (
- -2670.0
- - 10217.0 * n
- - 7454.0 * np.power(n, 2)
- - 5165.0 * np.power(n, 3)
- - 924.0 * np.power(n, 4)
- + 230.0 * np.power(n, 5)
- )
- )
- / (np.power(n, 2) * np.power(1.0 + n, 3) * (2.0 + n))
- + (
- 1.1851851851851851
- * (
- 24.0
- + 83.0 * n
- + 49.0 * np.power(n, 2)
- + 10.0 * np.power(n, 3)
- )
- * S2
- )
- / (np.power(n, 2) * (1.0 + n) * (2.0 + n))
- )
- - (42.666666666666664 * (-2.0 - 3.0 * n + np.power(n, 2)) * S21)
- / (np.power(n, 2) * (1.0 + n) * (2.0 + n))
- - (
- 0.19753086419753085
- * (
- 3888.0
- + 5376.0 * n
- + 6832.0 * np.power(n, 2)
- + 7472.0 * np.power(n, 3)
- + 9129.0 * np.power(n, 4)
- + 1736.0 * np.power(n, 5)
- - 2382.0 * np.power(n, 6)
- - 976.0 * np.power(n, 7)
- + 29.0 * np.power(n, 8)
- )
- * S3
- )
- / (
- (-1.0 + n)
- * np.power(n, 3)
- * np.power(1.0 + n, 3)
- * np.power(2.0 + n, 2)
- )
- + (
- (2.0 + n + np.power(n, 2))
- * (
- -8.772981689857207 * np.power(S1, 2)
- - 1.1851851851851851 * np.power(S1, 4)
- + 1.2020569031595942
- * (
- (
- -6.222222222222222
- * (
- -24.0
- - 28.0 * n
- - 38.0 * np.power(n, 2)
- - 17.0 * np.power(n, 3)
- - 1.0 * np.power(n, 4)
- + 9.0 * np.power(n, 5)
- + 3.0 * np.power(n, 6)
- )
- )
- / (
- (-1.0 + n)
- * np.power(n, 2)
- * np.power(1.0 + n, 2)
- * (2.0 + n)
- )
- + 24.88888888888889 * S1
- )
- - 7.111111111111111 * np.power(S1, 2) * S2
- - 14.222222222222221 * np.power(S2, 2)
- + 85.33333333333333 * S211
- + S1 * (-42.666666666666664 * S21 - 9.481481481481481 * S3)
- - 42.666666666666664 * S31
- + 28.444444444444443 * S4
- )
- )
- / (n * (1.0 + n) * (2.0 + n))
- )
+ -1706.6666666666665
+ - 10875.259259259257 * n
+ - 33284.675378028754 * n**2
+ - 64169.664061405594 * n**3
+ - 84478.38609014948 * n**4
+ - 79641.6883203241 * n**5
+ - 34188.28213390343 * n**6
+ + 50383.00160333119 * n**7
+ + 137380.89089511195 * n**8
+ + 163502.0013461959 * n**9
+ + 100003.51351417531 * n**10
+ + 3669.940256853264 * n**11
+ - 48764.606785121505 * n**12
+ - 45256.82055708685 * n**13
+ - 22071.646154429887 * n**14
+ - 6434.244292978784 * n**15
+ - 1064.9350137879046 * n**16
+ - 77.39386145946845 * n**17
)
- + 1.5
+ - 1.646090534979424
+ * n**4
+ * (1.0 + n) ** 4
+ * (2.0 + n) ** 3
+ * (-3.84 - 6.98 * n + 9.83 * n**2 + 10.96 * n**3 + 3.31 * n**4 + n**5)
+ * S1**3
+ + 0.49382716049382713
+ * n**5
+ * (1.0 + n) ** 5
+ * (2.0 + n) ** 4
+ * (2 + n + n**2)
+ * S1**4
+ + (1 / (-1 + n))
+ * 12.50566219331883
+ * n**2
+ * (1 + n) ** 2
+ * (2 + n) ** 2
* (
- (
- -212.26414844076453
- * (
- -16.0
- - 14.0 * np.power(n, 2)
- - 25.0 * np.power(n, 3)
- - 5.0 * np.power(n, 4)
- + 9.0 * np.power(n, 5)
- + 3.0 * np.power(n, 6)
- )
- )
- / (
- (-1.0 + n)
- * np.power(n, 2)
- * np.power(1.0 + n, 2)
- * np.power(2.0 + n, 2)
- )
- + 1.6449340668482262
- * (
- (
- 0.05555555555555555
- * (
- 3552.0
- + 17200.0 * n
- + 46032.0 * np.power(n, 2)
- + 76456.0 * np.power(n, 3)
- + 88078.0 * np.power(n, 4)
- + 65115.0 * np.power(n, 5)
- + 27752.0 * np.power(n, 6)
- + 2506.0 * np.power(n, 7)
- - 1566.0 * np.power(n, 8)
- - 261.0 * np.power(n, 9)
- )
- )
- / (
- (-1.0 + n)
- * np.power(n, 3)
- * np.power(1.0 + n, 3)
- * np.power(2.0 + n, 3)
- )
- - (
- 0.4444444444444444
- * (
- 288.0
- + 48.0 * n
- - 3392.0 * np.power(n, 2)
- - 5768.0 * np.power(n, 3)
- - 3602.0 * np.power(n, 4)
- + 1523.0 * np.power(n, 5)
- + 5338.0 * np.power(n, 6)
- + 4868.0 * np.power(n, 7)
- + 2088.0 * np.power(n, 8)
- + 337.0 * np.power(n, 9)
- )
- * S1
- )
- / (
- (-1.0 + n)
- * np.power(n, 3)
- * np.power(1.0 + n, 3)
- * np.power(2.0 + n, 3)
- )
- + (
- 2.6666666666666665
- * (
- 36.0
- + 56.0 * n
- + 29.0 * np.power(n, 2)
- - 137.0 * np.power(n, 3)
- - 120.0 * np.power(n, 4)
- - 9.0 * np.power(n, 5)
- + np.power(n, 6)
- )
- * np.power(S1, 2)
- )
- / (
- (-1.0 + n)
- * np.power(n, 2)
- * np.power(1.0 + n, 2)
- * np.power(2.0 + n, 2)
- )
- )
- + (
- (2.0 + n + np.power(n, 2))
- * (
- -212.26414844076453 * S1
- + 1.6449340668482262
- * (
- 32.0 * np.power(S1, 3)
- - (
- 12.0
- * (
- -4.0
- - 4.0 * n
- - 3.0 * np.power(n, 2)
- + 2.0 * np.power(n, 3)
- + np.power(n, 4)
- )
- * S2
- )
- / ((-1.0 + n) * n * (1.0 + n) * (2.0 + n))
- - 8.0 * S3
- + (
- (-8.0 * (1.0 + 3.0 * n + 3.0 * np.power(n, 2)))
- / (n * (1.0 + n))
- + 16.0 * S1
- )
- * Sm2
- + 16.0 * Sm21
- - 8.0 * Sm3
- )
- )
- )
- / (n * (1.0 + n) * (2.0 + n))
- )
- )
- + 4.5
- * (
- (
- 77.92727282720195
- * (-2.0 + n)
- * (3.0 + n)
- * (
- 4.0
- + 4.0 * n
- + 7.0 * np.power(n, 2)
- + 6.0 * np.power(n, 3)
- + 3.0 * np.power(n, 4)
- )
+ -40.94145452557776
+ - 144.43235346523267 * n
+ - 253.73592804740787 * n**2
+ - 354.8177148989626 * n**3
+ - 320.47393623567154 * n**4
+ - 164.90366681355158 * n**5
+ + 24.11092748813364 * n**6
+ + 91.48066657983938 * n**7
+ + 58.29138222882927 * n**8
+ + 25.787008256870585 * n**9
+ + 7.333676013446309 * n**10
+ + n**11
)
- / (
- (-1.0 + n)
- * np.power(n, 2)
- * np.power(1.0 + n, 2)
- * np.power(2.0 + n, 2)
- )
- + (
- 7.05120034829508
- * (
- -56.0
- - 20.0 * n
- - 62.0 * np.power(n, 2)
- - 75.0 * np.power(n, 3)
- - 15.0 * np.power(n, 4)
- + 27.0 * np.power(n, 5)
- + 9.0 * np.power(n, 6)
- )
- )
- / (
- (-1.0 + n)
- * np.power(n, 2)
- * np.power(1.0 + n, 2)
- * np.power(2.0 + n, 2)
- )
- + 1.6449340668482262
+ * S2
+ + 1.9259259259259258
+ * n**5
+ * (1 + n) ** 5
+ * (2.0 + n) ** 4
+ * (2 + n + n**2)
+ * S2**2
+ + n**4
+ * (1 + n) ** 3
+ * (2 + n) ** 2
+ * S1**2
* (
- (
- 0.2222222222222222
- * (
- -3456.0
- - 17184.0 * n
- - 39184.0 * np.power(n, 2)
- - 57200.0 * np.power(n, 3)
- - 54000.0 * np.power(n, 4)
- - 36634.0 * np.power(n, 5)
- - 19177.0 * np.power(n, 6)
- - 16952.0 * np.power(n, 7)
- - 17658.0 * np.power(n, 8)
- - 8937.0 * np.power(n, 9)
- - 997.0 * np.power(n, 10)
- + 1190.0 * np.power(n, 11)
- + 552.0 * np.power(n, 12)
- + 69.0 * np.power(n, 13)
- )
- )
- / (
- np.power(-1.0 + n, 2)
- * np.power(n, 4)
- * np.power(1.0 + n, 4)
- * np.power(2.0 + n, 4)
- )
- + (
- 0.4444444444444444
- * (
- -864.0
- - 2160.0 * n
- + 680.0 * np.power(n, 2)
- + 2820.0 * np.power(n, 3)
- + 3078.0 * np.power(n, 4)
- - 601.0 * np.power(n, 5)
- - 809.0 * np.power(n, 6)
- + 1298.0 * np.power(n, 7)
- + 1124.0 * np.power(n, 8)
- + 515.0 * np.power(n, 9)
- + 103.0 * np.power(n, 10)
- )
- * S1
- )
- / (
- np.power(-1.0 + n, 2)
- * np.power(n, 3)
- * np.power(1.0 + n, 3)
- * np.power(2.0 + n, 3)
- )
- - (
- 1.3333333333333333
- * (
- -48.0
- - 116.0 * n
- + 4.0 * np.power(n, 2)
- - 85.0 * np.power(n, 3)
- - 87.0 * np.power(n, 4)
- + 33.0 * np.power(n, 5)
- + 11.0 * np.power(n, 6)
- )
- * np.power(S1, 2)
- )
- / (
- (-1.0 + n)
- * np.power(n, 2)
- * np.power(1.0 + n, 2)
- * np.power(2.0 + n, 2)
- )
+ -74.27160493827161
+ - 300.6991145317517 * n
+ - 720.0024564166865 * n**2
+ - 631.8555364768818 * n**3
+ - 176.73340470935162 * n**4
+ + 14.961120650448093 * n**5
+ + 14.715435278544426 * n**6
+ + 3.9681662390865937 * n**7
+ + 12.296296296296296
+ * n
+ * (1.0 + n) ** 2
+ * (2.0 + n) ** 2
+ * (2.0 + n + n**2)
+ * S2
)
- + (
- (2.0 + n + np.power(n, 2))
- * (
- 184.0593470475842 * S1
- + 1.6449340668482262
- * (
- -16.0 * np.power(S1, 3)
- - (
- 1.3333333333333333
- * (
- -48.0
- - 70.0 * n
- - 59.0 * np.power(n, 2)
- + 22.0 * np.power(n, 3)
- + 11.0 * np.power(n, 4)
- )
- * S2
- )
- / ((-1.0 + n) * n * (1.0 + n) * (2.0 + n))
- - 32.0 * S1 * S2
- - 8.0 * S3
- + (
- (
- -2.6666666666666665
- * (
- -36.0
- - 58.0 * n
- - 47.0 * np.power(n, 2)
- + 22.0 * np.power(n, 3)
- + 11.0 * np.power(n, 4)
- )
- )
- / ((-1.0 + n) * n * (1.0 + n) * (2.0 + n))
- - 48.0 * S1
- )
- * Sm2
- + 16.0 * Sm21
- - 8.0 * Sm3
- )
- )
+ - 8.88888888888889
+ * n**4
+ * (1.0 + n) ** 4
+ * (2.0 + n) ** 3
+ * (-6.4 - 15.2 * n + 2.6 * n**2 + 10 * n**3 + 3.8 * n**4 + n**5)
+ * S21
+ - 6.222222222222222
+ * n**5
+ * (1.0 + n) ** 5
+ * (2.0 + n) ** 4
+ * (2.0 + n + n**2)
+ * S211
+ - (1 / (-1.0 + n))
+ * 21.16872427983539
+ * n**3
+ * (1.0 + n) ** 3
+ * (2.0 + n) ** 3
+ * (
+ 12.093312597200622
+ + 25.791601866251945 * n
+ + 37.262830482115085 * n**2
+ + 35.36236391912908 * n**3
+ + 43.72161741835148 * n**4
+ + 31.71384136858476 * n**5
+ + 14.762052877138414 * n**6
+ + 3.878693623639191 * n**7
+ + n**8
)
- / (n * (1.0 + n) * (2.0 + n))
- )
- + 0.8888888888888888
- * (
- (106.13207422038226 * (-1.0 + n) * (-2.0 + 3.0 * n + 3.0 * np.power(n, 2)))
- / (np.power(n, 2) * np.power(1.0 + n, 2))
- + 1.6449340668482262
+ * S3
+ - 16.88888888888889
+ * n**5
+ * (1.0 + n) ** 5
+ * (2.0 + n) ** 4
+ * (2.0 + n + n**2)
+ * S31
+ + 62.81481481481482
+ * n**5
+ * (1.0 + n) ** 5
+ * (2.0 + n) ** 4
+ * (2.0 + n + n**2)
+ * S4
+ + 24.0
+ * n**5
+ * (1.0 + n) ** 3
+ * (2.0 + n) ** 2
* (
- (
- 0.5
- * (
- 48.0
- + 184.0 * n
- + 176.0 * np.power(n, 2)
- - 222.0 * np.power(n, 3)
- - 947.0 * np.power(n, 4)
- - 1374.0 * np.power(n, 5)
- - 1196.0 * np.power(n, 6)
- - 612.0 * np.power(n, 7)
- - 153.0 * np.power(n, 8)
- )
- )
- / (np.power(n, 4) * np.power(1.0 + n, 4) * (2.0 + n))
- + (
- 8.0
- * (
- -10.0
- - 29.0 * n
- - 21.0 * np.power(n, 2)
- + 8.0 * np.power(n, 3)
- + 39.0 * np.power(n, 4)
- + 36.0 * np.power(n, 5)
- + 13.0 * np.power(n, 6)
- )
- * S1
- )
- / (np.power(n, 3) * np.power(1.0 + n, 3) * (2.0 + n))
- + (
- 4.0
- * (
- 20.0
- + 48.0 * n
- + 43.0 * np.power(n, 2)
- + 14.0 * np.power(n, 3)
- + 3.0 * np.power(n, 4)
- )
- * np.power(S1, 2)
+ 9.91735504245947
+ - 8.888888888888888 * S1
+ + 8.0 * S1**2
+ + 13.333333333333334 * S2
+ + n**6
+ * (
+ 1.1285582691963223
+ - 1.111111111111111 * S1
+ + 1.0 * S1**2
+ + 1.6666666666666667 * S2
)
- / (np.power(n, 2) * np.power(1.0 + n, 2) * (2.0 + n))
- )
- + (
- 1.6449340668482262
- * (2.0 + n + np.power(n, 2))
+ + n**5
* (
- -16.0 * np.power(S1, 3)
- - (8.0 * (2.0 + 3.0 * n + 3.0 * np.power(n, 2)) * S2)
- / (n * (1.0 + n))
- + 32.0 * S1 * S2
- + 16.0 * S3
- + (-16.0 / (n * (1.0 + n)) + 32.0 * S1) * Sm2
- - 32.0 * Sm21
- + 16.0 * Sm3
+ 7.270278254744628
+ - 6.444444444444444 * S1
+ + 7.0 * S1**2
+ + 11.666666666666666 * S2
)
- )
- / (n * (1.0 + n) * (2.0 + n))
- )
- + 0.75
- * (
- 1.6449340668482262
- * (
- (
- -0.4444444444444444
- * (
- 672.0
- + 3008.0 * n
- + 5352.0 * np.power(n, 2)
- + 6500.0 * np.power(n, 3)
- + 5180.0 * np.power(n, 4)
- + 3171.0 * np.power(n, 5)
- + 2134.0 * np.power(n, 6)
- + 1148.0 * np.power(n, 7)
- + 414.0 * np.power(n, 8)
- + 69.0 * np.power(n, 9)
- )
+ + n**4
+ * (
+ 27.0330569864561
+ - 23.333333333333332 * S1
+ + 21.0 * S1**2
+ + 35.0 * S2
)
- / (
- (-1.0 + n)
- * np.power(n, 3)
- * np.power(1.0 + n, 3)
- * np.power(2.0 + n, 3)
+ + n
+ * (
+ 18.858890796756288
+ - 49.77777777777777 * S1
+ + 28.0 * S1**2
+ + 46.666666666666664 * S2
)
- + (
- 17.77777777777778
- * (
- 4.0
- - 1.0 * n
- + np.power(n, 2)
- + 4.0 * np.power(n, 3)
- + np.power(n, 4)
- )
- * S1
+ + n**3
+ * (
+ 51.79369299730096
+ - 59.77777777777777 * S1
+ + 37.0 * S1**2
+ + 61.666666666666664 * S2
)
- / (n * np.power(1.0 + n, 2) * np.power(2.0 + n, 2))
- )
- + (
- 1.6449340668482262
- * (2.0 + n + np.power(n, 2))
+ + n**2
* (
- 13.333333333333334 * np.power(S1, 2)
- + 13.333333333333334 * S2
- + 26.666666666666668 * Sm2
+ 45.17722508402332
+ - 82.66666666666664 * S1
+ + 42.0 * S1**2
+ + 70.0 * S2
)
)
- / (n * (1.0 + n) * (2.0 + n))
- + nf
+ * Sm2
+ + 26.666666666666664
+ * n**5
+ * (1.0 + n) ** 4
+ * (2.0 + n) ** 3
+ * (4.0 + 16.4 * n + 10.6 * n**2 + 2.8 * n**3 + n**4)
+ * Sm21
+ + n**4
+ * (1.0 + n) ** 2
+ * (2.0 + n)
+ * S1
* (
- (
- -0.03292181069958848
- * (
- 3456.0
- + 18432.0 * n
- + 33504.0 * np.power(n, 2)
- - 22912.0 * np.power(n, 3)
- - 281016.0 * np.power(n, 4)
- - 465872.0 * np.power(n, 5)
- - 806374.0 * np.power(n, 6)
- - 1.459136e6 * np.power(n, 7)
- - 1.48494e6 * np.power(n, 8)
- - 377441.0 * np.power(n, 9)
- + 849246.0 * np.power(n, 10)
- + 1.139033e6 * np.power(n, 11)
- + 692290.0 * np.power(n, 12)
- + 237011.0 * np.power(n, 13)
- + 44514.0 * np.power(n, 14)
- + 3597.0 * np.power(n, 15)
- )
- )
- / (
- (-1.0 + n)
- * np.power(n, 5)
- * np.power(1.0 + n, 5)
- * np.power(2.0 + n, 5)
- )
- + (
- 0.09876543209876543
- * (
- 1256.0
- + 3172.0 * n
- + 6816.0 * np.power(n, 2)
- + 6430.0 * np.power(n, 3)
- + 2355.0 * np.power(n, 4)
- + 271.0 * np.power(n, 5)
- + 22.0 * np.power(n, 6)
- )
- * np.power(S1, 2)
- )
- / (n * np.power(1.0 + n, 3) * np.power(2.0 + n, 3))
- - (
- 0.19753086419753085
- * (
- 134.0
- + 439.0 * n
- + 344.0 * np.power(n, 2)
- + 107.0 * np.power(n, 3)
- + 20.0 * np.power(n, 4)
- )
- * np.power(S1, 3)
- )
- / (n * np.power(1.0 + n, 2) * np.power(2.0 + n, 2))
- + 1.6449340668482262
+ (1 / (-1.0 + n))
* (
- (
- -0.4444444444444444
- * (
- 96.0
- + 224.0 * n
- - 48.0 * np.power(n, 2)
- - 244.0 * np.power(n, 3)
- - 610.0 * np.power(n, 4)
- - 501.0 * np.power(n, 5)
- - 32.0 * np.power(n, 6)
- + 146.0 * np.power(n, 7)
- + 90.0 * np.power(n, 8)
- + 15.0 * np.power(n, 9)
- )
- )
- / (
- (-1.0 + n)
- * np.power(n, 3)
- * np.power(1.0 + n, 3)
- * np.power(2.0 + n, 3)
- )
- - (
- 1.7777777777777777
- * (
- 20.0
- + 76.0 * n
- + 59.0 * np.power(n, 2)
- + 20.0 * np.power(n, 3)
- + 5.0 * np.power(n, 4)
- )
- * S1
- )
- / (n * np.power(1.0 + n, 2) * np.power(2.0 + n, 2))
- )
- + (
- 0.09876543209876543
- * (
- -1728.0
- - 4032.0 * n
- - 3128.0 * np.power(n, 2)
- - 6644.0 * np.power(n, 3)
- + 7720.0 * np.power(n, 4)
- + 15770.0 * np.power(n, 5)
- + 6901.0 * np.power(n, 6)
- + 806.0 * np.power(n, 7)
- - 117.0 * np.power(n, 8)
- + 4.0 * np.power(n, 9)
- )
- * S2
- )
- / (
- (-1.0 + n)
- * np.power(n, 3)
- * np.power(1.0 + n, 3)
- * np.power(2.0 + n, 3)
- )
- + S1
+ -519.7183890539501
+ - 2800.054284509767 * n
+ - 3831.2973294216836 * n**2
+ - 3450.917504245779 * n**3
+ - 337.3605543706711 * n**4
+ + 4392.313928071448 * n**5
+ + 5284.589150336902 * n**6
+ + 2749.8405498667044 * n**7
+ + 725.8130102575197 * n**8
+ + 90.15064415072688 * n**9
+ + 0.6407789185504204 * n**10
+ )
+ - 13.82716049382716(1.0 + n) ** 2
+ * (2.0 + n) ** 2
* (
- (
- 0.06584362139917696
- * (
- 864.0
- - 2672.0 * n
- - 11408.0 * np.power(n, 2)
- - 73764.0 * np.power(n, 3)
- - 73982.0 * np.power(n, 4)
- + 29418.0 * np.power(n, 5)
- + 87216.0 * np.power(n, 6)
- + 61598.0 * np.power(n, 7)
- + 23603.0 * np.power(n, 8)
- + 5292.0 * np.power(n, 9)
- + 491.0 * np.power(n, 10)
- )
- )
- / (
- (-1.0 + n)
- * np.power(n, 2)
- * np.power(1.0 + n, 4)
- * np.power(2.0 + n, 4)
- )
- - (
- 0.5925925925925926
- * (
- 214.0
- + 779.0 * n
- + 544.0 * np.power(n, 2)
- + 151.0 * np.power(n, 3)
- + 40.0 * np.power(n, 4)
- )
- * S2
- )
- / (n * np.power(1.0 + n, 2) * np.power(2.0 + n, 2))
- )
- - (
- 2.3703703703703702
- * (
- 20.0
- + 85.0 * n
- + 50.0 * np.power(n, 2)
- + 11.0 * np.power(n, 3)
- + 5.0 * np.power(n, 4)
- )
- * S21
- )
- / (n * np.power(1.0 + n, 2) * np.power(2.0 + n, 2))
- - (
- 0.3950617283950617
- * (
- 648.0
- + 496.0 * n
- + 370.0 * np.power(n, 2)
- + 725.0 * np.power(n, 3)
- + 1155.0 * np.power(n, 4)
- + 429.0 * np.power(n, 5)
- + 65.0 * np.power(n, 6)
- )
- * S3
- )
- / (
- (-1.0 + n)
- * np.power(n, 2)
- * np.power(1.0 + n, 2)
- * np.power(2.0 + n, 2)
- )
- + (
- 0.3950617283950617
- * (
- 448.0
- + 284.0 * n
- + 1794.0 * np.power(n, 2)
- + 2552.0 * np.power(n, 3)
- + 1257.0 * np.power(n, 4)
- + 278.0 * np.power(n, 5)
- + 47.0 * np.power(n, 6)
- )
- * Sm2
- )
- / (n * np.power(1.0 + n, 3) * np.power(2.0 + n, 3))
- + (
- 1.1851851851851851
- * (
- 216.0
- - 20.0 * n
- - 548.0 * np.power(n, 2)
- - 511.0 * np.power(n, 3)
- - 339.0 * np.power(n, 4)
- - 99.0 * np.power(n, 5)
- + 5.0 * np.power(n, 6)
- )
- * Sm3
- )
- / (
- (-1.0 + n)
- * np.power(n, 2)
- * np.power(1.0 + n, 2)
- * np.power(2.0 + n, 2)
- )
- - (
- 7.111111111111111
- * (
- 36.0
- - 20.0 * n
- - 143.0 * np.power(n, 2)
- - 61.0 * np.power(n, 3)
- - 24.0 * np.power(n, 4)
- - 9.0 * np.power(n, 5)
- + 5.0 * np.power(n, 6)
- )
- * (S1 * Sm2 - 1.0 * Sm21 + Sm3)
- )
- / (
- (-1.0 + n)
- * np.power(n, 2)
- * np.power(1.0 + n, 2)
- * np.power(2.0 + n, 2)
- )
- + (
- (2.0 + n + np.power(n, 2))
- * (
- 1.2020569031595942
- * (
- (49.77777777777778 * (1.0 + n + np.power(n, 2)))
- / ((-1.0 + n) * n * (1.0 + n) * (2.0 + n))
- - 24.88888888888889 * S1
- )
- + 1.1851851851851851 * np.power(S1, 4)
- + 19.555555555555557 * np.power(S1, 2) * S2
- + 8.88888888888889 * np.power(S2, 2)
- - 46.22222222222222 * S211
- + S1 * (24.88888888888889 * S21 + 69.92592592592592 * S3)
- - 3.5555555555555554 * S31
- + 71.11111111111111 * S4
- + (
- (-64.0 * (-1.0 + 2.0 * n) * S1) / ((-1.0 + n) * n)
- + 42.666666666666664 * S2
- )
- * Sm2
- + 1.6449340668482262
- * (
- 5.333333333333333 * np.power(S1, 2)
- + 5.333333333333333 * S2
- + 10.666666666666666 * Sm2
- )
- + (64.0 * (-1.0 + 2.0 * n) * Sm21) / ((-1.0 + n) * n)
- + 7.111111111111111 * Sm4
- - 21.333333333333332 * (S2 * Sm2 - 1.0 * Sm22 + Sm4)
- - 10.666666666666666 * (S1 * Sm3 - 1.0 * Sm31 + Sm4)
- + 64.0
- * (
- S2 * Sm2
- - 0.5 * (np.power(S1, 2) + S2) * Sm2
- + Sm211
- - 1.0 * Sm22
- + S1 * (S1 * Sm2 - 1.0 * Sm21 + Sm3)
- - 1.0 * Sm31
- + Sm4
- )
- )
- )
- / (n * (1.0 + n) * (2.0 + n))
+ -1.3714285714285714
+ + 0.07857142857142857 * n
+ + 14.439285714285715 * n**2
+ + 10.342857142857143 * n**3
+ + 2.5964285714285715 * n**4
+ + n**5
+ )
+ * S2
+ + 4.444444444444445
+ * n
+ * (1.0 + n) ** 3
+ * (2.0 + n) ** 3
+ * (2.0 + n + n**2)
+ * S21
+ + 49.28395061728395
+ * n
+ * (1.0 + n) ** 3
+ * (2.0 + n) ** 3
+ * (2.0 + n + n**2)
+ * S3
+ - 48.0 * n * (1.0 + n) ** 3 * (2.0 + n) ** 3 * (2.0 + n + n**2) * Sm21
+ )
+ + 48.0 * n**5 * (1.0 + n) ** 5 * (2.0 + n) ** 4 * (2.0 + n + n**2) * Sm211
+ - 32.0 * n**5(1.0 + n) ** 5 * (2.0 + n) ** 4 * (2.0 + n + n**2) * Sm22
+ + 40.0
+ * n**5
+ * (1.0 + n) ** 4
+ * (2.0 + n) ** 3
+ * (
+ -2.2222222222222223
+ + 4.0 * S1
+ + n**4 * (-0.5555555555555556 + S1)
+ + n**3 * (-1.5555555555555554 + 4.0 * S1)
+ + n**2 * (-5.888888888888888 + 7.0 * S1)
+ + n * (-9.11111111111111 + 8.0 * S1)
)
+ * Sm3
+ - 40.0 * n**5 * (1.0 + n) ** 5 * (2.0 + n) ** 4 * (2.0 + n + n**2) * Sm31
+ + 29.333333333333332
+ * n**5
+ * (1.0 + n) ** 5
+ * (2.0 + n) ** 4
+ * (2.0 + n + n**2)
+ * Sm4
)
)
+ return aHg_nf0 + nf * aHg_nf1
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
index 5437b61a0..f9d3d9c86 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
@@ -9,7 +9,7 @@
@nb.njit(cache=True)
def a_gg3(n, cache, nf):
- r"""Compute the approximate part of :math:`a_{gg}^{S,(3)}(N)`.
+ r"""Compute the approximate part of :math:`a_{gg}^{(3)}(N)`.
This is the part of :math:`A_{gg}^{S,(3)}(N)` proportional to :math:`\mathcal{O}(\epsilon^0)`,
the expression is presented in :cite:`Ablinger:2022wbb`.
@@ -30,7 +30,7 @@ def a_gg3(n, cache, nf):
Returns
-------
complex
- :math:`a_{gg}^{S,(3)}(N)`
+ :math:`a_{gg}^{(3)}(N)`
"""
S1 = c.get(c.S1, cache, n)
diff --git a/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py b/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py
index 2afd57d23..27558ba0d 100644
--- a/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py
+++ b/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py
@@ -26,7 +26,6 @@ def test_A_3():
N = 2.0
sx_cache = c.reset()
# The accuracy of this test depends on the approximation of aHg3.
- # which is not fully available.
atol = 2e-4 if L == 0 else 2e-3
np.testing.assert_allclose(
as3.A_gg(N, sx_cache, nf, L)
From 0df4916fbc85d1adfbdb6aa2f18aff2582e766a6 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Tue, 5 Mar 2024 15:05:43 +0100
Subject: [PATCH 068/216] minor fixes on docs
---
.../unpolarized/space_like/as3/aHg.py | 4 ++--
.../unpolarized/space_like/as3/aHg_param.py | 12 ++++++------
.../unpolarized/space_like/as3/aHq.py | 4 ++--
.../unpolarized/space_like/as3/agq.py | 4 ++--
.../unpolarized/space_like/as3/aqg.py | 4 ++--
5 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
index 83b7adc9e..90926db6b 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
@@ -10,7 +10,7 @@
@nb.njit(cache=True)
def A_Hg(n, cache, nf, L):
- r"""Compute the |N3LO| singlet |OME| :math:`A_{Hg}^{S,(3)}(N)`.
+ r"""Compute the |N3LO| singlet |OME| :math:`A_{Hg}^{(3)}(N)`.
The expression is presented in :cite:`Bierenbaum:2009mv,Blumlein:2017wxd,Ablinger:2024xtt`.
@@ -31,7 +31,7 @@ def A_Hg(n, cache, nf, L):
Returns
-------
complex
- :math:`A_{Hg}^{S,(3)}(N)`
+ :math:`A_{Hg}^{(3)}(N)`
"""
S1 = c.get(c.S1, cache, n)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
index e0227a261..bee5f0b40 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
@@ -1,4 +1,4 @@
-"""The approximated incomplete part of renormalization constant :math:`a_{Hg}^{S,(3)}(N)`."""
+"""The approximated incomplete part of renormalization constant :math:`a_{Hg}^{(3)}(N)`."""
# pylint: skip-file
import numba as nb
@@ -10,16 +10,16 @@
@nb.njit(cache=True)
def a_Hg3(n, cache, nf):
- r"""Compute :math:`a_{Hg}^{S,(3)}(N)`.
+ r"""Compute :math:`a_{Hg}^{(3)}(N)`.
This is composed by two parts:
1. the exact part proportional to :math:`n_f T_{F}` and
presented in :cite:`Blumlein:2017wxd` :eqref:`3.1`.
- 2. a parametrized expressions for the :math:`n_f^0`
- derived from the 5 lowest moments, presented in
- :cite:`Bierenbaum:2009mv` :eqref:`8.50-8.54`,
+ 2. a parametrized expression for the :math:`n_f^0` piece
+ derived from: the 5 lowest moments, presented in
+ :cite:`Bierenbaum:2009mv` :eqref:`8.50-8.54`;
and the :math:`x \to 0,1` limits from :eqref:`4.4-4.5`
of :cite:`Ablinger:2024xtt`. The |LL| small-x contribution
was originally computed in :math:`Kawamura:2012cr`, :eqref:`3.47`.
@@ -39,7 +39,7 @@ def a_Hg3(n, cache, nf):
Returns
-------
complex
- :math:`a_{Hg}^{S,(3)}(N)`
+ :math:`a_{Hg}^{(3)}(N)`
"""
S1 = c.get(c.S1, cache, n)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
index 0e15c44f4..c5797b76d 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
@@ -9,7 +9,7 @@
@nb.njit(cache=True)
def A_Hq(n, cache, nf, L): # pylint: disable=too-many-locals
- r"""Compute the |N3LO| singlet |OME| :math:`A_{Hq}^{S,(3)}(N)`.
+ r"""Compute the |N3LO| singlet |OME| :math:`A_{Hq}^{(3)}(N)`.
The expression is presented in :cite:`Ablinger_2015` :eqref:`5.1`
and :cite:`Blumlein:2017wxd` :eqref:`3.1`.
@@ -37,7 +37,7 @@ def A_Hq(n, cache, nf, L): # pylint: disable=too-many-locals
Returns
-------
complex
- :math:`A_{Hq}^{S,(3)}(N)`
+ :math:`A_{Hq}^{(3)}(N)`
"""
S1 = c.get(c.S1, cache, n)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
index 78dd978fe..53c6d011a 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
@@ -8,7 +8,7 @@
@nb.njit(cache=True)
def A_gq(n, cache, nf, L): # pylint: disable=too-many-locals
- r"""Compute the |N3LO| singlet |OME| :math:`A_{gq}^{S,(3)}(N)`.
+ r"""Compute the |N3LO| singlet |OME| :math:`A_{gq}^{(3)}(N)`.
The expression is presented in :cite:`Ablinger_2014` :eqref:`6.3`.
@@ -29,7 +29,7 @@ def A_gq(n, cache, nf, L): # pylint: disable=too-many-locals
Returns
-------
complex
- :math:`A_{gq}^{S,(3)}(N)`
+ :math:`A_{gq}^{(3)}(N)`
"""
S1 = c.get(c.S1, cache, n)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
index 44b14419a..a45bb4a8e 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
@@ -8,7 +8,7 @@
@nb.njit(cache=True)
def A_qg(n, cache, nf, L):
- r"""Compute the |N3LO| singlet |OME| :math:`A_{qg}^{S,(3)}(N)`.
+ r"""Compute the |N3LO| singlet |OME| :math:`A_{qg}^{(3)}(N)`.
The expression is presented in :cite:`Bierenbaum:2009mv`.
@@ -29,7 +29,7 @@ def A_qg(n, cache, nf, L):
Returns
-------
complex
- :math:`A_{qg}^{S,(3)}(N)`
+ :math:`A_{qg}^{(3)}(N)`
"""
S1 = c.get(c.S1, cache, n)
From fe477c7e7b9595015157272dab25c9305dd51ac3 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Tue, 5 Mar 2024 15:31:04 +0100
Subject: [PATCH 069/216] make tests passing
---
doc/source/theory/Matching.rst | 2 +-
.../unpolarized/space_like/as3/aHg.py | 4 +--
.../unpolarized/space_like/as3/aHg_param.py | 7 ++---
.../unpolarized/space_like/as3/aHq.py | 4 +--
.../unpolarized/space_like/as3/agq.py | 4 +--
.../unpolarized/space_like/as3/aqg.py | 4 +--
.../unpolarized/space_like/test_as3.py | 26 +++++++++----------
7 files changed, 26 insertions(+), 25 deletions(-)
diff --git a/doc/source/theory/Matching.rst b/doc/source/theory/Matching.rst
index d7e7d2e5a..fa84cab16 100644
--- a/doc/source/theory/Matching.rst
+++ b/doc/source/theory/Matching.rst
@@ -92,7 +92,7 @@ During the matching we use :math:`a_s^{(n_f+1)}`: in fact the :math:`a_s` decoup
Parts proportional to :math:`\ln(\mu_{h}^2/m_{h}^2)` are also included up to |N3LO|.
All the contributions are now known analytically. Due to the lengthy and complex expressions
-some parts of :math:`A_{Hg}^{(3)},A_{Hq}^{(3)},A_{gg}^{(3)},A_{qq}^{NS,(3)}` have been parameterized.
+some parts of :math:`A_{Hg}^{S,(3)},A_{Hq}^{S,(3)},A_{gg}^{S,(3)},A_{qq}^{NS,(3)}` have been parameterized.
We remark that contributions of the heavy quark initiated diagrams at |NNLO| and |N3LO| have not been computed yet,
thus the elements :math:`A_{qH}^{(2)},A_{gH}^{(2)}A_{HH}^{(2)}` are not encoded in EKO despite of being present.
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
index 90926db6b..88f6779d7 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
@@ -10,7 +10,7 @@
@nb.njit(cache=True)
def A_Hg(n, cache, nf, L):
- r"""Compute the |N3LO| singlet |OME| :math:`A_{Hg}^{(3)}(N)`.
+ r"""Compute the |N3LO| singlet |OME| :math:`A_{S,Hg}^{(3)}(N)`.
The expression is presented in :cite:`Bierenbaum:2009mv,Blumlein:2017wxd,Ablinger:2024xtt`.
@@ -31,7 +31,7 @@ def A_Hg(n, cache, nf, L):
Returns
-------
complex
- :math:`A_{Hg}^{(3)}(N)`
+ :math:`A_{Hg}^{S,(3)}(N)`
"""
S1 = c.get(c.S1, cache, n)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
index bee5f0b40..992123384 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
@@ -82,7 +82,7 @@ def a_Hg3(n, cache, nf):
+ 4.380199906 * Lm13
- 8.20987654 * Lm14
+ 3.703703704 * Lm15
- - 274.2066594574388(S1 / n + (1 / (1 + n) + S1) / (1 + n))
+ - 274.2066594574388 * (S1 / n + (1 / (1 + n) + S1) / (1 + n))
)
# exact nf^1 part
@@ -288,7 +288,8 @@ def a_Hg3(n, cache, nf):
+ 90.15064415072688 * n**9
+ 0.6407789185504204 * n**10
)
- - 13.82716049382716(1.0 + n) ** 2
+ - 13.82716049382716
+ * (1.0 + n) ** 2
* (2.0 + n) ** 2
* (
-1.3714285714285714
@@ -314,7 +315,7 @@ def a_Hg3(n, cache, nf):
- 48.0 * n * (1.0 + n) ** 3 * (2.0 + n) ** 3 * (2.0 + n + n**2) * Sm21
)
+ 48.0 * n**5 * (1.0 + n) ** 5 * (2.0 + n) ** 4 * (2.0 + n + n**2) * Sm211
- - 32.0 * n**5(1.0 + n) ** 5 * (2.0 + n) ** 4 * (2.0 + n + n**2) * Sm22
+ - 32.0 * n**5 * (1.0 + n) ** 5 * (2.0 + n) ** 4 * (2.0 + n + n**2) * Sm22
+ 40.0
* n**5
* (1.0 + n) ** 4
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
index c5797b76d..d468861ba 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
@@ -9,7 +9,7 @@
@nb.njit(cache=True)
def A_Hq(n, cache, nf, L): # pylint: disable=too-many-locals
- r"""Compute the |N3LO| singlet |OME| :math:`A_{Hq}^{(3)}(N)`.
+ r"""Compute the |N3LO| singlet |OME| :math:`A_{S,Hq}^{(3)}(N)`.
The expression is presented in :cite:`Ablinger_2015` :eqref:`5.1`
and :cite:`Blumlein:2017wxd` :eqref:`3.1`.
@@ -37,7 +37,7 @@ def A_Hq(n, cache, nf, L): # pylint: disable=too-many-locals
Returns
-------
complex
- :math:`A_{Hq}^{(3)}(N)`
+ :math:`A_{Hq}^{S,(3)}(N)`
"""
S1 = c.get(c.S1, cache, n)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
index 53c6d011a..e3a2c80ef 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
@@ -8,7 +8,7 @@
@nb.njit(cache=True)
def A_gq(n, cache, nf, L): # pylint: disable=too-many-locals
- r"""Compute the |N3LO| singlet |OME| :math:`A_{gq}^{(3)}(N)`.
+ r"""Compute the |N3LO| singlet |OME| :math:`A_{S,gq}^{(3)}(N)`.
The expression is presented in :cite:`Ablinger_2014` :eqref:`6.3`.
@@ -29,7 +29,7 @@ def A_gq(n, cache, nf, L): # pylint: disable=too-many-locals
Returns
-------
complex
- :math:`A_{gq}^{(3)}(N)`
+ :math:`A_{S,gq}^{(3)}(N)`
"""
S1 = c.get(c.S1, cache, n)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
index a45bb4a8e..f741c7371 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
@@ -8,7 +8,7 @@
@nb.njit(cache=True)
def A_qg(n, cache, nf, L):
- r"""Compute the |N3LO| singlet |OME| :math:`A_{qg}^{(3)}(N)`.
+ r"""Compute the |N3LO| singlet |OME| :math:`A_{S,qg}^{(3)}(N)`.
The expression is presented in :cite:`Bierenbaum:2009mv`.
@@ -29,7 +29,7 @@ def A_qg(n, cache, nf, L):
Returns
-------
complex
- :math:`A_{qg}^{(3)}(N)`
+ :math:`A_{qg}^{S,(3)}(N)`
"""
S1 = c.get(c.S1, cache, n)
diff --git a/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py b/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py
index 27558ba0d..879e9349e 100644
--- a/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py
+++ b/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py
@@ -122,18 +122,18 @@ def test_Blumlein_3():
}
ref_val_a_Hg = {
0: [
- -99.16581867356965,
- -676.0759818186247,
- -768.6183629349141,
- -789.7519719852811,
- -414.2873373741821,
+ -99.16581867356649,
+ -676.0759818186239,
+ -768.6183629349139,
+ -789.7519719852797,
+ -455.71655880271237,
],
10: [
- -99.16581867356965,
- -676.0759818186247,
- -768.6183629349141,
- -789.7519719852811,
- -414.2873373741821,
+ -99.16581867356649,
+ -676.0759818186239,
+ -768.6183629349139,
+ -789.7519719852797,
+ -455.71655880271237,
],
}
ref_val_Hq = {
@@ -208,9 +208,9 @@ def test_Blumlein_3():
np.testing.assert_allclose(
aS3[2, 1], ref_val_Hq[L][idx], rtol=2e-5, atol=2e-6
)
- # np.testing.assert_allclose(
- # aS3[1, 1], ref_val_qqNS[L][idx] + ref_val_qqPS[L][idx], rtol=2e-6
- # )
+ np.testing.assert_allclose(
+ aS3[1, 1], ref_val_qqNS[L][idx] + ref_val_qqPS[L][idx], rtol=2e-6
+ )
# Here we test the critical parts
for idx, N in enumerate([2.0, 4.0, 6.0, 10.0, 100.0]):
From b8fa289385a29ec434f97dc2698bf14a183e923f Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Tue, 5 Mar 2024 15:33:59 +0100
Subject: [PATCH 070/216] revert changes in docs
---
.../unpolarized/space_like/as3/__init__.py | 1 +
.../unpolarized/space_like/as3/aHg.py | 2 +-
.../unpolarized/space_like/as3/aHq.py | 2 +-
.../unpolarized/space_like/as3/agq.py | 4 ++--
.../unpolarized/space_like/as3/aqg.py | 2 +-
5 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/__init__.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/__init__.py
index f0c49b1fb..09ed54855 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/__init__.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/__init__.py
@@ -63,6 +63,7 @@
Freitas, A. von Manteuffel, C. Schneider, K. Schönwald.
The non-first-order-factorizable contributions to the three-loop single-mass
operator matrix elements $A_{Qg}^{(3)}$ and $\Delta A_{Qg}^{(3)}$.
+
"""
import numba as nb
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
index 88f6779d7..83b7adc9e 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
@@ -10,7 +10,7 @@
@nb.njit(cache=True)
def A_Hg(n, cache, nf, L):
- r"""Compute the |N3LO| singlet |OME| :math:`A_{S,Hg}^{(3)}(N)`.
+ r"""Compute the |N3LO| singlet |OME| :math:`A_{Hg}^{S,(3)}(N)`.
The expression is presented in :cite:`Bierenbaum:2009mv,Blumlein:2017wxd,Ablinger:2024xtt`.
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
index d468861ba..0e15c44f4 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
@@ -9,7 +9,7 @@
@nb.njit(cache=True)
def A_Hq(n, cache, nf, L): # pylint: disable=too-many-locals
- r"""Compute the |N3LO| singlet |OME| :math:`A_{S,Hq}^{(3)}(N)`.
+ r"""Compute the |N3LO| singlet |OME| :math:`A_{Hq}^{S,(3)}(N)`.
The expression is presented in :cite:`Ablinger_2015` :eqref:`5.1`
and :cite:`Blumlein:2017wxd` :eqref:`3.1`.
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
index e3a2c80ef..78dd978fe 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
@@ -8,7 +8,7 @@
@nb.njit(cache=True)
def A_gq(n, cache, nf, L): # pylint: disable=too-many-locals
- r"""Compute the |N3LO| singlet |OME| :math:`A_{S,gq}^{(3)}(N)`.
+ r"""Compute the |N3LO| singlet |OME| :math:`A_{gq}^{S,(3)}(N)`.
The expression is presented in :cite:`Ablinger_2014` :eqref:`6.3`.
@@ -29,7 +29,7 @@ def A_gq(n, cache, nf, L): # pylint: disable=too-many-locals
Returns
-------
complex
- :math:`A_{S,gq}^{(3)}(N)`
+ :math:`A_{gq}^{S,(3)}(N)`
"""
S1 = c.get(c.S1, cache, n)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
index f741c7371..44b14419a 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
@@ -8,7 +8,7 @@
@nb.njit(cache=True)
def A_qg(n, cache, nf, L):
- r"""Compute the |N3LO| singlet |OME| :math:`A_{S,qg}^{(3)}(N)`.
+ r"""Compute the |N3LO| singlet |OME| :math:`A_{qg}^{S,(3)}(N)`.
The expression is presented in :cite:`Bierenbaum:2009mv`.
From ca3c26ada296ccf9864254e83098162f81bfca53 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 6 Mar 2024 11:05:45 +0200
Subject: [PATCH 071/216] Fix ome.u.s.as3 docs
---
doc/source/conf.py | 2 +-
doc/source/refs.bib | 41 +++++++++++++------
.../unpolarized/space_like/__init__.py | 4 +-
.../unpolarized/space_like/as3/__init__.py | 8 ++--
.../unpolarized/space_like/as3/aHg.py | 2 +-
.../unpolarized/space_like/as3/aHg_param.py | 18 ++++----
.../unpolarized/space_like/as3/aHq.py | 2 +-
.../unpolarized/space_like/as3/agg.py | 4 +-
.../unpolarized/space_like/as3/agq.py | 2 +-
.../unpolarized/space_like/as3/aqg.py | 2 +-
.../unpolarized/space_like/as3/aqqNS.py | 4 +-
.../unpolarized/space_like/as3/aqqPS.py | 2 +-
12 files changed, 53 insertions(+), 38 deletions(-)
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 194ce8045..1f03599ac 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -27,7 +27,7 @@
# -- Project information -----------------------------------------------------
project = "EKO"
-copyright = "2019-2023, the NNPDF team" # pylint: disable=redefined-builtin
+copyright = "2019-2024, the NNPDF team" # pylint: disable=redefined-builtin
author = "NNPDF team"
# The short X.Y version
diff --git a/doc/source/refs.bib b/doc/source/refs.bib
index 7ba667d1d..ec3c7d318 100644
--- a/doc/source/refs.bib
+++ b/doc/source/refs.bib
@@ -823,14 +823,18 @@ @article{Kawamura:2012cr
@article{Falcioni:2023luc,
author = "Falcioni, G. and Herzog, F. and Moch, S. and Vogt, A.",
- title = "{Four-loop splitting functions in QCD -- The quark-quark case}",
+ title = "{Four-loop splitting functions in QCD \textendash{} The quark-quark case}",
eprint = "2302.07593",
archivePrefix = "arXiv",
primaryClass = "hep-ph",
reportNumber = "DESY 23--022, LTH 1333",
- month = "2",
+ doi = "10.1016/j.physletb.2023.137944",
+ journal = "Phys. Lett. B",
+ volume = "842",
+ pages = "137944",
year = "2023"
}
+
@article{Gluck:1995yr,
author = "Gluck, M. and Reya, E. and Stratmann, M. and Vogelsang, W.",
title = "{Next-to-leading order radiative parton model analysis of polarized deep inelastic lepton - nucleon scattering}",
@@ -991,24 +995,30 @@ @article{Dokshitzer:2005bf
@article{Falcioni:2023vqq,
author = "Falcioni, G. and Herzog, F. and Moch, S. and Vogt, A.",
- title = "{Four-loop splitting functions in QCD -- The gluon-to-quark case}",
+ title = "{Four-loop splitting functions in QCD \textendash{} The gluon-to-quark case}",
eprint = "2307.04158",
archivePrefix = "arXiv",
primaryClass = "hep-ph",
reportNumber = "DESY 23-096, LTH 1345",
- month = "7",
+ doi = "10.1016/j.physletb.2023.138215",
+ journal = "Phys. Lett. B",
+ volume = "846",
+ pages = "138215",
year = "2023"
}
@article{Gehrmann:2023cqm,
author = "Gehrmann, Thomas and von Manteuffel, Andreas and Sotnikov, Vasily and Yang, Tong-Zhi",
- title = "{Complete $N_f^2$ contributions to four-loop pure-singlet splitting functions}",
+ title = "{Complete $ {N}_f^2 $ contributions to four-loop pure-singlet splitting functions}",
eprint = "2308.07958",
archivePrefix = "arXiv",
primaryClass = "hep-ph",
reportNumber = "MSUHEP-23-024, ZU-TH 43/23",
- month = "8",
- year = "2023"
+ doi = "10.1007/JHEP01(2024)029",
+ journal = "JHEP",
+ volume = "01",
+ pages = "029",
+ year = "2024"
}
@article{Falcioni:2023tzp,
@@ -1018,8 +1028,11 @@ @article{Falcioni:2023tzp
archivePrefix = "arXiv",
primaryClass = "hep-ph",
reportNumber = "ZU-TH 62/23, DESY 23-146, Nikhef 2023-015, LTH 1353",
- month = "10",
- year = "2023"
+ doi = "10.1016/j.physletb.2023.138351",
+ journal = "Phys. Lett. B",
+ volume = "848",
+ pages = "138351",
+ year = "2024"
}
@article{Moch:2023tdj,
@@ -1029,8 +1042,11 @@ @article{Moch:2023tdj
archivePrefix = "arXiv",
primaryClass = "hep-ph",
reportNumber = "DESY-23-150, Nikhef 23-016, LTH 1354",
- month = "10",
- year = "2023"
+ doi = "10.1016/j.physletb.2024.138468",
+ journal = "Phys. Lett. B",
+ volume = "849",
+ pages = "138468",
+ year = "2024"
}
@article{Ablinger:2024xtt,
@@ -1043,5 +1059,6 @@ @article{Ablinger:2024xtt
CERN-TH-2024-30, DO-TH 23/15, RISC Report series 24--02, ZU-TH 13/24,
CERN-TH-2024-30, DESY-24-027",
month = "3",
- year = "2024"
+ year = "2024",
+ journal = ""
}
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/__init__.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/__init__.py
index de982d550..f1dd3d345 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/__init__.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/__init__.py
@@ -20,7 +20,7 @@ def A_singlet(matching_order, n, nf, L, is_msbar):
nf: int
number of active flavor below threshold
L : float
- :math:``\ln(\mu_F^2 / m_h^2)``
+ :math:`\ln(\mu_F^2 / m_h^2)`
is_msbar: bool
add the |MSbar| contribution
@@ -54,7 +54,7 @@ def A_non_singlet(matching_order, n, nf, L):
nf: int
number of active flavor below threshold
L : float
- :math:``\ln(\mu_F^2 / m_h^2)``
+ :math:`\ln(\mu_F^2 / m_h^2)`
Returns
-------
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/__init__.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/__init__.py
index 09ed54855..b71d8a37e 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/__init__.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/__init__.py
@@ -86,11 +86,11 @@ def A_singlet(n, cache, nf, L):
A^{S,(3)} = \left(\begin{array}{cc}
A_{gg, H}^{S,(3)} & A_{gq, H}^{S,(3)} & 0 \\
A_{qg, H}^{S,(3)} & A_{qq,H}^{NS,(3)} + A_{qq,H}^{PS,(3)} & 0\\
- A_{hg}^{S,(3)} & A_{hq}^{PS,(3)} & 0\\
+ A_{Hg}^{S,(3)} & A_{Hq}^{PS,(3)} & 0\\
\end{array}\right)
When using the code, please cite the complete list of references
- available at the top of this module :mod:`ekore.matching_conditions.as3`.
+ available at the top of this module :mod:`~ekore.operator_matrix_elements.unpolarized.space_like.as3`.
Parameters
----------
@@ -106,7 +106,7 @@ def A_singlet(n, cache, nf, L):
Returns
-------
A_S : numpy.ndarray
- |NNLO| singlet |OME| :math:`A^{S,(3)}(N)`
+ |N3LO| singlet |OME| :math:`A^{S,(3)}(N)`
"""
A_hq_3 = A_Hq(n, cache, nf, L)
@@ -141,7 +141,7 @@ def A_ns(n, cache, nf, L):
\end{array}\right)
When using the code, please cite the complete list of references available
- at the top of this module :mod:`ekore.matching_conditions.as3`.
+ at the top of this module :mod:`~ekore.operator_matrix_elements.unpolarized.space_like.as3`.
Parameters
----------
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
index 83b7adc9e..317345fc6 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg.py
@@ -15,7 +15,7 @@ def A_Hg(n, cache, nf, L):
The expression is presented in :cite:`Bierenbaum:2009mv,Blumlein:2017wxd,Ablinger:2024xtt`.
When using the code, please cite the complete list of references
- available in :mod:`ekore.matching_conditions.as3`.
+ available in :mod:`~ekore.operator_matrix_elements.unpolarized.space_like.as3`.
Parameters
----------
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
index 992123384..69b9d50ba 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
@@ -14,18 +14,16 @@ def a_Hg3(n, cache, nf):
This is composed by two parts:
- 1. the exact part proportional to :math:`n_f T_{F}` and
- presented in :cite:`Blumlein:2017wxd` :eqref:`3.1`.
-
- 2. a parametrized expression for the :math:`n_f^0` piece
- derived from: the 5 lowest moments, presented in
- :cite:`Bierenbaum:2009mv` :eqref:`8.50-8.54`;
- and the :math:`x \to 0,1` limits from :eqref:`4.4-4.5`
- of :cite:`Ablinger:2024xtt`. The |LL| small-x contribution
- was originally computed in :math:`Kawamura:2012cr`, :eqref:`3.47`.
+ 1. the exact part proportional to :math:`n_f T_{F}` and presented in :cite:`Blumlein:2017wxd` :eqref:`3.1`.
+ 2. a parametrized expression for the :math:`n_f^0` piece
+ derived from: the 5 lowest moments, presented in
+ :cite:`Bierenbaum:2009mv` :eqref:`8.50-8.54`;
+ and the :math:`x \to 0,1` limits from :eqref:`4.4-4.5`
+ of :cite:`Ablinger:2024xtt`. The |LL| small-x contribution
+ was originally computed in :cite:`Kawamura:2012cr`, :eqref:`3.47`.
The parametrized part has been tested to be in reasonable agreement
- with the one provided in :math:`Kawamura:2012cr` :eqref:`3.49`, :eqref:`3.50`.
+ with the one provided in :cite:`Kawamura:2012cr` :eqref:`3.49`, :eqref:`3.50`.
Parameters
----------
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
index 0e15c44f4..ccba54fdd 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHq.py
@@ -15,7 +15,7 @@ def A_Hq(n, cache, nf, L): # pylint: disable=too-many-locals
and :cite:`Blumlein:2017wxd` :eqref:`3.1`.
When using the code, please cite the complete list of references
- available in :mod:`ekore.matching_conditions.as3`.
+ available in :mod:`~ekore.operator_matrix_elements.unpolarized.space_like.as3`.
The part proportional to :math:`n_f^0` includes non trivial weight-5
harmonics and has been parametrized in Mellin space.
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
index f9d3d9c86..31850d77c 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
@@ -16,7 +16,7 @@ def a_gg3(n, cache, nf):
It contains binomial factors which are approximated.
When using the code, please cite the complete list of references
- available in :mod:`eko.matching_conditions.as3`.
+ available in :mod:`~ekore.operator_matrix_elements.unpolarized.space_like.as3`.
Parameters
----------
@@ -254,7 +254,7 @@ def A_gg(n, cache, nf, L):
The expression is presented in :cite:`Bierenbaum:2009mv`.
When using the code, please cite the complete list of references
- available in :mod:`ekore.matching_conditions.as3`.
+ available in :mod:`~ekore.operator_matrix_elements.unpolarized.space_like.as3`.
Parameters
----------
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
index 78dd978fe..3296925c0 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agq.py
@@ -13,7 +13,7 @@ def A_gq(n, cache, nf, L): # pylint: disable=too-many-locals
The expression is presented in :cite:`Ablinger_2014` :eqref:`6.3`.
When using the code, please cite the complete list of references
- available in :mod:`ekore.matching_conditions.as3`.
+ available in :mod:`~ekore.operator_matrix_elements.unpolarized.space_like.as3`.
Parameters
----------
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
index 44b14419a..725c0ec84 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqg.py
@@ -13,7 +13,7 @@ def A_qg(n, cache, nf, L):
The expression is presented in :cite:`Bierenbaum:2009mv`.
When using the code, please cite the complete list of references
- available in :mod:`ekore.matching_conditions.as3`.
+ available in :mod:`~ekore.operator_matrix_elements.unpolarized.space_like.as3`.
Parameters
----------
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqNS.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqNS.py
index f7208c781..55e8b37fe 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqNS.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqNS.py
@@ -15,9 +15,9 @@ def A_qqNS(n, cache, nf, L, eta):
:cite:`Ablinger:2014vwa`. It contains some weight 5 harmonics sums.
When using the code, please cite the complete list of references
- available in :mod:`ekore.matching_conditions.as3`.
+ available in :mod:`~ekore.operator_matrix_elements.unpolarized.space_like.as3`.
- Note the part proportional to nf^0 includes weight = 5
+ Note the part proportional to :math:`n_f^0` includes weight = 5
harmonics and has been parametrized in Mellin space.
For this piece the accuracy wrt the known moments is below the 0.01% (N<1000)
and the absolute diff is within 5e-3.
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqPS.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqPS.py
index a71d46379..50e6ccabd 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqPS.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aqqPS.py
@@ -13,7 +13,7 @@ def A_qqPS(n, cache, nf, L):
The expression is presented in :cite:`Bierenbaum:2009mv`.
When using the code, please cite the complete list of references
- available in :mod:`ekore.matching_conditions.as3`.
+ available in :mod:`~ekore.operator_matrix_elements.unpolarized.space_like.as3`.
Parameters
----------
From d018a4969f13bca1f825ec32417f51142681ee15 Mon Sep 17 00:00:00 2001
From: Giacomo Magni <39065935+giacomomagni@users.noreply.github.com>
Date: Wed, 6 Mar 2024 11:06:14 +0100
Subject: [PATCH 072/216] Update
src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
Co-authored-by: Felix Hekhorn
---
.../unpolarized/space_like/as3/aHg_param.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
index 69b9d50ba..1455bddee 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
@@ -1,4 +1,4 @@
-"""The approximated incomplete part of renormalization constant :math:`a_{Hg}^{(3)}(N)`."""
+"""The approximated part of renormalization constant :math:`a_{Hg}^{(3)}(N)`."""
# pylint: skip-file
import numba as nb
From 64d77d8085a9dcffc2313fbcf8aac2bfa9c7dcca Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Thu, 7 Mar 2024 17:05:35 +0100
Subject: [PATCH 073/216] init latex table parser
---
extras/lh_bench_23/.gitignore | 1 +
extras/lh_bench_23/parse_to_latex.py | 128 ++++++++++++++++++++++++++
extras/lh_bench_23/plot_bench.py | 12 +--
extras/lh_bench_23/plot_bench_evol.py | 16 ++--
extras/lh_bench_23/plot_bench_msht.py | 22 ++---
extras/lh_bench_23/utils.py | 15 ++-
6 files changed, 167 insertions(+), 27 deletions(-)
create mode 100644 extras/lh_bench_23/parse_to_latex.py
diff --git a/extras/lh_bench_23/.gitignore b/extras/lh_bench_23/.gitignore
index 2942ad98d..79e096ab2 100644
--- a/extras/lh_bench_23/.gitignore
+++ b/extras/lh_bench_23/.gitignore
@@ -1,3 +1,4 @@
*.tar
*.csv
*.dat
+*.tex
diff --git a/extras/lh_bench_23/parse_to_latex.py b/extras/lh_bench_23/parse_to_latex.py
new file mode 100644
index 000000000..be4449e3e
--- /dev/null
+++ b/extras/lh_bench_23/parse_to_latex.py
@@ -0,0 +1,128 @@
+import numpy as np
+import pandas as pd
+from cfg import here, table_dir, xgrid
+from utils import compute_n3lo_avg_err, compute_n3lo_nnlo_diff, load_n3lo_tables
+
+n3lo_table_dir = table_dir
+
+latex_tab = here / "latex_tab"
+latex_tab.mkdir(exist_ok=True)
+
+SVS = ["central", "down", "up"]
+
+MIDRULE1 = r"""
+\hline \hline
+\multicolumn{9}{||c||}{} \\[-3mm]
+\multicolumn{9}{||c||}{"""
+
+MIDRULE2 = r"""} \\
+\multicolumn{9}{||c||}{} \\[-0.3cm]
+\hline \hline
+ & & & & & & & \\[-0.3cm]
+"""
+
+BOTTOMRULE = r"""
+\hline \hline
+\end{tabular}
+\end{center}
+\end{table}
+"""
+
+
+def insert_haedrule(scheme, approx, caption):
+ """Insert the middle rule."""
+ label = r"\label{tab:" + f"n3lo_{scheme.lower()}_{approx.lower()}" + "}"
+ scheme_label = (
+ r", $\, N_{\rm f} = 3\ldots 5\,$,"
+ if scheme == "VFNS"
+ else r"$\, N_{\rm f} = 4$,"
+ )
+ HEADRULE = (
+ r"""
+ \begin{table}[htp]
+ \caption{"""
+ + caption
+ + r"""}
+ """
+ + label
+ + r"""
+ \begin{center}
+ \vspace{5mm}
+ \begin{tabular}{||c||r|r|r|r|r|r|r|r||}
+ \hline \hline
+ \multicolumn{9}{||c||}{} \\[-3mm]
+ \multicolumn{9}{||c||}{"""
+ # + r"""aN$^3$LO, """
+ + approx
+ + scheme_label
+ + r"""
+ $\,\mu_{\rm f}^2 = 10^4 \mbox{ GeV}^2$} \\
+ \multicolumn{9}{||c||}{} \\[-0.3cm]
+ \hline \hline
+ \multicolumn{9}{||c||}{} \\[-3mm]
+ \multicolumn{1}{||c||}{$x$} &
+ \multicolumn{1}{c|} {$xu_v$} &
+ \multicolumn{1}{c|} {$xd_v$} &
+ \multicolumn{1}{c|} {$xL_-$} &
+ \multicolumn{1}{c|} {$xL_+$} &
+ \multicolumn{1}{c|} {$xs_+$} &
+ \multicolumn{1}{c|} {$xc_+$} &
+ \multicolumn{1}{c|} {$xb_+$} &
+ \multicolumn{1}{c||}{$xg$} \\[0.5mm]
+ """
+ )
+ return HEADRULE
+
+
+def insert_midrule(sv):
+ """Insert the middle rule."""
+ label = {
+ "central": r"$\mu_R^2 = \ \mu_F^2$",
+ "down": r"$\mu_R^2 = 0.5 \ \mu_F^2$",
+ "up": r"$\mu_R^2 = 2 \ \mu_F^2$",
+ }
+ return MIDRULE1 + label[sv] + MIDRULE2
+
+
+def format_float(values):
+ """Clean float format."""
+ values = values.replace("0000", "0")
+ values = values.replace("e-0", "$^{-")
+ values = values.replace("e-10", "$^{-10")
+ values = values.replace("e+0", "$^{+")
+ values = values.replace("&", "}$ &")
+ values = values.replace(r"\\", r"}$ \\")
+ return values
+
+
+def dump_table(scheme: str, approx: str, caption: str):
+ """Write a nice latex table."""
+ final_tab = insert_haedrule(scheme, approx, caption)
+ # loop on scales
+ for sv in SVS:
+ # load tables
+ dfs = load_n3lo_tables(n3lo_table_dir, scheme, sv=sv, approx=approx)
+
+ central = dfs[0]
+ central.insert(0, "x", xgrid)
+ values = central.to_latex(float_format="{:.4e}".format, index=False)
+ values = "".join(e for e in values.split("\n")[4:-3])
+ final_tab += insert_midrule(sv) + format_float(values)
+
+ final_tab += BOTTOMRULE
+
+ # write
+ with open(latex_tab / f"table-{scheme}-{approx}.tex", "w", encoding="utf-8") as f:
+ f.writelines(final_tab)
+
+
+if __name__ == "__main__":
+ approx = "FHMRUVV"
+ scheme = "FFNS"
+ caption = r"""
+ Results for the FFNS aN$^3$LO evolution
+ for the initial conditions and the input parton distributions
+ given in Sec.~\ref{sec:toy_pdf},
+ with the FHMRUVV splitting functions approximation.
+ """
+ dump_table(scheme, approx, caption)
diff --git a/extras/lh_bench_23/plot_bench.py b/extras/lh_bench_23/plot_bench.py
index 6887e7ac3..d0e69c5bb 100644
--- a/extras/lh_bench_23/plot_bench.py
+++ b/extras/lh_bench_23/plot_bench.py
@@ -18,18 +18,18 @@
# load tables
-eko_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, approx="EKO")
-fhmv_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, approx="FHMV")
+eko_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, SV, approx="EKO")
+fhmruvv_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, SV, approx="FHMRUVV")
nnlo_central = load_nnlo_table(table_dir, SCHEME, SV)
# compute avg and std
eko_res = compute_n3lo_avg_err(eko_dfs)
-fhmv_res = compute_n3lo_avg_err(fhmv_dfs)
+fhmruvv_res = compute_n3lo_avg_err(fhmruvv_dfs)
# eko_4mom_res = = compute_n3lo_avg_err(eko_dfs_4mom)
n3lo_dfs = [
(eko_res, "aN3LO EKO"),
- (fhmv_res, "aN3LO FHMV"),
+ (fhmruvv_res, "aN3LO FHMRUVV"),
# (eko_4mom_res, "aN3LO EKO 4 mom"),
]
@@ -38,10 +38,10 @@
# relative diff plots
eko_diff = compute_n3lo_nnlo_diff(eko_res, nnlo_central, REL_DIFF)
-fhmv_diff = compute_n3lo_nnlo_diff(fhmv_res, nnlo_central, REL_DIFF)
+fhmruvv_diff = compute_n3lo_nnlo_diff(fhmruvv_res, nnlo_central, REL_DIFF)
n3lo_dfs = [
(eko_diff, "aN3LO EKO"),
- (fhmv_diff, "aN3LO FHMV"),
+ (fhmruvv_diff, "aN3LO FHMRUVV"),
# (eko_4mom_res, "aN3LO EKO 4 mom"),
]
diff --git a/extras/lh_bench_23/plot_bench_evol.py b/extras/lh_bench_23/plot_bench_evol.py
index 92972af14..af25f5c65 100644
--- a/extras/lh_bench_23/plot_bench_evol.py
+++ b/extras/lh_bench_23/plot_bench_evol.py
@@ -18,17 +18,21 @@
# load tables
-eko_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, approx="EKO", rotate_to_evol=True)
-fhmv_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, approx="FHMV", rotate_to_evol=True)
+eko_dfs = load_n3lo_tables(
+ n3lo_table_dir, SCHEME, sv="central", approx="EKO", rotate_to_evol=True
+)
+fhmruvv_dfs = load_n3lo_tables(
+ n3lo_table_dir, SCHEME, sv="central", approx="FHMRUVV", rotate_to_evol=True
+)
nnlo_central = load_nnlo_table(table_dir, SCHEME, SV, rotate_to_evol=True)
# compute avg and std
eko_res = compute_n3lo_avg_err(eko_dfs)
-fhmv_res = compute_n3lo_avg_err(fhmv_dfs)
+fhmruvv_res = compute_n3lo_avg_err(fhmruvv_dfs)
n3lo_dfs = [
(eko_res, "aN3LO EKO"),
- (fhmv_res, "aN3LO FHMV"),
+ (fhmruvv_res, "aN3LO FHMRUVV"),
]
# absolute plots
@@ -36,10 +40,10 @@
# relative, absolute diff plots
eko_diff = compute_n3lo_nnlo_diff(eko_res, nnlo_central, REL_DIFF)
-fhmv_diff = compute_n3lo_nnlo_diff(fhmv_res, nnlo_central, REL_DIFF)
+fhmruvv_diff = compute_n3lo_nnlo_diff(fhmruvv_res, nnlo_central, REL_DIFF)
n3lo_dfs = [
(eko_diff, "aN3LO EKO"),
- (fhmv_diff, "aN3LO FHMV"),
+ (fhmruvv_diff, "aN3LO FHMRUVV"),
]
plot_diff_to_nnlo(xgrid, n3lo_dfs, SCHEME, USE_LINX, plot_dir, REL_DIFF)
diff --git a/extras/lh_bench_23/plot_bench_msht.py b/extras/lh_bench_23/plot_bench_msht.py
index f693d5bbd..94b63712e 100644
--- a/extras/lh_bench_23/plot_bench_msht.py
+++ b/extras/lh_bench_23/plot_bench_msht.py
@@ -20,24 +20,24 @@
# load tables
-eko_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, approx="EKO")
-fhmv_eko_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, approx="FHMV")
+eko_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, SV, approx="EKO")
+fhmruvv_eko_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, SV, approx="FHMRUVV")
msht_dfs = load_msht(msht_table_dir, SCHEME, approx="MSHT")
-fhmv_msht_dfs = load_msht(msht_table_dir, SCHEME, approx="FHMV")
+fhmruvv_msht_dfs = load_msht(msht_table_dir, SCHEME, approx="FHMRUVV")
nnlo_central = load_nnlo_table(table_dir, SCHEME, SV)
# compute avg and std
eko_res = compute_n3lo_avg_err(eko_dfs)
-fhmv_eko_res = compute_n3lo_avg_err(fhmv_eko_dfs)
+fhmruvv_eko_res = compute_n3lo_avg_err(fhmruvv_eko_dfs)
msht_res = compute_n3lo_avg_err(msht_dfs)
-fhmv_msht_res = compute_n3lo_avg_err(fhmv_msht_dfs)
+fhmruvv_msht_res = compute_n3lo_avg_err(fhmruvv_msht_dfs)
# eko_4mom_res = = compute_n3lo_avg_err(eko_dfs_4mom)
n3lo_dfs = [
(eko_res, "EKO"),
- (fhmv_eko_res, "FHMV EKO"),
+ (fhmruvv_eko_res, "FHMRUVV EKO"),
(msht_res, "MSHT"),
- (fhmv_msht_res, "FHMV MSHT"),
+ (fhmruvv_msht_res, "FHMRUVV MSHT"),
# (eko_4mom_res, "aN3LO EKO 4 mom"),
]
@@ -46,15 +46,15 @@
# relative diff plots
eko_diff = compute_n3lo_nnlo_diff(eko_res, nnlo_central, REL_DIFF)
-fhmv_eko_diff = compute_n3lo_nnlo_diff(fhmv_eko_res, nnlo_central, REL_DIFF)
+fhmruvv_eko_diff = compute_n3lo_nnlo_diff(fhmruvv_eko_res, nnlo_central, REL_DIFF)
msht_diff = compute_n3lo_nnlo_diff(msht_res, nnlo_central, REL_DIFF)
-fhmv_msht_diff = compute_n3lo_nnlo_diff(fhmv_msht_res, nnlo_central, REL_DIFF)
+fhmruvv_msht_diff = compute_n3lo_nnlo_diff(fhmruvv_msht_res, nnlo_central, REL_DIFF)
n3lo_dfs = [
(eko_diff, "EKO"),
- (fhmv_eko_diff, "FHMV EKO"),
+ (fhmruvv_eko_diff, "FHMRUVV EKO"),
(msht_diff, "MSHT"),
- (fhmv_msht_diff, "FHMV MSHT"),
+ (fhmruvv_msht_diff, "FHMRUVV MSHT"),
# (eko_4mom_res, "aN3LO EKO 4 mom"),
]
diff --git a/extras/lh_bench_23/utils.py b/extras/lh_bench_23/utils.py
index dc83a2c7e..1d6c82eb1 100644
--- a/extras/lh_bench_23/utils.py
+++ b/extras/lh_bench_23/utils.py
@@ -102,13 +102,20 @@ def rotate_lha_to_evol(df: pd.DataFrame, scheme: str) -> pd.DataFrame:
def load_n3lo_tables(
- n3lo_table_dir: pathlib.Path, scheme: str, approx: str, rotate_to_evol: bool = False
+ n3lo_table_dir: pathlib.Path,
+ scheme: str,
+ sv: str,
+ approx: str,
+ rotate_to_evol: bool = False,
) -> list:
"""Load the N3LO tables."""
dfs = []
for p in n3lo_table_dir.iterdir():
if scheme not in p.stem:
continue
+ if sv not in p.stem:
+ continue
+
if approx in p.stem:
table = pd.read_csv(p, index_col=0)
table.rename(columns=LHA_LABELS_MAP, inplace=True)
@@ -144,17 +151,17 @@ def load_msht(
if scheme != "VFNS":
raise ValueError(f"{scheme} not provided by MSHT, comment it out")
APPROX_MAP = {
- "FHMV": "Moch",
+ "FHMRUVV": "Moch",
"MSHT": "Posterior",
}
- fhmv_msht_table_dir = table_dir / f"{scheme}_{APPROX_MAP[approx]}_numbers"
+ fhmruvv_msht_table_dir = table_dir / f"{scheme}_{APPROX_MAP[approx]}_numbers"
columns = lha_labels(scheme)
# columns.insert(0,'x')
# columns.insert(0,'Q')
dfs = []
- for p in fhmv_msht_table_dir.iterdir():
+ for p in fhmruvv_msht_table_dir.iterdir():
data = np.loadtxt(p)
data = pd.DataFrame(data[:, 2:], columns=columns)
if rotate_to_evol:
From d9f34b8a63118756a804ce8f2a7d7d1b478f06d4 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Thu, 7 Mar 2024 17:57:59 +0100
Subject: [PATCH 074/216] more work
---
extras/lh_bench_23/parse_to_latex.py | 13 ++++++++++++-
extras/lh_bench_23/plot_bench_msht.py | 14 +++++++-------
extras/lh_bench_23/run_fhmv.sh | 8 ++++----
extras/lh_bench_23/utils.py | 24 ++++++++++++++----------
4 files changed, 37 insertions(+), 22 deletions(-)
diff --git a/extras/lh_bench_23/parse_to_latex.py b/extras/lh_bench_23/parse_to_latex.py
index be4449e3e..ef14103cc 100644
--- a/extras/lh_bench_23/parse_to_latex.py
+++ b/extras/lh_bench_23/parse_to_latex.py
@@ -103,7 +103,8 @@ def dump_table(scheme: str, approx: str, caption: str):
# load tables
dfs = load_n3lo_tables(n3lo_table_dir, scheme, sv=sv, approx=approx)
- central = dfs[0]
+ central, err = compute_n3lo_avg_err(dfs)
+
central.insert(0, "x", xgrid)
values = central.to_latex(float_format="{:.4e}".format, index=False)
values = "".join(e for e in values.split("\n")[4:-3])
@@ -126,3 +127,13 @@ def dump_table(scheme: str, approx: str, caption: str):
with the FHMRUVV splitting functions approximation.
"""
dump_table(scheme, approx, caption)
+
+ approx = "FHMRUVV"
+ scheme = "VFNS"
+ caption = r"""
+ Results for the VFNS aN$^3$LO evolution
+ for the initial conditions and the input parton distributions
+ given in Sec.~\ref{sec:toy_pdf},
+ with the FHMRUVV splitting functions approximation.
+ """
+ dump_table(scheme, approx, caption)
diff --git a/extras/lh_bench_23/plot_bench_msht.py b/extras/lh_bench_23/plot_bench_msht.py
index 94b63712e..d3dc52937 100644
--- a/extras/lh_bench_23/plot_bench_msht.py
+++ b/extras/lh_bench_23/plot_bench_msht.py
@@ -23,21 +23,21 @@
eko_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, SV, approx="EKO")
fhmruvv_eko_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, SV, approx="FHMRUVV")
msht_dfs = load_msht(msht_table_dir, SCHEME, approx="MSHT")
-fhmruvv_msht_dfs = load_msht(msht_table_dir, SCHEME, approx="FHMRUVV")
+# fhmruvv_msht_dfs = load_msht(msht_table_dir, SCHEME, approx="FHMRUVV")
nnlo_central = load_nnlo_table(table_dir, SCHEME, SV)
# compute avg and std
eko_res = compute_n3lo_avg_err(eko_dfs)
fhmruvv_eko_res = compute_n3lo_avg_err(fhmruvv_eko_dfs)
msht_res = compute_n3lo_avg_err(msht_dfs)
-fhmruvv_msht_res = compute_n3lo_avg_err(fhmruvv_msht_dfs)
+# fhmruvv_msht_res = compute_n3lo_avg_err(fhmruvv_msht_dfs)
# eko_4mom_res = = compute_n3lo_avg_err(eko_dfs_4mom)
n3lo_dfs = [
(eko_res, "EKO"),
- (fhmruvv_eko_res, "FHMRUVV EKO"),
+ (fhmruvv_eko_res, "FHMRUVV"),
(msht_res, "MSHT"),
- (fhmruvv_msht_res, "FHMRUVV MSHT"),
+ # (fhmruvv_msht_res, "FHMRUVV MSHT"),
# (eko_4mom_res, "aN3LO EKO 4 mom"),
]
@@ -48,13 +48,13 @@
eko_diff = compute_n3lo_nnlo_diff(eko_res, nnlo_central, REL_DIFF)
fhmruvv_eko_diff = compute_n3lo_nnlo_diff(fhmruvv_eko_res, nnlo_central, REL_DIFF)
msht_diff = compute_n3lo_nnlo_diff(msht_res, nnlo_central, REL_DIFF)
-fhmruvv_msht_diff = compute_n3lo_nnlo_diff(fhmruvv_msht_res, nnlo_central, REL_DIFF)
+# fhmruvv_msht_diff = compute_n3lo_nnlo_diff(fhmruvv_msht_res, nnlo_central, REL_DIFF)
n3lo_dfs = [
(eko_diff, "EKO"),
- (fhmruvv_eko_diff, "FHMRUVV EKO"),
+ (fhmruvv_eko_diff, "FHMRUVV"),
(msht_diff, "MSHT"),
- (fhmruvv_msht_diff, "FHMRUVV MSHT"),
+ # (fhmruvv_msht_diff, "FHMRUVV MSHT"),
# (eko_4mom_res, "aN3LO EKO 4 mom"),
]
diff --git a/extras/lh_bench_23/run_fhmv.sh b/extras/lh_bench_23/run_fhmv.sh
index 45807ea4d..a9c572ea8 100755
--- a/extras/lh_bench_23/run_fhmv.sh
+++ b/extras/lh_bench_23/run_fhmv.sh
@@ -1,12 +1,12 @@
#!/bin/bash
-SCHEME="FFNS"
-SV="central"
+SCHEME="VFNS"
+SV="up"
AD_VAR=(0 0 0 0 0 0 0)
# run the central
-python run-n3lo.py $SCHEME $SV "${AD_VAR[@]}" "--use_fhmv"
+python run-n3lo.py $SCHEME $SV "${AD_VAR[@]}" "--use_fhmruvv"
# loop on gammas
for I in {0..6}
@@ -15,7 +15,7 @@ for I in {0..6}
for VAR in {1..2}
do
AD_VAR[$I]=$VAR
- python run-n3lo.py $SCHEME $SV "${AD_VAR[@]}" "--use_fhmv"
+ python run-n3lo.py $SCHEME $SV "${AD_VAR[@]}" "--use_fhmruvv"
AD_VAR[$I]=0
done
done
diff --git a/extras/lh_bench_23/utils.py b/extras/lh_bench_23/utils.py
index 1d6c82eb1..09692a63b 100644
--- a/extras/lh_bench_23/utils.py
+++ b/extras/lh_bench_23/utils.py
@@ -174,10 +174,13 @@ def compute_n3lo_avg_err(dfs: list) -> tuple:
"""Compute N3LO average and error."""
df_central = np.mean(dfs, axis=0)
df_central = pd.DataFrame(df_central, columns=dfs[0].columns)
- # TODO: improve errors.
- df_std = np.std(dfs, axis=0)
- df_std = pd.DataFrame(df_std, columns=dfs[0].columns)
- return df_central, df_std
+
+ # NOTE: here we compute the error as an envelope
+ up = np.max(dfs, axis=0)
+ dw = np.min(dfs, axis=0)
+ df_err = (up - dw) / 2
+ df_err = pd.DataFrame(df_err, columns=dfs[0].columns)
+ return df_central, df_err
def compute_n3lo_nnlo_diff(n3lo: tuple, nnlo: pd.DataFrame, rel_diff: bool) -> tuple:
@@ -201,16 +204,16 @@ def plot_pdfs(
) -> None:
"""Absolute PDFs plots."""
- fig, axs = plt.subplots(2, 4, figsize=(15, 7))
+ fig, axs = plt.subplots(4, 2, figsize=(7, 14))
xcut = 4 if use_linx else 0
xgrid = xgrid[xcut:]
xscale = "linx" if use_linx else "logx"
- plot_name = f"lh_n3lo_bench_{scheme}_{xscale}"
+ plot_name = f"n3lo_bench_{scheme}_{xscale}"
plot_dir.mkdir(exist_ok=True)
- fig.suptitle(f"{scheme}" + " $Q: \\sqrt{2} \\to 100 \\ GeV$")
+ fig.suptitle(f"{scheme}" + r", $\mu_F^2 = 10^4 \ \mbox{GeV}^2$")
# loop on PDFs
for i, ax in enumerate(
@@ -267,18 +270,19 @@ def plot_diff_to_nnlo(
) -> None:
"""Difference w.r.t NNLO PDFs plots."""
- fig, axs = plt.subplots(2, 4, figsize=(15, 7))
+ fig, axs = plt.subplots(4, 2, figsize=(7, 14))
xcut = 4 if use_linx else 0
xgrid = xgrid[xcut:]
xscale = "linx" if use_linx else "logx"
diff_type = "rel_diff" if rel_dff else "abs_diff"
- plot_name = f"lh_n3lo_bench_{scheme}_{xscale}_{diff_type}"
+ plot_name = f"n3lo_bench_{scheme}_{xscale}_{diff_type}"
diff_type = "Relative" if rel_dff else "Absolute"
fig.suptitle(
- f"{diff_type} difference to NNLO, {scheme}" + " $Q: \\sqrt{2} \\to 100 \\ GeV$"
+ f"{diff_type} difference to NNLO, {scheme}"
+ + r", $\mu_F^2 = 10^4 \ \mbox{GeV}^2$"
)
for i, ax in enumerate(
From 3efb7e43e21ae816630b5a2a5d627114de4ed030 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Thu, 7 Mar 2024 21:59:28 +0100
Subject: [PATCH 075/216] minor fixes
---
extras/lh_bench_23/parse_to_latex.py | 29 ++++++++++++++++++++++------
extras/lh_bench_23/utils.py | 4 ++--
2 files changed, 25 insertions(+), 8 deletions(-)
diff --git a/extras/lh_bench_23/parse_to_latex.py b/extras/lh_bench_23/parse_to_latex.py
index ef14103cc..07252cb70 100644
--- a/extras/lh_bench_23/parse_to_latex.py
+++ b/extras/lh_bench_23/parse_to_latex.py
@@ -8,7 +8,7 @@
latex_tab = here / "latex_tab"
latex_tab.mkdir(exist_ok=True)
-SVS = ["central", "down", "up"]
+SVS = ["central", "up", "down"]
MIDRULE1 = r"""
\hline \hline
@@ -76,10 +76,13 @@ def insert_haedrule(scheme, approx, caption):
def insert_midrule(sv):
"""Insert the middle rule."""
+ # TODO: is this mapping correct or the other way round ??
+ # xif2 = 2 -> up
+ # xif2 = 1/2 -> down
label = {
- "central": r"$\mu_R^2 = \ \mu_F^2$",
- "down": r"$\mu_R^2 = 0.5 \ \mu_F^2$",
- "up": r"$\mu_R^2 = 2 \ \mu_F^2$",
+ "central": r"$\mu_{\rm r}^2 = \ \mu_{\rm f}^2$",
+ "down": r"$\mu_{\rm r}^2 = 0.5 \ \mu_{\rm f}^2$",
+ "up": r"$\mu_{\rm r}^2 = 2 \ \mu_{\rm f}^2$",
}
return MIDRULE1 + label[sv] + MIDRULE2
@@ -97,7 +100,7 @@ def format_float(values):
def dump_table(scheme: str, approx: str, caption: str):
"""Write a nice latex table."""
- final_tab = insert_haedrule(scheme, approx, caption)
+ final_tab = insert_haedrule(scheme, approx.replace("EKO", "NNPDF"), caption)
# loop on scales
for sv in SVS:
# load tables
@@ -113,7 +116,11 @@ def dump_table(scheme: str, approx: str, caption: str):
final_tab += BOTTOMRULE
# write
- with open(latex_tab / f"table-{scheme}-{approx}.tex", "w", encoding="utf-8") as f:
+ with open(
+ latex_tab / f"table-{scheme}-{approx.replace('EKO', 'NNPDF')}.tex",
+ "w",
+ encoding="utf-8",
+ ) as f:
f.writelines(final_tab)
@@ -137,3 +144,13 @@ def dump_table(scheme: str, approx: str, caption: str):
with the FHMRUVV splitting functions approximation.
"""
dump_table(scheme, approx, caption)
+
+ approx = "EKO"
+ scheme = "FFNS"
+ caption = r"""
+ Results for the FFNS aN$^3$LO evolution
+ for the initial conditions and the input parton distributions
+ given in Sec.~\ref{sec:toy_pdf},
+ with the NNPDF splitting functions approximation.
+ """
+ dump_table(scheme, approx, caption)
diff --git a/extras/lh_bench_23/utils.py b/extras/lh_bench_23/utils.py
index 09692a63b..0039398bb 100644
--- a/extras/lh_bench_23/utils.py
+++ b/extras/lh_bench_23/utils.py
@@ -213,7 +213,7 @@ def plot_pdfs(
plot_name = f"n3lo_bench_{scheme}_{xscale}"
plot_dir.mkdir(exist_ok=True)
- fig.suptitle(f"{scheme}" + r", $\mu_F^2 = 10^4 \ \mbox{GeV}^2$")
+ fig.suptitle(f"{scheme}" + r", $\mu_{\rm f}^2 = 10^4 \ \mbox{GeV}^2$")
# loop on PDFs
for i, ax in enumerate(
@@ -282,7 +282,7 @@ def plot_diff_to_nnlo(
diff_type = "Relative" if rel_dff else "Absolute"
fig.suptitle(
f"{diff_type} difference to NNLO, {scheme}"
- + r", $\mu_F^2 = 10^4 \ \mbox{GeV}^2$"
+ + r", $\mu_{\rm f}^2 = 10^4 \ \mbox{GeV}^2$"
)
for i, ax in enumerate(
From ca6cfc3a520b77beeb360b34d30dd5576350ac7d Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Fri, 8 Mar 2024 14:28:35 +0100
Subject: [PATCH 076/216] add one table
---
extras/lh_bench_23/parse_to_latex.py | 14 ++++++++++----
extras/lh_bench_23/utils.py | 8 ++++++--
2 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/extras/lh_bench_23/parse_to_latex.py b/extras/lh_bench_23/parse_to_latex.py
index 07252cb70..7d97ff24d 100644
--- a/extras/lh_bench_23/parse_to_latex.py
+++ b/extras/lh_bench_23/parse_to_latex.py
@@ -148,9 +148,15 @@ def dump_table(scheme: str, approx: str, caption: str):
approx = "EKO"
scheme = "FFNS"
caption = r"""
- Results for the FFNS aN$^3$LO evolution
- for the initial conditions and the input parton distributions
- given in Sec.~\ref{sec:toy_pdf},
- with the NNPDF splitting functions approximation.
+ Same as \ref{tab:n3lo_ffns_fhmruvv} but now with
+ the NNPDF splitting functions approximation.
+ """
+ dump_table(scheme, approx, caption)
+
+ approx = "EKO"
+ scheme = "VFNS"
+ caption = r"""
+ Same as \ref{tab:n3lo_vfns_fhmruvv} but now with
+ the NNPDF splitting functions approximation.
"""
dump_table(scheme, approx, caption)
diff --git a/extras/lh_bench_23/utils.py b/extras/lh_bench_23/utils.py
index 0039398bb..dece30db4 100644
--- a/extras/lh_bench_23/utils.py
+++ b/extras/lh_bench_23/utils.py
@@ -204,7 +204,9 @@ def plot_pdfs(
) -> None:
"""Absolute PDFs plots."""
- fig, axs = plt.subplots(4, 2, figsize=(7, 14))
+ ncols = 2
+ nrows = 4
+ fig, axs = plt.subplots(nrows, ncols, figsize=(ncols * 5, nrows * 3.5))
xcut = 4 if use_linx else 0
xgrid = xgrid[xcut:]
@@ -270,7 +272,9 @@ def plot_diff_to_nnlo(
) -> None:
"""Difference w.r.t NNLO PDFs plots."""
- fig, axs = plt.subplots(4, 2, figsize=(7, 14))
+ ncols = 2
+ nrows = 4
+ fig, axs = plt.subplots(nrows, ncols, figsize=(ncols * 5, nrows * 3.5))
xcut = 4 if use_linx else 0
xgrid = xgrid[xcut:]
From b7596bc802feb6bd8577b92db3c27df2a5116ca4 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Mon, 11 Mar 2024 09:53:29 +0100
Subject: [PATCH 077/216] small fixes in table parser
---
extras/lh_bench_23/parse_to_latex.py | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/extras/lh_bench_23/parse_to_latex.py b/extras/lh_bench_23/parse_to_latex.py
index 7d97ff24d..0360a889f 100644
--- a/extras/lh_bench_23/parse_to_latex.py
+++ b/extras/lh_bench_23/parse_to_latex.py
@@ -1,7 +1,5 @@
-import numpy as np
-import pandas as pd
from cfg import here, table_dir, xgrid
-from utils import compute_n3lo_avg_err, compute_n3lo_nnlo_diff, load_n3lo_tables
+from utils import compute_n3lo_avg_err, load_n3lo_tables
n3lo_table_dir = table_dir
@@ -130,7 +128,7 @@ def dump_table(scheme: str, approx: str, caption: str):
caption = r"""
Results for the FFNS aN$^3$LO evolution
for the initial conditions and the input parton distributions
- given in Sec.~\ref{sec:toy_pdf},
+ given in \cref{sec:toy_pdf},
with the FHMRUVV splitting functions approximation.
"""
dump_table(scheme, approx, caption)
@@ -140,7 +138,7 @@ def dump_table(scheme: str, approx: str, caption: str):
caption = r"""
Results for the VFNS aN$^3$LO evolution
for the initial conditions and the input parton distributions
- given in Sec.~\ref{sec:toy_pdf},
+ given in \cref{sec:toy_pdf},
with the FHMRUVV splitting functions approximation.
"""
dump_table(scheme, approx, caption)
@@ -148,7 +146,7 @@ def dump_table(scheme: str, approx: str, caption: str):
approx = "EKO"
scheme = "FFNS"
caption = r"""
- Same as \ref{tab:n3lo_ffns_fhmruvv} but now with
+ Same as \cref{tab:n3lo_ffns_fhmruvv} but now with
the NNPDF splitting functions approximation.
"""
dump_table(scheme, approx, caption)
@@ -156,7 +154,7 @@ def dump_table(scheme: str, approx: str, caption: str):
approx = "EKO"
scheme = "VFNS"
caption = r"""
- Same as \ref{tab:n3lo_vfns_fhmruvv} but now with
+ Same as \cref{tab:n3lo_vfns_fhmruvv} but now with
the NNPDF splitting functions approximation.
"""
dump_table(scheme, approx, caption)
From ca7ed1526badae80a7ed79053d57b89c9c7c58aa Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Mon, 11 Mar 2024 09:54:55 +0100
Subject: [PATCH 078/216] add a nicer parametrizaion of aggQ3
---
.../unpolarized/space_like/as3/agg.py | 87 +++++++++++++------
.../unpolarized/space_like/test_as3.py | 2 +-
2 files changed, 62 insertions(+), 27 deletions(-)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
index 31850d77c..8fc6182fd 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
@@ -5,15 +5,33 @@
import numpy as np
from .....harmonics import cache as c
+from .....harmonics.log_functions import (
+ lm11,
+ lm11m1,
+ lm11m2,
+ lm12,
+ lm12m1,
+ lm12m2,
+ lm13,
+ lm13m1,
+ lm13m2,
+ lm14m1,
+ lm14m2,
+)
@nb.njit(cache=True)
def a_gg3(n, cache, nf):
- r"""Compute the approximate part of :math:`a_{gg}^{(3)}(N)`.
+ r"""Compute :math:`a_{gg}^{(3)}(N)`.
- This is the part of :math:`A_{gg}^{S,(3)}(N)` proportional to :math:`\mathcal{O}(\epsilon^0)`,
- the expression is presented in :cite:`Ablinger:2022wbb`.
- It contains binomial factors which are approximated.
+ The expression is presented in :cite:`Ablinger:2022wbb`.
+
+ The :math:`n_f^0` piece is parametrized from:
+ the known small-x (eq. 4.10) and large-x (eq. 4.11)
+ limits, the expansion of the local and singular parts
+ in eq. 4.6, 4.7 and the first 15 Mellin moments up to N=30.
+ The analytical expression contains binomial factors
+ which are not handy to use.
When using the code, please cite the complete list of references
available in :mod:`~ekore.operator_matrix_elements.unpolarized.space_like.as3`.
@@ -37,30 +55,47 @@ def a_gg3(n, cache, nf):
S2 = c.get(c.S2, cache, n)
S3 = c.get(c.S3, cache, n)
S4 = c.get(c.S4, cache, n)
- S5 = c.get(c.S5, cache, n)
+
+ Lm11 = lm11(n, S1)
+ Lm12 = lm12(n, S1, S2)
+ Lm13 = lm13(n, S1, S2, S3)
+ Lm11m1 = lm11m1(n, S1)
+ Lm12m1 = lm12m1(n, S1, S2)
+ Lm13m1 = lm13m1(n, S1, S2, S3)
+ Lm14m1 = lm14m1(n, S1, S2, S3, S4)
+ Lm11m2 = lm11m2(n, S1)
+ Lm12m2 = lm12m2(n, S1, S2)
+ Lm13m2 = lm13m2(n, S1, S2, S3)
+ Lm14m2 = lm14m2(n, S1, S2, S3, S4)
# the nf^0 part is parametrized since it contains nasty binomial factors.
agg3_nf0_param = (
- 119.55586399490849
- + 643.5919221725146 / (-1.0 + n) ** 2
- - 4243.672748386901 / (-1.0 + n)
- - 1097.3959566791473 / n**6
- - 2166.223781401583 / n**5
- + 5864.212793800409 / n**4
- + 31055.955132702067 / n**3
- + 5195.523226994994 / n**2
- + 4052.670326185617 / n
- + 723.5270116330819 * S1
- - (24416.76276706736 * S1) / n**4
- - (12798.647797499609 * S1) / n**3
- - (1191.9103600256221 * S1) / n**2
- - (411.7226853758584 * S1) / n
- - 1.0287077597852439 * S1**2
- + 0.055958522352878494 * S1**3
- - 0.0011488227245772988 * S1**4
- + 68.79337566373333 * S2
- + 100.07538288542415 * S3
- + 110.06866836903241 * S4
- + 115.46020088075208 * S5
+ 619.2420126046355
+ + 701.1986854426286 / (-1.0 + n) ** 2
+ - 4954.442786280953 / (-1.0 + n)
+ + 305.77777777777777 / n**6
+ - 668.4444444444445 / n**5
+ + 2426.352476661977 / n**4
+ - 3148.735962235475 / n**3
+ + 9155.33153602228 / n**2
+ + 5069.820034891387 / n
+ - 6471.478696979203 / (1.0 + n) ** 2
+ - 8987.70366338934 / (n + n**2)
+ - 21902.776840085757 / (2.0 + 3.0 * n + n**2)
+ - 78877.91436146703 / (3.0 + 4.0 * n + n**2)
+ - 207627.85210030797 / (6.0 + 5.0 * n + n**2)
+ + 860105.1673083167 / (6.0 + 11.0 * n + 6.0 * n**2 + n**3)
+ + 714.9711186248866 * S1
+ + 576.0307099030653 * Lm11
+ - 14825.806057017968 * Lm11m1
+ + 368095.9894734118 * Lm11m2
+ + 40.908173376688424 * Lm12
+ - 6838.198890554838 * Lm12m1
+ + 474165.7099083288 * Lm12m2
+ + 5.333333333333333 * Lm13
+ - 4424.7425689765805 * Lm13m1
+ + 50838.65442166183 * Lm13m2
+ - 508.9445773396529 * Lm14m1
+ + 28154.716500168193 * Lm14m2
)
agg3_nf1 = 0.75 * (
-(
diff --git a/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py b/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py
index 879e9349e..9a80c83cb 100644
--- a/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py
+++ b/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py
@@ -196,7 +196,7 @@ def test_Blumlein_3():
aS3 = A_singlet(N, sx_cache, nf, L)
np.testing.assert_allclose(
- aS3[0, 0], ref_val_gg[L][idx] + ref_val_a_gg[L][idx], rtol=3e-6
+ aS3[0, 0], ref_val_gg[L][idx] + ref_val_a_gg[L][idx], rtol=9e-6
)
np.testing.assert_allclose(aS3[0, 1], ref_val_gq[L][idx], rtol=2e-6)
From e8853c098656b1e6dd42f3049836d665c4c48a60 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 11 Mar 2024 14:35:27 +0200
Subject: [PATCH 079/216] Update a_gg3 docs
---
.../unpolarized/space_like/as3/agg.py | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
index 8fc6182fd..d740f7810 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/agg.py
@@ -27,11 +27,14 @@ def a_gg3(n, cache, nf):
The expression is presented in :cite:`Ablinger:2022wbb`.
The :math:`n_f^0` piece is parametrized from:
- the known small-x (eq. 4.10) and large-x (eq. 4.11)
- limits, the expansion of the local and singular parts
- in eq. 4.6, 4.7 and the first 15 Mellin moments up to N=30.
+
+ - the small-x limit :eqref:`4.10`
+ - the large-x limit :eqref:`4.11`
+ - the expansion of the local and singular parts in :eqref:`4.6, 4.7`
+ - the first 15 Mellin moments up to :math:`N=30`
+
The analytical expression contains binomial factors
- which are not handy to use.
+ which are not practical to use.
When using the code, please cite the complete list of references
available in :mod:`~ekore.operator_matrix_elements.unpolarized.space_like.as3`.
@@ -40,7 +43,7 @@ def a_gg3(n, cache, nf):
----------
n : complex
Mellin moment
- cache: numpy.ndarray
+ cache : numpy.ndarray
Harmonic sum cache
nf : int
number of active flavor below the threshold
From dcfcf8d8968c9727faf6234b7e6f92e6267abcda Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Mon, 18 Mar 2024 18:05:33 +0000
Subject: [PATCH 080/216] [pre-commit.ci] pre-commit autoupdate
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
updates:
- [github.com/psf/black-pre-commit-mirror: 24.2.0 → 24.3.0](https://github.com/psf/black-pre-commit-mirror/compare/24.2.0...24.3.0)
---
.pre-commit-config.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index f81f1b250..f1bc9f9a8 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -19,7 +19,7 @@ repos:
- id: pycln
args: [--config=pyproject.toml]
- repo: https://github.com/psf/black-pre-commit-mirror
- rev: 24.2.0
+ rev: 24.3.0
hooks:
- id: black
- repo: https://github.com/asottile/blacken-docs
From e451ec9ca462684e763482a53385db24d2890ee2 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Mon, 25 Mar 2024 17:58:59 +0000
Subject: [PATCH 081/216] [pre-commit.ci] pre-commit autoupdate
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
updates:
- [github.com/asottile/pyupgrade: v3.15.1 → v3.15.2](https://github.com/asottile/pyupgrade/compare/v3.15.1...v3.15.2)
- [github.com/pre-commit/pre-commit: v3.6.2 → v3.7.0](https://github.com/pre-commit/pre-commit/compare/v3.6.2...v3.7.0)
---
.pre-commit-config.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index f1bc9f9a8..659a47308 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -32,7 +32,7 @@ repos:
- id: isort
args: ["--profile", "black"]
- repo: https://github.com/asottile/pyupgrade
- rev: v3.15.1
+ rev: v3.15.2
hooks:
- id: pyupgrade
- repo: https://github.com/pycqa/pydocstyle
@@ -62,6 +62,6 @@ repos:
files: ^crates/ekore/.*\.rs$
args: []
- repo: https://github.com/pre-commit/pre-commit
- rev: v3.6.2
+ rev: v3.7.0
hooks:
- id: validate_manifest
From a00bfc4ec7db18adeccdfa1ed45fd404926f4bb7 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Thu, 4 Apr 2024 14:02:38 +0200
Subject: [PATCH 082/216] minor fix
---
extras/lh_bench_23/utils.py | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/extras/lh_bench_23/utils.py b/extras/lh_bench_23/utils.py
index dece30db4..c62a2736d 100644
--- a/extras/lh_bench_23/utils.py
+++ b/extras/lh_bench_23/utils.py
@@ -276,8 +276,10 @@ def plot_diff_to_nnlo(
nrows = 4
fig, axs = plt.subplots(nrows, ncols, figsize=(ncols * 5, nrows * 3.5))
- xcut = 4 if use_linx else 0
- xgrid = xgrid[xcut:]
+ # cut away small- and large-x values, for plotting
+ smallx_cut = 4 if use_linx else 3
+ largex_cut = -1 if not use_linx else None
+ xgrid = xgrid[smallx_cut:largex_cut]
xscale = "linx" if use_linx else "logx"
diff_type = "rel_diff" if rel_dff else "abs_diff"
@@ -299,8 +301,8 @@ def plot_diff_to_nnlo(
central, err = tabs
ax.errorbar(
xgrid,
- central.values[xcut:, i],
- yerr=err.values[xcut:, i],
+ central.values[smallx_cut:largex_cut, i],
+ yerr=err.values[smallx_cut:largex_cut, i],
fmt=FMT_LIST[j],
label=approx_label,
capsize=5,
From 915b6a5c607eeb9812555c428d142c53ad139244 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Mon, 15 Apr 2024 18:09:39 +0000
Subject: [PATCH 083/216] [pre-commit.ci] pre-commit autoupdate
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
updates:
- [github.com/pre-commit/pre-commit-hooks: v4.5.0 → v4.6.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.5.0...v4.6.0)
- [github.com/psf/black-pre-commit-mirror: 24.3.0 → 24.4.0](https://github.com/psf/black-pre-commit-mirror/compare/24.3.0...24.4.0)
---
.pre-commit-config.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 659a47308..8d65e5c90 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -5,7 +5,7 @@ ci:
skip: [fmt-eko, fmt-ekore]
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.5.0
+ rev: v4.6.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
@@ -19,7 +19,7 @@ repos:
- id: pycln
args: [--config=pyproject.toml]
- repo: https://github.com/psf/black-pre-commit-mirror
- rev: 24.3.0
+ rev: 24.4.0
hooks:
- id: black
- repo: https://github.com/asottile/blacken-docs
From 4840b585462ff22d725f815951012ef05d88f9d4 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 16 Apr 2024 16:50:07 +0300
Subject: [PATCH 084/216] Run poetry lock
Closes #358
Closes #360
---
poetry.lock | 1105 +++++++++++++++++++++++++--------------------------
1 file changed, 549 insertions(+), 556 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index 14d65e33b..9a187b67b 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -377,13 +377,13 @@ files = [
[[package]]
name = "comm"
-version = "0.2.1"
+version = "0.2.2"
description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc."
optional = false
python-versions = ">=3.8"
files = [
- {file = "comm-0.2.1-py3-none-any.whl", hash = "sha256:87928485c0dfc0e7976fd89fc1e187023cf587e7c353e4a9b417555b44adf021"},
- {file = "comm-0.2.1.tar.gz", hash = "sha256:0bc91edae1344d39d3661dcbc36937181fdaddb304790458f8b044dbc064b89a"},
+ {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"},
+ {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"},
]
[package.dependencies]
@@ -408,126 +408,126 @@ test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"]
[[package]]
name = "contourpy"
-version = "1.2.0"
+version = "1.2.1"
description = "Python library for calculating contours of 2D quadrilateral grids"
optional = true
python-versions = ">=3.9"
files = [
- {file = "contourpy-1.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0274c1cb63625972c0c007ab14dd9ba9e199c36ae1a231ce45d725cbcbfd10a8"},
- {file = "contourpy-1.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ab459a1cbbf18e8698399c595a01f6dcc5c138220ca3ea9e7e6126232d102bb4"},
- {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fdd887f17c2f4572ce548461e4f96396681212d858cae7bd52ba3310bc6f00f"},
- {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d16edfc3fc09968e09ddffada434b3bf989bf4911535e04eada58469873e28e"},
- {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c203f617abc0dde5792beb586f827021069fb6d403d7f4d5c2b543d87edceb9"},
- {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b69303ceb2e4d4f146bf82fda78891ef7bcd80c41bf16bfca3d0d7eb545448aa"},
- {file = "contourpy-1.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:884c3f9d42d7218304bc74a8a7693d172685c84bd7ab2bab1ee567b769696df9"},
- {file = "contourpy-1.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4a1b1208102be6e851f20066bf0e7a96b7d48a07c9b0cfe6d0d4545c2f6cadab"},
- {file = "contourpy-1.2.0-cp310-cp310-win32.whl", hash = "sha256:34b9071c040d6fe45d9826cbbe3727d20d83f1b6110d219b83eb0e2a01d79488"},
- {file = "contourpy-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:bd2f1ae63998da104f16a8b788f685e55d65760cd1929518fd94cd682bf03e41"},
- {file = "contourpy-1.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dd10c26b4eadae44783c45ad6655220426f971c61d9b239e6f7b16d5cdaaa727"},
- {file = "contourpy-1.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5c6b28956b7b232ae801406e529ad7b350d3f09a4fde958dfdf3c0520cdde0dd"},
- {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebeac59e9e1eb4b84940d076d9f9a6cec0064e241818bcb6e32124cc5c3e377a"},
- {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:139d8d2e1c1dd52d78682f505e980f592ba53c9f73bd6be102233e358b401063"},
- {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e9dc350fb4c58adc64df3e0703ab076f60aac06e67d48b3848c23647ae4310e"},
- {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18fc2b4ed8e4a8fe849d18dce4bd3c7ea637758c6343a1f2bae1e9bd4c9f4686"},
- {file = "contourpy-1.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:16a7380e943a6d52472096cb7ad5264ecee36ed60888e2a3d3814991a0107286"},
- {file = "contourpy-1.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8d8faf05be5ec8e02a4d86f616fc2a0322ff4a4ce26c0f09d9f7fb5330a35c95"},
- {file = "contourpy-1.2.0-cp311-cp311-win32.whl", hash = "sha256:67b7f17679fa62ec82b7e3e611c43a016b887bd64fb933b3ae8638583006c6d6"},
- {file = "contourpy-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:99ad97258985328b4f207a5e777c1b44a83bfe7cf1f87b99f9c11d4ee477c4de"},
- {file = "contourpy-1.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:575bcaf957a25d1194903a10bc9f316c136c19f24e0985a2b9b5608bdf5dbfe0"},
- {file = "contourpy-1.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9e6c93b5b2dbcedad20a2f18ec22cae47da0d705d454308063421a3b290d9ea4"},
- {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:464b423bc2a009088f19bdf1f232299e8b6917963e2b7e1d277da5041f33a779"},
- {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:68ce4788b7d93e47f84edd3f1f95acdcd142ae60bc0e5493bfd120683d2d4316"},
- {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d7d1f8871998cdff5d2ff6a087e5e1780139abe2838e85b0b46b7ae6cc25399"},
- {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e739530c662a8d6d42c37c2ed52a6f0932c2d4a3e8c1f90692ad0ce1274abe0"},
- {file = "contourpy-1.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:247b9d16535acaa766d03037d8e8fb20866d054d3c7fbf6fd1f993f11fc60ca0"},
- {file = "contourpy-1.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:461e3ae84cd90b30f8d533f07d87c00379644205b1d33a5ea03381edc4b69431"},
- {file = "contourpy-1.2.0-cp312-cp312-win32.whl", hash = "sha256:1c2559d6cffc94890b0529ea7eeecc20d6fadc1539273aa27faf503eb4656d8f"},
- {file = "contourpy-1.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:491b1917afdd8638a05b611a56d46587d5a632cabead889a5440f7c638bc6ed9"},
- {file = "contourpy-1.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5fd1810973a375ca0e097dee059c407913ba35723b111df75671a1976efa04bc"},
- {file = "contourpy-1.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:999c71939aad2780f003979b25ac5b8f2df651dac7b38fb8ce6c46ba5abe6ae9"},
- {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7caf9b241464c404613512d5594a6e2ff0cc9cb5615c9475cc1d9b514218ae8"},
- {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:266270c6f6608340f6c9836a0fb9b367be61dde0c9a9a18d5ece97774105ff3e"},
- {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbd50d0a0539ae2e96e537553aff6d02c10ed165ef40c65b0e27e744a0f10af8"},
- {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11f8d2554e52f459918f7b8e6aa20ec2a3bce35ce95c1f0ef4ba36fbda306df5"},
- {file = "contourpy-1.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ce96dd400486e80ac7d195b2d800b03e3e6a787e2a522bfb83755938465a819e"},
- {file = "contourpy-1.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6d3364b999c62f539cd403f8123ae426da946e142312a514162adb2addd8d808"},
- {file = "contourpy-1.2.0-cp39-cp39-win32.whl", hash = "sha256:1c88dfb9e0c77612febebb6ac69d44a8d81e3dc60f993215425b62c1161353f4"},
- {file = "contourpy-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:78e6ad33cf2e2e80c5dfaaa0beec3d61face0fb650557100ee36db808bfa6843"},
- {file = "contourpy-1.2.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:be16975d94c320432657ad2402f6760990cb640c161ae6da1363051805fa8108"},
- {file = "contourpy-1.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b95a225d4948b26a28c08307a60ac00fb8671b14f2047fc5476613252a129776"},
- {file = "contourpy-1.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0d7e03c0f9a4f90dc18d4e77e9ef4ec7b7bbb437f7f675be8e530d65ae6ef956"},
- {file = "contourpy-1.2.0.tar.gz", hash = "sha256:171f311cb758de7da13fc53af221ae47a5877be5a0843a9fe150818c51ed276a"},
+ {file = "contourpy-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bd7c23df857d488f418439686d3b10ae2fbf9bc256cd045b37a8c16575ea1040"},
+ {file = "contourpy-1.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5b9eb0ca724a241683c9685a484da9d35c872fd42756574a7cfbf58af26677fd"},
+ {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c75507d0a55378240f781599c30e7776674dbaf883a46d1c90f37e563453480"},
+ {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11959f0ce4a6f7b76ec578576a0b61a28bdc0696194b6347ba3f1c53827178b9"},
+ {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb3315a8a236ee19b6df481fc5f997436e8ade24a9f03dfdc6bd490fea20c6da"},
+ {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39f3ecaf76cd98e802f094e0d4fbc6dc9c45a8d0c4d185f0f6c2234e14e5f75b"},
+ {file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:94b34f32646ca0414237168d68a9157cb3889f06b096612afdd296003fdd32fd"},
+ {file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:457499c79fa84593f22454bbd27670227874cd2ff5d6c84e60575c8b50a69619"},
+ {file = "contourpy-1.2.1-cp310-cp310-win32.whl", hash = "sha256:ac58bdee53cbeba2ecad824fa8159493f0bf3b8ea4e93feb06c9a465d6c87da8"},
+ {file = "contourpy-1.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:9cffe0f850e89d7c0012a1fb8730f75edd4320a0a731ed0c183904fe6ecfc3a9"},
+ {file = "contourpy-1.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6022cecf8f44e36af10bd9118ca71f371078b4c168b6e0fab43d4a889985dbb5"},
+ {file = "contourpy-1.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ef5adb9a3b1d0c645ff694f9bca7702ec2c70f4d734f9922ea34de02294fdf72"},
+ {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6150ffa5c767bc6332df27157d95442c379b7dce3a38dff89c0f39b63275696f"},
+ {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c863140fafc615c14a4bf4efd0f4425c02230eb8ef02784c9a156461e62c965"},
+ {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:00e5388f71c1a0610e6fe56b5c44ab7ba14165cdd6d695429c5cd94021e390b2"},
+ {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4492d82b3bc7fbb7e3610747b159869468079fe149ec5c4d771fa1f614a14df"},
+ {file = "contourpy-1.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:49e70d111fee47284d9dd867c9bb9a7058a3c617274900780c43e38d90fe1205"},
+ {file = "contourpy-1.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b59c0ffceff8d4d3996a45f2bb6f4c207f94684a96bf3d9728dbb77428dd8cb8"},
+ {file = "contourpy-1.2.1-cp311-cp311-win32.whl", hash = "sha256:7b4182299f251060996af5249c286bae9361fa8c6a9cda5efc29fe8bfd6062ec"},
+ {file = "contourpy-1.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2855c8b0b55958265e8b5888d6a615ba02883b225f2227461aa9127c578a4922"},
+ {file = "contourpy-1.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:62828cada4a2b850dbef89c81f5a33741898b305db244904de418cc957ff05dc"},
+ {file = "contourpy-1.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:309be79c0a354afff9ff7da4aaed7c3257e77edf6c1b448a779329431ee79d7e"},
+ {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e785e0f2ef0d567099b9ff92cbfb958d71c2d5b9259981cd9bee81bd194c9a4"},
+ {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cac0a8f71a041aa587410424ad46dfa6a11f6149ceb219ce7dd48f6b02b87a7"},
+ {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af3f4485884750dddd9c25cb7e3915d83c2db92488b38ccb77dd594eac84c4a0"},
+ {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ce6889abac9a42afd07a562c2d6d4b2b7134f83f18571d859b25624a331c90b"},
+ {file = "contourpy-1.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a1eea9aecf761c661d096d39ed9026574de8adb2ae1c5bd7b33558af884fb2ce"},
+ {file = "contourpy-1.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:187fa1d4c6acc06adb0fae5544c59898ad781409e61a926ac7e84b8f276dcef4"},
+ {file = "contourpy-1.2.1-cp312-cp312-win32.whl", hash = "sha256:c2528d60e398c7c4c799d56f907664673a807635b857df18f7ae64d3e6ce2d9f"},
+ {file = "contourpy-1.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:1a07fc092a4088ee952ddae19a2b2a85757b923217b7eed584fdf25f53a6e7ce"},
+ {file = "contourpy-1.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bb6834cbd983b19f06908b45bfc2dad6ac9479ae04abe923a275b5f48f1a186b"},
+ {file = "contourpy-1.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1d59e739ab0e3520e62a26c60707cc3ab0365d2f8fecea74bfe4de72dc56388f"},
+ {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd3db01f59fdcbce5b22afad19e390260d6d0222f35a1023d9adc5690a889364"},
+ {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a12a813949e5066148712a0626895c26b2578874e4cc63160bb007e6df3436fe"},
+ {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe0ccca550bb8e5abc22f530ec0466136379c01321fd94f30a22231e8a48d985"},
+ {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1d59258c3c67c865435d8fbeb35f8c59b8bef3d6f46c1f29f6123556af28445"},
+ {file = "contourpy-1.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f32c38afb74bd98ce26de7cc74a67b40afb7b05aae7b42924ea990d51e4dac02"},
+ {file = "contourpy-1.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d31a63bc6e6d87f77d71e1abbd7387ab817a66733734883d1fc0021ed9bfa083"},
+ {file = "contourpy-1.2.1-cp39-cp39-win32.whl", hash = "sha256:ddcb8581510311e13421b1f544403c16e901c4e8f09083c881fab2be80ee31ba"},
+ {file = "contourpy-1.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:10a37ae557aabf2509c79715cd20b62e4c7c28b8cd62dd7d99e5ed3ce28c3fd9"},
+ {file = "contourpy-1.2.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a31f94983fecbac95e58388210427d68cd30fe8a36927980fab9c20062645609"},
+ {file = "contourpy-1.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef2b055471c0eb466033760a521efb9d8a32b99ab907fc8358481a1dd29e3bd3"},
+ {file = "contourpy-1.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b33d2bc4f69caedcd0a275329eb2198f560b325605810895627be5d4b876bf7f"},
+ {file = "contourpy-1.2.1.tar.gz", hash = "sha256:4d8908b3bee1c889e547867ca4cdc54e5ab6be6d3e078556814a22457f49423c"},
]
[package.dependencies]
-numpy = ">=1.20,<2.0"
+numpy = ">=1.20"
[package.extras]
bokeh = ["bokeh", "selenium"]
docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"]
-mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.6.1)", "types-Pillow"]
+mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.8.0)", "types-Pillow"]
test = ["Pillow", "contourpy[test-no-images]", "matplotlib"]
test-no-images = ["pytest", "pytest-cov", "pytest-xdist", "wurlitzer"]
[[package]]
name = "coverage"
-version = "7.4.3"
+version = "7.4.4"
description = "Code coverage measurement for Python"
optional = false
python-versions = ">=3.8"
files = [
- {file = "coverage-7.4.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8580b827d4746d47294c0e0b92854c85a92c2227927433998f0d3320ae8a71b6"},
- {file = "coverage-7.4.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:718187eeb9849fc6cc23e0d9b092bc2348821c5e1a901c9f8975df0bc785bfd4"},
- {file = "coverage-7.4.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:767b35c3a246bcb55b8044fd3a43b8cd553dd1f9f2c1eeb87a302b1f8daa0524"},
- {file = "coverage-7.4.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae7f19afe0cce50039e2c782bff379c7e347cba335429678450b8fe81c4ef96d"},
- {file = "coverage-7.4.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba3a8aaed13770e970b3df46980cb068d1c24af1a1968b7818b69af8c4347efb"},
- {file = "coverage-7.4.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ee866acc0861caebb4f2ab79f0b94dbfbdbfadc19f82e6e9c93930f74e11d7a0"},
- {file = "coverage-7.4.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:506edb1dd49e13a2d4cac6a5173317b82a23c9d6e8df63efb4f0380de0fbccbc"},
- {file = "coverage-7.4.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd6545d97c98a192c5ac995d21c894b581f1fd14cf389be90724d21808b657e2"},
- {file = "coverage-7.4.3-cp310-cp310-win32.whl", hash = "sha256:f6a09b360d67e589236a44f0c39218a8efba2593b6abdccc300a8862cffc2f94"},
- {file = "coverage-7.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:18d90523ce7553dd0b7e23cbb28865db23cddfd683a38fb224115f7826de78d0"},
- {file = "coverage-7.4.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cbbe5e739d45a52f3200a771c6d2c7acf89eb2524890a4a3aa1a7fa0695d2a47"},
- {file = "coverage-7.4.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:489763b2d037b164846ebac0cbd368b8a4ca56385c4090807ff9fad817de4113"},
- {file = "coverage-7.4.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:451f433ad901b3bb00184d83fd83d135fb682d780b38af7944c9faeecb1e0bfe"},
- {file = "coverage-7.4.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fcc66e222cf4c719fe7722a403888b1f5e1682d1679bd780e2b26c18bb648cdc"},
- {file = "coverage-7.4.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3ec74cfef2d985e145baae90d9b1b32f85e1741b04cd967aaf9cfa84c1334f3"},
- {file = "coverage-7.4.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:abbbd8093c5229c72d4c2926afaee0e6e3140de69d5dcd918b2921f2f0c8baba"},
- {file = "coverage-7.4.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:35eb581efdacf7b7422af677b92170da4ef34500467381e805944a3201df2079"},
- {file = "coverage-7.4.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8249b1c7334be8f8c3abcaaa996e1e4927b0e5a23b65f5bf6cfe3180d8ca7840"},
- {file = "coverage-7.4.3-cp311-cp311-win32.whl", hash = "sha256:cf30900aa1ba595312ae41978b95e256e419d8a823af79ce670835409fc02ad3"},
- {file = "coverage-7.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:18c7320695c949de11a351742ee001849912fd57e62a706d83dfc1581897fa2e"},
- {file = "coverage-7.4.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b51bfc348925e92a9bd9b2e48dad13431b57011fd1038f08316e6bf1df107d10"},
- {file = "coverage-7.4.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d6cdecaedea1ea9e033d8adf6a0ab11107b49571bbb9737175444cea6eb72328"},
- {file = "coverage-7.4.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b2eccb883368f9e972e216c7b4c7c06cabda925b5f06dde0650281cb7666a30"},
- {file = "coverage-7.4.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c00cdc8fa4e50e1cc1f941a7f2e3e0f26cb2a1233c9696f26963ff58445bac7"},
- {file = "coverage-7.4.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9a4a8dd3dcf4cbd3165737358e4d7dfbd9d59902ad11e3b15eebb6393b0446e"},
- {file = "coverage-7.4.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:062b0a75d9261e2f9c6d071753f7eef0fc9caf3a2c82d36d76667ba7b6470003"},
- {file = "coverage-7.4.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ebe7c9e67a2d15fa97b77ea6571ce5e1e1f6b0db71d1d5e96f8d2bf134303c1d"},
- {file = "coverage-7.4.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c0a120238dd71c68484f02562f6d446d736adcc6ca0993712289b102705a9a3a"},
- {file = "coverage-7.4.3-cp312-cp312-win32.whl", hash = "sha256:37389611ba54fd6d278fde86eb2c013c8e50232e38f5c68235d09d0a3f8aa352"},
- {file = "coverage-7.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:d25b937a5d9ffa857d41be042b4238dd61db888533b53bc76dc082cb5a15e914"},
- {file = "coverage-7.4.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:28ca2098939eabab044ad68850aac8f8db6bf0b29bc7f2887d05889b17346454"},
- {file = "coverage-7.4.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:280459f0a03cecbe8800786cdc23067a8fc64c0bd51dc614008d9c36e1659d7e"},
- {file = "coverage-7.4.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c0cdedd3500e0511eac1517bf560149764b7d8e65cb800d8bf1c63ebf39edd2"},
- {file = "coverage-7.4.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9a9babb9466fe1da12417a4aed923e90124a534736de6201794a3aea9d98484e"},
- {file = "coverage-7.4.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dec9de46a33cf2dd87a5254af095a409ea3bf952d85ad339751e7de6d962cde6"},
- {file = "coverage-7.4.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:16bae383a9cc5abab9bb05c10a3e5a52e0a788325dc9ba8499e821885928968c"},
- {file = "coverage-7.4.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2c854ce44e1ee31bda4e318af1dbcfc929026d12c5ed030095ad98197eeeaed0"},
- {file = "coverage-7.4.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ce8c50520f57ec57aa21a63ea4f325c7b657386b3f02ccaedeccf9ebe27686e1"},
- {file = "coverage-7.4.3-cp38-cp38-win32.whl", hash = "sha256:708a3369dcf055c00ddeeaa2b20f0dd1ce664eeabde6623e516c5228b753654f"},
- {file = "coverage-7.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:1bf25fbca0c8d121a3e92a2a0555c7e5bc981aee5c3fdaf4bb7809f410f696b9"},
- {file = "coverage-7.4.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3b253094dbe1b431d3a4ac2f053b6d7ede2664ac559705a704f621742e034f1f"},
- {file = "coverage-7.4.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:77fbfc5720cceac9c200054b9fab50cb2a7d79660609200ab83f5db96162d20c"},
- {file = "coverage-7.4.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6679060424faa9c11808598504c3ab472de4531c571ab2befa32f4971835788e"},
- {file = "coverage-7.4.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4af154d617c875b52651dd8dd17a31270c495082f3d55f6128e7629658d63765"},
- {file = "coverage-7.4.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8640f1fde5e1b8e3439fe482cdc2b0bb6c329f4bb161927c28d2e8879c6029ee"},
- {file = "coverage-7.4.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:69b9f6f66c0af29642e73a520b6fed25ff9fd69a25975ebe6acb297234eda501"},
- {file = "coverage-7.4.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:0842571634f39016a6c03e9d4aba502be652a6e4455fadb73cd3a3a49173e38f"},
- {file = "coverage-7.4.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a78ed23b08e8ab524551f52953a8a05d61c3a760781762aac49f8de6eede8c45"},
- {file = "coverage-7.4.3-cp39-cp39-win32.whl", hash = "sha256:c0524de3ff096e15fcbfe8f056fdb4ea0bf497d584454f344d59fce069d3e6e9"},
- {file = "coverage-7.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:0209a6369ccce576b43bb227dc8322d8ef9e323d089c6f3f26a597b09cb4d2aa"},
- {file = "coverage-7.4.3-pp38.pp39.pp310-none-any.whl", hash = "sha256:7cbde573904625509a3f37b6fecea974e363460b556a627c60dc2f47e2fffa51"},
- {file = "coverage-7.4.3.tar.gz", hash = "sha256:276f6077a5c61447a48d133ed13e759c09e62aff0dc84274a68dc18660104d52"},
+ {file = "coverage-7.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0be5efd5127542ef31f165de269f77560d6cdef525fffa446de6f7e9186cfb2"},
+ {file = "coverage-7.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ccd341521be3d1b3daeb41960ae94a5e87abe2f46f17224ba5d6f2b8398016cf"},
+ {file = "coverage-7.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09fa497a8ab37784fbb20ab699c246053ac294d13fc7eb40ec007a5043ec91f8"},
+ {file = "coverage-7.4.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b1a93009cb80730c9bca5d6d4665494b725b6e8e157c1cb7f2db5b4b122ea562"},
+ {file = "coverage-7.4.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:690db6517f09336559dc0b5f55342df62370a48f5469fabf502db2c6d1cffcd2"},
+ {file = "coverage-7.4.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:09c3255458533cb76ef55da8cc49ffab9e33f083739c8bd4f58e79fecfe288f7"},
+ {file = "coverage-7.4.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8ce1415194b4a6bd0cdcc3a1dfbf58b63f910dcb7330fe15bdff542c56949f87"},
+ {file = "coverage-7.4.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b91cbc4b195444e7e258ba27ac33769c41b94967919f10037e6355e998af255c"},
+ {file = "coverage-7.4.4-cp310-cp310-win32.whl", hash = "sha256:598825b51b81c808cb6f078dcb972f96af96b078faa47af7dfcdf282835baa8d"},
+ {file = "coverage-7.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:09ef9199ed6653989ebbcaacc9b62b514bb63ea2f90256e71fea3ed74bd8ff6f"},
+ {file = "coverage-7.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0f9f50e7ef2a71e2fae92774c99170eb8304e3fdf9c8c3c7ae9bab3e7229c5cf"},
+ {file = "coverage-7.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:623512f8ba53c422fcfb2ce68362c97945095b864cda94a92edbaf5994201083"},
+ {file = "coverage-7.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0513b9508b93da4e1716744ef6ebc507aff016ba115ffe8ecff744d1322a7b63"},
+ {file = "coverage-7.4.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40209e141059b9370a2657c9b15607815359ab3ef9918f0196b6fccce8d3230f"},
+ {file = "coverage-7.4.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a2b2b78c78293782fd3767d53e6474582f62443d0504b1554370bde86cc8227"},
+ {file = "coverage-7.4.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:73bfb9c09951125d06ee473bed216e2c3742f530fc5acc1383883125de76d9cd"},
+ {file = "coverage-7.4.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f384c3cc76aeedce208643697fb3e8437604b512255de6d18dae3f27655a384"},
+ {file = "coverage-7.4.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:54eb8d1bf7cacfbf2a3186019bcf01d11c666bd495ed18717162f7eb1e9dd00b"},
+ {file = "coverage-7.4.4-cp311-cp311-win32.whl", hash = "sha256:cac99918c7bba15302a2d81f0312c08054a3359eaa1929c7e4b26ebe41e9b286"},
+ {file = "coverage-7.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:b14706df8b2de49869ae03a5ccbc211f4041750cd4a66f698df89d44f4bd30ec"},
+ {file = "coverage-7.4.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:201bef2eea65e0e9c56343115ba3814e896afe6d36ffd37bab783261db430f76"},
+ {file = "coverage-7.4.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:41c9c5f3de16b903b610d09650e5e27adbfa7f500302718c9ffd1c12cf9d6818"},
+ {file = "coverage-7.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d898fe162d26929b5960e4e138651f7427048e72c853607f2b200909794ed978"},
+ {file = "coverage-7.4.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ea79bb50e805cd6ac058dfa3b5c8f6c040cb87fe83de10845857f5535d1db70"},
+ {file = "coverage-7.4.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce4b94265ca988c3f8e479e741693d143026632672e3ff924f25fab50518dd51"},
+ {file = "coverage-7.4.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:00838a35b882694afda09f85e469c96367daa3f3f2b097d846a7216993d37f4c"},
+ {file = "coverage-7.4.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:fdfafb32984684eb03c2d83e1e51f64f0906b11e64482df3c5db936ce3839d48"},
+ {file = "coverage-7.4.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:69eb372f7e2ece89f14751fbcbe470295d73ed41ecd37ca36ed2eb47512a6ab9"},
+ {file = "coverage-7.4.4-cp312-cp312-win32.whl", hash = "sha256:137eb07173141545e07403cca94ab625cc1cc6bc4c1e97b6e3846270e7e1fea0"},
+ {file = "coverage-7.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:d71eec7d83298f1af3326ce0ff1d0ea83c7cb98f72b577097f9083b20bdaf05e"},
+ {file = "coverage-7.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d5ae728ff3b5401cc320d792866987e7e7e880e6ebd24433b70a33b643bb0384"},
+ {file = "coverage-7.4.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cc4f1358cb0c78edef3ed237ef2c86056206bb8d9140e73b6b89fbcfcbdd40e1"},
+ {file = "coverage-7.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8130a2aa2acb8788e0b56938786c33c7c98562697bf9f4c7d6e8e5e3a0501e4a"},
+ {file = "coverage-7.4.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf271892d13e43bc2b51e6908ec9a6a5094a4df1d8af0bfc360088ee6c684409"},
+ {file = "coverage-7.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a4cdc86d54b5da0df6d3d3a2f0b710949286094c3a6700c21e9015932b81447e"},
+ {file = "coverage-7.4.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ae71e7ddb7a413dd60052e90528f2f65270aad4b509563af6d03d53e979feafd"},
+ {file = "coverage-7.4.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:38dd60d7bf242c4ed5b38e094baf6401faa114fc09e9e6632374388a404f98e7"},
+ {file = "coverage-7.4.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa5b1c1bfc28384f1f53b69a023d789f72b2e0ab1b3787aae16992a7ca21056c"},
+ {file = "coverage-7.4.4-cp38-cp38-win32.whl", hash = "sha256:dfa8fe35a0bb90382837b238fff375de15f0dcdb9ae68ff85f7a63649c98527e"},
+ {file = "coverage-7.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:b2991665420a803495e0b90a79233c1433d6ed77ef282e8e152a324bbbc5e0c8"},
+ {file = "coverage-7.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3b799445b9f7ee8bf299cfaed6f5b226c0037b74886a4e11515e569b36fe310d"},
+ {file = "coverage-7.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b4d33f418f46362995f1e9d4f3a35a1b6322cb959c31d88ae56b0298e1c22357"},
+ {file = "coverage-7.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aadacf9a2f407a4688d700e4ebab33a7e2e408f2ca04dbf4aef17585389eff3e"},
+ {file = "coverage-7.4.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c95949560050d04d46b919301826525597f07b33beba6187d04fa64d47ac82e"},
+ {file = "coverage-7.4.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff7687ca3d7028d8a5f0ebae95a6e4827c5616b31a4ee1192bdfde697db110d4"},
+ {file = "coverage-7.4.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5fc1de20b2d4a061b3df27ab9b7c7111e9a710f10dc2b84d33a4ab25065994ec"},
+ {file = "coverage-7.4.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c74880fc64d4958159fbd537a091d2a585448a8f8508bf248d72112723974cbd"},
+ {file = "coverage-7.4.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:742a76a12aa45b44d236815d282b03cfb1de3b4323f3e4ec933acfae08e54ade"},
+ {file = "coverage-7.4.4-cp39-cp39-win32.whl", hash = "sha256:d89d7b2974cae412400e88f35d86af72208e1ede1a541954af5d944a8ba46c57"},
+ {file = "coverage-7.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:9ca28a302acb19b6af89e90f33ee3e1906961f94b54ea37de6737b7ca9d8827c"},
+ {file = "coverage-7.4.4-pp38.pp39.pp310-none-any.whl", hash = "sha256:b2c5edc4ac10a7ef6605a966c58929ec6c1bd0917fb8c15cb3363f65aa40e677"},
+ {file = "coverage-7.4.4.tar.gz", hash = "sha256:c901df83d097649e257e803be22592aedfd5182f07b3cc87d640bbb9afd50f49"},
]
[package.dependencies]
@@ -718,69 +718,69 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc
[[package]]
name = "filelock"
-version = "3.13.1"
+version = "3.13.4"
description = "A platform independent file lock."
optional = false
python-versions = ">=3.8"
files = [
- {file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"},
- {file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"},
+ {file = "filelock-3.13.4-py3-none-any.whl", hash = "sha256:404e5e9253aa60ad457cae1be07c0f0ca90a63931200a47d9b6a6af84fd7b45f"},
+ {file = "filelock-3.13.4.tar.gz", hash = "sha256:d13f466618bfde72bd2c18255e269f72542c6e70e7bac83a0232d6b1cc5c8cf4"},
]
[package.extras]
-docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.24)"]
-testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"]
+docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"]
+testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"]
typing = ["typing-extensions (>=4.8)"]
[[package]]
name = "fonttools"
-version = "4.49.0"
+version = "4.51.0"
description = "Tools to manipulate font files"
optional = true
python-versions = ">=3.8"
files = [
- {file = "fonttools-4.49.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d970ecca0aac90d399e458f0b7a8a597e08f95de021f17785fb68e2dc0b99717"},
- {file = "fonttools-4.49.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac9a745b7609f489faa65e1dc842168c18530874a5f5b742ac3dd79e26bca8bc"},
- {file = "fonttools-4.49.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ba0e00620ca28d4ca11fc700806fd69144b463aa3275e1b36e56c7c09915559"},
- {file = "fonttools-4.49.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdee3ab220283057e7840d5fb768ad4c2ebe65bdba6f75d5d7bf47f4e0ed7d29"},
- {file = "fonttools-4.49.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ce7033cb61f2bb65d8849658d3786188afd80f53dad8366a7232654804529532"},
- {file = "fonttools-4.49.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:07bc5ea02bb7bc3aa40a1eb0481ce20e8d9b9642a9536cde0218290dd6085828"},
- {file = "fonttools-4.49.0-cp310-cp310-win32.whl", hash = "sha256:86eef6aab7fd7c6c8545f3ebd00fd1d6729ca1f63b0cb4d621bccb7d1d1c852b"},
- {file = "fonttools-4.49.0-cp310-cp310-win_amd64.whl", hash = "sha256:1fac1b7eebfce75ea663e860e7c5b4a8831b858c17acd68263bc156125201abf"},
- {file = "fonttools-4.49.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:edc0cce355984bb3c1d1e89d6a661934d39586bb32191ebff98c600f8957c63e"},
- {file = "fonttools-4.49.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:83a0d9336de2cba86d886507dd6e0153df333ac787377325a39a2797ec529814"},
- {file = "fonttools-4.49.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36c8865bdb5cfeec88f5028e7e592370a0657b676c6f1d84a2108e0564f90e22"},
- {file = "fonttools-4.49.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33037d9e56e2562c710c8954d0f20d25b8386b397250d65581e544edc9d6b942"},
- {file = "fonttools-4.49.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8fb022d799b96df3eaa27263e9eea306bd3d437cc9aa981820850281a02b6c9a"},
- {file = "fonttools-4.49.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:33c584c0ef7dc54f5dd4f84082eabd8d09d1871a3d8ca2986b0c0c98165f8e86"},
- {file = "fonttools-4.49.0-cp311-cp311-win32.whl", hash = "sha256:cbe61b158deb09cffdd8540dc4a948d6e8f4d5b4f3bf5cd7db09bd6a61fee64e"},
- {file = "fonttools-4.49.0-cp311-cp311-win_amd64.whl", hash = "sha256:fc11e5114f3f978d0cea7e9853627935b30d451742eeb4239a81a677bdee6bf6"},
- {file = "fonttools-4.49.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d647a0e697e5daa98c87993726da8281c7233d9d4ffe410812a4896c7c57c075"},
- {file = "fonttools-4.49.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f3bbe672df03563d1f3a691ae531f2e31f84061724c319652039e5a70927167e"},
- {file = "fonttools-4.49.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bebd91041dda0d511b0d303180ed36e31f4f54b106b1259b69fade68413aa7ff"},
- {file = "fonttools-4.49.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4145f91531fd43c50f9eb893faa08399816bb0b13c425667c48475c9f3a2b9b5"},
- {file = "fonttools-4.49.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ea329dafb9670ffbdf4dbc3b0e5c264104abcd8441d56de77f06967f032943cb"},
- {file = "fonttools-4.49.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c076a9e548521ecc13d944b1d261ff3d7825048c338722a4bd126d22316087b7"},
- {file = "fonttools-4.49.0-cp312-cp312-win32.whl", hash = "sha256:b607ea1e96768d13be26d2b400d10d3ebd1456343eb5eaddd2f47d1c4bd00880"},
- {file = "fonttools-4.49.0-cp312-cp312-win_amd64.whl", hash = "sha256:a974c49a981e187381b9cc2c07c6b902d0079b88ff01aed34695ec5360767034"},
- {file = "fonttools-4.49.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b85ec0bdd7bdaa5c1946398cbb541e90a6dfc51df76dfa88e0aaa41b335940cb"},
- {file = "fonttools-4.49.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:af20acbe198a8a790618ee42db192eb128afcdcc4e96d99993aca0b60d1faeb4"},
- {file = "fonttools-4.49.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d418b1fee41a1d14931f7ab4b92dc0bc323b490e41d7a333eec82c9f1780c75"},
- {file = "fonttools-4.49.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b44a52b8e6244b6548851b03b2b377a9702b88ddc21dcaf56a15a0393d425cb9"},
- {file = "fonttools-4.49.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:7c7125068e04a70739dad11857a4d47626f2b0bd54de39e8622e89701836eabd"},
- {file = "fonttools-4.49.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:29e89d0e1a7f18bc30f197cfadcbef5a13d99806447c7e245f5667579a808036"},
- {file = "fonttools-4.49.0-cp38-cp38-win32.whl", hash = "sha256:9d95fa0d22bf4f12d2fb7b07a46070cdfc19ef5a7b1c98bc172bfab5bf0d6844"},
- {file = "fonttools-4.49.0-cp38-cp38-win_amd64.whl", hash = "sha256:768947008b4dc552d02772e5ebd49e71430a466e2373008ce905f953afea755a"},
- {file = "fonttools-4.49.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:08877e355d3dde1c11973bb58d4acad1981e6d1140711230a4bfb40b2b937ccc"},
- {file = "fonttools-4.49.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fdb54b076f25d6b0f0298dc706acee5052de20c83530fa165b60d1f2e9cbe3cb"},
- {file = "fonttools-4.49.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0af65c720520710cc01c293f9c70bd69684365c6015cc3671db2b7d807fe51f2"},
- {file = "fonttools-4.49.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f255ce8ed7556658f6d23f6afd22a6d9bbc3edb9b96c96682124dc487e1bf42"},
- {file = "fonttools-4.49.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d00af0884c0e65f60dfaf9340e26658836b935052fdd0439952ae42e44fdd2be"},
- {file = "fonttools-4.49.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:263832fae27481d48dfafcc43174644b6706639661e242902ceb30553557e16c"},
- {file = "fonttools-4.49.0-cp39-cp39-win32.whl", hash = "sha256:0404faea044577a01bb82d47a8fa4bc7a54067fa7e324785dd65d200d6dd1133"},
- {file = "fonttools-4.49.0-cp39-cp39-win_amd64.whl", hash = "sha256:b050d362df50fc6e38ae3954d8c29bf2da52be384649ee8245fdb5186b620836"},
- {file = "fonttools-4.49.0-py3-none-any.whl", hash = "sha256:af281525e5dd7fa0b39fb1667b8d5ca0e2a9079967e14c4bfe90fd1cd13e0f18"},
- {file = "fonttools-4.49.0.tar.gz", hash = "sha256:ebf46e7f01b7af7861310417d7c49591a85d99146fc23a5ba82fdb28af156321"},
+ {file = "fonttools-4.51.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:84d7751f4468dd8cdd03ddada18b8b0857a5beec80bce9f435742abc9a851a74"},
+ {file = "fonttools-4.51.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8b4850fa2ef2cfbc1d1f689bc159ef0f45d8d83298c1425838095bf53ef46308"},
+ {file = "fonttools-4.51.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5b48a1121117047d82695d276c2af2ee3a24ffe0f502ed581acc2673ecf1037"},
+ {file = "fonttools-4.51.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:180194c7fe60c989bb627d7ed5011f2bef1c4d36ecf3ec64daec8302f1ae0716"},
+ {file = "fonttools-4.51.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:96a48e137c36be55e68845fc4284533bda2980f8d6f835e26bca79d7e2006438"},
+ {file = "fonttools-4.51.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:806e7912c32a657fa39d2d6eb1d3012d35f841387c8fc6cf349ed70b7c340039"},
+ {file = "fonttools-4.51.0-cp310-cp310-win32.whl", hash = "sha256:32b17504696f605e9e960647c5f64b35704782a502cc26a37b800b4d69ff3c77"},
+ {file = "fonttools-4.51.0-cp310-cp310-win_amd64.whl", hash = "sha256:c7e91abdfae1b5c9e3a543f48ce96013f9a08c6c9668f1e6be0beabf0a569c1b"},
+ {file = "fonttools-4.51.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a8feca65bab31479d795b0d16c9a9852902e3a3c0630678efb0b2b7941ea9c74"},
+ {file = "fonttools-4.51.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ac27f436e8af7779f0bb4d5425aa3535270494d3bc5459ed27de3f03151e4c2"},
+ {file = "fonttools-4.51.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e19bd9e9964a09cd2433a4b100ca7f34e34731e0758e13ba9a1ed6e5468cc0f"},
+ {file = "fonttools-4.51.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2b92381f37b39ba2fc98c3a45a9d6383bfc9916a87d66ccb6553f7bdd129097"},
+ {file = "fonttools-4.51.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5f6bc991d1610f5c3bbe997b0233cbc234b8e82fa99fc0b2932dc1ca5e5afec0"},
+ {file = "fonttools-4.51.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9696fe9f3f0c32e9a321d5268208a7cc9205a52f99b89479d1b035ed54c923f1"},
+ {file = "fonttools-4.51.0-cp311-cp311-win32.whl", hash = "sha256:3bee3f3bd9fa1d5ee616ccfd13b27ca605c2b4270e45715bd2883e9504735034"},
+ {file = "fonttools-4.51.0-cp311-cp311-win_amd64.whl", hash = "sha256:0f08c901d3866a8905363619e3741c33f0a83a680d92a9f0e575985c2634fcc1"},
+ {file = "fonttools-4.51.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4060acc2bfa2d8e98117828a238889f13b6f69d59f4f2d5857eece5277b829ba"},
+ {file = "fonttools-4.51.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1250e818b5f8a679ad79660855528120a8f0288f8f30ec88b83db51515411fcc"},
+ {file = "fonttools-4.51.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76f1777d8b3386479ffb4a282e74318e730014d86ce60f016908d9801af9ca2a"},
+ {file = "fonttools-4.51.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b5ad456813d93b9c4b7ee55302208db2b45324315129d85275c01f5cb7e61a2"},
+ {file = "fonttools-4.51.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:68b3fb7775a923be73e739f92f7e8a72725fd333eab24834041365d2278c3671"},
+ {file = "fonttools-4.51.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8e2f1a4499e3b5ee82c19b5ee57f0294673125c65b0a1ff3764ea1f9db2f9ef5"},
+ {file = "fonttools-4.51.0-cp312-cp312-win32.whl", hash = "sha256:278e50f6b003c6aed19bae2242b364e575bcb16304b53f2b64f6551b9c000e15"},
+ {file = "fonttools-4.51.0-cp312-cp312-win_amd64.whl", hash = "sha256:b3c61423f22165541b9403ee39874dcae84cd57a9078b82e1dce8cb06b07fa2e"},
+ {file = "fonttools-4.51.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:1621ee57da887c17312acc4b0e7ac30d3a4fb0fec6174b2e3754a74c26bbed1e"},
+ {file = "fonttools-4.51.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e9d9298be7a05bb4801f558522adbe2feea1b0b103d5294ebf24a92dd49b78e5"},
+ {file = "fonttools-4.51.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee1af4be1c5afe4c96ca23badd368d8dc75f611887fb0c0dac9f71ee5d6f110e"},
+ {file = "fonttools-4.51.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c18b49adc721a7d0b8dfe7c3130c89b8704baf599fb396396d07d4aa69b824a1"},
+ {file = "fonttools-4.51.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:de7c29bdbdd35811f14493ffd2534b88f0ce1b9065316433b22d63ca1cd21f14"},
+ {file = "fonttools-4.51.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cadf4e12a608ef1d13e039864f484c8a968840afa0258b0b843a0556497ea9ed"},
+ {file = "fonttools-4.51.0-cp38-cp38-win32.whl", hash = "sha256:aefa011207ed36cd280babfaa8510b8176f1a77261833e895a9d96e57e44802f"},
+ {file = "fonttools-4.51.0-cp38-cp38-win_amd64.whl", hash = "sha256:865a58b6e60b0938874af0968cd0553bcd88e0b2cb6e588727117bd099eef836"},
+ {file = "fonttools-4.51.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:60a3409c9112aec02d5fb546f557bca6efa773dcb32ac147c6baf5f742e6258b"},
+ {file = "fonttools-4.51.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f7e89853d8bea103c8e3514b9f9dc86b5b4120afb4583b57eb10dfa5afbe0936"},
+ {file = "fonttools-4.51.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56fc244f2585d6c00b9bcc59e6593e646cf095a96fe68d62cd4da53dd1287b55"},
+ {file = "fonttools-4.51.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d145976194a5242fdd22df18a1b451481a88071feadf251221af110ca8f00ce"},
+ {file = "fonttools-4.51.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5b8cab0c137ca229433570151b5c1fc6af212680b58b15abd797dcdd9dd5051"},
+ {file = "fonttools-4.51.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:54dcf21a2f2d06ded676e3c3f9f74b2bafded3a8ff12f0983160b13e9f2fb4a7"},
+ {file = "fonttools-4.51.0-cp39-cp39-win32.whl", hash = "sha256:0118ef998a0699a96c7b28457f15546815015a2710a1b23a7bf6c1be60c01636"},
+ {file = "fonttools-4.51.0-cp39-cp39-win_amd64.whl", hash = "sha256:599bdb75e220241cedc6faebfafedd7670335d2e29620d207dd0378a4e9ccc5a"},
+ {file = "fonttools-4.51.0-py3-none-any.whl", hash = "sha256:15c94eeef6b095831067f72c825eb0e2d48bb4cea0647c1b05c981ecba2bf39f"},
+ {file = "fonttools-4.51.0.tar.gz", hash = "sha256:dc0673361331566d7a663d7ce0f6fdcbfbdc1f59c6e3ed1165ad7202ca183c68"},
]
[package.extras]
@@ -870,13 +870,13 @@ test = ["objgraph", "psutil"]
[[package]]
name = "idna"
-version = "3.6"
+version = "3.7"
description = "Internationalized Domain Names in Applications (IDNA)"
optional = false
python-versions = ">=3.5"
files = [
- {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"},
- {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"},
+ {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"},
+ {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"},
]
[[package]]
@@ -892,32 +892,32 @@ files = [
[[package]]
name = "importlib-metadata"
-version = "7.0.1"
+version = "7.1.0"
description = "Read metadata from Python packages"
optional = false
python-versions = ">=3.8"
files = [
- {file = "importlib_metadata-7.0.1-py3-none-any.whl", hash = "sha256:4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e"},
- {file = "importlib_metadata-7.0.1.tar.gz", hash = "sha256:f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc"},
+ {file = "importlib_metadata-7.1.0-py3-none-any.whl", hash = "sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570"},
+ {file = "importlib_metadata-7.1.0.tar.gz", hash = "sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2"},
]
[package.dependencies]
zipp = ">=0.5"
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
perf = ["ipython"]
-testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
+testing = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"]
[[package]]
name = "importlib-resources"
-version = "6.1.2"
+version = "6.4.0"
description = "Read resources from Python packages"
optional = true
python-versions = ">=3.8"
files = [
- {file = "importlib_resources-6.1.2-py3-none-any.whl", hash = "sha256:9a0a862501dc38b68adebc82970140c9e4209fc99601782925178f8386339938"},
- {file = "importlib_resources-6.1.2.tar.gz", hash = "sha256:308abf8474e2dba5f867d279237cd4076482c3de7104a40b41426370e891549b"},
+ {file = "importlib_resources-6.4.0-py3-none-any.whl", hash = "sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c"},
+ {file = "importlib_resources-6.4.0.tar.gz", hash = "sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145"},
]
[package.dependencies]
@@ -925,7 +925,7 @@ zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
[package.extras]
docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"]
+testing = ["jaraco.test (>=5.4)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"]
[[package]]
name = "iniconfig"
@@ -940,13 +940,13 @@ files = [
[[package]]
name = "ipykernel"
-version = "6.29.3"
+version = "6.29.4"
description = "IPython Kernel for Jupyter"
optional = false
python-versions = ">=3.8"
files = [
- {file = "ipykernel-6.29.3-py3-none-any.whl", hash = "sha256:5aa086a4175b0229d4eca211e181fb473ea78ffd9869af36ba7694c947302a21"},
- {file = "ipykernel-6.29.3.tar.gz", hash = "sha256:e14c250d1f9ea3989490225cc1a542781b095a18a19447fcf2b5eaf7d0ac5bd2"},
+ {file = "ipykernel-6.29.4-py3-none-any.whl", hash = "sha256:1181e653d95c6808039c509ef8e67c4126b3b3af7781496c7cbfb5ed938a27da"},
+ {file = "ipykernel-6.29.4.tar.gz", hash = "sha256:3d44070060f9475ac2092b760123fadf105d2e2493c24848b6691a7c4f42af5c"},
]
[package.dependencies]
@@ -1095,13 +1095,13 @@ referencing = ">=0.31.0"
[[package]]
name = "jupyter-client"
-version = "8.6.0"
+version = "8.6.1"
description = "Jupyter protocol implementation and client libraries"
optional = false
python-versions = ">=3.8"
files = [
- {file = "jupyter_client-8.6.0-py3-none-any.whl", hash = "sha256:909c474dbe62582ae62b758bca86d6518c85234bdee2d908c778db6d72f39d99"},
- {file = "jupyter_client-8.6.0.tar.gz", hash = "sha256:0642244bb83b4764ae60d07e010e15f0e2d275ec4e918a8f7b80fbbef3ca60c7"},
+ {file = "jupyter_client-8.6.1-py3-none-any.whl", hash = "sha256:3b7bd22f058434e3b9a7ea4b1500ed47de2713872288c0d511d19926f99b459f"},
+ {file = "jupyter_client-8.6.1.tar.gz", hash = "sha256:e842515e2bab8e19186d89fdfea7abd15e39dd581f94e399f00e2af5a1652d3f"},
]
[package.dependencies]
@@ -1118,13 +1118,13 @@ test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pyt
[[package]]
name = "jupyter-core"
-version = "5.7.1"
+version = "5.7.2"
description = "Jupyter core package. A base package on which Jupyter projects rely."
optional = false
python-versions = ">=3.8"
files = [
- {file = "jupyter_core-5.7.1-py3-none-any.whl", hash = "sha256:c65c82126453a723a2804aa52409930434598fd9d35091d63dfb919d2b765bb7"},
- {file = "jupyter_core-5.7.1.tar.gz", hash = "sha256:de61a9d7fc71240f688b2fb5ab659fbb56979458dc66a71decd098e03c79e218"},
+ {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"},
+ {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"},
]
[package.dependencies]
@@ -1134,7 +1134,7 @@ traitlets = ">=5.3"
[package.extras]
docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"]
-test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"]
+test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout"]
[[package]]
name = "jupyterlab-pygments"
@@ -1262,18 +1262,15 @@ files = [
[[package]]
name = "latexcodec"
-version = "2.0.1"
+version = "3.0.0"
description = "A lexer and codec to work with LaTeX code in Python."
optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+python-versions = ">=3.7"
files = [
- {file = "latexcodec-2.0.1-py2.py3-none-any.whl", hash = "sha256:c277a193638dc7683c4c30f6684e3db728a06efb0dc9cf346db8bd0aa6c5d271"},
- {file = "latexcodec-2.0.1.tar.gz", hash = "sha256:2aa2551c373261cefe2ad3a8953a6d6533e68238d180eb4bb91d7964adb3fe9a"},
+ {file = "latexcodec-3.0.0-py3-none-any.whl", hash = "sha256:6f3477ad5e61a0a99bd31a6a370c34e88733a6bad9c921a3ffcfacada12f41a7"},
+ {file = "latexcodec-3.0.0.tar.gz", hash = "sha256:917dc5fe242762cc19d963e6548b42d63a118028cdd3361d62397e3b638b6bc5"},
]
-[package.dependencies]
-six = ">=1.4.1"
-
[[package]]
name = "llvmlite"
version = "0.42.0"
@@ -1425,39 +1422,39 @@ files = [
[[package]]
name = "matplotlib"
-version = "3.8.3"
+version = "3.8.4"
description = "Python plotting package"
optional = true
python-versions = ">=3.9"
files = [
- {file = "matplotlib-3.8.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:cf60138ccc8004f117ab2a2bad513cc4d122e55864b4fe7adf4db20ca68a078f"},
- {file = "matplotlib-3.8.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5f557156f7116be3340cdeef7f128fa99b0d5d287d5f41a16e169819dcf22357"},
- {file = "matplotlib-3.8.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f386cf162b059809ecfac3bcc491a9ea17da69fa35c8ded8ad154cd4b933d5ec"},
- {file = "matplotlib-3.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3c5f96f57b0369c288bf6f9b5274ba45787f7e0589a34d24bdbaf6d3344632f"},
- {file = "matplotlib-3.8.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:83e0f72e2c116ca7e571c57aa29b0fe697d4c6425c4e87c6e994159e0c008635"},
- {file = "matplotlib-3.8.3-cp310-cp310-win_amd64.whl", hash = "sha256:1c5c8290074ba31a41db1dc332dc2b62def469ff33766cbe325d32a3ee291aea"},
- {file = "matplotlib-3.8.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5184e07c7e1d6d1481862ee361905b7059f7fe065fc837f7c3dc11eeb3f2f900"},
- {file = "matplotlib-3.8.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d7e7e0993d0758933b1a241a432b42c2db22dfa37d4108342ab4afb9557cbe3e"},
- {file = "matplotlib-3.8.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:04b36ad07eac9740fc76c2aa16edf94e50b297d6eb4c081e3add863de4bb19a7"},
- {file = "matplotlib-3.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c42dae72a62f14982f1474f7e5c9959fc4bc70c9de11cc5244c6e766200ba65"},
- {file = "matplotlib-3.8.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bf5932eee0d428192c40b7eac1399d608f5d995f975cdb9d1e6b48539a5ad8d0"},
- {file = "matplotlib-3.8.3-cp311-cp311-win_amd64.whl", hash = "sha256:40321634e3a05ed02abf7c7b47a50be50b53ef3eaa3a573847431a545585b407"},
- {file = "matplotlib-3.8.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:09074f8057917d17ab52c242fdf4916f30e99959c1908958b1fc6032e2d0f6d4"},
- {file = "matplotlib-3.8.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5745f6d0fb5acfabbb2790318db03809a253096e98c91b9a31969df28ee604aa"},
- {file = "matplotlib-3.8.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b97653d869a71721b639714b42d87cda4cfee0ee74b47c569e4874c7590c55c5"},
- {file = "matplotlib-3.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:242489efdb75b690c9c2e70bb5c6550727058c8a614e4c7716f363c27e10bba1"},
- {file = "matplotlib-3.8.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:83c0653c64b73926730bd9ea14aa0f50f202ba187c307a881673bad4985967b7"},
- {file = "matplotlib-3.8.3-cp312-cp312-win_amd64.whl", hash = "sha256:ef6c1025a570354297d6c15f7d0f296d95f88bd3850066b7f1e7b4f2f4c13a39"},
- {file = "matplotlib-3.8.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c4af3f7317f8a1009bbb2d0bf23dfaba859eb7dd4ccbd604eba146dccaaaf0a4"},
- {file = "matplotlib-3.8.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4c6e00a65d017d26009bac6808f637b75ceade3e1ff91a138576f6b3065eeeba"},
- {file = "matplotlib-3.8.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7b49ab49a3bea17802df6872f8d44f664ba8f9be0632a60c99b20b6db2165b7"},
- {file = "matplotlib-3.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6728dde0a3997396b053602dbd907a9bd64ec7d5cf99e728b404083698d3ca01"},
- {file = "matplotlib-3.8.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:813925d08fb86aba139f2d31864928d67511f64e5945ca909ad5bc09a96189bb"},
- {file = "matplotlib-3.8.3-cp39-cp39-win_amd64.whl", hash = "sha256:cd3a0c2be76f4e7be03d34a14d49ded6acf22ef61f88da600a18a5cd8b3c5f3c"},
- {file = "matplotlib-3.8.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fa93695d5c08544f4a0dfd0965f378e7afc410d8672816aff1e81be1f45dbf2e"},
- {file = "matplotlib-3.8.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9764df0e8778f06414b9d281a75235c1e85071f64bb5d71564b97c1306a2afc"},
- {file = "matplotlib-3.8.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5e431a09e6fab4012b01fc155db0ce6dccacdbabe8198197f523a4ef4805eb26"},
- {file = "matplotlib-3.8.3.tar.gz", hash = "sha256:7b416239e9ae38be54b028abbf9048aff5054a9aba5416bef0bd17f9162ce161"},
+ {file = "matplotlib-3.8.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:abc9d838f93583650c35eca41cfcec65b2e7cb50fd486da6f0c49b5e1ed23014"},
+ {file = "matplotlib-3.8.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f65c9f002d281a6e904976007b2d46a1ee2bcea3a68a8c12dda24709ddc9106"},
+ {file = "matplotlib-3.8.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce1edd9f5383b504dbc26eeea404ed0a00656c526638129028b758fd43fc5f10"},
+ {file = "matplotlib-3.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecd79298550cba13a43c340581a3ec9c707bd895a6a061a78fa2524660482fc0"},
+ {file = "matplotlib-3.8.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:90df07db7b599fe7035d2f74ab7e438b656528c68ba6bb59b7dc46af39ee48ef"},
+ {file = "matplotlib-3.8.4-cp310-cp310-win_amd64.whl", hash = "sha256:ac24233e8f2939ac4fd2919eed1e9c0871eac8057666070e94cbf0b33dd9c338"},
+ {file = "matplotlib-3.8.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:72f9322712e4562e792b2961971891b9fbbb0e525011e09ea0d1f416c4645661"},
+ {file = "matplotlib-3.8.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:232ce322bfd020a434caaffbd9a95333f7c2491e59cfc014041d95e38ab90d1c"},
+ {file = "matplotlib-3.8.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6addbd5b488aedb7f9bc19f91cd87ea476206f45d7116fcfe3d31416702a82fa"},
+ {file = "matplotlib-3.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc4ccdc64e3039fc303defd119658148f2349239871db72cd74e2eeaa9b80b71"},
+ {file = "matplotlib-3.8.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b7a2a253d3b36d90c8993b4620183b55665a429da8357a4f621e78cd48b2b30b"},
+ {file = "matplotlib-3.8.4-cp311-cp311-win_amd64.whl", hash = "sha256:8080d5081a86e690d7688ffa542532e87f224c38a6ed71f8fbed34dd1d9fedae"},
+ {file = "matplotlib-3.8.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:6485ac1f2e84676cff22e693eaa4fbed50ef5dc37173ce1f023daef4687df616"},
+ {file = "matplotlib-3.8.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c89ee9314ef48c72fe92ce55c4e95f2f39d70208f9f1d9db4e64079420d8d732"},
+ {file = "matplotlib-3.8.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50bac6e4d77e4262c4340d7a985c30912054745ec99756ce213bfbc3cb3808eb"},
+ {file = "matplotlib-3.8.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f51c4c869d4b60d769f7b4406eec39596648d9d70246428745a681c327a8ad30"},
+ {file = "matplotlib-3.8.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b12ba985837e4899b762b81f5b2845bd1a28f4fdd1a126d9ace64e9c4eb2fb25"},
+ {file = "matplotlib-3.8.4-cp312-cp312-win_amd64.whl", hash = "sha256:7a6769f58ce51791b4cb8b4d7642489df347697cd3e23d88266aaaee93b41d9a"},
+ {file = "matplotlib-3.8.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:843cbde2f0946dadd8c5c11c6d91847abd18ec76859dc319362a0964493f0ba6"},
+ {file = "matplotlib-3.8.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1c13f041a7178f9780fb61cc3a2b10423d5e125480e4be51beaf62b172413b67"},
+ {file = "matplotlib-3.8.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb44f53af0a62dc80bba4443d9b27f2fde6acfdac281d95bc872dc148a6509cc"},
+ {file = "matplotlib-3.8.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:606e3b90897554c989b1e38a258c626d46c873523de432b1462f295db13de6f9"},
+ {file = "matplotlib-3.8.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9bb0189011785ea794ee827b68777db3ca3f93f3e339ea4d920315a0e5a78d54"},
+ {file = "matplotlib-3.8.4-cp39-cp39-win_amd64.whl", hash = "sha256:6209e5c9aaccc056e63b547a8152661324404dd92340a6e479b3a7f24b42a5d0"},
+ {file = "matplotlib-3.8.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c7064120a59ce6f64103c9cefba8ffe6fba87f2c61d67c401186423c9a20fd35"},
+ {file = "matplotlib-3.8.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0e47eda4eb2614300fc7bb4657fced3e83d6334d03da2173b09e447418d499f"},
+ {file = "matplotlib-3.8.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:493e9f6aa5819156b58fce42b296ea31969f2aab71c5b680b4ea7a3cb5c07d94"},
+ {file = "matplotlib-3.8.4.tar.gz", hash = "sha256:8aac397d5e9ec158960e31c381c5ffc52ddd52bd9a47717e2a694038167dffea"},
]
[package.dependencies]
@@ -1466,7 +1463,7 @@ cycler = ">=0.10"
fonttools = ">=4.22.0"
importlib-resources = {version = ">=3.2.0", markers = "python_version < \"3.10\""}
kiwisolver = ">=1.3.1"
-numpy = ">=1.21,<2"
+numpy = ">=1.21"
packaging = ">=20.0"
pillow = ">=8"
pyparsing = ">=2.3.1"
@@ -1474,13 +1471,13 @@ python-dateutil = ">=2.7"
[[package]]
name = "matplotlib-inline"
-version = "0.1.6"
+version = "0.1.7"
description = "Inline Matplotlib backend for Jupyter"
optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.8"
files = [
- {file = "matplotlib-inline-0.1.6.tar.gz", hash = "sha256:f887e5f10ba98e8d2b150ddcf4702c1e5f8b3a20005eb0f74bfdbd360ee6f304"},
- {file = "matplotlib_inline-0.1.6-py3-none-any.whl", hash = "sha256:f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311"},
+ {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"},
+ {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"},
]
[package.dependencies]
@@ -1510,13 +1507,13 @@ files = [
[[package]]
name = "nbclient"
-version = "0.9.0"
+version = "0.10.0"
description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor."
optional = false
python-versions = ">=3.8.0"
files = [
- {file = "nbclient-0.9.0-py3-none-any.whl", hash = "sha256:a3a1ddfb34d4a9d17fc744d655962714a866639acd30130e9be84191cd97cd15"},
- {file = "nbclient-0.9.0.tar.gz", hash = "sha256:4b28c207877cf33ef3a9838cdc7a54c5ceff981194a82eac59d558f05487295e"},
+ {file = "nbclient-0.10.0-py3-none-any.whl", hash = "sha256:f13e3529332a1f1f81d82a53210322476a168bb7090a0289c795fe9cc11c9d3f"},
+ {file = "nbclient-0.10.0.tar.gz", hash = "sha256:4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09"},
]
[package.dependencies]
@@ -1528,17 +1525,17 @@ traitlets = ">=5.4"
[package.extras]
dev = ["pre-commit"]
docs = ["autodoc-traits", "mock", "moto", "myst-parser", "nbclient[test]", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling"]
-test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"]
+test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"]
[[package]]
name = "nbconvert"
-version = "7.16.1"
+version = "7.16.3"
description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)."
optional = false
python-versions = ">=3.8"
files = [
- {file = "nbconvert-7.16.1-py3-none-any.whl", hash = "sha256:3188727dffadfdc9c6a1c7250729063d7bc78b355ad7aa023138afa030d1cd07"},
- {file = "nbconvert-7.16.1.tar.gz", hash = "sha256:e79e6a074f49ba3ed29428ed86487bf51509d9aab613bd8522ac08f6d28fd7fd"},
+ {file = "nbconvert-7.16.3-py3-none-any.whl", hash = "sha256:ddeff14beeeedf3dd0bc506623e41e4507e551736de59df69a91f86700292b3b"},
+ {file = "nbconvert-7.16.3.tar.gz", hash = "sha256:a6733b78ce3d47c3f85e504998495b07e6ea9cf9bf6ec1c98dda63ec6ad19142"},
]
[package.dependencies]
@@ -1565,24 +1562,24 @@ docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sp
qtpdf = ["nbconvert[qtpng]"]
qtpng = ["pyqtwebengine (>=5.15)"]
serve = ["tornado (>=6.1)"]
-test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest"]
+test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest (>=7)"]
webpdf = ["playwright"]
[[package]]
name = "nbformat"
-version = "5.9.2"
+version = "5.10.4"
description = "The Jupyter Notebook format"
optional = false
python-versions = ">=3.8"
files = [
- {file = "nbformat-5.9.2-py3-none-any.whl", hash = "sha256:1c5172d786a41b82bcfd0c23f9e6b6f072e8fb49c39250219e4acfff1efe89e9"},
- {file = "nbformat-5.9.2.tar.gz", hash = "sha256:5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192"},
+ {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"},
+ {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"},
]
[package.dependencies]
-fastjsonschema = "*"
+fastjsonschema = ">=2.15"
jsonschema = ">=2.6"
-jupyter-core = "*"
+jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
traitlets = ">=5.1"
[package.extras]
@@ -1621,32 +1618,32 @@ files = [
[[package]]
name = "numba"
-version = "0.59.0"
+version = "0.59.1"
description = "compiling Python code using LLVM"
optional = false
python-versions = ">=3.9"
files = [
- {file = "numba-0.59.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d061d800473fb8fef76a455221f4ad649a53f5e0f96e3f6c8b8553ee6fa98fa"},
- {file = "numba-0.59.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c086a434e7d3891ce5dfd3d1e7ee8102ac1e733962098578b507864120559ceb"},
- {file = "numba-0.59.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9e20736bf62e61f8353fb71b0d3a1efba636c7a303d511600fc57648b55823ed"},
- {file = "numba-0.59.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e86e6786aec31d2002122199486e10bbc0dc40f78d76364cded375912b13614c"},
- {file = "numba-0.59.0-cp310-cp310-win_amd64.whl", hash = "sha256:0307ee91b24500bb7e64d8a109848baf3a3905df48ce142b8ac60aaa406a0400"},
- {file = "numba-0.59.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d540f69a8245fb714419c2209e9af6104e568eb97623adc8943642e61f5d6d8e"},
- {file = "numba-0.59.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1192d6b2906bf3ff72b1d97458724d98860ab86a91abdd4cfd9328432b661e31"},
- {file = "numba-0.59.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:90efb436d3413809fcd15298c6d395cb7d98184350472588356ccf19db9e37c8"},
- {file = "numba-0.59.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cd3dac45e25d927dcb65d44fb3a973994f5add2b15add13337844afe669dd1ba"},
- {file = "numba-0.59.0-cp311-cp311-win_amd64.whl", hash = "sha256:753dc601a159861808cc3207bad5c17724d3b69552fd22768fddbf302a817a4c"},
- {file = "numba-0.59.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ce62bc0e6dd5264e7ff7f34f41786889fa81a6b860662f824aa7532537a7bee0"},
- {file = "numba-0.59.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8cbef55b73741b5eea2dbaf1b0590b14977ca95a13a07d200b794f8f6833a01c"},
- {file = "numba-0.59.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:70d26ba589f764be45ea8c272caa467dbe882b9676f6749fe6f42678091f5f21"},
- {file = "numba-0.59.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e125f7d69968118c28ec0eed9fbedd75440e64214b8d2eac033c22c04db48492"},
- {file = "numba-0.59.0-cp312-cp312-win_amd64.whl", hash = "sha256:4981659220b61a03c1e557654027d271f56f3087448967a55c79a0e5f926de62"},
- {file = "numba-0.59.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe4d7562d1eed754a7511ed7ba962067f198f86909741c5c6e18c4f1819b1f47"},
- {file = "numba-0.59.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6feb1504bb432280f900deaf4b1dadcee68812209500ed3f81c375cbceab24dc"},
- {file = "numba-0.59.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:944faad25ee23ea9dda582bfb0189fb9f4fc232359a80ab2a028b94c14ce2b1d"},
- {file = "numba-0.59.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5516a469514bfae52a9d7989db4940653a5cbfac106f44cb9c50133b7ad6224b"},
- {file = "numba-0.59.0-cp39-cp39-win_amd64.whl", hash = "sha256:32bd0a41525ec0b1b853da244808f4e5333867df3c43c30c33f89cf20b9c2b63"},
- {file = "numba-0.59.0.tar.gz", hash = "sha256:12b9b064a3e4ad00e2371fc5212ef0396c80f41caec9b5ec391c8b04b6eaf2a8"},
+ {file = "numba-0.59.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:97385a7f12212c4f4bc28f648720a92514bee79d7063e40ef66c2d30600fd18e"},
+ {file = "numba-0.59.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0b77aecf52040de2a1eb1d7e314497b9e56fba17466c80b457b971a25bb1576d"},
+ {file = "numba-0.59.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3476a4f641bfd58f35ead42f4dcaf5f132569c4647c6f1360ccf18ee4cda3990"},
+ {file = "numba-0.59.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:525ef3f820931bdae95ee5379c670d5c97289c6520726bc6937a4a7d4230ba24"},
+ {file = "numba-0.59.1-cp310-cp310-win_amd64.whl", hash = "sha256:990e395e44d192a12105eca3083b61307db7da10e093972ca285c85bef0963d6"},
+ {file = "numba-0.59.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:43727e7ad20b3ec23ee4fc642f5b61845c71f75dd2825b3c234390c6d8d64051"},
+ {file = "numba-0.59.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:411df625372c77959570050e861981e9d196cc1da9aa62c3d6a836b5cc338966"},
+ {file = "numba-0.59.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2801003caa263d1e8497fb84829a7ecfb61738a95f62bc05693fcf1733e978e4"},
+ {file = "numba-0.59.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:dd2842fac03be4e5324ebbbd4d2d0c8c0fc6e0df75c09477dd45b288a0777389"},
+ {file = "numba-0.59.1-cp311-cp311-win_amd64.whl", hash = "sha256:0594b3dfb369fada1f8bb2e3045cd6c61a564c62e50cf1f86b4666bc721b3450"},
+ {file = "numba-0.59.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1cce206a3b92836cdf26ef39d3a3242fec25e07f020cc4feec4c4a865e340569"},
+ {file = "numba-0.59.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8c8b4477763cb1fbd86a3be7050500229417bf60867c93e131fd2626edb02238"},
+ {file = "numba-0.59.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7d80bce4ef7e65bf895c29e3889ca75a29ee01da80266a01d34815918e365835"},
+ {file = "numba-0.59.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f7ad1d217773e89a9845886401eaaab0a156a90aa2f179fdc125261fd1105096"},
+ {file = "numba-0.59.1-cp312-cp312-win_amd64.whl", hash = "sha256:5bf68f4d69dd3a9f26a9b23548fa23e3bcb9042e2935257b471d2a8d3c424b7f"},
+ {file = "numba-0.59.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4e0318ae729de6e5dbe64c75ead1a95eb01fabfe0e2ebed81ebf0344d32db0ae"},
+ {file = "numba-0.59.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0f68589740a8c38bb7dc1b938b55d1145244c8353078eea23895d4f82c8b9ec1"},
+ {file = "numba-0.59.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:649913a3758891c77c32e2d2a3bcbedf4a69f5fea276d11f9119677c45a422e8"},
+ {file = "numba-0.59.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9712808e4545270291d76b9a264839ac878c5eb7d8b6e02c970dc0ac29bc8187"},
+ {file = "numba-0.59.1-cp39-cp39-win_amd64.whl", hash = "sha256:8d51ccd7008a83105ad6a0082b6a2b70f1142dc7cfd76deb8c5a862367eb8c86"},
+ {file = "numba-0.59.1.tar.gz", hash = "sha256:76f69132b96028d2774ed20415e8c528a34e3299a40581bae178f0994a2f370b"},
]
[package.dependencies]
@@ -1700,58 +1697,58 @@ files = [
[[package]]
name = "packaging"
-version = "23.2"
+version = "24.0"
description = "Core utilities for Python packages"
optional = false
python-versions = ">=3.7"
files = [
- {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"},
- {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"},
+ {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"},
+ {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"},
]
[[package]]
name = "pandas"
-version = "2.2.1"
+version = "2.2.2"
description = "Powerful data structures for data analysis, time series, and statistics"
optional = true
python-versions = ">=3.9"
files = [
- {file = "pandas-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8df8612be9cd1c7797c93e1c5df861b2ddda0b48b08f2c3eaa0702cf88fb5f88"},
- {file = "pandas-2.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0f573ab277252ed9aaf38240f3b54cfc90fff8e5cab70411ee1d03f5d51f3944"},
- {file = "pandas-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f02a3a6c83df4026e55b63c1f06476c9aa3ed6af3d89b4f04ea656ccdaaaa359"},
- {file = "pandas-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c38ce92cb22a4bea4e3929429aa1067a454dcc9c335799af93ba9be21b6beb51"},
- {file = "pandas-2.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c2ce852e1cf2509a69e98358e8458775f89599566ac3775e70419b98615f4b06"},
- {file = "pandas-2.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:53680dc9b2519cbf609c62db3ed7c0b499077c7fefda564e330286e619ff0dd9"},
- {file = "pandas-2.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:94e714a1cca63e4f5939cdce5f29ba8d415d85166be3441165edd427dc9f6bc0"},
- {file = "pandas-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f821213d48f4ab353d20ebc24e4faf94ba40d76680642fb7ce2ea31a3ad94f9b"},
- {file = "pandas-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c70e00c2d894cb230e5c15e4b1e1e6b2b478e09cf27cc593a11ef955b9ecc81a"},
- {file = "pandas-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e97fbb5387c69209f134893abc788a6486dbf2f9e511070ca05eed4b930b1b02"},
- {file = "pandas-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101d0eb9c5361aa0146f500773395a03839a5e6ecde4d4b6ced88b7e5a1a6403"},
- {file = "pandas-2.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7d2ed41c319c9fb4fd454fe25372028dfa417aacb9790f68171b2e3f06eae8cd"},
- {file = "pandas-2.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:af5d3c00557d657c8773ef9ee702c61dd13b9d7426794c9dfeb1dc4a0bf0ebc7"},
- {file = "pandas-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:06cf591dbaefb6da9de8472535b185cba556d0ce2e6ed28e21d919704fef1a9e"},
- {file = "pandas-2.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:88ecb5c01bb9ca927ebc4098136038519aa5d66b44671861ffab754cae75102c"},
- {file = "pandas-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:04f6ec3baec203c13e3f8b139fb0f9f86cd8c0b94603ae3ae8ce9a422e9f5bee"},
- {file = "pandas-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a935a90a76c44fe170d01e90a3594beef9e9a6220021acfb26053d01426f7dc2"},
- {file = "pandas-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c391f594aae2fd9f679d419e9a4d5ba4bce5bb13f6a989195656e7dc4b95c8f0"},
- {file = "pandas-2.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9d1265545f579edf3f8f0cb6f89f234f5e44ba725a34d86535b1a1d38decbccc"},
- {file = "pandas-2.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:11940e9e3056576ac3244baef2fedade891977bcc1cb7e5cc8f8cc7d603edc89"},
- {file = "pandas-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:4acf681325ee1c7f950d058b05a820441075b0dd9a2adf5c4835b9bc056bf4fb"},
- {file = "pandas-2.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9bd8a40f47080825af4317d0340c656744f2bfdb6819f818e6ba3cd24c0e1397"},
- {file = "pandas-2.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:df0c37ebd19e11d089ceba66eba59a168242fc6b7155cba4ffffa6eccdfb8f16"},
- {file = "pandas-2.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:739cc70eaf17d57608639e74d63387b0d8594ce02f69e7a0b046f117974b3019"},
- {file = "pandas-2.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9d3558d263073ed95e46f4650becff0c5e1ffe0fc3a015de3c79283dfbdb3df"},
- {file = "pandas-2.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4aa1d8707812a658debf03824016bf5ea0d516afdea29b7dc14cf687bc4d4ec6"},
- {file = "pandas-2.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:76f27a809cda87e07f192f001d11adc2b930e93a2b0c4a236fde5429527423be"},
- {file = "pandas-2.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:1ba21b1d5c0e43416218db63037dbe1a01fc101dc6e6024bcad08123e48004ab"},
- {file = "pandas-2.2.1.tar.gz", hash = "sha256:0ab90f87093c13f3e8fa45b48ba9f39181046e8f3317d3aadb2fffbb1b978572"},
+ {file = "pandas-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:90c6fca2acf139569e74e8781709dccb6fe25940488755716d1d354d6bc58bce"},
+ {file = "pandas-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c7adfc142dac335d8c1e0dcbd37eb8617eac386596eb9e1a1b77791cf2498238"},
+ {file = "pandas-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4abfe0be0d7221be4f12552995e58723c7422c80a659da13ca382697de830c08"},
+ {file = "pandas-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8635c16bf3d99040fdf3ca3db669a7250ddf49c55dc4aa8fe0ae0fa8d6dcc1f0"},
+ {file = "pandas-2.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:40ae1dffb3967a52203105a077415a86044a2bea011b5f321c6aa64b379a3f51"},
+ {file = "pandas-2.2.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8e5a0b00e1e56a842f922e7fae8ae4077aee4af0acb5ae3622bd4b4c30aedf99"},
+ {file = "pandas-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:ddf818e4e6c7c6f4f7c8a12709696d193976b591cc7dc50588d3d1a6b5dc8772"},
+ {file = "pandas-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:696039430f7a562b74fa45f540aca068ea85fa34c244d0deee539cb6d70aa288"},
+ {file = "pandas-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8e90497254aacacbc4ea6ae5e7a8cd75629d6ad2b30025a4a8b09aa4faf55151"},
+ {file = "pandas-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58b84b91b0b9f4bafac2a0ac55002280c094dfc6402402332c0913a59654ab2b"},
+ {file = "pandas-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2123dc9ad6a814bcdea0f099885276b31b24f7edf40f6cdbc0912672e22eee"},
+ {file = "pandas-2.2.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2925720037f06e89af896c70bca73459d7e6a4be96f9de79e2d440bd499fe0db"},
+ {file = "pandas-2.2.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0cace394b6ea70c01ca1595f839cf193df35d1575986e484ad35c4aeae7266c1"},
+ {file = "pandas-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:873d13d177501a28b2756375d59816c365e42ed8417b41665f346289adc68d24"},
+ {file = "pandas-2.2.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9dfde2a0ddef507a631dc9dc4af6a9489d5e2e740e226ad426a05cabfbd7c8ef"},
+ {file = "pandas-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e9b79011ff7a0f4b1d6da6a61aa1aa604fb312d6647de5bad20013682d1429ce"},
+ {file = "pandas-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1cb51fe389360f3b5a4d57dbd2848a5f033350336ca3b340d1c53a1fad33bcad"},
+ {file = "pandas-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eee3a87076c0756de40b05c5e9a6069c035ba43e8dd71c379e68cab2c20f16ad"},
+ {file = "pandas-2.2.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3e374f59e440d4ab45ca2fffde54b81ac3834cf5ae2cdfa69c90bc03bde04d76"},
+ {file = "pandas-2.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:43498c0bdb43d55cb162cdc8c06fac328ccb5d2eabe3cadeb3529ae6f0517c32"},
+ {file = "pandas-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:d187d355ecec3629624fccb01d104da7d7f391db0311145817525281e2804d23"},
+ {file = "pandas-2.2.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0ca6377b8fca51815f382bd0b697a0814c8bda55115678cbc94c30aacbb6eff2"},
+ {file = "pandas-2.2.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9057e6aa78a584bc93a13f0a9bf7e753a5e9770a30b4d758b8d5f2a62a9433cd"},
+ {file = "pandas-2.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:001910ad31abc7bf06f49dcc903755d2f7f3a9186c0c040b827e522e9cef0863"},
+ {file = "pandas-2.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66b479b0bd07204e37583c191535505410daa8df638fd8e75ae1b383851fe921"},
+ {file = "pandas-2.2.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a77e9d1c386196879aa5eb712e77461aaee433e54c68cf253053a73b7e49c33a"},
+ {file = "pandas-2.2.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:92fd6b027924a7e178ac202cfbe25e53368db90d56872d20ffae94b96c7acc57"},
+ {file = "pandas-2.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:640cef9aa381b60e296db324337a554aeeb883ead99dc8f6c18e81a93942f5f4"},
+ {file = "pandas-2.2.2.tar.gz", hash = "sha256:9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54"},
]
[package.dependencies]
numpy = [
- {version = ">=1.22.4,<2", markers = "python_version < \"3.11\""},
- {version = ">=1.26.0,<2", markers = "python_version >= \"3.12\""},
- {version = ">=1.23.2,<2", markers = "python_version == \"3.11\""},
+ {version = ">=1.22.4", markers = "python_version < \"3.11\""},
+ {version = ">=1.26.0", markers = "python_version >= \"3.12\""},
+ {version = ">=1.23.2", markers = "python_version == \"3.11\""},
]
python-dateutil = ">=2.8.2"
pytz = ">=2020.1"
@@ -1795,18 +1792,18 @@ files = [
[[package]]
name = "parso"
-version = "0.8.3"
+version = "0.8.4"
description = "A Python Parser"
optional = false
python-versions = ">=3.6"
files = [
- {file = "parso-0.8.3-py2.py3-none-any.whl", hash = "sha256:c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75"},
- {file = "parso-0.8.3.tar.gz", hash = "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0"},
+ {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"},
+ {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"},
]
[package.extras]
-qa = ["flake8 (==3.8.3)", "mypy (==0.782)"]
-testing = ["docopt", "pytest (<6.0.0)"]
+qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"]
+testing = ["docopt", "pytest"]
[[package]]
name = "pdbpp"
@@ -1943,79 +1940,80 @@ ptyprocess = ">=0.5"
[[package]]
name = "pillow"
-version = "10.2.0"
+version = "10.3.0"
description = "Python Imaging Library (Fork)"
optional = true
python-versions = ">=3.8"
files = [
- {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"},
- {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"},
- {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fad5ff2f13d69b7e74ce5b4ecd12cc0ec530fcee76356cac6742785ff71c452"},
- {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4"},
- {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:47c0995fc4e7f79b5cfcab1fc437ff2890b770440f7696a3ba065ee0fd496563"},
- {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:322bdf3c9b556e9ffb18f93462e5f749d3444ce081290352c6070d014c93feb2"},
- {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51f1a1bffc50e2e9492e87d8e09a17c5eea8409cda8d3f277eb6edc82813c17c"},
- {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69ffdd6120a4737710a9eee73e1d2e37db89b620f702754b8f6e62594471dee0"},
- {file = "pillow-10.2.0-cp310-cp310-win32.whl", hash = "sha256:c6dafac9e0f2b3c78df97e79af707cdc5ef8e88208d686a4847bab8266870023"},
- {file = "pillow-10.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:aebb6044806f2e16ecc07b2a2637ee1ef67a11840a66752751714a0d924adf72"},
- {file = "pillow-10.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:7049e301399273a0136ff39b84c3678e314f2158f50f517bc50285fb5ec847ad"},
- {file = "pillow-10.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35bb52c37f256f662abdfa49d2dfa6ce5d93281d323a9af377a120e89a9eafb5"},
- {file = "pillow-10.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c23f307202661071d94b5e384e1e1dc7dfb972a28a2310e4ee16103e66ddb67"},
- {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773efe0603db30c281521a7c0214cad7836c03b8ccff897beae9b47c0b657d61"},
- {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11fa2e5984b949b0dd6d7a94d967743d87c577ff0b83392f17cb3990d0d2fd6e"},
- {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:716d30ed977be8b37d3ef185fecb9e5a1d62d110dfbdcd1e2a122ab46fddb03f"},
- {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a086c2af425c5f62a65e12fbf385f7c9fcb8f107d0849dba5839461a129cf311"},
- {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c8de2789052ed501dd829e9cae8d3dcce7acb4777ea4a479c14521c942d395b1"},
- {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:609448742444d9290fd687940ac0b57fb35e6fd92bdb65386e08e99af60bf757"},
- {file = "pillow-10.2.0-cp311-cp311-win32.whl", hash = "sha256:823ef7a27cf86df6597fa0671066c1b596f69eba53efa3d1e1cb8b30f3533068"},
- {file = "pillow-10.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:1da3b2703afd040cf65ec97efea81cfba59cdbed9c11d8efc5ab09df9509fc56"},
- {file = "pillow-10.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:edca80cbfb2b68d7b56930b84a0e45ae1694aeba0541f798e908a49d66b837f1"},
- {file = "pillow-10.2.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:1b5e1b74d1bd1b78bc3477528919414874748dd363e6272efd5abf7654e68bef"},
- {file = "pillow-10.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0eae2073305f451d8ecacb5474997c08569fb4eb4ac231ffa4ad7d342fdc25ac"},
- {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7c2286c23cd350b80d2fc9d424fc797575fb16f854b831d16fd47ceec078f2c"},
- {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e23412b5c41e58cec602f1135c57dfcf15482013ce6e5f093a86db69646a5aa"},
- {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:52a50aa3fb3acb9cf7213573ef55d31d6eca37f5709c69e6858fe3bc04a5c2a2"},
- {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:127cee571038f252a552760076407f9cff79761c3d436a12af6000cd182a9d04"},
- {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8d12251f02d69d8310b046e82572ed486685c38f02176bd08baf216746eb947f"},
- {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54f1852cd531aa981bc0965b7d609f5f6cc8ce8c41b1139f6ed6b3c54ab82bfb"},
- {file = "pillow-10.2.0-cp312-cp312-win32.whl", hash = "sha256:257d8788df5ca62c980314053197f4d46eefedf4e6175bc9412f14412ec4ea2f"},
- {file = "pillow-10.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:154e939c5f0053a383de4fd3d3da48d9427a7e985f58af8e94d0b3c9fcfcf4f9"},
- {file = "pillow-10.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f379abd2f1e3dddb2b61bc67977a6b5a0a3f7485538bcc6f39ec76163891ee48"},
- {file = "pillow-10.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8373c6c251f7ef8bda6675dd6d2b3a0fcc31edf1201266b5cf608b62a37407f9"},
- {file = "pillow-10.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:870ea1ada0899fd0b79643990809323b389d4d1d46c192f97342eeb6ee0b8483"},
- {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b6b1e20608493548b1f32bce8cca185bf0480983890403d3b8753e44077129"},
- {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3031709084b6e7852d00479fd1d310b07d0ba82765f973b543c8af5061cf990e"},
- {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:3ff074fc97dd4e80543a3e91f69d58889baf2002b6be64347ea8cf5533188213"},
- {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:cb4c38abeef13c61d6916f264d4845fab99d7b711be96c326b84df9e3e0ff62d"},
- {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1b3020d90c2d8e1dae29cf3ce54f8094f7938460fb5ce8bc5c01450b01fbaf6"},
- {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:170aeb00224ab3dc54230c797f8404507240dd868cf52066f66a41b33169bdbe"},
- {file = "pillow-10.2.0-cp38-cp38-win32.whl", hash = "sha256:c4225f5220f46b2fde568c74fca27ae9771536c2e29d7c04f4fb62c83275ac4e"},
- {file = "pillow-10.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:0689b5a8c5288bc0504d9fcee48f61a6a586b9b98514d7d29b840143d6734f39"},
- {file = "pillow-10.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:b792a349405fbc0163190fde0dc7b3fef3c9268292586cf5645598b48e63dc67"},
- {file = "pillow-10.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c570f24be1e468e3f0ce7ef56a89a60f0e05b30a3669a459e419c6eac2c35364"},
- {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8ecd059fdaf60c1963c58ceb8997b32e9dc1b911f5da5307aab614f1ce5c2fb"},
- {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c365fd1703040de1ec284b176d6af5abe21b427cb3a5ff68e0759e1e313a5e7e"},
- {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:70c61d4c475835a19b3a5aa42492409878bbca7438554a1f89d20d58a7c75c01"},
- {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6f491cdf80ae540738859d9766783e3b3c8e5bd37f5dfa0b76abdecc5081f13"},
- {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d189550615b4948f45252d7f005e53c2040cea1af5b60d6f79491a6e147eef7"},
- {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:49d9ba1ed0ef3e061088cd1e7538a0759aab559e2e0a80a36f9fd9d8c0c21591"},
- {file = "pillow-10.2.0-cp39-cp39-win32.whl", hash = "sha256:babf5acfede515f176833ed6028754cbcd0d206f7f614ea3447d67c33be12516"},
- {file = "pillow-10.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:0304004f8067386b477d20a518b50f3fa658a28d44e4116970abfcd94fac34a8"},
- {file = "pillow-10.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0fb3e7fc88a14eacd303e90481ad983fd5b69c761e9e6ef94c983f91025da869"},
- {file = "pillow-10.2.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:322209c642aabdd6207517e9739c704dc9f9db943015535783239022002f054a"},
- {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eedd52442c0a5ff4f887fab0c1c0bb164d8635b32c894bc1faf4c618dd89df2"},
- {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb28c753fd5eb3dd859b4ee95de66cc62af91bcff5db5f2571d32a520baf1f04"},
- {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33870dc4653c5017bf4c8873e5488d8f8d5f8935e2f1fb9a2208c47cdd66efd2"},
- {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3c31822339516fb3c82d03f30e22b1d038da87ef27b6a78c9549888f8ceda39a"},
- {file = "pillow-10.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a2b56ba36e05f973d450582fb015594aaa78834fefe8dfb8fcd79b93e64ba4c6"},
- {file = "pillow-10.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d8e6aeb9201e655354b3ad049cb77d19813ad4ece0df1249d3c793de3774f8c7"},
- {file = "pillow-10.2.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:2247178effb34a77c11c0e8ac355c7a741ceca0a732b27bf11e747bbc950722f"},
- {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15587643b9e5eb26c48e49a7b33659790d28f190fc514a322d55da2fb5c2950e"},
- {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753cd8f2086b2b80180d9b3010dd4ed147efc167c90d3bf593fe2af21265e5a5"},
- {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7c8f97e8e7a9009bcacbe3766a36175056c12f9a44e6e6f2d5caad06dcfbf03b"},
- {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d1b35bcd6c5543b9cb547dee3150c93008f8dd0f1fef78fc0cd2b141c5baf58a"},
- {file = "pillow-10.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe4c15f6c9285dc54ce6553a3ce908ed37c8f3825b5a51a15c91442bb955b868"},
- {file = "pillow-10.2.0.tar.gz", hash = "sha256:e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e"},
+ {file = "pillow-10.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:90b9e29824800e90c84e4022dd5cc16eb2d9605ee13f05d47641eb183cd73d45"},
+ {file = "pillow-10.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2c405445c79c3f5a124573a051062300936b0281fee57637e706453e452746c"},
+ {file = "pillow-10.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78618cdbccaa74d3f88d0ad6cb8ac3007f1a6fa5c6f19af64b55ca170bfa1edf"},
+ {file = "pillow-10.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261ddb7ca91fcf71757979534fb4c128448b5b4c55cb6152d280312062f69599"},
+ {file = "pillow-10.3.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:ce49c67f4ea0609933d01c0731b34b8695a7a748d6c8d186f95e7d085d2fe475"},
+ {file = "pillow-10.3.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b14f16f94cbc61215115b9b1236f9c18403c15dd3c52cf629072afa9d54c1cbf"},
+ {file = "pillow-10.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d33891be6df59d93df4d846640f0e46f1a807339f09e79a8040bc887bdcd7ed3"},
+ {file = "pillow-10.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b50811d664d392f02f7761621303eba9d1b056fb1868c8cdf4231279645c25f5"},
+ {file = "pillow-10.3.0-cp310-cp310-win32.whl", hash = "sha256:ca2870d5d10d8726a27396d3ca4cf7976cec0f3cb706debe88e3a5bd4610f7d2"},
+ {file = "pillow-10.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:f0d0591a0aeaefdaf9a5e545e7485f89910c977087e7de2b6c388aec32011e9f"},
+ {file = "pillow-10.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:ccce24b7ad89adb5a1e34a6ba96ac2530046763912806ad4c247356a8f33a67b"},
+ {file = "pillow-10.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:5f77cf66e96ae734717d341c145c5949c63180842a545c47a0ce7ae52ca83795"},
+ {file = "pillow-10.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e4b878386c4bf293578b48fc570b84ecfe477d3b77ba39a6e87150af77f40c57"},
+ {file = "pillow-10.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fdcbb4068117dfd9ce0138d068ac512843c52295ed996ae6dd1faf537b6dbc27"},
+ {file = "pillow-10.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9797a6c8fe16f25749b371c02e2ade0efb51155e767a971c61734b1bf6293994"},
+ {file = "pillow-10.3.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:9e91179a242bbc99be65e139e30690e081fe6cb91a8e77faf4c409653de39451"},
+ {file = "pillow-10.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:1b87bd9d81d179bd8ab871603bd80d8645729939f90b71e62914e816a76fc6bd"},
+ {file = "pillow-10.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:81d09caa7b27ef4e61cb7d8fbf1714f5aec1c6b6c5270ee53504981e6e9121ad"},
+ {file = "pillow-10.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:048ad577748b9fa4a99a0548c64f2cb8d672d5bf2e643a739ac8faff1164238c"},
+ {file = "pillow-10.3.0-cp311-cp311-win32.whl", hash = "sha256:7161ec49ef0800947dc5570f86568a7bb36fa97dd09e9827dc02b718c5643f09"},
+ {file = "pillow-10.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:8eb0908e954d093b02a543dc963984d6e99ad2b5e36503d8a0aaf040505f747d"},
+ {file = "pillow-10.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:4e6f7d1c414191c1199f8996d3f2282b9ebea0945693fb67392c75a3a320941f"},
+ {file = "pillow-10.3.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:e46f38133e5a060d46bd630faa4d9fa0202377495df1f068a8299fd78c84de84"},
+ {file = "pillow-10.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:50b8eae8f7334ec826d6eeffaeeb00e36b5e24aa0b9df322c247539714c6df19"},
+ {file = "pillow-10.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d3bea1c75f8c53ee4d505c3e67d8c158ad4df0d83170605b50b64025917f338"},
+ {file = "pillow-10.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19aeb96d43902f0a783946a0a87dbdad5c84c936025b8419da0a0cd7724356b1"},
+ {file = "pillow-10.3.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:74d28c17412d9caa1066f7a31df8403ec23d5268ba46cd0ad2c50fb82ae40462"},
+ {file = "pillow-10.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:ff61bfd9253c3915e6d41c651d5f962da23eda633cf02262990094a18a55371a"},
+ {file = "pillow-10.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d886f5d353333b4771d21267c7ecc75b710f1a73d72d03ca06df49b09015a9ef"},
+ {file = "pillow-10.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4b5ec25d8b17217d635f8935dbc1b9aa5907962fae29dff220f2659487891cd3"},
+ {file = "pillow-10.3.0-cp312-cp312-win32.whl", hash = "sha256:51243f1ed5161b9945011a7360e997729776f6e5d7005ba0c6879267d4c5139d"},
+ {file = "pillow-10.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:412444afb8c4c7a6cc11a47dade32982439925537e483be7c0ae0cf96c4f6a0b"},
+ {file = "pillow-10.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:798232c92e7665fe82ac085f9d8e8ca98826f8e27859d9a96b41d519ecd2e49a"},
+ {file = "pillow-10.3.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:4eaa22f0d22b1a7e93ff0a596d57fdede2e550aecffb5a1ef1106aaece48e96b"},
+ {file = "pillow-10.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cd5e14fbf22a87321b24c88669aad3a51ec052eb145315b3da3b7e3cc105b9a2"},
+ {file = "pillow-10.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1530e8f3a4b965eb6a7785cf17a426c779333eb62c9a7d1bbcf3ffd5bf77a4aa"},
+ {file = "pillow-10.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d512aafa1d32efa014fa041d38868fda85028e3f930a96f85d49c7d8ddc0383"},
+ {file = "pillow-10.3.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:339894035d0ede518b16073bdc2feef4c991ee991a29774b33e515f1d308e08d"},
+ {file = "pillow-10.3.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:aa7e402ce11f0885305bfb6afb3434b3cd8f53b563ac065452d9d5654c7b86fd"},
+ {file = "pillow-10.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0ea2a783a2bdf2a561808fe4a7a12e9aa3799b701ba305de596bc48b8bdfce9d"},
+ {file = "pillow-10.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c78e1b00a87ce43bb37642c0812315b411e856a905d58d597750eb79802aaaa3"},
+ {file = "pillow-10.3.0-cp38-cp38-win32.whl", hash = "sha256:72d622d262e463dfb7595202d229f5f3ab4b852289a1cd09650362db23b9eb0b"},
+ {file = "pillow-10.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:2034f6759a722da3a3dbd91a81148cf884e91d1b747992ca288ab88c1de15999"},
+ {file = "pillow-10.3.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:2ed854e716a89b1afcedea551cd85f2eb2a807613752ab997b9974aaa0d56936"},
+ {file = "pillow-10.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dc1a390a82755a8c26c9964d457d4c9cbec5405896cba94cf51f36ea0d855002"},
+ {file = "pillow-10.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4203efca580f0dd6f882ca211f923168548f7ba334c189e9eab1178ab840bf60"},
+ {file = "pillow-10.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3102045a10945173d38336f6e71a8dc71bcaeed55c3123ad4af82c52807b9375"},
+ {file = "pillow-10.3.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:6fb1b30043271ec92dc65f6d9f0b7a830c210b8a96423074b15c7bc999975f57"},
+ {file = "pillow-10.3.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:1dfc94946bc60ea375cc39cff0b8da6c7e5f8fcdc1d946beb8da5c216156ddd8"},
+ {file = "pillow-10.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b09b86b27a064c9624d0a6c54da01c1beaf5b6cadfa609cf63789b1d08a797b9"},
+ {file = "pillow-10.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d3b2348a78bc939b4fed6552abfd2e7988e0f81443ef3911a4b8498ca084f6eb"},
+ {file = "pillow-10.3.0-cp39-cp39-win32.whl", hash = "sha256:45ebc7b45406febf07fef35d856f0293a92e7417ae7933207e90bf9090b70572"},
+ {file = "pillow-10.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:0ba26351b137ca4e0db0342d5d00d2e355eb29372c05afd544ebf47c0956ffeb"},
+ {file = "pillow-10.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:50fd3f6b26e3441ae07b7c979309638b72abc1a25da31a81a7fbd9495713ef4f"},
+ {file = "pillow-10.3.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:6b02471b72526ab8a18c39cb7967b72d194ec53c1fd0a70b050565a0f366d355"},
+ {file = "pillow-10.3.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8ab74c06ffdab957d7670c2a5a6e1a70181cd10b727cd788c4dd9005b6a8acd9"},
+ {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:048eeade4c33fdf7e08da40ef402e748df113fd0b4584e32c4af74fe78baaeb2"},
+ {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2ec1e921fd07c7cda7962bad283acc2f2a9ccc1b971ee4b216b75fad6f0463"},
+ {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c8e73e99da7db1b4cad7f8d682cf6abad7844da39834c288fbfa394a47bbced"},
+ {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:16563993329b79513f59142a6b02055e10514c1a8e86dca8b48a893e33cf91e3"},
+ {file = "pillow-10.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:dd78700f5788ae180b5ee8902c6aea5a5726bac7c364b202b4b3e3ba2d293170"},
+ {file = "pillow-10.3.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:aff76a55a8aa8364d25400a210a65ff59d0168e0b4285ba6bf2bd83cf675ba32"},
+ {file = "pillow-10.3.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:b7bc2176354defba3edc2b9a777744462da2f8e921fbaf61e52acb95bafa9828"},
+ {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:793b4e24db2e8742ca6423d3fde8396db336698c55cd34b660663ee9e45ed37f"},
+ {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d93480005693d247f8346bc8ee28c72a2191bdf1f6b5db469c096c0c867ac015"},
+ {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c83341b89884e2b2e55886e8fbbf37c3fa5efd6c8907124aeb72f285ae5696e5"},
+ {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1a1d1915db1a4fdb2754b9de292642a39a7fb28f1736699527bb649484fb966a"},
+ {file = "pillow-10.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a0eaa93d054751ee9964afa21c06247779b90440ca41d184aeb5d410f20ff591"},
+ {file = "pillow-10.3.0.tar.gz", hash = "sha256:9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d"},
]
[package.extras]
@@ -2159,13 +2157,13 @@ pybtex = ">=0.16"
[[package]]
name = "pycparser"
-version = "2.21"
+version = "2.22"
description = "C parser in Python"
optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+python-versions = ">=3.8"
files = [
- {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"},
- {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"},
+ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"},
+ {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"},
]
[[package]]
@@ -2215,13 +2213,13 @@ testutils = ["gitpython (>3)"]
[[package]]
name = "pyparsing"
-version = "3.1.1"
+version = "3.1.2"
description = "pyparsing module - Classes and methods to define and execute parsing grammars"
optional = true
python-versions = ">=3.6.8"
files = [
- {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"},
- {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"},
+ {file = "pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742"},
+ {file = "pyparsing-3.1.2.tar.gz", hash = "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad"},
]
[package.extras]
@@ -2302,13 +2300,13 @@ pytest = ">=2.6.0"
[[package]]
name = "python-dateutil"
-version = "2.8.2"
+version = "2.9.0.post0"
description = "Extensions to the standard Python datetime module"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
files = [
- {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
- {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
+ {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"},
+ {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"},
]
[package.dependencies]
@@ -2399,104 +2397,99 @@ files = [
[[package]]
name = "pyzmq"
-version = "25.1.2"
+version = "26.0.0"
description = "Python bindings for 0MQ"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
files = [
- {file = "pyzmq-25.1.2-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:e624c789359f1a16f83f35e2c705d07663ff2b4d4479bad35621178d8f0f6ea4"},
- {file = "pyzmq-25.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:49151b0efece79f6a79d41a461d78535356136ee70084a1c22532fc6383f4ad0"},
- {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9a5f194cf730f2b24d6af1f833c14c10f41023da46a7f736f48b6d35061e76e"},
- {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:faf79a302f834d9e8304fafdc11d0d042266667ac45209afa57e5efc998e3872"},
- {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f51a7b4ead28d3fca8dda53216314a553b0f7a91ee8fc46a72b402a78c3e43d"},
- {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0ddd6d71d4ef17ba5a87becf7ddf01b371eaba553c603477679ae817a8d84d75"},
- {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:246747b88917e4867e2367b005fc8eefbb4a54b7db363d6c92f89d69abfff4b6"},
- {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:00c48ae2fd81e2a50c3485de1b9d5c7c57cd85dc8ec55683eac16846e57ac979"},
- {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5a68d491fc20762b630e5db2191dd07ff89834086740f70e978bb2ef2668be08"},
- {file = "pyzmq-25.1.2-cp310-cp310-win32.whl", hash = "sha256:09dfe949e83087da88c4a76767df04b22304a682d6154de2c572625c62ad6886"},
- {file = "pyzmq-25.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:fa99973d2ed20417744fca0073390ad65ce225b546febb0580358e36aa90dba6"},
- {file = "pyzmq-25.1.2-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:82544e0e2d0c1811482d37eef297020a040c32e0687c1f6fc23a75b75db8062c"},
- {file = "pyzmq-25.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:01171fc48542348cd1a360a4b6c3e7d8f46cdcf53a8d40f84db6707a6768acc1"},
- {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc69c96735ab501419c432110016329bf0dea8898ce16fab97c6d9106dc0b348"},
- {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3e124e6b1dd3dfbeb695435dff0e383256655bb18082e094a8dd1f6293114642"},
- {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7598d2ba821caa37a0f9d54c25164a4fa351ce019d64d0b44b45540950458840"},
- {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d1299d7e964c13607efd148ca1f07dcbf27c3ab9e125d1d0ae1d580a1682399d"},
- {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4e6f689880d5ad87918430957297c975203a082d9a036cc426648fcbedae769b"},
- {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cc69949484171cc961e6ecd4a8911b9ce7a0d1f738fcae717177c231bf77437b"},
- {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9880078f683466b7f567b8624bfc16cad65077be046b6e8abb53bed4eeb82dd3"},
- {file = "pyzmq-25.1.2-cp311-cp311-win32.whl", hash = "sha256:4e5837af3e5aaa99a091302df5ee001149baff06ad22b722d34e30df5f0d9097"},
- {file = "pyzmq-25.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:25c2dbb97d38b5ac9fd15586e048ec5eb1e38f3d47fe7d92167b0c77bb3584e9"},
- {file = "pyzmq-25.1.2-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:11e70516688190e9c2db14fcf93c04192b02d457b582a1f6190b154691b4c93a"},
- {file = "pyzmq-25.1.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:313c3794d650d1fccaaab2df942af9f2c01d6217c846177cfcbc693c7410839e"},
- {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b3cbba2f47062b85fe0ef9de5b987612140a9ba3a9c6d2543c6dec9f7c2ab27"},
- {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fc31baa0c32a2ca660784d5af3b9487e13b61b3032cb01a115fce6588e1bed30"},
- {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02c9087b109070c5ab0b383079fa1b5f797f8d43e9a66c07a4b8b8bdecfd88ee"},
- {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:f8429b17cbb746c3e043cb986328da023657e79d5ed258b711c06a70c2ea7537"},
- {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5074adeacede5f810b7ef39607ee59d94e948b4fd954495bdb072f8c54558181"},
- {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:7ae8f354b895cbd85212da245f1a5ad8159e7840e37d78b476bb4f4c3f32a9fe"},
- {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b264bf2cc96b5bc43ce0e852be995e400376bd87ceb363822e2cb1964fcdc737"},
- {file = "pyzmq-25.1.2-cp312-cp312-win32.whl", hash = "sha256:02bbc1a87b76e04fd780b45e7f695471ae6de747769e540da909173d50ff8e2d"},
- {file = "pyzmq-25.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:ced111c2e81506abd1dc142e6cd7b68dd53747b3b7ae5edbea4578c5eeff96b7"},
- {file = "pyzmq-25.1.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:7b6d09a8962a91151f0976008eb7b29b433a560fde056ec7a3db9ec8f1075438"},
- {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967668420f36878a3c9ecb5ab33c9d0ff8d054f9c0233d995a6d25b0e95e1b6b"},
- {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5edac3f57c7ddaacdb4d40f6ef2f9e299471fc38d112f4bc6d60ab9365445fb0"},
- {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:0dabfb10ef897f3b7e101cacba1437bd3a5032ee667b7ead32bbcdd1a8422fe7"},
- {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:2c6441e0398c2baacfe5ba30c937d274cfc2dc5b55e82e3749e333aabffde561"},
- {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:16b726c1f6c2e7625706549f9dbe9b06004dfbec30dbed4bf50cbdfc73e5b32a"},
- {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:a86c2dd76ef71a773e70551a07318b8e52379f58dafa7ae1e0a4be78efd1ff16"},
- {file = "pyzmq-25.1.2-cp36-cp36m-win32.whl", hash = "sha256:359f7f74b5d3c65dae137f33eb2bcfa7ad9ebefd1cab85c935f063f1dbb245cc"},
- {file = "pyzmq-25.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:55875492f820d0eb3417b51d96fea549cde77893ae3790fd25491c5754ea2f68"},
- {file = "pyzmq-25.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b8c8a419dfb02e91b453615c69568442e897aaf77561ee0064d789705ff37a92"},
- {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8807c87fa893527ae8a524c15fc505d9950d5e856f03dae5921b5e9aa3b8783b"},
- {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5e319ed7d6b8f5fad9b76daa0a68497bc6f129858ad956331a5835785761e003"},
- {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3c53687dde4d9d473c587ae80cc328e5b102b517447456184b485587ebd18b62"},
- {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9add2e5b33d2cd765ad96d5eb734a5e795a0755f7fc49aa04f76d7ddda73fd70"},
- {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e690145a8c0c273c28d3b89d6fb32c45e0d9605b2293c10e650265bf5c11cfec"},
- {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:00a06faa7165634f0cac1abb27e54d7a0b3b44eb9994530b8ec73cf52e15353b"},
- {file = "pyzmq-25.1.2-cp37-cp37m-win32.whl", hash = "sha256:0f97bc2f1f13cb16905a5f3e1fbdf100e712d841482b2237484360f8bc4cb3d7"},
- {file = "pyzmq-25.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6cc0020b74b2e410287e5942e1e10886ff81ac77789eb20bec13f7ae681f0fdd"},
- {file = "pyzmq-25.1.2-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:bef02cfcbded83473bdd86dd8d3729cd82b2e569b75844fb4ea08fee3c26ae41"},
- {file = "pyzmq-25.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e10a4b5a4b1192d74853cc71a5e9fd022594573926c2a3a4802020360aa719d8"},
- {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8c5f80e578427d4695adac6fdf4370c14a2feafdc8cb35549c219b90652536ae"},
- {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5dde6751e857910c1339890f3524de74007958557593b9e7e8c5f01cd919f8a7"},
- {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea1608dd169da230a0ad602d5b1ebd39807ac96cae1845c3ceed39af08a5c6df"},
- {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0f513130c4c361201da9bc69df25a086487250e16b5571ead521b31ff6b02220"},
- {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:019744b99da30330798bb37df33549d59d380c78e516e3bab9c9b84f87a9592f"},
- {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2e2713ef44be5d52dd8b8e2023d706bf66cb22072e97fc71b168e01d25192755"},
- {file = "pyzmq-25.1.2-cp38-cp38-win32.whl", hash = "sha256:07cd61a20a535524906595e09344505a9bd46f1da7a07e504b315d41cd42eb07"},
- {file = "pyzmq-25.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb7e49a17fb8c77d3119d41a4523e432eb0c6932187c37deb6fbb00cc3028088"},
- {file = "pyzmq-25.1.2-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:94504ff66f278ab4b7e03e4cba7e7e400cb73bfa9d3d71f58d8972a8dc67e7a6"},
- {file = "pyzmq-25.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6dd0d50bbf9dca1d0bdea219ae6b40f713a3fb477c06ca3714f208fd69e16fd8"},
- {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:004ff469d21e86f0ef0369717351073e0e577428e514c47c8480770d5e24a565"},
- {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c0b5ca88a8928147b7b1e2dfa09f3b6c256bc1135a1338536cbc9ea13d3b7add"},
- {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c9a79f1d2495b167119d02be7448bfba57fad2a4207c4f68abc0bab4b92925b"},
- {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:518efd91c3d8ac9f9b4f7dd0e2b7b8bf1a4fe82a308009016b07eaa48681af82"},
- {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:1ec23bd7b3a893ae676d0e54ad47d18064e6c5ae1fadc2f195143fb27373f7f6"},
- {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db36c27baed588a5a8346b971477b718fdc66cf5b80cbfbd914b4d6d355e44e2"},
- {file = "pyzmq-25.1.2-cp39-cp39-win32.whl", hash = "sha256:39b1067f13aba39d794a24761e385e2eddc26295826530a8c7b6c6c341584289"},
- {file = "pyzmq-25.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:8e9f3fabc445d0ce320ea2c59a75fe3ea591fdbdeebec5db6de530dd4b09412e"},
- {file = "pyzmq-25.1.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a8c1d566344aee826b74e472e16edae0a02e2a044f14f7c24e123002dcff1c05"},
- {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:759cfd391a0996345ba94b6a5110fca9c557ad4166d86a6e81ea526c376a01e8"},
- {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c61e346ac34b74028ede1c6b4bcecf649d69b707b3ff9dc0fab453821b04d1e"},
- {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cb8fc1f8d69b411b8ec0b5f1ffbcaf14c1db95b6bccea21d83610987435f1a4"},
- {file = "pyzmq-25.1.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3c00c9b7d1ca8165c610437ca0c92e7b5607b2f9076f4eb4b095c85d6e680a1d"},
- {file = "pyzmq-25.1.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:df0c7a16ebb94452d2909b9a7b3337940e9a87a824c4fc1c7c36bb4404cb0cde"},
- {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:45999e7f7ed5c390f2e87ece7f6c56bf979fb213550229e711e45ecc7d42ccb8"},
- {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ac170e9e048b40c605358667aca3d94e98f604a18c44bdb4c102e67070f3ac9b"},
- {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1b604734bec94f05f81b360a272fc824334267426ae9905ff32dc2be433ab96"},
- {file = "pyzmq-25.1.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:a793ac733e3d895d96f865f1806f160696422554e46d30105807fdc9841b9f7d"},
- {file = "pyzmq-25.1.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0806175f2ae5ad4b835ecd87f5f85583316b69f17e97786f7443baaf54b9bb98"},
- {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ef12e259e7bc317c7597d4f6ef59b97b913e162d83b421dd0db3d6410f17a244"},
- {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea253b368eb41116011add00f8d5726762320b1bda892f744c91997b65754d73"},
- {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b9b1f2ad6498445a941d9a4fee096d387fee436e45cc660e72e768d3d8ee611"},
- {file = "pyzmq-25.1.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:8b14c75979ce932c53b79976a395cb2a8cd3aaf14aef75e8c2cb55a330b9b49d"},
- {file = "pyzmq-25.1.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:889370d5174a741a62566c003ee8ddba4b04c3f09a97b8000092b7ca83ec9c49"},
- {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a18fff090441a40ffda8a7f4f18f03dc56ae73f148f1832e109f9bffa85df15"},
- {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99a6b36f95c98839ad98f8c553d8507644c880cf1e0a57fe5e3a3f3969040882"},
- {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4345c9a27f4310afbb9c01750e9461ff33d6fb74cd2456b107525bbeebcb5be3"},
- {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3516e0b6224cf6e43e341d56da15fd33bdc37fa0c06af4f029f7d7dfceceabbc"},
- {file = "pyzmq-25.1.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:146b9b1f29ead41255387fb07be56dc29639262c0f7344f570eecdcd8d683314"},
- {file = "pyzmq-25.1.2.tar.gz", hash = "sha256:93f1aa311e8bb912e34f004cf186407a4e90eec4f0ecc0efd26056bf7eda0226"},
+ {file = "pyzmq-26.0.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:a86409f3f8eae7af5a47babd831a119bdf552e831f04d2225a313305e8e35e7c"},
+ {file = "pyzmq-26.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d36a46975925b8bf14b69fe6d4097bc96c91f94ceb954d56853a2211a5cc3433"},
+ {file = "pyzmq-26.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcac700269d081ded42ed3833f9d0effe734148376204af9c0ef0fd25a3fea55"},
+ {file = "pyzmq-26.0.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49efc420e36d2e8adc5dae41c2c1e8bb37a069e40a880cbe414a032136b194b0"},
+ {file = "pyzmq-26.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02773b96ef6a17a57680c3609645785c390198be31a4505c01ce0c846f9e7d0e"},
+ {file = "pyzmq-26.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:ce2c53f4963a358ba91b58ccecb84fab6d5f0622230d105c2589f7556ec53cc9"},
+ {file = "pyzmq-26.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:06525d996afdb0da3e8b7df0b654261455f6e86c2c3574c3f00d2bd335be78eb"},
+ {file = "pyzmq-26.0.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bd3537f049dc0488adb3df29a77635eaff2a8d1d3d29a09714db6e2d10caba1a"},
+ {file = "pyzmq-26.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9ce158ab54994c60fdde83300dc1e447446baacbe4ec9e4e80096f9b9a125c13"},
+ {file = "pyzmq-26.0.0-cp310-cp310-win32.whl", hash = "sha256:271c9178a94b009651f8ad3ff9bb9ca45778aaf66c9e325a44d81a7498fcaa59"},
+ {file = "pyzmq-26.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:4216eee101d104a017042f0e4af0a45875400ff3794f1a59476e210b1a9760e2"},
+ {file = "pyzmq-26.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:44271793067025a07d38ad4be11f08187cce850fafd1890b42046abbcdca2fc0"},
+ {file = "pyzmq-26.0.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:1e87178437460b6df18e761650ef080d3ad5a41813cc3df7f9fd78714fca04c0"},
+ {file = "pyzmq-26.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0397c7431f3fc2bac497992d7447b036bc0d8bb3e15b158b2013201857ff2354"},
+ {file = "pyzmq-26.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a5b4dc4d7a3f859026083906724ad1ae743261548b61d0d5abcf2d994122c2b"},
+ {file = "pyzmq-26.0.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:952e85c5e86f9ba100b78b60719b76e1ff3e13bb403cb6de687bb92e7b2179e7"},
+ {file = "pyzmq-26.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07fdeac8612a9dca6fcad6cb43c7efb75f53ba75da981fbafa949ddcde1d5662"},
+ {file = "pyzmq-26.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:39b8ed8d2e5da8b8351c6aa627601b3b52e8eb5e25cf6bcd26b6f012dec7870b"},
+ {file = "pyzmq-26.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f6f618d7d7c9c37053a36e6dc5435c53e9e0c7a67e6fd00b69c209d07a8db4dc"},
+ {file = "pyzmq-26.0.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:72ae3078b1c47552e0e39fd81fc0472e880316897a733dbb3570819be19da48a"},
+ {file = "pyzmq-26.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5d7fcc648445dbfd6ce9973ec7b4a33ee9307b7e88cf4816f4403ccbaf8de9ca"},
+ {file = "pyzmq-26.0.0-cp311-cp311-win32.whl", hash = "sha256:9982799d7d7807beb1b26f1aa9a192baccb1a14c5d00eca881a42a0ae562671b"},
+ {file = "pyzmq-26.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:60f91afc76a3fc5d65dfba4f6b6020c462674b5eab6cbf00dec133d79656072d"},
+ {file = "pyzmq-26.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:120887d773e878136e9b33bbba656df0d4c6e2861694d07d058ec60ce1108b24"},
+ {file = "pyzmq-26.0.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:469f4febd63c26b20132e54cc40048d5698123794b103758ccd21b8a45890dc3"},
+ {file = "pyzmq-26.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c919895132cae5a458d5a17047fd33c9eb271f15bb3485add34429cfd7b76a71"},
+ {file = "pyzmq-26.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e0e94ca9a8f23000d54e11ecd727b69fb1994baf3b6b1eedb881cdd3196ecec"},
+ {file = "pyzmq-26.0.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a824b3301ddd003cdceb9b537804e751ac5922a845b19d4e50b4789d1cd28b24"},
+ {file = "pyzmq-26.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af9f5b1b76753584c871c1c96db8a18650886b3adf9fc8c7d4019343eb329c28"},
+ {file = "pyzmq-26.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9691a6ab55d011e83d7438f6711b93b7f8aa21ee8cf3e7ad6d6d9ea26a8f3a1f"},
+ {file = "pyzmq-26.0.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:58176e2437462568b5099acf17401be64205e175e72767a8250eef84ee9ec4f5"},
+ {file = "pyzmq-26.0.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:d492921b398d640a1f796306531bc6911a94ce5528b798ed14e0620abd9b948d"},
+ {file = "pyzmq-26.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f85bb2c47b5fd70e3cbb280e380ab97bdf9f02e1a363cb472fe0a297ac24029d"},
+ {file = "pyzmq-26.0.0-cp312-cp312-win32.whl", hash = "sha256:c2e36399f0433b14a91f956bd7ecf94799c57a6f992889d45440cb05b3de8025"},
+ {file = "pyzmq-26.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:12ca1afb065e5b21a32b1e35bfcbc8762efc0f7555c166acaec36c93b52d7ccf"},
+ {file = "pyzmq-26.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:f66c925f62ce28946525c32a094e346dd8da6c828d568d7ecda97f5ae36089c3"},
+ {file = "pyzmq-26.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e495ff09514fc657c5fb2cba0aac082ce0494c6217230783297da9008333a8db"},
+ {file = "pyzmq-26.0.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5736c9a54c27319a65ffc72dbf684538f2773237e94ba50b7f1f74f4e3cb9115"},
+ {file = "pyzmq-26.0.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cd62830100b9b1adb51da4094142bd680d51daf9a0f6f3f39e1f80474eddc011"},
+ {file = "pyzmq-26.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:544a7ee271fac41ddc0ba11f4b128ddd5f2bf0a3186d25be331ed8bfbb253536"},
+ {file = "pyzmq-26.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:694625c2c22be57149e9439757ee02ee4fb6432f7054dc5008bbbc33ef388d1c"},
+ {file = "pyzmq-26.0.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:90ba8f7c6f34c2c11179b293050417c14661035969ef3f8867200ea6901f9000"},
+ {file = "pyzmq-26.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab2e55046263c8b24e64116e80b63cf701df747b44aadcf317aa47c8af2dfe67"},
+ {file = "pyzmq-26.0.0-cp37-cp37m-win32.whl", hash = "sha256:7353d231686bbc96c458b934f134ff9165a1e9dd0a2ea8f724469e44bcc2c07a"},
+ {file = "pyzmq-26.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1df2b992eabc59f078ca916e9ac8b5bd463536bf7828c13940b35b8555ed7861"},
+ {file = "pyzmq-26.0.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2397364289334840c81ff1ef95a5a5ee326de01c1437cc38f7e16785a7b653d9"},
+ {file = "pyzmq-26.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c952cf06edbbd2d67f627037e2c8e3187ca834d6b9a222e3a3037f80d393a345"},
+ {file = "pyzmq-26.0.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:55f390adb763196d75a2e8c18277b4344f8a7f94f223b5d096324c5b47c2471e"},
+ {file = "pyzmq-26.0.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1da5e11862a994360319df4f425e89662563683334e1079684eb77b9a6478ae2"},
+ {file = "pyzmq-26.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72340614ea23904cff824109eb025648bdf32775d87f5814d3ba6f2335a853f3"},
+ {file = "pyzmq-26.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aa7431d12ebb5433a92e99dc326d45eaf52a90046032bac4c558b4bdeee5dc7a"},
+ {file = "pyzmq-26.0.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a2b13008a693c0ffccaeeebcc5ab5f2398cced3b5bf482ba89a38fe56b00eb10"},
+ {file = "pyzmq-26.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:9d68284ce48617c97e675ed8a89db12a098eaa871a026999c9a10351f547f1fe"},
+ {file = "pyzmq-26.0.0-cp38-cp38-win32.whl", hash = "sha256:8783857a8c8df648a70c81ea3ff53ee71e5bf18468ca5ac3414f419fe8f3bd93"},
+ {file = "pyzmq-26.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:36d0f2fcbdba1fda8ff213bd17db7ddcba848aa70480ade3fe70401dce606511"},
+ {file = "pyzmq-26.0.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:dd87df01bc8eca392f0d505924087ccafdc4885a498e68df9f09eca9fdc736f1"},
+ {file = "pyzmq-26.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:abc08b2e688714216870a6ab974733d4a1fcf0437d250ac8feed59c4c5c3f395"},
+ {file = "pyzmq-26.0.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:dd13a30454adcf2f361155ea563ec99036678131a17c6b1a3f74426212c14ddc"},
+ {file = "pyzmq-26.0.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a0562054930471b386a44b0887504687c4e7adf4ba89bddc2e5959d16c371764"},
+ {file = "pyzmq-26.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc7badded4b025dbc25f34b95503b71c952235e6e40de40995c0c120efb4ff6d"},
+ {file = "pyzmq-26.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f971e77358384b8bcf3e9a7577cf84f97adbd6359f943e30cbff66087afcb279"},
+ {file = "pyzmq-26.0.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ca4ebbef3f5fbd271eafc7c22ebbb88b74232f08b0e51759113f30a8d01f6843"},
+ {file = "pyzmq-26.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cc98fbd4ce4ef8a0fbe97ab6d495aaa7764461e5a45f24c04f1d234e7bb80293"},
+ {file = "pyzmq-26.0.0-cp39-cp39-win32.whl", hash = "sha256:a5207bc2a923118e9afb57fee679be016ea138c27d1be5747118966e2d5d9450"},
+ {file = "pyzmq-26.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:e0c08a6070358a2984900a4518e2dacbfaf24aac018ab086d7ac2f6069b13340"},
+ {file = "pyzmq-26.0.0-cp39-cp39-win_arm64.whl", hash = "sha256:eae3dcc185c405cf645480745c45346a1f42afce240f69a589095e41bd2b9e3d"},
+ {file = "pyzmq-26.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:71a8f010e23dfd61c531084a2b72a81885017da28352540f0b7799ca8423c044"},
+ {file = "pyzmq-26.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b48b7e417c56486932fb0c01fecd24916fe6bc359c03a654aa8c63fa33e3d76"},
+ {file = "pyzmq-26.0.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2806942185b40a3477d9b300c6f71354dd2be37e3f61a43193c96caa51e284d1"},
+ {file = "pyzmq-26.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed127aff75a3df142ae7a883c49a85b0b2f863b59fa1b8e4280335f5ebab5fd0"},
+ {file = "pyzmq-26.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:903b77dd2f17286496fa3ec902bc523f4502b0c64a2892df4b021222a2ba95fe"},
+ {file = "pyzmq-26.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:321a6872a9371709a62b3a4a14c1e9b5b47549371197c0c2164d2288510cd6d6"},
+ {file = "pyzmq-26.0.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cac954dc83c84e9d9d65f2359d402d7e79ae094d7808d578c9e9cc2c350c5a64"},
+ {file = "pyzmq-26.0.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ac6f54c399638858e0b2a3153f23934604f3a8c9bb5a9cf865060cc658b1e096"},
+ {file = "pyzmq-26.0.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40af30c4cd0a046029d7b5272d02a649f9b1f89fb1361bbc90ba08d55ac88273"},
+ {file = "pyzmq-26.0.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:814245422f1c7707634397621dbcbeea7671fdc5c43d1ae592f4e0e45179e7fb"},
+ {file = "pyzmq-26.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6d3d7ef786e778351e6c51b45906e16506ad98bb78b99304032cb1876dfc81d2"},
+ {file = "pyzmq-26.0.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:36a85da0eab4c5337d0de7f975cca011208a59e9d0637e0c1b571764f1dd4a8f"},
+ {file = "pyzmq-26.0.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1d64889bfe4109f4a59a72b1d21416550465020642d6f556efd044951386bd38"},
+ {file = "pyzmq-26.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80fdea3e9e34c480bfccbb910f75380196ae9d1c12880c21743c845ebe6b13aa"},
+ {file = "pyzmq-26.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:7129efc54dc48f566eed5422bc555ba4e472e40a1f9de328577c90ade47ccf5d"},
+ {file = "pyzmq-26.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0ec5147095d6065b0e3a38a1a34f7859ab46496f3d5ce71134165893e9f83674"},
+ {file = "pyzmq-26.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a1cc0445038a394479ad36b7e3cf55a19ee40099c031f65de872b8ee7025e79"},
+ {file = "pyzmq-26.0.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b377b520e618c30c827966c274dd62ce7e15c72ce8767fae6193b6bdd1deb502"},
+ {file = "pyzmq-26.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc907b26d287e6981d1e531c8fc21a0f94fe46a17493a8322eb3c75f8b561334"},
+ {file = "pyzmq-26.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:580dd4b1c2edd51f284df0209bf439899f425ed00cb803a85ddc6cf10c866688"},
+ {file = "pyzmq-26.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:08db8071020181173c70cf2dad239e5e21e5b2e95f95b0ece0da39a70f5a483c"},
+ {file = "pyzmq-26.0.0.tar.gz", hash = "sha256:10ff405db5cee3bbd7aa143d78b25d90356097aed7864e50f0ae644e08759fe9"},
]
[package.dependencies]
@@ -2504,13 +2497,13 @@ cffi = {version = "*", markers = "implementation_name == \"pypy\""}
[[package]]
name = "referencing"
-version = "0.33.0"
+version = "0.34.0"
description = "JSON Referencing + Python"
optional = false
python-versions = ">=3.8"
files = [
- {file = "referencing-0.33.0-py3-none-any.whl", hash = "sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5"},
- {file = "referencing-0.33.0.tar.gz", hash = "sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"},
+ {file = "referencing-0.34.0-py3-none-any.whl", hash = "sha256:d53ae300ceddd3169f1ffa9caf2cb7b769e92657e4fafb23d34b93679116dfd4"},
+ {file = "referencing-0.34.0.tar.gz", hash = "sha256:5773bd84ef41799a5a8ca72dc34590c041eb01bf9aa02632b4a973fb0181a844"},
]
[package.dependencies]
@@ -2666,45 +2659,45 @@ files = [
[[package]]
name = "scipy"
-version = "1.12.0"
+version = "1.13.0"
description = "Fundamental algorithms for scientific computing in Python"
optional = false
python-versions = ">=3.9"
files = [
- {file = "scipy-1.12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:78e4402e140879387187f7f25d91cc592b3501a2e51dfb320f48dfb73565f10b"},
- {file = "scipy-1.12.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:f5f00ebaf8de24d14b8449981a2842d404152774c1a1d880c901bf454cb8e2a1"},
- {file = "scipy-1.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e53958531a7c695ff66c2e7bb7b79560ffdc562e2051644c5576c39ff8efb563"},
- {file = "scipy-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e32847e08da8d895ce09d108a494d9eb78974cf6de23063f93306a3e419960c"},
- {file = "scipy-1.12.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4c1020cad92772bf44b8e4cdabc1df5d87376cb219742549ef69fc9fd86282dd"},
- {file = "scipy-1.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:75ea2a144096b5e39402e2ff53a36fecfd3b960d786b7efd3c180e29c39e53f2"},
- {file = "scipy-1.12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:408c68423f9de16cb9e602528be4ce0d6312b05001f3de61fe9ec8b1263cad08"},
- {file = "scipy-1.12.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5adfad5dbf0163397beb4aca679187d24aec085343755fcdbdeb32b3679f254c"},
- {file = "scipy-1.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3003652496f6e7c387b1cf63f4bb720951cfa18907e998ea551e6de51a04467"},
- {file = "scipy-1.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b8066bce124ee5531d12a74b617d9ac0ea59245246410e19bca549656d9a40a"},
- {file = "scipy-1.12.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8bee4993817e204d761dba10dbab0774ba5a8612e57e81319ea04d84945375ba"},
- {file = "scipy-1.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:a24024d45ce9a675c1fb8494e8e5244efea1c7a09c60beb1eeb80373d0fecc70"},
- {file = "scipy-1.12.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e7e76cc48638228212c747ada851ef355c2bb5e7f939e10952bc504c11f4e372"},
- {file = "scipy-1.12.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:f7ce148dffcd64ade37b2df9315541f9adad6efcaa86866ee7dd5db0c8f041c3"},
- {file = "scipy-1.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c39f92041f490422924dfdb782527a4abddf4707616e07b021de33467f917bc"},
- {file = "scipy-1.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7ebda398f86e56178c2fa94cad15bf457a218a54a35c2a7b4490b9f9cb2676c"},
- {file = "scipy-1.12.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:95e5c750d55cf518c398a8240571b0e0782c2d5a703250872f36eaf737751338"},
- {file = "scipy-1.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:e646d8571804a304e1da01040d21577685ce8e2db08ac58e543eaca063453e1c"},
- {file = "scipy-1.12.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:913d6e7956c3a671de3b05ccb66b11bc293f56bfdef040583a7221d9e22a2e35"},
- {file = "scipy-1.12.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:bba1b0c7256ad75401c73e4b3cf09d1f176e9bd4248f0d3112170fb2ec4db067"},
- {file = "scipy-1.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:730badef9b827b368f351eacae2e82da414e13cf8bd5051b4bdfd720271a5371"},
- {file = "scipy-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6546dc2c11a9df6926afcbdd8a3edec28566e4e785b915e849348c6dd9f3f490"},
- {file = "scipy-1.12.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:196ebad3a4882081f62a5bf4aeb7326aa34b110e533aab23e4374fcccb0890dc"},
- {file = "scipy-1.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:b360f1b6b2f742781299514e99ff560d1fe9bd1bff2712894b52abe528d1fd1e"},
- {file = "scipy-1.12.0.tar.gz", hash = "sha256:4bf5abab8a36d20193c698b0f1fc282c1d083c94723902c447e5d2f1780936a3"},
+ {file = "scipy-1.13.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba419578ab343a4e0a77c0ef82f088238a93eef141b2b8017e46149776dfad4d"},
+ {file = "scipy-1.13.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:22789b56a999265431c417d462e5b7f2b487e831ca7bef5edeb56efe4c93f86e"},
+ {file = "scipy-1.13.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05f1432ba070e90d42d7fd836462c50bf98bd08bed0aa616c359eed8a04e3922"},
+ {file = "scipy-1.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8434f6f3fa49f631fae84afee424e2483289dfc30a47755b4b4e6b07b2633a4"},
+ {file = "scipy-1.13.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:dcbb9ea49b0167de4167c40eeee6e167caeef11effb0670b554d10b1e693a8b9"},
+ {file = "scipy-1.13.0-cp310-cp310-win_amd64.whl", hash = "sha256:1d2f7bb14c178f8b13ebae93f67e42b0a6b0fc50eba1cd8021c9b6e08e8fb1cd"},
+ {file = "scipy-1.13.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fbcf8abaf5aa2dc8d6400566c1a727aed338b5fe880cde64907596a89d576fa"},
+ {file = "scipy-1.13.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5e4a756355522eb60fcd61f8372ac2549073c8788f6114449b37e9e8104f15a5"},
+ {file = "scipy-1.13.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5acd8e1dbd8dbe38d0004b1497019b2dbbc3d70691e65d69615f8a7292865d7"},
+ {file = "scipy-1.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ff7dad5d24a8045d836671e082a490848e8639cabb3dbdacb29f943a678683d"},
+ {file = "scipy-1.13.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4dca18c3ffee287ddd3bc8f1dabaf45f5305c5afc9f8ab9cbfab855e70b2df5c"},
+ {file = "scipy-1.13.0-cp311-cp311-win_amd64.whl", hash = "sha256:a2f471de4d01200718b2b8927f7d76b5d9bde18047ea0fa8bd15c5ba3f26a1d6"},
+ {file = "scipy-1.13.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d0de696f589681c2802f9090fff730c218f7c51ff49bf252b6a97ec4a5d19e8b"},
+ {file = "scipy-1.13.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:b2a3ff461ec4756b7e8e42e1c681077349a038f0686132d623fa404c0bee2551"},
+ {file = "scipy-1.13.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf9fe63e7a4bf01d3645b13ff2aa6dea023d38993f42aaac81a18b1bda7a82a"},
+ {file = "scipy-1.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e7626dfd91cdea5714f343ce1176b6c4745155d234f1033584154f60ef1ff42"},
+ {file = "scipy-1.13.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:109d391d720fcebf2fbe008621952b08e52907cf4c8c7efc7376822151820820"},
+ {file = "scipy-1.13.0-cp312-cp312-win_amd64.whl", hash = "sha256:8930ae3ea371d6b91c203b1032b9600d69c568e537b7988a3073dfe4d4774f21"},
+ {file = "scipy-1.13.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5407708195cb38d70fd2d6bb04b1b9dd5c92297d86e9f9daae1576bd9e06f602"},
+ {file = "scipy-1.13.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:ac38c4c92951ac0f729c4c48c9e13eb3675d9986cc0c83943784d7390d540c78"},
+ {file = "scipy-1.13.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c74543c4fbeb67af6ce457f6a6a28e5d3739a87f62412e4a16e46f164f0ae5"},
+ {file = "scipy-1.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28e286bf9ac422d6beb559bc61312c348ca9b0f0dae0d7c5afde7f722d6ea13d"},
+ {file = "scipy-1.13.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:33fde20efc380bd23a78a4d26d59fc8704e9b5fd9b08841693eb46716ba13d86"},
+ {file = "scipy-1.13.0-cp39-cp39-win_amd64.whl", hash = "sha256:45c08bec71d3546d606989ba6e7daa6f0992918171e2a6f7fbedfa7361c2de1e"},
+ {file = "scipy-1.13.0.tar.gz", hash = "sha256:58569af537ea29d3f78e5abd18398459f195546bb3be23d16677fb26616cc11e"},
]
[package.dependencies]
-numpy = ">=1.22.4,<1.29.0"
+numpy = ">=1.22.4,<2.3"
[package.extras]
-dev = ["click", "cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy", "pycodestyle", "pydevtool", "rich-click", "ruff", "types-psutil", "typing_extensions"]
-doc = ["jupytext", "matplotlib (>2)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (==0.9.0)", "sphinx (!=4.1.0)", "sphinx-design (>=0.2.0)"]
-test = ["asv", "gmpy2", "hypothesis", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"]
+dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy", "pycodestyle", "pydevtool", "rich-click", "ruff", "types-psutil", "typing_extensions"]
+doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.12.0)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0)", "sphinx-design (>=0.4.0)"]
+test = ["array-api-strict", "asv", "gmpy2", "hypothesis (>=6.30)", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"]
[[package]]
name = "six"
@@ -2921,57 +2914,57 @@ test = ["pytest"]
[[package]]
name = "sqlalchemy"
-version = "1.4.51"
+version = "1.4.52"
description = "Database Abstraction Library"
optional = true
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
files = [
- {file = "SQLAlchemy-1.4.51-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:1a09d5bd1a40d76ad90e5570530e082ddc000e1d92de495746f6257dc08f166b"},
- {file = "SQLAlchemy-1.4.51-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2be4e6294c53f2ec8ea36486b56390e3bcaa052bf3a9a47005687ccf376745d1"},
- {file = "SQLAlchemy-1.4.51-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca484ca11c65e05639ffe80f20d45e6be81fbec7683d6c9a15cd421e6e8b340"},
- {file = "SQLAlchemy-1.4.51-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0535d5b57d014d06ceeaeffd816bb3a6e2dddeb670222570b8c4953e2d2ea678"},
- {file = "SQLAlchemy-1.4.51-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af55cc207865d641a57f7044e98b08b09220da3d1b13a46f26487cc2f898a072"},
- {file = "SQLAlchemy-1.4.51-cp310-cp310-win32.whl", hash = "sha256:7af40425ac535cbda129d9915edcaa002afe35d84609fd3b9d6a8c46732e02ee"},
- {file = "SQLAlchemy-1.4.51-cp310-cp310-win_amd64.whl", hash = "sha256:8d1d7d63e5d2f4e92a39ae1e897a5d551720179bb8d1254883e7113d3826d43c"},
- {file = "SQLAlchemy-1.4.51-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eaeeb2464019765bc4340214fca1143081d49972864773f3f1e95dba5c7edc7d"},
- {file = "SQLAlchemy-1.4.51-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7deeae5071930abb3669b5185abb6c33ddfd2398f87660fafdb9e6a5fb0f3f2f"},
- {file = "SQLAlchemy-1.4.51-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0892e7ac8bc76da499ad3ee8de8da4d7905a3110b952e2a35a940dab1ffa550e"},
- {file = "SQLAlchemy-1.4.51-cp311-cp311-win32.whl", hash = "sha256:50e074aea505f4427151c286955ea025f51752fa42f9939749336672e0674c81"},
- {file = "SQLAlchemy-1.4.51-cp311-cp311-win_amd64.whl", hash = "sha256:3b0cd89a7bd03f57ae58263d0f828a072d1b440c8c2949f38f3b446148321171"},
- {file = "SQLAlchemy-1.4.51-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:a33cb3f095e7d776ec76e79d92d83117438b6153510770fcd57b9c96f9ef623d"},
- {file = "SQLAlchemy-1.4.51-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6cacc0b2dd7d22a918a9642fc89840a5d3cee18a0e1fe41080b1141b23b10916"},
- {file = "SQLAlchemy-1.4.51-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:245c67c88e63f1523e9216cad6ba3107dea2d3ee19adc359597a628afcabfbcb"},
- {file = "SQLAlchemy-1.4.51-cp312-cp312-win32.whl", hash = "sha256:8e702e7489f39375601c7ea5a0bef207256828a2bc5986c65cb15cd0cf097a87"},
- {file = "SQLAlchemy-1.4.51-cp312-cp312-win_amd64.whl", hash = "sha256:0525c4905b4b52d8ccc3c203c9d7ab2a80329ffa077d4bacf31aefda7604dc65"},
- {file = "SQLAlchemy-1.4.51-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:1980e6eb6c9be49ea8f89889989127daafc43f0b1b6843d71efab1514973cca0"},
- {file = "SQLAlchemy-1.4.51-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ec7a0ed9b32afdf337172678a4a0e6419775ba4e649b66f49415615fa47efbd"},
- {file = "SQLAlchemy-1.4.51-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:352df882088a55293f621328ec33b6ffca936ad7f23013b22520542e1ab6ad1b"},
- {file = "SQLAlchemy-1.4.51-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:86a22143a4001f53bf58027b044da1fb10d67b62a785fc1390b5c7f089d9838c"},
- {file = "SQLAlchemy-1.4.51-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c37bc677690fd33932182b85d37433845de612962ed080c3e4d92f758d1bd894"},
- {file = "SQLAlchemy-1.4.51-cp36-cp36m-win32.whl", hash = "sha256:d0a83afab5e062abffcdcbcc74f9d3ba37b2385294dd0927ad65fc6ebe04e054"},
- {file = "SQLAlchemy-1.4.51-cp36-cp36m-win_amd64.whl", hash = "sha256:a61184c7289146c8cff06b6b41807c6994c6d437278e72cf00ff7fe1c7a263d1"},
- {file = "SQLAlchemy-1.4.51-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:3f0ef620ecbab46e81035cf3dedfb412a7da35340500ba470f9ce43a1e6c423b"},
- {file = "SQLAlchemy-1.4.51-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c55040d8ea65414de7c47f1a23823cd9f3fad0dc93e6b6b728fee81230f817b"},
- {file = "SQLAlchemy-1.4.51-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38ef80328e3fee2be0a1abe3fe9445d3a2e52a1282ba342d0dab6edf1fef4707"},
- {file = "SQLAlchemy-1.4.51-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f8cafa6f885a0ff5e39efa9325195217bb47d5929ab0051636610d24aef45ade"},
- {file = "SQLAlchemy-1.4.51-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8f2df79a46e130235bc5e1bbef4de0583fb19d481eaa0bffa76e8347ea45ec6"},
- {file = "SQLAlchemy-1.4.51-cp37-cp37m-win32.whl", hash = "sha256:f2e5b6f5cf7c18df66d082604a1d9c7a2d18f7d1dbe9514a2afaccbb51cc4fc3"},
- {file = "SQLAlchemy-1.4.51-cp37-cp37m-win_amd64.whl", hash = "sha256:5e180fff133d21a800c4f050733d59340f40d42364fcb9d14f6a67764bdc48d2"},
- {file = "SQLAlchemy-1.4.51-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:7d8139ca0b9f93890ab899da678816518af74312bb8cd71fb721436a93a93298"},
- {file = "SQLAlchemy-1.4.51-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb18549b770351b54e1ab5da37d22bc530b8bfe2ee31e22b9ebe650640d2ef12"},
- {file = "SQLAlchemy-1.4.51-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55e699466106d09f028ab78d3c2e1f621b5ef2c8694598242259e4515715da7c"},
- {file = "SQLAlchemy-1.4.51-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2ad16880ccd971ac8e570550fbdef1385e094b022d6fc85ef3ce7df400dddad3"},
- {file = "SQLAlchemy-1.4.51-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b97fd5bb6b7c1a64b7ac0632f7ce389b8ab362e7bd5f60654c2a418496be5d7f"},
- {file = "SQLAlchemy-1.4.51-cp38-cp38-win32.whl", hash = "sha256:cecb66492440ae8592797dd705a0cbaa6abe0555f4fa6c5f40b078bd2740fc6b"},
- {file = "SQLAlchemy-1.4.51-cp38-cp38-win_amd64.whl", hash = "sha256:39b02b645632c5fe46b8dd30755682f629ffbb62ff317ecc14c998c21b2896ff"},
- {file = "SQLAlchemy-1.4.51-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:b03850c290c765b87102959ea53299dc9addf76ca08a06ea98383348ae205c99"},
- {file = "SQLAlchemy-1.4.51-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e646b19f47d655261b22df9976e572f588185279970efba3d45c377127d35349"},
- {file = "SQLAlchemy-1.4.51-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3cf56cc36d42908495760b223ca9c2c0f9f0002b4eddc994b24db5fcb86a9e4"},
- {file = "SQLAlchemy-1.4.51-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0d661cff58c91726c601cc0ee626bf167b20cc4d7941c93c5f3ac28dc34ddbea"},
- {file = "SQLAlchemy-1.4.51-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3823dda635988e6744d4417e13f2e2b5fe76c4bf29dd67e95f98717e1b094cad"},
- {file = "SQLAlchemy-1.4.51-cp39-cp39-win32.whl", hash = "sha256:b00cf0471888823b7a9f722c6c41eb6985cf34f077edcf62695ac4bed6ec01ee"},
- {file = "SQLAlchemy-1.4.51-cp39-cp39-win_amd64.whl", hash = "sha256:a055ba17f4675aadcda3005df2e28a86feb731fdcc865e1f6b4f209ed1225cba"},
- {file = "SQLAlchemy-1.4.51.tar.gz", hash = "sha256:e7908c2025eb18394e32d65dd02d2e37e17d733cdbe7d78231c2b6d7eb20cdb9"},
+ {file = "SQLAlchemy-1.4.52-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:f68016f9a5713684c1507cc37133c28035f29925c75c0df2f9d0f7571e23720a"},
+ {file = "SQLAlchemy-1.4.52-cp310-cp310-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24bb0f81fbbb13d737b7f76d1821ec0b117ce8cbb8ee5e8641ad2de41aa916d3"},
+ {file = "SQLAlchemy-1.4.52-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e93983cc0d2edae253b3f2141b0a3fb07e41c76cd79c2ad743fc27eb79c3f6db"},
+ {file = "SQLAlchemy-1.4.52-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:84e10772cfc333eb08d0b7ef808cd76e4a9a30a725fb62a0495877a57ee41d81"},
+ {file = "SQLAlchemy-1.4.52-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:427988398d2902de042093d17f2b9619a5ebc605bf6372f7d70e29bde6736842"},
+ {file = "SQLAlchemy-1.4.52-cp310-cp310-win32.whl", hash = "sha256:1296f2cdd6db09b98ceb3c93025f0da4835303b8ac46c15c2136e27ee4d18d94"},
+ {file = "SQLAlchemy-1.4.52-cp310-cp310-win_amd64.whl", hash = "sha256:80e7f697bccc56ac6eac9e2df5c98b47de57e7006d2e46e1a3c17c546254f6ef"},
+ {file = "SQLAlchemy-1.4.52-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2f251af4c75a675ea42766880ff430ac33291c8d0057acca79710f9e5a77383d"},
+ {file = "SQLAlchemy-1.4.52-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb8f9e4c4718f111d7b530c4e6fb4d28f9f110eb82e7961412955b3875b66de0"},
+ {file = "SQLAlchemy-1.4.52-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afb1672b57f58c0318ad2cff80b384e816735ffc7e848d8aa51e0b0fc2f4b7bb"},
+ {file = "SQLAlchemy-1.4.52-cp311-cp311-win32.whl", hash = "sha256:6e41cb5cda641f3754568d2ed8962f772a7f2b59403b95c60c89f3e0bd25f15e"},
+ {file = "SQLAlchemy-1.4.52-cp311-cp311-win_amd64.whl", hash = "sha256:5bed4f8c3b69779de9d99eb03fd9ab67a850d74ab0243d1be9d4080e77b6af12"},
+ {file = "SQLAlchemy-1.4.52-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:49e3772eb3380ac88d35495843daf3c03f094b713e66c7d017e322144a5c6b7c"},
+ {file = "SQLAlchemy-1.4.52-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:618827c1a1c243d2540314c6e100aee7af09a709bd005bae971686fab6723554"},
+ {file = "SQLAlchemy-1.4.52-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de9acf369aaadb71a725b7e83a5ef40ca3de1cf4cdc93fa847df6b12d3cd924b"},
+ {file = "SQLAlchemy-1.4.52-cp312-cp312-win32.whl", hash = "sha256:763bd97c4ebc74136ecf3526b34808c58945023a59927b416acebcd68d1fc126"},
+ {file = "SQLAlchemy-1.4.52-cp312-cp312-win_amd64.whl", hash = "sha256:f12aaf94f4d9679ca475975578739e12cc5b461172e04d66f7a3c39dd14ffc64"},
+ {file = "SQLAlchemy-1.4.52-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:853fcfd1f54224ea7aabcf34b227d2b64a08cbac116ecf376907968b29b8e763"},
+ {file = "SQLAlchemy-1.4.52-cp36-cp36m-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f98dbb8fcc6d1c03ae8ec735d3c62110949a3b8bc6e215053aa27096857afb45"},
+ {file = "SQLAlchemy-1.4.52-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e135fff2e84103bc15c07edd8569612ce317d64bdb391f49ce57124a73f45c5"},
+ {file = "SQLAlchemy-1.4.52-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5b5de6af8852500d01398f5047d62ca3431d1e29a331d0b56c3e14cb03f8094c"},
+ {file = "SQLAlchemy-1.4.52-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3491c85df263a5c2157c594f54a1a9c72265b75d3777e61ee13c556d9e43ffc9"},
+ {file = "SQLAlchemy-1.4.52-cp36-cp36m-win32.whl", hash = "sha256:427c282dd0deba1f07bcbf499cbcc9fe9a626743f5d4989bfdfd3ed3513003dd"},
+ {file = "SQLAlchemy-1.4.52-cp36-cp36m-win_amd64.whl", hash = "sha256:ca5ce82b11731492204cff8845c5e8ca1a4bd1ade85e3b8fcf86e7601bfc6a39"},
+ {file = "SQLAlchemy-1.4.52-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:29d4247313abb2015f8979137fe65f4eaceead5247d39603cc4b4a610936cd2b"},
+ {file = "SQLAlchemy-1.4.52-cp37-cp37m-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a752bff4796bf22803d052d4841ebc3c55c26fb65551f2c96e90ac7c62be763a"},
+ {file = "SQLAlchemy-1.4.52-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7ea11727feb2861deaa293c7971a4df57ef1c90e42cb53f0da40c3468388000"},
+ {file = "SQLAlchemy-1.4.52-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d913f8953e098ca931ad7f58797f91deed26b435ec3756478b75c608aa80d139"},
+ {file = "SQLAlchemy-1.4.52-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a251146b921725547ea1735b060a11e1be705017b568c9f8067ca61e6ef85f20"},
+ {file = "SQLAlchemy-1.4.52-cp37-cp37m-win32.whl", hash = "sha256:1f8e1c6a6b7f8e9407ad9afc0ea41c1f65225ce505b79bc0342159de9c890782"},
+ {file = "SQLAlchemy-1.4.52-cp37-cp37m-win_amd64.whl", hash = "sha256:346ed50cb2c30f5d7a03d888e25744154ceac6f0e6e1ab3bc7b5b77138d37710"},
+ {file = "SQLAlchemy-1.4.52-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:4dae6001457d4497736e3bc422165f107ecdd70b0d651fab7f731276e8b9e12d"},
+ {file = "SQLAlchemy-1.4.52-cp38-cp38-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5d2e08d79f5bf250afb4a61426b41026e448da446b55e4770c2afdc1e200fce"},
+ {file = "SQLAlchemy-1.4.52-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bbce5dd7c7735e01d24f5a60177f3e589078f83c8a29e124a6521b76d825b85"},
+ {file = "SQLAlchemy-1.4.52-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:bdb7b4d889631a3b2a81a3347c4c3f031812eb4adeaa3ee4e6b0d028ad1852b5"},
+ {file = "SQLAlchemy-1.4.52-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c294ae4e6bbd060dd79e2bd5bba8b6274d08ffd65b58d106394cb6abbf35cf45"},
+ {file = "SQLAlchemy-1.4.52-cp38-cp38-win32.whl", hash = "sha256:bcdfb4b47fe04967669874fb1ce782a006756fdbebe7263f6a000e1db969120e"},
+ {file = "SQLAlchemy-1.4.52-cp38-cp38-win_amd64.whl", hash = "sha256:7d0dbc56cb6af5088f3658982d3d8c1d6a82691f31f7b0da682c7b98fa914e91"},
+ {file = "SQLAlchemy-1.4.52-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:a551d5f3dc63f096ed41775ceec72fdf91462bb95abdc179010dc95a93957800"},
+ {file = "SQLAlchemy-1.4.52-cp39-cp39-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ab773f9ad848118df7a9bbabca53e3f1002387cdbb6ee81693db808b82aaab0"},
+ {file = "SQLAlchemy-1.4.52-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2de46f5d5396d5331127cfa71f837cca945f9a2b04f7cb5a01949cf676db7d1"},
+ {file = "SQLAlchemy-1.4.52-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7027be7930a90d18a386b25ee8af30514c61f3852c7268899f23fdfbd3107181"},
+ {file = "SQLAlchemy-1.4.52-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99224d621affbb3c1a4f72b631f8393045f4ce647dd3262f12fe3576918f8bf3"},
+ {file = "SQLAlchemy-1.4.52-cp39-cp39-win32.whl", hash = "sha256:c124912fd4e1bb9d1e7dc193ed482a9f812769cb1e69363ab68e01801e859821"},
+ {file = "SQLAlchemy-1.4.52-cp39-cp39-win_amd64.whl", hash = "sha256:2c286fab42e49db23c46ab02479f328b8bdb837d3e281cae546cc4085c83b680"},
+ {file = "SQLAlchemy-1.4.52.tar.gz", hash = "sha256:80e63bbdc5217dad3485059bdf6f65a7d43f33c8bde619df5c220edf03d87296"},
]
[package.dependencies]
@@ -3079,28 +3072,28 @@ files = [
[[package]]
name = "traitlets"
-version = "5.14.1"
+version = "5.14.2"
description = "Traitlets Python configuration system"
optional = false
python-versions = ">=3.8"
files = [
- {file = "traitlets-5.14.1-py3-none-any.whl", hash = "sha256:2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74"},
- {file = "traitlets-5.14.1.tar.gz", hash = "sha256:8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e"},
+ {file = "traitlets-5.14.2-py3-none-any.whl", hash = "sha256:fcdf85684a772ddeba87db2f398ce00b40ff550d1528c03c14dbf6a02003cd80"},
+ {file = "traitlets-5.14.2.tar.gz", hash = "sha256:8cdd83c040dab7d1dee822678e5f5d100b514f7b72b01615b26fc5718916fdf9"},
]
[package.extras]
docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"]
-test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<7.5)", "pytest-mock", "pytest-mypy-testing"]
+test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<8.1)", "pytest-mock", "pytest-mypy-testing"]
[[package]]
name = "typing-extensions"
-version = "4.10.0"
+version = "4.11.0"
description = "Backported and Experimental Type Hints for Python 3.8+"
optional = false
python-versions = ">=3.8"
files = [
- {file = "typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475"},
- {file = "typing_extensions-4.10.0.tar.gz", hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"},
+ {file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"},
+ {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"},
]
[[package]]
@@ -3192,18 +3185,18 @@ test = ["pytest"]
[[package]]
name = "zipp"
-version = "3.17.0"
+version = "3.18.1"
description = "Backport of pathlib-compatible object wrapper for zip files"
optional = false
python-versions = ">=3.8"
files = [
- {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"},
- {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"},
+ {file = "zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b"},
+ {file = "zipp-3.18.1.tar.gz", hash = "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"},
]
[package.extras]
-docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"]
+docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
+testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"]
[extras]
box = ["click", "rich"]
From 3314fb0915cc33ff8e57434c5c31f59007725f2f Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 22 Apr 2024 13:13:30 +0300
Subject: [PATCH 085/216] Drop utils.geomspace for np
---
src/eko/evolution_operator/__init__.py | 3 +--
src/eko/kernels/non_singlet.py | 5 ++---
src/eko/kernels/non_singlet_qed.py | 3 +--
src/eko/kernels/singlet.py | 7 +++----
src/eko/kernels/utils.py | 26 --------------------------
tests/eko/kernels/test_utils.py | 12 ------------
6 files changed, 7 insertions(+), 49 deletions(-)
delete mode 100644 src/eko/kernels/utils.py
delete mode 100644 tests/eko/kernels/test_utils.py
diff --git a/src/eko/evolution_operator/__init__.py b/src/eko/evolution_operator/__init__.py
index 5d19e305a..1c759c5c5 100644
--- a/src/eko/evolution_operator/__init__.py
+++ b/src/eko/evolution_operator/__init__.py
@@ -24,7 +24,6 @@
from ..kernels import non_singlet_qed as qed_ns
from ..kernels import singlet as s
from ..kernels import singlet_qed as qed_s
-from ..kernels import utils
from ..kernels import valence_qed as qed_v
from ..matchings import Segment, lepton_number
from ..member import OpMember
@@ -724,7 +723,7 @@ def compute_aem_list(self):
a_half = np.zeros((ev_op_iterations, 2))
else:
couplings = self.managers["couplings"]
- mu2_steps = utils.geomspace(self.q2_from, self.q2_to, 1 + ev_op_iterations)
+ mu2_steps = np.geomspace(self.q2_from, self.q2_to, 1 + ev_op_iterations)
mu2_l = mu2_steps[0]
as_list = np.array(
[couplings.a_s(scale_to=mu2, nf_to=self.nf) for mu2 in mu2_steps]
diff --git a/src/eko/kernels/non_singlet.py b/src/eko/kernels/non_singlet.py
index 23b2ab47a..bd5bd10f0 100644
--- a/src/eko/kernels/non_singlet.py
+++ b/src/eko/kernels/non_singlet.py
@@ -6,7 +6,6 @@
from .. import beta
from . import as4_evolution_integrals as as4_ei
from . import evolution_integrals as ei
-from . import utils
@nb.njit(cache=True)
@@ -281,7 +280,7 @@ def eko_ordered_truncated(gamma_ns, a1, a0, beta, order, ev_op_iterations):
non-singlet ordered truncated EKO
"""
- a_steps = utils.geomspace(a0, a1, 1 + ev_op_iterations)
+ a_steps = np.geomspace(a0, a1, 1 + ev_op_iterations)
U = U_vec(gamma_ns, beta, order)
e = 1.0
al = a_steps[0]
@@ -321,7 +320,7 @@ def eko_truncated(gamma_ns, a1, a0, beta, order, ev_op_iterations):
non-singlet truncated EKO
"""
- a_steps = utils.geomspace(a0, a1, 1 + ev_op_iterations)
+ a_steps = np.geomspace(a0, a1, 1 + ev_op_iterations)
U = U_vec(gamma_ns, beta, order)
e = 1.0
al = a_steps[0]
diff --git a/src/eko/kernels/non_singlet_qed.py b/src/eko/kernels/non_singlet_qed.py
index 618654ec2..7a2de816a 100644
--- a/src/eko/kernels/non_singlet_qed.py
+++ b/src/eko/kernels/non_singlet_qed.py
@@ -5,7 +5,6 @@
from .. import beta
from . import non_singlet as ns
-from . import utils
@nb.njit(cache=True)
@@ -277,7 +276,7 @@ def exact(order, gamma_ns, as_list, aem_half, nf, ev_op_iterations, mu2_from, mu
e_ns : complex
non-singlet EKO
"""
- mu2_steps = utils.geomspace(mu2_from, mu2_to, 1 + ev_op_iterations)
+ mu2_steps = np.geomspace(mu2_from, mu2_to, 1 + ev_op_iterations)
res = 1.0
for step in range(1, ev_op_iterations + 1):
aem = aem_half[step - 1]
diff --git a/src/eko/kernels/singlet.py b/src/eko/kernels/singlet.py
index 159135dc6..5983c0c67 100644
--- a/src/eko/kernels/singlet.py
+++ b/src/eko/kernels/singlet.py
@@ -8,7 +8,6 @@
from .. import beta
from . import as4_evolution_integrals as as4_ei
from . import evolution_integrals as ei
-from . import utils
@nb.njit(cache=True)
@@ -323,7 +322,7 @@ def eko_iterate(gamma_singlet, a1, a0, beta_vec, order, ev_op_iterations):
numpy.ndarray
singlet iterated (exact) EKO
"""
- a_steps = utils.geomspace(a0, a1, 1 + ev_op_iterations)
+ a_steps = np.geomspace(a0, a1, 1 + ev_op_iterations)
e = np.identity(2, np.complex_)
al = a_steps[0]
for ah in a_steps[1:]:
@@ -500,7 +499,7 @@ def eko_perturbative(
uk = u_vec(r, ev_op_max_order)
e = np.identity(2, np.complex_)
# iterate elements
- a_steps = utils.geomspace(a0, a1, 1 + ev_op_iterations)
+ a_steps = np.geomspace(a0, a1, 1 + ev_op_iterations)
al = a_steps[0]
for ah in a_steps[1:]:
e0 = lo_exact(gamma_singlet, ah, al, beta)
@@ -542,7 +541,7 @@ def eko_truncated(gamma_singlet, a1, a0, beta, order, ev_op_iterations):
u1 = np.ascontiguousarray(u[1])
e = np.identity(2, np.complex_)
# iterate elements
- a_steps = utils.geomspace(a0, a1, 1 + ev_op_iterations)
+ a_steps = np.geomspace(a0, a1, 1 + ev_op_iterations)
al = a_steps[0]
for ah in a_steps[1:]:
e0 = np.ascontiguousarray(lo_exact(gamma_singlet, ah, al, beta))
diff --git a/src/eko/kernels/utils.py b/src/eko/kernels/utils.py
deleted file mode 100644
index 8b227199b..000000000
--- a/src/eko/kernels/utils.py
+++ /dev/null
@@ -1,26 +0,0 @@
-"""Utility functions."""
-
-import numba as nb
-import numpy as np
-
-
-@nb.njit(cache=True)
-def geomspace(start, end, num):
- """Numba port of :func:`numpy.geomspace`.
-
- Parameters
- ----------
- start : float
- initial value
- end : float
- final value
- num : int
- steps
-
- Returns
- -------
- geomspace : numpy.ndarray
- logarithmic spaced list between `start` and `end`
-
- """
- return np.exp(np.linspace(np.log(start), np.log(end), num))
diff --git a/tests/eko/kernels/test_utils.py b/tests/eko/kernels/test_utils.py
deleted file mode 100644
index 5cb33e23d..000000000
--- a/tests/eko/kernels/test_utils.py
+++ /dev/null
@@ -1,12 +0,0 @@
-import numpy as np
-
-from eko.kernels import utils
-
-
-def test_geomspace():
- for start in [1, 2]:
- for end in [3, 4]:
- for n in [5, 10]:
- np.testing.assert_allclose(
- utils.geomspace(start, end, n), np.geomspace(start, end, n)
- )
From 8d41c6b2ca8321c5c3c6ea38f9093fd753fbb33c Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 22 Apr 2024 13:17:49 +0300
Subject: [PATCH 086/216] Drop unused utils import
---
src/eko/evolution_operator/quad_ker.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/eko/evolution_operator/quad_ker.py b/src/eko/evolution_operator/quad_ker.py
index 9303f8aa9..d7b5858b0 100644
--- a/src/eko/evolution_operator/quad_ker.py
+++ b/src/eko/evolution_operator/quad_ker.py
@@ -11,7 +11,6 @@
from .. import scale_variations as sv
from ..kernels import non_singlet as ns
from ..kernels import singlet as s
-from ..kernels import utils
from ..matchings import Segment
from ..member import OpMember
From 76018ad9d72344fd0341a37a4a2c9acb273a3fbd Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Tue, 23 Apr 2024 15:26:57 +0200
Subject: [PATCH 087/216] change r parameter
---
src/eko/mellin.py | 2 +-
src/ekobox/evol_pdf.py | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/eko/mellin.py b/src/eko/mellin.py
index 01ec56ad4..30bc4ccff 100644
--- a/src/eko/mellin.py
+++ b/src/eko/mellin.py
@@ -223,7 +223,7 @@ class Path:
def __init__(self, t, logx, axis_offset):
self.t = t
# TODO: shall we use: 0.4 * 16.0 / ( - logx) ?
- self.r = 0.4 * 16.0 / (1.0 - logx)
+ self.r = 0.4 * 16.0 / (0.1 - logx)
if axis_offset:
self.o = 1.0
else:
diff --git a/src/ekobox/evol_pdf.py b/src/ekobox/evol_pdf.py
index cfb3cc88b..3a6c214c6 100644
--- a/src/ekobox/evol_pdf.py
+++ b/src/ekobox/evol_pdf.py
@@ -5,9 +5,9 @@
import numpy as np
-import eko
from eko import basis_rotation as br
from eko.io import EKO
+from eko.runner import managed
from . import apply, genpdf, info_file
@@ -56,7 +56,7 @@ def evolve_pdfs(
else:
if store_path is None:
raise ValueError("'store_path' required if 'path' is not provided.")
- eko.solve(theory_card, operators_card, path=store_path)
+ managed.solve(theory_card, operators_card, path=store_path)
eko_path = store_path
# apply PDF to eko
From bffcb1d3f56403d999eb4bb660aa653c8821d664 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Tue, 23 Apr 2024 15:29:42 +0200
Subject: [PATCH 088/216] Revert "change r parameter"
This reverts commit 76018ad9d72344fd0341a37a4a2c9acb273a3fbd.
---
src/eko/mellin.py | 2 +-
src/ekobox/evol_pdf.py | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/eko/mellin.py b/src/eko/mellin.py
index 30bc4ccff..01ec56ad4 100644
--- a/src/eko/mellin.py
+++ b/src/eko/mellin.py
@@ -223,7 +223,7 @@ class Path:
def __init__(self, t, logx, axis_offset):
self.t = t
# TODO: shall we use: 0.4 * 16.0 / ( - logx) ?
- self.r = 0.4 * 16.0 / (0.1 - logx)
+ self.r = 0.4 * 16.0 / (1.0 - logx)
if axis_offset:
self.o = 1.0
else:
diff --git a/src/ekobox/evol_pdf.py b/src/ekobox/evol_pdf.py
index 3a6c214c6..cfb3cc88b 100644
--- a/src/ekobox/evol_pdf.py
+++ b/src/ekobox/evol_pdf.py
@@ -5,9 +5,9 @@
import numpy as np
+import eko
from eko import basis_rotation as br
from eko.io import EKO
-from eko.runner import managed
from . import apply, genpdf, info_file
@@ -56,7 +56,7 @@ def evolve_pdfs(
else:
if store_path is None:
raise ValueError("'store_path' required if 'path' is not provided.")
- managed.solve(theory_card, operators_card, path=store_path)
+ eko.solve(theory_card, operators_card, path=store_path)
eko_path = store_path
# apply PDF to eko
From f36aaf54b440ef8c04c8cec924b57e166cbb757e Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Tue, 23 Apr 2024 15:33:27 +0200
Subject: [PATCH 089/216] change r parameter
---
src/eko/mellin.py | 2 +-
src/ekobox/evol_pdf.py | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/eko/mellin.py b/src/eko/mellin.py
index 01ec56ad4..30bc4ccff 100644
--- a/src/eko/mellin.py
+++ b/src/eko/mellin.py
@@ -223,7 +223,7 @@ class Path:
def __init__(self, t, logx, axis_offset):
self.t = t
# TODO: shall we use: 0.4 * 16.0 / ( - logx) ?
- self.r = 0.4 * 16.0 / (1.0 - logx)
+ self.r = 0.4 * 16.0 / (0.1 - logx)
if axis_offset:
self.o = 1.0
else:
diff --git a/src/ekobox/evol_pdf.py b/src/ekobox/evol_pdf.py
index cfb3cc88b..d16752e72 100644
--- a/src/ekobox/evol_pdf.py
+++ b/src/ekobox/evol_pdf.py
@@ -8,6 +8,7 @@
import eko
from eko import basis_rotation as br
from eko.io import EKO
+from eko.runner import managed
from . import apply, genpdf, info_file
@@ -56,7 +57,7 @@ def evolve_pdfs(
else:
if store_path is None:
raise ValueError("'store_path' required if 'path' is not provided.")
- eko.solve(theory_card, operators_card, path=store_path)
+ managed.solve(theory_card, operators_card, path=store_path)
eko_path = store_path
# apply PDF to eko
From 9ec4aec16cd19110c432493800a67ba4ea956e92 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 23 Apr 2024 16:48:41 +0300
Subject: [PATCH 090/216] Add comment on r choice
---
src/eko/mellin.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/eko/mellin.py b/src/eko/mellin.py
index 30bc4ccff..4302dae01 100644
--- a/src/eko/mellin.py
+++ b/src/eko/mellin.py
@@ -222,7 +222,10 @@ class Path:
def __init__(self, t, logx, axis_offset):
self.t = t
- # TODO: shall we use: 0.4 * 16.0 / ( - logx) ?
+ # The prescription suggested by :cite:`Abate` for r is 0.4 * M / ( - logx)
+ # with M the number of accurate digits; Maria Ubiali suggested in her thesis M = 16.
+ # However, this seems to yield unstable results for the OME in the large x region
+ # so we add an additional regularization, which makes the path less "edgy" there
self.r = 0.4 * 16.0 / (0.1 - logx)
if axis_offset:
self.o = 1.0
From d6ef08fff992e4aa04b80187c5698ec19f88c3db Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 23 Apr 2024 16:54:07 +0300
Subject: [PATCH 091/216] Use managed in evol_pdf
---
src/ekobox/evol_pdf.py | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/ekobox/evol_pdf.py b/src/ekobox/evol_pdf.py
index cfb3cc88b..ddd80f75a 100644
--- a/src/ekobox/evol_pdf.py
+++ b/src/ekobox/evol_pdf.py
@@ -3,11 +3,9 @@
import pathlib
from collections import defaultdict
-import numpy as np
-
-import eko
from eko import basis_rotation as br
from eko.io import EKO
+from eko.runner import managed
from . import apply, genpdf, info_file
@@ -56,7 +54,7 @@ def evolve_pdfs(
else:
if store_path is None:
raise ValueError("'store_path' required if 'path' is not provided.")
- eko.solve(theory_card, operators_card, path=store_path)
+ managed.solve(theory_card, operators_card, path=store_path)
eko_path = store_path
# apply PDF to eko
From 718f501e0b64421cdbfe4e9703cf145f6d44b780 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 23 Apr 2024 16:55:19 +0300
Subject: [PATCH 092/216] Revert changes in ekobox
---
src/ekobox/evol_pdf.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/ekobox/evol_pdf.py b/src/ekobox/evol_pdf.py
index d16752e72..cfb3cc88b 100644
--- a/src/ekobox/evol_pdf.py
+++ b/src/ekobox/evol_pdf.py
@@ -8,7 +8,6 @@
import eko
from eko import basis_rotation as br
from eko.io import EKO
-from eko.runner import managed
from . import apply, genpdf, info_file
@@ -57,7 +56,7 @@ def evolve_pdfs(
else:
if store_path is None:
raise ValueError("'store_path' required if 'path' is not provided.")
- managed.solve(theory_card, operators_card, path=store_path)
+ eko.solve(theory_card, operators_card, path=store_path)
eko_path = store_path
# apply PDF to eko
From 8f2205602e7ea8c51c5aa7a2865eaa30f7d8abbf Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 23 Apr 2024 16:58:23 +0300
Subject: [PATCH 093/216] Fix test_quad_ker_errors
---
tests/eko/evolution_operator/test_init.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/eko/evolution_operator/test_init.py b/tests/eko/evolution_operator/test_init.py
index 66112aff8..597f645f8 100644
--- a/tests/eko/evolution_operator/test_init.py
+++ b/tests/eko/evolution_operator/test_init.py
@@ -27,7 +27,7 @@ def test_quad_ker_errors():
mode1=0,
method="",
is_log=True,
- logx=0.1,
+ logx=np.log(0.1),
areas=[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]],
as_list=[2.0, 1.0],
mu2_from=1.0,
From d9d596550602ee3c91330f1e6a6cdd2392782d54 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 24 Apr 2024 16:55:07 +0300
Subject: [PATCH 094/216] Fix rustification
---
rustify.sh | 4 +-
src/eko/evolution_operator/__init__.py.patch | 56 +-
.../eko/evolution_operator/test_init.py.patch | 601 ------------------
3 files changed, 41 insertions(+), 620 deletions(-)
delete mode 100644 tests/eko/evolution_operator/test_init.py.patch
diff --git a/rustify.sh b/rustify.sh
index 05078d0b7..27339c00d 100755
--- a/rustify.sh
+++ b/rustify.sh
@@ -1,5 +1,7 @@
#!/usr/bin/bash
patch -p1 src/eko/evolution_operator/__init__.py.patch
patch -p1
Date: Wed, 24 Apr 2024 17:45:22 +0300
Subject: [PATCH 095/216] rust: Add some NLO S_k
---
crates/ekore/src/constants.rs | 9 +++++++++
crates/ekore/src/harmonics.rs | 2 ++
crates/ekore/src/harmonics/cache.rs | 23 ++++++++++++++++++++++-
crates/ekore/src/harmonics/w2.rs | 12 ++++++++++++
crates/ekore/src/harmonics/w3.rs | 12 ++++++++++++
5 files changed, 57 insertions(+), 1 deletion(-)
create mode 100644 crates/ekore/src/harmonics/w2.rs
create mode 100644 crates/ekore/src/harmonics/w3.rs
diff --git a/crates/ekore/src/constants.rs b/crates/ekore/src/constants.rs
index 3cdd13a15..6f345de27 100644
--- a/crates/ekore/src/constants.rs
+++ b/crates/ekore/src/constants.rs
@@ -23,3 +23,12 @@ pub const CA: f64 = NC as f64;
///
/// Defaults to $C_F = \frac{N_C^2-1}{2N_C} = 4/3$.
pub const CF: f64 = ((NC * NC - 1) as f64) / ((2 * NC) as f64);
+
+#[cfg_attr(doc, katexit::katexit)]
+/// Riemann zeta function at z = 2.
+///
+/// $\zeta(2) = \pi^2 / 6$.
+pub const ZETA2: f64 = 1.6449340668482264;
+
+/// Riemann zeta function at z = 3.
+pub const ZETA3: f64 = 1.2020569031595942;
diff --git a/crates/ekore/src/harmonics.rs b/crates/ekore/src/harmonics.rs
index b829060fc..73b918476 100644
--- a/crates/ekore/src/harmonics.rs
+++ b/crates/ekore/src/harmonics.rs
@@ -3,3 +3,5 @@
pub mod cache;
pub mod polygamma;
mod w1;
+mod w2;
+mod w3;
diff --git a/crates/ekore/src/harmonics/cache.rs b/crates/ekore/src/harmonics/cache.rs
index 6ad72171d..2365caf29 100644
--- a/crates/ekore/src/harmonics/cache.rs
+++ b/crates/ekore/src/harmonics/cache.rs
@@ -3,7 +3,7 @@
use hashbrown::HashMap;
use num::complex::Complex;
-use crate::harmonics::w1;
+use crate::harmonics::{w1, w2, w3};
#[cfg_attr(doc, katexit::katexit)]
/// List of available elements.
@@ -11,6 +11,20 @@ use crate::harmonics::w1;
pub enum K {
/// $S_1(N)$
S1,
+ /// $S_2(N)$
+ S2,
+ /// $S_1(N/2)$
+ S1h,
+ /// $S_2(N/2)$
+ S2h,
+ /// $S_3(N/2)$
+ S3h,
+ /// $S_1((N-1)/2)$
+ S1mh,
+ /// $S_2((N-1)/2)$
+ S2mh,
+ /// $S_3((N-1)/2)$
+ S3mh,
}
/// Hold all cached values.
@@ -40,6 +54,13 @@ impl Cache {
// compute new
let val = match k {
K::S1 => w1::S1(self.n),
+ K::S2 => w2::S2(self.n),
+ K::S1h => w1::S1(self.n / 2.),
+ K::S2h => w2::S2(self.n / 2.),
+ K::S3h => w3::S3(self.n / 2.),
+ K::S1mh => w1::S1((self.n - 1.) / 2.),
+ K::S2mh => w2::S2((self.n - 1.) / 2.),
+ K::S3mh => w3::S3((self.n - 1.) / 2.),
};
// insert
self.m.insert(k, val);
diff --git a/crates/ekore/src/harmonics/w2.rs b/crates/ekore/src/harmonics/w2.rs
new file mode 100644
index 000000000..b34680c6a
--- /dev/null
+++ b/crates/ekore/src/harmonics/w2.rs
@@ -0,0 +1,12 @@
+use num::complex::Complex;
+
+use crate::constants::ZETA2;
+use crate::harmonics::polygamma::cern_polygamma;
+
+/// Compute the harmonic sum $S_2(N)$.
+///
+/// $$S_2(N) = \sum\limits_{j=1}^N \frac 1 {j^2} = -\psi_1(N+1)+\zeta(2)$$
+/// with $\psi_1(N)$ the trigamma function and $\zeta$ the Riemann zeta function.
+pub fn S2(N: Complex) -> Complex {
+ -cern_polygamma(N + 1.0, 1) + ZETA2
+}
diff --git a/crates/ekore/src/harmonics/w3.rs b/crates/ekore/src/harmonics/w3.rs
new file mode 100644
index 000000000..5b1e0784c
--- /dev/null
+++ b/crates/ekore/src/harmonics/w3.rs
@@ -0,0 +1,12 @@
+use num::complex::Complex;
+
+use crate::constants::ZETA3;
+use crate::harmonics::polygamma::cern_polygamma;
+
+/// Compute the harmonic sum $S_3(N)$.
+///
+/// $$S_3(N) = \sum\limits_{j=1}^N \frac 1 {j^3} = \frac 1 2 \psi_2(N+1)+\zeta(3)$$
+/// with $\psi_2(N)$ the 2nd polygamma function and $\zeta$ the Riemann zeta function.
+pub fn S3(N: Complex) -> Complex {
+ 0.5 * cern_polygamma(N + 1.0, 2) + ZETA3
+}
From 003292a8ca0e367efdb031367a0e6c60ef3b139c Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 25 Apr 2024 18:29:29 +0300
Subject: [PATCH 096/216] Add more NLO harmonics
---
crates/ekore/refs.bib | 19 +++++++++
crates/ekore/src/bib.rs | 24 ++++++++++-
crates/ekore/src/harmonics.rs | 7 ++--
crates/ekore/src/harmonics/cache.rs | 43 +++++++++++++++++++-
crates/ekore/src/harmonics/g_functions.rs | 49 +++++++++++++++++++++++
crates/ekore/src/harmonics/polygamma.rs | 6 +--
crates/ekore/src/harmonics/w1.rs | 1 +
crates/ekore/src/harmonics/w2.rs | 1 +
crates/ekore/src/harmonics/w3.rs | 1 +
crates/ekore/src/util.rs | 20 +++++++++
crates/make_bib.py | 19 ++++++---
11 files changed, 175 insertions(+), 15 deletions(-)
create mode 100644 crates/ekore/src/harmonics/g_functions.rs
diff --git a/crates/ekore/refs.bib b/crates/ekore/refs.bib
index 3c63b69e7..e8ef02c2b 100644
--- a/crates/ekore/refs.bib
+++ b/crates/ekore/refs.bib
@@ -50,3 +50,22 @@ @article{Abate
journal = {International Journal for Numerical Methods in Engineering},
doi = {10.1002/nme.995}
}
+@phdthesis{MuselliPhD,
+ author = "Muselli, Claudio",
+ title = "{Resummations of Transverse Momentum Distributions}",
+ doi = "10.13130/muselli-claudio_phd2017-12-01",
+ school = "Università degli studi di Milano, Dipartimento di Fisica",
+ year = "2017"
+}
+@article{Vogt2004ns,
+ author = "Vogt, A.",
+ archivePrefix = "arXiv",
+ doi = "10.1016/j.cpc.2005.03.103",
+ eprint = "hep-ph/0408244",
+ journal = "Comput. Phys. Commun.",
+ pages = "65--92",
+ reportNumber = "NIKHEF-04-011",
+ title = "{Efficient evolution of unpolarized and polarized parton distributions with QCD-PEGASUS}",
+ volume = "170",
+ year = "2005"
+}
diff --git a/crates/ekore/src/bib.rs b/crates/ekore/src/bib.rs
index c62f16d02..167294b41 100644
--- a/crates/ekore/src/bib.rs
+++ b/crates/ekore/src/bib.rs
@@ -1,4 +1,4 @@
-//! List of References (autogenerated on 2023-11-29T18:07:41.518255).
+//! List of References (autogenerated on 2024-04-25T18:22:43.797877).
/// The Three loop splitting functions in QCD: The Nonsinglet case
///
@@ -43,3 +43,25 @@ pub fn KOLBIG1972221() {}
///
/// DOI: [10.1002/nme.995](https:dx.doi.org/10.1002/nme.995)
pub fn Abate() {}
+
+/// Resummations of Transverse Momentum Distributions
+///
+/// Muselli, Claudio
+///
+/// Published as PhD thesis at Università degli studi di Milano, Dipartimento di Fisica (2017)
+///
+///
+///
+/// DOI: [10.13130/muselli-claudio_phd2017-12-01](https:dx.doi.org/10.13130/muselli-claudio_phd2017-12-01)
+pub fn MuselliPhD() {}
+
+/// Efficient evolution of unpolarized and polarized parton distributions with QCD-PEGASUS
+///
+/// Vogt, A.
+///
+/// Published in: Comput. Phys. Commun. 170 (2005), 65--92
+///
+/// e-Print: [hep-ph/0408244](https://arxiv.org/abs/hep-ph/0408244)
+///
+/// DOI: [10.1016/j.cpc.2005.03.103](https:dx.doi.org/10.1016/j.cpc.2005.03.103)
+pub fn Vogt2004ns() {}
diff --git a/crates/ekore/src/harmonics.rs b/crates/ekore/src/harmonics.rs
index 73b918476..bec73caf6 100644
--- a/crates/ekore/src/harmonics.rs
+++ b/crates/ekore/src/harmonics.rs
@@ -1,7 +1,8 @@
//! Tools to compute harmonic sums and related special functions.
pub mod cache;
+pub mod g_functions;
pub mod polygamma;
-mod w1;
-mod w2;
-mod w3;
+pub mod w1;
+pub mod w2;
+pub mod w3;
diff --git a/crates/ekore/src/harmonics/cache.rs b/crates/ekore/src/harmonics/cache.rs
index 2365caf29..62cdeed2f 100644
--- a/crates/ekore/src/harmonics/cache.rs
+++ b/crates/ekore/src/harmonics/cache.rs
@@ -1,7 +1,7 @@
//! Cache harmonic sums for given Mellin N.
use hashbrown::HashMap;
-use num::complex::Complex;
+use num::{complex::Complex, Zero};
use crate::harmonics::{w1, w2, w3};
@@ -67,3 +67,44 @@ impl Cache {
val
}
}
+
+#[cfg_attr(doc, katexit::katexit)]
+/// Recursive computation of harmonic sums.
+///
+/// Compute the harmonic sum $S_{w}(N+k)$ stating from the value $S_{w}(N)$ via the recurrence relations.
+pub fn recursive_harmonic_sum(
+ base_value: Complex,
+ n: Complex,
+ iterations: usize,
+ weight: u32,
+) -> Complex {
+ let mut fact = Complex::zero();
+ for i in 1..iterations + 1 {
+ fact = fact + (1.0 / (n + (i as f64))).powu(weight);
+ }
+ base_value + fact
+}
+
+#[cfg(test)]
+mod tests {
+ use crate::harmonics::cache::recursive_harmonic_sum;
+ use crate::harmonics::w1;
+ use crate::{assert_approx_eq_cmplx, cmplx};
+ use num::complex::Complex;
+
+ #[test]
+ fn test_recursive_harmonic_sum() {
+ const NS: [Complex; 2] = [cmplx![1.0, 0.0], cmplx![2.34, 3.45]];
+ const ITERS: [usize; 2] = [1, 2];
+ for nit in NS.iter().enumerate() {
+ let n = *nit.1;
+ for iit in ITERS.iter().enumerate() {
+ let iterations = *iit.1;
+ let s1_base = w1::S1(n);
+ let s1_test = w1::S1(n + (iterations as f64));
+ let s1_ref = recursive_harmonic_sum(s1_base, n, iterations, 1);
+ assert_approx_eq_cmplx!(f64, s1_test, s1_ref);
+ }
+ }
+ }
+}
diff --git a/crates/ekore/src/harmonics/g_functions.rs b/crates/ekore/src/harmonics/g_functions.rs
new file mode 100644
index 000000000..2fc0dce1d
--- /dev/null
+++ b/crates/ekore/src/harmonics/g_functions.rs
@@ -0,0 +1,49 @@
+use crate::constants::ZETA2;
+use crate::harmonics::cache::recursive_harmonic_sum as s;
+use num::{complex::Complex, Zero};
+
+#[cfg_attr(doc, katexit::katexit)]
+/// Compute the Mellin transform of $\text{Li}_2(x)/(1+x)$.
+///
+/// This function appears in the analytic continuation of the harmonic sum
+/// $S_{-2,1}(N)$ which in turn appears in the NLO anomalous dimension.
+///
+/// We use the name from [[MuselliPhD]][crate::bib::MuselliPhD], but not his implementation - rather we use the
+/// Pegasus [[Vogt:2004ns]][crate::bib::Vogt2004ns] implementation.
+pub fn mellin_g3(N: Complex, S1: Complex) -> Complex {
+ const CS: [f64; 7] = [
+ 1.0000e0, -0.9992e0, 0.9851e0, -0.9005e0, 0.6621e0, -0.3174e0, 0.0699e0,
+ ];
+ let mut g3 = Complex::zero();
+ for cit in CS.iter().enumerate() {
+ let Nj = N + (cit.0 as f64);
+ g3 = g3 + (*cit.1) * (ZETA2 - s(S1, N, cit.0, 1) / Nj) / Nj;
+ }
+ g3
+}
+
+#[cfg(test)]
+mod tests {
+ use crate::harmonics::g_functions::mellin_g3;
+ use crate::harmonics::w1;
+ use crate::{assert_approx_eq_cmplx, cmplx};
+ use num::complex::Complex;
+
+ #[test]
+ fn test_mellin_g3() {
+ const NS: [Complex; 3] = [cmplx![1.0, 0.0], cmplx![2.0, 0.0], cmplx![1.0, 1.0]];
+ // NIntegrate[x^({1, 2, 1 + I} - 1) PolyLog[2, x]/(1 + x), {x, 0, 1}]
+ const REFVALS: [Complex; 3] = [
+ cmplx![0.3888958462, 0.],
+ cmplx![0.2560382207, 0.],
+ cmplx![0.3049381491, -0.1589060625],
+ ];
+ for it in NS.iter().enumerate() {
+ let n = *it.1;
+ let s1 = w1::S1(n);
+ let refval = REFVALS[it.0];
+ let g3 = mellin_g3(n, s1);
+ assert_approx_eq_cmplx![f64, g3, refval, epsilon = 1e-6];
+ }
+ }
+}
diff --git a/crates/ekore/src/harmonics/polygamma.rs b/crates/ekore/src/harmonics/polygamma.rs
index efbdae147..c6e8f9a39 100644
--- a/crates/ekore/src/harmonics/polygamma.rs
+++ b/crates/ekore/src/harmonics/polygamma.rs
@@ -121,9 +121,8 @@ pub fn cern_polygamma(Z: Complex, K: usize) -> Complex {
#[cfg(test)]
mod tests {
- use crate::cmplx;
use crate::harmonics::polygamma::cern_polygamma;
- use float_cmp::assert_approx_eq;
+ use crate::{assert_approx_eq_cmplx, cmplx};
use num::complex::Complex;
#[test]
@@ -202,8 +201,7 @@ mod tests {
for zit in ZS.iter().enumerate() {
let fref = FORTRAN_REF[kit.0][zit.0];
let me = cern_polygamma(*zit.1, *kit.1);
- assert_approx_eq!(f64, me.re, fref.re, ulps = 32);
- assert_approx_eq!(f64, me.im, fref.im, ulps = 32);
+ assert_approx_eq_cmplx!(f64, me, fref, ulps = 32);
}
}
}
diff --git a/crates/ekore/src/harmonics/w1.rs b/crates/ekore/src/harmonics/w1.rs
index 2b861cb30..ce2943464 100644
--- a/crates/ekore/src/harmonics/w1.rs
+++ b/crates/ekore/src/harmonics/w1.rs
@@ -2,6 +2,7 @@ use num::complex::Complex;
use crate::harmonics::polygamma::cern_polygamma;
+#[cfg_attr(doc, katexit::katexit)]
/// Compute the harmonic sum $S_1(N)$.
///
/// $$S_1(N) = \sum\limits_{j=1}^N \frac 1 j = \psi_0(N+1)+\gamma_E$$
diff --git a/crates/ekore/src/harmonics/w2.rs b/crates/ekore/src/harmonics/w2.rs
index b34680c6a..f7d6c8cb9 100644
--- a/crates/ekore/src/harmonics/w2.rs
+++ b/crates/ekore/src/harmonics/w2.rs
@@ -3,6 +3,7 @@ use num::complex::Complex;
use crate::constants::ZETA2;
use crate::harmonics::polygamma::cern_polygamma;
+#[cfg_attr(doc, katexit::katexit)]
/// Compute the harmonic sum $S_2(N)$.
///
/// $$S_2(N) = \sum\limits_{j=1}^N \frac 1 {j^2} = -\psi_1(N+1)+\zeta(2)$$
diff --git a/crates/ekore/src/harmonics/w3.rs b/crates/ekore/src/harmonics/w3.rs
index 5b1e0784c..e650b2be7 100644
--- a/crates/ekore/src/harmonics/w3.rs
+++ b/crates/ekore/src/harmonics/w3.rs
@@ -3,6 +3,7 @@ use num::complex::Complex;
use crate::constants::ZETA3;
use crate::harmonics::polygamma::cern_polygamma;
+#[cfg_attr(doc, katexit::katexit)]
/// Compute the harmonic sum $S_3(N)$.
///
/// $$S_3(N) = \sum\limits_{j=1}^N \frac 1 {j^3} = \frac 1 2 \psi_2(N+1)+\zeta(3)$$
diff --git a/crates/ekore/src/util.rs b/crates/ekore/src/util.rs
index 5c4e34f4d..55b1ab2bd 100644
--- a/crates/ekore/src/util.rs
+++ b/crates/ekore/src/util.rs
@@ -7,3 +7,23 @@ macro_rules! cmplx {
Complex::new($re, $im)
};
}
+
+/// Shorthand complex number contructor.
+#[macro_export]
+macro_rules! assert_approx_eq_cmplx {
+ ($size:ty, $ref:expr, $target:expr) => {
+ use float_cmp::assert_approx_eq;
+ assert_approx_eq!($size, $ref.re, $target.re);
+ assert_approx_eq!($size, $ref.im, $target.im);
+ };
+ ($size:ty, $ref:expr, $target:expr, ulps=$ulps:expr) => {
+ use float_cmp::assert_approx_eq;
+ assert_approx_eq!($size, $ref.re, $target.re, ulps = $ulps);
+ assert_approx_eq!($size, $ref.im, $target.im, ulps = $ulps);
+ };
+ ($size:ty, $ref:expr, $target:expr, epsilon=$epsilon:expr) => {
+ use float_cmp::assert_approx_eq;
+ assert_approx_eq!($size, $ref.re, $target.re, epsilon = $epsilon);
+ assert_approx_eq!($size, $ref.im, $target.im, epsilon = $epsilon);
+ };
+}
diff --git a/crates/make_bib.py b/crates/make_bib.py
index b085414c9..df5437a04 100644
--- a/crates/make_bib.py
+++ b/crates/make_bib.py
@@ -21,6 +21,7 @@
/// {doi}"""
# Combine publication information
PUB = """Published in: {journal} {volume} ({year}), {pages}"""
+PHD = """Published as PhD thesis at {school} ({year})"""
def clean_nl(t: str) -> str:
@@ -39,12 +40,18 @@ def clean_nl(t: str) -> str:
for el in bib_database.entries:
title = re.sub(r"^\{(.+)\}$", r"\1", clean_nl(el.fields_dict["title"].value))
author = el.fields_dict["author"].value
- publication = PUB.format(
- journal=el.fields_dict["journal"].value,
- volume=el.fields_dict["volume"].value,
- year=el.fields_dict["year"].value,
- pages=el.fields_dict["pages"].value,
- )
+ if el.entry_type == "phdthesis":
+ publication = PHD.format(
+ school=el.fields_dict["school"].value,
+ year=el.fields_dict["year"].value,
+ )
+ else:
+ publication = PUB.format(
+ journal=el.fields_dict["journal"].value,
+ volume=el.fields_dict["volume"].value,
+ year=el.fields_dict["year"].value,
+ pages=el.fields_dict["pages"].value,
+ )
eprint = ""
if (
"eprint" in el.fields_dict
From cde5e2cdf1762a4013c194b62e711cbaec00f7fe Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Mon, 29 Apr 2024 18:10:15 +0000
Subject: [PATCH 097/216] [pre-commit.ci] pre-commit autoupdate
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
updates:
- [github.com/psf/black-pre-commit-mirror: 24.4.0 → 24.4.2](https://github.com/psf/black-pre-commit-mirror/compare/24.4.0...24.4.2)
---
.pre-commit-config.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 8d65e5c90..3ec392999 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -19,7 +19,7 @@ repos:
- id: pycln
args: [--config=pyproject.toml]
- repo: https://github.com/psf/black-pre-commit-mirror
- rev: 24.4.0
+ rev: 24.4.2
hooks:
- id: black
- repo: https://github.com/asottile/blacken-docs
From 0b357a7d30f890a6ac85a1e274fe6479563aabd8 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 2 May 2024 14:39:51 +0300
Subject: [PATCH 098/216] Update unittests.yml
---
.github/workflows/unittests.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml
index 2eaf74cdc..b118179fc 100644
--- a/.github/workflows/unittests.yml
+++ b/.github/workflows/unittests.yml
@@ -9,7 +9,7 @@ jobs:
python-version: ["3.9", "3.10", "3.11", "3.12"]
fail-fast: false
- uses: N3PDF/workflows/.github/workflows/python-poetry-tests.yml@v2
+ uses: NNPDF/workflows/.github/workflows/python-poetry-tests.yml@v2
with:
python-version: ${{ matrix.python-version }}
poetry-extras: "-E mark -E box"
From cbf91497996863dd343e6b4f7fff5d71bad5b7d1 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 2 May 2024 14:40:05 +0300
Subject: [PATCH 099/216] Update pypi.yml
---
.github/workflows/pypi.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/pypi.yml b/.github/workflows/pypi.yml
index 46040a1ae..45f89248b 100644
--- a/.github/workflows/pypi.yml
+++ b/.github/workflows/pypi.yml
@@ -7,7 +7,7 @@ on:
jobs:
publish:
- uses: N3PDF/workflows/.github/workflows/python-poetry-pypi.yml@v2
+ uses: NNPDF/workflows/.github/workflows/python-poetry-pypi.yml@v2
secrets:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
with:
From 059de7e7611553bad079b33e961dea7e229c3be1 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Fri, 3 May 2024 17:04:13 +0200
Subject: [PATCH 100/216] correct lm11m1 in aQg
---
.../unpolarized/space_like/as3/aHg_param.py | 13 ++++++------
.../unpolarized/space_like/test_as3.py | 20 +++++++++----------
2 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
index 1455bddee..1d6dde4dd 100644
--- a/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
+++ b/src/ekore/operator_matrix_elements/unpolarized/space_like/as3/aHg_param.py
@@ -5,7 +5,7 @@
import numpy as np
from .....harmonics import cache as c
-from .....harmonics.log_functions import lm11, lm12, lm13, lm14, lm15
+from .....harmonics.log_functions import lm11, lm11m1, lm12, lm13, lm14, lm15
@nb.njit(cache=True)
@@ -61,6 +61,7 @@ def a_Hg3(n, cache, nf):
Lm13 = lm13(n, S1, S2, S3)
Lm14 = lm14(n, S1, S2, S3, S4)
Lm15 = lm15(n, S1, S2, S3, S4, S5)
+ Lm11m1 = lm11m1(n, S1)
# parametrized nf^0 part
aHg_nf0 = (
@@ -70,17 +71,17 @@ def a_Hg3(n, cache, nf):
- 3084.5476332000003 / n**4
- 1440.0967656 / n**3
- 10739.21741 / n**2
- - 3927.4067976978 / n
+ - 6890.392506169613 / n
+ (8956.649545 * n) / (-1.0 + n) ** 2
- - 6284.528702278445 / (1 + n) ** 2
- - 1681.066634246527 / (n + n**2)
- + 8363.188029908768 / (2 + 3 * n + n**2)
+ + 7861.809052567688 / (1 + n) ** 2
+ - 795.4199930418246 / (n + n**2)
+ - 19687.320434140434 / (2 + 3 * n + n**2)
+ 737.165347 * Lm11
- 332.5368214 * Lm12
+ 4.380199906 * Lm13
- 8.20987654 * Lm14
+ 3.703703704 * Lm15
- - 274.2066594574388 * (S1 / n + (1 / (1 + n) + S1) / (1 + n))
+ - 12429.982192922555 * Lm11m1
)
# exact nf^1 part
diff --git a/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py b/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py
index 9a80c83cb..efc7cb277 100644
--- a/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py
+++ b/tests/ekore/operator_matrix_elements/unpolarized/space_like/test_as3.py
@@ -122,18 +122,18 @@ def test_Blumlein_3():
}
ref_val_a_Hg = {
0: [
- -99.16581867356649,
- -676.0759818186239,
- -768.6183629349139,
- -789.7519719852797,
- -455.71655880271237,
+ -99.16581867357172,
+ -676.0759818186266,
+ -768.6183629349151,
+ -789.751971985281,
+ -453.0949190997498,
],
10: [
- -99.16581867356649,
- -676.0759818186239,
- -768.6183629349139,
- -789.7519719852797,
- -455.71655880271237,
+ -99.16581867357172,
+ -676.0759818186266,
+ -768.6183629349151,
+ -789.751971985281,
+ -453.0949190997498,
],
}
ref_val_Hq = {
From 7fa9bae585a8409a4f5670e69d5af8939b93c9ca Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Mon, 6 May 2024 10:54:58 +0200
Subject: [PATCH 101/216] adding trn vs exa plots
---
extras/lh_bench_23/cfg.py | 14 ++++--
extras/lh_bench_23/run-n3lo.py | 2 +-
extras/lh_bench_23/run-nnlo.py | 3 +-
extras/lh_bench_23/run-trn_exa.py | 72 +++++++++++++++++++++++++++++++
4 files changed, 84 insertions(+), 7 deletions(-)
create mode 100644 extras/lh_bench_23/run-trn_exa.py
diff --git a/extras/lh_bench_23/cfg.py b/extras/lh_bench_23/cfg.py
index ef7c747ef..cfdc3f2e5 100644
--- a/extras/lh_bench_23/cfg.py
+++ b/extras/lh_bench_23/cfg.py
@@ -62,10 +62,12 @@ def vfns_theory(xif=1.0):
]
-def ffns_theory(xif=1.0):
+def ffns_theory(xif=1.0, pto=2):
"""Generate a VFNS theory card."""
tt = copy.deepcopy(_t_ffns)
tt["xif"] = xif
+ tt["order"] = (pto + 1, 0)
+ tt["matching_order"] = (pto, 0)
return runcards.TheoryCard.from_dict(tt)
@@ -107,9 +109,13 @@ def n3lo_theory(ad_variation, is_ffns, use_fhmruvv=False, xif=1.0):
)
vfns_operator = runcards.OperatorCard.from_dict(_o_vfns)
-_o_ffns = copy.deepcopy(_o_vfns)
-_o_ffns["mugrid"] = [(100.0, 4)]
-ffns_operator = runcards.OperatorCard.from_dict(_o_ffns)
+
+def ffns_operator(ev_method="iterate-exact"):
+ """Generate a FFNS theory card."""
+ op = copy.deepcopy(_o_vfns)
+ op["mugrid"] = [(100.0, 4)]
+ op["configs"]["evolution_method"] = ev_method
+ return runcards.OperatorCard.from_dict(op)
# flavor rotations
diff --git a/extras/lh_bench_23/run-n3lo.py b/extras/lh_bench_23/run-n3lo.py
index 4ee00d520..8098f28dc 100644
--- a/extras/lh_bench_23/run-n3lo.py
+++ b/extras/lh_bench_23/run-n3lo.py
@@ -76,7 +76,7 @@
use_fhmruvv=args.use_fhmruvv,
xif=xif,
)
- o = ffns_operator
+ o = ffns_operator()
tab = 14
lab = ffns_labels
rot = ffns_rotate_to_LHA
diff --git a/extras/lh_bench_23/run-nnlo.py b/extras/lh_bench_23/run-nnlo.py
index 85ab2f984..9f5c681cc 100644
--- a/extras/lh_bench_23/run-nnlo.py
+++ b/extras/lh_bench_23/run-nnlo.py
@@ -3,7 +3,6 @@
import pathlib
import sys
-import numpy as np
import pandas as pd
import yaml
from banana import toy
@@ -63,7 +62,7 @@
if args.scheme == "FFNS":
scheme = "FFNS"
t = ffns_theory(xif)
- o = ffns_operator
+ o = ffns_operator()
tab = 14
lab = ffns_labels
rot = ffns_rotate_to_LHA
diff --git a/extras/lh_bench_23/run-trn_exa.py b/extras/lh_bench_23/run-trn_exa.py
new file mode 100644
index 000000000..97d1a1cf5
--- /dev/null
+++ b/extras/lh_bench_23/run-trn_exa.py
@@ -0,0 +1,72 @@
+import logging
+import pathlib
+import sys
+
+import pandas as pd
+from banana import toy
+from cfg import (
+ ffns_labels,
+ ffns_operator,
+ ffns_rotate_to_LHA,
+ ffns_theory,
+ n3lo_theory,
+ table_dir,
+ xgrid,
+)
+
+import eko
+from eko.io.types import EvolutionMethod
+from eko.runner.managed import solve
+from ekobox import apply
+
+stdout_log = logging.StreamHandler(sys.stdout)
+logger = logging.getLogger("eko")
+logger.handlers = []
+logger.setLevel(logging.INFO)
+logger.addHandler(stdout_log)
+
+
+def compute(op_card, th_card):
+ rot = ffns_rotate_to_LHA
+ lab = ffns_labels
+
+ method = op_card.configs.evolution_method.value
+ pto = th_card.order[0] - 1
+ path = pathlib.Path(f"ekos/FFNS-{pto}_{method}.tar")
+ path.unlink(missing_ok=True)
+
+ solve(th_card, op_card, path)
+
+ # apply PDF
+ out = {}
+ with eko.EKO.read(path) as eko_:
+ pdf = apply.apply_pdf_flavor(eko_, toy.mkPDF("ToyLH", 0), xgrid, rot, lab)
+ for lab, f in list(pdf.values())[0]["pdfs"].items():
+ out[lab] = xgrid * f
+
+ # display result
+ pd.set_option("display.float_format", "{:.4e}".format)
+ me = pd.DataFrame(out)
+ print("EKO")
+ print(me)
+ # dump to file
+ table_dir.mkdir(exist_ok=True)
+ me.to_csv(f"{table_dir}/table_FFNS-{pto}_{method}.csv")
+
+
+if __name__ == "__main__":
+ # loop on ev methods
+ for ev_method in [EvolutionMethod.TRUNCATED, EvolutionMethod.ITERATE_EXACT]:
+ op_card = ffns_operator(ev_method=ev_method.value)
+ # loop on pto
+ for pto in [1, 2, 3]:
+ if pto == 3:
+ th_card = n3lo_theory(
+ ad_variation=(0, 0, 0, 0, 0, 0, 0),
+ is_ffns=True,
+ use_fhmruvv=True,
+ xif=1.0,
+ )
+ else:
+ th_card = ffns_theory(xif=1.0, pto=pto)
+ compute(op_card, th_card)
From e14605f12df042287244eca8f51221d50cadc5f3 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 6 May 2024 20:45:41 +0000
Subject: [PATCH 102/216] Bump jinja2 from 3.1.3 to 3.1.4
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.3...3.1.4)
---
updated-dependencies:
- dependency-name: jinja2
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
---
poetry.lock | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index 9a187b67b..0e7243979 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,4 +1,4 @@
-# This file is automatically @generated by Poetry 1.8.1 and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand.
[[package]]
name = "alabaster"
@@ -1043,13 +1043,13 @@ testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"]
[[package]]
name = "jinja2"
-version = "3.1.3"
+version = "3.1.4"
description = "A very fast and expressive template engine."
optional = false
python-versions = ">=3.7"
files = [
- {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"},
- {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"},
+ {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"},
+ {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"},
]
[package.dependencies]
@@ -2358,6 +2358,7 @@ files = [
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"},
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"},
+ {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"},
{file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"},
{file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"},
{file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"},
@@ -2365,8 +2366,16 @@ files = [
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"},
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"},
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"},
+ {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"},
{file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"},
{file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
+ {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
+ {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
+ {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"},
+ {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
+ {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
+ {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
+ {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"},
{file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"},
{file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"},
{file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"},
@@ -2383,6 +2392,7 @@ files = [
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"},
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"},
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"},
+ {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"},
{file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"},
{file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"},
{file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"},
@@ -2390,6 +2400,7 @@ files = [
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"},
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"},
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"},
+ {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"},
{file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"},
{file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"},
{file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
From bfe5fef8658d4bc3f334d4a1ccb98896bbd723b3 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Mon, 6 May 2024 23:07:15 +0200
Subject: [PATCH 103/216] add plot trn vs exa
---
extras/lh_bench_23/cfg.py | 2 +
extras/lh_bench_23/plot_trn_exa.py | 75 ++++++++++++++++++++++++++++++
2 files changed, 77 insertions(+)
create mode 100644 extras/lh_bench_23/plot_trn_exa.py
diff --git a/extras/lh_bench_23/cfg.py b/extras/lh_bench_23/cfg.py
index cfdc3f2e5..c3700687d 100644
--- a/extras/lh_bench_23/cfg.py
+++ b/extras/lh_bench_23/cfg.py
@@ -115,6 +115,8 @@ def ffns_operator(ev_method="iterate-exact"):
op = copy.deepcopy(_o_vfns)
op["mugrid"] = [(100.0, 4)]
op["configs"]["evolution_method"] = ev_method
+ if ev_method == "truncated":
+ op["configs"]["ev_op_iterations"] = 1
return runcards.OperatorCard.from_dict(op)
diff --git a/extras/lh_bench_23/plot_trn_exa.py b/extras/lh_bench_23/plot_trn_exa.py
new file mode 100644
index 000000000..819c0ebff
--- /dev/null
+++ b/extras/lh_bench_23/plot_trn_exa.py
@@ -0,0 +1,75 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import pandas as pd
+from cfg import table_dir, xgrid
+from utils import HERE, lha_labels
+
+from eko.io.types import EvolutionMethod
+
+plt.style.use(HERE / "plotstyle.mplstyle")
+plot_dir = HERE / "plots_trn_exa"
+
+PTOS = {1: "NLO", 2: "NNLO", 3: "N$^3$LO"}
+
+COLUMNS_TO_KEEP = ["L_m", "L_p", "g"]
+
+
+def load_table(method):
+ """Load tables."""
+ dfs = {}
+ for pto in PTOS:
+ with open(table_dir / f"table_FFNS-{pto}_{method}.csv", encoding="utf-8") as f:
+ dfs[pto] = pd.read_csv(f, index_col=0)
+ return dfs
+
+
+def plot_diff(xgrid, dfs_trn, dfs_exa):
+ ncols = 3
+ nrows = 1
+ fig, axs = plt.subplots(nrows, ncols, figsize=(ncols * 5, nrows * 3.5))
+
+ cut_smallx = 0
+ cut_largex = -1
+ xgrid = xgrid[cut_smallx:cut_largex]
+
+ plot_dir.mkdir(exist_ok=True)
+
+ fig.suptitle(
+ r"\% difference Exact vs Truncated" + r", $\mu_{\rm f}^2 = 10^4 \ \mbox{GeV}^2$"
+ )
+
+ # loop on PDFs
+ for i, ax in enumerate(
+ axs.reshape(
+ ncols * nrows,
+ )
+ ):
+ j = np.where(dfs_trn[1].columns == COLUMNS_TO_KEEP[i])[0][0]
+
+ # loop on ptos
+ for pto, pto_label in PTOS.items():
+ diff = (dfs_trn[pto] - dfs_exa[pto]) / dfs_trn[pto] * 100
+
+ ax.plot(xgrid, diff.values[cut_smallx:cut_largex, j], label=pto_label)
+ ax.hlines(
+ 0,
+ xgrid.min() - xgrid.min() / 3,
+ 1,
+ linestyles="dotted",
+ color="black",
+ linewidth=0.5,
+ )
+ ax.set_xscale("log")
+ ax.set_xlabel("$x$")
+ ax.set_ylabel(f'${lha_labels("FFNS")[j]}$')
+ ax.set_xlim(xgrid.min() - xgrid.min() / 3, 1)
+
+ plt.legend()
+ plt.tight_layout()
+ plt.savefig(f"{plot_dir}/diff_trn_exa.pdf")
+
+
+if __name__ == "__main__":
+ dfs_trn = load_table(EvolutionMethod.TRUNCATED.value)
+ dfs_exa = load_table(EvolutionMethod.ITERATE_EXACT.value)
+ plot_diff(xgrid, dfs_trn, dfs_exa)
From 5538c2e2b102605c9e81b8f3a029c59322999dda Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Mon, 13 May 2024 17:38:52 +0300
Subject: [PATCH 104/216] Fix NNLO pol ad
---
.../anomalous_dimensions/polarized/space_like/as3.py | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/ekore/anomalous_dimensions/polarized/space_like/as3.py b/src/ekore/anomalous_dimensions/polarized/space_like/as3.py
index a180c6782..76432acbf 100644
--- a/src/ekore/anomalous_dimensions/polarized/space_like/as3.py
+++ b/src/ekore/anomalous_dimensions/polarized/space_like/as3.py
@@ -177,9 +177,9 @@ def gamma_gq(N, nf, cache):
"""
S1 = c.get(c.S1, cache, N)
- S2 = c.get(c.S1, cache, N)
- S3 = c.get(c.S1, cache, N)
- S4 = c.get(c.S1, cache, N)
+ S2 = c.get(c.S2, cache, N)
+ S3 = c.get(c.S3, cache, N)
+ S4 = c.get(c.S4, cache, N)
B3 = (-(S1**3) - 3 * S1 * S2 - 2 * S3) / N
B4 = (S1**4 + 6 * S1**2 * S2 + 3 * S2**2 + 8 * S1 * S3 + 6 * S4) / N
E1 = S1 / N**2 + (-zeta2 + S2) / N
@@ -256,8 +256,8 @@ def gamma_ps(N, nf, cache):
"""
S1 = c.get(c.S1, cache, N)
- S2 = c.get(c.S1, cache, N)
- S3 = c.get(c.S1, cache, N)
+ S2 = c.get(c.S2, cache, N)
+ S3 = c.get(c.S3, cache, N)
B3 = (-(S1**3) - 3 * S1 * S2 - 2 * S3) / N
B31 = (
-((1 / (1 + N) + S1) ** 3)
From a1e0bc97eedbce5d3e3cdf3a021820f59f60d5f4 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Mon, 13 May 2024 17:56:54 +0000
Subject: [PATCH 105/216] [pre-commit.ci] pre-commit autoupdate
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
updates:
- [github.com/pre-commit/pre-commit: v3.7.0 → v3.7.1](https://github.com/pre-commit/pre-commit/compare/v3.7.0...v3.7.1)
---
.pre-commit-config.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 3ec392999..6a799f3f3 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -62,6 +62,6 @@ repos:
files: ^crates/ekore/.*\.rs$
args: []
- repo: https://github.com/pre-commit/pre-commit
- rev: v3.7.0
+ rev: v3.7.1
hooks:
- id: validate_manifest
From 7f281e87b827dff15f55c4e086492c274e2584b2 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Tue, 14 May 2024 17:07:38 +0200
Subject: [PATCH 106/216] correct aHg
---
.../polarized/space_like/as2.py | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/ekore/operator_matrix_elements/polarized/space_like/as2.py b/src/ekore/operator_matrix_elements/polarized/space_like/as2.py
index 9ff4e3f3c..4f39a0bf0 100644
--- a/src/ekore/operator_matrix_elements/polarized/space_like/as2.py
+++ b/src/ekore/operator_matrix_elements/polarized/space_like/as2.py
@@ -8,7 +8,7 @@
import numba as nb
import numpy as np
-from eko.constants import CA, CF, TR, zeta2, zeta3
+from eko.constants import CA, CF, TR, zeta2, zeta3, log2
from ....anomalous_dimensions.polarized.space_like.as1 import gamma_gq as gamma0_gq
from ....anomalous_dimensions.polarized.space_like.as1 import gamma_ns as gamma0_qq
@@ -159,11 +159,12 @@ def A_hg(n, cache, L):
S1 = c.get(c.S1, cache, n)
S2 = c.get(c.S2, cache, n)
S3 = c.get(c.S3, cache, n)
- Sm21 = c.get(c.Sm21, cache, n, is_singlet=False)
+ Sm21 = c.get(c.Sm21, cache, n, is_singlet=True)
S2h = c.get(c.S2h, cache, n)
S3h = c.get(c.S3h, cache, n)
S2ph = c.get(c.S2ph, cache, n)
S3ph = c.get(c.S3ph, cache, n)
+ Sm1 = c.get(c.Sm1, cache, n, is_singlet=True)
a_hg = (
(1 / (6 * n**4 * (1 + n) ** 4 * (2 + n)))
@@ -172,7 +173,7 @@ def A_hg(n, cache, L):
-2
* CF
* (
- 3
+ 6
* (
4
+ 8 * n
@@ -187,7 +188,7 @@ def A_hg(n, cache, L):
* n**2
* (1 + n) ** 2
* (2 + n)
- * (2 + 3 * n + 3 * n**3)
+ * (2 + 3 * n + 3 * n**2)
* np.pi**2
+ 12 * n**2 * (1 + n) ** 3 * (-36 - 22 * n - 2 * n**2 + n**3) * S1
+ 12 * n**2 * (1 + n) ** 3 * (-2 + 3 * n + 3 * n**2) * S1**2
@@ -206,7 +207,6 @@ def A_hg(n, cache, L):
+ CA
* (
-24
- * (1 + n) ** 3
* (
4
+ 12 * n
@@ -239,7 +239,7 @@ def A_hg(n, cache, L):
+ 6 * (1 + n) ** 3 * S3ph
- 6 * (1 + n) ** 3 * (S3h - zeta3)
+ 18 * (1 + n) ** 3 * zeta3
- - 12 * (1 + n) ** 3 * (8 * Sm21 + 5 * zeta3)
+ - 12 * (1 + n) ** 3 * (8 * Sm21 + 5 * zeta3 - 8 * zeta2 * log2 - 8 * zeta2 * Sm1)
)
)
)
From 1bf6ae5dccb7a4b67b62ac3607e42b7afbd511c0 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Wed, 15 May 2024 00:16:36 +0200
Subject: [PATCH 107/216] restore tests and previous Li2 mellin
---
.../polarized/space_like/as2.py | 7 +++----
.../polarized/space_like/test_nnlo.py | 20 +++++++++----------
2 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/src/ekore/operator_matrix_elements/polarized/space_like/as2.py b/src/ekore/operator_matrix_elements/polarized/space_like/as2.py
index 4f39a0bf0..7e1c8260a 100644
--- a/src/ekore/operator_matrix_elements/polarized/space_like/as2.py
+++ b/src/ekore/operator_matrix_elements/polarized/space_like/as2.py
@@ -8,7 +8,7 @@
import numba as nb
import numpy as np
-from eko.constants import CA, CF, TR, zeta2, zeta3, log2
+from eko.constants import CA, CF, TR, log2, zeta2, zeta3
from ....anomalous_dimensions.polarized.space_like.as1 import gamma_gq as gamma0_gq
from ....anomalous_dimensions.polarized.space_like.as1 import gamma_ns as gamma0_qq
@@ -159,12 +159,11 @@ def A_hg(n, cache, L):
S1 = c.get(c.S1, cache, n)
S2 = c.get(c.S2, cache, n)
S3 = c.get(c.S3, cache, n)
- Sm21 = c.get(c.Sm21, cache, n, is_singlet=True)
+ Sm21 = c.get(c.Sm21, cache, n, is_singlet=False)
S2h = c.get(c.S2h, cache, n)
S3h = c.get(c.S3h, cache, n)
S2ph = c.get(c.S2ph, cache, n)
S3ph = c.get(c.S3ph, cache, n)
- Sm1 = c.get(c.Sm1, cache, n, is_singlet=True)
a_hg = (
(1 / (6 * n**4 * (1 + n) ** 4 * (2 + n)))
@@ -239,7 +238,7 @@ def A_hg(n, cache, L):
+ 6 * (1 + n) ** 3 * S3ph
- 6 * (1 + n) ** 3 * (S3h - zeta3)
+ 18 * (1 + n) ** 3 * zeta3
- - 12 * (1 + n) ** 3 * (8 * Sm21 + 5 * zeta3 - 8 * zeta2 * log2 - 8 * zeta2 * Sm1)
+ - 12 * (1 + n) ** 3 * (8 * Sm21 + 5 * zeta3)
)
)
)
diff --git a/tests/ekore/operator_matrix_elements/polarized/space_like/test_nnlo.py b/tests/ekore/operator_matrix_elements/polarized/space_like/test_nnlo.py
index cd0c507cc..c107aff89 100644
--- a/tests/ekore/operator_matrix_elements/polarized/space_like/test_nnlo.py
+++ b/tests/ekore/operator_matrix_elements/polarized/space_like/test_nnlo.py
@@ -27,18 +27,18 @@ def test_quark_number_conservation():
def test_hg():
refs = {
0: [
- -242.3869306886845,
- -480.6122566782359,
- -814.6150038529145,
- -1244.9445223204148,
- -1771.5995558739958,
+ -14.120648885210752,
+ -15.093091588201201,
+ -14.014668171450229,
+ -12.815826533022285,
+ -11.761139164575077,
],
10: [
- -21.21409118251165,
- -295.28287396218656,
- -664.653836052461,
- -1121.4595082763883,
- -1667.8336593381266,
+ 207.0521906209621,
+ 170.2362911278482,
+ 135.9464996290033,
+ 110.6691875110041,
+ 92.0047573712939,
],
}
for L, vals in refs.items():
From 6d989f2540961290120771baff7a0735aa99a380 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Wed, 15 May 2024 00:17:30 +0200
Subject: [PATCH 108/216] cleanin
---
src/ekore/operator_matrix_elements/polarized/space_like/as2.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ekore/operator_matrix_elements/polarized/space_like/as2.py b/src/ekore/operator_matrix_elements/polarized/space_like/as2.py
index 7e1c8260a..402274a0c 100644
--- a/src/ekore/operator_matrix_elements/polarized/space_like/as2.py
+++ b/src/ekore/operator_matrix_elements/polarized/space_like/as2.py
@@ -8,7 +8,7 @@
import numba as nb
import numpy as np
-from eko.constants import CA, CF, TR, log2, zeta2, zeta3
+from eko.constants import CA, CF, TR, zeta2, zeta3
from ....anomalous_dimensions.polarized.space_like.as1 import gamma_gq as gamma0_gq
from ....anomalous_dimensions.polarized.space_like.as1 import gamma_ns as gamma0_qq
From 3e8aa709ff9c74ff26c73fdfd731730a01465f61 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 15 May 2024 16:20:56 +0300
Subject: [PATCH 109/216] Drop np.product
---
tests/eko/runner/test_operators.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/eko/runner/test_operators.py b/tests/eko/runner/test_operators.py
index 8721fca99..b69066da2 100644
--- a/tests/eko/runner/test_operators.py
+++ b/tests/eko/runner/test_operators.py
@@ -6,8 +6,8 @@
def test_retrieve(ekoparts: EKO):
- evhead, evop = next(iter(ekoparts.parts.cache.items()))
- matchhead, matchop = next(iter(ekoparts.parts_matching.cache.items()))
+ evhead, _evop = next(iter(ekoparts.parts.cache.items()))
+ matchhead, _matchop = next(iter(ekoparts.parts_matching.cache.items()))
els = retrieve([evhead] * 5, ekoparts.parts, ekoparts.parts_matching)
assert len(els) == 5
@@ -27,7 +27,7 @@ def test_join(identity: Operator):
matrix product, but there not so many sensible rank-4 operators.
"""
- linear_size = np.product(identity.operator.shape[:2])
+ linear_size = np.prod(identity.operator.shape[:2])
for n in range(1, 8, 3):
res = join([identity for _ in range(n)])
assert res.error is None
From b0694d544467bbde641036d9b7099b503250aa12 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 15 May 2024 18:26:07 +0300
Subject: [PATCH 110/216] rust: Expose g3
---
crates/ekore/src/harmonics/cache.rs | 5 ++++-
crates/ekore/src/harmonics/g_functions.rs | 8 +++++---
crates/ekore/src/harmonics/w1.rs | 1 +
crates/ekore/src/harmonics/w2.rs | 1 +
crates/ekore/src/harmonics/w3.rs | 1 +
5 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/crates/ekore/src/harmonics/cache.rs b/crates/ekore/src/harmonics/cache.rs
index 62cdeed2f..3bae9755c 100644
--- a/crates/ekore/src/harmonics/cache.rs
+++ b/crates/ekore/src/harmonics/cache.rs
@@ -3,7 +3,7 @@
use hashbrown::HashMap;
use num::{complex::Complex, Zero};
-use crate::harmonics::{w1, w2, w3};
+use crate::harmonics::{g_functions, w1, w2, w3};
#[cfg_attr(doc, katexit::katexit)]
/// List of available elements.
@@ -25,6 +25,8 @@ pub enum K {
S2mh,
/// $S_3((N-1)/2)$
S3mh,
+ /// $g_3(N)$
+ G3,
}
/// Hold all cached values.
@@ -61,6 +63,7 @@ impl Cache {
K::S1mh => w1::S1((self.n - 1.) / 2.),
K::S2mh => w2::S2((self.n - 1.) / 2.),
K::S3mh => w3::S3((self.n - 1.) / 2.),
+ K::G3 => g_functions::g3(self.n, self.get(K::S1)),
};
// insert
self.m.insert(k, val);
diff --git a/crates/ekore/src/harmonics/g_functions.rs b/crates/ekore/src/harmonics/g_functions.rs
index 2fc0dce1d..7bb2c9017 100644
--- a/crates/ekore/src/harmonics/g_functions.rs
+++ b/crates/ekore/src/harmonics/g_functions.rs
@@ -1,3 +1,5 @@
+//! Auxilary functions for harmonics sums of weight = 3,4.
+
use crate::constants::ZETA2;
use crate::harmonics::cache::recursive_harmonic_sum as s;
use num::{complex::Complex, Zero};
@@ -10,7 +12,7 @@ use num::{complex::Complex, Zero};
///
/// We use the name from [[MuselliPhD]][crate::bib::MuselliPhD], but not his implementation - rather we use the
/// Pegasus [[Vogt:2004ns]][crate::bib::Vogt2004ns] implementation.
-pub fn mellin_g3(N: Complex, S1: Complex) -> Complex {
+pub fn g3(N: Complex, S1: Complex) -> Complex {
const CS: [f64; 7] = [
1.0000e0, -0.9992e0, 0.9851e0, -0.9005e0, 0.6621e0, -0.3174e0, 0.0699e0,
];
@@ -24,7 +26,7 @@ pub fn mellin_g3(N: Complex, S1: Complex) -> Complex {
#[cfg(test)]
mod tests {
- use crate::harmonics::g_functions::mellin_g3;
+ use crate::harmonics::g_functions::g3;
use crate::harmonics::w1;
use crate::{assert_approx_eq_cmplx, cmplx};
use num::complex::Complex;
@@ -42,7 +44,7 @@ mod tests {
let n = *it.1;
let s1 = w1::S1(n);
let refval = REFVALS[it.0];
- let g3 = mellin_g3(n, s1);
+ let g3 = g3(n, s1);
assert_approx_eq_cmplx![f64, g3, refval, epsilon = 1e-6];
}
}
diff --git a/crates/ekore/src/harmonics/w1.rs b/crates/ekore/src/harmonics/w1.rs
index ce2943464..32ca4683a 100644
--- a/crates/ekore/src/harmonics/w1.rs
+++ b/crates/ekore/src/harmonics/w1.rs
@@ -1,3 +1,4 @@
+//! Harmonic sums of weight 1.
use num::complex::Complex;
use crate::harmonics::polygamma::cern_polygamma;
diff --git a/crates/ekore/src/harmonics/w2.rs b/crates/ekore/src/harmonics/w2.rs
index f7d6c8cb9..8d3f473c3 100644
--- a/crates/ekore/src/harmonics/w2.rs
+++ b/crates/ekore/src/harmonics/w2.rs
@@ -1,3 +1,4 @@
+//! Harmonic sums of weight 2.
use num::complex::Complex;
use crate::constants::ZETA2;
diff --git a/crates/ekore/src/harmonics/w3.rs b/crates/ekore/src/harmonics/w3.rs
index e650b2be7..5d41accb1 100644
--- a/crates/ekore/src/harmonics/w3.rs
+++ b/crates/ekore/src/harmonics/w3.rs
@@ -1,3 +1,4 @@
+//! Harmonic sums of weight 3.
use num::complex::Complex;
use crate::constants::ZETA3;
From 7339be81cbc7da034bace33ffc7b97f97fdb5cda Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 16 May 2024 12:38:41 +0300
Subject: [PATCH 111/216] rust: Drop katexit
---
crates/Cargo.lock | 48 -------------------------
crates/eko/Cargo.toml | 1 -
crates/eko/src/mellin.rs | 1 -
crates/ekore/Cargo.toml | 1 -
crates/ekore/src/constants.rs | 4 ---
crates/ekore/src/harmonics/cache.rs | 1 -
crates/ekore/src/harmonics/polygamma.rs | 1 -
7 files changed, 57 deletions(-)
diff --git a/crates/Cargo.lock b/crates/Cargo.lock
index b6d5d084d..0e6acc14f 100644
--- a/crates/Cargo.lock
+++ b/crates/Cargo.lock
@@ -36,7 +36,6 @@ name = "eko"
version = "0.1.0"
dependencies = [
"ekore",
- "katexit",
"num",
]
@@ -46,7 +45,6 @@ version = "0.1.0"
dependencies = [
"float-cmp",
"hashbrown",
- "katexit",
"num",
]
@@ -69,17 +67,6 @@ dependencies = [
"allocator-api2",
]
-[[package]]
-name = "katexit"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb1304c448ce2c207c2298a34bc476ce7ae47f63c23fa2b498583b26be9bc88c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
[[package]]
name = "num"
version = "0.4.1"
@@ -162,41 +149,6 @@ version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
-[[package]]
-name = "proc-macro2"
-version = "1.0.66"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "syn"
-version = "1.0.109"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
-
[[package]]
name = "version_check"
version = "0.9.4"
diff --git a/crates/eko/Cargo.toml b/crates/eko/Cargo.toml
index 50aee6504..2e5beca41 100644
--- a/crates/eko/Cargo.toml
+++ b/crates/eko/Cargo.toml
@@ -9,5 +9,4 @@ crate-type = ["cdylib"]
[dependencies]
num = "0.4.1"
-katexit = "0.1.4"
ekore = { version = "0.1.0", path = "../ekore" }
diff --git a/crates/eko/src/mellin.rs b/crates/eko/src/mellin.rs
index 5afc96f5f..f2f968fe4 100644
--- a/crates/eko/src/mellin.rs
+++ b/crates/eko/src/mellin.rs
@@ -6,7 +6,6 @@
use num::complex::Complex;
use std::f64::consts::PI;
-#[cfg_attr(doc, katexit::katexit)]
/// Talbot inversion path.
///
/// Implements the algorithm presented in [\[Abate\]](crate::bib::Abate).
diff --git a/crates/ekore/Cargo.toml b/crates/ekore/Cargo.toml
index ef8499dba..4c66a00f1 100644
--- a/crates/ekore/Cargo.toml
+++ b/crates/ekore/Cargo.toml
@@ -10,5 +10,4 @@ license = "GPL-3.0-or-later"
[dependencies]
num = "0.4.1"
float-cmp = "0.9.0"
-katexit = "0.1.4"
hashbrown = "0.14"
diff --git a/crates/ekore/src/constants.rs b/crates/ekore/src/constants.rs
index 3cdd13a15..bfe44fe9c 100644
--- a/crates/ekore/src/constants.rs
+++ b/crates/ekore/src/constants.rs
@@ -1,24 +1,20 @@
//! Global constants.
-#[cfg_attr(doc, katexit::katexit)]
/// The number of colors.
///
/// Defaults to $N_C = 3$.
pub const NC: u8 = 3;
-#[cfg_attr(doc, katexit::katexit)]
/// The normalization of fundamental generators.
///
/// Defaults to $T_R = 1/2$.
pub const TR: f64 = 1.0 / 2.0;
-#[cfg_attr(doc, katexit::katexit)]
/// Second Casimir constant in the adjoint representation.
///
/// Defaults to $C_A = N_C = 3$.
pub const CA: f64 = NC as f64;
-#[cfg_attr(doc, katexit::katexit)]
/// Second Casimir constant in the fundamental representation.
///
/// Defaults to $C_F = \frac{N_C^2-1}{2N_C} = 4/3$.
diff --git a/crates/ekore/src/harmonics/cache.rs b/crates/ekore/src/harmonics/cache.rs
index 6ad72171d..c79120def 100644
--- a/crates/ekore/src/harmonics/cache.rs
+++ b/crates/ekore/src/harmonics/cache.rs
@@ -5,7 +5,6 @@ use num::complex::Complex;
use crate::harmonics::w1;
-#[cfg_attr(doc, katexit::katexit)]
/// List of available elements.
#[derive(Debug, PartialEq, Eq, Hash)]
pub enum K {
diff --git a/crates/ekore/src/harmonics/polygamma.rs b/crates/ekore/src/harmonics/polygamma.rs
index efbdae147..60c1de91a 100644
--- a/crates/ekore/src/harmonics/polygamma.rs
+++ b/crates/ekore/src/harmonics/polygamma.rs
@@ -3,7 +3,6 @@
use num::{complex::Complex, Zero};
use std::f64::consts::PI;
-#[cfg_attr(doc, katexit::katexit)]
/// Compute the polygamma functions $\psi_k(z)$.
///
/// Reimplementation of ``WPSIPG`` (C317) in [CERNlib](http://cernlib.web.cern.ch/cernlib/) given by [[KOLBIG1972221]][crate::bib::KOLBIG1972221].
From a5eb84093f3098ce3b6e5aa4077fc10918a3a7c7 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 16 May 2024 12:44:04 +0300
Subject: [PATCH 112/216] Activate global KaTeX
---
crates/eko/Cargo.toml | 3 +
crates/ekore/Cargo.toml | 3 +
crates/katex-header.html | 19 +
pyproject.toml.patch | 7 +-
rustify.sh | 6 +-
src/eko/evolution_operator/__init__.py.patch | 56 +-
.../eko/evolution_operator/test_init.py.patch | 601 ------------------
7 files changed, 72 insertions(+), 623 deletions(-)
create mode 100644 crates/katex-header.html
delete mode 100644 tests/eko/evolution_operator/test_init.py.patch
diff --git a/crates/eko/Cargo.toml b/crates/eko/Cargo.toml
index 2e5beca41..731e1399c 100644
--- a/crates/eko/Cargo.toml
+++ b/crates/eko/Cargo.toml
@@ -3,6 +3,9 @@ name = "eko"
version = "0.1.0"
edition = "2021"
+[package.metadata.docs.rs]
+rustdoc-args = [ "--html-in-header", "../katex-header.html" ]
+
[lib]
name = "ekors"
crate-type = ["cdylib"]
diff --git a/crates/ekore/Cargo.toml b/crates/ekore/Cargo.toml
index 4c66a00f1..9dfdb7515 100644
--- a/crates/ekore/Cargo.toml
+++ b/crates/ekore/Cargo.toml
@@ -5,6 +5,9 @@ edition = "2021"
description = "EKO expressions"
license = "GPL-3.0-or-later"
+[package.metadata.docs.rs]
+rustdoc-args = [ "--html-in-header", "../katex-header.html" ]
+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
diff --git a/crates/katex-header.html b/crates/katex-header.html
new file mode 100644
index 000000000..ff018b9c3
--- /dev/null
+++ b/crates/katex-header.html
@@ -0,0 +1,19 @@
+
+
+
+
diff --git a/pyproject.toml.patch b/pyproject.toml.patch
index 7fb6fd672..8e9119a23 100644
--- a/pyproject.toml.patch
+++ b/pyproject.toml.patch
@@ -1,5 +1,5 @@
diff --git a/pyproject.toml b/pyproject.toml
-index 31be6cb0..b4ec7c95 100644
+index 7404d871..a1e3ae66 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,20 @@
@@ -25,12 +25,13 @@ index 31be6cb0..b4ec7c95 100644
[tool.poetry]
name = "eko"
-@@ -124,6 +138,11 @@ asv-publish = "asv publish --config benchmarks/asv.conf.json"
+@@ -124,6 +138,12 @@ asv-publish = "asv publish --config benchmarks/asv.conf.json"
asv-show = "asv show --config benchmarks/asv.conf.json"
asv-clean = { "shell" = "rm -rf benchmarks/env benchmarks/html benchmarks/results" }
asv = ["asv-run", "asv-publish", "asv-preview"]
+compile = "pip install -e crates/eko/"
-+rdocs = "cargo doc --workspace --manifest-path crates/Cargo.toml --no-deps"
++rdocs.cmd = "cargo doc --workspace --manifest-path crates/Cargo.toml --no-deps"
++rdocs.env = { RUSTDOCFLAGS = "--html-in-header katex-header.html" }
+rdocs-view = "xdg-open crates/target/doc/ekors/index.html"
+rdocs-clean = "rm -rf crates/target/doc/"
+rtest = "cargo test --workspace --manifest-path crates/Cargo.toml"
diff --git a/rustify.sh b/rustify.sh
index 05078d0b7..7e99996f0 100755
--- a/rustify.sh
+++ b/rustify.sh
@@ -1,5 +1,9 @@
#!/usr/bin/bash
+# git diff --merge-base master pyproject.toml > pyproject.toml.patch
patch -p1 src/eko/evolution_operator/__init__.py.patch
patch -p1
Date: Thu, 16 May 2024 15:18:33 +0300
Subject: [PATCH 113/216] Add ome.ps.as2 benchmark vs. Pegasus
---
...k_ad.py => benchmark_pegasus_ad_us_as2.py} | 33 ---
benchmarks/ekore/benchmark_pegasus_mellin.py | 41 ++++
.../ekore/benchmark_pegasus_ome_ps_as2.py | 199 ++++++++++++++++++
3 files changed, 240 insertions(+), 33 deletions(-)
rename benchmarks/ekore/{benchmark_ad.py => benchmark_pegasus_ad_us_as2.py} (88%)
create mode 100644 benchmarks/ekore/benchmark_pegasus_mellin.py
create mode 100644 benchmarks/ekore/benchmark_pegasus_ome_ps_as2.py
diff --git a/benchmarks/ekore/benchmark_ad.py b/benchmarks/ekore/benchmark_pegasus_ad_us_as2.py
similarity index 88%
rename from benchmarks/ekore/benchmark_ad.py
rename to benchmarks/ekore/benchmark_pegasus_ad_us_as2.py
index ac0b50ad0..1dfeb177c 100644
--- a/benchmarks/ekore/benchmark_ad.py
+++ b/benchmarks/ekore/benchmark_pegasus_ad_us_as2.py
@@ -8,39 +8,6 @@
from eko.constants import CA, CF, TR, zeta2, zeta3
-@pytest.mark.isolated
-def benchmark_melling_g3_pegasus():
- for N in [1, 2, 3, 4, 1 + 1j, 1 - 1j, 2 + 1j, 3 + 1j]:
- check_melling_g3_pegasus(N)
-
-
-def check_melling_g3_pegasus(N):
- S1 = h.S1(N)
- N1 = N + 1.0
- N2 = N + 2.0
- N3 = N + 3.0
- N4 = N + 4.0
- N5 = N + 5.0
- N6 = N + 6.0
- S11 = S1 + 1.0 / N1
- S12 = S11 + 1.0 / N2
- S13 = S12 + 1.0 / N3
- S14 = S13 + 1.0 / N4
- S15 = S14 + 1.0 / N5
- S16 = S15 + 1.0 / N6
-
- SPMOM = (
- 1.0000 * (zeta2 - S1 / N) / N
- - 0.9992 * (zeta2 - S11 / N1) / N1
- + 0.9851 * (zeta2 - S12 / N2) / N2
- - 0.9005 * (zeta2 - S13 / N3) / N3
- + 0.6621 * (zeta2 - S14 / N4) / N4
- - 0.3174 * (zeta2 - S15 / N5) / N5
- + 0.0699 * (zeta2 - S16 / N6) / N6
- )
- np.testing.assert_allclose(h.g_functions.mellin_g3(N, S1), SPMOM)
-
-
@pytest.mark.isolated
def benchmark_gamma_ns_1_pegasus():
# remember that singlet has pole at N=1
diff --git a/benchmarks/ekore/benchmark_pegasus_mellin.py b/benchmarks/ekore/benchmark_pegasus_mellin.py
new file mode 100644
index 000000000..1591d2272
--- /dev/null
+++ b/benchmarks/ekore/benchmark_pegasus_mellin.py
@@ -0,0 +1,41 @@
+"""Benchmark the NLO anomalous dimensions against PEGASUS"""
+
+import numpy as np
+import pytest
+
+import ekore.anomalous_dimensions.unpolarized.space_like.as2 as ad_as2
+import ekore.harmonics as h
+from eko.constants import CA, CF, TR, zeta2, zeta3
+
+
+@pytest.mark.isolated
+def benchmark_melling_g3_pegasus():
+ for N in [1, 2, 3, 4, 1 + 1j, 1 - 1j, 2 + 1j, 3 + 1j]:
+ check_melling_g3_pegasus(N)
+
+
+def check_melling_g3_pegasus(N):
+ S1 = h.S1(N)
+ N1 = N + 1.0
+ N2 = N + 2.0
+ N3 = N + 3.0
+ N4 = N + 4.0
+ N5 = N + 5.0
+ N6 = N + 6.0
+ S11 = S1 + 1.0 / N1
+ S12 = S11 + 1.0 / N2
+ S13 = S12 + 1.0 / N3
+ S14 = S13 + 1.0 / N4
+ S15 = S14 + 1.0 / N5
+ S16 = S15 + 1.0 / N6
+
+ SPMOM = (
+ 1.0000 * (zeta2 - S1 / N) / N
+ - 0.9992 * (zeta2 - S11 / N1) / N1
+ + 0.9851 * (zeta2 - S12 / N2) / N2
+ - 0.9005 * (zeta2 - S13 / N3) / N3
+ + 0.6621 * (zeta2 - S14 / N4) / N4
+ - 0.3174 * (zeta2 - S15 / N5) / N5
+ + 0.0699 * (zeta2 - S16 / N6) / N6
+ )
+ np.testing.assert_allclose(h.g_functions.mellin_g3(N, S1), SPMOM)
diff --git a/benchmarks/ekore/benchmark_pegasus_ome_ps_as2.py b/benchmarks/ekore/benchmark_pegasus_ome_ps_as2.py
new file mode 100644
index 000000000..273a49425
--- /dev/null
+++ b/benchmarks/ekore/benchmark_pegasus_ome_ps_as2.py
@@ -0,0 +1,199 @@
+"""Benchmark the NLO anomalous dimensions against PEGASUS"""
+
+import numpy as np
+import pytest
+
+import ekore.harmonics as h
+import ekore.operator_matrix_elements.polarized.space_like.as2 as ome_as2
+from eko.constants import CA, CF, TR, zeta2, zeta3
+
+
+@pytest.mark.isolated
+def benchmark_pegasus_ome_ps_as2():
+ # remember that singlet has pole at N=1
+ for N in [2, 3, 4, +1j, -1j, +1j, +1j]:
+ for NF in [3, 4, 5]:
+ check_pegasus_ome_ps_as2_s(N, NF)
+
+
+def check_pegasus_ome_ps_as2_s(N, NF):
+ # Test against pegasus implementation by Ignacio Borsa
+ ZETA2 = zeta2
+ ZETA3 = zeta3
+
+ S1 = h.S1(N)
+ S2 = h.S2(N)
+ S3 = h.S3(N)
+ ACG3 = h.g_functions.mellin_g3(N, S1)
+ #
+ NM = N - 1.0
+ N1 = N + 1.0
+ N2 = N + 2.0
+ NI = 1.0 / N
+ NMI = 1.0 / NM
+ N1I = 1.0 / N1
+ N2I = 1.0 / N2
+ #
+ S1M = S1 - NI
+ S2M = S2 - NI * NI
+ S3M = S3 - NI**3
+ S11 = S1 + N1I
+ S21 = S2 + N1I * N1I
+ S31 = S3 + N1I**3
+ S22 = S21 + N2I * N2I
+ #
+ # CALL BET(N1,V1)
+ # CALL BET1(N1,V2)
+ # CALL BET2(N1,V3)
+ # CALL BET3(N1,V4)
+ V1 = (
+ h.polygamma.cern_polygamma((N1 + 1.0) / 2.0, 0)
+ - h.polygamma.cern_polygamma(N1 / 2.0, 0)
+ ) / 2.0
+ V2 = (
+ h.polygamma.cern_polygamma((N1 + 1.0) / 2.0, 1)
+ - h.polygamma.cern_polygamma(N1 / 2.0, 1)
+ ) / 4.0
+ V3 = (
+ h.polygamma.cern_polygamma((N1 + 1.0) / 2.0, 2)
+ - h.polygamma.cern_polygamma(N1 / 2.0, 2)
+ ) / 8.0
+ #
+ #
+ # ..The moments of the OME's DA_Hq^{PS,(2)} and DA_Hg^{S,(2)} given in
+ # Eqs. (138) and (111) of BBDKS. Note that for the former, an
+ # additional finite renormalization is needed to go from the Larin
+ # to the the M scheme
+ #
+ #
+ # ... Anomalous dimension terms
+ #
+ G0QG_HAT = -8 * TR * NM / N / N1
+ #
+ G0GQ = -4 * CF * N2 / N / N1
+ #
+ G0QQ = -CF * (2 * (2.0 + 3.0 * N + 3.0 * N**2) / N / N1 - 8.0 * S1)
+ #
+ # ... Polinomials in N
+ POL1 = (
+ 12 * N**8 + 52 * N**7 + 60 * N**6 - 25 * N**4 - 2 * N**3 + 3 * N**2 + 8 * N + 4
+ )
+ #
+ POL2 = (
+ 2.0 * N**8
+ + 10.0 * N**7
+ + 22.0 * N**6
+ + 36.0 * N**5
+ + 29.0 * N**4
+ + 4.0 * N**3
+ + 33.0 * N**2
+ + 12.0 * N
+ + 4
+ )
+ #
+ POLR3 = 15 * N**6 + 45 * N**5 + 374 * N**4 + 601 * N**3 + 161 * N**2 - 24 * N + 36
+ #
+ POLR8 = (
+ -15 * N**8
+ - 60 * N**7
+ - 82 * N**6
+ - 44 * N**5
+ - 15 * N**4
+ - 4 * N**2
+ - 12 * N
+ - 8
+ )
+ #
+ # ... Finite renormalization term from Larin to M scheme
+ #
+ ZQQPS = -CF * TR * 8 * N2 * (N**2 - N - 1.0) / N**3 / N1**3
+ #
+ A2HQ = (
+ -4
+ * CF
+ * TR
+ * N2
+ / N**2
+ / N1**2
+ * (NM * (2 * S2 + ZETA2) - (4 * N**3 - 4 * N**2 - 3 * N - 1) / N**2 / N1**2)
+ + ZETA2 / 8 * G0QG_HAT * G0GQ
+ )
+ #
+ #
+ A2HG = (
+ CF
+ * TR
+ * (
+ 4.0
+ / 3
+ * NM
+ / N
+ / N1
+ * (-4.0 * S3 + S1**3 + 3.0 * S1 * S2 + 6.0 * S1 * ZETA2)
+ - 4
+ * (N**4 + 17.0 * N**3 + 43.0 * N**2 + 33.0 * N + 2)
+ * S2
+ / N**2
+ / N1**2
+ / N2
+ - 4 * (3.0 * N**2 + 3.0 * N - 2) * S1**2 / N**2 / N1 / N2
+ - 2 * NM * (3.0 * N**2 + 3.0 * N + 2) * ZETA2 / N**2 / N1**2
+ - 4 * (N**3 - 2.0 * N**2 - 22.0 * N - 36) * S1 / N**2 / N1 / N2
+ - 2 * POL1 / N**4 / N1**4 / N2
+ )
+ + CA
+ * TR
+ * (
+ 4 * (N**2 + 4.0 * N + 5) * S1**2 / N / N1**2 / N2
+ + 4 * (7.0 * N**3 + 24.0 * N**2 + 15.0 * N - 16) * S2 / N**2 / N1**2 / N2
+ + 8 * NM * N2 * ZETA2 / N**2 / N1**2
+ + 4 * (N**4 + 4.0 * N**3 - N**2 - 10.0 * N + 2) * S1 / N / N1**3 / N2
+ - 4 * POL2 / N**4 / N1**4 / N2
+ - 16 * NM / N / N1**2 * V2
+ + 4
+ * NM
+ / 3.0
+ / N
+ / N1
+ * (
+ 12.0 * ACG3
+ + 3.0 * V3
+ - 8.0 * S3
+ - S1**3
+ - 9.0 * S1 * S2
+ - 12.0 * S1 * V2
+ - 12.0 * V1 * ZETA2
+ - 3.0 * ZETA3
+ )
+ )
+ # ... added simplified Gamma0_gg+2*beta0
+ + 1 / 8 * G0QG_HAT * (8 * CA * (-2.0 / N / N1 + S1) - G0QQ)
+ )
+ #
+ # ..The moments of the OME's DA_{gq,H}^{S,(2)} and DA_{gg,H}^{S,(2)}
+ # given in Eqs. (175) and (188) of Bierenblaum et al.
+ #
+ A2GQ = (
+ CF
+ * TR
+ * N2
+ * (
+ 8 * (22.0 + 41.0 * N + 28.0 * N**2) / 27.0 / N / N1**3
+ - 8 * (2.0 + 5.0 * N) * S1 / 9.0 / N / N1**2
+ + 4 * (S1**2 + S2) / 3.0 / N / N1
+ )
+ )
+ #
+ A2GG = (
+ CA
+ * TR
+ * (2 * POLR3 / 27.0 / N**3 / N1**3 - 4 * (47.0 + 56.0 * N) * S1 / 27.0 / N1)
+ + CF * TR * POLR8 / N**4 / N1**4
+ )
+
+ cache = h.cache.reset()
+ omeS2 = ome_as2.A_singlet(N, cache, 0.0, NF)
+ np.testing.assert_allclose(omeS2[0, 0], A2GG, err_msg=f"gg,{N=}")
+ np.testing.assert_allclose(omeS2[0, 1], A2GQ, err_msg=f"gq,{N=}")
+ np.testing.assert_allclose(omeS2[2, 1], A2HQ + NF * ZQQPS, err_msg=f"hq,{N=}")
+ np.testing.assert_allclose(omeS2[2, 0], A2HG, err_msg=f"hg,{N=}")
From 87777ec12fa975b8c00994ebe133b14ae8adc24a Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 16 May 2024 17:32:48 +0300
Subject: [PATCH 114/216] Undo Ignacios fix for g3
---
benchmarks/ekore/benchmark_pegasus_ome_ps_as2.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/benchmarks/ekore/benchmark_pegasus_ome_ps_as2.py b/benchmarks/ekore/benchmark_pegasus_ome_ps_as2.py
index 273a49425..78ff38139 100644
--- a/benchmarks/ekore/benchmark_pegasus_ome_ps_as2.py
+++ b/benchmarks/ekore/benchmark_pegasus_ome_ps_as2.py
@@ -24,7 +24,6 @@ def check_pegasus_ome_ps_as2_s(N, NF):
S1 = h.S1(N)
S2 = h.S2(N)
S3 = h.S3(N)
- ACG3 = h.g_functions.mellin_g3(N, S1)
#
NM = N - 1.0
N1 = N + 1.0
@@ -41,6 +40,7 @@ def check_pegasus_ome_ps_as2_s(N, NF):
S21 = S2 + N1I * N1I
S31 = S3 + N1I**3
S22 = S21 + N2I * N2I
+ ACG3 = h.g_functions.mellin_g3(N1, S11)
#
# CALL BET(N1,V1)
# CALL BET1(N1,V2)
From 6c4a35ba265f0ca0948f264f200e07155a44b57b Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 16 May 2024 18:25:44 +0300
Subject: [PATCH 115/216] Adjust doc strings
---
benchmarks/ekore/benchmark_pegasus_ad_us_as2.py | 6 ++++--
benchmarks/ekore/benchmark_pegasus_mellin.py | 2 +-
benchmarks/ekore/benchmark_pegasus_ome_ps_as2.py | 2 +-
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/benchmarks/ekore/benchmark_pegasus_ad_us_as2.py b/benchmarks/ekore/benchmark_pegasus_ad_us_as2.py
index 1dfeb177c..ebc53e3ae 100644
--- a/benchmarks/ekore/benchmark_pegasus_ad_us_as2.py
+++ b/benchmarks/ekore/benchmark_pegasus_ad_us_as2.py
@@ -1,4 +1,7 @@
-"""Benchmark the NLO anomalous dimensions against PEGASUS"""
+"""Benchmark the unpolarized NLO anomalous dimensions against PEGASUS.
+
+Recall that we obtained our representation not from PEGASUS, but derived it
+ourselves (see comment there)."""
import numpy as np
import pytest
@@ -21,7 +24,6 @@ def check_gamma_1_pegasus(N, NF):
ZETA2 = zeta2
ZETA3 = zeta3
- # N = np.random.rand(1) + np.random.rand(1) * 1j
S1 = h.S1(N)
S2 = h.S2(N)
diff --git a/benchmarks/ekore/benchmark_pegasus_mellin.py b/benchmarks/ekore/benchmark_pegasus_mellin.py
index 1591d2272..addefe421 100644
--- a/benchmarks/ekore/benchmark_pegasus_mellin.py
+++ b/benchmarks/ekore/benchmark_pegasus_mellin.py
@@ -1,4 +1,4 @@
-"""Benchmark the NLO anomalous dimensions against PEGASUS"""
+"""Benchmark the Mellin transforms against PEGASUS."""
import numpy as np
import pytest
diff --git a/benchmarks/ekore/benchmark_pegasus_ome_ps_as2.py b/benchmarks/ekore/benchmark_pegasus_ome_ps_as2.py
index 78ff38139..66b471c57 100644
--- a/benchmarks/ekore/benchmark_pegasus_ome_ps_as2.py
+++ b/benchmarks/ekore/benchmark_pegasus_ome_ps_as2.py
@@ -1,4 +1,4 @@
-"""Benchmark the NLO anomalous dimensions against PEGASUS"""
+"""Benchmark the polarized NNLO OME against PEGASUS"""
import numpy as np
import pytest
From 8be96bb160cf8e04bae06211d73ec2581a5e8f91 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Fri, 17 May 2024 10:31:18 +0200
Subject: [PATCH 116/216] Adding MSHT results
---
extras/lh_bench_23/plot_bench_msht.py | 49 ++++++++++--------
extras/lh_bench_23/tables/MSHT/.DS_Store | Bin 0 -> 8196 bytes
.../N3LO_FHMRUVV_FFNS_Pggdn.dat | 12 +++++
.../N3LO_FHMRUVV_FFNS_Pggup.dat | 12 +++++
.../N3LO_FHMRUVV_FFNS_Pgqdn.dat | 12 +++++
.../N3LO_FHMRUVV_FFNS_Pgqup.dat | 12 +++++
.../N3LO_FHMRUVV_FFNS_Pqgdn.dat | 12 +++++
.../N3LO_FHMRUVV_FFNS_Pqgup.dat | 12 +++++
.../N3LO_FHMRUVV_FFNS_PqqPSdn.dat | 12 +++++
.../N3LO_FHMRUVV_FFNS_PqqPSup.dat | 12 +++++
.../N3LO_FHMRUVV_FFNS_central.dat | 12 +++++
.../N3LO_FHMRUVV_VFNS_Pggdn.dat | 12 +++++
.../N3LO_FHMRUVV_VFNS_Pggup.dat | 12 +++++
.../N3LO_FHMRUVV_VFNS_Pgqdn.dat | 12 +++++
.../N3LO_FHMRUVV_VFNS_Pgqup.dat | 12 +++++
.../N3LO_FHMRUVV_VFNS_Pqgdn.dat | 12 +++++
.../N3LO_FHMRUVV_VFNS_Pqgup.dat | 12 +++++
.../N3LO_FHMRUVV_VFNS_PqqPSdn.dat | 12 +++++
.../N3LO_FHMRUVV_VFNS_PqqPSup.dat | 12 +++++
.../N3LO_FHMRUVV_VFNS_central.dat | 12 +++++
.../N3LO_MSHTposterior_FFNS_Pggdn.dat | 12 +++++
.../N3LO_MSHTposterior_FFNS_Pggup.dat | 12 +++++
.../N3LO_MSHTposterior_FFNS_Pgqdn.dat | 12 +++++
.../N3LO_MSHTposterior_FFNS_Pgqup.dat | 12 +++++
.../N3LO_MSHTposterior_FFNS_Pqgdn.dat | 12 +++++
.../N3LO_MSHTposterior_FFNS_Pqgup.dat | 12 +++++
.../N3LO_MSHTposterior_FFNS_PqqPSdn.dat | 12 +++++
.../N3LO_MSHTposterior_FFNS_PqqPSup.dat | 12 +++++
.../N3LO_MSHTposterior_FFNS_central.dat | 12 +++++
.../N3LO_MSHTposterior_VFNS_Pggdn.dat | 12 +++++
.../N3LO_MSHTposterior_VFNS_Pggup.dat | 12 +++++
.../N3LO_MSHTposterior_VFNS_Pgqdn.dat | 12 +++++
.../N3LO_MSHTposterior_VFNS_Pgqup.dat | 12 +++++
.../N3LO_MSHTposterior_VFNS_Pqgdn.dat | 12 +++++
.../N3LO_MSHTposterior_VFNS_Pqgup.dat | 12 +++++
.../N3LO_MSHTposterior_VFNS_PqqPSdn.dat | 12 +++++
.../N3LO_MSHTposterior_VFNS_PqqPSup.dat | 12 +++++
.../N3LO_MSHTposterior_VFNS_central.dat | 12 +++++
.../N3LO_MSHTprior_FFNS_Pggdn.dat | 12 +++++
.../N3LO_MSHTprior_FFNS_Pggup.dat | 12 +++++
.../N3LO_MSHTprior_FFNS_Pgqdn.dat | 12 +++++
.../N3LO_MSHTprior_FFNS_Pgqup.dat | 12 +++++
.../N3LO_MSHTprior_FFNS_Pqgdn.dat | 12 +++++
.../N3LO_MSHTprior_FFNS_Pqgup.dat | 12 +++++
.../N3LO_MSHTprior_FFNS_PqqPSdn.dat | 12 +++++
.../N3LO_MSHTprior_FFNS_PqqPSup.dat | 12 +++++
.../N3LO_MSHTprior_FFNS_central.dat | 12 +++++
.../N3LO_MSHTprior_VFNS_Pggdn.dat | 12 +++++
.../N3LO_MSHTprior_VFNS_Pggup.dat | 12 +++++
.../N3LO_MSHTprior_VFNS_Pgqdn.dat | 12 +++++
.../N3LO_MSHTprior_VFNS_Pgqup.dat | 12 +++++
.../N3LO_MSHTprior_VFNS_Pqgdn.dat | 12 +++++
.../N3LO_MSHTprior_VFNS_Pqgup.dat | 12 +++++
.../N3LO_MSHTprior_VFNS_PqqPSdn.dat | 12 +++++
.../N3LO_MSHTprior_VFNS_PqqPSup.dat | 12 +++++
.../N3LO_MSHTprior_VFNS_central.dat | 12 +++++
extras/lh_bench_23/utils.py | 36 ++++++-------
57 files changed, 689 insertions(+), 44 deletions(-)
create mode 100644 extras/lh_bench_23/tables/MSHT/.DS_Store
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_PqqPSdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_PqqPSup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_central.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pggdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pggup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pgqdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pgqup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pqgdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pqgup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_PqqPSdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_PqqPSup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_central.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pggdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pggup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_central.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pggdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pggup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pgqdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pgqup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pqgdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pqgup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_PqqPSdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_PqqPSup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_central.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pgqdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pgqup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pqgdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pqgup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_PqqPSdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_PqqPSup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_central.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pggdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pggup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pgqdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pgqup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pqgdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pqgup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_PqqPSdn.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_PqqPSup.dat
create mode 100644 extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_central.dat
diff --git a/extras/lh_bench_23/plot_bench_msht.py b/extras/lh_bench_23/plot_bench_msht.py
index d3dc52937..fc39e2711 100644
--- a/extras/lh_bench_23/plot_bench_msht.py
+++ b/extras/lh_bench_23/plot_bench_msht.py
@@ -10,53 +10,56 @@
)
USE_LINX = False
-REL_DIFF = True
+REL_DIFF = False
SCHEME = "VFNS"
SV = "central"
plot_dir = here / "plots_msht"
-n3lo_table_dir = table_dir # / SCHEME
+n3lo_table_dir = table_dir
msht_table_dir = table_dir
# load tables
eko_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, SV, approx="EKO")
+
fhmruvv_eko_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, SV, approx="FHMRUVV")
-msht_dfs = load_msht(msht_table_dir, SCHEME, approx="MSHT")
-# fhmruvv_msht_dfs = load_msht(msht_table_dir, SCHEME, approx="FHMRUVV")
+fhmruvv_msht_dfs = load_msht(msht_table_dir, SCHEME, approx="FHMRUVV")
+
+msht_post_dfs = load_msht(msht_table_dir, SCHEME, approx="MSHTposterior")
+msht_prior_dfs = load_msht(msht_table_dir, SCHEME, approx="MSHTprior")
nnlo_central = load_nnlo_table(table_dir, SCHEME, SV)
# compute avg and std
eko_res = compute_n3lo_avg_err(eko_dfs)
fhmruvv_eko_res = compute_n3lo_avg_err(fhmruvv_eko_dfs)
-msht_res = compute_n3lo_avg_err(msht_dfs)
-# fhmruvv_msht_res = compute_n3lo_avg_err(fhmruvv_msht_dfs)
-# eko_4mom_res = = compute_n3lo_avg_err(eko_dfs_4mom)
+fhmruvv_msht_res = compute_n3lo_avg_err(fhmruvv_msht_dfs)
+msht_post_res = compute_n3lo_avg_err(msht_post_dfs)
+msht_prior_res = compute_n3lo_avg_err(msht_prior_dfs)
+
+# compute average of FHMRUVV
+fhmruvv_res = []
+for a, b in zip(fhmruvv_msht_res, fhmruvv_eko_res):
+ fhmruvv_res.append((a + b )/ 2)
+# PDFs plots
n3lo_dfs = [
(eko_res, "EKO"),
- (fhmruvv_eko_res, "FHMRUVV"),
- (msht_res, "MSHT"),
- # (fhmruvv_msht_res, "FHMRUVV MSHT"),
- # (eko_4mom_res, "aN3LO EKO 4 mom"),
+ (fhmruvv_res, "FHMRUVV"),
+ (msht_prior_res, "MSHT (prior)"),
+ (msht_post_res, "MSHT (posterior)"),
]
-
-# PDFs plots
plot_pdfs(xgrid, n3lo_dfs, nnlo_central, SCHEME, USE_LINX, plot_dir)
-# relative diff plots
+# relative, absolute diff plots
eko_diff = compute_n3lo_nnlo_diff(eko_res, nnlo_central, REL_DIFF)
-fhmruvv_eko_diff = compute_n3lo_nnlo_diff(fhmruvv_eko_res, nnlo_central, REL_DIFF)
-msht_diff = compute_n3lo_nnlo_diff(msht_res, nnlo_central, REL_DIFF)
-# fhmruvv_msht_diff = compute_n3lo_nnlo_diff(fhmruvv_msht_res, nnlo_central, REL_DIFF)
+fhmruvv_diff = compute_n3lo_nnlo_diff(fhmruvv_res, nnlo_central, REL_DIFF)
+msht_prior_diff = compute_n3lo_nnlo_diff(msht_prior_res, nnlo_central, REL_DIFF)
+msht_post_diff = compute_n3lo_nnlo_diff(msht_post_res, nnlo_central, REL_DIFF)
n3lo_dfs = [
(eko_diff, "EKO"),
- (fhmruvv_eko_diff, "FHMRUVV"),
- (msht_diff, "MSHT"),
- # (fhmruvv_msht_diff, "FHMRUVV MSHT"),
- # (eko_4mom_res, "aN3LO EKO 4 mom"),
+ (fhmruvv_diff, "FHMRUVV"),
+ (msht_prior_diff, "MSHT (prior)"),
+ (msht_post_diff, "MSHT (posterior)"),
]
-
-# relative, absolute diff plots
plot_diff_to_nnlo(xgrid, n3lo_dfs, SCHEME, USE_LINX, plot_dir, REL_DIFF)
diff --git a/extras/lh_bench_23/tables/MSHT/.DS_Store b/extras/lh_bench_23/tables/MSHT/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..fb4479b5d28585e80152f592372fbe8f67ba6994
GIT binary patch
literal 8196
zcmeHMu};G<5IsYON-Q7-I_4KDR)$c8ih+PcOE%Q16aiAJR0VbeKY#=u!p6wN4@q6dSJr@8(>w4G(XaGPRE7{c*Y#fF9sTRtTxkF%qcz_=_CNMTMR%)xD=u>A8!a#*dF@%O=e?Y_0hQ>;5H5`P7gD_7PCPNYG
z>4*!|a1f!k+_D0!Kv4n8-Pd3rHenAAto%KJM15{!Z)bGY?3|?IiFS}A{;Me^qhx)?r>0v%U^Sp6t@$*1B_-*9k
z7efb6V7f4Y6fWTkPGJfccs-pN%VXr~>A~g=&$pVlx0k#IRlWQ`4`=L;Xk#hMB#WlC
z&f`ZvJu)wOJ!C~M4n5YL>to)!h*5`SM7IsGIG
zu=cT1p>a}M1;K`f(0!GTqs{&>#OuKHg~m#4u?Neq9|ZI;uW|k6=lx&BgPX-r;1kc>
BQq}+f
literal 0
HcmV?d00001
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggdn.dat
new file mode 100644
index 000000000..8c01b18cb
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggdn.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013595582059E-006 158.98448342903407 -2.7409080530560459E-005 78.420291447506216 77.695957374410852 1164.1199844485227
+100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373312927928E-005 74.870422626646302 -4.2595660495692300E-005 36.583852704365881 36.010525221209534 526.39688596148198
+100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381122658E-004 34.491866464262500 7.7558289248713663E-006 16.570297537394620 16.116360432976627 227.62525141193967
+100.00000000000000 9.9999997473787516E-005 1.3657199328116931E-002 8.0056101549348391E-003 4.7181216774649926E-004 15.242073375538070 2.3196624157773016E-004 7.0871242944271939 6.7285994867375374 90.711637269293277
+100.00000000000000 1.0000000474974513E-003 5.9556547077359578E-002 3.4379022008734772E-002 1.7183714130057925E-003 6.2905480783294845 4.0043590087224246E-004 2.7325060462225821 2.4550099793333482 31.273934942968122
+100.00000000000000 9.9999997764825821E-003 0.23117658117841533 0.12953232412123517 5.7449137841854014E-003 2.2653881026081018 -2.3112173756911769E-004 0.85136563229581896 0.66260976534706617 8.1405959805479107
+100.00000000000000 0.10000000149011612 0.55108890035797886 0.27129201818340704 1.0031121949770294E-002 0.39000721543063821 -3.2795576789368397E-004 0.11381550988495431 5.9755699605180082E-002 0.90583201334584262
+100.00000000000000 0.30000001192092896 0.35030648467943626 0.13010111786727971 2.9715276922374356E-003 3.5599507455379487E-002 -3.8276710254858681E-005 9.0839570115924528E-003 3.3480069754575677E-003 8.4417745699548546E-002
+100.00000000000000 0.50000000000000000 0.12106774406552606 3.1503478146908792E-002 3.6015843681062518E-004 2.4561662198881104E-003 -3.2054511772822147E-006 5.8458683059454258E-004 1.7822901575840838E-004 8.1560780370402881E-003
+100.00000000000000 0.69999998807907104 2.0067642146795586E-002 3.0872784959549548E-003 1.0075891321804139E-005 6.3847474661256169E-005 -1.1067154451378791E-007 1.3106573551280830E-005 3.9939738810344596E-006 3.9250026438665141E-004
+100.00000000000000 0.89999997615814209 3.5111466600323187E-004 1.7834439969130266E-005 -5.9503989442133399E-008 1.7816311777721730E-007 -1.3937397858542443E-010 6.9228225448741444E-009 8.6109810397168429E-009 1.2312561674643514E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggup.dat
new file mode 100644
index 000000000..fac775717
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggup.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013595582059E-006 138.96411571982844 -2.7409080530560459E-005 68.410107592903401 67.685776329870180 1007.7770380433128
+100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373312927928E-005 68.902534411018109 -4.2595660495692300E-005 33.599908596551785 33.026582187175393 480.89658370868221
+100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381477930E-004 33.188548024973770 7.7558289248713663E-006 15.918638317750251 15.464701533493528 217.83322051452035
+100.00000000000000 9.9999997473787516E-005 1.3657199328116931E-002 8.0056101549348391E-003 4.7181216774472290E-004 15.107864042322610 2.3196624157773016E-004 7.0200196278194662 6.6614948744284774 89.655052892911542
+100.00000000000000 1.0000000474974513E-003 5.9556547077359578E-002 3.4379022008734772E-002 1.7183714130062366E-003 6.3055332596427540 4.0043590087224246E-004 2.7399986368792164 2.4625025681252257 31.366916164773336
+100.00000000000000 9.9999997764825821E-003 0.23117658117841533 0.12953232412123517 5.7449137841849574E-003 2.2676001400379602 -2.3112173756911769E-004 0.85247165101074862 0.66371578314404145 8.1600818401871518
+100.00000000000000 0.10000000149011612 0.55108890035797886 0.27129201818340704 1.0031121949770239E-002 0.38999964975121915 -3.2795576789368397E-004 0.11381172704524473 5.9751916769550648E-002 0.90573533246387272
+100.00000000000000 0.30000001192092896 0.35030648467943626 0.13010111786727968 2.9715276922373940E-003 3.5599549187384144E-002 -3.8276710254858681E-005 9.0839778775947955E-003 3.3480278414308880E-003 8.4418924818689484E-002
+100.00000000000000 0.50000000000000000 0.12106774406552606 3.1503478146908792E-002 3.6015843681061477E-004 2.4561643825846136E-003 -3.2054511772822147E-006 5.8458591194279763E-004 1.7822809710789440E-004 8.1560170132292352E-003
+100.00000000000000 0.69999998807907104 2.0067642146795586E-002 3.0872784959549548E-003 1.0075891321802838E-005 6.3847563577051902E-005 -1.1067154451378791E-007 1.3106618009179130E-005 3.9940183388900932E-006 3.9250311203241567E-004
+100.00000000000000 0.89999997615814209 3.5111466600323187E-004 1.7834439969130266E-005 -5.9503989442119846E-008 1.7816312600319470E-007 -1.3937397858542443E-010 6.9228266578764009E-009 8.6109851528473372E-009 1.2312657798220620E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqdn.dat
new file mode 100644
index 000000000..e1304a8a7
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqdn.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013595582059E-006 152.80737782156342 -2.7409080530560459E-005 75.331738643770890 74.607405364346931 1114.8462243486822
+100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373320033355E-005 73.231942033184538 -4.2595660495692300E-005 35.764612407634992 35.191285199168135 513.51140688584087
+100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381477930E-004 34.223006699310361 7.7558289248713663E-006 16.435867654918543 15.981930615401740 225.46124651649257
+100.00000000000000 9.9999997473787516E-005 1.3657199328116931E-002 8.0056101549348391E-003 4.7181216774649926E-004 15.247295780113397 2.3196624157773016E-004 7.0897354967148578 6.7312106916835912 90.698847789672030
+100.00000000000000 1.0000000474974513E-003 5.9556547077359578E-002 3.4379022008734772E-002 1.7183714130053485E-003 6.3003028223679109 4.0043590087224246E-004 2.7373834182417958 2.4598873484651205 31.345328321758384
+100.00000000000000 9.9999997764825821E-003 0.23117658117841533 0.12953232412123517 5.7449137841854014E-003 2.2649689571419471 -2.3112173756911769E-004 0.85115605956274165 0.66240019271870554 8.1396112862672787
+100.00000000000000 0.10000000149011612 0.55108890035797886 0.27129201818340704 1.0031121949770239E-002 0.39002156225486406 -3.2795576789368397E-004 0.11382268329706718 5.9762873012027359E-002 0.90587955579598645
+100.00000000000000 0.30000001192092896 0.35030648467943626 0.13010111786727968 2.9715276922373940E-003 3.5599605560988373E-002 -3.8276710254858681E-005 9.0840060643969101E-003 3.3480560282141136E-003 8.4421788934068639E-002
+100.00000000000000 0.50000000000000000 0.12106774406552606 3.1503478146908792E-002 3.6015843681060436E-004 2.4562458678075508E-003 -3.2054511772822147E-006 5.8462665455426971E-004 1.7826883968042497E-004 8.1569571524987873E-003
+100.00000000000000 0.69999998807907104 2.0067642146795586E-002 3.0872784959549548E-003 1.0075891321804139E-005 6.3847844300242255E-005 -1.1067154451378791E-007 1.3106758370773873E-005 3.9941586997870139E-006 3.9264340587306132E-004
+100.00000000000000 0.89999997615814209 3.5111466600323187E-004 1.7834439969130266E-005 -5.9503989442133399E-008 1.7814059333223450E-007 -1.3937397858542443E-010 6.9115603223827461E-009 8.5997188610872690E-009 1.2254629664309897E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqup.dat
new file mode 100644
index 000000000..879c10e86
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqup.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013453473512E-006 145.10322273865611 -2.7409080530560459E-005 71.479661102317252 70.755329045645894 1056.7021925519598
+100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373320033355E-005 70.548244793879149 -4.2595660495692300E-005 34.422763787982298 33.849437103915477 493.83654380918813
+100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381122658E-004 33.459423595685678 7.7558289248713663E-006 16.054076103106208 15.600139253947013 220.01484611683000
+100.00000000000000 9.9999997473787516E-005 1.3657199328116931E-002 8.0056101549348391E-003 4.7181216774561108E-004 15.102606546565557 2.3196624157773016E-004 7.0173908799409386 6.6588661238915314 89.667834947341532
+100.00000000000000 1.0000000474974513E-003 5.9556547077359578E-002 3.4379022008734772E-002 1.7183714130062366E-003 6.2957639846811837 4.0043590087224246E-004 2.7351139993984313 2.4576179335318979 31.295372647443749
+100.00000000000000 9.9999997764825821E-003 0.23117658117841533 0.12953232412123517 5.7449137841849574E-003 2.2680193931051709 -2.3112173756911769E-004 0.85268127754435397 0.66392540957293034 8.1610679309909493
+100.00000000000000 0.10000000149011612 0.55108890035797886 0.27129201818340704 1.0031121949770239E-002 0.38998530301709400 -3.2795576789368397E-004 0.11380455367818215 5.9744743407754826E-002 0.90568779242684683
+100.00000000000000 0.30000001192092896 0.35030648467943626 0.13010111786727968 2.9715276922373940E-003 3.5599451082119787E-002 -3.8276710254858681E-005 9.0839288249626171E-003 3.3479787888457645E-003 8.4414881601733438E-002
+100.00000000000000 0.50000000000000000 0.12106774406552606 3.1503478146908792E-002 3.6015843681060436E-004 2.4560847347054118E-003 -3.2054511772822147E-006 5.8454608800320024E-004 1.7818827320604218E-004 8.1551378990983060E-003
+100.00000000000000 0.69999998807907104 2.0067642146795586E-002 3.0872784959549548E-003 1.0075891321802838E-005 6.3847193937163760E-005 -1.1067154451378791E-007 1.3106433189235059E-005 3.9938335196336348E-006 3.9235997044912688E-004
+100.00000000000000 0.89999997615814209 3.5111466600323187E-004 1.7834439969130266E-005 -5.9503989442119846E-008 1.7818565044687646E-007 -1.3937397858542443E-010 6.9340888797172779E-009 8.6222473308194431E-009 1.2370589812558369E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgdn.dat
new file mode 100644
index 000000000..b43758308
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgdn.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013453473512E-006 151.08534490362433 -2.7409080530560459E-005 74.470722184801360 73.745637287622031 1089.3705632942376
+100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373327138783E-005 72.571950710934573 -4.2595660495692300E-005 35.434616746510002 34.860960942546093 504.44856342792536
+100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381477930E-004 33.995060637816721 7.7558289248713663E-006 16.321894624171723 15.867855453023179 222.82619594008270
+100.00000000000000 9.9999997473787516E-005 1.3657199328116931E-002 8.0056101549348391E-003 4.7181216774561108E-004 15.187588667030756 2.3196624157773016E-004 7.0598819401735380 6.7013434814337263 90.178831997887357
+100.00000000000000 1.0000000474974513E-003 5.9556547077359578E-002 3.4379022008734772E-002 1.7183714130057925E-003 6.2954382407383900 4.0043590087224246E-004 2.7349511274270348 2.4574567063845150 31.318694784174735
+100.00000000000000 9.9999997764825821E-003 0.23117658117841533 0.12953232412123517 5.7449137841850684E-003 2.2663696115694645 -2.3112173756911769E-004 0.85185638677650033 0.66310064036825289 8.1503230658576182
+100.00000000000000 0.10000000149011612 0.55108890035797886 0.27129201818340704 1.0031121949770294E-002 0.39000193328287192 -3.2795576789368397E-004 0.11381286881107117 5.9753059783225065E-002 0.90578327536733683
+100.00000000000000 0.30000001192092896 0.35030648467943626 0.13010111786727971 2.9715276922374356E-003 3.5599363924025129E-002 -3.8276710254858681E-005 9.0838852459152741E-003 3.3479353726563453E-003 8.4418320725897555E-002
+100.00000000000000 0.50000000000000000 0.12106774406552606 3.1503478146908792E-002 3.6015843681061477E-004 2.4561506310399883E-003 -3.2054511772822147E-006 5.8457903617048501E-004 1.7822123675575633E-004 8.1560469600272766E-003
+100.00000000000000 0.69999998807907104 2.0067642146795586E-002 3.0872784959549548E-003 1.0075891321801537E-005 6.3847024736958698E-005 -1.1067154451378791E-007 1.3106348589132961E-005 3.9937494275396475E-006 3.9250168031338870E-004
+100.00000000000000 0.89999997615814209 3.5111466600323187E-004 1.7834439969130266E-005 -5.9503989442133399E-008 1.7816253861571555E-007 -1.3937397858542443E-010 6.9225329641232729E-009 8.6106918560849841E-009 1.2312609713813405E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgup.dat
new file mode 100644
index 000000000..f02335010
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgup.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013595582059E-006 146.82345512702517 -2.7409080530560459E-005 72.339777296501765 71.616196857586033 1082.1576473345106
+100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373327138783E-005 71.208295457797817 -4.2595660495692300E-005 34.752789119941625 34.179791031372048 502.89955006210027
+100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381477930E-004 33.687434378885641 7.7558289248713663E-006 16.168081494706183 15.714246777178783 222.65057630055901
+100.00000000000000 9.9999997473787516E-005 1.3657199328116931E-002 8.0056101549348391E-003 4.7181216774561108E-004 15.162316191047122 2.3196624157773016E-004 7.0472457021817210 6.6887345998408456 90.187903734173290
+100.00000000000000 1.0000000474974513E-003 5.9556547077359578E-002 3.4379022008734772E-002 1.7183714130062366E-003 6.3006278635700070 4.0043590087224246E-004 2.7375459388428429 2.4600482242421498 31.321997124209140
+100.00000000000000 9.9999997764825821E-003 0.23117658117841533 0.12953232412123517 5.7449137841850684E-003 2.2666187510750948 -2.3112173756911769E-004 0.85198095652931549 0.66322496812209930 8.1503563043007965
+100.00000000000000 0.10000000149011612 0.55108890035797886 0.27129201818340709 1.0031121949770266E-002 0.39000493198256597 -3.2795576789368397E-004 0.11381436816091817 5.9754556633296430E-002 0.90578407264231076
+100.00000000000000 0.30000001192092896 0.35030648467943626 0.13010111786727968 2.9715276922373940E-003 3.5599692719352677E-002 -3.8276710254858681E-005 9.0840496435790619E-003 3.3480994445387420E-003 8.4418349813014631E-002
+100.00000000000000 0.50000000000000000 0.12106774406552606 3.1503478146908792E-002 3.6015843681061477E-004 2.4561799714432064E-003 -3.2054511772822147E-006 5.8459370637209407E-004 1.7823587611569681E-004 8.1560480898727316E-003
+100.00000000000000 0.69999998807907104 2.0067642146795586E-002 3.0872784959549548E-003 1.0075891321804139E-005 6.3848013500812477E-005 -1.1067154451378791E-007 1.3106842971058984E-005 3.9942427921001422E-006 3.9250169610278383E-004
+100.00000000000000 0.89999997615814209 3.5111466600323187E-004 1.7834439969130266E-005 -5.9503989442146951E-008 1.7816370516572644E-007 -1.3937397858542443E-010 6.9231162391151634E-009 8.6112743364595306E-009 1.2312609758364344E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_PqqPSdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_PqqPSdn.dat
new file mode 100644
index 000000000..6d6605402
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_PqqPSdn.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013453473512E-006 149.21992088573461 -2.7409080530560459E-005 73.538010175856499 72.813551516236970 1086.3517112704733
+100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373320033355E-005 71.987757645420714 -4.2595660495692300E-005 35.142520213753080 34.569132444077795 503.82107857029155
+100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381122658E-004 33.869363346206143 7.7558289248713663E-006 16.259045978366441 15.805087034485272 222.76082384311925
+100.00000000000000 9.9999997473787516E-005 1.3657199328116931E-002 8.0056101549348391E-003 4.7181216774649926E-004 15.179110260859588 2.3196624157773016E-004 7.0556427370879531 6.6971139716639563 90.183444177235742
+100.00000000000000 1.0000000474974513E-003 5.9556547077359578E-002 3.4379022008734772E-002 1.7183714130062366E-003 6.2976479145475110 4.0043590087224246E-004 2.7360559643315949 2.4585601823229357 31.319945431016158
+100.00000000000000 9.9999997764825821E-003 0.23117658117841533 0.12953232412123517 5.7449137841854014E-003 2.2664473778901466 -2.3112173756911769E-004 0.85189526993684139 0.66313944578093542 8.1503346062141215
+100.00000000000000 0.10000000149011612 0.55108890035797886 0.27129201818340709 1.0031121949770266E-002 0.39000344654744307 -3.2795576789368397E-004 0.11381362544335671 5.9753815153030534E-002 0.90578367557508899
+100.00000000000000 0.30000001192092896 0.35030648467943626 0.13010111786727971 2.9715276922374356E-003 3.5599530247727496E-002 -3.8276710254858681E-005 9.0839684077664573E-003 3.3480183698327685E-003 8.4418335371859735E-002
+100.00000000000000 0.50000000000000000 0.12106774406552606 3.1503478146908792E-002 3.6015843681062518E-004 2.4561653808051406E-003 -3.2054511772822147E-006 5.8458641105305770E-004 1.7822859614368002E-004 8.1560475271011228E-003
+100.00000000000000 0.69999998807907104 2.0067642146795586E-002 3.0872784959549548E-003 1.0075891321802838E-005 6.3847519880394499E-005 -1.1067154451378791E-007 1.3106596160850428E-005 3.9939964898540621E-006 3.9250168823930275E-004
+100.00000000000000 0.89999997615814209 3.5111466600323187E-004 1.7834439969130266E-005 -5.9503989442174056E-008 1.7816311313100441E-007 -1.3937397858542443E-010 6.9228202217812545E-009 8.6109787247163023E-009 1.2312609737450654E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_PqqPSup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_PqqPSup.dat
new file mode 100644
index 000000000..4f0f8e654
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_PqqPSup.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013453473512E-006 148.68903766865787 -2.7409080530560459E-005 73.272568567318132 72.548361890841903 1085.1765644050179
+100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373320033355E-005 71.792504661251002 -4.2595660495692300E-005 35.044893721668224 34.471627598820980 503.52703490762542
+100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381477930E-004 33.813130280425398 7.7558289248713663E-006 16.230929445476065 15.777014500681659 222.71594792696169
+100.00000000000000 9.9999997473787516E-005 1.3657199328116931E-002 8.0056101549348391E-003 4.7181216774472290E-004 15.170794538924802 2.3196624157773016E-004 7.0514848761205622 6.6929640804637653 90.183291549526189
+100.00000000000000 1.0000000474974513E-003 5.9556547077359578E-002 3.4379022008734772E-002 1.7183714130062366E-003 6.2984181879074832 4.0043590087224246E-004 2.7364411010115810 2.4589447473770205 31.320746476792124
+100.00000000000000 9.9999997764825821E-003 0.23117658117841533 0.12953232412123517 5.7449137841854014E-003 2.2665409847348950 -2.3112173756911769E-004 0.85194207335921557 0.66318616269965869 8.1503447639428508
+100.00000000000000 0.10000000149011612 0.55108890035797886 0.27129201818340709 1.0031121949770266E-002 0.39000341871770677 -3.2795576789368397E-004 0.11381361152848857 5.9753801263346409E-002 0.90578367243452096
+100.00000000000000 0.30000001192092896 0.35030648467943626 0.13010111786727968 2.9715276922373940E-003 3.5599526395639652E-002 -3.8276710254858681E-005 9.0839664817225496E-003 3.3480164473569879E-003 8.4418335167051717E-002
+100.00000000000000 0.50000000000000000 0.12106774406552606 3.1503478146908792E-002 3.6015843681061477E-004 2.4561652216773533E-003 -3.2054511772822147E-006 5.8458633148916750E-004 1.7822851672758114E-004 8.1560475227988628E-003
+100.00000000000000 0.69999998807907104 2.0067642146795586E-002 3.0872784959549548E-003 1.0075891321802838E-005 6.3847518357362798E-005 -1.1067154451378791E-007 1.3106595399334578E-005 3.9939957297835905E-006 3.9250168817686832E-004
+100.00000000000000 0.89999997615814209 3.5111466600323187E-004 1.7834439969130266E-005 -5.9503989442119846E-008 1.7816313064965153E-007 -1.3937397858542443E-010 6.9228289811048161E-009 8.6109874678281181E-009 1.2312609734727060E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_central.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_central.dat
new file mode 100644
index 000000000..bf11cb3af
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_central.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013595582059E-006 148.95448211604156 -2.7409080530560459E-005 73.405290791009961 72.680958122962252 1085.7641515036130
+100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373312927928E-005 71.890135575279089 -4.2595660495692300E-005 35.093709178682275 34.520382232415514 503.67405855162531
+100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381477930E-004 33.841246949363168 7.7558289248713663E-006 16.244987779944950 15.791050835606946 222.73838576437402
+100.00000000000000 9.9999997473787516E-005 1.3657199328116931E-002 8.0056101549348391E-003 4.7181216774472290E-004 15.174952358473107 2.3196624157773016E-004 7.0535637858947142 6.6950390053543698 90.183367854196206
+100.00000000000000 1.0000000474974513E-003 5.9556547077359578E-002 3.4379022008734772E-002 1.7183714130053485E-003 6.2980330515574359 4.0043590087224246E-004 2.7362485328365582 2.4587524650149462 31.320345953966672
+100.00000000000000 9.9999997764825821E-003 0.23117658117841533 0.12953232412123517 5.7449137841850684E-003 2.2664941813124804 -2.3112173756911769E-004 0.85191867164800827 0.66316280424027729 8.1503396850785066
+100.00000000000000 0.10000000149011612 0.55108890035797886 0.27129201818340704 1.0031121949770294E-002 0.39000343263257631 -3.2795576789368397E-004 0.11381361848592336 5.9753808208188403E-002 0.90578367400480553
+100.00000000000000 0.30000001192092896 0.35030648467943626 0.13010111786727971 2.9715276922374356E-003 3.5599528321684171E-002 -3.8276710254858681E-005 9.0839674447447949E-003 3.3480174085948810E-003 8.4418335269455802E-002
+100.00000000000000 0.50000000000000000 0.12106774406552606 3.1503478146908792E-002 3.6015843681060436E-004 2.4561653012412435E-003 -3.2054511772822147E-006 5.8458637127111607E-004 1.7822855643563124E-004 8.1560475249500136E-003
+100.00000000000000 0.69999998807907104 2.0067642146795586E-002 3.0872784959549548E-003 1.0075891321801537E-005 6.3847519118869107E-005 -1.1067154451378791E-007 1.3106595780088166E-005 3.9939961098190228E-006 3.9250168820808586E-004
+100.00000000000000 0.89999997615814209 3.5111466600323187E-004 1.7834439969130266E-005 -5.9503989442133399E-008 1.7816312189089718E-007 -1.3937397858542443E-010 6.9228246017140858E-009 8.6109830962720522E-009 1.2312609736088875E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pggdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pggdn.dat
new file mode 100644
index 000000000..97a99eaea
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pggdn.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.1638513057476985E-004 5.5629817083513444E-005 8.3396226244758509E-006 169.96817818138470 83.914249827330337 82.315124672876721 68.754887311417605 1178.0972154649537
+100.00000000000000 9.9999999747524271E-007 6.0389386977277582E-004 3.3257465705105460E-004 3.2692344792195627E-005 79.322621305926930 38.811635145276036 37.646406774531805 30.916001312192783 528.57221294754129
+100.00000000000000 9.9999997473787516E-006 3.0183018601821487E-003 1.7563286740163164E-003 1.2871764338839853E-004 36.169310632534888 17.410384740445920 16.587989185365096 13.324240994740347 226.63823614426957
+100.00000000000000 9.9999997473787516E-005 1.4024099547747859E-002 8.2158220554657824E-003 4.8879128169954100E-004 15.791243967455308 7.3628896407639663 6.8094131807931380 5.3019570367535032 89.442178689786800
+100.00000000000000 1.0000000474974513E-003 6.0635749833595209E-002 3.4975701492450995E-002 1.7596018649315148E-003 6.4227680615897027 2.7998100664538086 2.4526810102999170 1.8171574321672699 30.469121051522659
+100.00000000000000 9.9999997764825821E-003 0.23325041796957779 0.13055297503060748 5.8026373362592976E-003 2.2740516172180110 0.85717627313055755 0.66729129549014088 0.45129145712632801 7.8065223112223716
+100.00000000000000 0.10000000149011612 0.54876224626778880 0.26966523370480694 9.9482991759415329E-003 0.38453203929567947 0.11219582313218640 6.4548151732910314E-002 3.7237123453137240E-002 0.85055531323122646
+100.00000000000000 0.30000001192092896 0.34471948071698921 0.12771691243884670 2.9023583010310411E-003 3.4706282363145574E-002 8.8421416212276227E-003 4.0494769592369579E-003 2.1095274469186956E-003 7.8670328425918090E-002
+100.00000000000000 0.50000000000000000 0.11798332522173474 3.0614882396224400E-002 3.4653453707870693E-004 2.3789035005421719E-003 5.6437955111416499E-004 2.4370489912007182E-004 1.2143785131030858E-004 7.6252662702464046E-003
+100.00000000000000 0.69999998807907104 1.9335258208711750E-002 2.9654162859667713E-003 9.2472981895841237E-006 6.2099686970656064E-005 1.2547971994673023E-005 5.9901624025927440E-006 2.9753419514008485E-006 3.7045585256394387E-004
+100.00000000000000 0.89999997615814209 3.3147739644216485E-004 1.6782246942351756E-005 -6.3381976474948258E-008 1.8337182608395525E-007 6.2892132617780629E-009 8.4762644134830217E-009 3.5329782188988992E-009 1.1753139113829188E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pggup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pggup.dat
new file mode 100644
index 000000000..6640ecc91
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pggup.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.1638513057476985E-004 5.5629817083513444E-005 8.3396226386867056E-006 148.37232598337698 73.116323728326464 71.517542087062367 59.752579386322168 1016.9034554056577
+100.00000000000000 9.9999999747524271E-007 6.0389386977277582E-004 3.3257465705105460E-004 3.2692344799301054E-005 72.975049173918364 35.637849079271746 34.472648316630320 28.330519006473679 482.25427032980394
+100.00000000000000 9.9999997473787516E-006 3.0183018601821487E-003 1.7563286740163164E-003 1.2871764338839853E-004 34.807833359128139 16.729646103742546 15.907209730759911 12.785975083039730 216.84026131246662
+100.00000000000000 9.9999997473787516E-005 1.4024099547747859E-002 8.2158220554657824E-003 4.8879128169954100E-004 15.655848046089631 7.2951916800811274 6.7416938977432945 5.2513588670124598 88.420038139692423
+100.00000000000000 1.0000000474974513E-003 6.0635749833595209E-002 3.4975701492450995E-002 1.7596018649315148E-003 6.4387848930801681 2.8078184821990413 2.4606876553397834 1.8236355645001883 30.565512649178984
+100.00000000000000 9.9999997764825821E-003 0.23325041796957791 0.13055297503060748 5.8026373362594086E-003 2.2762903842845739 0.85829565666383900 0.66841115359756575 0.45214198733208349 7.8254167350318165
+100.00000000000000 0.10000000149011612 0.54876224626778880 0.26966523370480699 9.9482991759414496E-003 0.38452456269541818 0.11219208483205578 6.4544409524250473E-002 3.7234234988473003E-002 0.85046350812099680
+100.00000000000000 0.30000001192092896 0.34471948071698932 0.12771691243884670 2.9023583010310411E-003 3.4706322371633430E-002 8.8421616254715507E-003 4.0494970278978012E-003 2.1095458977502027E-003 7.8671430744820164E-002
+100.00000000000000 0.50000000000000000 0.11798332522173474 3.0614882396224397E-002 3.4653453707869653E-004 2.3789017370763332E-003 5.6437866938124914E-004 2.4370401396541012E-004 1.2143698328055170E-004 7.6252092618799300E-003
+100.00000000000000 0.69999998807907104 1.9335258208711750E-002 2.9654162859667713E-003 9.2472981895849911E-006 6.2099772829068457E-005 1.2548014923880087E-005 5.9902054940639388E-006 2.9753840746133640E-006 3.7045851115323882E-004
+100.00000000000000 0.89999997615814209 3.3147739644216485E-004 1.6782246942351756E-005 -6.3381976474907601E-008 1.8337183287287688E-007 6.2892166562253295E-009 8.4762680544631352E-009 3.5330121244039161E-009 1.1753232926367382E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pgqdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pgqdn.dat
new file mode 100644
index 000000000..ee3b1682e
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pgqdn.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.1638513057476985E-004 5.5629817083513444E-005 8.3396226244758509E-006 163.25516646540399 80.557743969339981 78.958685656550685 65.948483215659024 1127.0889502281054
+100.00000000000000 9.9999999747524271E-007 6.0389386977277582E-004 3.3257465705105460E-004 3.2692344792195627E-005 77.575142237481430 37.937895611053278 36.772654281341033 30.201665199065829 515.46134095508341
+100.00000000000000 9.9999997473787516E-006 3.0183018601821487E-003 1.7563286740163164E-003 1.2871764338839853E-004 35.891439507500372 17.271449177928663 16.449035377910544 13.214129885467269 224.50045259264590
+100.00000000000000 9.9999997473787516E-005 1.4024099547747859E-002 8.2158220554657824E-003 4.8879128170042918E-004 15.798768850665516 7.3666520823690691 6.8131706022811223 5.3053710576682471 89.445438726710819
+100.00000000000000 1.0000000474974513E-003 6.0635749833595209E-002 3.4975701492450995E-002 1.7596018649315148E-003 6.4329495750751695 2.8049008231965420 2.4577725116800488 1.8211127950229682 30.540853995216221
+100.00000000000000 9.9999997764825821E-003 0.23325041796957779 0.13055297503060748 5.8026373362592976E-003 2.2735908430772183 0.85694588606016120 0.66706098145193704 0.45111855648095062 7.8052924941421207
+100.00000000000000 0.10000000149011612 0.54876224626778880 0.26966523370480694 9.9482991759415329E-003 0.38454701009430248 0.11220330853149790 6.4555636301797462E-002 3.7242523205740834E-002 0.85060552561533487
+100.00000000000000 0.30000001192092896 0.34471948071698921 0.12771691243884670 2.9023583010309995E-003 3.4706380845510865E-002 8.8421908624102818E-003 4.0495263642875926E-003 2.1095797423491543E-003 7.8674232213124140E-002
+100.00000000000000 0.50000000000000000 0.11798332522173474 3.0614882396224397E-002 3.4653453707869653E-004 2.3789837925280999E-003 5.6441969710713247E-004 2.4374507447534426E-004 1.2146872023140171E-004 7.6261305765585189E-003
+100.00000000000000 0.69999998807907104 1.9335258208711750E-002 2.9654162859667713E-003 9.2472981895849911E-006 6.2099965619518728E-005 1.2548111319105222E-005 5.9903079163510676E-006 2.9760429850507440E-006 3.7059354355478496E-004
+100.00000000000000 0.89999997615814209 3.3147739644216485E-004 1.6782246942351756E-005 -6.3381976474907601E-008 1.8335119151424587E-007 6.2788959769098217E-009 8.4657033341564821E-009 3.5034782764562819E-009 1.1697504047128219E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pgqup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pgqup.dat
new file mode 100644
index 000000000..7e76e76ea
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pgqup.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.1638513057476985E-004 5.5629817083513444E-005 8.3396226528975603E-006 155.04634459688458 76.453333035080249 74.854484535583381 62.543064716202089 1067.5675176745740
+100.00000000000000 9.9999999747524271E-007 6.0389386977277582E-004 3.3257465705105460E-004 3.2692344792195627E-005 74.730656054191513 36.515652519408320 35.350464713567106 29.048414679420851 495.42477942528490
+100.00000000000000 9.9999997473787516E-006 3.0183018601821487E-003 1.7563286740163164E-003 1.2871764338839853E-004 35.087845577099699 16.869652212728326 16.047234085110823 12.896985367837146 218.99606465734689
+100.00000000000000 9.9999997473787516E-005 1.4024099547747859E-002 8.2158220554657824E-003 4.8879128170042918E-004 15.648279581020118 7.2914074475463702 6.7379146853967393 5.2479251197792607 88.416704055730918
+100.00000000000000 1.0000000474974513E-003 6.0635749833595209E-002 3.4975701492450995E-002 1.7596018649315148E-003 6.4285882465442930 2.8027201589311037 2.4555885874262628 1.8196738860627537 30.493629677804250
+100.00000000000000 9.9999997764825821E-003 0.23325041796957779 0.13055297503060748 5.8026373362592976E-003 2.2767512673509192 0.85852609819701164 0.66864152209865857 0.45231493325904953 7.8266479119171493
+100.00000000000000 0.10000000149011612 0.54876224626778880 0.26966523370480694 9.9482991759414774E-003 0.38450959198736390 0.11218459947802867 6.4536925000647782E-002 3.7228835278371938E-002 0.85041329813746847
+100.00000000000000 0.30000001192092896 0.34471948071698932 0.12771691243884670 2.9023583010310411E-003 3.4706223889562932E-002 8.8421123844363014E-003 4.0494476229944107E-003 2.1094936024764178E-003 7.8667526974334157E-002
+100.00000000000000 0.50000000000000000 0.11798332522173474 3.0614882396224397E-002 3.4653453707871734E-004 2.3788214451369999E-003 5.6433852341157553E-004 2.4366383863331939E-004 1.2140611438067188E-004 7.6243449572608148E-003
+100.00000000000000 0.69999998807907104 1.9335258208711750E-002 2.9654162859667713E-003 9.2472981895849911E-006 6.2099494179048732E-005 1.2547875598870224E-005 5.9900599797273457E-006 2.9746830403466440E-006 3.7032082004400009E-004
+100.00000000000000 0.89999997615814209 3.3147739644216485E-004 1.6782246942351756E-005 -6.3381976474927929E-008 1.8339246744338586E-007 6.2995339414865939E-009 8.4868291336414292E-009 3.5625120660459810E-009 1.1808868002188172E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pqgdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pqgdn.dat
new file mode 100644
index 000000000..465a478f0
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pqgdn.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.1638513057476985E-004 5.5629817083513444E-005 8.3396226528975603E-006 161.46277136124530 79.661546417260610 78.061819635196713 64.842776045858599 1101.1821442631835
+100.00000000000000 9.9999999747524271E-007 6.0389386977277582E-004 3.3257465705105460E-004 3.2692344792195627E-005 76.880471500306953 37.590560242466040 36.425011415315460 29.780642377210679 506.26174094871010
+100.00000000000000 9.9999997473787516E-006 3.0183018601821487E-003 1.7563286740163164E-003 1.2871764339195124E-004 35.650405532848488 17.150932190602717 16.328413448371712 13.081661334971518 221.83934605514202
+100.00000000000000 9.9999997473787516E-005 1.4024099547747859E-002 8.2158220554657824E-003 4.8879128169954100E-004 15.736140305950594 7.3353378100116089 6.7818371360157004 5.2774395171024437 88.926080771042990
+100.00000000000000 1.0000000474974513E-003 6.0635749833595209E-002 3.4975701492450995E-002 1.7596018649315148E-003 6.4280448388683231 2.8024484550931188 2.4553201754811926 1.8199338988900715 30.515518819525049
+100.00000000000000 9.9999997764825821E-003 0.23325041796957779 0.13055297503060748 5.8026373362592976E-003 2.2750452241327528 0.85767307658792846 0.66778845570689815 0.45170309348563864 7.8159532010190285
+100.00000000000000 0.10000000149011612 0.54876224626778880 0.26966523370480694 9.9482991759415329E-003 0.38452676135759822 0.11219318416314578 6.4545512055433227E-002 3.7235480044761231E-002 0.85050900120343731
+100.00000000000000 0.30000001192092896 0.34471948071698921 0.12771691243884670 2.9023583010309995E-003 3.4706136982229741E-002 8.8420689307697198E-003 4.0494044613609238E-003 2.1095193417257647E-003 7.8670864746660824E-002
+100.00000000000000 0.50000000000000000 0.11798332522173474 3.0614882396224397E-002 3.4653453707871734E-004 2.3788880302793441E-003 5.6437181598274766E-004 2.4369717731113102E-004 1.2143598959446630E-004 7.6252371893960700E-003
+100.00000000000000 0.69999998807907104 1.9335258208711750E-002 2.9654162859667713E-003 9.2472981895828227E-006 6.2099241572872305E-005 1.2547749295781577E-005 5.9899402750404811E-006 2.9753133294971047E-006 3.7045717372425415E-004
+100.00000000000000 0.89999997615814209 3.3147739644216485E-004 1.6782246942351756E-005 -6.3381976474948258E-008 1.8337124808526033E-007 6.2889242624306063E-009 8.4759759121680550E-009 3.5329185972564878E-009 1.1753185995735087E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pqgup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pqgup.dat
new file mode 100644
index 000000000..6546cac40
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_Pqgup.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.1638513057476985E-004 5.5629817083513444E-005 8.3396226386867056E-006 156.83661809971500 77.348469786495471 75.750289756272636 63.647800183087767 1093.4499714820740
+100.00000000000000 9.9999999747524271E-007 6.0389386977277582E-004 3.3257465705105460E-004 3.2692344792195627E-005 75.425402152562725 36.863025568593926 35.698145260191019 29.469475122666321 504.62455454839346
+100.00000000000000 9.9999997473787516E-006 3.0183018601821487E-003 1.7563286740163164E-003 1.2871764338839853E-004 35.328956249906867 16.990207549131910 16.167894363727392 13.029489430511180 221.65798765501236
+100.00000000000000 9.9999997473787516E-005 1.4024099547747859E-002 8.2158220554657824E-003 4.8879128170042918E-004 15.710911035909140 7.3227231749908812 6.7692496067492041 5.2758580333621161 88.936126111431406
+100.00000000000000 1.0000000474974513E-003 6.0635749833595209E-002 3.4975701492450995E-002 1.7596018649315148E-003 6.4334921555667144 2.8051721134423144 2.4580405100329035 1.8208523954943150 30.518953959748579
+100.00000000000000 9.9999997764825821E-003 0.23325041796957779 0.13055297503060748 5.8026373362592976E-003 2.2752969008390176 0.85779891494106086 0.66791405511551338 0.45173040303897882 7.8159873878931592
+100.00000000000000 0.10000000149011612 0.54876224626778880 0.26966523370480699 9.9482991759414496E-003 0.38452984071619994 0.11219472384244666 6.4547049243079552E-002 3.7235878435467898E-002 0.85050982228154259
+100.00000000000000 0.30000001192092896 0.34471948071698932 0.12771691243884670 2.9023583010309578E-003 3.4706467753152087E-002 8.8422343162309069E-003 4.0495695260753381E-003 2.1095540032451720E-003 7.8670894443984687E-002
+100.00000000000000 0.50000000000000000 0.11798332522173474 3.0614882396224397E-002 3.4653453707869653E-004 2.3789172073504505E-003 5.6438640451830779E-004 2.4371173577973800E-004 1.2143884499862722E-004 7.6252383423857035E-003
+100.00000000000000 0.69999998807907104 1.9335258208711750E-002 2.9654162859667713E-003 9.2472981895828227E-006 6.2100218226283227E-005 1.2548237622487038E-005 5.9904276213315943E-006 2.9754126962978903E-006 3.7045718999008555E-004
+100.00000000000000 0.89999997615814209 3.3147739644216485E-004 1.6782246942351756E-005 -6.3381976474948258E-008 1.8337241087235784E-007 6.2895056559793619E-009 8.4765565557613730E-009 3.5330717457854674E-009 1.1753186043789961E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_PqqPSdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_PqqPSdn.dat
new file mode 100644
index 000000000..09b352890
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_PqqPSdn.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.1638513057476985E-004 5.5629817083513444E-005 8.3396226528975603E-006 159.43730981983418 78.648815646555050 77.049732108766705 64.315936544517683 1097.9346184333244
+100.00000000000000 9.9999999747524271E-007 6.0389386977277582E-004 3.3257465705105460E-004 3.2692344799301054E-005 76.257372357899868 37.279010671262498 36.113734065980971 29.645948959686951 505.59746136754200
+100.00000000000000 9.9999997473787516E-006 3.0183018601821487E-003 1.7563286740163164E-003 1.2871764339195124E-004 35.519358858828333 17.085408853592639 16.262970715322535 13.060148710954417 221.77212121852216
+100.00000000000000 9.9999997473787516E-005 1.4024099547747859E-002 8.2158220554657824E-003 4.8879128170042918E-004 15.727832081591293 7.3311836978319578 6.7776926137511246 5.2771066803040139 88.931170482771336
+100.00000000000000 1.0000000474974513E-003 6.0635749833595209E-002 3.4975701492450995E-002 1.7596018649315148E-003 6.4303572639204631 2.8036046676191888 2.4564750173267420 1.8203255716360649 30.516817581013601
+100.00000000000000 9.9999997764825821E-003 0.23325041796957779 0.13055297503060748 5.8026373362592976E-003 2.2751228695448615 0.85771189929398284 0.66782720167994059 0.45171106179375592 7.8159649931176016
+100.00000000000000 0.10000000149011612 0.54876224626778880 0.26966523370480694 9.9482991759415329E-003 0.38452831484379835 0.11219396090624584 6.4546287540737185E-002 3.7235680939865110E-002 0.85050941338240549
+100.00000000000000 0.30000001192092896 0.34471948071698932 0.12771691243884670 2.9023583010309578E-003 3.4706304327641185E-002 8.8421526034754561E-003 4.0494879719504637E-003 2.1095369026492795E-003 7.8670879702380431E-002
+100.00000000000000 0.50000000000000000 0.11798332522173474 3.0614882396224400E-002 3.4653453707870693E-004 2.3789026993238024E-003 5.6437915050498028E-004 2.4370449672821810E-004 1.2143742671375744E-004 7.6252377681436424E-003
+100.00000000000000 0.69999998807907104 1.9335258208711750E-002 2.9654162859667713E-003 9.2472981895828227E-006 6.2099730683998905E-005 1.2547993851344877E-005 5.9901843396982473E-006 2.9753631043685245E-006 3.7045718188987136E-004
+100.00000000000000 0.89999997615814209 3.3147739644216485E-004 1.6782246942351756E-005 -6.3381976474948258E-008 1.8337182126359239E-007 6.2892108515966334E-009 8.4762621339012084E-009 3.5329941933636084E-009 1.1753186021190644E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_PqqPSup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_PqqPSup.dat
new file mode 100644
index 000000000..4b39b78de
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_PqqPSup.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.1638513057476985E-004 5.5629817083513444E-005 8.3396226244758509E-006 158.86226323946795 78.361292356371962 76.762469081873547 64.174708946423081 1096.6975800923499
+100.00000000000000 9.9999999747524271E-007 6.0389386977277582E-004 3.3257465705105460E-004 3.2692344799301054E-005 76.048519312064087 37.174584148344607 36.009431618083852 29.604175751035413 505.28883426982145
+100.00000000000000 9.9999997473787516E-006 3.0183018601821487E-003 1.7563286740163164E-003 1.2871764339195124E-004 35.460001322904041 17.055730085630493 16.233336296265527 13.051001496511940 221.72521188973616
+100.00000000000000 9.9999997473787516E-005 1.4024099547747859E-002 8.2158220554657824E-003 4.8879128170042918E-004 15.719219194700122 7.3268772543863721 6.7733940962295591 5.2761908372477908 88.931036391890387
+100.00000000000000 1.0000000474974513E-003 6.0635749833595209E-002 3.4975701492450995E-002 1.7596018649310707E-003 6.4311797284174839 2.8040158998676996 2.4568856671388226 1.8204607220966016 30.517655197567422
+100.00000000000000 9.9999997764825821E-003 0.23325041796957779 0.13055297503060748 5.8026373362592976E-003 2.2752192554055801 0.85776009222434213 0.66787530913180770 0.45172243472411000 7.8159755957928816
+100.00000000000000 0.10000000149011612 0.54876224626778880 0.26966523370480694 9.9482991759414774E-003 0.38452828722968169 0.11219394709918756 6.4546273757614875E-002 3.7235677540257736E-002 0.85050941010253034
+100.00000000000000 0.30000001192092896 0.34471948071698921 0.12771691243884670 2.9023583010310411E-003 3.4706300407728735E-002 8.8421506435192032E-003 4.0494860154800007E-003 2.1095364423179960E-003 7.8670879488264622E-002
+100.00000000000000 0.50000000000000000 0.11798332522173474 3.0614882396224397E-002 3.4653453707869653E-004 2.3789025383053608E-003 5.6437906999576293E-004 2.4370441636244232E-004 1.2143740787920872E-004 7.6252377636381041E-003
+100.00000000000000 0.69999998807907104 1.9335258208711750E-002 2.9654162859667713E-003 9.2472981895849911E-006 6.2099729115140147E-005 1.2547993066915931E-005 5.9901835566718004E-006 2.9753629214253477E-006 3.7045718182446887E-004
+100.00000000000000 0.89999997615814209 3.3147739644216485E-004 1.6782246942351756E-005 -6.3381976474948258E-008 1.8337183769359211E-007 6.2892190665964944E-009 8.4762703340168525E-009 3.5329961496726682E-009 1.1753186018334398E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_central.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_central.dat
new file mode 100644
index 000000000..54a24775e
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_VFNS/N3LO_FHMRUVV_VFNS_central.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.1638513057476985E-004 5.5629817083513444E-005 8.3396226386867056E-006 159.14979008721230 78.505055780244120 76.906102374100755 64.245324142797813 1097.3161147706614
+100.00000000000000 9.9999999747524271E-007 6.0389386977277582E-004 3.3257465705105460E-004 3.2692344792195627E-005 76.152950764474497 37.226799874549812 36.061585306773011 29.625063443985880 505.44314988138143
+100.00000000000000 9.9999997473787516E-006 3.0183018601821487E-003 1.7563286740163164E-003 1.2871764339195124E-004 35.489680234912818 17.070569541634882 16.248153577817050 13.055575128199983 221.74866641730839
+100.00000000000000 9.9999997473787516E-005 1.4024099547747859E-002 8.2158220554657824E-003 4.8879128169954100E-004 15.723525592397330 7.3290304532349770 6.7755433321161878 5.2766487489536367 88.931103426869640
+100.00000000000000 1.0000000474974513E-003 6.0635749833595209E-002 3.4975701492450995E-002 1.7596018649315148E-003 6.4307684965335978 2.8038102839257562 2.4566803424150923 1.8203931469443533 30.517236389361848
+100.00000000000000 9.9999997764825821E-003 0.23325041796957779 0.13055297503060748 5.8026373362592976E-003 2.2751710624751853 0.85773599575914472 0.66785125540585577 0.45171674825892477 7.8159702944552549
+100.00000000000000 0.10000000149011612 0.54876224626778880 0.26966523370480699 9.9482991759414496E-003 0.38452830103674002 0.11219395400271670 6.4546280649175974E-002 3.7235679240061367E-002 0.85050941174246941
+100.00000000000000 0.30000001192092896 0.34471948071698921 0.12771691243884670 2.9023583010310411E-003 3.4706302367684488E-002 8.8421516234970798E-003 4.0494869937152305E-003 2.1095366724836377E-003 7.8670879595322485E-002
+100.00000000000000 0.50000000000000000 0.11798332522173474 3.0614882396224397E-002 3.4653453707869653E-004 2.3789026188146267E-003 5.6437911025039589E-004 2.4370445654533129E-004 1.2143741729648332E-004 7.6252377658908802E-003
+100.00000000000000 0.69999998807907104 1.9335258208711750E-002 2.9654162859667713E-003 9.2472981895849911E-006 6.2099729899575164E-005 1.2547993459133440E-005 5.9901839481851958E-006 2.9753630128970659E-006 3.7045718185717042E-004
+100.00000000000000 0.89999997615814209 3.3147739644216485E-004 1.6782246942351756E-005 -6.3381976474948258E-008 1.8337182947902593E-007 6.2892149593134043E-009 8.4762662339625766E-009 3.5329951715181600E-009 1.1753186019762529E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pggdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pggdn.dat
new file mode 100644
index 000000000..1e6e011af
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pggdn.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535463083E-004 6.7095969778385722E-005 2.4726524152640650E-006 30.130091720291965 -9.9200779164476671E-006 13.991934115958085 13.273250209375313 262.62658092160382
+100.00000000000000 9.9999999747524271E-007 5.8593489566849399E-004 3.3362104220913125E-004 1.2769432279569060E-005 24.502765935576303 -1.9932355789009648E-005 11.399071808642457 10.829692036883110 209.59424632342240
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711240570078E-005 18.160106290181822 1.3958046515938349E-005 8.4035533655266530 7.9521070728890431 139.50665137534662
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 11.504025477876056 2.0204489312991569E-004 5.2172376375423672 4.8600468237344394 74.772614304330105
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326125680E-003 5.9925882667223611 3.7151728077455815E-004 2.5829104009943071 2.3059224970262973 30.707000385268461
+100.00000000000000 9.9999997764825821E-003 0.23129387239244981 0.12959293689263918 5.7459437264704150E-003 2.3442763841491931 -2.3232841334297483E-004 0.89091993909601541 0.70213860390909399 8.4706715523523819
+100.00000000000000 0.10000000149011612 0.55129941091724699 0.27139587989278036 1.0090783545018550E-002 0.38991766562674796 -3.2809103802766693E-004 0.11394199199623328 5.9875949063416437E-002 0.90592833227601133
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720270E-003 3.5369014948009730E-002 -3.8291437784027105E-005 9.0716527518946710E-003 3.3310289159428318E-003 8.4334309217147227E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833835332E-004 2.3999032871706225E-003 -3.2066872539954216E-006 5.8949536144251719E-004 1.8146250128622341E-004 8.1800249506371776E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751640273E-005 5.2540015030036469E-005 -1.1071468452791833E-007 1.2596276551188335E-005 3.1731829607311330E-006 3.8944363400633024E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877047869E-008 -1.9338552176176131E-009 -1.3943667192552710E-010 1.0346636516306296E-009 -3.2069453980887539E-009 1.1783687485022295E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pggup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pggup.dat
new file mode 100644
index 000000000..6d9c4b627
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pggup.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524152640650E-006 97.023537050267777 -9.9200779146713103E-006 47.438656780945990 46.719968805455338 825.14636225167715
+100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 49.172630907207761 -1.9932355787233291E-005 23.734004294458185 23.164621871717419 405.00730603900689
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711240570078E-005 25.115621642104458 1.3958046515938349E-005 11.881311041487971 11.429863395810086 191.50070421779952
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 12.627166724783091 2.0204489312991569E-004 5.7788082609958851 5.4216170531326338 83.032203533452162
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326116798E-003 5.9687822753293922 3.7151728077455815E-004 2.5710074052978236 2.2940194854484561 30.666161382353536
+100.00000000000000 9.9999997764825821E-003 0.23129387239244970 0.12959293689263929 5.7459437264704150E-003 2.3235742008223270 -2.3232841334297483E-004 0.88056884743258235 0.69178751990503362 8.3068887546122561
+100.00000000000000 0.10000000149011612 0.55129941091724699 0.27139587989278036 1.0090783545018550E-002 0.39003960115108954 -3.2809103802766693E-004 0.11400295975840408 5.9936916773563866E-002 0.90690733492233466
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720131E-003 3.5366600633160217E-002 -3.8291437784027105E-005 9.0704455944699003E-003 3.3298217597688244E-003 8.4310799683037341E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833835678E-004 2.3999431461527165E-003 -3.2066872539954216E-006 5.8951529093356769E-004 1.8148243076135682E-004 8.1791685956665514E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751638972E-005 5.2544882917245246E-005 -1.1071468452791833E-007 1.2598710494793157E-005 3.1756169010814311E-006 3.8964310123194498E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877047869E-008 -1.9342395913570475E-009 -1.3943667192552710E-010 1.0344714647609124E-009 -3.2071375854096240E-009 1.1788363109009881E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqdn.dat
new file mode 100644
index 000000000..4fa0e57d1
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqdn.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524152640650E-006 51.765901270673879 -9.9200779182240240E-006 24.809838891149042 24.091153727252092 452.88961136560920
+100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432279569060E-005 32.529930571647853 -1.9932355789009648E-005 15.412654126678230 14.843273565533545 275.85699472895311
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 20.130899017860777 1.3958046515938349E-005 9.3889497293661321 8.9375031129079829 155.27080062356600
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 11.643609071895568 2.0204489312991569E-004 5.2870294345521236 4.9298385792582327 76.172730396359711
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326125680E-003 5.9365811561853761 3.7151728077455815E-004 2.5549068457258146 2.2779189558428516 30.335647623679627
+100.00000000000000 9.9999997764825821E-003 0.23129387239244981 0.12959293689263918 5.7459437264704150E-003 2.3439243896527771 -2.3232841334297483E-004 0.89074394184780736 0.70196260671811017 8.4484573041637336
+100.00000000000000 0.10000000149011612 0.55129941091724710 0.27139587989278036 1.0090783545018522E-002 0.38992328604124638 -3.2809103802766693E-004 0.11394480220348246 5.9878759256519733E-002 0.90684112821593588
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720131E-003 3.5369045168559654E-002 -3.8291437784027105E-005 9.0716678621696190E-003 3.3310440267562309E-003 8.4278475634615338E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833835678E-004 2.4002561954219459E-003 -3.2066872539954216E-006 5.8967181556818238E-004 1.8163895519389395E-004 8.1917268769347608E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751638972E-005 5.2490760190653137E-005 -1.1071468452791833E-007 1.2571649131497102E-005 3.1485555682346099E-006 3.8830962026461862E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877007211E-008 -1.9430533603804773E-009 -1.3943667192552710E-010 1.0300645802627500E-009 -3.2115444216169554E-009 1.1553669026378221E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqup.dat
new file mode 100644
index 000000000..01d1293ac
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqup.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524117113513E-006 102.21910930411154 -9.9200779146713103E-006 50.036442907867880 49.317754525690397 864.43546032854169
+100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 51.369668520197578 -1.9932355787233291E-005 24.832523100953093 24.263140396575423 420.87282207926097
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 25.937165492268313 1.3958046515938349E-005 12.292082966569900 11.840635133496122 197.07223581991354
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 12.857670811517131 2.0204489312991569E-004 5.8940603043629052 5.5368690127962319 84.528369212610727
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326125680E-003 5.9928101939897260 3.7151728077455815E-004 2.5830213646279896 2.3060334327170766 30.856756165612449
+100.00000000000000 9.9999997764825821E-003 0.23129387239244970 0.12959293689263929 5.7459437264704150E-003 2.3181710979099983 -2.3232841334297483E-004 0.87786729597641799 0.68908597048886011 8.2748224552856797
+100.00000000000000 0.10000000149011612 0.55129941091724710 0.27139587989278036 1.0090783545018522E-002 0.39006947340172105 -3.2809103802766693E-004 0.11401789588371980 5.9951852892607738E-002 0.90666846734867923
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720270E-003 3.5365930548102692E-002 -3.8291437784027105E-005 9.0701105519411518E-003 3.3294867172809781E-003 8.4335220524088234E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833835332E-004 2.3997593517089619E-003 -3.2066872539954216E-006 5.8942339371168689E-004 1.8139053365523797E-004 8.1724850395316576E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751637671E-005 5.2573357787475197E-005 -1.1071468452791833E-007 1.2612947929908566E-005 3.1898543202943338E-006 3.9032231827166452E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877047869E-008 -1.9292716245638934E-009 -1.3943667192552710E-010 1.0369554481574894E-009 -3.2046536282307222E-009 1.1916459382023864E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgdn.dat
new file mode 100644
index 000000000..5dc758f57
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgdn.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524117113513E-006 80.063668092992813 -9.9200779146713103E-006 38.958722302308516 38.241168659126764 707.22039801310052
+100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 42.732159327574223 -1.9932355787233291E-005 20.513768504641416 19.945043246276505 365.55495085765449
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711240570078E-005 23.137074543875329 1.3958046515938349E-005 10.892037492373406 10.440918180383436 181.27012988022375
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 12.231733801858159 2.0204489312991569E-004 5.5810917995334188 5.2240222163912815 81.440759611115311
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326125680E-003 5.9554713577252265 3.7151728077455815E-004 2.5643519464957398 2.2873833871489611 30.679654429351039
+100.00000000000000 9.9999997764825821E-003 0.23129387239244970 0.12959293689263929 5.7459437264704150E-003 2.3317051183783515 -2.3232841334297483E-004 0.88463430621059458 0.69584990202232888 8.3385801727036721
+100.00000000000000 0.10000000149011612 0.55129941091724710 0.27139587989278036 1.0090783545018606E-002 0.39000745725026881 -3.2809103802766693E-004 0.11398688780799365 5.9920847702822452E-002 0.90672228733941251
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720408E-003 3.5368311902369720E-002 -3.8291437784027105E-005 9.0713012290746797E-003 3.3306762820524399E-003 8.4315301025896905E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833836025E-004 2.4002118016571497E-003 -3.2066872539954216E-006 5.8964961868578775E-004 1.8161645740590331E-004 8.1793259389636528E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751638972E-005 5.2520425624831731E-005 -1.1071468452791833E-007 1.2586481848586399E-005 3.1634141558502388E-006 3.8960638968312607E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877088526E-008 -2.0657468447133395E-009 -1.3943667192552710E-010 9.6871783806921387E-010 -3.2727883782264330E-009 1.1787510235724900E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgup.dat
new file mode 100644
index 000000000..1eb99ce04
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgup.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524223694923E-006 101.74119285098439 -9.9200779146713103E-006 49.797484681304283 49.074064881273316 760.40242851177118
+100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 52.786591928666581 -1.9932355787233291E-005 25.540984805187595 24.968861320555895 384.97817940769039
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 26.954715855202060 1.3958046515938349E-005 12.800858148036772 12.348041034529231 186.26185534325910
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 13.238168193220183 2.0204489312991569E-004 6.0843089952144318 5.7266103946661939 82.062762761726106
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326125680E-003 6.0452000268995754 3.7151728077455815E-004 2.6092162810829143 2.3321475494031914 30.636251506371472
+100.00000000000000 9.9999997764825821E-003 0.23129387239244981 0.12959293689263918 5.7459437264701929E-003 2.3090365402770048 -2.3232841334297483E-004 0.87330001715992145 0.68453152697532271 8.3280045730772372
+100.00000000000000 0.10000000149011612 0.55129941091724699 0.27139587989278036 1.0090783545018550E-002 0.39005950668612005 -3.2809103802766693E-004 0.11401291252591933 5.9946857567712473E-002 0.90676126548646940
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720270E-003 3.5361717379429641E-002 -3.8291437784027105E-005 9.0680039676046265E-003 3.3273847754749161E-003 8.4314011202071867E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833835332E-004 2.3987842682842361E-003 -3.2066872539954216E-006 5.8893585199932402E-004 1.8090424891402572E-004 8.1793160759448969E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751638972E-005 5.2642423146985647E-005 -1.1071468452791833E-007 1.2647480609663357E-005 3.2242788868906675E-006 3.8960934169986509E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877047869E-008 -1.3848589973885182E-009 -1.3943667192552710E-010 1.3091617617451770E-009 -2.9328766008710171E-009 1.1787539261749301E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSdn.dat
new file mode 100644
index 000000000..b197d3c2b
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSdn.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524223694923E-006 79.778249418273305 -9.9200779146713103E-006 38.816012964948740 38.098919721113589 701.89344080422757
+100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 42.172664176586395 -1.9932355787233291E-005 20.234020929147501 19.665687953107124 362.19963941731726
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 22.669227657304681 1.3958046515938349E-005 10.658114049088084 10.207300016840069 179.80169396984240
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 11.968412068549313 2.0204489312991569E-004 5.4494309328789958 5.0925588154523638 81.054402742264500
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326123459E-003 5.8694389064086483 3.7151728077455815E-004 2.5213357208374507 2.2444439983399485 30.656552149183405
+100.00000000000000 9.9999997764825821E-003 0.23129387239244970 0.12959293689263929 5.7459437264704150E-003 2.3347295601058335 -2.3232841334297483E-004 0.88614652707433561 0.69736015278439201 8.3464870824568038
+100.00000000000000 0.10000000149011612 0.55129941091724688 0.27139587989278036 1.0090783545018606E-002 0.39047624824740162 -3.2809103802766693E-004 0.11422128330656006 6.0154804437672342E-002 0.90666866144545777
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720270E-003 3.5336487240848619E-002 -3.8291437784027105E-005 9.0553888983141151E-003 3.3147936064357483E-003 8.4316367273392118E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833835332E-004 2.4065186067294894E-003 -3.2066872539954216E-006 5.9280302122195067E-004 1.8476404333346805E-004 8.1794308404133861E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751638972E-005 5.1884573176748557E-005 -1.1071468452791833E-007 1.2268555624544812E-005 2.8460742105612711E-006 3.8958573294103899E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877007211E-008 -1.1830339194195518E-008 -1.3943667192552710E-010 -3.9135783366447702E-009 -8.1459928660185354E-009 1.1787062578642842E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSup.dat
new file mode 100644
index 000000000..d987cbedd
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSup.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524117113513E-006 92.788086150245633 -9.9200779146713103E-006 45.320931330934926 44.599489959745455 745.44540497551191
+100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 49.230086711347354 -1.9932355787233291E-005 23.762732196527981 23.191538122626504 381.70459364423681
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 25.982111330651840 1.3958046515938349E-005 12.314555885761662 11.862014448311825 186.41777990367567
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 13.208039663422490 2.0204489312991569E-004 6.0692447303155852 5.7115025715750996 82.430391880624228
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326123459E-003 6.1506522130428909 3.7151728077455815E-004 2.6619423741545720 2.3847883040992772 30.697097458168415
+100.00000000000000 9.9999997764825821E-003 0.23129387239244981 0.12959293689263918 5.7459437264701929E-003 2.3146450209895106 -2.3232841334297483E-004 0.87610425751617438 0.68733164319609397 8.3193510386020275
+100.00000000000000 0.10000000149011612 0.55129941091724699 0.27139587989278036 1.0090783545018550E-002 0.38922616366269519 -3.2809103802766693E-004 0.11359624101420690 5.9530950944380601E-002 0.90683549926789775
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720408E-003 3.5419810156175069E-002 -3.8291437784027105E-005 9.0970503559773541E-003 3.3563772194132231E-003 8.4312780611984550E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833836025E-004 2.3885647548213887E-003 -3.2066872539954216E-006 5.8382609526790724E-004 1.7580380206939689E-004 8.1791394824063390E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751637671E-005 5.3683094507478782E-005 -1.1071468452791833E-007 1.3167816289910358E-005 3.7436652963865271E-006 3.8964362876353457E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877088526E-008 1.5160241427378479E-008 -1.3943667192552710E-010 9.5817119741151233E-009 5.3242214777916313E-009 1.1788298795525824E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_central.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_central.dat
new file mode 100644
index 000000000..1b08c94f5
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_central.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524117113513E-006 84.227223469181681 -9.9200779146713103E-006 41.040499990402949 40.321812752072155 717.48846166966052
+100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 44.673642589815209 -1.9932355787233291E-005 21.484510135761909 20.915128193135750 369.30958225835752
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 23.875532301487887 1.3958046515938349E-005 11.261266371179685 10.809818970517480 182.23512408895266
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 12.426304586167287 2.0204489312991569E-004 5.6783771916879830 5.3211860551821193 81.560954465728912
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326116798E-003 5.9728011909394709 3.7151728077455815E-004 2.5730168631028629 2.2960289461296037 30.671264397444180
+100.00000000000000 9.9999997764825821E-003 0.23129387239244970 0.12959293689263929 5.7459437264704150E-003 2.3273245605774906 -2.3232841334297483E-004 0.88244402731016414 0.69366269839557904 8.3365365219385517
+100.00000000000000 0.10000000149011612 0.55129941091724710 0.27139587989278036 1.0090783545018522E-002 0.39001751523166395 -3.2809103802766693E-004 0.11399191679869125 5.9925873823271747E-002 0.90672981963135046
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720270E-003 3.5367037540934759E-002 -3.8291437784027105E-005 9.0706640483571854E-003 3.3300402134296457E-003 8.4315051775642802E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833836025E-004 2.3999359411573731E-003 -3.2066872539954216E-006 5.8951168843589946E-004 1.8147882826658450E-004 8.1793240330170873E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751637671E-005 5.2544000791391113E-005 -1.1071468452791833E-007 1.2598269431866524E-005 3.1751758387458006E-006 3.8960696013981338E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877088526E-008 -1.9341699468986614E-009 -1.3943667192552710E-010 1.0345062869765529E-009 -3.2071027630941763E-009 1.1787515844805535E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pggdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pggdn.dat
new file mode 100644
index 000000000..60428c74c
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pggdn.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050546430E-004 7.0312196807087446E-005 2.6923454568006377E-006 30.907181864716101 14.382593845018453 12.792099029988638 12.131240629690378 249.00292934818845
+100.00000000000000 9.9999999747524271E-007 6.1134637642812351E-004 3.4761614958167542E-004 1.3704719687090972E-005 25.326520707902432 11.812634017155208 10.652171093238483 10.272193107524609 203.83716225450382
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892053855901E-005 18.832942962682260 8.7413349766296413 7.9214206564807750 7.3452885147359446 137.15581442030626
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510790709E-004 11.883500350842965 5.4081520791921447 4.8558771609031250 4.1830154007201257 73.521945675600961
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519307395E-003 6.1236771298260058 2.6496584614897660 2.3029946798845340 1.7802243734121914 29.951218595720732
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044617237E-003 2.3562770334225291 0.89842295597497046 0.70850993092661507 0.47431724194544733 8.1354729917594213
+100.00000000000000 0.10000000149011612 0.54899512824833208 0.26977991289473013 1.0013806809519660E-002 0.38439276768081959 0.11231433511217431 6.4660347144720631E-002 3.7202897555608461E-002 0.85058966046095463
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575917E-003 3.4458482723781048E-002 8.8300554091268468E-003 4.0325348716419834E-003 2.1061274147253558E-003 7.8591024025354006E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046623E-002 3.6736405235944167E-004 2.3176900595297187E-003 5.6930882275511158E-004 2.4691314319330159E-004 1.2235601420128777E-004 7.6484368668090453E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070855790E-005 5.0136929921174023E-005 1.2033115619737578E-005 5.1585795634028257E-006 2.7443691193485852E-006 3.6749790383886117E-004
+100.00000000000000 0.89999997615814209 3.3161864574148209E-004 1.6789394846615220E-005 1.5756853335740140E-008 -3.6335271865552176E-009 4.7885163245904323E-010 -3.3150383437450600E-009 4.9039041421829549E-010 1.1245053779783897E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pggup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pggup.dat
new file mode 100644
index 000000000..033f0f857
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pggup.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050724066E-004 7.0312196807975624E-005 2.6923454576888162E-006 103.39580308699132 50.626904456156055 49.034800109821347 43.576744705054622 831.07242650098806
+100.00000000000000 9.9999999747524271E-007 6.1134637642723533E-004 3.4761614958256359E-004 1.3704719684426436E-005 51.763978798064642 25.031363062236316 23.870529978788120 21.365972124431515 404.10794039837049
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892055632258E-005 26.174174537844948 12.411950764210983 11.592101324589517 10.292401317063792 189.67948995926585
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510790709E-004 13.038861319647509 5.9858325635944167 5.4336504757323070 4.6200212855397389 81.655989490089709
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519311836E-003 6.0942093417013563 2.6349245674274409 2.2882811050983340 1.7663560012901014 29.874419661125369
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044615016E-003 2.3351349698029669 0.88785192416518999 0.69793612100931490 0.46627467740316364 7.9750440009373280
+100.00000000000000 0.10000000149011612 0.54899512824833230 0.26977991289473013 1.0013806809519576E-002 0.38451533549208472 0.11237561901780690 6.4721653796685569E-002 3.7248455206484725E-002 0.85153839461082748
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575917E-003 3.4456089630215070E-002 8.8288588623438580E-003 4.0313375018657784E-003 2.1052396284312511E-003 7.8568592157175141E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046620E-002 3.6736405235943126E-004 2.3177305604862863E-003 5.6932907323339887E-004 2.4693333536925197E-004 1.2236480584566718E-004 7.6476425443054606E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070857092E-005 5.0141616402664228E-005 1.2035458860482247E-005 5.1609335096953178E-006 2.7468653229214915E-006 3.6768512453083191E-004
+100.00000000000000 0.89999997615814209 3.3161864574148198E-004 1.6789394846615220E-005 1.5756853335719811E-008 -3.6339952924017288E-009 4.7861757954256387E-010 -3.3152585763972395E-009 4.9194346107511308E-010 1.1249618513911385E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pgqdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pgqdn.dat
new file mode 100644
index 000000000..e9e5fa3ab
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pgqdn.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050546430E-004 7.0312196806199267E-005 2.6923454559124593E-006 55.105612188915103 26.481809007117956 24.890979505544465 22.760281789216666 449.96641119673427
+100.00000000000000 9.9999999747524271E-007 6.1134637642723533E-004 3.4761614958256359E-004 1.3704719684426436E-005 34.079560974363886 16.189154150385939 15.028670564708214 13.981782496750888 272.36133206067552
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892053855901E-005 20.916653557495486 9.7831902740362544 8.9633283129732888 8.1925899227277235 153.00738297102765
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510701891E-004 12.015630558732834 5.4742171831370801 4.9219671814229393 4.2337341912564677 74.817808345107096
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519307395E-003 6.0635173079066069 2.6195785505300666 2.2729136149276532 1.7566344055367002 29.565312877541736
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044617237E-003 2.3562045299261118 0.89838670422676181 0.70847284098755803 0.47421887016923536 8.1157491083962991
+100.00000000000000 0.10000000149011612 0.54899512824833208 0.26977991289473013 1.0013806809519660E-002 0.38439429263574548 0.11231509758963726 6.4661154207983906E-002 3.7205989559258711E-002 0.85145113746215717
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575917E-003 3.4458653076595347E-002 8.8301405855339965E-003 4.0326173088033688E-003 2.1059802568734777E-003 7.8537968632124366E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046623E-002 3.6736405235944167E-004 2.3180342477798418E-003 5.6948091688017316E-004 2.4708573054700155E-004 1.2252052624390537E-004 7.6597565483546319E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070857092E-005 5.0088095864662778E-005 1.2008698591481522E-005 5.1341165457235236E-006 2.7230866858547199E-006 3.6639525875231617E-004
+100.00000000000000 0.89999997615814209 3.3161864574148204E-004 1.6789394846615220E-005 1.5756853335740140E-008 -3.6362099579864389E-009 4.7751024674343254E-010 -3.3173243077869799E-009 3.9560556932068977E-010 1.1024225429207304E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pgqup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pgqup.dat
new file mode 100644
index 000000000..4c1e66d59
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pgqup.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050724066E-004 7.0312196807975624E-005 2.6923454576888162E-006 108.62568216796231 53.241843996641556 51.649488762736091 45.789292199091221 869.61465565125479
+100.00000000000000 9.9999999747524271E-007 6.1134637642723533E-004 3.4761614958256359E-004 1.3704719684426436E-005 54.040706532430995 26.169726929419493 25.008805080016860 22.303804575836985 420.07695137272299
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892055632258E-005 27.040206897641028 12.844966944109023 12.025106178100602 10.634755946330834 195.35494905408990
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510790709E-004 13.282312825988516 6.1075583167649192 5.5553875985208414 4.7118107011197550 83.175202952077058
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519307395E-003 6.1189686023154968 2.6473041977345115 2.3006668672255102 1.7754291246239824 30.063244761212985
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044617237E-003 2.3294590414521252 0.88501395998976873 0.69509786764470882 0.46415453853634231 7.9425143042960107
+100.00000000000000 0.10000000149011612 0.54899512824833230 0.26977991289473013 1.0013806809519576E-002 0.38454763757496169 0.11239177005924539 6.4737786405331149E-002 3.7259068189914396E-002 0.85131965863668480
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575917E-003 3.4455348014135190E-002 8.8284880543039179E-003 4.0309679816642168E-003 2.1050804689819146E-003 7.8591772830840068E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046623E-002 3.6736405235944167E-004 2.3175517476589289E-003 5.6923966681971666E-004 2.4684364122004295E-004 1.2227648051677480E-004 7.6411865087885784E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070855790E-005 5.0169810202102538E-005 1.2049555760201835E-005 5.1750586634937172E-006 2.7592751726482184E-006 3.6834373431284667E-004
+100.00000000000000 0.89999997615814209 3.3161864574148204E-004 1.6789394846615220E-005 1.5756853335753692E-008 -3.6326425351264997E-009 4.7929395818695469E-010 -3.3140576177354928E-009 5.4462769197390581E-010 1.1372617397528540E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pqgdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pqgdn.dat
new file mode 100644
index 000000000..e3b4f415f
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pqgdn.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050724066E-004 7.0312196807975624E-005 2.6923454576888162E-006 84.916072134766779 41.387038980043783 39.796414477097159 36.118200552800516 708.48165963219412
+100.00000000000000 9.9999999747524271E-007 6.1134637642723533E-004 3.4761614958256359E-004 1.3704719684426436E-005 44.827135575688970 21.562941451048481 20.402854305902991 18.761618758297249 363.50978637277478
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892053855901E-005 24.074329059990141 11.362028025283582 10.542501431154298 9.5878839477981259 179.30421618961532
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510790709E-004 12.628301717458843 5.7805527625000828 5.2284762251474959 4.5077625086081294 80.083377265016821
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519307395E-003 6.0820111776058061 2.6288254853796662 2.2821975113840467 1.7678610365370222 29.895112917039832
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044617237E-003 2.3435279540461540 0.89204841628678311 0.70213002552705839 0.46842430212809144 8.0061994192672934
+100.00000000000000 0.10000000149011612 0.54899512824833208 0.26977991289473013 1.0013806809519660E-002 0.38448190607154514 0.11235890430753709 6.4704938593642194E-002 3.7238076335139772E-002 0.85135868006282478
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575917E-003 3.4457838841525978E-002 8.8297334679993122E-003 4.0322111274102481E-003 2.1055542766165941E-003 7.8572903080724371E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046620E-002 3.6736405235945208E-004 2.3179950469188054E-003 5.6946131644965148E-004 2.4706529822526456E-004 1.2238870095838131E-004 7.6477887200205284E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070855790E-005 5.0117456162332430E-005 1.2023378740316781E-005 5.1488765911221306E-006 2.7442515498163530E-006 3.6765061840290442E-004
+100.00000000000000 0.89999997615814209 3.3161864574148198E-004 1.6789394846615220E-005 1.5756853335740140E-008 -3.7648411742335257E-009 4.1319463861988915E-010 -3.3805867446640903E-009 4.7494614325336367E-010 1.1248785325992863E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pqgup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pqgup.dat
new file mode 100644
index 000000000..a23de0882
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_Pqgup.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050724066E-004 7.0312196807975624E-005 2.6923454576888162E-006 108.95771890640779 53.407862365864290 51.811087828289331 43.692113048285663 766.34357983478185
+100.00000000000000 9.9999999747524271E-007 6.1134637642723533E-004 3.4761614958256359E-004 1.3704719684426436E-005 55.800996046877174 27.049871686642582 25.886271167265662 21.787709484451767 384.40733751921408
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892052079545E-005 28.167693025077511 13.408710007827269 12.587451934650719 10.517707966974221 184.59812479236388
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510790709E-004 13.683306972126577 6.3080553898339495 5.7553456611010896 4.6846170147158190 80.726475162112038
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519311836E-003 6.1711810299061174 2.6734104115298214 2.3266832466805512 1.7724080930901223 29.847636941439294
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044615016E-003 2.3199164515347785 0.88024266503109583 0.69034026803742488 0.46484029695962970 7.9952638882968463
+100.00000000000000 0.10000000149011612 0.54899512824833208 0.26977991289473013 1.0013806809519576E-002 0.38454001726682385 0.11238795990517647 6.4733975425378606E-002 3.7249081033408987E-002 0.85139847573406735
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575778E-003 3.4451028080803775E-002 8.8263280876381967E-003 4.0288115901838707E-003 2.1047573276760552E-003 7.8571589253951954E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046623E-002 3.6736405235944167E-004 2.3165884855164895E-003 5.6875803574849698E-004 2.4636352297492095E-004 1.2225683994678978E-004 7.6477784552355585E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070855790E-005 5.0238086521367520E-005 1.2083693919834326E-005 5.2090616741451377E-006 2.7554366581365787E-006 3.6765363790103929E-004
+100.00000000000000 0.89999997615814209 3.3161864574148198E-004 1.6789394846615220E-005 1.5756853335740140E-008 -3.0872972335761100E-009 7.5196660894859702E-010 -3.0423181567093746E-009 5.6144795113331739E-010 1.1248816473082889E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_PqqPSdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_PqqPSdn.dat
new file mode 100644
index 000000000..d08c03242
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_PqqPSdn.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050724066E-004 7.0312196807975624E-005 2.6923454576888162E-006 84.656841948886949 41.257423887103869 39.667309072463489 36.030312934150089 703.33520443499242
+100.00000000000000 9.9999999747524271E-007 6.1134637642723533E-004 3.4761614958256359E-004 1.3704719684426436E-005 44.220396584404035 21.259571955406013 20.099905282400194 18.583320290604476 360.06525533625722
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892055632258E-005 23.563792980204440 11.106759985390729 10.287551431272572 9.4655774079719883 177.76526781495127
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510790709E-004 12.345088158314923 5.6389459829281234 5.0870704672955798 4.4570057925887117 79.676665933371964
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519311836E-003 5.9916794917472878 2.5836596424504075 2.2371084856044421 1.7566142632890762 29.870944657894789
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044615016E-003 2.3469874435211118 0.89377816102426244 0.70385763587035555 0.46914774459559261 8.0144856843396415
+100.00000000000000 0.10000000149011612 0.54899512824833219 0.26977991289473013 1.0013806809519632E-002 0.38495420134037850 0.11259505194195374 6.4940660709106618E-002 3.7291371525605140E-002 0.85130263851040366
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575778E-003 3.4425908671146338E-002 8.8137683828094782E-003 4.0162746669752782E-003 2.1018704968755408E-003 7.8574018348270297E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046620E-002 3.6736405235945208E-004 2.3243837492303160E-003 5.7265566760540676E-004 2.5025399446166425E-004 1.2314008492729612E-004 7.6478988964267507E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070857092E-005 4.9470031682675823E-005 1.1699666500488044E-005 4.8257372271457996E-006 2.6679926718427968E-006 3.6762897482538426E-004
+100.00000000000000 0.89999997615814209 3.3161864574148209E-004 1.6789394846615220E-005 1.5756853335740140E-008 -1.3403798423573397E-008 -4.4062839860500467E-009 -8.1914440457081259E-009 -6.4862458420307252E-010 1.1248315382355055E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_PqqPSup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_PqqPSup.dat
new file mode 100644
index 000000000..ef1c1d246
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_PqqPSup.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050724066E-004 7.0312196807975624E-005 2.6923454576888162E-006 98.948936675673792 48.403471250497290 46.808724251535963 40.487191832101928 748.99691917952919
+100.00000000000000 9.9999999747524271E-007 6.1134637642723533E-004 3.4761614958256359E-004 1.3704719684426436E-005 51.919345155849470 25.109046241128731 23.946380899475116 20.722737178645449 380.60758359567149
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892052079545E-005 27.140490248749501 12.895108619663263 12.074120110989611 10.294003045794208 184.73037700848442
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510790709E-004 13.663443763335039 6.2981237854381815 5.7453663306801825 4.6863810067901701 81.118523165834517
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519311836E-003 6.2842744689334182 2.7299571310434727 2.3831441976132250 1.7895396748308574 29.912305528107225
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044615016E-003 2.3252294527589044 0.88289916564315873 0.69299289056764624 0.46531110740338161 7.9861256705550829
+100.00000000000000 0.10000000149011612 0.54899512824833230 0.26977991289473013 1.0013806809519576E-002 0.38369784465384038 0.11196687359868474 6.4313632980640106E-002 3.7152051032786654E-002 0.85147650173131828
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575778E-003 3.4509406090890232E-002 8.8555170926814253E-003 4.0579483888179627E-003 2.1114981242672482E-003 7.8570285497437053E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046620E-002 3.6736405235945208E-004 2.3062174786055295E-003 5.6357253229301352E-004 2.4118707507128309E-004 1.2102110056050679E-004 7.6475929308645590E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070857092E-005 5.1299400571021107E-005 1.2614350944660686E-005 5.7387907181993098E-006 2.8818852766750398E-006 3.6768959809422490E-004
+100.00000000000000 0.89999997615814209 3.3161864574148198E-004 1.6789394846615220E-005 1.5756853335740140E-008 1.3242426837639025E-008 8.9168286445561644E-009 5.1078905867112144E-009 2.4614740894610021E-009 1.1249613504253050E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_central.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_central.dat
new file mode 100644
index 000000000..3bf160970
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_VFNS/N3LO_MSHTposterior_VFNS_central.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050724066E-004 7.0312196807975624E-005 2.6923454576888162E-006 89.532916318306377 43.695461071813583 42.103648116255883 37.571717182867467 719.65226769242167
+100.00000000000000 9.9999999747524271E-007 6.1134637642723533E-004 3.4761614958256359E-004 1.3704719684426436E-005 46.946247790133924 22.622497558270958 21.461731477298102 19.346055031354020 367.54965747837349
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892055632258E-005 24.866183113477575 11.757955052027297 10.938093861270751 9.7678721270081326 180.32768905022056
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510701891E-004 12.832266612080527 5.8825352098109267 5.3303363125022702 4.5419676224689862 80.207647167504859
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519311836E-003 6.0992317473198590 2.6374357702366931 2.2907886282788117 1.7687359365074771 29.885935210616971
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044615016E-003 2.3389651846748496 0.88976703160113135 0.69985173152863056 0.46773171854006401 8.0040862168255096
+100.00000000000000 0.10000000149011612 0.54899512824833208 0.26977991289473013 1.0013806809519660E-002 0.38449313544000957 0.11236451899176930 6.4710549651490368E-002 3.7240202861932102E-002 0.85136637034164875
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575778E-003 3.4456522692361741E-002 8.8290753934171795E-003 4.0315541819745636E-003 2.1054002667690664E-003 7.8572649191962482E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046620E-002 3.6736405235943126E-004 2.3177232391634606E-003 5.6932541257198599E-004 2.4692968526563781E-004 1.2236321992971469E-004 7.6477867364383497E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070855790E-005 5.0140767131688635E-005 1.2035034224994884E-005 5.1605069355263643E-006 2.7464129867209241E-006 3.6765120189979710E-004
+100.00000000000000 0.89999997615814209 3.3161864574148204E-004 1.6789394846615220E-005 1.5756853335753692E-008 -3.6339104709696242E-009 4.7865999026539246E-010 -3.3152186686447052E-009 4.9166200684504856E-010 1.1248791344954452E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggdn.dat
new file mode 100644
index 000000000..18011f195
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggdn.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535463083E-004 6.7095969778385722E-005 2.4726524134877081E-006 27.037663359073420 -9.9200779164476671E-006 12.445719935348814 11.724529245104392 195.45637455639988
+100.00000000000000 9.9999999747524271E-007 5.8593489566849399E-004 3.3362104220913125E-004 1.2769432279569060E-005 24.433001902191801 -1.9932355789009648E-005 11.364189791950206 10.793225193441293 186.19936348000047
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711240570078E-005 18.891900563195556 1.3958046515938349E-005 8.7694505020335196 8.3170969721232630 134.19912277274810
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 12.009656697309520 2.0204489312991569E-004 5.4700532472590995 5.1124372034159027 74.394847536360430
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326125680E-003 6.1332077631366140 3.7151728077455815E-004 2.6532201492014336 2.3761165881936011 30.838798676458214
+100.00000000000000 9.9999997764825821E-003 0.23129387239244981 0.12959293689263918 5.7459437264704150E-003 2.3347880377463692 -2.3232841334297483E-004 0.88617576589460345 0.69740199432959193 8.4763395131205090
+100.00000000000000 0.10000000149011612 0.55129941091724710 0.27139587989278036 1.0090783545018522E-002 0.38943110803164782 -3.2809103802766693E-004 0.11369871319868319 5.9633128464951973E-002 0.90564692696870341
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720131E-003 3.5400496394717984E-002 -3.8291437784027105E-005 9.0873934752487839E-003 3.3467403079830522E-003 8.4351792336684966E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833835332E-004 2.3926384467620396E-003 -3.2066872539954216E-006 5.8586294123822574E-004 1.7783676010968094E-004 8.1763031046230127E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751640273E-005 5.3268580472227989E-005 -1.1071468452791833E-007 1.2960559272284095E-005 3.5368004100061539E-006 3.8980839423953767E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877007211E-008 8.6162496998061066E-009 -1.3943667192552710E-010 6.3097161103560419E-009 2.0583233534905585E-009 1.1855801972630242E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggup.dat
new file mode 100644
index 000000000..c61da3c65
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggup.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524152640650E-006 79.048963345116789 -9.9200779146713103E-006 38.451369928370497 37.730175458064934 627.63998118875850
+100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 44.212441762119020 -1.9932355787233291E-005 21.253909721913814 20.682942883592233 342.03345852126694
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711240570078E-005 24.524203815547949 1.3958046515938349E-005 11.585602128209716 11.133247511813883 176.39071351403481
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 12.912775972803182 2.0204489312991569E-004 5.9216128850059304 5.5639965304296091 81.083543132866183
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326125680E-003 6.1133432941856185 3.7151728077455815E-004 2.6432879147259358 2.3661843409626657 30.797877965072306
+100.00000000000000 9.9999997764825821E-003 0.23129387239244981 0.12959293689263918 5.7459437264704150E-003 2.3182192389801406 -2.3232841334297483E-004 0.87789136651148914 0.68911760106051578 8.3451721494506312
+100.00000000000000 0.10000000149011612 0.55129941091724688 0.27139587989278036 1.0090783545018606E-002 0.38952893589846821 -3.2809103802766693E-004 0.11374762713209335 5.9682042356475534E-002 0.90643157446000111
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720270E-003 3.5398562465015965E-002 -3.8291437784027105E-005 9.0864265103977881E-003 3.3457733441312120E-003 8.4332928806617996E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833835678E-004 2.3926702572611980E-003 -3.2066872539954216E-006 5.8587884648780841E-004 1.7785266534661902E-004 8.1756181741921112E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751638972E-005 5.3272489969909305E-005 -1.1071468452791833E-007 1.2962514021125186E-005 3.5387551562432283E-006 3.8996812469859008E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877047869E-008 8.6160149201353585E-009 -1.3943667192552710E-010 6.3095987205071154E-009 2.0582059636009652E-009 1.1859600944963766E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pgqdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pgqdn.dat
new file mode 100644
index 000000000..d365048b9
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pgqdn.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524152640650E-006 41.389110988050120 -9.9200779182240240E-006 19.621443749837162 18.900252040763423 317.64987485757928
+100.00000000000000 9.9999999747524271E-007 5.8593489566849399E-004 3.3362104220913125E-004 1.2769432277792703E-005 30.062728093481752 -1.9932355789009648E-005 14.179052887595184 13.608087690965277 231.51507901093620
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 20.404705945413959 1.3958046515938349E-005 9.5258531931427211 9.0734993978249339 145.91907323288333
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 12.187494605172468 2.0204489312991569E-004 5.5589722011905742 5.2013560990774561 75.848734761342982
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326123459E-003 6.1104883027064236 3.7151728077455815E-004 2.6418604189863384 2.3647568610052945 30.699490535547149
+100.00000000000000 9.9999997764825821E-003 0.23129387239244981 0.12959293689263918 5.7459437264704150E-003 2.3323203454131187 -2.3232841334297483E-004 0.88494191972797820 0.69616814905885172 8.4500718358187292
+100.00000000000000 0.10000000149011612 0.55129941091724699 0.27139587989278036 1.0090783545018550E-002 0.38944699076870787 -3.2809103802766693E-004 0.11370665456721324 5.9641069822643888E-002 0.90607902119133166
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720270E-003 3.5400235230058891E-002 -3.8291437784027105E-005 9.0872628929192512E-003 3.3466097259772024E-003 8.4329531597357649E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833835332E-004 2.3927663434418420E-003 -3.2066872539954216E-006 5.8592688957812694E-004 1.7790070837196020E-004 8.1803077210279001E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751638972E-005 5.3251906524419586E-005 -1.1071468452791833E-007 1.2952222298380327E-005 3.5284634451887067E-006 3.8943353451644967E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877047869E-008 8.6115319933017902E-009 -1.3943667192552710E-010 6.3073572570903312E-009 2.0559645216076254E-009 1.1775798929048189E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pgqup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pgqup.dat
new file mode 100644
index 000000000..e3ead80bd
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pgqup.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524152640650E-006 63.210893684479743 -9.9200779182240240E-006 30.532335098051973 29.811141647265508 492.82248111517509
+100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 38.514622478627608 -1.9932355787233291E-005 18.405000080168108 17.834033840070980 296.04127419900101
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 23.053452717215286 1.3958046515938349E-005 10.850226579043387 10.397872228042214 164.99542643536688
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 12.740309255653248 2.0204489312991569E-004 5.8353795264309634 5.4777632301202441 79.681446010968301
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326125680E-003 6.1354409763007567 3.7151728077455815E-004 2.6543367557835049 2.3772331789937664 30.932324496647635
+100.00000000000000 9.9999997764825821E-003 0.23129387239244970 0.12959293689263929 5.7459437264704150E-003 2.3206898698196725 -2.3232841334297483E-004 0.87912668193125509 0.69035291558439593 8.3714141688713379
+100.00000000000000 0.10000000149011612 0.55129941091724688 0.27139587989278036 1.0090783545018522E-002 0.38951304315110902 -3.2809103802766693E-004 0.11373968075841379 5.9674095993633970E-002 0.90599899273494433
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720270E-003 3.5398822986425299E-002 -3.8291437784027105E-005 9.0865567711024553E-003 3.3459036045121139E-003 8.4355178357395880E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833835332E-004 2.3925423885752459E-003 -3.2066872539954216E-006 5.8581491214482889E-004 1.7778873108133185E-004 8.1716143243073195E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751640273E-005 5.3289162626410369E-005 -1.1071468452791833E-007 1.2970850349375285E-005 3.5470914754246159E-006 3.9034294278184154E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877088526E-008 8.6207326827471373E-009 -1.3943667192552710E-010 6.3119576017994523E-009 2.0605648240129879E-009 1.1939602754925792E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pqgdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pqgdn.dat
new file mode 100644
index 000000000..8ad275de2
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pqgdn.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535463083E-004 6.7095969778385722E-005 2.4726524134877081E-006 29.625970867933603 -9.9200779164476671E-006 13.739873689778905 13.025416842759181 344.84081709178605
+100.00000000000000 9.9999999747524271E-007 5.8593489566849399E-004 3.3362104220913125E-004 1.2769432278680881E-005 22.965699074735390 -1.9932355789009648E-005 10.630538378221999 10.063475533296605 241.28849505349399
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 17.297141638305476 1.3958046515938349E-005 7.9720710395884824 7.5216671501585877 149.68132691584856
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 11.295608272362177 2.0204489312991569E-004 5.1130290347854279 4.7561353781693132 77.054017069101761
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326123459E-003 6.0208774118261363 3.7151728077455815E-004 2.5970549735461947 2.3200664681845531 30.865969039545966
+100.00000000000000 9.9999997764825821E-003 0.23129387239244970 0.12959293689263929 5.7459437264704150E-003 2.3525404917881123 -2.3232841334297483E-004 0.89505199291547499 0.70625994477116094 8.4228814336160660
+100.00000000000000 0.10000000149011612 0.55129941091724699 0.27139587989278036 1.0090783545018550E-002 0.38942025517343065 -3.2809103802766693E-004 0.11369328676957463 5.9627719075367625E-002 0.90599416100928254
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720131E-003 3.5407121837529476E-002 -3.8291437784027105E-005 9.0907061966545299E-003 3.3500464194921994E-003 8.4343835688195923E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833836025E-004 2.3942923012861064E-003 -3.2066872539954216E-006 5.8668986850026611E-004 1.7866189755284280E-004 8.1759724313136290E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751638972E-005 5.3130615774392605E-005 -1.1071468452791833E-007 1.2891576923366836E-005 3.4679720125868759E-006 3.8988484361465281E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877047869E-008 7.8236223789046079E-009 -1.3943667192552710E-010 5.9134024498917401E-009 1.6626209753537325E-009 1.1857666750108904E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pqgup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pqgup.dat
new file mode 100644
index 000000000..a1673c3ad
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pqgup.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524223694923E-006 75.376318725362495 -9.9200779146713103E-006 36.615047618493335 35.887119305230222 465.47456503867295
+100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 45.635430113943869 -1.9932355787233291E-005 21.965403897826238 21.390535305964420 286.23772770262161
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 26.149755048878042 1.3958046515938349E-005 12.398377744874765 11.944073487995208 161.23589845487552
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 13.630843884200416 2.0204489312991569E-004 6.2806468407045477 5.9223080988988936 78.477256685545726
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326125680E-003 6.2252030323432486 3.7151728077455815E-004 2.6992177838047509 2.4219991543954524 30.765767826854528
+100.00000000000000 9.9999997764825821E-003 0.23129387239244981 0.12959293689263918 5.7459437264704150E-003 2.3004699430688920 -2.3232841334297483E-004 0.86901671855586482 0.68026122968419123 8.3986045678634333
+100.00000000000000 0.10000000149011612 0.55129941091724699 0.27139587989278036 1.0090783545018550E-002 0.38953978241444748 -3.2809103802766693E-004 0.11375305039008304 5.9687448574937810E-002 0.90608384570053846
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720408E-003 3.5391936617382214E-002 -3.8291437784027105E-005 9.0831135865809265E-003 3.3424670302107154E-003 8.4340874104256613E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833835678E-004 2.3910164194878014E-003 -3.2066872539954216E-006 5.8505192760111013E-004 1.7702753627889579E-004 8.1759496258285470E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751640273E-005 5.3410453877571207E-005 -1.1071468452791833E-007 1.3031495974955704E-005 3.6075831586087483E-006 3.8989163298021085E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877088526E-008 9.4086436720210945E-009 -1.3943667192552710E-010 6.7059130964364309E-009 2.4539090572282156E-009 1.1857734943183310E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_PqqPSdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_PqqPSdn.dat
new file mode 100644
index 000000000..f372cf2bb
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_PqqPSdn.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524152640650E-006 41.102723785505304 -9.9200779182240240E-006 19.478250148564754 18.760959384790652 366.12199404493452
+100.00000000000000 9.9999999747524271E-007 5.8593489566849399E-004 3.3362104220913125E-004 1.2769432278680881E-005 28.050800625083035 -1.9932355789009648E-005 13.173089153395821 12.604690962256246 246.17418859213748
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 18.762221674643449 1.3958046515938349E-005 8.7046110577574680 8.2538072002132168 149.49771159846301
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 11.347802745510734 2.0204489312991569E-004 5.1391262713597063 4.7822908830464925 76.534531990568567
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326116798E-003 5.8702502846998463 3.7151728077455815E-004 2.5217414099830506 2.2448732832996381 30.779810346838570
+100.00000000000000 9.9999997764825821E-003 0.23129387239244970 0.12959293689263929 5.7459437264704150E-003 2.3445843985840367 -2.3232841334297483E-004 0.89107394631343717 0.70228782903848885 8.4350567790356266
+100.00000000000000 0.10000000149011612 0.55129941091724699 0.27139587989278036 1.0090783545018550E-002 0.39060239239783051 -3.2809103802766693E-004 0.11428435538177456 6.0217703755456972E-002 0.90588894041809254
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720408E-003 3.5324753394885666E-002 -3.8291437784027105E-005 9.0495219753326528E-003 3.3089386691796310E-003 8.4345572936586302E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833835678E-004 2.4087662456850345E-003 -3.2066872539954216E-006 5.9392684069972668E-004 1.8588568612596198E-004 8.1762227963934567E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751638972E-005 5.1656518594856045E-005 -1.1071468452791833E-007 1.2154528333598556E-005 2.7322678105629440E-006 3.8983626120733404E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877047869E-008 -1.5605622534183624E-008 -1.3943667192552710E-010 -5.8012200066523759E-009 -1.0030108691338657E-008 1.1856585318012086E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_PqqPSup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_PqqPSup.dat
new file mode 100644
index 000000000..2f24a1145
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_PqqPSup.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524152640650E-006 65.690519091108598 -9.9200779182240240E-006 31.772147801366405 31.047051193500572 446.62005447380557
+100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 41.121935560496325 -1.9932355787233291E-005 19.708656621102467 19.135122663645522 281.65887522885282
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 24.755388811603346 1.3958046515938349E-005 11.701194626237417 11.247290243868937 161.37410088698289
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 13.556874646854858 2.0204489312991569E-004 6.2436622220317686 5.8852652391866798 78.982711110743367
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326125680E-003 6.3739168275496354 3.7151728077455815E-004 2.7735746814079443 2.4962356758956639 30.852946070339403
+100.00000000000000 9.9999997764825821E-003 0.23129387239244970 0.12959293689263929 5.7459437264704150E-003 2.3087080277821479 -2.3232841334297483E-004 0.87313576091249279 0.68437434080326931 8.3864341216261380
+100.00000000000000 0.10000000149011612 0.55129941091724699 0.27139587989278036 1.0090783545018550E-002 0.38836019796636062 -3.2809103802766693E-004 0.11316325816603962 5.9098740279691489E-002 0.90618917530865817
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720131E-003 3.5474314760566839E-002 -3.8291437784027105E-005 9.1243026581732112E-003 3.3835796307809937E-003 8.4339139538187086E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833835678E-004 2.3765396188444310E-003 -3.2066872539954216E-006 5.7781352727942492E-004 1.6980231958705380E-004 8.1756990955284270E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751637671E-005 5.4884760082843723E-005 -1.1071468452791833E-007 1.3768649077592829E-005 4.3433918732202314E-006 3.8994022418370781E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877088526E-008 3.2840502173925182E-008 -1.3943667192552710E-010 1.8421842347388475E-008 1.4147945515041468E-008 1.1858816468419023E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_central.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_central.dat
new file mode 100644
index 000000000..01a530ee7
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_central.dat
@@ -0,0 +1,12 @@
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524152640650E-006 52.286612579145128 -9.9200779182240240E-006 25.070194545384666 24.349001965454519 405.08370987653291
+100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 34.288700487074181 -1.9932355787233291E-005 16.292039084391394 15.721073366027888 263.77349646829327
+100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 21.729534841091088 1.3958046515938349E-005 10.188267640981286 9.7359135678217719 155.46175573796410
+100.00000000000000 9.9999997473787516E-005 1.3618838826095381E-002 7.9736321187384718E-003 3.4675337687817276E-004 12.463932337651855 2.0204489312991569E-004 5.6971910674302677 5.3395748682183459 77.765612982220247
+100.00000000000000 1.0000000474974513E-003 5.9587133049936014E-002 3.4383360622571635E-002 1.5513424326116798E-003 6.1229593081848854 3.7151728077455815E-004 2.6480959217255702 2.3709923543401801 30.815845533536759
+100.00000000000000 9.9999997764825821E-003 0.23129387239244981 0.12959293689263918 5.7459437264704150E-003 2.3265051486510213 -2.3232841334297483E-004 0.88203432134692950 0.69326055283893673 8.4107431065345715
+100.00000000000000 0.10000000149011612 0.55129941091724699 0.27139587989278036 1.0090783545018550E-002 0.38948001695781981 -3.2809103802766693E-004 0.11372316766176921 5.9657582907092693E-002 0.90603900359602441
+100.00000000000000 0.30000001192092896 0.35044087943880264 0.13015102654817889 3.0182414866720270E-003 3.5399529105840905E-002 -3.8291437784027105E-005 9.0869098308102580E-003 3.3462566640442937E-003 8.4342354891886684E-002
+100.00000000000000 0.50000000000000000 0.12111419537822476 3.1515565448941962E-002 3.7949104833835678E-004 2.3926543661014765E-003 -3.2066872539954216E-006 5.8587090090794769E-004 1.7784471977299086E-004 8.1759610286994289E-003
+100.00000000000000 0.69999998807907104 2.0075340535529972E-002 3.0884628800395830E-003 1.3847164751640273E-005 5.3270534571214778E-005 -1.1071468452791833E-007 1.2961536321777489E-005 3.5377774582077370E-006 3.8988823829233066E-004
+100.00000000000000 0.89999997615814209 3.5124937756244310E-004 1.7841279135527024E-005 1.6415653877034316E-008 8.6161323395287943E-009 -1.3943667192552710E-010 6.3096574301902807E-009 2.0582646733685167E-009 1.1857700846624383E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pggdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pggdn.dat
new file mode 100644
index 000000000..59321526d
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pggdn.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050546430E-004 7.0312196807087446E-005 2.6923454550242809E-006 27.419315995591688 12.638660910456249 11.045720114113198 9.5930511886775989 178.73092115797704
+100.00000000000000 9.9999999747524271E-007 6.1134637642812351E-004 3.4761614958167542E-004 1.3704719687090972E-005 25.279966873543316 11.789357099975650 10.627270458503926 9.6098649625519297 179.97465096261800
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892052079545E-005 19.645611917899700 9.1476694542383630 8.3268019422679931 7.3309748701583102 131.95555052258752
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510790709E-004 12.427006867518138 5.6799053375297310 5.1271860158482045 4.2523287980401978 73.214510303144948
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519311836E-003 6.2702681978239330 2.7229539954887292 2.3761739369744914 1.8019588298348332 30.089735379979700
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044617237E-003 2.3459505153059652 0.89325969691668849 0.70335488311244920 0.47288815946028950 8.1396124500346421
+100.00000000000000 0.10000000149011612 0.54899512824833219 0.26977991289473013 1.0013806809519632E-002 0.38390587925501929 0.11207089089927413 6.4417330325617084E-002 3.7146502349424841E-002 0.85032913774590502
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575778E-003 3.4489955944067979E-002 8.8457920192702988E-003 4.0482441812027641E-003 2.1098473288909949E-003 7.8607504971025019E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046620E-002 3.6736405235943126E-004 2.3103486126305750E-003 5.6563809930554321E-004 2.4324875922581519E-004 1.2146501655703698E-004 7.6448249808300627E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070857092E-005 5.0877126836888602E-005 1.2403214077594434E-005 5.5280419565642828E-006 2.8352496044433374E-006 3.6785470907768733E-004
+100.00000000000000 0.89999997615814209 3.3161864574148209E-004 1.6789394846615220E-005 1.5756853335753692E-008 6.7807690314042714E-009 5.6859997414523402E-009 1.8831274805573301E-009 1.7364166563680945E-009 1.1314325870475711E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pggup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pggup.dat
new file mode 100644
index 000000000..d5216ad2a
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pggup.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050724066E-004 7.0312196807975624E-005 2.6923454576888162E-006 83.845056295863372 40.851531060592080 39.257299755254117 33.993070655038437 626.05619693918266
+100.00000000000000 9.9999999747524271E-007 6.1134637642723533E-004 3.4761614958256359E-004 1.3704719684426436E-005 46.491930784996967 22.395339055702479 21.232955594622361 18.497961434197496 339.79578387010940
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892055632258E-005 25.591150387346730 12.120438688961874 11.299623158351160 9.7199542549892080 174.60033206534789
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510790709E-004 13.355711275047721 6.1442575412945217 5.5916126121658234 4.6044566439364703 79.801812514161739
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519307395E-003 6.2458390931276382 2.7107394431405822 2.3639756659157114 1.7904809059611901 30.019750860900473
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044617237E-003 2.3290301710862895 0.88479952480685065 0.69489248492846223 0.46644981282370335 8.0111398343607529
+100.00000000000000 0.10000000149011612 0.54899512824833208 0.26977991289473013 1.0013806809519660E-002 0.38400421944304258 0.11212006099328581 6.4466518645623180E-002 3.7183038163990510E-002 0.85108958295265857
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575917E-003 3.4488039139472848E-002 8.8448336169727471E-003 4.0472851194508766E-003 2.1091359648341820E-003 7.8589506115996646E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046623E-002 3.6736405235944167E-004 2.3103809290635144E-003 5.6565425752200943E-004 2.4326487072576697E-004 1.2147203482758241E-004 7.6441896424049591E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070858393E-005 5.0880891423276883E-005 1.2405096370788141E-005 5.5299328279046616E-006 2.8372516353379737E-006 3.6800463583731152E-004
+100.00000000000000 0.89999997615814209 3.3161864574148204E-004 1.6789394846615220E-005 1.5756853335753692E-008 6.7804667238546184E-009 5.6858485876775137E-009 1.8829874008479870E-009 1.7376942549243184E-009 1.1318033849451193E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pgqdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pgqdn.dat
new file mode 100644
index 000000000..279d5d79e
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pgqdn.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050546430E-004 7.0312196806199267E-005 2.6923454559124593E-006 43.256832384016235 20.557419104668526 18.964177844558446 16.496591916009624 306.63025629187820
+100.00000000000000 9.9999999747524271E-007 6.1134637642812351E-004 3.4761614958167542E-004 1.3704719685314615E-005 31.373539013836485 14.836143170122236 13.674007160285322 12.178747177724883 226.69279437800685
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892055632258E-005 21.244322693142209 9.9470248418596139 9.1261830556218655 7.9779108766167042 143.78187274661070
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510790709E-004 12.605797052801144 5.7693004301712341 5.2166003930142342 4.3204109150130376 74.616927183426824
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519311836E-003 6.2454344490576652 2.7105371211055962 2.3637589669716652 1.7919272719732602 29.941123703394364
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044617237E-003 2.3435309576039884 0.89204991806570011 0.70214449481205343 0.47194414731158679 8.1146018805376183
+100.00000000000000 0.10000000149011612 0.54899512824833230 0.26977991289473013 1.0013806809519576E-002 0.38392039876935291 0.11207815065644100 6.4424608293624383E-002 3.7152792522625488E-002 0.85073982926714553
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575917E-003 3.4489746440074409E-002 8.8456872672735276E-003 4.0481383756564553E-003 2.1096952732915985E-003 7.8586341547700223E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046620E-002 3.6736405235945208E-004 2.3104735168904406E-003 5.6570055143546905E-004 2.4331137759131972E-004 1.2152361074575018E-004 7.6487025761957546E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070855790E-005 5.0860580466383087E-005 1.2394940892342110E-005 5.5197538699848066E-006 2.8280801629378737E-006 3.6748946131950541E-004
+100.00000000000000 0.89999997615814209 3.3161864574148198E-004 1.6789394846615220E-005 1.5756853335719811E-008 6.7783025782964385E-009 5.6847665148916475E-009 1.8815647859977374E-009 1.7032374755236529E-009 1.1237527511035101E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pgqup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pgqup.dat
new file mode 100644
index 000000000..2c01da61f
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pgqup.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050724066E-004 7.0312196807975624E-005 2.6923454576888162E-006 66.406701976871744 32.132353901096273 30.538422888853603 26.413623280735333 485.08149542218734
+100.00000000000000 9.9999999747524271E-007 6.1134637642723533E-004 3.4761614958256359E-004 1.3704719684426436E-005 40.333373387026668 19.316060356717330 18.153726199877028 15.905409139179241 292.44566538476681
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892052079545E-005 24.038609183473270 11.344168087025148 10.523326826489178 9.0927539387596994 163.11853009294259
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510790709E-004 13.182497924185732 6.0576508658635282 5.5049866547900237 4.5386689988769353 78.451307409831131
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519311836E-003 6.2700058503470597 2.7228228217502926 2.3760571401098849 1.8002334486338065 30.163310130570231
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044617237E-003 2.3314530786354712 0.88601097858144173 0.69610454814510314 0.46739510143158325 8.0361285855712978
+100.00000000000000 0.10000000149011612 0.54899512824833230 0.26977991289473013 1.0013806809519576E-002 0.38398969072344569 0.11211279663348739 6.4459236074917714E-002 3.7176742988126413E-002 0.85067842656532489
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575917E-003 3.4488247995348997E-002 8.8449380449108217E-003 4.0473906009374210E-003 2.1092877406963619E-003 7.8610658593976077E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046620E-002 3.6736405235943126E-004 2.3102560526016003E-003 5.6559181929105584E-004 2.4320226625933032E-004 1.2141345382649153E-004 7.6403127854844238E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070857092E-005 5.0897436513218201E-005 1.2413368915759233E-005 5.5382202741754597E-006 2.8444204355869523E-006 3.6836984370419137E-004
+100.00000000000000 0.89999997615814209 3.3161864574148209E-004 1.6789394846615220E-005 1.5756853335774021E-008 6.7829332642136211E-009 5.6870818578502388E-009 1.8845501385849230E-009 1.7708729583998568E-009 1.1394831012860958E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pqgdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pqgdn.dat
new file mode 100644
index 000000000..bc1d130fc
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pqgdn.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050546430E-004 7.0312196807087446E-005 2.6923454568006377E-006 29.652217176633961 13.755111500977383 12.168587111237205 13.360241208690727 330.17910231918597
+100.00000000000000 9.9999999747524271E-007 6.1134637642812351E-004 3.4761614958167542E-004 1.3704719683538258E-005 23.477714473060018 10.888230899734005 9.7300309459849164 10.592305888198233 235.35575362706351
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892052079545E-005 17.885732151764117 8.2677295711705714 7.4488769165045579 7.4497313534429468 147.32133539496641
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510701891E-004 11.669450185221688 5.3011269963815071 4.7491722096869129 4.2241524615362005 75.799187426889915
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519307395E-003 6.1563813932419569 2.6660105931977416 2.3193526099199886 1.7911320623582907 30.106986792222791
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044617237E-003 2.3646079772529696 0.90258842789019067 0.71266412979082772 0.47378287299764421 8.0879164605493301
+100.00000000000000 0.10000000149011612 0.54899512824833208 0.26977991289473013 1.0013806809519576E-002 0.38388830025570453 0.11206210139961681 6.4408571493917946E-002 3.7152105378947864E-002 0.85066333789394299
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575778E-003 3.4496838945777680E-002 8.8492335201251493E-003 4.0516786405732511E-003 2.1104094700871803E-003 7.8600008308252159E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046620E-002 3.6736405235943126E-004 2.3119785963566231E-003 5.6645309116856724E-004 2.4406199850201301E-004 1.2161977270190257E-004 7.6445195554925077E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070858393E-005 5.0740663203615796E-005 1.2334982260957597E-005 5.4599638635343814E-006 2.8234279703649428E-006 3.6792617972521483E-004
+100.00000000000000 0.89999997615814209 3.3161864574148198E-004 1.6789394846615220E-005 1.5756853335774021E-008 5.9918063769056826E-009 5.2915184141962696E-009 1.4892299316912809E-009 1.6364472091491313E-009 1.1316142670844887E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pqgup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pqgup.dat
new file mode 100644
index 000000000..c26eb888c
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_Pqgup.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050724066E-004 7.0312196807975624E-005 2.6923454576888162E-006 80.468766074530237 39.163385949925519 37.562738066876804 29.705997522478590 461.34384872486999
+100.00000000000000 9.9999999747524271E-007 6.1134637642723533E-004 3.4761614958256359E-004 1.3704719684426436E-005 48.253641584272437 23.276194455340214 22.109924242350544 17.497240926940638 283.74486930877526
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892055632258E-005 27.384177248051529 13.016952119314274 12.194121727216443 9.6162698522988137 159.58218227318514
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510790709E-004 14.117366771312085 6.5250852894267046 5.9716758278929118 4.6344705240366260 77.270376654221934
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519311836E-003 6.3592296540174296 2.7674347235854784 2.4205488710887129 1.8010866513613839 29.997354113872362
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044615016E-003 2.3103762553540435 0.87547256694072828 0.68558501135010252 0.46555639877746391 8.0628139705017468
+100.00000000000000 0.10000000149011612 0.54899512824833219 0.26977991289473013 1.0013806809519632E-002 0.38402179301551509 0.11212884777952203 6.4475274763836993E-002 3.7177431064855021E-002 0.85075490902405582
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575917E-003 3.4481155748159020E-002 8.8413919213158332E-003 4.0438504652766417E-003 2.1085736229030819E-003 7.8596991639086011E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046620E-002 3.6736405235943126E-004 2.3087509610433266E-003 5.6483927351191898E-004 2.4245163930266005E-004 1.2131728826769226E-004 7.6444958204725123E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070858393E-005 5.1017354312501637E-005 1.2473327815400517E-005 5.5980105489064271E-006 2.8490727859431714E-006 3.6793312444983296E-004
+100.00000000000000 0.89999997615814209 3.3161864574148198E-004 1.6789394846615220E-005 1.5756853335719811E-008 7.5694309724285563E-009 6.0803307119577064E-009 2.2768857471985927E-009 1.8376636872619372E-009 1.1316215855852580E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_PqqPSdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_PqqPSdn.dat
new file mode 100644
index 000000000..28adf767b
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_PqqPSdn.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050546430E-004 7.0312196806199267E-005 2.6923454559124593E-006 42.587262819480145 20.222634322400477 18.633204898934572 17.625965666284245 354.92226199515380
+100.00000000000000 9.9999999747524271E-007 6.1134637642812351E-004 3.4761614958167542E-004 1.3704719683538258E-005 29.052217578527816 13.675482452467904 12.515938346770632 12.143190031527871 241.03096503844381
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892055632258E-005 19.436923150975218 9.0433250707761186 8.2240809216198354 7.7908032117802000 147.17420357641856
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510701891E-004 11.706817061806614 5.3198104346739701 4.7679197994268359 4.2228223844254238 75.244433750816370
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519311836E-003 5.9947838171790817 2.5852118051663036 2.2386748155720335 1.7664819815858497 30.015428971892508
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044617237E-003 2.3570779657732412 0.89882342215032651 0.70890470669559680 0.47312438539122059 8.1007755070713614
+100.00000000000000 0.10000000149011612 0.54899512824833230 0.26977991289473013 1.0013806809519660E-002 0.38508309468830654 0.11265949861591779 6.5004914551493181E-002 3.7289908566147834E-002 0.85055274119446755
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575778E-003 3.4414065221579054E-002 8.8078466580258363E-003 4.0103657871769817E-003 2.1008515825043151E-003 7.8601849247138852E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046620E-002 3.6736405235945208E-004 2.3266672382392523E-003 5.7379741210987489E-004 2.5139349592214101E-004 1.2337006421432915E-004 7.6447825749430421E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070857092E-005 4.9237312943452120E-005 1.1583307130876193E-005 4.7096029746836400E-006 2.6443045723178202E-006 3.6787522662883526E-004
+100.00000000000000 0.89999997615814209 3.3161864574148198E-004 1.6789394846615220E-005 1.5756853335774021E-008 -1.7132074177817098E-008 -6.2704218631651210E-009 -1.0051949358679210E-008 -1.0539375833761490E-009 1.1315007833478206E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_PqqPSup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_PqqPSup.dat
new file mode 100644
index 000000000..4dfc88ff1
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_PqqPSup.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050724066E-004 7.0312196807975624E-005 2.6923454576888162E-006 69.561402666087730 33.709704245704266 32.111959130934217 25.909582825959070 439.35096867545900
+100.00000000000000 9.9999999747524271E-007 6.1134637642723533E-004 3.4761614958256359E-004 1.3704719684426436E-005 43.320709473052503 20.809728399730247 19.644801618274890 16.089406311879458 278.42242203170917
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892053855901E-005 25.910153920326287 12.279940455451655 11.457501465127622 9.2905662024084510 159.67836513802914
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510790709E-004 14.055479535722633 6.4941416716319784 5.9406680863715104 4.6303882647541279 77.809156637702600
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519307395E-003 6.5187744016753468 2.8472070974144366 2.5002002537615544 1.8253286572896121 30.090064526378612
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044617237E-003 2.3182136892231826 0.87939128387529741 0.68949814527473541 0.46627914226077338 8.0499606834445636
+100.00000000000000 0.10000000149011612 0.54899512824833219 0.26977991289473013 1.0013806809519632E-002 0.38282978080766028 0.11153284167559463 6.3880322815347224E-002 3.7040212678493965E-002 0.85086563099135781
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488575778E-003 3.4563940979833369E-002 8.8827845371529934E-003 4.0851690723973152E-003 2.1181339222978305E-003 7.8595153766993178E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046620E-002 3.6736405235943126E-004 2.2940591699472934E-003 5.5749337796390241E-004 2.3511856727963934E-004 1.1956633509995997E-004 7.6442326115136183E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070855790E-005 5.2520933934055436E-005 1.3225117626178284E-005 6.3484861181249654E-006 3.0282443953621560E-006 3.6798408764464894E-004
+100.00000000000000 0.89999997615814209 3.3161864574148204E-004 1.6789394846615220E-005 1.5756853335753692E-008 3.0696047510642426E-008 1.7643638981071417E-008 1.3819433025528417E-008 4.5286232294049996E-009 1.1317350800780377E-006
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_central.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_central.dat
new file mode 100644
index 000000000..08f18d8ff
--- /dev/null
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_VFNS/N3LO_MSHTprior_VFNS_central.dat
@@ -0,0 +1,12 @@
+# q x xuv xdv xL- 2xL+ xs+ xc+ xb+ xg
+100.00000000000000 1.0000000116860974E-007 1.2799955050546430E-004 7.0312196806199267E-005 2.6923454594651730E-006 54.815935666611452 26.336970745966127 24.743384609787249 21.447791409658720 395.67256458591589
+100.00000000000000 9.9999999747524271E-007 6.1134637642723533E-004 3.4761614958256359E-004 1.3704719684426436E-005 35.853516249952534 17.076131788180263 15.913896704841076 14.042105607950429 259.56356098045660
+100.00000000000000 9.9999997473787516E-006 2.9987058056457627E-003 1.7496319244729719E-003 7.2859892055632258E-005 22.642006491924761 10.645866741250890 9.8250252178640647 8.5355817289953002 153.45560242939712
+100.00000000000000 9.9999997473787516E-005 1.3984354204400695E-002 8.1825415465992535E-003 3.6107170510790709E-004 12.894182855868475 5.9134933317048990 5.3608112075896805 4.4295566699145787 76.534746875585896
+100.00000000000000 1.0000000474974513E-003 6.0670580594973655E-002 3.4981871192196090E-002 1.5927114519311836E-003 6.2577138666013994 2.7166768298774633 2.3699049119902953 1.7960774391145469 30.052142612461324
+100.00000000000000 9.9999997764825821E-003 0.23337987214486355 0.13062008381073764 5.8104962044617237E-003 2.3374920663485330 0.88903047243797262 0.69912454559297865 0.46966964624708052 8.0753653436658048
+100.00000000000000 0.10000000149011612 0.54899512824833219 0.26977991289473013 1.0013806809519632E-002 0.38395504474298725 0.11209547364325811 6.4441922182565961E-002 3.7164767748604249E-002 0.85070912374988539
+100.00000000000000 0.30000001192092896 0.34486636565973872 0.12777132808943337 2.9532398488576056E-003 3.4488997214906641E-002 8.8453126546896577E-003 4.0477644868940682E-003 2.1094915055859123E-003 7.8598499968482116E-002
+100.00000000000000 0.50000000000000000 0.11803360207203428 3.0627928506046623E-002 3.6736405235944167E-004 2.3103647848564321E-003 5.6564618541846828E-004 2.4325682198047106E-004 1.2146853234576958E-004 7.6445076881361696E-003
+100.00000000000000 0.69999998807907104 1.9343496450001239E-002 2.9666798095176403E-003 1.3259467070858393E-005 5.0879008484707930E-005 1.2404154901503664E-005 5.5289870695403599E-006 2.8362502963938487E-006 3.6792965208140647E-004
+100.00000000000000 0.89999997615814209 3.3161864574148209E-004 1.6789394846615220E-005 1.5756853335740140E-008 6.7806179213498975E-009 5.6859241864116008E-009 1.8830574626386683E-009 1.7370552188678902E-009 1.1316179263321133E-006
diff --git a/extras/lh_bench_23/utils.py b/extras/lh_bench_23/utils.py
index c62a2736d..930f78754 100644
--- a/extras/lh_bench_23/utils.py
+++ b/extras/lh_bench_23/utils.py
@@ -147,20 +147,10 @@ def load_msht(
table_dir: pathlib.Path, scheme: str, approx: str, rotate_to_evol: bool = False
) -> list:
"""Load MSHT files."""
-
- if scheme != "VFNS":
- raise ValueError(f"{scheme} not provided by MSHT, comment it out")
- APPROX_MAP = {
- "FHMRUVV": "Moch",
- "MSHT": "Posterior",
- }
- fhmruvv_msht_table_dir = table_dir / f"{scheme}_{APPROX_MAP[approx]}_numbers"
+ fhmruvv_msht_table_dir = table_dir / "MSHT" / f"N3LO_{approx}_{scheme}"
columns = lha_labels(scheme)
- # columns.insert(0,'x')
- # columns.insert(0,'Q')
dfs = []
-
for p in fhmruvv_msht_table_dir.iterdir():
data = np.loadtxt(p)
data = pd.DataFrame(data[:, 2:], columns=columns)
@@ -277,7 +267,7 @@ def plot_diff_to_nnlo(
fig, axs = plt.subplots(nrows, ncols, figsize=(ncols * 5, nrows * 3.5))
# cut away small- and large-x values, for plotting
- smallx_cut = 4 if use_linx else 3
+ smallx_cut = 4 if use_linx else 2
largex_cut = -1 if not use_linx else None
xgrid = xgrid[smallx_cut:largex_cut]
xscale = "linx" if use_linx else "logx"
@@ -299,7 +289,7 @@ def plot_diff_to_nnlo(
# loop on n3lo
for j, (tabs, approx_label) in enumerate(n3lo_dfs):
central, err = tabs
- ax.errorbar(
+ obj = ax.errorbar(
xgrid,
central.values[smallx_cut:largex_cut, i],
yerr=err.values[smallx_cut:largex_cut, i],
@@ -307,14 +297,18 @@ def plot_diff_to_nnlo(
label=approx_label,
capsize=5,
)
- # ax.errorbar(
- # xgrid,
- # eko_4mom_diff.values[:, i],
- # yerr=eko_4mom_diff_std.values[:, i],
- # fmt="x",
- # label="aN3LO EKO (4 moments)",
- # capsize=5,
- # )
+ ax.plot(
+ xgrid,
+ central.values[smallx_cut:largex_cut, i],
+ color=obj[0].get_color(),
+ alpha=0.3,
+ )
+ ax.fill_between(
+ xgrid,
+ (central - err).values[smallx_cut:largex_cut, i],
+ (central + err).values[smallx_cut:largex_cut, i],
+ alpha=0.2,
+ )
ax.hlines(
0,
xgrid.min() - xgrid.min() / 3,
From 5f25844893b95993062d2552bfed63b586b3f45f Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Fri, 17 May 2024 11:33:11 +0300
Subject: [PATCH 117/216] Drop katexit
---
crates/ekore/src/constants.rs | 1 -
crates/ekore/src/harmonics/cache.rs | 1 -
crates/ekore/src/harmonics/g_functions.rs | 1 -
crates/ekore/src/harmonics/w1.rs | 1 -
crates/ekore/src/harmonics/w2.rs | 1 -
crates/ekore/src/harmonics/w3.rs | 1 -
6 files changed, 6 deletions(-)
diff --git a/crates/ekore/src/constants.rs b/crates/ekore/src/constants.rs
index 39d69f975..fe3add528 100644
--- a/crates/ekore/src/constants.rs
+++ b/crates/ekore/src/constants.rs
@@ -20,7 +20,6 @@ pub const CA: f64 = NC as f64;
/// Defaults to $C_F = \frac{N_C^2-1}{2N_C} = 4/3$.
pub const CF: f64 = ((NC * NC - 1) as f64) / ((2 * NC) as f64);
-#[cfg_attr(doc, katexit::katexit)]
/// Riemann zeta function at z = 2.
///
/// $\zeta(2) = \pi^2 / 6$.
diff --git a/crates/ekore/src/harmonics/cache.rs b/crates/ekore/src/harmonics/cache.rs
index d3e9142a5..8a88dcdf1 100644
--- a/crates/ekore/src/harmonics/cache.rs
+++ b/crates/ekore/src/harmonics/cache.rs
@@ -70,7 +70,6 @@ impl Cache {
}
}
-#[cfg_attr(doc, katexit::katexit)]
/// Recursive computation of harmonic sums.
///
/// Compute the harmonic sum $S_{w}(N+k)$ stating from the value $S_{w}(N)$ via the recurrence relations.
diff --git a/crates/ekore/src/harmonics/g_functions.rs b/crates/ekore/src/harmonics/g_functions.rs
index 7bb2c9017..8acbf985e 100644
--- a/crates/ekore/src/harmonics/g_functions.rs
+++ b/crates/ekore/src/harmonics/g_functions.rs
@@ -4,7 +4,6 @@ use crate::constants::ZETA2;
use crate::harmonics::cache::recursive_harmonic_sum as s;
use num::{complex::Complex, Zero};
-#[cfg_attr(doc, katexit::katexit)]
/// Compute the Mellin transform of $\text{Li}_2(x)/(1+x)$.
///
/// This function appears in the analytic continuation of the harmonic sum
diff --git a/crates/ekore/src/harmonics/w1.rs b/crates/ekore/src/harmonics/w1.rs
index 32ca4683a..8268aad98 100644
--- a/crates/ekore/src/harmonics/w1.rs
+++ b/crates/ekore/src/harmonics/w1.rs
@@ -3,7 +3,6 @@ use num::complex::Complex;
use crate::harmonics::polygamma::cern_polygamma;
-#[cfg_attr(doc, katexit::katexit)]
/// Compute the harmonic sum $S_1(N)$.
///
/// $$S_1(N) = \sum\limits_{j=1}^N \frac 1 j = \psi_0(N+1)+\gamma_E$$
diff --git a/crates/ekore/src/harmonics/w2.rs b/crates/ekore/src/harmonics/w2.rs
index 8d3f473c3..d55a32679 100644
--- a/crates/ekore/src/harmonics/w2.rs
+++ b/crates/ekore/src/harmonics/w2.rs
@@ -4,7 +4,6 @@ use num::complex::Complex;
use crate::constants::ZETA2;
use crate::harmonics::polygamma::cern_polygamma;
-#[cfg_attr(doc, katexit::katexit)]
/// Compute the harmonic sum $S_2(N)$.
///
/// $$S_2(N) = \sum\limits_{j=1}^N \frac 1 {j^2} = -\psi_1(N+1)+\zeta(2)$$
diff --git a/crates/ekore/src/harmonics/w3.rs b/crates/ekore/src/harmonics/w3.rs
index 5d41accb1..7850c678d 100644
--- a/crates/ekore/src/harmonics/w3.rs
+++ b/crates/ekore/src/harmonics/w3.rs
@@ -4,7 +4,6 @@ use num::complex::Complex;
use crate::constants::ZETA3;
use crate::harmonics::polygamma::cern_polygamma;
-#[cfg_attr(doc, katexit::katexit)]
/// Compute the harmonic sum $S_3(N)$.
///
/// $$S_3(N) = \sum\limits_{j=1}^N \frac 1 {j^3} = \frac 1 2 \psi_2(N+1)+\zeta(3)$$
From 379e13a75f364d7242fe2c578f8da3c2c772eec2 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Fri, 17 May 2024 11:18:42 +0200
Subject: [PATCH 118/216] some cleaning
---
extras/lh_bench_23/plot_bench.py | 49 ---------------------------
extras/lh_bench_23/plot_bench_msht.py | 8 ++---
extras/lh_bench_23/plot_trn_exa.py | 23 ++++---------
3 files changed, 10 insertions(+), 70 deletions(-)
delete mode 100644 extras/lh_bench_23/plot_bench.py
diff --git a/extras/lh_bench_23/plot_bench.py b/extras/lh_bench_23/plot_bench.py
deleted file mode 100644
index d0e69c5bb..000000000
--- a/extras/lh_bench_23/plot_bench.py
+++ /dev/null
@@ -1,49 +0,0 @@
-from cfg import here, table_dir, xgrid
-from utils import (
- compute_n3lo_avg_err,
- compute_n3lo_nnlo_diff,
- load_n3lo_tables,
- load_nnlo_table,
- plot_diff_to_nnlo,
- plot_pdfs,
-)
-
-USE_LINX = True
-REL_DIFF = True
-SCHEME = "VFNS"
-SV = "central"
-
-plot_dir = here / "plots"
-n3lo_table_dir = table_dir # / SCHEME
-
-
-# load tables
-eko_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, SV, approx="EKO")
-fhmruvv_dfs = load_n3lo_tables(n3lo_table_dir, SCHEME, SV, approx="FHMRUVV")
-nnlo_central = load_nnlo_table(table_dir, SCHEME, SV)
-
-# compute avg and std
-eko_res = compute_n3lo_avg_err(eko_dfs)
-fhmruvv_res = compute_n3lo_avg_err(fhmruvv_dfs)
-# eko_4mom_res = = compute_n3lo_avg_err(eko_dfs_4mom)
-
-n3lo_dfs = [
- (eko_res, "aN3LO EKO"),
- (fhmruvv_res, "aN3LO FHMRUVV"),
- # (eko_4mom_res, "aN3LO EKO 4 mom"),
-]
-
-# PDFs plots
-plot_pdfs(xgrid, n3lo_dfs, nnlo_central, SCHEME, USE_LINX, plot_dir)
-
-# relative diff plots
-eko_diff = compute_n3lo_nnlo_diff(eko_res, nnlo_central, REL_DIFF)
-fhmruvv_diff = compute_n3lo_nnlo_diff(fhmruvv_res, nnlo_central, REL_DIFF)
-n3lo_dfs = [
- (eko_diff, "aN3LO EKO"),
- (fhmruvv_diff, "aN3LO FHMRUVV"),
- # (eko_4mom_res, "aN3LO EKO 4 mom"),
-]
-
-# relative, absolute diff plots
-plot_diff_to_nnlo(xgrid, n3lo_dfs, SCHEME, USE_LINX, plot_dir, REL_DIFF)
diff --git a/extras/lh_bench_23/plot_bench_msht.py b/extras/lh_bench_23/plot_bench_msht.py
index fc39e2711..f99c4c613 100644
--- a/extras/lh_bench_23/plot_bench_msht.py
+++ b/extras/lh_bench_23/plot_bench_msht.py
@@ -10,7 +10,7 @@
)
USE_LINX = False
-REL_DIFF = False
+REL_DIFF = True
SCHEME = "VFNS"
SV = "central"
@@ -39,14 +39,14 @@
# compute average of FHMRUVV
fhmruvv_res = []
for a, b in zip(fhmruvv_msht_res, fhmruvv_eko_res):
- fhmruvv_res.append((a + b )/ 2)
+ fhmruvv_res.append((a + b) / 2)
# PDFs plots
n3lo_dfs = [
- (eko_res, "EKO"),
(fhmruvv_res, "FHMRUVV"),
(msht_prior_res, "MSHT (prior)"),
(msht_post_res, "MSHT (posterior)"),
+ (eko_res, "NNPDF"),
]
plot_pdfs(xgrid, n3lo_dfs, nnlo_central, SCHEME, USE_LINX, plot_dir)
@@ -57,9 +57,9 @@
msht_post_diff = compute_n3lo_nnlo_diff(msht_post_res, nnlo_central, REL_DIFF)
n3lo_dfs = [
- (eko_diff, "EKO"),
(fhmruvv_diff, "FHMRUVV"),
(msht_prior_diff, "MSHT (prior)"),
(msht_post_diff, "MSHT (posterior)"),
+ (eko_diff, "NNPDF"),
]
plot_diff_to_nnlo(xgrid, n3lo_dfs, SCHEME, USE_LINX, plot_dir, REL_DIFF)
diff --git a/extras/lh_bench_23/plot_trn_exa.py b/extras/lh_bench_23/plot_trn_exa.py
index 819c0ebff..7558cedab 100644
--- a/extras/lh_bench_23/plot_trn_exa.py
+++ b/extras/lh_bench_23/plot_trn_exa.py
@@ -24,27 +24,16 @@ def load_table(method):
def plot_diff(xgrid, dfs_trn, dfs_exa):
- ncols = 3
- nrows = 1
- fig, axs = plt.subplots(nrows, ncols, figsize=(ncols * 5, nrows * 3.5))
-
cut_smallx = 0
cut_largex = -1
xgrid = xgrid[cut_smallx:cut_largex]
plot_dir.mkdir(exist_ok=True)
- fig.suptitle(
- r"\% difference Exact vs Truncated" + r", $\mu_{\rm f}^2 = 10^4 \ \mbox{GeV}^2$"
- )
-
# loop on PDFs
- for i, ax in enumerate(
- axs.reshape(
- ncols * nrows,
- )
- ):
- j = np.where(dfs_trn[1].columns == COLUMNS_TO_KEEP[i])[0][0]
+ for column in COLUMNS_TO_KEEP:
+ _, ax = plt.subplots(1, 1, figsize=(1 * 5, 1 * 3.5))
+ j = np.where(dfs_trn[1].columns == column)[0][0]
# loop on ptos
for pto, pto_label in PTOS.items():
@@ -64,9 +53,9 @@ def plot_diff(xgrid, dfs_trn, dfs_exa):
ax.set_ylabel(f'${lha_labels("FFNS")[j]}$')
ax.set_xlim(xgrid.min() - xgrid.min() / 3, 1)
- plt.legend()
- plt.tight_layout()
- plt.savefig(f"{plot_dir}/diff_trn_exa.pdf")
+ plt.legend()
+ plt.tight_layout()
+ plt.savefig(f"{plot_dir}/diff_trn_exa_{column}.pdf")
if __name__ == "__main__":
From 252b13a78e6c36c6f447e9c7464ada279a6a6fbe Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Fri, 17 May 2024 16:50:04 +0200
Subject: [PATCH 119/216] build: Update flake with rust and maturin
---
flake.lock | 110 ++++++++++-------------------------------------------
flake.nix | 56 +++++++++++++--------------
2 files changed, 46 insertions(+), 120 deletions(-)
diff --git a/flake.lock b/flake.lock
index 3146adf01..b8125be0b 100644
--- a/flake.lock
+++ b/flake.lock
@@ -37,19 +37,21 @@
"type": "github"
}
},
- "flake-compat_2": {
- "flake": false,
+ "flake-parts": {
+ "inputs": {
+ "nixpkgs-lib": "nixpkgs-lib"
+ },
"locked": {
- "lastModified": 1673956053,
- "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
+ "lastModified": 1715865404,
+ "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9",
"type": "github"
},
"original": {
- "owner": "edolstra",
- "repo": "flake-compat",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
"type": "github"
}
},
@@ -71,23 +73,6 @@
"type": "github"
}
},
- "flake-utils_2": {
- "inputs": {
- "systems": "systems_2"
- },
- "locked": {
- "lastModified": 1685518550,
- "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
- "type": "github"
- },
- "original": {
- "id": "flake-utils",
- "type": "indirect"
- }
- },
"gitignore": {
"inputs": {
"nixpkgs": [
@@ -166,24 +151,16 @@
"type": "github"
}
},
- "nixpkgs-python": {
- "inputs": {
- "flake-compat": "flake-compat_2",
- "flake-utils": "flake-utils_2",
- "nixpkgs": "nixpkgs_3"
- },
+ "nixpkgs-lib": {
"locked": {
- "lastModified": 1692934204,
- "narHash": "sha256-dJG+DyQlWgeBEcCl9j3R5A4vcBnC2GLRacNeJgcZPo8=",
- "owner": "cachix",
- "repo": "nixpkgs-python",
- "rev": "dfe9a33d0d9bd31650b69c36f8fff5f2d5342393",
- "type": "github"
+ "lastModified": 1714640452,
+ "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=",
+ "type": "tarball",
+ "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
},
"original": {
- "owner": "cachix",
- "repo": "nixpkgs-python",
- "type": "github"
+ "type": "tarball",
+ "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
}
},
"nixpkgs-regression": {
@@ -234,22 +211,6 @@
"type": "github"
}
},
- "nixpkgs_3": {
- "locked": {
- "lastModified": 1685974512,
- "narHash": "sha256-WLPHpe96RbPRO9iDtCxgsYkadTheRq7wqXWdGpR6g7w=",
- "owner": "domenkozar",
- "repo": "nixpkgs",
- "rev": "1102477695918daba466123cc2ef694ed3a49939",
- "type": "github"
- },
- "original": {
- "owner": "domenkozar",
- "ref": "cpython-moduralize",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
"pre-commit-hooks": {
"inputs": {
"flake-compat": [
@@ -281,9 +242,8 @@
"root": {
"inputs": {
"devenv": "devenv",
- "nixpkgs": "nixpkgs_2",
- "nixpkgs-python": "nixpkgs-python",
- "systems": "systems_3"
+ "flake-parts": "flake-parts",
+ "nixpkgs": "nixpkgs_2"
}
},
"systems": {
@@ -300,36 +260,6 @@
"repo": "default",
"type": "github"
}
- },
- "systems_2": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- },
- "systems_3": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
}
},
"root": "root",
diff --git a/flake.nix b/flake.nix
index 28ea23292..a6686959f 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,46 +1,42 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
- systems.url = "github:nix-systems/default";
devenv.url = "github:cachix/devenv";
- nixpkgs-python.url = "github:cachix/nixpkgs-python";
- };
-
- nixConfig = {
- extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=";
- extra-substituters = "https://devenv.cachix.org";
+ flake-parts.url = "github:hercules-ci/flake-parts";
};
outputs = {
self,
nixpkgs,
devenv,
- systems,
+ flake-parts,
...
- } @ inputs: let
- forEachSystem = nixpkgs.lib.genAttrs (import systems);
- in {
- devShells =
- forEachSystem
- (system: let
- pkgs = nixpkgs.legacyPackages.${system};
- in {
- default = devenv.lib.mkShell {
- inherit inputs pkgs;
- modules = [
- {
- languages.python = {
+ } @ inputs:
+ flake-parts.lib.mkFlake {inherit inputs;} {
+ imports = [inputs.devenv.flakeModule];
+ systems = ["x86_64-linux" "aarch64-darwin"];
+
+ perSystem = {pkgs, ...}: {
+ devenv.shells.default = {
+ packages = with pkgs; [maturin];
+
+ languages = {
+ python = {
+ enable = true;
+ poetry = {
enable = true;
- poetry = {
- enable = true;
- install.enable = true;
- install.allExtras = true;
- };
- version = "3.11";
+ install.enable = true;
+ install.allExtras = true;
};
- }
- ];
+ };
+ rust.enable = true;
+ };
};
- });
+ };
+ };
+
+ nixConfig = {
+ extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=";
+ extra-substituters = "https://devenv.cachix.org";
};
}
From 7f12ec35c527dad652b910eed9cf282ec319f27a Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Fri, 17 May 2024 16:57:03 +0200
Subject: [PATCH 120/216] build: Move the workspace top-level
---
crates/Cargo.lock => Cargo.lock | 0
Cargo.toml | 3 +++
crates/Cargo.toml | 3 ---
flake.lock | 30 ++++++++----------------------
flake.nix | 7 +++++--
5 files changed, 16 insertions(+), 27 deletions(-)
rename crates/Cargo.lock => Cargo.lock (100%)
create mode 100644 Cargo.toml
delete mode 100644 crates/Cargo.toml
diff --git a/crates/Cargo.lock b/Cargo.lock
similarity index 100%
rename from crates/Cargo.lock
rename to Cargo.lock
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 000000000..d7671484b
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,3 @@
+[workspace]
+members = ["crates/*"]
+resolver = "2"
diff --git a/crates/Cargo.toml b/crates/Cargo.toml
deleted file mode 100644
index 8a69f7202..000000000
--- a/crates/Cargo.toml
+++ /dev/null
@@ -1,3 +0,0 @@
-[workspace]
-
-members = ["eko", "ekore"]
diff --git a/flake.lock b/flake.lock
index b8125be0b..d66f4ed08 100644
--- a/flake.lock
+++ b/flake.lock
@@ -4,7 +4,9 @@
"inputs": {
"flake-compat": "flake-compat",
"nix": "nix",
- "nixpkgs": "nixpkgs",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": {
@@ -137,16 +139,16 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1678875422,
- "narHash": "sha256-T3o6NcQPwXjxJMn2shz86Chch4ljXgZn746c2caGxd8=",
+ "lastModified": 1715787315,
+ "narHash": "sha256-cYApT0NXJfqBkKcci7D9Kr4CBYZKOQKDYA23q8XNuWg=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "126f49a01de5b7e35a43fd43f891ecf6d3a51459",
+ "rev": "33d1e753c82ffc557b4a585c77de43d4c922ebb5",
"type": "github"
},
"original": {
"owner": "NixOS",
- "ref": "nixpkgs-unstable",
+ "ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
@@ -195,22 +197,6 @@
"type": "github"
}
},
- "nixpkgs_2": {
- "locked": {
- "lastModified": 1693183237,
- "narHash": "sha256-c7OtyBkZ/vZE/WosBpRGRtkbWZjDHGJP7fg1FyB9Dsc=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "ea5234e7073d5f44728c499192544a84244bf35a",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-23.05",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
"pre-commit-hooks": {
"inputs": {
"flake-compat": [
@@ -243,7 +229,7 @@
"inputs": {
"devenv": "devenv",
"flake-parts": "flake-parts",
- "nixpkgs": "nixpkgs_2"
+ "nixpkgs": "nixpkgs"
}
},
"systems": {
diff --git a/flake.nix b/flake.nix
index a6686959f..b2aeb1d8b 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,7 +1,10 @@
{
inputs = {
- nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
- devenv.url = "github:cachix/devenv";
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+ devenv = {
+ url = "github:cachix/devenv";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
flake-parts.url = "github:hercules-ci/flake-parts";
};
From 3d7e6bc6946bb8865629c0246108f34cb379e433 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Fri, 17 May 2024 17:01:18 +0200
Subject: [PATCH 121/216] build: Migrate metadata to workspace from individual
crates
---
Cargo.toml | 19 +++++++++++++++++++
crates/eko/Cargo.toml | 15 ++++++++++++---
crates/ekore/Cargo.toml | 15 +++++++++++----
3 files changed, 42 insertions(+), 7 deletions(-)
diff --git a/Cargo.toml b/Cargo.toml
index d7671484b..f26518890 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,3 +1,22 @@
[workspace]
members = ["crates/*"]
resolver = "2"
+
+[workspace.package]
+authors = [
+ "A. Barontini ",
+ "A. Candido ",
+ "F. Hekhorn ",
+ "N. Laurenti ",
+ "G. Magni ",
+ "T. Sharma ",
+]
+description = "Evolution Kernel Operators"
+readme = "README.md"
+categories = ["science"]
+edition = "2021"
+keywords = ["physics"]
+license = "GPL-3.0-or-later"
+repository = "https://github.com/NNPDF/eko"
+rust-version = "1.60.0"
+version = "0.0.1"
diff --git a/crates/eko/Cargo.toml b/crates/eko/Cargo.toml
index 731e1399c..40b14bb0a 100644
--- a/crates/eko/Cargo.toml
+++ b/crates/eko/Cargo.toml
@@ -1,10 +1,19 @@
[package]
name = "eko"
-version = "0.1.0"
-edition = "2021"
+
+authors.workspace = true
+description.workspace = true
+readme.workspace = true
+categories.workspace = true
+edition.workspace = true
+keywords.workspace = true
+license.workspace = true
+repository.workspace = true
+rust-version.workspace = true
+version.workspace = true
[package.metadata.docs.rs]
-rustdoc-args = [ "--html-in-header", "../katex-header.html" ]
+rustdoc-args = ["--html-in-header", "../katex-header.html"]
[lib]
name = "ekors"
diff --git a/crates/ekore/Cargo.toml b/crates/ekore/Cargo.toml
index 9dfdb7515..e25e24761 100644
--- a/crates/ekore/Cargo.toml
+++ b/crates/ekore/Cargo.toml
@@ -1,12 +1,19 @@
[package]
name = "ekore"
-version = "0.1.0"
-edition = "2021"
description = "EKO expressions"
-license = "GPL-3.0-or-later"
+
+authors.workspace = true
+readme.workspace = true
+categories.workspace = true
+edition.workspace = true
+keywords.workspace = true
+license.workspace = true
+repository.workspace = true
+rust-version.workspace = true
+version.workspace = true
[package.metadata.docs.rs]
-rustdoc-args = [ "--html-in-header", "../katex-header.html" ]
+rustdoc-args = ["--html-in-header", "../katex-header.html"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
From 1c7912fed0fddb6250fb0b7c979f3e841f0ac6a6 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Fri, 17 May 2024 18:24:31 +0200
Subject: [PATCH 122/216] ci: Provide maturin-deploying workflow
---
.github/workflows/maturin.yml | 123 ++++++++++++++++++++++++++++++++++
Cargo.lock | 4 +-
crates/eko/Cargo.toml | 2 +-
crates/eko/pyproject.toml | 2 +-
4 files changed, 127 insertions(+), 4 deletions(-)
create mode 100644 .github/workflows/maturin.yml
diff --git a/.github/workflows/maturin.yml b/.github/workflows/maturin.yml
new file mode 100644
index 000000000..f2861ce52
--- /dev/null
+++ b/.github/workflows/maturin.yml
@@ -0,0 +1,123 @@
+name: Deploy Maturin wheels
+
+on:
+ push:
+ tags:
+ - "*"
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+jobs:
+ linux:
+ runs-on: ${{ matrix.platform.runner }}
+ strategy:
+ matrix:
+ platform:
+ - runner: ubuntu-latest
+ target: x86_64
+ - runner: ubuntu-latest
+ target: x86
+ - runner: ubuntu-latest
+ target: aarch64
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
+ with:
+ python-version: "3.10"
+ - name: Build wheels
+ uses: PyO3/maturin-action@v1
+ with:
+ target: ${{ matrix.platform.target }}
+ args: --release --out dist --find-interpreter -m crates/eko/Cargo.toml
+ sccache: "true"
+ manylinux: auto
+ - name: Upload wheels
+ uses: actions/upload-artifact@v4
+ with:
+ name: wheels-linux-${{ matrix.platform.target }}
+ path: dist
+
+ windows:
+ runs-on: ${{ matrix.platform.runner }}
+ strategy:
+ matrix:
+ platform:
+ - runner: windows-latest
+ target: x64
+ - runner: windows-latest
+ target: x86
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
+ with:
+ python-version: "3.10"
+ architecture: ${{ matrix.platform.target }}
+ - name: Build wheels
+ uses: PyO3/maturin-action@v1
+ with:
+ target: ${{ matrix.platform.target }}
+ args: --release --out dist --find-interpreter -m crates/eko/Cargo.toml
+ sccache: "true"
+ - name: Upload wheels
+ uses: actions/upload-artifact@v4
+ with:
+ name: wheels-windows-${{ matrix.platform.target }}
+ path: dist
+
+ macos:
+ runs-on: ${{ matrix.platform.runner }}
+ strategy:
+ matrix:
+ platform:
+ - runner: macos-latest
+ target: x86_64
+ - runner: macos-14
+ target: aarch64
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
+ with:
+ python-version: "3.10"
+ - name: Build wheels
+ uses: PyO3/maturin-action@v1
+ with:
+ target: ${{ matrix.platform.target }}
+ args: --release --out dist --find-interpreter -m crates/eko/Cargo.toml
+ sccache: "true"
+ - name: Upload wheels
+ uses: actions/upload-artifact@v4
+ with:
+ name: wheels-macos-${{ matrix.platform.target }}
+ path: dist
+
+ sdist:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Build sdist
+ uses: PyO3/maturin-action@v1
+ with:
+ command: sdist
+ args: --out dist
+ - name: Upload sdist
+ uses: actions/upload-artifact@v4
+ with:
+ name: wheels-sdist
+ path: dist
+
+ release:
+ name: Release
+ runs-on: ubuntu-latest
+ if: "startsWith(github.ref, 'refs/tags/')"
+ needs: [linux, windows, macos, sdist]
+ steps:
+ - uses: actions/download-artifact@v4
+ - name: Publish to PyPI
+ uses: PyO3/maturin-action@v1
+ env:
+ MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
+ with:
+ command: upload
+ args: --non-interactive --skip-existing wheels-*/*
diff --git a/Cargo.lock b/Cargo.lock
index 0e6acc14f..80fa02400 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -33,7 +33,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "eko"
-version = "0.1.0"
+version = "0.0.1"
dependencies = [
"ekore",
"num",
@@ -41,7 +41,7 @@ dependencies = [
[[package]]
name = "ekore"
-version = "0.1.0"
+version = "0.0.1"
dependencies = [
"float-cmp",
"hashbrown",
diff --git a/crates/eko/Cargo.toml b/crates/eko/Cargo.toml
index 40b14bb0a..b25b785eb 100644
--- a/crates/eko/Cargo.toml
+++ b/crates/eko/Cargo.toml
@@ -21,4 +21,4 @@ crate-type = ["cdylib"]
[dependencies]
num = "0.4.1"
-ekore = { version = "0.1.0", path = "../ekore" }
+ekore = { path = "../ekore" }
diff --git a/crates/eko/pyproject.toml b/crates/eko/pyproject.toml
index cd5c25d40..7b2921e04 100644
--- a/crates/eko/pyproject.toml
+++ b/crates/eko/pyproject.toml
@@ -3,7 +3,7 @@ requires = ["maturin>=1.1,<2.0"]
build-backend = "maturin"
[project]
-name = "ekors"
+name = "eko-rs"
requires-python = ">=3.9"
classifiers = [
"Programming Language :: Rust",
From b98d28915c517c42641998eafa399ca4db5faec5 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Fri, 17 May 2024 18:38:01 +0200
Subject: [PATCH 123/216] build: Reintroduce explicit internal version
dependency
---
crates/eko/Cargo.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/crates/eko/Cargo.toml b/crates/eko/Cargo.toml
index b25b785eb..65721674a 100644
--- a/crates/eko/Cargo.toml
+++ b/crates/eko/Cargo.toml
@@ -21,4 +21,4 @@ crate-type = ["cdylib"]
[dependencies]
num = "0.4.1"
-ekore = { path = "../ekore" }
+ekore = { path = "../ekore", version = "0.0.1" }
From d3e0062768c000422692cb6726c073c4d81863a3 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Fri, 17 May 2024 20:22:18 +0200
Subject: [PATCH 124/216] build: Add script to bump versions
---
crates/bump-versions.nu | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
create mode 100644 crates/bump-versions.nu
diff --git a/crates/bump-versions.nu b/crates/bump-versions.nu
new file mode 100644
index 000000000..02aec7fdf
--- /dev/null
+++ b/crates/bump-versions.nu
@@ -0,0 +1,19 @@
+let version = "x.x.x"
+
+let crates = ls crates | where type == dir | get name | filter {|n| $"($n)/Cargo.toml" | path exists } | each {|p| split row "/" | last}
+
+def update-manifest [] {
+ let manifest = $in
+ let internals = $manifest | get dependencies | columns | where {|it| $it in $crates}
+ $internals | reduce --fold $manifest {|i, acc|
+ let field = $"dependencies.($i).version" | split row '.' | into cell-path
+ $acc | update $field $version
+ }
+}
+
+def replace-manifest [] {
+ let path = $"crates/($in)/Cargo.toml"
+ open $path | update-manifest | to toml | save -f $path
+}
+
+$crates | each {|p| $p | replace-manifest}
From 84ebeb87680d5dcae9a85dcc186c943a303e88b0 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Fri, 17 May 2024 20:29:04 +0200
Subject: [PATCH 125/216] build: Bump workspace version as well
---
crates/bump-versions.nu | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/crates/bump-versions.nu b/crates/bump-versions.nu
index 02aec7fdf..03d3cfa9b 100644
--- a/crates/bump-versions.nu
+++ b/crates/bump-versions.nu
@@ -1,5 +1,9 @@
+cd ..
+
let version = "x.x.x"
+open Cargo.toml | update workspace.package.version $version | save -f Cargo.toml
+
let crates = ls crates | where type == dir | get name | filter {|n| $"($n)/Cargo.toml" | path exists } | each {|p| split row "/" | last}
def update-manifest [] {
@@ -14,6 +18,7 @@ def update-manifest [] {
def replace-manifest [] {
let path = $"crates/($in)/Cargo.toml"
open $path | update-manifest | to toml | save -f $path
+ $path
}
-$crates | each {|p| $p | replace-manifest}
+$crates | each {|p| $p | replace-manifest} | prepend Cargo.toml
From e1da0a5b5bf4ca9689b91885991d06188afaab3d Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Fri, 17 May 2024 20:33:11 +0200
Subject: [PATCH 126/216] build: Restore pre-commit package installation in
flake
---
crates/bump-versions.nu | 4 ++--
flake.nix | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/crates/bump-versions.nu b/crates/bump-versions.nu
index 03d3cfa9b..20db6d076 100644
--- a/crates/bump-versions.nu
+++ b/crates/bump-versions.nu
@@ -4,12 +4,12 @@ let version = "x.x.x"
open Cargo.toml | update workspace.package.version $version | save -f Cargo.toml
-let crates = ls crates | where type == dir | get name | filter {|n| $"($n)/Cargo.toml" | path exists } | each {|p| split row "/" | last}
+let crates = ls crates | where type == dir | get name | filter {|n| $"($n)/Cargo.toml" | path exists } | each {|p| split row "/" | last}
def update-manifest [] {
let manifest = $in
let internals = $manifest | get dependencies | columns | where {|it| $it in $crates}
- $internals | reduce --fold $manifest {|i, acc|
+ $internals | reduce --fold $manifest {|i, acc|
let field = $"dependencies.($i).version" | split row '.' | into cell-path
$acc | update $field $version
}
diff --git a/flake.nix b/flake.nix
index b2aeb1d8b..febe22228 100644
--- a/flake.nix
+++ b/flake.nix
@@ -21,7 +21,7 @@
perSystem = {pkgs, ...}: {
devenv.shells.default = {
- packages = with pkgs; [maturin];
+ packages = with pkgs; [pre-commit maturin];
languages = {
python = {
From 2d137adae903c50571c38bbf69ebe7fda7b7a28a Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Mon, 20 May 2024 15:04:48 +0200
Subject: [PATCH 127/216] ci: Add crates publishing workflow, add branches push
events for both
---
.github/workflows/crates.yml | 31 +++++++++++++++++++++++++++++++
.github/workflows/maturin.yml | 2 ++
2 files changed, 33 insertions(+)
create mode 100644 .github/workflows/crates.yml
diff --git a/.github/workflows/crates.yml b/.github/workflows/crates.yml
new file mode 100644
index 000000000..e4b0cab0f
--- /dev/null
+++ b/.github/workflows/crates.yml
@@ -0,0 +1,31 @@
+name: Deploy Crates
+
+on:
+ push:
+ # TODO: remove branches
+ branches: ["*"]
+ tags:
+ - "*"
+ workflow_dispatch:
+
+jobs:
+ deploy:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Setup Nushell
+ uses: hustcer/setup-nu@v3.10
+ with:
+ version: 0.93.0
+ - name: Bump versions
+ shell: nu {0}
+ run: |
+ do { cd crates; nu bump-versions.nu }
+ - name: Publish crates
+ shell: nu {0}
+ run: |
+ ls crates | where type == dir
+ | get name
+ | filter {|n| $"($n)/Cargo.toml" | path exists }
+ | each {|p| split row "/" | last}
+ | each {|p| cargo publish -p $p }
diff --git a/.github/workflows/maturin.yml b/.github/workflows/maturin.yml
index f2861ce52..f6b8dd0e0 100644
--- a/.github/workflows/maturin.yml
+++ b/.github/workflows/maturin.yml
@@ -2,6 +2,8 @@ name: Deploy Maturin wheels
on:
push:
+ # TODO: remove branches
+ branches: ["*"]
tags:
- "*"
workflow_dispatch:
From b546bb8979af3056efb36cd6ff76ac33e0d63ef0 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Mon, 20 May 2024 15:08:51 +0200
Subject: [PATCH 128/216] ci: Providing missing path to maturin sdist job
---
.github/workflows/maturin.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/maturin.yml b/.github/workflows/maturin.yml
index f6b8dd0e0..9133adbe4 100644
--- a/.github/workflows/maturin.yml
+++ b/.github/workflows/maturin.yml
@@ -102,7 +102,7 @@ jobs:
uses: PyO3/maturin-action@v1
with:
command: sdist
- args: --out dist
+ args: --out dist -m crates/eko/Cargo.toml
- name: Upload sdist
uses: actions/upload-artifact@v4
with:
From 06dfc799d4aa752e6b18631cae42fa7044102b3a Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Mon, 20 May 2024 15:11:21 +0200
Subject: [PATCH 129/216] ci: Checkout repo in crate releasing worklow
---
.github/workflows/crates.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/crates.yml b/.github/workflows/crates.yml
index e4b0cab0f..b007ecf04 100644
--- a/.github/workflows/crates.yml
+++ b/.github/workflows/crates.yml
@@ -13,6 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
+ - uses: actions/checkout@v4
- name: Setup Nushell
uses: hustcer/setup-nu@v3.10
with:
From edcc4974aa174e2c49fddda4c55e79454e6952fe Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Mon, 20 May 2024 22:32:43 +0200
Subject: [PATCH 130/216] ci: Fix writing on file just read
---
crates/bump-versions.nu | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/crates/bump-versions.nu b/crates/bump-versions.nu
index 20db6d076..8815d3724 100644
--- a/crates/bump-versions.nu
+++ b/crates/bump-versions.nu
@@ -2,7 +2,8 @@ cd ..
let version = "x.x.x"
-open Cargo.toml | update workspace.package.version $version | save -f Cargo.toml
+open Cargo.toml | update workspace.package.version $version
+ | collect { save -f Cargo.toml }
let crates = ls crates | where type == dir | get name | filter {|n| $"($n)/Cargo.toml" | path exists } | each {|p| split row "/" | last}
@@ -17,7 +18,7 @@ def update-manifest [] {
def replace-manifest [] {
let path = $"crates/($in)/Cargo.toml"
- open $path | update-manifest | to toml | save -f $path
+ open $path | update-manifest | to toml | collect { save -f $path }
$path
}
From 2a2319b875b1a97b7325ced54e71e734d07dfb80 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Mon, 20 May 2024 23:02:34 +0200
Subject: [PATCH 131/216] ci: Define an alpha version to test crates release
---
crates/bump-versions.nu | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/crates/bump-versions.nu b/crates/bump-versions.nu
index 8815d3724..cc00f827f 100644
--- a/crates/bump-versions.nu
+++ b/crates/bump-versions.nu
@@ -1,6 +1,6 @@
cd ..
-let version = "x.x.x"
+let version = "0.1.1-alpha.0"
open Cargo.toml | update workspace.package.version $version
| collect { save -f Cargo.toml }
From 4e61d425504831a9d01918e9fdd7ead0513737b5 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Tue, 21 May 2024 03:10:31 +0200
Subject: [PATCH 132/216] ci: Expose cargo token from secrets
---
.github/workflows/crates.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.github/workflows/crates.yml b/.github/workflows/crates.yml
index b007ecf04..4c4c70278 100644
--- a/.github/workflows/crates.yml
+++ b/.github/workflows/crates.yml
@@ -30,3 +30,5 @@ jobs:
| filter {|n| $"($n)/Cargo.toml" | path exists }
| each {|p| split row "/" | last}
| each {|p| cargo publish -p $p }
+ env:
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
From 48b946df7f3b6ec9d708445b774d33881e7e9682 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Tue, 21 May 2024 03:12:42 +0200
Subject: [PATCH 133/216] ci: Allow dirty publish to support version bumping in
the CI
---
.github/workflows/crates.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/crates.yml b/.github/workflows/crates.yml
index 4c4c70278..aadbfe5d2 100644
--- a/.github/workflows/crates.yml
+++ b/.github/workflows/crates.yml
@@ -29,6 +29,6 @@ jobs:
| get name
| filter {|n| $"($n)/Cargo.toml" | path exists }
| each {|p| split row "/" | last}
- | each {|p| cargo publish -p $p }
+ | each {|p| cargo publish -p $p --allow-dirty }
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
From 8e44182d30a6923050efbfe240fdbf4a329afdd6 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Tue, 21 May 2024 03:45:56 +0200
Subject: [PATCH 134/216] ci: Define release order for crates
---
.github/workflows/crates.yml | 6 +-----
crates/README.md | 11 +++++++++++
crates/bump-versions.nu | 4 ++--
crates/release.json | 1 +
4 files changed, 15 insertions(+), 7 deletions(-)
create mode 100644 crates/README.md
create mode 100644 crates/release.json
diff --git a/.github/workflows/crates.yml b/.github/workflows/crates.yml
index aadbfe5d2..fbad509cd 100644
--- a/.github/workflows/crates.yml
+++ b/.github/workflows/crates.yml
@@ -25,10 +25,6 @@ jobs:
- name: Publish crates
shell: nu {0}
run: |
- ls crates | where type == dir
- | get name
- | filter {|n| $"($n)/Cargo.toml" | path exists }
- | each {|p| split row "/" | last}
- | each {|p| cargo publish -p $p --allow-dirty }
+ open crates/release.json | each {|p| cargo publish -p $p --allow-dirty }
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
diff --git a/crates/README.md b/crates/README.md
new file mode 100644
index 000000000..776a5ad07
--- /dev/null
+++ b/crates/README.md
@@ -0,0 +1,11 @@
+# Crates
+
+...
+
+## Files
+
+- `release.json` defines the releasing order of crates
+ - only listed crates will be released
+ - dependent crates should follow those they are depending on
+- `katex-header.html` is an HTML snippet to be included in every docs page to inject
+ KaTeX support
diff --git a/crates/bump-versions.nu b/crates/bump-versions.nu
index cc00f827f..09970a1d4 100644
--- a/crates/bump-versions.nu
+++ b/crates/bump-versions.nu
@@ -1,11 +1,11 @@
cd ..
-let version = "0.1.1-alpha.0"
+let version = "0.1.1-alpha.1"
open Cargo.toml | update workspace.package.version $version
| collect { save -f Cargo.toml }
-let crates = ls crates | where type == dir | get name | filter {|n| $"($n)/Cargo.toml" | path exists } | each {|p| split row "/" | last}
+let crates = open crates/release.json
def update-manifest [] {
let manifest = $in
diff --git a/crates/release.json b/crates/release.json
new file mode 100644
index 000000000..c2b9f6f54
--- /dev/null
+++ b/crates/release.json
@@ -0,0 +1 @@
+["ekore", "eko"]
From 92622afdf0a4ce8ac754831e63f35e8c33b58485 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 21 May 2024 05:36:24 +0000
Subject: [PATCH 135/216] --- updated-dependencies: - dependency-name: requests
dependency-type: indirect ...
Signed-off-by: dependabot[bot]
---
poetry.lock | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index 0e7243979..5b621869b 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -2523,13 +2523,13 @@ rpds-py = ">=0.7.0"
[[package]]
name = "requests"
-version = "2.31.0"
+version = "2.32.0"
description = "Python HTTP for Humans."
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"},
- {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"},
+ {file = "requests-2.32.0-py3-none-any.whl", hash = "sha256:f2c3881dddb70d056c5bd7600a4fae312b2a300e39be6a118d30b90bd27262b5"},
+ {file = "requests-2.32.0.tar.gz", hash = "sha256:fa5490319474c82ef1d2c9bc459d3652e3ae4ef4c4ebdd18a21145a47ca4b6b8"},
]
[package.dependencies]
From a57ca34576336b24514a896b7ec1cdc7f721eddf Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 21 May 2024 10:50:30 +0300
Subject: [PATCH 136/216] rust: Fix KaTeX location
---
crates/eko/Cargo.toml | 2 +-
crates/ekore/Cargo.toml | 2 +-
pyproject.toml.patch | 12 ++++++------
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/crates/eko/Cargo.toml b/crates/eko/Cargo.toml
index 65721674a..75fc71473 100644
--- a/crates/eko/Cargo.toml
+++ b/crates/eko/Cargo.toml
@@ -13,7 +13,7 @@ rust-version.workspace = true
version.workspace = true
[package.metadata.docs.rs]
-rustdoc-args = ["--html-in-header", "../katex-header.html"]
+rustdoc-args = ["--html-in-header", "crates/katex-header.html"]
[lib]
name = "ekors"
diff --git a/crates/ekore/Cargo.toml b/crates/ekore/Cargo.toml
index e25e24761..0941eed36 100644
--- a/crates/ekore/Cargo.toml
+++ b/crates/ekore/Cargo.toml
@@ -13,7 +13,7 @@ rust-version.workspace = true
version.workspace = true
[package.metadata.docs.rs]
-rustdoc-args = ["--html-in-header", "../katex-header.html"]
+rustdoc-args = ["--html-in-header", "crates/katex-header.html"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
diff --git a/pyproject.toml.patch b/pyproject.toml.patch
index 8e9119a23..44b4c61e2 100644
--- a/pyproject.toml.patch
+++ b/pyproject.toml.patch
@@ -1,5 +1,5 @@
diff --git a/pyproject.toml b/pyproject.toml
-index 7404d871..a1e3ae66 100644
+index 7404d871..3d19827b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,20 @@
@@ -30,11 +30,11 @@ index 7404d871..a1e3ae66 100644
asv-clean = { "shell" = "rm -rf benchmarks/env benchmarks/html benchmarks/results" }
asv = ["asv-run", "asv-publish", "asv-preview"]
+compile = "pip install -e crates/eko/"
-+rdocs.cmd = "cargo doc --workspace --manifest-path crates/Cargo.toml --no-deps"
-+rdocs.env = { RUSTDOCFLAGS = "--html-in-header katex-header.html" }
-+rdocs-view = "xdg-open crates/target/doc/ekors/index.html"
-+rdocs-clean = "rm -rf crates/target/doc/"
-+rtest = "cargo test --workspace --manifest-path crates/Cargo.toml"
++rdocs.cmd = "cargo doc --workspace --no-deps"
++rdocs.env = { RUSTDOCFLAGS = "--html-in-header crates/katex-header.html" }
++rdocs-view = "xdg-open target/doc/ekors/index.html"
++rdocs-clean = "rm -rf target/doc/"
++rtest = "cargo test --workspace"
[tool.pytest.ini_options]
testpaths = ['tests/', 'benchmarks/']
From a7ad7d075c7600cc08e60d67f45457d4f84dcbf1 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Tue, 21 May 2024 09:52:30 +0200
Subject: [PATCH 137/216] ci: Bump prerelease version once more
---
crates/bump-versions.nu | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/crates/bump-versions.nu b/crates/bump-versions.nu
index 09970a1d4..b12296e7f 100644
--- a/crates/bump-versions.nu
+++ b/crates/bump-versions.nu
@@ -1,6 +1,6 @@
cd ..
-let version = "0.1.1-alpha.1"
+let version = "0.1.1-alpha.2"
open Cargo.toml | update workspace.package.version $version
| collect { save -f Cargo.toml }
From f860d2de05a0bd0c3f1a69ca62098b0291a239d3 Mon Sep 17 00:00:00 2001
From: tgiani
Date: Tue, 21 May 2024 10:08:34 +0200
Subject: [PATCH 138/216] starting on as2
---
.../unpolarized/spacelike.rs | 1 +
.../unpolarized/spacelike/as2.rs | 77 +++++++++++++++++++
2 files changed, 78 insertions(+)
create mode 100644 crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
index c2d0fb0d7..b83ddf1e5 100644
--- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
@@ -4,6 +4,7 @@ use crate::harmonics::cache::Cache;
use num::complex::Complex;
use num::Zero;
pub mod as1;
+pub mod as2;
/// Compute the tower of the non-singlet anomalous dimensions.
pub fn gamma_ns_qcd(order_qcd: usize, _mode: u16, c: &mut Cache, nf: u8) -> Vec> {
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
new file mode 100644
index 000000000..cdb307a7c
--- /dev/null
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
@@ -0,0 +1,77 @@
+//! NLO QCD
+
+use::num::complex::Complex;
+use std::f64::consts::LN_2;
+
+use crate::constants::{CA, CF, TR, ZETA2, ZETA3};
+use crate::harmonics::cache::{Cache, K};
+
+
+/// Compute the valence-like non-singlet anomalous dimension.
+///
+/// Implements Eq. (3.5) of [\[Moch:2004pa\]][crate::bib::Moch2004pa].
+pub fn gamma_nsm(c: &mut Cache, _nf: u8) -> Complex {
+ let N = c.n;
+ let S1 = c.get(K::S1);
+ let S2 = c.get(K::S2);
+ let Sp1m = c.get(K::S1mh);
+ let Sp2m = c.get(K::S2mh);
+ let Sp3m = c.get(K::S3mh);
+ let g3n = c.get(K::G3);
+
+ let gqq1m_cfca = 16.0 * g3n - (144.0 + N * (1.0 + N) * (156.0 + N * (340.0 + N * (655.0 + 51.0 * N * (2.0 + N)))))/(18.0 * N.powu(3)*(1. + N).powu(3)) + (-14.666666666666666 + 8.0 / N - 8.0 / (1.0 + N))*S2 - (4.0 * Sp2m)/(N + N.powu(2)) + S1*(29.77777777777778 + 16.0 / N.powu(2) - 16.0 * S2 + 8.0 * Sp2m) + 2.0 * Sp3m + 10.0 * ZETA3 + ZETA2 * (16.0 * S1 - 16.0 * Sp1m - (16.0 * (1. + N * LN_2))/N);
+ let gqq1m_cfcf = -32. * g3n + (24. - N * (-32. + 3. * N * (-8. + N * (3. + N) * (3. + N.powu(2)))))/(2. * N.powu(3) * (1. + N).powu(3)) + (12. - 8. / N + 8./(1. + N)) * S2 + S1 * (-24. / N.powu(2) - 8./(1. + N).powu(2) + 16. * S2 - 16. * Sp2m) + (8. * Sp2m)/(N + N.powu(2)) - 4. * Sp3m - 20. * ZETA3 + ZETA2 * (-32. * S1 + 32. * Sp1m + 32. * (1. / N + LN_2));
+ let gqq1m_cfnf = (-12. + N * (20. + N * (47. + 3. * N * (2. + N))))/(9. * N.powu(2) * (1. + N).powu(2)) - (40. * S1)/9. + (8. * S2)/3.;
+
+ CF * ( CA * gqq1m_cfca + CF * gqq1m_cfcf + 2.0 * TR * (_nf as f64) * gqq1m_cfnf )
+}
+
+
+/// Compute the singlet-like non-singlet anomalous dimension.
+///
+/// Implements Eq. (3.5) of [\[Moch:2004pa\]][crate::bib::Moch2004pa].
+pub fn gamma_nsp(c: &mut Cache, _nf: u8) -> Complex {
+ let N = c.n;
+ let S1 = c.get(K::S1);
+ let S2 = c.get(K::S2);
+ let Sp1p = c.get(K::S1h);
+ let Sp2p = c.get(K::S2h);
+ let Sp3p = c.get(K::S3h);
+ let g3n = c.get(K::G3);
+
+ let gqq1p_cfca = -16. * g3n + (132. - N * (340. + N * (655. + 51. * N * (2. + N)))) / (18. * N.powu(2) * (1. + N).powu(2)) + (-14.666666666666666 + 8./N - 8./(1. + N)) * S2 - (4.*Sp2p)/(N + N.powu(2)) + S1*(29.77777777777778 - 16./N.powu(2) - 16. * S2 + 8. * Sp2p) + 2. * Sp3p + 10. * ZETA3 + ZETA2 * (16. * S1 - 16. * Sp1p + 16. * (1./N - LN_2));
+ let gqq1p_cfcf = 32. * g3n - (8. + N * (32. + N * (40. + 3. * N * (3. + N) * (3. + N.powu(2))))) / (2. * N.powu(3) * (1. + N).powu(3)) + (12. - 8. / N + 8. / (1. + N)) * S2 + S1 * (40. / N.powu(2) - 8. / (1. + N).powu(2) + 16. * S2 - 16. * Sp2p) + (8. * Sp2p)/(N + N.powu(2)) - 4. * Sp3p - 20. * ZETA3 + ZETA2 * (-32. * S1 + 32. * Sp1p + 32. * (-(1./N) + LN_2));
+ let gqq1p_cfnf = (-12. + N * (20. + N * (47. + 3. * N * (2. + N))))/(9. * N.powu(2) * (1. + N).powu(2)) - (40. * S1) / 9. + (8. * S2) / 3.;
+
+ CF * ( CA * gqq1p_cfca + CF * gqq1p_cfcf + 2.0 * TR * (_nf as f64) * gqq1p_cfnf)
+
+
+}
+
+#[cfg(test)]
+mod tests {
+ use crate::cmplx;
+ use crate::constants::{CA, CF, TR, ZETA2, ZETA3};
+ use crate::{anomalous_dimensions::unpolarized::spacelike::as2::*, harmonics::cache::Cache};
+ use float_cmp::assert_approx_eq;
+ use num::complex::Complex;
+ use std::f64::consts::{PI, LN_2};
+ use num::traits::Pow;
+
+ const NF: u8 = 5;
+
+ #[test]
+ fn try_test() {
+ let mut c = Cache::new(cmplx![1., 0.]);
+ let me = gamma_nsm(&mut c, NF);
+ assert_approx_eq!(f64, me.re, 0.0, epsilon=2e-6);
+
+ let mut c = Cache::new(cmplx![2., 0.]);
+ let me = gamma_nsp(&mut c, NF);
+ let check = (-112.0 * CF + 376.0 * CA - 64.0 * (NF as f64)) * CF / 27.0;
+ assert_approx_eq!(f64, me.re, check, epsilon=2e-6);
+
+ }
+
+
+}
\ No newline at end of file
From b7df850b4242209f9cecf93b414b147a6f7f0d32 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Tue, 21 May 2024 11:27:16 +0200
Subject: [PATCH 139/216] docs: Symlink katex header in individual crates
---
crates/bump-versions.nu | 2 +-
crates/eko/Cargo.toml | 2 +-
crates/eko/katex-header.toml | 1 +
crates/ekore/Cargo.toml | 2 +-
crates/ekore/katex-header.toml | 1 +
5 files changed, 5 insertions(+), 3 deletions(-)
create mode 120000 crates/eko/katex-header.toml
create mode 120000 crates/ekore/katex-header.toml
diff --git a/crates/bump-versions.nu b/crates/bump-versions.nu
index b12296e7f..92290c63f 100644
--- a/crates/bump-versions.nu
+++ b/crates/bump-versions.nu
@@ -1,6 +1,6 @@
cd ..
-let version = "0.1.1-alpha.2"
+let version = "0.1.1-alpha.3"
open Cargo.toml | update workspace.package.version $version
| collect { save -f Cargo.toml }
diff --git a/crates/eko/Cargo.toml b/crates/eko/Cargo.toml
index 75fc71473..0fc9b2ee7 100644
--- a/crates/eko/Cargo.toml
+++ b/crates/eko/Cargo.toml
@@ -13,7 +13,7 @@ rust-version.workspace = true
version.workspace = true
[package.metadata.docs.rs]
-rustdoc-args = ["--html-in-header", "crates/katex-header.html"]
+rustdoc-args = ["--html-in-header", "katex-header.html"]
[lib]
name = "ekors"
diff --git a/crates/eko/katex-header.toml b/crates/eko/katex-header.toml
new file mode 120000
index 000000000..810e68dcb
--- /dev/null
+++ b/crates/eko/katex-header.toml
@@ -0,0 +1 @@
+../katex-header.html
\ No newline at end of file
diff --git a/crates/ekore/Cargo.toml b/crates/ekore/Cargo.toml
index 0941eed36..86e9784eb 100644
--- a/crates/ekore/Cargo.toml
+++ b/crates/ekore/Cargo.toml
@@ -13,7 +13,7 @@ rust-version.workspace = true
version.workspace = true
[package.metadata.docs.rs]
-rustdoc-args = ["--html-in-header", "crates/katex-header.html"]
+rustdoc-args = ["--html-in-header", "katex-header.html"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
diff --git a/crates/ekore/katex-header.toml b/crates/ekore/katex-header.toml
new file mode 120000
index 000000000..810e68dcb
--- /dev/null
+++ b/crates/ekore/katex-header.toml
@@ -0,0 +1 @@
+../katex-header.html
\ No newline at end of file
From 06c4cf1cc6af334f8a9c0bc6d1387788dc46a3f4 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Tue, 21 May 2024 11:49:06 +0200
Subject: [PATCH 140/216] docs: Fix extensions
---
crates/bump-versions.nu | 2 +-
crates/eko/{katex-header.toml => katex-header.html} | 0
crates/ekore/{katex-header.toml => katex-header.html} | 0
3 files changed, 1 insertion(+), 1 deletion(-)
rename crates/eko/{katex-header.toml => katex-header.html} (100%)
rename crates/ekore/{katex-header.toml => katex-header.html} (100%)
diff --git a/crates/bump-versions.nu b/crates/bump-versions.nu
index 92290c63f..67b2ca0e1 100644
--- a/crates/bump-versions.nu
+++ b/crates/bump-versions.nu
@@ -1,6 +1,6 @@
cd ..
-let version = "0.1.1-alpha.3"
+let version = "0.1.1-alpha.4"
open Cargo.toml | update workspace.package.version $version
| collect { save -f Cargo.toml }
diff --git a/crates/eko/katex-header.toml b/crates/eko/katex-header.html
similarity index 100%
rename from crates/eko/katex-header.toml
rename to crates/eko/katex-header.html
diff --git a/crates/ekore/katex-header.toml b/crates/ekore/katex-header.html
similarity index 100%
rename from crates/ekore/katex-header.toml
rename to crates/ekore/katex-header.html
From b83d1bd5a16494a86724219bdba37261d84ce0f0 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Tue, 21 May 2024 13:08:23 +0200
Subject: [PATCH 141/216] build: Convert Nu script to python
---
crates/bump-versions.py | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
create mode 100644 crates/bump-versions.py
diff --git a/crates/bump-versions.py b/crates/bump-versions.py
new file mode 100644
index 000000000..571944123
--- /dev/null
+++ b/crates/bump-versions.py
@@ -0,0 +1,38 @@
+import json
+from pathlib import Path
+
+import tomlkit
+
+HERE = Path(__file__).parent
+CRATES = json.loads((HERE / "release.json").read_text())
+
+VERSION = "0.1.1-alpha.5"
+
+
+def workspace(manifest, version):
+ manifest["workspace"]["package"]["version"] = version
+ return manifest
+
+
+def crate(manifest, version):
+ internals = set(manifest["dependencies"].keys()).intersection(CRATES)
+ for dep in internals:
+ manifest["dependencies"][dep]["version"] = version
+ return manifest
+
+
+def update(path, version, edit):
+ path = HERE / Path(path) / "Cargo.toml"
+ manifest = tomlkit.parse(path.read_text())
+ manifest = edit(manifest, version)
+ path.write_text(tomlkit.dumps(manifest))
+
+
+def main():
+ update("..", VERSION, workspace)
+ for name in CRATES:
+ update(name, VERSION, crate)
+
+
+if __name__ == "__main__":
+ main()
From 4b29ceec7edcc361ddb6cc877382aa70e6dde36e Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Tue, 21 May 2024 13:21:31 +0200
Subject: [PATCH 142/216] build: Add poe script to bump versions
---
flake.nix | 2 +-
poetry.lock | 8 ++++----
pyproject.toml | 5 +++++
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/flake.nix b/flake.nix
index febe22228..ffed59900 100644
--- a/flake.nix
+++ b/flake.nix
@@ -21,7 +21,7 @@
perSystem = {pkgs, ...}: {
devenv.shells.default = {
- packages = with pkgs; [pre-commit maturin];
+ packages = with pkgs; [pre-commit poethepoet maturin];
languages = {
python = {
diff --git a/poetry.lock b/poetry.lock
index 0e7243979..b07cdc33c 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -3052,13 +3052,13 @@ files = [
[[package]]
name = "tomlkit"
-version = "0.12.4"
+version = "0.12.5"
description = "Style preserving TOML library"
optional = false
python-versions = ">=3.7"
files = [
- {file = "tomlkit-0.12.4-py3-none-any.whl", hash = "sha256:5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b"},
- {file = "tomlkit-0.12.4.tar.gz", hash = "sha256:7ca1cfc12232806517a8515047ba66a19369e71edf2439d0f5824f91032b6cc3"},
+ {file = "tomlkit-0.12.5-py3-none-any.whl", hash = "sha256:af914f5a9c59ed9d0762c7b64d3b5d5df007448eb9cd2edc8a46b1eafead172f"},
+ {file = "tomlkit-0.12.5.tar.gz", hash = "sha256:eef34fba39834d4d6b73c9ba7f3e4d1c417a4e56f89a7e96e090dd0d24b8fb3c"},
]
[[package]]
@@ -3216,4 +3216,4 @@ mark = ["banana-hep", "matplotlib", "pandas", "sqlalchemy"]
[metadata]
lock-version = "2.0"
python-versions = "^3.9,<3.13"
-content-hash = "0edd5a00d479078efaa77b4bd5f72810ba42a6d8d82a9460f1e2ace80d5d6851"
+content-hash = "075575a682ab1f660b2dd3c0fc20b9c1a43ebb6e50d5d3a5d786a865810718fe"
diff --git a/pyproject.toml b/pyproject.toml
index 7404d8711..088cab323 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -78,6 +78,10 @@ asv = "^0.4.2"
virtualenv = "^20.13.2"
devtools = "^0.10.0"
+
+[tool.poetry.group.version.dependencies]
+tomlkit = "^0.12.5"
+
[tool.poetry.extras]
mark = ["banana-hep", "sqlalchemy", "pandas", "matplotlib"]
box = ["rich", "click"]
@@ -124,6 +128,7 @@ asv-publish = "asv publish --config benchmarks/asv.conf.json"
asv-show = "asv show --config benchmarks/asv.conf.json"
asv-clean = { "shell" = "rm -rf benchmarks/env benchmarks/html benchmarks/results" }
asv = ["asv-run", "asv-publish", "asv-preview"]
+bump-version = "python crates/bump-versions.py"
[tool.pytest.ini_options]
testpaths = ['tests/', 'benchmarks/']
From dde27b4fdef253a7b5f76cadf9b9209c3bb42f66 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Tue, 21 May 2024 15:05:00 +0200
Subject: [PATCH 143/216] ci: Rearrange crates deployment with python script
---
.github/workflows/crates.yml | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/crates.yml b/.github/workflows/crates.yml
index fbad509cd..81a295dc1 100644
--- a/.github/workflows/crates.yml
+++ b/.github/workflows/crates.yml
@@ -14,17 +14,19 @@ jobs:
steps:
- uses: actions/checkout@v4
- - name: Setup Nushell
- uses: hustcer/setup-nu@v3.10
+ - uses: actions/setup-python@v5
+ - name: Install and configure Poetry
+ uses: snok/install-poetry@v1
with:
- version: 0.93.0
+ virtualenvs-create: false
+ - name: Install task runner
+ run: pip install poethepoet
- name: Bump versions
- shell: nu {0}
run: |
- do { cd crates; nu bump-versions.nu }
+ poetry install --only version
+ poe bump-version
- name: Publish crates
- shell: nu {0}
run: |
- open crates/release.json | each {|p| cargo publish -p $p --allow-dirty }
+ jq '.[]' release.json | xargs -I _ cargo publish -p _ --allow-dirty
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
From 5138556fd53f76fedeb7fed205a0b829e4bc2b5d Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Tue, 21 May 2024 15:08:51 +0200
Subject: [PATCH 144/216] ci: Use virtual environment
---
.github/workflows/crates.yml | 2 --
1 file changed, 2 deletions(-)
diff --git a/.github/workflows/crates.yml b/.github/workflows/crates.yml
index 81a295dc1..6b86c40cf 100644
--- a/.github/workflows/crates.yml
+++ b/.github/workflows/crates.yml
@@ -17,8 +17,6 @@ jobs:
- uses: actions/setup-python@v5
- name: Install and configure Poetry
uses: snok/install-poetry@v1
- with:
- virtualenvs-create: false
- name: Install task runner
run: pip install poethepoet
- name: Bump versions
From bc7457a25c1fd644ea863613da2da48fb5459917 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Tue, 21 May 2024 15:09:21 +0200
Subject: [PATCH 145/216] ci: Remove bumping script in Nu
---
crates/bump-versions.nu | 25 -------------------------
1 file changed, 25 deletions(-)
delete mode 100644 crates/bump-versions.nu
diff --git a/crates/bump-versions.nu b/crates/bump-versions.nu
deleted file mode 100644
index 67b2ca0e1..000000000
--- a/crates/bump-versions.nu
+++ /dev/null
@@ -1,25 +0,0 @@
-cd ..
-
-let version = "0.1.1-alpha.4"
-
-open Cargo.toml | update workspace.package.version $version
- | collect { save -f Cargo.toml }
-
-let crates = open crates/release.json
-
-def update-manifest [] {
- let manifest = $in
- let internals = $manifest | get dependencies | columns | where {|it| $it in $crates}
- $internals | reduce --fold $manifest {|i, acc|
- let field = $"dependencies.($i).version" | split row '.' | into cell-path
- $acc | update $field $version
- }
-}
-
-def replace-manifest [] {
- let path = $"crates/($in)/Cargo.toml"
- open $path | update-manifest | to toml | collect { save -f $path }
- $path
-}
-
-$crates | each {|p| $p | replace-manifest} | prepend Cargo.toml
From 5dc88357079bd1d68099a8c03c861e43befedc13 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Tue, 21 May 2024 15:11:39 +0200
Subject: [PATCH 146/216] ci: Fix crates definition path
---
.github/workflows/crates.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/crates.yml b/.github/workflows/crates.yml
index 6b86c40cf..da2a45b98 100644
--- a/.github/workflows/crates.yml
+++ b/.github/workflows/crates.yml
@@ -25,6 +25,6 @@ jobs:
poe bump-version
- name: Publish crates
run: |
- jq '.[]' release.json | xargs -I _ cargo publish -p _ --allow-dirty
+ jq '.[]' crates/release.json | xargs -I _ cargo publish -p _ --allow-dirty
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
From 0cb7087ce89312fddc4d8a00a84b409ef02d3a79 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 21 May 2024 17:39:10 +0300
Subject: [PATCH 147/216] rust: Fix pyproject patch
---
pyproject.toml.patch | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pyproject.toml.patch b/pyproject.toml.patch
index 44b4c61e2..6e9d97689 100644
--- a/pyproject.toml.patch
+++ b/pyproject.toml.patch
@@ -1,5 +1,5 @@
diff --git a/pyproject.toml b/pyproject.toml
-index 7404d871..3d19827b 100644
+index 088cab32..0d486637 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,20 @@
@@ -25,10 +25,10 @@ index 7404d871..3d19827b 100644
[tool.poetry]
name = "eko"
-@@ -124,6 +138,12 @@ asv-publish = "asv publish --config benchmarks/asv.conf.json"
- asv-show = "asv show --config benchmarks/asv.conf.json"
+@@ -129,6 +143,12 @@ asv-show = "asv show --config benchmarks/asv.conf.json"
asv-clean = { "shell" = "rm -rf benchmarks/env benchmarks/html benchmarks/results" }
asv = ["asv-run", "asv-publish", "asv-preview"]
+ bump-version = "python crates/bump-versions.py"
+compile = "pip install -e crates/eko/"
+rdocs.cmd = "cargo doc --workspace --no-deps"
+rdocs.env = { RUSTDOCFLAGS = "--html-in-header crates/katex-header.html" }
From 3bf0ddfce55546c48659b35698d3b49fce568db5 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 21 May 2024 17:53:36 +0300
Subject: [PATCH 148/216] rust: Expose S3,S4
---
crates/ekore/src/constants.rs | 5 +++++
crates/ekore/src/harmonics.rs | 1 +
crates/ekore/src/harmonics/cache.rs | 8 +++++++-
crates/ekore/src/harmonics/w4.rs | 13 +++++++++++++
4 files changed, 26 insertions(+), 1 deletion(-)
create mode 100644 crates/ekore/src/harmonics/w4.rs
diff --git a/crates/ekore/src/constants.rs b/crates/ekore/src/constants.rs
index fe3add528..de882b5ea 100644
--- a/crates/ekore/src/constants.rs
+++ b/crates/ekore/src/constants.rs
@@ -27,3 +27,8 @@ pub const ZETA2: f64 = 1.6449340668482264;
/// Riemann zeta function at z = 3.
pub const ZETA3: f64 = 1.2020569031595942;
+
+/// Riemann zeta function at z = 4.
+///
+/// $\zeta(4) = \pi^4 / 90$.
+pub const ZETA4: f64 = 1.082323233711138;
diff --git a/crates/ekore/src/harmonics.rs b/crates/ekore/src/harmonics.rs
index bec73caf6..a8a3b3241 100644
--- a/crates/ekore/src/harmonics.rs
+++ b/crates/ekore/src/harmonics.rs
@@ -6,3 +6,4 @@ pub mod polygamma;
pub mod w1;
pub mod w2;
pub mod w3;
+pub mod w4;
diff --git a/crates/ekore/src/harmonics/cache.rs b/crates/ekore/src/harmonics/cache.rs
index 8a88dcdf1..80e1ddfe2 100644
--- a/crates/ekore/src/harmonics/cache.rs
+++ b/crates/ekore/src/harmonics/cache.rs
@@ -3,7 +3,7 @@
use hashbrown::HashMap;
use num::{complex::Complex, Zero};
-use crate::harmonics::{g_functions, w1, w2, w3};
+use crate::harmonics::{g_functions, w1, w2, w3, w4};
/// List of available elements.
#[derive(Debug, PartialEq, Eq, Hash)]
@@ -12,6 +12,10 @@ pub enum K {
S1,
/// $S_2(N)$
S2,
+ /// $S_3(N)$
+ S3,
+ /// $S_4(N)$
+ S4,
/// $S_1(N/2)$
S1h,
/// $S_2(N/2)$
@@ -56,6 +60,8 @@ impl Cache {
let val = match k {
K::S1 => w1::S1(self.n),
K::S2 => w2::S2(self.n),
+ K::S3 => w3::S3(self.n),
+ K::S4 => w4::S4(self.n),
K::S1h => w1::S1(self.n / 2.),
K::S2h => w2::S2(self.n / 2.),
K::S3h => w3::S3(self.n / 2.),
diff --git a/crates/ekore/src/harmonics/w4.rs b/crates/ekore/src/harmonics/w4.rs
new file mode 100644
index 000000000..66835ac5f
--- /dev/null
+++ b/crates/ekore/src/harmonics/w4.rs
@@ -0,0 +1,13 @@
+//! Harmonic sums of weight 4.
+use num::complex::Complex;
+
+use crate::constants::ZETA4;
+use crate::harmonics::polygamma::cern_polygamma;
+
+/// Compute the harmonic sum $S_4(N)$.
+///
+/// $$S_4(N) = \sum\limits_{j=1}^N \frac 1 {j^4} = - \frac 1 6 \psi_3(N+1)+\zeta(4)$$
+/// with $\psi_3(N)$ the 3rd polygamma function and $\zeta$ the Riemann zeta function.
+pub fn S4(N: Complex) -> Complex {
+ ZETA4 - 1.0 / 6.0 * cern_polygamma(N + 1.0, 3)
+}
From 0dda16ce357b8d18b2fd44c7a6f4ac68c225306d Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 21 May 2024 18:02:43 +0300
Subject: [PATCH 149/216] rust: Extend recursive_harmonic_sum test
---
crates/ekore/src/harmonics/cache.rs | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/crates/ekore/src/harmonics/cache.rs b/crates/ekore/src/harmonics/cache.rs
index 80e1ddfe2..88884590f 100644
--- a/crates/ekore/src/harmonics/cache.rs
+++ b/crates/ekore/src/harmonics/cache.rs
@@ -95,22 +95,25 @@ pub fn recursive_harmonic_sum(
#[cfg(test)]
mod tests {
use crate::harmonics::cache::recursive_harmonic_sum;
- use crate::harmonics::w1;
+ use crate::harmonics::{w1, w2, w3, w4};
use crate::{assert_approx_eq_cmplx, cmplx};
use num::complex::Complex;
#[test]
fn test_recursive_harmonic_sum() {
+ const SX: [fn(Complex) -> Complex; 4] = [w1::S1, w2::S2, w3::S3, w4::S4];
const NS: [Complex; 2] = [cmplx![1.0, 0.0], cmplx![2.34, 3.45]];
const ITERS: [usize; 2] = [1, 2];
- for nit in NS.iter().enumerate() {
- let n = *nit.1;
- for iit in ITERS.iter().enumerate() {
- let iterations = *iit.1;
- let s1_base = w1::S1(n);
- let s1_test = w1::S1(n + (iterations as f64));
- let s1_ref = recursive_harmonic_sum(s1_base, n, iterations, 1);
- assert_approx_eq_cmplx!(f64, s1_test, s1_ref);
+ for sit in SX.iter().enumerate() {
+ for nit in NS.iter().enumerate() {
+ let n = *nit.1;
+ for iit in ITERS.iter().enumerate() {
+ let iterations = *iit.1;
+ let s_base = sit.1(n);
+ let s_test = sit.1(n + (iterations as f64));
+ let s_ref = recursive_harmonic_sum(s_base, n, iterations, 1 + (sit.0 as u32));
+ assert_approx_eq_cmplx!(f64, s_test, s_ref);
+ }
}
}
}
From 929a1de37ea3bd1a80d6949c5109d3c1128da11b Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 21 May 2024 18:26:17 +0300
Subject: [PATCH 150/216] Fix as1 nsm ref
---
.../src/anomalous_dimensions/unpolarized/spacelike/as2.rs | 4 ++--
src/ekore/anomalous_dimensions/unpolarized/space_like/as2.py | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
index cdb307a7c..29a015ff2 100644
--- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
@@ -9,7 +9,7 @@ use crate::harmonics::cache::{Cache, K};
/// Compute the valence-like non-singlet anomalous dimension.
///
-/// Implements Eq. (3.5) of [\[Moch:2004pa\]][crate::bib::Moch2004pa].
+/// Implements Eq. (3.6) of [\[Moch:2004pa\]][crate::bib::Moch2004pa].
pub fn gamma_nsm(c: &mut Cache, _nf: u8) -> Complex {
let N = c.n;
let S1 = c.get(K::S1);
@@ -74,4 +74,4 @@ mod tests {
}
-}
\ No newline at end of file
+}
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as2.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as2.py
index 01a115c5b..28f8533f4 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as2.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as2.py
@@ -18,7 +18,7 @@
def gamma_nsm(n, nf, cache):
r"""Compute the |NLO| valence-like non-singlet anomalous dimension.
- Implements Eq. (3.5) of :cite:`Moch:2004pa`.
+ Implements Eq. (3.6) of :cite:`Moch:2004pa`.
Parameters
----------
From b0b170a311cbbde108c13b62898b434dfe73d1a6 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 22 May 2024 11:05:27 +0300
Subject: [PATCH 151/216] Add Rust unit tests
---
.github/workflows/unittests-rust.yml | 27 +++++++++++++++++++++++++++
pyproject.toml | 6 ++++++
pyproject.toml.patch | 13 -------------
3 files changed, 33 insertions(+), 13 deletions(-)
create mode 100644 .github/workflows/unittests-rust.yml
diff --git a/.github/workflows/unittests-rust.yml b/.github/workflows/unittests-rust.yml
new file mode 100644
index 000000000..d4bdaf5f8
--- /dev/null
+++ b/.github/workflows/unittests-rust.yml
@@ -0,0 +1,27 @@
+name: Rust unit tests
+
+on:
+ push:
+ # TODO: remove branches
+ branches: ["*"]
+
+jobs:
+ test-rust:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
+ # - name: Install and configure Poetry
+ # uses: snok/install-poetry@v1
+ - name: Install stable toolchain
+ uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: stable
+ override: true
+ - name: Install task runner
+ run: pip install poethepoet
+ - name: Run Rust unit tests
+ run: |
+ # poetry install
+ poe rtest
diff --git a/pyproject.toml b/pyproject.toml
index 7404d8711..173e7fc8f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -124,6 +124,12 @@ asv-publish = "asv publish --config benchmarks/asv.conf.json"
asv-show = "asv show --config benchmarks/asv.conf.json"
asv-clean = { "shell" = "rm -rf benchmarks/env benchmarks/html benchmarks/results" }
asv = ["asv-run", "asv-publish", "asv-preview"]
+compile = "pip install -e crates/eko/"
+rdocs.cmd = "cargo doc --workspace --manifest-path crates/Cargo.toml --no-deps"
+rdocs.env = { RUSTDOCFLAGS = "--html-in-header katex-header.html" }
+rdocs-view = "xdg-open crates/target/doc/ekors/index.html"
+rdocs-clean = "rm -rf crates/target/doc/"
+rtest = "cargo test --workspace --manifest-path crates/Cargo.toml"
[tool.pytest.ini_options]
testpaths = ['tests/', 'benchmarks/']
diff --git a/pyproject.toml.patch b/pyproject.toml.patch
index 8e9119a23..f415c7119 100644
--- a/pyproject.toml.patch
+++ b/pyproject.toml.patch
@@ -25,16 +25,3 @@ index 7404d871..a1e3ae66 100644
[tool.poetry]
name = "eko"
-@@ -124,6 +138,12 @@ asv-publish = "asv publish --config benchmarks/asv.conf.json"
- asv-show = "asv show --config benchmarks/asv.conf.json"
- asv-clean = { "shell" = "rm -rf benchmarks/env benchmarks/html benchmarks/results" }
- asv = ["asv-run", "asv-publish", "asv-preview"]
-+compile = "pip install -e crates/eko/"
-+rdocs.cmd = "cargo doc --workspace --manifest-path crates/Cargo.toml --no-deps"
-+rdocs.env = { RUSTDOCFLAGS = "--html-in-header katex-header.html" }
-+rdocs-view = "xdg-open crates/target/doc/ekors/index.html"
-+rdocs-clean = "rm -rf crates/target/doc/"
-+rtest = "cargo test --workspace --manifest-path crates/Cargo.toml"
-
- [tool.pytest.ini_options]
- testpaths = ['tests/', 'benchmarks/']
From ffc7ca13f947320e01c178563253e4b285670aca Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 22 May 2024 11:18:17 +0300
Subject: [PATCH 152/216] Cleanup and add badge
---
.github/workflows/unittests-rust.yml | 3 ---
README.md | 1 +
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/.github/workflows/unittests-rust.yml b/.github/workflows/unittests-rust.yml
index d4bdaf5f8..f412f458e 100644
--- a/.github/workflows/unittests-rust.yml
+++ b/.github/workflows/unittests-rust.yml
@@ -11,8 +11,6 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- # - name: Install and configure Poetry
- # uses: snok/install-poetry@v1
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
@@ -23,5 +21,4 @@ jobs:
run: pip install poethepoet
- name: Run Rust unit tests
run: |
- # poetry install
poe rtest
diff --git a/README.md b/README.md
index 8344d4cb1..aef72ca2f 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,7 @@
+
From c7a477fa17f0efab1398155f39fb2f2af0538434 Mon Sep 17 00:00:00 2001
From: tgiani
Date: Wed, 22 May 2024 10:41:18 +0200
Subject: [PATCH 153/216] more work on as2
---
.../unpolarized/spacelike/as2.rs | 193 ++++++++++++++++--
1 file changed, 176 insertions(+), 17 deletions(-)
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
index 29a015ff2..f90f0513a 100644
--- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
@@ -10,7 +10,7 @@ use crate::harmonics::cache::{Cache, K};
/// Compute the valence-like non-singlet anomalous dimension.
///
/// Implements Eq. (3.6) of [\[Moch:2004pa\]][crate::bib::Moch2004pa].
-pub fn gamma_nsm(c: &mut Cache, _nf: u8) -> Complex {
+pub fn gamma_nsm(c: &mut Cache, nf: u8) -> Complex {
let N = c.n;
let S1 = c.get(K::S1);
let S2 = c.get(K::S2);
@@ -23,14 +23,14 @@ pub fn gamma_nsm(c: &mut Cache, _nf: u8) -> Complex {
let gqq1m_cfcf = -32. * g3n + (24. - N * (-32. + 3. * N * (-8. + N * (3. + N) * (3. + N.powu(2)))))/(2. * N.powu(3) * (1. + N).powu(3)) + (12. - 8. / N + 8./(1. + N)) * S2 + S1 * (-24. / N.powu(2) - 8./(1. + N).powu(2) + 16. * S2 - 16. * Sp2m) + (8. * Sp2m)/(N + N.powu(2)) - 4. * Sp3m - 20. * ZETA3 + ZETA2 * (-32. * S1 + 32. * Sp1m + 32. * (1. / N + LN_2));
let gqq1m_cfnf = (-12. + N * (20. + N * (47. + 3. * N * (2. + N))))/(9. * N.powu(2) * (1. + N).powu(2)) - (40. * S1)/9. + (8. * S2)/3.;
- CF * ( CA * gqq1m_cfca + CF * gqq1m_cfcf + 2.0 * TR * (_nf as f64) * gqq1m_cfnf )
+ CF * ( CA * gqq1m_cfca + CF * gqq1m_cfcf + 2.0 * TR * (nf as f64) * gqq1m_cfnf )
}
/// Compute the singlet-like non-singlet anomalous dimension.
///
/// Implements Eq. (3.5) of [\[Moch:2004pa\]][crate::bib::Moch2004pa].
-pub fn gamma_nsp(c: &mut Cache, _nf: u8) -> Complex {
+pub fn gamma_nsp(c: &mut Cache, nf: u8) -> Complex {
let N = c.n;
let S1 = c.get(K::S1);
let S2 = c.get(K::S2);
@@ -43,35 +43,194 @@ pub fn gamma_nsp(c: &mut Cache, _nf: u8) -> Complex {
let gqq1p_cfcf = 32. * g3n - (8. + N * (32. + N * (40. + 3. * N * (3. + N) * (3. + N.powu(2))))) / (2. * N.powu(3) * (1. + N).powu(3)) + (12. - 8. / N + 8. / (1. + N)) * S2 + S1 * (40. / N.powu(2) - 8. / (1. + N).powu(2) + 16. * S2 - 16. * Sp2p) + (8. * Sp2p)/(N + N.powu(2)) - 4. * Sp3p - 20. * ZETA3 + ZETA2 * (-32. * S1 + 32. * Sp1p + 32. * (-(1./N) + LN_2));
let gqq1p_cfnf = (-12. + N * (20. + N * (47. + 3. * N * (2. + N))))/(9. * N.powu(2) * (1. + N).powu(2)) - (40. * S1) / 9. + (8. * S2) / 3.;
- CF * ( CA * gqq1p_cfca + CF * gqq1p_cfcf + 2.0 * TR * (_nf as f64) * gqq1p_cfnf)
+ CF * ( CA * gqq1p_cfca + CF * gqq1p_cfcf + 2.0 * TR * (nf as f64) * gqq1p_cfnf)
+}
+
+/// Compute the pure-singlet quark-quark anomalous dimension.
+///
+/// Implements Eq. (3.6) of [\[Vogt:2004mw\]][crate::bib::Vogt:2004mw].
+pub fn gamma_ps(c: &mut Cache, nf: u8) -> Complex {
+ let N = c.n;
+ let gqqps1_nfcf = ( -4. * (2. + N * (5. + N)) * (4. + N * (4. + N * (7. + 5. * N))))/((-1. + N) * N.powu(3) * (1. + N).powu(3) * (2. + N).powu(2));
+ 2.0 * TR * (nf as f64) * CF * gqqps1_nfcf
+}
+
+/// Compute the quark-gluon singlet anomalous dimension.
+///
+/// Implements Eq. (3.7) of [\[Vogt:2004mw\]][crate::bib::Vogt:2004mw].
+pub fn gamma_qg(c: &mut Cache, nf: u8) -> Complex {
+ let N = c.n;
+ let S1 = c.get(K::S1);
+ let S2 = c.get(K::S2);
+ let Sp2p = c.get(K::S2h);
+
+ let gqg1_nfca = ( -4. * (16. + N * (64. + N * (104. + N * (128. + N * (85. + N * (36. + N * (25. + N * (15. + N * (6. + N ))))))))))/((-1. + N) * N.powu(3) * (1. + N).powu(3) * (2. + N).powu(3)) - (16. * (3. + 2. * N) * S1) / (2. + 3. * N + N.powu(2)).powu(2) + (4. * (2. + N + N.powu(2)) * S1.powu(2))/(N*(2. + 3. * N + N.powu(2))) - (4. * (2. + N + N.powu(2)) * S2)/(N * (2. + 3. * N + N.powu(2))) + (4. * (2. + N + N.powu(2)) * Sp2p)/(N * (2. + 3. * N + N.powu(2)));
+ let gqg1_nfcf = (-2. * (4. + N * (8. + N * (1. + N) * (25. + N * (26. + 5. * N * (2. + N))))))/(N.powu(3) * (1. + N).powu(3) * (2. + N)) + (8. * S1) / N.powu(2) - (4. * (2. + N + N.powu(2)) * S1.powu(2))/(N * (2. + 3. * N + N.powu(2))) + (4. * (2. + N + N.powu(2)) * S2)/(N * (2. + 3. * N + N.powu(2)));
+ 2.0 * TR * (nf as f64) * (CA * gqg1_nfca + CF * gqg1_nfcf)
+}
+
+/// Compute the gluon-quark singlet anomalous dimension.
+///
+/// Implements Eq. (3.8) of [\[Vogt:2004mw\]][crate::bib::Vogt:2004mw].
+pub fn gamma_gq(c: &mut Cache, nf: u8) -> Complex {
+ let N = c.n;
+ let S1 = c.get(K::S1);
+ let S2 = c.get(K::S2);
+ let Sp2p = c.get(K::S2h);
+ let ggq1_cfcf = (-8. + 2. * N * (-12. + N * (-1. + N * (28. + N * (43. + 6. * N * (5. + 2. * N))))))/((-1. + N) * N.powu(3)*(1. + N).powu( 3)) - (4. * (10. + N * (17. + N * (8. + 5. * N)))*S1) / ((-1. + N) * N * (1. + N).powu(2)) + (4. * (2. + N + N.powu(2)) * S1.powu(2))/(N * (-1. + N.powu(2))) + (4. * (2. + N + N.powu(2)) * S2)/(N*(-1. + N.powu(2)));
+ let ggq1_cfca = (-4. * (144. + N * (432. + N * (-152. + N * (-1304. + N * (-1031. + N * (695. + N * (1678. + N * (1400. + N * (621. + 109. * N))))))))))/(9. * N.powu(3) * (1. + N).powu(3) * (-2. + N + N.powu(2)).powu(2)) + (4. * (-12. + N*(-22. + 41. * N + 17. * N.powu(3)))*S1)/(3. * (-1. + N).powu(2) * N.powu(2)*(1. + N)) + ((8. + 4. * N + 4. * N.powu(2)) * S1.powu(2))/(N - N.powu(3)) + ((8. + 4. * N + 4. * N.powu(2))*S2)/(N - N.powu(3)) + (4. * (2. + N + N.powu(2)) * Sp2p)/(N * (-1. + N.powu(2)));
+ let ggq1_cfnf = (8. * (16. + N * (27. + N * (13. + 8. * N))))/(9. * (-1. + N) * N * (1. + N).powu(2)) - (8. * (2. + N + N.powu(2)) * S1)/(3. * N * (-1. + N.powu(2)));
+ CF * ( CA * ggq1_cfca + CF * ggq1_cfcf + 2.0 * TR * (nf as f64) * ggq1_cfnf)
+}
+
+/// Compute the gluon-gluon singlet anomalous dimension.
+///
+/// Implements Eq. (3.9) of [\[Vogt:2004mw\]][crate::bib::Vogt:2004mw].
+pub fn gamma_gg(c: &mut Cache, nf: u8) -> Complex {
+ let N = c.n;
+ let S1 = c.get(K::S1);
+ let Sp1p = c.get(K::S1h);
+ let Sp2p = c.get(K::S2h);
+ let Sp3p = c.get(K::S3h);
+ let g3n = c.get(K::G3);
+ let ggg1_caca = 16. * g3n - (2. * (576. + N * (1488. + N * (560. + N * (-1248. + N * (-1384. + N * (1663. + N * (4514. + N * (4744. + N * (3030. + N * (1225. + 48. * N * (7. + N))))))))))))/(9. * (-1. + N).powu(2) * N.powu(3) * (1. + N).powu(3) * (2. + N).powu(3)) + S1 * (29.77777777777778 + 16./(-1. + N).powu(2) + 16./(1. + N).powu(2) - 16./(2. + N).powu(2) - 8.*Sp2p) + (16. * (1. + N + N.powu(2)) * Sp2p)/(N * (1. + N)*(-2. + N + N.powu(2))) - 2. * Sp3p - 10. * ZETA3 + ZETA2 * (-16. * S1 + 16. * Sp1p + 16. * (-(1./N) + LN_2));
+ let ggg1_canf = (8. * (6. + N * (1. + N) * (28. + N * (1. + N) * (13. + 3. * N * (1. + N)))))/(9. * N.powu(2) * (1. + N).powu(2) * (-2. + N + N.powu(2))) - (40. * S1)/9.;
+ let ggg1_cfnf = (2. * (-8. + N * (-8. + N * (-10. + N * (-22. + N * (-3. + N * (6. + N * (8. + N * (4. + N)))))))))/(N.powu(3) * (1. + N).powu(3)*(-2. + N + N.powu(2)));
+ CA * CA * ggg1_caca + 2.0 * TR * (nf as f64) * (CA * ggg1_canf + CF * ggg1_cfnf)
+
+}
+
+/// Compute the singlet anomalous dimension matrix.
+pub fn gamma_singlet(c: &mut Cache, nf: u8) -> [[Complex; 2]; 2] {
+ let gamma_qq = gamma_nsp(c, nf) + gamma_ps(c, nf);
+ [
+ [gamma_qq, gamma_qg(c, nf)],
+ [gamma_gq(c, nf), gamma_gg(c, nf)],
+ ]
+}
+
+pub fn test_const() -> f64 {
+ CA
}
#[cfg(test)]
mod tests {
use crate::cmplx;
- use crate::constants::{CA, CF, TR, ZETA2, ZETA3};
use crate::{anomalous_dimensions::unpolarized::spacelike::as2::*, harmonics::cache::Cache};
use float_cmp::assert_approx_eq;
use num::complex::Complex;
- use std::f64::consts::{PI, LN_2};
+ use std::f64::consts::PI;
use num::traits::Pow;
const NF: u8 = 5;
#[test]
- fn try_test() {
+ fn gamma_1() {
+ // number conservation
let mut c = Cache::new(cmplx![1., 0.]);
- let me = gamma_nsm(&mut c, NF);
- assert_approx_eq!(f64, me.re, 0.0, epsilon=2e-6);
+ assert_approx_eq!(f64, gamma_nsm(&mut c, NF).re, 0.0, epsilon=2e-6);
let mut c = Cache::new(cmplx![2., 0.]);
- let me = gamma_nsp(&mut c, NF);
- let check = (-112.0 * CF + 376.0 * CA - 64.0 * (NF as f64)) * CF / 27.0;
- assert_approx_eq!(f64, me.re, check, epsilon=2e-6);
-
- }
-
-
-}
+ let gS1 = gamma_singlet(&mut c, NF);
+ // gluon momentum conservation
+ assert_approx_eq!(f64, (gS1[0][1] + gS1[1][1]).re, 0.0, epsilon=4e-5);
+ // quark momentum conservation
+ assert_approx_eq!(f64, (gS1[0][0] + gS1[1][0]).re, 0.0, epsilon=2e-6);
+
+ assert_eq!(gS1.len(), 2);
+ assert_eq!((gS1[0]).len(), 2);
+ assert_eq!((gS1[1]).len(), 2);
+
+ // reference values are obtained from MMa
+ // non-singlet sector
+ let mut c = Cache::new(cmplx![2., 0.]);
+ assert_approx_eq!(
+ f64,
+ gamma_nsp(&mut c, NF).re,
+ (-112.0 * CF + 376.0 * CA - 64.0 * (NF as f64)) * CF / 27.0,
+ epsilon=2e-6
+ );
+
+ // singlet sector
+ assert_approx_eq!(
+ f64,
+ gamma_ps(&mut c, NF).re,
+ -40.0 * CF * (NF as f64) / 27.0
+ );
+ // qg
+ assert_approx_eq!(
+ f64,
+ gS1[0][1].re,
+ (-74.0 * CF - 35.0 * CA) * (NF as f64) / 27.0
+ );
+ // gq
+ assert_approx_eq!(
+ f64,
+ gS1[1][0].re,
+ (112.0 * CF - 376.0 * CA + 104.0 * (NF as f64)) * CF / 27.0,
+ epsilon=1e-13
+ );
+
+ // add additional point at (analytical) continuation point
+ let check = (
+ (34.0 / 27.0 * (-47.0 + 6. * PI.pow(2)) - 16.0 * ZETA3) * CF
+ + (373.0 / 9.0 - 34.0 * PI.pow(2) / 9.0 + 8.0 * ZETA3) * CA
+ - 64.0 * (NF as f64) / 27.0
+ )* CF;
+ assert_approx_eq!(
+ f64,
+ gamma_nsm(&mut c, NF).re,
+ check,
+ epsilon=2e-6);
+
+ let mut c = Cache::new(cmplx![3.,0.]);
+ let check = (
+ (-34487.0 / 432.0 + 86.0 * PI.pow(2) / 9.0 - 16.0 * ZETA3) * CF
+ + (459.0 / 8.0 - 43.0 * PI.pow(2) / 9.0 + 8.0 * ZETA3) * CA
+ - 415.0 * (NF as f64) / 108.0
+ )* CF;
+ assert_approx_eq!(
+ f64,
+ gamma_nsp(&mut c, NF).re,
+ check,
+ epsilon=2e-6
+ );
+
+ assert_approx_eq!(
+ f64,
+ gamma_ps(&mut c, NF).re,
+ -1391.0 * CF * (NF as f64) / 5400.0
+ );
+
+ let gS1 = gamma_singlet(&mut c, NF);
+ // gq
+ assert_approx_eq!(
+ f64,
+ gS1[1][0].re,
+ (973.0 / 432.0 * CF
+ + (2801.0 / 5400.0 - 7.0 * PI.pow(2) / 9.0) * CA
+ + 61.0 / 54.0 * (NF as f64)) * CF
+ );
+ //gg
+ assert_approx_eq!(
+ f64,
+ gS1[1][1].re,
+ (-79909.0 / 3375.0 + 194.0 * PI.pow(2) / 45.0 - 8.0 * ZETA3)
+ * CA.pow(2)
+ - 967.0 / 270.0 * CA * (NF as f64)
+ + 541.0 / 216.0 * CF * (NF as f64),
+ epsilon=1e-4 // lower numerical precision than python code?
+ );
+
+ let mut c = Cache::new(cmplx![4.,0.]);
+ let gS1 = gamma_singlet(&mut c, NF);
+ assert_approx_eq!(
+ f64,
+ gS1[0][1].re,
+ (-56317.0 / 18000.0 * CF + 16387.0 / 9000.0 * CA) * (NF as f64),
+ epsilon=1e-14
+ )
+ }
+}
\ No newline at end of file
From 6644f6db83cc8d172f29d3c4b78437e77b335bc4 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 22 May 2024 13:46:25 +0300
Subject: [PATCH 154/216] Use default rust
---
.github/workflows/unittests-rust.yml | 6 ------
1 file changed, 6 deletions(-)
diff --git a/.github/workflows/unittests-rust.yml b/.github/workflows/unittests-rust.yml
index f412f458e..7681762b2 100644
--- a/.github/workflows/unittests-rust.yml
+++ b/.github/workflows/unittests-rust.yml
@@ -11,12 +11,6 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- - name: Install stable toolchain
- uses: actions-rs/toolchain@v1
- with:
- profile: minimal
- toolchain: stable
- override: true
- name: Install task runner
run: pip install poethepoet
- name: Run Rust unit tests
From 271812163f3789c69d756119dc07bce4a96fef34 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 22 May 2024 13:48:46 +0300
Subject: [PATCH 155/216] Activate rust unit test CI
---
.github/workflows/unittests-rust.yml | 5 +----
.github/workflows/unittests.yml | 2 +-
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/unittests-rust.yml b/.github/workflows/unittests-rust.yml
index 7681762b2..9cce3048d 100644
--- a/.github/workflows/unittests-rust.yml
+++ b/.github/workflows/unittests-rust.yml
@@ -1,9 +1,6 @@
name: Rust unit tests
-on:
- push:
- # TODO: remove branches
- branches: ["*"]
+on: push
jobs:
test-rust:
diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml
index b118179fc..a21b8531e 100644
--- a/.github/workflows/unittests.yml
+++ b/.github/workflows/unittests.yml
@@ -1,4 +1,4 @@
-name: tests
+name: Python unit tests
on: push
From 5ea144036328091d1b657be9b93f09dba0c66043 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 22 May 2024 14:35:58 +0300
Subject: [PATCH 156/216] rust: Add fmt and clippy
---
.pre-commit-config.yaml | 21 ++++++---------------
pyproject.toml | 2 ++
2 files changed, 8 insertions(+), 15 deletions(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 6a799f3f3..718cfe85d 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -2,7 +2,7 @@
# See https://pre-commit.com/hooks.html for more hooks
ci:
autofix_prs: false
- skip: [fmt-eko, fmt-ekore]
+ skip: [fmt] # will be run by a separate CI
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
@@ -45,21 +45,12 @@ repos:
- toml
- repo: local
hooks:
- - id: fmt-eko
- name: fmt-eko
- description: Format eko files with cargo fmt.
- entry: cargo fmt --manifest-path crates/eko/Cargo.toml --
+ - id: fmt
+ name: fmt
+ description: Format Rust files with cargo fmt.
+ entry: cargo fmt --
language: system
- files: ^crates/eko/.*\.rs$
- args: []
- - repo: local
- hooks:
- - id: fmt-ekore
- name: fmt-ekore
- description: Format ekore files with cargo fmt.
- entry: cargo fmt --manifest-path crates/ekore/Cargo.toml --
- language: system
- files: ^crates/ekore/.*\.rs$
+ files: ^crates/.*\.rs$
args: []
- repo: https://github.com/pre-commit/pre-commit
rev: v3.7.1
diff --git a/pyproject.toml b/pyproject.toml
index 648d60c32..a47e3cefd 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -135,6 +135,8 @@ rdocs.env = { RUSTDOCFLAGS = "--html-in-header crates/katex-header.html" }
rdocs-view = "xdg-open target/doc/ekors/index.html"
rdocs-clean = "rm -rf target/doc/"
rtest = "cargo test --workspace"
+fmtcheck = "cargo fmt --all -- --check"
+clippy = "cargo clippy --no-deps"
[tool.pytest.ini_options]
testpaths = ['tests/', 'benchmarks/']
From 051847583e5ee26f9687f670a82b861ac55d9218 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 22 May 2024 14:38:05 +0300
Subject: [PATCH 157/216] rust: Fix clippy warnings
---
crates/eko/src/lib.rs | 28 ++++++++++++++++---------
crates/ekore/src/harmonics/cache.rs | 4 ++--
crates/ekore/src/harmonics/polygamma.rs | 1 +
crates/ekore/src/harmonics/w1.rs | 2 +-
4 files changed, 22 insertions(+), 13 deletions(-)
diff --git a/crates/eko/src/lib.rs b/crates/eko/src/lib.rs
index e6b3e44cc..a5dc15a6a 100644
--- a/crates/eko/src/lib.rs
+++ b/crates/eko/src/lib.rs
@@ -1,12 +1,14 @@
//! Interface to the eko Python package.
-use ekore;
use ekore::harmonics::cache::Cache;
use std::ffi::c_void;
mod mellin;
/// QCD intergration kernel inside quad.
+///
+/// # Safety
+/// This is the connection from Python, so we don't know what is on the other side.
#[no_mangle]
pub unsafe extern "C" fn rust_quad_ker_qcd(u: f64, rargs: *mut c_void) -> f64 {
let args = *(rargs as *mut QuadQCDargs);
@@ -23,11 +25,11 @@ pub unsafe extern "C" fn rust_quad_ker_qcd(u: f64, rargs: *mut c_void) -> f64 {
&mut c,
args.nf,
);
- for k in 0..args.order_qcd {
- for l in 0..2 {
- for m in 0..2 {
- re.push(res[k][l][m].re);
- im.push(res[k][l][m].im);
+ for gamma_s in res.iter().take(args.order_qcd) {
+ for col in gamma_s.iter().take(2) {
+ for el in col.iter().take(2) {
+ re.push(el.re);
+ im.push(el.im);
}
}
}
@@ -38,9 +40,9 @@ pub unsafe extern "C" fn rust_quad_ker_qcd(u: f64, rargs: *mut c_void) -> f64 {
&mut c,
args.nf,
);
- for j in 0..args.order_qcd {
- re.push(res[j].re);
- im.push(res[j].im);
+ for el in res.iter().take(args.order_qcd) {
+ re.push(el.re);
+ im.push(el.im);
}
}
// pass on
@@ -127,7 +129,10 @@ pub struct QuadQCDargs {
pub is_threshold: bool,
}
-/// empty placeholder function for python callback
+/// Empty placeholder function for python callback.
+///
+/// # Safety
+/// This is the connection back to Python, so we don't know what is on the other side.
pub unsafe extern "C" fn my_py(
_re_gamma: *const f64,
_im_gamma: *const f64,
@@ -161,6 +166,9 @@ pub unsafe extern "C" fn my_py(
///
/// This is required to make the arguments part of the API, otherwise it won't be added to the compiled
/// package (since it does not appear in the signature of `quad_ker_qcd`).
+///
+/// # Safety
+/// This is the connection from and back to Python, so we don't know what is on the other side.
#[no_mangle]
pub unsafe extern "C" fn empty_qcd_args() -> QuadQCDargs {
QuadQCDargs {
diff --git a/crates/ekore/src/harmonics/cache.rs b/crates/ekore/src/harmonics/cache.rs
index c79120def..b026e4f75 100644
--- a/crates/ekore/src/harmonics/cache.rs
+++ b/crates/ekore/src/harmonics/cache.rs
@@ -33,8 +33,8 @@ impl Cache {
pub fn get(&mut self, k: K) -> Complex {
let val = self.m.get(&k);
// already there?
- if val.is_some() {
- return *val.unwrap();
+ if let Some(value) = val {
+ return *value;
}
// compute new
let val = match k {
diff --git a/crates/ekore/src/harmonics/polygamma.rs b/crates/ekore/src/harmonics/polygamma.rs
index 60c1de91a..f5236d8e9 100644
--- a/crates/ekore/src/harmonics/polygamma.rs
+++ b/crates/ekore/src/harmonics/polygamma.rs
@@ -3,6 +3,7 @@
use num::{complex::Complex, Zero};
use std::f64::consts::PI;
+#[allow(clippy::excessive_precision, clippy::assign_op_pattern)]
/// Compute the polygamma functions $\psi_k(z)$.
///
/// Reimplementation of ``WPSIPG`` (C317) in [CERNlib](http://cernlib.web.cern.ch/cernlib/) given by [[KOLBIG1972221]][crate::bib::KOLBIG1972221].
diff --git a/crates/ekore/src/harmonics/w1.rs b/crates/ekore/src/harmonics/w1.rs
index 2b861cb30..7de50bf0b 100644
--- a/crates/ekore/src/harmonics/w1.rs
+++ b/crates/ekore/src/harmonics/w1.rs
@@ -7,5 +7,5 @@ use crate::harmonics::polygamma::cern_polygamma;
/// $$S_1(N) = \sum\limits_{j=1}^N \frac 1 j = \psi_0(N+1)+\gamma_E$$
/// with $\psi_0(N)$ the digamma function and $\gamma_E$ the Euler-Mascheroni constant.
pub fn S1(N: Complex) -> Complex {
- cern_polygamma(N + 1.0, 0) + 0.5772156649015328606065120
+ cern_polygamma(N + 1.0, 0) + 0.577_215_664_901_532_9
}
From 69d510458e604597e7586d552f9cc25939e1ead7 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 22 May 2024 14:43:15 +0300
Subject: [PATCH 158/216] rust: Add fmt and clippy to CI
---
.github/workflows/unittests-rust.yml | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/unittests-rust.yml b/.github/workflows/unittests-rust.yml
index 9cce3048d..2b05cb4d6 100644
--- a/.github/workflows/unittests-rust.yml
+++ b/.github/workflows/unittests-rust.yml
@@ -3,13 +3,19 @@ name: Rust unit tests
on: push
jobs:
- test-rust:
+ test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Install task runner
run: pip install poethepoet
+ - name: Run fmt
+ run: |
+ poe fmtcheck
+ - name: Run clippy
+ run: |
+ poe clippy
- name: Run Rust unit tests
run: |
poe rtest
From fe8a8db023e70ebf9cf69938f35055eb138cad3b Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 22 May 2024 15:03:59 +0300
Subject: [PATCH 159/216] rust: Attempt dynamic version resolution
---
.github/workflows/crates.yml | 2 +-
crates/bump-versions.py | 13 +++++++------
pyproject.toml | 2 +-
3 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/crates.yml b/.github/workflows/crates.yml
index da2a45b98..631a0513a 100644
--- a/.github/workflows/crates.yml
+++ b/.github/workflows/crates.yml
@@ -3,7 +3,7 @@ name: Deploy Crates
on:
push:
# TODO: remove branches
- branches: ["*"]
+ # branches: ["*"]
tags:
- "*"
workflow_dispatch:
diff --git a/crates/bump-versions.py b/crates/bump-versions.py
index 571944123..b0c3e9a44 100644
--- a/crates/bump-versions.py
+++ b/crates/bump-versions.py
@@ -1,4 +1,5 @@
import json
+import sys
from pathlib import Path
import tomlkit
@@ -6,8 +7,6 @@
HERE = Path(__file__).parent
CRATES = json.loads((HERE / "release.json").read_text())
-VERSION = "0.1.1-alpha.5"
-
def workspace(manifest, version):
manifest["workspace"]["package"]["version"] = version
@@ -28,11 +27,13 @@ def update(path, version, edit):
path.write_text(tomlkit.dumps(manifest))
-def main():
- update("..", VERSION, workspace)
+def main(version):
+ update("..", version, workspace)
for name in CRATES:
- update(name, VERSION, crate)
+ update(name, version, crate)
if __name__ == "__main__":
- main()
+ if len(sys.argv) < 2:
+ raise ValueError(f"Pass version to {sys.argv[0]}")
+ main(sys.argv[1])
diff --git a/pyproject.toml b/pyproject.toml
index a47e3cefd..33df1da37 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -128,7 +128,7 @@ asv-publish = "asv publish --config benchmarks/asv.conf.json"
asv-show = "asv show --config benchmarks/asv.conf.json"
asv-clean = { "shell" = "rm -rf benchmarks/env benchmarks/html benchmarks/results" }
asv = ["asv-run", "asv-publish", "asv-preview"]
-bump-version = "python crates/bump-versions.py"
+bump-version = "python crates/bump-versions.py `git describe --tags`"
compile = "pip install -e crates/eko/"
rdocs.cmd = "cargo doc --workspace --no-deps"
rdocs.env = { RUSTDOCFLAGS = "--html-in-header crates/katex-header.html" }
From 17424887f3083a756eb01fafa473ebd631fc49dc Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 22 May 2024 15:13:59 +0300
Subject: [PATCH 160/216] rust: Fix poe bump-version
---
crates/bump-versions.py | 2 +-
pyproject.toml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/crates/bump-versions.py b/crates/bump-versions.py
index b0c3e9a44..c87efa419 100644
--- a/crates/bump-versions.py
+++ b/crates/bump-versions.py
@@ -36,4 +36,4 @@ def main(version):
if __name__ == "__main__":
if len(sys.argv) < 2:
raise ValueError(f"Pass version to {sys.argv[0]}")
- main(sys.argv[1])
+ main(sys.argv[1][1:])
diff --git a/pyproject.toml b/pyproject.toml
index 33df1da37..cbd200cb5 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -128,7 +128,7 @@ asv-publish = "asv publish --config benchmarks/asv.conf.json"
asv-show = "asv show --config benchmarks/asv.conf.json"
asv-clean = { "shell" = "rm -rf benchmarks/env benchmarks/html benchmarks/results" }
asv = ["asv-run", "asv-publish", "asv-preview"]
-bump-version = "python crates/bump-versions.py `git describe --tags`"
+bump-version = { "shell" = "python crates/bump-versions.py $(git describe --tags)" }
compile = "pip install -e crates/eko/"
rdocs.cmd = "cargo doc --workspace --no-deps"
rdocs.env = { RUSTDOCFLAGS = "--html-in-header crates/katex-header.html" }
From 0be1e89edf163ad1a6259a4aa3cd5e661488a1e9 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 22 May 2024 15:28:11 +0300
Subject: [PATCH 161/216] rust: Add comment to bumb-versions
---
crates/bump-versions.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/crates/bump-versions.py b/crates/bump-versions.py
index c87efa419..6b7220f7e 100644
--- a/crates/bump-versions.py
+++ b/crates/bump-versions.py
@@ -35,5 +35,6 @@ def main(version):
if __name__ == "__main__":
if len(sys.argv) < 2:
- raise ValueError(f"Pass version to {sys.argv[0]}")
+ raise ValueError(f"Pass a version (e.g. v0.0.0) to {sys.argv[0]}")
+ # `git describe` starts with a `v` which we need to remove again
main(sys.argv[1][1:])
From 94c8270fe6dc9221e1609d9de4cf474ba781467e Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 22 May 2024 15:40:13 +0300
Subject: [PATCH 162/216] Update crates/Readme
---
crates/README.md | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/crates/README.md b/crates/README.md
index 776a5ad07..baa27a087 100644
--- a/crates/README.md
+++ b/crates/README.md
@@ -1,6 +1,11 @@
-# Crates
+# Welcome to the rusty side of EKO!
-...
+Here, we develop the Rust components of the EKO library
+
+## Crates
+
+- `ekore` contains the underlying collinear anomalous dimensions and the operator matrix elements
+- `eko` is the glue between the Python side and the `ekore` crate
## Files
@@ -9,3 +14,5 @@
- dependent crates should follow those they are depending on
- `katex-header.html` is an HTML snippet to be included in every docs page to inject
KaTeX support
+- `bump-versions.py` increases the Rust versions in all crates consistently
+- `make_bib.py` generates the Rust function stubs which serve as fake bibliography system
From 909ad779d50ca20f9a328f0bdb4603714bf29342 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 22 May 2024 16:03:15 +0300
Subject: [PATCH 163/216] Temporarily disable PyPI
---
.github/workflows/crates.yml | 2 --
.github/workflows/maturin.yml | 2 --
.github/workflows/pypi.yml | 8 ++++----
3 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/crates.yml b/.github/workflows/crates.yml
index 631a0513a..935ce2aba 100644
--- a/.github/workflows/crates.yml
+++ b/.github/workflows/crates.yml
@@ -2,8 +2,6 @@ name: Deploy Crates
on:
push:
- # TODO: remove branches
- # branches: ["*"]
tags:
- "*"
workflow_dispatch:
diff --git a/.github/workflows/maturin.yml b/.github/workflows/maturin.yml
index 9133adbe4..4680d0316 100644
--- a/.github/workflows/maturin.yml
+++ b/.github/workflows/maturin.yml
@@ -2,8 +2,6 @@ name: Deploy Maturin wheels
on:
push:
- # TODO: remove branches
- branches: ["*"]
tags:
- "*"
workflow_dispatch:
diff --git a/.github/workflows/pypi.yml b/.github/workflows/pypi.yml
index 45f89248b..774618f85 100644
--- a/.github/workflows/pypi.yml
+++ b/.github/workflows/pypi.yml
@@ -1,9 +1,9 @@
name: deploy
-on:
- push:
- tags:
- - "*"
+# on:
+# push:
+# tags:
+# - "*"
jobs:
publish:
From 49233a5d6781b72ac3708d241bb326682e0f7629 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 22 May 2024 16:15:02 +0300
Subject: [PATCH 164/216] Reactivate PyPI
---
.github/workflows/pypi.yml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/pypi.yml b/.github/workflows/pypi.yml
index 774618f85..45f89248b 100644
--- a/.github/workflows/pypi.yml
+++ b/.github/workflows/pypi.yml
@@ -1,9 +1,9 @@
name: deploy
-# on:
-# push:
-# tags:
-# - "*"
+on:
+ push:
+ tags:
+ - "*"
jobs:
publish:
From 8b7f2e794d494aa8bcb07c81c5f2376152742380 Mon Sep 17 00:00:00 2001
From: tgiani <33056186+tgiani@users.noreply.github.com>
Date: Wed, 22 May 2024 16:19:11 +0200
Subject: [PATCH 165/216] Update
crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
Co-authored-by: Felix Hekhorn
---
.../src/anomalous_dimensions/unpolarized/spacelike/as2.rs | 3 ---
1 file changed, 3 deletions(-)
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
index f90f0513a..17f262747 100644
--- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
@@ -111,9 +111,6 @@ pub fn gamma_singlet(c: &mut Cache, nf: u8) -> [[Complex; 2]; 2] {
]
}
-pub fn test_const() -> f64 {
- CA
-}
#[cfg(test)]
mod tests {
From c55a9cac74616fc2b33c145596fa67123a65bdb7 Mon Sep 17 00:00:00 2001
From: tgiani
Date: Wed, 22 May 2024 16:51:27 +0200
Subject: [PATCH 166/216] pre-commit changes
---
.../unpolarized/spacelike/as2.rs | 246 ++++++++++++------
1 file changed, 170 insertions(+), 76 deletions(-)
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
index 17f262747..ded7a5845 100644
--- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
@@ -1,12 +1,11 @@
//! NLO QCD
-use::num::complex::Complex;
+use ::num::complex::Complex;
use std::f64::consts::LN_2;
use crate::constants::{CA, CF, TR, ZETA2, ZETA3};
use crate::harmonics::cache::{Cache, K};
-
/// Compute the valence-like non-singlet anomalous dimension.
///
/// Implements Eq. (3.6) of [\[Moch:2004pa\]][crate::bib::Moch2004pa].
@@ -19,13 +18,31 @@ pub fn gamma_nsm(c: &mut Cache, nf: u8) -> Complex {
let Sp3m = c.get(K::S3mh);
let g3n = c.get(K::G3);
- let gqq1m_cfca = 16.0 * g3n - (144.0 + N * (1.0 + N) * (156.0 + N * (340.0 + N * (655.0 + 51.0 * N * (2.0 + N)))))/(18.0 * N.powu(3)*(1. + N).powu(3)) + (-14.666666666666666 + 8.0 / N - 8.0 / (1.0 + N))*S2 - (4.0 * Sp2m)/(N + N.powu(2)) + S1*(29.77777777777778 + 16.0 / N.powu(2) - 16.0 * S2 + 8.0 * Sp2m) + 2.0 * Sp3m + 10.0 * ZETA3 + ZETA2 * (16.0 * S1 - 16.0 * Sp1m - (16.0 * (1. + N * LN_2))/N);
- let gqq1m_cfcf = -32. * g3n + (24. - N * (-32. + 3. * N * (-8. + N * (3. + N) * (3. + N.powu(2)))))/(2. * N.powu(3) * (1. + N).powu(3)) + (12. - 8. / N + 8./(1. + N)) * S2 + S1 * (-24. / N.powu(2) - 8./(1. + N).powu(2) + 16. * S2 - 16. * Sp2m) + (8. * Sp2m)/(N + N.powu(2)) - 4. * Sp3m - 20. * ZETA3 + ZETA2 * (-32. * S1 + 32. * Sp1m + 32. * (1. / N + LN_2));
- let gqq1m_cfnf = (-12. + N * (20. + N * (47. + 3. * N * (2. + N))))/(9. * N.powu(2) * (1. + N).powu(2)) - (40. * S1)/9. + (8. * S2)/3.;
-
- CF * ( CA * gqq1m_cfca + CF * gqq1m_cfcf + 2.0 * TR * (nf as f64) * gqq1m_cfnf )
-}
+ let gqq1m_cfca = 16.0 * g3n
+ - (144.0 + N * (1.0 + N) * (156.0 + N * (340.0 + N * (655.0 + 51.0 * N * (2.0 + N)))))
+ / (18.0 * N.powu(3) * (1. + N).powu(3))
+ + (-14.666666666666666 + 8.0 / N - 8.0 / (1.0 + N)) * S2
+ - (4.0 * Sp2m) / (N + N.powu(2))
+ + S1 * (29.77777777777778 + 16.0 / N.powu(2) - 16.0 * S2 + 8.0 * Sp2m)
+ + 2.0 * Sp3m
+ + 10.0 * ZETA3
+ + ZETA2 * (16.0 * S1 - 16.0 * Sp1m - (16.0 * (1. + N * LN_2)) / N);
+ let gqq1m_cfcf = -32. * g3n
+ + (24. - N * (-32. + 3. * N * (-8. + N * (3. + N) * (3. + N.powu(2)))))
+ / (2. * N.powu(3) * (1. + N).powu(3))
+ + (12. - 8. / N + 8. / (1. + N)) * S2
+ + S1 * (-24. / N.powu(2) - 8. / (1. + N).powu(2) + 16. * S2 - 16. * Sp2m)
+ + (8. * Sp2m) / (N + N.powu(2))
+ - 4. * Sp3m
+ - 20. * ZETA3
+ + ZETA2 * (-32. * S1 + 32. * Sp1m + 32. * (1. / N + LN_2));
+ let gqq1m_cfnf = (-12. + N * (20. + N * (47. + 3. * N * (2. + N))))
+ / (9. * N.powu(2) * (1. + N).powu(2))
+ - (40. * S1) / 9.
+ + (8. * S2) / 3.;
+ CF * (CA * gqq1m_cfca + CF * gqq1m_cfcf + 2.0 * TR * (nf as f64) * gqq1m_cfnf)
+}
/// Compute the singlet-like non-singlet anomalous dimension.
///
@@ -39,11 +56,30 @@ pub fn gamma_nsp(c: &mut Cache, nf: u8) -> Complex {
let Sp3p = c.get(K::S3h);
let g3n = c.get(K::G3);
- let gqq1p_cfca = -16. * g3n + (132. - N * (340. + N * (655. + 51. * N * (2. + N)))) / (18. * N.powu(2) * (1. + N).powu(2)) + (-14.666666666666666 + 8./N - 8./(1. + N)) * S2 - (4.*Sp2p)/(N + N.powu(2)) + S1*(29.77777777777778 - 16./N.powu(2) - 16. * S2 + 8. * Sp2p) + 2. * Sp3p + 10. * ZETA3 + ZETA2 * (16. * S1 - 16. * Sp1p + 16. * (1./N - LN_2));
- let gqq1p_cfcf = 32. * g3n - (8. + N * (32. + N * (40. + 3. * N * (3. + N) * (3. + N.powu(2))))) / (2. * N.powu(3) * (1. + N).powu(3)) + (12. - 8. / N + 8. / (1. + N)) * S2 + S1 * (40. / N.powu(2) - 8. / (1. + N).powu(2) + 16. * S2 - 16. * Sp2p) + (8. * Sp2p)/(N + N.powu(2)) - 4. * Sp3p - 20. * ZETA3 + ZETA2 * (-32. * S1 + 32. * Sp1p + 32. * (-(1./N) + LN_2));
- let gqq1p_cfnf = (-12. + N * (20. + N * (47. + 3. * N * (2. + N))))/(9. * N.powu(2) * (1. + N).powu(2)) - (40. * S1) / 9. + (8. * S2) / 3.;
+ let gqq1p_cfca = -16. * g3n
+ + (132. - N * (340. + N * (655. + 51. * N * (2. + N))))
+ / (18. * N.powu(2) * (1. + N).powu(2))
+ + (-14.666666666666666 + 8. / N - 8. / (1. + N)) * S2
+ - (4. * Sp2p) / (N + N.powu(2))
+ + S1 * (29.77777777777778 - 16. / N.powu(2) - 16. * S2 + 8. * Sp2p)
+ + 2. * Sp3p
+ + 10. * ZETA3
+ + ZETA2 * (16. * S1 - 16. * Sp1p + 16. * (1. / N - LN_2));
+ let gqq1p_cfcf = 32. * g3n
+ - (8. + N * (32. + N * (40. + 3. * N * (3. + N) * (3. + N.powu(2)))))
+ / (2. * N.powu(3) * (1. + N).powu(3))
+ + (12. - 8. / N + 8. / (1. + N)) * S2
+ + S1 * (40. / N.powu(2) - 8. / (1. + N).powu(2) + 16. * S2 - 16. * Sp2p)
+ + (8. * Sp2p) / (N + N.powu(2))
+ - 4. * Sp3p
+ - 20. * ZETA3
+ + ZETA2 * (-32. * S1 + 32. * Sp1p + 32. * (-(1. / N) + LN_2));
+ let gqq1p_cfnf = (-12. + N * (20. + N * (47. + 3. * N * (2. + N))))
+ / (9. * N.powu(2) * (1. + N).powu(2))
+ - (40. * S1) / 9.
+ + (8. * S2) / 3.;
- CF * ( CA * gqq1p_cfca + CF * gqq1p_cfcf + 2.0 * TR * (nf as f64) * gqq1p_cfnf)
+ CF * (CA * gqq1p_cfca + CF * gqq1p_cfcf + 2.0 * TR * (nf as f64) * gqq1p_cfnf)
}
/// Compute the pure-singlet quark-quark anomalous dimension.
@@ -51,7 +87,8 @@ pub fn gamma_nsp(c: &mut Cache, nf: u8) -> Complex {
/// Implements Eq. (3.6) of [\[Vogt:2004mw\]][crate::bib::Vogt:2004mw].
pub fn gamma_ps(c: &mut Cache, nf: u8) -> Complex {
let N = c.n;
- let gqqps1_nfcf = ( -4. * (2. + N * (5. + N)) * (4. + N * (4. + N * (7. + 5. * N))))/((-1. + N) * N.powu(3) * (1. + N).powu(3) * (2. + N).powu(2));
+ let gqqps1_nfcf = (-4. * (2. + N * (5. + N)) * (4. + N * (4. + N * (7. + 5. * N))))
+ / ((-1. + N) * N.powu(3) * (1. + N).powu(3) * (2. + N).powu(2));
2.0 * TR * (nf as f64) * CF * gqqps1_nfcf
}
@@ -64,8 +101,21 @@ pub fn gamma_qg(c: &mut Cache, nf: u8) -> Complex {
let S2 = c.get(K::S2);
let Sp2p = c.get(K::S2h);
- let gqg1_nfca = ( -4. * (16. + N * (64. + N * (104. + N * (128. + N * (85. + N * (36. + N * (25. + N * (15. + N * (6. + N ))))))))))/((-1. + N) * N.powu(3) * (1. + N).powu(3) * (2. + N).powu(3)) - (16. * (3. + 2. * N) * S1) / (2. + 3. * N + N.powu(2)).powu(2) + (4. * (2. + N + N.powu(2)) * S1.powu(2))/(N*(2. + 3. * N + N.powu(2))) - (4. * (2. + N + N.powu(2)) * S2)/(N * (2. + 3. * N + N.powu(2))) + (4. * (2. + N + N.powu(2)) * Sp2p)/(N * (2. + 3. * N + N.powu(2)));
- let gqg1_nfcf = (-2. * (4. + N * (8. + N * (1. + N) * (25. + N * (26. + 5. * N * (2. + N))))))/(N.powu(3) * (1. + N).powu(3) * (2. + N)) + (8. * S1) / N.powu(2) - (4. * (2. + N + N.powu(2)) * S1.powu(2))/(N * (2. + 3. * N + N.powu(2))) + (4. * (2. + N + N.powu(2)) * S2)/(N * (2. + 3. * N + N.powu(2)));
+ let gqg1_nfca = (-4.
+ * (16.
+ + N * (64.
+ + N * (104.
+ + N * (128. + N * (85. + N * (36. + N * (25. + N * (15. + N * (6. + N))))))))))
+ / ((-1. + N) * N.powu(3) * (1. + N).powu(3) * (2. + N).powu(3))
+ - (16. * (3. + 2. * N) * S1) / (2. + 3. * N + N.powu(2)).powu(2)
+ + (4. * (2. + N + N.powu(2)) * S1.powu(2)) / (N * (2. + 3. * N + N.powu(2)))
+ - (4. * (2. + N + N.powu(2)) * S2) / (N * (2. + 3. * N + N.powu(2)))
+ + (4. * (2. + N + N.powu(2)) * Sp2p) / (N * (2. + 3. * N + N.powu(2)));
+ let gqg1_nfcf = (-2. * (4. + N * (8. + N * (1. + N) * (25. + N * (26. + 5. * N * (2. + N))))))
+ / (N.powu(3) * (1. + N).powu(3) * (2. + N))
+ + (8. * S1) / N.powu(2)
+ - (4. * (2. + N + N.powu(2)) * S1.powu(2)) / (N * (2. + 3. * N + N.powu(2)))
+ + (4. * (2. + N + N.powu(2)) * S2) / (N * (2. + 3. * N + N.powu(2)));
2.0 * TR * (nf as f64) * (CA * gqg1_nfca + CF * gqg1_nfcf)
}
@@ -78,10 +128,29 @@ pub fn gamma_gq(c: &mut Cache, nf: u8) -> Complex {
let S2 = c.get(K::S2);
let Sp2p = c.get(K::S2h);
- let ggq1_cfcf = (-8. + 2. * N * (-12. + N * (-1. + N * (28. + N * (43. + 6. * N * (5. + 2. * N))))))/((-1. + N) * N.powu(3)*(1. + N).powu( 3)) - (4. * (10. + N * (17. + N * (8. + 5. * N)))*S1) / ((-1. + N) * N * (1. + N).powu(2)) + (4. * (2. + N + N.powu(2)) * S1.powu(2))/(N * (-1. + N.powu(2))) + (4. * (2. + N + N.powu(2)) * S2)/(N*(-1. + N.powu(2)));
- let ggq1_cfca = (-4. * (144. + N * (432. + N * (-152. + N * (-1304. + N * (-1031. + N * (695. + N * (1678. + N * (1400. + N * (621. + 109. * N))))))))))/(9. * N.powu(3) * (1. + N).powu(3) * (-2. + N + N.powu(2)).powu(2)) + (4. * (-12. + N*(-22. + 41. * N + 17. * N.powu(3)))*S1)/(3. * (-1. + N).powu(2) * N.powu(2)*(1. + N)) + ((8. + 4. * N + 4. * N.powu(2)) * S1.powu(2))/(N - N.powu(3)) + ((8. + 4. * N + 4. * N.powu(2))*S2)/(N - N.powu(3)) + (4. * (2. + N + N.powu(2)) * Sp2p)/(N * (-1. + N.powu(2)));
- let ggq1_cfnf = (8. * (16. + N * (27. + N * (13. + 8. * N))))/(9. * (-1. + N) * N * (1. + N).powu(2)) - (8. * (2. + N + N.powu(2)) * S1)/(3. * N * (-1. + N.powu(2)));
- CF * ( CA * ggq1_cfca + CF * ggq1_cfcf + 2.0 * TR * (nf as f64) * ggq1_cfnf)
+ let ggq1_cfcf = (-8.
+ + 2. * N * (-12. + N * (-1. + N * (28. + N * (43. + 6. * N * (5. + 2. * N))))))
+ / ((-1. + N) * N.powu(3) * (1. + N).powu(3))
+ - (4. * (10. + N * (17. + N * (8. + 5. * N))) * S1) / ((-1. + N) * N * (1. + N).powu(2))
+ + (4. * (2. + N + N.powu(2)) * S1.powu(2)) / (N * (-1. + N.powu(2)))
+ + (4. * (2. + N + N.powu(2)) * S2) / (N * (-1. + N.powu(2)));
+ let ggq1_cfca = (-4.
+ * (144.
+ + N * (432.
+ + N * (-152.
+ + N * (-1304.
+ + N * (-1031.
+ + N * (695. + N * (1678. + N * (1400. + N * (621. + 109. * N))))))))))
+ / (9. * N.powu(3) * (1. + N).powu(3) * (-2. + N + N.powu(2)).powu(2))
+ + (4. * (-12. + N * (-22. + 41. * N + 17. * N.powu(3))) * S1)
+ / (3. * (-1. + N).powu(2) * N.powu(2) * (1. + N))
+ + ((8. + 4. * N + 4. * N.powu(2)) * S1.powu(2)) / (N - N.powu(3))
+ + ((8. + 4. * N + 4. * N.powu(2)) * S2) / (N - N.powu(3))
+ + (4. * (2. + N + N.powu(2)) * Sp2p) / (N * (-1. + N.powu(2)));
+ let ggq1_cfnf = (8. * (16. + N * (27. + N * (13. + 8. * N))))
+ / (9. * (-1. + N) * N * (1. + N).powu(2))
+ - (8. * (2. + N + N.powu(2)) * S1) / (3. * N * (-1. + N.powu(2)));
+ CF * (CA * ggq1_cfca + CF * ggq1_cfcf + 2.0 * TR * (nf as f64) * ggq1_cfnf)
}
/// Compute the gluon-gluon singlet anomalous dimension.
@@ -94,12 +163,36 @@ pub fn gamma_gg(c: &mut Cache, nf: u8) -> Complex {
let Sp2p = c.get(K::S2h);
let Sp3p = c.get(K::S3h);
let g3n = c.get(K::G3);
- let ggg1_caca = 16. * g3n - (2. * (576. + N * (1488. + N * (560. + N * (-1248. + N * (-1384. + N * (1663. + N * (4514. + N * (4744. + N * (3030. + N * (1225. + 48. * N * (7. + N))))))))))))/(9. * (-1. + N).powu(2) * N.powu(3) * (1. + N).powu(3) * (2. + N).powu(3)) + S1 * (29.77777777777778 + 16./(-1. + N).powu(2) + 16./(1. + N).powu(2) - 16./(2. + N).powu(2) - 8.*Sp2p) + (16. * (1. + N + N.powu(2)) * Sp2p)/(N * (1. + N)*(-2. + N + N.powu(2))) - 2. * Sp3p - 10. * ZETA3 + ZETA2 * (-16. * S1 + 16. * Sp1p + 16. * (-(1./N) + LN_2));
- let ggg1_canf = (8. * (6. + N * (1. + N) * (28. + N * (1. + N) * (13. + 3. * N * (1. + N)))))/(9. * N.powu(2) * (1. + N).powu(2) * (-2. + N + N.powu(2))) - (40. * S1)/9.;
- let ggg1_cfnf = (2. * (-8. + N * (-8. + N * (-10. + N * (-22. + N * (-3. + N * (6. + N * (8. + N * (4. + N)))))))))/(N.powu(3) * (1. + N).powu(3)*(-2. + N + N.powu(2)));
+ let ggg1_caca = 16. * g3n
+ - (2.
+ * (576.
+ + N * (1488.
+ + N * (560.
+ + N * (-1248.
+ + N * (-1384.
+ + N * (1663.
+ + N * (4514.
+ + N * (4744.
+ + N * (3030.
+ + N * (1225. + 48. * N * (7. + N))))))))))))
+ / (9. * (-1. + N).powu(2) * N.powu(3) * (1. + N).powu(3) * (2. + N).powu(3))
+ + S1 * (29.77777777777778 + 16. / (-1. + N).powu(2) + 16. / (1. + N).powu(2)
+ - 16. / (2. + N).powu(2)
+ - 8. * Sp2p)
+ + (16. * (1. + N + N.powu(2)) * Sp2p) / (N * (1. + N) * (-2. + N + N.powu(2)))
+ - 2. * Sp3p
+ - 10. * ZETA3
+ + ZETA2 * (-16. * S1 + 16. * Sp1p + 16. * (-(1. / N) + LN_2));
+ let ggg1_canf = (8. * (6. + N * (1. + N) * (28. + N * (1. + N) * (13. + 3. * N * (1. + N)))))
+ / (9. * N.powu(2) * (1. + N).powu(2) * (-2. + N + N.powu(2)))
+ - (40. * S1) / 9.;
+ let ggg1_cfnf = (2.
+ * (-8.
+ + N * (-8.
+ + N * (-10. + N * (-22. + N * (-3. + N * (6. + N * (8. + N * (4. + N)))))))))
+ / (N.powu(3) * (1. + N).powu(3) * (-2. + N + N.powu(2)));
CA * CA * ggg1_caca + 2.0 * TR * (nf as f64) * (CA * ggg1_canf + CF * ggg1_cfnf)
-
}
/// Compute the singlet anomalous dimension matrix.
@@ -111,49 +204,55 @@ pub fn gamma_singlet(c: &mut Cache, nf: u8) -> [[Complex; 2]; 2] {
]
}
-
#[cfg(test)]
mod tests {
use crate::cmplx;
use crate::{anomalous_dimensions::unpolarized::spacelike::as2::*, harmonics::cache::Cache};
use float_cmp::assert_approx_eq;
use num::complex::Complex;
- use std::f64::consts::PI;
use num::traits::Pow;
+ use std::f64::consts::PI;
const NF: u8 = 5;
#[test]
- fn gamma_1() {
+ fn physical_constraints() {
// number conservation
let mut c = Cache::new(cmplx![1., 0.]);
- assert_approx_eq!(f64, gamma_nsm(&mut c, NF).re, 0.0, epsilon=2e-6);
+ assert_approx_eq!(f64, gamma_nsm(&mut c, NF).re, 0.0, epsilon = 2e-6);
let mut c = Cache::new(cmplx![2., 0.]);
let gS1 = gamma_singlet(&mut c, NF);
- // gluon momentum conservation
- assert_approx_eq!(f64, (gS1[0][1] + gS1[1][1]).re, 0.0, epsilon=4e-5);
- // quark momentum conservation
- assert_approx_eq!(f64, (gS1[0][0] + gS1[1][0]).re, 0.0, epsilon=2e-6);
-
+
+ // check shape gS1
assert_eq!(gS1.len(), 2);
assert_eq!((gS1[0]).len(), 2);
assert_eq!((gS1[1]).len(), 2);
+ // gluon momentum conservation
+ assert_approx_eq!(f64, (gS1[0][1] + gS1[1][1]).re, 0.0, epsilon = 4e-5);
+ // quark momentum conservation
+ assert_approx_eq!(f64, (gS1[0][0] + gS1[1][0]).re, 0.0, epsilon = 2e-6);
+ }
+
+ #[test]
+ fn N2() {
// reference values are obtained from MMa
- // non-singlet sector
let mut c = Cache::new(cmplx![2., 0.]);
+
+ // non-singlet sector
assert_approx_eq!(
- f64,
- gamma_nsp(&mut c, NF).re,
- (-112.0 * CF + 376.0 * CA - 64.0 * (NF as f64)) * CF / 27.0,
- epsilon=2e-6
+ f64,
+ gamma_nsp(&mut c, NF).re,
+ (-112.0 * CF + 376.0 * CA - 64.0 * (NF as f64)) * CF / 27.0,
+ epsilon = 2e-6
);
-
+
// singlet sector
+ let gS1 = gamma_singlet(&mut c, NF);
assert_approx_eq!(
- f64,
- gamma_ps(&mut c, NF).re,
+ f64,
+ gamma_ps(&mut c, NF).re,
-40.0 * CF * (NF as f64) / 27.0
);
// qg
@@ -167,33 +266,25 @@ mod tests {
f64,
gS1[1][0].re,
(112.0 * CF - 376.0 * CA + 104.0 * (NF as f64)) * CF / 27.0,
- epsilon=1e-13
+ epsilon = 1e-13
);
// add additional point at (analytical) continuation point
- let check = (
- (34.0 / 27.0 * (-47.0 + 6. * PI.pow(2)) - 16.0 * ZETA3) * CF
- + (373.0 / 9.0 - 34.0 * PI.pow(2) / 9.0 + 8.0 * ZETA3) * CA
- - 64.0 * (NF as f64) / 27.0
- )* CF;
- assert_approx_eq!(
- f64,
- gamma_nsm(&mut c, NF).re,
- check,
- epsilon=2e-6);
-
- let mut c = Cache::new(cmplx![3.,0.]);
- let check = (
- (-34487.0 / 432.0 + 86.0 * PI.pow(2) / 9.0 - 16.0 * ZETA3) * CF
+ let check = ((34.0 / 27.0 * (-47.0 + 6. * PI.pow(2)) - 16.0 * ZETA3) * CF
+ + (373.0 / 9.0 - 34.0 * PI.pow(2) / 9.0 + 8.0 * ZETA3) * CA
+ - 64.0 * (NF as f64) / 27.0)
+ * CF;
+ assert_approx_eq!(f64, gamma_nsm(&mut c, NF).re, check, epsilon = 2e-6);
+ }
+
+ #[test]
+ fn N3() {
+ let mut c = Cache::new(cmplx![3., 0.]);
+ let check = ((-34487.0 / 432.0 + 86.0 * PI.pow(2) / 9.0 - 16.0 * ZETA3) * CF
+ (459.0 / 8.0 - 43.0 * PI.pow(2) / 9.0 + 8.0 * ZETA3) * CA
- - 415.0 * (NF as f64) / 108.0
- )* CF;
- assert_approx_eq!(
- f64,
- gamma_nsp(&mut c, NF).re,
- check,
- epsilon=2e-6
- );
+ - 415.0 * (NF as f64) / 108.0)
+ * CF;
+ assert_approx_eq!(f64, gamma_nsp(&mut c, NF).re, check, epsilon = 2e-6);
assert_approx_eq!(
f64,
@@ -206,28 +297,31 @@ mod tests {
assert_approx_eq!(
f64,
gS1[1][0].re,
- (973.0 / 432.0 * CF
- + (2801.0 / 5400.0 - 7.0 * PI.pow(2) / 9.0) * CA
- + 61.0 / 54.0 * (NF as f64)) * CF
+ (973.0 / 432.0 * CF
+ + (2801.0 / 5400.0 - 7.0 * PI.pow(2) / 9.0) * CA
+ + 61.0 / 54.0 * (NF as f64))
+ * CF
);
//gg
assert_approx_eq!(
f64,
gS1[1][1].re,
- (-79909.0 / 3375.0 + 194.0 * PI.pow(2) / 45.0 - 8.0 * ZETA3)
- * CA.pow(2)
- - 967.0 / 270.0 * CA * (NF as f64)
- + 541.0 / 216.0 * CF * (NF as f64),
- epsilon=1e-4 // lower numerical precision than python code?
+ (-79909.0 / 3375.0 + 194.0 * PI.pow(2) / 45.0 - 8.0 * ZETA3) * CA.pow(2)
+ - 967.0 / 270.0 * CA * (NF as f64)
+ + 541.0 / 216.0 * CF * (NF as f64),
+ epsilon = 1e-4 // lower numerical precision than python code?
);
-
- let mut c = Cache::new(cmplx![4.,0.]);
+ }
+
+ #[test]
+ fn N4() {
+ let mut c = Cache::new(cmplx![4., 0.]);
let gS1 = gamma_singlet(&mut c, NF);
assert_approx_eq!(
f64,
gS1[0][1].re,
(-56317.0 / 18000.0 * CF + 16387.0 / 9000.0 * CA) * (NF as f64),
- epsilon=1e-14
+ epsilon = 1e-14
)
- }
-}
\ No newline at end of file
+ }
+}
From 8c304b85c49b20a743a2496eb602b93921bbcc20 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 22 May 2024 18:06:32 +0300
Subject: [PATCH 167/216] rust: Activate as2 if requested
---
.../unpolarized/spacelike.rs | 17 ++++++++++++++++-
crates/ekore/src/constants.rs | 9 +++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
index b83ddf1e5..5d1bda0ce 100644
--- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
@@ -1,15 +1,26 @@
//! The unpolarized, space-like anomalous dimensions at various couplings power.
use crate::harmonics::cache::Cache;
+use crate::constants::{PID_NSP,PID_NSM,PID_NSV};
use num::complex::Complex;
use num::Zero;
pub mod as1;
pub mod as2;
/// Compute the tower of the non-singlet anomalous dimensions.
-pub fn gamma_ns_qcd(order_qcd: usize, _mode: u16, c: &mut Cache, nf: u8) -> Vec> {
+pub fn gamma_ns_qcd(order_qcd: usize, mode: u16, c: &mut Cache, nf: u8) -> Vec> {
let mut gamma_ns = vec![Complex::::zero(); order_qcd];
gamma_ns[0] = as1::gamma_ns(c, nf);
+ // NLO and beyond
+ if order_qcd >= 2 {
+ let gamma_ns_1 = match mode {
+ PID_NSP => as2::gamma_nsp(c, nf),
+ // To fill the full valence vector in NNLO we need to add gamma_ns^1 explicitly here
+ PID_NSM | PID_NSV => as2::gamma_nsm(c, nf),
+ _ => panic!("Unkown non-singlet sector element")
+ };
+ gamma_ns[1] = gamma_ns_1
+ }
gamma_ns
}
@@ -23,5 +34,9 @@ pub fn gamma_singlet_qcd(order_qcd: usize, c: &mut Cache, nf: u8) -> Vec<[[Compl
order_qcd
];
gamma_S[0] = as1::gamma_singlet(c, nf);
+ // NLO and beyond
+ if order_qcd >= 2 {
+ gamma_S[1] = as2::gamma_singlet(c, nf);
+ }
gamma_S
}
diff --git a/crates/ekore/src/constants.rs b/crates/ekore/src/constants.rs
index de882b5ea..c824bdf5a 100644
--- a/crates/ekore/src/constants.rs
+++ b/crates/ekore/src/constants.rs
@@ -32,3 +32,12 @@ pub const ZETA3: f64 = 1.2020569031595942;
///
/// $\zeta(4) = \pi^4 / 90$.
pub const ZETA4: f64 = 1.082323233711138;
+
+/// singlet-like non-singlet PID
+pub const PID_NSP: u16 = 10101;
+
+/// valence-like non-singlet PID
+pub const PID_NSM: u16 = 10201;
+
+/// non-singlet all-valence PID
+pub const PID_NSV: u16 = 10200;
From 4340ca2121cbb7685444af1c24884640a2236fcb Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Wed, 22 May 2024 18:51:35 +0200
Subject: [PATCH 168/216] correct latex table header
---
extras/lh_bench_23/parse_to_latex.py | 55 +++++++++++++------
.../N3LO_FHMRUVV_FFNS_Pggdn.dat | 2 +-
.../N3LO_FHMRUVV_FFNS_Pggup.dat | 2 +-
.../N3LO_FHMRUVV_FFNS_Pgqdn.dat | 2 +-
.../N3LO_FHMRUVV_FFNS_Pgqup.dat | 2 +-
.../N3LO_FHMRUVV_FFNS_Pqgdn.dat | 2 +-
.../N3LO_FHMRUVV_FFNS_Pqgup.dat | 2 +-
.../N3LO_FHMRUVV_FFNS_PqqPSup.dat | 2 +-
.../N3LO_MSHTposterior_FFNS_Pgqdn.dat | 2 +-
.../N3LO_MSHTposterior_FFNS_Pgqup.dat | 2 +-
.../N3LO_MSHTposterior_FFNS_Pqgdn.dat | 2 +-
.../N3LO_MSHTposterior_FFNS_Pqgup.dat | 2 +-
.../N3LO_MSHTposterior_FFNS_PqqPSdn.dat | 2 +-
.../N3LO_MSHTposterior_FFNS_PqqPSup.dat | 2 +-
.../N3LO_MSHTprior_FFNS_Pggdn.dat | 2 +-
.../N3LO_MSHTprior_FFNS_Pggup.dat | 2 +-
.../N3LO_MSHTprior_FFNS_Pgqdn.dat | 2 +-
.../N3LO_MSHTprior_FFNS_Pqgup.dat | 2 +-
18 files changed, 54 insertions(+), 35 deletions(-)
diff --git a/extras/lh_bench_23/parse_to_latex.py b/extras/lh_bench_23/parse_to_latex.py
index 0360a889f..aabdf76eb 100644
--- a/extras/lh_bench_23/parse_to_latex.py
+++ b/extras/lh_bench_23/parse_to_latex.py
@@ -26,6 +26,28 @@
\end{table}
"""
+VFNS_LABELS = r"""
+ \multicolumn{1}{c|} {$xu_v$} &
+ \multicolumn{1}{c|} {$xd_v$} &
+ \multicolumn{1}{c|} {$xL_-$} &
+ \multicolumn{1}{c|} {$xL_+$} &
+ \multicolumn{1}{c|} {$xs_+$} &
+ \multicolumn{1}{c|} {$xc_+$} &
+ \multicolumn{1}{c|} {$xb_+$} &
+ \multicolumn{1}{c||}{$xg$} \\[0.5mm]
+ """
+
+FFNS_LABELS = r"""
+ \multicolumn{1}{c|} {$xu_v$} &
+ \multicolumn{1}{c|} {$xd_v$} &
+ \multicolumn{1}{c|} {$xL_-$} &
+ \multicolumn{1}{c|} {$xL_+$} &
+ \multicolumn{1}{c|} {$xs_v$} &
+ \multicolumn{1}{c|} {$xs_+$} &
+ \multicolumn{1}{c|} {$xc_+$} &
+ \multicolumn{1}{c||}{$xg$}
+ """
+
def insert_haedrule(scheme, approx, caption):
"""Insert the middle rule."""
@@ -53,22 +75,15 @@ def insert_haedrule(scheme, approx, caption):
# + r"""aN$^3$LO, """
+ approx
+ scheme_label
- + r"""
- $\,\mu_{\rm f}^2 = 10^4 \mbox{ GeV}^2$} \\
+ + r"""$\,\mu_{\rm f}^2 = 10^4 \mbox{ GeV}^2$} \\
\multicolumn{9}{||c||}{} \\[-0.3cm]
\hline \hline
\multicolumn{9}{||c||}{} \\[-3mm]
\multicolumn{1}{||c||}{$x$} &
- \multicolumn{1}{c|} {$xu_v$} &
- \multicolumn{1}{c|} {$xd_v$} &
- \multicolumn{1}{c|} {$xL_-$} &
- \multicolumn{1}{c|} {$xL_+$} &
- \multicolumn{1}{c|} {$xs_+$} &
- \multicolumn{1}{c|} {$xc_+$} &
- \multicolumn{1}{c|} {$xb_+$} &
- \multicolumn{1}{c||}{$xg$} \\[0.5mm]
"""
)
+ HEADRULE += VFNS_LABELS if scheme == "VFNS" else FFNS_LABELS
+ HEADRULE += r"""\\[0.5mm]"""
return HEADRULE
@@ -128,8 +143,8 @@ def dump_table(scheme: str, approx: str, caption: str):
caption = r"""
Results for the FFNS aN$^3$LO evolution
for the initial conditions and the input parton distributions
- given in \cref{sec:toy_pdf},
- with the FHMRUVV splitting functions approximation.
+ given in Sec.~\ref{sec:toy_pdf},
+ with the FHMRUVV splitting functions approximation and the NNPDF code.
"""
dump_table(scheme, approx, caption)
@@ -138,23 +153,27 @@ def dump_table(scheme: str, approx: str, caption: str):
caption = r"""
Results for the VFNS aN$^3$LO evolution
for the initial conditions and the input parton distributions
- given in \cref{sec:toy_pdf},
- with the FHMRUVV splitting functions approximation.
+ given in Sec.~\ref{sec:toy_pdf},
+ with the FHMRUVV splitting functions approximation and the NNPDF code.
"""
dump_table(scheme, approx, caption)
approx = "EKO"
scheme = "FFNS"
caption = r"""
- Same as \cref{tab:n3lo_ffns_fhmruvv} but now with
- the NNPDF splitting functions approximation.
+ Results for the FFNS aN$^3$LO evolution
+ for the initial conditions and the input parton distributions
+ given in Sec.~\ref{sec:toy_pdf},
+ with the NNPDF splitting functions approximation.
"""
dump_table(scheme, approx, caption)
approx = "EKO"
scheme = "VFNS"
caption = r"""
- Same as \cref{tab:n3lo_vfns_fhmruvv} but now with
- the NNPDF splitting functions approximation.
+ Results for the VFNS aN$^3$LO evolution
+ for the initial conditions and the input parton distributions
+ given in Sec.~\ref{sec:toy_pdf},
+ with the NNPDF splitting functions approximation.
"""
dump_table(scheme, approx, caption)
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggdn.dat
index 8c01b18cb..4d6668d4f 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggdn.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggdn.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013595582059E-006 158.98448342903407 -2.7409080530560459E-005 78.420291447506216 77.695957374410852 1164.1199844485227
100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373312927928E-005 74.870422626646302 -4.2595660495692300E-005 36.583852704365881 36.010525221209534 526.39688596148198
100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381122658E-004 34.491866464262500 7.7558289248713663E-006 16.570297537394620 16.116360432976627 227.62525141193967
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggup.dat
index fac775717..7b441029e 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggup.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pggup.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013595582059E-006 138.96411571982844 -2.7409080530560459E-005 68.410107592903401 67.685776329870180 1007.7770380433128
100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373312927928E-005 68.902534411018109 -4.2595660495692300E-005 33.599908596551785 33.026582187175393 480.89658370868221
100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381477930E-004 33.188548024973770 7.7558289248713663E-006 15.918638317750251 15.464701533493528 217.83322051452035
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqdn.dat
index e1304a8a7..3451fa339 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqdn.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqdn.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013595582059E-006 152.80737782156342 -2.7409080530560459E-005 75.331738643770890 74.607405364346931 1114.8462243486822
100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373320033355E-005 73.231942033184538 -4.2595660495692300E-005 35.764612407634992 35.191285199168135 513.51140688584087
100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381477930E-004 34.223006699310361 7.7558289248713663E-006 16.435867654918543 15.981930615401740 225.46124651649257
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqup.dat
index 879c10e86..5dddaab5f 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqup.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pgqup.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013453473512E-006 145.10322273865611 -2.7409080530560459E-005 71.479661102317252 70.755329045645894 1056.7021925519598
100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373320033355E-005 70.548244793879149 -4.2595660495692300E-005 34.422763787982298 33.849437103915477 493.83654380918813
100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381122658E-004 33.459423595685678 7.7558289248713663E-006 16.054076103106208 15.600139253947013 220.01484611683000
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgdn.dat
index b43758308..161698273 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgdn.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgdn.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013453473512E-006 151.08534490362433 -2.7409080530560459E-005 74.470722184801360 73.745637287622031 1089.3705632942376
100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373327138783E-005 72.571950710934573 -4.2595660495692300E-005 35.434616746510002 34.860960942546093 504.44856342792536
100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381477930E-004 33.995060637816721 7.7558289248713663E-006 16.321894624171723 15.867855453023179 222.82619594008270
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgup.dat
index f02335010..1f2dea383 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgup.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_Pqgup.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013595582059E-006 146.82345512702517 -2.7409080530560459E-005 72.339777296501765 71.616196857586033 1082.1576473345106
100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373327138783E-005 71.208295457797817 -4.2595660495692300E-005 34.752789119941625 34.179791031372048 502.89955006210027
100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381477930E-004 33.687434378885641 7.7558289248713663E-006 16.168081494706183 15.714246777178783 222.65057630055901
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_PqqPSup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_PqqPSup.dat
index 4f0f8e654..cf04cae44 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_PqqPSup.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_FHMRUVV_FFNS/N3LO_FHMRUVV_FFNS_PqqPSup.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.1073436842679030E-004 5.3078116501126260E-005 7.8440013453473512E-006 148.68903766865787 -2.7409080530560459E-005 73.272568567318132 72.548361890841903 1085.1765644050179
100.00000000000000 9.9999999747524271E-007 5.7850897675137958E-004 3.1907598062730358E-004 3.0969373320033355E-005 71.792504661251002 -4.2595660495692300E-005 35.044893721668224 34.471627598820980 503.52703490762542
100.00000000000000 9.9999997473787516E-006 2.9147080724563068E-003 1.6974144677810443E-003 1.2300754381477930E-004 33.813130280425398 7.7558289248713663E-006 16.230929445476065 15.777014500681659 222.71594792696169
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqdn.dat
index 4fa0e57d1..95b97afa9 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqdn.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqdn.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524152640650E-006 51.765901270673879 -9.9200779182240240E-006 24.809838891149042 24.091153727252092 452.88961136560920
100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432279569060E-005 32.529930571647853 -1.9932355789009648E-005 15.412654126678230 14.843273565533545 275.85699472895311
100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 20.130899017860777 1.3958046515938349E-005 9.3889497293661321 8.9375031129079829 155.27080062356600
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqup.dat
index 01d1293ac..343748c58 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqup.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pgqup.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524117113513E-006 102.21910930411154 -9.9200779146713103E-006 50.036442907867880 49.317754525690397 864.43546032854169
100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 51.369668520197578 -1.9932355787233291E-005 24.832523100953093 24.263140396575423 420.87282207926097
100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 25.937165492268313 1.3958046515938349E-005 12.292082966569900 11.840635133496122 197.07223581991354
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgdn.dat
index 5dc758f57..1d6429a9a 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgdn.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgdn.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524117113513E-006 80.063668092992813 -9.9200779146713103E-006 38.958722302308516 38.241168659126764 707.22039801310052
100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 42.732159327574223 -1.9932355787233291E-005 20.513768504641416 19.945043246276505 365.55495085765449
100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711240570078E-005 23.137074543875329 1.3958046515938349E-005 10.892037492373406 10.440918180383436 181.27012988022375
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgup.dat
index 1eb99ce04..cbcd8766c 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgup.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_Pqgup.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524223694923E-006 101.74119285098439 -9.9200779146713103E-006 49.797484681304283 49.074064881273316 760.40242851177118
100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 52.786591928666581 -1.9932355787233291E-005 25.540984805187595 24.968861320555895 384.97817940769039
100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 26.954715855202060 1.3958046515938349E-005 12.800858148036772 12.348041034529231 186.26185534325910
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSdn.dat
index b197d3c2b..13b98a6db 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSdn.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSdn.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524223694923E-006 79.778249418273305 -9.9200779146713103E-006 38.816012964948740 38.098919721113589 701.89344080422757
100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 42.172664176586395 -1.9932355787233291E-005 20.234020929147501 19.665687953107124 362.19963941731726
100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 22.669227657304681 1.3958046515938349E-005 10.658114049088084 10.207300016840069 179.80169396984240
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSup.dat
index d987cbedd..787124958 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSup.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTposterior_FFNS/N3LO_MSHTposterior_FFNS_PqqPSup.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524117113513E-006 92.788086150245633 -9.9200779146713103E-006 45.320931330934926 44.599489959745455 745.44540497551191
100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 49.230086711347354 -1.9932355787233291E-005 23.762732196527981 23.191538122626504 381.70459364423681
100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 25.982111330651840 1.3958046515938349E-005 12.314555885761662 11.862014448311825 186.41777990367567
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggdn.dat
index 18011f195..804967b9c 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggdn.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggdn.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.2188813535463083E-004 6.7095969778385722E-005 2.4726524134877081E-006 27.037663359073420 -9.9200779164476671E-006 12.445719935348814 11.724529245104392 195.45637455639988
100.00000000000000 9.9999999747524271E-007 5.8593489566849399E-004 3.3362104220913125E-004 1.2769432279569060E-005 24.433001902191801 -1.9932355789009648E-005 11.364189791950206 10.793225193441293 186.19936348000047
100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711240570078E-005 18.891900563195556 1.3958046515938349E-005 8.7694505020335196 8.3170969721232630 134.19912277274810
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggup.dat
index c61da3c65..22835f1e6 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggup.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pggup.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524152640650E-006 79.048963345116789 -9.9200779146713103E-006 38.451369928370497 37.730175458064934 627.63998118875850
100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 44.212441762119020 -1.9932355787233291E-005 21.253909721913814 20.682942883592233 342.03345852126694
100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711240570078E-005 24.524203815547949 1.3958046515938349E-005 11.585602128209716 11.133247511813883 176.39071351403481
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pgqdn.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pgqdn.dat
index d365048b9..88754ff65 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pgqdn.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pgqdn.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524152640650E-006 41.389110988050120 -9.9200779182240240E-006 19.621443749837162 18.900252040763423 317.64987485757928
100.00000000000000 9.9999999747524271E-007 5.8593489566849399E-004 3.3362104220913125E-004 1.2769432277792703E-005 30.062728093481752 -1.9932355789009648E-005 14.179052887595184 13.608087690965277 231.51507901093620
100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 20.404705945413959 1.3958046515938349E-005 9.5258531931427211 9.0734993978249339 145.91907323288333
diff --git a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pqgup.dat b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pqgup.dat
index a1673c3ad..aab9f4150 100644
--- a/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pqgup.dat
+++ b/extras/lh_bench_23/tables/MSHT/N3LO_MSHTprior_FFNS/N3LO_MSHTprior_FFNS_Pqgup.dat
@@ -1,4 +1,4 @@
-# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
+# q2 x xuv xdv xL- 2xL+ xsv xs+ xc+ xg
100.00000000000000 1.0000000116860974E-007 1.2188813535374265E-004 6.7095969779273901E-005 2.4726524223694923E-006 75.376318725362495 -9.9200779146713103E-006 36.615047618493335 35.887119305230222 465.47456503867295
100.00000000000000 9.9999999747524271E-007 5.8593489566760582E-004 3.3362104220913125E-004 1.2769432277792703E-005 45.635430113943869 -1.9932355787233291E-005 21.965403897826238 21.390535305964420 286.23772770262161
100.00000000000000 9.9999997473787516E-006 2.8964623221137131E-003 1.6913606170989581E-003 6.8966711238793721E-005 26.149755048878042 1.3958046515938349E-005 12.398377744874765 11.944073487995208 161.23589845487552
From 46e50d11bc657215edc0e5c2b0f2bb7c5b2987b0 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Thu, 23 May 2024 09:28:43 +0200
Subject: [PATCH 169/216] remove .ds store
---
extras/lh_bench_23/tables/MSHT/.DS_Store | Bin 8196 -> 0 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 extras/lh_bench_23/tables/MSHT/.DS_Store
diff --git a/extras/lh_bench_23/tables/MSHT/.DS_Store b/extras/lh_bench_23/tables/MSHT/.DS_Store
deleted file mode 100644
index fb4479b5d28585e80152f592372fbe8f67ba6994..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 8196
zcmeHMu};G<5IsYON-Q7-I_4KDR)$c8ih+PcOE%Q16aiAJR0VbeKY#=u!p6wN4@q6dSJr@8(>w4G(XaGPRE7{c*Y#fF9sTRtTxkF%qcz_=_CNMTMR%)xD=u>A8!a#*dF@%O=e?Y_0hQ>;5H5`P7gD_7PCPNYG
z>4*!|a1f!k+_D0!Kv4n8-Pd3rHenAAto%KJM15{!Z)bGY?3|?IiFS}A{;Me^qhx)?r>0v%U^Sp6t@$*1B_-*9k
z7efb6V7f4Y6fWTkPGJfccs-pN%VXr~>A~g=&$pVlx0k#IRlWQ`4`=L;Xk#hMB#WlC
z&f`ZvJu)wOJ!C~M4n5YL>to)!h*5`SM7IsGIG
zu=cT1p>a}M1;K`f(0!GTqs{&>#OuKHg~m#4u?Neq9|ZI;uW|k6=lx&BgPX-r;1kc>
BQq}+f
From 79d219ea45e34e5eea42f23715c07d07547849fb Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 23 May 2024 11:13:06 +0300
Subject: [PATCH 170/216] rust: Run cargo format
---
.../unpolarized/spacelike.rs | 4 ++--
.../unpolarized/spacelike/as2.rs | 18 ++++++++++++++----
2 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
index 5d1bda0ce..71ea40af8 100644
--- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
@@ -1,7 +1,7 @@
//! The unpolarized, space-like anomalous dimensions at various couplings power.
+use crate::constants::{PID_NSM, PID_NSP, PID_NSV};
use crate::harmonics::cache::Cache;
-use crate::constants::{PID_NSP,PID_NSM,PID_NSV};
use num::complex::Complex;
use num::Zero;
pub mod as1;
@@ -17,7 +17,7 @@ pub fn gamma_ns_qcd(order_qcd: usize, mode: u16, c: &mut Cache, nf: u8) -> Vec as2::gamma_nsp(c, nf),
// To fill the full valence vector in NNLO we need to add gamma_ns^1 explicitly here
PID_NSM | PID_NSV => as2::gamma_nsm(c, nf),
- _ => panic!("Unkown non-singlet sector element")
+ _ => panic!("Unkown non-singlet sector element"),
};
gamma_ns[1] = gamma_ns_1
}
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
index ded7a5845..afdf1a38d 100644
--- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
@@ -17,7 +17,7 @@ pub fn gamma_nsm(c: &mut Cache, nf: u8) -> Complex {
let Sp2m = c.get(K::S2mh);
let Sp3m = c.get(K::S3mh);
let g3n = c.get(K::G3);
-
+ #[rustfmt::skip]
let gqq1m_cfca = 16.0 * g3n
- (144.0 + N * (1.0 + N) * (156.0 + N * (340.0 + N * (655.0 + 51.0 * N * (2.0 + N)))))
/ (18.0 * N.powu(3) * (1. + N).powu(3))
@@ -27,6 +27,7 @@ pub fn gamma_nsm(c: &mut Cache, nf: u8) -> Complex {
+ 2.0 * Sp3m
+ 10.0 * ZETA3
+ ZETA2 * (16.0 * S1 - 16.0 * Sp1m - (16.0 * (1. + N * LN_2)) / N);
+ #[rustfmt::skip]
let gqq1m_cfcf = -32. * g3n
+ (24. - N * (-32. + 3. * N * (-8. + N * (3. + N) * (3. + N.powu(2)))))
/ (2. * N.powu(3) * (1. + N).powu(3))
@@ -36,6 +37,7 @@ pub fn gamma_nsm(c: &mut Cache, nf: u8) -> Complex {
- 4. * Sp3m
- 20. * ZETA3
+ ZETA2 * (-32. * S1 + 32. * Sp1m + 32. * (1. / N + LN_2));
+ #[rustfmt::skip]
let gqq1m_cfnf = (-12. + N * (20. + N * (47. + 3. * N * (2. + N))))
/ (9. * N.powu(2) * (1. + N).powu(2))
- (40. * S1) / 9.
@@ -55,7 +57,7 @@ pub fn gamma_nsp(c: &mut Cache, nf: u8) -> Complex {
let Sp2p = c.get(K::S2h);
let Sp3p = c.get(K::S3h);
let g3n = c.get(K::G3);
-
+ #[rustfmt::skip]
let gqq1p_cfca = -16. * g3n
+ (132. - N * (340. + N * (655. + 51. * N * (2. + N))))
/ (18. * N.powu(2) * (1. + N).powu(2))
@@ -65,6 +67,7 @@ pub fn gamma_nsp(c: &mut Cache, nf: u8) -> Complex {
+ 2. * Sp3p
+ 10. * ZETA3
+ ZETA2 * (16. * S1 - 16. * Sp1p + 16. * (1. / N - LN_2));
+ #[rustfmt::skip]
let gqq1p_cfcf = 32. * g3n
- (8. + N * (32. + N * (40. + 3. * N * (3. + N) * (3. + N.powu(2)))))
/ (2. * N.powu(3) * (1. + N).powu(3))
@@ -74,6 +77,7 @@ pub fn gamma_nsp(c: &mut Cache, nf: u8) -> Complex {
- 4. * Sp3p
- 20. * ZETA3
+ ZETA2 * (-32. * S1 + 32. * Sp1p + 32. * (-(1. / N) + LN_2));
+ #[rustfmt::skip]
let gqq1p_cfnf = (-12. + N * (20. + N * (47. + 3. * N * (2. + N))))
/ (9. * N.powu(2) * (1. + N).powu(2))
- (40. * S1) / 9.
@@ -100,7 +104,7 @@ pub fn gamma_qg(c: &mut Cache, nf: u8) -> Complex {
let S1 = c.get(K::S1);
let S2 = c.get(K::S2);
let Sp2p = c.get(K::S2h);
-
+ #[rustfmt::skip]
let gqg1_nfca = (-4.
* (16.
+ N * (64.
@@ -111,6 +115,7 @@ pub fn gamma_qg(c: &mut Cache, nf: u8) -> Complex {
+ (4. * (2. + N + N.powu(2)) * S1.powu(2)) / (N * (2. + 3. * N + N.powu(2)))
- (4. * (2. + N + N.powu(2)) * S2) / (N * (2. + 3. * N + N.powu(2)))
+ (4. * (2. + N + N.powu(2)) * Sp2p) / (N * (2. + 3. * N + N.powu(2)));
+ #[rustfmt::skip]
let gqg1_nfcf = (-2. * (4. + N * (8. + N * (1. + N) * (25. + N * (26. + 5. * N * (2. + N))))))
/ (N.powu(3) * (1. + N).powu(3) * (2. + N))
+ (8. * S1) / N.powu(2)
@@ -127,13 +132,14 @@ pub fn gamma_gq(c: &mut Cache, nf: u8) -> Complex {
let S1 = c.get(K::S1);
let S2 = c.get(K::S2);
let Sp2p = c.get(K::S2h);
-
+ #[rustfmt::skip]
let ggq1_cfcf = (-8.
+ 2. * N * (-12. + N * (-1. + N * (28. + N * (43. + 6. * N * (5. + 2. * N))))))
/ ((-1. + N) * N.powu(3) * (1. + N).powu(3))
- (4. * (10. + N * (17. + N * (8. + 5. * N))) * S1) / ((-1. + N) * N * (1. + N).powu(2))
+ (4. * (2. + N + N.powu(2)) * S1.powu(2)) / (N * (-1. + N.powu(2)))
+ (4. * (2. + N + N.powu(2)) * S2) / (N * (-1. + N.powu(2)));
+ #[rustfmt::skip]
let ggq1_cfca = (-4.
* (144.
+ N * (432.
@@ -147,6 +153,7 @@ pub fn gamma_gq(c: &mut Cache, nf: u8) -> Complex {
+ ((8. + 4. * N + 4. * N.powu(2)) * S1.powu(2)) / (N - N.powu(3))
+ ((8. + 4. * N + 4. * N.powu(2)) * S2) / (N - N.powu(3))
+ (4. * (2. + N + N.powu(2)) * Sp2p) / (N * (-1. + N.powu(2)));
+ #[rustfmt::skip]
let ggq1_cfnf = (8. * (16. + N * (27. + N * (13. + 8. * N))))
/ (9. * (-1. + N) * N * (1. + N).powu(2))
- (8. * (2. + N + N.powu(2)) * S1) / (3. * N * (-1. + N.powu(2)));
@@ -163,6 +170,7 @@ pub fn gamma_gg(c: &mut Cache, nf: u8) -> Complex {
let Sp2p = c.get(K::S2h);
let Sp3p = c.get(K::S3h);
let g3n = c.get(K::G3);
+ #[rustfmt::skip]
let ggg1_caca = 16. * g3n
- (2.
* (576.
@@ -183,9 +191,11 @@ pub fn gamma_gg(c: &mut Cache, nf: u8) -> Complex {
- 2. * Sp3p
- 10. * ZETA3
+ ZETA2 * (-16. * S1 + 16. * Sp1p + 16. * (-(1. / N) + LN_2));
+ #[rustfmt::skip]
let ggg1_canf = (8. * (6. + N * (1. + N) * (28. + N * (1. + N) * (13. + 3. * N * (1. + N)))))
/ (9. * N.powu(2) * (1. + N).powu(2) * (-2. + N + N.powu(2)))
- (40. * S1) / 9.;
+ #[rustfmt::skip]
let ggg1_cfnf = (2.
* (-8.
+ N * (-8.
From 06bb0277bc6d66fd0c2a9a13a63993d4665ad4b5 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 23 May 2024 11:39:22 +0300
Subject: [PATCH 171/216] Port #362 to Rust
---
crates/eko/src/mellin.rs | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/crates/eko/src/mellin.rs b/crates/eko/src/mellin.rs
index f2f968fe4..5c12366d0 100644
--- a/crates/eko/src/mellin.rs
+++ b/crates/eko/src/mellin.rs
@@ -11,7 +11,7 @@ use std::f64::consts::PI;
/// Implements the algorithm presented in [\[Abate\]](crate::bib::Abate).
/// $p_{\text{Talbot}}(t) = o + r \cdot ( \theta \cot(\theta) + i\theta)$ with $\theta = \pi(2t-1)$
/// The default values for the parameters $r,o$ are given by $r = 1/2, o = 0$ for
-/// the non-singlet integrals and by $r = \frac{2}{5} \frac{16}{1 - \ln(x)}, o = 1$
+/// the non-singlet integrals and by $r = \frac{2}{5} \frac{16}{0.1 - \ln(x)}, o = 1$
/// for the singlet sector. Note that the non-singlet kernels evolve poles only up to
/// $N=0$ whereas the singlet kernels have poles up to $N=1$.
pub struct TalbotPath {
@@ -26,16 +26,20 @@ pub struct TalbotPath {
}
impl TalbotPath {
- /// Auxilary angle.
+ /// Auxiliary angle.
fn theta(&self) -> f64 {
PI * (2.0 * self.t - 1.0)
}
/// Constructor from parameters.
pub fn new(t: f64, logx: f64, is_singlet: bool) -> Self {
+ // The prescription suggested by Abate for r is 0.4 * M / ( - logx)
+ // with M the number of accurate digits; Maria Ubiali suggested in her thesis M = 16.
+ // However, this seems to yield unstable results for the OME in the large x region
+ // so we add an additional regularization, which makes the path less "edgy" there.
Self {
t,
- r: 0.4 * 16.0 / (1.0 - logx),
+ r: 0.4 * 16.0 / (0.1 - logx),
o: if is_singlet { 1. } else { 0. },
}
}
From 0be88578d347c917bf58a66e34dd6c2576315717 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 23 May 2024 14:06:17 +0300
Subject: [PATCH 172/216] rust: Fix documentation
---
crates/eko/src/bib.rs | 1 +
crates/eko/src/lib.rs | 3 ++-
crates/eko/src/mellin.rs | 11 +++++++----
.../anomalous_dimensions/unpolarized/spacelike/as2.rs | 8 ++++----
crates/ekore/src/harmonics/g_functions.rs | 4 ++--
crates/ekore/src/harmonics/polygamma.rs | 7 +++----
6 files changed, 19 insertions(+), 15 deletions(-)
create mode 120000 crates/eko/src/bib.rs
diff --git a/crates/eko/src/bib.rs b/crates/eko/src/bib.rs
new file mode 120000
index 000000000..1e713280e
--- /dev/null
+++ b/crates/eko/src/bib.rs
@@ -0,0 +1 @@
+../../ekore/src/bib.rs
\ No newline at end of file
diff --git a/crates/eko/src/lib.rs b/crates/eko/src/lib.rs
index e6b3e44cc..e6c1229a6 100644
--- a/crates/eko/src/lib.rs
+++ b/crates/eko/src/lib.rs
@@ -4,7 +4,8 @@ use ekore;
use ekore::harmonics::cache::Cache;
use std::ffi::c_void;
-mod mellin;
+pub mod bib;
+pub mod mellin;
/// QCD intergration kernel inside quad.
#[no_mangle]
diff --git a/crates/eko/src/mellin.rs b/crates/eko/src/mellin.rs
index 5c12366d0..1322bbe08 100644
--- a/crates/eko/src/mellin.rs
+++ b/crates/eko/src/mellin.rs
@@ -9,10 +9,13 @@ use std::f64::consts::PI;
/// Talbot inversion path.
///
/// Implements the algorithm presented in [\[Abate\]](crate::bib::Abate).
-/// $p_{\text{Talbot}}(t) = o + r \cdot ( \theta \cot(\theta) + i\theta)$ with $\theta = \pi(2t-1)$
-/// The default values for the parameters $r,o$ are given by $r = 1/2, o = 0$ for
-/// the non-singlet integrals and by $r = \frac{2}{5} \frac{16}{0.1 - \ln(x)}, o = 1$
-/// for the singlet sector. Note that the non-singlet kernels evolve poles only up to
+///
+/// $$p_{\text{Talbot}}(t) = o + r \cdot ( \theta \cot(\theta) + i\theta) ~ \text{with}~ \theta = \pi(2t-1)$$
+///
+/// The default values for the parameters $r,o$ are given by
+/// $r = \frac{2}{5} \frac{16}{0.1 - \ln(x)}$ and $o = 0$ for
+/// the non-singlet integrals and $o = 1$ for the singlet sector.
+/// Note that the non-singlet kernels evolve poles only up to
/// $N=0$ whereas the singlet kernels have poles up to $N=1$.
pub struct TalbotPath {
/// integration variable
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
index afdf1a38d..80c161e25 100644
--- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
@@ -88,7 +88,7 @@ pub fn gamma_nsp(c: &mut Cache, nf: u8) -> Complex {
/// Compute the pure-singlet quark-quark anomalous dimension.
///
-/// Implements Eq. (3.6) of [\[Vogt:2004mw\]][crate::bib::Vogt:2004mw].
+/// Implements Eq. (3.6) of [\[Vogt:2004mw\]][crate::bib::Vogt2004mw].
pub fn gamma_ps(c: &mut Cache, nf: u8) -> Complex {
let N = c.n;
let gqqps1_nfcf = (-4. * (2. + N * (5. + N)) * (4. + N * (4. + N * (7. + 5. * N))))
@@ -98,7 +98,7 @@ pub fn gamma_ps(c: &mut Cache, nf: u8) -> Complex {
/// Compute the quark-gluon singlet anomalous dimension.
///
-/// Implements Eq. (3.7) of [\[Vogt:2004mw\]][crate::bib::Vogt:2004mw].
+/// Implements Eq. (3.7) of [\[Vogt:2004mw\]][crate::bib::Vogt2004mw].
pub fn gamma_qg(c: &mut Cache, nf: u8) -> Complex {
let N = c.n;
let S1 = c.get(K::S1);
@@ -126,7 +126,7 @@ pub fn gamma_qg(c: &mut Cache, nf: u8) -> Complex {
/// Compute the gluon-quark singlet anomalous dimension.
///
-/// Implements Eq. (3.8) of [\[Vogt:2004mw\]][crate::bib::Vogt:2004mw].
+/// Implements Eq. (3.8) of [\[Vogt:2004mw\]][crate::bib::Vogt2004mw].
pub fn gamma_gq(c: &mut Cache, nf: u8) -> Complex {
let N = c.n;
let S1 = c.get(K::S1);
@@ -162,7 +162,7 @@ pub fn gamma_gq(c: &mut Cache, nf: u8) -> Complex {
/// Compute the gluon-gluon singlet anomalous dimension.
///
-/// Implements Eq. (3.9) of [\[Vogt:2004mw\]][crate::bib::Vogt:2004mw].
+/// Implements Eq. (3.9) of [\[Vogt:2004mw\]][crate::bib::Vogt2004mw].
pub fn gamma_gg(c: &mut Cache, nf: u8) -> Complex {
let N = c.n;
let S1 = c.get(K::S1);
diff --git a/crates/ekore/src/harmonics/g_functions.rs b/crates/ekore/src/harmonics/g_functions.rs
index 8acbf985e..ff0f8789f 100644
--- a/crates/ekore/src/harmonics/g_functions.rs
+++ b/crates/ekore/src/harmonics/g_functions.rs
@@ -9,8 +9,8 @@ use num::{complex::Complex, Zero};
/// This function appears in the analytic continuation of the harmonic sum
/// $S_{-2,1}(N)$ which in turn appears in the NLO anomalous dimension.
///
-/// We use the name from [[MuselliPhD]][crate::bib::MuselliPhD], but not his implementation - rather we use the
-/// Pegasus [[Vogt:2004ns]][crate::bib::Vogt2004ns] implementation.
+/// We use the name from [\[MuselliPhD\]](crate::bib::MuselliPhD), but not his implementation - rather we use the
+/// Pegasus [\[Vogt:2004ns\]](crate::bib::Vogt2004ns) implementation.
pub fn g3(N: Complex, S1: Complex) -> Complex {
const CS: [f64; 7] = [
1.0000e0, -0.9992e0, 0.9851e0, -0.9005e0, 0.6621e0, -0.3174e0, 0.0699e0,
diff --git a/crates/ekore/src/harmonics/polygamma.rs b/crates/ekore/src/harmonics/polygamma.rs
index be1bf2cc2..6f3d7d66d 100644
--- a/crates/ekore/src/harmonics/polygamma.rs
+++ b/crates/ekore/src/harmonics/polygamma.rs
@@ -5,7 +5,8 @@ use std::f64::consts::PI;
/// Compute the polygamma functions $\psi_k(z)$.
///
-/// Reimplementation of ``WPSIPG`` (C317) in [CERNlib](http://cernlib.web.cern.ch/cernlib/) given by [[KOLBIG1972221]][crate::bib::KOLBIG1972221].
+/// Reimplementation of ``WPSIPG`` (C317) in [CERNlib](http://cernlib.web.cern.ch/cernlib/)
+/// given by [\[KOLBIG1972221\]](crate::bib::KOLBIG1972221).
///
/// TODO: introduce back errors
pub fn cern_polygamma(Z: Complex, K: usize) -> Complex {
@@ -82,9 +83,7 @@ pub fn cern_polygamma(Z: Complex, K: usize) -> Complex {
}
let mut R = 1. / V.powu(2);
let mut P = R * C[K][6 - 1];
- for i in (1..=5).rev()
- // (int i = 5; i>1-1; i--)
- {
+ for i in (1..=5).rev() {
P = R * (C[K][i - 1] + P);
}
H = (SGN[K] as f64)
From 753475abcd9ada40c6de559ce4d333ea6c75f19c Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Thu, 23 May 2024 13:13:23 +0200
Subject: [PATCH 173/216] fix typo
---
extras/lh_bench_23/parse_to_latex.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/extras/lh_bench_23/parse_to_latex.py b/extras/lh_bench_23/parse_to_latex.py
index aabdf76eb..7f59ddc2b 100644
--- a/extras/lh_bench_23/parse_to_latex.py
+++ b/extras/lh_bench_23/parse_to_latex.py
@@ -49,7 +49,7 @@
"""
-def insert_haedrule(scheme, approx, caption):
+def insert_headrule(scheme, approx, caption):
"""Insert the middle rule."""
label = r"\label{tab:" + f"n3lo_{scheme.lower()}_{approx.lower()}" + "}"
scheme_label = (
@@ -113,7 +113,7 @@ def format_float(values):
def dump_table(scheme: str, approx: str, caption: str):
"""Write a nice latex table."""
- final_tab = insert_haedrule(scheme, approx.replace("EKO", "NNPDF"), caption)
+ final_tab = insert_headrule(scheme, approx.replace("EKO", "NNPDF"), caption)
# loop on scales
for sv in SVS:
# load tables
From 131f7d47438528b65e6ad9a8ea47febbe85b8b1b Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 23 May 2024 14:13:55 +0300
Subject: [PATCH 174/216] rust: Add minor fix to as2 tests
---
.../unpolarized/spacelike/as2.rs | 33 ++++++++++---------
1 file changed, 17 insertions(+), 16 deletions(-)
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
index 80c161e25..2c6381674 100644
--- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
@@ -231,14 +231,10 @@ mod tests {
let mut c = Cache::new(cmplx![1., 0.]);
assert_approx_eq!(f64, gamma_nsm(&mut c, NF).re, 0.0, epsilon = 2e-6);
+ // momentum conservation
let mut c = Cache::new(cmplx![2., 0.]);
let gS1 = gamma_singlet(&mut c, NF);
- // check shape gS1
- assert_eq!(gS1.len(), 2);
- assert_eq!((gS1[0]).len(), 2);
- assert_eq!((gS1[1]).len(), 2);
-
// gluon momentum conservation
assert_approx_eq!(f64, (gS1[0][1] + gS1[1][1]).re, 0.0, epsilon = 4e-5);
// quark momentum conservation
@@ -250,7 +246,7 @@ mod tests {
// reference values are obtained from MMa
let mut c = Cache::new(cmplx![2., 0.]);
- // non-singlet sector
+ // ns+
assert_approx_eq!(
f64,
gamma_nsp(&mut c, NF).re,
@@ -258,8 +254,16 @@ mod tests {
epsilon = 2e-6
);
+ // ns-
+ let check = ((34.0 / 27.0 * (-47.0 + 6. * PI.pow(2)) - 16.0 * ZETA3) * CF
+ + (373.0 / 9.0 - 34.0 * PI.pow(2) / 9.0 + 8.0 * ZETA3) * CA
+ - 64.0 * (NF as f64) / 27.0)
+ * CF;
+ assert_approx_eq!(f64, gamma_nsm(&mut c, NF).re, check, epsilon = 2e-6);
+
// singlet sector
let gS1 = gamma_singlet(&mut c, NF);
+ // ps
assert_approx_eq!(
f64,
gamma_ps(&mut c, NF).re,
@@ -278,31 +282,26 @@ mod tests {
(112.0 * CF - 376.0 * CA + 104.0 * (NF as f64)) * CF / 27.0,
epsilon = 1e-13
);
-
- // add additional point at (analytical) continuation point
- let check = ((34.0 / 27.0 * (-47.0 + 6. * PI.pow(2)) - 16.0 * ZETA3) * CF
- + (373.0 / 9.0 - 34.0 * PI.pow(2) / 9.0 + 8.0 * ZETA3) * CA
- - 64.0 * (NF as f64) / 27.0)
- * CF;
- assert_approx_eq!(f64, gamma_nsm(&mut c, NF).re, check, epsilon = 2e-6);
}
#[test]
fn N3() {
let mut c = Cache::new(cmplx![3., 0.]);
+ // ns+
let check = ((-34487.0 / 432.0 + 86.0 * PI.pow(2) / 9.0 - 16.0 * ZETA3) * CF
+ (459.0 / 8.0 - 43.0 * PI.pow(2) / 9.0 + 8.0 * ZETA3) * CA
- 415.0 * (NF as f64) / 108.0)
* CF;
assert_approx_eq!(f64, gamma_nsp(&mut c, NF).re, check, epsilon = 2e-6);
+ // singlet sector
+ let gS1 = gamma_singlet(&mut c, NF);
+ // ps
assert_approx_eq!(
f64,
gamma_ps(&mut c, NF).re,
-1391.0 * CF * (NF as f64) / 5400.0
);
-
- let gS1 = gamma_singlet(&mut c, NF);
// gq
assert_approx_eq!(
f64,
@@ -312,7 +311,7 @@ mod tests {
+ 61.0 / 54.0 * (NF as f64))
* CF
);
- //gg
+ // gg
assert_approx_eq!(
f64,
gS1[1][1].re,
@@ -326,7 +325,9 @@ mod tests {
#[test]
fn N4() {
let mut c = Cache::new(cmplx![4., 0.]);
+ // singlet sector
let gS1 = gamma_singlet(&mut c, NF);
+ // qg
assert_approx_eq!(
f64,
gS1[0][1].re,
From 0d1e2160e7c7dabc6574f817d94d859d9d4d8f05 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Thu, 23 May 2024 13:52:04 +0200
Subject: [PATCH 175/216] add new fhmruvv pgq parametrization
---
doc/source/refs.bib | 11 ++
.../unpolarized/space_like/as4/fhmruvv/ggq.py | 131 +++++++++++++-----
.../unpolarized/space_like/test_as4_fhmv.py | 4 +-
3 files changed, 106 insertions(+), 40 deletions(-)
diff --git a/doc/source/refs.bib b/doc/source/refs.bib
index ec3c7d318..769f2e326 100644
--- a/doc/source/refs.bib
+++ b/doc/source/refs.bib
@@ -1062,3 +1062,14 @@ @article{Ablinger:2024xtt
year = "2024",
journal = ""
}
+
+@article{Falcioni:2024xyt,
+ author = "Falcioni, G. and Herzog, F. and Moch, S. and Pelloni, A. and Vogt, A.",
+ title = "{Four-loop splitting functions in QCD -- The quark-to-gluon case}",
+ eprint = "2404.09701",
+ archivePrefix = "arXiv",
+ primaryClass = "hep-ph",
+ reportNumber = "ZU-TH 20/24, DESY-24-053, LTH 1367",
+ month = "4",
+ year = "2024"
+}
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggq.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggq.py
index 312b79c52..f34aea10a 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggq.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggq.py
@@ -2,15 +2,28 @@
import numba as nb
+from eko.constants import zeta2
+
from ......harmonics import cache as c
-from ......harmonics.log_functions import lm12, lm13, lm14, lm15
+from ......harmonics.log_functions import (
+ lm11,
+ lm12,
+ lm12m1,
+ lm13,
+ lm14,
+ lm14m1,
+ lm15,
+ lm15m1,
+)
@nb.njit(cache=True)
def gamma_gq(n, nf, cache, variation):
r"""Compute the |N3LO| gluon-quark singlet anomalous dimension.
- The routine is taken from :cite:`Moch:2023tdj`.
+ The routine is taken from :cite:`Falcioni:2024xyt`.
+ Lower moments were published also in :cite:`Moch:2023tdj`.
+
Parameters
----------
@@ -40,76 +53,118 @@ def gamma_gq(n, nf, cache, variation):
# Known large-x coefficients
x1L5cff = 1.3443073 * 10 - 5.4869684 * 0.1 * nf
x1L4cff = 3.7539831 * 10**2 - 3.4494742 * 10 * nf + 8.7791495 * 0.1 * nf2
+ y1L5cff = 2.2222222 * 10 - 5.4869684 * 0.1 * nf
+ y1L4cff = 6.6242163 * 10**2 - 4.7992684 * 10 * nf + 8.7791495 * 0.1 * nf2
# Small-x, Casimir scaled from P_gg (approx. for bfkl1)
bfkl0 = -8.3086173 * 10**3 / 2.25
bfkl1 = (-1.0691199 * 10**5 - nf * 9.9638304 * 10**2) / 2.25
+ # Small-x double-logs with x^0
+ x0L6cff = 5.2235940 * 10 - 7.3744856 * nf
+ x0L5cff = -2.9221399 * 10**2 + 1.8436214 * nf
+ x0L4cff = 7.3106077 * 10**3 - 3.7887135 * 10**2 * nf - 3.2438957 * 10 * nf2
+
# The resulting part of the function
P3GQ01 = (
+bfkl0 * (-(6 / (-1 + n) ** 4))
+ bfkl1 * 2 / (-1 + n) ** 3
+ + x0L6cff * 720 / n**7
+ + x0L5cff * -120 / n**6
+ + x0L4cff * 24 / n**5
+ x1L4cff * lm14(n, S1, S2, S3, S4)
+ x1L5cff * lm15(n, S1, S2, S3, S4, S5)
+ + y1L4cff * lm14m1(n, S1, S2, S3, S4)
+ + y1L5cff * lm15m1(n, S1, S2, S3, S4, S5)
)
# The selected approximations for nf = 3, 4, 5
if nf == 3:
P3gqApp1 = (
P3GQ01
- + 3.4 * bfkl1 * (-(1 / (-1 + n) ** 2))
- - 161562.0 * 1 / ((-1 + n) * n)
- + 36469.0 * 1 / n
- + 72317.0 * (-(1 / n**2))
- - 3977.3 * lm12(n, S1, S2)
- + 484.4 * lm13(n, S1, S2, S3)
+ + 6.0 * bfkl1 * (-(1 / (-1 + n) ** 2))
+ - 744384.0 * 1 / ((-1 + n) * n)
+ + 2453640.0 * 1 / n
+ - 1540404.0 * (2 / (1 + n) + 1 / (2 + n))
+ + 1933026.0 * -1 / n**2
+ + 1142069.0 * 2 / n**3
+ + 162196.0 * -6 / n**4
+ - 2172.1 * lm13(n, S1, S2, S3)
+ - 93264.1 * lm12(n, S1, S2)
+ - 786973.0 * lm11(n, S1)
+ + 875383.0 * lm12m1(n, S1, S2)
)
P3gqApp2 = (
P3GQ01
- + 5.4 * bfkl1 * (-(1 / (-1 + n) ** 2))
- - 546482.0 * 1 / ((-1 + n) * n)
- - 39464.0 * 1 / n
- - 401000.0 * (-(1 / n**2))
- + 13270.0 * lm12(n, S1, S2)
- + 3289.0 * lm13(n, S1, S2, S3)
+ + 3.0 * bfkl1 * (-(1 / (-1 + n) ** 2))
+ + 142414.0 * 1 / ((-1 + n) * n)
+ - 326525.0 * 1 / n
+ + 2159787.0 * ((3 + n) / (2 + 3 * n + n**2))
+ - 289064.0 * -1 / n**2
+ - 176358.0 * 2 / n**3
+ + 156541.0 * -6 / n**4
+ + 9016.5 * lm13(n, S1, S2, S3)
+ + 136063.0 * lm12(n, S1, S2)
+ + 829482.0 * lm11(n, S1)
+ - 2359050.0 * (S1 - n * (zeta2 - S2)) / n**2
)
elif nf == 4:
P3gqApp1 = (
P3GQ01
- + 3.4 * bfkl1 * (-(1 / (-1 + n) ** 2))
- - 158805.0 * 1 / ((-1 + n) * n)
- + 35098.0 * 1 / n
- + 87258.0 * (-(1 / n**2))
- - 4834.1 * lm12(n, S1, S2)
- + 176.6 * lm13(n, S1, S2, S3)
+ + 6.0 * bfkl1 * (-(1 / (-1 + n) ** 2))
+ - 743535.0 * 1 / ((-1 + n) * n)
+ + 2125286.0 * 1 / n
+ - 1332472.0 * (2 / (1 + n) + 1 / (2 + n))
+ + 1631173.0 * -1 / n**2
+ + 1015255.0 * 2 / n**3
+ + 142612.0 * -6 / n**4
+ - 1910.4 * lm13(n, S1, S2, S3)
+ - 80851.0 * lm12(n, S1, S2)
+ - 680219.0 * lm11(n, S1)
+ + 752733.0 * lm12m1(n, S1, S2)
)
P3gqApp2 = (
P3GQ01
- + 5.4 * bfkl1 * (-(1 / (-1 + n) ** 2))
- - 547215.0 * 1 / ((-1 + n) * n)
- - 41523.0 * 1 / n
- - 390350.0 * (-(1 / n**2))
- + 12571.0 * lm12(n, S1, S2)
- + 3007.0 * lm13(n, S1, S2, S3)
+ + 3.0 * bfkl1 * (-(1 / (-1 + n) ** 2))
+ + 160568.0 * 1 / ((-1 + n) * n)
+ - 361207.0 * 1 / n
+ + 2048948.0 * ((3 + n) / (2 + 3 * n + n**2))
+ - 245963.0 * -1 / n**2
+ - 171312.0 * 2 / n**3
+ + 163099.0 * -6 / n**4
+ + 8132.2 * lm13(n, S1, S2, S3)
+ + 124425.0 * lm12(n, S1, S2)
+ + 762435.0 * lm11(n, S1)
+ - 2193335.0 * (S1 - n * (zeta2 - S2)) / n**2
)
elif nf == 5:
P3gqApp1 = (
P3GQ01
- + 3.4 * bfkl1 * (-(1 / (-1 + n) ** 2))
- - 154336.0 * 1 / ((-1 + n) * n)
- + 33889.0 * 1 / n
- + 103440.0 * (-(1 / n**2))
- - 5745.8 * lm12(n, S1, S2)
- - 128.6 * lm13(n, S1, S2, S3)
+ + 6.0 * bfkl1 * (-(1 / (-1 + n) ** 2))
+ - 785864.0 * 1 / ((-1 + n) * n)
+ + 285034.0 * 1 / n
+ - 131648.0 * (2 / (1 + n) + 1 / (2 + n))
+ - 162840.0 * -1 / n**2
+ + 321220.0 * 2 / n**3
+ + 12688.0 * -6 / n**4
+ + 1423.4 * lm13(n, S1, S2, S3)
+ + 1278.9 * lm12(n, S1, S2)
+ - 30919.9 * lm11(n, S1)
+ + 47588.0 * lm12m1(n, S1, S2)
)
P3gqApp2 = (
P3GQ01
- + 5.4 * bfkl1 * (-(1 / (-1 + n) ** 2))
- - 546236.0 * 1 / ((-1 + n) * n)
- - 43421.0 * 1 / n
- - 378460.0 * (-(1 / n**2))
- + 11816.0 * lm12(n, S1, S2)
- + 2727.3 * lm13(n, S1, S2, S3)
+ + 3.0 * bfkl1 * (-(1 / (-1 + n) ** 2))
+ + 177094.0 * 1 / ((-1 + n) * n)
+ - 470694.0 * 1 / n
+ + 1348823.0 * ((3 + n) / (2 + 3 * n + n**2))
+ - 52985.0 * -1 / n**2
+ - 87354.0 * 2 / n**3
+ + 176885.0 * -6 / n**4
+ + 4748.8 * lm13(n, S1, S2, S3)
+ + 65811.9 * lm12(n, S1, S2)
+ + 396390.0 * lm11(n, S1)
+ - 1190212.0 * (S1 - n * (zeta2 - S2)) / n**2
)
else:
raise NotImplementedError("nf=6 is not available at N3LO")
diff --git a/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4_fhmv.py b/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4_fhmv.py
index 8bef494c7..a6671e3b2 100644
--- a/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4_fhmv.py
+++ b/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4_fhmv.py
@@ -45,7 +45,7 @@ def test_momentum_conservation():
# total
np.testing.assert_allclose(
g_singlet[:, 0, 0] + g_singlet[:, 1, 0],
- [0.08617, 0.220242, -0.047901],
+ [0.053441, 0.225674, -0.118792],
atol=2e-5,
)
np.testing.assert_allclose(
@@ -190,7 +190,7 @@ def gq3_moment(N, nf):
np.testing.assert_allclose(
ggq.gamma_gq(N, nf, cache, variation),
gq3_moment(N, nf),
- rtol=2e-4,
+ rtol=4e-4,
)
with pytest.raises(NotImplementedError):
From b7d4e8d3217f87597984af553825ad7f15d4739e Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 23 May 2024 15:05:21 +0300
Subject: [PATCH 176/216] rust: Improve as2 test case
---
.../ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
index 2c6381674..b2b16459c 100644
--- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as2.rs
@@ -318,7 +318,7 @@ mod tests {
(-79909.0 / 3375.0 + 194.0 * PI.pow(2) / 45.0 - 8.0 * ZETA3) * CA.pow(2)
- 967.0 / 270.0 * CA * (NF as f64)
+ 541.0 / 216.0 * CF * (NF as f64),
- epsilon = 1e-4 // lower numerical precision than python code?
+ epsilon = 3e-5
);
}
From 94a7cb28871976d5e7be0d15586128b76315fea1 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Thu, 23 May 2024 14:10:10 +0200
Subject: [PATCH 177/216] update our Pgq parametrization
---
extras/n3lo_bench/plot_msht.py | 2 +-
.../unpolarized/space_like/as4/ggq.py | 89 +++++++------------
.../unpolarized/space_like/test_as4.py | 4 +-
3 files changed, 36 insertions(+), 59 deletions(-)
diff --git a/extras/n3lo_bench/plot_msht.py b/extras/n3lo_bench/plot_msht.py
index 8ddc92d2a..05702729b 100644
--- a/extras/n3lo_bench/plot_msht.py
+++ b/extras/n3lo_bench/plot_msht.py
@@ -15,7 +15,7 @@
n3lo_vars_dict = {
"gg": 19,
- "gq": 21,
+ "gq": 15,
"qg": 15,
"qq": 6,
}
diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/ggq.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/ggq.py
index b5b7eadbc..2fa0f725d 100644
--- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/ggq.py
+++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/ggq.py
@@ -19,6 +19,7 @@
lm14m1,
lm14m2,
lm15,
+ lm15m1,
)
@@ -94,49 +95,37 @@ def gamma_gq_nf0(n, cache, variation):
S5 = c.get(c.S5, cache, n)
common = -22156.31283903764/np.power(-1. + n,4) + 95032.88047770769/np.power(-1. + n,3) - 37609.87654320987/np.power(n,7) - 35065.67901234568/np.power(n,6) - 175454.58483973087/np.power(n,5) - 375.3983146907502*lm14(n,S1,S2,S3,S4) - 13.443072702331962*lm15(n,S1,S2,S3,S4,S5)
if variation == 1:
- fit = -135325.37409909506/np.power(-1. + n,2) + 107389.69725534944/(-1. + n) - 281247.1594541515/(1. + n) + 145447.60744097419/(2. + n) - 1644.0474725539857*lm13(n,S1,S2,S3)
+ fit = -190798.78984643394/np.power(-1. + n,2) + 221131.0253655226/(-1. + n) + 648439.242059473/np.power(n,4) - 366347.6184986734/np.power(n,3) - 618607.6917836913/(1. + n) + 429310.45853894716/(2. + n) - 14371.95584746726*lm12(n,S1,S2) - 3733.573405767123*lm13(n,S1,S2,S3) - 2532.2371762381217*lm14m1(n,S1,S2,S3,S4) - 2065.2033221184793*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 2:
- fit = -130157.18895885911/np.power(-1. + n,2) + 93282.05706699888/(-1. + n) - 169738.63893980338/(1. + n) + 9212.769374520116*lm12(n,S1,S2) - 223.51479074632925*lm13(n,S1,S2,S3)
+ fit = -181955.90739273484/np.power(-1. + n,2) + 174079.00572878437/(-1. + n) + 614415.2112591498/np.power(n,4) - 247925.1030423719/np.power(n,3) - 857285.692084171/(1. + n) - 465757.33455764863*lm11(n,S1) - 96058.685995113*lm12(n,S1,S2) - 8155.798140311963*lm13(n,S1,S2,S3) - 28516.09724542403*lm14m1(n,S1,S2,S3,S4) - 954.4182897594625*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 3:
- fit = -130767.27520270286/np.power(-1. + n,2) + 94891.36609978844/(-1. + n) - 212410.3233945088/(1. + n) - 32955.07417912945*lm11(n,S1) - 1046.7526219200904*lm13(n,S1,S2,S3)
+ fit = 1.3256764418997709e6*(1/(-1. + n) - 1./n) - 274084.8755098396/np.power(-1. + n,2) - 562456.7287892306/(-1. + n) + 33100.78620012983/np.power(n,4) - 757963.2228636674/np.power(n,3) + 561634.5180237194/(1. + n) - 10366.577512205613*lm12(n,S1,S2) - 3308.849780595093*lm13(n,S1,S2,S3) + 3594.429612523227*lm14m1(n,S1,S2,S3,S4) - 164.77740102923354*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 4:
- fit = -158783.450560317/np.power(-1. + n,2) + 90100.75345693348/(-1. + n) + 412018.22879229486/np.power(n,4) - 129027.27855213353/(1. + n) - 1753.8825871656047*lm13(n,S1,S2,S3)
+ fit = -407971.0442601025/np.power(-1. + n,2) + 1.6779394404324158e6/(-1. + n) - 1.8508191192624622e6/np.power(n,4) + 556695.4184628404/np.power(n,3) - 2.9603580600296143e6/np.power(n,2) - 1.6991648126491427e6/(1. + n) - 7644.442002706872*lm12(n,S1,S2) - 3016.5770039806234*lm13(n,S1,S2,S3) + 7449.550615450056*lm14m1(n,S1,S2,S3,S4) + 1121.5452001019141*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 5:
- fit = -129693.48645695807/np.power(-1. + n,2) + 52876.75483885584/(-1. + n) + 158964.13837584556/np.power(n,3) - 85916.6315255873/(1. + n) - 1690.6720701417717*lm13(n,S1,S2,S3)
+ fit = -200706.92458750593/np.power(-1. + n,2) + 285544.01297554397/(-1. + n) + 598975.4725951094/np.power(n,4) - 459467.2186763565/np.power(n,3) - 125035.7898269595/(1. + n) - (469579.8213276177*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) - 19934.92974689708*lm12(n,S1,S2) - 4197.138060641495*lm13(n,S1,S2,S3) - 14354.398949387967*lm14m1(n,S1,S2,S3,S4) - 2780.1172673234187*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 6:
- fit = -301210.2328458577/np.power(-1. + n,2) + 811215.7479286905/(-1. + n) - 1.242177631711221e6/np.power(n,2) - 857543.1305664484/(1. + n) - 1833.163010136661*lm13(n,S1,S2,S3)
+ fit = -213717.81278326/np.power(-1. + n,2) + 343080.67540216126/(-1. + n) + 736622.8254565693/np.power(n,4) - 673275.6329706735/np.power(n,3) + 1.541999929424894e6/(2. + n) + 1.2071530957537233e6*lm11(n,S1) + 197344.29014401618*lm12(n,S1,S2) + 7727.9806356929*lm13(n,S1,S2,S3) + 64812.92407405157*lm14m1(n,S1,S2,S3,S4) - 4944.138652016546*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 7:
- fit = -122290.16043542989/np.power(-1. + n,2) + 71807.36048618097/(-1. + n) - 221400.82937350916/(2. + n) + 23236.477404056477*lm12(n,S1,S2) + 1938.8247584430924*lm13(n,S1,S2,S3)
+ fit = 694835.0487113381*(1/(-1. + n) - 1./n) - 234452.04501713923/np.power(-1. + n,2) - 189575.70173963293/(-1. + n) + 325918.06883470225/np.power(n,4) - 571607.5497870556/np.power(n,3) + 204293.30045438773/(2. + n) - 12272.59203346936*lm12(n,S1,S2) - 3510.9603747819533*lm13(n,S1,S2,S3) + 678.9706859669171*lm14m1(n,S1,S2,S3,S4) - 1069.1212905556267*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 8:
- fit = -116702.31643837337/np.power(-1. + n,2) + 56325.17516760884/(-1. + n) - 448808.73529422894/(2. + n) - 134644.78516249143*lm11(n,S1) + 796.324422989612*lm13(n,S1,S2,S3)
+ fit = -66469.9146192077/np.power(-1. + n,2) - 612876.780153988/(-1. + n) + 2.0792390245041656e6/np.power(n,4) - 894780.384449624/np.power(n,3) + 1.6947745654652142e6/np.power(n,2) + 675086.4242602822/(2. + n) - 18223.392584809953*lm12(n,S1,S2) - 4144.046942562251*lm13(n,S1,S2,S3) - 8246.712776279062*lm14m1(n,S1,S2,S3,S4) - 3889.585992793313*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 9:
- fit = -178667.39573180894/np.power(-1. + n,2) + 75445.99644274621/(-1. + n) + 761260.3281816904/np.power(n,4) - 123286.8456395018/(2. + n) - 1846.982948588938*lm13(n,S1,S2,S3)
+ fit = -203216.93313632446/np.power(-1. + n,2) + 301861.63488653634/(-1. + n) + 586444.881228152/np.power(n,4) - 483057.01613457815/np.power(n,3) - 108756.54115142432/(2. + n) - (588537.6906760911*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) - 21344.18742499368*lm12(n,S1,S2) - 4314.571987943781*lm13(n,S1,S2,S3) - 17349.286017533777*lm14m1(n,S1,S2,S3,S4) - 2961.2246827676927*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 10:
- fit = -127216.28629540099/np.power(-1. + n,2) + 28899.09790707029/(-1. + n) + 228884.9205878143/np.power(n,3) - 63975.501562926234/(2. + n) - 1711.180018456112*lm13(n,S1,S2,S3)
+ fit = 800949.5231631215*(1/(-1. + n) - 1./n) - 237618.5496992028/np.power(-1. + n,2) - 270922.4474641897/(-1. + n) + 263195.643205183/np.power(n,4) - 556080.8360498395/np.power(n,3) - 184355.25890888766*lm11(n,S1) - 44285.07913209169*lm12(n,S1,S2) - 5227.3604731573405*lm13(n,S1,S2,S3) - 9115.503485867332*lm14m1(n,S1,S2,S3,S4) - 477.33174654807533*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 11:
- fit = -54369.324330163065/np.power(-1. + n,2) - 236095.39968148115/(-1. + n) + 606214.4244773745/np.power(n,2) + 216429.75635890095/(2. + n) - 1551.7542579210171*lm13(n,S1,S2,S3)
+ fit = 48195.59002112752/np.power(-1. + n,2) - 1.3573040106844993e6/(-1. + n) + 3.124766843285419e6/np.power(n,4) - 1.067271569502171e6/np.power(n,3) + 3.014536621053924e6/np.power(n,2) - 940039.2873520318*lm11(n,S1) - 186091.1587357063*lm12(n,S1,S2) - 13389.081966931277*lm13(n,S1,S2,S3) - 65140.019870429314*lm14m1(n,S1,S2,S3,S4) - 3068.3813511505823*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 12:
- fit = -127730.39915689365/np.power(-1. + n,2) + 86880.5772952685/(-1. + n) + 131088.0859004977*lm11(n,S1) + 45859.153375434624*lm12(n,S1,S2) + 3051.145461650118*lm13(n,S1,S2,S3)
+ fit = -203908.76301521514/np.power(-1. + n,2) + 304577.27308896056/(-1. + n) + 596339.0394012802/np.power(n,4) - 495589.18522419676/np.power(n,3) - (549763.1754595829*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) + 79530.6860231015*lm11(n,S1) - 6936.368263841917*lm12(n,S1,S2) - 3521.174399244307*lm13(n,S1,S2,S3) - 11936.20686787835*lm14m1(n,S1,S2,S3,S4) - 3091.865040882635*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 13:
- fit = -249509.19871481528/np.power(-1. + n,2) + 80018.18821849066/(-1. + n) + 1.7178353341095438e6/np.power(n,4) - 29198.20288498338*lm12(n,S1,S2) - 6604.105966476303*lm13(n,S1,S2,S3)
+ fit = 996347.6558814617*(1/(-1. + n) - 1./n) - 307345.22952632234/np.power(-1. + n,2) - 5890.838164024106/(-1. + n) - 434907.89075372514/np.power(n,4) - 431371.6979604753/np.power(n,3) - 735420.6920727129/np.power(n,2) - 9690.333769848923*lm12(n,S1,S2) - 3236.2421958663294*lm13(n,S1,S2,S3) + 4552.132557305155*lm14m1(n,S1,S2,S3,S4) + 154.77587205927955*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 14:
- fit = -129218.19651555142/np.power(-1. + n,2) + 11461.766456848798/(-1. + n) + 321900.6239594061/np.power(n,3) - 9442.986825272894*lm12(n,S1,S2) - 3194.4920722194884*lm13(n,S1,S2,S3)
+ fit = 241392.41481428457*(1/(-1. + n) - 1./n) - 214068.31142011366/np.power(-1. + n,2) + 131131.54358220598/(-1. + n) + 495935.3419568636/np.power(n,4) - 513820.30789226515/np.power(n,3) - (384073.9851893155*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) - 18192.626596597966*lm12(n,S1,S2) - 4035.389453017769*lm13(n,S1,S2,S3) - 11086.094113028495*lm14m1(n,S1,S2,S3,S4) - 2303.8893574584527*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 15:
- fit = -87944.16009766924/np.power(-1. + n,2) - 83891.96406756257/(-1. + n) + 306548.65313472337/np.power(n,2) + 11486.326691371696*lm12(n,S1,S2) + 173.71945424342616*lm13(n,S1,S2,S3)
- elif variation == 16:
- fit = -202135.7995740037/np.power(-1. + n,2) + 82687.73905965324/(-1. + n) + 1.0495769899938635e6/np.power(n,4) + 50994.82207509583*lm11(n,S1) - 2848.098505650866*lm13(n,S1,S2,S3)
- elif variation == 17:
- fit = -128964.1511783234/np.power(-1. + n,2) + 24339.728042797506/(-1. + n) + 266935.24034010764/np.power(n,3) + 22383.637660612447*lm11(n,S1) - 2128.032930969243*lm13(n,S1,S2,S3)
- elif variation == 18:
- fit = -74648.83981878728/np.power(-1. + n,2) - 140958.82150230306/(-1. + n) + 408987.65266967454/np.power(n,2) - 43805.55005962004*lm11(n,S1) - 787.8265790554562*lm13(n,S1,S2,S3)
- elif variation == 19:
- fit = -71719.13674652952/np.power(-1. + n,2) - 21308.180757420447/(-1. + n) - 821124.7287279929/np.power(n,4) + 475769.01709201955/np.power(n,3) - 1564.6977442093062*lm13(n,S1,S2,S3)
- elif variation == 20:
- fit = -133558.27521182265/np.power(-1. + n,2) - 37615.76088185934/(-1. + n) + 484990.68454355566/np.power(n,4) + 220001.80072250665/np.power(n,2) - 1739.8412493001551*lm13(n,S1,S2,S3)
- elif variation == 21:
- fit = -110595.9812283641/np.power(-1. + n,2) - 31560.381420415717/(-1. + n) + 176663.97543390834/np.power(n,3) + 138310.07359867013/np.power(n,2) - 1674.8064387740321*lm13(n,S1,S2,S3)
+ fit = -184243.57777612918/np.power(-1. + n,2) + 174943.63966707757/(-1. + n) + 793566.8946787679/np.power(n,4) - 540182.7805370308/np.power(n,3) + 235146.35888011672/np.power(n,2) - (506879.3651168012*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) - 20911.184664809738*lm12(n,S1,S2) - 4290.912089188934*lm13(n,S1,S2,S3) - 16086.324716319741*lm14m1(n,S1,S2,S3,S4) - 3090.0331415667697*lm15m1(n,S1,S2,S3,S4,S5)
else:
- fit = -138152.69664751078/np.power(-1. + n,2) + 57913.880829154245/(-1. + n) + 171645.5636615693/np.power(n,4) + 77577.04360900483/np.power(n,3) + 20851.665375796576/np.power(n,2) - 82661.10297298252/(1. + n) - 23599.740384299566/(2. + n) - 330.42208404928425*lm11(n,S1) + 2435.882720720316*lm12(n,S1,S2) - 1327.8017698551957*lm13(n,S1,S2,S3)
+ fit = -204824.20590456025/np.power(-1. + n,2) + 311630.8552402414/(-1. + n) + 574082.1509765851/np.power(n,4) - 500136.3136750759/np.power(n,3) + 83245.25288646184/np.power(n,2) + 3414.410110455348/n - 182563.96455468299/(1. + n) + 182795.5714351391/(2. + n) - (166588.9358512939*S1)/np.power(n,2) - (166588.9358512939*S2)/n - 20231.20660278288*lm11(n,S1) - 19265.281611102873*lm12(n,S1,S2) - 4023.5797092198227*lm13(n,S1,S2,S3) - 6884.991578205952*lm14m1(n,S1,S2,S3,S4) - 1972.251097587273*lm15m1(n,S1,S2,S3,S4,S5)
return common + fit
@@ -166,49 +155,37 @@ def gamma_gq_nf1(n, cache, variation):
S5 = c.get(c.S5, cache, n)
common = 885.6738165500071/np.power(-1. + n,3) + 5309.62962962963/np.power(n,7) + 221.23456790123456/np.power(n,6) + 9092.91243376357/np.power(n,5) + 34.49474165523548*lm14(n,S1,S2,S3,S4) + 0.5486968449931413*lm15(n,S1,S2,S3,S4,S5)
if variation == 1:
- fit = -4154.154695948995/np.power(-1. + n,2) + 10568.669617295407/(-1. + n) - 17488.846844461823/(1. + n) + 12359.004664911017/(2. + n) + 211.10404507107253*lm13(n,S1,S2,S3)
+ fit = -4641.830354006266/np.power(-1. + n,2) + 9330.495800110972/(-1. + n) + 14344.09051426101/np.power(n,4) - 1016.4529739723794/np.power(n,3) - 6064.923487611063/(1. + n) - 2205.7352403247382/(2. + n) + 1484.8541015131434*lm12(n,S1,S2) + 431.5031264078472*lm13(n,S1,S2,S3) - 856.5578620911533*lm14m1(n,S1,S2,S3,S4) + 6.61766368570454*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 2:
- fit = -3715.00258213197/np.power(-1. + n,2) + 9369.912250526479/(-1. + n) - 8013.721406089578/(1. + n) + 782.8293753310119*lm12(n,S1,S2) + 331.8098466308406*lm13(n,S1,S2,S3)
+ fit = -4687.263677692064/np.power(-1. + n,2) + 9572.241701801757/(-1. + n) + 14518.90006807081/np.power(n,4) - 1624.8890269149388/np.power(n,3) - 4838.624644014499/(1. + n) + 2392.997784211616*lm11(n,S1) + 1904.549512246748*lm12(n,S1,S2) + 454.2239274477203*lm13(n,S1,S2,S3) - 723.0562074580255*lm14m1(n,S1,S2,S3,S4) + 0.9106508564231698*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 3:
- fit = -3766.8429586516354/np.power(-1. + n,2) + 9506.658795852165/(-1. + n) - 11639.62874491426/(1. + n) - 2800.265488570204*lm11(n,S1) + 261.8575086390502*lm13(n,S1,S2,S3)
+ fit = -6811.138044272443*(1/(-1. + n) - 1./n) - 4213.918161962191/np.power(-1. + n,2) + 13356.458528865467/(-1. + n) + 17505.612074825083/np.power(n,4) + 995.6134783259232/np.power(n,3) - 12128.839771112724/(1. + n) + 1464.2750761708346*lm12(n,S1,S2) + 429.3209612041876*lm13(n,S1,S2,S3) - 888.0357673648941*lm14m1(n,S1,S2,S3,S4) - 3.1464374221968265*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 4:
- fit = -6147.4392986647545/np.power(-1. + n,2) + 9099.589851629416/(-1. + n) + 35010.09952148762/np.power(n,4) - 4554.387135843054/(1. + n) + 201.7711126307286*lm13(n,S1,S2,S3)
+ fit = -3526.0317032445505/np.power(-1. + n,2) + 1845.6312169595117/(-1. + n) + 27184.909343823376/np.power(n,4) - 5758.912493427602/np.power(n,3) + 15209.879770634008/np.power(n,2) - 513.1837033827802/(1. + n) + 1450.2890806227542*lm12(n,S1,S2) + 427.8192994247673*lm13(n,S1,S2,S3) - 907.8428666449199*lm14m1(n,S1,S2,S3,S4) - 9.755401357842457*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 5:
- fit = -3675.6007556945196/np.power(-1. + n,2) + 5936.584418528788/(-1. + n) + 13507.53417196719/np.power(n,3) - 891.1801771144223/(1. + n) + 207.1422499668006*lm13(n,S1,S2,S3)
+ fit = -4590.923684246688/np.power(-1. + n,2) + 8999.550617808409/(-1. + n) + 14598.227915093874/np.power(n,4) - 538.0166438967607/np.power(n,3) - 8600.824838080449/(1. + n) + (2412.6347931026244*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) + 1513.4359164894108*lm12(n,S1,S2) + 433.88486067694004*lm13(n,S1,S2,S3) - 795.8172214607993*lm14m1(n,S1,S2,S3,S4) + 10.290808757929303*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 6:
- fit = -18249.757773649242/np.power(-1. + n,2) + 70374.32470231941/(-1. + n) - 105550.57876215602/np.power(n,2) - 66457.98920891003/(1. + n) + 195.03447986946037*lm13(n,S1,S2,S3)
+ fit = -4866.531418583069/np.power(-1. + n,2) + 10526.106107096773/(-1. + n) + 15208.65298881981/np.power(n,4) - 4025.6149294747884/np.power(n,3) + 8703.225799886446/(2. + n) + 11835.100931020013*lm11(n,S1) + 3560.5504964992174*lm12(n,S1,S2) + 543.8738525149046*lm13(n,S1,S2,S3) - 196.29613565392873*lm14m1(n,S1,S2,S3,S4) - 21.60775819888546*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 7:
- fit = -3343.5834681677507/np.power(-1. + n,2) + 8356.04624598052/(-1. + n) - 10452.80306687096/(2. + n) + 1444.9183960217892*lm12(n,S1,S2) + 433.89848620522463*lm13(n,S1,S2,S3)
+ fit = 6812.267406043017*(1/(-1. + n) - 1./n) - 5069.813407366513/np.power(-1. + n,2) + 5303.865079802739/(-1. + n) + 11182.04418020281/np.power(n,4) - 3028.851822020746/np.power(n,3) - 4411.837835317581/(2. + n) + 1505.436594939228*lm12(n,S1,S2) + 433.68565968275493*lm13(n,S1,S2,S3) - 825.0746801155074*lm14m1(n,S1,S2,S3,S4) + 16.38340848554099*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 8:
- fit = -2996.1134775555597/np.power(-1. + n,2) + 7393.314503624469/(-1. + n) - 24593.753132227568/(2. + n) - 8372.642876397704*lm11(n,S1) + 362.8541655256052*lm13(n,S1,S2,S3)
+ fit = -3422.891059017386/np.power(-1. + n,2) + 1153.755670292513/(-1. + n) + 28371.871488638357/np.power(n,4) - 6197.289757168041/np.power(n,3) + 16615.82978575513/np.power(n,2) + 203.89110614955672/(2. + n) + 1447.093994233797*lm12(n,S1,S2) + 427.47877749637*lm13(n,S1,S2,S3) - 912.583492582551*lm14m1(n,S1,S2,S3,S4) - 11.268877794713138*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 9:
- fit = -6849.300061096075/np.power(-1. + n,2) + 8582.308253713018/(-1. + n) + 47337.59912160785/np.power(n,4) - 4351.762124258069/(2. + n) + 198.4848688754035*lm13(n,S1,S2,S3)
+ fit = -4763.579488071934/np.power(-1. + n,2) + 10121.98975419346/(-1. + n) + 13736.287660471797/np.power(n,4) - 2160.6868401419974/np.power(n,3) - 7481.025709471715/(2. + n) - (5770.109793538375*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) + 1416.4974055579276*lm12(n,S1,S2) + 425.80694052284747*lm13(n,S1,S2,S3) - 1001.8262888413067*lm14m1(n,S1,S2,S3,S4) - 2.1670232041395643*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 10:
- fit = -3649.905711097048/np.power(-1. + n,2) + 5687.873404469671/(-1. + n) + 14232.795555815104/np.power(n,3) - 663.5932741012635/(2. + n) + 206.92952890585326*lm13(n,S1,S2,S3)
+ fit = 4520.661520913708*(1/(-1. + n) - 1./n) - 5001.430874802961/np.power(-1. + n,2) + 7060.59716821144/(-1. + n) + 12536.572900553683/np.power(n,4) - 3364.161076731632/np.power(n,3) + 3981.2635172018045*lm11(n,S1) + 2196.7656407758154*lm12(n,S1,S2) + 470.75235872661165*lm13(n,S1,S2,S3) - 613.5570863075435*lm14m1(n,S1,S2,S3,S4) + 3.603350437056353*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 11:
- fit = 879.9511001376588/np.power(-1. + n,2) - 10790.331004577562/(-1. + n) + 37696.34952104189/np.power(n,2) + 16772.9014435428/(2. + n) + 216.84313199599924*lm13(n,S1,S2,S3)
+ fit = -3388.259768452193/np.power(-1. + n,2) + 928.9237521114734/(-1. + n) + 28687.641066076383/np.power(n,4) - 6249.3846772154875/np.power(n,3) + 17014.423803619455/np.power(n,2) - 283.911571480371*lm11(n,S1) + 1396.3944319615423*lm12(n,S1,S2) + 424.6865855575389*lm13(n,S1,S2,S3) - 929.7664379765954*lm14m1(n,S1,S2,S3,S4) - 11.020846683201022*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 12:
- fit = -3600.42868484152/np.power(-1. + n,2) + 9067.684803683303/(-1. + n) + 6188.946763244337*lm11(n,S1) + 2512.9829441244183*lm12(n,S1,S2) + 486.41350744844374*lm13(n,S1,S2,S3)
+ fit = -4811.168299020828/np.power(-1. + n,2) + 10308.789975744723/(-1. + n) + 14416.876062124396/np.power(n,4) - 3022.7356514174053/np.power(n,3) - (3102.930670591721*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) + 5470.669625759262*lm11(n,S1) + 2407.5666798018997*lm12(n,S1,S2) + 480.3823046452061*lm13(n,S1,S2,S3) - 629.4773212257594*lm14m1(n,S1,S2,S3,S4) - 11.153366255382775*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 13:
- fit = -9349.864281360744/np.power(-1. + n,2) + 8743.696850292556/(-1. + n) + 81102.65214258479/np.power(n,4) - 1030.6341504008299*lm12(n,S1,S2) + 30.568594740114495*lm13(n,S1,S2,S3)
+ fit = 300.91468031027983*(1/(-1. + n) - 1./n) - 3495.6400189196065/np.power(-1. + n,2) + 1337.0787229077632/(-1. + n) + 27612.548291854742/np.power(n,4) - 6057.328428936091/np.power(n,3) + 15881.861322805855/np.power(n,2) + 1449.6712068638715*lm12(n,S1,S2) + 427.75295915863444*lm13(n,S1,S2,S3) - 908.7179226159642*lm14m1(n,S1,S2,S3,S4) - 10.04737351405501*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 14:
- fit = -3670.6707559192682/np.power(-1. + n,2) + 5507.002671361118/(-1. + n) + 15197.611675043092/np.power(n,3) - 97.9484707672736*lm12(n,S1,S2) + 191.54370342235256*lm13(n,S1,S2,S3)
+ fit = 16604.63646140265*(1/(-1. + n) - 1./n) - 5510.0124055938695/np.power(-1. + n,2) - 1622.003211474526/(-1. + n) + 7510.417547162798/np.power(n,4) - 4276.8010810631495/np.power(n,3) + (8294.312330449271*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) + 1633.28339277492*lm12(n,S1,S2) + 445.0110299002262*lm13(n,S1,S2,S3) - 571.0008823762004*lm14m1(n,S1,S2,S3,S4) + 43.04899480027303*lm15m1(n,S1,S2,S3,S4,S5)
elif variation == 15:
- fit = -1722.0358945603757/np.power(-1. + n,2) + 1005.1506697978073/(-1. + n) + 14472.81254861761/np.power(n,2) + 890.1688417705905*lm12(n,S1,S2) + 350.5641184465057*lm13(n,S1,S2,S3)
- elif variation == 16:
- fit = -7677.684552786546/np.power(-1. + n,2) + 8837.926288795223/(-1. + n) + 57514.561003940005/np.power(n,4) + 1800.00821732893*lm11(n,S1) + 163.14762960523643*lm13(n,S1,S2,S3)
- elif variation == 17:
- fit = -3668.0356413358095/np.power(-1. + n,2) + 5640.580814304368/(-1. + n) + 14627.476889260639/np.power(n,3) + 232.17686518512448*lm11(n,S1) + 202.60567395706914*lm13(n,S1,S2,S3)
- elif variation == 18:
- fit = -691.6734321623419/np.power(-1. + n,2) - 3417.4240793927916/(-1. + n) + 22411.6434750231/np.power(n,2) - 3394.848223236357*lm11(n,S1) + 276.04609873762405*lm13(n,S1,S2,S3)
- elif variation == 19:
- fit = -3074.255121846279/np.power(-1. + n,2) + 5167.092611529961/(-1. + n) - 8517.21102404984/np.power(n,4) + 16793.629342505785/np.power(n,3) + 208.44893320267045*lm13(n,S1,S2,S3)
- elif variation == 20:
- fit = -5257.044527918616/np.power(-1. + n,2) + 4591.469890746334/(-1. + n) + 37585.871230195466/np.power(n,4) + 7765.593309542773/np.power(n,2) + 202.2667418438865*lm13(n,S1,S2,S3)
- elif variation == 21:
- fit = -3477.5096784512552/np.power(-1. + n,2) + 5060.750476829951/(-1. + n) + 13691.12777479692/np.power(n,3) + 1434.6372023383353/np.power(n,2) + 207.3068180594*lm13(n,S1,S2,S3)
+ fit = -3458.461150841499/np.power(-1. + n,2) + 1391.69402227194/(-1. + n) + 27983.56958776381/np.power(n,4) - 6090.191530645382/np.power(n,3) + 16174.989824710121/np.power(n,2) - (153.08676471398127*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) + 1446.2823060910362*lm12(n,S1,S2) + 427.43442970735236*lm13(n,S1,S2,S3) - 914.9511127677407*lm14m1(n,S1,S2,S3,S4) - 11.027364975586181*lm15m1(n,S1,S2,S3,S4,S5)
else:
- fit = -4659.8548692239365/np.power(-1. + n,2) + 8775.661049395696/(-1. + n) + 11906.360571226945/np.power(n,4) + 4192.865495685177/np.power(n,3) - 1036.6448907424908/np.power(n,2) - 5192.654929396816/(1. + n) - 520.4764518573357/(2. + n) - 302.22022583075585*lm11(n,S1) + 214.3960445752241*lm12(n,S1,S2) + 245.07815446568293*lm13(n,S1,S2,S3)
+ fit = -4363.18369812144/np.power(-1. + n,2) + 7402.8344620734415/(-1. + n) + 18359.88144598285/np.power(n,4) - 3494.380230313365/np.power(n,3) + 5393.1323005016375/np.power(n,2) - 1612.81199529589/n - 2143.0930962801012/(1. + n) - 346.09879193853544/(2. + n) + (112.05465964718788*S1)/np.power(n,2) + (112.05465964718788*S2)/n + 1559.7413524474882*lm11(n,S1) + 1751.7963891028098*lm12(n,S1,S2) + 445.5744715382606*lm13(n,S1,S2,S3) - 778.3040856988591*lm14m1(n,S1,S2,S3,S4) - 0.6893048255383367*lm15m1(n,S1,S2,S3,S4,S5)
return common + fit
diff --git a/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4.py b/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4.py
index 13562cd61..7eccd27c0 100644
--- a/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4.py
+++ b/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4.py
@@ -18,7 +18,7 @@
n3lo_vars_dict = {
"gg": 19,
- "gq": 21,
+ "gq": 15,
"qg": 15,
"qq": 6,
}
@@ -132,7 +132,7 @@ def test_momentum_conservation():
np.testing.assert_allclose(
gnsp.gamma_nsp_nf0(N, sx_cache) + g_gq[:, 0],
0,
- atol=2e-10,
+ atol=1e-9,
)
np.testing.assert_allclose(
g_gg[:, 0],
From e9aaea714effb4ce9d1268d416b18f98737a9782 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Thu, 23 May 2024 14:15:03 +0200
Subject: [PATCH 178/216] update docs
---
doc/source/theory/N3LO_ad.rst | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/doc/source/theory/N3LO_ad.rst b/doc/source/theory/N3LO_ad.rst
index 34030f7e7..a485a8fc8 100644
--- a/doc/source/theory/N3LO_ad.rst
+++ b/doc/source/theory/N3LO_ad.rst
@@ -264,7 +264,9 @@ The other parts are approximated using some known limits:
& \gamma_{qg}(2) + \gamma_{gg}(2) = 0 \\
& \gamma_{qq}(2) + \gamma_{gq}(2) = 0 \\
- For :math:`\gamma_{qq,ps}, \gamma_{qg}` other 5 additional moments are available :cite:`Falcioni:2023luc,Falcioni:2023vqq`.
+ For
+ For :math:`\gamma_{qq,ps}, \gamma_{qg},\gamma_{gq}` other 5 additional moments are available
+ :cite:`Falcioni:2023luc,Falcioni:2023vqq,Falcioni:2024xyt` respectively.
making the parametrization of this splitting function much more accurate.
The difference between the known moments and the known limits is parametrized
@@ -337,7 +339,7 @@ final reduced sets of candidates.
* - :math:`f_4(N)`
- :math:`\frac{1}{N^4},\ \frac{1}{N^3},\ \frac{1}{N^2},\ \frac{1}{(N+1)},\ \frac{1}{(N+2)},\ \mathcal{M}[\ln^2(1-x)],\ \mathcal{M}[\ln(1-x)]`
- Following :cite:`Moch:2023tdj` we have assumed no violation of the scaling with :math:`\gamma_{gg}`
+ Following :cite:`Moch:2023tdj,Falcioni:2024xyt` we have assumed no violation of the scaling with :math:`\gamma_{gg}`
also for the |NLL| small-x term, to help the convergence. We expect that any possible deviation can be parametrized as a shift in the |NNLL| terms
which are free to vary independently.
From 84f4e1b36bd66c1871f793c89a2dc80f37baba83 Mon Sep 17 00:00:00 2001
From: Giacomo Magni <39065935+giacomomagni@users.noreply.github.com>
Date: Thu, 23 May 2024 14:17:08 +0200
Subject: [PATCH 179/216] Update doc/source/theory/N3LO_ad.rst
---
doc/source/theory/N3LO_ad.rst | 1 -
1 file changed, 1 deletion(-)
diff --git a/doc/source/theory/N3LO_ad.rst b/doc/source/theory/N3LO_ad.rst
index a485a8fc8..75918b4bd 100644
--- a/doc/source/theory/N3LO_ad.rst
+++ b/doc/source/theory/N3LO_ad.rst
@@ -264,7 +264,6 @@ The other parts are approximated using some known limits:
& \gamma_{qg}(2) + \gamma_{gg}(2) = 0 \\
& \gamma_{qq}(2) + \gamma_{gq}(2) = 0 \\
- For
For :math:`\gamma_{qq,ps}, \gamma_{qg},\gamma_{gq}` other 5 additional moments are available
:cite:`Falcioni:2023luc,Falcioni:2023vqq,Falcioni:2024xyt` respectively.
making the parametrization of this splitting function much more accurate.
From 85c7cbcef1e7960afa5f7e254306d6b861b628c2 Mon Sep 17 00:00:00 2001
From: Giacomo Magni <39065935+giacomomagni@users.noreply.github.com>
Date: Thu, 23 May 2024 14:17:55 +0200
Subject: [PATCH 180/216] Update doc/source/theory/N3LO_ad.rst
---
doc/source/theory/N3LO_ad.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/source/theory/N3LO_ad.rst b/doc/source/theory/N3LO_ad.rst
index 75918b4bd..1fb13a15e 100644
--- a/doc/source/theory/N3LO_ad.rst
+++ b/doc/source/theory/N3LO_ad.rst
@@ -264,7 +264,7 @@ The other parts are approximated using some known limits:
& \gamma_{qg}(2) + \gamma_{gg}(2) = 0 \\
& \gamma_{qq}(2) + \gamma_{gq}(2) = 0 \\
- For :math:`\gamma_{qq,ps}, \gamma_{qg},\gamma_{gq}` other 5 additional moments are available
+ For :math:`\gamma_{qq,ps}, \gamma_{qg},\gamma_{gq}` other 5 additional moments are available from
:cite:`Falcioni:2023luc,Falcioni:2023vqq,Falcioni:2024xyt` respectively.
making the parametrization of this splitting function much more accurate.
From 6ac2c6a5fdddafcac0ed3fbc0502fa3bc1122515 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Fri, 17 May 2024 16:50:04 +0200
Subject: [PATCH 181/216] build: Update flake with rust and maturin
---
flake.lock | 110 ++++++++++-------------------------------------------
flake.nix | 56 +++++++++++++--------------
2 files changed, 46 insertions(+), 120 deletions(-)
diff --git a/flake.lock b/flake.lock
index 3146adf01..b8125be0b 100644
--- a/flake.lock
+++ b/flake.lock
@@ -37,19 +37,21 @@
"type": "github"
}
},
- "flake-compat_2": {
- "flake": false,
+ "flake-parts": {
+ "inputs": {
+ "nixpkgs-lib": "nixpkgs-lib"
+ },
"locked": {
- "lastModified": 1673956053,
- "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
+ "lastModified": 1715865404,
+ "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9",
"type": "github"
},
"original": {
- "owner": "edolstra",
- "repo": "flake-compat",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
"type": "github"
}
},
@@ -71,23 +73,6 @@
"type": "github"
}
},
- "flake-utils_2": {
- "inputs": {
- "systems": "systems_2"
- },
- "locked": {
- "lastModified": 1685518550,
- "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
- "type": "github"
- },
- "original": {
- "id": "flake-utils",
- "type": "indirect"
- }
- },
"gitignore": {
"inputs": {
"nixpkgs": [
@@ -166,24 +151,16 @@
"type": "github"
}
},
- "nixpkgs-python": {
- "inputs": {
- "flake-compat": "flake-compat_2",
- "flake-utils": "flake-utils_2",
- "nixpkgs": "nixpkgs_3"
- },
+ "nixpkgs-lib": {
"locked": {
- "lastModified": 1692934204,
- "narHash": "sha256-dJG+DyQlWgeBEcCl9j3R5A4vcBnC2GLRacNeJgcZPo8=",
- "owner": "cachix",
- "repo": "nixpkgs-python",
- "rev": "dfe9a33d0d9bd31650b69c36f8fff5f2d5342393",
- "type": "github"
+ "lastModified": 1714640452,
+ "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=",
+ "type": "tarball",
+ "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
},
"original": {
- "owner": "cachix",
- "repo": "nixpkgs-python",
- "type": "github"
+ "type": "tarball",
+ "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
}
},
"nixpkgs-regression": {
@@ -234,22 +211,6 @@
"type": "github"
}
},
- "nixpkgs_3": {
- "locked": {
- "lastModified": 1685974512,
- "narHash": "sha256-WLPHpe96RbPRO9iDtCxgsYkadTheRq7wqXWdGpR6g7w=",
- "owner": "domenkozar",
- "repo": "nixpkgs",
- "rev": "1102477695918daba466123cc2ef694ed3a49939",
- "type": "github"
- },
- "original": {
- "owner": "domenkozar",
- "ref": "cpython-moduralize",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
"pre-commit-hooks": {
"inputs": {
"flake-compat": [
@@ -281,9 +242,8 @@
"root": {
"inputs": {
"devenv": "devenv",
- "nixpkgs": "nixpkgs_2",
- "nixpkgs-python": "nixpkgs-python",
- "systems": "systems_3"
+ "flake-parts": "flake-parts",
+ "nixpkgs": "nixpkgs_2"
}
},
"systems": {
@@ -300,36 +260,6 @@
"repo": "default",
"type": "github"
}
- },
- "systems_2": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- },
- "systems_3": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
}
},
"root": "root",
diff --git a/flake.nix b/flake.nix
index 28ea23292..a6686959f 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,46 +1,42 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
- systems.url = "github:nix-systems/default";
devenv.url = "github:cachix/devenv";
- nixpkgs-python.url = "github:cachix/nixpkgs-python";
- };
-
- nixConfig = {
- extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=";
- extra-substituters = "https://devenv.cachix.org";
+ flake-parts.url = "github:hercules-ci/flake-parts";
};
outputs = {
self,
nixpkgs,
devenv,
- systems,
+ flake-parts,
...
- } @ inputs: let
- forEachSystem = nixpkgs.lib.genAttrs (import systems);
- in {
- devShells =
- forEachSystem
- (system: let
- pkgs = nixpkgs.legacyPackages.${system};
- in {
- default = devenv.lib.mkShell {
- inherit inputs pkgs;
- modules = [
- {
- languages.python = {
+ } @ inputs:
+ flake-parts.lib.mkFlake {inherit inputs;} {
+ imports = [inputs.devenv.flakeModule];
+ systems = ["x86_64-linux" "aarch64-darwin"];
+
+ perSystem = {pkgs, ...}: {
+ devenv.shells.default = {
+ packages = with pkgs; [maturin];
+
+ languages = {
+ python = {
+ enable = true;
+ poetry = {
enable = true;
- poetry = {
- enable = true;
- install.enable = true;
- install.allExtras = true;
- };
- version = "3.11";
+ install.enable = true;
+ install.allExtras = true;
};
- }
- ];
+ };
+ rust.enable = true;
+ };
};
- });
+ };
+ };
+
+ nixConfig = {
+ extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=";
+ extra-substituters = "https://devenv.cachix.org";
};
}
From bfd6004d9e93052e8663c2b03a25c465fc5539e7 Mon Sep 17 00:00:00 2001
From: Alessandro Candido
Date: Fri, 24 May 2024 16:43:45 +0200
Subject: [PATCH 182/216] chore: Improve shebang
---
rustify.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rustify.sh b/rustify.sh
index 7e99996f0..297afdb3d 100755
--- a/rustify.sh
+++ b/rustify.sh
@@ -1,4 +1,4 @@
-#!/usr/bin/bash
+#!/usr/bin/env bash
# git diff --merge-base master pyproject.toml > pyproject.toml.patch
patch -p1
Date: Fri, 24 May 2024 16:45:42 +0200
Subject: [PATCH 183/216] build: Add common dev tools, upgrade nix shell
nixpkgs
---
flake.lock | 8 ++++----
flake.nix | 11 +++++++----
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/flake.lock b/flake.lock
index b8125be0b..55698ed90 100644
--- a/flake.lock
+++ b/flake.lock
@@ -197,16 +197,16 @@
},
"nixpkgs_2": {
"locked": {
- "lastModified": 1693183237,
- "narHash": "sha256-c7OtyBkZ/vZE/WosBpRGRtkbWZjDHGJP7fg1FyB9Dsc=",
+ "lastModified": 1716330097,
+ "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "ea5234e7073d5f44728c499192544a84244bf35a",
+ "rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2",
"type": "github"
},
"original": {
"owner": "NixOS",
- "ref": "nixos-23.05",
+ "ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
diff --git a/flake.nix b/flake.nix
index a6686959f..d2445852c 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,6 +1,6 @@
{
inputs = {
- nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
devenv.url = "github:cachix/devenv";
flake-parts.url = "github:hercules-ci/flake-parts";
};
@@ -18,15 +18,18 @@
perSystem = {pkgs, ...}: {
devenv.shells.default = {
- packages = with pkgs; [maturin];
+ packages = with pkgs; [maturin poethepoet pre-commit stdenv.cc.cc.lib];
languages = {
python = {
enable = true;
poetry = {
enable = true;
- install.enable = true;
- install.allExtras = true;
+ install = {
+ enable = true;
+ allExtras = true;
+ groups = ["dev" "test"];
+ };
};
};
rust.enable = true;
From 289192696a8df38bd01eed8dc2047fc2b225324f Mon Sep 17 00:00:00 2001
From: tgiani
Date: Mon, 27 May 2024 17:13:13 +0200
Subject: [PATCH 184/216] as3
---
.../unpolarized/spacelike.rs | 1 +
.../unpolarized/spacelike/as3.rs | 456 ++++++++++++++++++
2 files changed, 457 insertions(+)
create mode 100644 crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as3.rs
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
index 71ea40af8..e1bfafb58 100644
--- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
@@ -6,6 +6,7 @@ use num::complex::Complex;
use num::Zero;
pub mod as1;
pub mod as2;
+pub mod as3;
/// Compute the tower of the non-singlet anomalous dimensions.
pub fn gamma_ns_qcd(order_qcd: usize, mode: u16, c: &mut Cache, nf: u8) -> Vec> {
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as3.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as3.rs
new file mode 100644
index 000000000..b43608e01
--- /dev/null
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as3.rs
@@ -0,0 +1,456 @@
+//! NNLO QCD
+
+use ::num::complex::Complex;
+use num::traits::Pow;
+
+use crate::cmplx;
+use crate::constants::{ZETA2, ZETA3};
+use crate::harmonics::cache::{Cache, K};
+
+/// Compute the valence-like non-singlet anomalous dimension.
+///
+/// Implements Eq. (3.8) of [\[Moch:2004pa\]][crate::bib::Moch2004pa].
+pub fn gamma_nsm(c: &mut Cache, nf: u8) -> Complex {
+ let N = c.n;
+ let S1 = c.get(K::S1);
+ let S2 = c.get(K::S2);
+ let S3 = c.get(K::S3);
+ let E1 = S1 / N.powu(2) + (S2 - ZETA2) / N;
+ let E2 = 2.0 * (-S1 / N.powu(3) + (ZETA2 - S2) / N.powu(2) - (S3 - ZETA3) / N);
+
+ #[rustfmt::skip]
+ let pm2 =
+ -1174.898 * (S1 - 1.0 / N)
+ + 1295.470
+ - 714.1 * S1 / N
+ - 433.2 / (N + 3.0)
+ + 297.0 / (N + 2.0)
+ - 3505.0 / (N + 1.0)
+ + 1860.2 / N
+ - 1465.2 / N.powu(2)
+ + 399.2 * 2.0 / N.powu(3)
+ - 320.0 / 9.0 * 6.0 / N.powu(4)
+ + 116.0 / 81.0 * 24.0 / N.powu(5)
+ + 684.0 * E1
+ + 251.2 * E2;
+
+ #[rustfmt::skip]
+ let pm2_nf =
+ 183.187 * (S1 - 1.0 / N)
+ - 173.933
+ + 5120./ 81.0 * S1 / N
+ + 34.76 / (N + 3.0)
+ + 77.89 / (N + 2.0)
+ + 406.5 / (N + 1.0)
+ - 216.62 / N
+ + 172.69 / N.powu(2)
+ - 3216.0 / 81.0 * 2.0 / N.powu(3)
+ + 256.0 / 81.0 * 6.0 / N.powu(4)
+ - 65.43 * E1
+ + 1.136 * 6.0 / (N + 1.0).powu(4);
+
+ #[rustfmt::skip]
+ let pf2_nfnf =
+ -(
+ 17.0 / 72.0
+ - 2.0 / 27.0 * S1
+ - 10.0 / 27.0 * S2
+ + 2.0 / 9.0 * S3
+ - (12.0 * N.powu(4) + 2.0 * N.powu(3) - 12.0 * N.powu(2) - 2.0 * N + 3.0)
+ / (27.0 * N.powu(3) * (N + 1.0).powu(3))
+ )* 32.0 / 3.0;
+
+ let result = pm2 + (nf as f64) * pm2_nf + (nf as f64).pow(2) * pf2_nfnf;
+ -1. * result
+}
+
+/// Compute the singlet-like non-singlet anomalous dimension.
+///
+/// Implements Eq. (3.7) of [\[Moch:2004pa\]][crate::bib::Moch2004pa].
+pub fn gamma_nsp(c: &mut Cache, nf: u8) -> Complex {
+ let N = c.n;
+ let S1 = c.get(K::S1);
+ let S2 = c.get(K::S2);
+ let S3 = c.get(K::S3);
+ let E1 = S1 / N.powu(2) + (S2 - ZETA2) / N;
+ let E2 = 2.0 * (-S1 / N.powu(3) + (ZETA2 - S2) / N.powu(2) - (S3 - ZETA3) / N);
+
+ #[rustfmt::skip]
+ let pp2 =
+ -1174.898 * (S1 - 1.0 / N)
+ + 1295.384
+ - 714.1 * S1 / N
+ - 522.1 / (N + 3.0)
+ + 243.6 / (N + 2.0)
+ - 3135.0 / (N + 1.0)
+ + 1641.1 / N
+ - 1258.0 / N.powu(2)
+ + 294.9 * 2.0 / N.powu(3)
+ - 800. / 27.0 * 6.0 / N.powu(4)
+ + 128. / 81.0 * 24.0 / N.powu(5)
+ + 563.9 * E1
+ + 256.8 * E2;
+
+ #[rustfmt::skip]
+ let pp2_nf =
+ 183.187 * (S1 - 1.0 / N)
+ - 173.924
+ + 5120. / 81.0 * S1 / N
+ + 44.79 / (N + 3.0)
+ + 72.94 / (N + 2.0)
+ + 381.1 / (N + 1.0)
+ - 197.0 / N
+ + 152.6 / N.powu(2)
+ - 2608.0 / 81.0 * 2.0 / N.powu(3)
+ + 192.0 / 81.0 * 6.0 / N.powu(4)
+ - 56.66 * E1
+ + 1.497 * 6.0 / (N + 1.0).powu(4);
+
+ #[rustfmt::skip]
+ let pf2_nfnf =
+ -(
+ 17.0 / 72.0
+ - 2.0 / 27.0 * S1
+ - 10.0 / 27.0 * S2
+ + 2.0 / 9.0 * S3
+ - (12.0 * N.powu(4) + 2.0 * N.powu(3) - 12.0 * N.powu(2) - 2.0 * N + 3.0)
+ / (27.0 * N.powu(3) * (N + 1.0).powu(3))
+ )* 32.0/ 3.0;
+
+ let result = pp2 + (nf as f64) * pp2_nf + (nf as f64).pow(2) * pf2_nfnf;
+ -1. * result
+}
+
+/// Compute the valence non-singlet anomalous dimension.
+///
+/// Implements Eq. (3.9) of [\[Moch:2004pa\]][crate::bib::Moch2004pa].
+pub fn gamma_nsv(c: &mut Cache, nf: u8) -> Complex {
+ let N = c.n;
+ let S1 = c.get(K::S1);
+ let S2 = c.get(K::S2);
+ let S3 = c.get(K::S3);
+ let E1 = S1 / N.powu(2) + (S2 - ZETA2) / N;
+ let E2 = 2.0 * (-S1 / N.powu(3) + (ZETA2 - S2) / N.powu(2) - (S3 - ZETA3) / N);
+ let B11 = -(S1 + 1.0 / (N + 1.0)) / (N + 1.0);
+ let B12 = -(S1 + 1.0 / (N + 1.0) + 1.0 / (N + 2.0)) / (N + 2.0);
+
+ let B1M = if N.im.abs() < 1.0e-5 && (N - 1.0).re.abs() < 1.0e-5 {
+ cmplx![-ZETA2, 0.]
+ } else {
+ -(S1 - 1.0 / N) / (N - 1.0)
+ };
+
+ #[rustfmt::skip]
+ let ps2 = -(
+ -163.9 * (B1M + S1 / N)
+ - 7.208 * (B11 - B12)
+ + 4.82 * (1.0 / (N + 3.0) - 1.0 / (N + 4.0))
+ - 43.12 * (1.0 / (N + 2.0) - 1.0 / (N + 3.0))
+ + 44.51 * (1.0 / (N + 1.0) - 1.0 / (N + 2.0))
+ + 151.49 * (1.0 / N - 1.0 / (N + 1.0))
+ - 178.04 / N.powu(2)
+ + 6.892 * 2.0 / N.powu(3)
+ - 40.0 / 27.0 * (-2.0 * 6.0 / N.powu(4) - 24.0 / N.powu(5))
+ - 173.1 * E1
+ + 46.18 * E2
+ );
+
+ let result = gamma_nsm(c, nf) + (nf as f64) * ps2;
+ result
+}
+
+/// Compute the pure-singlet quark-quark anomalous dimension.
+///
+/// Implements Eq. (3.10) of [\[Vogt:2004mw\]][crate::bib::Vogt2004mw].
+pub fn gamma_ps(c: &mut Cache, nf: u8) -> Complex {
+ let N = c.n;
+ let S1 = c.get(K::S1);
+ let S2 = c.get(K::S2);
+ let S3 = c.get(K::S3);
+
+ let E1 = S1 / N.powu(2) + (S2 - ZETA2) / N;
+ let E11 = (S1 + 1.0 / (N + 1.0)) / (N + 1.0).powu(2)
+ + (S2 + 1.0 / (N + 1.0).powu(2) - ZETA2) / (N + 1.0);
+ let B21 = ((S1 + 1.0 / (N + 1.0)).powu(2) + S2 + 1.0 / (N + 1.0).powu(2)) / (N + 1.0);
+ let B3 = -(S1.powu(3) + 3.0 * S1 * S2 + 2.0 * S3) / N;
+
+ #[rustfmt::skip]
+ let B31 = -(
+ (S1 + 1.0 / (N + 1.0)).powu(3)
+ + 3.0 * (S1 + 1.0 / (N + 1.0)) * (S2 + 1.0 / (N + 1.0).powu(2))
+ + 2.0 * (S3 + 1.0 / (N + 1.0).powu(3))
+ ) / (N + 1.0);
+
+ #[rustfmt::skip]
+ let ps1 =
+ -3584.0 / 27.0 * (-1.0 / (N - 1.0).powu(2) + 1.0 / N.powu(2))
+ - 506.0 * (1.0 / (N - 1.0) - 1.0 / N)
+ + 160.0 / 27.0 * (24.0 / N.powu(5) - 24.0 / (N + 1.0).powu(5))
+ - 400.0 / 9.0 * (-6.0 / N.powu(4) + 6.0 / (N + 1.0).powu(4))
+ + 131.4 * (2.0 / N.powu(3) - 2.0 / (N + 1.0).powu(3))
+ - 661.6 * (-1.0 / N.powu(2) + 1.0 / (N + 1.0).powu(2))
+ - 5.926 * (B3 - B31)
+ - 9.751 * ((S1.powu(2) + S2) / N - B21)
+ - 72.11 * (-S1 / N + (S1 + 1.0 / (N + 1.0)) / (N + 1.0))
+ + 177.4 * (1.0 / N - 1.0 / (N + 1.0))
+ + 392.9 * (1.0 / (N + 1.0) - 1.0 / (N + 2.0))
+ - 101.4 * (1.0 / (N + 2.0) - 1.0 / (N + 3.0))
+ - 57.04 * (E1 - E11);
+
+ #[rustfmt::skip]
+ let ps2 =
+ 256.0 / 81.0 * (1.0 / (N - 1.0) - 1.0 / N)
+ + 32.0 / 27.0 * (-6.0 / N.powu(4) + 6.0 / (N + 1.0).powu(4))
+ + 17.89 * (2.0 / N.powu(3) - 2.0 / (N + 1.0).powu(3))
+ + 61.75 * (-1.0 / N.powu(2) + 1.0 / (N + 1.0).powu(2))
+ + 1.778 * ((S1.powu(2) + S2) / N - B21)
+ + 5.944 * (-S1 / N + (S1 + 1.0 / (N + 1.0)) / (N + 1.0))
+ + 100.1 * (1.0 / N - 1.0 / (N + 1.0))
+ - 125.2 * (1.0 / (N + 1.0) - 1.0 / (N + 2.0))
+ + 49.26 * (1.0 / (N + 2.0) - 1.0 / (N + 3.0))
+ - 12.59 * (1.0 / (N + 3.0) - 1.0 / (N + 4.0))
+ - 1.889 * (E1 - E11);
+
+ let result = (nf as f64) * ps1 + (nf as f64).pow(2) * ps2;
+ -1.0 * result
+}
+
+/// Compute the quark-gluon singlet anomalous dimension.
+///
+/// Implements Eq. (3.11) of [\[Vogt:2004mw\]][crate::bib::Vogt2004mw].
+pub fn gamma_qg(c: &mut Cache, nf: u8) -> Complex {
+ let N = c.n;
+ let S1 = c.get(K::S1);
+ let S2 = c.get(K::S2);
+ let S3 = c.get(K::S3);
+ let S4 = c.get(K::S4);
+
+ let E1 = S1 / N.powu(2) + (S2 - ZETA2) / N;
+ let E2 = 2.0 * (-S1 / N.powu(3) + (ZETA2 - S2) / N.powu(2) - (S3 - ZETA3) / N);
+ let B3 = -(S1.powu(3) + 3.0 * S1 * S2 + 2.0 * S3) / N;
+ let B4 = (S1.powu(4) + 6.0 * S1.powu(2) * S2 + 8.0 * S1 * S3 + 3.0 * S2.powu(2) + 6.0 * S4) / N;
+
+ #[rustfmt::skip]
+ let qg1 =
+ 896.0 / 3.0 / (N - 1.0).powu(2)
+ - 1268.3 / (N - 1.0)
+ + 536.0 / 27.0 * 24.0 / N.powu(5)
+ + 44.0 / 3.0 * 6.0 / N.powu(4)
+ + 881.5 * 2.0 / N.powu(3)
+ - 424.9 / N.powu(2)
+ + 100.0 / 27.0 * B4
+ - 70.0 / 9.0 * B3
+ - 120.5 * (S1.powu(2) + S2) / N
+ - 104.42 * S1 / N
+ + 2522.0 / N
+ - 3316.0 / (N + 1.0)
+ + 2126.0 / (N + 2.0)
+ + 1823.0 * E1
+ - 25.22 * E2
+ + 252.5 * 6.0 / (N + 1.0).powu(4);
+
+ #[rustfmt::skip]
+ let qg2 =
+ 1112.0 / 243.0 / (N - 1.0)
+ - 16.0 / 9.0 * 24.0 / N.powu(5)
+ + 376.0 / 27.0 * 6.0 / N.powu(4)
+ - 90.8 * 2.0 / N.powu(3)
+ + 254.0 / N.powu(2)
+ + 20.0 / 27.0 * B3
+ + 200.0 / 27.0 * (S1.powu(2) + S2) / N
+ + 5.496 * S1 / N
+ - 252.0 / N
+ + 158.0 / (N + 1.0)
+ + 145.4 / (N + 2.0)
+ - 139.28 / (N + 3.0)
+ - 53.09 * E1
+ - 80.616 * E2
+ - 98.07 * 2.0 / (N + 1.0).powu(3)
+ - 11.70 * 6.0 / (N + 1.0).powu(4);
+
+ let result = (nf as f64) * qg1 + (nf as f64).pow(2) * qg2;
+ -1.0 * result
+}
+
+/// Compute the gluon-quark singlet anomalous dimension.
+///
+/// Implements Eq. (3.12) of [\[Vogt:2004mw\]][crate::bib::Vogt2004mw].
+pub fn gamma_gq(c: &mut Cache, nf: u8) -> Complex {
+ let N = c.n;
+ let S1 = c.get(K::S1);
+ let S2 = c.get(K::S2);
+ let S3 = c.get(K::S3);
+ let S4 = c.get(K::S4);
+
+ let E1 = S1 / N.powu(2) + (S2 - ZETA2) / N;
+ let E2 = 2.0 * (-S1 / N.powu(3) + (ZETA2 - S2) / N.powu(2) - (S3 - ZETA3) / N);
+ let B21 = ((S1 + 1.0 / (N + 1.0)).powu(2) + S2 + 1.0 / (N + 1.0).powu(2)) / (N + 1.0);
+ let B3 = -(S1.powu(3) + 3.0 * S1 * S2 + 2.0 * S3) / N;
+ let B4 = (S1.powu(4) + 6.0 * S1.powu(2) * S2 + 8.0 * S1 * S3 + 3.0 * S2.powu(2) + 6.0 * S4) / N;
+
+ #[rustfmt::skip]
+ let gq0 =
+ -1189.3 * 1.0 / (N - 1.0).powu(2)
+ + 6163.1 / (N - 1.0)
+ - 4288.0 / 81.0 * 24.0 / N.powu(5)
+ - 1568.0 / 9.0 * 6.0 / N.powu(4)
+ - 1794.0 * 2.0 / N.powu(3)
+ - 4033.0 * 1.0 / N.powu(2)
+ + 400.0 / 81.0 * B4
+ + 2200.0 / 27.0 * B3
+ + 606.3 * (S1.powu(2) + S2) / N
+ - 2193.0 * S1 / N
+ - 4307.0 / N
+ + 489.3 / (N + 1.0)
+ + 1452.0 / (N + 2.0)
+ + 146.0 / (N + 3.0)
+ - 447.3 * E2
+ - 972.9 * 2.0 / (N + 1.0).powu(3);
+
+ #[rustfmt::skip]
+ let gq1 =
+ -71.082 / (N - 1.0).powu(2)
+ - 46.41 / (N - 1.0)
+ + 128.0 / 27.0 * 24.0 / N.powu(5)
+ - 704. / 81.0 * 6.0 / N.powu(4)
+ + 20.39 * 2.0 / N.powu(3)
+ - 174.8 * 1.0 / N.powu(2)
+ - 400.0 / 81.0 * B3
+ - 68.069 * (S1.powu(2) + S2) / N
+ + 296.7 * S1 / N
+ - 183.8 / N
+ + 33.35 / (N + 1.0)
+ - 277.9 / (N + 2.0)
+ + 108.6 * 2.0 / (N + 1.0).powu(3)
+ - 49.68 * E1;
+
+ #[rustfmt::skip]
+ let gq2 = (
+ 64.0 * (-1.0 / (N - 1.0) + 1.0 / N + 2.0 / (N + 1.0))
+ + 320.0
+ * (
+ -(S1 - 1.0 / N) / (N - 1.0)
+ + S1 / N
+ - 0.8 * (S1 + 1.0 / (N + 1.0)) / (N + 1.0)
+ )
+ + 96.0
+ * (
+ ((S1 - 1.0 / N).powu(2) + S2 - 1.0 / N.powu(2)) / (N - 1.0)
+ - (S1.powu(2) + S2) / N
+ + 0.5 * B21
+ )
+ ) / 27.0;
+
+ let result = gq0 + (nf as f64) * gq1 + (nf as f64).pow(2) * gq2;
+ -1.0 * result
+}
+
+/// Compute the gluon-quark singlet anomalous dimension.
+///
+/// Implements Eq. (3.13) of [\[Vogt:2004mw\]][crate::bib::Vogt2004mw].
+pub fn gamma_gg(c: &mut Cache, nf: u8) -> Complex {
+ let N = c.n;
+ let S1 = c.get(K::S1);
+ let S2 = c.get(K::S2);
+ let S3 = c.get(K::S3);
+
+ let E1 = S1 / N.powu(2) + (S2 - ZETA2) / N;
+ let E11 = (S1 + 1.0 / (N + 1.0)) / (N + 1.0).powu(2)
+ + (S2 + 1.0 / (N + 1.0).powu(2) - ZETA2) / (N + 1.0);
+ let E2 = 2.0 * (-S1 / N.powu(3) + (ZETA2 - S2) / N.powu(2) - (S3 - ZETA3) / N);
+
+ #[rustfmt::skip]
+ let gg0 =
+ -2675.8 / (N - 1.0).powu(2)
+ + 14214.0 / (N - 1.0)
+ - 144.0 * 24.0 / N.powu(5)
+ - 72.0 * 6.0 / N.powu(4)
+ - 7471.0 * 2.0 / N.powu(3)
+ - 274.4 / N.powu(2)
+ - 20852.0 / N
+ + 3968.0 / (N + 1.0)
+ - 3363.0 / (N + 2.0)
+ + 4848.0 / (N + 3.0)
+ + 7305.0 * E1
+ + 8757.0 * E2
+ - 3589.0 * S1 / N
+ + 4425.894
+ - 2643.521 * (S1 - 1.0 / N);
+
+ #[rustfmt::skip]
+ let gg1 =
+ -157.27 / (N - 1.0).powu(2)
+ + 182.96 / (N - 1.0)
+ + 512.0 / 27.0 * 24.0 / N.powu(5)
+ - 832.0 / 9.0 * 6.0 / N.powu(4)
+ + 491.3 * 2.0 / N.powu(3)
+ - 1541.0 / N.powu(2)
+ - 350.2 / N
+ + 755.7 / (N + 1.0)
+ - 713.8 / (N + 2.0)
+ + 559.3 / (N + 3.0)
+ + 26.15 * E1
+ - 808.7 * E2
+ + 320.0 * S1 / N
+ - 528.723
+ + 412.172 * (S1 - 1.0 / N);
+
+ #[rustfmt::skip]
+ let gg2 =
+ -680.0 / 243.0 / (N - 1.0)
+ + 32.0 / 27.0 * 6.0 / N.powu(4)
+ + 9.680 * 2.0 / N.powu(3)
+ + 3.422 / N.powu(2)
+ - 13.878 / N
+ + 153.4 / (N + 1.0)
+ - 187.7 / (N + 2.0)
+ + 52.75 / (N + 3.0)
+ - 115.6 * E1
+ + 85.25 * E11
+ - 63.23 * E2
+ + 6.4630
+ + 16.0 / 9.0 * (S1 - 1.0 / N);
+
+ let result = gg0 + (nf as f64) * gg1 + (nf as f64).pow(2) * gg2;
+ -1.0 * result
+}
+
+/// Compute the singlet anomalous dimension matrix.
+pub fn gamma_singlet(c: &mut Cache, nf: u8) -> [[Complex; 2]; 2] {
+ let gamma_qq = gamma_nsp(c, nf) + gamma_ps(c, nf);
+ [
+ [gamma_qq, gamma_qg(c, nf)],
+ [gamma_gq(c, nf), gamma_gg(c, nf)],
+ ]
+}
+
+#[cfg(test)]
+mod tests {
+ use crate::cmplx;
+ use crate::{anomalous_dimensions::unpolarized::spacelike::as3::*, harmonics::cache::Cache};
+ use float_cmp::assert_approx_eq;
+ use num::complex::Complex;
+
+ const NF: u8 = 5;
+
+ #[test]
+ fn physical_constraints() {
+ // number conservation
+ let mut c = Cache::new(cmplx![1., 0.]);
+ assert_approx_eq!(f64, gamma_nsv(&mut c, NF).re, -0.000960586, epsilon = 3e-7);
+ assert_approx_eq!(f64, gamma_nsm(&mut c, NF).re, 0.000594225, epsilon = 6e-7);
+
+ let mut c = Cache::new(cmplx![2., 0.]);
+ let gS2 = gamma_singlet(&mut c, NF);
+ // gluon momentum conservation
+ assert_approx_eq!(f64, (gS2[0][1] + gS2[1][1]).re, -0.00388726, epsilon = 2e-6);
+ // quark momentum conservation
+ assert_approx_eq!(f64, (gS2[0][0] + gS2[1][0]).re, 0.00169375, epsilon = 2e-6);
+ }
+
+ #[test]
+ fn N2() {
+ let mut c = Cache::new(cmplx![2., 0.]);
+ assert_approx_eq!(f64, gamma_nsv(&mut c, NF).re, 188.325593, epsilon = 3e-7);
+ }
+}
From 6cba59b5b5b7ee40394160387356cd906218c36a Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Tue, 28 May 2024 11:07:00 +0300
Subject: [PATCH 185/216] rust: Hook NNLO QCD ad in
---
.../anomalous_dimensions/unpolarized/spacelike.rs | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
index e1bfafb58..dec73bf04 100644
--- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
@@ -22,6 +22,16 @@ pub fn gamma_ns_qcd(order_qcd: usize, mode: u16, c: &mut Cache, nf: u8) -> Vec= 3 {
+ let gamma_ns_2 = match mode {
+ PID_NSP => as3::gamma_nsp(c, nf),
+ PID_NSM => as3::gamma_nsm(c, nf),
+ PID_NSV => as3::gamma_nsv(c, nf),
+ _ => panic!("Unkown non-singlet sector element"),
+ };
+ gamma_ns[2] = gamma_ns_2
+ }
gamma_ns
}
@@ -39,5 +49,9 @@ pub fn gamma_singlet_qcd(order_qcd: usize, c: &mut Cache, nf: u8) -> Vec<[[Compl
if order_qcd >= 2 {
gamma_S[1] = as2::gamma_singlet(c, nf);
}
+ // NNLO and beyond
+ if order_qcd >= 3 {
+ gamma_S[2] = as3::gamma_singlet(c, nf);
+ }
gamma_S
}
From c11f6c4280f79cd2276ed77f5652d6a483a786b3 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 29 May 2024 17:08:19 +0300
Subject: [PATCH 186/216] rust: Fix typo, add explicit nopython
---
src/eko/evolution_operator/quad_ker.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/eko/evolution_operator/quad_ker.py b/src/eko/evolution_operator/quad_ker.py
index d7b5858b0..798cebe6b 100644
--- a/src/eko/evolution_operator/quad_ker.py
+++ b/src/eko/evolution_operator/quad_ker.py
@@ -68,6 +68,7 @@ def select_singlet_element(ker, mode0, mode1):
nb.types.bool_, # is_threshold
),
cache=True,
+ nopython=True,
)
def cb_quad_ker_qcd(
re_gamma_raw,
@@ -103,7 +104,7 @@ def cb_quad_ker_qcd(
areas = nb.carray(areas_raw, (areas_x, areas_y))
pj = interpolation.evaluate_grid(n, is_log, logx, areas)
# TODO recover parameters
- method = "iterate-expanded"
+ method = "iterate-exact"
sv_mode = sv.Modes.exponentiated
order = (order_qcd, 0)
ev_op_max_order = (ev_op_max_order_qcd, 0)
From af02fadc850954ead98d5657e362ec4e0ac95fd2 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 30 May 2024 13:01:05 +0300
Subject: [PATCH 187/216] Fix clippy warnings
---
.../src/anomalous_dimensions/unpolarized/spacelike/as3.rs | 3 +--
crates/ekore/src/bib.rs | 8 +++++++-
crates/ekore/src/harmonics/cache.rs | 2 +-
crates/ekore/src/harmonics/g_functions.rs | 2 +-
crates/make_bib.py | 3 ++-
pyproject.toml | 1 +
6 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as3.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as3.rs
index b43608e01..14354f736 100644
--- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as3.rs
+++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as3.rs
@@ -155,8 +155,7 @@ pub fn gamma_nsv(c: &mut Cache, nf: u8) -> Complex {
+ 46.18 * E2
);
- let result = gamma_nsm(c, nf) + (nf as f64) * ps2;
- result
+ gamma_nsm(c, nf) + (nf as f64) * ps2
}
/// Compute the pure-singlet quark-quark anomalous dimension.
diff --git a/crates/ekore/src/bib.rs b/crates/ekore/src/bib.rs
index 167294b41..75da707bb 100644
--- a/crates/ekore/src/bib.rs
+++ b/crates/ekore/src/bib.rs
@@ -1,5 +1,6 @@
-//! List of References (autogenerated on 2024-04-25T18:22:43.797877).
+//! List of References (autogenerated on 2024-05-30T12:57:15.459698).
+#[allow(non_snake_case)]
/// The Three loop splitting functions in QCD: The Nonsinglet case
///
/// Moch, S. and Vermaseren, J. A. M. and Vogt, A.
@@ -11,6 +12,7 @@
/// DOI: [10.1016/j.nuclphysb.2004.03.030](https:dx.doi.org/10.1016/j.nuclphysb.2004.03.030)
pub fn Moch2004pa() {}
+#[allow(non_snake_case)]
/// The Three-loop splitting functions in QCD: The Singlet case
///
/// Vogt, A. and Moch, S. and Vermaseren, J. A. M.
@@ -22,6 +24,7 @@ pub fn Moch2004pa() {}
/// DOI: [10.1016/j.nuclphysb.2004.04.024](https:dx.doi.org/10.1016/j.nuclphysb.2004.04.024)
pub fn Vogt2004mw() {}
+#[allow(non_snake_case)]
/// Programs for computing the logarithm of the gamma function, and the digamma function, for complex argument
///
/// K.S. Kölbig
@@ -33,6 +36,7 @@ pub fn Vogt2004mw() {}
/// DOI: [https://doi.org/10.1016/0010-4655(72)90012-4](https://doi.org/10.1016/0010-4655(72)90012-4)
pub fn KOLBIG1972221() {}
+#[allow(non_snake_case)]
/// Multi‐precision Laplace transform inversion
///
/// Abate, J. and Valkó, P.
@@ -44,6 +48,7 @@ pub fn KOLBIG1972221() {}
/// DOI: [10.1002/nme.995](https:dx.doi.org/10.1002/nme.995)
pub fn Abate() {}
+#[allow(non_snake_case)]
/// Resummations of Transverse Momentum Distributions
///
/// Muselli, Claudio
@@ -55,6 +60,7 @@ pub fn Abate() {}
/// DOI: [10.13130/muselli-claudio_phd2017-12-01](https:dx.doi.org/10.13130/muselli-claudio_phd2017-12-01)
pub fn MuselliPhD() {}
+#[allow(non_snake_case)]
/// Efficient evolution of unpolarized and polarized parton distributions with QCD-PEGASUS
///
/// Vogt, A.
diff --git a/crates/ekore/src/harmonics/cache.rs b/crates/ekore/src/harmonics/cache.rs
index 0fed95258..1342f5175 100644
--- a/crates/ekore/src/harmonics/cache.rs
+++ b/crates/ekore/src/harmonics/cache.rs
@@ -87,7 +87,7 @@ pub fn recursive_harmonic_sum(
) -> Complex {
let mut fact = Complex::zero();
for i in 1..iterations + 1 {
- fact = fact + (1.0 / (n + (i as f64))).powu(weight);
+ fact += (1.0 / (n + (i as f64))).powu(weight);
}
base_value + fact
}
diff --git a/crates/ekore/src/harmonics/g_functions.rs b/crates/ekore/src/harmonics/g_functions.rs
index ff0f8789f..cfde9e9ea 100644
--- a/crates/ekore/src/harmonics/g_functions.rs
+++ b/crates/ekore/src/harmonics/g_functions.rs
@@ -18,7 +18,7 @@ pub fn g3(N: Complex, S1: Complex) -> Complex {
let mut g3 = Complex::zero();
for cit in CS.iter().enumerate() {
let Nj = N + (cit.0 as f64);
- g3 = g3 + (*cit.1) * (ZETA2 - s(S1, N, cit.0, 1) / Nj) / Nj;
+ g3 += (*cit.1) * (ZETA2 - s(S1, N, cit.0, 1) / Nj) / Nj;
}
g3
}
diff --git a/crates/make_bib.py b/crates/make_bib.py
index df5437a04..e758c41ad 100644
--- a/crates/make_bib.py
+++ b/crates/make_bib.py
@@ -10,7 +10,8 @@
BIBFILE = pathlib.Path(__file__).parent / "ekore" / "refs.bib"
# A single entry
-ENTRY = """/// {title}
+ENTRY = """#[allow(non_snake_case)]
+/// {title}
///
/// {author}
///
diff --git a/pyproject.toml b/pyproject.toml
index cbd200cb5..89ef66c71 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -137,6 +137,7 @@ rdocs-clean = "rm -rf target/doc/"
rtest = "cargo test --workspace"
fmtcheck = "cargo fmt --all -- --check"
clippy = "cargo clippy --no-deps"
+rbib = { "shell" = "python crates/make_bib.py > crates/ekore/src/bib.rs" }
[tool.pytest.ini_options]
testpaths = ['tests/', 'benchmarks/']
From 25f86f81fbaa7764e48ac04c2a155af90e0cacd5 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Wed, 5 Jun 2024 17:16:29 +0300
Subject: [PATCH 188/216] Update genpdf docs
---
doc/source/code/genpdf.rst | 56 ++++++++++++++++++++++++--------------
1 file changed, 35 insertions(+), 21 deletions(-)
diff --git a/doc/source/code/genpdf.rst b/doc/source/code/genpdf.rst
index f9d52bd47..137209040 100644
--- a/doc/source/code/genpdf.rst
+++ b/doc/source/code/genpdf.rst
@@ -3,40 +3,46 @@ genpdf
We provide also a console script called ``genpdf`` that is able
to generate and install a custom |PDF| set in the `lhapdf` format.
-In particular, the command ``genpdf install [NAME]`` simply
-install the |PDF| called ``[NAME]`` in the lhapdf folder and
-the ``genpdf generate [NAME]`` command generates the custom |PDF|
+
+To use it, you have to install the additional `ekobox` dependencies via
+the pip extra `box`:
+
+.. code-block:: bash
+
+ $ pip install eko[box]
+
+The ``genpdf generate [NAME]`` command generates a custom |PDF|
and saves it as ``[NAME]`` in the current directory.
-Notice that the argument ``[NAME]`` is the only mandatory one.
+Afterwards, it can be conveniently installed using the ``genpdf install [NAME]`` command
+(which simply copies the generated folder into the LHAPDF folder)
+Note that the argument ``[NAME]`` is the only mandatory one.
-The custom |PDF| can be generated in three different ways which
-are accessible trough the option ``-p [PARENT]`` (the complete spelling
-is ``genpdf generate [NAME] -p [PARENT]``):
+A custom |PDF| can be generated in three different ways which
+are accessible trough the option ``-p [PARENT]``:
1. If ``[PARENT]`` is the name of an available |PDF|, it is used as parent
- |PDF| and thus copied to generate the new custom PDF.
- 2. If ``[PARENT]`` is "toylh" or "toy", the **toy** |PDF| is used as parent.
+ |PDF| and thus copied to generate the new custom PDF.
+ 2. If ``[PARENT]`` is "toylh" or "toy", the **toy** |PDF| :cite:`Giele:2002hx,Dittmar:2005ed` is used as parent.
3. If the option ``-p [PARENT]`` is not used, the |PDF| is
- generated using **x(1-x)** for all the flavors.
+ generated using **x(1-x)** for all the flavors.
-Trough the use of the argument
-``[LABEL]`` (``genpdf generate [NAME] [LABEL] [OPTIONS]``) it is also possible
+Through the use of the argument
+``[LABEL]`` (``genpdf generate [NAME] [LABEL] [OPTIONS]``) it is possible
to specify a set of flavors (expressed in |pid| basis) or a set of
-**evolution basis components** on which filtering the custom |PDF|.
-In this way the specified set is kept in the final |PDF|, while the rest
-is discarded.
+evolution basis components on which to filter the new |PDF|.
+In this way the specified set is kept in the new |PDF|, while the rest
+is discarded, i.e. set to zero.
In the case of custom |PDF| generated starting from a parent |PDF|,
it is possible to generate all the members trough the flag ``-m``. If this
flag is not used, only the *zero* member is generated (together with the *info*
-file of course). Using the flag ``-m`` when the custom |PDF| is generated
-either using the **toy** |PDF| or the **x(1-x)** function, has no effects.
+file of course). Using the flag ``-m`` when a custom |PDF| is generated
+either using the **toy** |PDF| or the **x(1-x)** function has no effects.
In order to automatically install the custom |PDF| in the lhapdf folder
at generation time (so without using ``genpdf install [NAME]`` after the
generation), it is possible to use the ``-i`` flag.
-
We also provide an API with some additional features and possibilities
such as generating a |PDF| with a custom function for every |pid|
(through a ``dict`` structure) and filtering custom combination of
@@ -49,7 +55,7 @@ Examples
$ genpdf generate gonly 21
-This will generate the custom PDF using the debug x(1-x) PDF as parent
+This will generate a custom PDF using the debug x(1-x) PDF as parent
and then it will keep only the gluon.
.. code-block:: bash
@@ -62,7 +68,7 @@ This will install the previous PDF in the lhapdf folder.
$ genpdf generate Sonly S -p toy -i
-This will generate the custom PDF using the toy PDF as parent and then
+This will generate a custom PDF using the toy PDF as parent and then
it will keep only the singlet combination. The generated PDF is also
automatically installed in the lhapdf folder.
@@ -70,6 +76,14 @@ automatically installed in the lhapdf folder.
$ genpdf generate Vonly V -p CT10 -m
-This will generate the custom PDF using the CT10 PDF set as parent
+This will generate a custom PDF using the CT10 PDF set as parent
(if available) and it will keep only the valence combination. Moreover
it will generate all the members of the parent PDF.
+
+.. code-block:: bash
+
+ $ genpdf generate NN40qqbar -p NNPDF40_nnlo_as_01180 -- -5 -4 -3 -2 -1 1 2 3 4 5
+
+This will generate a custom PDF with no gluon contributions, but all quarks
+taken are from NNPDF4.0. Note that (as customary with CLIs) you have to add the explicit
+separator ``--`` before specifying anti-quark flavors.
From 6b29007be27a160e8203dada4b2b4b118594f9f4 Mon Sep 17 00:00:00 2001
From: Felix Hekhorn
Date: Thu, 6 Jun 2024 10:34:57 +0300
Subject: [PATCH 189/216] Update doc/source/code/genpdf.rst
---
doc/source/code/genpdf.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/source/code/genpdf.rst b/doc/source/code/genpdf.rst
index 137209040..ab3f94673 100644
--- a/doc/source/code/genpdf.rst
+++ b/doc/source/code/genpdf.rst
@@ -14,7 +14,7 @@ the pip extra `box`:
The ``genpdf generate [NAME]`` command generates a custom |PDF|
and saves it as ``[NAME]`` in the current directory.
Afterwards, it can be conveniently installed using the ``genpdf install [NAME]`` command
-(which simply copies the generated folder into the LHAPDF folder)
+(which simply copies the generated folder into the LHAPDF folder).
Note that the argument ``[NAME]`` is the only mandatory one.
A custom |PDF| can be generated in three different ways which
From 398e1844f3b78dae9909edd02de3fe79dd62e307 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Mon, 10 Jun 2024 18:06:18 +0000
Subject: [PATCH 190/216] [pre-commit.ci] pre-commit autoupdate
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
updates:
- [github.com/asottile/pyupgrade: v3.15.2 → v3.16.0](https://github.com/asottile/pyupgrade/compare/v3.15.2...v3.16.0)
---
.pre-commit-config.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 718cfe85d..031d9e25e 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -32,7 +32,7 @@ repos:
- id: isort
args: ["--profile", "black"]
- repo: https://github.com/asottile/pyupgrade
- rev: v3.15.2
+ rev: v3.16.0
hooks:
- id: pyupgrade
- repo: https://github.com/pycqa/pydocstyle
From 79dffbb31015d121564d0ffadede6211f0375fb6 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
<66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Mon, 1 Jul 2024 18:15:22 +0000
Subject: [PATCH 191/216] [pre-commit.ci] pre-commit autoupdate
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
updates:
- [github.com/asottile/blacken-docs: 1.16.0 → 1.18.0](https://github.com/asottile/blacken-docs/compare/1.16.0...1.18.0)
---
.pre-commit-config.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 031d9e25e..67e901972 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -23,7 +23,7 @@ repos:
hooks:
- id: black
- repo: https://github.com/asottile/blacken-docs
- rev: 1.16.0
+ rev: 1.18.0
hooks:
- id: blacken-docs
- repo: https://github.com/pycqa/isort
From 4f92a15379342c7e703de4e1cb0830f35bc00534 Mon Sep 17 00:00:00 2001
From: giacomomagni
Date: Tue, 2 Jul 2024 12:59:25 +0200
Subject: [PATCH 192/216] add zip tables
---
extras/lh_bench_23/tables/EKO.zip | Bin 0 -> 742394 bytes
extras/lh_bench_23/tables/MSHT.zip | Bin 0 -> 99712 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 extras/lh_bench_23/tables/EKO.zip
create mode 100644 extras/lh_bench_23/tables/MSHT.zip
diff --git a/extras/lh_bench_23/tables/EKO.zip b/extras/lh_bench_23/tables/EKO.zip
new file mode 100644
index 0000000000000000000000000000000000000000..66a797e7af18ff15c7a337b8d79e08d3594a6acf
GIT binary patch
literal 742394
zcmd431yo(xmZ*(eaDuyQa3{Ds1c%`6?(Q1ggS&fx;O_43?(XtK-M(Gb{i^y_-M`;>
z1!J?%8RIZnYp%JzX=@`R4h-@U;Qb3)YFPP~7yt1C1ON{}P+XcuK^_JGTqMWD;GdVh
z(+2=RkZV8yfM0%7<`)SN01*F0LiU>!*f$B9nv%Ty(sIf))S7R?{);S`WnY8;CQDZf
zS=UfYN9#;dLh%evF-XP>C=v~r6dn`M8Xw;GE)+coC>$T3SB6BS7aDIzNUkFY9#wK=
zbXuH>tWR{Bl5BuRd{}%)TuNU{PlwfE_(J^E`PKzMMjRXh{e%-s@oh}+O^sBUwbmvXjH-8$wItAZjeV`gW6iRh7MF?&9h
zC}e*0Y+P(gACuIrd3A#ne=QcW|8}z%DYZvcY8j>iF6%jxK)?GFqlsl)y-e>gu;22M
z&DZ#Hen!;q+Kt?{Wp;(1MK~eeo-)2>=vECuRl~T}oEDlPu;9_x514fvLEn~!6ea_cixdSl8Xfu!4>JI+S&>Jb_OdAs1U&tWQv(qQOJneP*eAhET`-Qdx
zCcA=96Wj-3s#-B`w%gF_hz6)YAz}jtV@8bC3(4FAK`T+^9PoW9_dk-mTD@D}+k*Z6
zQaZgYGTLvA@7<26HGh9q|B@M2V!oLnGS3iz+&W&H7cgsp9|&&}GOhaF`%u6kJ_NO~
zGQIur_W}H4Xm2k7jD&x+viJ8W|6yfP3=-0sLL!o16ciOTg@mN!{;}5tg^dkF-mdri
ze>1mVr~6x(?>3G1e@^%R5dVuY|5N&3n)d(x?t9k*>2G%5`+LOS>g8?8exs9yH(j*6
zUGMil)X8tc7rT;(H%e!AWm;BW;&4K(%=`Vu30+NE%=6b&j81>CX#q5~=;->zaI{f9^Ef#5^
zn-3`=Y63ydQmEBw0A2RRoPlR@1?%h+0OQOiE8$gai04ILJYvoAj}^6Uc;iL5qE4f@
z*u14REtT+Qc3JAIp6_=KU@KUPE+>roWKr!2k5HQWklA}YrY3mx<%3b6vYR6pyvyk_
zo;G1g;9!-37DY9MxdT_ko2}PWsq~2Z$*x1_GIoooGKE6%ctj=1!2Fg6x%AEYPT3d+
zvIN!87X<*6`N)eybbf#0GN`M2B$7((A>!ou+KR~4C-M)OG?Q!zIZ@tv
zg%JF39Agu^P)4Ja2-c1Maa*eP2?aCc_@ah(Sf{zAaRjBFDa@VG&uH8}geP3kP_t$E
z)y*j*IWBCQe|nz)gaxdK30WCybfq@5~M)O+q`Bm+nAtRLHa
z#Pr-lXO%+|VDjMaiun9h8OQs{^c`T8t?*}DHiC47yxG#nVIsau0$ICb%;a0YGM@Y}
z&5tm6*xOBEs14=BsuaFZ%aTNq+l2ao1P(5?Rq$~dNpSrs%yvVUWD>u2G8@S9Ek69D!>(yqh;O`~h(T$N+3-{c|}l5(X&3%ZE{uE%0a~
z4#^LQNdq-nE)TpAxf|N1DKYnRatOVZNmhY*yvYqfW2(Bl@C%kaF0INwg*r#|tXVR#
z+AQ9RUy!Q9NZ<@S`E!rp-u=S_Of9fK5CFit75~ce-`e;49{nBH_4}s&|9Ee{Gn?>V
zG5l9vRlRZQowo1y|F%JY)x~e+{VRt5C#(J``Twy#-dXiqzbpq10KoNIpY~sTy`8p>
znf|-i|DXz_{mzkL74C#iL99sbj6zkBZAi3tSb#KQ@Np#^T)#qA01Nl(`}hB|PD
z2E4qz-91_*jLmot;+0kOXbJjUUS4iSFTvASTb}!O%XdjvJuhAzxwthR&$sEhD%~v|
zje}1$InroUIwHsszA=h6uB$BO^Vx-}g&__J(<^o9eJkiqyV)&Pl2j^I4iadNsij_y
zVVBimYD|mYj-j6?k~s7zD57+2q8Jp&(YQGJ!E2~7vN|FqyM2O*vKFhF2ny=DQ7K3i
ztkz&`xKpaZyE50{Iyph@+_D16em7rT*z1Zj$do;vrm>mjOi=a{`D>Rh86rjOeCZ@J
z-z`nE6DvOf9oZl!3(*K?slXb^@DVUpTQ*}f-SD@YL>f#cj142dIq*zX3u^iC?SYjk)?*uocPp
zOfka-2)+Hh9X8njLHsR5fJSO51O;BlnjLfiEl$ENDoIhBGNOtnv`0TzCuI7gu%HV+
zZ|75kq_0M~KaoX|_C;AVO^G4D3La<1DMq%_RR63Av{WXN_<40g2s(y&p@398m|Z;d
z@k1Vj;-XYn_L+U+#~JU)UMtf6@mUvX02&eDZpb0ao#CHsk=+@{<7>4fdynz{b(0)r
zVHqBBz^L75cpSa@59=4mPK(m>P5
z{H6y!pB@Hn<{|#ChJ4J?3{JGpC3o?sXz9#_-7Ob4w**>AReNVXsJz}1YR=Gxj=^-9
zJC2?$q~^+;BU@=I!*`=-i`P_HnIDWiPMhMV^iEVN!Q8JKI<4e&t?C10RG%{=GlgD<
z`xwZNl=fDK585%hwDvBLi;YuA<}{ARN1-o2dgXOe6Yr-$5^0PsFC4jk%uiZL-=tC|
zW-}^h;(N7>xMuo{yQCeg9z`>s{=tgvd;iU*F{BM4zeO1QBV&OjZ~Jf}&NfJxqDS1ZYsc(=t}rlHicNdL*HG4bN@sCPu3bo6!&qMeAZ5>
zy^x)5+b+)^-aW%d$9u(Q!N`$Yfm((_ZCXn2=Abil2ByqzBRsN)(e6+k5)AD@*6S3ZHgecjjaKu@bO
zPtWJmhtyG;)|c+x(?i^s*TB}+^ZQG}*(Gzfq&U*v?%fF7;K9?e=nDo}MY=;~*qX+rpin
z#qyA684?~>(P{z&NwjLgqadm21)>p#Hdb*t(o=IXjp*3WmT
z`q)HDKS$jX>Y9A9O>CP88CZyt{alciNlMxm
zPK6@h#l|8N+-EFB7cQa!b}}wSxtTodwcv@D1FmsL3~KRW&}Leb9~qx)Kp_4kmd|%P
zYcI7-yk$=;Vd7@CSd^OtDBUnpnP?cF%>0Fn*6^!l6M6!vv;=#SUGQUDGLdm4!UMHU
ztU^turC;iNg9W}Mv|p1e+WJ7_5U5NB+0^4#LdRpIaTEEHr@I;5kdn<2-=HiL-JO}<
zwI`9#M^sbLVgHXHQ0uvqo6woTta1dp<$TOWNmWNN?wK_FV0MB`$*KZwxg%6o`kgBY
zZXq73GVTi9UBxl3L7wwsb*gS
z9tlGb979$}(DYf-F%@)pw1k%*xq$nrfjXUbx$L3~c~=dhL$IvfKhXE0d+G5KS=CSQ
zf#&1YJ(q+(R|lhPxQXx+{4}EbRI{#evv)Adg2@Q$%|=~(I+qf$hB~y*T+1Zd$ODnB
zMF@V@+oR@%ne(lVd`ROw&KErk%NAuTG>}rF56~yk$g2PTs>AqIY<8vbJm^(x$h`_(B6hzIUDn
zIb*u*%-sA2%Asvp%l8GF%X_s2p4r
zr!3MO=F~X(O{Y%lOWcZN~tlzCY%8xcr`nTxQNgK|9sSN<`
z=KfihqU}Sb>X8I}UrTB=i>mjP=>&7iy+N;MF`>j)I5p@g$!A&}D
zKjq0(JS<046nUJqlLhuALV_H%E^iI>x1XdgPPa&iE3*;H!o&&`i~?Ubf3AACCWkeK
z6y|A~J38kJam9tJQy@9+L*{}d40F5mex~B_d9BH|aidVP5bn8YgYfOWb)4-@n^w|B(?ppueRb}seZ)gxJa*)A
z#{+w{2FEyD+|-|prZ={g5&S*sVP4
zI!f1N9_F~Fwc7AAvjETx@B}bJPBut$>WOKg^$y16yvF{-$Pm3*%@W5Kg4|)hCc*rx
zR8cPEy^o(6P3sgSCD1W=zVGerA_HxFFt6GC8EerRV{j7fit^18q72i(nJo#WHb5dD
zh+&;9`_8O!^fOtQ3$HoaS(wXu{neNYS4kKq1PZpfYs1
zHJJ11#pcpTAh`-?tb_C)mrvlSDuJ=VYWWwDdbykJ5#4tOOp%+Fyo;Z1$+$@Kxl#tf
zn&G)OppZ|6AxogVg+pi&S=AEoL|E6cZ3ErZTgm4H=Ca3FT&f(+Sy#T|)0rC*Nh_xK
zc8GY7dzq#?JLS>`oGIX#UXYiUgesVyGV7AN6VI@gRIU4@(|BY+2NWPDp*W&YlvE{7
zBun}WXz;gkoE#|_FLLR%;N)PG(A+m>T`RnhwfKeO6l>3<=Q9kgkc|Nrnx34(JGNVC
z(0&v?KWm=xcgPd7q#v!hC}U!7Lez%4M|vJtt30K4)QdoiK(w^!QtZKZ<5pfyTea+E
zKWJ0gsjhrE9=V0*7*!s11L2}rb;|gl4~okSyw7}Fpxa4!1lFZzX`y8c_gVp$4Z7zy
z??z>Y#}R7i9&~`~<>qg<-%WmGUVC(go@JoL@6dg@tX<5#+O*z?Ksg2kHg$Axw{v5d
zRB<$2e|>X#{|iQ?3j@{q-Z1(OkN*;pSmz%4Ha4W6PccHhdvotNQ8<&nN
zo*p9#j;6|a$$tLdo}bvQ_pwQvN+$At`-PBwKtTAb=8+ps_1U2oqO
zKylj_Nwq2rT72L{Kun_`SK3civ{|GJJU)dq$ztAqLmoV7v?`DS8vwY&1zPKtVvhhN7-n4tOKVAwN**K;OafBWN=N
z+}+MKF^|&(1_^6TiXm4&W(!r0ByV6pO>pBa&iLo+GuuLnrnE`+&1tv$IR})%Jt(@_
z6uWD~lxNSd;@t1R8ywjQ@eG%?sZH*Bbl%`|6Q_gq9~QcyCEGp>A94Xgs3u!k?kKJN
zc=87QNa544v$O}SJO{Fo&oxTM2;7WysG(>xI;0LPNQD9IbOBl`Lq!NxkYEQU8Aj3_
ziY+wJGD}-=7?flzLM6OJX(mX_mKwH#Vt~3GPtnr3%y@YiL