2023-09-15T00:34:55,614 Created temporary directory: /tmp/pip-build-tracker-00fbm9db 2023-09-15T00:34:55,616 Initialized build tracking at /tmp/pip-build-tracker-00fbm9db 2023-09-15T00:34:55,616 Created build tracker: /tmp/pip-build-tracker-00fbm9db 2023-09-15T00:34:55,617 Entered build tracker: /tmp/pip-build-tracker-00fbm9db 2023-09-15T00:34:55,617 Created temporary directory: /tmp/pip-wheel-j31c6bq7 2023-09-15T00:34:55,621 Created temporary directory: /tmp/pip-ephem-wheel-cache-1y01b8ip 2023-09-15T00:34:55,644 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-09-15T00:34:55,647 2 location(s) to search for versions of zermeloapi: 2023-09-15T00:34:55,647 * https://pypi.org/simple/zermeloapi/ 2023-09-15T00:34:55,647 * https://www.piwheels.org/simple/zermeloapi/ 2023-09-15T00:34:55,648 Fetching project page and analyzing links: https://pypi.org/simple/zermeloapi/ 2023-09-15T00:34:55,649 Getting page https://pypi.org/simple/zermeloapi/ 2023-09-15T00:34:55,650 Found index url https://pypi.org/simple/ 2023-09-15T00:34:55,790 Fetched page https://pypi.org/simple/zermeloapi/ as application/vnd.pypi.simple.v1+json 2023-09-15T00:34:55,813 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:55,814 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:55,815 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:55,816 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:55,817 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:55,818 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:55,819 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:55,820 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:55,820 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:55,821 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:55,822 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:55,823 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:55,824 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:55,825 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:55,825 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:55,826 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:55,827 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:55,827 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:55,828 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:55,829 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:55,830 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:55,831 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:55,832 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:55,832 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:55,833 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:55,834 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:55,835 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:55,836 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:55,837 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:55,837 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:55,838 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:55,839 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:55,839 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:55,840 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:55,841 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:55,842 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:55,843 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:55,843 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:55,844 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:55,845 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:55,846 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:55,847 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:55,848 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:55,848 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:55,849 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:55,849 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:55,850 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:55,851 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:55,852 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:55,853 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:55,854 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:55,854 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:55,855 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:55,856 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:55,857 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:55,858 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:55,859 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:55,859 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:55,860 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:55,861 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:55,861 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:55,862 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:55,863 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:55,864 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:55,865 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:55,866 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:55,866 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:55,867 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:55,868 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:55,869 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:55,870 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:55,870 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:55,871 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:55,872 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:55,872 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:55,873 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:55,874 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:55,875 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:55,876 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:55,877 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:55,877 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:55,878 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:55,879 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:55,880 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:55,881 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:55,882 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:55,882 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:55,883 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:55,884 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:55,885 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:55,885 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:55,886 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:55,887 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:55,888 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:55,889 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:55,890 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:55,890 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:55,892 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:55,892 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:55,893 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:55,893 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:55,894 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:55,895 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:55,896 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:55,896 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:55,897 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:55,898 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:55,899 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:55,900 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:55,901 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:55,901 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:55,902 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:55,903 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:55,904 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:55,904 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:55,905 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:55,906 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:55,906 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:55,907 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:55,908 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:55,909 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:55,910 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:55,911 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:55,912 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:55,912 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:55,913 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:55,914 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:55,915 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:55,915 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:55,916 Fetching project page and analyzing links: https://www.piwheels.org/simple/zermeloapi/ 2023-09-15T00:34:55,917 Getting page https://www.piwheels.org/simple/zermeloapi/ 2023-09-15T00:34:55,918 Found index url https://www.piwheels.org/simple/ 2023-09-15T00:34:56,171 Fetched page https://www.piwheels.org/simple/zermeloapi/ as text/html 2023-09-15T00:34:56,172 Skipping link: not a file: https://www.piwheels.org/simple/zermeloapi/ 2023-09-15T00:34:56,173 Skipping link: not a file: https://pypi.org/simple/zermeloapi/ 2023-09-15T00:34:56,199 Given no hashes to check 1 links for project 'zermeloapi': discarding no candidates 2023-09-15T00:34:56,217 Collecting zermeloapi==2021.10.13.12.59.10 2023-09-15T00:34:56,220 Created temporary directory: /tmp/pip-unpack-6b91bb5x 2023-09-15T00:34:56,903 Downloading zermeloapi-2021.10.13.12.59.10.tar.gz (5.1 kB) 2023-09-15T00:34:56,958 Added zermeloapi==2021.10.13.12.59.10 from https://files.pythonhosted.org/packages/92/06/6440e7020d6081776de573df58a4abc5c20c5177e85a2e20e0a4e79ec5e2/zermeloapi-2021.10.13.12.59.10.tar.gz to build tracker '/tmp/pip-build-tracker-00fbm9db' 2023-09-15T00:34:56,971 Created temporary directory: /tmp/pip-build-env-7u90ld5m 2023-09-15T00:34:56,980 Installing build dependencies: started 2023-09-15T00:34:56,982 Running command pip subprocess to install build dependencies 2023-09-15T00:34:58,119 Using pip 23.2.1 from /usr/local/lib/python3.11/dist-packages/pip (python 3.11) 2023-09-15T00:34:58,647 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-09-15T00:35:00,359 Collecting setuptools>=42 2023-09-15T00:35:00,360 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:00,366 Using cached setuptools-68.2.2-py3-none-any.whl.metadata (6.3 kB) 2023-09-15T00:35:00,571 Collecting wheel 2023-09-15T00:35:00,587 Using cached https://www.piwheels.org/simple/wheel/wheel-0.41.2-py3-none-any.whl (64 kB) 2023-09-15T00:35:00,848 Collecting requests 2023-09-15T00:35:00,864 Using cached https://www.piwheels.org/simple/requests/requests-2.31.0-py3-none-any.whl (62 kB) 2023-09-15T00:35:00,960 Collecting datetime 2023-09-15T00:35:00,971 Downloading https://www.piwheels.org/simple/datetime/DateTime-5.2-py3-none-any.whl (52 kB) 2023-09-15T00:35:00,989 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.2/52.2 kB 5.4 MB/s eta 0:00:00 2023-09-15T00:35:01,528 Collecting charset-normalizer<4,>=2 (from requests) 2023-09-15T00:35:01,542 Using cached https://www.piwheels.org/simple/charset-normalizer/charset_normalizer-3.2.0-py3-none-any.whl (46 kB) 2023-09-15T00:35:01,643 Collecting idna<4,>=2.5 (from requests) 2023-09-15T00:35:01,659 Using cached https://www.piwheels.org/simple/idna/idna-3.4-py3-none-any.whl (61 kB) 2023-09-15T00:35:01,942 Collecting urllib3<3,>=1.21.1 (from requests) 2023-09-15T00:35:01,964 Using cached https://www.piwheels.org/simple/urllib3/urllib3-2.0.4-py3-none-any.whl (123 kB) 2023-09-15T00:35:02,120 Collecting certifi>=2017.4.17 (from requests) 2023-09-15T00:35:02,140 Using cached https://www.piwheels.org/simple/certifi/certifi-2023.7.22-py3-none-any.whl (158 kB) 2023-09-15T00:35:02,836 Collecting zope.interface (from datetime) 2023-09-15T00:35:02,845 Downloading https://www.piwheels.org/simple/zope-interface/zope.interface-5.4.0-cp311-cp311-linux_armv7l.whl (242 kB) 2023-09-15T00:35:02,877 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 242.7/242.7 kB 10.1 MB/s eta 0:00:00 2023-09-15T00:35:03,226 Collecting pytz (from datetime) 2023-09-15T00:35:03,276 Using cached https://www.piwheels.org/simple/pytz/pytz-2023.3.post1-py3-none-any.whl (502 kB) 2023-09-15T00:35:03,414 Using cached setuptools-68.2.2-py3-none-any.whl (807 kB) 2023-09-15T00:35:05,959 Installing collected packages: pytz, wheel, urllib3, setuptools, idna, charset-normalizer, certifi, zope.interface, requests, datetime 2023-09-15T00:35:07,277 Creating /tmp/pip-build-env-7u90ld5m/overlay/local/bin 2023-09-15T00:35:07,279 changing mode of /tmp/pip-build-env-7u90ld5m/overlay/local/bin/wheel to 755 2023-09-15T00:35:10,229 changing mode of /tmp/pip-build-env-7u90ld5m/overlay/local/bin/normalizer to 755 2023-09-15T00:35:11,742 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:11,742 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:11,743 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:12,355 Installing build dependencies: finished with status 'done' 2023-09-15T00:35:12,359 Getting requirements to build wheel: started 2023-09-15T00:35:12,360 Running command Getting requirements to build wheel 2023-09-15T00:35:12,806 # zermelo api 2023-09-15T00:35:12,806 ![GitHub Logo](https://ozhw.zportal.nl/static/v/21.09j64/img/zermelo2013.svg) 2023-09-15T00:35:12,806 # documentation 2023-09-15T00:35:12,808 ## install 2023-09-15T00:35:12,809 ```properties 2023-09-15T00:35:12,810 pip install zermeloapi 2023-09-15T00:35:12,810 ``` 2023-09-15T00:35:12,811 ## how to import 2023-09-15T00:35:12,812 ```python 2023-09-15T00:35:12,812 import zermeloapi 2023-09-15T00:35:12,813 ``` 2023-09-15T00:35:12,813 ## initializing 2023-09-15T00:35:12,814 ```python 2023-09-15T00:35:12,814 zermelo = zermeloapi.zermelo(school, username, password, teacher=False, version=3) 2023-09-15T00:35:12,815 ``` 2023-09-15T00:35:12,815 ## get_token 2023-09-15T00:35:12,816 ```python 2023-09-15T00:35:12,816 token = zermelo.get_token() 2023-09-15T00:35:12,817 ``` 2023-09-15T00:35:12,818 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:12,818 ## get_access_token 2023-09-15T00:35:12,819 ```python 2023-09-15T00:35:12,819 access_token = zermelo.get_access_token() 2023-09-15T00:35:12,820 ``` 2023-09-15T00:35:12,821 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:12,821 ## get_schedule 2023-09-15T00:35:12,822 ```python 2023-09-15T00:35:12,823 raw_schedule = zermelo.get_schedule() 2023-09-15T00:35:12,823 ``` 2023-09-15T00:35:12,824 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:12,824 ## sort_schedule 2023-09-15T00:35:12,824 ```python 2023-09-15T00:35:12,825 sorted_schedule = zermelo.sort_schedule() 2023-09-15T00:35:12,825 ``` 2023-09-15T00:35:12,826 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:12,826 ## readable_schedule 2023-09-15T00:35:12,827 ```python 2023-09-15T00:35:12,827 readable = zermelo.readable_schedule() 2023-09-15T00:35:12,827 ``` 2023-09-15T00:35:12,828 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:12,828 ## print_schedule 2023-09-15T00:35:12,829 ```python 2023-09-15T00:35:12,829 zermelo.print_schedule() 2023-09-15T00:35:12,830 ``` 2023-09-15T00:35:12,830 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:12,831 # source code 2023-09-15T00:35:12,831 ```python 2023-09-15T00:35:12,832 class zermelo: 2023-09-15T00:35:12,832 expires_in = 0 2023-09-15T00:35:12,833 school = '' 2023-09-15T00:35:12,833 username = '' 2023-09-15T00:35:12,834 password = '' 2023-09-15T00:35:12,834 teacher = False 2023-09-15T00:35:12,835 TimeToAddToUtc = 0 2023-09-15T00:35:12,835 access_token = '' 2023-09-15T00:35:12,837 def __init__(self, school, username, password, teacher=False, version=3): 2023-09-15T00:35:12,838 self.school = school 2023-09-15T00:35:12,838 self.username = username 2023-09-15T00:35:12,839 self.password = password 2023-09-15T00:35:12,840 self.teacher = teacher 2023-09-15T00:35:12,840 self.version = 'v'+str(version) 2023-09-15T00:35:12,841 self.TimeToAddToUtc = self.get_date()[2] 2023-09-15T00:35:12,841 self.access_token = self.get_access_token() 2023-09-15T00:35:12,843 def get_date(self): 2023-09-15T00:35:12,844 from datetime import date, datetime 2023-09-15T00:35:12,845 year, week = date.today().strftime("%Y %W").split(" ") 2023-09-15T00:35:12,845 if date.today().isoweekday() > 6: 2023-09-15T00:35:12,846 week = str(int(week)+1) 2023-09-15T00:35:12,846 TimeToAddToUtc = int( 2023-09-15T00:35:12,847 str(datetime.now().astimezone()).split("+")[1].split(":")[0]) 2023-09-15T00:35:12,847 return year, week, TimeToAddToUtc 2023-09-15T00:35:12,849 def refresh(self): 2023-09-15T00:35:12,850 self.access_token = self.get_access_token() 2023-09-15T00:35:12,850 return(self.expires_in) 2023-09-15T00:35:12,852 def get_token(self, school=None, username=None, password=None): 2023-09-15T00:35:12,852 if(school == None): 2023-09-15T00:35:12,853 school = self.school 2023-09-15T00:35:12,853 if (username == None): 2023-09-15T00:35:12,853 username = self.username 2023-09-15T00:35:12,854 if(password == None): 2023-09-15T00:35:12,854 password = self.password 2023-09-15T00:35:12,855 import requests 2023-09-15T00:35:12,855 url = 'https://'+school+'.zportal.nl/api/'+self.version+'/oauth' 2023-09-15T00:35:12,856 myobj = {'username': username, 'password': password, 'client_id': 'OAuthPage', 'redirect_uri': '/main/', 2023-09-15T00:35:12,857 'scope': '', 'state': '4E252A', 'response_type': 'code', 'tenant': school} 2023-09-15T00:35:12,857 x = requests.post(url, data=myobj) 2023-09-15T00:35:12,858 respons = x.text 2023-09-15T00:35:12,858 start = respons.find("code=") + len("code=") 2023-09-15T00:35:12,859 end = respons.find("&", start) 2023-09-15T00:35:12,859 token = respons[start:end] 2023-09-15T00:35:12,859 start = respons.find("tenant=") + len("tenant=") 2023-09-15T00:35:12,860 end = respons.find("&", start) 2023-09-15T00:35:12,860 school = respons[start:end] 2023-09-15T00:35:12,860 start = respons.find("expires_in=") + len("expires_in=") 2023-09-15T00:35:12,861 end = respons.find("&", start) 2023-09-15T00:35:12,861 self.expires_in = respons[start:end] 2023-09-15T00:35:12,862 start = respons.find("loginMethod=") + len("loginMethod=") 2023-09-15T00:35:12,862 end = respons.find("&", start) 2023-09-15T00:35:12,862 self.loginMethod = respons[start:end] 2023-09-15T00:35:12,863 start = respons.find("interfaceVersion=") + len("interfaceVersion=") 2023-09-15T00:35:12,863 end = respons.find("&", start) 2023-09-15T00:35:12,864 self.interfaceVersion = respons[start:end] 2023-09-15T00:35:12,864 return(token) 2023-09-15T00:35:12,866 def get_access_token(self, school=None, token=None): 2023-09-15T00:35:12,866 if(school == None): 2023-09-15T00:35:12,866 school = self.school 2023-09-15T00:35:12,867 if(token == None): 2023-09-15T00:35:12,867 token = self.get_token() 2023-09-15T00:35:12,868 import requests 2023-09-15T00:35:12,868 url = 'https://' + school+'.zportal.nl/api/'+self.version+'/oauth/token' 2023-09-15T00:35:12,869 myobj = {'code': token, 'client_id': 'ZermeloPortal', 'client_secret': 42, 2023-09-15T00:35:12,869 'grant_type': 'authorization_code', 'rememberMe': False} 2023-09-15T00:35:12,870 l = requests.post(url, data=myobj) 2023-09-15T00:35:12,870 import json 2023-09-15T00:35:12,871 jl = json.loads(l.text) 2023-09-15T00:35:12,871 access_token = jl['access_token'] 2023-09-15T00:35:12,872 return(access_token) 2023-09-15T00:35:12,873 def get_schedule(self, year=None, week=None): 2023-09-15T00:35:12,874 time = self.get_date() 2023-09-15T00:35:12,874 if year == None: 2023-09-15T00:35:12,875 year = time[0] 2023-09-15T00:35:12,876 if week == None: 2023-09-15T00:35:12,876 week = time[1] 2023-09-15T00:35:12,877 import requests 2023-09-15T00:35:12,877 import json 2023-09-15T00:35:12,878 headers = {"Authorization": "Bearer "+self.access_token} 2023-09-15T00:35:12,879 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:12,879 '&fields=appointmentInstance,start,end,startTimeSlotName,endTimeSlotName,subjects,groups,locations,teachers,cancelled,changeDescription,schedulerRemark,content,appointmentType', headers=headers) 2023-09-15T00:35:12,880 rl = json.loads(r.text) 2023-09-15T00:35:12,880 # print(r.text) 2023-09-15T00:35:12,881 response = rl["response"] 2023-09-15T00:35:12,881 data = response["data"][0] 2023-09-15T00:35:12,882 appointments = data["appointments"] 2023-09-15T00:35:12,883 return(appointments) 2023-09-15T00:35:12,884 def sort_schedule(self, schedule=None, year=None, week=None): 2023-09-15T00:35:12,885 if(schedule == None): 2023-09-15T00:35:12,885 schedule = self.get_schedule(year=year, week=week) 2023-09-15T00:35:12,886 pdate = 0 2023-09-15T00:35:12,887 days = [[[], []]] 2023-09-15T00:35:12,887 for les in schedule: 2023-09-15T00:35:12,888 from datetime import datetime 2023-09-15T00:35:12,888 date = datetime.utcfromtimestamp(les["start"]).strftime('%Y%m%d') 2023-09-15T00:35:12,889 hour = str(int(datetime.utcfromtimestamp( 2023-09-15T00:35:12,889 les["start"]).strftime('%H')) + self.TimeToAddToUtc) 2023-09-15T00:35:12,890 time = datetime.utcfromtimestamp(les["start"]).strftime('%Y-%m-%d ') + (hour if int( 2023-09-15T00:35:12,890 hour) > 9 else ('0'+hour)) + datetime.utcfromtimestamp(les["start"]).strftime(':%M') 2023-09-15T00:35:12,891 ehour = str(int(datetime.utcfromtimestamp( 2023-09-15T00:35:12,891 les["end"]).strftime('%H')) + self.TimeToAddToUtc) 2023-09-15T00:35:12,892 etime = datetime.utcfromtimestamp(les["end"]).strftime('%Y-%m-%d ') + (ehour if int( 2023-09-15T00:35:12,892 ehour) > 9 else ('0'+ehour)) + datetime.utcfromtimestamp(les["end"]).strftime(':%M') 2023-09-15T00:35:12,893 # print(les["status"]) 2023-09-15T00:35:12,893 if date != pdate: 2023-09-15T00:35:12,893 days.append([[], []]) 2023-09-15T00:35:12,894 if (les["status"][0]["code"] < 3000 and les["status"][0]["code"] >= 2000): 2023-09-15T00:35:12,894 days[-1][0].append([les["subjects"][0], time, etime, 2023-09-15T00:35:12,895 str(les["locations"]), les["status"], les["online"]]) 2023-09-15T00:35:12,895 else: 2023-09-15T00:35:12,896 days[-1][1].append([les["subjects"][0], time, etime, 2023-09-15T00:35:12,896 str(les["locations"]), les["status"], les["online"]]) 2023-09-15T00:35:12,897 pdate = date 2023-09-15T00:35:12,897 days.pop(0) 2023-09-15T00:35:12,898 return(days) 2023-09-15T00:35:12,899 def readable_schedule(self, days=None, year=None, week=None): 2023-09-15T00:35:12,900 result = '' 2023-09-15T00:35:12,901 if(days == None): 2023-09-15T00:35:12,901 days = self.sort_schedule(year=year, week=week) 2023-09-15T00:35:12,902 for day in days: 2023-09-15T00:35:12,902 result += ("start: "+day[0][0][1]+"\tend: "+day[0][-1][2]+'\n') 2023-09-15T00:35:12,903 for les in day[0]: 2023-09-15T00:35:12,904 if (les[4][0]["code"] < 3000 and les[4][0]["code"] >= 2000): 2023-09-15T00:35:12,904 result += ("les: "+les[0].ljust(10, " ")+"lokaal: "+("📷"if(les[5])else (les[3][2:-2]if( 2023-09-15T00:35:12,905 len(les[3][2:-2]) > 0)else "————")).ljust(5, " ")+"\tstart: "+les[1]+"\tend: "+les[2]+'\n') 2023-09-15T00:35:12,905 pass 2023-09-15T00:35:12,906 result += ("\n\n") 2023-09-15T00:35:12,906 return result 2023-09-15T00:35:12,908 def print_schedule(self, readable=None, days=None, year=None, week=None): 2023-09-15T00:35:12,908 if(readable == None): 2023-09-15T00:35:12,909 readable = self.readable_schedule(days=days, year=year, week=week) 2023-09-15T00:35:12,909 print(readable) 2023-09-15T00:35:12,910 ```/tmp/pip-build-env-7u90ld5m/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:314: InformationOnly: Normalizing '2023.09.15.00.35.12' to '2023.9.15.0.35.12' 2023-09-15T00:35:12,910 self.metadata.version = self._normalize_version( 2023-09-15T00:35:12,911 running egg_info 2023-09-15T00:35:12,912 writing src/zermeloapi.egg-info/PKG-INFO 2023-09-15T00:35:12,912 writing dependency_links to src/zermeloapi.egg-info/dependency_links.txt 2023-09-15T00:35:12,913 writing top-level names to src/zermeloapi.egg-info/top_level.txt 2023-09-15T00:35:12,931 reading manifest file 'src/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:12,933 adding license file 'LICENSE' 2023-09-15T00:35:12,935 writing manifest file 'src/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:13,011 Getting requirements to build wheel: finished with status 'done' 2023-09-15T00:35:13,023 Created temporary directory: /tmp/pip-modern-metadata-t5qnefoi 2023-09-15T00:35:13,025 Preparing metadata (pyproject.toml): started 2023-09-15T00:35:13,026 Running command Preparing metadata (pyproject.toml) 2023-09-15T00:35:13,460 # zermelo api 2023-09-15T00:35:13,460 ![GitHub Logo](https://ozhw.zportal.nl/static/v/21.09j64/img/zermelo2013.svg) 2023-09-15T00:35:13,461 # documentation 2023-09-15T00:35:13,462 ## install 2023-09-15T00:35:13,463 ```properties 2023-09-15T00:35:13,464 pip install zermeloapi 2023-09-15T00:35:13,464 ``` 2023-09-15T00:35:13,465 ## how to import 2023-09-15T00:35:13,465 ```python 2023-09-15T00:35:13,466 import zermeloapi 2023-09-15T00:35:13,466 ``` 2023-09-15T00:35:13,467 ## initializing 2023-09-15T00:35:13,467 ```python 2023-09-15T00:35:13,468 zermelo = zermeloapi.zermelo(school, username, password, teacher=False, version=3) 2023-09-15T00:35:13,468 ``` 2023-09-15T00:35:13,469 ## get_token 2023-09-15T00:35:13,469 ```python 2023-09-15T00:35:13,470 token = zermelo.get_token() 2023-09-15T00:35:13,470 ``` 2023-09-15T00:35:13,470 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:13,471 ## get_access_token 2023-09-15T00:35:13,471 ```python 2023-09-15T00:35:13,472 access_token = zermelo.get_access_token() 2023-09-15T00:35:13,472 ``` 2023-09-15T00:35:13,473 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:13,473 ## get_schedule 2023-09-15T00:35:13,474 ```python 2023-09-15T00:35:13,474 raw_schedule = zermelo.get_schedule() 2023-09-15T00:35:13,475 ``` 2023-09-15T00:35:13,476 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:13,476 ## sort_schedule 2023-09-15T00:35:13,477 ```python 2023-09-15T00:35:13,477 sorted_schedule = zermelo.sort_schedule() 2023-09-15T00:35:13,478 ``` 2023-09-15T00:35:13,479 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:13,479 ## readable_schedule 2023-09-15T00:35:13,480 ```python 2023-09-15T00:35:13,481 readable = zermelo.readable_schedule() 2023-09-15T00:35:13,481 ``` 2023-09-15T00:35:13,482 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:13,483 ## print_schedule 2023-09-15T00:35:13,483 ```python 2023-09-15T00:35:13,484 zermelo.print_schedule() 2023-09-15T00:35:13,484 ``` 2023-09-15T00:35:13,485 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:13,485 # source code 2023-09-15T00:35:13,486 ```python 2023-09-15T00:35:13,487 class zermelo: 2023-09-15T00:35:13,487 expires_in = 0 2023-09-15T00:35:13,488 school = '' 2023-09-15T00:35:13,488 username = '' 2023-09-15T00:35:13,489 password = '' 2023-09-15T00:35:13,490 teacher = False 2023-09-15T00:35:13,490 TimeToAddToUtc = 0 2023-09-15T00:35:13,491 access_token = '' 2023-09-15T00:35:13,493 def __init__(self, school, username, password, teacher=False, version=3): 2023-09-15T00:35:13,493 self.school = school 2023-09-15T00:35:13,494 self.username = username 2023-09-15T00:35:13,495 self.password = password 2023-09-15T00:35:13,495 self.teacher = teacher 2023-09-15T00:35:13,496 self.version = 'v'+str(version) 2023-09-15T00:35:13,496 self.TimeToAddToUtc = self.get_date()[2] 2023-09-15T00:35:13,497 self.access_token = self.get_access_token() 2023-09-15T00:35:13,498 def get_date(self): 2023-09-15T00:35:13,498 from datetime import date, datetime 2023-09-15T00:35:13,499 year, week = date.today().strftime("%Y %W").split(" ") 2023-09-15T00:35:13,499 if date.today().isoweekday() > 6: 2023-09-15T00:35:13,500 week = str(int(week)+1) 2023-09-15T00:35:13,500 TimeToAddToUtc = int( 2023-09-15T00:35:13,501 str(datetime.now().astimezone()).split("+")[1].split(":")[0]) 2023-09-15T00:35:13,501 return year, week, TimeToAddToUtc 2023-09-15T00:35:13,502 def refresh(self): 2023-09-15T00:35:13,503 self.access_token = self.get_access_token() 2023-09-15T00:35:13,503 return(self.expires_in) 2023-09-15T00:35:13,504 def get_token(self, school=None, username=None, password=None): 2023-09-15T00:35:13,505 if(school == None): 2023-09-15T00:35:13,505 school = self.school 2023-09-15T00:35:13,506 if (username == None): 2023-09-15T00:35:13,506 username = self.username 2023-09-15T00:35:13,507 if(password == None): 2023-09-15T00:35:13,507 password = self.password 2023-09-15T00:35:13,508 import requests 2023-09-15T00:35:13,508 url = 'https://'+school+'.zportal.nl/api/'+self.version+'/oauth' 2023-09-15T00:35:13,509 myobj = {'username': username, 'password': password, 'client_id': 'OAuthPage', 'redirect_uri': '/main/', 2023-09-15T00:35:13,509 'scope': '', 'state': '4E252A', 'response_type': 'code', 'tenant': school} 2023-09-15T00:35:13,510 x = requests.post(url, data=myobj) 2023-09-15T00:35:13,510 respons = x.text 2023-09-15T00:35:13,511 start = respons.find("code=") + len("code=") 2023-09-15T00:35:13,511 end = respons.find("&", start) 2023-09-15T00:35:13,512 token = respons[start:end] 2023-09-15T00:35:13,512 start = respons.find("tenant=") + len("tenant=") 2023-09-15T00:35:13,513 end = respons.find("&", start) 2023-09-15T00:35:13,514 school = respons[start:end] 2023-09-15T00:35:13,514 start = respons.find("expires_in=") + len("expires_in=") 2023-09-15T00:35:13,515 end = respons.find("&", start) 2023-09-15T00:35:13,515 self.expires_in = respons[start:end] 2023-09-15T00:35:13,516 start = respons.find("loginMethod=") + len("loginMethod=") 2023-09-15T00:35:13,516 end = respons.find("&", start) 2023-09-15T00:35:13,517 self.loginMethod = respons[start:end] 2023-09-15T00:35:13,517 start = respons.find("interfaceVersion=") + len("interfaceVersion=") 2023-09-15T00:35:13,518 end = respons.find("&", start) 2023-09-15T00:35:13,519 self.interfaceVersion = respons[start:end] 2023-09-15T00:35:13,519 return(token) 2023-09-15T00:35:13,521 def get_access_token(self, school=None, token=None): 2023-09-15T00:35:13,521 if(school == None): 2023-09-15T00:35:13,522 school = self.school 2023-09-15T00:35:13,523 if(token == None): 2023-09-15T00:35:13,523 token = self.get_token() 2023-09-15T00:35:13,524 import requests 2023-09-15T00:35:13,524 url = 'https://' + school+'.zportal.nl/api/'+self.version+'/oauth/token' 2023-09-15T00:35:13,525 myobj = {'code': token, 'client_id': 'ZermeloPortal', 'client_secret': 42, 2023-09-15T00:35:13,525 'grant_type': 'authorization_code', 'rememberMe': False} 2023-09-15T00:35:13,526 l = requests.post(url, data=myobj) 2023-09-15T00:35:13,527 import json 2023-09-15T00:35:13,527 jl = json.loads(l.text) 2023-09-15T00:35:13,528 access_token = jl['access_token'] 2023-09-15T00:35:13,529 return(access_token) 2023-09-15T00:35:13,530 def get_schedule(self, year=None, week=None): 2023-09-15T00:35:13,530 time = self.get_date() 2023-09-15T00:35:13,531 if year == None: 2023-09-15T00:35:13,531 year = time[0] 2023-09-15T00:35:13,532 if week == None: 2023-09-15T00:35:13,532 week = time[1] 2023-09-15T00:35:13,533 import requests 2023-09-15T00:35:13,533 import json 2023-09-15T00:35:13,534 headers = {"Authorization": "Bearer "+self.access_token} 2023-09-15T00:35:13,534 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:13,534 '&fields=appointmentInstance,start,end,startTimeSlotName,endTimeSlotName,subjects,groups,locations,teachers,cancelled,changeDescription,schedulerRemark,content,appointmentType', headers=headers) 2023-09-15T00:35:13,535 rl = json.loads(r.text) 2023-09-15T00:35:13,535 # print(r.text) 2023-09-15T00:35:13,536 response = rl["response"] 2023-09-15T00:35:13,536 data = response["data"][0] 2023-09-15T00:35:13,537 appointments = data["appointments"] 2023-09-15T00:35:13,537 return(appointments) 2023-09-15T00:35:13,539 def sort_schedule(self, schedule=None, year=None, week=None): 2023-09-15T00:35:13,539 if(schedule == None): 2023-09-15T00:35:13,540 schedule = self.get_schedule(year=year, week=week) 2023-09-15T00:35:13,540 pdate = 0 2023-09-15T00:35:13,541 days = [[[], []]] 2023-09-15T00:35:13,542 for les in schedule: 2023-09-15T00:35:13,542 from datetime import datetime 2023-09-15T00:35:13,543 date = datetime.utcfromtimestamp(les["start"]).strftime('%Y%m%d') 2023-09-15T00:35:13,543 hour = str(int(datetime.utcfromtimestamp( 2023-09-15T00:35:13,544 les["start"]).strftime('%H')) + self.TimeToAddToUtc) 2023-09-15T00:35:13,545 time = datetime.utcfromtimestamp(les["start"]).strftime('%Y-%m-%d ') + (hour if int( 2023-09-15T00:35:13,545 hour) > 9 else ('0'+hour)) + datetime.utcfromtimestamp(les["start"]).strftime(':%M') 2023-09-15T00:35:13,546 ehour = str(int(datetime.utcfromtimestamp( 2023-09-15T00:35:13,546 les["end"]).strftime('%H')) + self.TimeToAddToUtc) 2023-09-15T00:35:13,547 etime = datetime.utcfromtimestamp(les["end"]).strftime('%Y-%m-%d ') + (ehour if int( 2023-09-15T00:35:13,547 ehour) > 9 else ('0'+ehour)) + datetime.utcfromtimestamp(les["end"]).strftime(':%M') 2023-09-15T00:35:13,548 # print(les["status"]) 2023-09-15T00:35:13,549 if date != pdate: 2023-09-15T00:35:13,549 days.append([[], []]) 2023-09-15T00:35:13,550 if (les["status"][0]["code"] < 3000 and les["status"][0]["code"] >= 2000): 2023-09-15T00:35:13,550 days[-1][0].append([les["subjects"][0], time, etime, 2023-09-15T00:35:13,551 str(les["locations"]), les["status"], les["online"]]) 2023-09-15T00:35:13,551 else: 2023-09-15T00:35:13,552 days[-1][1].append([les["subjects"][0], time, etime, 2023-09-15T00:35:13,552 str(les["locations"]), les["status"], les["online"]]) 2023-09-15T00:35:13,553 pdate = date 2023-09-15T00:35:13,553 days.pop(0) 2023-09-15T00:35:13,554 return(days) 2023-09-15T00:35:13,556 def readable_schedule(self, days=None, year=None, week=None): 2023-09-15T00:35:13,556 result = '' 2023-09-15T00:35:13,557 if(days == None): 2023-09-15T00:35:13,557 days = self.sort_schedule(year=year, week=week) 2023-09-15T00:35:13,558 for day in days: 2023-09-15T00:35:13,559 result += ("start: "+day[0][0][1]+"\tend: "+day[0][-1][2]+'\n') 2023-09-15T00:35:13,559 for les in day[0]: 2023-09-15T00:35:13,559 if (les[4][0]["code"] < 3000 and les[4][0]["code"] >= 2000): 2023-09-15T00:35:13,560 result += ("les: "+les[0].ljust(10, " ")+"lokaal: "+("📷"if(les[5])else (les[3][2:-2]if( 2023-09-15T00:35:13,560 len(les[3][2:-2]) > 0)else "————")).ljust(5, " ")+"\tstart: "+les[1]+"\tend: "+les[2]+'\n') 2023-09-15T00:35:13,561 pass 2023-09-15T00:35:13,561 result += ("\n\n") 2023-09-15T00:35:13,562 return result 2023-09-15T00:35:13,563 def print_schedule(self, readable=None, days=None, year=None, week=None): 2023-09-15T00:35:13,563 if(readable == None): 2023-09-15T00:35:13,564 readable = self.readable_schedule(days=days, year=year, week=week) 2023-09-15T00:35:13,564 print(readable) 2023-09-15T00:35:13,565 ```/tmp/pip-build-env-7u90ld5m/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:314: InformationOnly: Normalizing '2023.09.15.00.35.13' to '2023.9.15.0.35.13' 2023-09-15T00:35:13,565 self.metadata.version = self._normalize_version( 2023-09-15T00:35:13,566 running dist_info 2023-09-15T00:35:13,566 creating /tmp/pip-modern-metadata-t5qnefoi/zermeloapi.egg-info 2023-09-15T00:35:13,567 writing /tmp/pip-modern-metadata-t5qnefoi/zermeloapi.egg-info/PKG-INFO 2023-09-15T00:35:13,567 writing dependency_links to /tmp/pip-modern-metadata-t5qnefoi/zermeloapi.egg-info/dependency_links.txt 2023-09-15T00:35:13,568 writing top-level names to /tmp/pip-modern-metadata-t5qnefoi/zermeloapi.egg-info/top_level.txt 2023-09-15T00:35:13,568 writing manifest file '/tmp/pip-modern-metadata-t5qnefoi/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:13,581 reading manifest file '/tmp/pip-modern-metadata-t5qnefoi/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:13,583 adding license file 'LICENSE' 2023-09-15T00:35:13,585 writing manifest file '/tmp/pip-modern-metadata-t5qnefoi/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:13,586 creating '/tmp/pip-modern-metadata-t5qnefoi/zermeloapi-2023.9.15.0.35.13.dist-info' 2023-09-15T00:35:13,764 Preparing metadata (pyproject.toml): finished with status 'done' 2023-09-15T00:35:13,769 WARNING: Requested zermeloapi==2021.10.13.12.59.10 from https://files.pythonhosted.org/packages/92/06/6440e7020d6081776de573df58a4abc5c20c5177e85a2e20e0a4e79ec5e2/zermeloapi-2021.10.13.12.59.10.tar.gz, but installing version 2023.9.15.0.35.13 2023-09-15T00:35:13,771 Removed zermeloapi==2021.10.13.12.59.10 from https://files.pythonhosted.org/packages/92/06/6440e7020d6081776de573df58a4abc5c20c5177e85a2e20e0a4e79ec5e2/zermeloapi-2021.10.13.12.59.10.tar.gz from build tracker '/tmp/pip-build-tracker-00fbm9db' 2023-09-15T00:35:13,774 Discarding [blue underline]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)[/]: [yellow]Requested zermeloapi==2021.10.13.12.59.10 from https://files.pythonhosted.org/packages/92/06/6440e7020d6081776de573df58a4abc5c20c5177e85a2e20e0a4e79ec5e2/zermeloapi-2021.10.13.12.59.10.tar.gz has inconsistent version: expected '2021.10.13.12.59.10', but metadata has '2023.9.15.0.35.13'[reset] 2023-09-15T00:35:13,778 ERROR: Could not find a version that satisfies the requirement zermeloapi==2021.10.13.12.59.10 (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:13,779 ERROR: No matching distribution found for zermeloapi==2021.10.13.12.59.10 2023-09-15T00:35:13,781 Exception information: 2023-09-15T00:35:13,781 Traceback (most recent call last): 2023-09-15T00:35:13,781 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve 2023-09-15T00:35:13,781 self._add_to_criteria(self.state.criteria, r, parent=None) 2023-09-15T00:35:13,781 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 174, in _add_to_criteria 2023-09-15T00:35:13,781 raise RequirementsConflicted(criterion) 2023-09-15T00:35:13,781 pip._vendor.resolvelib.resolvers.RequirementsConflicted: Requirements conflict: SpecifierRequirement('zermeloapi==2021.10.13.12.59.10') 2023-09-15T00:35:13,781 2023-09-15T00:35:13,781 During handling of the above exception, another exception occurred: 2023-09-15T00:35:13,781 2023-09-15T00:35:13,781 Traceback (most recent call last): 2023-09-15T00:35:13,781 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve 2023-09-15T00:35:13,781 result = self._result = resolver.resolve( 2023-09-15T00:35:13,781 ^^^^^^^^^^^^^^^^^ 2023-09-15T00:35:13,781 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve 2023-09-15T00:35:13,781 state = resolution.resolve(requirements, max_rounds=max_rounds) 2023-09-15T00:35:13,781 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T00:35:13,781 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 399, in resolve 2023-09-15T00:35:13,781 raise ResolutionImpossible(e.criterion.information) 2023-09-15T00:35:13,781 pip._vendor.resolvelib.resolvers.ResolutionImpossible: [RequirementInformation(requirement=SpecifierRequirement('zermeloapi==2021.10.13.12.59.10'), parent=None)] 2023-09-15T00:35:13,781 2023-09-15T00:35:13,781 The above exception was the direct cause of the following exception: 2023-09-15T00:35:13,781 2023-09-15T00:35:13,781 Traceback (most recent call last): 2023-09-15T00:35:13,781 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper 2023-09-15T00:35:13,781 status = run_func(*args) 2023-09-15T00:35:13,781 ^^^^^^^^^^^^^^^ 2023-09-15T00:35:13,781 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/req_command.py", line 248, in wrapper 2023-09-15T00:35:13,781 return func(self, options, args) 2023-09-15T00:35:13,781 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T00:35:13,781 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2023-09-15T00:35:13,781 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2023-09-15T00:35:13,781 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T00:35:13,781 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 101, in resolve 2023-09-15T00:35:13,781 raise error from e 2023-09-15T00:35:13,781 pip._internal.exceptions.DistributionNotFound: No matching distribution found for zermeloapi==2021.10.13.12.59.10 2023-09-15T00:35:13,786 Removed build tracker: '/tmp/pip-build-tracker-00fbm9db'