diff --git a/poetry.lock b/poetry.lock index fdebde3..cb53f29 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.1.3 and should not be changed by hand. [[package]] name = "adani" @@ -500,7 +500,7 @@ description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" groups = ["docs"] -markers = "python_version < \"3.10\"" +markers = "python_version == \"3.9\"" files = [ {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, @@ -995,55 +995,54 @@ xml = ["lxml (>=4.9.2)"] [[package]] name = "pineappl" -version = "0.8.6" -description = "Python bindings to PineAPPL" +version = "1.2.0" +description = "" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" groups = ["main"] files = [ - {file = "pineappl-0.8.6-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:93a142615e2f68031fb7655cc9f7a04b2ef2d171d95673e66a40d4f9e95f356f"}, - {file = "pineappl-0.8.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c5bc073c9854f12f778d06a6c54ea2d6598f0b3ce56b788582146e37ce567166"}, - {file = "pineappl-0.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbaf529d90bf92202a2eeed4ce215afa25d46d49562cb331e535cfc18608d2a7"}, - {file = "pineappl-0.8.6-cp310-none-win_amd64.whl", hash = "sha256:94edf5a77f2b9b2af09832b644dbccb781549f58523fd18e3f478e21a2b44c5c"}, - {file = "pineappl-0.8.6-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:dfac7db2d33b13c59ef9ec370a7e478c5c14f2e441cf9af0dfef0f860a02ec40"}, - {file = "pineappl-0.8.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b0b8c069956810c526544b9b540bfeca18c2ab2d7c4903020dbcf6a646b8069d"}, - {file = "pineappl-0.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60594bf0b23243192efc06625d66809da3fd571cc51ad2f6df68bd237a368091"}, - {file = "pineappl-0.8.6-cp311-none-win_amd64.whl", hash = "sha256:33ed5355dd5081dc16a73d3f0f183f0161ba367d145d593998f33d897477f5e2"}, - {file = "pineappl-0.8.6-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:3796f44c02b081b7fb83f5d03ac0ec4c6dc325cab18599c5714ffb3ba3490ba7"}, - {file = "pineappl-0.8.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c4888a740135d4ce37447f56ad172ab1b7b92d4fa4ec6aac3143e63f6066f12e"}, - {file = "pineappl-0.8.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bd0e20fe8e495a7658113ac012cccc9432aec42ac8ca7a1552f4f6ca8d4ba2c"}, - {file = "pineappl-0.8.6-cp312-none-win_amd64.whl", hash = "sha256:cede134df1b3115098f9a6b8e4808f13c6e94577c6880364b887a49aba2f90fa"}, - {file = "pineappl-0.8.6-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:0c6ab9cb93e3d8e07e691b28a6efb8770a627fd9dedaa9d677bff2fbf3467775"}, - {file = "pineappl-0.8.6-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:95a54260ad0ee3f68d489837bb73f19d99918825fb8cad07395925c724c2bbc3"}, - {file = "pineappl-0.8.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca613f1ee0ae09941e09987220630ed9801d10abdba817905ea1d525ec942396"}, - {file = "pineappl-0.8.6-cp37-none-win_amd64.whl", hash = "sha256:045b4e7a4e85eab07c5bec09c402e61ca76b6f7f3bdb4a2d88c275a7bfc70a7c"}, - {file = "pineappl-0.8.6-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:b0148d3d170e87eae984687d053c4a249a1d0b12dc0e64be2aef26ff43d2d838"}, - {file = "pineappl-0.8.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3b00c94dc8d1e782e4d2973c23b994e14c9583a6a701e048173e78e46a9e2a85"}, - {file = "pineappl-0.8.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2f9bbc88c18279f52a47b074d25dc0dcd6a18b8a1540028ae9d33322960a778"}, - {file = "pineappl-0.8.6-cp38-none-win_amd64.whl", hash = "sha256:39621e2faa5c8731de84dc144cad452804664ca187f7bc0d8d662ac8e164dc02"}, - {file = "pineappl-0.8.6-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c1ed4d8be5bd6d49da49faca1463a467e5aec1232705809ffbf356d44cf287fe"}, - {file = "pineappl-0.8.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f975a74d31c3471f6ff5b2d525d675f5046b8cc0cf505f3e47844ff9348bd318"}, - {file = "pineappl-0.8.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b86e3cc8d88718342f082cd41bd9919b60311d63d060b3ae6bd6a83017084a63"}, - {file = "pineappl-0.8.6-cp39-none-win_amd64.whl", hash = "sha256:a4fadf209734e5d4754fc5e1af8077dc4175c4211570c27c63e10321bdcb9e5d"}, - {file = "pineappl-0.8.6-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:04378f2819715a3bd1e60a2ba5a0687672d942d55f0fb931aaf113261b002638"}, - {file = "pineappl-0.8.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:2b41d5711e611898a58773da2be0a4e9dd1cf3b36ad16dec98cb5117756984d3"}, - {file = "pineappl-0.8.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:edd436710f7abb571c0c241c5787b960bf6569470704f66e83c9bb37a58c90bb"}, - {file = "pineappl-0.8.6-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c674289977f9c65735f903a2f75b108b0ba0bdd35c37bc2713389b6944126b9e"}, - {file = "pineappl-0.8.6-pp37-pypy37_pp73-macosx_11_0_arm64.whl", hash = "sha256:fcf1299b76e5dea63e9052a6fefd8f403234268ec6517a17594047004c9f5acc"}, - {file = "pineappl-0.8.6-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c7001f7f011abddfe6e35670779c5745d8ed1b5315d98688f940a200b6998cb6"}, - {file = "pineappl-0.8.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:87bd12ec63bbd8345acc38702fc3c2559fcc6bba262c7f1078bb4c765cdeadba"}, - {file = "pineappl-0.8.6-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d67a15a03fc76d61de476edad8773ffcfc432b3de80a054997d8d35974597917"}, - {file = "pineappl-0.8.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:83aceddd5b2b0752c9f14f78ca127408e44000856001b5a7568968f0982b9ce8"}, - {file = "pineappl-0.8.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abc03ae7e3099f760df1f75c5ac92213b47876517f0e584e6e2417c74300f5ed"}, - {file = "pineappl-0.8.6.tar.gz", hash = "sha256:cee097e989737d6dfa97fcc538a59601c789edebb3c77e2425559341d870870e"}, + {file = "pineappl-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:8466987e637f06ce6732bce75e29791d189bc7fc854fe82ad4994b39a742179a"}, + {file = "pineappl-1.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:86fda052c8c7ee68e614b9d91dd09d2ebea0baa639e017241d5f3098acdad18e"}, + {file = "pineappl-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcdb419b6b0749510f362dfb1cab234625d0944fe647a4e9cbee92fa7bfb955a"}, + {file = "pineappl-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:03ee83cd0f50bfc996e0d0fcb49bf77b817f1bf93bb2a31fc202e5b3294fd134"}, + {file = "pineappl-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:b0d5c62eb8a3e243eac92ed39c59dfb99326554375c88cd5fc81cd6591f5f42b"}, + {file = "pineappl-1.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:553f1de4581aa9d27d29b5f3238b3e20ef4a9cda5030e4cfba95352d4de90052"}, + {file = "pineappl-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:390c15939c63ba4ddda1e5318d472308209302c9eaf04049d17f6c7eed593808"}, + {file = "pineappl-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:b07ab73c5b44f97d46c25008c6a57a74e53880a3fd4ddff695b6fd141181d1c2"}, + {file = "pineappl-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9c95aaa55bca97fd33808604b9b63310218b4ca8d1a01d83c013ce3e7951ef2d"}, + {file = "pineappl-1.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:87db16f10346adfa8bac158566fb10a4f58c7d4fe526bec1e51d6c6b457af24b"}, + {file = "pineappl-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:347699aaf7c20fe2a0ec48643ed604f72d6a09c8629298768523d651468a8a98"}, + {file = "pineappl-1.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:d95a27f8a7d2d9f0660188f9f4f4e1c40f5ef7e5ad0567c5a8e00dccdc312166"}, + {file = "pineappl-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:13c7d3857f3f307ac993eb67218e161cbad2f34b33efbfd2f5038d3e9454b7cf"}, + {file = "pineappl-1.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b6d87a2aad65e6934fcb4cab72c78f0ee4db1599d6df01ef3874b2cbf34007c1"}, + {file = "pineappl-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c9139fabc6899182c6494f05909b5b8545ada15236f659ae2dcd0cdfcaeeb66"}, + {file = "pineappl-1.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:96830728cb4ea6aeb160c31b53edc44b48586d6cc845bbf69b103e877d38fdc3"}, + {file = "pineappl-1.2.0-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:55fb05275a4ab607ce5a5c0e2137007feb70c0887a5870385d1d03d3fe362d7b"}, + {file = "pineappl-1.2.0-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:a5d139064130a51fee0cc2443944b5acb0b0328ef3841e4d477b356674f4e5ca"}, + {file = "pineappl-1.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:6fe86681657d7884f77baa9764c3074565dd13c669e57aa951efcae347b72120"}, + {file = "pineappl-1.2.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:cf0220fa803ce1232ffd4a1e6a63d556fe39d52759807eee25fa99358a78a841"}, + {file = "pineappl-1.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6325afbe2cb1c5dd930c8b8107db49a43a89be2273366004457abe0fc354a528"}, + {file = "pineappl-1.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:490f3ec5c5e8bfa5cbfd61126a2d18eb71071afc19d3ddf198390e43df22ea13"}, + {file = "pineappl-1.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:da3bc12c3dfecc2be41f16dde3e43297a1433d47e6fcf4a7de66105879df1658"}, + {file = "pineappl-1.2.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:7d08d703f085248f76bc58c50a6b0d56112f196912859a6995977c9b19c67ba5"}, + {file = "pineappl-1.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c40eb2607ca6d83019dedd8de65fdf8e1243debfaa3a49db788e8a120e34562d"}, + {file = "pineappl-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df442d58f125f91ab985566db6e2e3bd1e89c9c883c7dca64c47ae9bee24ea52"}, + {file = "pineappl-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:c5d519613335b0e000215c1c5235c0093c95134d410212e9e37f16af08c556fe"}, + {file = "pineappl-1.2.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:db0b1b10606bc9e9f3979d9f2a62f291da2949f707f395f4fd410dbd0232504a"}, + {file = "pineappl-1.2.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:87f2dc424dc882b5af2a5e2368277bdea7faea81b8131c92fc6fb5f328c947fa"}, + {file = "pineappl-1.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78cbdeaaa51b57b67b893830d9cf26ad2c45d6952fe619176fa903b52469ffa5"}, + {file = "pineappl-1.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f0d8d3cff888365a3366e0d7463c903a1b5969c7d66b791d68731ea061645e7"}, + {file = "pineappl-1.2.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:8f7cf3884991643ffac650871ca6ceccc70e84548034361d4a8cdc19df77c465"}, + {file = "pineappl-1.2.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:664c195291e41a65312d1090c8c53b9859bd71c2a295f48822915bea853d69a0"}, + {file = "pineappl-1.2.0.tar.gz", hash = "sha256:0c112a63109a83191df914ec7f07a9393f98df5cf4e265c74c0c3c054ccd6a2b"}, ] [package.dependencies] -numpy = ">=1.16.0,<2.0.0" +numpy = ">=1.16.0" [package.extras] cli = ["pineappl-cli"] -docs = ["nbsphinx (>=0.9.2)", "sphinx (>=6.2.1)", "sphinx-rtd-theme (>=1.2.2)", "sphinxcontrib-bibtex (>=2.5.0)"] +docs = ["ipykernel (>=6.13.0)", "nbsphinx (>=0.8.8)", "polars (>=1.8.0)", "sphinx (>=7.0.0)", "sphinx-rtd-theme (>=1.2.2)"] test = ["pytest", "pytest-cov"] [[package]] @@ -1434,6 +1433,7 @@ files = [ {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f66efbc1caa63c088dead1c4170d148eabc9b80d95fb75b6c92ac0aad2437d76"}, {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:22353049ba4181685023b25b5b51a574bce33e7f51c759371a7422dcae5402a6"}, {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:932205970b9f9991b34f55136be327501903f7c66830e9760a8ffb15b07f05cd"}, + {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a52d48f4e7bf9005e8f0a89209bf9a73f7190ddf0489eee5eb51377385f59f2a"}, {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-win32.whl", hash = "sha256:3eac5a91891ceb88138c113f9db04f3cebdae277f5d44eaa3651a4f573e6a5da"}, {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-win_amd64.whl", hash = "sha256:ab007f2f5a87bd08ab1499bdf96f3d5c6ad4dcfa364884cb4549aa0154b13a28"}, {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:4a6679521a58256a90b0d89e03992c15144c5f3858f40d7c18886023d7943db6"}, @@ -1442,6 +1442,7 @@ files = [ {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:811ea1594b8a0fb466172c384267a4e5e367298af6b228931f273b111f17ef52"}, {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cf12567a7b565cbf65d438dec6cfbe2917d3c1bdddfce84a9930b7d35ea59642"}, {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7dd5adc8b930b12c8fc5b99e2d535a09889941aa0d0bd06f4749e9a9397c71d2"}, + {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1492a6051dab8d912fc2adeef0e8c72216b24d57bd896ea607cb90bb0c4981d3"}, {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-win32.whl", hash = "sha256:bd0a08f0bab19093c54e18a14a10b4322e1eacc5217056f3c063bd2f59853ce4"}, {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-win_amd64.whl", hash = "sha256:a274fb2cb086c7a3dea4322ec27f4cb5cc4b6298adb583ab0e211a4682f241eb"}, {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:20b0f8dc160ba83b6dcc0e256846e1a02d044e13f7ea74a3d1d56ede4e48c632"}, @@ -1450,6 +1451,7 @@ files = [ {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:749c16fcc4a2b09f28843cda5a193e0283e47454b63ec4b81eaa2242f50e4ccd"}, {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bf165fef1f223beae7333275156ab2022cffe255dcc51c27f066b4370da81e31"}, {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:32621c177bbf782ca5a18ba4d7af0f1082a3f6e517ac2a18b3974d4edf349680"}, + {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b82a7c94a498853aa0b272fd5bc67f29008da798d4f93a2f9f289feb8426a58d"}, {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-win32.whl", hash = "sha256:e8c4ebfcfd57177b572e2040777b8abc537cdef58a2120e830124946aa9b42c5"}, {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-win_amd64.whl", hash = "sha256:0467c5965282c62203273b838ae77c0d29d7638c8a4e3a1c8bdd3602c10904e4"}, {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:4c8c5d82f50bb53986a5e02d1b3092b03622c02c2eb78e29bec33fd9593bae1a"}, @@ -1458,6 +1460,7 @@ files = [ {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96777d473c05ee3e5e3c3e999f5d23c6f4ec5b0c38c098b3a5229085f74236c6"}, {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:3bc2a80e6420ca8b7d3590791e2dfc709c88ab9152c00eeb511c9875ce5778bf"}, {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e188d2699864c11c36cdfdada94d781fd5d6b0071cd9c427bceb08ad3d7c70e1"}, + {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4f6f3eac23941b32afccc23081e1f50612bdbe4e982012ef4f5797986828cd01"}, {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-win32.whl", hash = "sha256:6442cb36270b3afb1b4951f060eccca1ce49f3d087ca1ca4563a6eb479cb3de6"}, {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-win_amd64.whl", hash = "sha256:e5b8daf27af0b90da7bb903a876477a9e6d7270be6146906b276605997c7e9a3"}, {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:fc4b630cd3fa2cf7fce38afa91d7cfe844a9f75d7f0f36393fa98815e911d987"}, @@ -1466,6 +1469,7 @@ files = [ {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2f1c3765db32be59d18ab3953f43ab62a761327aafc1594a2a1fbe038b8b8a7"}, {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d85252669dc32f98ebcd5d36768f5d4faeaeaa2d655ac0473be490ecdae3c285"}, {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e143ada795c341b56de9418c58d028989093ee611aa27ffb9b7f609c00d813ed"}, + {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2c59aa6170b990d8d2719323e628aaf36f3bfbc1c26279c0eeeb24d05d2d11c7"}, {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-win32.whl", hash = "sha256:beffaed67936fbbeffd10966a4eb53c402fafd3d6833770516bf7314bc6ffa12"}, {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-win_amd64.whl", hash = "sha256:040ae85536960525ea62868b642bdb0c2cc6021c9f9d507810c0c604e66f5a7b"}, {file = "ruamel.yaml.clib-0.2.12.tar.gz", hash = "sha256:6c8fbb13ec503f99a91901ab46e0b07ae7941cd527393187039aec586fdfd36f"}, @@ -1889,15 +1893,15 @@ test = ["hypothesis", "pytest", "pytest-cov"] [[package]] name = "yadism" -version = "0.13.5" +version = "0.13.7" description = "Yet Another Deep-Inelastic Scattering Module" optional = true python-versions = "<3.13,>=3.9" groups = ["main"] markers = "python_version < \"3.13\" and (extra == \"dis\" or extra == \"complete\")" files = [ - {file = "yadism-0.13.5-py3-none-any.whl", hash = "sha256:862df04b3d9528173e0242d553406963868b7f296d5c3226fca434da80207fb8"}, - {file = "yadism-0.13.5.tar.gz", hash = "sha256:08b2e3449c1623cb5b2103e11a728b58392fc362b9b22b98f2d719c9d6ed5091"}, + {file = "yadism-0.13.7-py3-none-any.whl", hash = "sha256:b7e3e63a004b0987aaaa721c5fad3acff1ab9dd1f744d7da5110d34220685b1b"}, + {file = "yadism-0.13.7.tar.gz", hash = "sha256:e4ac3e9762029d1ec95020e1237a1e4073c09adb0ef964461d9947fa24ab8034"}, ] [package.dependencies] @@ -1907,12 +1911,12 @@ LeProHQ = ">=0.2.5,<0.3.0" numba = ">=0.59.0,<0.60.0" numpy = ">=1.22.0,<2.0.0" pandas = ">=2.1.4,<3.0.0" -pineappl = {version = ">=0.8.2,<0.9.0", optional = true, markers = "extra == \"box\""} +pineappl = {version = ">=1.1.0,<2.0.0", optional = true, markers = "extra == \"box\""} rich = ">=12.4.4,<13.0.0" scipy = ">=1.10.0,<2.0.0" [package.extras] -box = ["pineappl (>=0.8.2,<0.9.0)"] +box = ["pineappl (>=1.1.0,<2.0.0)"] mark = ["banana-hep (>=0.6.13,<0.7.0)", "sqlalchemy (>=1.4.21,<2.0.0)"] [[package]] @@ -1922,7 +1926,7 @@ description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.9" groups = ["docs"] -markers = "python_version < \"3.10\"" +markers = "python_version == \"3.9\"" files = [ {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, @@ -1945,4 +1949,4 @@ vrap = ["eko"] [metadata] lock-version = "2.1" python-versions = "^3.9" -content-hash = "522f2abe67678441095fee3644ed0445484d71d4ae2a7f8bf21eed3ed35a7203" +content-hash = "795e8096880d0bfca45a08b3c6a858f8b332767621a72742e984e28aa0f79a38" diff --git a/pyproject.toml b/pyproject.toml index 95ffc14..575ad43 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,12 +32,12 @@ pkgconfig = "^1.5.5" pygit2 = "^1.12.0" requests = "^2.26.0" lhapdf-management = "^0.3" -pineappl = "^0.8.2" +pineappl = "^1.0" more-itertools = "^8.10.0" appdirs = "^1.4.4" tomli = "^2.0.1" nnpdf-data = { version = "0.0.3" } -yadism = { extras = ["box"], version = "^0.13.5", optional=true, markers = "python_version < '3.13'" } +yadism = { extras = ["box"], version = "^0.13.7", optional=true, markers = "python_version < '3.13'" } eko = { extras = ["box"], version = "^0.14.2", optional=true, markers = "python_version < '3.13'" } [tool.poetry.extras] @@ -103,7 +103,7 @@ addopts = [ ] [tool.pylint.master] -extension-pkg-whitelist = ["numpy", "lhapdf", "pygit2"] +extension-pkg-whitelist = ["numpy", "lhapdf", "pygit2", "pineappl"] ignore-paths = ["benchmarks/", "doc/", "tests/"] [tool.pylint.messages_control] diff --git a/src/pinefarm/external/integrability.py b/src/pinefarm/external/integrability.py index 9000479..8ad7285 100644 --- a/src/pinefarm/external/integrability.py +++ b/src/pinefarm/external/integrability.py @@ -31,7 +31,6 @@ def evolution_to_flavour(evol_fl): @dataclasses.dataclass class _IntegrabilityRuncard: hadron_pid: int - lepton_pid: int flavour: int xgrid: typing.List[float] convolution_type: typing.Optional[str] = "UnpolPDF" @@ -53,7 +52,7 @@ def __init__(self, *args, **kwargs): self._q2 = np.power(self.theory["Q0"], 2) self._info = _IntegrabilityRuncard(**yaml_dict) self._evo2fl = evolution_to_flavour(self._info.flavour) - self.convolution_type = self._info.convolution_type + self.polarized = self._info.convolution_type == "PolPDF" def run(self): """Empty function.""" @@ -61,26 +60,85 @@ def run(self): def generate_pineappl(self): """Generate the pineappl grid for the integrability observable.""" + xgrid = np.array(self._info.xgrid) + bins_length = len(xgrid) + bin_limits = [float(i) for i in range(0, bins_length + 1)] + ## Generate the grid - lumi_entries = [(fl, self._info.lepton_pid, w) for fl, w in self._evo2fl] - luminosities = [pineappl.lumi.LumiEntry(lumi_entries)] + channels = [([fl], w) for fl, w in self._evo2fl] + channels = [pineappl.boc.Channel(channels)] # Set default parameters - orders = [pineappl.grid.Order(0, 0, 0, 0)] - params = pineappl.subgrid.SubgridParams() + orders = [pineappl.boc.Order(0, 0, 0, 0, 0)] + convolution_types = pineappl.convolutions.ConvType( + polarized=self.polarized, time_like=False + ) + convolutions = [ + pineappl.convolutions.Conv(convolution_types=convolution_types, pid=2212) + ] + kinematics = [pineappl.boc.Kinematics.Scale(0), pineappl.boc.Kinematics.X(0)] + scale_funcs = pineappl.boc.Scales( + ren=pineappl.boc.ScaleFuncForm.Scale(0), + fac=pineappl.boc.ScaleFuncForm.Scale(0), + frg=pineappl.boc.ScaleFuncForm.NoScale(0), + ) + bin_limits = pineappl.boc.BinsWithFillLimits.from_fill_limits( + fill_limits=bin_limits + ) + interpolations = [ + pineappl.interpolation.Interp( + min=1, + max=1e2, + nodes=50, + order=3, + reweight_meth=pineappl.interpolation.ReweightingMethod.NoReweight, + map=pineappl.interpolation.MappingMethod.ApplGridH0, + interpolation_meth=pineappl.interpolation.InterpolationMethod.Lagrange, + ), # Interpolation on the Scale + pineappl.interpolation.Interp( + min=1e-9, + max=1, + nodes=40, + order=3, + reweight_meth=pineappl.interpolation.ReweightingMethod.ApplGridX, + map=pineappl.interpolation.MappingMethod.ApplGridF2, + interpolation_meth=pineappl.interpolation.InterpolationMethod.Lagrange, + ), # Interpolation on momentum fraction x + ] # Initialize and parametrize grid - grid = pineappl.grid.Grid.create(luminosities, orders, [0.0, 1.0], params) - grid.set_key_value("convolution_particle_1", str(self._info.hadron_pid)) - grid.set_key_value("convolution_particle_2", str(self._info.lepton_pid)) - grid.set_key_value("runcard", json.dumps(self._info.asdict())) - grid.set_key_value("lumi_id_types", "pdg_mc_ids") - grid.set_key_value("convolution_type_1", self.convolution_type) - grid.set_key_value("convolution_type_2", str(None)) - # Fill grid with x*f(x) - # use subgrid because fill doesn't work? - x = self._info.xgrid - w = np.array(x).reshape((1, -1, 1)) - sg = pineappl.import_only_subgrid.ImportOnlySubgridV1(w, [self._q2], x, x) - grid.set_subgrid(0, 0, 0, sg) + grid = pineappl.grid.Grid( + pid_basis=pineappl.pids.PidBasis.Evol, + channels=channels, + orders=orders, + bins=bin_limits, + convolutions=convolutions, + interpolations=interpolations, + kinematics=kinematics, + scale_funcs=scale_funcs, + ) + subgrid = pineappl.subgrid.ImportSubgridV1( + array=np.full((1, xgrid.size), xgrid), + node_values=[[self._q2], xgrid], + ) + grid.set_subgrid(0, 0, 0, subgrid.into()) + + limits = [[(self._q2, self._q2), (xgrid, xgrid)]] + + # set the correct observables + normalizations = [1.0] * bins_length + bin_configs = pineappl.boc.BinsWithFillLimits.from_limits_and_normalizations( + limits=limits, + normalizations=normalizations, + ) + grid.set_bwfl(bin_configs) + + # set the initial state PDF ids for the grid + grid.set_metadata( + "runcard", + json.dumps(self._info.asdict()), + ) + + # dump file + grid.optimize() grid.write(self.grid) def collect_versions(self): diff --git a/src/pinefarm/external/interface.py b/src/pinefarm/external/interface.py index 5120806..708f15d 100644 --- a/src/pinefarm/external/interface.py +++ b/src/pinefarm/external/interface.py @@ -152,11 +152,10 @@ def annotate_versions(self): # other python dependencies versions versions["pinefarm"] = __version__ versions["pinecard"] = self.load_pinecard() - versions["pineappl"] = pineappl.__version__ + versions["pineappl"] = pineappl.version entries = {} entries.update(versions) - entries["lumi_id_types"] = "pdg_mc_ids" entries["results_pdf"] = self.pdf tools.update_grid_metadata( self.grid, self.gridtmp, entries, {"results": results_log} diff --git a/src/pinefarm/external/positivity.py b/src/pinefarm/external/positivity.py index a57fb24..dc1d730 100644 --- a/src/pinefarm/external/positivity.py +++ b/src/pinefarm/external/positivity.py @@ -28,53 +28,96 @@ def run(self): def generate_pineappl(self): """Generate grid.""" - self.xgrid = self.runcard["xgrid"] - self.lepton_pid = self.runcard["lepton_pid"] + self.xgrid = np.array(self.runcard["xgrid"]) self.pid = self.runcard["pid"] self.q2 = self.runcard["q2"] self.hadron_pid = self.runcard["hadron_pid"] self.convolution_type = self.runcard.get("convolution_type", "UnpolPDF") - # init pineappl objects - lumi_entries = [pineappl.lumi.LumiEntry([(self.pid, self.lepton_pid, 1.0)])] - orders = [pineappl.grid.Order(0, 0, 0, 0)] - bins = len(self.xgrid) - bin_limits = list(map(float, range(0, bins + 1))) - # subgrid params - default is just sufficient - params = pineappl.subgrid.SubgridParams() - # inti grid - grid = pineappl.grid.Grid.create(lumi_entries, orders, bin_limits, params) + bins_length = len(self.xgrid) + bin_limits = [float(i) for i in range(0, bins_length + 1)] + polarized = self.convolution_type == "PolPDF" + + # Instantiate the objecs required to construct a new Grid + channels = [pineappl.boc.Channel([([self.pid], 1.0)])] + orders = [pineappl.boc.Order(0, 0, 0, 0, 0)] + convolution_types = pineappl.convolutions.ConvType( + polarized=polarized, time_like=False + ) + convolutions = [ + pineappl.convolutions.Conv( + convolution_types=convolution_types, pid=self.hadron_pid + ) + ] + kinematics = [pineappl.boc.Kinematics.Scale(0), pineappl.boc.Kinematics.X(0)] + scale_funcs = pineappl.boc.Scales( + ren=pineappl.boc.ScaleFuncForm.Scale(0), + fac=pineappl.boc.ScaleFuncForm.Scale(0), + frg=pineappl.boc.ScaleFuncForm.NoScale(0), + ) + bin_limits = pineappl.boc.BinsWithFillLimits.from_fill_limits( + fill_limits=bin_limits + ) + interpolations = [ + pineappl.interpolation.Interp( + min=10, + max=1e3, + nodes=50, + order=3, + reweight_meth=pineappl.interpolation.ReweightingMethod.NoReweight, + map=pineappl.interpolation.MappingMethod.ApplGridH0, + interpolation_meth=pineappl.interpolation.InterpolationMethod.Lagrange, + ), # Interpolation on the Scale + pineappl.interpolation.Interp( + min=1e-5, + max=1, + nodes=40, + order=3, + reweight_meth=pineappl.interpolation.ReweightingMethod.ApplGridX, + map=pineappl.interpolation.MappingMethod.ApplGridF2, + interpolation_meth=pineappl.interpolation.InterpolationMethod.Lagrange, + ), # Interpolation on momentum fraction x + ] + + grid = pineappl.grid.Grid( + pid_basis=pineappl.pids.PidBasis.Pdg, + channels=channels, + orders=orders, + bins=bin_limits, + convolutions=convolutions, + interpolations=interpolations, + kinematics=kinematics, + scale_funcs=scale_funcs, + ) + limits = [] # add each point as a bin for bin_, x in enumerate(self.xgrid): # keep DIS bins - limits.append((self.q2, self.q2)) - limits.append((x, x)) - # delta function - array = np.zeros(len(self.xgrid)) - array[bin_] = x - # create and set - subgrid = pineappl.import_only_subgrid.ImportOnlySubgridV1( - array[np.newaxis, :, np.newaxis], - [self.q2], - self.xgrid, - [1.0], + limits.append([(self.q2, self.q2), (x, x)]) + # Fill the subgrid with delta functions + array_subgrid = np.zeros((1, self.xgrid.size)) + array_subgrid[0][bin_] = x + # create and set the subgrid + subgrid = pineappl.subgrid.ImportSubgridV1( + array=array_subgrid, + node_values=[[self.q2], self.xgrid], ) - grid.set_subgrid(0, bin_, 0, subgrid) + grid.set_subgrid(0, bin_, 0, subgrid.into()) # set the correct observables - normalizations = [1.0] * bins - remapper = pineappl.bin.BinRemapper(normalizations, limits) - grid.set_remapper(remapper) + normalizations = [1.0] * bins_length + bin_configs = pineappl.boc.BinsWithFillLimits.from_limits_and_normalizations( + limits=limits, + normalizations=normalizations, + ) + grid.set_bwfl(bin_configs) # set the initial state PDF ids for the grid - grid.set_key_value("convolution_particle_1", str(self.hadron_pid)) - grid.set_key_value("convolution_particle_2", str(self.lepton_pid)) - grid.set_key_value("runcard", json.dumps(self.runcard)) - grid.set_key_value("lumi_id_types", "pdg_mc_ids") - grid.set_key_value("convolution_type_1", self.convolution_type) - grid.set_key_value("convolution_type_2", str(None)) + grid.set_metadata("runcard", json.dumps(self.runcard)) + + # dump file grid.optimize() - grid.write(str(self.grid)) + grid.write(self.grid) def results(self): """Apply PDF to grid.""" diff --git a/src/pinefarm/external/vrap.py b/src/pinefarm/external/vrap.py index 4a7c54e..4f37d74 100644 --- a/src/pinefarm/external/vrap.py +++ b/src/pinefarm/external/vrap.py @@ -19,11 +19,10 @@ import numpy as np import pandas as pd +import pineappl import yaml from ekobox import genpdf from lhapdf_management import environment -from pineappl.bin import BinRemapper -from pineappl.grid import Grid from .. import configs, install from . import interface @@ -147,7 +146,7 @@ def run(self): tmppine = self.dest / _PINEAPPL # Now change the name of the grid, optimize and apply any necessary cfactors - grid = Grid.read(tmppine.as_posix()) + grid = pineappl.grid.Grid.read(tmppine.as_posix()) # And give it a sensible name if len(self._kin_cards) == 1: @@ -180,18 +179,22 @@ def generate_pineappl(self): """If the run contain more than one grid, merge them all.""" if len(self._partial_grids) > 1: # Use the first subgrid as main grid - main_grid = Grid.read(self._partial_grids[0].as_posix()) + main_grid = pineappl.grid.Grid.read(self._partial_grids[0].as_posix()) n = len(main_grid.bin_left(0)) - rebin = BinRemapper(np.ones(n), [(i, i) for i in range(n)]) - main_grid.set_remapper(rebin) + limits = [[(i, i)] for i in range(n)] + rebin = pineappl.boc.BinsWithFillLimits.from_limits_and_normalizations( + limits=limits, + normalizations=np.ones(n), + ) + main_grid.set_bwfl(rebin) with tempfile.TemporaryDirectory() as tmp: for i, grid_path in enumerate(self._partial_grids[1:]): tmp_output = f"{tmp}/bin_{i}.pineappl.lz4" - tmp_grid = Grid.read(grid_path.as_posix()) - tmp_grid.set_remapper(rebin) + tmp_grid = pineappl.grid.Grid.read(grid_path.as_posix()) + tmp_grid.set_bwfl(rebin) tmp_grid.write(tmp_output) # Now merge it into the main grid! - main_grid.merge_from_file(tmp_output) + main_grid.merge(tmp_grid) main_grid.write(self.grid) def results(self): diff --git a/src/pinefarm/external/yad.py b/src/pinefarm/external/yad.py index ef21e36..5b0d06e 100644 --- a/src/pinefarm/external/yad.py +++ b/src/pinefarm/external/yad.py @@ -78,7 +78,7 @@ def results(self): pdf_out = next(iter(pdf_out.tables.values())) sv_pdf_out = [] - for xiR, xiF in tools.nine_points: + for xiR, xiF, _xiFR in tools.nine_points: sv_point = out.apply_pdf_alphas_alphaqed_xir_xif( pdf, lambda muR: lhapdf.mkAlphaS(self.pdf).alphasQ(muR), diff --git a/src/pinefarm/table.py b/src/pinefarm/table.py index e704171..5d750ed 100644 --- a/src/pinefarm/table.py +++ b/src/pinefarm/table.py @@ -31,15 +31,18 @@ def convolute_grid(grid, pdf_name, integrated=False): pdf = lhapdf.mkPDF(pdf_name) loaded_grid = pineappl.grid.Grid.read(str(grid)) - pineappl_results = loaded_grid.convolve_with_one( - 2212, pdf.xfxQ2, pdf.alphasQ2, xi=tools.nine_points + pineappl_results = loaded_grid.convolve( + pdg_convs=loaded_grid.convolutions, + xfxs=[pdf.xfxQ2], + alphas=pdf.alphasQ2, + xi=tools.nine_points, ) df = pd.DataFrame(more_itertools.chunked(pineappl_results, len(tools.nine_points))) df.rename df["sv_max"] = df.max(axis=1) df["sv_min"] = df.min(axis=1) - df.rename(columns={tools.nine_points.index((1.0, 1.0)): "integ"}, inplace=True) + df.rename(columns={tools.nine_points.index((1.0, 1.0, 1.0)): "integ"}, inplace=True) if integrated: normalizations = loaded_grid.bin_normalizations() df = df.multiply(normalizations, axis="index") diff --git a/src/pinefarm/tools.py b/src/pinefarm/tools.py index d083c6b..68a69be 100644 --- a/src/pinefarm/tools.py +++ b/src/pinefarm/tools.py @@ -127,9 +127,14 @@ def patch(patch, base_dir="."): three_points = [0.5, 1.0, 2.0] "Three points prescription for scale variations." -nine_points = list(itertools.product(three_points, three_points)) +twentyseven_points = list(itertools.product(three_points, three_points, three_points)) +"""27 points prescription for scale variations (as couples, referred to ``(fact, +ren, frag)`` scales).""" +nine_points = [ + (a, b, 1.0) for (a, b) in list(itertools.product(three_points, three_points)) +] """Nine points prescription for scale variations (as couples, referred to ``(fact, -ren)`` scales).""" +ren, frag=1.0)`` scales).""" def git_pull(repo, remote_name="origin", branch="master"): @@ -207,14 +212,10 @@ def set_grid_metadata(grid, entries=None, entries_from_file=None): entries_from_file = {} for k, v in entries.items(): - if hasattr(grid, "set_key_value"): - grid.set_key_value(k, v) - else: # pineappl 1.0 preparation - grid.set_metadata(k, v) + grid.set_metadata(k, v) for k, v in entries_from_file.items(): - with open(v) as fd: - grid.set_key_value(k, fd.read()) + grid.set_metadata(str(k), str(v)) def common_substring(s1, s2, *sn):