From 5dbdb371fd576b7d8a33f537b198d82cb5a31102 Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Mon, 28 Dec 2020 21:18:51 +0200 Subject: [PATCH 01/18] Pipfile --- experiments/charts/Pipfile | 23 + experiments/charts/Pipfile.lock | 1091 +++++++++++++++++++++++++++++++ 2 files changed, 1114 insertions(+) create mode 100644 experiments/charts/Pipfile create mode 100644 experiments/charts/Pipfile.lock diff --git a/experiments/charts/Pipfile b/experiments/charts/Pipfile new file mode 100644 index 00000000..f5065a8c --- /dev/null +++ b/experiments/charts/Pipfile @@ -0,0 +1,23 @@ +[[source]] +name = "pypi" +url = "https://pypi.org/simple" +verify_ssl = true + +[dev-packages] + +[packages] +bokeh = "*" +jupyter = "*" +jupyterlab = "*" +jupytext = "*" +matplotlib = "*" +nb-black = "*" +numpy = "*" +pandas = "*" +pytility = "*" +scikit-learn = "*" +scipy = "*" +seaborn = "*" + +[requires] +python_version = "3.8" diff --git a/experiments/charts/Pipfile.lock b/experiments/charts/Pipfile.lock new file mode 100644 index 00000000..5b174d75 --- /dev/null +++ b/experiments/charts/Pipfile.lock @@ -0,0 +1,1091 @@ +{ + "_meta": { + "hash": { + "sha256": "e3ac87e20f7e96ba663b04d267b1be4e8983fc942b8c414beaa72fe7d844ff1e" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.8" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "appdirs": { + "hashes": [ + "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41", + "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128" + ], + "version": "==1.4.4" + }, + "appnope": { + "hashes": [ + "sha256:5b26757dc6f79a3b7dc9fab95359328d5747fcb2409d331ea66d0272b90ab2a0", + "sha256:8b995ffe925347a2138d7ac0fe77155e4311a0ea6d6da4f5128fe4b3cbe5ed71" + ], + "markers": "sys_platform == 'darwin' and platform_system == 'Darwin'", + "version": "==0.1.0" + }, + "argon2-cffi": { + "hashes": [ + "sha256:05a8ac07c7026542377e38389638a8a1e9b78f1cd8439cd7493b39f08dd75fbf", + "sha256:0bf066bc049332489bb2d75f69216416329d9dc65deee127152caeb16e5ce7d5", + "sha256:18dee20e25e4be86680b178b35ccfc5d495ebd5792cd00781548d50880fee5c5", + "sha256:392c3c2ef91d12da510cfb6f9bae52512a4552573a9e27600bdb800e05905d2b", + "sha256:57358570592c46c420300ec94f2ff3b32cbccd10d38bdc12dc6979c4a8484fbc", + "sha256:6678bb047373f52bcff02db8afab0d2a77d83bde61cfecea7c5c62e2335cb203", + "sha256:6ea92c980586931a816d61e4faf6c192b4abce89aa767ff6581e6ddc985ed003", + "sha256:77e909cc756ef81d6abb60524d259d959bab384832f0c651ed7dcb6e5ccdbb78", + "sha256:7d455c802727710e9dfa69b74ccaab04568386ca17b0ad36350b622cd34606fe", + "sha256:8a84934bd818e14a17943de8099d41160da4a336bcc699bb4c394bbb9b94bd32", + "sha256:9bee3212ba4f560af397b6d7146848c32a800652301843df06b9e8f68f0f7361", + "sha256:9dfd5197852530294ecb5795c97a823839258dfd5eb9420233c7cfedec2058f2", + "sha256:b160416adc0f012fb1f12588a5e6954889510f82f698e23ed4f4fa57f12a0647", + "sha256:ba7209b608945b889457f949cc04c8e762bed4fe3fec88ae9a6b7765ae82e496", + "sha256:cc0e028b209a5483b6846053d5fd7165f460a1f14774d79e632e75e7ae64b82b", + "sha256:d8029b2d3e4b4cea770e9e5a0104dd8fa185c1724a0f01528ae4826a6d25f97d", + "sha256:da7f0445b71db6d3a72462e04f36544b0de871289b0bc8a7cc87c0f5ec7079fa", + "sha256:e2db6e85c057c16d0bd3b4d2b04f270a7467c147381e8fd73cbbe5bc719832be" + ], + "version": "==20.1.0" + }, + "async-generator": { + "hashes": [ + "sha256:01c7bf666359b4967d2cda0000cc2e4af16a0ae098cbffcb8472fb9e8ad6585b", + "sha256:6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144" + ], + "markers": "python_version >= '3.5'", + "version": "==1.10" + }, + "attrs": { + "hashes": [ + "sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6", + "sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==20.3.0" + }, + "backcall": { + "hashes": [ + "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", + "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255" + ], + "version": "==0.2.0" + }, + "black": { + "hashes": [ + "sha256:1c02557aa099101b9d21496f8a914e9ed2222ef70336404eeeac8edba836fbea" + ], + "markers": "python_version >= '3.6'", + "version": "==20.8b1" + }, + "bleach": { + "hashes": [ + "sha256:52b5919b81842b1854196eaae5ca29679a2f2e378905c346d3ca8227c2c66080", + "sha256:9f8ccbeb6183c6e6cddea37592dfb0167485c1e3b13b3363bc325aa8bda3adbd" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==3.2.1" + }, + "bokeh": { + "hashes": [ + "sha256:c4a3f97afe5f525019dd58ee8c4e3d43f53fe1b1ac264ccaae9b02c07b2abc17" + ], + "index": "pypi", + "version": "==2.2.3" + }, + "certifi": { + "hashes": [ + "sha256:1f422849db327d534e3d0c5f02a263458c3955ec0aae4ff09b95f195c59f4edd", + "sha256:f05def092c44fbf25834a51509ef6e631dc19765ab8a57b4e7ab85531f0a9cf4" + ], + "version": "==2020.11.8" + }, + "cffi": { + "hashes": [ + "sha256:00a1ba5e2e95684448de9b89888ccd02c98d512064b4cb987d48f4b40aa0421e", + "sha256:00e28066507bfc3fe865a31f325c8391a1ac2916219340f87dfad602c3e48e5d", + "sha256:045d792900a75e8b1e1b0ab6787dd733a8190ffcf80e8c8ceb2fb10a29ff238a", + "sha256:0638c3ae1a0edfb77c6765d487fee624d2b1ee1bdfeffc1f0b58c64d149e7eec", + "sha256:105abaf8a6075dc96c1fe5ae7aae073f4696f2905fde6aeada4c9d2926752362", + "sha256:155136b51fd733fa94e1c2ea5211dcd4c8879869008fc811648f16541bf99668", + "sha256:1a465cbe98a7fd391d47dce4b8f7e5b921e6cd805ef421d04f5f66ba8f06086c", + "sha256:1d2c4994f515e5b485fd6d3a73d05526aa0fcf248eb135996b088d25dfa1865b", + "sha256:2c24d61263f511551f740d1a065eb0212db1dbbbbd241db758f5244281590c06", + "sha256:51a8b381b16ddd370178a65360ebe15fbc1c71cf6f584613a7ea08bfad946698", + "sha256:594234691ac0e9b770aee9fcdb8fa02c22e43e5c619456efd0d6c2bf276f3eb2", + "sha256:5cf4be6c304ad0b6602f5c4e90e2f59b47653ac1ed9c662ed379fe48a8f26b0c", + "sha256:64081b3f8f6f3c3de6191ec89d7dc6c86a8a43911f7ecb422c60e90c70be41c7", + "sha256:6bc25fc545a6b3d57b5f8618e59fc13d3a3a68431e8ca5fd4c13241cd70d0009", + "sha256:798caa2a2384b1cbe8a2a139d80734c9db54f9cc155c99d7cc92441a23871c03", + "sha256:7c6b1dece89874d9541fc974917b631406233ea0440d0bdfbb8e03bf39a49b3b", + "sha256:840793c68105fe031f34d6a086eaea153a0cd5c491cde82a74b420edd0a2b909", + "sha256:8d6603078baf4e11edc4168a514c5ce5b3ba6e3e9c374298cb88437957960a53", + "sha256:9cc46bc107224ff5b6d04369e7c595acb700c3613ad7bcf2e2012f62ece80c35", + "sha256:9f7a31251289b2ab6d4012f6e83e58bc3b96bd151f5b5262467f4bb6b34a7c26", + "sha256:9ffb888f19d54a4d4dfd4b3f29bc2c16aa4972f1c2ab9c4ab09b8ab8685b9c2b", + "sha256:a7711edca4dcef1a75257b50a2fbfe92a65187c47dab5a0f1b9b332c5919a3fb", + "sha256:af5c59122a011049aad5dd87424b8e65a80e4a6477419c0c1015f73fb5ea0293", + "sha256:b18e0a9ef57d2b41f5c68beefa32317d286c3d6ac0484efd10d6e07491bb95dd", + "sha256:b4e248d1087abf9f4c10f3c398896c87ce82a9856494a7155823eb45a892395d", + "sha256:ba4e9e0ae13fc41c6b23299545e5ef73055213e466bd107953e4a013a5ddd7e3", + "sha256:c6332685306b6417a91b1ff9fae889b3ba65c2292d64bd9245c093b1b284809d", + "sha256:d9efd8b7a3ef378dd61a1e77367f1924375befc2eba06168b6ebfa903a5e59ca", + "sha256:df5169c4396adc04f9b0a05f13c074df878b6052430e03f50e68adf3a57aa28d", + "sha256:ebb253464a5d0482b191274f1c8bf00e33f7e0b9c66405fbffc61ed2c839c775", + "sha256:ec80dc47f54e6e9a78181ce05feb71a0353854cc26999db963695f950b5fb375", + "sha256:f032b34669220030f905152045dfa27741ce1a6db3324a5bc0b96b6c7420c87b", + "sha256:f60567825f791c6f8a592f3c6e3bd93dd2934e3f9dac189308426bd76b00ef3b", + "sha256:f803eaa94c2fcda012c047e62bc7a51b0bdabda1cad7a92a522694ea2d76e49f" + ], + "version": "==1.14.4" + }, + "chardet": { + "hashes": [ + "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", + "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" + ], + "version": "==3.0.4" + }, + "click": { + "hashes": [ + "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a", + "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==7.1.2" + }, + "cycler": { + "hashes": [ + "sha256:1d8a5ae1ff6c5cf9b93e8811e581232ad8920aeec647c37316ceac982b08cb2d", + "sha256:cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8" + ], + "version": "==0.10.0" + }, + "decorator": { + "hashes": [ + "sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760", + "sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7" + ], + "version": "==4.4.2" + }, + "defusedxml": { + "hashes": [ + "sha256:6687150770438374ab581bb7a1b327a847dd9c5749e396102de3fad4e8a3ef93", + "sha256:f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==0.6.0" + }, + "entrypoints": { + "hashes": [ + "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19", + "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451" + ], + "markers": "python_version >= '2.7'", + "version": "==0.3" + }, + "idna": { + "hashes": [ + "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6", + "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.10" + }, + "ipykernel": { + "hashes": [ + "sha256:9b2652af1607986a1b231c62302d070bc0534f564c393a5d9d130db9abbbe89d", + "sha256:d6fbba26dba3cebd411382bc484f7bc2caa98427ae0ddb4ab37fe8bfeb5c7dd3" + ], + "markers": "python_version >= '3.5'", + "version": "==5.3.4" + }, + "ipython": { + "hashes": [ + "sha256:c987e8178ced651532b3b1ff9965925bfd445c279239697052561a9ab806d28f", + "sha256:cbb2ef3d5961d44e6a963b9817d4ea4e1fa2eb589c371a470fed14d8d40cbd6a" + ], + "markers": "python_version >= '3.3'", + "version": "==7.19.0" + }, + "ipython-genutils": { + "hashes": [ + "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8", + "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8" + ], + "version": "==0.2.0" + }, + "ipywidgets": { + "hashes": [ + "sha256:13ffeca438e0c0f91ae583dc22f50379b9d6b28390ac7be8b757140e9a771516", + "sha256:e945f6e02854a74994c596d9db83444a1850c01648f1574adf144fbbabe05c97" + ], + "version": "==7.5.1" + }, + "jedi": { + "hashes": [ + "sha256:86ed7d9b750603e4ba582ea8edc678657fb4007894a12bcf6f4bb97892f31d20", + "sha256:98cc583fa0f2f8304968199b01b6b4b94f469a1f4a74c1560506ca2a211378b5" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==0.17.2" + }, + "jinja2": { + "hashes": [ + "sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0", + "sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==2.11.2" + }, + "joblib": { + "hashes": [ + "sha256:698c311779f347cf6b7e6b8a39bb682277b8ee4aba8cf9507bc0cf4cd4737b72", + "sha256:9e284edd6be6b71883a63c9b7f124738a3c16195513ad940eae7e3438de885d5" + ], + "markers": "python_version >= '3.6'", + "version": "==0.17.0" + }, + "json5": { + "hashes": [ + "sha256:703cfee540790576b56a92e1c6aaa6c4b0d98971dc358ead83812aa4d06bdb96", + "sha256:af1a1b9a2850c7f62c23fde18be4749b3599fd302f494eebf957e2ada6b9e42c" + ], + "version": "==0.9.5" + }, + "jsonschema": { + "hashes": [ + "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163", + "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a" + ], + "version": "==3.2.0" + }, + "jupyter": { + "hashes": [ + "sha256:3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7", + "sha256:5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78", + "sha256:d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f" + ], + "index": "pypi", + "version": "==1.0.0" + }, + "jupyter-client": { + "hashes": [ + "sha256:49e390b36fe4b4226724704ea28d9fb903f1a3601b6882ce3105221cd09377a1", + "sha256:c958d24d6eacb975c1acebb68ac9077da61b5f5c040f22f6849928ad7393b950" + ], + "markers": "python_version >= '3.5'", + "version": "==6.1.7" + }, + "jupyter-console": { + "hashes": [ + "sha256:1d80c06b2d85bfb10bd5cc731b3db18e9023bc81ab00491d3ac31f206490aee3", + "sha256:7f6194f4f4692d292da3f501c7f343ccd5e36c6a1becf7b7515e23e66d6bf1e9" + ], + "markers": "python_version >= '3.6'", + "version": "==6.2.0" + }, + "jupyter-core": { + "hashes": [ + "sha256:0a451c9b295e4db772bdd8d06f2f1eb31caeec0e81fbb77ba37d4a3024e3b315", + "sha256:aa1f9496ab3abe72da4efe0daab0cb2233997914581f9a071e07498c6add8ed3" + ], + "markers": "python_version >= '3.6'", + "version": "==4.7.0" + }, + "jupyterlab": { + "hashes": [ + "sha256:3be8f8edea173753dd838c1b6d3bbcb6f5c801121f824a477025c1b6a1d33dc6", + "sha256:59af02c26a15ec2d2862a15bc72e41ae304b406a0b0d3f4f705eeb7caf91902b" + ], + "index": "pypi", + "version": "==2.2.9" + }, + "jupyterlab-pygments": { + "hashes": [ + "sha256:abfb880fd1561987efaefcb2d2ac75145d2a5d0139b1876d5be806e32f630008", + "sha256:cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146" + ], + "version": "==0.1.2" + }, + "jupyterlab-server": { + "hashes": [ + "sha256:5431d9dde96659364b7cc877693d5d21e7b80cea7ae3959ecc2b87518e5f5d8c", + "sha256:55d256077bf13e5bc9e8fbd5aac51bef82f6315111cec6b712b9a5ededbba924" + ], + "markers": "python_version >= '3.5'", + "version": "==1.2.0" + }, + "jupytext": { + "hashes": [ + "sha256:23123b90c267c67716fe6a022dfae49b84fd3809370d83211f2920eb3106bf40", + "sha256:e48f57afdc807cc2d2920bd6ae18455264db78b1fc78061ad70dcc26dc45a2cb" + ], + "index": "pypi", + "version": "==1.7.1" + }, + "kiwisolver": { + "hashes": [ + "sha256:0cd53f403202159b44528498de18f9285b04482bab2a6fc3f5dd8dbb9352e30d", + "sha256:1e1bc12fb773a7b2ffdeb8380609f4f8064777877b2225dec3da711b421fda31", + "sha256:225e2e18f271e0ed8157d7f4518ffbf99b9450fca398d561eb5c4a87d0986dd9", + "sha256:232c9e11fd7ac3a470d65cd67e4359eee155ec57e822e5220322d7b2ac84fbf0", + "sha256:31dfd2ac56edc0ff9ac295193eeaea1c0c923c0355bf948fbd99ed6018010b72", + "sha256:33449715e0101e4d34f64990352bce4095c8bf13bed1b390773fc0a7295967b3", + "sha256:401a2e9afa8588589775fe34fc22d918ae839aaaf0c0e96441c0fdbce6d8ebe6", + "sha256:44a62e24d9b01ba94ae7a4a6c3fb215dc4af1dde817e7498d901e229aaf50e4e", + "sha256:50af681a36b2a1dee1d3c169ade9fdc59207d3c31e522519181e12f1b3ba7000", + "sha256:563c649cfdef27d081c84e72a03b48ea9408c16657500c312575ae9d9f7bc1c3", + "sha256:5989db3b3b34b76c09253deeaf7fbc2707616f130e166996606c284395da3f18", + "sha256:5a7a7dbff17e66fac9142ae2ecafb719393aaee6a3768c9de2fd425c63b53e21", + "sha256:5c3e6455341008a054cccee8c5d24481bcfe1acdbc9add30aa95798e95c65621", + "sha256:5f6ccd3dd0b9739edcf407514016108e2280769c73a85b9e59aa390046dbf08b", + "sha256:72c99e39d005b793fb7d3d4e660aed6b6281b502e8c1eaf8ee8346023c8e03bc", + "sha256:78751b33595f7f9511952e7e60ce858c6d64db2e062afb325985ddbd34b5c131", + "sha256:834ee27348c4aefc20b479335fd422a2c69db55f7d9ab61721ac8cd83eb78882", + "sha256:8be8d84b7d4f2ba4ffff3665bcd0211318aa632395a1a41553250484a871d454", + "sha256:950a199911a8d94683a6b10321f9345d5a3a8433ec58b217ace979e18f16e248", + "sha256:a357fd4f15ee49b4a98b44ec23a34a95f1e00292a139d6015c11f55774ef10de", + "sha256:a53d27d0c2a0ebd07e395e56a1fbdf75ffedc4a05943daf472af163413ce9598", + "sha256:acef3d59d47dd85ecf909c359d0fd2c81ed33bdff70216d3956b463e12c38a54", + "sha256:b38694dcdac990a743aa654037ff1188c7a9801ac3ccc548d3341014bc5ca278", + "sha256:b9edd0110a77fc321ab090aaa1cfcaba1d8499850a12848b81be2222eab648f6", + "sha256:c08e95114951dc2090c4a630c2385bef681cacf12636fb0241accdc6b303fd81", + "sha256:c5518d51a0735b1e6cee1fdce66359f8d2b59c3ca85dc2b0813a8aa86818a030", + "sha256:c8fd0f1ae9d92b42854b2979024d7597685ce4ada367172ed7c09edf2cef9cb8", + "sha256:ca3820eb7f7faf7f0aa88de0e54681bddcb46e485beb844fcecbcd1c8bd01689", + "sha256:cf8b574c7b9aa060c62116d4181f3a1a4e821b2ec5cbfe3775809474113748d4", + "sha256:d3155d828dec1d43283bd24d3d3e0d9c7c350cdfcc0bd06c0ad1209c1bbc36d0", + "sha256:f8d6f8db88049a699817fd9178782867bf22283e3813064302ac59f61d95be05", + "sha256:fd34fbbfbc40628200730bc1febe30631347103fc8d3d4fa012c21ab9c11eca9" + ], + "markers": "python_version >= '3.6'", + "version": "==1.3.1" + }, + "markdown-it-py": { + "hashes": [ + "sha256:6143d11221495edbf71beb7e455821ae6c8f0156710a1b11812662ed6dbd165b", + "sha256:dcfe4a0c6bef711cb6c42494ebf23a3cfe6f249bf995556498497dd8193bfc22" + ], + "markers": "python_version >= '3.6'", + "version": "==0.5.6" + }, + "markupsafe": { + "hashes": [ + "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", + "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", + "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", + "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", + "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42", + "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", + "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", + "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", + "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", + "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", + "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", + "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b", + "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", + "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15", + "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", + "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", + "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", + "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", + "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", + "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", + "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", + "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", + "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", + "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", + "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", + "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", + "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", + "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", + "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", + "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", + "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2", + "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7", + "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.1.1" + }, + "matplotlib": { + "hashes": [ + "sha256:09225edca87a79815822eb7d3be63a83ebd4d9d98d5aa3a15a94f4eee2435954", + "sha256:0caa687fce6174fef9b27d45f8cc57cbc572e04e98c81db8e628b12b563d59a2", + "sha256:27c9393fada62bd0ad7c730562a0fecbd3d5aaa8d9ed80ba7d3ebb8abc4f0453", + "sha256:2c2c5041608cb75c39cbd0ed05256f8a563e144234a524c59d091abbfa7a868f", + "sha256:2d31aff0c8184b05006ad756b9a4dc2a0805e94d28f3abc3187e881b6673b302", + "sha256:3a4c3e9be63adf8e9b305aa58fb3ec40ecc61fd0f8fd3328ce55bc30e7a2aeb0", + "sha256:5111d6d47a0f5b8f3e10af7a79d5e7eb7e73a22825391834734274c4f312a8a0", + "sha256:5ed3d3342698c2b1f3651f8ea6c099b0f196d16ee00e33dc3a6fee8cb01d530a", + "sha256:6ffd2d80d76df2e5f9f0c0140b5af97e3b87dd29852dcdb103ec177d853ec06b", + "sha256:746897fbd72bd462b888c74ed35d812ca76006b04f717cd44698cdfc99aca70d", + "sha256:756ee498b9ba35460e4cbbd73f09018e906daa8537fff61da5b5bf8d5e9de5c7", + "sha256:7ad44f2c74c50567c694ee91c6fa16d67e7c8af6f22c656b80469ad927688457", + "sha256:83e6c895d93fdf93eeff1a21ee96778ba65ef258e5d284160f7c628fee40c38f", + "sha256:9b03722c89a43a61d4d148acfc89ec5bb54cd0fd1539df25b10eb9c5fa6c393a", + "sha256:a4fe54eab2c7129add75154823e6543b10261f9b65b2abe692d68743a4999f8c", + "sha256:b1b60c6476c4cfe9e5cf8ab0d3127476fd3d5f05de0f343a452badaad0e4bdec", + "sha256:b26c472847911f5a7eb49e1c888c31c77c4ddf8023c1545e0e8e0367ba74fb15", + "sha256:b2a5e1f637a92bb6f3526cc54cc8af0401112e81ce5cba6368a1b7908f9e18bc", + "sha256:b7b09c61a91b742cb5460b72efd1fe26ef83c1c704f666e0af0df156b046aada", + "sha256:b8ba2a1dbb4660cb469fe8e1febb5119506059e675180c51396e1723ff9b79d9", + "sha256:c092fc4673260b1446b8578015321081d5db73b94533fe4bf9b69f44e948d174", + "sha256:c586ac1d64432f92857c3cf4478cfb0ece1ae18b740593f8a39f2f0b27c7fda5", + "sha256:d082f77b4ed876ae94a9373f0db96bf8768a7cca6c58fc3038f94e30ffde1880", + "sha256:e71cdd402047e657c1662073e9361106c6981e9621ab8c249388dfc3ec1de07b", + "sha256:eb6b6700ea454bb88333d98601e74928e06f9669c1ea231b4c4c666c1d7701b4" + ], + "index": "pypi", + "version": "==3.3.3" + }, + "mistune": { + "hashes": [ + "sha256:59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e", + "sha256:88a1051873018da288eee8538d476dffe1262495144b33ecb586c4ab266bb8d4" + ], + "version": "==0.8.4" + }, + "mypy-extensions": { + "hashes": [ + "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d", + "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8" + ], + "version": "==0.4.3" + }, + "nb-black": { + "hashes": [ + "sha256:1ca52e3a46675f6a0a6d79ac73a1f8f951bef60f919eced56173e76ab1b6d62b" + ], + "index": "pypi", + "version": "==1.0.7" + }, + "nbclient": { + "hashes": [ + "sha256:01e2d726d16eaf2cde6db74a87e2451453547e8832d142f73f72fddcd4fe0250", + "sha256:4d6b116187c795c99b9dba13d46e764d596574b14c296d60670c8dfe454db364" + ], + "markers": "python_version >= '3.6'", + "version": "==0.5.1" + }, + "nbconvert": { + "hashes": [ + "sha256:39e9f977920b203baea0be67eea59f7b37a761caa542abe80f5897ce3cf6311d", + "sha256:cbbc13a86dfbd4d1b5dee106539de0795b4db156c894c2c5dc382062bbc29002" + ], + "markers": "python_version >= '3.6'", + "version": "==6.0.7" + }, + "nbformat": { + "hashes": [ + "sha256:aa9450c16d29286dc69b92ea4913c1bffe86488f90184445996ccc03a2f60382", + "sha256:f545b22138865bfbcc6b1ffe89ed5a2b8e2dc5d4fe876f2ca60d8e6f702a30f8" + ], + "markers": "python_version >= '3.5'", + "version": "==5.0.8" + }, + "nest-asyncio": { + "hashes": [ + "sha256:dbe032f3e9ff7f120e76be22bf6e7958e867aed1743e6894b8a9585fe8495cc9", + "sha256:eaa09ef1353ebefae19162ad423eef7a12166bcc63866f8bff8f3635353cd9fa" + ], + "markers": "python_version >= '3.5'", + "version": "==1.4.3" + }, + "notebook": { + "hashes": [ + "sha256:3db37ae834c5f3b6378381229d0e5dfcbfb558d08c8ce646b1ad355147f5e91d", + "sha256:508cf9dad7cdb3188f1aa27017dc78179029dfe83814fc505329f689bc2ab50f" + ], + "markers": "python_version >= '3.5'", + "version": "==6.1.5" + }, + "numpy": { + "hashes": [ + "sha256:08308c38e44cc926bdfce99498b21eec1f848d24c302519e64203a8da99a97db", + "sha256:09c12096d843b90eafd01ea1b3307e78ddd47a55855ad402b157b6c4862197ce", + "sha256:13d166f77d6dc02c0a73c1101dd87fdf01339febec1030bd810dcd53fff3b0f1", + "sha256:141ec3a3300ab89c7f2b0775289954d193cc8edb621ea05f99db9cb181530512", + "sha256:16c1b388cc31a9baa06d91a19366fb99ddbe1c7b205293ed072211ee5bac1ed2", + "sha256:18bed2bcb39e3f758296584337966e68d2d5ba6aab7e038688ad53c8f889f757", + "sha256:1aeef46a13e51931c0b1cf8ae1168b4a55ecd282e6688fdb0a948cc5a1d5afb9", + "sha256:27d3f3b9e3406579a8af3a9f262f5339005dd25e0ecf3cf1559ff8a49ed5cbf2", + "sha256:2a2740aa9733d2e5b2dfb33639d98a64c3b0f24765fed86b0fd2aec07f6a0a08", + "sha256:4377e10b874e653fe96985c05feed2225c912e328c8a26541f7fc600fb9c637b", + "sha256:448ebb1b3bf64c0267d6b09a7cba26b5ae61b6d2dbabff7c91b660c7eccf2bdb", + "sha256:50e86c076611212ca62e5a59f518edafe0c0730f7d9195fec718da1a5c2bb1fc", + "sha256:5734bdc0342aba9dfc6f04920988140fb41234db42381cf7ccba64169f9fe7ac", + "sha256:64324f64f90a9e4ef732be0928be853eee378fd6a01be21a0a8469c4f2682c83", + "sha256:6ae6c680f3ebf1cf7ad1d7748868b39d9f900836df774c453c11c5440bc15b36", + "sha256:6d7593a705d662be5bfe24111af14763016765f43cb6923ed86223f965f52387", + "sha256:8cac8790a6b1ddf88640a9267ee67b1aee7a57dfa2d2dd33999d080bc8ee3a0f", + "sha256:8ece138c3a16db8c1ad38f52eb32be6086cc72f403150a79336eb2045723a1ad", + "sha256:9eeb7d1d04b117ac0d38719915ae169aa6b61fca227b0b7d198d43728f0c879c", + "sha256:a09f98011236a419ee3f49cedc9ef27d7a1651df07810ae430a6b06576e0b414", + "sha256:a5d897c14513590a85774180be713f692df6fa8ecf6483e561a6d47309566f37", + "sha256:ad6f2ff5b1989a4899bf89800a671d71b1612e5ff40866d1f4d8bcf48d4e5764", + "sha256:c42c4b73121caf0ed6cd795512c9c09c52a7287b04d105d112068c1736d7c753", + "sha256:cb1017eec5257e9ac6209ac172058c430e834d5d2bc21961dceeb79d111e5909", + "sha256:d6c7bb82883680e168b55b49c70af29b84b84abb161cbac2800e8fcb6f2109b6", + "sha256:e452dc66e08a4ce642a961f134814258a082832c78c90351b75c41ad16f79f63", + "sha256:e5b6ed0f0b42317050c88022349d994fe72bfe35f5908617512cd8c8ef9da2a9", + "sha256:e9b30d4bd69498fc0c3fe9db5f62fffbb06b8eb9321f92cc970f2969be5e3949", + "sha256:ec149b90019852266fec2341ce1db513b843e496d5a8e8cdb5ced1923a92faab", + "sha256:edb01671b3caae1ca00881686003d16c2209e07b7ef8b7639f1867852b948f7c", + "sha256:f0d3929fe88ee1c155129ecd82f981b8856c5d97bcb0d5f23e9b4242e79d1de3", + "sha256:f29454410db6ef8126c83bd3c968d143304633d45dc57b51252afbd79d700893", + "sha256:fe45becb4c2f72a0907c1d0246ea6449fe7a9e2293bb0e11c4e9a32bb0930a15", + "sha256:fedbd128668ead37f33917820b704784aff695e0019309ad446a6d0b065b57e4" + ], + "index": "pypi", + "version": "==1.19.4" + }, + "packaging": { + "hashes": [ + "sha256:05af3bb85d320377db281cf254ab050e1a7ebcbf5410685a9a407e18a1f81236", + "sha256:eb41423378682dadb7166144a4926e443093863024de508ca5c9737d6bc08376" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==20.7" + }, + "pandas": { + "hashes": [ + "sha256:09e0503758ad61afe81c9069505f8cb8c1e36ea8cc1e6826a95823ef5b327daf", + "sha256:0a11a6290ef3667575cbd4785a1b62d658c25a2fd70a5adedba32e156a8f1773", + "sha256:0d9a38a59242a2f6298fff45d09768b78b6eb0c52af5919ea9e45965d7ba56d9", + "sha256:112c5ba0f9ea0f60b2cc38c25f87ca1d5ca10f71efbee8e0f1bee9cf584ed5d5", + "sha256:185cf8c8f38b169dbf7001e1a88c511f653fbb9dfa3e048f5e19c38049e991dc", + "sha256:3aa8e10768c730cc1b610aca688f588831fa70b65a26cb549fbb9f35049a05e0", + "sha256:41746d520f2b50409dffdba29a15c42caa7babae15616bcf80800d8cfcae3d3e", + "sha256:43cea38cbcadb900829858884f49745eb1f42f92609d368cabcc674b03e90efc", + "sha256:5378f58172bd63d8c16dd5d008d7dcdd55bf803fcdbe7da2dcb65dbbf322f05b", + "sha256:54404abb1cd3f89d01f1fb5350607815326790efb4789be60508f458cdd5ccbf", + "sha256:5dac3aeaac5feb1016e94bde851eb2012d1733a222b8afa788202b836c97dad5", + "sha256:5fdb2a61e477ce58d3f1fdf2470ee142d9f0dde4969032edaf0b8f1a9dafeaa2", + "sha256:6613c7815ee0b20222178ad32ec144061cb07e6a746970c9160af1ebe3ad43b4", + "sha256:6d2b5b58e7df46b2c010ec78d7fb9ab20abf1d306d0614d3432e7478993fbdb0", + "sha256:8a5d7e57b9df2c0a9a202840b2881bb1f7a648eba12dd2d919ac07a33a36a97f", + "sha256:8b4c2055ebd6e497e5ecc06efa5b8aa76f59d15233356eb10dad22a03b757805", + "sha256:a15653480e5b92ee376f8458197a58cca89a6e95d12cccb4c2d933df5cecc63f", + "sha256:a7d2547b601ecc9a53fd41561de49a43d2231728ad65c7713d6b616cd02ddbed", + "sha256:a979d0404b135c63954dea79e6246c45dd45371a88631cdbb4877d844e6de3b6", + "sha256:b1f8111635700de7ac350b639e7e452b06fc541a328cf6193cf8fc638804bab8", + "sha256:c5a3597880a7a29a31ebd39b73b2c824316ae63a05c3c8a5ce2aea3fc68afe35", + "sha256:c681e8fcc47a767bf868341d8f0d76923733cbdcabd6ec3a3560695c69f14a1e", + "sha256:cf135a08f306ebbcfea6da8bf775217613917be23e5074c69215b91e180caab4", + "sha256:e2b8557fe6d0a18db4d61c028c6af61bfed44ef90e419ed6fadbdc079eba141e" + ], + "index": "pypi", + "version": "==1.1.4" + }, + "pandocfilters": { + "hashes": [ + "sha256:bc63fbb50534b4b1f8ebe1860889289e8af94a23bff7445259592df25a3906eb" + ], + "version": "==1.4.3" + }, + "parso": { + "hashes": [ + "sha256:97218d9159b2520ff45eb78028ba8b50d2bc61dcc062a9682666f2dc4bd331ea", + "sha256:caba44724b994a8a5e086460bb212abc5a8bc46951bf4a9a1210745953622eb9" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==0.7.1" + }, + "pathspec": { + "hashes": [ + "sha256:86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd", + "sha256:aa0cb481c4041bf52ffa7b0d8fa6cd3e88a2ca4879c533c9153882ee2556790d" + ], + "version": "==0.8.1" + }, + "pexpect": { + "hashes": [ + "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937", + "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c" + ], + "markers": "sys_platform != 'win32'", + "version": "==4.8.0" + }, + "pickleshare": { + "hashes": [ + "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", + "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56" + ], + "version": "==0.7.5" + }, + "pillow": { + "hashes": [ + "sha256:006de60d7580d81f4a1a7e9f0173dc90a932e3905cc4d47ea909bc946302311a", + "sha256:0a2e8d03787ec7ad71dc18aec9367c946ef8ef50e1e78c71f743bc3a770f9fae", + "sha256:0eeeae397e5a79dc088d8297a4c2c6f901f8fb30db47795113a4a605d0f1e5ce", + "sha256:11c5c6e9b02c9dac08af04f093eb5a2f84857df70a7d4a6a6ad461aca803fb9e", + "sha256:2fb113757a369a6cdb189f8df3226e995acfed0a8919a72416626af1a0a71140", + "sha256:4b0ef2470c4979e345e4e0cc1bbac65fda11d0d7b789dbac035e4c6ce3f98adb", + "sha256:59e903ca800c8cfd1ebe482349ec7c35687b95e98cefae213e271c8c7fffa021", + "sha256:5abd653a23c35d980b332bc0431d39663b1709d64142e3652890df4c9b6970f6", + "sha256:5f9403af9c790cc18411ea398a6950ee2def2a830ad0cfe6dc9122e6d528b302", + "sha256:6b4a8fd632b4ebee28282a9fef4c341835a1aa8671e2770b6f89adc8e8c2703c", + "sha256:6c1aca8231625115104a06e4389fcd9ec88f0c9befbabd80dc206c35561be271", + "sha256:795e91a60f291e75de2e20e6bdd67770f793c8605b553cb6e4387ce0cb302e09", + "sha256:7ba0ba61252ab23052e642abdb17fd08fdcfdbbf3b74c969a30c58ac1ade7cd3", + "sha256:7c9401e68730d6c4245b8e361d3d13e1035cbc94db86b49dc7da8bec235d0015", + "sha256:81f812d8f5e8a09b246515fac141e9d10113229bc33ea073fec11403b016bcf3", + "sha256:895d54c0ddc78a478c80f9c438579ac15f3e27bf442c2a9aa74d41d0e4d12544", + "sha256:8de332053707c80963b589b22f8e0229f1be1f3ca862a932c1bcd48dafb18dd8", + "sha256:92c882b70a40c79de9f5294dc99390671e07fc0b0113d472cbea3fde15db1792", + "sha256:95edb1ed513e68bddc2aee3de66ceaf743590bf16c023fb9977adc4be15bd3f0", + "sha256:b63d4ff734263ae4ce6593798bcfee6dbfb00523c82753a3a03cbc05555a9cc3", + "sha256:bd7bf289e05470b1bc74889d1466d9ad4a56d201f24397557b6f65c24a6844b8", + "sha256:cc3ea6b23954da84dbee8025c616040d9aa5eaf34ea6895a0a762ee9d3e12e11", + "sha256:cc9ec588c6ef3a1325fa032ec14d97b7309db493782ea8c304666fb10c3bd9a7", + "sha256:d3d07c86d4efa1facdf32aa878bd508c0dc4f87c48125cc16b937baa4e5b5e11", + "sha256:d8a96747df78cda35980905bf26e72960cba6d355ace4780d4bdde3b217cdf1e", + "sha256:e38d58d9138ef972fceb7aeec4be02e3f01d383723965bfcef14d174c8ccd039", + "sha256:eb472586374dc66b31e36e14720747595c2b265ae962987261f044e5cce644b5", + "sha256:fbd922f702582cb0d71ef94442bfca57624352622d75e3be7a1e7e9360b07e72" + ], + "markers": "python_version >= '3.6'", + "version": "==8.0.1" + }, + "prometheus-client": { + "hashes": [ + "sha256:9da7b32f02439d8c04f7777021c304ed51d9ec180604700c1ba72a4d44dceb03", + "sha256:b08c34c328e1bf5961f0b4352668e6c8f145b4a087e09b7296ef62cbe4693d35" + ], + "version": "==0.9.0" + }, + "prompt-toolkit": { + "hashes": [ + "sha256:25c95d2ac813909f813c93fde734b6e44406d1477a9faef7c915ff37d39c0a8c", + "sha256:7debb9a521e0b1ee7d2fe96ee4bd60ef03c6492784de0547337ca4433e46aa63" + ], + "markers": "python_full_version >= '3.6.1'", + "version": "==3.0.8" + }, + "ptyprocess": { + "hashes": [ + "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0", + "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f" + ], + "markers": "os_name != 'nt'", + "version": "==0.6.0" + }, + "pycparser": { + "hashes": [ + "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0", + "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.20" + }, + "pygments": { + "hashes": [ + "sha256:381985fcc551eb9d37c52088a32914e00517e57f4a21609f48141ba08e193fa0", + "sha256:88a0bbcd659fcb9573703957c6b9cff9fab7295e6e76db54c9d00ae42df32773" + ], + "markers": "python_version >= '3.5'", + "version": "==2.7.2" + }, + "pyparsing": { + "hashes": [ + "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", + "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" + ], + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.4.7" + }, + "pyrsistent": { + "hashes": [ + "sha256:2e636185d9eb976a18a8a8e96efce62f2905fea90041958d8cc2a189756ebf3e" + ], + "markers": "python_version >= '3.5'", + "version": "==0.17.3" + }, + "python-dateutil": { + "hashes": [ + "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c", + "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.8.1" + }, + "pytility": { + "hashes": [ + "sha256:2020592384f6195cd7b6b894cedd05a591c38fa706ab6d7af6c798d522ce7434", + "sha256:97af04966494ddf3998f17b378e62a5841f42b50db366d618970108aaf7b8f52" + ], + "index": "pypi", + "version": "==0.1.3" + }, + "pytz": { + "hashes": [ + "sha256:3e6b7dd2d1e0a59084bcee14a17af60c5c562cdc16d828e8eba2e683d3a7e268", + "sha256:5c55e189b682d420be27c6995ba6edce0c0a77dd67bfbe2ae6607134d5851ffd" + ], + "version": "==2020.4" + }, + "pyyaml": { + "hashes": [ + "sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97", + "sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76", + "sha256:4f4b913ca1a7319b33cfb1369e91e50354d6f07a135f3b901aca02aa95940bd2", + "sha256:6034f55dab5fea9e53f436aa68fa3ace2634918e8b5994d82f3621c04ff5ed2e", + "sha256:69f00dca373f240f842b2931fb2c7e14ddbacd1397d57157a9b005a6a9942648", + "sha256:73f099454b799e05e5ab51423c7bcf361c58d3206fa7b0d555426b1f4d9a3eaf", + "sha256:74809a57b329d6cc0fdccee6318f44b9b8649961fa73144a98735b0aaf029f1f", + "sha256:7739fc0fa8205b3ee8808aea45e968bc90082c10aef6ea95e855e10abf4a37b2", + "sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee", + "sha256:ad9c67312c84def58f3c04504727ca879cb0013b2517c85a9a253f0cb6380c0a", + "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d", + "sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c", + "sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a" + ], + "version": "==5.3.1" + }, + "pyzmq": { + "hashes": [ + "sha256:03638e46d486dd1c118e03c8bf9c634bdcae679600eac6573ae1e54906de7c2f", + "sha256:0af84f34f27b5c6a0e906c648bdf46d4caebf9c8e6e16db0728f30a58141cad6", + "sha256:0e554fd390021edbe0330b67226325a820b0319c5b45e1b0a59bf22ccc36e793", + "sha256:1e9b75a119606732023a305d1c214146c09a91f8116f6aff3e8b7d0a60b6f0ff", + "sha256:225774a48ed7414c0395335e7123ef8c418dbcbe172caabdc2496133b03254c2", + "sha256:2742e380d186673eee6a570ef83d4568741945434ba36d92b98d36cdbfedbd44", + "sha256:309d763d89ec1845c0e0fa14e1fb6558fd8c9ef05ed32baec27d7a8499cc7bb0", + "sha256:46250789730489009fe139cbf576679557c070a6a3628077d09a4153d52fd381", + "sha256:4d9259a5eb3f71abbaf61f165cacf42240bfeea3783bebd8255341abdfe206f1", + "sha256:523d542823cabb94065178090e05347bd204365f6e7cb260f0071c995d392fc2", + "sha256:5efe02bdcc5eafcac0aab531292294298f0ab8d28ed43be9e507d0e09173d1a4", + "sha256:63ee08e35be72fdd7568065a249a5b5cf51a2e8ab6ee63cf9f73786fcb9e710b", + "sha256:6e24907857c80dc67692e31f5bf3ad5bf483ee0142cec95b3d47e2db8c43bdda", + "sha256:7113eb93dcd0a5750c65d123ed0099e036a3a3f2dcb48afedd025ffa125c983b", + "sha256:824ad5888331aadeac772bce27e1c2fbcab82fade92edbd234542c4e12f0dca9", + "sha256:895695be380f0f85d2e3ec5ccf68a93c92d45bd298567525ad5633071589872c", + "sha256:b62113eeb9a0649cebed9b21fd578f3a0175ef214a2a91dcb7b31bbf55805295", + "sha256:bc7dd697356b31389d5118b9bcdef3e8d8079e8181800c4e8d72dccd56e1ff68", + "sha256:bf755905a7d30d2749079611b9a89924c1f2da2695dc09ce221f42122c9808e3", + "sha256:c63fafd2556d218368c51d18588f8e6f8d86d09d493032415057faf6de869b34", + "sha256:c95dda497a7c1b1e734b5e8353173ca5dd7b67784d8821d13413a97856588057", + "sha256:cc09c5cd1a4332611c8564d65e6a432dc6db3e10793d0254da9fa1e31d9ffd6d", + "sha256:cfa54a162a7b32641665e99b2c12084555afe9fc8fe80ec8b2f71a57320d10e1", + "sha256:d81184489369ec325bd50ba1c935361e63f31f578430b9ad95471899361a8253", + "sha256:d92c7f41a53ece82b91703ea433c7d34143248cf0cead33aa11c5fc621c764bf", + "sha256:f0beef935efe78a63c785bb21ed56c1c24448511383e3994927c8bb2caf5e714", + "sha256:f110a4d3f8f01209eec304ed542f6c8054cce9b0f16dfe3d571e57c290e4e133" + ], + "markers": "python_version >= '3.5'", + "version": "==20.0.0" + }, + "qtconsole": { + "hashes": [ + "sha256:4d70967aeb62a5bd13a109d61b169a3cf844afc24a35c11f5518574bb8abe670", + "sha256:4d7dd4eae8a90d0b2b19b31794b30f137238463998989734a3acb8a53b506bab" + ], + "markers": "python_version >= '3.6'", + "version": "==5.0.1" + }, + "qtpy": { + "hashes": [ + "sha256:2db72c44b55d0fe1407be8fba35c838ad0d6d3bb81f23007886dc1fc0f459c8d", + "sha256:fa0b8363b363e89b2a6f49eddc162a04c0699ae95e109a6be3bb145a913190ea" + ], + "version": "==1.9.0" + }, + "regex": { + "hashes": [ + "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": "==2020.11.13" + }, + "requests": { + "hashes": [ + "sha256:7f1a0b932f4a60a1a65caa4263921bb7d9ee911957e0ae4a23a6dd08185ad5f8", + "sha256:e786fa28d8c9154e6a4de5d46a1d921b8749f8b74e28bde23768e5e16eece998" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==2.25.0" + }, + "scikit-learn": { + "hashes": [ + "sha256:0a127cc70990d4c15b1019680bfedc7fec6c23d14d3719fdf9b64b22d37cdeca", + "sha256:0d39748e7c9669ba648acf40fb3ce96b8a07b240db6888563a7cb76e05e0d9cc", + "sha256:1b8a391de95f6285a2f9adffb7db0892718950954b7149a70c783dc848f104ea", + "sha256:20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480", + "sha256:2aa95c2f17d2f80534156215c87bee72b6aa314a7f8b8fe92a2d71f47280570d", + "sha256:5ce7a8021c9defc2b75620571b350acc4a7d9763c25b7593621ef50f3bd019a2", + "sha256:6c28a1d00aae7c3c9568f61aafeaad813f0f01c729bee4fd9479e2132b215c1d", + "sha256:7671bbeddd7f4f9a6968f3b5442dac5f22bf1ba06709ef888cc9132ad354a9ab", + "sha256:914ac2b45a058d3f1338d7736200f7f3b094857758895f8667be8a81ff443b5b", + "sha256:98508723f44c61896a4e15894b2016762a55555fbf09365a0bb1870ecbd442de", + "sha256:a64817b050efd50f9abcfd311870073e500ae11b299683a519fbb52d85e08d25", + "sha256:cb3e76380312e1f86abd20340ab1d5b3cc46a26f6593d3c33c9ea3e4c7134028", + "sha256:d0dcaa54263307075cb93d0bee3ceb02821093b1b3d25f66021987d305d01dce", + "sha256:d9a1ce5f099f29c7c33181cc4386660e0ba891b21a60dc036bf369e3a3ee3aec", + "sha256:da8e7c302003dd765d92a5616678e591f347460ac7b53e53d667be7dfe6d1b10", + "sha256:daf276c465c38ef736a79bd79fc80a249f746bcbcae50c40945428f7ece074f8" + ], + "index": "pypi", + "version": "==0.23.2" + }, + "scipy": { + "hashes": [ + "sha256:168c45c0c32e23f613db7c9e4e780bc61982d71dcd406ead746c7c7c2f2004ce", + "sha256:213bc59191da2f479984ad4ec39406bf949a99aba70e9237b916ce7547b6ef42", + "sha256:25b241034215247481f53355e05f9e25462682b13bd9191359075682adcd9554", + "sha256:2c872de0c69ed20fb1a9b9cf6f77298b04a26f0b8720a5457be08be254366c6e", + "sha256:3397c129b479846d7eaa18f999369a24322d008fac0782e7828fa567358c36ce", + "sha256:368c0f69f93186309e1b4beb8e26d51dd6f5010b79264c0f1e9ca00cd92ea8c9", + "sha256:3d5db5d815370c28d938cf9b0809dade4acf7aba57eaf7ef733bfedc9b2474c4", + "sha256:4598cf03136067000855d6b44d7a1f4f46994164bcd450fb2c3d481afc25dd06", + "sha256:4a453d5e5689de62e5d38edf40af3f17560bfd63c9c5bd228c18c1f99afa155b", + "sha256:4f12d13ffbc16e988fa40809cbbd7a8b45bc05ff6ea0ba8e3e41f6f4db3a9e47", + "sha256:634568a3018bc16a83cda28d4f7aed0d803dd5618facb36e977e53b2df868443", + "sha256:65923bc3809524e46fb7eb4d6346552cbb6a1ffc41be748535aa502a2e3d3389", + "sha256:6b0ceb23560f46dd236a8ad4378fc40bad1783e997604ba845e131d6c680963e", + "sha256:8c8d6ca19c8497344b810b0b0344f8375af5f6bb9c98bd42e33f747417ab3f57", + "sha256:9ad4fcddcbf5dc67619379782e6aeef41218a79e17979aaed01ed099876c0e62", + "sha256:a254b98dbcc744c723a838c03b74a8a34c0558c9ac5c86d5561703362231107d", + "sha256:b03c4338d6d3d299e8ca494194c0ae4f611548da59e3c038813f1a43976cb437", + "sha256:cc1f78ebc982cd0602c9a7615d878396bec94908db67d4ecddca864d049112f2", + "sha256:d6d25c41a009e3c6b7e757338948d0076ee1dd1770d1c09ec131f11946883c54", + "sha256:d84cadd7d7998433334c99fa55bcba0d8b4aeff0edb123b2a1dfcface538e474", + "sha256:e360cb2299028d0b0d0f65a5c5e51fc16a335f1603aa2357c25766c8dab56938", + "sha256:e98d49a5717369d8241d6cf33ecb0ca72deee392414118198a8e5b4c35c56340", + "sha256:ed572470af2438b526ea574ff8f05e7f39b44ac37f712105e57fc4d53a6fb660", + "sha256:f87b39f4d69cf7d7529d7b1098cb712033b17ea7714aed831b95628f483fd012", + "sha256:fa789583fc94a7689b45834453fec095245c7e69c58561dc159b5d5277057e4c" + ], + "index": "pypi", + "version": "==1.5.4" + }, + "seaborn": { + "hashes": [ + "sha256:390f8437b14f5ce845062f2865ad51656464c306d09bb97d7764c6cba1dd607c", + "sha256:62439a38482decdb263a8339f54ecb9823995ad8716abc830e91ca0753201e70" + ], + "index": "pypi", + "version": "==0.11.0" + }, + "send2trash": { + "hashes": [ + "sha256:60001cc07d707fe247c94f74ca6ac0d3255aabcb930529690897ca2a39db28b2", + "sha256:f1691922577b6fa12821234aeb57599d887c4900b9ca537948d2dac34aea888b" + ], + "version": "==1.5.0" + }, + "six": { + "hashes": [ + "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259", + "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.15.0" + }, + "terminado": { + "hashes": [ + "sha256:3da72a155b807b01c9e8a5babd214e052a0a45a975751da3521a1c3381ce6d76", + "sha256:c55f025beb06c2e2669f7ba5a04f47bb3304c30c05842d4981d8f0fc9ab3b4e3" + ], + "markers": "python_version >= '3.6'", + "version": "==0.9.1" + }, + "testpath": { + "hashes": [ + "sha256:60e0a3261c149755f4399a1fff7d37523179a70fdc3abdf78de9fc2604aeec7e", + "sha256:bfcf9411ef4bf3db7579063e0546938b1edda3d69f4e1fb8756991f5951f85d4" + ], + "version": "==0.4.4" + }, + "threadpoolctl": { + "hashes": [ + "sha256:38b74ca20ff3bb42caca8b00055111d74159ee95c4370882bbff2b93d24da725", + "sha256:ddc57c96a38beb63db45d6c159b5ab07b6bced12c45a1f07b2b92f272aebfa6b" + ], + "markers": "python_version >= '3.5'", + "version": "==2.1.0" + }, + "toml": { + "hashes": [ + "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", + "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" + ], + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==0.10.2" + }, + "tornado": { + "hashes": [ + "sha256:0a00ff4561e2929a2c37ce706cb8233b7907e0cdc22eab98888aca5dd3775feb", + "sha256:0d321a39c36e5f2c4ff12b4ed58d41390460f798422c4504e09eb5678e09998c", + "sha256:1e8225a1070cd8eec59a996c43229fe8f95689cb16e552d130b9793cb570a288", + "sha256:20241b3cb4f425e971cb0a8e4ffc9b0a861530ae3c52f2b0434e6c1b57e9fd95", + "sha256:25ad220258349a12ae87ede08a7b04aca51237721f63b1808d39bdb4b2164558", + "sha256:33892118b165401f291070100d6d09359ca74addda679b60390b09f8ef325ffe", + "sha256:33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791", + "sha256:3447475585bae2e77ecb832fc0300c3695516a47d46cefa0528181a34c5b9d3d", + "sha256:34ca2dac9e4d7afb0bed4677512e36a52f09caa6fded70b4e3e1c89dbd92c326", + "sha256:3e63498f680547ed24d2c71e6497f24bca791aca2fe116dbc2bd0ac7f191691b", + "sha256:548430be2740e327b3fe0201abe471f314741efcb0067ec4f2d7dcfb4825f3e4", + "sha256:6196a5c39286cc37c024cd78834fb9345e464525d8991c21e908cc046d1cc02c", + "sha256:61b32d06ae8a036a6607805e6720ef00a3c98207038444ba7fd3d169cd998910", + "sha256:6286efab1ed6e74b7028327365cf7346b1d777d63ab30e21a0f4d5b275fc17d5", + "sha256:65d98939f1a2e74b58839f8c4dab3b6b3c1ce84972ae712be02845e65391ac7c", + "sha256:66324e4e1beede9ac79e60f88de548da58b1f8ab4b2f1354d8375774f997e6c0", + "sha256:6c77c9937962577a6a76917845d06af6ab9197702a42e1346d8ae2e76b5e3675", + "sha256:70dec29e8ac485dbf57481baee40781c63e381bebea080991893cd297742b8fd", + "sha256:7250a3fa399f08ec9cb3f7b1b987955d17e044f1ade821b32e5f435130250d7f", + "sha256:748290bf9112b581c525e6e6d3820621ff020ed95af6f17fedef416b27ed564c", + "sha256:7da13da6f985aab7f6f28debab00c67ff9cbacd588e8477034c0652ac141feea", + "sha256:8f959b26f2634a091bb42241c3ed8d3cedb506e7c27b8dd5c7b9f745318ddbb6", + "sha256:9de9e5188a782be6b1ce866e8a51bc76a0fbaa0e16613823fc38e4fc2556ad05", + "sha256:a48900ecea1cbb71b8c71c620dee15b62f85f7c14189bdeee54966fbd9a0c5bd", + "sha256:b87936fd2c317b6ee08a5741ea06b9d11a6074ef4cc42e031bc6403f82a32575", + "sha256:c77da1263aa361938476f04c4b6c8916001b90b2c2fdd92d8d535e1af48fba5a", + "sha256:cb5ec8eead331e3bb4ce8066cf06d2dfef1bfb1b2a73082dfe8a161301b76e37", + "sha256:cc0ee35043162abbf717b7df924597ade8e5395e7b66d18270116f8745ceb795", + "sha256:d14d30e7f46a0476efb0deb5b61343b1526f73ebb5ed84f23dc794bdb88f9d9f", + "sha256:d371e811d6b156d82aa5f9a4e08b58debf97c302a35714f6f45e35139c332e32", + "sha256:d3d20ea5782ba63ed13bc2b8c291a053c8d807a8fa927d941bd718468f7b950c", + "sha256:d3f7594930c423fd9f5d1a76bee85a2c36fd8b4b16921cae7e965f22575e9c01", + "sha256:dcef026f608f678c118779cd6591c8af6e9b4155c44e0d1bc0c87c036fb8c8c4", + "sha256:e0791ac58d91ac58f694d8d2957884df8e4e2f6687cdf367ef7eb7497f79eaa2", + "sha256:e385b637ac3acaae8022e7e47dfa7b83d3620e432e3ecb9a3f7f58f150e50921", + "sha256:e519d64089b0876c7b467274468709dadf11e41d65f63bba207e04217f47c085", + "sha256:e7229e60ac41a1202444497ddde70a48d33909e484f96eb0da9baf8dc68541df", + "sha256:ed3ad863b1b40cd1d4bd21e7498329ccaece75db5a5bf58cd3c9f130843e7102", + "sha256:f0ba29bafd8e7e22920567ce0d232c26d4d47c8b5cf4ed7b562b5db39fa199c5", + "sha256:fa2ba70284fa42c2a5ecb35e322e68823288a4251f9ba9cc77be04ae15eada68", + "sha256:fba85b6cd9c39be262fcd23865652920832b61583de2a2ca907dbd8e8a8c81e5" + ], + "markers": "python_version >= '3.5'", + "version": "==6.1" + }, + "traitlets": { + "hashes": [ + "sha256:178f4ce988f69189f7e523337a3e11d91c786ded9360174a3d9ca83e79bc5396", + "sha256:69ff3f9d5351f31a7ad80443c2674b7099df13cc41fc5fa6e2f6d3b0330b0426" + ], + "markers": "python_version >= '3.7'", + "version": "==5.0.5" + }, + "typed-ast": { + "hashes": [ + "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355", + "sha256:0c2c07682d61a629b68433afb159376e24e5b2fd4641d35424e462169c0a7919", + "sha256:0d8110d78a5736e16e26213114a38ca35cb15b6515d535413b090bd50951556d", + "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa", + "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652", + "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75", + "sha256:3742b32cf1c6ef124d57f95be609c473d7ec4c14d0090e5a5e05a15269fb4d0c", + "sha256:4083861b0aa07990b619bd7ddc365eb7fa4b817e99cf5f8d9cf21a42780f6e01", + "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d", + "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1", + "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907", + "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c", + "sha256:73d785a950fc82dd2a25897d525d003f6378d1cb23ab305578394694202a58c3", + "sha256:7e4c9d7658aaa1fc80018593abdf8598bf91325af6af5cce4ce7c73bc45ea53d", + "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b", + "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614", + "sha256:92c325624e304ebf0e025d1224b77dd4e6393f18aab8d829b5b7e04afe9b7a2c", + "sha256:aaee9905aee35ba5905cfb3c62f3e83b3bec7b39413f0a7f19be4e547ea01ebb", + "sha256:b52ccf7cfe4ce2a1064b18594381bccf4179c2ecf7f513134ec2f993dd4ab395", + "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b", + "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41", + "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6", + "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34", + "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe", + "sha256:d648b8e3bf2fe648745c8ffcee3db3ff903d0817a01a12dd6a6ea7a8f4889072", + "sha256:f208eb7aff048f6bea9586e61af041ddf7f9ade7caed625742af423f6bae3298", + "sha256:fac11badff8313e23717f3dada86a15389d0708275bddf766cca67a84ead3e91", + "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4", + "sha256:fcf135e17cc74dbfbc05894ebca928ffeb23d9790b3167a674921db19082401f", + "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7" + ], + "version": "==1.4.1" + }, + "typing-extensions": { + "hashes": [ + "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918", + "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c", + "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f" + ], + "version": "==3.7.4.3" + }, + "urllib3": { + "hashes": [ + "sha256:19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08", + "sha256:d8ff90d979214d7b4f8ce956e80f4028fc6860e4431f731ea4a8c08f23f99473" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", + "version": "==1.26.2" + }, + "wcwidth": { + "hashes": [ + "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784", + "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83" + ], + "version": "==0.2.5" + }, + "webencodings": { + "hashes": [ + "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", + "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923" + ], + "version": "==0.5.1" + }, + "widgetsnbextension": { + "hashes": [ + "sha256:079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7", + "sha256:bd314f8ceb488571a5ffea6cc5b9fc6cba0adaf88a9d2386b93a489751938bcd" + ], + "version": "==3.5.1" + } + }, + "develop": {} +} -- GitLab From 51c512da2208b33f33c3100fbc3cea5b05ea832a Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Mon, 28 Dec 2020 21:21:26 +0200 Subject: [PATCH 02/18] updated Pipfile.lock --- experiments/charts/Pipfile.lock | 273 ++++++++++++++++++++------------ 1 file changed, 168 insertions(+), 105 deletions(-) diff --git a/experiments/charts/Pipfile.lock b/experiments/charts/Pipfile.lock index 5b174d75..94014762 100644 --- a/experiments/charts/Pipfile.lock +++ b/experiments/charts/Pipfile.lock @@ -16,6 +16,14 @@ ] }, "default": { + "anyio": { + "hashes": [ + "sha256:01cce0087b8fd8b6b7e629dc11505dcde02f916ce903332892cb2ae9817b597d", + "sha256:35075abd32cf20fd7e0be2fee3614e80b92d5392eba257c8d2f33de3df7ca237" + ], + "markers": "python_full_version >= '3.6.2'", + "version": "==2.0.2" + }, "appdirs": { "hashes": [ "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41", @@ -25,11 +33,11 @@ }, "appnope": { "hashes": [ - "sha256:5b26757dc6f79a3b7dc9fab95359328d5747fcb2409d331ea66d0272b90ab2a0", - "sha256:8b995ffe925347a2138d7ac0fe77155e4311a0ea6d6da4f5128fe4b3cbe5ed71" + "sha256:93aa393e9d6c54c5cd570ccadd8edad61ea0c4b9ea7a01409020c9aa019eb442", + "sha256:dd83cd4b5b460958838f6eb3000c660b1f9caf2a5b1de4264e941512f603258a" ], "markers": "sys_platform == 'darwin' and platform_system == 'Darwin'", - "version": "==0.1.0" + "version": "==0.1.2" }, "argon2-cffi": { "hashes": [ @@ -70,6 +78,14 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==20.3.0" }, + "babel": { + "hashes": [ + "sha256:9d35c22fcc79893c3ecc85ac4a56cde1ecf3f19c540bba0922308a6c06ca6fa5", + "sha256:da031ab54472314f210b0adcff1588ee5d1d1d0ba4dbd07b94dba82bde791e05" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.9.0" + }, "backcall": { "hashes": [ "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", @@ -101,10 +117,10 @@ }, "certifi": { "hashes": [ - "sha256:1f422849db327d534e3d0c5f02a263458c3955ec0aae4ff09b95f195c59f4edd", - "sha256:f05def092c44fbf25834a51509ef6e631dc19765ab8a57b4e7ab85531f0a9cf4" + "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c", + "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830" ], - "version": "==2020.11.8" + "version": "==2020.12.5" }, "cffi": { "hashes": [ @@ -129,12 +145,14 @@ "sha256:9cc46bc107224ff5b6d04369e7c595acb700c3613ad7bcf2e2012f62ece80c35", "sha256:9f7a31251289b2ab6d4012f6e83e58bc3b96bd151f5b5262467f4bb6b34a7c26", "sha256:9ffb888f19d54a4d4dfd4b3f29bc2c16aa4972f1c2ab9c4ab09b8ab8685b9c2b", + "sha256:a5ed8c05548b54b998b9498753fb9cadbfd92ee88e884641377d8a8b291bcc01", "sha256:a7711edca4dcef1a75257b50a2fbfe92a65187c47dab5a0f1b9b332c5919a3fb", "sha256:af5c59122a011049aad5dd87424b8e65a80e4a6477419c0c1015f73fb5ea0293", "sha256:b18e0a9ef57d2b41f5c68beefa32317d286c3d6ac0484efd10d6e07491bb95dd", "sha256:b4e248d1087abf9f4c10f3c398896c87ce82a9856494a7155823eb45a892395d", "sha256:ba4e9e0ae13fc41c6b23299545e5ef73055213e466bd107953e4a013a5ddd7e3", "sha256:c6332685306b6417a91b1ff9fae889b3ba65c2292d64bd9245c093b1b284809d", + "sha256:d5ff0621c88ce83a28a10d2ce719b2ee85635e85c515f12bac99a95306da4b2e", "sha256:d9efd8b7a3ef378dd61a1e77367f1924375befc2eba06168b6ebfa903a5e59ca", "sha256:df5169c4396adc04f9b0a05f13c074df878b6052430e03f50e68adf3a57aa28d", "sha256:ebb253464a5d0482b191274f1c8bf00e33f7e0b9c66405fbffc61ed2c839c775", @@ -147,10 +165,11 @@ }, "chardet": { "hashes": [ - "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", - "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" + "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa", + "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5" ], - "version": "==3.0.4" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==4.0.0" }, "click": { "hashes": [ @@ -200,11 +219,11 @@ }, "ipykernel": { "hashes": [ - "sha256:9b2652af1607986a1b231c62302d070bc0534f564c393a5d9d130db9abbbe89d", - "sha256:d6fbba26dba3cebd411382bc484f7bc2caa98427ae0ddb4ab37fe8bfeb5c7dd3" + "sha256:63b4b96c513e1138874934e3e783a8e5e13c02b9036e37107bfe042ac8955005", + "sha256:e20ceb7e52cb4d250452e1230be76e0b2323f33bd46c6b2bc7abb6601740e182" ], "markers": "python_version >= '3.5'", - "version": "==5.3.4" + "version": "==5.4.2" }, "ipython": { "hashes": [ @@ -223,18 +242,18 @@ }, "ipywidgets": { "hashes": [ - "sha256:13ffeca438e0c0f91ae583dc22f50379b9d6b28390ac7be8b757140e9a771516", - "sha256:e945f6e02854a74994c596d9db83444a1850c01648f1574adf144fbbabe05c97" + "sha256:bbb881ce18fb0cff4ac718f40c04709c7ac86a77abee149f1b447965ede86e36", + "sha256:eab960f737f380075cabca41f92e5e81dfb6eba3ce6392094469ef2418ca4d35" ], - "version": "==7.5.1" + "version": "==7.6.2" }, "jedi": { "hashes": [ - "sha256:86ed7d9b750603e4ba582ea8edc678657fb4007894a12bcf6f4bb97892f31d20", - "sha256:98cc583fa0f2f8304968199b01b6b4b94f469a1f4a74c1560506ca2a211378b5" + "sha256:18456d83f65f400ab0c2d3319e48520420ef43b23a086fdc05dff34132f0fb93", + "sha256:92550a404bad8afed881a137ec9a461fed49eca661414be45059329614ed0707" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==0.17.2" + "markers": "python_version >= '3.6'", + "version": "==0.18.0" }, "jinja2": { "hashes": [ @@ -246,11 +265,11 @@ }, "joblib": { "hashes": [ - "sha256:698c311779f347cf6b7e6b8a39bb682277b8ee4aba8cf9507bc0cf4cd4737b72", - "sha256:9e284edd6be6b71883a63c9b7f124738a3c16195513ad940eae7e3438de885d5" + "sha256:75ead23f13484a2a414874779d69ade40d4fa1abe62b222a23cd50d4bc822f6f", + "sha256:7ad866067ac1fdec27d51c8678ea760601b70e32ff1881d4dc8e1171f2b64b24" ], "markers": "python_version >= '3.6'", - "version": "==0.17.0" + "version": "==1.0.0" }, "json5": { "hashes": [ @@ -299,13 +318,21 @@ "markers": "python_version >= '3.6'", "version": "==4.7.0" }, + "jupyter-server": { + "hashes": [ + "sha256:1c684fa73cad376b09f307ce817be50a50bca78c8be52aa059ec5481098dba1f", + "sha256:23ce959718592ba472db7982a5daf15dda3397fd50bb54d05ad10c09fe122905" + ], + "markers": "python_version >= '3.6'", + "version": "==1.1.3" + }, "jupyterlab": { "hashes": [ - "sha256:3be8f8edea173753dd838c1b6d3bbcb6f5c801121f824a477025c1b6a1d33dc6", - "sha256:59af02c26a15ec2d2862a15bc72e41ae304b406a0b0d3f4f705eeb7caf91902b" + "sha256:15228dff3f77b0bca795fd232cb25f02121510cec83f1d25856b3bc8e585b087", + "sha256:42cf1b8c7ebe4e2a502f8538b852c3d553ddde21cb5da6085c4b6bfe67b34fa6" ], "index": "pypi", - "version": "==2.2.9" + "version": "==3.0.0" }, "jupyterlab-pygments": { "hashes": [ @@ -316,19 +343,27 @@ }, "jupyterlab-server": { "hashes": [ - "sha256:5431d9dde96659364b7cc877693d5d21e7b80cea7ae3959ecc2b87518e5f5d8c", - "sha256:55d256077bf13e5bc9e8fbd5aac51bef82f6315111cec6b712b9a5ededbba924" + "sha256:1350c36954d3d16c71129b30b60b9df11e8fcf2f3acf88596f6abc8a79b0c918", + "sha256:20a4e495276956528783c0befab58e409d9f6258589caccb4c0591387caadc84" + ], + "markers": "python_version >= '3.6'", + "version": "==2.0.0" + }, + "jupyterlab-widgets": { + "hashes": [ + "sha256:5c1a29a84d3069208cb506b10609175b249b6486d6b1cbae8fcde2a11584fb78", + "sha256:caeaf3e6103180e654e7d8d2b81b7d645e59e432487c1d35a41d6d3ee56b3fef" ], "markers": "python_version >= '3.5'", - "version": "==1.2.0" + "version": "==1.0.0" }, "jupytext": { "hashes": [ - "sha256:23123b90c267c67716fe6a022dfae49b84fd3809370d83211f2920eb3106bf40", - "sha256:e48f57afdc807cc2d2920bd6ae18455264db78b1fc78061ad70dcc26dc45a2cb" + "sha256:0643797c30e7a2b15a4d2d269a74b52ca1a6e982f7927c4da03e339cd7214437", + "sha256:e7f85424b4bd7c012ea0b9f1232f1da27b099aa9d818b8d95c4af108607d9254" ], "index": "pypi", - "version": "==1.7.1" + "version": "==1.8.0" }, "kiwisolver": { "hashes": [ @@ -370,11 +405,11 @@ }, "markdown-it-py": { "hashes": [ - "sha256:6143d11221495edbf71beb7e455821ae6c8f0156710a1b11812662ed6dbd165b", - "sha256:dcfe4a0c6bef711cb6c42494ebf23a3cfe6f249bf995556498497dd8193bfc22" + "sha256:1c1413df39ef7baa55bca755d32c565d72e8b4114dcdd3da65eb468a61886659", + "sha256:f90912a0ff1ac328627d1551bd5a17bce0ef1d483df222d460336e59213c6d29" ], - "markers": "python_version >= '3.6'", - "version": "==0.5.6" + "markers": "python_version ~= '3.6'", + "version": "==0.6.0" }, "markupsafe": { "hashes": [ @@ -446,6 +481,14 @@ "index": "pypi", "version": "==3.3.3" }, + "mdit-py-plugins": { + "hashes": [ + "sha256:e7db0de4a3466941faa433f77a98d09a09a0b877e79eace79506fd0d083e490f", + "sha256:f13ad035e977db0dd268af4a372716f3b555f1435f9623b4aed10c3c8bbf618c" + ], + "markers": "python_version ~= '3.6'", + "version": "==0.2.4" + }, "mistune": { "hashes": [ "sha256:59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e", @@ -467,6 +510,14 @@ "index": "pypi", "version": "==1.0.7" }, + "nbclassic": { + "hashes": [ + "sha256:96ffc2b5e01e06825c7558066fc66f2dff00fc7a499ad4988738fda076d5587a", + "sha256:e6da2116ab76a63de62f42cf8ea93c9a0c564aaf8315834f7c52efb85b4640ab" + ], + "markers": "python_version >= '3.6'", + "version": "==0.2.5" + }, "nbclient": { "hashes": [ "sha256:01e2d726d16eaf2cde6db74a87e2451453547e8832d142f73f72fddcd4fe0250", @@ -501,11 +552,11 @@ }, "notebook": { "hashes": [ - "sha256:3db37ae834c5f3b6378381229d0e5dfcbfb558d08c8ce646b1ad355147f5e91d", - "sha256:508cf9dad7cdb3188f1aa27017dc78179029dfe83814fc505329f689bc2ab50f" + "sha256:cf40d4f81541401db5a2fda1707ca7877157abd41f04ef7b88f02b67f3c61791", + "sha256:e6a62188e319a5d45dd2ed24719f646adf88bef8be1f654ebd0ab360ece6d7a6" ], "markers": "python_version >= '3.5'", - "version": "==6.1.5" + "version": "==6.1.6" }, "numpy": { "hashes": [ @@ -549,41 +600,34 @@ }, "packaging": { "hashes": [ - "sha256:05af3bb85d320377db281cf254ab050e1a7ebcbf5410685a9a407e18a1f81236", - "sha256:eb41423378682dadb7166144a4926e443093863024de508ca5c9737d6bc08376" + "sha256:24e0da08660a87484d1602c30bb4902d74816b6985b93de36926f5bc95741858", + "sha256:78598185a7008a470d64526a8059de9aaa449238f280fc9eb6b13ba6c4109093" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==20.7" + "version": "==20.8" }, "pandas": { "hashes": [ - "sha256:09e0503758ad61afe81c9069505f8cb8c1e36ea8cc1e6826a95823ef5b327daf", - "sha256:0a11a6290ef3667575cbd4785a1b62d658c25a2fd70a5adedba32e156a8f1773", - "sha256:0d9a38a59242a2f6298fff45d09768b78b6eb0c52af5919ea9e45965d7ba56d9", - "sha256:112c5ba0f9ea0f60b2cc38c25f87ca1d5ca10f71efbee8e0f1bee9cf584ed5d5", - "sha256:185cf8c8f38b169dbf7001e1a88c511f653fbb9dfa3e048f5e19c38049e991dc", - "sha256:3aa8e10768c730cc1b610aca688f588831fa70b65a26cb549fbb9f35049a05e0", - "sha256:41746d520f2b50409dffdba29a15c42caa7babae15616bcf80800d8cfcae3d3e", - "sha256:43cea38cbcadb900829858884f49745eb1f42f92609d368cabcc674b03e90efc", - "sha256:5378f58172bd63d8c16dd5d008d7dcdd55bf803fcdbe7da2dcb65dbbf322f05b", - "sha256:54404abb1cd3f89d01f1fb5350607815326790efb4789be60508f458cdd5ccbf", - "sha256:5dac3aeaac5feb1016e94bde851eb2012d1733a222b8afa788202b836c97dad5", - "sha256:5fdb2a61e477ce58d3f1fdf2470ee142d9f0dde4969032edaf0b8f1a9dafeaa2", - "sha256:6613c7815ee0b20222178ad32ec144061cb07e6a746970c9160af1ebe3ad43b4", - "sha256:6d2b5b58e7df46b2c010ec78d7fb9ab20abf1d306d0614d3432e7478993fbdb0", - "sha256:8a5d7e57b9df2c0a9a202840b2881bb1f7a648eba12dd2d919ac07a33a36a97f", - "sha256:8b4c2055ebd6e497e5ecc06efa5b8aa76f59d15233356eb10dad22a03b757805", - "sha256:a15653480e5b92ee376f8458197a58cca89a6e95d12cccb4c2d933df5cecc63f", - "sha256:a7d2547b601ecc9a53fd41561de49a43d2231728ad65c7713d6b616cd02ddbed", - "sha256:a979d0404b135c63954dea79e6246c45dd45371a88631cdbb4877d844e6de3b6", - "sha256:b1f8111635700de7ac350b639e7e452b06fc541a328cf6193cf8fc638804bab8", - "sha256:c5a3597880a7a29a31ebd39b73b2c824316ae63a05c3c8a5ce2aea3fc68afe35", - "sha256:c681e8fcc47a767bf868341d8f0d76923733cbdcabd6ec3a3560695c69f14a1e", - "sha256:cf135a08f306ebbcfea6da8bf775217613917be23e5074c69215b91e180caab4", - "sha256:e2b8557fe6d0a18db4d61c028c6af61bfed44ef90e419ed6fadbdc079eba141e" + "sha256:0be6102dd99910513e75ed6536284743ead810349c51bdeadd2a5b6649f30abb", + "sha256:272675a98fa4954b9fc0933df775596fc942e50015d7e75d8f19548808a2bfdf", + "sha256:2d8b4f532db37418121831a461fd107d826c240b098f52e7a1b4ab3d5aaa4fb2", + "sha256:33318fa24b192b1a4684347ff76679a7267fd4e547da9f71556a5914f0dc10e7", + "sha256:3bc6d2be03cb75981d8cbeda09503cd9d6d699fc0dc28a65e197165ad527b7b8", + "sha256:43482789c55cbabeed9482263cfc98a11e8fcae900cb63ef038948acb4a72570", + "sha256:616478c1bd8fe1e600f521ae2da434e021c11e7a4e5da3451d02906143d3629a", + "sha256:6c1a57e4d0d6f9633a07817c44e6b36d81c265fe4c52d0c0505513a2d0f7953c", + "sha256:7904ee438549b5223ce8dc008772458dd7c5cf0ccc64cf903e81202400702235", + "sha256:7b54c14130a3448d81eed1348f52429c23e27188d9db6e6d4afeae792bc49c11", + "sha256:8f92b07cdbfa3704d85b4264e52c216cafe6c0059b0d07cdad8cb29e0b90f2b8", + "sha256:91fd0b94e7b98528177a05e6f65efea79d7ef9dec15ee48c7c69fc39fdd87235", + "sha256:9c6692cea6d56da8650847172bdb148622f545e7782d17995822434c79d7a211", + "sha256:9e18631d996fe131de6cb31a8bdae18965cc8f39eb23fdfbbf42808ecc63dabf", + "sha256:cba93d4fd3b0a42858b2b599495aff793fb5d94587979f45a14177d1217ba446", + "sha256:e03386615b970b8b41da6a68afe717626741bb2431cec993640685614c0680e4", + "sha256:f8b87d2f541cd9bc4ecfe85a561abac85c33fe4de4ce70cca36b2768af2611f5" ], "index": "pypi", - "version": "==1.1.4" + "version": "==1.2.0" }, "pandocfilters": { "hashes": [ @@ -593,11 +637,11 @@ }, "parso": { "hashes": [ - "sha256:97218d9159b2520ff45eb78028ba8b50d2bc61dcc062a9682666f2dc4bd331ea", - "sha256:caba44724b994a8a5e086460bb212abc5a8bc46951bf4a9a1210745953622eb9" + "sha256:15b00182f472319383252c18d5913b69269590616c947747bc50bf4ac768f410", + "sha256:8519430ad07087d4c997fda3a7918f7cfa27cb58972a8c89c2a0295a1c940e9e" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.7.1" + "markers": "python_version >= '3.6'", + "version": "==0.8.1" }, "pathspec": { "hashes": [ @@ -672,11 +716,11 @@ }, "ptyprocess": { "hashes": [ - "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0", - "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f" + "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", + "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" ], "markers": "os_name != 'nt'", - "version": "==0.6.0" + "version": "==0.7.0" }, "pycparser": { "hashes": [ @@ -688,11 +732,11 @@ }, "pygments": { "hashes": [ - "sha256:381985fcc551eb9d37c52088a32914e00517e57f4a21609f48141ba08e193fa0", - "sha256:88a0bbcd659fcb9573703957c6b9cff9fab7295e6e76db54c9d00ae42df32773" + "sha256:ccf3acacf3782cbed4a989426012f1c535c9a90d3a7fc3f16d231b9372d2b716", + "sha256:f275b6c0909e5dafd2d6269a656aa90fa58ebf4a74f8fcf9053195d226b24a08" ], "markers": "python_version >= '3.5'", - "version": "==2.7.2" + "version": "==2.7.3" }, "pyparsing": { "hashes": [ @@ -719,18 +763,18 @@ }, "pytility": { "hashes": [ - "sha256:2020592384f6195cd7b6b894cedd05a591c38fa706ab6d7af6c798d522ce7434", - "sha256:97af04966494ddf3998f17b378e62a5841f42b50db366d618970108aaf7b8f52" + "sha256:a6e8fd800b04c959162d30470f3887a575a5d82a9d1695cd282a4fdafe02a188", + "sha256:c12c22c4eac1ce71a3c812931057eb73e8b8c001cd08973a941630b7f667b31e" ], "index": "pypi", - "version": "==0.1.3" + "version": "==0.2.0" }, "pytz": { "hashes": [ - "sha256:3e6b7dd2d1e0a59084bcee14a17af60c5c562cdc16d828e8eba2e683d3a7e268", - "sha256:5c55e189b682d420be27c6995ba6edce0c0a77dd67bfbe2ae6607134d5851ffd" + "sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4", + "sha256:180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5" ], - "version": "==2020.4" + "version": "==2020.5" }, "pyyaml": { "hashes": [ @@ -762,6 +806,7 @@ "sha256:46250789730489009fe139cbf576679557c070a6a3628077d09a4153d52fd381", "sha256:4d9259a5eb3f71abbaf61f165cacf42240bfeea3783bebd8255341abdfe206f1", "sha256:523d542823cabb94065178090e05347bd204365f6e7cb260f0071c995d392fc2", + "sha256:53706f4a792cdae422121fb6a5e65119bad02373153364fc9d004cf6a90394de", "sha256:5efe02bdcc5eafcac0aab531292294298f0ab8d28ed43be9e507d0e09173d1a4", "sha256:63ee08e35be72fdd7568065a249a5b5cf51a2e8ab6ee63cf9f73786fcb9e710b", "sha256:6e24907857c80dc67692e31f5bf3ad5bf483ee0142cec95b3d47e2db8c43bdda", @@ -777,6 +822,7 @@ "sha256:cfa54a162a7b32641665e99b2c12084555afe9fc8fe80ec8b2f71a57320d10e1", "sha256:d81184489369ec325bd50ba1c935361e63f31f578430b9ad95471899361a8253", "sha256:d92c7f41a53ece82b91703ea433c7d34143248cf0cead33aa11c5fc621c764bf", + "sha256:dc2f48b575dff6edefd572f1ac84cf0c3f18ad5fcf13384de32df740a010594a", "sha256:f0beef935efe78a63c785bb21ed56c1c24448511383e3994927c8bb2caf5e714", "sha256:f110a4d3f8f01209eec304ed542f6c8054cce9b0f16dfe3d571e57c290e4e133" ], @@ -846,33 +892,42 @@ }, "requests": { "hashes": [ - "sha256:7f1a0b932f4a60a1a65caa4263921bb7d9ee911957e0ae4a23a6dd08185ad5f8", - "sha256:e786fa28d8c9154e6a4de5d46a1d921b8749f8b74e28bde23768e5e16eece998" + "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804", + "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==2.25.0" + "version": "==2.25.1" }, "scikit-learn": { "hashes": [ - "sha256:0a127cc70990d4c15b1019680bfedc7fec6c23d14d3719fdf9b64b22d37cdeca", - "sha256:0d39748e7c9669ba648acf40fb3ce96b8a07b240db6888563a7cb76e05e0d9cc", - "sha256:1b8a391de95f6285a2f9adffb7db0892718950954b7149a70c783dc848f104ea", - "sha256:20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480", - "sha256:2aa95c2f17d2f80534156215c87bee72b6aa314a7f8b8fe92a2d71f47280570d", - "sha256:5ce7a8021c9defc2b75620571b350acc4a7d9763c25b7593621ef50f3bd019a2", - "sha256:6c28a1d00aae7c3c9568f61aafeaad813f0f01c729bee4fd9479e2132b215c1d", - "sha256:7671bbeddd7f4f9a6968f3b5442dac5f22bf1ba06709ef888cc9132ad354a9ab", - "sha256:914ac2b45a058d3f1338d7736200f7f3b094857758895f8667be8a81ff443b5b", - "sha256:98508723f44c61896a4e15894b2016762a55555fbf09365a0bb1870ecbd442de", - "sha256:a64817b050efd50f9abcfd311870073e500ae11b299683a519fbb52d85e08d25", - "sha256:cb3e76380312e1f86abd20340ab1d5b3cc46a26f6593d3c33c9ea3e4c7134028", - "sha256:d0dcaa54263307075cb93d0bee3ceb02821093b1b3d25f66021987d305d01dce", - "sha256:d9a1ce5f099f29c7c33181cc4386660e0ba891b21a60dc036bf369e3a3ee3aec", - "sha256:da8e7c302003dd765d92a5616678e591f347460ac7b53e53d667be7dfe6d1b10", - "sha256:daf276c465c38ef736a79bd79fc80a249f746bcbcae50c40945428f7ece074f8" + "sha256:076369634ee72b5a5941440661e2f306ff4ac30903802dc52031c7e9199ac640", + "sha256:18f7131e62265bf2691ed1d0303c640313894ccfe4278427478c6b2f45094b53", + "sha256:26f66b3726b54dfb76ea51c5d9c2431ed17ebc066cb4527662b9e851a3e7ba61", + "sha256:2951f87d35e72f007701c6e028aa230f6df6212a3194677c0c950486066a454d", + "sha256:2a5348585aa793bc8cc5a72f8e9067c9380834b0aadbd55f924843b071f13282", + "sha256:3eeff086f7329521d27249a082ea3c48c085cedb110db5f65968ab55c3ba2e09", + "sha256:4395e91b3548005f4a645018435b5a94f8cce232b5b70753020e606c6a750656", + "sha256:44e452ea8491225c5783d49577aad0f36202dfd52aec7f82c0fdfe5fbd5f7400", + "sha256:490436b44b3a1957cb625e871764b0aa330b34cc416aea4abc6c38ca63d0d682", + "sha256:5e6e3c042cea83f2e20a45e563b8eabc1f8f72446251fe23ebefdf111a173a33", + "sha256:66f27bf21202a850bcd7b6303916e4907f6e22ec59a14974ede4955aed5c7ed0", + "sha256:743b6edd98c98991be46c08e6b21df3861d5ae915f91d59f988384d93f7263e7", + "sha256:758619e49cd7c17282e6cc60d5cc73c02c072b47c9a10010bb3bb47e0d976e50", + "sha256:7f654befc5ad413690cc58f3f34a3e906caf825195ce0fda00a8e9565e1403e6", + "sha256:800aaf63f8838c00e85db2267dd226f89858594843fd03932a9eda95746d2c40", + "sha256:80ca024154b84b6ac4cfc86930ba13fdc348a209753bf2c16129db6f9eb8a80b", + "sha256:890d7d588f65acb0c4f6c083347c9076916bda5e6bd8400f06244b1afc1009af", + "sha256:905d8934d1e27a686698864a5863ff2c0e13a2ae1adb78a8a848aacc8a49927d", + "sha256:afeb06dc69847927634e58579b9cdc72e1390b79497336b2324b1b173f33bd47", + "sha256:b0d13fd56d26cf3de0314a4fd48037108c638fe126d813f5c1222bb0f08b6a76", + "sha256:c08b27cb78ee8d2dc781a7affed09859441f5b624f9f92da59ac0791c8774dfc", + "sha256:c912247e42114f389858ae05d63f4359d4e667ea72aaabee191aee9ad3f9774a", + "sha256:d7fe05fcb44eadd6d6c874c768f085f5de1239db3a3b7be4d3d23d12e4120589", + "sha256:d819d625832fb2969911a243e009cfa135cb8ef1e150866e417d6e9d75290087", + "sha256:e534f5f3796db6781c87e9835dcd51b7854c8c5a379c9210b93605965c1941fd" ], "index": "pypi", - "version": "==0.23.2" + "version": "==0.24.0" }, "scipy": { "hashes": [ @@ -907,11 +962,11 @@ }, "seaborn": { "hashes": [ - "sha256:390f8437b14f5ce845062f2865ad51656464c306d09bb97d7764c6cba1dd607c", - "sha256:62439a38482decdb263a8339f54ecb9823995ad8716abc830e91ca0753201e70" + "sha256:44e78eaed937c5a87fc7a892c329a7cc091060b67ebd1d0d306b446a74ba01ad", + "sha256:4e1cce9489449a1c6ff3c567f2113cdb41122f727e27a984950d004a88ef3c5c" ], "index": "pypi", - "version": "==0.11.0" + "version": "==0.11.1" }, "send2trash": { "hashes": [ @@ -928,6 +983,14 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.15.0" }, + "sniffio": { + "hashes": [ + "sha256:471b71698eac1c2112a40ce2752bb2f4a4814c22a54a3eed3676bc0f5ca9f663", + "sha256:c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de" + ], + "markers": "python_version >= '3.5'", + "version": "==1.2.0" + }, "terminado": { "hashes": [ "sha256:3da72a155b807b01c9e8a5babd214e052a0a45a975751da3521a1c3381ce6d76", -- GitLab From 96674fe76ef30fe281853f7e1c47d0c108b080a0 Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Mon, 28 Dec 2020 21:27:56 +0200 Subject: [PATCH 03/18] downgrade jupyterlab --- experiments/charts/Pipfile | 2 +- experiments/charts/Pipfile.lock | 56 +++++---------------------------- 2 files changed, 9 insertions(+), 49 deletions(-) diff --git a/experiments/charts/Pipfile b/experiments/charts/Pipfile index f5065a8c..5ae72d72 100644 --- a/experiments/charts/Pipfile +++ b/experiments/charts/Pipfile @@ -8,7 +8,7 @@ verify_ssl = true [packages] bokeh = "*" jupyter = "*" -jupyterlab = "*" +jupyterlab = "<3.0.0" jupytext = "*" matplotlib = "*" nb-black = "*" diff --git a/experiments/charts/Pipfile.lock b/experiments/charts/Pipfile.lock index 94014762..9aef8f12 100644 --- a/experiments/charts/Pipfile.lock +++ b/experiments/charts/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "e3ac87e20f7e96ba663b04d267b1be4e8983fc942b8c414beaa72fe7d844ff1e" + "sha256": "8c99bf092d675c2498b9f598c0a6907f9c9f3b963b771edaaf1494a5fbc4b235" }, "pipfile-spec": 6, "requires": { @@ -16,14 +16,6 @@ ] }, "default": { - "anyio": { - "hashes": [ - "sha256:01cce0087b8fd8b6b7e629dc11505dcde02f916ce903332892cb2ae9817b597d", - "sha256:35075abd32cf20fd7e0be2fee3614e80b92d5392eba257c8d2f33de3df7ca237" - ], - "markers": "python_full_version >= '3.6.2'", - "version": "==2.0.2" - }, "appdirs": { "hashes": [ "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41", @@ -78,14 +70,6 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==20.3.0" }, - "babel": { - "hashes": [ - "sha256:9d35c22fcc79893c3ecc85ac4a56cde1ecf3f19c540bba0922308a6c06ca6fa5", - "sha256:da031ab54472314f210b0adcff1588ee5d1d1d0ba4dbd07b94dba82bde791e05" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.9.0" - }, "backcall": { "hashes": [ "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", @@ -318,21 +302,13 @@ "markers": "python_version >= '3.6'", "version": "==4.7.0" }, - "jupyter-server": { - "hashes": [ - "sha256:1c684fa73cad376b09f307ce817be50a50bca78c8be52aa059ec5481098dba1f", - "sha256:23ce959718592ba472db7982a5daf15dda3397fd50bb54d05ad10c09fe122905" - ], - "markers": "python_version >= '3.6'", - "version": "==1.1.3" - }, "jupyterlab": { "hashes": [ - "sha256:15228dff3f77b0bca795fd232cb25f02121510cec83f1d25856b3bc8e585b087", - "sha256:42cf1b8c7ebe4e2a502f8538b852c3d553ddde21cb5da6085c4b6bfe67b34fa6" + "sha256:3be8f8edea173753dd838c1b6d3bbcb6f5c801121f824a477025c1b6a1d33dc6", + "sha256:59af02c26a15ec2d2862a15bc72e41ae304b406a0b0d3f4f705eeb7caf91902b" ], "index": "pypi", - "version": "==3.0.0" + "version": "==2.2.9" }, "jupyterlab-pygments": { "hashes": [ @@ -343,11 +319,11 @@ }, "jupyterlab-server": { "hashes": [ - "sha256:1350c36954d3d16c71129b30b60b9df11e8fcf2f3acf88596f6abc8a79b0c918", - "sha256:20a4e495276956528783c0befab58e409d9f6258589caccb4c0591387caadc84" + "sha256:5431d9dde96659364b7cc877693d5d21e7b80cea7ae3959ecc2b87518e5f5d8c", + "sha256:55d256077bf13e5bc9e8fbd5aac51bef82f6315111cec6b712b9a5ededbba924" ], - "markers": "python_version >= '3.6'", - "version": "==2.0.0" + "markers": "python_version >= '3.5'", + "version": "==1.2.0" }, "jupyterlab-widgets": { "hashes": [ @@ -510,14 +486,6 @@ "index": "pypi", "version": "==1.0.7" }, - "nbclassic": { - "hashes": [ - "sha256:96ffc2b5e01e06825c7558066fc66f2dff00fc7a499ad4988738fda076d5587a", - "sha256:e6da2116ab76a63de62f42cf8ea93c9a0c564aaf8315834f7c52efb85b4640ab" - ], - "markers": "python_version >= '3.6'", - "version": "==0.2.5" - }, "nbclient": { "hashes": [ "sha256:01e2d726d16eaf2cde6db74a87e2451453547e8832d142f73f72fddcd4fe0250", @@ -983,14 +951,6 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.15.0" }, - "sniffio": { - "hashes": [ - "sha256:471b71698eac1c2112a40ce2752bb2f4a4814c22a54a3eed3676bc0f5ca9f663", - "sha256:c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de" - ], - "markers": "python_version >= '3.5'", - "version": "==1.2.0" - }, "terminado": { "hashes": [ "sha256:3da72a155b807b01c9e8a5babd214e052a0a45a975751da3521a1c3381ce6d76", -- GitLab From e2ab74c972b6499c642ff0bdfcdc3e6784cac128 Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Mon, 28 Dec 2020 21:43:20 +0200 Subject: [PATCH 04/18] revert to old Pipfile; first sketch of charts.py --- experiments/charts/Pipfile | 2 +- experiments/charts/Pipfile.lock | 223 ++++++++++++++------------------ experiments/charts/charts.py | 48 +++++++ 3 files changed, 149 insertions(+), 124 deletions(-) create mode 100644 experiments/charts/charts.py diff --git a/experiments/charts/Pipfile b/experiments/charts/Pipfile index 5ae72d72..f5065a8c 100644 --- a/experiments/charts/Pipfile +++ b/experiments/charts/Pipfile @@ -8,7 +8,7 @@ verify_ssl = true [packages] bokeh = "*" jupyter = "*" -jupyterlab = "<3.0.0" +jupyterlab = "*" jupytext = "*" matplotlib = "*" nb-black = "*" diff --git a/experiments/charts/Pipfile.lock b/experiments/charts/Pipfile.lock index 9aef8f12..5b174d75 100644 --- a/experiments/charts/Pipfile.lock +++ b/experiments/charts/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "8c99bf092d675c2498b9f598c0a6907f9c9f3b963b771edaaf1494a5fbc4b235" + "sha256": "e3ac87e20f7e96ba663b04d267b1be4e8983fc942b8c414beaa72fe7d844ff1e" }, "pipfile-spec": 6, "requires": { @@ -25,11 +25,11 @@ }, "appnope": { "hashes": [ - "sha256:93aa393e9d6c54c5cd570ccadd8edad61ea0c4b9ea7a01409020c9aa019eb442", - "sha256:dd83cd4b5b460958838f6eb3000c660b1f9caf2a5b1de4264e941512f603258a" + "sha256:5b26757dc6f79a3b7dc9fab95359328d5747fcb2409d331ea66d0272b90ab2a0", + "sha256:8b995ffe925347a2138d7ac0fe77155e4311a0ea6d6da4f5128fe4b3cbe5ed71" ], "markers": "sys_platform == 'darwin' and platform_system == 'Darwin'", - "version": "==0.1.2" + "version": "==0.1.0" }, "argon2-cffi": { "hashes": [ @@ -101,10 +101,10 @@ }, "certifi": { "hashes": [ - "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c", - "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830" + "sha256:1f422849db327d534e3d0c5f02a263458c3955ec0aae4ff09b95f195c59f4edd", + "sha256:f05def092c44fbf25834a51509ef6e631dc19765ab8a57b4e7ab85531f0a9cf4" ], - "version": "==2020.12.5" + "version": "==2020.11.8" }, "cffi": { "hashes": [ @@ -129,14 +129,12 @@ "sha256:9cc46bc107224ff5b6d04369e7c595acb700c3613ad7bcf2e2012f62ece80c35", "sha256:9f7a31251289b2ab6d4012f6e83e58bc3b96bd151f5b5262467f4bb6b34a7c26", "sha256:9ffb888f19d54a4d4dfd4b3f29bc2c16aa4972f1c2ab9c4ab09b8ab8685b9c2b", - "sha256:a5ed8c05548b54b998b9498753fb9cadbfd92ee88e884641377d8a8b291bcc01", "sha256:a7711edca4dcef1a75257b50a2fbfe92a65187c47dab5a0f1b9b332c5919a3fb", "sha256:af5c59122a011049aad5dd87424b8e65a80e4a6477419c0c1015f73fb5ea0293", "sha256:b18e0a9ef57d2b41f5c68beefa32317d286c3d6ac0484efd10d6e07491bb95dd", "sha256:b4e248d1087abf9f4c10f3c398896c87ce82a9856494a7155823eb45a892395d", "sha256:ba4e9e0ae13fc41c6b23299545e5ef73055213e466bd107953e4a013a5ddd7e3", "sha256:c6332685306b6417a91b1ff9fae889b3ba65c2292d64bd9245c093b1b284809d", - "sha256:d5ff0621c88ce83a28a10d2ce719b2ee85635e85c515f12bac99a95306da4b2e", "sha256:d9efd8b7a3ef378dd61a1e77367f1924375befc2eba06168b6ebfa903a5e59ca", "sha256:df5169c4396adc04f9b0a05f13c074df878b6052430e03f50e68adf3a57aa28d", "sha256:ebb253464a5d0482b191274f1c8bf00e33f7e0b9c66405fbffc61ed2c839c775", @@ -149,11 +147,10 @@ }, "chardet": { "hashes": [ - "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa", - "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5" + "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", + "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==4.0.0" + "version": "==3.0.4" }, "click": { "hashes": [ @@ -203,11 +200,11 @@ }, "ipykernel": { "hashes": [ - "sha256:63b4b96c513e1138874934e3e783a8e5e13c02b9036e37107bfe042ac8955005", - "sha256:e20ceb7e52cb4d250452e1230be76e0b2323f33bd46c6b2bc7abb6601740e182" + "sha256:9b2652af1607986a1b231c62302d070bc0534f564c393a5d9d130db9abbbe89d", + "sha256:d6fbba26dba3cebd411382bc484f7bc2caa98427ae0ddb4ab37fe8bfeb5c7dd3" ], "markers": "python_version >= '3.5'", - "version": "==5.4.2" + "version": "==5.3.4" }, "ipython": { "hashes": [ @@ -226,18 +223,18 @@ }, "ipywidgets": { "hashes": [ - "sha256:bbb881ce18fb0cff4ac718f40c04709c7ac86a77abee149f1b447965ede86e36", - "sha256:eab960f737f380075cabca41f92e5e81dfb6eba3ce6392094469ef2418ca4d35" + "sha256:13ffeca438e0c0f91ae583dc22f50379b9d6b28390ac7be8b757140e9a771516", + "sha256:e945f6e02854a74994c596d9db83444a1850c01648f1574adf144fbbabe05c97" ], - "version": "==7.6.2" + "version": "==7.5.1" }, "jedi": { "hashes": [ - "sha256:18456d83f65f400ab0c2d3319e48520420ef43b23a086fdc05dff34132f0fb93", - "sha256:92550a404bad8afed881a137ec9a461fed49eca661414be45059329614ed0707" + "sha256:86ed7d9b750603e4ba582ea8edc678657fb4007894a12bcf6f4bb97892f31d20", + "sha256:98cc583fa0f2f8304968199b01b6b4b94f469a1f4a74c1560506ca2a211378b5" ], - "markers": "python_version >= '3.6'", - "version": "==0.18.0" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==0.17.2" }, "jinja2": { "hashes": [ @@ -249,11 +246,11 @@ }, "joblib": { "hashes": [ - "sha256:75ead23f13484a2a414874779d69ade40d4fa1abe62b222a23cd50d4bc822f6f", - "sha256:7ad866067ac1fdec27d51c8678ea760601b70e32ff1881d4dc8e1171f2b64b24" + "sha256:698c311779f347cf6b7e6b8a39bb682277b8ee4aba8cf9507bc0cf4cd4737b72", + "sha256:9e284edd6be6b71883a63c9b7f124738a3c16195513ad940eae7e3438de885d5" ], "markers": "python_version >= '3.6'", - "version": "==1.0.0" + "version": "==0.17.0" }, "json5": { "hashes": [ @@ -325,21 +322,13 @@ "markers": "python_version >= '3.5'", "version": "==1.2.0" }, - "jupyterlab-widgets": { - "hashes": [ - "sha256:5c1a29a84d3069208cb506b10609175b249b6486d6b1cbae8fcde2a11584fb78", - "sha256:caeaf3e6103180e654e7d8d2b81b7d645e59e432487c1d35a41d6d3ee56b3fef" - ], - "markers": "python_version >= '3.5'", - "version": "==1.0.0" - }, "jupytext": { "hashes": [ - "sha256:0643797c30e7a2b15a4d2d269a74b52ca1a6e982f7927c4da03e339cd7214437", - "sha256:e7f85424b4bd7c012ea0b9f1232f1da27b099aa9d818b8d95c4af108607d9254" + "sha256:23123b90c267c67716fe6a022dfae49b84fd3809370d83211f2920eb3106bf40", + "sha256:e48f57afdc807cc2d2920bd6ae18455264db78b1fc78061ad70dcc26dc45a2cb" ], "index": "pypi", - "version": "==1.8.0" + "version": "==1.7.1" }, "kiwisolver": { "hashes": [ @@ -381,11 +370,11 @@ }, "markdown-it-py": { "hashes": [ - "sha256:1c1413df39ef7baa55bca755d32c565d72e8b4114dcdd3da65eb468a61886659", - "sha256:f90912a0ff1ac328627d1551bd5a17bce0ef1d483df222d460336e59213c6d29" + "sha256:6143d11221495edbf71beb7e455821ae6c8f0156710a1b11812662ed6dbd165b", + "sha256:dcfe4a0c6bef711cb6c42494ebf23a3cfe6f249bf995556498497dd8193bfc22" ], - "markers": "python_version ~= '3.6'", - "version": "==0.6.0" + "markers": "python_version >= '3.6'", + "version": "==0.5.6" }, "markupsafe": { "hashes": [ @@ -457,14 +446,6 @@ "index": "pypi", "version": "==3.3.3" }, - "mdit-py-plugins": { - "hashes": [ - "sha256:e7db0de4a3466941faa433f77a98d09a09a0b877e79eace79506fd0d083e490f", - "sha256:f13ad035e977db0dd268af4a372716f3b555f1435f9623b4aed10c3c8bbf618c" - ], - "markers": "python_version ~= '3.6'", - "version": "==0.2.4" - }, "mistune": { "hashes": [ "sha256:59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e", @@ -520,11 +501,11 @@ }, "notebook": { "hashes": [ - "sha256:cf40d4f81541401db5a2fda1707ca7877157abd41f04ef7b88f02b67f3c61791", - "sha256:e6a62188e319a5d45dd2ed24719f646adf88bef8be1f654ebd0ab360ece6d7a6" + "sha256:3db37ae834c5f3b6378381229d0e5dfcbfb558d08c8ce646b1ad355147f5e91d", + "sha256:508cf9dad7cdb3188f1aa27017dc78179029dfe83814fc505329f689bc2ab50f" ], "markers": "python_version >= '3.5'", - "version": "==6.1.6" + "version": "==6.1.5" }, "numpy": { "hashes": [ @@ -568,34 +549,41 @@ }, "packaging": { "hashes": [ - "sha256:24e0da08660a87484d1602c30bb4902d74816b6985b93de36926f5bc95741858", - "sha256:78598185a7008a470d64526a8059de9aaa449238f280fc9eb6b13ba6c4109093" + "sha256:05af3bb85d320377db281cf254ab050e1a7ebcbf5410685a9a407e18a1f81236", + "sha256:eb41423378682dadb7166144a4926e443093863024de508ca5c9737d6bc08376" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==20.8" + "version": "==20.7" }, "pandas": { "hashes": [ - "sha256:0be6102dd99910513e75ed6536284743ead810349c51bdeadd2a5b6649f30abb", - "sha256:272675a98fa4954b9fc0933df775596fc942e50015d7e75d8f19548808a2bfdf", - "sha256:2d8b4f532db37418121831a461fd107d826c240b098f52e7a1b4ab3d5aaa4fb2", - "sha256:33318fa24b192b1a4684347ff76679a7267fd4e547da9f71556a5914f0dc10e7", - "sha256:3bc6d2be03cb75981d8cbeda09503cd9d6d699fc0dc28a65e197165ad527b7b8", - "sha256:43482789c55cbabeed9482263cfc98a11e8fcae900cb63ef038948acb4a72570", - "sha256:616478c1bd8fe1e600f521ae2da434e021c11e7a4e5da3451d02906143d3629a", - "sha256:6c1a57e4d0d6f9633a07817c44e6b36d81c265fe4c52d0c0505513a2d0f7953c", - "sha256:7904ee438549b5223ce8dc008772458dd7c5cf0ccc64cf903e81202400702235", - "sha256:7b54c14130a3448d81eed1348f52429c23e27188d9db6e6d4afeae792bc49c11", - "sha256:8f92b07cdbfa3704d85b4264e52c216cafe6c0059b0d07cdad8cb29e0b90f2b8", - "sha256:91fd0b94e7b98528177a05e6f65efea79d7ef9dec15ee48c7c69fc39fdd87235", - "sha256:9c6692cea6d56da8650847172bdb148622f545e7782d17995822434c79d7a211", - "sha256:9e18631d996fe131de6cb31a8bdae18965cc8f39eb23fdfbbf42808ecc63dabf", - "sha256:cba93d4fd3b0a42858b2b599495aff793fb5d94587979f45a14177d1217ba446", - "sha256:e03386615b970b8b41da6a68afe717626741bb2431cec993640685614c0680e4", - "sha256:f8b87d2f541cd9bc4ecfe85a561abac85c33fe4de4ce70cca36b2768af2611f5" + "sha256:09e0503758ad61afe81c9069505f8cb8c1e36ea8cc1e6826a95823ef5b327daf", + "sha256:0a11a6290ef3667575cbd4785a1b62d658c25a2fd70a5adedba32e156a8f1773", + "sha256:0d9a38a59242a2f6298fff45d09768b78b6eb0c52af5919ea9e45965d7ba56d9", + "sha256:112c5ba0f9ea0f60b2cc38c25f87ca1d5ca10f71efbee8e0f1bee9cf584ed5d5", + "sha256:185cf8c8f38b169dbf7001e1a88c511f653fbb9dfa3e048f5e19c38049e991dc", + "sha256:3aa8e10768c730cc1b610aca688f588831fa70b65a26cb549fbb9f35049a05e0", + "sha256:41746d520f2b50409dffdba29a15c42caa7babae15616bcf80800d8cfcae3d3e", + "sha256:43cea38cbcadb900829858884f49745eb1f42f92609d368cabcc674b03e90efc", + "sha256:5378f58172bd63d8c16dd5d008d7dcdd55bf803fcdbe7da2dcb65dbbf322f05b", + "sha256:54404abb1cd3f89d01f1fb5350607815326790efb4789be60508f458cdd5ccbf", + "sha256:5dac3aeaac5feb1016e94bde851eb2012d1733a222b8afa788202b836c97dad5", + "sha256:5fdb2a61e477ce58d3f1fdf2470ee142d9f0dde4969032edaf0b8f1a9dafeaa2", + "sha256:6613c7815ee0b20222178ad32ec144061cb07e6a746970c9160af1ebe3ad43b4", + "sha256:6d2b5b58e7df46b2c010ec78d7fb9ab20abf1d306d0614d3432e7478993fbdb0", + "sha256:8a5d7e57b9df2c0a9a202840b2881bb1f7a648eba12dd2d919ac07a33a36a97f", + "sha256:8b4c2055ebd6e497e5ecc06efa5b8aa76f59d15233356eb10dad22a03b757805", + "sha256:a15653480e5b92ee376f8458197a58cca89a6e95d12cccb4c2d933df5cecc63f", + "sha256:a7d2547b601ecc9a53fd41561de49a43d2231728ad65c7713d6b616cd02ddbed", + "sha256:a979d0404b135c63954dea79e6246c45dd45371a88631cdbb4877d844e6de3b6", + "sha256:b1f8111635700de7ac350b639e7e452b06fc541a328cf6193cf8fc638804bab8", + "sha256:c5a3597880a7a29a31ebd39b73b2c824316ae63a05c3c8a5ce2aea3fc68afe35", + "sha256:c681e8fcc47a767bf868341d8f0d76923733cbdcabd6ec3a3560695c69f14a1e", + "sha256:cf135a08f306ebbcfea6da8bf775217613917be23e5074c69215b91e180caab4", + "sha256:e2b8557fe6d0a18db4d61c028c6af61bfed44ef90e419ed6fadbdc079eba141e" ], "index": "pypi", - "version": "==1.2.0" + "version": "==1.1.4" }, "pandocfilters": { "hashes": [ @@ -605,11 +593,11 @@ }, "parso": { "hashes": [ - "sha256:15b00182f472319383252c18d5913b69269590616c947747bc50bf4ac768f410", - "sha256:8519430ad07087d4c997fda3a7918f7cfa27cb58972a8c89c2a0295a1c940e9e" + "sha256:97218d9159b2520ff45eb78028ba8b50d2bc61dcc062a9682666f2dc4bd331ea", + "sha256:caba44724b994a8a5e086460bb212abc5a8bc46951bf4a9a1210745953622eb9" ], - "markers": "python_version >= '3.6'", - "version": "==0.8.1" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==0.7.1" }, "pathspec": { "hashes": [ @@ -684,11 +672,11 @@ }, "ptyprocess": { "hashes": [ - "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", - "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" + "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0", + "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f" ], "markers": "os_name != 'nt'", - "version": "==0.7.0" + "version": "==0.6.0" }, "pycparser": { "hashes": [ @@ -700,11 +688,11 @@ }, "pygments": { "hashes": [ - "sha256:ccf3acacf3782cbed4a989426012f1c535c9a90d3a7fc3f16d231b9372d2b716", - "sha256:f275b6c0909e5dafd2d6269a656aa90fa58ebf4a74f8fcf9053195d226b24a08" + "sha256:381985fcc551eb9d37c52088a32914e00517e57f4a21609f48141ba08e193fa0", + "sha256:88a0bbcd659fcb9573703957c6b9cff9fab7295e6e76db54c9d00ae42df32773" ], "markers": "python_version >= '3.5'", - "version": "==2.7.3" + "version": "==2.7.2" }, "pyparsing": { "hashes": [ @@ -731,18 +719,18 @@ }, "pytility": { "hashes": [ - "sha256:a6e8fd800b04c959162d30470f3887a575a5d82a9d1695cd282a4fdafe02a188", - "sha256:c12c22c4eac1ce71a3c812931057eb73e8b8c001cd08973a941630b7f667b31e" + "sha256:2020592384f6195cd7b6b894cedd05a591c38fa706ab6d7af6c798d522ce7434", + "sha256:97af04966494ddf3998f17b378e62a5841f42b50db366d618970108aaf7b8f52" ], "index": "pypi", - "version": "==0.2.0" + "version": "==0.1.3" }, "pytz": { "hashes": [ - "sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4", - "sha256:180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5" + "sha256:3e6b7dd2d1e0a59084bcee14a17af60c5c562cdc16d828e8eba2e683d3a7e268", + "sha256:5c55e189b682d420be27c6995ba6edce0c0a77dd67bfbe2ae6607134d5851ffd" ], - "version": "==2020.5" + "version": "==2020.4" }, "pyyaml": { "hashes": [ @@ -774,7 +762,6 @@ "sha256:46250789730489009fe139cbf576679557c070a6a3628077d09a4153d52fd381", "sha256:4d9259a5eb3f71abbaf61f165cacf42240bfeea3783bebd8255341abdfe206f1", "sha256:523d542823cabb94065178090e05347bd204365f6e7cb260f0071c995d392fc2", - "sha256:53706f4a792cdae422121fb6a5e65119bad02373153364fc9d004cf6a90394de", "sha256:5efe02bdcc5eafcac0aab531292294298f0ab8d28ed43be9e507d0e09173d1a4", "sha256:63ee08e35be72fdd7568065a249a5b5cf51a2e8ab6ee63cf9f73786fcb9e710b", "sha256:6e24907857c80dc67692e31f5bf3ad5bf483ee0142cec95b3d47e2db8c43bdda", @@ -790,7 +777,6 @@ "sha256:cfa54a162a7b32641665e99b2c12084555afe9fc8fe80ec8b2f71a57320d10e1", "sha256:d81184489369ec325bd50ba1c935361e63f31f578430b9ad95471899361a8253", "sha256:d92c7f41a53ece82b91703ea433c7d34143248cf0cead33aa11c5fc621c764bf", - "sha256:dc2f48b575dff6edefd572f1ac84cf0c3f18ad5fcf13384de32df740a010594a", "sha256:f0beef935efe78a63c785bb21ed56c1c24448511383e3994927c8bb2caf5e714", "sha256:f110a4d3f8f01209eec304ed542f6c8054cce9b0f16dfe3d571e57c290e4e133" ], @@ -860,42 +846,33 @@ }, "requests": { "hashes": [ - "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804", - "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e" + "sha256:7f1a0b932f4a60a1a65caa4263921bb7d9ee911957e0ae4a23a6dd08185ad5f8", + "sha256:e786fa28d8c9154e6a4de5d46a1d921b8749f8b74e28bde23768e5e16eece998" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==2.25.1" + "version": "==2.25.0" }, "scikit-learn": { "hashes": [ - "sha256:076369634ee72b5a5941440661e2f306ff4ac30903802dc52031c7e9199ac640", - "sha256:18f7131e62265bf2691ed1d0303c640313894ccfe4278427478c6b2f45094b53", - "sha256:26f66b3726b54dfb76ea51c5d9c2431ed17ebc066cb4527662b9e851a3e7ba61", - "sha256:2951f87d35e72f007701c6e028aa230f6df6212a3194677c0c950486066a454d", - "sha256:2a5348585aa793bc8cc5a72f8e9067c9380834b0aadbd55f924843b071f13282", - "sha256:3eeff086f7329521d27249a082ea3c48c085cedb110db5f65968ab55c3ba2e09", - "sha256:4395e91b3548005f4a645018435b5a94f8cce232b5b70753020e606c6a750656", - "sha256:44e452ea8491225c5783d49577aad0f36202dfd52aec7f82c0fdfe5fbd5f7400", - "sha256:490436b44b3a1957cb625e871764b0aa330b34cc416aea4abc6c38ca63d0d682", - "sha256:5e6e3c042cea83f2e20a45e563b8eabc1f8f72446251fe23ebefdf111a173a33", - "sha256:66f27bf21202a850bcd7b6303916e4907f6e22ec59a14974ede4955aed5c7ed0", - "sha256:743b6edd98c98991be46c08e6b21df3861d5ae915f91d59f988384d93f7263e7", - "sha256:758619e49cd7c17282e6cc60d5cc73c02c072b47c9a10010bb3bb47e0d976e50", - "sha256:7f654befc5ad413690cc58f3f34a3e906caf825195ce0fda00a8e9565e1403e6", - "sha256:800aaf63f8838c00e85db2267dd226f89858594843fd03932a9eda95746d2c40", - "sha256:80ca024154b84b6ac4cfc86930ba13fdc348a209753bf2c16129db6f9eb8a80b", - "sha256:890d7d588f65acb0c4f6c083347c9076916bda5e6bd8400f06244b1afc1009af", - "sha256:905d8934d1e27a686698864a5863ff2c0e13a2ae1adb78a8a848aacc8a49927d", - "sha256:afeb06dc69847927634e58579b9cdc72e1390b79497336b2324b1b173f33bd47", - "sha256:b0d13fd56d26cf3de0314a4fd48037108c638fe126d813f5c1222bb0f08b6a76", - "sha256:c08b27cb78ee8d2dc781a7affed09859441f5b624f9f92da59ac0791c8774dfc", - "sha256:c912247e42114f389858ae05d63f4359d4e667ea72aaabee191aee9ad3f9774a", - "sha256:d7fe05fcb44eadd6d6c874c768f085f5de1239db3a3b7be4d3d23d12e4120589", - "sha256:d819d625832fb2969911a243e009cfa135cb8ef1e150866e417d6e9d75290087", - "sha256:e534f5f3796db6781c87e9835dcd51b7854c8c5a379c9210b93605965c1941fd" + "sha256:0a127cc70990d4c15b1019680bfedc7fec6c23d14d3719fdf9b64b22d37cdeca", + "sha256:0d39748e7c9669ba648acf40fb3ce96b8a07b240db6888563a7cb76e05e0d9cc", + "sha256:1b8a391de95f6285a2f9adffb7db0892718950954b7149a70c783dc848f104ea", + "sha256:20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480", + "sha256:2aa95c2f17d2f80534156215c87bee72b6aa314a7f8b8fe92a2d71f47280570d", + "sha256:5ce7a8021c9defc2b75620571b350acc4a7d9763c25b7593621ef50f3bd019a2", + "sha256:6c28a1d00aae7c3c9568f61aafeaad813f0f01c729bee4fd9479e2132b215c1d", + "sha256:7671bbeddd7f4f9a6968f3b5442dac5f22bf1ba06709ef888cc9132ad354a9ab", + "sha256:914ac2b45a058d3f1338d7736200f7f3b094857758895f8667be8a81ff443b5b", + "sha256:98508723f44c61896a4e15894b2016762a55555fbf09365a0bb1870ecbd442de", + "sha256:a64817b050efd50f9abcfd311870073e500ae11b299683a519fbb52d85e08d25", + "sha256:cb3e76380312e1f86abd20340ab1d5b3cc46a26f6593d3c33c9ea3e4c7134028", + "sha256:d0dcaa54263307075cb93d0bee3ceb02821093b1b3d25f66021987d305d01dce", + "sha256:d9a1ce5f099f29c7c33181cc4386660e0ba891b21a60dc036bf369e3a3ee3aec", + "sha256:da8e7c302003dd765d92a5616678e591f347460ac7b53e53d667be7dfe6d1b10", + "sha256:daf276c465c38ef736a79bd79fc80a249f746bcbcae50c40945428f7ece074f8" ], "index": "pypi", - "version": "==0.24.0" + "version": "==0.23.2" }, "scipy": { "hashes": [ @@ -930,11 +907,11 @@ }, "seaborn": { "hashes": [ - "sha256:44e78eaed937c5a87fc7a892c329a7cc091060b67ebd1d0d306b446a74ba01ad", - "sha256:4e1cce9489449a1c6ff3c567f2113cdb41122f727e27a984950d004a88ef3c5c" + "sha256:390f8437b14f5ce845062f2865ad51656464c306d09bb97d7764c6cba1dd607c", + "sha256:62439a38482decdb263a8339f54ecb9823995ad8716abc830e91ca0753201e70" ], "index": "pypi", - "version": "==0.11.1" + "version": "==0.11.0" }, "send2trash": { "hashes": [ diff --git a/experiments/charts/charts.py b/experiments/charts/charts.py new file mode 100644 index 00000000..d8f72773 --- /dev/null +++ b/experiments/charts/charts.py @@ -0,0 +1,48 @@ +# --- +# jupyter: +# jupytext: +# formats: ipynb,py:percent +# text_representation: +# extension: .py +# format_name: percent +# format_version: '1.3' +# jupytext_version: 1.8.0 +# kernelspec: +# display_name: Python 3 +# language: python +# name: python3 +# --- + +# %% +import json + +import pandas as pd + +from pytility import parse_date + +# %matplotlib inline +# %load_ext nb_black +# %load_ext lab_black + +# %% +def process_ratings( + lines, keys=("item_id", "bgg_id", "bgg_user_name", "bgg_user_rating", "updated_at") +): + for line in lines: + item = json.loads(line) + if not item or not item.get("bgg_user_rating"): + continue + yield { + k: parse_date(item.get(k)) if k.endswith("_at") else item.get(k) + for k in keys + } + + +# %% +with open( + "../../../board-game-scraper/feeds/bgg/RatingItem/2020-12-28T07-00-47-merged.jl" +) as file: + df = pd.DataFrame.from_records(process_ratings(file), index="updated_at") + +# %% +df.sample(25) -- GitLab From c2331ec7ed5dfe7f1ec74779be75b953861ff8b0 Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Mon, 28 Dec 2020 23:13:07 +0200 Subject: [PATCH 05/18] more charts --- .gitignore | 3 +++ experiments/charts/charts.py | 50 +++++++++++++++++++++++++++++++++++- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 998eac71..e23c11aa 100644 --- a/.gitignore +++ b/.gitignore @@ -129,4 +129,7 @@ sitepackages/ # others .~* *.bk +*.feather *.ipynb +*.parquet +*.pickle diff --git a/experiments/charts/charts.py b/experiments/charts/charts.py index d8f72773..794bd72f 100644 --- a/experiments/charts/charts.py +++ b/experiments/charts/charts.py @@ -6,7 +6,7 @@ # extension: .py # format_name: percent # format_version: '1.3' -# jupytext_version: 1.8.0 +# jupytext_version: 1.7.1 # kernelspec: # display_name: Python 3 # language: python @@ -43,6 +43,54 @@ with open( "../../../board-game-scraper/feeds/bgg/RatingItem/2020-12-28T07-00-47-merged.jl" ) as file: df = pd.DataFrame.from_records(process_ratings(file), index="updated_at") +df.shape # %% df.sample(25) + +# %% +df.reset_index().to_feather("charts.feather") + +# %% +df.to_pickle("charts.pickle") + +# %% +weeks = df.resample("W").item_id.count() +weeks[-52:] + +# %% +weeks.plot() + +# %% +df.bgg_user_rating.hist(bins=10) + +# %% +(df.bgg_user_rating >= 8).mean() + +# %% +positive = ( + df[(df.index >= parse_date("2020-12-21T00:00Z")) & (df.bgg_user_rating > 8)] + .groupby("bgg_id") + .item_id.count() +) +positive.sort_values(ascending=False)[:50] + +# %% +negative = ( + df[(df.index >= parse_date("2020-12-21T00:00Z")) & (df.bgg_user_rating < 6)] + .groupby("bgg_id") + .item_id.count() +) +negative.sort_values(ascending=False)[:50] + +# %% +(positive - negative).sort_values(ascending=False)[:50] + +# %% [markdown] +# **Idea**: Discount that `positive - negative` score by rank according to number of ratings: +# +# ```python +# score = (positive - negative) * games.num_ratings.rank(pct=True) +# ``` +# +# That way, games with a lot of ratings will have their value heavily discounted (almost to zero), while games with very few ratings will get the full score. -- GitLab From 538618acb1ce7736f725de9801d109f238922485 Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Mon, 28 Dec 2020 23:28:39 +0200 Subject: [PATCH 06/18] added score --- experiments/charts/charts.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/experiments/charts/charts.py b/experiments/charts/charts.py index 794bd72f..ff925cf9 100644 --- a/experiments/charts/charts.py +++ b/experiments/charts/charts.py @@ -67,9 +67,14 @@ df.bgg_user_rating.hist(bins=10) # %% (df.bgg_user_rating >= 8).mean() +# %% +cutoff = parse_date("2020-12-01T00:00Z") +recent = df[df.index >= cutoff] +recent.bgg_user_rating.describe() + # %% positive = ( - df[(df.index >= parse_date("2020-12-21T00:00Z")) & (df.bgg_user_rating > 8)] + recent[recent.bgg_user_rating >= recent.bgg_user_rating.quantile(0.75)] .groupby("bgg_id") .item_id.count() ) @@ -77,14 +82,15 @@ positive.sort_values(ascending=False)[:50] # %% negative = ( - df[(df.index >= parse_date("2020-12-21T00:00Z")) & (df.bgg_user_rating < 6)] + recent[recent.bgg_user_rating <= recent.bgg_user_rating.quantile(0.25)] .groupby("bgg_id") .item_id.count() ) negative.sort_values(ascending=False)[:50] # %% -(positive - negative).sort_values(ascending=False)[:50] +diff = (positive - negative).sort_values(ascending=False) +diff[:50] # %% [markdown] # **Idea**: Discount that `positive - negative` score by rank according to number of ratings: @@ -94,3 +100,13 @@ negative.sort_values(ascending=False)[:50] # ``` # # That way, games with a lot of ratings will have their value heavily discounted (almost to zero), while games with very few ratings will get the full score. + +# %% +games = pd.read_csv( + "../../../board-game-data/scraped/bgg_GameItem.csv", index_col="bgg_id" +) +games.shape + +# %% +games["score"] = diff * games.num_votes.rank(pct=True, ascending=False) +games.sort_values("score", ascending=False)[["name", "year", "score"]][:50] -- GitLab From e909b35b23ce8c2d1fdee2cfa276322b57bbefc0 Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Tue, 29 Dec 2020 13:20:14 +0200 Subject: [PATCH 07/18] more general charts processing --- experiments/charts/charts.py | 124 +++++++++++++++++++---------------- 1 file changed, 67 insertions(+), 57 deletions(-) diff --git a/experiments/charts/charts.py b/experiments/charts/charts.py index ff925cf9..86af5cb3 100644 --- a/experiments/charts/charts.py +++ b/experiments/charts/charts.py @@ -15,11 +15,12 @@ # %% import json - +from datetime import datetime, timedelta, timezone import pandas as pd - from pytility import parse_date +SEED = 23 + # %matplotlib inline # %load_ext nb_black # %load_ext lab_black @@ -39,20 +40,20 @@ def process_ratings( # %% -with open( - "../../../board-game-scraper/feeds/bgg/RatingItem/2020-12-28T07-00-47-merged.jl" -) as file: - df = pd.DataFrame.from_records(process_ratings(file), index="updated_at") +# %%time +try: + df = pd.read_feather("charts.feather").set_index('updated_at') +except Exception: + with open( + "../../../board-game-scraper/feeds/bgg/RatingItem/2020-12-28T07-00-47-merged.jl" + ) as file: + df = pd.DataFrame.from_records(process_ratings(file), index="updated_at") + df.reset_index().to_feather("charts.feather") + df.to_pickle("charts.pickle") df.shape # %% -df.sample(25) - -# %% -df.reset_index().to_feather("charts.feather") - -# %% -df.to_pickle("charts.pickle") +df.sample(25, random_state=SEED) # %% weeks = df.resample("W").item_id.count() @@ -64,49 +65,58 @@ weeks.plot() # %% df.bgg_user_rating.hist(bins=10) -# %% -(df.bgg_user_rating >= 8).mean() - -# %% -cutoff = parse_date("2020-12-01T00:00Z") -recent = df[df.index >= cutoff] -recent.bgg_user_rating.describe() # %% -positive = ( - recent[recent.bgg_user_rating >= recent.bgg_user_rating.quantile(0.75)] - .groupby("bgg_id") - .item_id.count() -) -positive.sort_values(ascending=False)[:50] - -# %% -negative = ( - recent[recent.bgg_user_rating <= recent.bgg_user_rating.quantile(0.25)] - .groupby("bgg_id") - .item_id.count() -) -negative.sort_values(ascending=False)[:50] - -# %% -diff = (positive - negative).sort_values(ascending=False) -diff[:50] - -# %% [markdown] -# **Idea**: Discount that `positive - negative` score by rank according to number of ratings: -# -# ```python -# score = (positive - negative) * games.num_ratings.rank(pct=True) -# ``` -# -# That way, games with a lot of ratings will have their value heavily discounted (almost to zero), while games with very few ratings will get the full score. - -# %% -games = pd.read_csv( - "../../../board-game-data/scraped/bgg_GameItem.csv", index_col="bgg_id" -) -games.shape - -# %% -games["score"] = diff * games.num_votes.rank(pct=True, ascending=False) -games.sort_values("score", ascending=False)[["name", "year", "score"]][:50] +def calculate_charts( + ratings, end_date=None, window=timedelta(days=30), percentiles=(0.25, 0.75) +): + end_date = end_date or datetime.utcnow().replace(tzinfo=timezone.utc) + start_date = end_date - window + + previous_ratings = ratings[ratings.index <= end_date] + recent_ratings = previous_ratings[previous_ratings.index >= start_date] + + pct_lower, pct_upper = percentiles + + tmp = pd.DataFrame() + tmp["positive"] = ( + recent_ratings[ + recent_ratings["bgg_user_rating"] + >= recent_ratings["bgg_user_rating"].quantile(pct_upper) + ] + .groupby("bgg_id")["item_id"] + .count() + ) + tmp["negative"] = ( + recent_ratings[ + recent_ratings["bgg_user_rating"] + <= recent_ratings["bgg_user_rating"].quantile(pct_lower) + ] + .groupby("bgg_id")["item_id"] + .count() + ) + tmp.fillna(0, inplace=True) + tmp["diff"] = tmp["positive"] - tmp["negative"] + + games = previous_ratings.groupby("bgg_id")["bgg_user_rating"].count() + scores = tmp["diff"] * games.rank(pct=True, ascending=False) + scores.dropna(inplace=True) + + ranking = pd.DataFrame( + data={ + "rank": scores.rank(ascending=False, method="min").astype(int), + "score": scores, + }, + index=scores.index, + ) + return ranking.sort_values("rank") + + +# %% +# %%time +charts = calculate_charts(df) +print(charts.shape) +charts[:50] + +# %% +charts[-50:] -- GitLab From b26ddc4bf9aed9616d316b5356184456cab9be22 Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Tue, 29 Dec 2020 21:01:37 +0200 Subject: [PATCH 08/18] monthly charts for all times --- experiments/charts/charts.py | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/experiments/charts/charts.py b/experiments/charts/charts.py index 86af5cb3..55b64cc9 100644 --- a/experiments/charts/charts.py +++ b/experiments/charts/charts.py @@ -25,6 +25,13 @@ SEED = 23 # %load_ext nb_black # %load_ext lab_black +# %% +games = pd.read_csv( + "../../../board-game-data/scraped/bgg_GameItem.csv", index_col="bgg_id" +) +games.shape + + # %% def process_ratings( lines, keys=("item_id", "bgg_id", "bgg_user_name", "bgg_user_rating", "updated_at") @@ -53,7 +60,7 @@ except Exception: df.shape # %% -df.sample(25, random_state=SEED) +df.sample(10, random_state=SEED) # %% weeks = df.resample("W").item_id.count() @@ -113,10 +120,22 @@ def calculate_charts( # %% -# %%time charts = calculate_charts(df) +charts["name"] = games["name"] print(charts.shape) charts[:50] # %% -charts[-50:] +charts[-10:] + +# %% +for end_date in pd.date_range( + start=df.index.min().replace(hour=23, minute=59, second=59), + end=df.index.max(), + freq="M", +): + print(f"Charts as of {end_date.strftime('%Y-%m-%d')}") + charts = calculate_charts(ratings=df, end_date=end_date) + charts["name"] = games["name"] + print(charts[:10]) + print() -- GitLab From 9e688336b084e1f348e9f84acef7fd9a67f0412d Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Tue, 29 Dec 2020 21:17:11 +0200 Subject: [PATCH 09/18] weekly charts --- experiments/charts/charts.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/experiments/charts/charts.py b/experiments/charts/charts.py index 55b64cc9..4c949f66 100644 --- a/experiments/charts/charts.py +++ b/experiments/charts/charts.py @@ -32,6 +32,11 @@ games = pd.read_csv( games.shape +# %% +def now(): + return datetime.utcnow().replace(tzinfo=timezone.utc) + + # %% def process_ratings( lines, keys=("item_id", "bgg_id", "bgg_user_name", "bgg_user_rating", "updated_at") @@ -77,7 +82,7 @@ df.bgg_user_rating.hist(bins=10) def calculate_charts( ratings, end_date=None, window=timedelta(days=30), percentiles=(0.25, 0.75) ): - end_date = end_date or datetime.utcnow().replace(tzinfo=timezone.utc) + end_date = end_date or now() start_date = end_date - window previous_ratings = ratings[ratings.index <= end_date] @@ -130,8 +135,8 @@ charts[-10:] # %% for end_date in pd.date_range( - start=df.index.min().replace(hour=23, minute=59, second=59), - end=df.index.max(), + start=parse_date("2016-01-01T23:59:59", tzinfo=timezone.utc), + end=now(), freq="M", ): print(f"Charts as of {end_date.strftime('%Y-%m-%d')}") @@ -139,3 +144,15 @@ for end_date in pd.date_range( charts["name"] = games["name"] print(charts[:10]) print() + +# %% +for end_date in pd.date_range( + start=parse_date("2019-01-01T23:59:59", tzinfo=timezone.utc), + end=now(), + freq="W", +): + print(f"Charts as of {end_date.strftime('%Y-%m-%d')}") + charts = calculate_charts(ratings=df, end_date=end_date, window=timedelta(days=7)) + charts["name"] = games["name"] + print(charts[:10]) + print() -- GitLab From 8c4361942c86186eaba84d7d61ede18ed2f2214e Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Tue, 29 Dec 2020 21:22:49 +0200 Subject: [PATCH 10/18] I'm full of ideas\! --- experiments/charts/charts.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/experiments/charts/charts.py b/experiments/charts/charts.py index 4c949f66..a4f5fe81 100644 --- a/experiments/charts/charts.py +++ b/experiments/charts/charts.py @@ -156,3 +156,6 @@ for end_date in pd.date_range( charts["name"] = games["name"] print(charts[:10]) print() + +# %% [markdown] +# **Idea**: Use exponential decay. For each rating, calculate its weight through its age (e.g., `1` if it's been cast right now, `0.5` if a month ago, `0.25` if two months ago, etc). Then sum weights instead of just counting within window. -- GitLab From 07c6abfb868c1a529547d7df0a983e37440cb688 Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Tue, 29 Dec 2020 22:45:11 +0200 Subject: [PATCH 11/18] exponential decay --- experiments/charts/charts.py | 72 +++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 2 deletions(-) diff --git a/experiments/charts/charts.py b/experiments/charts/charts.py index a4f5fe81..9bc14ac8 100644 --- a/experiments/charts/charts.py +++ b/experiments/charts/charts.py @@ -16,6 +16,7 @@ # %% import json from datetime import datetime, timedelta, timezone +import numpy as np import pandas as pd from pytility import parse_date @@ -135,7 +136,7 @@ charts[-10:] # %% for end_date in pd.date_range( - start=parse_date("2016-01-01T23:59:59", tzinfo=timezone.utc), + start=parse_date("2020-01-01T23:59:59", tzinfo=timezone.utc), end=now(), freq="M", ): @@ -147,7 +148,7 @@ for end_date in pd.date_range( # %% for end_date in pd.date_range( - start=parse_date("2019-01-01T23:59:59", tzinfo=timezone.utc), + start=parse_date("2020-10-01T23:59:59", tzinfo=timezone.utc), end=now(), freq="W", ): @@ -157,5 +158,72 @@ for end_date in pd.date_range( print(charts[:10]) print() + # %% [markdown] +# # Exponential decay +# # **Idea**: Use exponential decay. For each rating, calculate its weight through its age (e.g., `1` if it's been cast right now, `0.5` if a month ago, `0.25` if two months ago, etc). Then sum weights instead of just counting within window. + +# %% +def decay( + dates, + anchor=None, + halflife=60 * 60 * 24 * 30, # 30 days +): + anchor = pd.Timestamp(anchor) if anchor is not None else pd.Timestamp.utcnow() + ages = (anchor - dates).total_seconds() + return np.exp(-np.log(2) * ages / halflife) + + +# %% +def calculate_decayed_charts( + ratings, + end_date=None, + halflife=60 * 60 * 24 * 30, # 30 days + percentiles=(0.25, 0.75), +): + end_date = end_date or pd.Timestamp.utcnow() + pct_lower, pct_upper = percentiles + + ratings = ratings[ratings.index <= end_date] + weights = decay(dates=ratings.index, anchor=end_date, halflife=halflife) + + tmp = pd.DataFrame( + data={ + "bgg_id": ratings["bgg_id"], + "positive": np.where( + ratings["bgg_user_rating"] + >= ratings["bgg_user_rating"].quantile(pct_upper), + weights, + 0, + ), + "negative": np.where( + ratings["bgg_user_rating"] + <= ratings["bgg_user_rating"].quantile(pct_lower), + weights, + 0, + ), + } + ) + + grouped = tmp.groupby("bgg_id").sum() + raw_scores = grouped["positive"] - grouped["negative"] + games = ratings.groupby("bgg_id")["bgg_user_rating"].count() + scores = raw_scores * games.rank(pct=True, ascending=False) + scores.dropna(inplace=True) + + ranking = pd.DataFrame( + data={ + "rank": scores.rank(ascending=False, method="min").astype(int), + "score": scores, + }, + index=scores.index, + ) + return ranking.sort_values("rank") + + +# %% +decayed_charts = calculate_decayed_charts(df) +decayed_charts["name"] = games["name"] +print(decayed_charts.shape) +decayed_charts[:50] -- GitLab From 46e58f04373a3d4d4225f99880bb235bd1dea944 Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Tue, 29 Dec 2020 22:47:45 +0200 Subject: [PATCH 12/18] use np.exp2() --- experiments/charts/charts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiments/charts/charts.py b/experiments/charts/charts.py index 9bc14ac8..47a395c8 100644 --- a/experiments/charts/charts.py +++ b/experiments/charts/charts.py @@ -172,7 +172,7 @@ def decay( ): anchor = pd.Timestamp(anchor) if anchor is not None else pd.Timestamp.utcnow() ages = (anchor - dates).total_seconds() - return np.exp(-np.log(2) * ages / halflife) + return np.exp2(-ages / halflife) # %% -- GitLab From fa1ce66f06a61ab71df25a4dff66aa49d9fb431f Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Tue, 29 Dec 2020 22:49:36 +0200 Subject: [PATCH 13/18] remove unnecessary stuff --- experiments/charts/charts.py | 33 ++------------------------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/experiments/charts/charts.py b/experiments/charts/charts.py index 47a395c8..2974ef86 100644 --- a/experiments/charts/charts.py +++ b/experiments/charts/charts.py @@ -128,35 +128,7 @@ def calculate_charts( # %% charts = calculate_charts(df) charts["name"] = games["name"] -print(charts.shape) -charts[:50] - -# %% -charts[-10:] - -# %% -for end_date in pd.date_range( - start=parse_date("2020-01-01T23:59:59", tzinfo=timezone.utc), - end=now(), - freq="M", -): - print(f"Charts as of {end_date.strftime('%Y-%m-%d')}") - charts = calculate_charts(ratings=df, end_date=end_date) - charts["name"] = games["name"] - print(charts[:10]) - print() - -# %% -for end_date in pd.date_range( - start=parse_date("2020-10-01T23:59:59", tzinfo=timezone.utc), - end=now(), - freq="W", -): - print(f"Charts as of {end_date.strftime('%Y-%m-%d')}") - charts = calculate_charts(ratings=df, end_date=end_date, window=timedelta(days=7)) - charts["name"] = games["name"] - print(charts[:10]) - print() +charts[:10] # %% [markdown] @@ -225,5 +197,4 @@ def calculate_decayed_charts( # %% decayed_charts = calculate_decayed_charts(df) decayed_charts["name"] = games["name"] -print(decayed_charts.shape) -decayed_charts[:50] +decayed_charts[:10] -- GitLab From 9015d9321094e56509e2e777b78534965cdcacb2 Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Tue, 29 Dec 2020 23:03:40 +0200 Subject: [PATCH 14/18] merge two chart functions --- experiments/charts/charts.py | 159 ++++++++++++++++------------------- 1 file changed, 71 insertions(+), 88 deletions(-) diff --git a/experiments/charts/charts.py b/experiments/charts/charts.py index 2974ef86..21d2d0ac 100644 --- a/experiments/charts/charts.py +++ b/experiments/charts/charts.py @@ -80,64 +80,7 @@ df.bgg_user_rating.hist(bins=10) # %% -def calculate_charts( - ratings, end_date=None, window=timedelta(days=30), percentiles=(0.25, 0.75) -): - end_date = end_date or now() - start_date = end_date - window - - previous_ratings = ratings[ratings.index <= end_date] - recent_ratings = previous_ratings[previous_ratings.index >= start_date] - - pct_lower, pct_upper = percentiles - - tmp = pd.DataFrame() - tmp["positive"] = ( - recent_ratings[ - recent_ratings["bgg_user_rating"] - >= recent_ratings["bgg_user_rating"].quantile(pct_upper) - ] - .groupby("bgg_id")["item_id"] - .count() - ) - tmp["negative"] = ( - recent_ratings[ - recent_ratings["bgg_user_rating"] - <= recent_ratings["bgg_user_rating"].quantile(pct_lower) - ] - .groupby("bgg_id")["item_id"] - .count() - ) - tmp.fillna(0, inplace=True) - tmp["diff"] = tmp["positive"] - tmp["negative"] - - games = previous_ratings.groupby("bgg_id")["bgg_user_rating"].count() - scores = tmp["diff"] * games.rank(pct=True, ascending=False) - scores.dropna(inplace=True) - - ranking = pd.DataFrame( - data={ - "rank": scores.rank(ascending=False, method="min").astype(int), - "score": scores, - }, - index=scores.index, - ) - return ranking.sort_values("rank") - - -# %% -charts = calculate_charts(df) -charts["name"] = games["name"] -charts[:10] - - -# %% [markdown] -# # Exponential decay -# -# **Idea**: Use exponential decay. For each rating, calculate its weight through its age (e.g., `1` if it's been cast right now, `0.5` if a month ago, `0.25` if two months ago, etc). Then sum weights instead of just counting within window. - -# %% -def decay( +def exp_decay( dates, anchor=None, halflife=60 * 60 * 24 * 30, # 30 days @@ -147,40 +90,70 @@ def decay( return np.exp2(-ages / halflife) -# %% -def calculate_decayed_charts( +def calculate_charts( ratings, end_date=None, - halflife=60 * 60 * 24 * 30, # 30 days + days=30, percentiles=(0.25, 0.75), + decay=False, ): end_date = end_date or pd.Timestamp.utcnow() pct_lower, pct_upper = percentiles + ratings = ratings[ratings.index <= end_date] # don't care past end date + + if decay: + halflife = 60 * 60 * 24 * days # convert to seconds + weights = exp_decay(dates=ratings.index, anchor=end_date, halflife=halflife) + + tmp = pd.DataFrame( + data={ + "bgg_id": ratings["bgg_id"], + "positive": np.where( + ratings["bgg_user_rating"] + >= ratings["bgg_user_rating"].quantile(pct_upper), + weights, + 0, + ), + "negative": np.where( + ratings["bgg_user_rating"] + <= ratings["bgg_user_rating"].quantile(pct_lower), + weights, + 0, + ), + } + ) + + grouped = tmp.groupby("bgg_id").sum() + raw_scores = grouped["positive"] - grouped["negative"] + del grouped, tmp, weights + + else: + window = timedelta(days=days) + start_date = end_date - window + recent_ratings = ratings[ratings.index >= start_date] + + tmp = pd.DataFrame() + tmp["positive"] = ( + recent_ratings[ + recent_ratings["bgg_user_rating"] + >= recent_ratings["bgg_user_rating"].quantile(pct_upper) + ] + .groupby("bgg_id")["item_id"] + .count() + ) + tmp["negative"] = ( + recent_ratings[ + recent_ratings["bgg_user_rating"] + <= recent_ratings["bgg_user_rating"].quantile(pct_lower) + ] + .groupby("bgg_id")["item_id"] + .count() + ) + tmp.fillna(0, inplace=True) + raw_scores = tmp["positive"] - tmp["negative"] + del recent_ratings, tmp - ratings = ratings[ratings.index <= end_date] - weights = decay(dates=ratings.index, anchor=end_date, halflife=halflife) - - tmp = pd.DataFrame( - data={ - "bgg_id": ratings["bgg_id"], - "positive": np.where( - ratings["bgg_user_rating"] - >= ratings["bgg_user_rating"].quantile(pct_upper), - weights, - 0, - ), - "negative": np.where( - ratings["bgg_user_rating"] - <= ratings["bgg_user_rating"].quantile(pct_lower), - weights, - 0, - ), - } - ) - - grouped = tmp.groupby("bgg_id").sum() - raw_scores = grouped["positive"] - grouped["negative"] - games = ratings.groupby("bgg_id")["bgg_user_rating"].count() + games = previous_ratings.groupby("bgg_id")["bgg_user_rating"].count() scores = raw_scores * games.rank(pct=True, ascending=False) scores.dropna(inplace=True) @@ -195,6 +168,16 @@ def calculate_decayed_charts( # %% -decayed_charts = calculate_decayed_charts(df) -decayed_charts["name"] = games["name"] -decayed_charts[:10] +charts = calculate_charts(df) +charts["name"] = games["name"] +charts[:10] + +# %% +charts = calculate_charts(df, decay=True) +charts["name"] = games["name"] +charts[:10] + +# %% [markdown] +# # Exponential decay +# +# **Idea**: Use exponential decay. For each rating, calculate its weight through its age (e.g., `1` if it's been cast right now, `0.5` if a month ago, `0.25` if two months ago, etc). Then sum weights instead of just counting within window. -- GitLab From 037732bf64f87c5c013c01a10c75eec1fe895450 Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Thu, 31 Dec 2020 00:03:05 +0200 Subject: [PATCH 15/18] fixed a bug; yearly charts --- experiments/charts/charts.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/experiments/charts/charts.py b/experiments/charts/charts.py index 21d2d0ac..e8e12ff1 100644 --- a/experiments/charts/charts.py +++ b/experiments/charts/charts.py @@ -153,7 +153,7 @@ def calculate_charts( raw_scores = tmp["positive"] - tmp["negative"] del recent_ratings, tmp - games = previous_ratings.groupby("bgg_id")["bgg_user_rating"].count() + games = ratings.groupby("bgg_id")["bgg_user_rating"].count() scores = raw_scores * games.rank(pct=True, ascending=False) scores.dropna(inplace=True) @@ -181,3 +181,12 @@ charts[:10] # # Exponential decay # # **Idea**: Use exponential decay. For each rating, calculate its weight through its age (e.g., `1` if it's been cast right now, `0.5` if a month ago, `0.25` if two months ago, etc). Then sum weights instead of just counting within window. + +# %% +for year in range(df.index.min().year, df.index.max().year + 1): + print(f"Hottest games of the year *{year}*") + end_date = datetime(year + 1, 1, 1, tzinfo=timezone.utc) + charts = calculate_charts(ratings=df, end_date=end_date, days=365.25) + charts["name"] = games["name"] + print(charts[:10]) + print() -- GitLab From c17df8cc5d2215f0e734a79f918bc04b775cd024 Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Thu, 31 Dec 2020 00:08:26 +0200 Subject: [PATCH 16/18] fix timezones --- experiments/charts/charts.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/experiments/charts/charts.py b/experiments/charts/charts.py index e8e12ff1..53faf7d7 100644 --- a/experiments/charts/charts.py +++ b/experiments/charts/charts.py @@ -18,6 +18,7 @@ import json from datetime import datetime, timedelta, timezone import numpy as np import pandas as pd +import pytz from pytility import parse_date SEED = 23 @@ -185,7 +186,7 @@ charts[:10] # %% for year in range(df.index.min().year, df.index.max().year + 1): print(f"Hottest games of the year *{year}*") - end_date = datetime(year + 1, 1, 1, tzinfo=timezone.utc) + end_date = datetime(year + 1, 1, 1, tzinfo=pytz.UTC) charts = calculate_charts(ratings=df, end_date=end_date, days=365.25) charts["name"] = games["name"] print(charts[:10]) -- GitLab From 56d902468fb6666a6aa2d347fcc03f6d63751af3 Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Mon, 4 Jan 2021 23:16:50 +0200 Subject: [PATCH 17/18] updated Pipfiles --- experiments/charts/Pipfile | 3 +- experiments/charts/Pipfile.lock | 404 +++++++++++++++++--------------- 2 files changed, 216 insertions(+), 191 deletions(-) diff --git a/experiments/charts/Pipfile b/experiments/charts/Pipfile index f5065a8c..8a0d298d 100644 --- a/experiments/charts/Pipfile +++ b/experiments/charts/Pipfile @@ -8,7 +8,7 @@ verify_ssl = true [packages] bokeh = "*" jupyter = "*" -jupyterlab = "*" +jupyterlab = "<3.0.0" jupytext = "*" matplotlib = "*" nb-black = "*" @@ -18,6 +18,7 @@ pytility = "*" scikit-learn = "*" scipy = "*" seaborn = "*" +snaptime = "*" [requires] python_version = "3.8" diff --git a/experiments/charts/Pipfile.lock b/experiments/charts/Pipfile.lock index 5b174d75..232ec474 100644 --- a/experiments/charts/Pipfile.lock +++ b/experiments/charts/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "e3ac87e20f7e96ba663b04d267b1be4e8983fc942b8c414beaa72fe7d844ff1e" + "sha256": "270b92c7accd6e97c44c03cb00f0389db1e2afe6aeda7573a011f5b02b457065" }, "pipfile-spec": 6, "requires": { @@ -25,11 +25,11 @@ }, "appnope": { "hashes": [ - "sha256:5b26757dc6f79a3b7dc9fab95359328d5747fcb2409d331ea66d0272b90ab2a0", - "sha256:8b995ffe925347a2138d7ac0fe77155e4311a0ea6d6da4f5128fe4b3cbe5ed71" + "sha256:93aa393e9d6c54c5cd570ccadd8edad61ea0c4b9ea7a01409020c9aa019eb442", + "sha256:dd83cd4b5b460958838f6eb3000c660b1f9caf2a5b1de4264e941512f603258a" ], "markers": "sys_platform == 'darwin' and platform_system == 'Darwin'", - "version": "==0.1.0" + "version": "==0.1.2" }, "argon2-cffi": { "hashes": [ @@ -101,10 +101,10 @@ }, "certifi": { "hashes": [ - "sha256:1f422849db327d534e3d0c5f02a263458c3955ec0aae4ff09b95f195c59f4edd", - "sha256:f05def092c44fbf25834a51509ef6e631dc19765ab8a57b4e7ab85531f0a9cf4" + "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c", + "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830" ], - "version": "==2020.11.8" + "version": "==2020.12.5" }, "cffi": { "hashes": [ @@ -129,12 +129,14 @@ "sha256:9cc46bc107224ff5b6d04369e7c595acb700c3613ad7bcf2e2012f62ece80c35", "sha256:9f7a31251289b2ab6d4012f6e83e58bc3b96bd151f5b5262467f4bb6b34a7c26", "sha256:9ffb888f19d54a4d4dfd4b3f29bc2c16aa4972f1c2ab9c4ab09b8ab8685b9c2b", + "sha256:a5ed8c05548b54b998b9498753fb9cadbfd92ee88e884641377d8a8b291bcc01", "sha256:a7711edca4dcef1a75257b50a2fbfe92a65187c47dab5a0f1b9b332c5919a3fb", "sha256:af5c59122a011049aad5dd87424b8e65a80e4a6477419c0c1015f73fb5ea0293", "sha256:b18e0a9ef57d2b41f5c68beefa32317d286c3d6ac0484efd10d6e07491bb95dd", "sha256:b4e248d1087abf9f4c10f3c398896c87ce82a9856494a7155823eb45a892395d", "sha256:ba4e9e0ae13fc41c6b23299545e5ef73055213e466bd107953e4a013a5ddd7e3", "sha256:c6332685306b6417a91b1ff9fae889b3ba65c2292d64bd9245c093b1b284809d", + "sha256:d5ff0621c88ce83a28a10d2ce719b2ee85635e85c515f12bac99a95306da4b2e", "sha256:d9efd8b7a3ef378dd61a1e77367f1924375befc2eba06168b6ebfa903a5e59ca", "sha256:df5169c4396adc04f9b0a05f13c074df878b6052430e03f50e68adf3a57aa28d", "sha256:ebb253464a5d0482b191274f1c8bf00e33f7e0b9c66405fbffc61ed2c839c775", @@ -147,10 +149,11 @@ }, "chardet": { "hashes": [ - "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", - "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" + "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa", + "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5" ], - "version": "==3.0.4" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==4.0.0" }, "click": { "hashes": [ @@ -200,11 +203,11 @@ }, "ipykernel": { "hashes": [ - "sha256:9b2652af1607986a1b231c62302d070bc0534f564c393a5d9d130db9abbbe89d", - "sha256:d6fbba26dba3cebd411382bc484f7bc2caa98427ae0ddb4ab37fe8bfeb5c7dd3" + "sha256:63b4b96c513e1138874934e3e783a8e5e13c02b9036e37107bfe042ac8955005", + "sha256:e20ceb7e52cb4d250452e1230be76e0b2323f33bd46c6b2bc7abb6601740e182" ], "markers": "python_version >= '3.5'", - "version": "==5.3.4" + "version": "==5.4.2" }, "ipython": { "hashes": [ @@ -223,18 +226,18 @@ }, "ipywidgets": { "hashes": [ - "sha256:13ffeca438e0c0f91ae583dc22f50379b9d6b28390ac7be8b757140e9a771516", - "sha256:e945f6e02854a74994c596d9db83444a1850c01648f1574adf144fbbabe05c97" + "sha256:bbb881ce18fb0cff4ac718f40c04709c7ac86a77abee149f1b447965ede86e36", + "sha256:eab960f737f380075cabca41f92e5e81dfb6eba3ce6392094469ef2418ca4d35" ], - "version": "==7.5.1" + "version": "==7.6.2" }, "jedi": { "hashes": [ - "sha256:86ed7d9b750603e4ba582ea8edc678657fb4007894a12bcf6f4bb97892f31d20", - "sha256:98cc583fa0f2f8304968199b01b6b4b94f469a1f4a74c1560506ca2a211378b5" + "sha256:18456d83f65f400ab0c2d3319e48520420ef43b23a086fdc05dff34132f0fb93", + "sha256:92550a404bad8afed881a137ec9a461fed49eca661414be45059329614ed0707" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==0.17.2" + "markers": "python_version >= '3.6'", + "version": "==0.18.0" }, "jinja2": { "hashes": [ @@ -246,11 +249,11 @@ }, "joblib": { "hashes": [ - "sha256:698c311779f347cf6b7e6b8a39bb682277b8ee4aba8cf9507bc0cf4cd4737b72", - "sha256:9e284edd6be6b71883a63c9b7f124738a3c16195513ad940eae7e3438de885d5" + "sha256:75ead23f13484a2a414874779d69ade40d4fa1abe62b222a23cd50d4bc822f6f", + "sha256:7ad866067ac1fdec27d51c8678ea760601b70e32ff1881d4dc8e1171f2b64b24" ], "markers": "python_version >= '3.6'", - "version": "==0.17.0" + "version": "==1.0.0" }, "json5": { "hashes": [ @@ -322,13 +325,21 @@ "markers": "python_version >= '3.5'", "version": "==1.2.0" }, + "jupyterlab-widgets": { + "hashes": [ + "sha256:5c1a29a84d3069208cb506b10609175b249b6486d6b1cbae8fcde2a11584fb78", + "sha256:caeaf3e6103180e654e7d8d2b81b7d645e59e432487c1d35a41d6d3ee56b3fef" + ], + "markers": "python_version >= '3.5'", + "version": "==1.0.0" + }, "jupytext": { "hashes": [ - "sha256:23123b90c267c67716fe6a022dfae49b84fd3809370d83211f2920eb3106bf40", - "sha256:e48f57afdc807cc2d2920bd6ae18455264db78b1fc78061ad70dcc26dc45a2cb" + "sha256:49f64b1b8171abfb769663d4f35d87dd59b91306aebf36019bd6f39eaf32ad92", + "sha256:9d5f64cc8832f0ba73f3116d94242876419387f9af53cdefa965ba3423ebf245" ], "index": "pypi", - "version": "==1.7.1" + "version": "==1.8.2" }, "kiwisolver": { "hashes": [ @@ -370,11 +381,11 @@ }, "markdown-it-py": { "hashes": [ - "sha256:6143d11221495edbf71beb7e455821ae6c8f0156710a1b11812662ed6dbd165b", - "sha256:dcfe4a0c6bef711cb6c42494ebf23a3cfe6f249bf995556498497dd8193bfc22" + "sha256:3ef7346879c931684500cf2ec35c2545b617dd49e8ce3ea4287bb66405913c1a", + "sha256:f22808fed0fd5c006c5c1626ea4e6c68123d5af54eb54712af77a4c57ad34ebc" ], - "markers": "python_version >= '3.6'", - "version": "==0.5.6" + "markers": "python_version ~= '3.6'", + "version": "==0.6.1" }, "markupsafe": { "hashes": [ @@ -446,6 +457,14 @@ "index": "pypi", "version": "==3.3.3" }, + "mdit-py-plugins": { + "hashes": [ + "sha256:e7db0de4a3466941faa433f77a98d09a09a0b877e79eace79506fd0d083e490f", + "sha256:f13ad035e977db0dd268af4a372716f3b555f1435f9623b4aed10c3c8bbf618c" + ], + "markers": "python_version ~= '3.6'", + "version": "==0.2.4" + }, "mistune": { "hashes": [ "sha256:59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e", @@ -501,11 +520,11 @@ }, "notebook": { "hashes": [ - "sha256:3db37ae834c5f3b6378381229d0e5dfcbfb558d08c8ce646b1ad355147f5e91d", - "sha256:508cf9dad7cdb3188f1aa27017dc78179029dfe83814fc505329f689bc2ab50f" + "sha256:cf40d4f81541401db5a2fda1707ca7877157abd41f04ef7b88f02b67f3c61791", + "sha256:e6a62188e319a5d45dd2ed24719f646adf88bef8be1f654ebd0ab360ece6d7a6" ], "markers": "python_version >= '3.5'", - "version": "==6.1.5" + "version": "==6.1.6" }, "numpy": { "hashes": [ @@ -549,41 +568,34 @@ }, "packaging": { "hashes": [ - "sha256:05af3bb85d320377db281cf254ab050e1a7ebcbf5410685a9a407e18a1f81236", - "sha256:eb41423378682dadb7166144a4926e443093863024de508ca5c9737d6bc08376" + "sha256:24e0da08660a87484d1602c30bb4902d74816b6985b93de36926f5bc95741858", + "sha256:78598185a7008a470d64526a8059de9aaa449238f280fc9eb6b13ba6c4109093" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==20.7" + "version": "==20.8" }, "pandas": { "hashes": [ - "sha256:09e0503758ad61afe81c9069505f8cb8c1e36ea8cc1e6826a95823ef5b327daf", - "sha256:0a11a6290ef3667575cbd4785a1b62d658c25a2fd70a5adedba32e156a8f1773", - "sha256:0d9a38a59242a2f6298fff45d09768b78b6eb0c52af5919ea9e45965d7ba56d9", - "sha256:112c5ba0f9ea0f60b2cc38c25f87ca1d5ca10f71efbee8e0f1bee9cf584ed5d5", - "sha256:185cf8c8f38b169dbf7001e1a88c511f653fbb9dfa3e048f5e19c38049e991dc", - "sha256:3aa8e10768c730cc1b610aca688f588831fa70b65a26cb549fbb9f35049a05e0", - "sha256:41746d520f2b50409dffdba29a15c42caa7babae15616bcf80800d8cfcae3d3e", - "sha256:43cea38cbcadb900829858884f49745eb1f42f92609d368cabcc674b03e90efc", - "sha256:5378f58172bd63d8c16dd5d008d7dcdd55bf803fcdbe7da2dcb65dbbf322f05b", - "sha256:54404abb1cd3f89d01f1fb5350607815326790efb4789be60508f458cdd5ccbf", - "sha256:5dac3aeaac5feb1016e94bde851eb2012d1733a222b8afa788202b836c97dad5", - "sha256:5fdb2a61e477ce58d3f1fdf2470ee142d9f0dde4969032edaf0b8f1a9dafeaa2", - "sha256:6613c7815ee0b20222178ad32ec144061cb07e6a746970c9160af1ebe3ad43b4", - "sha256:6d2b5b58e7df46b2c010ec78d7fb9ab20abf1d306d0614d3432e7478993fbdb0", - "sha256:8a5d7e57b9df2c0a9a202840b2881bb1f7a648eba12dd2d919ac07a33a36a97f", - "sha256:8b4c2055ebd6e497e5ecc06efa5b8aa76f59d15233356eb10dad22a03b757805", - "sha256:a15653480e5b92ee376f8458197a58cca89a6e95d12cccb4c2d933df5cecc63f", - "sha256:a7d2547b601ecc9a53fd41561de49a43d2231728ad65c7713d6b616cd02ddbed", - "sha256:a979d0404b135c63954dea79e6246c45dd45371a88631cdbb4877d844e6de3b6", - "sha256:b1f8111635700de7ac350b639e7e452b06fc541a328cf6193cf8fc638804bab8", - "sha256:c5a3597880a7a29a31ebd39b73b2c824316ae63a05c3c8a5ce2aea3fc68afe35", - "sha256:c681e8fcc47a767bf868341d8f0d76923733cbdcabd6ec3a3560695c69f14a1e", - "sha256:cf135a08f306ebbcfea6da8bf775217613917be23e5074c69215b91e180caab4", - "sha256:e2b8557fe6d0a18db4d61c028c6af61bfed44ef90e419ed6fadbdc079eba141e" + "sha256:0be6102dd99910513e75ed6536284743ead810349c51bdeadd2a5b6649f30abb", + "sha256:272675a98fa4954b9fc0933df775596fc942e50015d7e75d8f19548808a2bfdf", + "sha256:2d8b4f532db37418121831a461fd107d826c240b098f52e7a1b4ab3d5aaa4fb2", + "sha256:33318fa24b192b1a4684347ff76679a7267fd4e547da9f71556a5914f0dc10e7", + "sha256:3bc6d2be03cb75981d8cbeda09503cd9d6d699fc0dc28a65e197165ad527b7b8", + "sha256:43482789c55cbabeed9482263cfc98a11e8fcae900cb63ef038948acb4a72570", + "sha256:616478c1bd8fe1e600f521ae2da434e021c11e7a4e5da3451d02906143d3629a", + "sha256:6c1a57e4d0d6f9633a07817c44e6b36d81c265fe4c52d0c0505513a2d0f7953c", + "sha256:7904ee438549b5223ce8dc008772458dd7c5cf0ccc64cf903e81202400702235", + "sha256:7b54c14130a3448d81eed1348f52429c23e27188d9db6e6d4afeae792bc49c11", + "sha256:8f92b07cdbfa3704d85b4264e52c216cafe6c0059b0d07cdad8cb29e0b90f2b8", + "sha256:91fd0b94e7b98528177a05e6f65efea79d7ef9dec15ee48c7c69fc39fdd87235", + "sha256:9c6692cea6d56da8650847172bdb148622f545e7782d17995822434c79d7a211", + "sha256:9e18631d996fe131de6cb31a8bdae18965cc8f39eb23fdfbbf42808ecc63dabf", + "sha256:cba93d4fd3b0a42858b2b599495aff793fb5d94587979f45a14177d1217ba446", + "sha256:e03386615b970b8b41da6a68afe717626741bb2431cec993640685614c0680e4", + "sha256:f8b87d2f541cd9bc4ecfe85a561abac85c33fe4de4ce70cca36b2768af2611f5" ], "index": "pypi", - "version": "==1.1.4" + "version": "==1.2.0" }, "pandocfilters": { "hashes": [ @@ -593,11 +605,11 @@ }, "parso": { "hashes": [ - "sha256:97218d9159b2520ff45eb78028ba8b50d2bc61dcc062a9682666f2dc4bd331ea", - "sha256:caba44724b994a8a5e086460bb212abc5a8bc46951bf4a9a1210745953622eb9" + "sha256:15b00182f472319383252c18d5913b69269590616c947747bc50bf4ac768f410", + "sha256:8519430ad07087d4c997fda3a7918f7cfa27cb58972a8c89c2a0295a1c940e9e" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.7.1" + "markers": "python_version >= '3.6'", + "version": "==0.8.1" }, "pathspec": { "hashes": [ @@ -623,37 +635,37 @@ }, "pillow": { "hashes": [ - "sha256:006de60d7580d81f4a1a7e9f0173dc90a932e3905cc4d47ea909bc946302311a", - "sha256:0a2e8d03787ec7ad71dc18aec9367c946ef8ef50e1e78c71f743bc3a770f9fae", - "sha256:0eeeae397e5a79dc088d8297a4c2c6f901f8fb30db47795113a4a605d0f1e5ce", - "sha256:11c5c6e9b02c9dac08af04f093eb5a2f84857df70a7d4a6a6ad461aca803fb9e", - "sha256:2fb113757a369a6cdb189f8df3226e995acfed0a8919a72416626af1a0a71140", - "sha256:4b0ef2470c4979e345e4e0cc1bbac65fda11d0d7b789dbac035e4c6ce3f98adb", - "sha256:59e903ca800c8cfd1ebe482349ec7c35687b95e98cefae213e271c8c7fffa021", - "sha256:5abd653a23c35d980b332bc0431d39663b1709d64142e3652890df4c9b6970f6", - "sha256:5f9403af9c790cc18411ea398a6950ee2def2a830ad0cfe6dc9122e6d528b302", - "sha256:6b4a8fd632b4ebee28282a9fef4c341835a1aa8671e2770b6f89adc8e8c2703c", - "sha256:6c1aca8231625115104a06e4389fcd9ec88f0c9befbabd80dc206c35561be271", - "sha256:795e91a60f291e75de2e20e6bdd67770f793c8605b553cb6e4387ce0cb302e09", - "sha256:7ba0ba61252ab23052e642abdb17fd08fdcfdbbf3b74c969a30c58ac1ade7cd3", - "sha256:7c9401e68730d6c4245b8e361d3d13e1035cbc94db86b49dc7da8bec235d0015", - "sha256:81f812d8f5e8a09b246515fac141e9d10113229bc33ea073fec11403b016bcf3", - "sha256:895d54c0ddc78a478c80f9c438579ac15f3e27bf442c2a9aa74d41d0e4d12544", - "sha256:8de332053707c80963b589b22f8e0229f1be1f3ca862a932c1bcd48dafb18dd8", - "sha256:92c882b70a40c79de9f5294dc99390671e07fc0b0113d472cbea3fde15db1792", - "sha256:95edb1ed513e68bddc2aee3de66ceaf743590bf16c023fb9977adc4be15bd3f0", - "sha256:b63d4ff734263ae4ce6593798bcfee6dbfb00523c82753a3a03cbc05555a9cc3", - "sha256:bd7bf289e05470b1bc74889d1466d9ad4a56d201f24397557b6f65c24a6844b8", - "sha256:cc3ea6b23954da84dbee8025c616040d9aa5eaf34ea6895a0a762ee9d3e12e11", - "sha256:cc9ec588c6ef3a1325fa032ec14d97b7309db493782ea8c304666fb10c3bd9a7", - "sha256:d3d07c86d4efa1facdf32aa878bd508c0dc4f87c48125cc16b937baa4e5b5e11", - "sha256:d8a96747df78cda35980905bf26e72960cba6d355ace4780d4bdde3b217cdf1e", - "sha256:e38d58d9138ef972fceb7aeec4be02e3f01d383723965bfcef14d174c8ccd039", - "sha256:eb472586374dc66b31e36e14720747595c2b265ae962987261f044e5cce644b5", - "sha256:fbd922f702582cb0d71ef94442bfca57624352622d75e3be7a1e7e9360b07e72" + "sha256:165c88bc9d8dba670110c689e3cc5c71dbe4bfb984ffa7cbebf1fac9554071d6", + "sha256:22d070ca2e60c99929ef274cfced04294d2368193e935c5d6febfd8b601bf865", + "sha256:2353834b2c49b95e1313fb34edf18fca4d57446675d05298bb694bca4b194174", + "sha256:39725acf2d2e9c17356e6835dccebe7a697db55f25a09207e38b835d5e1bc032", + "sha256:3de6b2ee4f78c6b3d89d184ade5d8fa68af0848f9b6b6da2b9ab7943ec46971a", + "sha256:47c0d93ee9c8b181f353dbead6530b26980fe4f5485aa18be8f1fd3c3cbc685e", + "sha256:5e2fe3bb2363b862671eba632537cd3a823847db4d98be95690b7e382f3d6378", + "sha256:604815c55fd92e735f9738f65dabf4edc3e79f88541c221d292faec1904a4b17", + "sha256:6c5275bd82711cd3dcd0af8ce0bb99113ae8911fc2952805f1d012de7d600a4c", + "sha256:731ca5aabe9085160cf68b2dbef95fc1991015bc0a3a6ea46a371ab88f3d0913", + "sha256:7612520e5e1a371d77e1d1ca3a3ee6227eef00d0a9cddb4ef7ecb0b7396eddf7", + "sha256:7916cbc94f1c6b1301ac04510d0881b9e9feb20ae34094d3615a8a7c3db0dcc0", + "sha256:81c3fa9a75d9f1afafdb916d5995633f319db09bd773cb56b8e39f1e98d90820", + "sha256:887668e792b7edbfb1d3c9d8b5d8c859269a0f0eba4dda562adb95500f60dbba", + "sha256:93a473b53cc6e0b3ce6bf51b1b95b7b1e7e6084be3a07e40f79b42e83503fbf2", + "sha256:96d4dc103d1a0fa6d47c6c55a47de5f5dafd5ef0114fa10c85a1fd8e0216284b", + "sha256:a3d3e086474ef12ef13d42e5f9b7bbf09d39cf6bd4940f982263d6954b13f6a9", + "sha256:b02a0b9f332086657852b1f7cb380f6a42403a6d9c42a4c34a561aa4530d5234", + "sha256:b09e10ec453de97f9a23a5aa5e30b334195e8d2ddd1ce76cc32e52ba63c8b31d", + "sha256:b6f00ad5ebe846cc91763b1d0c6d30a8042e02b2316e27b05de04fa6ec831ec5", + "sha256:bba80df38cfc17f490ec651c73bb37cd896bc2400cfba27d078c2135223c1206", + "sha256:c3d911614b008e8a576b8e5303e3db29224b455d3d66d1b2848ba6ca83f9ece9", + "sha256:ca20739e303254287138234485579b28cb0d524401f83d5129b5ff9d606cb0a8", + "sha256:cb192176b477d49b0a327b2a5a4979552b7a58cd42037034316b8018ac3ebb59", + "sha256:cdbbe7dff4a677fb555a54f9bc0450f2a21a93c5ba2b44e09e54fcb72d2bd13d", + "sha256:d355502dce85ade85a2511b40b4c61a128902f246504f7de29bbeec1ae27933a", + "sha256:dc577f4cfdda354db3ae37a572428a90ffdbe4e51eda7849bf442fb803f09c9b", + "sha256:dd9eef866c70d2cbbea1ae58134eaffda0d4bfea403025f4db6859724b18ab3d" ], "markers": "python_version >= '3.6'", - "version": "==8.0.1" + "version": "==8.1.0" }, "prometheus-client": { "hashes": [ @@ -672,11 +684,11 @@ }, "ptyprocess": { "hashes": [ - "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0", - "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f" + "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", + "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" ], "markers": "os_name != 'nt'", - "version": "==0.6.0" + "version": "==0.7.0" }, "pycparser": { "hashes": [ @@ -688,11 +700,11 @@ }, "pygments": { "hashes": [ - "sha256:381985fcc551eb9d37c52088a32914e00517e57f4a21609f48141ba08e193fa0", - "sha256:88a0bbcd659fcb9573703957c6b9cff9fab7295e6e76db54c9d00ae42df32773" + "sha256:ccf3acacf3782cbed4a989426012f1c535c9a90d3a7fc3f16d231b9372d2b716", + "sha256:f275b6c0909e5dafd2d6269a656aa90fa58ebf4a74f8fcf9053195d226b24a08" ], "markers": "python_version >= '3.5'", - "version": "==2.7.2" + "version": "==2.7.3" }, "pyparsing": { "hashes": [ @@ -719,18 +731,18 @@ }, "pytility": { "hashes": [ - "sha256:2020592384f6195cd7b6b894cedd05a591c38fa706ab6d7af6c798d522ce7434", - "sha256:97af04966494ddf3998f17b378e62a5841f42b50db366d618970108aaf7b8f52" + "sha256:a6e8fd800b04c959162d30470f3887a575a5d82a9d1695cd282a4fdafe02a188", + "sha256:c12c22c4eac1ce71a3c812931057eb73e8b8c001cd08973a941630b7f667b31e" ], "index": "pypi", - "version": "==0.1.3" + "version": "==0.2.0" }, "pytz": { "hashes": [ - "sha256:3e6b7dd2d1e0a59084bcee14a17af60c5c562cdc16d828e8eba2e683d3a7e268", - "sha256:5c55e189b682d420be27c6995ba6edce0c0a77dd67bfbe2ae6607134d5851ffd" + "sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4", + "sha256:180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5" ], - "version": "==2020.4" + "version": "==2020.5" }, "pyyaml": { "hashes": [ @@ -762,6 +774,7 @@ "sha256:46250789730489009fe139cbf576679557c070a6a3628077d09a4153d52fd381", "sha256:4d9259a5eb3f71abbaf61f165cacf42240bfeea3783bebd8255341abdfe206f1", "sha256:523d542823cabb94065178090e05347bd204365f6e7cb260f0071c995d392fc2", + "sha256:53706f4a792cdae422121fb6a5e65119bad02373153364fc9d004cf6a90394de", "sha256:5efe02bdcc5eafcac0aab531292294298f0ab8d28ed43be9e507d0e09173d1a4", "sha256:63ee08e35be72fdd7568065a249a5b5cf51a2e8ab6ee63cf9f73786fcb9e710b", "sha256:6e24907857c80dc67692e31f5bf3ad5bf483ee0142cec95b3d47e2db8c43bdda", @@ -777,6 +790,7 @@ "sha256:cfa54a162a7b32641665e99b2c12084555afe9fc8fe80ec8b2f71a57320d10e1", "sha256:d81184489369ec325bd50ba1c935361e63f31f578430b9ad95471899361a8253", "sha256:d92c7f41a53ece82b91703ea433c7d34143248cf0cead33aa11c5fc621c764bf", + "sha256:dc2f48b575dff6edefd572f1ac84cf0c3f18ad5fcf13384de32df740a010594a", "sha256:f0beef935efe78a63c785bb21ed56c1c24448511383e3994927c8bb2caf5e714", "sha256:f110a4d3f8f01209eec304ed542f6c8054cce9b0f16dfe3d571e57c290e4e133" ], @@ -846,72 +860,75 @@ }, "requests": { "hashes": [ - "sha256:7f1a0b932f4a60a1a65caa4263921bb7d9ee911957e0ae4a23a6dd08185ad5f8", - "sha256:e786fa28d8c9154e6a4de5d46a1d921b8749f8b74e28bde23768e5e16eece998" + "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804", + "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==2.25.0" + "version": "==2.25.1" }, "scikit-learn": { "hashes": [ - "sha256:0a127cc70990d4c15b1019680bfedc7fec6c23d14d3719fdf9b64b22d37cdeca", - "sha256:0d39748e7c9669ba648acf40fb3ce96b8a07b240db6888563a7cb76e05e0d9cc", - "sha256:1b8a391de95f6285a2f9adffb7db0892718950954b7149a70c783dc848f104ea", - "sha256:20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480", - "sha256:2aa95c2f17d2f80534156215c87bee72b6aa314a7f8b8fe92a2d71f47280570d", - "sha256:5ce7a8021c9defc2b75620571b350acc4a7d9763c25b7593621ef50f3bd019a2", - "sha256:6c28a1d00aae7c3c9568f61aafeaad813f0f01c729bee4fd9479e2132b215c1d", - "sha256:7671bbeddd7f4f9a6968f3b5442dac5f22bf1ba06709ef888cc9132ad354a9ab", - "sha256:914ac2b45a058d3f1338d7736200f7f3b094857758895f8667be8a81ff443b5b", - "sha256:98508723f44c61896a4e15894b2016762a55555fbf09365a0bb1870ecbd442de", - "sha256:a64817b050efd50f9abcfd311870073e500ae11b299683a519fbb52d85e08d25", - "sha256:cb3e76380312e1f86abd20340ab1d5b3cc46a26f6593d3c33c9ea3e4c7134028", - "sha256:d0dcaa54263307075cb93d0bee3ceb02821093b1b3d25f66021987d305d01dce", - "sha256:d9a1ce5f099f29c7c33181cc4386660e0ba891b21a60dc036bf369e3a3ee3aec", - "sha256:da8e7c302003dd765d92a5616678e591f347460ac7b53e53d667be7dfe6d1b10", - "sha256:daf276c465c38ef736a79bd79fc80a249f746bcbcae50c40945428f7ece074f8" + "sha256:076369634ee72b5a5941440661e2f306ff4ac30903802dc52031c7e9199ac640", + "sha256:18f7131e62265bf2691ed1d0303c640313894ccfe4278427478c6b2f45094b53", + "sha256:26f66b3726b54dfb76ea51c5d9c2431ed17ebc066cb4527662b9e851a3e7ba61", + "sha256:2951f87d35e72f007701c6e028aa230f6df6212a3194677c0c950486066a454d", + "sha256:2a5348585aa793bc8cc5a72f8e9067c9380834b0aadbd55f924843b071f13282", + "sha256:3eeff086f7329521d27249a082ea3c48c085cedb110db5f65968ab55c3ba2e09", + "sha256:4395e91b3548005f4a645018435b5a94f8cce232b5b70753020e606c6a750656", + "sha256:44e452ea8491225c5783d49577aad0f36202dfd52aec7f82c0fdfe5fbd5f7400", + "sha256:490436b44b3a1957cb625e871764b0aa330b34cc416aea4abc6c38ca63d0d682", + "sha256:5e6e3c042cea83f2e20a45e563b8eabc1f8f72446251fe23ebefdf111a173a33", + "sha256:66f27bf21202a850bcd7b6303916e4907f6e22ec59a14974ede4955aed5c7ed0", + "sha256:743b6edd98c98991be46c08e6b21df3861d5ae915f91d59f988384d93f7263e7", + "sha256:758619e49cd7c17282e6cc60d5cc73c02c072b47c9a10010bb3bb47e0d976e50", + "sha256:7f654befc5ad413690cc58f3f34a3e906caf825195ce0fda00a8e9565e1403e6", + "sha256:800aaf63f8838c00e85db2267dd226f89858594843fd03932a9eda95746d2c40", + "sha256:80ca024154b84b6ac4cfc86930ba13fdc348a209753bf2c16129db6f9eb8a80b", + "sha256:890d7d588f65acb0c4f6c083347c9076916bda5e6bd8400f06244b1afc1009af", + "sha256:905d8934d1e27a686698864a5863ff2c0e13a2ae1adb78a8a848aacc8a49927d", + "sha256:afeb06dc69847927634e58579b9cdc72e1390b79497336b2324b1b173f33bd47", + "sha256:b0d13fd56d26cf3de0314a4fd48037108c638fe126d813f5c1222bb0f08b6a76", + "sha256:c08b27cb78ee8d2dc781a7affed09859441f5b624f9f92da59ac0791c8774dfc", + "sha256:c912247e42114f389858ae05d63f4359d4e667ea72aaabee191aee9ad3f9774a", + "sha256:d7fe05fcb44eadd6d6c874c768f085f5de1239db3a3b7be4d3d23d12e4120589", + "sha256:d819d625832fb2969911a243e009cfa135cb8ef1e150866e417d6e9d75290087", + "sha256:e534f5f3796db6781c87e9835dcd51b7854c8c5a379c9210b93605965c1941fd" ], "index": "pypi", - "version": "==0.23.2" + "version": "==0.24.0" }, "scipy": { "hashes": [ - "sha256:168c45c0c32e23f613db7c9e4e780bc61982d71dcd406ead746c7c7c2f2004ce", - "sha256:213bc59191da2f479984ad4ec39406bf949a99aba70e9237b916ce7547b6ef42", - "sha256:25b241034215247481f53355e05f9e25462682b13bd9191359075682adcd9554", - "sha256:2c872de0c69ed20fb1a9b9cf6f77298b04a26f0b8720a5457be08be254366c6e", - "sha256:3397c129b479846d7eaa18f999369a24322d008fac0782e7828fa567358c36ce", - "sha256:368c0f69f93186309e1b4beb8e26d51dd6f5010b79264c0f1e9ca00cd92ea8c9", - "sha256:3d5db5d815370c28d938cf9b0809dade4acf7aba57eaf7ef733bfedc9b2474c4", - "sha256:4598cf03136067000855d6b44d7a1f4f46994164bcd450fb2c3d481afc25dd06", - "sha256:4a453d5e5689de62e5d38edf40af3f17560bfd63c9c5bd228c18c1f99afa155b", - "sha256:4f12d13ffbc16e988fa40809cbbd7a8b45bc05ff6ea0ba8e3e41f6f4db3a9e47", - "sha256:634568a3018bc16a83cda28d4f7aed0d803dd5618facb36e977e53b2df868443", - "sha256:65923bc3809524e46fb7eb4d6346552cbb6a1ffc41be748535aa502a2e3d3389", - "sha256:6b0ceb23560f46dd236a8ad4378fc40bad1783e997604ba845e131d6c680963e", - "sha256:8c8d6ca19c8497344b810b0b0344f8375af5f6bb9c98bd42e33f747417ab3f57", - "sha256:9ad4fcddcbf5dc67619379782e6aeef41218a79e17979aaed01ed099876c0e62", - "sha256:a254b98dbcc744c723a838c03b74a8a34c0558c9ac5c86d5561703362231107d", - "sha256:b03c4338d6d3d299e8ca494194c0ae4f611548da59e3c038813f1a43976cb437", - "sha256:cc1f78ebc982cd0602c9a7615d878396bec94908db67d4ecddca864d049112f2", - "sha256:d6d25c41a009e3c6b7e757338948d0076ee1dd1770d1c09ec131f11946883c54", - "sha256:d84cadd7d7998433334c99fa55bcba0d8b4aeff0edb123b2a1dfcface538e474", - "sha256:e360cb2299028d0b0d0f65a5c5e51fc16a335f1603aa2357c25766c8dab56938", - "sha256:e98d49a5717369d8241d6cf33ecb0ca72deee392414118198a8e5b4c35c56340", - "sha256:ed572470af2438b526ea574ff8f05e7f39b44ac37f712105e57fc4d53a6fb660", - "sha256:f87b39f4d69cf7d7529d7b1098cb712033b17ea7714aed831b95628f483fd012", - "sha256:fa789583fc94a7689b45834453fec095245c7e69c58561dc159b5d5277057e4c" + "sha256:155225621df90fcd151e25d51c50217e412de717475999ebb76e17e310176981", + "sha256:1bc5b446600c4ff7ab36bade47180673141322f0febaa555f1c433fe04f2a0e3", + "sha256:2f1c2ebca6fd867160e70102200b1bd07b3b2d31a3e6af3c58d688c15d0d07b7", + "sha256:313785c4dab65060f9648112d025f6d2fec69a8a889c714328882d678a95f053", + "sha256:31ab217b5c27ab429d07428a76002b33662f98986095bbce5d55e0788f7e8b15", + "sha256:3d4303e3e21d07d9557b26a1707bb9fc065510ee8501c9bf22a0157249a82fd0", + "sha256:4f1d9cc977ac6a4a63c124045c1e8bf67ec37098f67c699887a93736961a00ae", + "sha256:58731bbe0103e96b89b2f41516699db9b63066e4317e31b8402891571f6d358f", + "sha256:8629135ee00cc2182ac8be8e75643b9f02235942443732c2ed69ab48edcb6614", + "sha256:876badc33eec20709d4e042a09834f5953ebdac4088d45a4f3a1f18b56885718", + "sha256:8840a9adb4ede3751f49761653d3ebf664f25195fdd42ada394ffea8903dd51d", + "sha256:aef3a2dbc436bbe8f6e0b635f0b5fe5ed024b522eee4637dbbe0b974129ca734", + "sha256:b8af26839ae343655f3ca377a5d5e5466f1d3b3ac7432a43449154fe958ae0e0", + "sha256:c0911f3180de343643f369dc5cfedad6ba9f939c2d516bddea4a6871eb000722", + "sha256:cb6dc9f82dfd95f6b9032a8d7ea70efeeb15d5b5fd6ed4e8537bb3c673580566", + "sha256:cdbc47628184a0ebeb5c08f1892614e1bd4a51f6e0d609c6eed253823a960f5b", + "sha256:d902d3a5ad7f28874c0a82db95246d24ca07ad932741df668595fe00a4819870", + "sha256:eb7928275f3560d47e5538e15e9f32b3d64cd30ea8f85f3e82987425476f53f6", + "sha256:f68d5761a2d2376e2b194c8e9192bbf7c51306ca176f1a0889990a52ef0d551f" ], "index": "pypi", - "version": "==1.5.4" + "version": "==1.6.0" }, "seaborn": { "hashes": [ - "sha256:390f8437b14f5ce845062f2865ad51656464c306d09bb97d7764c6cba1dd607c", - "sha256:62439a38482decdb263a8339f54ecb9823995ad8716abc830e91ca0753201e70" + "sha256:44e78eaed937c5a87fc7a892c329a7cc091060b67ebd1d0d306b446a74ba01ad", + "sha256:4e1cce9489449a1c6ff3c567f2113cdb41122f727e27a984950d004a88ef3c5c" ], "index": "pypi", - "version": "==0.11.0" + "version": "==0.11.1" }, "send2trash": { "hashes": [ @@ -928,13 +945,20 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.15.0" }, + "snaptime": { + "hashes": [ + "sha256:e3f1eb89043d58d30721ab98cb65023f1a4c2740e3b197704298b163c92d508b" + ], + "index": "pypi", + "version": "==0.2.4" + }, "terminado": { "hashes": [ - "sha256:3da72a155b807b01c9e8a5babd214e052a0a45a975751da3521a1c3381ce6d76", - "sha256:c55f025beb06c2e2669f7ba5a04f47bb3304c30c05842d4981d8f0fc9ab3b4e3" + "sha256:23a053e06b22711269563c8bb96b36a036a86be8b5353e85e804f89b84aaa23f", + "sha256:89e6d94b19e4bc9dce0ffd908dfaf55cc78a9bf735934e915a4a96f65ac9704c" ], "markers": "python_version >= '3.6'", - "version": "==0.9.1" + "version": "==0.9.2" }, "testpath": { "hashes": [ @@ -1016,38 +1040,38 @@ }, "typed-ast": { "hashes": [ - "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355", - "sha256:0c2c07682d61a629b68433afb159376e24e5b2fd4641d35424e462169c0a7919", - "sha256:0d8110d78a5736e16e26213114a38ca35cb15b6515d535413b090bd50951556d", - "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa", - "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652", - "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75", - "sha256:3742b32cf1c6ef124d57f95be609c473d7ec4c14d0090e5a5e05a15269fb4d0c", - "sha256:4083861b0aa07990b619bd7ddc365eb7fa4b817e99cf5f8d9cf21a42780f6e01", - "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d", - "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1", - "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907", - "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c", - "sha256:73d785a950fc82dd2a25897d525d003f6378d1cb23ab305578394694202a58c3", - "sha256:7e4c9d7658aaa1fc80018593abdf8598bf91325af6af5cce4ce7c73bc45ea53d", - "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b", - "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614", - "sha256:92c325624e304ebf0e025d1224b77dd4e6393f18aab8d829b5b7e04afe9b7a2c", - "sha256:aaee9905aee35ba5905cfb3c62f3e83b3bec7b39413f0a7f19be4e547ea01ebb", - "sha256:b52ccf7cfe4ce2a1064b18594381bccf4179c2ecf7f513134ec2f993dd4ab395", - "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b", - "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41", - "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6", - "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34", - "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe", - "sha256:d648b8e3bf2fe648745c8ffcee3db3ff903d0817a01a12dd6a6ea7a8f4889072", - "sha256:f208eb7aff048f6bea9586e61af041ddf7f9ade7caed625742af423f6bae3298", - "sha256:fac11badff8313e23717f3dada86a15389d0708275bddf766cca67a84ead3e91", - "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4", - "sha256:fcf135e17cc74dbfbc05894ebca928ffeb23d9790b3167a674921db19082401f", - "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7" - ], - "version": "==1.4.1" + "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" + ], + "version": "==1.4.2" }, "typing-extensions": { "hashes": [ -- GitLab From a6ed8056d187e1486a52f0b0b3d4db176a231b07 Mon Sep 17 00:00:00 2001 From: Markus Schepke Date: Mon, 4 Jan 2021 23:17:06 +0200 Subject: [PATCH 18/18] added weekly charts --- experiments/charts/charts.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/experiments/charts/charts.py b/experiments/charts/charts.py index 53faf7d7..19e080a6 100644 --- a/experiments/charts/charts.py +++ b/experiments/charts/charts.py @@ -20,6 +20,7 @@ import numpy as np import pandas as pd import pytz from pytility import parse_date +from snaptime import snap SEED = 23 @@ -54,12 +55,11 @@ def process_ratings( # %% -# %%time try: - df = pd.read_feather("charts.feather").set_index('updated_at') + df = pd.read_feather("charts.feather").set_index("updated_at") except Exception: with open( - "../../../board-game-scraper/feeds/bgg/RatingItem/2020-12-28T07-00-47-merged.jl" + "../../../board-game-scraper/feeds/bgg/RatingItem/2021-01-04T07-24-27-merged.jl" ) as file: df = pd.DataFrame.from_records(process_ratings(file), index="updated_at") df.reset_index().to_feather("charts.feather") @@ -173,11 +173,6 @@ charts = calculate_charts(df) charts["name"] = games["name"] charts[:10] -# %% -charts = calculate_charts(df, decay=True) -charts["name"] = games["name"] -charts[:10] - # %% [markdown] # # Exponential decay # @@ -191,3 +186,18 @@ for year in range(df.index.min().year, df.index.max().year + 1): charts["name"] = games["name"] print(charts[:10]) print() + +# %% +chart_date = snap( + pd.Timestamp.utcnow(), "@w5@w1" +) # release on Friday the charts of the previous week +charts = calculate_charts( + ratings=df, + end_date=chart_date, + days=7, + percentiles=(0.25, 0.75), + decay=False, +) +charts["name"] = games["name"] +print(f"Charts for *{chart_date.strftime('%Y-%m-%d')}*") +charts[:10] -- GitLab