2023-09-15T00:34:59,683 Created temporary directory: /tmp/pip-build-tracker-f1kku442 2023-09-15T00:34:59,684 Initialized build tracking at /tmp/pip-build-tracker-f1kku442 2023-09-15T00:34:59,684 Created build tracker: /tmp/pip-build-tracker-f1kku442 2023-09-15T00:34:59,685 Entered build tracker: /tmp/pip-build-tracker-f1kku442 2023-09-15T00:34:59,686 Created temporary directory: /tmp/pip-wheel-40gdimpn 2023-09-15T00:34:59,689 Created temporary directory: /tmp/pip-ephem-wheel-cache-iegpw7qs 2023-09-15T00:34:59,712 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-09-15T00:34:59,716 2 location(s) to search for versions of zermeloapi: 2023-09-15T00:34:59,716 * https://pypi.org/simple/zermeloapi/ 2023-09-15T00:34:59,716 * https://www.piwheels.org/simple/zermeloapi/ 2023-09-15T00:34:59,717 Fetching project page and analyzing links: https://pypi.org/simple/zermeloapi/ 2023-09-15T00:34:59,717 Getting page https://pypi.org/simple/zermeloapi/ 2023-09-15T00:34:59,719 Found index url https://pypi.org/simple/ 2023-09-15T00:34:59,864 Fetched page https://pypi.org/simple/zermeloapi/ as application/vnd.pypi.simple.v1+json 2023-09-15T00:34:59,887 Found link https://files.pythonhosted.org/packages/21/d7/83b7e5f62b4f314f90ef6cd3d2725bed156b8daab5048178d7b672834aa9/zermeloapi-2021.10.12.10.57.3.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.9), version: 2021.10.12.10.57.3 2023-09-15T00:34:59,888 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/6e/2b/b9fb4200d1629484623bf31b39eac4ca58fbf9ecaca1a06fc7707bdcb9b0/zermeloapi-2021.10.12.10.57.18-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.9) 2023-09-15T00:34:59,889 Found link https://files.pythonhosted.org/packages/ac/31/cf1f5250dc644b42ab1fa032d23a365997f34e10c4acb1253eb48bae0e58/zermeloapi-2021.10.12.17.8.5.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.9), version: 2021.10.12.17.8.5 2023-09-15T00:34:59,889 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/79/cf/7d6776c7cd2878adc0602b7061c5eaee3cd618613af263c94cc3c60d11ff/zermeloapi-2021.10.12.17.8.20-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.9) 2023-09-15T00:34:59,890 Found link https://files.pythonhosted.org/packages/47/e5/6d36ec1498fd488cbaf3b0db47842d85deff5a2e0c3f75d73d4e9bc601ae/zermeloapi-2021.10.13.9.0.36.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.13.9.0.36 2023-09-15T00:34:59,891 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/33/29/6336f97c118aff6e73572ed49556b0370c87be855f7e39899d5c896b5400/zermeloapi-2021.10.13.9.1.6-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,892 Found link https://files.pythonhosted.org/packages/23/aa/3f71086076de325207023861d8b05f6e97fe89d3b3c6e74cc4a040f81fe8/zermeloapi-2021.10.13.9.59.38.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.13.9.59.38 2023-09-15T00:34:59,893 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/79/29/03c2cb05b3fd1790312b2d2a808a211f055b9a929481af5b22acb40d4958/zermeloapi-2021.10.13.9.59.52-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,894 Found link https://files.pythonhosted.org/packages/01/e2/70f8d6329aae0285edded2ac806610961ae5337c9627a5fadd90a6ee05d3/zermeloapi-2021.10.13.10.1.14.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.13.10.1.14 2023-09-15T00:34:59,894 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/6a/d1/e676dcd241314e19d2a2a4d2e3f2ae47bbe56549882f85e81aad31e7a2b5/zermeloapi-2021.10.13.10.1.28-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,895 Found link https://files.pythonhosted.org/packages/92/06/6440e7020d6081776de573df58a4abc5c20c5177e85a2e20e0a4e79ec5e2/zermeloapi-2021.10.13.12.59.10.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.13.12.59.10 2023-09-15T00:34:59,896 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/f1/57/89c0e65569b04f5a2da65e2c5507c6be1442076ce88970e8099475e010ac/zermeloapi-2021.10.13.12.59.29-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,897 Found link https://files.pythonhosted.org/packages/9e/14/9fc312ea9e675c8a2d34b1eac07d4ec5cd7262492574d20b3bc9341c854c/zermeloapi-2021.10.13.13.1.40.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.13.13.1.40 2023-09-15T00:34:59,898 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/7a/b7/2df042f00ff479b2739279369826a24fef1591c26e88196a666e63f5d4c3/zermeloapi-2021.10.13.13.1.56-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,898 Found link https://files.pythonhosted.org/packages/cf/17/786fdce28eaca778f648b1972d89f49b66a9c469237ed001f9c35bf7c9fc/zermeloapi-2021.10.13.13.4.39.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.13.13.4.39 2023-09-15T00:34:59,899 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/35/0e/b3e4d75fe89ac54120d4e466ccf78deb9c4e2e132c2823256f2a639673e1/zermeloapi-2021.10.13.13.4.54-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,900 Found link https://files.pythonhosted.org/packages/e5/70/c39636794afba5fb642b8793a94d2edaf6a26c1de8e6aafe20d3cd6e10fa/zermeloapi-2021.10.13.13.10.9.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.13.13.10.9 2023-09-15T00:34:59,901 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/e2/0a/aca0db0990bd06ad5b196593487c9aec2920513e50dc118ffd38c798a95c/zermeloapi-2021.10.13.13.10.23-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,901 Found link https://files.pythonhosted.org/packages/58/a1/8ef20d1815b0b80a56422225916e7c44d2eba424f5c1877fd9b86f34b4e1/zermeloapi-2021.10.13.21.12.27.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.13.21.12.27 2023-09-15T00:34:59,902 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/db/d3/c5e54bbf332373b9b47d96749270ecf3819d2c0b3be18cab953b4b0d0c34/zermeloapi-2021.10.13.21.12.39-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,903 Found link https://files.pythonhosted.org/packages/56/5f/4c27e6fd34e3544ac8f9206757b12b527b5b06e1c29e6f0ff334e4430722/zermeloapi-2021.10.13.21.21.3.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.13.21.21.3 2023-09-15T00:34:59,904 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/21/aa/4443e579e541fafe3e046c1346c4c85b53a1442427b17df7adfcbda31d77/zermeloapi-2021.10.13.21.21.16-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,904 Found link https://files.pythonhosted.org/packages/09/cf/932a968f2a4726e9f376113ebc235cb7433c636cd34dcec0ebe4a3ff1ae3/zermeloapi-2021.10.13.21.22.32.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.13.21.22.32 2023-09-15T00:34:59,905 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/5b/6b/d1e3a2223fc96ef5959a36d2a97797ed13d80a7b2ba3a1b34e0d9ced9f78/zermeloapi-2021.10.13.21.22.47-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,906 Found link https://files.pythonhosted.org/packages/28/56/d4afe90a97199363e6488ecc26b467d731d7dbcdeabed1810397e9227fa5/zermeloapi-2021.10.13.21.58.5.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.13.21.58.5 2023-09-15T00:34:59,907 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/6b/9e/7e5c60d9437fdb73b1770d730b6fb88106c9f8f01f9aa7d8de6a3a990b13/zermeloapi-2021.10.13.21.58.21-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,908 Found link https://files.pythonhosted.org/packages/30/02/1ed9af1f4d4bcf4520ffc2384c3c869e485ab4f6e62fae15c291927174b1/zermeloapi-2021.10.14.10.28.31.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.14.10.28.31 2023-09-15T00:34:59,908 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/24/77/1f6d9e211d5aac3301eb6568a0944b909ad6b5c29ca5d590b192d32e77f0/zermeloapi-2021.10.14.10.28.47-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,909 Found link https://files.pythonhosted.org/packages/6f/e1/babf17fd24a4fc1b8961182c99ee23bd8c0512e17489d9a9519f162e84ea/zermeloapi-2021.10.28.20.23.10.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.28.20.23.10 2023-09-15T00:34:59,910 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/8c/aa/cd8f6ef21f59156fbd9fa1453b39f6b0e7a387acfad27c6bf6f7a336d93e/zermeloapi-2021.10.28.20.23.27-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,911 Found link https://files.pythonhosted.org/packages/7c/38/6a747b8053b6e3d32c4dbed8cc5ac1c846badd97f5a3a36803223963c8a5/zermeloapi-2021.10.28.20.31.41.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.28.20.31.41 2023-09-15T00:34:59,911 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/bc/07/379f360e4103102c0c10f42eb30b7c0414761f30b101118807993ecb0ab2/zermeloapi-2021.10.28.20.31.57-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,912 Found link https://files.pythonhosted.org/packages/24/05/5b6e226c24918f5d4e96f949f3bb80e00752a89ad55aed56551b495910f2/zermeloapi-2021.10.28.22.32.12.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.10.28.22.32.12 2023-09-15T00:34:59,913 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/37/66/ebeab4c4255f9c2679d256dc048ec617b425db68bc51cd35f84affc9729e/zermeloapi-2021.10.28.22.32.29-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,914 Found link https://files.pythonhosted.org/packages/bd/c4/e5c39ce3084a93242e12c477fa582860b1acd75daa110deea08cc0aa7c42/zermeloapi-2021.11.7.19.39.2.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.11.7.19.39.2 2023-09-15T00:34:59,915 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/bf/5d/52ea1692c2e4c1f6874ada6472d772142b51edaa190869ed84e37e05d319/zermeloapi-2021.11.7.19.39.30-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,915 Found link https://files.pythonhosted.org/packages/59/d8/ee63b51c8d26ca27c6e61b5c936ec9c5f927ec90a1a355e4e3b7c6eb5074/zermeloapi-2021.12.20.20.22.52.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.12.20.20.22.52 2023-09-15T00:34:59,916 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/ea/76/d9f4d58d4eb5ae0e9e9bd8170b89ca4f63d94a3147472131a5600a14c49d/zermeloapi-2021.12.20.20.23.21-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,917 Found link https://files.pythonhosted.org/packages/e9/34/abc9fec1f1e2506acdd2f3a061ae60dbf407d730b0778c4cbcd0554a868d/zermeloapi-2021.12.20.20.28.34.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.12.20.20.28.34 2023-09-15T00:34:59,918 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/93/54/e7c6c75ae55962fd9bee88c6ff7e93d4e18d4626609fbd2f119a39eb1ba5/zermeloapi-2021.12.20.20.28.58-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,919 Found link https://files.pythonhosted.org/packages/44/42/226a5fc920b128a709712642ccf173e42a52ab4a178718c88ab00ece99e9/zermeloapi-2021.12.20.20.31.24.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.12.20.20.31.24 2023-09-15T00:34:59,919 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/ac/86/80210ceaf3c5155e0ce3d400e8c3f4f11f62622f040202a9b317fa5b0bd1/zermeloapi-2021.12.20.20.31.48-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,920 Found link https://files.pythonhosted.org/packages/a3/1e/fb67a818189c0776bd8741a490167f711f859ef94f51669e5341ddd312a8/zermeloapi-2021.12.20.20.34.39.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2021.12.20.20.34.39 2023-09-15T00:34:59,921 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/93/76/19d85e5c1888a90ac2560ab249fec5bee1e1a068ed74e9d805c845ba0368/zermeloapi-2021.12.20.20.35.5-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,922 Found link https://files.pythonhosted.org/packages/e5/4d/5b557a8c4e74d266fcfdfc834735e32cfb0933ee3162d59a8a675427f319/zermeloapi-2022.1.1.23.22.8.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.1.1.23.22.8 2023-09-15T00:34:59,922 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/b6/3b/251ed3cdf5adaca4afc6cef9351499d6a96e74d17b7f2889f70fa2eae6de/zermeloapi-2022.1.1.23.22.52-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,923 Found link https://files.pythonhosted.org/packages/35/75/9c6e456fa3085e5b9f3feeaf1fb591dc1f36305b1c4c9b4527c7fd555420/zermeloapi-2022.1.1.23.24.33.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.1.1.23.24.33 2023-09-15T00:34:59,924 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/5f/54/aab22963d7a93bd18768e735075c8c31fb59c090e2965e6d5ed320324543/zermeloapi-2022.1.1.23.25.18-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,925 Found link https://files.pythonhosted.org/packages/e7/aa/ed3c6d181dc4bd2e3ecae124c0bb1e357847e3177dbdb98e6c293b9a025b/zermeloapi-2022.1.6.12.17.59.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.1.6.12.17.59 2023-09-15T00:34:59,925 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/bc/3b/4d65880dffcd803d2ab291b4949cb34a3abe4cf503cd1a6810f07da932b3/zermeloapi-2022.1.6.12.18.54-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,926 Found link https://files.pythonhosted.org/packages/08/ec/2afb2e3d286d40c5822e8ec26a6a0d9e6997674f6273baf48c1ad703ad13/zermeloapi-2022.1.6.12.29.24.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.1.6.12.29.24 2023-09-15T00:34:59,927 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/c1/5a/7c583d607068f6b020b3dbd43399d4229b08f11817b2ad3a7f1ca92f90b6/zermeloapi-2022.1.6.12.30.12-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,927 Found link https://files.pythonhosted.org/packages/d5/b7/8edb7a4075a916afba82e38e05d7cfc0a219c62eeda2b9e852c94e76e33b/zermeloapi-2022.3.21.13.17.50.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.3.21.13.17.50 2023-09-15T00:34:59,928 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/55/56/3acd935c6dfbe1de2c66dc8f3bfa73b81f77ba4fd6929566a3f07743f71b/zermeloapi-2022.3.21.13.18.59-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,929 Found link https://files.pythonhosted.org/packages/4d/56/89063bb57ba70a06e98dff6cb0088f25444cfdd0ea1ed2bfb25d72a5d306/zermeloapi-2022.3.21.13.23.51.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.3.21.13.23.51 2023-09-15T00:34:59,930 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/73/0a/cc122fd43e63c3984ab80bc36f2203ad6e1ff1ee7b6a17e526fdb594990e/zermeloapi-2022.3.21.13.25.26-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,931 Found link https://files.pythonhosted.org/packages/31/c7/410fc3ef32e6c0665758fcf9a1b9fa5a84dee3c3a46854e9fcb3f9a49ca5/zermeloapi-2022.3.21.13.31.43.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.3.21.13.31.43 2023-09-15T00:34:59,932 Found link https://files.pythonhosted.org/packages/4c/ea/4d5105a2aa92041c8a0b635b0dcda08e6de997bfde9aa96fef1fd414fa94/zermeloapi-2022.3.21.13.43.53.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.3.21.13.43.53 2023-09-15T00:34:59,932 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/f1/2d/3193dbc9650b6ba6b65c2643356d47e4c59801ffeafff26cbed9e1d4aeb3/zermeloapi-2022.3.21.13.44.38-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,933 Found link https://files.pythonhosted.org/packages/72/47/240761cb45b4182256ab6e1e3ba90cee8bec2f9d22168d99df6dd2266e50/zermeloapi-2022.5.19.13.19.33.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.19.13.19.33 2023-09-15T00:34:59,934 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/6b/78/681221c329ef26bc8e9ed7703c5505903d26c9cb3bc36340bfcede5b24ab/zermeloapi-2022.5.19.13.22.38-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,934 Found link https://files.pythonhosted.org/packages/55/7b/1b7c5a31e9c34601b56ca7a7c3bf24abc565dc74437ccadd57eb4f89a4d5/zermeloapi-2022.5.19.13.29.37.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.19.13.29.37 2023-09-15T00:34:59,935 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/9a/ba/6207e659e1f7e51e56c84bbc1c50566db7a33441f7c0a93c37b6f51da1c1/zermeloapi-2022.5.19.13.33.22-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,936 Found link https://files.pythonhosted.org/packages/fc/7f/f28915c9883a7a433748ed24e6aaba92273d6c145004e1f9fbbad6ee042f/zermeloapi-2022.5.19.16.55.56.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.19.16.55.56 2023-09-15T00:34:59,937 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/ad/f8/c44a0e03e40efcd8eb8871f3ad333537b19f771417d262cc57580029c343/zermeloapi-2022.5.19.16.59.39-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,937 Found link https://files.pythonhosted.org/packages/69/47/d3a56d415d2a81f9d344688e6b5cb3ae323b2e88398466f9481452a1ca0e/zermeloapi-2022.5.20.8.59.13.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.8.59.13 2023-09-15T00:34:59,938 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/80/b8/a720b1843d49c916d94b212718cc42ab5ac2633cb8f31e3e50ec994de4a2/zermeloapi-2022.5.20.9.1.37-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,939 Found link https://files.pythonhosted.org/packages/19/47/d0a058636fc16769d1574d0ea2fbe82856dd03ddbf5dd1dbedaa29cbabda/zermeloapi-2022.5.20.10.46.11.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.10.46.11 2023-09-15T00:34:59,940 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/62/31/e0427928d82b16a73f93aa5726dc5ed1fc7cf13251739858888b939e1947/zermeloapi-2022.5.20.10.47.49-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,941 Found link https://files.pythonhosted.org/packages/40/1d/b083959c0d24307e3af1e9c3f68aebc7b8ef0cae9110551bbd8bf08cde3a/zermeloapi-2022.5.20.11.7.50.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.11.7.50 2023-09-15T00:34:59,941 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/82/a7/0b9b351f0e8ebe0995dfa8ae1578a721a259b5137ed6577e099c58d9dba5/zermeloapi-2022.5.20.11.9.37-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,942 Found link https://files.pythonhosted.org/packages/c2/e1/fcce87cd74e38277625448d9fbac2b534b1b5c980c6b011e03ece0d1df0e/zermeloapi-2022.5.20.11.19.36.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.11.19.36 2023-09-15T00:34:59,943 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/3b/2b/4b24ad205f26bf96b8ae81623e38ff4a99fe038592dcc67f7fbd9f1e7bc2/zermeloapi-2022.5.20.11.22.51-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,944 Found link https://files.pythonhosted.org/packages/95/8e/e8563cfb611f7286c3cdd1e22d33b979b820e8a36c19711c1f15fa3d7724/zermeloapi-2022.5.20.11.41.55.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.11.41.55 2023-09-15T00:34:59,944 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/85/2a/14753bdb2a556bec106a7fa4b76cd351eadce22f295e625a9f92c91d28bf/zermeloapi-2022.5.20.11.43.46-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,945 Found link https://files.pythonhosted.org/packages/e1/d6/4edbf1d8ab08cfd868bdea9fb1df1c7b2a3f3a60ed406b49fdb38e9f6bc0/zermeloapi-2022.5.20.11.53.14.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.11.53.14 2023-09-15T00:34:59,946 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/a1/9f/71a0cecc766dc188516b1fc394bb9d8b9fe568fafeb4b700b3e6aec64d88/zermeloapi-2022.5.20.11.55.42-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,947 Found link https://files.pythonhosted.org/packages/3f/7b/00fb0c83ccf14d72205daa344323bc60346b794cf5f7f82cd3152c6c5b4f/zermeloapi-2022.5.20.15.47.22.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.15.47.22 2023-09-15T00:34:59,947 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/b4/0a/aed8920900c02f500f26f637bda43dae0bfb1fcc900500518104604716a3/zermeloapi-2022.5.20.15.48.55-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,948 Found link https://files.pythonhosted.org/packages/28/06/6cfa1f0d00979ac2174f164929ac448179f85236e91f96dc2b8f745d082a/zermeloapi-2022.5.20.15.54.52.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.15.54.52 2023-09-15T00:34:59,949 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/c3/8b/0cd74861d4869d14cd679787ee3ff27d8497cdba72a508a522c845afc5e4/zermeloapi-2022.5.20.15.56.33-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,950 Found link https://files.pythonhosted.org/packages/86/72/e1b121d846d36ab10bfb723565c0aab04f733143473d23384b580d0d859d/zermeloapi-2022.5.20.16.8.28.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.16.8.28 2023-09-15T00:34:59,951 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/cc/16/2f78843a62c341f26ad2530e957c30d38ec37586d6e578dbb6d59533caf5/zermeloapi-2022.5.20.16.9.59-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,952 Found link https://files.pythonhosted.org/packages/40/71/1d30c5c2bbd88d33ea5602737349a2cf0bd4bf364b9b27e31d1e7caf88f2/zermeloapi-2022.5.20.16.16.37.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.16.16.37 2023-09-15T00:34:59,953 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/39/6f/f25ecbddfd0ee722e7592c124ce9f3b2531c5e34901c93b2205c617baa40/zermeloapi-2022.5.20.16.18.4-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,953 Found link https://files.pythonhosted.org/packages/ef/db/61708ecf3f94025a3f386191366c28794d2f9887cf3e56b3c117eee177db/zermeloapi-2022.5.20.16.21.27.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.16.21.27 2023-09-15T00:34:59,954 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/36/13/40d7df5dee4a420bfff7a8f82110a465a34ee4be8d7070c6702c448cf234/zermeloapi-2022.5.20.16.23.31-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,955 Found link https://files.pythonhosted.org/packages/86/09/10d765aa016422e62d7d02181aabaa4088b96637d051785d9e62566c5bbc/zermeloapi-2022.5.20.16.34.0.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.16.34.0 2023-09-15T00:34:59,955 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/ba/84/ef07990cb6c91e680d353f703681eaeeae26052124c701ad67757a15cafa/zermeloapi-2022.5.20.16.35.44-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,956 Found link https://files.pythonhosted.org/packages/b5/8b/7a35f0afd88dc6a237e3eeb7089e3a058dbe0f0e1f65fa7c07bc1756de2b/zermeloapi-2022.5.20.17.17.25.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.17.17.25 2023-09-15T00:34:59,957 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/9d/e8/b548f0617a6e954fa1507fab26a90218dfa430d4850525b29ffc027af3b7/zermeloapi-2022.5.20.17.19.5-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,958 Found link https://files.pythonhosted.org/packages/2a/b4/d144e1580c4c76d6c9e82ebd54b04a888146d0b5d9009f1a86fb1b0af814/zermeloapi-2022.5.20.17.24.41.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.17.24.41 2023-09-15T00:34:59,959 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/98/bf/5595cce18c8971984c5d025db92b6278fbac38d37089616987c2a00778ca/zermeloapi-2022.5.20.17.26.15-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,960 Found link https://files.pythonhosted.org/packages/0d/8b/776c15525cba65913321e3dca4bde2f3ac1bd3d9701b44501f158851ae3a/zermeloapi-2022.5.20.17.38.30.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.17.38.30 2023-09-15T00:34:59,960 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/86/cc/d857062448df05c69d090dbe5e912077a2b4e55d37666b58ad24d21be893/zermeloapi-2022.5.20.17.40.15-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,961 Found link https://files.pythonhosted.org/packages/10/08/3ed0d194154683e98a324a72cee0e510623b15129c60607d5a9e4dd03e07/zermeloapi-2022.5.20.17.49.3.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.17.49.3 2023-09-15T00:34:59,962 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/58/4a/3ab4832dee49aac51a9fe8c601a2d912e3f1738535d03dd1e6da652a9231/zermeloapi-2022.5.20.17.50.49-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,963 Found link https://files.pythonhosted.org/packages/f4/bf/411abbb29f379a57480e85f6f416c3850877888eabc85fe792591a0ab419/zermeloapi-2022.5.20.17.56.8.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.17.56.8 2023-09-15T00:34:59,964 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/d7/c8/381f5aa0c5c51bcccf47bd0ab3e2c135d74ef6652a625ab16e7b8dcceb92/zermeloapi-2022.5.20.17.57.54-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,965 Found link https://files.pythonhosted.org/packages/90/b5/a08ef80041c285a1426594de2edfa292b148a701f318b809eeea264bbeb1/zermeloapi-2022.5.20.18.2.8.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.18.2.8 2023-09-15T00:34:59,965 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/10/a0/0f479c0d0e49e7fe01316660314f8549a69b66599411ee7c36355fc39677/zermeloapi-2022.5.20.18.3.55-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,966 Found link https://files.pythonhosted.org/packages/2c/7a/aee78d4999700864cf9411b431831cf0d30b36ba08981cf9b78b366f157f/zermeloapi-2022.5.20.18.15.44.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.18.15.44 2023-09-15T00:34:59,967 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/a8/6f/cc108f2f324e166790a2816dd164415ad661617cf588948f0952fff68a13/zermeloapi-2022.5.20.18.17.9-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,967 Found link https://files.pythonhosted.org/packages/13/40/969611e149f02c52cce6dc6913cb0747af276592bac71e246bd3642269df/zermeloapi-2022.5.20.18.34.40.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.18.34.40 2023-09-15T00:34:59,968 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/ea/77/5ce25eac5a8f1d791a7fdbcbf332d4173aa430653768d1756ddee1c0575e/zermeloapi-2022.5.20.18.36.31-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,969 Found link https://files.pythonhosted.org/packages/2d/b7/a68a4a7c7efb13a9580b7cb90c10cfc2fdd43b13980d61fb0a24df8ff248/zermeloapi-2022.5.20.18.40.45.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.18.40.45 2023-09-15T00:34:59,970 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/2f/fd/7eae2aae86ef1d96248b9849d69035e899cfea10f7cdacedff5988f3e33b/zermeloapi-2022.5.20.18.42.9-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,971 Found link https://files.pythonhosted.org/packages/c1/e3/c9c0eeb29330ae731bbb1f0703a771a91880c1fdd77a3ca82278a4661024/zermeloapi-2022.5.20.18.46.41.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.18.46.41 2023-09-15T00:34:59,971 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/39/43/4fa8415edb201e9ed51a78fb1e3389283c73e081b673f5880106a7f2bfa5/zermeloapi-2022.5.20.18.48.3-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,972 Found link https://files.pythonhosted.org/packages/c9/4d/4b9904a5cbab2c7659f30710f670d8be9438d1ebfee17f748a08b77b1e4c/zermeloapi-2022.5.20.18.52.41.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.20.18.52.41 2023-09-15T00:34:59,973 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/2c/85/b33e6bc2b67f4e2c9516baf58525c332f84d3554729e9f54cbea0911cd52/zermeloapi-2022.5.20.18.54.10-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,974 Found link https://files.pythonhosted.org/packages/61/96/2465b2dfb00fd787cf5f85edf36e5e57b4b326a861802d2854e5fd72b954/zermeloapi-2022.5.23.9.41.59.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.23.9.41.59 2023-09-15T00:34:59,974 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/a8/b6/5275f9de57a19fabdc225ac02f1fc540bbd599787285cfdcf36193b5d9dc/zermeloapi-2022.5.23.9.43.46-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,975 Found link https://files.pythonhosted.org/packages/6e/9a/46e7a256b1b8019a82baa4a006e94d7ff4a7e7894597c02e3ad694496533/zermeloapi-2022.5.24.9.29.42.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.5.24.9.29.42 2023-09-15T00:34:59,976 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/54/b2/4f19671ce2b9035038237d0d430a24c091e395a2391f6a4e39459b586d45/zermeloapi-2022.5.24.9.30.52-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,976 Found link https://files.pythonhosted.org/packages/12/b8/37c1ba8d8d18a19289586c3bcd2ed8b4e404050a0cde5b8ade329ee0851f/zermeloapi-2022.9.1.10.58.43.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.9.1.10.58.43 2023-09-15T00:34:59,977 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/a5/ff/f64d7273b7db9a72a08b3b7099effd8e50f1990a3293c6426c8d3e8246f2/zermeloapi-2022.9.1.10.58.53-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,978 Found link https://files.pythonhosted.org/packages/0b/37/b8f3e3587d808da8c98345a7478c1b4cd526f419b7fd7b78a60f694acdbc/zermeloapi-2022.9.1.11.37.1.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.9.1.11.37.1 2023-09-15T00:34:59,979 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/31/a0/be1fff0f61c9f4c3fd86520712f9c368ffc96f7da4043720e6d9f8fca5f8/zermeloapi-2022.9.1.11.37.12-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,979 Found link https://files.pythonhosted.org/packages/17/8f/8287cc3c9dcf87248a0635a5088436fa3b4a8a1a9000648f6008a7ca27e8/zermeloapi-2022.9.1.11.37.43.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.9.1.11.37.43 2023-09-15T00:34:59,980 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/cc/c9/9f94c4a0e1b1eea93c43d7f9fe31ad1add00643a0d0e34bb3775d8ea832f/zermeloapi-2022.9.1.11.37.53-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,981 Found link https://files.pythonhosted.org/packages/4e/f8/41059158b883767cfde75826de7a9758f09ea069fb0c3d8736c0b517c7f7/zermeloapi-2022.9.1.11.58.56.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.9.1.11.58.56 2023-09-15T00:34:59,982 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/c1/67/7087708f0356e029fa4875b29a1dd19ca42a5c11662bdfb2e7b608f74074/zermeloapi-2022.9.1.11.59.6-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,983 Found link https://files.pythonhosted.org/packages/63/9f/1a399e37ab6dcb20fa3b253cf0b862bdd50ddf67dedaeada03f99aa9159c/zermeloapi-2022.9.11.14.31.23.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2022.9.11.14.31.23 2023-09-15T00:34:59,983 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/0d/c6/97108a6296d1d84943ece07d4a7fe282503d85452dff79de9be59548285f/zermeloapi-2022.9.11.14.31.32-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,984 Found link https://files.pythonhosted.org/packages/ca/bb/753adf54ee219b2bc2ef84ff9d66ccd3ce196024babb8b656fa50d3cb165/zermeloapi-2023.8.23.16.31.15.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2023.8.23.16.31.15 2023-09-15T00:34:59,985 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/43/d9/01efe0e8d5322e51780ba671046dd896b3dd6bc6fb3f9c079d1f388e5657/zermeloapi-2023.8.23.16.31.24-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,986 Found link https://files.pythonhosted.org/packages/3a/c6/ca69b32d91d50d407ef9bca171274ccf8dd90d13a8b1a86062908acc0799/zermeloapi-2023.9.12.18.47.14.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0), version: 2023.9.12.18.47.14 2023-09-15T00:34:59,986 Skipping link: No binaries permitted for zermeloapi: https://files.pythonhosted.org/packages/7b/f9/4691dc2ed49b5a8f6ec1d16eb7bd43130664c58343fede99b0b5fdf1bb5b/zermeloapi-2023.9.12.18.47.22-py3-none-any.whl (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0) 2023-09-15T00:34:59,987 Fetching project page and analyzing links: https://www.piwheels.org/simple/zermeloapi/ 2023-09-15T00:34:59,988 Getting page https://www.piwheels.org/simple/zermeloapi/ 2023-09-15T00:34:59,989 Found index url https://www.piwheels.org/simple/ 2023-09-15T00:35:00,246 Fetched page https://www.piwheels.org/simple/zermeloapi/ as text/html 2023-09-15T00:35:00,247 Skipping link: not a file: https://www.piwheels.org/simple/zermeloapi/ 2023-09-15T00:35:00,247 Skipping link: not a file: https://pypi.org/simple/zermeloapi/ 2023-09-15T00:35:00,274 Given no hashes to check 1 links for project 'zermeloapi': discarding no candidates 2023-09-15T00:35:00,292 Collecting zermeloapi==2021.10.13.13.4.39 2023-09-15T00:35:00,295 Created temporary directory: /tmp/pip-unpack-uoqjj8dl 2023-09-15T00:35:00,515 Downloading zermeloapi-2021.10.13.13.4.39.tar.gz (5.1 kB) 2023-09-15T00:35:00,546 Added zermeloapi==2021.10.13.13.4.39 from https://files.pythonhosted.org/packages/cf/17/786fdce28eaca778f648b1972d89f49b66a9c469237ed001f9c35bf7c9fc/zermeloapi-2021.10.13.13.4.39.tar.gz to build tracker '/tmp/pip-build-tracker-f1kku442' 2023-09-15T00:35:00,552 Created temporary directory: /tmp/pip-build-env-x99e3mxu 2023-09-15T00:35:00,556 Installing build dependencies: started 2023-09-15T00:35:00,557 Running command pip subprocess to install build dependencies 2023-09-15T00:35:01,718 Using pip 23.2.1 from /usr/local/lib/python3.11/dist-packages/pip (python 3.11) 2023-09-15T00:35:02,213 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-09-15T00:35:03,898 Collecting setuptools>=42 2023-09-15T00:35:03,899 Obtaining dependency information for setuptools>=42 from https://files.pythonhosted.org/packages/bb/26/7945080113158354380a12ce26873dd6c1ebd88d47f5bc24e2c5bb38c16a/setuptools-68.2.2-py3-none-any.whl.metadata 2023-09-15T00:35:03,904 Using cached setuptools-68.2.2-py3-none-any.whl.metadata (6.3 kB) 2023-09-15T00:35:04,108 Collecting wheel 2023-09-15T00:35:04,123 Using cached https://www.piwheels.org/simple/wheel/wheel-0.41.2-py3-none-any.whl (64 kB) 2023-09-15T00:35:04,373 Collecting requests 2023-09-15T00:35:04,388 Using cached https://www.piwheels.org/simple/requests/requests-2.31.0-py3-none-any.whl (62 kB) 2023-09-15T00:35:04,483 Collecting datetime 2023-09-15T00:35:04,510 Downloading https://www.piwheels.org/simple/datetime/DateTime-5.2-py3-none-any.whl (52 kB) 2023-09-15T00:35:04,529 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.2/52.2 kB 4.5 MB/s eta 0:00:00 2023-09-15T00:35:05,059 Collecting charset-normalizer<4,>=2 (from requests) 2023-09-15T00:35:05,073 Using cached https://www.piwheels.org/simple/charset-normalizer/charset_normalizer-3.2.0-py3-none-any.whl (46 kB) 2023-09-15T00:35:05,173 Collecting idna<4,>=2.5 (from requests) 2023-09-15T00:35:05,188 Using cached https://www.piwheels.org/simple/idna/idna-3.4-py3-none-any.whl (61 kB) 2023-09-15T00:35:05,468 Collecting urllib3<3,>=1.21.1 (from requests) 2023-09-15T00:35:05,485 Using cached https://www.piwheels.org/simple/urllib3/urllib3-2.0.4-py3-none-any.whl (123 kB) 2023-09-15T00:35:05,635 Collecting certifi>=2017.4.17 (from requests) 2023-09-15T00:35:05,657 Using cached https://www.piwheels.org/simple/certifi/certifi-2023.7.22-py3-none-any.whl (158 kB) 2023-09-15T00:35:06,415 Collecting zope.interface (from datetime) 2023-09-15T00:35:06,424 Downloading https://www.piwheels.org/simple/zope-interface/zope.interface-5.4.0-cp311-cp311-linux_armv7l.whl (242 kB) 2023-09-15T00:35:06,456 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 242.7/242.7 kB 10.0 MB/s eta 0:00:00 2023-09-15T00:35:06,806 Collecting pytz (from datetime) 2023-09-15T00:35:06,816 Downloading https://www.piwheels.org/simple/pytz/pytz-2023.3.post1-py3-none-any.whl (502 kB) 2023-09-15T00:35:06,873 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 502.5/502.5 kB 10.2 MB/s eta 0:00:00 2023-09-15T00:35:07,011 Using cached setuptools-68.2.2-py3-none-any.whl (807 kB) 2023-09-15T00:35:09,522 Installing collected packages: pytz, wheel, urllib3, setuptools, idna, charset-normalizer, certifi, zope.interface, requests, datetime 2023-09-15T00:35:10,574 Creating /tmp/pip-build-env-x99e3mxu/overlay/local/bin 2023-09-15T00:35:10,577 changing mode of /tmp/pip-build-env-x99e3mxu/overlay/local/bin/wheel to 755 2023-09-15T00:35:13,467 changing mode of /tmp/pip-build-env-x99e3mxu/overlay/local/bin/normalizer to 755 2023-09-15T00:35:14,622 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. 2023-09-15T00:35:14,623 conan 2.0.10 requires urllib3<1.27,>=1.26.6, but you have urllib3 2.0.4 which is incompatible. 2023-09-15T00:35:14,624 Successfully installed certifi-2023.7.22 charset-normalizer-3.2.0 datetime-5.2 idna-3.4 pytz-2023.3.post1 requests-2.31.0 setuptools-68.2.2 urllib3-2.0.4 wheel-0.41.2 zope.interface-5.4.0 2023-09-15T00:35:15,253 Installing build dependencies: finished with status 'done' 2023-09-15T00:35:15,256 Getting requirements to build wheel: started 2023-09-15T00:35:15,257 Running command Getting requirements to build wheel 2023-09-15T00:35:15,715 # zermelo api 2023-09-15T00:35:15,716 ![GitHub Logo](https://ozhw.zportal.nl/static/v/21.09j64/img/zermelo2013.svg) 2023-09-15T00:35:15,716 # documentation 2023-09-15T00:35:15,718 ## install 2023-09-15T00:35:15,719 ```properties 2023-09-15T00:35:15,720 pip install zermeloapi 2023-09-15T00:35:15,721 ``` 2023-09-15T00:35:15,722 ## how to import 2023-09-15T00:35:15,722 ```python 2023-09-15T00:35:15,723 import zermeloapi 2023-09-15T00:35:15,723 ``` 2023-09-15T00:35:15,724 ## initializing 2023-09-15T00:35:15,724 ```python 2023-09-15T00:35:15,725 zermelo = zermeloapi.zermelo(school, username, password, teacher=False, version=3) 2023-09-15T00:35:15,725 ``` 2023-09-15T00:35:15,726 ## get_token 2023-09-15T00:35:15,726 ```python 2023-09-15T00:35:15,727 token = zermelo.get_token() 2023-09-15T00:35:15,727 ``` 2023-09-15T00:35:15,728 if u wand to u can give the school username and password again but u don't need to in that case u can use `get_token(school,username,password)` 2023-09-15T00:35:15,729 ## get_access_token 2023-09-15T00:35:15,729 ```python 2023-09-15T00:35:15,730 access_token = zermelo.get_access_token() 2023-09-15T00:35:15,731 ``` 2023-09-15T00:35:15,731 again if u wand to u can give the school and username again but u don't need to in that case u can use `get_access_token(school,username)` 2023-09-15T00:35:15,732 ## get_schedule 2023-09-15T00:35:15,733 ```python 2023-09-15T00:35:15,733 raw_schedule = zermelo.get_schedule() 2023-09-15T00:35:15,733 ``` 2023-09-15T00:35:15,734 u can give the week number and or year of u wand to else it uses the current year/week u can use `get_schedule(week=37)`,`get_schedule(year=2023)`or`get_schedule(year=2023,week=37)` 2023-09-15T00:35:15,734 ## sort_schedule 2023-09-15T00:35:15,735 ```python 2023-09-15T00:35:15,735 sorted_schedule = zermelo.sort_schedule() 2023-09-15T00:35:15,735 ``` 2023-09-15T00:35:15,736 like before u can give the week and year but u can also give the schedule from [`get_schedule()`](#get_schedule) instead to sort it defaults to getting it self but if u give it uses that one u can do that by using it like this `sort_schedule(schedule)` for the week and year it is the same syntax 2023-09-15T00:35:15,736 ## readable_schedule 2023-09-15T00:35:15,737 ```python 2023-09-15T00:35:15,737 readable = zermelo.readable_schedule() 2023-09-15T00:35:15,738 ``` 2023-09-15T00:35:15,738 again u can give it week and year with the same syntax as before also you can give it a sorted schedule (output from [`sort_schedule()`](#sort_schedule)) by using `readable_schedule(sorted_schedule)` 2023-09-15T00:35:15,739 ## print_schedule 2023-09-15T00:35:15,739 ```python 2023-09-15T00:35:15,740 zermelo.print_schedule() 2023-09-15T00:35:15,740 ``` 2023-09-15T00:35:15,741 yes u can use it like this `zermelo.print_schedule(zermelo.readable_schedule())` but **WHY** if u wand that use it like that just `print(zermelo.readable_schedule())` the only use is that it defaults to `zermelo.readable_schedule()` 2023-09-15T00:35:15,741 # source code 2023-09-15T00:35:15,742 ```python 2023-09-15T00:35:15,743 class zermelo: 2023-09-15T00:35:15,743 expires_in = 0 2023-09-15T00:35:15,744 school = '' 2023-09-15T00:35:15,745 username = '' 2023-09-15T00:35:15,745 password = '' 2023-09-15T00:35:15,746 teacher = False 2023-09-15T00:35:15,746 TimeToAddToUtc = 0 2023-09-15T00:35:15,747 access_token = '' 2023-09-15T00:35:15,749 def __init__(self, school, username, password, teacher=False, version=3): 2023-09-15T00:35:15,749 self.school = school 2023-09-15T00:35:15,750 self.username = username 2023-09-15T00:35:15,750 self.password = password 2023-09-15T00:35:15,751 self.teacher = teacher 2023-09-15T00:35:15,752 self.version = 'v'+str(version) 2023-09-15T00:35:15,753 self.TimeToAddToUtc = self.get_date()[2] 2023-09-15T00:35:15,753 self.access_token = self.get_access_token() 2023-09-15T00:35:15,755 def get_date(self): 2023-09-15T00:35:15,755 from datetime import date, datetime 2023-09-15T00:35:15,756 year, week = date.today().strftime("%Y %W").split(" ") 2023-09-15T00:35:15,756 if date.today().isoweekday() > 6: 2023-09-15T00:35:15,757 week = str(int(week)+1) 2023-09-15T00:35:15,758 TimeToAddToUtc = int( 2023-09-15T00:35:15,758 str(datetime.now().astimezone()).split("+")[1].split(":")[0]) 2023-09-15T00:35:15,759 return year, week, TimeToAddToUtc 2023-09-15T00:35:15,760 def refresh(self): 2023-09-15T00:35:15,761 self.access_token = self.get_access_token() 2023-09-15T00:35:15,761 return(self.expires_in) 2023-09-15T00:35:15,763 def get_token(self, school=None, username=None, password=None): 2023-09-15T00:35:15,764 if(school == None): 2023-09-15T00:35:15,765 school = self.school 2023-09-15T00:35:15,765 if (username == None): 2023-09-15T00:35:15,766 username = self.username 2023-09-15T00:35:15,766 if(password == None): 2023-09-15T00:35:15,767 password = self.password 2023-09-15T00:35:15,768 import requests 2023-09-15T00:35:15,768 url = 'https://'+school+'.zportal.nl/api/'+self.version+'/oauth' 2023-09-15T00:35:15,769 myobj = {'username': username, 'password': password, 'client_id': 'OAuthPage', 'redirect_uri': '/main/', 2023-09-15T00:35:15,770 'scope': '', 'state': '4E252A', 'response_type': 'code', 'tenant': school} 2023-09-15T00:35:15,770 x = requests.post(url, data=myobj) 2023-09-15T00:35:15,771 respons = x.text 2023-09-15T00:35:15,771 start = respons.find("code=") + len("code=") 2023-09-15T00:35:15,771 end = respons.find("&", start) 2023-09-15T00:35:15,772 token = respons[start:end] 2023-09-15T00:35:15,772 start = respons.find("tenant=") + len("tenant=") 2023-09-15T00:35:15,773 end = respons.find("&", start) 2023-09-15T00:35:15,773 school = respons[start:end] 2023-09-15T00:35:15,773 start = respons.find("expires_in=") + len("expires_in=") 2023-09-15T00:35:15,774 end = respons.find("&", start) 2023-09-15T00:35:15,774 self.expires_in = respons[start:end] 2023-09-15T00:35:15,775 start = respons.find("loginMethod=") + len("loginMethod=") 2023-09-15T00:35:15,775 end = respons.find("&", start) 2023-09-15T00:35:15,776 self.loginMethod = respons[start:end] 2023-09-15T00:35:15,776 start = respons.find("interfaceVersion=") + len("interfaceVersion=") 2023-09-15T00:35:15,777 end = respons.find("&", start) 2023-09-15T00:35:15,777 self.interfaceVersion = respons[start:end] 2023-09-15T00:35:15,778 return(token) 2023-09-15T00:35:15,779 def get_access_token(self, school=None, token=None): 2023-09-15T00:35:15,780 if(school == None): 2023-09-15T00:35:15,780 school = self.school 2023-09-15T00:35:15,781 if(token == None): 2023-09-15T00:35:15,782 token = self.get_token() 2023-09-15T00:35:15,782 import requests 2023-09-15T00:35:15,782 url = 'https://' + school+'.zportal.nl/api/'+self.version+'/oauth/token' 2023-09-15T00:35:15,783 myobj = {'code': token, 'client_id': 'ZermeloPortal', 'client_secret': 42, 2023-09-15T00:35:15,784 'grant_type': 'authorization_code', 'rememberMe': False} 2023-09-15T00:35:15,784 l = requests.post(url, data=myobj) 2023-09-15T00:35:15,785 import json 2023-09-15T00:35:15,785 jl = json.loads(l.text) 2023-09-15T00:35:15,786 access_token = jl['access_token'] 2023-09-15T00:35:15,787 return(access_token) 2023-09-15T00:35:15,788 def get_schedule(self, year=None, week=None): 2023-09-15T00:35:15,789 time = self.get_date() 2023-09-15T00:35:15,790 if year == None: 2023-09-15T00:35:15,790 year = time[0] 2023-09-15T00:35:15,791 if week == None: 2023-09-15T00:35:15,792 week = time[1] 2023-09-15T00:35:15,792 import requests 2023-09-15T00:35:15,793 import json 2023-09-15T00:35:15,793 headers = {"Authorization": "Bearer "+self.access_token} 2023-09-15T00:35:15,794 r = requests.get('https://' + self.school + '.zportal.nl/api/'+self.version+'/liveschedule?'+("teacher" if (self.teacher) else "student")+'='+self.username+'&week='+str(year)+str(week) + 2023-09-15T00:35:15,794 '&fields=appointmentInstance,start,end,startTimeSlotName,endTimeSlotName,subjects,groups,locations,teachers,cancelled,changeDescription,schedulerRemark,content,appointmentType', headers=headers) 2023-09-15T00:35:15,795 rl = json.loads(r.text) 2023-09-15T00:35:15,796 # print(r.text) 2023-09-15T00:35:15,796 response = rl["response"] 2023-09-15T00:35:15,797 data = response["data"][0] 2023-09-15T00:35:15,797 appointments = data["appointments"] 2023-09-15T00:35:15,798 return(appointments) 2023-09-15T00:35:15,800 def sort_schedule(self, schedule=None, year=None, week=None): 2023-09-15T00:35:15,801 if(schedule == None): 2023-09-15T00:35:15,801 schedule = self.get_schedule(year=year, week=week) 2023-09-15T00:35:15,802 pdate = 0 2023-09-15T00:35:15,803 days = [[[], []]] 2023-09-15T00:35:15,803 for les in schedule: 2023-09-15T00:35:15,804 from datetime import datetime 2023-09-15T00:35:15,804 date = datetime.utcfromtimestamp(les["start"]).strftime('%Y%m%d') 2023-09-15T00:35:15,805 hour = str(int(datetime.utcfromtimestamp( 2023-09-15T00:35:15,805 les["start"]).strftime('%H')) + self.TimeToAddToUtc) 2023-09-15T00:35:15,805 time = datetime.utcfromtimestamp(les["start"]).strftime('%Y-%m-%d ') + (hour if int( 2023-09-15T00:35:15,806 hour) > 9 else ('0'+hour)) + datetime.utcfromtimestamp(les["start"]).strftime(':%M') 2023-09-15T00:35:15,806 ehour = str(int(datetime.utcfromtimestamp( 2023-09-15T00:35:15,807 les["end"]).strftime('%H')) + self.TimeToAddToUtc) 2023-09-15T00:35:15,807 etime = datetime.utcfromtimestamp(les["end"]).strftime('%Y-%m-%d ') + (ehour if int( 2023-09-15T00:35:15,808 ehour) > 9 else ('0'+ehour)) + datetime.utcfromtimestamp(les["end"]).strftime(':%M') 2023-09-15T00:35:15,808 # print(les["status"]) 2023-09-15T00:35:15,809 if date != pdate: 2023-09-15T00:35:15,809 days.append([[], []]) 2023-09-15T00:35:15,810 if (les["status"][0]["code"] < 3000 and les["status"][0]["code"] >= 2000): 2023-09-15T00:35:15,810 days[-1][0].append([les["subjects"][0], time, etime, 2023-09-15T00:35:15,811 str(les["locations"]), les["status"], les["online"]]) 2023-09-15T00:35:15,811 else: 2023-09-15T00:35:15,812 days[-1][1].append([les["subjects"][0], time, etime, 2023-09-15T00:35:15,812 str(les["locations"]), les["status"], les["online"]]) 2023-09-15T00:35:15,813 pdate = date 2023-09-15T00:35:15,813 days.pop(0) 2023-09-15T00:35:15,814 return(days) 2023-09-15T00:35:15,816 def readable_schedule(self, days=None, year=None, week=None): 2023-09-15T00:35:15,817 result = '' 2023-09-15T00:35:15,818 if(days == None): 2023-09-15T00:35:15,818 days = self.sort_schedule(year=year, week=week) 2023-09-15T00:35:15,819 for day in days: 2023-09-15T00:35:15,820 result += ("start: "+day[0][0][1]+"\tend: "+day[0][-1][2]+'\n') 2023-09-15T00:35:15,820 for les in day[0]: 2023-09-15T00:35:15,821 if (les[4][0]["code"] < 3000 and les[4][0]["code"] >= 2000): 2023-09-15T00:35:15,822 result += ("les: "+les[0].ljust(10, " ")+"lokaal: "+("📷"if(les[5])else (les[3][2:-2]if( 2023-09-15T00:35:15,822 len(les[3][2:-2]) > 0)else "————")).ljust(5, " ")+"\tstart: "+les[1]+"\tend: "+les[2]+'\n') 2023-09-15T00:35:15,823 pass 2023-09-15T00:35:15,823 result += ("\n\n") 2023-09-15T00:35:15,824 return result 2023-09-15T00:35:15,826 def print_schedule(self, readable=None, days=None, year=None, week=None): 2023-09-15T00:35:15,826 if(readable == None): 2023-09-15T00:35:15,827 readable = self.readable_schedule(days=days, year=year, week=week) 2023-09-15T00:35:15,827 print(readable) 2023-09-15T00:35:15,828 ```/tmp/pip-build-env-x99e3mxu/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:314: InformationOnly: Normalizing '2023.09.15.00.35.15' to '2023.9.15.0.35.15' 2023-09-15T00:35:15,829 self.metadata.version = self._normalize_version( 2023-09-15T00:35:15,830 running egg_info 2023-09-15T00:35:15,831 writing src/zermeloapi.egg-info/PKG-INFO 2023-09-15T00:35:15,835 writing dependency_links to src/zermeloapi.egg-info/dependency_links.txt 2023-09-15T00:35:15,837 writing top-level names to src/zermeloapi.egg-info/top_level.txt 2023-09-15T00:35:15,857 reading manifest file 'src/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:15,859 adding license file 'LICENSE' 2023-09-15T00:35:15,861 writing manifest file 'src/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:15,936 Getting requirements to build wheel: finished with status 'done' 2023-09-15T00:35:15,948 Created temporary directory: /tmp/pip-modern-metadata-d8vi1789 2023-09-15T00:35:15,950 Preparing metadata (pyproject.toml): started 2023-09-15T00:35:15,951 Running command Preparing metadata (pyproject.toml) 2023-09-15T00:35:16,378 # zermelo api 2023-09-15T00:35:16,378 ![GitHub Logo](https://ozhw.zportal.nl/static/v/21.09j64/img/zermelo2013.svg) 2023-09-15T00:35:16,379 # documentation 2023-09-15T00:35:16,380 ## install 2023-09-15T00:35:16,381 ```properties 2023-09-15T00:35:16,381 pip install zermeloapi 2023-09-15T00:35:16,382 ``` 2023-09-15T00:35:16,383 ## how to import 2023-09-15T00:35:16,383 ```python 2023-09-15T00:35:16,383 import zermeloapi 2023-09-15T00:35:16,384 ``` 2023-09-15T00:35:16,384 ## initializing 2023-09-15T00:35:16,385 ```python 2023-09-15T00:35:16,385 zermelo = zermeloapi.zermelo(school, username, password, teacher=False, version=3) 2023-09-15T00:35:16,386 ``` 2023-09-15T00:35:16,386 ## get_token 2023-09-15T00:35:16,387 ```python 2023-09-15T00:35:16,387 token = zermelo.get_token() 2023-09-15T00:35:16,388 ``` 2023-09-15T00:35:16,388 if u wand to u can give the school username and password again but u don't need to in that case u can use `get_token(school,username,password)` 2023-09-15T00:35:16,388 ## get_access_token 2023-09-15T00:35:16,389 ```python 2023-09-15T00:35:16,389 access_token = zermelo.get_access_token() 2023-09-15T00:35:16,390 ``` 2023-09-15T00:35:16,390 again if u wand to u can give the school and username again but u don't need to in that case u can use `get_access_token(school,username)` 2023-09-15T00:35:16,391 ## get_schedule 2023-09-15T00:35:16,391 ```python 2023-09-15T00:35:16,392 raw_schedule = zermelo.get_schedule() 2023-09-15T00:35:16,392 ``` 2023-09-15T00:35:16,393 u can give the week number and or year of u wand to else it uses the current year/week u can use `get_schedule(week=37)`,`get_schedule(year=2023)`or`get_schedule(year=2023,week=37)` 2023-09-15T00:35:16,393 ## sort_schedule 2023-09-15T00:35:16,394 ```python 2023-09-15T00:35:16,394 sorted_schedule = zermelo.sort_schedule() 2023-09-15T00:35:16,395 ``` 2023-09-15T00:35:16,395 like before u can give the week and year but u can also give the schedule from [`get_schedule()`](#get_schedule) instead to sort it defaults to getting it self but if u give it uses that one u can do that by using it like this `sort_schedule(schedule)` for the week and year it is the same syntax 2023-09-15T00:35:16,396 ## readable_schedule 2023-09-15T00:35:16,396 ```python 2023-09-15T00:35:16,397 readable = zermelo.readable_schedule() 2023-09-15T00:35:16,397 ``` 2023-09-15T00:35:16,398 again u can give it week and year with the same syntax as before also you can give it a sorted schedule (output from [`sort_schedule()`](#sort_schedule)) by using `readable_schedule(sorted_schedule)` 2023-09-15T00:35:16,398 ## print_schedule 2023-09-15T00:35:16,399 ```python 2023-09-15T00:35:16,400 zermelo.print_schedule() 2023-09-15T00:35:16,400 ``` 2023-09-15T00:35:16,401 yes u can use it like this `zermelo.print_schedule(zermelo.readable_schedule())` but **WHY** if u wand that use it like that just `print(zermelo.readable_schedule())` the only use is that it defaults to `zermelo.readable_schedule()` 2023-09-15T00:35:16,401 # source code 2023-09-15T00:35:16,402 ```python 2023-09-15T00:35:16,403 class zermelo: 2023-09-15T00:35:16,403 expires_in = 0 2023-09-15T00:35:16,404 school = '' 2023-09-15T00:35:16,404 username = '' 2023-09-15T00:35:16,405 password = '' 2023-09-15T00:35:16,405 teacher = False 2023-09-15T00:35:16,406 TimeToAddToUtc = 0 2023-09-15T00:35:16,406 access_token = '' 2023-09-15T00:35:16,408 def __init__(self, school, username, password, teacher=False, version=3): 2023-09-15T00:35:16,409 self.school = school 2023-09-15T00:35:16,409 self.username = username 2023-09-15T00:35:16,409 self.password = password 2023-09-15T00:35:16,410 self.teacher = teacher 2023-09-15T00:35:16,410 self.version = 'v'+str(version) 2023-09-15T00:35:16,411 self.TimeToAddToUtc = self.get_date()[2] 2023-09-15T00:35:16,411 self.access_token = self.get_access_token() 2023-09-15T00:35:16,412 def get_date(self): 2023-09-15T00:35:16,413 from datetime import date, datetime 2023-09-15T00:35:16,413 year, week = date.today().strftime("%Y %W").split(" ") 2023-09-15T00:35:16,414 if date.today().isoweekday() > 6: 2023-09-15T00:35:16,414 week = str(int(week)+1) 2023-09-15T00:35:16,414 TimeToAddToUtc = int( 2023-09-15T00:35:16,415 str(datetime.now().astimezone()).split("+")[1].split(":")[0]) 2023-09-15T00:35:16,415 return year, week, TimeToAddToUtc 2023-09-15T00:35:16,416 def refresh(self): 2023-09-15T00:35:16,417 self.access_token = self.get_access_token() 2023-09-15T00:35:16,417 return(self.expires_in) 2023-09-15T00:35:16,418 def get_token(self, school=None, username=None, password=None): 2023-09-15T00:35:16,419 if(school == None): 2023-09-15T00:35:16,419 school = self.school 2023-09-15T00:35:16,420 if (username == None): 2023-09-15T00:35:16,420 username = self.username 2023-09-15T00:35:16,421 if(password == None): 2023-09-15T00:35:16,421 password = self.password 2023-09-15T00:35:16,422 import requests 2023-09-15T00:35:16,422 url = 'https://'+school+'.zportal.nl/api/'+self.version+'/oauth' 2023-09-15T00:35:16,423 myobj = {'username': username, 'password': password, 'client_id': 'OAuthPage', 'redirect_uri': '/main/', 2023-09-15T00:35:16,423 'scope': '', 'state': '4E252A', 'response_type': 'code', 'tenant': school} 2023-09-15T00:35:16,424 x = requests.post(url, data=myobj) 2023-09-15T00:35:16,425 respons = x.text 2023-09-15T00:35:16,425 start = respons.find("code=") + len("code=") 2023-09-15T00:35:16,426 end = respons.find("&", start) 2023-09-15T00:35:16,426 token = respons[start:end] 2023-09-15T00:35:16,427 start = respons.find("tenant=") + len("tenant=") 2023-09-15T00:35:16,428 end = respons.find("&", start) 2023-09-15T00:35:16,428 school = respons[start:end] 2023-09-15T00:35:16,429 start = respons.find("expires_in=") + len("expires_in=") 2023-09-15T00:35:16,430 end = respons.find("&", start) 2023-09-15T00:35:16,430 self.expires_in = respons[start:end] 2023-09-15T00:35:16,431 start = respons.find("loginMethod=") + len("loginMethod=") 2023-09-15T00:35:16,431 end = respons.find("&", start) 2023-09-15T00:35:16,432 self.loginMethod = respons[start:end] 2023-09-15T00:35:16,432 start = respons.find("interfaceVersion=") + len("interfaceVersion=") 2023-09-15T00:35:16,433 end = respons.find("&", start) 2023-09-15T00:35:16,433 self.interfaceVersion = respons[start:end] 2023-09-15T00:35:16,434 return(token) 2023-09-15T00:35:16,435 def get_access_token(self, school=None, token=None): 2023-09-15T00:35:16,436 if(school == None): 2023-09-15T00:35:16,437 school = self.school 2023-09-15T00:35:16,437 if(token == None): 2023-09-15T00:35:16,438 token = self.get_token() 2023-09-15T00:35:16,438 import requests 2023-09-15T00:35:16,439 url = 'https://' + school+'.zportal.nl/api/'+self.version+'/oauth/token' 2023-09-15T00:35:16,440 myobj = {'code': token, 'client_id': 'ZermeloPortal', 'client_secret': 42, 2023-09-15T00:35:16,440 'grant_type': 'authorization_code', 'rememberMe': False} 2023-09-15T00:35:16,441 l = requests.post(url, data=myobj) 2023-09-15T00:35:16,442 import json 2023-09-15T00:35:16,442 jl = json.loads(l.text) 2023-09-15T00:35:16,442 access_token = jl['access_token'] 2023-09-15T00:35:16,443 return(access_token) 2023-09-15T00:35:16,444 def get_schedule(self, year=None, week=None): 2023-09-15T00:35:16,444 time = self.get_date() 2023-09-15T00:35:16,445 if year == None: 2023-09-15T00:35:16,445 year = time[0] 2023-09-15T00:35:16,446 if week == None: 2023-09-15T00:35:16,446 week = time[1] 2023-09-15T00:35:16,447 import requests 2023-09-15T00:35:16,447 import json 2023-09-15T00:35:16,447 headers = {"Authorization": "Bearer "+self.access_token} 2023-09-15T00:35:16,448 r = requests.get('https://' + self.school + '.zportal.nl/api/'+self.version+'/liveschedule?'+("teacher" if (self.teacher) else "student")+'='+self.username+'&week='+str(year)+str(week) + 2023-09-15T00:35:16,448 '&fields=appointmentInstance,start,end,startTimeSlotName,endTimeSlotName,subjects,groups,locations,teachers,cancelled,changeDescription,schedulerRemark,content,appointmentType', headers=headers) 2023-09-15T00:35:16,449 rl = json.loads(r.text) 2023-09-15T00:35:16,449 # print(r.text) 2023-09-15T00:35:16,450 response = rl["response"] 2023-09-15T00:35:16,450 data = response["data"][0] 2023-09-15T00:35:16,451 appointments = data["appointments"] 2023-09-15T00:35:16,451 return(appointments) 2023-09-15T00:35:16,453 def sort_schedule(self, schedule=None, year=None, week=None): 2023-09-15T00:35:16,453 if(schedule == None): 2023-09-15T00:35:16,454 schedule = self.get_schedule(year=year, week=week) 2023-09-15T00:35:16,455 pdate = 0 2023-09-15T00:35:16,455 days = [[[], []]] 2023-09-15T00:35:16,456 for les in schedule: 2023-09-15T00:35:16,456 from datetime import datetime 2023-09-15T00:35:16,457 date = datetime.utcfromtimestamp(les["start"]).strftime('%Y%m%d') 2023-09-15T00:35:16,458 hour = str(int(datetime.utcfromtimestamp( 2023-09-15T00:35:16,458 les["start"]).strftime('%H')) + self.TimeToAddToUtc) 2023-09-15T00:35:16,459 time = datetime.utcfromtimestamp(les["start"]).strftime('%Y-%m-%d ') + (hour if int( 2023-09-15T00:35:16,459 hour) > 9 else ('0'+hour)) + datetime.utcfromtimestamp(les["start"]).strftime(':%M') 2023-09-15T00:35:16,460 ehour = str(int(datetime.utcfromtimestamp( 2023-09-15T00:35:16,460 les["end"]).strftime('%H')) + self.TimeToAddToUtc) 2023-09-15T00:35:16,461 etime = datetime.utcfromtimestamp(les["end"]).strftime('%Y-%m-%d ') + (ehour if int( 2023-09-15T00:35:16,462 ehour) > 9 else ('0'+ehour)) + datetime.utcfromtimestamp(les["end"]).strftime(':%M') 2023-09-15T00:35:16,462 # print(les["status"]) 2023-09-15T00:35:16,463 if date != pdate: 2023-09-15T00:35:16,463 days.append([[], []]) 2023-09-15T00:35:16,464 if (les["status"][0]["code"] < 3000 and les["status"][0]["code"] >= 2000): 2023-09-15T00:35:16,464 days[-1][0].append([les["subjects"][0], time, etime, 2023-09-15T00:35:16,465 str(les["locations"]), les["status"], les["online"]]) 2023-09-15T00:35:16,465 else: 2023-09-15T00:35:16,466 days[-1][1].append([les["subjects"][0], time, etime, 2023-09-15T00:35:16,467 str(les["locations"]), les["status"], les["online"]]) 2023-09-15T00:35:16,467 pdate = date 2023-09-15T00:35:16,468 days.pop(0) 2023-09-15T00:35:16,468 return(days) 2023-09-15T00:35:16,470 def readable_schedule(self, days=None, year=None, week=None): 2023-09-15T00:35:16,471 result = '' 2023-09-15T00:35:16,472 if(days == None): 2023-09-15T00:35:16,472 days = self.sort_schedule(year=year, week=week) 2023-09-15T00:35:16,472 for day in days: 2023-09-15T00:35:16,473 result += ("start: "+day[0][0][1]+"\tend: "+day[0][-1][2]+'\n') 2023-09-15T00:35:16,473 for les in day[0]: 2023-09-15T00:35:16,474 if (les[4][0]["code"] < 3000 and les[4][0]["code"] >= 2000): 2023-09-15T00:35:16,474 result += ("les: "+les[0].ljust(10, " ")+"lokaal: "+("📷"if(les[5])else (les[3][2:-2]if( 2023-09-15T00:35:16,474 len(les[3][2:-2]) > 0)else "————")).ljust(5, " ")+"\tstart: "+les[1]+"\tend: "+les[2]+'\n') 2023-09-15T00:35:16,475 pass 2023-09-15T00:35:16,475 result += ("\n\n") 2023-09-15T00:35:16,476 return result 2023-09-15T00:35:16,477 def print_schedule(self, readable=None, days=None, year=None, week=None): 2023-09-15T00:35:16,478 if(readable == None): 2023-09-15T00:35:16,478 readable = self.readable_schedule(days=days, year=year, week=week) 2023-09-15T00:35:16,478 print(readable) 2023-09-15T00:35:16,479 ```/tmp/pip-build-env-x99e3mxu/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:314: InformationOnly: Normalizing '2023.09.15.00.35.16' to '2023.9.15.0.35.16' 2023-09-15T00:35:16,479 self.metadata.version = self._normalize_version( 2023-09-15T00:35:16,480 running dist_info 2023-09-15T00:35:16,481 creating /tmp/pip-modern-metadata-d8vi1789/zermeloapi.egg-info 2023-09-15T00:35:16,481 writing /tmp/pip-modern-metadata-d8vi1789/zermeloapi.egg-info/PKG-INFO 2023-09-15T00:35:16,482 writing dependency_links to /tmp/pip-modern-metadata-d8vi1789/zermeloapi.egg-info/dependency_links.txt 2023-09-15T00:35:16,482 writing top-level names to /tmp/pip-modern-metadata-d8vi1789/zermeloapi.egg-info/top_level.txt 2023-09-15T00:35:16,483 writing manifest file '/tmp/pip-modern-metadata-d8vi1789/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:16,495 reading manifest file '/tmp/pip-modern-metadata-d8vi1789/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:16,497 adding license file 'LICENSE' 2023-09-15T00:35:16,499 writing manifest file '/tmp/pip-modern-metadata-d8vi1789/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:16,500 creating '/tmp/pip-modern-metadata-d8vi1789/zermeloapi-2023.9.15.0.35.16.dist-info' 2023-09-15T00:35:16,686 Preparing metadata (pyproject.toml): finished with status 'done' 2023-09-15T00:35:16,691 WARNING: Requested zermeloapi==2021.10.13.13.4.39 from https://files.pythonhosted.org/packages/cf/17/786fdce28eaca778f648b1972d89f49b66a9c469237ed001f9c35bf7c9fc/zermeloapi-2021.10.13.13.4.39.tar.gz, but installing version 2023.9.15.0.35.16 2023-09-15T00:35:16,693 Removed zermeloapi==2021.10.13.13.4.39 from https://files.pythonhosted.org/packages/cf/17/786fdce28eaca778f648b1972d89f49b66a9c469237ed001f9c35bf7c9fc/zermeloapi-2021.10.13.13.4.39.tar.gz from build tracker '/tmp/pip-build-tracker-f1kku442' 2023-09-15T00:35:16,697 Discarding [blue underline]https://files.pythonhosted.org/packages/cf/17/786fdce28eaca778f648b1972d89f49b66a9c469237ed001f9c35bf7c9fc/zermeloapi-2021.10.13.13.4.39.tar.gz (from https://pypi.org/simple/zermeloapi/) (requires-python:>=3.0)[/]: [yellow]Requested zermeloapi==2021.10.13.13.4.39 from https://files.pythonhosted.org/packages/cf/17/786fdce28eaca778f648b1972d89f49b66a9c469237ed001f9c35bf7c9fc/zermeloapi-2021.10.13.13.4.39.tar.gz has inconsistent version: expected '2021.10.13.13.4.39', but metadata has '2023.9.15.0.35.16'[reset] 2023-09-15T00:35:16,700 ERROR: Could not find a version that satisfies the requirement zermeloapi==2021.10.13.13.4.39 (from versions: 2021.10.12.10.57.3, 2021.10.12.17.8.5, 2021.10.13.9.0.36, 2021.10.13.9.59.38, 2021.10.13.10.1.14, 2021.10.13.12.59.10, 2021.10.13.13.1.40, 2021.10.13.13.4.39, 2021.10.13.13.10.9, 2021.10.13.21.12.27, 2021.10.13.21.21.3, 2021.10.13.21.22.32, 2021.10.13.21.58.5, 2021.10.14.10.28.31, 2021.10.28.20.23.10, 2021.10.28.20.31.41, 2021.10.28.22.32.12, 2021.11.7.19.39.2, 2021.12.20.20.22.52, 2021.12.20.20.28.34, 2021.12.20.20.31.24, 2021.12.20.20.34.39, 2022.1.1.23.22.8, 2022.1.1.23.24.33, 2022.1.6.12.17.59, 2022.1.6.12.29.24, 2022.3.21.13.17.50, 2022.3.21.13.23.51, 2022.3.21.13.31.43, 2022.3.21.13.43.53, 2022.5.19.13.19.33, 2022.5.19.13.29.37, 2022.5.19.16.55.56, 2022.5.20.8.59.13, 2022.5.20.10.46.11, 2022.5.20.11.7.50, 2022.5.20.11.19.36, 2022.5.20.11.41.55, 2022.5.20.11.53.14, 2022.5.20.15.47.22, 2022.5.20.15.54.52, 2022.5.20.16.8.28, 2022.5.20.16.16.37, 2022.5.20.16.21.27, 2022.5.20.16.34.0, 2022.5.20.17.17.25, 2022.5.20.17.24.41, 2022.5.20.17.38.30, 2022.5.20.17.49.3, 2022.5.20.17.56.8, 2022.5.20.18.2.8, 2022.5.20.18.15.44, 2022.5.20.18.34.40, 2022.5.20.18.40.45, 2022.5.20.18.46.41, 2022.5.20.18.52.41, 2022.5.23.9.41.59, 2022.5.24.9.29.42, 2022.9.1.10.58.43, 2022.9.1.11.37.1, 2022.9.1.11.37.43, 2022.9.1.11.58.56, 2022.9.11.14.31.23, 2023.8.23.16.31.15, 2023.9.12.18.47.14) 2023-09-15T00:35:16,702 ERROR: No matching distribution found for zermeloapi==2021.10.13.13.4.39 2023-09-15T00:35:16,703 Exception information: 2023-09-15T00:35:16,703 Traceback (most recent call last): 2023-09-15T00:35:16,703 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve 2023-09-15T00:35:16,703 self._add_to_criteria(self.state.criteria, r, parent=None) 2023-09-15T00:35:16,703 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 174, in _add_to_criteria 2023-09-15T00:35:16,703 raise RequirementsConflicted(criterion) 2023-09-15T00:35:16,703 pip._vendor.resolvelib.resolvers.RequirementsConflicted: Requirements conflict: SpecifierRequirement('zermeloapi==2021.10.13.13.4.39') 2023-09-15T00:35:16,703 2023-09-15T00:35:16,703 During handling of the above exception, another exception occurred: 2023-09-15T00:35:16,703 2023-09-15T00:35:16,703 Traceback (most recent call last): 2023-09-15T00:35:16,703 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve 2023-09-15T00:35:16,703 result = self._result = resolver.resolve( 2023-09-15T00:35:16,703 ^^^^^^^^^^^^^^^^^ 2023-09-15T00:35:16,703 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve 2023-09-15T00:35:16,703 state = resolution.resolve(requirements, max_rounds=max_rounds) 2023-09-15T00:35:16,703 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T00:35:16,703 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 399, in resolve 2023-09-15T00:35:16,703 raise ResolutionImpossible(e.criterion.information) 2023-09-15T00:35:16,703 pip._vendor.resolvelib.resolvers.ResolutionImpossible: [RequirementInformation(requirement=SpecifierRequirement('zermeloapi==2021.10.13.13.4.39'), parent=None)] 2023-09-15T00:35:16,703 2023-09-15T00:35:16,703 The above exception was the direct cause of the following exception: 2023-09-15T00:35:16,703 2023-09-15T00:35:16,703 Traceback (most recent call last): 2023-09-15T00:35:16,703 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper 2023-09-15T00:35:16,703 status = run_func(*args) 2023-09-15T00:35:16,703 ^^^^^^^^^^^^^^^ 2023-09-15T00:35:16,703 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/req_command.py", line 248, in wrapper 2023-09-15T00:35:16,703 return func(self, options, args) 2023-09-15T00:35:16,703 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T00:35:16,703 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2023-09-15T00:35:16,703 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2023-09-15T00:35:16,703 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T00:35:16,703 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 101, in resolve 2023-09-15T00:35:16,703 raise error from e 2023-09-15T00:35:16,703 pip._internal.exceptions.DistributionNotFound: No matching distribution found for zermeloapi==2021.10.13.13.4.39 2023-09-15T00:35:16,709 Removed build tracker: '/tmp/pip-build-tracker-f1kku442'