diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..c12b7e3 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,14 @@ +version: 2.1 + +orbs: + flox: flox/orb@1.0.0 + +jobs: + build: + machine: + image: ubuntu-2204:current + steps: + - checkout + - flox/install + - flox/activate: + command: mkdocs build diff --git a/.envrc b/.envrc index 3550a30..35788f5 100644 --- a/.envrc +++ b/.envrc @@ -1 +1,50 @@ -use flake +# Usage: use_flox [...] +# +# Loads the environment variables from a Flox envrionment +# By default, uses the ".flox" directory to load the envrionment from +# You can also specify a remote envrionment as follows +# +# ``` +# use_flox --remote=/ +# ``` +# or +# ``` +# use_flox --trust --remote=/ +# ``` +# +# Where / is the name of the remote environment on FloxHub +# +# You can also specify another directory to load the environment from +# +# ``` +# use_flox --dir= +# ``` +# +# Where is the path to a directory containing a ".flox" directory +# +# Custom commands aren't supported, since we use the `flox activate` command to dump and load the environment +# +function use_flox() { + if [[ ! -d ".flox" ]]; then + printf "direnv(use_flox): \`.flox\` directory not found\n" >&2 + printf "direnv(use_flox): Did you run \`flox init\` in this directory?\n" >&2 + return 1 + fi + + echo "" + echo "Loading \`floxdocs\` environment ..." + echo "" + + direnv_load flox activate "$@" -- "$direnv" dump + + if [[ $# == 0 ]]; then + watch_dir ".flox/env/" + watch_file ".flox/env.json" + watch_file ".flox/env.lock" + fi +} + +use_flox + +watch_file "pyproject.toml" +watch_file "poetry.lock" diff --git a/.flox/.gitignore b/.flox/.gitignore new file mode 100644 index 0000000..15d71a1 --- /dev/null +++ b/.flox/.gitignore @@ -0,0 +1,4 @@ +run/ +cache/ +lib/ +log/ diff --git a/.flox/env.json b/.flox/env.json new file mode 100644 index 0000000..590eb0f --- /dev/null +++ b/.flox/env.json @@ -0,0 +1,4 @@ +{ + "name": "floxdocs", + "version": 1 +} \ No newline at end of file diff --git a/.flox/env/manifest.lock b/.flox/env/manifest.lock new file mode 100644 index 0000000..1aa571b --- /dev/null +++ b/.flox/env/manifest.lock @@ -0,0 +1,1185 @@ +{ + "lockfile-version": 1, + "manifest": { + "version": 1, + "install": { + "coreutils": { + "pkg-path": "coreutils" + }, + "findutils": { + "pkg-path": "findutils" + }, + "gnused": { + "pkg-path": "gnused" + }, + "gnutar": { + "pkg-path": "gnutar" + }, + "lychee": { + "pkg-path": "lychee" + }, + "pandoc": { + "pkg-path": "pandoc" + }, + "pngquant": { + "pkg-path": "pngquant" + }, + "poetry": { + "pkg-path": "poetry" + }, + "python": { + "pkg-path": "python3", + "version": "3.11.*" + } + }, + "vars": {}, + "hook": { + "on-activate": "\n#\n# Python environment activation and installation\n#\nexport POETRY_VIRTUALENVS_PATH=\"$FLOX_ENV_CACHE/poetry/virtualenvs\"\nif [ -z \"$(poetry env info --path)\" ]; then\n poetry env use python &> /dev/null\nfi\nsource \"$(poetry env info --path)/bin/activate\" &> /dev/null\npoetry install --quiet &> /dev/null\necho \"1. 👉 Python environment activated\"\n\n\n# \n# Set the version of Flox to the latest stable version\n#\nexport FLOX_VERSION=$(curl -s https://downloads.flox.dev/by-env/stable/LATEST_VERSION | xargs)\necho \"2. 👉 FLOX_VERSION set to $FLOX_VERSION\"\n\n\n# \n# Copy and process Flox man pages\n# \nexport FLOX_SRC_ARCHIVE=\"$FLOX_ENV_CACHE/flox-v$FLOX_VERSION.tar.gz\"\nif [ ! -e \"$FLOX_SRC_ARCHIVE\" ]; then\n curl -sL \"https://github.com/flox/flox/archive/refs/tags/v$FLOX_VERSION.tar.gz\" -o $FLOX_SRC_ARCHIVE\nfi\necho \"3. 👉 Downloaded Flox source archive\"\n\nexport FLOX_SRC_DIR=\"$FLOX_ENV_CACHE/flox-src-$FLOX_VERSION\"\nif [ ! -d \"$FLOX_SRC_DIR\" ]; then\n mkdir -p $FLOX_SRC_DIR\n tar -zx --strip-components=1 --file=$FLOX_SRC_ARCHIVE --directory=$FLOX_SRC_DIR;\nfi\necho \"4. 👉 Extracted Flox source archive\"\n\nexport FLOX_MAN_PAGES_DIR=\"$PWD/docs/reference/command-reference\"\nif [ -d \"$FLOX_MAN_PAGES_DIR\" ]; then\n rm -rf \"$FLOX_MAN_PAGES_DIR/*\"\nfi\nmkdir -p $FLOX_MAN_PAGES_DIR\npushd \"$FLOX_SRC_DIR/cli/flox/doc\" > /dev/null\n find . -maxdepth 1 -iname \"*.md\" -exec \\\n sh -c \"\n pandoc -t gfm \\\n -L $FLOX_SRC_DIR/pkgs/flox-manpages/pandoc-filters/include-files.lua \\\n --standalone \\\n {} |\n # remove current title\n tail -n +6 |\n # indent all markdown levels by one, e.g. \"#\" -> \"##\"\n sed -e 's/^#/##/' > \\\"$FLOX_MAN_PAGES_DIR/{}\\\"\n \" \\;\npopd > /dev/null\npushd $FLOX_MAN_PAGES_DIR > /dev/null\n for commandPage in ./*.md; do\n # All other man page files have names of the form\n # 'flox*.md'\n if [ \"$commandPage\" = \"./manifest.toml.md\" ]; then\n continue\n fi\n command=$(basename $commandPage .md | sed -e \"s|-| |g\")\n echo -e \"\\n# \\`$command\\` command\\n$(cat $commandPage)\" > $commandPage\n echo -e \"---\\n$(cat $commandPage)\" > $commandPage\n echo -e \"description: Command reference for the \\`$command\\` command.\\n$(cat $commandPage)\" > $commandPage\n echo -e \"title: $command\\n$(cat $commandPage)\" > $commandPage\n echo -e \"---\\n$(cat $commandPage)\" > $commandPage\n done\n\n manifestPage=\"manifest.toml.md\"\n echo -e \"\\n# \\`manifest.toml\\`\\n$(cat $manifestPage)\" > $manifestPage\n echo -e \"---\\n$(cat $manifestPage)\" > $manifestPage\n echo -e \"description: Reference for the manifest.toml format.\\n$(cat $manifestPage)\" > $manifestPage\n echo -e \"title: manifest.toml\\n$(cat $manifestPage)\" > $manifestPage\n echo -e \"---\\n$(cat $manifestPage)\" > $manifestPage\npopd > /dev/null\necho \"5. 👉 Copy man pages from Flox source archive\"\n\necho \"\"\necho \" ╔═══════════════════════════════════╗\"\necho \" ║ ║\"\necho \" ║ To build a production docs run: ║\"\necho \" ║ > mkdocs build ║\"\necho \" ║ ║\"\necho \" ║ To write docs locally run: ║\"\necho \" ║ > mkdocs serve ║\"\necho \" ║ ║\"\necho \" ╚═══════════════════════════════════╝\"\necho \"\"\n\n" + }, + "profile": { + "bash": " source \"$(poetry env info --path)/bin/activate\"\n", + "zsh": " source \"$(poetry env info --path)/bin/activate\"\n", + "fish": " source \"$(poetry env info --path)/bin/activate.fish\"\n", + "tcsh": " source \"$(poetry env info --path)/bin/activate.csh\"\n" + }, + "options": { + "systems": [ + "aarch64-darwin", + "aarch64-linux", + "x86_64-darwin", + "x86_64-linux" + ], + "allow": { + "licenses": [] + }, + "semver": {}, + "cuda-detection": false + }, + "services": { + "mkdocs": { + "command": "mkdocs serve", + "vars": null, + "is-daemon": false, + "shutdown": null + } + } + }, + "packages": [ + { + "attr_path": "coreutils", + "broken": false, + "derivation": "/nix/store/8p2qkx08p8skiw6xz3bp3yj19b804dnr-coreutils-9.5.drv", + "description": "GNU Core Utilities", + "install_id": "coreutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "coreutils-9.5", + "pname": "coreutils", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "9.5", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/synvgqgdhvbj2b37ja3bn56f2yx08r2r-coreutils-9.5-info", + "out": "/nix/store/47zwbmparr2g3b0hci44vma95k1j8a3v-coreutils-9.5" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "coreutils", + "broken": false, + "derivation": "/nix/store/xi1l0agghjxldrsf03vrsydbzgd0p9ph-coreutils-9.5.drv", + "description": "GNU Core Utilities", + "install_id": "coreutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "coreutils-9.5", + "pname": "coreutils", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "9.5", + "outputs_to_install": [ + "out" + ], + "outputs": { + "debug": "/nix/store/4nhkjwjckrypgfbg781gap2irradpcn4-coreutils-9.5-debug", + "info": "/nix/store/n62qzcipxl2060qyq8h79wa94mq81cdr-coreutils-9.5-info", + "out": "/nix/store/84yg60swk80b04apprb1432kir41bvzj-coreutils-9.5" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "coreutils", + "broken": false, + "derivation": "/nix/store/nvpqj2ahl0qj49bzwqiz4j7k1d80qxv5-coreutils-9.5.drv", + "description": "GNU Core Utilities", + "install_id": "coreutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "coreutils-9.5", + "pname": "coreutils", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "9.5", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/k9g3chvxb1zff1la6fvswp0dxvriii3g-coreutils-9.5-info", + "out": "/nix/store/nx7b6wz48p7lli49ms54zp9j4s4yjjf5-coreutils-9.5" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "coreutils", + "broken": false, + "derivation": "/nix/store/mapdfbh230kblpdhxrg77zramjaj9nmk-coreutils-9.5.drv", + "description": "GNU Core Utilities", + "install_id": "coreutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "coreutils-9.5", + "pname": "coreutils", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "9.5", + "outputs_to_install": [ + "out" + ], + "outputs": { + "debug": "/nix/store/8467bx2i423s8d2dnl0529q9q8mpr9h2-coreutils-9.5-debug", + "info": "/nix/store/d33w475g5g30crnr2in1w3b9ifpm46h5-coreutils-9.5-info", + "out": "/nix/store/i7qhgc0bs725qw3wdanznfkdna4z2ns2-coreutils-9.5" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "findutils", + "broken": false, + "derivation": "/nix/store/34mznky1yr6ifk0p2rvnvakvx870xwbf-findutils-4.9.0.drv", + "description": "GNU Find Utilities, the basic directory searching utilities of the GNU operating system", + "install_id": "findutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "findutils-4.9.0", + "pname": "findutils", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.9.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/wvckvi462k8j3kblijjfp1yc9nplg07z-findutils-4.9.0-info", + "locate": "/nix/store/1h9sn0in9zs89cwmq4qj4ggbx2ll1wn1-findutils-4.9.0-locate", + "out": "/nix/store/dj4z6gimsxzlw0b4dnpcgv4b6wxijx13-findutils-4.9.0" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "findutils", + "broken": false, + "derivation": "/nix/store/f2655m6yzyzlld6i4498xfffz7mi0251-findutils-4.9.0.drv", + "description": "GNU Find Utilities, the basic directory searching utilities of the GNU operating system", + "install_id": "findutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "findutils-4.9.0", + "pname": "findutils", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.9.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/xs9ckiq93dggjzyawyr0qrj2b4l7n13l-findutils-4.9.0-info", + "locate": "/nix/store/rz0b7pk50qm5x4gg04skk29jxf5vxzqq-findutils-4.9.0-locate", + "out": "/nix/store/lxj7k5g73inw4h9jw7cw99jwig93fyqx-findutils-4.9.0" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "findutils", + "broken": false, + "derivation": "/nix/store/a02h7gr010fn1m4nir5d0z0f2z9gycin-findutils-4.9.0.drv", + "description": "GNU Find Utilities, the basic directory searching utilities of the GNU operating system", + "install_id": "findutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "findutils-4.9.0", + "pname": "findutils", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.9.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/7jhwg8qmdwl2vhlkxpay16x1swjdfh8y-findutils-4.9.0-info", + "locate": "/nix/store/mk1da83ikvbh8g40l93rfg6p4r8jq3dj-findutils-4.9.0-locate", + "out": "/nix/store/dk47w6iis8fd0hsrc687j5vi2vymsb68-findutils-4.9.0" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "findutils", + "broken": false, + "derivation": "/nix/store/1kl0ncwffim3yihd319n153dzf4cs0y8-findutils-4.9.0.drv", + "description": "GNU Find Utilities, the basic directory searching utilities of the GNU operating system", + "install_id": "findutils", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "findutils-4.9.0", + "pname": "findutils", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.9.0", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/qn4dsjr6kgrf05ihhjlpjrcb0bwkjv7d-findutils-4.9.0-info", + "locate": "/nix/store/rgpwyrh67rk79s6lyn8qixjmkw5vvgzk-findutils-4.9.0-locate", + "out": "/nix/store/rr1yixvn0z63mgq9s04ig9j9qlz23s2g-findutils-4.9.0" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnused", + "broken": false, + "derivation": "/nix/store/hblnll0nvpirs0myznvikg3sm0i25fx6-gnused-4.9.drv", + "description": "GNU sed, a batch stream editor", + "install_id": "gnused", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "gnused-4.9", + "pname": "gnused", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.9", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/76cicdasxxlkj3r1q879ld478w8dlb2g-gnused-4.9-info", + "out": "/nix/store/qxhcgmw2va7wdqz551bg1wn2h0m5ggy4-gnused-4.9" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnused", + "broken": false, + "derivation": "/nix/store/5pp99718map4knj5gdnzzlzk8bppl8n0-gnused-4.9.drv", + "description": "GNU sed, a batch stream editor", + "install_id": "gnused", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "gnused-4.9", + "pname": "gnused", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.9", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/im8j09sxh1qba15523p8vqfq54fyf4gz-gnused-4.9-info", + "out": "/nix/store/yxjfnwjn4azs2b5781ddnhmafmixpfic-gnused-4.9" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnused", + "broken": false, + "derivation": "/nix/store/j2xdc6jcq6lqhm0fl62p7cx3qcghgqf9-gnused-4.9.drv", + "description": "GNU sed, a batch stream editor", + "install_id": "gnused", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "gnused-4.9", + "pname": "gnused", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.9", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/naxf5k1l52437m89m4m97nf84h11nsgq-gnused-4.9-info", + "out": "/nix/store/nxmz3hrywbyrnirpi6kkiwb9j89lrqfm-gnused-4.9" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnused", + "broken": false, + "derivation": "/nix/store/m3spvz5g4x85db76x6vlqpjm85gjada5-gnused-4.9.drv", + "description": "GNU sed, a batch stream editor", + "install_id": "gnused", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "gnused-4.9", + "pname": "gnused", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "4.9", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/i5siv2j9ccda8h9na76xgn510xpxmqma-gnused-4.9-info", + "out": "/nix/store/ks6c62g0m3gqrs5i7m0cv6d6aqhdvirn-gnused-4.9" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnutar", + "broken": false, + "derivation": "/nix/store/a79j00lc3cvsqzwd5nx5n7pwvvpjq30l-gnutar-1.35.drv", + "description": "GNU implementation of the `tar' archiver", + "install_id": "gnutar", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "gnutar-1.35", + "pname": "gnutar", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.35", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/ckzg4qng19pjkxmqwljlxyqakxjhdv0f-gnutar-1.35-info", + "out": "/nix/store/vd6i09s9gbb6d9dgvcwkhd7h680laayv-gnutar-1.35" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnutar", + "broken": false, + "derivation": "/nix/store/gasyj37ifzjhhwv5qrg1p4zhnqgxizgm-gnutar-1.35.drv", + "description": "GNU implementation of the `tar' archiver", + "install_id": "gnutar", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "gnutar-1.35", + "pname": "gnutar", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.35", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/rb7r09fp9bgcjq544yqxp8bp1qrwcp30-gnutar-1.35-info", + "out": "/nix/store/1cqyddnhggg6xcxni7k13pwlh3pygxyn-gnutar-1.35" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnutar", + "broken": false, + "derivation": "/nix/store/jjv5992qivxwzjjh4ahfh2lrl6s0lsan-gnutar-1.35.drv", + "description": "GNU implementation of the `tar' archiver", + "install_id": "gnutar", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "gnutar-1.35", + "pname": "gnutar", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.35", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/rkr4fsxsfn0dbhvh1vb7m48056wpvmgv-gnutar-1.35-info", + "out": "/nix/store/mdrdg0c883305fbh7zmkdlqsk5pid21c-gnutar-1.35" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "gnutar", + "broken": false, + "derivation": "/nix/store/zq07jh6cwzvgi992qfmgk4gpj3cw6z1q-gnutar-1.35.drv", + "description": "GNU implementation of the `tar' archiver", + "install_id": "gnutar", + "license": "GPL-3.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "gnutar-1.35", + "pname": "gnutar", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.35", + "outputs_to_install": [ + "out" + ], + "outputs": { + "info": "/nix/store/96sapma38sp22qn8j2x0q3k4ryii0c89-gnutar-1.35-info", + "out": "/nix/store/95ljdxg4drk1iq8jkjfq2c0z5vbwv8vm-gnutar-1.35" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "lychee", + "broken": false, + "derivation": "/nix/store/iwnxlyb7kgyah9w1ama9y12b1xs6s1nz-lychee-0.15.1.drv", + "description": "Fast, async, stream-based link checker written in Rust", + "install_id": "lychee", + "license": "[ Apache-2.0, MIT ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "lychee-0.15.1", + "pname": "lychee", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.15.1", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/gs0b4f8bms0gr30n4ba9bjlpj3zhd9a1-lychee-0.15.1" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "lychee", + "broken": false, + "derivation": "/nix/store/p91bd930psw666kchxqpkm6v0nla431g-lychee-0.15.1.drv", + "description": "Fast, async, stream-based link checker written in Rust", + "install_id": "lychee", + "license": "[ Apache-2.0, MIT ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "lychee-0.15.1", + "pname": "lychee", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.15.1", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/c027wvw59f7fsx98gi46j9myzh80m83n-lychee-0.15.1" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "lychee", + "broken": false, + "derivation": "/nix/store/j9l5vgw3zi5i8s8yj7rb2dbd9h1875m6-lychee-0.15.1.drv", + "description": "Fast, async, stream-based link checker written in Rust", + "install_id": "lychee", + "license": "[ Apache-2.0, MIT ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "lychee-0.15.1", + "pname": "lychee", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.15.1", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/4h1x38h1v075599k9wvjvzj0wa32fkz5-lychee-0.15.1" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "lychee", + "broken": false, + "derivation": "/nix/store/2mw8jd8a0d9x7vn6hpv9c7rnvqbxvdc2-lychee-0.15.1.drv", + "description": "Fast, async, stream-based link checker written in Rust", + "install_id": "lychee", + "license": "[ Apache-2.0, MIT ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "lychee-0.15.1", + "pname": "lychee", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "0.15.1", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/rvrz40d17n04dxapsrhrpwis3bbfs1nx-lychee-0.15.1" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "pandoc", + "broken": false, + "derivation": "/nix/store/wm2kcq4fhy0xpgwy8s3rcn22fjwfw9fa-pandoc-cli-3.1.11.1.drv", + "description": "Conversion between documentation formats", + "install_id": "pandoc", + "license": "GPL-2.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "pandoc-cli-3.1.11.1", + "pname": "pandoc", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "cli-3.1.11.1", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/3pvicdf934j5akqd4ikn6vff5ils87k7-pandoc-cli-3.1.11.1" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "pandoc", + "broken": false, + "derivation": "/nix/store/firzgrgizhrpgnzz2w18z1srx9jc4rrg-pandoc-cli-3.1.11.1.drv", + "description": "Conversion between documentation formats", + "install_id": "pandoc", + "license": "GPL-2.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "pandoc-cli-3.1.11.1", + "pname": "pandoc", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "cli-3.1.11.1", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/1hv8pc04p82ydgc7635bljdmpygy1j6k-pandoc-cli-3.1.11.1" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "pandoc", + "broken": false, + "derivation": "/nix/store/aw4zzzr2f97y7jns85p1clyww3l3kvvr-pandoc-cli-3.1.11.1.drv", + "description": "Conversion between documentation formats", + "install_id": "pandoc", + "license": "GPL-2.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "pandoc-cli-3.1.11.1", + "pname": "pandoc", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "cli-3.1.11.1", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/igq51z44zn6m8hfmpidza2cvjv9xll77-pandoc-cli-3.1.11.1" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "pandoc", + "broken": false, + "derivation": "/nix/store/kblqdjs91z5hkkmz3mvd7hgj4nwp4q0l-pandoc-cli-3.1.11.1.drv", + "description": "Conversion between documentation formats", + "install_id": "pandoc", + "license": "GPL-2.0-or-later", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "pandoc-cli-3.1.11.1", + "pname": "pandoc", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "cli-3.1.11.1", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/wiy0p3afb32irskbxrwqqk6d51wqdi53-pandoc-cli-3.1.11.1" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "pngquant", + "broken": false, + "derivation": "/nix/store/7qinmyvzcvv6r49xv0md5cln7gn8hslw-pngquant-3.0.3.drv", + "description": "Tool to convert 24/32-bit RGBA PNGs to 8-bit palette with alpha channel preserved", + "install_id": "pngquant", + "license": "[ GPL-3.0-or-later, HPND, BSD-2-Clause ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "pngquant-3.0.3", + "pname": "pngquant", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.0.3", + "outputs_to_install": [ + "out", + "man" + ], + "outputs": { + "man": "/nix/store/6di2fcz9kddfzll0rzpm1inbivk9n8cg-pngquant-3.0.3-man", + "out": "/nix/store/ldniglz3qmrkgcmhw0ir7iwwlc70r16l-pngquant-3.0.3" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "pngquant", + "broken": false, + "derivation": "/nix/store/brvpabw3h3zi1hyzrbljdyaha72cwnx0-pngquant-3.0.3.drv", + "description": "Tool to convert 24/32-bit RGBA PNGs to 8-bit palette with alpha channel preserved", + "install_id": "pngquant", + "license": "[ GPL-3.0-or-later, HPND, BSD-2-Clause ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "pngquant-3.0.3", + "pname": "pngquant", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.0.3", + "outputs_to_install": [ + "out", + "man" + ], + "outputs": { + "man": "/nix/store/naybg8k679cl07v85zx9dd0y7ly2i26l-pngquant-3.0.3-man", + "out": "/nix/store/r56jz7mp2drjdl3zg9mmp0aw8y6n32il-pngquant-3.0.3" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "pngquant", + "broken": false, + "derivation": "/nix/store/wdq6015zmflv1rxc8p6w4x8z6j4kawc9-pngquant-3.0.3.drv", + "description": "Tool to convert 24/32-bit RGBA PNGs to 8-bit palette with alpha channel preserved", + "install_id": "pngquant", + "license": "[ GPL-3.0-or-later, HPND, BSD-2-Clause ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "pngquant-3.0.3", + "pname": "pngquant", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.0.3", + "outputs_to_install": [ + "out", + "man" + ], + "outputs": { + "man": "/nix/store/i5gndyvlr539jrhjzcf4jw2c6mgpbfaj-pngquant-3.0.3-man", + "out": "/nix/store/g9g5bjg8dligi2k7h91r25mg480zxsl7-pngquant-3.0.3" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "pngquant", + "broken": false, + "derivation": "/nix/store/z2g1a8y75vp71v7svgnma4pp6j9hcxq3-pngquant-3.0.3.drv", + "description": "Tool to convert 24/32-bit RGBA PNGs to 8-bit palette with alpha channel preserved", + "install_id": "pngquant", + "license": "[ GPL-3.0-or-later, HPND, BSD-2-Clause ]", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "pngquant-3.0.3", + "pname": "pngquant", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.0.3", + "outputs_to_install": [ + "out", + "man" + ], + "outputs": { + "man": "/nix/store/jl62563bywg4prhc4nk5lbiszcs76x88-pngquant-3.0.3-man", + "out": "/nix/store/l4pqbslrmjxcmp1rr73b0g7f9nynr3ad-pngquant-3.0.3" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "poetry", + "broken": false, + "derivation": "/nix/store/hgmdvc1wj6ks6brrhjzvwck0brf1pjlf-python3.11-poetry-1.8.3.drv", + "description": "Python dependency management and packaging made easy", + "install_id": "poetry", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "poetry-1.8.3", + "pname": "poetry", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.8.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "dist": "/nix/store/85badakychn4bmpiaqqhlxjnvc4kvl66-python3.11-poetry-1.8.3-dist", + "out": "/nix/store/rxzn7qsm3hpkg4za3z3lcpj514fm7kjv-python3.11-poetry-1.8.3" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "poetry", + "broken": false, + "derivation": "/nix/store/rpw6hnfjbbxnb26vacz1k2i2h98jyl5l-python3.11-poetry-1.8.3.drv", + "description": "Python dependency management and packaging made easy", + "install_id": "poetry", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "poetry-1.8.3", + "pname": "poetry", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.8.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "dist": "/nix/store/swa3b2frx31vrclcs8y77n92fyn4nvwa-python3.11-poetry-1.8.3-dist", + "out": "/nix/store/8402rkyi0s8bsfssmdhq5s183gah79dk-python3.11-poetry-1.8.3" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "poetry", + "broken": false, + "derivation": "/nix/store/16vq0d3j6r9wda5ng73f5p1wcqzkmv05-python3.11-poetry-1.8.3.drv", + "description": "Python dependency management and packaging made easy", + "install_id": "poetry", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "poetry-1.8.3", + "pname": "poetry", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.8.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "dist": "/nix/store/2l6xhvdqfan07ib7lh81rnchnw52360r-python3.11-poetry-1.8.3-dist", + "out": "/nix/store/i01nj2xbsdslq7rh9v58318741y6ics3-python3.11-poetry-1.8.3" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "poetry", + "broken": false, + "derivation": "/nix/store/964q94rf5lai0v3kgyyl352v03r0z9g1-python3.11-poetry-1.8.3.drv", + "description": "Python dependency management and packaging made easy", + "install_id": "poetry", + "license": "MIT", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "poetry-1.8.3", + "pname": "poetry", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "1.8.3", + "outputs_to_install": [ + "out" + ], + "outputs": { + "dist": "/nix/store/4i14gkdh2pjckkvb0yjwhziin9ykf8lb-python3.11-poetry-1.8.3-dist", + "out": "/nix/store/jp27zm8lg646mm4qihs4xr7h2s83ykz0-python3.11-poetry-1.8.3" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "python3", + "broken": false, + "derivation": "/nix/store/wfykwnxr7b3yf52iq1mvrj6xsyki9xh3-python3-3.11.9.drv", + "description": "High-level dynamically-typed programming language", + "install_id": "python", + "license": "Python-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "python3-3.11.9", + "pname": "python3", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.11.9", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/327bf08j5b7l9cnzink3g4vp32y5352j-python3-3.11.9" + }, + "system": "aarch64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "python3", + "broken": false, + "derivation": "/nix/store/k8rfpimvg8943kffa0dhlfc0fcswp6sf-python3-3.11.9.drv", + "description": "High-level dynamically-typed programming language", + "install_id": "python", + "license": "Python-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "python3-3.11.9", + "pname": "python3", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.11.9", + "outputs_to_install": [ + "out" + ], + "outputs": { + "debug": "/nix/store/kl8hjhf6x7dz7brs1ylkxy26qb8argaq-python3-3.11.9-debug", + "out": "/nix/store/q3x28mimkawkdjlvd78jxv3s0fk25vz8-python3-3.11.9" + }, + "system": "aarch64-linux", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "python3", + "broken": false, + "derivation": "/nix/store/23x4lr8y0y7d2gch5vnhmxw927ciqm60-python3-3.11.9.drv", + "description": "High-level dynamically-typed programming language", + "install_id": "python", + "license": "Python-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "python3-3.11.9", + "pname": "python3", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.11.9", + "outputs_to_install": [ + "out" + ], + "outputs": { + "out": "/nix/store/9lcbaggnygcqpgzakib5lwisks8gnn5i-python3-3.11.9" + }, + "system": "x86_64-darwin", + "group": "toplevel", + "priority": 5 + }, + { + "attr_path": "python3", + "broken": false, + "derivation": "/nix/store/9v1jlbifgwgfw0l9v745kifpj9zdpl60-python3-3.11.9.drv", + "description": "High-level dynamically-typed programming language", + "install_id": "python", + "license": "Python-2.0", + "locked_url": "https://github.com/flox/nixpkgs?rev=9f4128e00b0ae8ec65918efeba59db998750ead6", + "name": "python3-3.11.9", + "pname": "python3", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev_count": 647193, + "rev_date": "2024-07-03T18:27:49Z", + "scrape_date": "2024-07-05T00:14:29Z", + "stabilities": [ + "staging", + "unstable" + ], + "unfree": false, + "version": "3.11.9", + "outputs_to_install": [ + "out" + ], + "outputs": { + "debug": "/nix/store/61rzpp3v8dsf6h17h3jnnwlm5hwc2brr-python3-3.11.9-debug", + "out": "/nix/store/6b1fqdwb3g56j5pazv8zkx9qd0mv3wiz-python3-3.11.9" + }, + "system": "x86_64-linux", + "group": "toplevel", + "priority": 5 + } + ] +} diff --git a/.flox/env/manifest.toml b/.flox/env/manifest.toml new file mode 100644 index 0000000..5202da1 --- /dev/null +++ b/.flox/env/manifest.toml @@ -0,0 +1,159 @@ +# +# This is a Flox environment manifest. +# Visit flox.dev/docs/concepts/manifest/ +# or see flox-edit(1), manifest.toml(5) for more information. +# +version = 1 + +# List packages you wish to install in your environment inside +# the `[install]` section. +[install] +coreutils.pkg-path = "coreutils" +findutils.pkg-path = "findutils" +gnutar.pkg-path = "gnutar" +lychee.pkg-path = "lychee" +pandoc.pkg-path = "pandoc" +poetry.pkg-path = "poetry" +python.pkg-path = "python3" +python.version = "3.11.*" +pngquant.pkg-path = "pngquant" +gnused.pkg-path = "gnused" + +# Set environment variables in the `[vars]` section. These variables may not +# reference one another, and are added to the environment without first +# expanding them. They are available for use in the `[profile]` and `[hook]` +# scripts. +[vars] +# message = "Howdy" + +# The `hook.on-activate` script is run by the *bash* shell immediately upon +# activating an environment, and will not be invoked if Flox detects that the +# environment has previously been activated. Variables set by the script will +# be inherited by `[profile]` scripts defined below. Note that any stdout +# generated by the script will be redirected to stderr. +[hook] +on-activate = ''' + +# +# Python environment activation and installation +# +export POETRY_VIRTUALENVS_PATH="$FLOX_ENV_CACHE/poetry/virtualenvs" +if [ -z "$(poetry env info --path)" ]; then + poetry env use python &> /dev/null +fi +source "$(poetry env info --path)/bin/activate" &> /dev/null +poetry install --quiet &> /dev/null +echo "1. 👉 Python environment activated" + + +# +# Set the version of Flox to the latest stable version +# +export FLOX_VERSION=$(curl -s https://downloads.flox.dev/by-env/stable/LATEST_VERSION | xargs) +echo "2. 👉 FLOX_VERSION set to $FLOX_VERSION" + + +# +# Copy and process Flox man pages +# +export FLOX_SRC_ARCHIVE="$FLOX_ENV_CACHE/flox-v$FLOX_VERSION.tar.gz" +if [ ! -e "$FLOX_SRC_ARCHIVE" ]; then + curl -sL "https://github.com/flox/flox/archive/refs/tags/v$FLOX_VERSION.tar.gz" -o $FLOX_SRC_ARCHIVE +fi +echo "3. 👉 Downloaded Flox source archive" + +export FLOX_SRC_DIR="$FLOX_ENV_CACHE/flox-src-$FLOX_VERSION" +if [ ! -d "$FLOX_SRC_DIR" ]; then + mkdir -p $FLOX_SRC_DIR + tar -zx --strip-components=1 --file=$FLOX_SRC_ARCHIVE --directory=$FLOX_SRC_DIR; +fi +echo "4. 👉 Extracted Flox source archive" + +export FLOX_MAN_PAGES_DIR="$PWD/docs/reference/command-reference" +if [ -d "$FLOX_MAN_PAGES_DIR" ]; then + rm -rf "$FLOX_MAN_PAGES_DIR/*" +fi +mkdir -p $FLOX_MAN_PAGES_DIR +pushd "$FLOX_SRC_DIR/cli/flox/doc" > /dev/null + find . -maxdepth 1 -iname "*.md" -exec \ + sh -c " + pandoc -t gfm \ + -L $FLOX_SRC_DIR/pkgs/flox-manpages/pandoc-filters/include-files.lua \ + --standalone \ + {} | + # remove current title + tail -n +6 | + # indent all markdown levels by one, e.g. "#" -> "##" + sed -e 's/^#/##/' > \"$FLOX_MAN_PAGES_DIR/{}\" + " \; +popd > /dev/null +pushd $FLOX_MAN_PAGES_DIR > /dev/null + for commandPage in ./*.md; do + # All other man page files have names of the form + # 'flox*.md' + if [ "$commandPage" = "./manifest.toml.md" ]; then + continue + fi + command=$(basename $commandPage .md | sed -e "s|-| |g") + echo -e "\n# \`$command\` command\n$(cat $commandPage)" > $commandPage + echo -e "---\n$(cat $commandPage)" > $commandPage + echo -e "description: Command reference for the \`$command\` command.\n$(cat $commandPage)" > $commandPage + echo -e "title: $command\n$(cat $commandPage)" > $commandPage + echo -e "---\n$(cat $commandPage)" > $commandPage + done + + manifestPage="manifest.toml.md" + echo -e "\n# \`manifest.toml\`\n$(cat $manifestPage)" > $manifestPage + echo -e "---\n$(cat $manifestPage)" > $manifestPage + echo -e "description: Reference for the manifest.toml format.\n$(cat $manifestPage)" > $manifestPage + echo -e "title: manifest.toml\n$(cat $manifestPage)" > $manifestPage + echo -e "---\n$(cat $manifestPage)" > $manifestPage +popd > /dev/null +echo "5. 👉 Copy man pages from Flox source archive" + +echo "" +echo " ╔═══════════════════════════════════╗" +echo " ║ ║" +echo " ║ To build a production docs run: ║" +echo " ║ > mkdocs build ║" +echo " ║ ║" +echo " ║ To write docs locally run: ║" +echo " ║ > mkdocs serve ║" +echo " ║ ║" +echo " ╚═══════════════════════════════════╝" +echo "" + +''' + +# Scripts defined in the `[profile]` section are *sourced* by *your shell* and +# inherit environment variables set in the `[vars]` section and by `[hook]` scripts. +# The `profile.common` script is sourced by all shells and special care should be +# taken to ensure compatibility with all shells, after which exactly one of +# `profile.{bash,fish,tcsh,zsh}` is sourced by the corresponding shell. +[profile] +bash = ''' + source "$(poetry env info --path)/bin/activate" +''' +fish = ''' + source "$(poetry env info --path)/bin/activate.fish" +''' +tcsh = ''' + source "$(poetry env info --path)/bin/activate.csh" +''' +zsh = ''' + source "$(poetry env info --path)/bin/activate" +''' + +# The `[services]` section of the manifest allows you to define services. +# Services defined here use the packages provided by the `[install]` section +# and any variables you've defined in the `[vars]` section or `hook.on-activate` script. +[services] +mkdocs.command = "mkdocs serve" +mkdocs.is-daemon = false + +# Additional options can be set in the `[options]` section. Refer to +# manifest.toml(5) for a list of available options. +[options] +systems = ["aarch64-darwin", "aarch64-linux", "x86_64-darwin", "x86_64-linux"] +# Uncomment to disable CUDA detection. +cuda-detection = false diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f454377..3bcf48d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,40 +30,24 @@ jobs: with: fetch-depth: 0 - - name: "Install newer Nix" - uses: "cachix/install-nix-action@V27" - - - name: "Setup" - uses: "./.github/actions/common-setup" - with: - GITHUB_ACCESS_TOKEN: "${{ secrets.MANAGED_GITHUB_ACCESS_TOKEN }}" - SUBSTITUTER: "${{ vars.MANAGED_CACHE_PRIVATE_S3_BUCKET }}" - SUBSTITUTER_KEY: "${{ secrets.MANAGED_CACHE_PRIVATE_SECRET_KEY }}" - AWS_ACCESS_KEY_ID: "${{ secrets.MANAGED_CACHE_PRIVATE_AWS_ACCESS_KEY_ID }}" - AWS_SECRET_ACCESS_KEY: "${{ secrets.MANAGED_CACHE_PRIVATE_AWS_SECRET_ACCESS_KEY }}" - SSH_KEY: "${{ secrets.MANAGED_FLOXBOT_SSH_KEY }}" + - name: "Install Flox" + uses: "flox/install-flox-action@main" - name: "Build" - run: | - nix build -L \ - --extra-experimental-features "nix-command flakes" \ - '.#default' - mkdir -p ./public/docs - cp -R ./result/* ./public/docs/ - chmod -R +w ./public/docs - cp netlify.toml ./public/netlify.toml - - - name: "Check external links" - run: | - nix run \ - --extra-experimental-features "nix-command flakes" \ - 'nixpkgs#lychee' -- docs -nv --exclude file:// --exclude-mail --exclude s3:// --exclude https://alpha.floxsdlc.com - - - name: "Check code examples" - run: | - nix build -L \ - --extra-experimental-features "nix-command flakes" \ - '.#check-code-examples' + uses: "flox/activate-action@main" + with: + command: | + mkdocs build + mkdir -p ./public/docs + cp -R ./site/* ./public/docs/ + chmod -R +w ./public/docs + cp netlify.toml ./public/netlify.toml + + # TODO: need to run service in order to test links + #- name: "Check external links" + # uses: "flox/activate-action@main" + # with: + # command: "./check_links.sh" - name: "Publish to Netlify" if: ${{ github.repository_owner == 'flox' }} diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml new file mode 100644 index 0000000..545e8ea --- /dev/null +++ b/.github/workflows/update.yml @@ -0,0 +1,36 @@ +name: "Update Flox environment" + +on: + workflow_dispatch: + schedule: + - cron: "30 0 * * 1" + +jobs: + + upgrade: + name: "Upgrade Flox environment" + runs-on: "ubuntu-latest" + + steps: + - name: "Checkout" + uses: "actions/checkout@v4" + + - name: "Install flox" + uses: "flox/install-flox-action@main" + + - name: "Run upgrade" + run: "flox -vvv upgrade" + + - name: "Create Pull Request" + uses: "peter-evans/create-pull-request@v6" + with: + token: "${{ secrets.MANAGED_FLOXBOT_GITHUB_ACCESS_TOKEN_REPO_SCOPE }}" + add-paths: ".flox" + commit-message: "chore: Update Flox environment" + commiter: "FloxBot " + author: "FloxBot " + branch: "chore-update-flox-environment" + delete-branch: true + title: "chore: Update Flox environment" + body: "This PR was automatically created by [Update workflow](https://github.com/flox/floxdocs/actions/workflows/update.yml)." + labels: "team-developer-support" diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..2423779 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,10 @@ + +build: + stage: build + image: ghcr.io/flox/flox:latest + script: + - flox activate -- mkdocs build + artifacts: + name: floxdocs + paths: + - site/ diff --git a/README.md b/README.md index 0e4864e..23a92d9 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,20 @@ -# flox Documentation +# flox documentation Live at: [flox.dev/docs](https://flox.dev/docs). ## Usage ``` -$ nix develop -Welcome to floxDocs +$ flox activate +✅ You are now using the environment 'floxdocs'. -For local preview run: - mkdocs serve +λ (floxdocs) $ flox services start mkdocs +✅ Service 'mkdocs' started. -For production build run: - mkdocs build - -Happy documenting! - -flox $ mkdocs serve ``` +Once mkdocs service started you can preview the documentation at +`https://127.0.0.1:8000`. + ## Guidelines @@ -75,18 +72,13 @@ summary: "#") so that the title can be governed by the master index in mkdocs.yml. The document will inherit the title from the index. -## Hydra Server -Automated building and publishing is controlled by a -[hydra server](https://hydra.floxsdlc.com) and a -[GitHub Action](https://github.com/flox/floxdocs/blob/main/.github/workflows/ci.yml). - ## External link checking You can run a check for external link breakage with this command ``` -lychee docs -nv --exclude file:// --exclude-mail +$ flox activate -- ./check_links.sh ``` ## Update mkdocs-material-insiders archive @@ -98,3 +90,4 @@ $ ./env/bin/pip install --upgrade build twine $ ./env/bin/python -m build $ cp dist/mkdocs_material-*.tar.gz path/to/floxdocs ``` + diff --git a/check_links.sh b/check_links.sh new file mode 100755 index 0000000..482f5a6 --- /dev/null +++ b/check_links.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +set -euo pipefail + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +lychee $SCRIPT_DIR/site \ + -nv \ + --exclude "file://" \ + --exclude "s3://" \ + --exclude "https://alpha.floxsdlc.com" diff --git a/docs/cookbook/languages/rust.md b/docs/cookbook/languages/rust.md index 7a5b189..92a8841 100644 --- a/docs/cookbook/languages/rust.md +++ b/docs/cookbook/languages/rust.md @@ -27,6 +27,8 @@ rustfmt.pkg-path = "rustfmt" rustfmt.pkg-group = "rust-toolchain" rust-lib-src.pkg-path = "rustPlatform.rustLibSrc" rust-lib-src.pkg-group = "rust-toolchain" +libiconv.pkg-path = "libiconv" +libiconv.systems = ["aarch64-darwin", "x86_64-darwin"] # rust-analyzer goes in its own group because it's updated # on a different cadence from the compiler and doesn't need diff --git a/docs/install-flox.md b/docs/install-flox.md index 82ed8f3..4a189f3 100644 --- a/docs/install-flox.md +++ b/docs/install-flox.md @@ -831,11 +831,11 @@ Here's how to **completely remove `flox` from your system**. Or, if you've declared Flox using a flake, remove the Flake [flox]: https://flox.dev -[flox_x86_64_deb_install]: https://downloads.flox.dev/by-env/stable/deb/flox-1.3.1.x86_64-linux.deb -[flox_aarch64_deb_install]: https://downloads.flox.dev/by-env/stable/deb/flox-1.3.1.aarch64-linux.deb -[flox_x86_64_rpm_install]: https://downloads.flox.dev/by-env/stable/rpm/flox-1.3.1.x86_64-linux.rpm -[flox_aarch64_rpm_install]: https://downloads.flox.dev/by-env/stable/rpm/flox-1.3.1.aarch64-linux.rpm -[flox_mac_m1_install]: https://downloads.flox.dev/by-env/stable/osx/flox-1.3.1.aarch64-darwin.pkg -[flox_mac_intel_install]: https://downloads.flox.dev/by-env/stable/osx/flox-1.3.1.x86_64-darwin.pkg +[flox_x86_64_deb_install]: https://downloads.flox.dev/by-env/stable/deb/flox-{{ FLOX_VERSION }}.x86_64-linux.deb +[flox_aarch64_deb_install]: https://downloads.flox.dev/by-env/stable/deb/flox-{{ FLOX_VERSION }}.aarch64-linux.deb +[flox_x86_64_rpm_install]: https://downloads.flox.dev/by-env/stable/rpm/flox-{{ FLOX_VERSION }}.x86_64-linux.rpm +[flox_aarch64_rpm_install]: https://downloads.flox.dev/by-env/stable/rpm/flox-{{ FLOX_VERSION }}.aarch64-linux.rpm +[flox_mac_m1_install]: https://downloads.flox.dev/by-env/stable/osx/flox-{{ FLOX_VERSION }}.aarch64-darwin.pkg +[flox_mac_intel_install]: https://downloads.flox.dev/by-env/stable/osx/flox-{{ FLOX_VERSION }}.x86_64-darwin.pkg [flox_discourse]: https://discourse.flox.dev [release_notes]: https://github.com/flox/flox/releases diff --git a/docs/tutorials/ci-cd.md b/docs/tutorials/ci-cd.md new file mode 100644 index 0000000..be58170 --- /dev/null +++ b/docs/tutorials/ci-cd.md @@ -0,0 +1,114 @@ +--- +title: Continuous integration/delivery (CI/CD) +description: Integrate with yout favorite CI/CD platform. +--- + +# Continuous integration/delivery (CI/CD) + +Continuous integration (CI) and Continuous delivery (CD) is essetial in todays +software development cycle. Flox environments can take you CI/CD pipelines to +the next level, making them robust and reproducible. Let us look how can you +use Flox with some of the CI/CD platforms. + + +## Github Actions + +There are two actions that you can use in a Github workflow: +- `flox/install-flox-action` (installs Flox CLI) +- `flox/activate-action` (runs command in the context of Flox environment) + +An example GitHub workflow: + +```yaml title=".github/workflows/ci.yml" +name: "CI" + +... # (1)! + +jobs: + + build: + name: "Build website" + runs-on: "ubuntu-latest" + steps: + - name: "Checkout" + uses: "actions/checkout@v4" + + - name: "Install Flox" # (2)! + uses: "flox/install-flox-action@2" + + - name: "Build" # (3)! + uses: "flox/activate-action@1" + with: + command: npm run build + + ... + +``` + +1. You are looking at an example project, your project will probably look a + little different. Important parts of how to integrate Flox with Github + Actions are highlighted bellow. +2. `flox/install-flox-action` will install latest version Flox. +3. `flox/activate-action` allows you to run a command inside the Flox + environment. + + +## CircleCI + +There is a [Flox Orb](https://github.com/flox/flox-orb) that can help you use +Flox inside CircleCI. + +An example CircleCI workflow: + + +```yaml title=".circleci/config.yml" +version: 2.1 + +orbs: + flox: flox/orb@1.0.0 + +jobs: + build: + machine: + image: ubuntu-2204:current + steps: + - checkout + - flox/install # (1)! + - flox/activate: # (2)! + command: "npm run build" +``` + +1. The `install` command will install the latest Flox version. You can change + the `channel` and `version` option which allows you to select excatly which + version of Flox to install. +2. The `activate` command runs a command in the context of a Flox environment. + + +## GitLab + +An example GitLab pipeline: + +```yaml title=".gitlab-ci.yml" +build: + stage: build + image: ghcr.io/flox/flox:latest # (1)! + script: + - flox activate -- npm run build # (2)! +``` + +1. Use `ghcr.io/flox/flox` that already comes with Flox. +2. Run command in a Flox environment. + + +## Where to next? + +- :simple-readme:{ .flox-purple .flox-heart } [Sharing environments][sharing_guide] + +- :simple-readme:{ .flox-purple .flox-heart } [Layering multiple environments][layering_guide] + +- :simple-readme:{ .flox-purple .flox-heart } [Customizing the shell hook][customizing_guide] + + +[sharing_guide]: ./sharing-environments.md +[layering_guide]: ./layering-multiple-environments.md +[customizing_guide]: ./customizing-environments.md diff --git a/docs/tutorials/layering-multiple-environments.md b/docs/tutorials/layering-multiple-environments.md index dc68a10..e9d2e75 100644 --- a/docs/tutorials/layering-multiple-environments.md +++ b/docs/tutorials/layering-multiple-environments.md @@ -80,10 +80,14 @@ flox [default] $ vim ~/.zshrc Add the following line to the bottom of the file: -``` bash +``` bash title="For bash .bashrc or zsh .zshrc" eval "$(flox activate --dir ~)" ``` +``` fish title="For fish config.fish" +eval (flox activate --dir=$HOME) | source +``` + Save and exit the file. Open a new terminal window and you should see the `default` environment is now active! diff --git a/docs/tutorials/sharing-environments.md b/docs/tutorials/sharing-environments.md index 5000f7f..329b660 100644 --- a/docs/tutorials/sharing-environments.md +++ b/docs/tutorials/sharing-environments.md @@ -142,12 +142,16 @@ Edit your rc file using an editor of choice. $ vim ~/.zshrc ``` -Append this line to your rc file at the bottom. +Append this line to your shell's rc file or `fish.config` at the bottom. -``` console +``` bash title="For bash .bashrc or zsh .zshrc" eval "$(flox activate -r youruser/example-project)" ``` +``` fish title="For fish config.fish" +eval (flox activate -r youruser/example-project) | source +``` + Don't forget to open a new terminal window or, for zsh, reload your RC file. ``` console $ source ~/.zshrc diff --git a/docs/tutorials/tutorial-installing-flox-from-its-repository-on-debian-and-red-hat.mdx b/docs/tutorials/tutorial-installing-flox-from-its-repository-on-debian-and-red-hat.mdx new file mode 100644 index 0000000..c56de86 --- /dev/null +++ b/docs/tutorials/tutorial-installing-flox-from-its-repository-on-debian-and-red-hat.mdx @@ -0,0 +1,187 @@ +This document describes a practical method for installing Flox from its repositories. Depending on your requirements, this approach may make it easier to create and manage scripts to install Flox on local systems or build it into containers. In addition, systems configured using this method will receive Flox updates as they are released. + +When you [download and install a Flox `.deb` or `.rpm` package](https://flox.dev/docs/install-flox/), the installer performs these steps for you. But you can easily script the steps below to automate this process. + +These instructions cover the process of installing from Flox’s repository on modern Debian- and Red Hat-based Linux distributions, such as Ubuntu and Linux Mint (Debian), or Fedora, RHEL, and Rocky Linux (Red Hat). They also include an alternate method for installing Flox on Linux systems, such as older versions of CentOS, where `yum` is the default package manager. + + +## 1. Installation overview + +Adding Flox's repository to a Debian- or Red Hat-based Linux system’s sources involves the following steps: + +- Importing Flox’s GPG keys to verify authenticity; +- Configuring the system’s package manager to recognize Flox’s repository; and +- Installing Flox. + + +### Debian-based distros + +To perform these steps on a Debian-based distribution using `apt`, do the following. + +First, download and import Flox’s GPG keyring. + +``` +wget -qO - https://downloads.flox.dev/by-env/stable/deb/flox-archive-keyring.gpg | sudo tee /etc/apt/trusted.gpg.d/flox.gpg >/dev/null +``` + +Next, add the Flox repository to ‘/etc/apt/sources.list.d/flox.list’. + +``` +sudo add-apt-repository -S "deb https://downloads.flox.dev/by-env/stable/deb/ stable/" +``` + +Finally, update[1] and install Flox. + +``` +sudo apt update && sudo apt install flox -y +``` + + +### Red Hat-based distros + +To perform these steps on modern Red Hat-based distributions that use `dnf`, do the following: + +First, download Flox’s GPG keyring. + +``` +sudo rpm --import https://downloads.flox.dev/by-env/stable/rpm/flox-archive-keyring.asc +``` + +Next, add Flox’s repository to ‘/etc/yum.repos.d/flox.repo’. + +``` +sudo dnf config-manager --add-repo https://downloads.flox.dev/by-env/stable/rpm +``` + +Finally, install Flox. + +``` +sudo dnf install flox +``` + + +## 2. Installing from Flox's repository using “yum” + +In CentOS 8 and later, as with Fedora, RHEL, Rocky Linux, and other modern Red Hat-based systems, `dnf` is the default package manager. However, CentOS 7 and earlier ship with `yum` as the default, and `dnf` is not available. For obvious reasons, the method described above won’t work. + +This section describes an alternative method for installing from Flox’s repository using `rpm` and `yum`. + +Note: even though the method outlined here deals specifically with older versions of CentOS, it _should_ also work on any Red Hat-based distribution for which `yum` is the default. + +To install Flox from its repository using `yum`, do the following: + +First, download and import Flox’s GPG key. + +``` +sudo rpm --import https://downloads.flox.dev/by-env/stable/rpm/flox-archive-keyring.asc +``` + +Next, configure the Flox repository and install Flox with yum. + +``` +sudo yum --repofrompath=flox,https://downloads.flox.dev/by-env/stable/rpm install flox +``` + + +## 3. Removing the Flox repository + +To remove Flox’s repository from a Linux system’s sources, do the following. + + +### Debian-based systems + +By default, the Flox repository’s source list is in `/etc/apt/sources.list.d/flox.list`. However, you can double-check this by running the following command: + +``` +grep -r 'flox' /etc/apt/sources.list /etc/apt/sources.list.d/ +``` + +Once you’ve confirmed the existence and location of this file, delete it. + +``` +sudo rm /etc/apt/sources.list.d/flox.list +``` + +Finally, update your package list. + +``` +sudo apt update +``` + + +### Red Hat-based systems + +By default, the Flox repository’s source list is in `/etc/yum/repos.d/flox.repo`. However, you can double-check this by running the following command: + +``` +sudo dnf repolist | grep flox +``` + +Delete the `flox.repo` file from `/etc/yum/repos.d/`. + +``` +sudo rm /etc/yum/repos.d/flox.repo +``` + +Finally, clean the `dnf` cache + +``` +sudo dnf clean all +``` + + +[1] On more recent versions of Debian and Ubuntu (since at least Debian Buster and Ubuntu 20.04), it is no longer necessary to run `sudo apt update` after adding a repository via `sudo add-apt-repository`. + + +## 4. Installing from Flox's repository on SUSE/OpenSUSE + +This should work, because OpenSUSE/SUSE use yum, but doesn't. The long story is that you can use `rpm` to install the GPG key and then use `yum` to add the repo. + +``` +sudo rpm --import https://downloads.flox.dev/by-env/stable/rpm/flox-archive-keyring.asc +sudo zypper addrepo https://downloads.flox.dev/by-env/stable/rpm flox +``` + +If you then `zypper refresh`, `zypper` successfully queries the Flox repo. But when you `zypper install flox`, this happens: + +``` +daedalus@localhost:~$ sudo zypper refresh +Repository 'flox' is up to date. +Repository 'Update repository of openSUSE Backports' is up to date. +Repository 'Non-OSS Repository' is up to date. +Repository 'Open H.264 Codec (openSUSE Leap)' is up to date. +Repository 'Main Repository' is up to date. +Repository 'Update repository with updates from SUSE Linux Enterprise 15' is up to date. +Repository 'Main Update Repository' is up to date. +Repository 'Update Repository (Non-Oss)' is up to date. +All repositories have been refreshed. +daedalus@localhost:~$ sudo zypper install flox +Loading repository data... +Reading installed packages... +Resolving package dependencies... +The following NEW package is going to be installed: + flox +1 new package to install. +Overall download size: 103.1 MiB. Already cached: 0 B. After the operation, additional 103.1 MiB will be used. +Continue? [y/n/v/...? shows all options] (y): y +Retrieving: flox-1.2.3-1.x86_64 (flox) (1/1), 103.1 MiB +Retrieving: flox-1.2.3+1722959675.x86_64-linux.rpm ................................................................................................................................[not found] +File './flox-1.2.3+1722959675.x86_64-linux.rpm' not found on medium 'https://downloads.flox.dev/by-env/stable/rpm' +Abort, retry, ignore? [a/r/i/...? shows all options] (a): a +Problem occurred during or after installation or removal of packages: +Installation has been aborted as directed. +Please see the above error message for a hint. +``` + +I've tried manually creating an entry for the Flox repo in `/etc/zypp/repos.d/flox.repo`: + +``` +[flox] +name=Flox Repository +baseurl=https://downloads.flox.dev/by-env/stable/rpm +enabled=1 +gpgcheck=1 +gpgkey=https://downloads.flox.dev/by-env/stable/rpm/flox-archive-keyring.asc +``` + +That doesn't work either. diff --git a/flake.lock b/flake.lock deleted file mode 100644 index e51bdfb..0000000 --- a/flake.lock +++ /dev/null @@ -1,443 +0,0 @@ -{ - "nodes": { - "crane": { - "inputs": { - "nixpkgs": [ - "flox", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1703439018, - "narHash": "sha256-VT+06ft/x3eMZ1MJxWzQP3zXFGcrxGo5VR2rB7t88hs=", - "owner": "ipetkov", - "repo": "crane", - "rev": "afdcd41180e3dfe4dac46b5ee396e3b12ccc967a", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "fenix": { - "inputs": { - "nixpkgs": [ - "flox", - "nixpkgs" - ], - "rust-analyzer-src": "rust-analyzer-src" - }, - "locked": { - "lastModified": 1713939967, - "narHash": "sha256-3YQSEYvAIHE40tx5nM9dgeEe0gsHjf15+gurUpyDYNw=", - "owner": "nix-community", - "repo": "fenix", - "rev": "5c3ff469526a6ca54a887fbda9d67aef4dd4a921", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1685518550, - "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { - "inputs": { - "systems": "systems_3" - }, - "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flox": { - "inputs": { - "crane": "crane", - "fenix": "fenix", - "nixpkgs": "nixpkgs", - "nixpkgs-bear": "nixpkgs-bear", - "nixpkgs-process-compose": "nixpkgs-process-compose", - "pre-commit-hooks": "pre-commit-hooks", - "sqlite3pp": "sqlite3pp" - }, - "locked": { - "lastModified": 1724089105, - "narHash": "sha256-dnsnZKSpK8Iug70TXfUbiyoInT98koDUpv2wo9KCMP8=", - "ref": "refs/tags/v1.3.0", - "rev": "bc686dd5fac31e82dac56820946a93fa226a165c", - "revCount": 1592, - "type": "git", - "url": "ssh://git@github.com/flox/flox" - }, - "original": { - "ref": "refs/tags/v1.3.0", - "type": "git", - "url": "ssh://git@github.com/flox/flox" - } - }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "flox", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "nix-github-actions": { - "inputs": { - "nixpkgs": [ - "poetry2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1698974481, - "narHash": "sha256-yPncV9Ohdz1zPZxYHQf47S8S0VrnhV7nNhCawY46hDA=", - "owner": "nix-community", - "repo": "nix-github-actions", - "rev": "4bb5e752616262457bc7ca5882192a564c0472d2", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-github-actions", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1704300003, - "narHash": "sha256-FRC/OlLVvKkrdm+RtrODQPufD0vVZYA0hpH9RPaHmp4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ab5fd150146dcfe41fda501134e6503932cc8dfd", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "release-23.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-bear": { - "locked": { - "lastModified": 1705957679, - "narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "9a333eaa80901efe01df07eade2c16d183761fa3", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "release-23.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-process-compose": { - "locked": { - "lastModified": 1722415718, - "narHash": "sha256-5US0/pgxbMksF92k1+eOa8arJTJiPvsdZj9Dl+vJkM4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c3392ad349a5227f4a3464dce87bcc5046692fce", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1685801374, - "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c37ca420157f4abc31e26f436c1145f8951ff373", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-23.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1699838902, - "narHash": "sha256-gtaGIer0Fg7QUvsUFsKIjrns32lhnd+o6FvIyokzcKQ=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "6c986b681d6b35affcc4eda42db63595ab01860e", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "master", - "repo": "nixpkgs", - "type": "github" - } - }, - "poetry2nix": { - "inputs": { - "flake-utils": "flake-utils_3", - "nix-github-actions": "nix-github-actions", - "nixpkgs": "nixpkgs_2", - "systems": "systems_4", - "treefmt-nix": "treefmt-nix" - }, - "locked": { - "lastModified": 1708175019, - "narHash": "sha256-B7wY2pNrLc3X9uYRo1LUmVzI6oH6fX8oi+96GdUpayU=", - "owner": "nix-community", - "repo": "poetry2nix", - "rev": "403d923ea8e2e6cedce3a0f04a9394c4244cb806", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "poetry2nix", - "type": "github" - } - }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": "flake-compat", - "flake-utils": "flake-utils_2", - "gitignore": "gitignore", - "nixpkgs": [ - "flox", - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable" - }, - "locked": { - "lastModified": 1703939133, - "narHash": "sha256-Gxe+mfOT6bL7wLC/tuT2F+V+Sb44jNr8YsJ3cyIl4Mo=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "9d3d7e18c6bc4473d7520200d4ddab12f8402d38", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "flox": "flox", - "nixpkgs": [ - "poetry2nix", - "nixpkgs" - ], - "poetry2nix": "poetry2nix" - } - }, - "rust-analyzer-src": { - "flake": false, - "locked": { - "lastModified": 1713801366, - "narHash": "sha256-VmzP5s59kb6//mj+ES+hslTLuugjd7OluGIXXcwuyHg=", - "owner": "rust-lang", - "repo": "rust-analyzer", - "rev": "e31c9f3fe11148514c3ad254b639b2ed7dbe35de", - "type": "github" - }, - "original": { - "owner": "rust-lang", - "ref": "nightly", - "repo": "rust-analyzer", - "type": "github" - } - }, - "sqlite3pp": { - "inputs": { - "nixpkgs": [ - "flox", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1691154329, - "narHash": "sha256-nMtwh/G1/Zt70rl540jn+nFVJuju0NdXJwk2Y3pNB+k=", - "owner": "aakropotkin", - "repo": "sqlite3pp", - "rev": "775e48a6c7a63a51585cd628f6c9816ba634a246", - "type": "github" - }, - "original": { - "owner": "aakropotkin", - "repo": "sqlite3pp", - "type": "github" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_4": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "id": "systems", - "type": "indirect" - } - }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "poetry2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1699786194, - "narHash": "sha256-3h3EH1FXQkIeAuzaWB+nK0XK54uSD46pp+dMD3gAcB4=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "e82f32aa7f06bbbd56d7b12186d555223dc399d1", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/flake.nix b/flake.nix deleted file mode 100644 index 9ce5739..0000000 --- a/flake.nix +++ /dev/null @@ -1,155 +0,0 @@ -{ - description = "Flox documentation - flox.dev/docs"; - - nixConfig.extra-substituters = [ - "https://cache.flox.dev" - "s3://flox-cache-private" - ]; - nixConfig.extra-trusted-public-keys = [ - "flox-cache-public-1:7F4OyH7ZCnFhcze3fJdfyXYLQw/aV7GEed86nQ7IsOs=" - "flox-cache-private-1:11kWWMbsoFjVfz0lSvRr8PRkFShcmvHDfnSGphvWKnk=" - ]; - - inputs.nixpkgs.follows = "poetry2nix/nixpkgs"; - inputs.flake-utils.url = "github:numtide/flake-utils"; - inputs.poetry2nix.url = "github:nix-community/poetry2nix"; - - inputs.flox.url = "git+ssh://git@github.com/flox/flox?ref=refs/tags/v1.3.0"; - - outputs = { - self, - nixpkgs, - flake-utils, - poetry2nix, - flox, - }: - flake-utils.lib.eachDefaultSystem - (system: let - pkgs = nixpkgs.legacyPackages.${system}; - - inherit (pkgs) stdenv writeScriptBin runtimeShell lib fd gnused pandoc lychee poetry pngquant; - - inherit (poetry2nix.lib.mkPoetry2Nix {inherit pkgs;}) mkPoetryEnv overrides; - - pyEnv = mkPoetryEnv { - projectDir = ./.; - overrides = overrides.withDefaults (import ./overrides.nix); - }; - - pyProject = lib.importTOML ./pyproject.toml; - - checkCodeExamplesDeps = with pkgs; [ - git - jq - openssh - ]; - in { - packages.check-code-examples = writeScriptBin "check-code-examples" '' - #!${runtimeShell} - export PATH=${lib.makeBinPath checkCodeExamplesDeps}:$PATH - exec ${pyEnv}/bin/tesh --verbose --no-debug \ - $PWD/docs/index.md \ - $PWD/docs/cookbook/validate-identical.md \ - $PWD/docs/tutorials/build-container-images.md \ - $PWD/docs/tutorials/managed-environments.md - ''; - packages.default = stdenv.mkDerivation rec { - name = pyProject.tool.poetry.name; - version = pyProject.tool.poetry.version; - - src = self; - - FLOX_VERSION = flox.packages.${system}.flox-cli.version; - - postPatch = '' - commandReferenceDir="$PWD/docs/reference/command-reference" - mkdir -p "$commandReferenceDir" - # includes in .md are relative - pushd "${flox}/cli/flox/doc" - fd "flox.*\.md" ./ -x \ - sh -c " - pandoc -t gfm \ - -L ${flox}/pkgs/flox-manpages/pandoc-filters/include-files.lua \ - --standalone \ - {} | - # remove current title - tail -n +6 | - # indent all markdown levels by one, e.g. "#" -> "##" - sed -e 's/^#/##/' > \"$commandReferenceDir/{/.}.md\" - " - fd "manifest.toml.md" ./ -x \ - sh -c " - pandoc -t gfm \ - -L ${flox}/pkgs/flox-manpages/pandoc-filters/include-files.lua \ - --standalone \ - {} | - # remove current title - tail -n +6 | - # indent all markdown levels by one, e.g. "#" -> "##" - sed -e 's/^#/##/' > \"$commandReferenceDir/{/.}.md\" - " - popd - - pushd $commandReferenceDir - for commandPage in ./*.md; do - # All other man page files have names of the form - # 'flox*.md' - if [ "$commandPage" = "./manifest.toml.md" ]; then - continue - fi - command=$(basename $commandPage .md | sed -e "s|-| |g") - echo -e "\n# \`$command\` command\n$(cat $commandPage)" > $commandPage - echo -e "---\n$(cat $commandPage)" > $commandPage - echo -e "description: Command reference for the \`$command\` command.\n$(cat $commandPage)" > $commandPage - echo -e "title: $command\n$(cat $commandPage)" > $commandPage - echo -e "---\n$(cat $commandPage)" > $commandPage - done - - manifestPage="manifest.toml.md" - echo -e "\n# \`manifest.toml\`\n$(cat $manifestPage)" > $manifestPage - echo -e "---\n$(cat $manifestPage)" > $manifestPage - echo -e "description: Reference for the manifest.toml format.\n$(cat $manifestPage)" > $manifestPage - echo -e "title: manifest.toml\n$(cat $manifestPage)" > $manifestPage - echo -e "---\n$(cat $manifestPage)" > $manifestPage - popd - ''; - - shellHook = - postPatch - + '' - echo Welcome to floxDocs - echo - echo For local preview run: - echo mkdocs serve - echo - echo For production build run: - echo mkdocs build - echo - echo Happy documenting! - ''; - - nativeBuildInputs = [ - pyEnv - poetry - gnused - pandoc - fd - lychee - ]; - - buildInputs = [ - pngquant - ]; - - buildPhase = '' - mkdocs build - ''; - - installPhase = '' - lastmod=$(date -d @${builtins.toString self.lastModified} +"%Y-%m-%d") - sed -i -e "s|1980-01-01|$lastmod|" site/sitemap.xml - cp -R site $out - ''; - }; - }); -} diff --git a/mkdocs.yml b/mkdocs.yml index 521c0f3..328012a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -40,6 +40,7 @@ nav: - Layering multiple environments: tutorials/layering-multiple-environments.md - Customizing the environment shell hook: tutorials/customizing-environments.md - Designing multi-arch environments: tutorials/multi-arch-environments.md + - Continuous integration/delivery (CI/CD): tutorials/ci-cd.md - Concepts: - Environments: concepts/environments.md - Environment manifest: concepts/manifest.md @@ -55,6 +56,17 @@ nav: - reference/command-reference/flox.md - ... | flat | reference/command-reference/* +strict: true +validation: + nav: + omitted_files: info + not_found: warn + absolute_links: info + links: + not_found: warn + absolute_links: warn + unrecognized_links: warn + extra_css: - css/extra.css @@ -261,10 +273,6 @@ plugins: # https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin - awesome-pages - # Include directory to navigation - # https://github.com/mysiki/mkdocs_include_dir_to_nav - - include_dir_to_nav - # Enables markdown files to be included in other markdown files # https://github.com/mondeja/mkdocs-include-markdown-plugin - include-markdown diff --git a/poetry.lock b/poetry.lock index 9c260b2..450bcae 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,13 +2,13 @@ [[package]] name = "babel" -version = "2.14.0" +version = "2.16.0" description = "Internationalization utilities" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"}, - {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"}, + {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, + {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, ] [package.extras] @@ -16,24 +16,24 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] [[package]] name = "bracex" -version = "2.4" +version = "2.5" description = "Bash style brace expander." optional = false python-versions = ">=3.8" files = [ - {file = "bracex-2.4-py3-none-any.whl", hash = "sha256:efdc71eff95eaff5e0f8cfebe7d01adf2c8637c8c92edaf63ef348c241a82418"}, - {file = "bracex-2.4.tar.gz", hash = "sha256:a27eaf1df42cf561fed58b7a8f3fdf129d1ea16a81e1fadd1d17989bc6384beb"}, + {file = "bracex-2.5-py3-none-any.whl", hash = "sha256:d2fcf4b606a82ac325471affe1706dd9bbaa3536c91ef86a31f6b766f3dad1d0"}, + {file = "bracex-2.5.tar.gz", hash = "sha256:0725da5045e8d37ea9592ab3614d8b561e22c3c5fde3964699be672e072ab611"}, ] [[package]] name = "cairocffi" -version = "1.6.1" +version = "1.7.1" description = "cffi-based cairo bindings for Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "cairocffi-1.6.1-py3-none-any.whl", hash = "sha256:aa78ee52b9069d7475eeac457389b6275aa92111895d78fbaa2202a52dac112e"}, - {file = "cairocffi-1.6.1.tar.gz", hash = "sha256:78e6bbe47357640c453d0be929fa49cd05cce2e1286f3d2a1ca9cbda7efdb8b7"}, + {file = "cairocffi-1.7.1-py3-none-any.whl", hash = "sha256:9803a0e11f6c962f3b0ae2ec8ba6ae45e957a146a004697a1ac1bbf16b073b3f"}, + {file = "cairocffi-1.7.1.tar.gz", hash = "sha256:2e48ee864884ec4a3a34bfa8c9ab9999f688286eb714a15a43ec9d068c36557b"}, ] [package.dependencies] @@ -41,7 +41,7 @@ cffi = ">=1.1.0" [package.extras] doc = ["sphinx", "sphinx_rtd_theme"] -test = ["flake8", "isort", "numpy", "pikepdf", "pytest"] +test = ["numpy", "pikepdf", "pytest", "ruff"] xcb = ["xcffib (>=1.4.0)"] [[package]] @@ -68,74 +68,89 @@ test = ["flake8", "isort", "pytest"] [[package]] name = "certifi" -version = "2024.2.2" +version = "2024.8.30" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, - {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, + {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, + {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, ] [[package]] name = "cffi" -version = "1.16.0" +version = "1.17.1" description = "Foreign Function Interface for Python calling C code." optional = false python-versions = ">=3.8" files = [ - {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, - {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, - {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, - {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, - {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, - {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, - {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, - {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, - {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, - {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, - {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, - {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, - {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, - {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, - {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, + {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, + {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, + {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, + {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, + {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, + {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, + {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, + {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, + {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, + {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, + {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, + {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, + {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, + {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] [package.dependencies] @@ -314,24 +329,27 @@ dev = ["flake8", "markdown", "twine", "wheel"] [[package]] name = "idna" -version = "3.6" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" files = [ - {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, - {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + [[package]] name = "jinja2" -version = "3.1.3" +version = "3.1.4" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, - {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, ] [package.dependencies] @@ -342,13 +360,13 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "markdown" -version = "3.6" +version = "3.7" description = "Python implementation of John Gruber's Markdown." optional = false python-versions = ">=3.8" files = [ - {file = "Markdown-3.6-py3-none-any.whl", hash = "sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f"}, - {file = "Markdown-3.6.tar.gz", hash = "sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224"}, + {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, + {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, ] [package.extras] @@ -492,20 +510,6 @@ files = [ {file = "mkdocs_glightbox-0.4.0-py3-none-any.whl", hash = "sha256:e0107beee75d3eb7380ac06ea2d6eac94c999eaa49f8c3cbab0e7be2ac006ccf"}, ] -[[package]] -name = "mkdocs-include-dir-to-nav" -version = "1.2.0" -description = "A MkDocs plugin include all file in dir to navigation" -optional = false -python-versions = ">=3.6" -files = [ - {file = "mkdocs_include_dir_to_nav-1.2.0-py3-none-any.whl", hash = "sha256:b09de17ad754aa93aec7ba64acf8fdd53f7a2ceb92e8cffe21646b0e97f4ddf0"}, - {file = "mkdocs_include_dir_to_nav-1.2.0.tar.gz", hash = "sha256:2d7b0bb581471fce6f215b6381f1f4d90a3a069829281b7f5d01a5b7abee15d0"}, -] - -[package.dependencies] -mkdocs = ">=1.0.4" - [[package]] name = "mkdocs-include-markdown-plugin" version = "6.2.2" @@ -526,18 +530,19 @@ cache = ["platformdirs"] [[package]] name = "mkdocs-macros-plugin" -version = "1.0.5" +version = "1.2.0" description = "Unleash the power of MkDocs with macros and variables" optional = false python-versions = ">=3.8" files = [ - {file = "mkdocs-macros-plugin-1.0.5.tar.gz", hash = "sha256:fe348d75f01c911f362b6d998c57b3d85b505876dde69db924f2c512c395c328"}, - {file = "mkdocs_macros_plugin-1.0.5-py3-none-any.whl", hash = "sha256:f60e26f711f5a830ddf1e7980865bf5c0f1180db56109803cdd280073c1a050a"}, + {file = "mkdocs-macros-plugin-1.2.0.tar.gz", hash = "sha256:7603b85cb336d669e29a8a9cc3af8b90767ffdf6021b3e023d5ec2e0a1f927a7"}, + {file = "mkdocs_macros_plugin-1.2.0-py3-none-any.whl", hash = "sha256:3e442f8f37aa69710a69b5389e6b6cd0f54f4fcaee354aa57a61735ba8f97d27"}, ] [package.dependencies] jinja2 = "*" mkdocs = ">=0.17" +packaging = "*" python-dateutil = "*" pyyaml = "*" termcolor = "*" @@ -606,25 +611,30 @@ icu = ["PyICU (>=1.0.0)"] [[package]] name = "packaging" -version = "23.2" +version = "24.1" description = "Core utilities for Python packages" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, - {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] [[package]] name = "paginate" -version = "0.5.6" +version = "0.5.7" description = "Divides large result sets into pages for easier browsing" optional = false python-versions = "*" files = [ - {file = "paginate-0.5.6.tar.gz", hash = "sha256:5e6007b6a9398177a7e1648d04fdd9f8c9766a1a945bceac82f1929e8c78af2d"}, + {file = "paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591"}, + {file = "paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945"}, ] +[package.extras] +dev = ["pytest", "tox"] +lint = ["black"] + [[package]] name = "pathspec" version = "0.12.1" @@ -742,18 +752,19 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa [[package]] name = "platformdirs" -version = "4.2.0" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +version = "4.3.3" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, - {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, + {file = "platformdirs-4.3.3-py3-none-any.whl", hash = "sha256:50a5450e2e84f44539718293cbb1da0a0885c9d14adf21b77bae4e66fc99d9b5"}, + {file = "platformdirs-4.3.3.tar.gz", hash = "sha256:d4e0b7d8ec176b341fb03cb11ca12d0276faa8c485f9cd218f613840463fc2c0"}, ] [package.extras] -docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] [[package]] name = "ptyprocess" @@ -768,28 +779,27 @@ files = [ [[package]] name = "pycparser" -version = "2.21" +version = "2.22" description = "C parser in Python" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.8" files = [ - {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, - {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] [[package]] name = "pygments" -version = "2.17.2" +version = "2.18.0" description = "Pygments is a syntax highlighting package written in Python." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, - {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, + {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, + {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, ] [package.extras] -plugins = ["importlib-metadata"] windows-terminal = ["colorama (>=0.4.6)"] [[package]] @@ -812,13 +822,13 @@ extra = ["pygments (>=2.12)"] [[package]] name = "python-dateutil" -version = "2.8.2" +version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, ] [package.dependencies] @@ -826,62 +836,64 @@ six = ">=1.5" [[package]] name = "pyyaml" -version = "6.0.1" +version = "6.0.2" description = "YAML parser and emitter for Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, - {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, - {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, - {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, - {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, - {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, - {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, - {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, - {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, - {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, - {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, - {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, - {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, - {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, - {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, - {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, - {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, ] [[package]] @@ -900,115 +912,116 @@ pyyaml = "*" [[package]] name = "regex" -version = "2023.12.25" +version = "2024.9.11" description = "Alternative regular expression module, to replace re." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "regex-2023.12.25-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0694219a1d54336fd0445ea382d49d36882415c0134ee1e8332afd1529f0baa5"}, - {file = "regex-2023.12.25-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b014333bd0217ad3d54c143de9d4b9a3ca1c5a29a6d0d554952ea071cff0f1f8"}, - {file = "regex-2023.12.25-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d865984b3f71f6d0af64d0d88f5733521698f6c16f445bb09ce746c92c97c586"}, - {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e0eabac536b4cc7f57a5f3d095bfa557860ab912f25965e08fe1545e2ed8b4c"}, - {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c25a8ad70e716f96e13a637802813f65d8a6760ef48672aa3502f4c24ea8b400"}, - {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9b6d73353f777630626f403b0652055ebfe8ff142a44ec2cf18ae470395766e"}, - {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9cc99d6946d750eb75827cb53c4371b8b0fe89c733a94b1573c9dd16ea6c9e4"}, - {file = "regex-2023.12.25-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88d1f7bef20c721359d8675f7d9f8e414ec5003d8f642fdfd8087777ff7f94b5"}, - {file = "regex-2023.12.25-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cb3fe77aec8f1995611f966d0c656fdce398317f850d0e6e7aebdfe61f40e1cd"}, - {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7aa47c2e9ea33a4a2a05f40fcd3ea36d73853a2aae7b4feab6fc85f8bf2c9704"}, - {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:df26481f0c7a3f8739fecb3e81bc9da3fcfae34d6c094563b9d4670b047312e1"}, - {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c40281f7d70baf6e0db0c2f7472b31609f5bc2748fe7275ea65a0b4601d9b392"}, - {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:d94a1db462d5690ebf6ae86d11c5e420042b9898af5dcf278bd97d6bda065423"}, - {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ba1b30765a55acf15dce3f364e4928b80858fa8f979ad41f862358939bdd1f2f"}, - {file = "regex-2023.12.25-cp310-cp310-win32.whl", hash = "sha256:150c39f5b964e4d7dba46a7962a088fbc91f06e606f023ce57bb347a3b2d4630"}, - {file = "regex-2023.12.25-cp310-cp310-win_amd64.whl", hash = "sha256:09da66917262d9481c719599116c7dc0c321ffcec4b1f510c4f8a066f8768105"}, - {file = "regex-2023.12.25-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1b9d811f72210fa9306aeb88385b8f8bcef0dfbf3873410413c00aa94c56c2b6"}, - {file = "regex-2023.12.25-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d902a43085a308cef32c0d3aea962524b725403fd9373dea18110904003bac97"}, - {file = "regex-2023.12.25-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d166eafc19f4718df38887b2bbe1467a4f74a9830e8605089ea7a30dd4da8887"}, - {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7ad32824b7f02bb3c9f80306d405a1d9b7bb89362d68b3c5a9be53836caebdb"}, - {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:636ba0a77de609d6510235b7f0e77ec494d2657108f777e8765efc060094c98c"}, - {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fda75704357805eb953a3ee15a2b240694a9a514548cd49b3c5124b4e2ad01b"}, - {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f72cbae7f6b01591f90814250e636065850c5926751af02bb48da94dfced7baa"}, - {file = "regex-2023.12.25-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db2a0b1857f18b11e3b0e54ddfefc96af46b0896fb678c85f63fb8c37518b3e7"}, - {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7502534e55c7c36c0978c91ba6f61703faf7ce733715ca48f499d3dbbd7657e0"}, - {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:e8c7e08bb566de4faaf11984af13f6bcf6a08f327b13631d41d62592681d24fe"}, - {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:283fc8eed679758de38fe493b7d7d84a198b558942b03f017b1f94dda8efae80"}, - {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:f44dd4d68697559d007462b0a3a1d9acd61d97072b71f6d1968daef26bc744bd"}, - {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:67d3ccfc590e5e7197750fcb3a2915b416a53e2de847a728cfa60141054123d4"}, - {file = "regex-2023.12.25-cp311-cp311-win32.whl", hash = "sha256:68191f80a9bad283432385961d9efe09d783bcd36ed35a60fb1ff3f1ec2efe87"}, - {file = "regex-2023.12.25-cp311-cp311-win_amd64.whl", hash = "sha256:7d2af3f6b8419661a0c421584cfe8aaec1c0e435ce7e47ee2a97e344b98f794f"}, - {file = "regex-2023.12.25-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8a0ccf52bb37d1a700375a6b395bff5dd15c50acb745f7db30415bae3c2b0715"}, - {file = "regex-2023.12.25-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c3c4a78615b7762740531c27cf46e2f388d8d727d0c0c739e72048beb26c8a9d"}, - {file = "regex-2023.12.25-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ad83e7545b4ab69216cef4cc47e344d19622e28aabec61574b20257c65466d6a"}, - {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7a635871143661feccce3979e1727c4e094f2bdfd3ec4b90dfd4f16f571a87a"}, - {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d498eea3f581fbe1b34b59c697512a8baef88212f92e4c7830fcc1499f5b45a5"}, - {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:43f7cd5754d02a56ae4ebb91b33461dc67be8e3e0153f593c509e21d219c5060"}, - {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51f4b32f793812714fd5307222a7f77e739b9bc566dc94a18126aba3b92b98a3"}, - {file = "regex-2023.12.25-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba99d8077424501b9616b43a2d208095746fb1284fc5ba490139651f971d39d9"}, - {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4bfc2b16e3ba8850e0e262467275dd4d62f0d045e0e9eda2bc65078c0110a11f"}, - {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8c2c19dae8a3eb0ea45a8448356ed561be843b13cbc34b840922ddf565498c1c"}, - {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:60080bb3d8617d96f0fb7e19796384cc2467447ef1c491694850ebd3670bc457"}, - {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b77e27b79448e34c2c51c09836033056a0547aa360c45eeeb67803da7b0eedaf"}, - {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:518440c991f514331f4850a63560321f833979d145d7d81186dbe2f19e27ae3d"}, - {file = "regex-2023.12.25-cp312-cp312-win32.whl", hash = "sha256:e2610e9406d3b0073636a3a2e80db05a02f0c3169b5632022b4e81c0364bcda5"}, - {file = "regex-2023.12.25-cp312-cp312-win_amd64.whl", hash = "sha256:cc37b9aeebab425f11f27e5e9e6cf580be7206c6582a64467a14dda211abc232"}, - {file = "regex-2023.12.25-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:da695d75ac97cb1cd725adac136d25ca687da4536154cdc2815f576e4da11c69"}, - {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d126361607b33c4eb7b36debc173bf25d7805847346dd4d99b5499e1fef52bc7"}, - {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4719bb05094d7d8563a450cf8738d2e1061420f79cfcc1fa7f0a44744c4d8f73"}, - {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5dd58946bce44b53b06d94aa95560d0b243eb2fe64227cba50017a8d8b3cd3e2"}, - {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22a86d9fff2009302c440b9d799ef2fe322416d2d58fc124b926aa89365ec482"}, - {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2aae8101919e8aa05ecfe6322b278f41ce2994c4a430303c4cd163fef746e04f"}, - {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e692296c4cc2873967771345a876bcfc1c547e8dd695c6b89342488b0ea55cd8"}, - {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:263ef5cc10979837f243950637fffb06e8daed7f1ac1e39d5910fd29929e489a"}, - {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d6f7e255e5fa94642a0724e35406e6cb7001c09d476ab5fce002f652b36d0c39"}, - {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:88ad44e220e22b63b0f8f81f007e8abbb92874d8ced66f32571ef8beb0643b2b"}, - {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:3a17d3ede18f9cedcbe23d2daa8a2cd6f59fe2bf082c567e43083bba3fb00347"}, - {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d15b274f9e15b1a0b7a45d2ac86d1f634d983ca40d6b886721626c47a400bf39"}, - {file = "regex-2023.12.25-cp37-cp37m-win32.whl", hash = "sha256:ed19b3a05ae0c97dd8f75a5d8f21f7723a8c33bbc555da6bbe1f96c470139d3c"}, - {file = "regex-2023.12.25-cp37-cp37m-win_amd64.whl", hash = "sha256:a6d1047952c0b8104a1d371f88f4ab62e6275567d4458c1e26e9627ad489b445"}, - {file = "regex-2023.12.25-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b43523d7bc2abd757119dbfb38af91b5735eea45537ec6ec3a5ec3f9562a1c53"}, - {file = "regex-2023.12.25-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:efb2d82f33b2212898f1659fb1c2e9ac30493ac41e4d53123da374c3b5541e64"}, - {file = "regex-2023.12.25-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7fca9205b59c1a3d5031f7e64ed627a1074730a51c2a80e97653e3e9fa0d415"}, - {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086dd15e9435b393ae06f96ab69ab2d333f5d65cbe65ca5a3ef0ec9564dfe770"}, - {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e81469f7d01efed9b53740aedd26085f20d49da65f9c1f41e822a33992cb1590"}, - {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:34e4af5b27232f68042aa40a91c3b9bb4da0eeb31b7632e0091afc4310afe6cb"}, - {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9852b76ab558e45b20bf1893b59af64a28bd3820b0c2efc80e0a70a4a3ea51c1"}, - {file = "regex-2023.12.25-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff100b203092af77d1a5a7abe085b3506b7eaaf9abf65b73b7d6905b6cb76988"}, - {file = "regex-2023.12.25-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cc038b2d8b1470364b1888a98fd22d616fba2b6309c5b5f181ad4483e0017861"}, - {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:094ba386bb5c01e54e14434d4caabf6583334090865b23ef58e0424a6286d3dc"}, - {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5cd05d0f57846d8ba4b71d9c00f6f37d6b97d5e5ef8b3c3840426a475c8f70f4"}, - {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:9aa1a67bbf0f957bbe096375887b2505f5d8ae16bf04488e8b0f334c36e31360"}, - {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:98a2636994f943b871786c9e82bfe7883ecdaba2ef5df54e1450fa9869d1f756"}, - {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:37f8e93a81fc5e5bd8db7e10e62dc64261bcd88f8d7e6640aaebe9bc180d9ce2"}, - {file = "regex-2023.12.25-cp38-cp38-win32.whl", hash = "sha256:d78bd484930c1da2b9679290a41cdb25cc127d783768a0369d6b449e72f88beb"}, - {file = "regex-2023.12.25-cp38-cp38-win_amd64.whl", hash = "sha256:b521dcecebc5b978b447f0f69b5b7f3840eac454862270406a39837ffae4e697"}, - {file = "regex-2023.12.25-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f7bc09bc9c29ebead055bcba136a67378f03d66bf359e87d0f7c759d6d4ffa31"}, - {file = "regex-2023.12.25-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e14b73607d6231f3cc4622809c196b540a6a44e903bcfad940779c80dffa7be7"}, - {file = "regex-2023.12.25-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9eda5f7a50141291beda3edd00abc2d4a5b16c29c92daf8d5bd76934150f3edc"}, - {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc6bb9aa69aacf0f6032c307da718f61a40cf970849e471254e0e91c56ffca95"}, - {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:298dc6354d414bc921581be85695d18912bea163a8b23cac9a2562bbcd5088b1"}, - {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f4e475a80ecbd15896a976aa0b386c5525d0ed34d5c600b6d3ebac0a67c7ddf"}, - {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:531ac6cf22b53e0696f8e1d56ce2396311254eb806111ddd3922c9d937151dae"}, - {file = "regex-2023.12.25-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22f3470f7524b6da61e2020672df2f3063676aff444db1daa283c2ea4ed259d6"}, - {file = "regex-2023.12.25-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:89723d2112697feaa320c9d351e5f5e7b841e83f8b143dba8e2d2b5f04e10923"}, - {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0ecf44ddf9171cd7566ef1768047f6e66975788258b1c6c6ca78098b95cf9a3d"}, - {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:905466ad1702ed4acfd67a902af50b8db1feeb9781436372261808df7a2a7bca"}, - {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:4558410b7a5607a645e9804a3e9dd509af12fb72b9825b13791a37cd417d73a5"}, - {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:7e316026cc1095f2a3e8cc012822c99f413b702eaa2ca5408a513609488cb62f"}, - {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3b1de218d5375cd6ac4b5493e0b9f3df2be331e86520f23382f216c137913d20"}, - {file = "regex-2023.12.25-cp39-cp39-win32.whl", hash = "sha256:11a963f8e25ab5c61348d090bf1b07f1953929c13bd2309a0662e9ff680763c9"}, - {file = "regex-2023.12.25-cp39-cp39-win_amd64.whl", hash = "sha256:e693e233ac92ba83a87024e1d32b5f9ab15ca55ddd916d878146f4e3406b5c91"}, - {file = "regex-2023.12.25.tar.gz", hash = "sha256:29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5"}, + {file = "regex-2024.9.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1494fa8725c285a81d01dc8c06b55287a1ee5e0e382d8413adc0a9197aac6408"}, + {file = "regex-2024.9.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0e12c481ad92d129c78f13a2a3662317e46ee7ef96c94fd332e1c29131875b7d"}, + {file = "regex-2024.9.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:16e13a7929791ac1216afde26f712802e3df7bf0360b32e4914dca3ab8baeea5"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46989629904bad940bbec2106528140a218b4a36bb3042d8406980be1941429c"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a906ed5e47a0ce5f04b2c981af1c9acf9e8696066900bf03b9d7879a6f679fc8"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e9a091b0550b3b0207784a7d6d0f1a00d1d1c8a11699c1a4d93db3fbefc3ad35"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ddcd9a179c0a6fa8add279a4444015acddcd7f232a49071ae57fa6e278f1f71"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6b41e1adc61fa347662b09398e31ad446afadff932a24807d3ceb955ed865cc8"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ced479f601cd2f8ca1fd7b23925a7e0ad512a56d6e9476f79b8f381d9d37090a"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:635a1d96665f84b292e401c3d62775851aedc31d4f8784117b3c68c4fcd4118d"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:c0256beda696edcf7d97ef16b2a33a8e5a875affd6fa6567b54f7c577b30a137"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:3ce4f1185db3fbde8ed8aa223fc9620f276c58de8b0d4f8cc86fd1360829edb6"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:09d77559e80dcc9d24570da3745ab859a9cf91953062e4ab126ba9d5993688ca"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7a22ccefd4db3f12b526eccb129390942fe874a3a9fdbdd24cf55773a1faab1a"}, + {file = "regex-2024.9.11-cp310-cp310-win32.whl", hash = "sha256:f745ec09bc1b0bd15cfc73df6fa4f726dcc26bb16c23a03f9e3367d357eeedd0"}, + {file = "regex-2024.9.11-cp310-cp310-win_amd64.whl", hash = "sha256:01c2acb51f8a7d6494c8c5eafe3d8e06d76563d8a8a4643b37e9b2dd8a2ff623"}, + {file = "regex-2024.9.11-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2cce2449e5927a0bf084d346da6cd5eb016b2beca10d0013ab50e3c226ffc0df"}, + {file = "regex-2024.9.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b37fa423beefa44919e009745ccbf353d8c981516e807995b2bd11c2c77d268"}, + {file = "regex-2024.9.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:64ce2799bd75039b480cc0360907c4fb2f50022f030bf9e7a8705b636e408fad"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a4cc92bb6db56ab0c1cbd17294e14f5e9224f0cc6521167ef388332604e92679"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d05ac6fa06959c4172eccd99a222e1fbf17b5670c4d596cb1e5cde99600674c4"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:040562757795eeea356394a7fb13076ad4f99d3c62ab0f8bdfb21f99a1f85664"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6113c008a7780792efc80f9dfe10ba0cd043cbf8dc9a76ef757850f51b4edc50"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8e5fb5f77c8745a60105403a774fe2c1759b71d3e7b4ca237a5e67ad066c7199"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:54d9ff35d4515debf14bc27f1e3b38bfc453eff3220f5bce159642fa762fe5d4"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:df5cbb1fbc74a8305b6065d4ade43b993be03dbe0f8b30032cced0d7740994bd"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7fb89ee5d106e4a7a51bce305ac4efb981536301895f7bdcf93ec92ae0d91c7f"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:a738b937d512b30bf75995c0159c0ddf9eec0775c9d72ac0202076c72f24aa96"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e28f9faeb14b6f23ac55bfbbfd3643f5c7c18ede093977f1df249f73fd22c7b1"}, + {file = "regex-2024.9.11-cp311-cp311-win32.whl", hash = "sha256:18e707ce6c92d7282dfce370cd205098384b8ee21544e7cb29b8aab955b66fa9"}, + {file = "regex-2024.9.11-cp311-cp311-win_amd64.whl", hash = "sha256:313ea15e5ff2a8cbbad96ccef6be638393041b0a7863183c2d31e0c6116688cf"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b0d0a6c64fcc4ef9c69bd5b3b3626cc3776520a1637d8abaa62b9edc147a58f7"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:49b0e06786ea663f933f3710a51e9385ce0cba0ea56b67107fd841a55d56a231"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5b513b6997a0b2f10e4fd3a1313568e373926e8c252bd76c960f96fd039cd28d"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee439691d8c23e76f9802c42a95cfeebf9d47cf4ffd06f18489122dbb0a7ad64"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8f877c89719d759e52783f7fe6e1c67121076b87b40542966c02de5503ace42"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:23b30c62d0f16827f2ae9f2bb87619bc4fba2044911e2e6c2eb1af0161cdb766"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85ab7824093d8f10d44330fe1e6493f756f252d145323dd17ab6b48733ff6c0a"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8dee5b4810a89447151999428fe096977346cf2f29f4d5e29609d2e19e0199c9"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:98eeee2f2e63edae2181c886d7911ce502e1292794f4c5ee71e60e23e8d26b5d"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:57fdd2e0b2694ce6fc2e5ccf189789c3e2962916fb38779d3e3521ff8fe7a822"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d552c78411f60b1fdaafd117a1fca2f02e562e309223b9d44b7de8be451ec5e0"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a0b2b80321c2ed3fcf0385ec9e51a12253c50f146fddb2abbb10f033fe3d049a"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:18406efb2f5a0e57e3a5881cd9354c1512d3bb4f5c45d96d110a66114d84d23a"}, + {file = "regex-2024.9.11-cp312-cp312-win32.whl", hash = "sha256:e464b467f1588e2c42d26814231edecbcfe77f5ac414d92cbf4e7b55b2c2a776"}, + {file = "regex-2024.9.11-cp312-cp312-win_amd64.whl", hash = "sha256:9e8719792ca63c6b8340380352c24dcb8cd7ec49dae36e963742a275dfae6009"}, + {file = "regex-2024.9.11-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c157bb447303070f256e084668b702073db99bbb61d44f85d811025fcf38f784"}, + {file = "regex-2024.9.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4db21ece84dfeefc5d8a3863f101995de646c6cb0536952c321a2650aa202c36"}, + {file = "regex-2024.9.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:220e92a30b426daf23bb67a7962900ed4613589bab80382be09b48896d211e92"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb1ae19e64c14c7ec1995f40bd932448713d3c73509e82d8cd7744dc00e29e86"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f47cd43a5bfa48f86925fe26fbdd0a488ff15b62468abb5d2a1e092a4fb10e85"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9d4a76b96f398697fe01117093613166e6aa8195d63f1b4ec3f21ab637632963"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ea51dcc0835eea2ea31d66456210a4e01a076d820e9039b04ae8d17ac11dee6"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7aaa315101c6567a9a45d2839322c51c8d6e81f67683d529512f5bcfb99c802"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c57d08ad67aba97af57a7263c2d9006d5c404d721c5f7542f077f109ec2a4a29"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f8404bf61298bb6f8224bb9176c1424548ee1181130818fcd2cbffddc768bed8"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dd4490a33eb909ef5078ab20f5f000087afa2a4daa27b4c072ccb3cb3050ad84"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:eee9130eaad130649fd73e5cd92f60e55708952260ede70da64de420cdcad554"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6a2644a93da36c784e546de579ec1806bfd2763ef47babc1b03d765fe560c9f8"}, + {file = "regex-2024.9.11-cp313-cp313-win32.whl", hash = "sha256:e997fd30430c57138adc06bba4c7c2968fb13d101e57dd5bb9355bf8ce3fa7e8"}, + {file = "regex-2024.9.11-cp313-cp313-win_amd64.whl", hash = "sha256:042c55879cfeb21a8adacc84ea347721d3d83a159da6acdf1116859e2427c43f"}, + {file = "regex-2024.9.11-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:35f4a6f96aa6cb3f2f7247027b07b15a374f0d5b912c0001418d1d55024d5cb4"}, + {file = "regex-2024.9.11-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:55b96e7ce3a69a8449a66984c268062fbaa0d8ae437b285428e12797baefce7e"}, + {file = "regex-2024.9.11-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb130fccd1a37ed894824b8c046321540263013da72745d755f2d35114b81a60"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:323c1f04be6b2968944d730e5c2091c8c89767903ecaa135203eec4565ed2b2b"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be1c8ed48c4c4065ecb19d882a0ce1afe0745dfad8ce48c49586b90a55f02366"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b5b029322e6e7b94fff16cd120ab35a253236a5f99a79fb04fda7ae71ca20ae8"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6fff13ef6b5f29221d6904aa816c34701462956aa72a77f1f151a8ec4f56aeb"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:587d4af3979376652010e400accc30404e6c16b7df574048ab1f581af82065e4"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:079400a8269544b955ffa9e31f186f01d96829110a3bf79dc338e9910f794fca"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f9268774428ec173654985ce55fc6caf4c6d11ade0f6f914d48ef4719eb05ebb"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:23f9985c8784e544d53fc2930fc1ac1a7319f5d5332d228437acc9f418f2f168"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:ae2941333154baff9838e88aa71c1d84f4438189ecc6021a12c7573728b5838e"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:e93f1c331ca8e86fe877a48ad64e77882c0c4da0097f2212873a69bbfea95d0c"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:846bc79ee753acf93aef4184c040d709940c9d001029ceb7b7a52747b80ed2dd"}, + {file = "regex-2024.9.11-cp38-cp38-win32.whl", hash = "sha256:c94bb0a9f1db10a1d16c00880bdebd5f9faf267273b8f5bd1878126e0fbde771"}, + {file = "regex-2024.9.11-cp38-cp38-win_amd64.whl", hash = "sha256:2b08fce89fbd45664d3df6ad93e554b6c16933ffa9d55cb7e01182baaf971508"}, + {file = "regex-2024.9.11-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:07f45f287469039ffc2c53caf6803cd506eb5f5f637f1d4acb37a738f71dd066"}, + {file = "regex-2024.9.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4838e24ee015101d9f901988001038f7f0d90dc0c3b115541a1365fb439add62"}, + {file = "regex-2024.9.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6edd623bae6a737f10ce853ea076f56f507fd7726bee96a41ee3d68d347e4d16"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c69ada171c2d0e97a4b5aa78fbb835e0ffbb6b13fc5da968c09811346564f0d3"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02087ea0a03b4af1ed6ebab2c54d7118127fee8d71b26398e8e4b05b78963199"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:69dee6a020693d12a3cf892aba4808fe168d2a4cef368eb9bf74f5398bfd4ee8"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:297f54910247508e6e5cae669f2bc308985c60540a4edd1c77203ef19bfa63ca"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ecea58b43a67b1b79805f1a0255730edaf5191ecef84dbc4cc85eb30bc8b63b9"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:eab4bb380f15e189d1313195b062a6aa908f5bd687a0ceccd47c8211e9cf0d4a"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0cbff728659ce4bbf4c30b2a1be040faafaa9eca6ecde40aaff86f7889f4ab39"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:54c4a097b8bc5bb0dfc83ae498061d53ad7b5762e00f4adaa23bee22b012e6ba"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:73d6d2f64f4d894c96626a75578b0bf7d9e56dcda8c3d037a2118fdfe9b1c664"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:e53b5fbab5d675aec9f0c501274c467c0f9a5d23696cfc94247e1fb56501ed89"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0ffbcf9221e04502fc35e54d1ce9567541979c3fdfb93d2c554f0ca583a19b35"}, + {file = "regex-2024.9.11-cp39-cp39-win32.whl", hash = "sha256:e4c22e1ac1f1ec1e09f72e6c44d8f2244173db7eb9629cc3a346a8d7ccc31142"}, + {file = "regex-2024.9.11-cp39-cp39-win_amd64.whl", hash = "sha256:faa3c142464efec496967359ca99696c896c591c56c53506bac1ad465f66e919"}, + {file = "regex-2024.9.11.tar.gz", hash = "sha256:6c188c307e8433bcb63dc1915022deb553b4203a70722fc542c363bf120a01fd"}, ] [[package]] name = "requests" -version = "2.31.0" +version = "2.32.3" description = "Python HTTP for Humans." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [package.dependencies] @@ -1067,13 +1080,13 @@ resolved_reference = "c45842666e9c364fd713ad82d763b909e976ca23" [[package]] name = "tinycss2" -version = "1.2.1" +version = "1.3.0" description = "A tiny CSS parser" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847"}, - {file = "tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627"}, + {file = "tinycss2-1.3.0-py3-none-any.whl", hash = "sha256:54a8dbdffb334d536851be0226030e9505965bb2f30f21a4a82c55fb2a80fae7"}, + {file = "tinycss2-1.3.0.tar.gz", hash = "sha256:152f9acabd296a8375fbca5b84c961ff95971fcfc32e79550c8df8e29118c54d"}, ] [package.dependencies] @@ -1081,28 +1094,28 @@ webencodings = ">=0.4" [package.extras] doc = ["sphinx", "sphinx_rtd_theme"] -test = ["flake8", "isort", "pytest"] +test = ["pytest", "ruff"] [[package]] name = "trove-classifiers" -version = "2024.7.2" +version = "2024.9.12" description = "Canonical source for classifiers on PyPI (pypi.org)." optional = false python-versions = "*" files = [ - {file = "trove_classifiers-2024.7.2-py3-none-any.whl", hash = "sha256:ccc57a33717644df4daca018e7ec3ef57a835c48e96a1e71fc07eb7edac67af6"}, - {file = "trove_classifiers-2024.7.2.tar.gz", hash = "sha256:8328f2ac2ce3fd773cbb37c765a0ed7a83f89dc564c7d452f039b69249d0ac35"}, + {file = "trove_classifiers-2024.9.12-py3-none-any.whl", hash = "sha256:f88a27a892891c87c5f8bbdf110710ae9e0a4725ea8e0fb45f1bcadf088a491f"}, + {file = "trove_classifiers-2024.9.12.tar.gz", hash = "sha256:4b46b3e134a4d01999ac5bc6e528afcc10cc48f0f724f185f267e276005768f4"}, ] [[package]] name = "urllib3" -version = "2.2.1" +version = "2.2.3" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, - {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, ] [package.extras] @@ -1113,40 +1126,41 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "watchdog" -version = "4.0.0" +version = "5.0.2" description = "Filesystem events monitoring" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "watchdog-4.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:39cb34b1f1afbf23e9562501673e7146777efe95da24fab5707b88f7fb11649b"}, - {file = "watchdog-4.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c522392acc5e962bcac3b22b9592493ffd06d1fc5d755954e6be9f4990de932b"}, - {file = "watchdog-4.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6c47bdd680009b11c9ac382163e05ca43baf4127954c5f6d0250e7d772d2b80c"}, - {file = "watchdog-4.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8350d4055505412a426b6ad8c521bc7d367d1637a762c70fdd93a3a0d595990b"}, - {file = "watchdog-4.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c17d98799f32e3f55f181f19dd2021d762eb38fdd381b4a748b9f5a36738e935"}, - {file = "watchdog-4.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4986db5e8880b0e6b7cd52ba36255d4793bf5cdc95bd6264806c233173b1ec0b"}, - {file = "watchdog-4.0.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:11e12fafb13372e18ca1bbf12d50f593e7280646687463dd47730fd4f4d5d257"}, - {file = "watchdog-4.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5369136a6474678e02426bd984466343924d1df8e2fd94a9b443cb7e3aa20d19"}, - {file = "watchdog-4.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76ad8484379695f3fe46228962017a7e1337e9acadafed67eb20aabb175df98b"}, - {file = "watchdog-4.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:45cc09cc4c3b43fb10b59ef4d07318d9a3ecdbff03abd2e36e77b6dd9f9a5c85"}, - {file = "watchdog-4.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eed82cdf79cd7f0232e2fdc1ad05b06a5e102a43e331f7d041e5f0e0a34a51c4"}, - {file = "watchdog-4.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba30a896166f0fee83183cec913298151b73164160d965af2e93a20bbd2ab605"}, - {file = "watchdog-4.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d18d7f18a47de6863cd480734613502904611730f8def45fc52a5d97503e5101"}, - {file = "watchdog-4.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2895bf0518361a9728773083908801a376743bcc37dfa252b801af8fd281b1ca"}, - {file = "watchdog-4.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:87e9df830022488e235dd601478c15ad73a0389628588ba0b028cb74eb72fed8"}, - {file = "watchdog-4.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6e949a8a94186bced05b6508faa61b7adacc911115664ccb1923b9ad1f1ccf7b"}, - {file = "watchdog-4.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6a4db54edea37d1058b08947c789a2354ee02972ed5d1e0dca9b0b820f4c7f92"}, - {file = "watchdog-4.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d31481ccf4694a8416b681544c23bd271f5a123162ab603c7d7d2dd7dd901a07"}, - {file = "watchdog-4.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8fec441f5adcf81dd240a5fe78e3d83767999771630b5ddfc5867827a34fa3d3"}, - {file = "watchdog-4.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:6a9c71a0b02985b4b0b6d14b875a6c86ddea2fdbebd0c9a720a806a8bbffc69f"}, - {file = "watchdog-4.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:557ba04c816d23ce98a06e70af6abaa0485f6d94994ec78a42b05d1c03dcbd50"}, - {file = "watchdog-4.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:d0f9bd1fd919134d459d8abf954f63886745f4660ef66480b9d753a7c9d40927"}, - {file = "watchdog-4.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:f9b2fdca47dc855516b2d66eef3c39f2672cbf7e7a42e7e67ad2cbfcd6ba107d"}, - {file = "watchdog-4.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:73c7a935e62033bd5e8f0da33a4dcb763da2361921a69a5a95aaf6c93aa03a87"}, - {file = "watchdog-4.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6a80d5cae8c265842c7419c560b9961561556c4361b297b4c431903f8c33b269"}, - {file = "watchdog-4.0.0-py3-none-win32.whl", hash = "sha256:8f9a542c979df62098ae9c58b19e03ad3df1c9d8c6895d96c0d51da17b243b1c"}, - {file = "watchdog-4.0.0-py3-none-win_amd64.whl", hash = "sha256:f970663fa4f7e80401a7b0cbeec00fa801bf0287d93d48368fc3e6fa32716245"}, - {file = "watchdog-4.0.0-py3-none-win_ia64.whl", hash = "sha256:9a03e16e55465177d416699331b0f3564138f1807ecc5f2de9d55d8f188d08c7"}, - {file = "watchdog-4.0.0.tar.gz", hash = "sha256:e3e7065cbdabe6183ab82199d7a4f6b3ba0a438c5a512a68559846ccb76a78ec"}, + {file = "watchdog-5.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d961f4123bb3c447d9fcdcb67e1530c366f10ab3a0c7d1c0c9943050936d4877"}, + {file = "watchdog-5.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72990192cb63872c47d5e5fefe230a401b87fd59d257ee577d61c9e5564c62e5"}, + {file = "watchdog-5.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6bec703ad90b35a848e05e1b40bf0050da7ca28ead7ac4be724ae5ac2653a1a0"}, + {file = "watchdog-5.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:dae7a1879918f6544201d33666909b040a46421054a50e0f773e0d870ed7438d"}, + {file = "watchdog-5.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c4a440f725f3b99133de610bfec93d570b13826f89616377715b9cd60424db6e"}, + {file = "watchdog-5.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8b2918c19e0d48f5f20df458c84692e2a054f02d9df25e6c3c930063eca64c1"}, + {file = "watchdog-5.0.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:aa9cd6e24126d4afb3752a3e70fce39f92d0e1a58a236ddf6ee823ff7dba28ee"}, + {file = "watchdog-5.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f627c5bf5759fdd90195b0c0431f99cff4867d212a67b384442c51136a098ed7"}, + {file = "watchdog-5.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d7594a6d32cda2b49df3fd9abf9b37c8d2f3eab5df45c24056b4a671ac661619"}, + {file = "watchdog-5.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba32efcccfe2c58f4d01115440d1672b4eb26cdd6fc5b5818f1fb41f7c3e1889"}, + {file = "watchdog-5.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:963f7c4c91e3f51c998eeff1b3fb24a52a8a34da4f956e470f4b068bb47b78ee"}, + {file = "watchdog-5.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8c47150aa12f775e22efff1eee9f0f6beee542a7aa1a985c271b1997d340184f"}, + {file = "watchdog-5.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:14dd4ed023d79d1f670aa659f449bcd2733c33a35c8ffd88689d9d243885198b"}, + {file = "watchdog-5.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b84bff0391ad4abe25c2740c7aec0e3de316fdf7764007f41e248422a7760a7f"}, + {file = "watchdog-5.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3e8d5ff39f0a9968952cce548e8e08f849141a4fcc1290b1c17c032ba697b9d7"}, + {file = "watchdog-5.0.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fb223456db6e5f7bd9bbd5cd969f05aae82ae21acc00643b60d81c770abd402b"}, + {file = "watchdog-5.0.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9814adb768c23727a27792c77812cf4e2fd9853cd280eafa2bcfa62a99e8bd6e"}, + {file = "watchdog-5.0.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:901ee48c23f70193d1a7bc2d9ee297df66081dd5f46f0ca011be4f70dec80dab"}, + {file = "watchdog-5.0.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:638bcca3d5b1885c6ec47be67bf712b00a9ab3d4b22ec0881f4889ad870bc7e8"}, + {file = "watchdog-5.0.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:5597c051587f8757798216f2485e85eac583c3b343e9aa09127a3a6f82c65ee8"}, + {file = "watchdog-5.0.2-py3-none-manylinux2014_armv7l.whl", hash = "sha256:53ed1bf71fcb8475dd0ef4912ab139c294c87b903724b6f4a8bd98e026862e6d"}, + {file = "watchdog-5.0.2-py3-none-manylinux2014_i686.whl", hash = "sha256:29e4a2607bd407d9552c502d38b45a05ec26a8e40cc7e94db9bb48f861fa5abc"}, + {file = "watchdog-5.0.2-py3-none-manylinux2014_ppc64.whl", hash = "sha256:b6dc8f1d770a8280997e4beae7b9a75a33b268c59e033e72c8a10990097e5fde"}, + {file = "watchdog-5.0.2-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:d2ab34adc9bf1489452965cdb16a924e97d4452fcf88a50b21859068b50b5c3b"}, + {file = "watchdog-5.0.2-py3-none-manylinux2014_s390x.whl", hash = "sha256:7d1aa7e4bb0f0c65a1a91ba37c10e19dabf7eaaa282c5787e51371f090748f4b"}, + {file = "watchdog-5.0.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:726eef8f8c634ac6584f86c9c53353a010d9f311f6c15a034f3800a7a891d941"}, + {file = "watchdog-5.0.2-py3-none-win32.whl", hash = "sha256:bda40c57115684d0216556671875e008279dea2dc00fcd3dde126ac8e0d7a2fb"}, + {file = "watchdog-5.0.2-py3-none-win_amd64.whl", hash = "sha256:d010be060c996db725fbce7e3ef14687cdcc76f4ca0e4339a68cc4532c382a73"}, + {file = "watchdog-5.0.2-py3-none-win_ia64.whl", hash = "sha256:3960136b2b619510569b90f0cd96408591d6c251a75c97690f4553ca88889769"}, + {file = "watchdog-5.0.2.tar.gz", hash = "sha256:dcebf7e475001d2cdeb020be630dc5b687e9acdd60d16fea6bb4508e7b94cf76"}, ] [package.extras] @@ -1154,13 +1168,13 @@ watchmedo = ["PyYAML (>=3.10)"] [[package]] name = "wcmatch" -version = "8.5.1" +version = "9.0" description = "Wildcard/glob file name matcher." optional = false python-versions = ">=3.8" files = [ - {file = "wcmatch-8.5.1-py3-none-any.whl", hash = "sha256:24c19cedc92bc9c9e27f39db4e1824d72f95bd2cea32b254a47a45b1a1b227ed"}, - {file = "wcmatch-8.5.1.tar.gz", hash = "sha256:c0088c7f6426cf6bf27e530e2b7b734031905f7e490475fd83c7c5008ab581b3"}, + {file = "wcmatch-9.0-py3-none-any.whl", hash = "sha256:af25922e2b6dbd1550fa37a4c8de7dd558d6c1bb330c641de9b907b9776cb3c4"}, + {file = "wcmatch-9.0.tar.gz", hash = "sha256:567d66b11ad74384954c8af86f607857c3bdf93682349ad32066231abd556c92"}, ] [package.dependencies] @@ -1180,4 +1194,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "3.11.*" -content-hash = "490d02a731843bc838a9446846d818e99a863f35e8488d3eea3acf1d1041225b" +content-hash = "714872b051cbc60c91a2187388adb268d74fd13fe563df800f0ca482b5c91cc7" diff --git a/pyproject.toml b/pyproject.toml index 136d9aa..9a92e44 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,6 +5,7 @@ description = "Documentation for flox" authors = ["Rok Garbas "] license = "TODO" readme = "README.md" +package-mode = false [tool.poetry.dependencies] python = "3.11.*" @@ -12,7 +13,6 @@ cairosvg = "*" mkdocs = "*" mkdocs-awesome-pages-plugin = "*" mkdocs-glightbox = "*" -mkdocs-include-dir-to-nav = "*" mkdocs-include-markdown-plugin = "*" mkdocs-macros-plugin = "*" mkdocs-material = { path = "./mkdocs_material-9.5.10+insiders.4.52.2.tar.gz", extras = [ "images" ] } diff --git a/tesh.sh b/tesh.sh new file mode 100755 index 0000000..4540485 --- /dev/null +++ b/tesh.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +set -euo pipefail + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +exec tesh --verbose --no-debug \ + $SCRIPT_DIR/docs/index.md \ + $SCRIPT_DIR/docs/cookbook/validate-identical.md \ + $SCRIPT_DIR/docs/tutorials/build-container-images.md \ + $SCRIPT_DIR/docs/tutorials/managed-environments.md