diff --git a/PIconnect/AFSDK.py b/PIconnect/AFSDK.py index 6e1709cf..7c02d914 100644 --- a/PIconnect/AFSDK.py +++ b/PIconnect/AFSDK.py @@ -28,6 +28,7 @@ def __fallback(): if ( os.getenv("GITHUB_ACTIONS", "false").lower() == "true" or os.getenv("TF_BUILD", "false").lower() == "true" + or os.getenv("READTHEDOCS", "false").lower() == "true" ): _af, _AF_SDK_version = __fallback() else: diff --git a/PIconnect/PI.py b/PIconnect/PI.py index 52e5aa2a..9307ed76 100644 --- a/PIconnect/PI.py +++ b/PIconnect/PI.py @@ -31,7 +31,6 @@ def _lookup_servers() -> Dict[str, AF.PI.PIServer]: def _lookup_default_server() -> Optional[AF.PI.PIServer]: - default_server = None try: default_server = AF.PI.PIServers().DefaultPIServer diff --git a/PIconnect/PIAF.py b/PIconnect/PIAF.py index f56e9eeb..aba1b2fe 100644 --- a/PIconnect/PIAF.py +++ b/PIconnect/PIAF.py @@ -3,10 +3,11 @@ """ import dataclasses import warnings -from typing import Any, Dict, Optional, Union, cast +from typing import Any, Dict, Optional, Union, cast, List from PIconnect import AF, PIAFBase, PIConsts, _time from PIconnect._utils import InitialisationWarning +from PIconnect import PIAFAttribute @dataclasses.dataclass(frozen=True) @@ -150,6 +151,28 @@ def descendant(self, path: str) -> "PIAFElement": """Return a descendant of the database from an exact path.""" return PIAFElement(self.database.Elements.get_Item(path)) + def search(self, query: Union[str, List[str]]) -> "PIAFAttribute": + """return a list of PIAFAttributes directly from a list of element|attribute path strings + + like this: + + list("BaseElement/childElement/childElement|Attribute|ChildAttribute|ChildAttribute", + "BaseElement/childElement/childElement|Attribute|ChildAttribute|ChildAttribute") + + """ + attributelist = [] + if isinstance(query, List): + return [y for x in query for y in self.search(x)] + if "|" in query: + splitpath = query.split("|") + elem = self.descendant(splitpath[0]) + attribute = elem.attributes[splitpath[1]] + if len(splitpath) > 2: + for x in range(len(splitpath) - 2): + attribute = attribute.children[splitpath[x + 2]] + attributelist.append(attribute) + return attributelist + def event_frames( self, start_time: _time.TimeLike = "", diff --git a/PIconnect/__init__.py b/PIconnect/__init__.py index 54fa2954..dd9fa300 100644 --- a/PIconnect/__init__.py +++ b/PIconnect/__init__.py @@ -9,7 +9,7 @@ # pragma pylint: enable=unused-import -__version__ = "0.10.4" +__version__ = "0.10.5" __sdk_version = tuple(int(x) for x in AF.PISystems().Version.split(".")) __all__ = [ diff --git a/Pipfile b/Pipfile index 763ad872..94ebe5bb 100644 --- a/Pipfile +++ b/Pipfile @@ -8,7 +8,7 @@ pandas = "*" pytz = "*" wrapt = "*" pythonnet = "*" -piconnect = {editable = true,path = "."} +piconnect = {editable = true, path = "."} [dev-packages] black = "*" diff --git a/Pipfile.lock b/Pipfile.lock index 5dcbc460..c0309b83 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -87,45 +87,45 @@ }, "clr-loader": { "hashes": [ - "sha256:73f94044950ae90169d3a321c807fce0986bd39d57c82468b11700f9e4ece3f3", - "sha256:7b4516e363b3054b46e93a3d39cb1968e58d6eeccea0e8c0bc86f1100a2f4cc5" + "sha256:82ed5fb654729d14fd88296e74bb6b84eb2cfb976ff4b7d49d4e449fd78a226b", + "sha256:9951413acfe56a82e8cb49413f3703ed88e7f7afc4447c6e993d6b34a2b3249c" ], "markers": "python_version >= '3.7'", - "version": "==0.2.4" + "version": "==0.2.5" }, "numpy": { "hashes": [ - "sha256:0704c94f89bf8d5d4f5722b305a29cbb1ad91c7f3dcdcda61cb80d6e5443365b", - "sha256:07c0f3b174970054c613c33e90627fbafbc5d9115adf8829658b833278e7017c", - "sha256:0983fb5b475406cd6aa2f4f364768fb388e1211fd94fb496ad49e214d5c79792", - "sha256:0a5c85f625751b77a6f613db2de5f62514024a7ea6d3be534421746e094b2121", - "sha256:146d7e5ee04433ce8eb504d0dcffff524a5ba759bd1fb9c73189c3436b04d59c", - "sha256:1651a59e5d8dbb09b84254e358aa2fe10431df5a92ddefb1ac20208c75bd2fa2", - "sha256:1d6198ee7eb45e5d9cc8a5c9102b734f0c5683c0e440ae7cfad90ad8cb9316d2", - "sha256:50346a0d81444f420518c7d6996524d7e559cdfa2e41886381442f012593590e", - "sha256:5db5f7a8f150614684c34449010c15b61df8d8e5fc0cd79ce30e82f493598599", - "sha256:6f34b8f2996ebad781cd878276e03d247f0129640fb0ae76bb16addc4df822d1", - "sha256:748285bca9fb0f06a16034d4b9c6dce77997d2ccddf769aaeb4760fea4752ea2", - "sha256:8bc069b085289f3b7a578519504962330fab91459a847195b914f69b9170b75c", - "sha256:925d39290878d680eb8dd690f969faa0a4956b7bd77daf3573486eb39d8e5724", - "sha256:a2495e48db12f546e4e3f9ea1f665390828098344bf63bca50309a68d713d302", - "sha256:a68647adc9945eac88f4fce96195177c2a81577baa448c1c1bbd5751c550e8b5", - "sha256:ab18e29ad73ce560747de10ebe75f145be3026b7480e76d7a5314c2bef0fc831", - "sha256:b45bdcde72ce02a92ae183ef211bcf7f04e15d5e3df6714866de66d8ec8cc822", - "sha256:b4eca15593bec5ef3e2e05c157ff1be3990d04a862f49fd46b4e527ff390b778", - "sha256:b6e807f59c1f71e74603a2a88b0b997d7f43e002f6e5f7f55649c6e07738f1ad", - "sha256:bdd44d3133c800792f2beda0e24f86b3ae06a8a31172395c650d13e4c05d1d5b", - "sha256:c943c61fa708a6225e199aff755b2c3f5a353a2bbb726e10334a05b8e1fc030b", - "sha256:c9ff51e627e7584eb7ee09f6fe494862e45f796e53b5ee7267d3d5633a79dac6", - "sha256:dce26877ad77c9722e35c9ca82e9272cb6d10aa0a4f95e633b13511dcf549b5f", - "sha256:df9a9c28ad95c87b4047e1acd45715eb430fb5f6df39556279b3f36ce75c697b", - "sha256:e30689dd418f2db3d2d3039cb08011047d27708fdc24c592d56fa58aaeb01672", - "sha256:e4909946cf43ff713f95780d483793d8fb23c1559686a8221e91f89e5ecceea0", - "sha256:e948367a0b9aa68a081c4cf817751c6d0d589a37ce6bb40fea39a882b4858834", - "sha256:ea9ca0989fdd42d3320a94f540f317fb615be9ceab75a07078a84b9933582da5" + "sha256:0044f7d944ee882400890f9ae955220d29b33d809a038923d88e4e01d652acd9", + "sha256:0e3463e6ac25313462e04aea3fb8a0a30fb906d5d300f58b3bc2c23da6a15398", + "sha256:179a7ef0889ab769cc03573b6217f54c8bd8e16cef80aad369e1e8185f994cd7", + "sha256:2386da9a471cc00a1f47845e27d916d5ec5346ae9696e01a8a34760858fe9dd2", + "sha256:26089487086f2648944f17adaa1a97ca6aee57f513ba5f1c0b7ebdabbe2b9954", + "sha256:28bc9750ae1f75264ee0f10561709b1462d450a4808cd97c013046073ae64ab6", + "sha256:28e418681372520c992805bb723e29d69d6b7aa411065f48216d8329d02ba032", + "sha256:442feb5e5bada8408e8fcd43f3360b78683ff12a4444670a7d9e9824c1817d36", + "sha256:6ec0c021cd9fe732e5bab6401adea5a409214ca5592cd92a114f7067febcba0c", + "sha256:7094891dcf79ccc6bc2a1f30428fa5edb1e6fb955411ffff3401fb4ea93780a8", + "sha256:84e789a085aabef2f36c0515f45e459f02f570c4b4c4c108ac1179c34d475ed7", + "sha256:87a118968fba001b248aac90e502c0b13606721b1343cdaddbc6e552e8dfb56f", + "sha256:8e669fbdcdd1e945691079c2cae335f3e3a56554e06bbd45d7609a6cf568c700", + "sha256:ad2925567f43643f51255220424c23d204024ed428afc5aad0f86f3ffc080086", + "sha256:b0677a52f5d896e84414761531947c7a330d1adc07c3a4372262f25d84af7bf7", + "sha256:b07b40f5fb4fa034120a5796288f24c1fe0e0580bbfff99897ba6267af42def2", + "sha256:b09804ff570b907da323b3d762e74432fb07955701b17b08ff1b5ebaa8cfe6a9", + "sha256:b162ac10ca38850510caf8ea33f89edcb7b0bb0dfa5592d59909419986b72407", + "sha256:b31da69ed0c18be8b77bfce48d234e55d040793cebb25398e2a7d84199fbc7e2", + "sha256:caf65a396c0d1f9809596be2e444e3bd4190d86d5c1ce21f5fc4be60a3bc5b36", + "sha256:cfa1161c6ac8f92dea03d625c2d0c05e084668f4a06568b77a25a89111621566", + "sha256:dae46bed2cb79a58d6496ff6d8da1e3b95ba09afeca2e277628171ca99b99db1", + "sha256:ddc7ab52b322eb1e40521eb422c4e0a20716c271a306860979d450decbb51b8e", + "sha256:de92efa737875329b052982e37bd4371d52cabf469f83e7b8be9bb7752d67e51", + "sha256:e274f0f6c7efd0d577744f52032fdd24344f11c5ae668fe8d01aac0422611df1", + "sha256:ed5fb71d79e771ec930566fae9c02626b939e37271ec285e9efaf1b5d4370e7d", + "sha256:ef85cf1f693c88c1fd229ccd1055570cb41cdf4875873b7728b6301f12cd05bf", + "sha256:f1b739841821968798947d3afcefd386fa56da0caf97722a5de53e07c4ccedc7" ], "markers": "python_version >= '3.10'", - "version": "==1.24.0rc2" + "version": "==1.24.1" }, "pandas": { "hashes": [ @@ -189,11 +189,11 @@ }, "pytz": { "hashes": [ - "sha256:222439474e9c98fced559f1709d89e6c9cbf8d79c794ff3eb9f8800064291427", - "sha256:e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2" + "sha256:01a0681c4b9684a28304615eba55d1ab31ae00bf68ec157ec3708a8182dbbcd0", + "sha256:78f4f37d8198e0627c5f1143240bb0206b8691d8d7ac6d78fee88b78733f8c4a" ], "index": "pypi", - "version": "==2022.6" + "version": "==2022.7.1" }, "six": { "hashes": [ @@ -277,10 +277,11 @@ "develop": { "alabaster": { "hashes": [ - "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359", - "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02" + "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3", + "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2" ], - "version": "==0.7.12" + "markers": "python_version >= '3.6'", + "version": "==0.7.13" }, "astroid": { "hashes": [ @@ -292,11 +293,11 @@ }, "attrs": { "hashes": [ - "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6", - "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c" + "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836", + "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99" ], - "markers": "python_version >= '3.5'", - "version": "==22.1.0" + "markers": "python_version >= '3.6'", + "version": "==22.2.0" }, "babel": { "hashes": [ @@ -308,29 +309,42 @@ }, "black": { "hashes": [ - "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320", - "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351", - "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350", - "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f", - "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf", - "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148", - "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4", - "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d", - "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc", - "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d", - "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2", - "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f" + "sha256:0052dba51dec07ed029ed61b18183942043e00008ec65d5028814afaab9a22fd", + "sha256:0680d4380db3719ebcfb2613f34e86c8e6d15ffeabcf8ec59355c5e7b85bb555", + "sha256:121ca7f10b4a01fd99951234abdbd97728e1240be89fde18480ffac16503d481", + "sha256:162e37d49e93bd6eb6f1afc3e17a3d23a823042530c37c3c42eeeaf026f38468", + "sha256:2a951cc83ab535d248c89f300eccbd625e80ab880fbcfb5ac8afb5f01a258ac9", + "sha256:2bf649fda611c8550ca9d7592b69f0637218c2369b7744694c5e4902873b2f3a", + "sha256:382998821f58e5c8238d3166c492139573325287820963d2f7de4d518bd76958", + "sha256:49f7b39e30f326a34b5c9a4213213a6b221d7ae9d58ec70df1c4a307cf2a1580", + "sha256:57c18c5165c1dbe291d5306e53fb3988122890e57bd9b3dcb75f967f13411a26", + "sha256:7a0f701d314cfa0896b9001df70a530eb2472babb76086344e688829efd97d32", + "sha256:8178318cb74f98bc571eef19068f6ab5613b3e59d4f47771582f04e175570ed8", + "sha256:8b70eb40a78dfac24842458476135f9b99ab952dd3f2dab738c1881a9b38b753", + "sha256:9880d7d419bb7e709b37e28deb5e68a49227713b623c72b2b931028ea65f619b", + "sha256:9afd3f493666a0cd8f8df9a0200c6359ac53940cbde049dcb1a7eb6ee2dd7074", + "sha256:a29650759a6a0944e7cca036674655c2f0f63806ddecc45ed40b7b8aa314b651", + "sha256:a436e7881d33acaf2536c46a454bb964a50eff59b21b51c6ccf5a40601fbef24", + "sha256:a59db0a2094d2259c554676403fa2fac3473ccf1354c1c63eccf7ae65aac8ab6", + "sha256:a8471939da5e824b891b25751955be52ee7f8a30a916d570a5ba8e0f2eb2ecad", + "sha256:b0bd97bea8903f5a2ba7219257a44e3f1f9d00073d6cc1add68f0beec69692ac", + "sha256:b6a92a41ee34b883b359998f0c8e6eb8e99803aa8bf3123bf2b2e6fec505a221", + "sha256:bb460c8561c8c1bec7824ecbc3ce085eb50005883a6203dcfb0122e95797ee06", + "sha256:bfffba28dc52a58f04492181392ee380e95262af14ee01d4bc7bb1b1c6ca8d27", + "sha256:c1c476bc7b7d021321e7d93dc2cbd78ce103b84d5a4cf97ed535fbc0d6660648", + "sha256:c91dfc2c2a4e50df0026f88d2215e166616e0c80e86004d0003ece0488db2739", + "sha256:e6663f91b6feca5d06f2ccd49a10f254f9298cc1f7f49c46e498a0771b507104" ], "index": "pypi", - "version": "==22.12.0" + "version": "==23.1.0" }, "bleach": { "hashes": [ - "sha256:085f7f33c15bd408dd9b17a4ad77c577db66d76203e5984b1bd59baeee948b2a", - "sha256:0d03255c47eb9bd2f26aa9bb7f2107732e7e8fe195ca2f64709fcf3b0a4a085c" + "sha256:1a1a85c1595e07d8db14c5f09f09e6433502c51c595970edc090551f0db99414", + "sha256:33c16e3353dbd13028ab4799a0f89a83f113405c766e9c122df8a06f5b85b3f4" ], "markers": "python_version >= '3.7'", - "version": "==5.0.1" + "version": "==6.0.0" }, "certifi": { "hashes": [ @@ -342,11 +356,97 @@ }, "charset-normalizer": { "hashes": [ - "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845", - "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f" + "sha256:00d3ffdaafe92a5dc603cb9bd5111aaa36dfa187c8285c543be562e61b755f6b", + "sha256:024e606be3ed92216e2b6952ed859d86b4cfa52cd5bc5f050e7dc28f9b43ec42", + "sha256:0298eafff88c99982a4cf66ba2efa1128e4ddaca0b05eec4c456bbc7db691d8d", + "sha256:02a51034802cbf38db3f89c66fb5d2ec57e6fe7ef2f4a44d070a593c3688667b", + "sha256:083c8d17153ecb403e5e1eb76a7ef4babfc2c48d58899c98fcaa04833e7a2f9a", + "sha256:0a11e971ed097d24c534c037d298ad32c6ce81a45736d31e0ff0ad37ab437d59", + "sha256:0bf2dae5291758b6f84cf923bfaa285632816007db0330002fa1de38bfcb7154", + "sha256:0c0a590235ccd933d9892c627dec5bc7511ce6ad6c1011fdf5b11363022746c1", + "sha256:0f438ae3532723fb6ead77e7c604be7c8374094ef4ee2c5e03a3a17f1fca256c", + "sha256:109487860ef6a328f3eec66f2bf78b0b72400280d8f8ea05f69c51644ba6521a", + "sha256:11b53acf2411c3b09e6af37e4b9005cba376c872503c8f28218c7243582df45d", + "sha256:12db3b2c533c23ab812c2b25934f60383361f8a376ae272665f8e48b88e8e1c6", + "sha256:14e76c0f23218b8f46c4d87018ca2e441535aed3632ca134b10239dfb6dadd6b", + "sha256:16a8663d6e281208d78806dbe14ee9903715361cf81f6d4309944e4d1e59ac5b", + "sha256:292d5e8ba896bbfd6334b096e34bffb56161c81408d6d036a7dfa6929cff8783", + "sha256:2c03cc56021a4bd59be889c2b9257dae13bf55041a3372d3295416f86b295fb5", + "sha256:2e396d70bc4ef5325b72b593a72c8979999aa52fb8bcf03f701c1b03e1166918", + "sha256:2edb64ee7bf1ed524a1da60cdcd2e1f6e2b4f66ef7c077680739f1641f62f555", + "sha256:31a9ddf4718d10ae04d9b18801bd776693487cbb57d74cc3458a7673f6f34639", + "sha256:356541bf4381fa35856dafa6a965916e54bed415ad8a24ee6de6e37deccf2786", + "sha256:358a7c4cb8ba9b46c453b1dd8d9e431452d5249072e4f56cfda3149f6ab1405e", + "sha256:37f8febc8ec50c14f3ec9637505f28e58d4f66752207ea177c1d67df25da5aed", + "sha256:39049da0ffb96c8cbb65cbf5c5f3ca3168990adf3551bd1dee10c48fce8ae820", + "sha256:39cf9ed17fe3b1bc81f33c9ceb6ce67683ee7526e65fde1447c772afc54a1bb8", + "sha256:3ae1de54a77dc0d6d5fcf623290af4266412a7c4be0b1ff7444394f03f5c54e3", + "sha256:3b590df687e3c5ee0deef9fc8c547d81986d9a1b56073d82de008744452d6541", + "sha256:3e45867f1f2ab0711d60c6c71746ac53537f1684baa699f4f668d4c6f6ce8e14", + "sha256:3fc1c4a2ffd64890aebdb3f97e1278b0cc72579a08ca4de8cd2c04799a3a22be", + "sha256:4457ea6774b5611f4bed5eaa5df55f70abde42364d498c5134b7ef4c6958e20e", + "sha256:44ba614de5361b3e5278e1241fda3dc1838deed864b50a10d7ce92983797fa76", + "sha256:4a8fcf28c05c1f6d7e177a9a46a1c52798bfe2ad80681d275b10dcf317deaf0b", + "sha256:4b0d02d7102dd0f997580b51edc4cebcf2ab6397a7edf89f1c73b586c614272c", + "sha256:502218f52498a36d6bf5ea77081844017bf7982cdbe521ad85e64cabee1b608b", + "sha256:503e65837c71b875ecdd733877d852adbc465bd82c768a067badd953bf1bc5a3", + "sha256:5995f0164fa7df59db4746112fec3f49c461dd6b31b841873443bdb077c13cfc", + "sha256:59e5686dd847347e55dffcc191a96622f016bc0ad89105e24c14e0d6305acbc6", + "sha256:601f36512f9e28f029d9481bdaf8e89e5148ac5d89cffd3b05cd533eeb423b59", + "sha256:608862a7bf6957f2333fc54ab4399e405baad0163dc9f8d99cb236816db169d4", + "sha256:62595ab75873d50d57323a91dd03e6966eb79c41fa834b7a1661ed043b2d404d", + "sha256:70990b9c51340e4044cfc394a81f614f3f90d41397104d226f21e66de668730d", + "sha256:71140351489970dfe5e60fc621ada3e0f41104a5eddaca47a7acb3c1b851d6d3", + "sha256:72966d1b297c741541ca8cf1223ff262a6febe52481af742036a0b296e35fa5a", + "sha256:74292fc76c905c0ef095fe11e188a32ebd03bc38f3f3e9bcb85e4e6db177b7ea", + "sha256:761e8904c07ad053d285670f36dd94e1b6ab7f16ce62b9805c475b7aa1cffde6", + "sha256:772b87914ff1152b92a197ef4ea40efe27a378606c39446ded52c8f80f79702e", + "sha256:79909e27e8e4fcc9db4addea88aa63f6423ebb171db091fb4373e3312cb6d603", + "sha256:7e189e2e1d3ed2f4aebabd2d5b0f931e883676e51c7624826e0a4e5fe8a0bf24", + "sha256:7eb33a30d75562222b64f569c642ff3dc6689e09adda43a082208397f016c39a", + "sha256:81d6741ab457d14fdedc215516665050f3822d3e56508921cc7239f8c8e66a58", + "sha256:8499ca8f4502af841f68135133d8258f7b32a53a1d594aa98cc52013fff55678", + "sha256:84c3990934bae40ea69a82034912ffe5a62c60bbf6ec5bc9691419641d7d5c9a", + "sha256:87701167f2a5c930b403e9756fab1d31d4d4da52856143b609e30a1ce7160f3c", + "sha256:88600c72ef7587fe1708fd242b385b6ed4b8904976d5da0893e31df8b3480cb6", + "sha256:8ac7b6a045b814cf0c47f3623d21ebd88b3e8cf216a14790b455ea7ff0135d18", + "sha256:8b8af03d2e37866d023ad0ddea594edefc31e827fee64f8de5611a1dbc373174", + "sha256:8c7fe7afa480e3e82eed58e0ca89f751cd14d767638e2550c77a92a9e749c317", + "sha256:8eade758719add78ec36dc13201483f8e9b5d940329285edcd5f70c0a9edbd7f", + "sha256:911d8a40b2bef5b8bbae2e36a0b103f142ac53557ab421dc16ac4aafee6f53dc", + "sha256:93ad6d87ac18e2a90b0fe89df7c65263b9a99a0eb98f0a3d2e079f12a0735837", + "sha256:95dea361dd73757c6f1c0a1480ac499952c16ac83f7f5f4f84f0658a01b8ef41", + "sha256:9ab77acb98eba3fd2a85cd160851816bfce6871d944d885febf012713f06659c", + "sha256:9cb3032517f1627cc012dbc80a8ec976ae76d93ea2b5feaa9d2a5b8882597579", + "sha256:9cf4e8ad252f7c38dd1f676b46514f92dc0ebeb0db5552f5f403509705e24753", + "sha256:9d9153257a3f70d5f69edf2325357251ed20f772b12e593f3b3377b5f78e7ef8", + "sha256:a152f5f33d64a6be73f1d30c9cc82dfc73cec6477ec268e7c6e4c7d23c2d2291", + "sha256:a16418ecf1329f71df119e8a65f3aa68004a3f9383821edcb20f0702934d8087", + "sha256:a60332922359f920193b1d4826953c507a877b523b2395ad7bc716ddd386d866", + "sha256:a8d0fc946c784ff7f7c3742310cc8a57c5c6dc31631269876a88b809dbeff3d3", + "sha256:ab5de034a886f616a5668aa5d098af2b5385ed70142090e2a31bcbd0af0fdb3d", + "sha256:c22d3fe05ce11d3671297dc8973267daa0f938b93ec716e12e0f6dee81591dc1", + "sha256:c2ac1b08635a8cd4e0cbeaf6f5e922085908d48eb05d44c5ae9eabab148512ca", + "sha256:c512accbd6ff0270939b9ac214b84fb5ada5f0409c44298361b2f5e13f9aed9e", + "sha256:c75ffc45f25324e68ab238cb4b5c0a38cd1c3d7f1fb1f72b5541de469e2247db", + "sha256:c95a03c79bbe30eec3ec2b7f076074f4281526724c8685a42872974ef4d36b72", + "sha256:cadaeaba78750d58d3cc6ac4d1fd867da6fc73c88156b7a3212a3cd4819d679d", + "sha256:cd6056167405314a4dc3c173943f11249fa0f1b204f8b51ed4bde1a9cd1834dc", + "sha256:db72b07027db150f468fbada4d85b3b2729a3db39178abf5c543b784c1254539", + "sha256:df2c707231459e8a4028eabcd3cfc827befd635b3ef72eada84ab13b52e1574d", + "sha256:e62164b50f84e20601c1ff8eb55620d2ad25fb81b59e3cd776a1902527a788af", + "sha256:e696f0dd336161fca9adbb846875d40752e6eba585843c768935ba5c9960722b", + "sha256:eaa379fcd227ca235d04152ca6704c7cb55564116f8bc52545ff357628e10602", + "sha256:ebea339af930f8ca5d7a699b921106c6e29c617fe9606fa7baa043c1cdae326f", + "sha256:f4c39b0e3eac288fedc2b43055cfc2ca7a60362d0e5e87a637beac5d801ef478", + "sha256:f5057856d21e7586765171eac8b9fc3f7d44ef39425f85dbcccb13b3ebea806c", + "sha256:f6f45710b4459401609ebebdbcfb34515da4fc2aa886f95107f556ac69a9147e", + "sha256:f97e83fa6c25693c7a35de154681fcc257c1c41b38beb0304b9c4d2d9e164479", + "sha256:f9d0c5c045a3ca9bedfc35dca8526798eb91a07aa7a2c0fee134c6c6f321cbd7", + "sha256:ff6f3db31555657f3163b15a6b7c6938d08df7adbfc9dd13d9d19edad678f1e8" ], "markers": "python_full_version >= '3.6.0'", - "version": "==2.1.1" + "version": "==3.0.1" }, "click": { "hashes": [ @@ -381,69 +481,62 @@ "markers": "sys_platform == 'win32'", "version": "==0.4.6" }, - "commonmark": { - "hashes": [ - "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60", - "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9" - ], - "version": "==0.9.1" - }, "coverage": { "hashes": [ - "sha256:00dc3243637dfcc5c93f61488c43ccb2d345398c831971924dcd5f6c892a29a3", - "sha256:07dbe3503bc49062b0e3da62f726ac98dcb693421a8f3cb16e4ce75599d62f27", - "sha256:095ffbb9cbca6a28bc01ebd35707f7eeee9fdffb0c3aa7ea0e2ec2e97023b944", - "sha256:12417d6ce534fbb7e68e936cc528fd3916ced91c2c1ab46b9c0a24fa55ac072f", - "sha256:219112fa5538b15dc0ed0f725bb63cac8fc33f6bbfe4a8b6bd3840ebde4e7cfd", - "sha256:241dbf267f29b228f948cf3236cf0aa891531d46105f3df5659e392018b686d8", - "sha256:2ea9adf2f2452d28047f7c8014fb383eeeacd27639ebed5e859fd1d4fb9c23ea", - "sha256:2ee3e41ee67145f9e0c9aebd26eda523b3492a709e6561cb50421526594e4edc", - "sha256:30a5398102f303adbb7d02d00c2d080c1b5c26501cb2603085ccaa6cdefacff3", - "sha256:3626419363b9d07528eded6d95653b7ea4b9e399d91648cfe85db41b0e47777d", - "sha256:371c39a4c5f0d715894bd3d993ec17429026aa632c9f2e416fadccb83404ccb4", - "sha256:37a90295364c3697f628f3a0de314d35aa11fdb912950fd9732d3501b05604d8", - "sha256:389f90e4ae265e10a6584aa2b6a289daa35f1d9528f336860375a029c0da97c5", - "sha256:3b7c4c2237c1be6dee3fe8df4d15d80cfbafd53e28387bebdc875463ffab8f95", - "sha256:41f33a35299885ea77183b041d30c4e839a90002e288eb501d74063a26408097", - "sha256:4506306b695a0834b15d39510a39a774338e31bbeca48266f3d6c439c5ef3c75", - "sha256:471be2d8a2550a52381c622bce3ef8347d00212d137a43ae1343a62823703b61", - "sha256:471f19e4b3ca398b786a50cfe2fb0ac247ec4a0e1e7369a04cb2df188210d011", - "sha256:59a4ea3a3dc032517b5f87c5960474470946e0a7fe9010a92d1fbece9120fc5a", - "sha256:5a0558e2e7cb9c67760a4ff490f53e1521c20e6bdbbc24f34a4739221451a835", - "sha256:5d0d36dcdbce99970bd596a85673455479c3f9e81ef9481f7605533a02d65bd6", - "sha256:618d0dba8e063985f3a88daa3af8c0bf2007e2032696768d26d0d12907efd724", - "sha256:6596f69563e8c261ff042a560cef79bee20beb7876bba30ceae9275a35b54dcb", - "sha256:66b23eecc0c6a8aba9bd7f2fdde21f76fee385d4fcecb2abfca2608732373f30", - "sha256:74577e74f1c9e0867584eb33ac0bd8f9871f4c36a945f0439b2d71c84bc77b40", - "sha256:7c99e43113a76a8cd3e3a7034739baf98d093ba4e1e9033913d1f1d694f97dc2", - "sha256:7ddab3afc3af5071362c8fcf4cd95d8dbe9be5ca5523e4a2602ca0a2bbcbb88c", - "sha256:876028c95f8f509156c6565ee73f916038601608d2bb84454195469b4799d8fd", - "sha256:896b6f163131f434e7e4b4e87c546e346a18cd41e79a5f31900cbfe4e2f64be9", - "sha256:8ee0c31fdf8125a0314b46c785d14a50c622f553af41cc6efdeb50a8aed68b0b", - "sha256:92f6833836ede52c1a8478749267dff4de82ec3d2bda4436dd38e076ed4dbd14", - "sha256:95c0cbffe1e5b3ed63701296f51b9bffc39c7360029a7fdd877430a6ca40703f", - "sha256:9861198ef7916a4610b4d9cc3d8c26c53b7aa8bd863cbbedc03f30a1125c2786", - "sha256:a3c028b40f85e91a850babea14b4938a2eb64554e8bda2712c9a692c94ece38f", - "sha256:abde056ae97c5b9b67cea07481f31c68dae1c82a287057cfe07f22a9b6606485", - "sha256:b7793964b29780a4f7c4b5205697df5e8de7649a8f4d6a1da9ad4a8cb590b20d", - "sha256:b8d0ba2c3e45c3f81a8e233ec8638b418a2f3478c046c45353026915a55069cd", - "sha256:c2f542c5390ea2e697a619a4b24655227044b7345643e4d929457fffe2c0215a", - "sha256:c91248a51a54e7310a40be77205421b5ded9e1653cb5898b8d250b3ad9747765", - "sha256:c95b160327c760e3f86e272df8430e09f092b6c8838e51b2fdad5f56d6dc4596", - "sha256:cbb91b3da4d4a3dfd9e868181509d5a79c2630ab77cd10b2e2910f215467cf66", - "sha256:cd89a278bbe87d815adb1c8ff0c5e7f6c8ccc23cb24c3b6fdb0a45841108fdff", - "sha256:cdb2bf6b80e7a82fab0a2a152d46d47b49b2b69c919773e9d6581bd93488a63d", - "sha256:cec1a1dcc1242c9ed383041aa251c6355d7170496a6d9f03139b6811d468cc3b", - "sha256:d5c7e14971a35fb4dd644942c3c6d4f546751e04f596de10b5b3b1cca3cff379", - "sha256:d7bcf9ca3cf2134abf337f15551efbb5b9ccc6a7420bc784799fd75b369be268", - "sha256:dc08171d1daa17a2abf20e0a6cf75bd2f34fa7040711979d06649c4866d4967f", - "sha256:dddbfbe4e3bfdb1e3cfe6f2ca804d2573029c6d4ebd30931ce39b8d236ca2f49", - "sha256:e31e6f585586eeec3f15f97ceb0a76d08049db06d69a36960cd386ccd94a05c7", - "sha256:e62ba62e8d4fa68ad616e0315703281ba8b1cb01fce2712659a2f56ecccf38bb", - "sha256:fc9a4981b62f0eaf44a0bb7e6e894db2d45527ec3dac0cf86dc80d7f698a03c3" + "sha256:04481245ef966fbd24ae9b9e537ce899ae584d521dfbe78f89cad003c38ca2ab", + "sha256:0c45948f613d5d18c9ec5eaa203ce06a653334cf1bd47c783a12d0dd4fd9c851", + "sha256:10188fe543560ec4874f974b5305cd1a8bdcfa885ee00ea3a03733464c4ca265", + "sha256:218fe982371ac7387304153ecd51205f14e9d731b34fb0568181abaf7b443ba0", + "sha256:29571503c37f2ef2138a306d23e7270687c0efb9cab4bd8038d609b5c2393a3a", + "sha256:2a60d6513781e87047c3e630b33b4d1e89f39836dac6e069ffee28c4786715f5", + "sha256:2bf1d5f2084c3932b56b962a683074a3692bce7cabd3aa023c987a2a8e7612f6", + "sha256:3164d31078fa9efe406e198aecd2a02d32a62fecbdef74f76dad6a46c7e48311", + "sha256:32df215215f3af2c1617a55dbdfb403b772d463d54d219985ac7cd3bf124cada", + "sha256:33d1ae9d4079e05ac4cc1ef9e20c648f5afabf1a92adfaf2ccf509c50b85717f", + "sha256:33ff26d0f6cc3ca8de13d14fde1ff8efe1456b53e3f0273e63cc8b3c84a063d8", + "sha256:38da2db80cc505a611938d8624801158e409928b136c8916cd2e203970dde4dc", + "sha256:3b155caf3760408d1cb903b21e6a97ad4e2bdad43cbc265e3ce0afb8e0057e73", + "sha256:3b946bbcd5a8231383450b195cfb58cb01cbe7f8949f5758566b881df4b33baf", + "sha256:3baf5f126f30781b5e93dbefcc8271cb2491647f8283f20ac54d12161dff080e", + "sha256:4b14d5e09c656de5038a3f9bfe5228f53439282abcab87317c9f7f1acb280352", + "sha256:51b236e764840a6df0661b67e50697aaa0e7d4124ca95e5058fa3d7cbc240b7c", + "sha256:63ffd21aa133ff48c4dff7adcc46b7ec8b565491bfc371212122dd999812ea1c", + "sha256:6a43c7823cd7427b4ed763aa7fb63901ca8288591323b58c9cd6ec31ad910f3c", + "sha256:755e89e32376c850f826c425ece2c35a4fc266c081490eb0a841e7c1cb0d3bda", + "sha256:7a726d742816cb3a8973c8c9a97539c734b3a309345236cd533c4883dda05b8d", + "sha256:7c7c0d0827e853315c9bbd43c1162c006dd808dbbe297db7ae66cd17b07830f0", + "sha256:7ed681b0f8e8bcbbffa58ba26fcf5dbc8f79e7997595bf071ed5430d8c08d6f3", + "sha256:7ee5c9bb51695f80878faaa5598040dd6c9e172ddcf490382e8aedb8ec3fec8d", + "sha256:8361be1c2c073919500b6601220a6f2f98ea0b6d2fec5014c1d9cfa23dd07038", + "sha256:8ae125d1134bf236acba8b83e74c603d1b30e207266121e76484562bc816344c", + "sha256:9817733f0d3ea91bea80de0f79ef971ae94f81ca52f9b66500c6a2fea8e4b4f8", + "sha256:98b85dd86514d889a2e3dd22ab3c18c9d0019e696478391d86708b805f4ea0fa", + "sha256:9ccb092c9ede70b2517a57382a601619d20981f56f440eae7e4d7eaafd1d1d09", + "sha256:9d58885215094ab4a86a6aef044e42994a2bd76a446dc59b352622655ba6621b", + "sha256:b643cb30821e7570c0aaf54feaf0bfb630b79059f85741843e9dc23f33aaca2c", + "sha256:bc7c85a150501286f8b56bd8ed3aa4093f4b88fb68c0843d21ff9656f0009d6a", + "sha256:beeb129cacea34490ffd4d6153af70509aa3cda20fdda2ea1a2be870dfec8d52", + "sha256:c31b75ae466c053a98bf26843563b3b3517b8f37da4d47b1c582fdc703112bc3", + "sha256:c4e4881fa9e9667afcc742f0c244d9364d197490fbc91d12ac3b5de0bf2df146", + "sha256:c5b15ed7644ae4bee0ecf74fee95808dcc34ba6ace87e8dfbf5cb0dc20eab45a", + "sha256:d12d076582507ea460ea2a89a8c85cb558f83406c8a41dd641d7be9a32e1274f", + "sha256:d248cd4a92065a4d4543b8331660121b31c4148dd00a691bfb7a5cdc7483cfa4", + "sha256:d47dd659a4ee952e90dc56c97d78132573dc5c7b09d61b416a9deef4ebe01a0c", + "sha256:d4a5a5879a939cb84959d86869132b00176197ca561c664fc21478c1eee60d75", + "sha256:da9b41d4539eefd408c46725fb76ecba3a50a3367cafb7dea5f250d0653c1040", + "sha256:db61a79c07331e88b9a9974815c075fbd812bc9dbc4dc44b366b5368a2936063", + "sha256:ddb726cb861c3117a553f940372a495fe1078249ff5f8a5478c0576c7be12050", + "sha256:ded59300d6330be27bc6cf0b74b89ada58069ced87c48eaf9344e5e84b0072f7", + "sha256:e2617759031dae1bf183c16cef8fcfb3de7617f394c813fa5e8e46e9b82d4222", + "sha256:e5cdbb5cafcedea04924568d990e20ce7f1945a1dd54b560f879ee2d57226912", + "sha256:ec8e767f13be637d056f7e07e61d089e555f719b387a7070154ad80a0ff31801", + "sha256:ef382417db92ba23dfb5864a3fc9be27ea4894e86620d342a116b243ade5d35d", + "sha256:f2cba5c6db29ce991029b5e4ac51eb36774458f0a3b8d3137241b32d1bb91f06", + "sha256:f5b4198d85a3755d27e64c52f8c95d6333119e49fd001ae5798dac872c95e0f8", + "sha256:ffeeb38ee4a80a30a6877c5c4c359e5498eec095878f1581453202bfacc8fbc2" ], "index": "pypi", - "version": "==7.0.0b1" + "version": "==7.1.0" }, "dill": { "hashes": [ @@ -455,11 +548,11 @@ }, "doc8": { "hashes": [ - "sha256:0c6c3104fa7f7bb2103589c0a8e272c105fdff3ddd1ef4808e51b2782185e9ab", - "sha256:1e999a14fe415ea96d89d5053c790d01061f19b6737706b817d1579c2a07cc16" + "sha256:d97a93e8f5a2efc4713a0804657dedad83745cca4cd1d88de9186f77f9776004", + "sha256:e493aa3f36820197c49f407583521bb76a0fde4fffbcd0e092be946ff95931ac" ], "index": "pypi", - "version": "==1.0.0" + "version": "==1.1.1" }, "docutils": { "hashes": [ @@ -471,11 +564,11 @@ }, "exceptiongroup": { "hashes": [ - "sha256:542adf9dea4055530d6e1279602fa5cb11dab2395fa650b8674eaec35fc4a828", - "sha256:bd14967b79cd9bdb54d97323216f8fdf533e278df937aa2a90089e7d6e06e5ec" + "sha256:327cbda3da756e2de031a3107b81ab7b3770a602c4d16ca618298c526f4bec1e", + "sha256:bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23" ], "markers": "python_version < '3.11'", - "version": "==1.0.4" + "version": "==1.1.0" }, "flake8": { "hashes": [ @@ -503,26 +596,27 @@ }, "importlib-metadata": { "hashes": [ - "sha256:d5059f9f1e8e41f80e9c56c2ee58811450c31984dfa625329ffd7c0dad88a73b", - "sha256:d84d17e21670ec07990e1044a99efe8d615d860fd176fc29ef5c306068fda313" + "sha256:7efb448ec9a5e313a57655d35aa54cd3e01b7e1fbcf72dce1bf06119420f5bad", + "sha256:e354bedeb60efa6affdcc8ae121b73544a7aa74156d047311948f6d711cd378d" ], "markers": "python_version >= '3.7'", - "version": "==5.1.0" + "version": "==6.0.0" }, "iniconfig": { "hashes": [ - "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3", - "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32" + "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", + "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" ], - "version": "==1.1.1" + "markers": "python_version >= '3.7'", + "version": "==2.0.0" }, "isort": { "hashes": [ - "sha256:83155ffa936239d986b0f190347a3f2285f42a9b9e1725c89d865b27dd0627e5", - "sha256:a8ca25fbfad0f7d5d8447a4314837298d9f6b23aed8618584c894574f626b64b" + "sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504", + "sha256:f84c2818376e66cf843d497486ea8fed8700b340f308f076c6fb1229dff318b6" ], - "markers": "python_full_version >= '3.7.0'", - "version": "==5.11.3" + "markers": "python_full_version >= '3.8.0'", + "version": "==5.12.0" }, "jaraco.classes": { "hashes": [ @@ -542,82 +636,117 @@ }, "keyring": { "hashes": [ - "sha256:3dd30011d555f1345dec2c262f0153f2f0ca6bca041fb1dc4588349bb4c0ac1e", - "sha256:ad192263e2cdd5f12875dedc2da13534359a7e760e77f8d04b50968a821c2361" + "sha256:771ed2a91909389ed6148631de678f82ddc73737d85a927f382a8a1b157898cd", + "sha256:ba2e15a9b35e21908d0aaf4e0a47acc52d6ae33444df0da2b49d41a46ef6d678" ], "markers": "python_version >= '3.7'", - "version": "==23.11.0" + "version": "==23.13.1" }, "lazy-object-proxy": { "hashes": [ - "sha256:0c1c7c0433154bb7c54185714c6929acc0ba04ee1b167314a779b9025517eada", - "sha256:14010b49a2f56ec4943b6cf925f597b534ee2fe1f0738c84b3bce0c1a11ff10d", - "sha256:4e2d9f764f1befd8bdc97673261b8bb888764dfdbd7a4d8f55e4fbcabb8c3fb7", - "sha256:4fd031589121ad46e293629b39604031d354043bb5cdf83da4e93c2d7f3389fe", - "sha256:5b51d6f3bfeb289dfd4e95de2ecd464cd51982fe6f00e2be1d0bf94864d58acd", - "sha256:6850e4aeca6d0df35bb06e05c8b934ff7c533734eb51d0ceb2d63696f1e6030c", - "sha256:6f593f26c470a379cf7f5bc6db6b5f1722353e7bf937b8d0d0b3fba911998858", - "sha256:71d9ae8a82203511a6f60ca5a1b9f8ad201cac0fc75038b2dc5fa519589c9288", - "sha256:7e1561626c49cb394268edd00501b289053a652ed762c58e1081224c8d881cec", - "sha256:8f6ce2118a90efa7f62dd38c7dbfffd42f468b180287b748626293bf12ed468f", - "sha256:ae032743794fba4d171b5b67310d69176287b5bf82a21f588282406a79498891", - "sha256:afcaa24e48bb23b3be31e329deb3f1858f1f1df86aea3d70cb5c8578bfe5261c", - "sha256:b70d6e7a332eb0217e7872a73926ad4fdc14f846e85ad6749ad111084e76df25", - "sha256:c219a00245af0f6fa4e95901ed28044544f50152840c5b6a3e7b2568db34d156", - "sha256:ce58b2b3734c73e68f0e30e4e725264d4d6be95818ec0a0be4bb6bf9a7e79aa8", - "sha256:d176f392dbbdaacccf15919c77f526edf11a34aece58b55ab58539807b85436f", - "sha256:e20bfa6db17a39c706d24f82df8352488d2943a3b7ce7d4c22579cb89ca8896e", - "sha256:eac3a9a5ef13b332c059772fd40b4b1c3d45a3a2b05e33a361dee48e54a4dad0", - "sha256:eb329f8d8145379bf5dbe722182410fe8863d186e51bf034d2075eb8d85ee25b" + "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382", + "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82", + "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9", + "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494", + "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46", + "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30", + "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63", + "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4", + "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae", + "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be", + "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701", + "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd", + "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006", + "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a", + "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586", + "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8", + "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821", + "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07", + "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b", + "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171", + "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b", + "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2", + "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7", + "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4", + "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8", + "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e", + "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f", + "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda", + "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4", + "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e", + "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671", + "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11", + "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455", + "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734", + "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb", + "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59" + ], + "markers": "python_version >= '3.7'", + "version": "==1.9.0" + }, + "markdown-it-py": { + "hashes": [ + "sha256:93de681e5c021a432c63147656fe21790bc01231e0cd2da73626f1aa3ac0fe27", + "sha256:cf7e59fed14b5ae17c0006eff14a2d9a00ed5f3a846148153899a0224e2c07da" ], "markers": "python_version >= '3.7'", - "version": "==1.8.0" + "version": "==2.1.0" }, "markupsafe": { "hashes": [ - "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003", - "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88", - "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5", - "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7", - "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a", - "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603", - "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1", - "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135", - "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247", - "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6", - "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601", - "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77", - "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02", - "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e", - "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63", - "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f", - "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980", - "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b", - "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812", - "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff", - "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96", - "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1", - "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925", - "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a", - "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6", - "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e", - "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f", - "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4", - "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f", - "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3", - "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c", - "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a", - "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417", - "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a", - "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a", - "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37", - "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452", - "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933", - "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a", - "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7" + "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed", + "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc", + "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2", + "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460", + "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7", + "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0", + "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1", + "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa", + "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03", + "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323", + "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65", + "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013", + "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036", + "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f", + "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4", + "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419", + "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2", + "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619", + "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a", + "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a", + "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd", + "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7", + "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666", + "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65", + "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859", + "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625", + "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff", + "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156", + "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd", + "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba", + "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f", + "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1", + "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094", + "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a", + "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513", + "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed", + "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d", + "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3", + "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147", + "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c", + "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603", + "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601", + "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a", + "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1", + "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d", + "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3", + "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54", + "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2", + "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6", + "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58" ], "markers": "python_version >= '3.7'", - "version": "==2.1.1" + "version": "==2.1.2" }, "mccabe": { "hashes": [ @@ -627,6 +756,14 @@ "markers": "python_version >= '3.6'", "version": "==0.7.0" }, + "mdurl": { + "hashes": [ + "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", + "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" + ], + "markers": "python_version >= '3.7'", + "version": "==0.1.2" + }, "more-itertools": { "hashes": [ "sha256:250e83d7e81d0c87ca6bd942e6aeab8cc9daa6096d12c5308f3f92fa5e5c1f41", @@ -637,50 +774,51 @@ }, "mypy-extensions": { "hashes": [ - "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d", - "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8" + "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", + "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782" ], - "version": "==0.4.3" + "markers": "python_version >= '3.5'", + "version": "==1.0.0" }, "packaging": { "hashes": [ - "sha256:2198ec20bd4c017b8f9717e00f0c8714076fc2fd93816750ab48e2c41de2cfd3", - "sha256:957e2148ba0e1a3b282772e791ef1d8083648bc131c8ab0c1feba110ce1146c3" + "sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2", + "sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97" ], "markers": "python_version >= '3.7'", - "version": "==22.0" + "version": "==23.0" }, "pathspec": { "hashes": [ - "sha256:3c95343af8b756205e2aba76e843ba9520a24dd84f68c22b9f93251507509dd6", - "sha256:56200de4077d9d0791465aa9095a01d421861e405b5096955051deefd697d6f6" + "sha256:3a66eb970cbac598f9e5ccb5b2cf58930cd8e3ed86d393d541eaf2d8b1705229", + "sha256:64d338d4e0914e91c1792321e6907b5a593f1ab1851de7fc269557a21b30ebbc" ], "markers": "python_version >= '3.7'", - "version": "==0.10.3" + "version": "==0.11.0" }, "pbr": { "hashes": [ - "sha256:b97bc6695b2aff02144133c2e7399d5885223d42b7912ffaec2ca3898e673bfe", - "sha256:db2317ff07c84c4c63648c9064a79fe9d9f5c7ce85a9099d4b6258b3db83225a" + "sha256:567f09558bae2b3ab53cb3c1e2e33e726ff3338e7bae3db5dc954b3a44eef12b", + "sha256:aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3" ], "markers": "python_version >= '2.6'", - "version": "==5.11.0" + "version": "==5.11.1" }, "pkginfo": { "hashes": [ - "sha256:ac03e37e4d601aaee40f8087f63fc4a2a6c9814dda2c8fa6aab1b1829653bdfa", - "sha256:d580059503f2f4549ad6e4c106d7437356dbd430e2c7df99ee1efe03d75f691e" + "sha256:4b7a555a6d5a22169fcc9cf7bfd78d296b0361adad412a346c1226849af5e546", + "sha256:8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046" ], "markers": "python_version >= '3.6'", - "version": "==1.9.2" + "version": "==1.9.6" }, "platformdirs": { "hashes": [ - "sha256:1a89a12377800c81983db6be069ec068eee989748799b946cce2a6e80dcc54ca", - "sha256:b46ffafa316e6b83b47489d240ce17173f123a9b9c83282141c3daf26ad9ac2e" + "sha256:83c8f6d04389165de7c9b6f0c682439697887bca0aa2f1c87ef1826be3584490", + "sha256:e1fea1fe471b9ff8332e229df3cb7de4f53eeea4998d3b6bfff542115e998bd2" ], "markers": "python_version >= '3.7'", - "version": "==2.6.0" + "version": "==2.6.2" }, "pluggy": { "hashes": [ @@ -708,11 +846,11 @@ }, "pygments": { "hashes": [ - "sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1", - "sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42" + "sha256:b3ed06a9e8ac9a9aae5a6f5dbe78a8a58655d17b43b93c078f094ddc476ae297", + "sha256:fa7bd7bd2771287c0de303af8bfdfc731f51bd2c6a47ab69d117138893b82717" ], "markers": "python_version >= '3.6'", - "version": "==2.13.0" + "version": "==2.14.0" }, "pylint": { "hashes": [ @@ -724,11 +862,11 @@ }, "pytest": { "hashes": [ - "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71", - "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59" + "sha256:c7c6ca206e93355074ae32f7403e8ea12163b1163c976fee7d4d84027c162be5", + "sha256:d45e0952f3727241918b8fd0f376f5ff6b301cc0777c6f9a556935c92d8a7d42" ], "index": "pypi", - "version": "==7.2.0" + "version": "==7.2.1" }, "pytest-cov": { "hashes": [ @@ -740,11 +878,11 @@ }, "pytz": { "hashes": [ - "sha256:222439474e9c98fced559f1709d89e6c9cbf8d79c794ff3eb9f8800064291427", - "sha256:e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2" + "sha256:01a0681c4b9684a28304615eba55d1ab31ae00bf68ec157ec3708a8182dbbcd0", + "sha256:78f4f37d8198e0627c5f1143240bb0206b8691d8d7ac6d78fee88b78733f8c4a" ], "index": "pypi", - "version": "==2022.6" + "version": "==2022.7.1" }, "pywin32-ctypes": { "hashes": [ @@ -810,11 +948,11 @@ }, "requests": { "hashes": [ - "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983", - "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349" + "sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa", + "sha256:98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf" ], "markers": "python_version >= '3.7' and python_version < '4'", - "version": "==2.28.1" + "version": "==2.28.2" }, "requests-toolbelt": { "hashes": [ @@ -840,19 +978,19 @@ }, "rich": { "hashes": [ - "sha256:a4eb26484f2c82589bd9a17c73d32a010b1e29d89f1604cd9bf3a2097b81bb5e", - "sha256:ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0" + "sha256:125d96d20c92b946b983d0d392b84ff945461e5a06d3867e9f9e575f8697b67f", + "sha256:8aa57747f3fc3e977684f0176a88e789be314a99f99b43b75d1e9cb5dc6db9e9" ], - "markers": "python_full_version >= '3.6.3' and python_full_version < '4.0.0'", - "version": "==12.6.0" + "markers": "python_full_version >= '3.7.0'", + "version": "==13.3.1" }, "setuptools": { "hashes": [ - "sha256:57f6f22bde4e042978bcd50176fdb381d7c21a9efa4041202288d3737a0c6a54", - "sha256:a7620757bf984b58deaf32fc8a4577a9bbc0850cf92c20e1ce41c38c19e5fb75" + "sha256:a7687c12b444eaac951ea87a9627c4f904ac757e7abdc5aac32833234af90378", + "sha256:e261cdf010c11a41cb5cb5f1bf3338a7433832029f559a6a7614bd42a967c300" ], "markers": "python_version >= '3.7'", - "version": "==65.6.3" + "version": "==67.1.0" }, "six": { "hashes": [ @@ -871,19 +1009,19 @@ }, "sphinx": { "hashes": [ - "sha256:1efbeeb409a2c1a52a9d0eba2ad630cb7b386f0e9a19b45c61745d991f9fd740", - "sha256:5d0ace63928aa6a36584288fb2702df9182e17c33f21a74a7e008d70eefaf156" + "sha256:0dac3b698538ffef41716cf97ba26c1c7788dba73ce6f150c1ff5b4720786dd2", + "sha256:807d1cb3d6be87eb78a381c3e70ebd8d346b9a25f3753e9947e866b2786865fc" ], "index": "pypi", - "version": "==6.0.0b2" + "version": "==6.1.3" }, "sphinxcontrib-applehelp": { "hashes": [ - "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a", - "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58" + "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228", + "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e" ], - "markers": "python_version >= '3.5'", - "version": "==1.0.2" + "markers": "python_version >= '3.8'", + "version": "==1.0.4" }, "sphinxcontrib-devhelp": { "hashes": [ @@ -895,11 +1033,11 @@ }, "sphinxcontrib-htmlhelp": { "hashes": [ - "sha256:d412243dfb797ae3ec2b59eca0e52dac12e75a241bf0e4eb861e450d06c6ed07", - "sha256:f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2" + "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff", + "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903" ], - "markers": "python_version >= '3.6'", - "version": "==2.0.0" + "markers": "python_version >= '3.8'", + "version": "==2.0.1" }, "sphinxcontrib-jsmath": { "hashes": [ @@ -938,7 +1076,7 @@ "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" ], - "markers": "python_full_version < '3.11.0a7'", + "markers": "python_version < '3.11'", "version": "==2.0.1" }, "tomlkit": { @@ -959,11 +1097,11 @@ }, "urllib3": { "hashes": [ - "sha256:47cc05d99aaa09c9e72ed5809b60e7ba354e64b59c9c173ac3018642d8bb41fc", - "sha256:c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8" + "sha256:076907bf8fd355cde77728471316625a4d2f7e713c125f51953bb5b3eecf4f72", + "sha256:75edcdc2f7d85b137124a6c3c9fc3933cdeaa12ecb9a6a959f22797a0feca7e1" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", - "version": "==1.26.13" + "version": "==1.26.14" }, "webencodings": { "hashes": [ @@ -1044,11 +1182,11 @@ }, "zipp": { "hashes": [ - "sha256:83a28fcb75844b5c0cdaf5aa4003c2d728c77e05f5aeabe8e95e56727005fbaa", - "sha256:a7a22e05929290a67401440b39690ae6563279bced5f314609d9d03798f56766" + "sha256:73efd63936398aac78fd92b6f4865190119d6c91b531532e798977ea8dd402eb", + "sha256:9eb0a4c5feab9b08871db0d672745b53450d7f26992fd1e4653aa43345e97b86" ], "markers": "python_version >= '3.7'", - "version": "==3.11.0" + "version": "==3.12.0" } } } diff --git a/docs/tutorials/piaf.rst b/docs/tutorials/piaf.rst index e8aacfde..3900a6df 100644 --- a/docs/tutorials/piaf.rst +++ b/docs/tutorials/piaf.rst @@ -82,6 +82,27 @@ the latter element could be accessed directly as follows: use either raw strings (using the `r` prefix, as in the example above) or escape each backslash as `\\\\\\\\`. +.. _finding_attributes: + +************************************ +Searching attributes based on full path +************************************ + +To get the direct attribute based on the entire element/attributes path +you can use the :any:`PIAFDatabase.search` method. You can provide a single string or list of strings with +the full path and returns a list of attribute objects. + +.. code-block:: python + + import PIconnect as PI + + with PI.PIAFDatabase() as database: + attributes = database.search([r"Plant1\Outlet|Flow|PV", r"Plant1\Outlet|Flow|SP"]) + +.. note:: Elements in the hierarchy are separated by a single backslash `\\`, + use either raw strings (using the `r` prefix, as in the example + above) or escape each backslash as `\\\\\\\\`. + .. _connect_piaf_database: **************************************** diff --git a/requirements.txt b/requirements.txt index 15857392..0dbb3b1a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,12 +1,24 @@ --i https://pypi.org/simple -cffi==1.15.1 -clr-loader==0.2.4 ; python_version >= '3.7' -numpy==1.24.0rc2 ; python_version >= '3.10' -pandas==1.5.2 --e . -pycparser==2.21 -python-dateutil==2.8.2 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' -pythonnet==3.0.1 -pytz==2022.6 -six==1.16.0 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' -wrapt==1.14.1 +-i https://pypi.org/simple + +cffi==1.15.1 + +clr-loader==0.2.5 ; python_version >= '3.7' + +numpy==1.24.1 ; python_version >= '3.10' + +pandas==1.5.2 + +-e . + +pycparser==2.21 + +python-dateutil==2.8.2 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' + +pythonnet==3.0.1 + +pytz==2022.7.1 + +six==1.16.0 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' + +wrapt==1.14.1 + diff --git a/requirements_dev.txt b/requirements_dev.txt index 91c2fbef..e8c2580a 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -1,80 +1,162 @@ --i https://pypi.org/simple -alabaster==0.7.12 -astroid==2.11.7 ; python_full_version >= '3.6.2' -attrs==22.1.0 ; python_version >= '3.5' -babel==2.11.0 ; python_version >= '3.6' -black==22.12.0 -bleach==5.0.1 ; python_version >= '3.7' -certifi==2022.12.7 ; python_version >= '3.6' -charset-normalizer==2.1.1 ; python_full_version >= '3.6.0' -click==8.1.3 ; python_version >= '3.7' -codacy-coverage==1.3.11 -codecov==2.1.12 -colorama==0.4.6 ; sys_platform == 'win32' -commonmark==0.9.1 -coverage==7.0.0b1 -dill==0.3.6 ; python_version >= '3.7' -doc8==1.0.0 -docutils==0.19 ; python_version >= '3.7' -exceptiongroup==1.0.4 ; python_version < '3.11' -flake8==6.0.0 -idna==3.4 ; python_version >= '3.5' -imagesize==1.4.1 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' -importlib-metadata==5.1.0 ; python_version >= '3.7' -iniconfig==1.1.1 -isort==5.11.3 ; python_full_version >= '3.7.0' -jaraco.classes==3.2.3 ; python_version >= '3.7' -jinja2==3.1.2 ; python_version >= '3.7' -keyring==23.11.0 ; python_version >= '3.7' -lazy-object-proxy==1.8.0 ; python_version >= '3.7' -markupsafe==2.1.1 ; python_version >= '3.7' -mccabe==0.7.0 ; python_version >= '3.6' -more-itertools==9.0.0 ; python_version >= '3.7' -mypy-extensions==0.4.3 -packaging==22.0 ; python_version >= '3.7' -pathspec==0.10.3 ; python_version >= '3.7' -pbr==5.11.0 ; python_version >= '2.6' -pkginfo==1.9.2 ; python_version >= '3.6' -platformdirs==2.6.0 ; python_version >= '3.7' -pluggy==1.0.0 ; python_version >= '3.6' -pycodestyle==2.10.0 ; python_version >= '3.6' -pyflakes==3.0.1 ; python_version >= '3.6' -pygments==2.13.0 ; python_version >= '3.6' -pylint==3.0.0a5 -pytest==7.2.0 -pytest-cov==4.0.0 -pytz==2022.6 -pywin32-ctypes==0.2.0 ; sys_platform == 'win32' -pyyaml==6.0 -readme-renderer==37.3 ; python_version >= '3.7' -requests==2.28.1 ; python_version >= '3.7' and python_version < '4' -requests-toolbelt==0.10.1 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' -restructuredtext-lint==1.4.0 -rfc3986==2.0.0 ; python_version >= '3.7' -rich==12.6.0 ; python_full_version >= '3.6.3' and python_full_version < '4.0.0' -setuptools==65.6.3 ; python_version >= '3.7' -six==1.16.0 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' -snowballstemmer==2.2.0 -sphinx==6.0.0b2 -sphinxcontrib-applehelp==1.0.2 ; python_version >= '3.5' -sphinxcontrib-devhelp==1.0.2 ; python_version >= '3.5' -sphinxcontrib-htmlhelp==2.0.0 ; python_version >= '3.6' -sphinxcontrib-jsmath==1.0.1 ; python_version >= '3.5' -sphinxcontrib-qthelp==1.0.3 ; python_version >= '3.5' -sphinxcontrib-serializinghtml==1.1.5 ; python_version >= '3.5' -stevedore==4.1.1 ; python_version >= '3.8' -tomli==2.0.1 ; python_full_version < '3.11.0a7' -tomlkit==0.11.6 ; python_version >= '3.6' -twine==4.0.2 -urllib3==1.26.13 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' -webencodings==0.5.1 -wrapt==1.14.1 -zipp==3.11.0 ; python_version >= '3.7' -cffi==1.15.1 -clr-loader==0.2.4 ; python_version >= '3.7' -numpy==1.24.0rc2 ; python_version >= '3.10' -pandas==1.5.2 --e . -pycparser==2.21 -python-dateutil==2.8.2 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' -pythonnet==3.0.1 +-i https://pypi.org/simple + +alabaster==0.7.13 ; python_version >= '3.6' + +astroid==2.11.7 ; python_full_version >= '3.6.2' + +attrs==22.2.0 ; python_version >= '3.6' + +babel==2.11.0 ; python_version >= '3.6' + +black==23.1.0 + +bleach==6.0.0 ; python_version >= '3.7' + +certifi==2022.12.7 ; python_version >= '3.6' + +charset-normalizer==3.0.1 ; python_full_version >= '3.6.0' + +click==8.1.3 ; python_version >= '3.7' + +codacy-coverage==1.3.11 + +codecov==2.1.12 + +colorama==0.4.6 ; sys_platform == 'win32' + +coverage==7.1.0 + +dill==0.3.6 ; python_version >= '3.7' + +doc8==1.1.1 + +docutils==0.19 ; python_version >= '3.7' + +exceptiongroup==1.1.0 ; python_version < '3.11' + +flake8==6.0.0 + +idna==3.4 ; python_version >= '3.5' + +imagesize==1.4.1 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' + +importlib-metadata==6.0.0 ; python_version >= '3.7' + +iniconfig==2.0.0 ; python_version >= '3.7' + +isort==5.12.0 ; python_full_version >= '3.8.0' + +jaraco.classes==3.2.3 ; python_version >= '3.7' + +jinja2==3.1.2 ; python_version >= '3.7' + +keyring==23.13.1 ; python_version >= '3.7' + +lazy-object-proxy==1.9.0 ; python_version >= '3.7' + +markdown-it-py==2.1.0 ; python_version >= '3.7' + +markupsafe==2.1.2 ; python_version >= '3.7' + +mccabe==0.7.0 ; python_version >= '3.6' + +mdurl==0.1.2 ; python_version >= '3.7' + +more-itertools==9.0.0 ; python_version >= '3.7' + +mypy-extensions==1.0.0 ; python_version >= '3.5' + +packaging==23.0 ; python_version >= '3.7' + +pathspec==0.11.0 ; python_version >= '3.7' + +pbr==5.11.1 ; python_version >= '2.6' + +pkginfo==1.9.6 ; python_version >= '3.6' + +platformdirs==2.6.2 ; python_version >= '3.7' + +pluggy==1.0.0 ; python_version >= '3.6' + +pycodestyle==2.10.0 ; python_version >= '3.6' + +pyflakes==3.0.1 ; python_version >= '3.6' + +pygments==2.14.0 ; python_version >= '3.6' + +pylint==3.0.0a5 + +pytest==7.2.1 + +pytest-cov==4.0.0 + +pytz==2022.7.1 + +pywin32-ctypes==0.2.0 ; sys_platform == 'win32' + +pyyaml==6.0 + +readme-renderer==37.3 ; python_version >= '3.7' + +requests==2.28.2 ; python_version >= '3.7' and python_version < '4' + +requests-toolbelt==0.10.1 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' + +restructuredtext-lint==1.4.0 + +rfc3986==2.0.0 ; python_version >= '3.7' + +rich==13.3.1 ; python_full_version >= '3.7.0' + +setuptools==67.1.0 ; python_version >= '3.7' + +six==1.16.0 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' + +snowballstemmer==2.2.0 + +sphinx==6.1.3 + +sphinxcontrib-applehelp==1.0.4 ; python_version >= '3.8' + +sphinxcontrib-devhelp==1.0.2 ; python_version >= '3.5' + +sphinxcontrib-htmlhelp==2.0.1 ; python_version >= '3.8' + +sphinxcontrib-jsmath==1.0.1 ; python_version >= '3.5' + +sphinxcontrib-qthelp==1.0.3 ; python_version >= '3.5' + +sphinxcontrib-serializinghtml==1.1.5 ; python_version >= '3.5' + +stevedore==4.1.1 ; python_version >= '3.8' + +tomli==2.0.1 ; python_version < '3.11' + +tomlkit==0.11.6 ; python_version >= '3.6' + +twine==4.0.2 + +urllib3==1.26.14 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' + +webencodings==0.5.1 + +wrapt==1.14.1 + +zipp==3.12.0 ; python_version >= '3.7' + +cffi==1.15.1 + +clr-loader==0.2.5 ; python_version >= '3.7' + +numpy==1.24.1 ; python_version >= '3.10' + +pandas==1.5.2 + +-e . + +pycparser==2.21 + +python-dateutil==2.8.2 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' + +pythonnet==3.0.1 + diff --git a/setup.cfg b/setup.cfg index f17bb0aa..36e13617 100644 --- a/setup.cfg +++ b/setup.cfg @@ -35,10 +35,10 @@ packages = PIconnect PIconnect._typing install_requires = - pandas - wrapt - pytz - pythonnet + pandas==1.5.2 + wrapt==1.14.1 + pytz==2022.7.1 + pythonnet==3.0.1 python_requires = >= 3.8 include_package_data = True zip_safe=False diff --git a/tests/test_PIAF.py b/tests/test_PIAF.py index b353d448..615fa362 100644 --- a/tests/test_PIAF.py +++ b/tests/test_PIAF.py @@ -1,5 +1,5 @@ """Test communication with the PI AF system""" -from typing import cast +from typing import cast, List import pytest import PIconnect as PI @@ -49,3 +49,13 @@ def test_children(self): with PI.PIAFDatabase() as db: children = db.children assert isinstance(children, dict) + + +class TestDatabaseSearch: + """Test retrieving attributes""" + + def test_search(self): + """Test that calling attributes on the database returns a list of attributes""" + with PI.PIAFDatabase() as db: + attributes = db.search([r'', r'']) + assert isinstance(attributes, list)