2023-09-15T00:34:57,968 Created temporary directory: /tmp/pip-build-tracker-wml2fuxn 2023-09-15T00:34:57,969 Initialized build tracking at /tmp/pip-build-tracker-wml2fuxn 2023-09-15T00:34:57,970 Created build tracker: /tmp/pip-build-tracker-wml2fuxn 2023-09-15T00:34:57,970 Entered build tracker: /tmp/pip-build-tracker-wml2fuxn 2023-09-15T00:34:57,971 Created temporary directory: /tmp/pip-wheel-vzdnu9xa 2023-09-15T00:34:57,974 Created temporary directory: /tmp/pip-ephem-wheel-cache-cqpos6xn 2023-09-15T00:34:57,997 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-09-15T00:34:58,001 2 location(s) to search for versions of zermeloapi: 2023-09-15T00:34:58,001 * https://pypi.org/simple/zermeloapi/ 2023-09-15T00:34:58,001 * https://www.piwheels.org/simple/zermeloapi/ 2023-09-15T00:34:58,002 Fetching project page and analyzing links: https://pypi.org/simple/zermeloapi/ 2023-09-15T00:34:58,003 Getting page https://pypi.org/simple/zermeloapi/ 2023-09-15T00:34:58,004 Found index url https://pypi.org/simple/ 2023-09-15T00:34:58,144 Fetched page https://pypi.org/simple/zermeloapi/ as application/vnd.pypi.simple.v1+json 2023-09-15T00:34:58,167 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:58,168 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:58,168 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:58,169 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:58,170 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:58,171 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:58,172 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:58,173 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:58,174 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:58,175 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:58,176 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:58,176 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:58,178 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:58,178 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:58,179 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:58,180 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:58,180 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:58,181 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:58,182 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:58,183 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:58,183 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:58,184 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:58,185 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:58,186 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:58,187 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:58,187 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:58,189 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:58,189 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:58,190 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:58,191 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:58,191 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:58,192 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:58,193 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:58,194 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:58,194 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:58,195 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:58,196 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:58,197 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:58,198 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:58,198 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:58,200 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:58,200 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:58,201 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:58,201 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:58,202 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:58,203 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:58,204 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:58,204 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:58,205 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:58,206 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:58,207 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:58,207 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:58,208 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:58,209 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:58,210 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:58,211 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:58,212 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:58,212 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:58,213 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:58,214 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:58,214 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:58,215 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:58,216 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:58,217 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:58,218 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:58,219 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:58,219 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:58,220 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:58,221 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:58,222 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:58,223 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:58,223 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:58,224 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:58,225 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:58,225 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:58,226 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:58,227 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:58,228 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:58,229 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:58,229 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:58,230 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:58,231 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:58,232 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:58,233 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:58,233 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:58,234 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:58,235 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:58,235 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:58,236 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:58,237 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:58,237 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:58,238 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:58,239 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:58,240 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:58,240 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:58,241 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:58,242 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:58,243 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:58,244 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:58,244 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:58,245 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:58,246 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:58,246 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:58,247 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:58,248 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:58,249 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:58,249 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:58,250 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:58,251 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:58,252 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:58,253 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:58,254 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:58,254 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:58,255 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:58,256 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:58,257 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:58,257 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:58,258 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:58,259 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:58,260 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:58,260 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:58,261 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:58,262 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:58,263 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:58,264 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:58,265 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:58,265 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:58,266 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:58,266 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:58,267 Fetching project page and analyzing links: https://www.piwheels.org/simple/zermeloapi/ 2023-09-15T00:34:58,268 Getting page https://www.piwheels.org/simple/zermeloapi/ 2023-09-15T00:34:58,269 Found index url https://www.piwheels.org/simple/ 2023-09-15T00:34:58,520 Fetched page https://www.piwheels.org/simple/zermeloapi/ as text/html 2023-09-15T00:34:58,521 Skipping link: not a file: https://www.piwheels.org/simple/zermeloapi/ 2023-09-15T00:34:58,522 Skipping link: not a file: https://pypi.org/simple/zermeloapi/ 2023-09-15T00:34:58,548 Given no hashes to check 1 links for project 'zermeloapi': discarding no candidates 2023-09-15T00:34:58,566 Collecting zermeloapi==2021.10.13.13.1.40 2023-09-15T00:34:58,569 Created temporary directory: /tmp/pip-unpack-akkrwojv 2023-09-15T00:34:59,019 Downloading zermeloapi-2021.10.13.13.1.40.tar.gz (5.1 kB) 2023-09-15T00:34:59,049 Added zermeloapi==2021.10.13.13.1.40 from https://files.pythonhosted.org/packages/9e/14/9fc312ea9e675c8a2d34b1eac07d4ec5cd7262492574d20b3bc9341c854c/zermeloapi-2021.10.13.13.1.40.tar.gz to build tracker '/tmp/pip-build-tracker-wml2fuxn' 2023-09-15T00:34:59,054 Created temporary directory: /tmp/pip-build-env-zz8_7vgb 2023-09-15T00:34:59,058 Installing build dependencies: started 2023-09-15T00:34:59,060 Running command pip subprocess to install build dependencies 2023-09-15T00:35:00,183 Using pip 23.2.1 from /usr/local/lib/python3.11/dist-packages/pip (python 3.11) 2023-09-15T00:35:00,664 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-09-15T00:35:02,350 Collecting setuptools>=42 2023-09-15T00:35:02,351 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:02,357 Using cached setuptools-68.2.2-py3-none-any.whl.metadata (6.3 kB) 2023-09-15T00:35:02,563 Collecting wheel 2023-09-15T00:35:02,581 Using cached https://www.piwheels.org/simple/wheel/wheel-0.41.2-py3-none-any.whl (64 kB) 2023-09-15T00:35:02,837 Collecting requests 2023-09-15T00:35:02,853 Using cached https://www.piwheels.org/simple/requests/requests-2.31.0-py3-none-any.whl (62 kB) 2023-09-15T00:35:02,948 Collecting datetime 2023-09-15T00:35:02,957 Downloading https://www.piwheels.org/simple/datetime/DateTime-5.2-py3-none-any.whl (52 kB) 2023-09-15T00:35:02,976 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.2/52.2 kB 4.8 MB/s eta 0:00:00 2023-09-15T00:35:03,501 Collecting charset-normalizer<4,>=2 (from requests) 2023-09-15T00:35:03,516 Using cached https://www.piwheels.org/simple/charset-normalizer/charset_normalizer-3.2.0-py3-none-any.whl (46 kB) 2023-09-15T00:35:03,619 Collecting idna<4,>=2.5 (from requests) 2023-09-15T00:35:03,635 Using cached https://www.piwheels.org/simple/idna/idna-3.4-py3-none-any.whl (61 kB) 2023-09-15T00:35:03,909 Collecting urllib3<3,>=1.21.1 (from requests) 2023-09-15T00:35:03,927 Using cached https://www.piwheels.org/simple/urllib3/urllib3-2.0.4-py3-none-any.whl (123 kB) 2023-09-15T00:35:04,077 Collecting certifi>=2017.4.17 (from requests) 2023-09-15T00:35:04,098 Using cached https://www.piwheels.org/simple/certifi/certifi-2023.7.22-py3-none-any.whl (158 kB) 2023-09-15T00:35:04,787 Collecting zope.interface (from datetime) 2023-09-15T00:35:04,796 Downloading https://www.piwheels.org/simple/zope-interface/zope.interface-5.4.0-cp311-cp311-linux_armv7l.whl (242 kB) 2023-09-15T00:35:04,829 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 242.7/242.7 kB 9.7 MB/s eta 0:00:00 2023-09-15T00:35:05,182 Collecting pytz (from datetime) 2023-09-15T00:35:05,192 Downloading https://www.piwheels.org/simple/pytz/pytz-2023.3.post1-py3-none-any.whl (502 kB) 2023-09-15T00:35:05,247 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 502.5/502.5 kB 10.5 MB/s eta 0:00:00 2023-09-15T00:35:05,381 Using cached setuptools-68.2.2-py3-none-any.whl (807 kB) 2023-09-15T00:35:07,871 Installing collected packages: pytz, wheel, urllib3, setuptools, idna, charset-normalizer, certifi, zope.interface, requests, datetime 2023-09-15T00:35:08,925 Creating /tmp/pip-build-env-zz8_7vgb/overlay/local/bin 2023-09-15T00:35:08,927 changing mode of /tmp/pip-build-env-zz8_7vgb/overlay/local/bin/wheel to 755 2023-09-15T00:35:11,891 changing mode of /tmp/pip-build-env-zz8_7vgb/overlay/local/bin/normalizer to 755 2023-09-15T00:35:13,046 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:13,047 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:13,048 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:13,636 Installing build dependencies: finished with status 'done' 2023-09-15T00:35:13,640 Getting requirements to build wheel: started 2023-09-15T00:35:13,641 Running command Getting requirements to build wheel 2023-09-15T00:35:14,112 # zermelo api 2023-09-15T00:35:14,112 ![GitHub Logo](https://ozhw.zportal.nl/static/v/21.09j64/img/zermelo2013.svg) 2023-09-15T00:35:14,112 # documentation 2023-09-15T00:35:14,114 ## install 2023-09-15T00:35:14,115 ```properties 2023-09-15T00:35:14,116 pip install zermeloapi 2023-09-15T00:35:14,116 ``` 2023-09-15T00:35:14,118 ## how to import 2023-09-15T00:35:14,118 ```python 2023-09-15T00:35:14,119 import zermeloapi 2023-09-15T00:35:14,119 ``` 2023-09-15T00:35:14,119 ## initializing 2023-09-15T00:35:14,120 ```python 2023-09-15T00:35:14,121 zermelo = zermeloapi.zermelo(school, username, password, teacher=False, version=3) 2023-09-15T00:35:14,121 ``` 2023-09-15T00:35:14,122 ## get_token 2023-09-15T00:35:14,122 ```python 2023-09-15T00:35:14,123 token = zermelo.get_token() 2023-09-15T00:35:14,123 ``` 2023-09-15T00:35:14,124 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:14,125 ## get_access_token 2023-09-15T00:35:14,125 ```python 2023-09-15T00:35:14,126 access_token = zermelo.get_access_token() 2023-09-15T00:35:14,126 ``` 2023-09-15T00:35:14,127 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:14,128 ## get_schedule 2023-09-15T00:35:14,128 ```python 2023-09-15T00:35:14,129 raw_schedule = zermelo.get_schedule() 2023-09-15T00:35:14,129 ``` 2023-09-15T00:35:14,130 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:14,130 ## sort_schedule 2023-09-15T00:35:14,131 ```python 2023-09-15T00:35:14,131 sorted_schedule = zermelo.sort_schedule() 2023-09-15T00:35:14,131 ``` 2023-09-15T00:35:14,132 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:14,132 ## readable_schedule 2023-09-15T00:35:14,133 ```python 2023-09-15T00:35:14,133 readable = zermelo.readable_schedule() 2023-09-15T00:35:14,134 ``` 2023-09-15T00:35:14,134 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:14,135 ## print_schedule 2023-09-15T00:35:14,135 ```python 2023-09-15T00:35:14,136 zermelo.print_schedule() 2023-09-15T00:35:14,136 ``` 2023-09-15T00:35:14,137 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:14,137 # source code 2023-09-15T00:35:14,138 ```python 2023-09-15T00:35:14,138 class zermelo: 2023-09-15T00:35:14,139 expires_in = 0 2023-09-15T00:35:14,140 school = '' 2023-09-15T00:35:14,140 username = '' 2023-09-15T00:35:14,141 password = '' 2023-09-15T00:35:14,141 teacher = False 2023-09-15T00:35:14,142 TimeToAddToUtc = 0 2023-09-15T00:35:14,142 access_token = '' 2023-09-15T00:35:14,144 def __init__(self, school, username, password, teacher=False, version=3): 2023-09-15T00:35:14,145 self.school = school 2023-09-15T00:35:14,145 self.username = username 2023-09-15T00:35:14,146 self.password = password 2023-09-15T00:35:14,147 self.teacher = teacher 2023-09-15T00:35:14,147 self.version = 'v'+str(version) 2023-09-15T00:35:14,148 self.TimeToAddToUtc = self.get_date()[2] 2023-09-15T00:35:14,149 self.access_token = self.get_access_token() 2023-09-15T00:35:14,151 def get_date(self): 2023-09-15T00:35:14,151 from datetime import date, datetime 2023-09-15T00:35:14,152 year, week = date.today().strftime("%Y %W").split(" ") 2023-09-15T00:35:14,152 if date.today().isoweekday() > 6: 2023-09-15T00:35:14,153 week = str(int(week)+1) 2023-09-15T00:35:14,153 TimeToAddToUtc = int( 2023-09-15T00:35:14,154 str(datetime.now().astimezone()).split("+")[1].split(":")[0]) 2023-09-15T00:35:14,154 return year, week, TimeToAddToUtc 2023-09-15T00:35:14,156 def refresh(self): 2023-09-15T00:35:14,157 self.access_token = self.get_access_token() 2023-09-15T00:35:14,157 return(self.expires_in) 2023-09-15T00:35:14,159 def get_token(self, school=None, username=None, password=None): 2023-09-15T00:35:14,159 if(school == None): 2023-09-15T00:35:14,160 school = self.school 2023-09-15T00:35:14,160 if (username == None): 2023-09-15T00:35:14,161 username = self.username 2023-09-15T00:35:14,162 if(password == None): 2023-09-15T00:35:14,162 password = self.password 2023-09-15T00:35:14,163 import requests 2023-09-15T00:35:14,163 url = 'https://'+school+'.zportal.nl/api/'+self.version+'/oauth' 2023-09-15T00:35:14,164 myobj = {'username': username, 'password': password, 'client_id': 'OAuthPage', 'redirect_uri': '/main/', 2023-09-15T00:35:14,165 'scope': '', 'state': '4E252A', 'response_type': 'code', 'tenant': school} 2023-09-15T00:35:14,165 x = requests.post(url, data=myobj) 2023-09-15T00:35:14,165 respons = x.text 2023-09-15T00:35:14,166 start = respons.find("code=") + len("code=") 2023-09-15T00:35:14,166 end = respons.find("&", start) 2023-09-15T00:35:14,166 token = respons[start:end] 2023-09-15T00:35:14,167 start = respons.find("tenant=") + len("tenant=") 2023-09-15T00:35:14,167 end = respons.find("&", start) 2023-09-15T00:35:14,168 school = respons[start:end] 2023-09-15T00:35:14,168 start = respons.find("expires_in=") + len("expires_in=") 2023-09-15T00:35:14,168 end = respons.find("&", start) 2023-09-15T00:35:14,169 self.expires_in = respons[start:end] 2023-09-15T00:35:14,169 start = respons.find("loginMethod=") + len("loginMethod=") 2023-09-15T00:35:14,170 end = respons.find("&", start) 2023-09-15T00:35:14,170 self.loginMethod = respons[start:end] 2023-09-15T00:35:14,171 start = respons.find("interfaceVersion=") + len("interfaceVersion=") 2023-09-15T00:35:14,171 end = respons.find("&", start) 2023-09-15T00:35:14,171 self.interfaceVersion = respons[start:end] 2023-09-15T00:35:14,172 return(token) 2023-09-15T00:35:14,174 def get_access_token(self, school=None, token=None): 2023-09-15T00:35:14,174 if(school == None): 2023-09-15T00:35:14,174 school = self.school 2023-09-15T00:35:14,175 if(token == None): 2023-09-15T00:35:14,176 token = self.get_token() 2023-09-15T00:35:14,176 import requests 2023-09-15T00:35:14,177 url = 'https://' + school+'.zportal.nl/api/'+self.version+'/oauth/token' 2023-09-15T00:35:14,177 myobj = {'code': token, 'client_id': 'ZermeloPortal', 'client_secret': 42, 2023-09-15T00:35:14,178 'grant_type': 'authorization_code', 'rememberMe': False} 2023-09-15T00:35:14,178 l = requests.post(url, data=myobj) 2023-09-15T00:35:14,179 import json 2023-09-15T00:35:14,180 jl = json.loads(l.text) 2023-09-15T00:35:14,180 access_token = jl['access_token'] 2023-09-15T00:35:14,181 return(access_token) 2023-09-15T00:35:14,183 def get_schedule(self, year=None, week=None): 2023-09-15T00:35:14,183 time = self.get_date() 2023-09-15T00:35:14,184 if year == None: 2023-09-15T00:35:14,185 year = time[0] 2023-09-15T00:35:14,185 if week == None: 2023-09-15T00:35:14,186 week = time[1] 2023-09-15T00:35:14,186 import requests 2023-09-15T00:35:14,187 import json 2023-09-15T00:35:14,187 headers = {"Authorization": "Bearer "+self.access_token} 2023-09-15T00:35:14,188 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:14,189 '&fields=appointmentInstance,start,end,startTimeSlotName,endTimeSlotName,subjects,groups,locations,teachers,cancelled,changeDescription,schedulerRemark,content,appointmentType', headers=headers) 2023-09-15T00:35:14,189 rl = json.loads(r.text) 2023-09-15T00:35:14,190 # print(r.text) 2023-09-15T00:35:14,190 response = rl["response"] 2023-09-15T00:35:14,191 data = response["data"][0] 2023-09-15T00:35:14,191 appointments = data["appointments"] 2023-09-15T00:35:14,192 return(appointments) 2023-09-15T00:35:14,194 def sort_schedule(self, schedule=None, year=None, week=None): 2023-09-15T00:35:14,195 if(schedule == None): 2023-09-15T00:35:14,195 schedule = self.get_schedule(year=year, week=week) 2023-09-15T00:35:14,196 pdate = 0 2023-09-15T00:35:14,197 days = [[[], []]] 2023-09-15T00:35:14,197 for les in schedule: 2023-09-15T00:35:14,197 from datetime import datetime 2023-09-15T00:35:14,198 date = datetime.utcfromtimestamp(les["start"]).strftime('%Y%m%d') 2023-09-15T00:35:14,198 hour = str(int(datetime.utcfromtimestamp( 2023-09-15T00:35:14,199 les["start"]).strftime('%H')) + self.TimeToAddToUtc) 2023-09-15T00:35:14,199 time = datetime.utcfromtimestamp(les["start"]).strftime('%Y-%m-%d ') + (hour if int( 2023-09-15T00:35:14,200 hour) > 9 else ('0'+hour)) + datetime.utcfromtimestamp(les["start"]).strftime(':%M') 2023-09-15T00:35:14,200 ehour = str(int(datetime.utcfromtimestamp( 2023-09-15T00:35:14,200 les["end"]).strftime('%H')) + self.TimeToAddToUtc) 2023-09-15T00:35:14,201 etime = datetime.utcfromtimestamp(les["end"]).strftime('%Y-%m-%d ') + (ehour if int( 2023-09-15T00:35:14,201 ehour) > 9 else ('0'+ehour)) + datetime.utcfromtimestamp(les["end"]).strftime(':%M') 2023-09-15T00:35:14,202 # print(les["status"]) 2023-09-15T00:35:14,202 if date != pdate: 2023-09-15T00:35:14,202 days.append([[], []]) 2023-09-15T00:35:14,203 if (les["status"][0]["code"] < 3000 and les["status"][0]["code"] >= 2000): 2023-09-15T00:35:14,203 days[-1][0].append([les["subjects"][0], time, etime, 2023-09-15T00:35:14,204 str(les["locations"]), les["status"], les["online"]]) 2023-09-15T00:35:14,205 else: 2023-09-15T00:35:14,205 days[-1][1].append([les["subjects"][0], time, etime, 2023-09-15T00:35:14,206 str(les["locations"]), les["status"], les["online"]]) 2023-09-15T00:35:14,206 pdate = date 2023-09-15T00:35:14,206 days.pop(0) 2023-09-15T00:35:14,207 return(days) 2023-09-15T00:35:14,208 def readable_schedule(self, days=None, year=None, week=None): 2023-09-15T00:35:14,209 result = '' 2023-09-15T00:35:14,209 if(days == None): 2023-09-15T00:35:14,210 days = self.sort_schedule(year=year, week=week) 2023-09-15T00:35:14,210 for day in days: 2023-09-15T00:35:14,211 result += ("start: "+day[0][0][1]+"\tend: "+day[0][-1][2]+'\n') 2023-09-15T00:35:14,211 for les in day[0]: 2023-09-15T00:35:14,211 if (les[4][0]["code"] < 3000 and les[4][0]["code"] >= 2000): 2023-09-15T00:35:14,212 result += ("les: "+les[0].ljust(10, " ")+"lokaal: "+("📷"if(les[5])else (les[3][2:-2]if( 2023-09-15T00:35:14,213 len(les[3][2:-2]) > 0)else "————")).ljust(5, " ")+"\tstart: "+les[1]+"\tend: "+les[2]+'\n') 2023-09-15T00:35:14,213 pass 2023-09-15T00:35:14,214 result += ("\n\n") 2023-09-15T00:35:14,214 return result 2023-09-15T00:35:14,216 def print_schedule(self, readable=None, days=None, year=None, week=None): 2023-09-15T00:35:14,217 if(readable == None): 2023-09-15T00:35:14,217 readable = self.readable_schedule(days=days, year=year, week=week) 2023-09-15T00:35:14,218 print(readable) 2023-09-15T00:35:14,218 ```/tmp/pip-build-env-zz8_7vgb/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:314: InformationOnly: Normalizing '2023.09.15.00.35.14' to '2023.9.15.0.35.14' 2023-09-15T00:35:14,219 self.metadata.version = self._normalize_version( 2023-09-15T00:35:14,220 running egg_info 2023-09-15T00:35:14,221 writing src/zermeloapi.egg-info/PKG-INFO 2023-09-15T00:35:14,221 writing dependency_links to src/zermeloapi.egg-info/dependency_links.txt 2023-09-15T00:35:14,222 writing top-level names to src/zermeloapi.egg-info/top_level.txt 2023-09-15T00:35:14,231 reading manifest file 'src/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:14,233 adding license file 'LICENSE' 2023-09-15T00:35:14,235 writing manifest file 'src/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:14,312 Getting requirements to build wheel: finished with status 'done' 2023-09-15T00:35:14,321 Created temporary directory: /tmp/pip-modern-metadata-p07386e2 2023-09-15T00:35:14,324 Preparing metadata (pyproject.toml): started 2023-09-15T00:35:14,325 Running command Preparing metadata (pyproject.toml) 2023-09-15T00:35:14,792 # zermelo api 2023-09-15T00:35:14,793 ![GitHub Logo](https://ozhw.zportal.nl/static/v/21.09j64/img/zermelo2013.svg) 2023-09-15T00:35:14,793 # documentation 2023-09-15T00:35:14,794 ## install 2023-09-15T00:35:14,795 ```properties 2023-09-15T00:35:14,796 pip install zermeloapi 2023-09-15T00:35:14,796 ``` 2023-09-15T00:35:14,797 ## how to import 2023-09-15T00:35:14,798 ```python 2023-09-15T00:35:14,798 import zermeloapi 2023-09-15T00:35:14,799 ``` 2023-09-15T00:35:14,799 ## initializing 2023-09-15T00:35:14,799 ```python 2023-09-15T00:35:14,800 zermelo = zermeloapi.zermelo(school, username, password, teacher=False, version=3) 2023-09-15T00:35:14,800 ``` 2023-09-15T00:35:14,801 ## get_token 2023-09-15T00:35:14,801 ```python 2023-09-15T00:35:14,802 token = zermelo.get_token() 2023-09-15T00:35:14,802 ``` 2023-09-15T00:35:14,803 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:14,803 ## get_access_token 2023-09-15T00:35:14,804 ```python 2023-09-15T00:35:14,805 access_token = zermelo.get_access_token() 2023-09-15T00:35:14,805 ``` 2023-09-15T00:35:14,806 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:14,806 ## get_schedule 2023-09-15T00:35:14,807 ```python 2023-09-15T00:35:14,808 raw_schedule = zermelo.get_schedule() 2023-09-15T00:35:14,808 ``` 2023-09-15T00:35:14,809 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:14,809 ## sort_schedule 2023-09-15T00:35:14,810 ```python 2023-09-15T00:35:14,810 sorted_schedule = zermelo.sort_schedule() 2023-09-15T00:35:14,811 ``` 2023-09-15T00:35:14,812 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:14,812 ## readable_schedule 2023-09-15T00:35:14,813 ```python 2023-09-15T00:35:14,814 readable = zermelo.readable_schedule() 2023-09-15T00:35:14,814 ``` 2023-09-15T00:35:14,815 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:14,815 ## print_schedule 2023-09-15T00:35:14,816 ```python 2023-09-15T00:35:14,816 zermelo.print_schedule() 2023-09-15T00:35:14,817 ``` 2023-09-15T00:35:14,818 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:14,818 # source code 2023-09-15T00:35:14,819 ```python 2023-09-15T00:35:14,819 class zermelo: 2023-09-15T00:35:14,820 expires_in = 0 2023-09-15T00:35:14,820 school = '' 2023-09-15T00:35:14,821 username = '' 2023-09-15T00:35:14,822 password = '' 2023-09-15T00:35:14,822 teacher = False 2023-09-15T00:35:14,823 TimeToAddToUtc = 0 2023-09-15T00:35:14,823 access_token = '' 2023-09-15T00:35:14,825 def __init__(self, school, username, password, teacher=False, version=3): 2023-09-15T00:35:14,825 self.school = school 2023-09-15T00:35:14,826 self.username = username 2023-09-15T00:35:14,826 self.password = password 2023-09-15T00:35:14,827 self.teacher = teacher 2023-09-15T00:35:14,827 self.version = 'v'+str(version) 2023-09-15T00:35:14,828 self.TimeToAddToUtc = self.get_date()[2] 2023-09-15T00:35:14,828 self.access_token = self.get_access_token() 2023-09-15T00:35:14,829 def get_date(self): 2023-09-15T00:35:14,830 from datetime import date, datetime 2023-09-15T00:35:14,830 year, week = date.today().strftime("%Y %W").split(" ") 2023-09-15T00:35:14,831 if date.today().isoweekday() > 6: 2023-09-15T00:35:14,831 week = str(int(week)+1) 2023-09-15T00:35:14,831 TimeToAddToUtc = int( 2023-09-15T00:35:14,832 str(datetime.now().astimezone()).split("+")[1].split(":")[0]) 2023-09-15T00:35:14,832 return year, week, TimeToAddToUtc 2023-09-15T00:35:14,834 def refresh(self): 2023-09-15T00:35:14,834 self.access_token = self.get_access_token() 2023-09-15T00:35:14,835 return(self.expires_in) 2023-09-15T00:35:14,836 def get_token(self, school=None, username=None, password=None): 2023-09-15T00:35:14,837 if(school == None): 2023-09-15T00:35:14,837 school = self.school 2023-09-15T00:35:14,838 if (username == None): 2023-09-15T00:35:14,838 username = self.username 2023-09-15T00:35:14,838 if(password == None): 2023-09-15T00:35:14,839 password = self.password 2023-09-15T00:35:14,840 import requests 2023-09-15T00:35:14,840 url = 'https://'+school+'.zportal.nl/api/'+self.version+'/oauth' 2023-09-15T00:35:14,841 myobj = {'username': username, 'password': password, 'client_id': 'OAuthPage', 'redirect_uri': '/main/', 2023-09-15T00:35:14,841 'scope': '', 'state': '4E252A', 'response_type': 'code', 'tenant': school} 2023-09-15T00:35:14,842 x = requests.post(url, data=myobj) 2023-09-15T00:35:14,843 respons = x.text 2023-09-15T00:35:14,843 start = respons.find("code=") + len("code=") 2023-09-15T00:35:14,844 end = respons.find("&", start) 2023-09-15T00:35:14,844 token = respons[start:end] 2023-09-15T00:35:14,845 start = respons.find("tenant=") + len("tenant=") 2023-09-15T00:35:14,845 end = respons.find("&", start) 2023-09-15T00:35:14,846 school = respons[start:end] 2023-09-15T00:35:14,847 start = respons.find("expires_in=") + len("expires_in=") 2023-09-15T00:35:14,848 end = respons.find("&", start) 2023-09-15T00:35:14,848 self.expires_in = respons[start:end] 2023-09-15T00:35:14,849 start = respons.find("loginMethod=") + len("loginMethod=") 2023-09-15T00:35:14,849 end = respons.find("&", start) 2023-09-15T00:35:14,850 self.loginMethod = respons[start:end] 2023-09-15T00:35:14,850 start = respons.find("interfaceVersion=") + len("interfaceVersion=") 2023-09-15T00:35:14,851 end = respons.find("&", start) 2023-09-15T00:35:14,851 self.interfaceVersion = respons[start:end] 2023-09-15T00:35:14,852 return(token) 2023-09-15T00:35:14,854 def get_access_token(self, school=None, token=None): 2023-09-15T00:35:14,854 if(school == None): 2023-09-15T00:35:14,855 school = self.school 2023-09-15T00:35:14,855 if(token == None): 2023-09-15T00:35:14,856 token = self.get_token() 2023-09-15T00:35:14,857 import requests 2023-09-15T00:35:14,857 url = 'https://' + school+'.zportal.nl/api/'+self.version+'/oauth/token' 2023-09-15T00:35:14,858 myobj = {'code': token, 'client_id': 'ZermeloPortal', 'client_secret': 42, 2023-09-15T00:35:14,858 'grant_type': 'authorization_code', 'rememberMe': False} 2023-09-15T00:35:14,859 l = requests.post(url, data=myobj) 2023-09-15T00:35:14,860 import json 2023-09-15T00:35:14,860 jl = json.loads(l.text) 2023-09-15T00:35:14,860 access_token = jl['access_token'] 2023-09-15T00:35:14,861 return(access_token) 2023-09-15T00:35:14,862 def get_schedule(self, year=None, week=None): 2023-09-15T00:35:14,862 time = self.get_date() 2023-09-15T00:35:14,863 if year == None: 2023-09-15T00:35:14,863 year = time[0] 2023-09-15T00:35:14,864 if week == None: 2023-09-15T00:35:14,865 week = time[1] 2023-09-15T00:35:14,865 import requests 2023-09-15T00:35:14,865 import json 2023-09-15T00:35:14,866 headers = {"Authorization": "Bearer "+self.access_token} 2023-09-15T00:35:14,866 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:14,867 '&fields=appointmentInstance,start,end,startTimeSlotName,endTimeSlotName,subjects,groups,locations,teachers,cancelled,changeDescription,schedulerRemark,content,appointmentType', headers=headers) 2023-09-15T00:35:14,867 rl = json.loads(r.text) 2023-09-15T00:35:14,868 # print(r.text) 2023-09-15T00:35:14,868 response = rl["response"] 2023-09-15T00:35:14,868 data = response["data"][0] 2023-09-15T00:35:14,869 appointments = data["appointments"] 2023-09-15T00:35:14,870 return(appointments) 2023-09-15T00:35:14,871 def sort_schedule(self, schedule=None, year=None, week=None): 2023-09-15T00:35:14,872 if(schedule == None): 2023-09-15T00:35:14,873 schedule = self.get_schedule(year=year, week=week) 2023-09-15T00:35:14,873 pdate = 0 2023-09-15T00:35:14,874 days = [[[], []]] 2023-09-15T00:35:14,874 for les in schedule: 2023-09-15T00:35:14,875 from datetime import datetime 2023-09-15T00:35:14,875 date = datetime.utcfromtimestamp(les["start"]).strftime('%Y%m%d') 2023-09-15T00:35:14,876 hour = str(int(datetime.utcfromtimestamp( 2023-09-15T00:35:14,876 les["start"]).strftime('%H')) + self.TimeToAddToUtc) 2023-09-15T00:35:14,877 time = datetime.utcfromtimestamp(les["start"]).strftime('%Y-%m-%d ') + (hour if int( 2023-09-15T00:35:14,877 hour) > 9 else ('0'+hour)) + datetime.utcfromtimestamp(les["start"]).strftime(':%M') 2023-09-15T00:35:14,878 ehour = str(int(datetime.utcfromtimestamp( 2023-09-15T00:35:14,879 les["end"]).strftime('%H')) + self.TimeToAddToUtc) 2023-09-15T00:35:14,879 etime = datetime.utcfromtimestamp(les["end"]).strftime('%Y-%m-%d ') + (ehour if int( 2023-09-15T00:35:14,880 ehour) > 9 else ('0'+ehour)) + datetime.utcfromtimestamp(les["end"]).strftime(':%M') 2023-09-15T00:35:14,881 # print(les["status"]) 2023-09-15T00:35:14,881 if date != pdate: 2023-09-15T00:35:14,882 days.append([[], []]) 2023-09-15T00:35:14,882 if (les["status"][0]["code"] < 3000 and les["status"][0]["code"] >= 2000): 2023-09-15T00:35:14,883 days[-1][0].append([les["subjects"][0], time, etime, 2023-09-15T00:35:14,883 str(les["locations"]), les["status"], les["online"]]) 2023-09-15T00:35:14,884 else: 2023-09-15T00:35:14,884 days[-1][1].append([les["subjects"][0], time, etime, 2023-09-15T00:35:14,885 str(les["locations"]), les["status"], les["online"]]) 2023-09-15T00:35:14,885 pdate = date 2023-09-15T00:35:14,886 days.pop(0) 2023-09-15T00:35:14,886 return(days) 2023-09-15T00:35:14,888 def readable_schedule(self, days=None, year=None, week=None): 2023-09-15T00:35:14,889 result = '' 2023-09-15T00:35:14,890 if(days == None): 2023-09-15T00:35:14,890 days = self.sort_schedule(year=year, week=week) 2023-09-15T00:35:14,890 for day in days: 2023-09-15T00:35:14,891 result += ("start: "+day[0][0][1]+"\tend: "+day[0][-1][2]+'\n') 2023-09-15T00:35:14,891 for les in day[0]: 2023-09-15T00:35:14,892 if (les[4][0]["code"] < 3000 and les[4][0]["code"] >= 2000): 2023-09-15T00:35:14,892 result += ("les: "+les[0].ljust(10, " ")+"lokaal: "+("📷"if(les[5])else (les[3][2:-2]if( 2023-09-15T00:35:14,893 len(les[3][2:-2]) > 0)else "————")).ljust(5, " ")+"\tstart: "+les[1]+"\tend: "+les[2]+'\n') 2023-09-15T00:35:14,893 pass 2023-09-15T00:35:14,894 result += ("\n\n") 2023-09-15T00:35:14,894 return result 2023-09-15T00:35:14,896 def print_schedule(self, readable=None, days=None, year=None, week=None): 2023-09-15T00:35:14,896 if(readable == None): 2023-09-15T00:35:14,897 readable = self.readable_schedule(days=days, year=year, week=week) 2023-09-15T00:35:14,897 print(readable) 2023-09-15T00:35:14,898 ```/tmp/pip-build-env-zz8_7vgb/overlay/local/lib/python3.11/dist-packages/setuptools/dist.py:314: InformationOnly: Normalizing '2023.09.15.00.35.14' to '2023.9.15.0.35.14' 2023-09-15T00:35:14,898 self.metadata.version = self._normalize_version( 2023-09-15T00:35:14,899 running dist_info 2023-09-15T00:35:14,899 creating /tmp/pip-modern-metadata-p07386e2/zermeloapi.egg-info 2023-09-15T00:35:14,900 writing /tmp/pip-modern-metadata-p07386e2/zermeloapi.egg-info/PKG-INFO 2023-09-15T00:35:14,901 writing dependency_links to /tmp/pip-modern-metadata-p07386e2/zermeloapi.egg-info/dependency_links.txt 2023-09-15T00:35:14,901 writing top-level names to /tmp/pip-modern-metadata-p07386e2/zermeloapi.egg-info/top_level.txt 2023-09-15T00:35:14,902 writing manifest file '/tmp/pip-modern-metadata-p07386e2/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:14,911 reading manifest file '/tmp/pip-modern-metadata-p07386e2/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:14,913 adding license file 'LICENSE' 2023-09-15T00:35:14,915 writing manifest file '/tmp/pip-modern-metadata-p07386e2/zermeloapi.egg-info/SOURCES.txt' 2023-09-15T00:35:14,916 creating '/tmp/pip-modern-metadata-p07386e2/zermeloapi-2023.9.15.0.35.14.dist-info' 2023-09-15T00:35:15,090 Preparing metadata (pyproject.toml): finished with status 'done' 2023-09-15T00:35:15,095 WARNING: Requested zermeloapi==2021.10.13.13.1.40 from https://files.pythonhosted.org/packages/9e/14/9fc312ea9e675c8a2d34b1eac07d4ec5cd7262492574d20b3bc9341c854c/zermeloapi-2021.10.13.13.1.40.tar.gz, but installing version 2023.9.15.0.35.14 2023-09-15T00:35:15,097 Removed zermeloapi==2021.10.13.13.1.40 from https://files.pythonhosted.org/packages/9e/14/9fc312ea9e675c8a2d34b1eac07d4ec5cd7262492574d20b3bc9341c854c/zermeloapi-2021.10.13.13.1.40.tar.gz from build tracker '/tmp/pip-build-tracker-wml2fuxn' 2023-09-15T00:35:15,101 Discarding [blue underline]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)[/]: [yellow]Requested zermeloapi==2021.10.13.13.1.40 from https://files.pythonhosted.org/packages/9e/14/9fc312ea9e675c8a2d34b1eac07d4ec5cd7262492574d20b3bc9341c854c/zermeloapi-2021.10.13.13.1.40.tar.gz has inconsistent version: expected '2021.10.13.13.1.40', but metadata has '2023.9.15.0.35.14'[reset] 2023-09-15T00:35:15,104 ERROR: Could not find a version that satisfies the requirement zermeloapi==2021.10.13.13.1.40 (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:15,106 ERROR: No matching distribution found for zermeloapi==2021.10.13.13.1.40 2023-09-15T00:35:15,107 Exception information: 2023-09-15T00:35:15,107 Traceback (most recent call last): 2023-09-15T00:35:15,107 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve 2023-09-15T00:35:15,107 self._add_to_criteria(self.state.criteria, r, parent=None) 2023-09-15T00:35:15,107 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 174, in _add_to_criteria 2023-09-15T00:35:15,107 raise RequirementsConflicted(criterion) 2023-09-15T00:35:15,107 pip._vendor.resolvelib.resolvers.RequirementsConflicted: Requirements conflict: SpecifierRequirement('zermeloapi==2021.10.13.13.1.40') 2023-09-15T00:35:15,107 2023-09-15T00:35:15,107 During handling of the above exception, another exception occurred: 2023-09-15T00:35:15,107 2023-09-15T00:35:15,107 Traceback (most recent call last): 2023-09-15T00:35:15,107 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve 2023-09-15T00:35:15,107 result = self._result = resolver.resolve( 2023-09-15T00:35:15,107 ^^^^^^^^^^^^^^^^^ 2023-09-15T00:35:15,107 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve 2023-09-15T00:35:15,107 state = resolution.resolve(requirements, max_rounds=max_rounds) 2023-09-15T00:35:15,107 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T00:35:15,107 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 399, in resolve 2023-09-15T00:35:15,107 raise ResolutionImpossible(e.criterion.information) 2023-09-15T00:35:15,107 pip._vendor.resolvelib.resolvers.ResolutionImpossible: [RequirementInformation(requirement=SpecifierRequirement('zermeloapi==2021.10.13.13.1.40'), parent=None)] 2023-09-15T00:35:15,107 2023-09-15T00:35:15,107 The above exception was the direct cause of the following exception: 2023-09-15T00:35:15,107 2023-09-15T00:35:15,107 Traceback (most recent call last): 2023-09-15T00:35:15,107 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper 2023-09-15T00:35:15,107 status = run_func(*args) 2023-09-15T00:35:15,107 ^^^^^^^^^^^^^^^ 2023-09-15T00:35:15,107 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/req_command.py", line 248, in wrapper 2023-09-15T00:35:15,107 return func(self, options, args) 2023-09-15T00:35:15,107 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T00:35:15,107 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2023-09-15T00:35:15,107 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2023-09-15T00:35:15,107 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T00:35:15,107 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 101, in resolve 2023-09-15T00:35:15,107 raise error from e 2023-09-15T00:35:15,107 pip._internal.exceptions.DistributionNotFound: No matching distribution found for zermeloapi==2021.10.13.13.1.40 2023-09-15T00:35:15,113 Removed build tracker: '/tmp/pip-build-tracker-wml2fuxn'