Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/workflows/client-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,13 @@ jobs:
include:
- os: ubuntu-latest
script: ./test_environment.sh
lock: zwik_environment_linux-64.lock
- os: macos-latest
script: ./test_environment.sh
lock: zwik_environment_osx-64.lock
- os: windows-latest
script: .\test_environment.bat --unattended
lock: zwik_environment_win-64.lock
steps:
- uses: actions/checkout@v4
- name: Run unittests
Expand All @@ -27,3 +30,7 @@ jobs:
run: |
${{ matrix.script }} -v --check-installation --fix
${{ matrix.script }} -v --version
- name: Print updated lock file
Comment thread
daniel88ferreira marked this conversation as resolved.
run: |
cat .zwik/${{ matrix.lock }}
Comment thread
daniel88ferreira marked this conversation as resolved.
Comment thread
daniel88ferreira marked this conversation as resolved.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/.idea/
.vscode/
*.pyc
*.swp

Expand Down
175 changes: 91 additions & 84 deletions .zwik/zwik_environment_linux-64.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
# please commit this file to your version control system
#
# This file is generated automatically, do not change it!
# file is created on 2025-02-07 19:59:32.840085
# lockfile integrity: 574a2ac3b2ff93e46dda678b9b5daf5a
script_version: '5.15'
# file is created on 2026-02-06 16:45:32.353803
# lockfile integrity: 75956d2830d0e997f1f3950ea9621df3
script_version: '5.16'
subdir: linux-64
yaml_hash: 0fcf58afdf3311ebc6a234a98eecd61c
channel_alias: https://conda.anaconda.org
Expand All @@ -15,102 +15,109 @@ dependencies:
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=2_gnu
- archspec=0.2.5=pyhd8ed1ab_0
- black=25.1.0=py312h7900ff3_0
- boltons=24.0.0=pyhd8ed1ab_1
- brotli-python=1.1.0=py312h2ec8cdc_2
- bzip2=1.0.8=h4bc722e_7
- c-ares=1.34.4=hb9d3cd8_0
- ca-certificates=2025.1.31=hbcca054_0
- certifi=2024.12.14=pyhd8ed1ab_0
- cffi=1.17.1=py312h06ac9bb_0
- charset-normalizer=3.4.1=pyhd8ed1ab_0
- click=8.1.8=pyh707e725_0
- colorama=0.4.6=pyhd8ed1ab_1
- conda-libmamba-solver=25.1.1=pyhd8ed1ab_0
- backports.zstd=1.3.0=py312h90b7ffd_0
- black=26.1.0=pyh866005b_0
- boltons=25.0.0=pyhd8ed1ab_0
- brotli-python=1.2.0=py312hdb49522_1
- bzip2=1.0.8=hda65f42_8
- c-ares=1.34.6=hb03c661_0
- ca-certificates=2026.1.4=hbd8a1cb_0
- certifi=2026.1.4=pyhd8ed1ab_0
- cffi=2.0.0=py312h460c074_1
- charset-normalizer=3.4.4=pyhd8ed1ab_0
- click=8.3.1=pyh8f84b5b_1
- conda-libmamba-solver=25.11.0=pyhd8ed1ab_1
- conda-package-handling=2.4.0=pyh7900ff3_2
- conda-package-streaming=0.11.0=pyhd8ed1ab_0
- conda=25.1.1=py312h7900ff3_0
- coverage=7.6.10=py312h178313f_0
- cpp-expected=1.1.0=hf52228f_0
- conda-package-streaming=0.12.0=pyhd8ed1ab_0
- conda=26.1.0=py312h7900ff3_0
- coverage=7.13.3=py312h8a5da7c_0
- cpp-expected=1.3.1=h171cf75_0
- distro=1.9.0=pyhd8ed1ab_1
- flake8=7.1.1=pyhd8ed1ab_1
- fmt=11.0.2=h434a139_0
- freezegun=1.5.0=pyhd8ed1ab_1
- frozendict=2.4.6=py312h66e93f0_0
- h2=4.2.0=pyhd8ed1ab_0
- flake8=7.3.0=pyhd8ed1ab_0
- fmt=12.1.0=hff5e90c_0
- freezegun=1.5.5=pyhd8ed1ab_0
- frozendict=2.4.7=py312h4c3975b_0
- h2=4.3.0=pyhcf101f3_0
- hpack=4.1.0=pyhd8ed1ab_0
- hyperframe=6.1.0=pyhd8ed1ab_0
- idna=3.10=pyhd8ed1ab_1
- invoke=2.2.0=pyhd8ed1ab_1
- isort=6.0.0=pyhd8ed1ab_0
- icu=78.2=h33c6efd_0
- idna=3.11=pyhd8ed1ab_0
- importlib-metadata=8.7.0=pyhe01879c_1
- invoke=2.2.1=pyhd8ed1ab_0
- isort=7.0.0=pyhd8ed1ab_0
- jsonpatch=1.33=pyhd8ed1ab_1
- jsonpointer=3.0.0=py312h7900ff3_1
- keyutils=1.6.1=h166bdaf_0
- jsonpointer=3.0.0=pyhcf101f3_3
- keyutils=1.6.3=hb9d3cd8_0
- krb5=1.21.3=h659f571_0
- ld_impl_linux-64=2.43=h712a8e2_2
- libarchive=3.7.7=h4585015_3
- libcurl=8.11.1=h332b0f4_0
- ld_impl_linux-64=2.45.1=default_hbd61a6d_101
- libarchive=3.8.5=gpl_hc2c16d8_100
- libcurl=8.18.0=h4e3cde8_0
- libedit=3.1.20250104=pl5321h7949ede_0
- libev=4.33=hd590300_2
- libexpat=2.6.4=h5888daf_0
- libffi=3.4.2=h7f98852_5
- libgcc-ng=14.2.0=h69a702a_1
- libgcc=14.2.0=h77fa898_1
- libgomp=14.2.0=h77fa898_1
- libiconv=1.17=hd590300_2
- liblzma=5.6.4=hb9d3cd8_0
- libmamba=2.0.5=h49b8a8d_1
- libmambapy=2.0.5=py312hbaee817_1
- libnghttp2=1.64.0=h161d5f1_0
- libnsl=2.0.1=hd590300_0
- libsolv=0.7.30=h3509ff9_0
- libsqlite=3.48.0=hee588c1_1
- libssh2=1.11.1=hf672d98_0
- libstdcxx-ng=14.2.0=h4852527_1
- libstdcxx=14.2.0=hc0a3c3a_1
- libuuid=2.38.1=h0b41bf4_0
- libexpat=2.7.3=hecca717_0
- libffi=3.5.2=h3435931_0
- libgcc-ng=15.2.0=h69a702a_17
- libgcc=15.2.0=he0feb66_17
- libgomp=15.2.0=he0feb66_17
- libiconv=1.18=h3b78370_2
- liblzma=5.8.2=hb03c661_0
- libmamba-spdlog=2.5.0=h12fcf84_0
- libmamba=2.5.0=hd28c85e_0
- libmambapy=2.5.0=py312h1ca65c7_0
- libnghttp2=1.67.0=had1ee68_0
- libnsl=2.0.1=hb9d3cd8_1
- libsolv=0.7.35=h9463b59_0
- libsqlite=3.51.2=hf4e2dac_0
- libssh2=1.11.1=hcf80075_0
- libstdcxx-ng=15.2.0=hdf11a46_17
- libstdcxx=15.2.0=h934c35e_17
- libuuid=2.41.3=h5347b49_0
- libxcrypt=4.4.36=hd590300_1
- libxml2=2.13.5=h0d44e9d_1
- libxml2-16=2.15.1=hca6bf5a_1
- libxml2=2.15.1=he237659_1
- libzlib=1.3.1=hb9d3cd8_2
- lz4-c=1.10.0=h5888daf_1
- lzo=2.10=hd590300_1001
- lzo=2.10=h280c20c_1002
- mccabe=0.7.0=pyhd8ed1ab_1
- menuinst=2.2.0=py312h7900ff3_0
- mypy_extensions=1.0.0=pyha770c72_1
- menuinst=2.4.2=py312h7900ff3_0
- msgpack-python=1.1.2=py312hd9148b4_1
- mypy_extensions=1.1.0=pyha770c72_0
- ncurses=6.5=h2d0b736_3
- nlohmann_json=3.11.3=he02047a_1
- openssl=3.4.0=h7b32b05_1
- packaging=24.2=pyhd8ed1ab_2
- pathspec=0.12.1=pyhd8ed1ab_1
- platformdirs=4.3.6=pyhd8ed1ab_1
- pluggy=1.5.0=pyhd8ed1ab_1
- pybind11-abi=4=hd8ed1ab_3
- pycodestyle=2.12.1=pyhd8ed1ab_1
- pycosat=0.6.6=py312h66e93f0_2
- nlohmann_json-abi=3.12.0=h0f90c79_1
- openssl=3.6.1=h35e630c_1
- packaging=26.0=pyhcf101f3_0
- pathspec=1.0.4=pyhd8ed1ab_0
- platformdirs=4.5.1=pyhcf101f3_0
- pluggy=1.6.0=pyhf9edf01_1
- pybind11-abi=11=hc364b38_1
- pycodestyle=2.14.0=pyhd8ed1ab_0
- pycosat=0.6.6=py312h4c3975b_3
- pycparser=2.22=pyh29332c3_1
- pyflakes=3.2.0=pyhd8ed1ab_1
- pyflakes=3.4.0=pyhd8ed1ab_0
- pysocks=1.7.1=pyha55dd90_7
- python-dateutil=2.9.0.post0=pyhff2d567_1
- python=3.12.8=h9e4cc4f_1_cpython
- python_abi=3.12=5_cp312
- readline=8.2=h8228510_1
- python-dateutil=2.9.0.post0=pyhe01879c_2
- python=3.12.12=hd63d673_2_cpython
- python_abi=3.12=8_cp312
- pytokens=0.4.1=py312h5253ce2_0
- readline=8.3=h853b02a_0
- reproc-cpp=14.2.5.post0=h5888daf_0
- reproc=14.2.5.post0=hb9d3cd8_0
- requests=2.32.3=pyhd8ed1ab_1
- ruamel.yaml.clib=0.2.8=py312h66e93f0_1
- ruamel.yaml=0.18.10=py312h66e93f0_0
- requests=2.32.5=pyhcf101f3_1
- ruamel.yaml.clib=0.2.15=py312h5253ce2_1
- ruamel.yaml=0.18.17=py312h5253ce2_2
- ruamel_yaml=0.15.80=py312h98912ed_1009
- setuptools=75.8.0=pyhff2d567_0
- simdjson=3.11.6=h84d6215_0
- six=1.17.0=pyhd8ed1ab_0
- spdlog=1.15.1=hb29a8c4_0
- tk=8.6.13=noxft_h4845f30_101
- tomli=2.2.1=pyhd8ed1ab_1
- tqdm=4.67.1=pyhd8ed1ab_1
- truststore=0.10.0=pyhd8ed1ab_0
- tzdata=2025a=h78e105d_0
- urllib3=2.3.0=pyhd8ed1ab_0
- yaml-cpp=0.8.0=h59595ed_0
- yaml=0.2.5=h7f98852_2
- zstandard=0.23.0=py312hef9b889_1
- zstd=1.5.6=ha6fb4c9_0
- setuptools=80.10.2=pyh332efcf_0
- simdjson=4.2.4=hb700be7_0
- six=1.17.0=pyhe01879c_1
- spdlog=1.17.0=hab81395_1
- tk=8.6.13=noxft_h366c992_103
- tomli=2.4.0=pyhcf101f3_0
- tqdm=4.67.3=pyh8f84b5b_0
- truststore=0.10.4=pyhcf101f3_0
- tzdata=2025c=hc9c84f9_1
- urllib3=2.6.3=pyhd8ed1ab_0
- yaml-cpp=0.8.0=h3f2d84a_0
- yaml=0.2.5=h280c20c_3
- zipp=3.23.0=pyhcf101f3_1
- zstandard=0.25.0=py312h5253ce2_1
- zstd=1.5.7=hb78ec9c_6
91 changes: 47 additions & 44 deletions .zwik/zwik_environment_osx-64.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
# please commit this file to your version control system
#
# This file is generated automatically, do not change it!
# file is created on 2025-11-28 10:02:07.746293
# lockfile integrity: a51d60043ce225f5ed39d8d11143933c
# file is created on 2026-02-06 16:46:10.359284
# lockfile integrity: 433e64ec3d9cee032e97cfe07542b75f
script_version: '5.16'
subdir: osx-64
yaml_hash: 0fcf58afdf3311ebc6a234a98eecd61c
Expand All @@ -13,26 +13,26 @@ channels:
- defaults
dependencies:
- archspec=0.2.5=pyhd8ed1ab_0
- black=25.1.0=pyh866005b_0
- backports.zstd=1.3.0=py312h6917036_0
- black=26.1.0=pyh866005b_0
- boltons=25.0.0=pyhd8ed1ab_0
- brotli-python=1.2.0=py312h4b46afd_1
- bzip2=1.0.8=h500dc9f_8
- c-ares=1.34.5=hf13058a_0
- ca-certificates=2025.11.12=hbd8a1cb_0
- certifi=2025.11.12=pyhd8ed1ab_0
- c-ares=1.34.6=hb5e19a0_0
- ca-certificates=2026.1.4=hbd8a1cb_0
- certifi=2026.1.4=pyhd8ed1ab_0
- cffi=2.0.0=py312he90777b_1
- charset-normalizer=3.4.4=pyhd8ed1ab_0
- click=8.3.1=pyh707e725_0
- colorama=0.4.6=pyhd8ed1ab_1
- conda-libmamba-solver=25.11.0=pyhd8ed1ab_0
- click=8.3.1=pyh8f84b5b_1
- conda-libmamba-solver=25.11.0=pyhd8ed1ab_1
- conda-package-handling=2.4.0=pyh7900ff3_2
- conda-package-streaming=0.12.0=pyhd8ed1ab_0
- conda=25.11.0=py312hb401068_0
- coverage=7.12.0=py312hacf3034_0
- conda=26.1.0=py312hb401068_0
- coverage=7.13.3=py312h51361c1_0
- cpp-expected=1.3.1=h0ba0a54_0
- distro=1.9.0=pyhd8ed1ab_1
- flake8=7.3.0=pyhd8ed1ab_0
- fmt=12.0.0=h7a3a4f9_0
- fmt=12.1.0=hda137b5_0
- freezegun=1.5.5=pyhd8ed1ab_0
- frozendict=2.4.7=py312h80b0991_0
- h2=4.3.0=pyhcf101f3_0
Expand All @@ -43,66 +43,69 @@ dependencies:
- invoke=2.2.1=pyhd8ed1ab_0
- isort=7.0.0=pyhd8ed1ab_0
- jsonpatch=1.33=pyhd8ed1ab_1
- jsonpointer=3.0.0=py312hb401068_2
- jsonpointer=3.0.0=pyhcf101f3_3
- krb5=1.21.3=h37d8d59_0
- libarchive=3.8.2=gpl_h889603c_100
- libcurl=8.17.0=h7dd4100_0
- libcxx=21.1.6=h3d58e20_0
- libarchive=3.8.5=gpl_h264331f_100
- libcurl=8.18.0=h9348e2b_0
- libcxx=21.1.8=h4fb565c_2
- libedit=3.1.20250104=pl5321ha958ccf_0
- libev=4.33=h10d778d_2
- libexpat=2.7.3=heffb93a_0
- libffi=3.5.2=h750e83c_0
- libffi=3.5.2=hd1f9c09_0
- libiconv=1.18=h57a12c2_2
- liblzma=5.8.1=hd471939_2
- libmamba=2.4.0=h3ba590b_1
- libmambapy=2.4.0=py312h5710069_1
- liblzma=5.8.2=h11316ed_0
- libmamba-spdlog=2.5.0=hb923e0c_0
- libmamba=2.5.0=h7fe6c55_0
- libmambapy=2.5.0=py312h0852a77_0
- libnghttp2=1.67.0=h3338091_0
- libsolv=0.7.35=h6fd32b5_0
- libsqlite=3.51.0=h86bffb9_0
- libsqlite=3.51.2=hb99441e_0
- libssh2=1.11.1=hed3591d_0
- libxml2-16=2.15.1=h0ad03eb_0
- libxml2=2.15.1=h23bb396_0
- libxml2-16=2.15.1=hd57b93d_1
- libxml2=2.15.1=h745d5cb_1
- libzlib=1.3.1=hd23fc13_2
- lz4-c=1.10.0=h240833e_1
- lzo=2.10=h4132b18_1002
- mccabe=0.7.0=pyhd8ed1ab_1
- menuinst=2.4.1=py312hb401068_0
- menuinst=2.4.2=py312hb401068_0
- msgpack-python=1.1.2=py312hd099df3_1
- mypy_extensions=1.1.0=pyha770c72_0
- ncurses=6.5=h0622a9a_3
- nlohmann_json-abi=3.12.0=h0f90c79_1
- openssl=3.6.0=h230baf5_0
- packaging=25.0=pyh29332c3_1
- pathspec=0.12.1=pyhd8ed1ab_1
- platformdirs=4.5.0=pyhcf101f3_0
- pluggy=1.6.0=pyhd8ed1ab_0
- openssl=3.6.1=hb6871ef_1
- packaging=26.0=pyhcf101f3_0
- pathspec=1.0.4=pyhd8ed1ab_0
- platformdirs=4.5.1=pyhcf101f3_0
- pluggy=1.6.0=pyhf9edf01_1
- pybind11-abi=11=hc364b38_1
- pycodestyle=2.14.0=pyhd8ed1ab_0
- pycosat=0.6.6=py312h2f459f6_3
- pycparser=2.22=pyh29332c3_1
- pyflakes=3.4.0=pyhd8ed1ab_0
- pysocks=1.7.1=pyha55dd90_7
- python-dateutil=2.9.0.post0=pyhe01879c_2
- python=3.12.12=h74c2667_1_cpython
- python=3.12.12=h74c2667_2_cpython
- python_abi=3.12=8_cp312
- readline=8.2=h7cca4af_2
- pytokens=0.4.1=py312hf7082af_0
- readline=8.3=h68b038d_0
- reproc-cpp=14.2.5.post0=h240833e_0
- reproc=14.2.5.post0=h6e16a3a_0
- requests=2.32.5=pyhd8ed1ab_0
- ruamel.yaml.clib=0.2.14=py312h80b0991_0
- ruamel.yaml=0.18.16=py312h80b0991_0
- requests=2.32.5=pyhcf101f3_1
- ruamel.yaml.clib=0.2.15=py312hf7082af_1
- ruamel.yaml=0.18.17=py312hf7082af_2
- ruamel_yaml=0.15.80=py312h104f124_1009
- setuptools=80.9.0=pyhff2d567_0
- simdjson=4.2.2=hcb651aa_0
- setuptools=80.10.2=pyh332efcf_0
- simdjson=4.2.4=hcb651aa_0
- six=1.17.0=pyhe01879c_1
- tk=8.6.13=hf689a15_3
- tomli=2.3.0=pyhcf101f3_0
- tqdm=4.67.1=pyhd8ed1ab_1
- truststore=0.10.3=pyhe01879c_0
- tzdata=2025b=h78e105d_0
- urllib3=2.5.0=pyhd8ed1ab_0
- spdlog=1.17.0=h30f01e4_1
- tk=8.6.13=h7142dee_3
- tomli=2.4.0=pyhcf101f3_0
- tqdm=4.67.3=pyh8f84b5b_0
- truststore=0.10.4=pyhcf101f3_0
- tzdata=2025c=hc9c84f9_1
- urllib3=2.6.3=pyhd8ed1ab_0
- yaml-cpp=0.8.0=h92383a6_0
- yaml=0.2.5=h4132b18_3
- zipp=3.23.0=pyhd8ed1ab_0
- zipp=3.23.0=pyhcf101f3_1
- zstandard=0.25.0=py312h01f6755_1
- zstd=1.5.7=h8210216_2
- zstd=1.5.7=h3eecb57_6
Loading