Browse Source

upgrade black

Fabian Peter Hammerle 3 years ago
parent
commit
f1ad48b79d

+ 1 - 1
.githooks/pre-commit

@@ -2,7 +2,7 @@
 
 set -ex
 
-pipenv clean
+pipenv clean || (echo 'pipenv bug?'; pipenv --rm)
 pipenv sync --dev
 pipenv run pytest --doctest-modules
 pipenv run pipenv run black --check .

+ 5 - 1
Pipfile

@@ -7,9 +7,13 @@ name = "pypi"
 symuid = {editable = true, path = "."}
 
 [dev-packages]
-black = "==19.10b0"
+# black requires python>=3.6
+# https://github.com/psf/black/commit/e74117f172e29e8a980e2c9de929ad50d3769150#diff-2eeaed663bd0d25b7e608891384b7298R51
+black = {version = "==20.8b1", markers = "python_version >= '3.6'"}
 pylint = "*"
 pytest = "*"
 
 [requires]
 python_version = "3"
+
+# Pipfile syntax: https://github.com/pypa/pipfile#pipfile

+ 143 - 118
Pipfile.lock

@@ -1,7 +1,7 @@
 {
     "_meta": {
         "hash": {
-            "sha256": "b7d460f42a3d7b333f360a364ccbaf8184d8737a94b24a51469ec4aab85261f5"
+            "sha256": "465976710f1a39e1d6a914135adacef46973a8fe35b957ad817179869cc5f143"
         },
         "pipfile-spec": 6,
         "requires": {
@@ -18,9 +18,10 @@
     "default": {
         "mutagen": {
             "hashes": [
-                "sha256:bb61e2456f59a9a4a259fbc08def6d01ba45a42da8eeaa97d00633b0ec5de71c"
+                "sha256:6397602efb3c2d7baebd2166ed85731ae1c1d475abca22090b7141ff5034b3e1",
+                "sha256:9c9f243fcec7f410f138cb12c21c84c64fde4195481a30c9bfb05b5f003adfed"
             ],
-            "version": "==1.42.0"
+            "version": "==1.45.1"
         },
         "python-dateutil": {
             "hashes": [
@@ -31,17 +32,17 @@
         },
         "pytz": {
             "hashes": [
-                "sha256:1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d",
-                "sha256:b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be"
+                "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da",
+                "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798"
             ],
-            "version": "==2019.3"
+            "version": "==2021.1"
         },
         "six": {
             "hashes": [
-                "sha256:1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd",
-                "sha256:30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"
+                "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259",
+                "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"
             ],
-            "version": "==1.13.0"
+            "version": "==1.15.0"
         },
         "symuid": {
             "editable": true,
@@ -51,61 +52,53 @@
     "develop": {
         "appdirs": {
             "hashes": [
-                "sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92",
-                "sha256:d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e"
+                "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41",
+                "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"
             ],
-            "version": "==1.4.3"
+            "version": "==1.4.4"
         },
         "astroid": {
             "hashes": [
-                "sha256:71ea07f44df9568a75d0f354c49143a4575d90645e9fead6dfb52c26a85ed13a",
-                "sha256:840947ebfa8b58f318d42301cf8c0a20fd794a33b61cc4638e28e9e61ba32f42"
-            ],
-            "version": "==2.3.3"
-        },
-        "atomicwrites": {
-            "hashes": [
-                "sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4",
-                "sha256:75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"
+                "sha256:2f4078c2a41bf377eea06d71c9d2ba4eb8f6b1af2135bec27bbbb7d8f12bb703",
+                "sha256:bc58d83eb610252fd8de6363e39d4f1d0619c894b0ed24603b881c02e64c7386"
             ],
-            "version": "==1.3.0"
+            "version": "==2.4.2"
         },
         "attrs": {
             "hashes": [
-                "sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c",
-                "sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"
+                "sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6",
+                "sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700"
             ],
-            "version": "==19.3.0"
+            "version": "==20.3.0"
         },
         "black": {
             "hashes": [
-                "sha256:1b30e59be925fafc1ee4565e5e08abef6b03fe455102883820fe5ee2e4734e0b",
-                "sha256:c2edb73a08e9e0e6f65a0e6af18b059b8b1cdd5bef997d7a0b181df93dc81539"
+                "sha256:1c02557aa099101b9d21496f8a914e9ed2222ef70336404eeeac8edba836fbea"
             ],
             "index": "pypi",
-            "version": "==19.10b0"
+            "markers": "python_version >= '3.6'",
+            "version": "==20.8b1"
         },
         "click": {
             "hashes": [
-                "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13",
-                "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"
+                "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a",
+                "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"
             ],
-            "version": "==7.0"
+            "version": "==7.1.2"
         },
-        "importlib-metadata": {
+        "iniconfig": {
             "hashes": [
-                "sha256:aa18d7378b00b40847790e7c27e11673d7fed219354109d0e7b9e5b25dc3ad26",
-                "sha256:d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af"
+                "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3",
+                "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"
             ],
-            "markers": "python_version < '3.8'",
-            "version": "==0.23"
+            "version": "==1.1.1"
         },
         "isort": {
             "hashes": [
-                "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1",
-                "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"
+                "sha256:c729845434366216d320e936b8ad6f9d681aab72dc7cbc2d51bedc3582f3ad1e",
+                "sha256:fff4f0c04e1825522ce6949973e83110a6e907750cd92d128b0d14aaaadbffdc"
             ],
-            "version": "==4.3.21"
+            "version": "==5.7.0"
         },
         "lazy-object-proxy": {
             "hashes": [
@@ -140,140 +133,172 @@
             ],
             "version": "==0.6.1"
         },
-        "more-itertools": {
+        "mypy-extensions": {
             "hashes": [
-                "sha256:409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832",
-                "sha256:92b8c4b06dac4f0611c0729b2f2ede52b2e1bac1ab48f089c7ddc12e26bb60c4"
+                "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d",
+                "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"
             ],
-            "version": "==7.2.0"
+            "version": "==0.4.3"
         },
         "packaging": {
             "hashes": [
-                "sha256:28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47",
-                "sha256:d9551545c6d761f3def1677baf08ab2a3ca17c56879e70fecba2fc4dde4ed108"
+                "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5",
+                "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a"
             ],
-            "version": "==19.2"
+            "version": "==20.9"
         },
         "pathspec": {
             "hashes": [
-                "sha256:e285ccc8b0785beadd4c18e5708b12bb8fcf529a1e61215b3feff1d1e559ea5c"
+                "sha256:86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd",
+                "sha256:aa0cb481c4041bf52ffa7b0d8fa6cd3e88a2ca4879c533c9153882ee2556790d"
             ],
-            "version": "==0.6.0"
+            "version": "==0.8.1"
         },
         "pluggy": {
             "hashes": [
-                "sha256:0db4b7601aae1d35b4a033282da476845aa19185c1e6964b25cf324b5e4ec3e6",
-                "sha256:fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34"
+                "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0",
+                "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"
             ],
-            "version": "==0.13.0"
+            "version": "==0.13.1"
         },
         "py": {
             "hashes": [
-                "sha256:64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa",
-                "sha256:dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53"
+                "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3",
+                "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a"
             ],
-            "version": "==1.8.0"
+            "version": "==1.10.0"
         },
         "pylint": {
             "hashes": [
-                "sha256:7b76045426c650d2b0f02fc47c14d7934d17898779da95288a74c2a7ec440702",
-                "sha256:856476331f3e26598017290fd65bebe81c960e806776f324093a46b76fb2d1c0"
+                "sha256:bb4a908c9dadbc3aac18860550e870f58e1a02c9f2c204fdf5693d73be061210",
+                "sha256:bfe68f020f8a0fece830a22dd4d5dddb4ecc6137db04face4c3420a46a52239f"
             ],
             "index": "pypi",
-            "version": "==2.4.3"
+            "version": "==2.6.0"
         },
         "pyparsing": {
             "hashes": [
-                "sha256:20f995ecd72f2a1f4bf6b072b63b22e2eb457836601e76d6e5dfcd75436acc1f",
-                "sha256:4ca62001be367f01bd3e92ecbb79070272a9d4964dce6a48a82ff0b8bc7e683a"
+                "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1",
+                "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"
             ],
-            "version": "==2.4.5"
+            "version": "==2.4.7"
         },
         "pytest": {
             "hashes": [
-                "sha256:27abc3fef618a01bebb1f0d6d303d2816a99aa87a5968ebc32fe971be91eb1e6",
-                "sha256:58cee9e09242937e136dbb3dab466116ba20d6b7828c7620f23947f37eb4dae4"
+                "sha256:9d1edf9e7d0b84d72ea3dbcdfd22b35fb543a5e8f2a60092dd578936bf63d7f9",
+                "sha256:b574b57423e818210672e07ca1fa90aaf194a4f63f3ab909a2c67ebb22913839"
             ],
             "index": "pypi",
-            "version": "==5.2.2"
+            "version": "==6.2.2"
         },
         "regex": {
             "hashes": [
-                "sha256:15454b37c5a278f46f7aa2d9339bda450c300617ca2fca6558d05d870245edc7",
-                "sha256:1ad40708c255943a227e778b022c6497c129ad614bb7a2a2f916e12e8a359ee7",
-                "sha256:5e00f65cc507d13ab4dfa92c1232d004fa202c1d43a32a13940ab8a5afe2fb96",
-                "sha256:604dc563a02a74d70ae1f55208ddc9bfb6d9f470f6d1a5054c4bd5ae58744ab1",
-                "sha256:720e34a539a76a1fedcebe4397290604cc2bdf6f81eca44adb9fb2ea071c0c69",
-                "sha256:7caf47e4a9ac6ef08cabd3442cc4ca3386db141fb3c8b2a7e202d0470028e910",
-                "sha256:7faf534c1841c09d8fefa60ccde7b9903c9b528853ecf41628689793290ca143",
-                "sha256:b4e0406d822aa4993ac45072a584d57aa4931cf8288b5455bbf30c1d59dbad59",
-                "sha256:c31eaf28c6fe75ea329add0022efeed249e37861c19681960f99bbc7db981fb2",
-                "sha256:c7393597191fc2043c744db021643549061e12abe0b3ff5c429d806de7b93b66",
-                "sha256:d2b302f8cdd82c8f48e9de749d1d17f85ce9a0f082880b9a4859f66b07037dc6",
-                "sha256:e3d8dd0ec0ea280cf89026b0898971f5750a7bd92cb62c51af5a52abd020054a",
-                "sha256:ec032cbfed59bd5a4b8eab943c310acfaaa81394e14f44454ad5c9eba4f24a74"
+                "sha256:02951b7dacb123d8ea6da44fe45ddd084aa6777d4b2454fa0da61d569c6fa538",
+                "sha256:0d08e71e70c0237883d0bef12cad5145b84c3705e9c6a588b2a9c7080e5af2a4",
+                "sha256:1862a9d9194fae76a7aaf0150d5f2a8ec1da89e8b55890b1786b8f88a0f619dc",
+                "sha256:1ab79fcb02b930de09c76d024d279686ec5d532eb814fd0ed1e0051eb8bd2daa",
+                "sha256:1fa7ee9c2a0e30405e21031d07d7ba8617bc590d391adfc2b7f1e8b99f46f444",
+                "sha256:262c6825b309e6485ec2493ffc7e62a13cf13fb2a8b6d212f72bd53ad34118f1",
+                "sha256:2a11a3e90bd9901d70a5b31d7dd85114755a581a5da3fc996abfefa48aee78af",
+                "sha256:2c99e97d388cd0a8d30f7c514d67887d8021541b875baf09791a3baad48bb4f8",
+                "sha256:3128e30d83f2e70b0bed9b2a34e92707d0877e460b402faca908c6667092ada9",
+                "sha256:38c8fd190db64f513fe4e1baa59fed086ae71fa45083b6936b52d34df8f86a88",
+                "sha256:3bddc701bdd1efa0d5264d2649588cbfda549b2899dc8d50417e47a82e1387ba",
+                "sha256:4902e6aa086cbb224241adbc2f06235927d5cdacffb2425c73e6570e8d862364",
+                "sha256:49cae022fa13f09be91b2c880e58e14b6da5d10639ed45ca69b85faf039f7a4e",
+                "sha256:56e01daca75eae420bce184edd8bb341c8eebb19dd3bce7266332258f9fb9dd7",
+                "sha256:5862975b45d451b6db51c2e654990c1820523a5b07100fc6903e9c86575202a0",
+                "sha256:6a8ce43923c518c24a2579fda49f093f1397dad5d18346211e46f134fc624e31",
+                "sha256:6c54ce4b5d61a7129bad5c5dc279e222afd00e721bf92f9ef09e4fae28755683",
+                "sha256:6e4b08c6f8daca7d8f07c8d24e4331ae7953333dbd09c648ed6ebd24db5a10ee",
+                "sha256:717881211f46de3ab130b58ec0908267961fadc06e44f974466d1887f865bd5b",
+                "sha256:749078d1eb89484db5f34b4012092ad14b327944ee7f1c4f74d6279a6e4d1884",
+                "sha256:7913bd25f4ab274ba37bc97ad0e21c31004224ccb02765ad984eef43e04acc6c",
+                "sha256:7a25fcbeae08f96a754b45bdc050e1fb94b95cab046bf56b016c25e9ab127b3e",
+                "sha256:83d6b356e116ca119db8e7c6fc2983289d87b27b3fac238cfe5dca529d884562",
+                "sha256:8b882a78c320478b12ff024e81dc7d43c1462aa4a3341c754ee65d857a521f85",
+                "sha256:8f6a2229e8ad946e36815f2a03386bb8353d4bde368fdf8ca5f0cb97264d3b5c",
+                "sha256:9801c4c1d9ae6a70aeb2128e5b4b68c45d4f0af0d1535500884d644fa9b768c6",
+                "sha256:a15f64ae3a027b64496a71ab1f722355e570c3fac5ba2801cafce846bf5af01d",
+                "sha256:a3d748383762e56337c39ab35c6ed4deb88df5326f97a38946ddd19028ecce6b",
+                "sha256:a63f1a07932c9686d2d416fb295ec2c01ab246e89b4d58e5fa468089cab44b70",
+                "sha256:b2b1a5ddae3677d89b686e5c625fc5547c6e492bd755b520de5332773a8af06b",
+                "sha256:b2f4007bff007c96a173e24dcda236e5e83bde4358a557f9ccf5e014439eae4b",
+                "sha256:baf378ba6151f6e272824b86a774326f692bc2ef4cc5ce8d5bc76e38c813a55f",
+                "sha256:bafb01b4688833e099d79e7efd23f99172f501a15c44f21ea2118681473fdba0",
+                "sha256:bba349276b126947b014e50ab3316c027cac1495992f10e5682dc677b3dfa0c5",
+                "sha256:c084582d4215593f2f1d28b65d2a2f3aceff8342aa85afd7be23a9cad74a0de5",
+                "sha256:d1ebb090a426db66dd80df8ca85adc4abfcbad8a7c2e9a5ec7513ede522e0a8f",
+                "sha256:d2d8ce12b7c12c87e41123997ebaf1a5767a5be3ec545f64675388970f415e2e",
+                "sha256:e32f5f3d1b1c663af7f9c4c1e72e6ffe9a78c03a31e149259f531e0fed826512",
+                "sha256:e3faaf10a0d1e8e23a9b51d1900b72e1635c2d5b0e1bea1c18022486a8e2e52d",
+                "sha256:f7d29a6fc4760300f86ae329e3b6ca28ea9c20823df123a2ea8693e967b29917",
+                "sha256:f8f295db00ef5f8bae530fc39af0b40486ca6068733fb860b42115052206466f"
             ],
-            "version": "==2019.11.1"
+            "version": "==2020.11.13"
         },
         "six": {
             "hashes": [
-                "sha256:1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd",
-                "sha256:30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"
+                "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259",
+                "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"
             ],
-            "version": "==1.13.0"
+            "version": "==1.15.0"
         },
         "toml": {
             "hashes": [
-                "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c",
-                "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e"
+                "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b",
+                "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"
             ],
-            "version": "==0.10.0"
+            "version": "==0.10.2"
         },
         "typed-ast": {
             "hashes": [
-                "sha256:1170afa46a3799e18b4c977777ce137bb53c7485379d9706af8a59f2ea1aa161",
-                "sha256:18511a0b3e7922276346bcb47e2ef9f38fb90fd31cb9223eed42c85d1312344e",
-                "sha256:262c247a82d005e43b5b7f69aff746370538e176131c32dda9cb0f324d27141e",
-                "sha256:2b907eb046d049bcd9892e3076c7a6456c93a25bebfe554e931620c90e6a25b0",
-                "sha256:354c16e5babd09f5cb0ee000d54cfa38401d8b8891eefa878ac772f827181a3c",
-                "sha256:48e5b1e71f25cfdef98b013263a88d7145879fbb2d5185f2a0c79fa7ebbeae47",
-                "sha256:4e0b70c6fc4d010f8107726af5fd37921b666f5b31d9331f0bd24ad9a088e631",
-                "sha256:630968c5cdee51a11c05a30453f8cd65e0cc1d2ad0d9192819df9978984529f4",
-                "sha256:66480f95b8167c9c5c5c87f32cf437d585937970f3fc24386f313a4c97b44e34",
-                "sha256:71211d26ffd12d63a83e079ff258ac9d56a1376a25bc80b1cdcdf601b855b90b",
-                "sha256:7954560051331d003b4e2b3eb822d9dd2e376fa4f6d98fee32f452f52dd6ebb2",
-                "sha256:838997f4310012cf2e1ad3803bce2f3402e9ffb71ded61b5ee22617b3a7f6b6e",
-                "sha256:95bd11af7eafc16e829af2d3df510cecfd4387f6453355188342c3e79a2ec87a",
-                "sha256:bc6c7d3fa1325a0c6613512a093bc2a2a15aeec350451cbdf9e1d4bffe3e3233",
-                "sha256:cc34a6f5b426748a507dd5d1de4c1978f2eb5626d51326e43280941206c209e1",
-                "sha256:d755f03c1e4a51e9b24d899561fec4ccaf51f210d52abdf8c07ee2849b212a36",
-                "sha256:d7c45933b1bdfaf9f36c579671fec15d25b06c8398f113dab64c18ed1adda01d",
-                "sha256:d896919306dd0aa22d0132f62a1b78d11aaf4c9fc5b3410d3c666b818191630a",
-                "sha256:fdc1c9bbf79510b76408840e009ed65958feba92a88833cdceecff93ae8fff66",
-                "sha256:ffde2fbfad571af120fcbfbbc61c72469e72f550d676c3342492a9dfdefb8f12"
+                "sha256:07d49388d5bf7e863f7fa2f124b1b1d89d8aa0e2f7812faff0a5658c01c59aa1",
+                "sha256:14bf1522cdee369e8f5581238edac09150c765ec1cb33615855889cf33dcb92d",
+                "sha256:240296b27397e4e37874abb1df2a608a92df85cf3e2a04d0d4d61055c8305ba6",
+                "sha256:36d829b31ab67d6fcb30e185ec996e1f72b892255a745d3a82138c97d21ed1cd",
+                "sha256:37f48d46d733d57cc70fd5f30572d11ab8ed92da6e6b28e024e4a3edfb456e37",
+                "sha256:4c790331247081ea7c632a76d5b2a265e6d325ecd3179d06e9cf8d46d90dd151",
+                "sha256:5dcfc2e264bd8a1db8b11a892bd1647154ce03eeba94b461effe68790d8b8e07",
+                "sha256:7147e2a76c75f0f64c4319886e7639e490fee87c9d25cb1d4faef1d8cf83a440",
+                "sha256:7703620125e4fb79b64aa52427ec192822e9f45d37d4b6625ab37ef403e1df70",
+                "sha256:8368f83e93c7156ccd40e49a783a6a6850ca25b556c0fa0240ed0f659d2fe496",
+                "sha256:84aa6223d71012c68d577c83f4e7db50d11d6b1399a9c779046d75e24bed74ea",
+                "sha256:85f95aa97a35bdb2f2f7d10ec5bbdac0aeb9dafdaf88e17492da0504de2e6400",
+                "sha256:8db0e856712f79c45956da0c9a40ca4246abc3485ae0d7ecc86a20f5e4c09abc",
+                "sha256:9044ef2df88d7f33692ae3f18d3be63dec69c4fb1b5a4a9ac950f9b4ba571606",
+                "sha256:963c80b583b0661918718b095e02303d8078950b26cc00b5e5ea9ababe0de1fc",
+                "sha256:987f15737aba2ab5f3928c617ccf1ce412e2e321c77ab16ca5a293e7bbffd581",
+                "sha256:9ec45db0c766f196ae629e509f059ff05fc3148f9ffd28f3cfe75d4afb485412",
+                "sha256:9fc0b3cb5d1720e7141d103cf4819aea239f7d136acf9ee4a69b047b7986175a",
+                "sha256:a2c927c49f2029291fbabd673d51a2180038f8cd5a5b2f290f78c4516be48be2",
+                "sha256:a38878a223bdd37c9709d07cd357bb79f4c760b29210e14ad0fb395294583787",
+                "sha256:b4fcdcfa302538f70929eb7b392f536a237cbe2ed9cba88e3bf5027b39f5f77f",
+                "sha256:c0c74e5579af4b977c8b932f40a5464764b2f86681327410aa028a22d2f54937",
+                "sha256:c1c876fd795b36126f773db9cbb393f19808edd2637e00fd6caba0e25f2c7b64",
+                "sha256:c9aadc4924d4b5799112837b226160428524a9a45f830e0d0f184b19e4090487",
+                "sha256:cc7b98bf58167b7f2db91a4327da24fb93368838eb84a44c472283778fc2446b",
+                "sha256:cf54cfa843f297991b7388c281cb3855d911137223c6b6d2dd82a47ae5125a41",
+                "sha256:d003156bb6a59cda9050e983441b7fa2487f7800d76bdc065566b7d728b4581a",
+                "sha256:d175297e9533d8d37437abc14e8a83cbc68af93cc9c1c59c2c292ec59a0697a3",
+                "sha256:d746a437cdbca200622385305aedd9aef68e8a645e385cc483bdc5e488f07166",
+                "sha256:e683e409e5c45d5c9082dc1daf13f6374300806240719f95dc783d1fc942af10"
             ],
-            "markers": "implementation_name == 'cpython' and python_version < '3.8'",
-            "version": "==1.4.0"
+            "version": "==1.4.2"
         },
-        "wcwidth": {
+        "typing-extensions": {
             "hashes": [
-                "sha256:3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e",
-                "sha256:f4ebe71925af7b40a864553f761ed559b43544f8f71746c2d756c7fe788ade7c"
+                "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918",
+                "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c",
+                "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"
             ],
-            "version": "==0.1.7"
+            "version": "==3.7.4.3"
         },
         "wrapt": {
             "hashes": [
-                "sha256:565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1"
-            ],
-            "version": "==1.11.2"
-        },
-        "zipp": {
-            "hashes": [
-                "sha256:3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e",
-                "sha256:f06903e9f1f43b12d371004b4ac7b06ab39a44adc747266928ae6debfa7b3335"
+                "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
             ],
-            "version": "==0.6.0"
+            "version": "==1.12.1"
         }
     }
 }

+ 6 - 2
setup.py

@@ -12,6 +12,10 @@ setuptools.setup(
             "symuid-sync = symuid.sync:_main",
         ],
     },
-    install_requires=["mutagen < 2", "python-dateutil < 3", "pytz",],
-    setup_requires=["setuptools_scm",],
+    install_requires=[
+        "mutagen < 2",
+        "python-dateutil < 3",
+        "pytz",
+    ],
+    setup_requires=["setuptools_scm"],
 )

+ 7 - 5
symuid/_tag_interface.py

@@ -99,7 +99,9 @@ class ID3(_MutagenTagInterface):
     def _set_free_str(self, tag_label: str, string: str) -> mutagen.id3.TXXX:
         # mutagen.id3._specs.EncodedTextSpec.write encodes 'desc' and 'text'
         tag = mutagen.id3.TXXX(
-            encoding=mutagen.id3.Encoding.LATIN1, desc=tag_label, text=[string],
+            encoding=mutagen.id3.Encoding.LATIN1,
+            desc=tag_label,
+            text=[string],
         )
         # TODO overwrite instead of add() ?
         self._mutagen_file.tags.add(tag)
@@ -123,7 +125,9 @@ class ID3(_MutagenTagInterface):
 
     def set_comment(self, comment) -> mutagen.id3.COMM:
         tag = mutagen.id3.COMM(
-            encoding=mutagen.id3.Encoding.UTF8, lang="eng", text=[comment],
+            encoding=mutagen.id3.Encoding.UTF8,
+            lang="eng",
+            text=[comment],
         )
         self._mutagen_file.tags.add(tag)
         return tag
@@ -158,9 +162,7 @@ class MP4(_MutagenTagInterface):
         return int.from_bytes(freeform, byteorder="big", signed=True)
 
     def get_free_ints(self, tag_label_prefix):
-        label_pattern = re.compile(
-            r"^----:{}(:|$)".format(re.escape(tag_label_prefix),)
-        )
+        label_pattern = re.compile(r"^----:{}(:|$)".format(re.escape(tag_label_prefix)))
         for label, values in self._mutagen_file.tags.items():
             # TODO overwrite instead of add() ?
             if label_pattern.match(label):

+ 1 - 1
symuid/import_library/cmus_cache.py

@@ -24,7 +24,7 @@ def symuid_import_cmus(library_id, cache_path):
         ):  # check before symuid.Track to improve performance
             symuid_track = symuid.Track(path=cmus_track.path.decode())
             last_count = symuid_track.get_latest_play_count(
-                player=_PLAYER_NAME, library_id=library_id,
+                player=_PLAYER_NAME, library_id=library_id
             )
             assert last_count is None or last_count.count <= cmus_track.play_count, (
                 symuid_track.path,

+ 4 - 2
symuid/list.py

@@ -40,11 +40,13 @@ def _init_argparser():
         metavar="expression",
         dest="sort_expression",
         help="(example: {!r} or {!r})".format(
-            "play_count * -1", "(play_count, len(path))",
+            "play_count * -1", "(play_count, len(path))"
         ),
     )
     argparser.add_argument(
-        "--limit", type=int, help="(default: none)",
+        "--limit",
+        type=int,
+        help="(default: none)",
     )
     argparser.add_argument(
         "--prefix",

+ 5 - 4
symuid/sync.py

@@ -74,7 +74,10 @@ def _walk_tracks(
 def _main():
     argparser = argparse.ArgumentParser(description=None)
     argparser.add_argument(
-        "paths", metavar="path", nargs="+", help="track or folder containing tracks",
+        "paths",
+        metavar="path",
+        nargs="+",
+        help="track or folder containing tracks",
     )
     argparser.add_argument(
         "--path-ignore-regex",
@@ -85,9 +88,7 @@ def _main():
         type=re.compile,
         help="(default: %(default)s)",
     )
-    argparser.add_argument(
-        "--show-ignored", action="store_true",
-    )
+    argparser.add_argument("--show-ignored", action="store_true")
     args = argparser.parse_args()
     tracks = _walk_tracks(
         paths=args.paths,

+ 4 - 12
tests/conftest.py

@@ -14,34 +14,26 @@ def tracks_dir_path():
 @pytest.fixture
 def empty_id3_path(tmpdir, tracks_dir_path):
     path = tmpdir.join("empty.mp3").strpath
-    shutil.copyfile(
-        src=os.path.join(tracks_dir_path, "id3v2.4-empty.mp3"), dst=path,
-    )
+    shutil.copyfile(src=os.path.join(tracks_dir_path, "id3v2.4-empty.mp3"), dst=path)
     return path
 
 
 @pytest.fixture
 def empty_mp4_path(tmpdir, tracks_dir_path):
     path = tmpdir.join("empty.m4a").strpath
-    shutil.copyfile(
-        src=os.path.join(tracks_dir_path, "mp4-aac-empty.m4a"), dst=path,
-    )
+    shutil.copyfile(src=os.path.join(tracks_dir_path, "mp4-aac-empty.m4a"), dst=path)
     return path
 
 
 @pytest.fixture
 def empty_ogg_opus_path(tmpdir, tracks_dir_path):
     path = tmpdir.join("empty.opus").strpath
-    shutil.copyfile(
-        src=os.path.join(tracks_dir_path, "ogg-opus-empty.opus"), dst=path,
-    )
+    shutil.copyfile(src=os.path.join(tracks_dir_path, "ogg-opus-empty.opus"), dst=path)
     return path
 
 
 @pytest.fixture
 def empty_ogg_vorbis_path(tmpdir, tracks_dir_path):
     path = tmpdir.join("empty.ogg").strpath
-    shutil.copyfile(
-        src=os.path.join(tracks_dir_path, "ogg-vorbis-empty.ogg"), dst=path,
-    )
+    shutil.copyfile(src=os.path.join(tracks_dir_path, "ogg-vorbis-empty.ogg"), dst=path)
     return path

+ 12 - 4
tests/tag_interface/test_id3.py

@@ -30,7 +30,10 @@ def test__get_str(tracks_dir_path, track_name, tag_label, expected_text):
 
 @pytest.mark.parametrize(
     ("track_name", "tag_label"),
-    [("id3v2.4-empty.mp3", "TPE1"), ("id3v2.4-typical.mp3", "COMM"),],
+    [
+        ("id3v2.4-empty.mp3", "TPE1"),
+        ("id3v2.4-typical.mp3", "COMM"),
+    ],
 )
 def test__get_str_missing(tracks_dir_path, track_name, tag_label):
     iface = ID3(mutagen.File(os.path.join(tracks_dir_path, track_name)))
@@ -40,7 +43,7 @@ def test__get_str_missing(tracks_dir_path, track_name, tag_label):
 
 def test__get_free_str(empty_id3_path):
     mutagen_file = mutagen.File(empty_id3_path)
-    mutagen_file.tags.add(mutagen.id3.TXXX(desc="foo", text="bar",))
+    mutagen_file.tags.add(mutagen.id3.TXXX(desc="foo", text="bar"))
     mutagen_file.save()
     id3_iface = ID3(mutagen.File(empty_id3_path))
     assert id3_iface._get_free_str("foo") == "bar"
@@ -54,7 +57,10 @@ def test__get_free_str_missing(empty_id3_path):
 
 @pytest.mark.parametrize(
     ("track_name", "expected_comment"),
-    [("id3v2.4-empty.mp3", None), ("id3v2.4-typical.mp3", "some comment"),],
+    [
+        ("id3v2.4-empty.mp3", None),
+        ("id3v2.4-typical.mp3", "some comment"),
+    ],
 )
 def test_get_comment(tracks_dir_path, track_name, expected_comment):
     iface = ID3(mutagen.File(os.path.join(tracks_dir_path, track_name)))
@@ -89,7 +95,9 @@ def test_get_free_int_ratio(empty_id3_path, tag_label, tag_value, expected_value
     mutagen_file = mutagen.File(empty_id3_path)
     mutagen_file.tags.add(
         mutagen.id3.TXXX(
-            encoding=mutagen.id3.Encoding.LATIN1, desc=tag_label, text=[tag_value],
+            encoding=mutagen.id3.Encoding.LATIN1,
+            desc=tag_label,
+            text=[tag_value],
         )
     )
     mutagen_file.save()

+ 8 - 1
tests/tag_interface/test_mp4.py

@@ -44,7 +44,14 @@ def test_get_track_uuid(empty_mp4_path):
 
 
 @pytest.mark.parametrize(
-    ("nominator", "denominator"), [(21, 42), (-21, 42), (21, -42), (-21, -42), (0, 42),]
+    ("nominator", "denominator"),
+    [
+        (21, 42),
+        (-21, 42),
+        (21, -42),
+        (-21, -42),
+        (0, 42),
+    ],
 )
 def test_get_free_int_ratio(empty_mp4_path, nominator, denominator):
     mutagen_file = mutagen.File(empty_mp4_path)

+ 4 - 4
tests/tag_interface/test_ogg_opus.py

@@ -34,11 +34,11 @@ def test__get_single_text(tracks_dir_path, track_name, tag_label, expected_text)
 
 
 @pytest.mark.parametrize(
-    ("track_name", "expected_comment"),
-    [("ogg-opus-empty.opus", None), ("ogg-opus-typical.opus", "some comment"),],
+    ("track_filename", "expected_comment"),
+    [("ogg-opus-empty.opus", None), ("ogg-opus-typical.opus", "some comment")],
 )
-def test_get_comment(tracks_dir_path, track_name, expected_comment):
-    iface = Ogg(mutagen.File(os.path.join(tracks_dir_path, track_name)))
+def test_get_comment(tracks_dir_path, track_filename, expected_comment):
+    iface = Ogg(mutagen.File(os.path.join(tracks_dir_path, track_filename)))
     assert expected_comment == iface.get_comment()
 
 

+ 17 - 5
tests/test_track.py

@@ -65,7 +65,10 @@ def test_set_comment(empty_id3_track):
 
 
 @pytest.mark.parametrize(
-    ("play_count"), [symuid.PlayCount("pytest", "lib", utc_dt(), 7),]
+    ("play_count"),
+    [
+        symuid.PlayCount("pytest", "lib", utc_dt(), 7),
+    ],
 )
 def test_register_play_count_id3(empty_id3_track, play_count):
     empty_id3_track.register_play_count(play_count)
@@ -82,7 +85,10 @@ def test_register_play_count_id3(empty_id3_track, play_count):
 
 
 @pytest.mark.parametrize(
-    ("play_count"), [symuid.PlayCount("pytest", "lib", utc_dt(), 7),]
+    ("play_count"),
+    [
+        symuid.PlayCount("pytest", "lib", utc_dt(), 7),
+    ],
 )
 def test_register_play_count_opus(empty_ogg_opus_path, play_count):
     track = symuid.Track(empty_ogg_opus_path)
@@ -201,9 +207,15 @@ def test_increase_play_count_init(empty_id3_track):
 
 
 def test_increase_play_count_others(empty_id3_track):
-    empty_id3_track.register_play_count(symuid.PlayCount("a", "0", utc_dt(0), 1),)
-    empty_id3_track.register_play_count(symuid.PlayCount("a", "1", utc_dt(0), 2),)
-    empty_id3_track.register_play_count(symuid.PlayCount("b", "0", utc_dt(0), 3),)
+    empty_id3_track.register_play_count(
+        symuid.PlayCount("a", "0", utc_dt(0), 1),
+    )
+    empty_id3_track.register_play_count(
+        symuid.PlayCount("a", "1", utc_dt(0), 2),
+    )
+    empty_id3_track.register_play_count(
+        symuid.PlayCount("b", "0", utc_dt(0), 3),
+    )
     assert empty_id3_track.get_play_count_sum() == 6
     empty_id3_track.increase_play_count("a", "1")
     assert empty_id3_track.get_play_count_sum() == 7