pax_global_header00006660000000000000000000000064151562361550014523gustar00rootroot0000000000000052 comment=c727eb0ae80b604b538fcdbf33a3164296c94269 upstream-ontologist-py-0.2.11/000077500000000000000000000000001515623615500162715ustar00rootroot00000000000000upstream-ontologist-py-0.2.11/.github/000077500000000000000000000000001515623615500176315ustar00rootroot00000000000000upstream-ontologist-py-0.2.11/.github/FUNDING.yml000066400000000000000000000000231515623615500214410ustar00rootroot00000000000000--- github: jelmer upstream-ontologist-py-0.2.11/.github/dependabot.yml000066400000000000000000000007141515623615500224630ustar00rootroot00000000000000# Please see the documentation for all configuration options: # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates version: 2 updates: - package-ecosystem: "cargo" directory: "/" schedule: interval: "weekly" - package-ecosystem: "github-actions" directory: "/" schedule: interval: weekly - package-ecosystem: "pip" directory: "/" schedule: interval: "weekly" upstream-ontologist-py-0.2.11/.github/gpg-error-config000077500000000000000000000005601515623615500227270ustar00rootroot00000000000000#!/bin/sh # gpg-error-config: simple replacement gpg-error-config that is a shim # for pkg-config. # Parse flags for arg in "$@"; do case $arg in --cflags) pkg-config --cflags gpg-error ;; --libs) pkg-config --libs gpg-error ;; --version) pkg-config --modversion gpg-error ;; *) echo "Unknown option: $arg" >&2 exit 1 ;; esac done upstream-ontologist-py-0.2.11/.github/gpgme-config000077500000000000000000000007771515623615500221340ustar00rootroot00000000000000#!/bin/bash # Parse gpgme-config-like flags, then invoke `pkg-config gpgme`: # * Pass --cflags and --libs through # * Map --version to --modversion # * Ignore --thread=pthread # Parse flags for arg in "$@"; do case "$arg" in --cflags|--libs|--modversion) flags="$flags $arg" ;; --version) flags="$flags --modversion" ;; --thread=pthread) ;; --prefix) flags="$flags --variable=prefix" ;; *) echo "Unknown flag: $arg" >&2 exit 1 ;; esac done exec pkg-config gpgme $flags upstream-ontologist-py-0.2.11/.github/workflows/000077500000000000000000000000001515623615500216665ustar00rootroot00000000000000upstream-ontologist-py-0.2.11/.github/workflows/auto-merge.yml000066400000000000000000000011341515623615500244550ustar00rootroot00000000000000name: Dependabot auto-merge on: pull_request_target permissions: pull-requests: write contents: write jobs: dependabot: runs-on: ubuntu-latest if: ${{ github.actor == 'dependabot[bot]' }} steps: - name: Dependabot metadata id: metadata uses: dependabot/fetch-metadata@v2 with: github-token: "${{ secrets.GITHUB_TOKEN }}" - name: Enable auto-merge for Dependabot PRs run: gh pr merge --auto --squash "$PR_URL" env: PR_URL: ${{github.event.pull_request.html_url}} GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} upstream-ontologist-py-0.2.11/.github/workflows/pythonpackage.yml000066400000000000000000000044511515623615500252520ustar00rootroot00000000000000--- name: Python package "on": push: pull_request: schedule: - cron: '0 6 * * *' # Daily 6AM UTC build jobs: python: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest] python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] fail-fast: false steps: - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} - name: Install pre-dependencies run: | python -m pip install -U pip "setuptools>=60" setuptools-rust - name: Install dependencies (Linux) run: | sudo apt -y update sudo apt -y install libxml2-dev libxslt1-dev if: "matrix.os == 'ubuntu-latest'" - name: Install dependencies (Mac OS X) run: | brew install pcre if: "matrix.os == 'macos-latest'" - name: Install dependencies run: | python -m pip install \ '.[readme,cargo,pyproject,debian_watch,debian_rules,debian_changelog,setup.cfg]' python setup.py build_ext -i if: "matrix.os == 'ubuntu-latest'" - name: Install dependencies run: | python -m pip install \ '.[readme,cargo,pyproject,debian_watch,debian_rules,debian_changelog,setup.cfg]' python setup.py build_ext -i if: "matrix.os == 'macos-latest'" - name: Install breezy run: | python -m pip install breezy if: "matrix.os != 'windows-latest'" - name: Style checks (ruff) run: | python -m pip install --upgrade pip python -m pip install --upgrade ".[dev]" python -m ruff check py tests python -m ruff format --check py tests - name: Style checks (yamllint) run: | python -m pip install --upgrade yamllint yamllint . - name: Typing checks run: | pip install -U mypy types-docutils types-Markdown types-toml \ types-beautifulsoup4 python -m mypy py/upstream_ontologist/ tests/ - name: Test suite run run: | python -m unittest tests.test_suite env: PYTHONHASHSEED: random PYTHONPATH: py upstream-ontologist-py-0.2.11/.github/workflows/wheels.yaml000066400000000000000000000054041515623615500240440ustar00rootroot00000000000000--- name: Build Python Wheels "on": push: pull_request: schedule: - cron: "0 6 * * *" # Daily 6AM UTC build jobs: build-wheels: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest] fail-fast: true steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 - name: Install native dependencies (Ubuntu) run: | sudo apt-get update sudo apt-get install -y libgpgme-dev libgpg-error-dev if: "matrix.os == 'ubuntu-latest'" - name: set up rust if: matrix.os != 'ubuntu' uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Install native dependencies (MacOS) run: brew install swig gpgme if: "matrix.os == 'macos-latest'" - name: Install dependencies run: | python -m pip install --upgrade pip pip install setuptools wheel cibuildwheel - name: Install gpg on supported platforms run: | mkdir -p "$HOME/.local/bin" cp .github/gpgme-config "$HOME/.local/bin/gpgme-config" cp .github/gpg-error-config "$HOME/.local/bin/gpg-error-config" echo "$HOME/.local/bin" >> $GITHUB_PATH pip install -U gpg if: "matrix.os != 'windows-latest'" - name: Set up QEMU uses: docker/setup-qemu-action@v4 if: "matrix.os == 'ubuntu-latest'" - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse - name: Upload wheels uses: actions/upload-artifact@v7 with: name: artifact-${{ matrix.os }} path: ./wheelhouse/*.whl build-sdist: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 - name: Install dependencies run: | python -m pip install --upgrade pip pip install build - name: Build sdist run: python -m build --sdist - name: Upload sdist uses: actions/upload-artifact@v7 with: name: artifact-source path: ./dist/*.tar.gz publish: runs-on: ubuntu-latest needs: - build-sdist - build-wheels if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') permissions: id-token: write environment: name: pypi url: https://pypi.org/p/upstream-ontologist steps: - uses: actions/setup-python@v6 - name: Download wheels uses: actions/download-artifact@v8 with: merge-multiple: true patterns: artifact-* path: dist - name: Publish package distributions to PyPI uses: pypa/gh-action-pypi-publish@release/v1 upstream-ontologist-py-0.2.11/.gitignore000066400000000000000000000003401515623615500202560ustar00rootroot00000000000000*~ __pycache__ .mypy_cache MANIFEST build dist upstream_ontologist.egg-info .eggs .tox .coverage htmlcov target *.swp src/vcs.rs upstream_ontologist/_upstream_ontologist.*.so py/upstream_ontologist/_upstream_ontologist.*.so upstream-ontologist-py-0.2.11/Cargo.lock000066400000000000000000005310471515623615500202100ustar00rootroot00000000000000# This file is automatically @generated by Cargo. # It is not intended for manual editing. version = 4 [[package]] name = "addr2line" version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" dependencies = [ "gimli", ] [[package]] name = "adler2" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aho-corasick" version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] [[package]] name = "allocator-api2" version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "android_system_properties" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" dependencies = [ "libc", ] [[package]] name = "annotate-snippets" version = "0.12.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74fc7650eedcb2fee505aad48491529e408f0e854c2d9f63eb86c1361b9b3f93" dependencies = [ "anstyle", "memchr", "unicode-width", ] [[package]] name = "anstream" version = "0.6.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" dependencies = [ "anstyle", "anstyle-parse 0.2.7", "anstyle-query", "anstyle-wincon", "colorchoice", "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstream" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", "anstyle-parse 1.0.0", "anstyle-query", "anstyle-wincon", "colorchoice", "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" [[package]] name = "anstyle-parse" version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-parse" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", "windows-sys 0.61.2", ] [[package]] name = "anyhow" version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "ar_archive_writer" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7eb93bbb63b9c227414f6eb3a0adfddca591a8ce1e9b60661bb08969b87e340b" dependencies = [ "object", ] [[package]] name = "arc-swap" version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9f3647c145568cec02c42054e07bdf9a5a698e15b466fb2341bfc393cd24aa5" dependencies = [ "rustversion", ] [[package]] name = "arrayref" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "ascii-canvas" version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" dependencies = [ "term", ] [[package]] name = "async-trait" version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "atomic-waker" version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "autocfg" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "aws-lc-rs" version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94bffc006df10ac2a68c83692d734a465f8ee6c5b384d8545a636f81d858f4bf" dependencies = [ "aws-lc-sys", "zeroize", ] [[package]] name = "aws-lc-sys" version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4321e568ed89bb5a7d291a7f37997c2c0df89809d7b6d12062c81ddb54aa782e" dependencies = [ "cc", "cmake", "dunce", "fs_extra", ] [[package]] name = "backtrace" version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" dependencies = [ "addr2line", "cfg-if", "libc", "miniz_oxide", "object", "rustc-demangle", "windows-link", ] [[package]] name = "base16ct" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" [[package]] name = "base64" version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" [[package]] name = "bit-set" version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" dependencies = [ "bit-vec 0.6.3", ] [[package]] name = "bit-set" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ "bit-vec 0.8.0", ] [[package]] name = "bit-vec" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" [[package]] name = "bit-vec" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitflags" version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" [[package]] name = "bitmaps" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" dependencies = [ "typenum", ] [[package]] name = "blake3" version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" dependencies = [ "arrayref", "arrayvec", "cc", "cfg-if", "constant_time_eq", "cpufeatures", ] [[package]] name = "block-buffer" version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ "generic-array", ] [[package]] name = "block2" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" dependencies = [ "objc2", ] [[package]] name = "boxcar" version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "36f64beae40a84da1b4b26ff2761a5b895c12adc41dc25aaee1c4f2bbfe97a6e" [[package]] name = "breezyshim" version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a615c1d1d86de0c9534d3bf6b449955a82564f93d906c29fedc9628d4fae05bd" dependencies = [ "chrono", "ctor", "lazy-regex", "lazy_static", "log", "patchkit", "percent-encoding", "pyo3", "pyo3-filelike", "regex", "serde", "tempfile", "url", "whoami", ] [[package]] name = "bstr" version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" dependencies = [ "memchr", "regex-automata 0.4.14", "serde", ] [[package]] name = "bumpalo" version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" [[package]] name = "byteorder" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" [[package]] name = "cargo" version = "0.94.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d279f29211012cf2ecaf6c5f6845389b361ce050cc2b4bcbfcbf8c191a43fb36" dependencies = [ "annotate-snippets", "anstream 0.6.21", "anstyle", "anyhow", "base64", "blake3", "cargo-credential", "cargo-credential-libsecret", "cargo-credential-macos-keychain", "cargo-credential-wincred", "cargo-platform", "cargo-util", "cargo-util-schemas", "clap", "clap_complete", "color-print", "crates-io", "curl", "curl-sys", "filetime", "flate2", "git2", "git2-curl", "gix", "glob", "hex", "hmac", "home", "http-auth", "ignore", "im-rc", "indexmap", "itertools 0.14.0", "jiff", "jobserver", "libc", "libgit2-sys", "memchr", "opener", "os_info", "pasetors", "pathdiff", "rand 0.9.2", "regex", "rusqlite", "rustc-hash 2.1.1", "rustc-stable-hash", "rustfix", "same-file", "semver", "serde", "serde-untagged", "serde_ignored", "serde_json", "sha1", "shell-escape", "supports-hyperlinks", "supports-unicode", "tar", "tempfile", "thiserror 2.0.18", "time", "toml 0.9.12+spec-1.1.0", "toml_edit", "tracing", "tracing-chrome", "tracing-subscriber", "unicase", "unicode-ident", "unicode-width", "url", "walkdir", "windows-sys 0.61.2", "winnow", ] [[package]] name = "cargo-credential" version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e36f089041deadf16226478a7737a833864fbda09408c7af237b9d615eeb6d69" dependencies = [ "anyhow", "libc", "serde", "serde_json", "thiserror 2.0.18", "time", "windows-sys 0.60.2", ] [[package]] name = "cargo-credential-libsecret" version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6f199366cecd4e86e3db8c16d4054ea3c53287250a18190929f74be26bb8642" dependencies = [ "anyhow", "cargo-credential", "libloading", ] [[package]] name = "cargo-credential-macos-keychain" version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf99df49467cac5cc000b9134f4faf9ecc54484462d314ce605ff6e19c523f90" dependencies = [ "cargo-credential", "security-framework", ] [[package]] name = "cargo-credential-wincred" version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9be5164881738c558a89fd0fd25cdda82a587dab6d2616e4a3ba0c9069a29c35" dependencies = [ "cargo-credential", "windows-sys 0.61.2", ] [[package]] name = "cargo-platform" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87a0c0e6148f11f01f32650a2ea02d532b2ad4e81d8bd41e6e565b5adc5e6082" dependencies = [ "serde", "serde_core", ] [[package]] name = "cargo-util" version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a4b72539a4e322539ac3cd07d7e63d60ca3823f3143a2d39a9f8fcdace0e8ca" dependencies = [ "anyhow", "core-foundation 0.10.1", "filetime", "hex", "ignore", "jobserver", "libc", "miow", "same-file", "sha2", "shell-escape", "tempfile", "tracing", "walkdir", "windows-sys 0.61.2", ] [[package]] name = "cargo-util-schemas" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddf185f0e9ea7f8a670e847decce09c41b536019a0deb7741d001c5836209e0e" dependencies = [ "semver", "serde", "serde-untagged", "serde-value", "thiserror 2.0.18", "toml 0.9.12+spec-1.1.0", "unicode-ident", "url", ] [[package]] name = "cc" version = "1.2.57" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423" dependencies = [ "find-msvc-tools", "jobserver", "libc", "shlex", ] [[package]] name = "cesu8" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cfg_aliases" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "charset" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1f927b07c74ba84c7e5fe4db2baeb3e996ab2688992e39ac68ce3220a677c7e" dependencies = [ "base64", "encoding_rs", ] [[package]] name = "chrono" version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" dependencies = [ "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", "windows-link", ] [[package]] name = "chumsky" version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ba4a05c9ce83b07de31b31c874e87c069881ac4355db9e752e3a55c11ec75a6" dependencies = [ "hashbrown 0.15.5", "regex-automata 0.3.9", "serde", "stacker", "unicode-ident", "unicode-segmentation", ] [[package]] name = "clap" version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" dependencies = [ "clap_builder", "clap_derive", ] [[package]] name = "clap_builder" version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ "anstream 1.0.0", "anstyle", "clap_lex", "strsim", "terminal_size", ] [[package]] name = "clap_complete" version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19c9f1dde76b736e3681f28cec9d5a61299cbaae0fce80a68e43724ad56031eb" dependencies = [ "clap", "clap_lex", "is_executable", "shlex", ] [[package]] name = "clap_derive" version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a" dependencies = [ "heck", "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "clap_lex" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "clap_mangen" version = "0.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e30ffc187e2e3aeafcd1c6e2aa416e29739454c0ccaa419226d5ecd181f2d78" dependencies = [ "clap", "roff", ] [[package]] name = "clru" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "197fd99cb113a8d5d9b6376f3aa817f32c1078f2343b714fff7d2ca44fdf67d5" dependencies = [ "hashbrown 0.16.1", ] [[package]] name = "cmake" version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75443c44cd6b379beb8c5b45d85d0773baf31cce901fe7bb252f4eff3008ef7d" dependencies = [ "cc", ] [[package]] name = "color-print" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3aa954171903797d5623e047d9ab69d91b493657917bdfb8c2c80ecaf9cdb6f4" dependencies = [ "color-print-proc-macro", ] [[package]] name = "color-print-proc-macro" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "692186b5ebe54007e45a59aea47ece9eb4108e141326c304cdc91699a7118a22" dependencies = [ "nom", "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "colorchoice" version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" [[package]] name = "combine" version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" dependencies = [ "bytes", "memchr", ] [[package]] name = "configparser" version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e57e3272f0190c3f1584272d613719ba5fc7df7f4942fe542e63d949cf3a649b" [[package]] name = "const-oid" version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const-random" version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" dependencies = [ "const-random-macro", ] [[package]] name = "const-random-macro" version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ "getrandom 0.2.17", "once_cell", "tiny-keccak", ] [[package]] name = "constant_time_eq" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" [[package]] name = "core-foundation" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", ] [[package]] name = "core-foundation" version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", ] [[package]] name = "core-foundation-sys" version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "countme" version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636" [[package]] name = "cpufeatures" version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] [[package]] name = "crates-io" version = "0.40.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec97b1f074b7b2fe478fb89e51a26e25a75ae2de02d4c8cc85c5f206dd628286" dependencies = [ "curl", "percent-encoding", "serde", "serde_json", "thiserror 2.0.18", "url", ] [[package]] name = "crc32fast" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] [[package]] name = "crossbeam-channel" version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-deque" version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-bigint" version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", "rand_core 0.6.4", "subtle", "zeroize", ] [[package]] name = "crypto-common" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", "typenum", ] [[package]] name = "csv" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938" dependencies = [ "csv-core", "itoa", "ryu", "serde_core", ] [[package]] name = "csv-core" version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782" dependencies = [ "memchr", ] [[package]] name = "ct-codecs" version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b10589d1a5e400d61f9f38f12f884cfd080ff345de8f17efda36fe0e4a02aa8" [[package]] name = "ctor" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "424e0138278faeb2b401f174ad17e715c829512d74f3d1e81eb43365c2e0590e" dependencies = [ "ctor-proc-macro", "dtor", ] [[package]] name = "ctor-proc-macro" version = "0.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" [[package]] name = "curl" version = "0.4.49" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79fc3b6dd0b87ba36e565715bf9a2ced221311db47bd18011676f24a6066edbc" dependencies = [ "curl-sys", "libc", "openssl-probe 0.1.6", "openssl-sys", "schannel", "socket2", "windows-sys 0.59.0", ] [[package]] name = "curl-sys" version = "0.4.85+curl-8.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0efa6142b5ecc05f6d3eaa39e6af4888b9d3939273fb592c92b7088a8cf3fdb" dependencies = [ "cc", "libc", "libnghttp2-sys", "libz-sys", "openssl-sys", "pkg-config", "vcpkg", "windows-sys 0.59.0", ] [[package]] name = "dashmap" version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ "cfg-if", "crossbeam-utils", "hashbrown 0.14.5", "lock_api", "once_cell", "parking_lot_core", ] [[package]] name = "data-encoding" version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" [[package]] name = "deb822-derive" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e83ef29a094bcb2b7dd0f609ace7f5a34ef9a62e0731ebd350637640320a3b15" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "deb822-fast" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "114c474fa4cd5d6d24bb5e68b36fa4ef70f5b830e3cc14a9b66a12e71a15aeb9" dependencies = [ "deb822-derive", ] [[package]] name = "deb822-lossless" version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faaa7a773199a9a6d6bcacd9a838bf55de295bc2f918870d5245712efca46d74" dependencies = [ "regex", "rowan", "serde", ] [[package]] name = "debbugs" version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2ec91295e2d33b5e0d4eb4e3cc6c52c06d6a92392d0fc1c0cbb8ca4d6e3992d" dependencies = [ "debversion", "lazy-regex", "log", "mailparse", "maplit", "reqwest", "tokio", "xmltree", ] [[package]] name = "debcargo" version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "754d15e70a4cb7ed00945a2747878a28097de43a2913f83ef4dddcf110d7b8bc" dependencies = [ "anyhow", "cargo", "cargo-util", "cargo-util-schemas", "chrono", "clap", "clap_mangen", "debian-control", "env_logger", "filetime", "flate2", "git2", "glob", "indexmap", "itertools 0.14.0", "log", "nu-ansi-term", "regex", "semver", "serde", "serde_derive", "tar", "tempfile", "textwrap", "toml 0.9.12+spec-1.1.0", "walkdir", ] [[package]] name = "debian-changelog" version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "484b1e3bb5a6f3f94b3b06a99fa725c6f869a5a8bb1ee4205d8370a1877faaec" dependencies = [ "chrono", "debversion", "lazy-regex", "log", "rowan", "textwrap", "whoami", ] [[package]] name = "debian-control" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8e7a132e60387fb66da3f27011b3d9c5fb3b4ae39a1b33cdbc23d39d2f57d4b" dependencies = [ "chrono", "deb822-fast", "deb822-lossless", "debversion", "regex", "rowan", "url", ] [[package]] name = "debian-copyright" version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01c90ee6e47e031e722b39bab253640da69fe6fe65170919c3a2f1133c168ac2" dependencies = [ "deb822-fast", "deb822-lossless", "debversion", "regex", ] [[package]] name = "debian-watch" version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2caf4ad059a6070b2baf8563486434236985ff41628c0a3a62e7a7faaa2f0a28" dependencies = [ "clap", "deb822-lossless", "debversion", "m_lexer", "regex", "rowan", "url", ] [[package]] name = "debversion" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8ba0e270fb9f27dbb4c46e08d2ad27e69501d6ca573bfdf9e0aa793e7377929" dependencies = [ "chrono", "lazy-regex", "num-bigint", ] [[package]] name = "der" version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", "pem-rfc7468", "zeroize", ] [[package]] name = "deranged" version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ "powerfmt", "serde_core", ] [[package]] name = "diff" version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" [[package]] name = "digest" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", "const-oid", "crypto-common", "subtle", ] [[package]] name = "dirs-next" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" dependencies = [ "cfg-if", "dirs-sys-next", ] [[package]] name = "dirs-sys-next" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ "libc", "redox_users", "winapi", ] [[package]] name = "dispatch2" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" dependencies = [ "bitflags", "objc2", ] [[package]] name = "displaydoc" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "distro-info" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef12237f2ced990e453ec0b69230752e73be0a357817448c50a62f8bbbe0ca71" dependencies = [ "chrono", "csv", "failure", ] [[package]] name = "dlv-list" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" dependencies = [ "const-random", ] [[package]] name = "document_tree" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6742722dd3e6cd908bc522283cb5502e25f696d1c9904fb251ec266b6b3f9cce" dependencies = [ "anyhow", "regex", "serde", "serde_derive", "url", ] [[package]] name = "dtor" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "404d02eeb088a82cfd873006cb713fe411306c7d182c344905e101fb1167d301" dependencies = [ "dtor-proc-macro", ] [[package]] name = "dtor-proc-macro" version = "0.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" [[package]] name = "dunce" version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "ecdsa" version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ "der", "digest", "elliptic-curve", "rfc6979", "signature", "spki", ] [[package]] name = "ed25519-compact" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ce99a9e19c84beb4cc35ece85374335ccc398240712114c85038319ed709bd" dependencies = [ "getrandom 0.3.4", ] [[package]] name = "either" version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "elliptic-curve" version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ "base16ct", "crypto-bigint", "digest", "ff", "generic-array", "group", "hkdf", "pem-rfc7468", "pkcs8", "rand_core 0.6.4", "sec1", "subtle", "zeroize", ] [[package]] name = "ena" version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eabffdaee24bd1bf95c5ef7cec31260444317e72ea56c4c91750e8b7ee58d5f1" dependencies = [ "log", ] [[package]] name = "encoding_rs" version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ "cfg-if", ] [[package]] name = "env_filter" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a1c3cc8e57274ec99de65301228b537f1e4eedc1b8e0f9411c6caac8ae7308f" dependencies = [ "log", "regex", ] [[package]] name = "env_logger" version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2daee4ea451f429a58296525ddf28b45a3b64f1acf6587e2067437bb11e218d" dependencies = [ "anstream 0.6.21", "anstyle", "env_filter", "jiff", "log", ] [[package]] name = "equivalent" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "erased-serde" version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2add8a07dd6a8d93ff627029c51de145e12686fbc36ecb298ac22e74cf02dec" dependencies = [ "serde", "serde_core", "typeid", ] [[package]] name = "errno" version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", "windows-sys 0.61.2", ] [[package]] name = "failure" version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" dependencies = [ "backtrace", "failure_derive", ] [[package]] name = "failure_derive" version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ "proc-macro2", "quote", "syn 1.0.109", "synstructure 0.12.6", ] [[package]] name = "fallible-iterator" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" [[package]] name = "fallible-streaming-iterator" version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" [[package]] name = "faster-hex" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7223ae2d2f179b803433d9c830478527e92b8117eab39460edae7f1614d9fb73" dependencies = [ "heapless", "serde", ] [[package]] name = "fastrand" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "ff" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ "rand_core 0.6.4", "subtle", ] [[package]] name = "fiat-crypto" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64cd1e32ddd350061ae6edb1b082d7c54915b5c672c389143b9a63403a109f24" [[package]] name = "filetime" version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" dependencies = [ "cfg-if", "libc", "libredox", ] [[package]] name = "find-msvc-tools" version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "fixedbitset" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" dependencies = [ "crc32fast", "miniz_oxide", "zlib-rs 0.6.3", ] [[package]] name = "fnv" version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "foldhash" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" [[package]] name = "foreign-types" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" dependencies = [ "foreign-types-shared", ] [[package]] name = "foreign-types-shared" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] [[package]] name = "fs-err" version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73fde052dbfc920003cfd2c8e2c6e6d4cc7c1091538c3a24226cec0665ab08c0" dependencies = [ "autocfg", ] [[package]] name = "fs_extra" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" [[package]] name = "futf" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" dependencies = [ "mac", "new_debug_unreachable", ] [[package]] name = "futures" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", "futures-executor", "futures-io", "futures-sink", "futures-task", "futures-util", ] [[package]] name = "futures-channel" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", ] [[package]] name = "futures-core" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", "futures-util", ] [[package]] name = "futures-io" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-macro" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "futures-sink" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-util" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", "futures-io", "futures-macro", "futures-sink", "futures-task", "memchr", "pin-project-lite", "slab", ] [[package]] name = "generic-array" version = "0.14.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2" dependencies = [ "typenum", "version_check", "zeroize", ] [[package]] name = "getopts" version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df" dependencies = [ "unicode-width", ] [[package]] name = "getrandom" version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "js-sys", "libc", "wasi", "wasm-bindgen", ] [[package]] name = "getrandom" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "js-sys", "libc", "r-efi 5.3.0", "wasip2", "wasm-bindgen", ] [[package]] name = "getrandom" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" dependencies = [ "cfg-if", "libc", "r-efi 6.0.0", "wasip2", "wasip3", ] [[package]] name = "gimli" version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" [[package]] name = "git2" version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b88256088d75a56f8ecfa070513a775dd9107f6530ef14919dac831af9cfe2b" dependencies = [ "bitflags", "libc", "libgit2-sys", "log", "openssl-probe 0.1.6", "openssl-sys", "url", ] [[package]] name = "git2-curl" version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be8dcabbc09ece4d30a9aa983d5804203b7e2f8054a171f792deff59b56d31fa" dependencies = [ "curl", "git2", "log", "url", ] [[package]] name = "gix" version = "0.74.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5fd3a6fea165debe0e80648495f894aa2371a771e3ceb7a7dcc304f1c4344c43" dependencies = [ "gix-actor 0.35.6", "gix-attributes", "gix-command", "gix-commitgraph", "gix-config 0.47.1", "gix-credentials", "gix-date 0.10.7", "gix-diff", "gix-dir", "gix-discover", "gix-features 0.44.1", "gix-filter", "gix-fs 0.17.0", "gix-glob 0.22.1", "gix-hash 0.20.1", "gix-hashtable 0.10.0", "gix-ignore", "gix-index", "gix-lock 19.0.0", "gix-negotiate", "gix-object 0.51.1", "gix-odb", "gix-pack", "gix-path 0.10.22", "gix-pathspec", "gix-prompt", "gix-protocol", "gix-ref 0.54.1", "gix-refspec", "gix-revision", "gix-revwalk", "gix-sec 0.12.2", "gix-shallow", "gix-status", "gix-submodule", "gix-tempfile 19.0.1", "gix-trace", "gix-transport", "gix-traverse", "gix-url", "gix-utils", "gix-validate 0.10.1", "gix-worktree", "prodash 30.0.1", "smallvec", "thiserror 2.0.18", ] [[package]] name = "gix-actor" version = "0.35.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "987a51a7e66db6ef4dc030418eb2a42af6b913a79edd8670766122d8af3ba59e" dependencies = [ "bstr", "gix-date 0.10.7", "gix-utils", "itoa", "thiserror 2.0.18", "winnow", ] [[package]] name = "gix-actor" version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e5e5b518339d5e6718af108fd064d4e9ba33caf728cf487352873d76411df35" dependencies = [ "bstr", "gix-date 0.15.0", "gix-error", "winnow", ] [[package]] name = "gix-attributes" version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc6591add69314fc43db078076a8da6f07957c65abb0b21c3e1b6a3cf50aa18d" dependencies = [ "bstr", "gix-glob 0.22.1", "gix-path 0.10.22", "gix-quote", "gix-trace", "kstring", "smallvec", "thiserror 2.0.18", "unicode-bom", ] [[package]] name = "gix-bitmap" version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d982fc7ef0608e669851d0d2a6141dae74c60d5a27e8daa451f2a4857bbf41e2" dependencies = [ "thiserror 2.0.18", ] [[package]] name = "gix-chunk" version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c356b3825677cb6ff579551bb8311a81821e184453cbd105e2fc5311b288eeb" dependencies = [ "thiserror 2.0.18", ] [[package]] name = "gix-command" version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46f9c425730a654835351e6da8c3c69ba1804f8b8d4e96d027254151138d5c64" dependencies = [ "bstr", "gix-path 0.10.22", "gix-quote", "gix-trace", "shell-words", ] [[package]] name = "gix-commitgraph" version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "826994ff6c01f1ff00d6a1844d7506717810a91ffed143da71e3bf39369751ef" dependencies = [ "bstr", "gix-chunk", "gix-hash 0.20.1", "memmap2", "thiserror 2.0.18", ] [[package]] name = "gix-config" version = "0.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e74f57ea99025de9207db53488be4d59cf2000f617964c1b550880524fefbc3" dependencies = [ "bstr", "gix-config-value 0.15.3", "gix-features 0.44.1", "gix-glob 0.22.1", "gix-path 0.10.22", "gix-ref 0.54.1", "gix-sec 0.12.2", "memchr", "smallvec", "thiserror 2.0.18", "unicode-bom", "winnow", ] [[package]] name = "gix-config" version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c24b190bd42b55724368c28ae750840b48e2038b9b5281202de6fca4ec1fce1" dependencies = [ "bstr", "gix-config-value 0.17.1", "gix-features 0.46.1", "gix-glob 0.24.0", "gix-path 0.11.1", "gix-ref 0.60.0", "gix-sec 0.13.1", "memchr", "smallvec", "thiserror 2.0.18", "unicode-bom", "winnow", ] [[package]] name = "gix-config-value" version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c489abb061c74b0c3ad790e24a606ef968cebab48ec673d6a891ece7d5aef64" dependencies = [ "bitflags", "bstr", "gix-path 0.10.22", "libc", "thiserror 2.0.18", ] [[package]] name = "gix-config-value" version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "441a300bc3645a1f45cba495b9175f90f47256ce43f2ee161da0031e3ac77c92" dependencies = [ "bitflags", "bstr", "gix-path 0.11.1", "libc", "thiserror 2.0.18", ] [[package]] name = "gix-credentials" version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20c2f7e9cda17bd982cfd4f7b7a2486239bb5be3e0893cf4b0178b8814ea3742" dependencies = [ "bstr", "gix-command", "gix-config-value 0.15.3", "gix-date 0.10.7", "gix-path 0.10.22", "gix-prompt", "gix-sec 0.12.2", "gix-trace", "gix-url", "thiserror 2.0.18", ] [[package]] name = "gix-date" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "661245d045aa7c16ba4244daaabd823c562c3e45f1f25b816be2c57ee09f2171" dependencies = [ "bstr", "itoa", "jiff", "smallvec", "thiserror 2.0.18", ] [[package]] name = "gix-date" version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c2f2155782090fd947c2f7904166b9f3c3da0d91358adb011f753ea3a55c0ff" dependencies = [ "bstr", "gix-error", "itoa", "jiff", "smallvec", ] [[package]] name = "gix-diff" version = "0.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd78d9da421baca219a650d71c797706117095635d7963f21bb6fdf2410abe04" dependencies = [ "bstr", "gix-attributes", "gix-command", "gix-filter", "gix-fs 0.17.0", "gix-hash 0.20.1", "gix-index", "gix-object 0.51.1", "gix-path 0.10.22", "gix-pathspec", "gix-tempfile 19.0.1", "gix-trace", "gix-traverse", "gix-worktree", "imara-diff", "thiserror 2.0.18", ] [[package]] name = "gix-dir" version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f99fb4dcba076453d791949bf3af977c5678a1cbd76740ec2cfe37e29431daf3" dependencies = [ "bstr", "gix-discover", "gix-fs 0.17.0", "gix-ignore", "gix-index", "gix-object 0.51.1", "gix-path 0.10.22", "gix-pathspec", "gix-trace", "gix-utils", "gix-worktree", "thiserror 2.0.18", ] [[package]] name = "gix-discover" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d24547153810634636471af88338240e6ab0831308cd41eb6ebfffea77811c6" dependencies = [ "bstr", "dunce", "gix-fs 0.17.0", "gix-hash 0.20.1", "gix-path 0.10.22", "gix-ref 0.54.1", "gix-sec 0.12.2", "thiserror 2.0.18", ] [[package]] name = "gix-error" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2dfe8025209bf2a72d97a6f2dff105b93e5ebcf131ffa3d3f1728ce4ac3767b" dependencies = [ "bstr", ] [[package]] name = "gix-features" version = "0.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfa64593d1586135102307fb57fb3a9d3868b6b1f45a4da1352cce5070f8916a" dependencies = [ "bytes", "crc32fast", "crossbeam-channel", "gix-path 0.10.22", "gix-trace", "gix-utils", "libc", "libz-rs-sys", "once_cell", "parking_lot", "prodash 30.0.1", "thiserror 2.0.18", "walkdir", ] [[package]] name = "gix-features" version = "0.46.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a83a5fe8927de3bb02b0cfb87165dbfb49f04d4c297767443f2e1011ecc15bdd" dependencies = [ "gix-path 0.11.1", "gix-trace", "gix-utils", "libc", "prodash 31.0.0", "walkdir", ] [[package]] name = "gix-filter" version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d1253452c9808da01eaaf9b1c4929b9982efec29ef0a668b3326b8046d9b8fb" dependencies = [ "bstr", "encoding_rs", "gix-attributes", "gix-command", "gix-hash 0.20.1", "gix-object 0.51.1", "gix-packetline-blocking", "gix-path 0.10.22", "gix-quote", "gix-trace", "gix-utils", "smallvec", "thiserror 2.0.18", ] [[package]] name = "gix-fs" version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f1ecd896258cdc5ccd94d18386d17906b8de265ad2ecf68e3bea6b007f6a28f" dependencies = [ "bstr", "fastrand", "gix-features 0.44.1", "gix-path 0.10.22", "gix-utils", "thiserror 2.0.18", ] [[package]] name = "gix-fs" version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de4bd0d8e6c6ef03485205f8eecc0359042a866d26dba569075db1ebcc005970" dependencies = [ "bstr", "fastrand", "gix-features 0.46.1", "gix-path 0.11.1", "gix-utils", "thiserror 2.0.18", ] [[package]] name = "gix-glob" version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74254992150b0a88fdb3ad47635ab649512dff2cbbefca7916bb459894fc9d56" dependencies = [ "bitflags", "bstr", "gix-features 0.44.1", "gix-path 0.10.22", ] [[package]] name = "gix-glob" version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b03e6cd88cc0dc1eafa1fddac0fb719e4e74b6ea58dd016e71125fde4a326bee" dependencies = [ "bitflags", "bstr", "gix-features 0.46.1", "gix-path 0.11.1", ] [[package]] name = "gix-hash" version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "826036a9bee95945b0be1e2394c64cd4289916c34a639818f8fd5153906985c1" dependencies = [ "faster-hex", "gix-features 0.44.1", "sha1-checked", "thiserror 2.0.18", ] [[package]] name = "gix-hash" version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8ced05d2d7b13bff08b2f7eb4e47cfeaf00b974c2ddce08377c4fe1f706b3eb" dependencies = [ "faster-hex", "gix-features 0.46.1", "sha1-checked", "thiserror 2.0.18", ] [[package]] name = "gix-hashtable" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a27d4a3ea9640da504a2657fef3419c517fd71f1767ad8935298bcc805edd195" dependencies = [ "gix-hash 0.20.1", "hashbrown 0.16.1", "parking_lot", ] [[package]] name = "gix-hashtable" version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52f1eecdd006390cbed81f105417dbf82a6fe40842022006550f2e32484101da" dependencies = [ "gix-hash 0.22.1", "hashbrown 0.16.1", "parking_lot", ] [[package]] name = "gix-ignore" version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93b6a9679a1488123b7f2929684bacfd9cd2a24f286b52203b8752cbb8d7fc49" dependencies = [ "bstr", "gix-glob 0.22.1", "gix-path 0.10.22", "gix-trace", "unicode-bom", ] [[package]] name = "gix-index" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31244542fb98ea4f3e964a4f8deafc2f4c77ad42bed58a1e8424bca1965fae99" dependencies = [ "bitflags", "bstr", "filetime", "fnv", "gix-bitmap", "gix-features 0.44.1", "gix-fs 0.17.0", "gix-hash 0.20.1", "gix-lock 19.0.0", "gix-object 0.51.1", "gix-traverse", "gix-utils", "gix-validate 0.10.1", "hashbrown 0.16.1", "itoa", "libc", "memmap2", "rustix", "smallvec", "thiserror 2.0.18", ] [[package]] name = "gix-lock" version = "19.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "729d7857429a66023bc0c29d60fa21d0d6ae8862f33c1937ba89e0f74dd5c67f" dependencies = [ "gix-tempfile 19.0.1", "gix-utils", "thiserror 2.0.18", ] [[package]] name = "gix-lock" version = "21.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbe09cf05ba7c679bba189acc29eeea137f643e7fff1b5dff879dfd45248be31" dependencies = [ "gix-tempfile 21.0.1", "gix-utils", "thiserror 2.0.18", ] [[package]] name = "gix-negotiate" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89e16c96e052467d64c8f75a703b78976b33b034b9ff1f1d0c056c584319b0b8" dependencies = [ "bitflags", "gix-commitgraph", "gix-date 0.10.7", "gix-hash 0.20.1", "gix-object 0.51.1", "gix-revwalk", "smallvec", "thiserror 2.0.18", ] [[package]] name = "gix-object" version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87ba1815638759c80d2318c8e98296fb396f577c2e588a3d9c13f9a5d5184051" dependencies = [ "bstr", "gix-actor 0.35.6", "gix-date 0.10.7", "gix-features 0.44.1", "gix-hash 0.20.1", "gix-hashtable 0.10.0", "gix-path 0.10.22", "gix-utils", "gix-validate 0.10.1", "itoa", "smallvec", "thiserror 2.0.18", "winnow", ] [[package]] name = "gix-object" version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "013eae8e072c6155191ac266950dfbc8d162408642571b32e2c6b3e4b03740fb" dependencies = [ "bstr", "gix-actor 0.40.0", "gix-date 0.15.0", "gix-features 0.46.1", "gix-hash 0.22.1", "gix-hashtable 0.12.0", "gix-path 0.11.1", "gix-utils", "gix-validate 0.11.0", "itoa", "smallvec", "thiserror 2.0.18", "winnow", ] [[package]] name = "gix-odb" version = "0.71.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6efc6736d3ea62640efe8c1be695fb0760af63614a7356d2091208a841f1a634" dependencies = [ "arc-swap", "gix-date 0.10.7", "gix-features 0.44.1", "gix-fs 0.17.0", "gix-hash 0.20.1", "gix-hashtable 0.10.0", "gix-object 0.51.1", "gix-pack", "gix-path 0.10.22", "gix-quote", "parking_lot", "tempfile", "thiserror 2.0.18", ] [[package]] name = "gix-pack" version = "0.61.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719c60524be76874f4769da20d525ad2c00a0e7059943cc4f31fcb65cfb6b260" dependencies = [ "clru", "gix-chunk", "gix-features 0.44.1", "gix-hash 0.20.1", "gix-hashtable 0.10.0", "gix-object 0.51.1", "gix-path 0.10.22", "gix-tempfile 19.0.1", "memmap2", "parking_lot", "smallvec", "thiserror 2.0.18", ] [[package]] name = "gix-packetline" version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64286a8b5148e76ab80932e72762dd27ccf6169dd7a134b027c8a262a8262fcf" dependencies = [ "bstr", "faster-hex", "gix-trace", "thiserror 2.0.18", ] [[package]] name = "gix-packetline-blocking" version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89c59c3ad41e68cb38547d849e9ef5ccfc0d00f282244ba1441ae856be54d001" dependencies = [ "bstr", "faster-hex", "gix-trace", "thiserror 2.0.18", ] [[package]] name = "gix-path" version = "0.10.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cb06c3e4f8eed6e24fd915fa93145e28a511f4ea0e768bae16673e05ed3f366" dependencies = [ "bstr", "gix-trace", "gix-validate 0.10.1", "thiserror 2.0.18", ] [[package]] name = "gix-path" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7163b1633d35846a52ef8093f390cec240e2d55da99b60151883035e5169cd85" dependencies = [ "bstr", "gix-trace", "gix-validate 0.11.0", "thiserror 2.0.18", ] [[package]] name = "gix-pathspec" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d05e28457dca7c65a2dbe118869aab922a5bd382b7bb10cff5354f366845c128" dependencies = [ "bitflags", "bstr", "gix-attributes", "gix-config-value 0.15.3", "gix-glob 0.22.1", "gix-path 0.10.22", "thiserror 2.0.18", ] [[package]] name = "gix-prompt" version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "868e6516dfa16fdcbc5f8c935167d085f2ae65ccd4c9476a4319579d12a69d8d" dependencies = [ "gix-command", "gix-config-value 0.15.3", "parking_lot", "rustix", "thiserror 2.0.18", ] [[package]] name = "gix-protocol" version = "0.52.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64f19873bbf924fd077580d4ccaaaeddb67c3b3c09a8ffb61e6b4cb67e3c9302" dependencies = [ "bstr", "gix-credentials", "gix-date 0.10.7", "gix-features 0.44.1", "gix-hash 0.20.1", "gix-lock 19.0.0", "gix-negotiate", "gix-object 0.51.1", "gix-ref 0.54.1", "gix-refspec", "gix-revwalk", "gix-shallow", "gix-trace", "gix-transport", "gix-utils", "maybe-async", "thiserror 2.0.18", "winnow", ] [[package]] name = "gix-quote" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96fc2ff2ec8cc0c92807f02eab1f00eb02619fc2810d13dc42679492fcc36757" dependencies = [ "bstr", "gix-utils", "thiserror 2.0.18", ] [[package]] name = "gix-ref" version = "0.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8881d262f28eda39c244e60ae968f4f6e56c747f65addd6f4100b25f75ed8b88" dependencies = [ "gix-actor 0.35.6", "gix-features 0.44.1", "gix-fs 0.17.0", "gix-hash 0.20.1", "gix-lock 19.0.0", "gix-object 0.51.1", "gix-path 0.10.22", "gix-tempfile 19.0.1", "gix-utils", "gix-validate 0.10.1", "memmap2", "thiserror 2.0.18", "winnow", ] [[package]] name = "gix-ref" version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cc7b230945f02d706a49bcf823b671785ecd9e88e713b8bd2ca5db104c97add" dependencies = [ "gix-actor 0.40.0", "gix-features 0.46.1", "gix-fs 0.19.1", "gix-hash 0.22.1", "gix-lock 21.0.1", "gix-object 0.57.0", "gix-path 0.11.1", "gix-tempfile 21.0.1", "gix-utils", "gix-validate 0.11.0", "memmap2", "thiserror 2.0.18", "winnow", ] [[package]] name = "gix-refspec" version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93147960f77695ba89b72019b789679278dd4dad6a0f9a4a5bf2fd07aba56912" dependencies = [ "bstr", "gix-hash 0.20.1", "gix-revision", "gix-validate 0.10.1", "smallvec", "thiserror 2.0.18", ] [[package]] name = "gix-revision" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c5267e530d8762842be7d51b48d2b134c9dec5b650ca607f735a56a4b12413" dependencies = [ "bstr", "gix-commitgraph", "gix-date 0.10.7", "gix-hash 0.20.1", "gix-object 0.51.1", "gix-revwalk", "thiserror 2.0.18", ] [[package]] name = "gix-revwalk" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02e2de4f91d712b1f6873477f769225fe430ffce2af8c7c85721c3ff955783b3" dependencies = [ "gix-commitgraph", "gix-date 0.10.7", "gix-hash 0.20.1", "gix-hashtable 0.10.0", "gix-object 0.51.1", "smallvec", "thiserror 2.0.18", ] [[package]] name = "gix-sec" version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea9962ed6d9114f7f100efe038752f41283c225bb507a2888903ac593dffa6be" dependencies = [ "bitflags", "gix-path 0.10.22", "libc", "windows-sys 0.61.2", ] [[package]] name = "gix-sec" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e014df75f3d7f5c98b18b45c202422da6236a1c0c0a50997c3f41e601f3ad511" dependencies = [ "bitflags", "gix-path 0.11.1", "libc", "windows-sys 0.61.2", ] [[package]] name = "gix-shallow" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2374692db1ee1ffa0eddcb9e86ec218f7c4cdceda800ebc5a9fdf73a8c08223" dependencies = [ "bstr", "gix-hash 0.20.1", "gix-lock 19.0.0", "thiserror 2.0.18", ] [[package]] name = "gix-status" version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c64039358f66c955a471432aef0ea1eeebc7afe0e0a4be7b6b737cc19925e3b" dependencies = [ "bstr", "filetime", "gix-diff", "gix-dir", "gix-features 0.44.1", "gix-filter", "gix-fs 0.17.0", "gix-hash 0.20.1", "gix-index", "gix-object 0.51.1", "gix-path 0.10.22", "gix-pathspec", "gix-worktree", "portable-atomic", "thiserror 2.0.18", ] [[package]] name = "gix-submodule" version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bacc06333b50abc4fc06204622c2dd92850de2066bb5d421ac776d2bef7ae55" dependencies = [ "bstr", "gix-config 0.47.1", "gix-path 0.10.22", "gix-pathspec", "gix-refspec", "gix-url", "thiserror 2.0.18", ] [[package]] name = "gix-tempfile" version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e265fc6b54e57693232a79d84038381ebfda7b1a3b1b8a9320d4d5fe6e820086" dependencies = [ "dashmap", "gix-fs 0.17.0", "libc", "parking_lot", "tempfile", ] [[package]] name = "gix-tempfile" version = "21.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d9ab2c89fe4bfd4f1d8700aa4516534c170d8a21ae2c554167374607c2eaf16" dependencies = [ "gix-fs 0.19.1", "libc", "parking_lot", "tempfile", ] [[package]] name = "gix-trace" version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f69a13643b8437d4ca6845e08143e847a36ca82903eed13303475d0ae8b162e0" [[package]] name = "gix-transport" version = "0.49.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8da4a77922accb1e26e610c7a84ef7e6b34fd07112e6a84afd68d7f3e795957" dependencies = [ "base64", "bstr", "curl", "gix-command", "gix-credentials", "gix-features 0.44.1", "gix-packetline", "gix-quote", "gix-sec 0.12.2", "gix-url", "thiserror 2.0.18", ] [[package]] name = "gix-traverse" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "412126bade03a34f5d4125fd64878852718575b3b360eaae3b29970cb555e2a2" dependencies = [ "bitflags", "gix-commitgraph", "gix-date 0.10.7", "gix-hash 0.20.1", "gix-hashtable 0.10.0", "gix-object 0.51.1", "gix-revwalk", "smallvec", "thiserror 2.0.18", ] [[package]] name = "gix-url" version = "0.33.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d995249a1cf1ad79ba10af6499d4bf37cb78035c0983eaa09ec5910da694957c" dependencies = [ "bstr", "gix-features 0.44.1", "gix-path 0.10.22", "percent-encoding", "thiserror 2.0.18", ] [[package]] name = "gix-utils" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "befcdbdfb1238d2854591f760a48711bed85e72d80a10e8f2f93f656746ef7c5" dependencies = [ "bstr", "fastrand", "unicode-normalization", ] [[package]] name = "gix-validate" version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b1e63a5b516e970a594f870ed4571a8fdcb8a344e7bd407a20db8bd61dbfde4" dependencies = [ "bstr", "thiserror 2.0.18", ] [[package]] name = "gix-validate" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ec1eff98d91941f47766367cba1be746bab662bad761d9891ae6f7882f7840b" dependencies = [ "bstr", ] [[package]] name = "gix-worktree" version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8df3dfc8b62b0eccc923c757b40f488abc357c85c03d798622edfc3eb5137e04" dependencies = [ "bstr", "gix-attributes", "gix-features 0.44.1", "gix-fs 0.17.0", "gix-glob 0.22.1", "gix-hash 0.20.1", "gix-ignore", "gix-index", "gix-object 0.51.1", "gix-path 0.10.22", "gix-validate 0.10.1", ] [[package]] name = "glob" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "globset" version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3" dependencies = [ "aho-corasick", "bstr", "log", "regex-automata 0.4.14", "regex-syntax 0.8.10", ] [[package]] name = "group" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", "rand_core 0.6.4", "subtle", ] [[package]] name = "h2" version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", "http", "indexmap", "slab", "tokio", "tokio-util", "tracing", ] [[package]] name = "hash32" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" dependencies = [ "byteorder", ] [[package]] name = "hashbrown" version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "allocator-api2", "equivalent", "foldhash 0.1.5", ] [[package]] name = "hashbrown" version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" dependencies = [ "allocator-api2", "equivalent", "foldhash 0.2.0", ] [[package]] name = "hashlink" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" dependencies = [ "hashbrown 0.15.5", ] [[package]] name = "heapless" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" dependencies = [ "hash32", "stable_deref_trait", ] [[package]] name = "heck" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hkdf" version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ "hmac", ] [[package]] name = "hmac" version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ "digest", ] [[package]] name = "home" version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" dependencies = [ "windows-sys 0.61.2", ] [[package]] name = "html5ever" version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" dependencies = [ "log", "mac", "markup5ever 0.11.0", "proc-macro2", "quote", "syn 1.0.109", ] [[package]] name = "html5ever" version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1054432bae2f14e0061e33d23402fbaa67a921d319d56adc6bcf887ddad1cbc2" dependencies = [ "log", "markup5ever 0.38.0", ] [[package]] name = "http" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ "bytes", "itoa", ] [[package]] name = "http-auth" version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "150fa4a9462ef926824cf4519c84ed652ca8f4fbae34cb8af045b5cbcaf98822" dependencies = [ "memchr", ] [[package]] name = "http-body" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http", ] [[package]] name = "http-body-util" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", "http", "http-body", "pin-project-lite", ] [[package]] name = "httparse" version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "hyper" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" dependencies = [ "atomic-waker", "bytes", "futures-channel", "futures-core", "h2", "http", "http-body", "httparse", "itoa", "pin-project-lite", "pin-utils", "smallvec", "tokio", "want", ] [[package]] name = "hyper-rustls" version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ "http", "hyper", "hyper-util", "rustls", "rustls-pki-types", "tokio", "tokio-rustls", "tower-service", ] [[package]] name = "hyper-util" version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ "base64", "bytes", "futures-channel", "futures-util", "http", "http-body", "hyper", "ipnet", "libc", "percent-encoding", "pin-project-lite", "socket2", "system-configuration", "tokio", "tower-service", "tracing", "windows-registry", ] [[package]] name = "iana-time-zone" version = "0.1.65" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "log", "wasm-bindgen", "windows-core", ] [[package]] name = "iana-time-zone-haiku" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ "cc", ] [[package]] name = "icu_collections" version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ "displaydoc", "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] name = "icu_locale_core" version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ "displaydoc", "litemap", "tinystr", "writeable", "zerovec", ] [[package]] name = "icu_normalizer" version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ "icu_collections", "icu_normalizer_data", "icu_properties", "icu_provider", "smallvec", "zerovec", ] [[package]] name = "icu_normalizer_data" version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ "icu_collections", "icu_locale_core", "icu_properties_data", "icu_provider", "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" [[package]] name = "icu_provider" version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ "displaydoc", "icu_locale_core", "writeable", "yoke", "zerofrom", "zerotrie", "zerovec", ] [[package]] name = "id-arena" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" [[package]] name = "idna" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", "utf8_iter", ] [[package]] name = "idna_adapter" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", ] [[package]] name = "ignore" version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3d782a365a015e0f5c04902246139249abf769125006fbe7649e2ee88169b4a" dependencies = [ "crossbeam-deque", "globset", "log", "memchr", "regex-automata 0.4.14", "same-file", "walkdir", "winapi-util", ] [[package]] name = "im-rc" version = "15.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe" dependencies = [ "bitmaps", "rand_core 0.6.4", "rand_xoshiro", "sized-chunks", "typenum", "version_check", ] [[package]] name = "imara-diff" version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17d34b7d42178945f775e84bc4c36dde7c1c6cdfea656d3354d009056f2bb3d2" dependencies = [ "hashbrown 0.15.5", ] [[package]] name = "indexmap" version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", "hashbrown 0.16.1", "serde", "serde_core", ] [[package]] name = "ipnet" version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" [[package]] name = "iri-string" version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" dependencies = [ "memchr", "serde", ] [[package]] name = "is-terminal" version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi", "libc", "windows-sys 0.61.2", ] [[package]] name = "is_executable" version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baabb8b4867b26294d818bf3f651a454b6901431711abb96e296245888d6e8c4" dependencies = [ "windows-sys 0.60.2", ] [[package]] name = "is_terminal_polyfill" version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ "either", ] [[package]] name = "itertools" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ "either", ] [[package]] name = "itertools" version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ "either", ] [[package]] name = "itoa" version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "jiff" version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" dependencies = [ "jiff-static", "jiff-tzdb-platform", "log", "portable-atomic", "portable-atomic-util", "serde_core", "windows-sys 0.61.2", ] [[package]] name = "jiff-static" version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "jiff-tzdb" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c900ef84826f1338a557697dc8fc601df9ca9af4ac137c7fb61d4c6f2dfd3076" [[package]] name = "jiff-tzdb-platform" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" dependencies = [ "jiff-tzdb", ] [[package]] name = "jni" version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" dependencies = [ "cesu8", "cfg-if", "combine", "jni-sys", "log", "thiserror 1.0.69", "walkdir", "windows-sys 0.45.0", ] [[package]] name = "jni-sys" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ "getrandom 0.3.4", "libc", ] [[package]] name = "js-sys" version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" dependencies = [ "once_cell", "wasm-bindgen", ] [[package]] name = "kstring" version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "558bf9508a558512042d3095138b1f7b8fe90c5467d94f9f1da28b3731c5dbd1" dependencies = [ "static_assertions", ] [[package]] name = "lalrpop" version = "0.19.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a1cbf952127589f2851ab2046af368fd20645491bb4b376f04b7f94d7a9837b" dependencies = [ "ascii-canvas", "bit-set 0.5.3", "diff", "ena", "is-terminal", "itertools 0.10.5", "lalrpop-util", "petgraph", "regex", "regex-syntax 0.6.29", "string_cache 0.8.9", "term", "tiny-keccak", "unicode-xid", ] [[package]] name = "lalrpop-util" version = "0.19.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3c48237b9604c5a4702de6b824e02006c3214327564636aef27c1028a8fa0ed" dependencies = [ "regex", ] [[package]] name = "lazy-regex" version = "3.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bae91019476d3ec7147de9aa291cadb6d870abf2f3015d2da73a90325ac1496" dependencies = [ "lazy-regex-proc_macros", "once_cell", "regex", ] [[package]] name = "lazy-regex-proc_macros" version = "3.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4de9c1e1439d8b7b3061b2d209809f447ca33241733d9a3c01eabf2dc8d94358" dependencies = [ "proc-macro2", "quote", "regex", "syn 2.0.117", ] [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "leb128fmt" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libc" version = "0.2.183" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" [[package]] name = "libgit2-sys" version = "0.18.3+1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9b3acc4b91781bb0b3386669d325163746af5f6e4f73e6d2d630e09a35f3487" dependencies = [ "cc", "libc", "libssh2-sys", "libz-sys", "openssl-sys", "pkg-config", ] [[package]] name = "libloading" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60" dependencies = [ "cfg-if", "windows-link", ] [[package]] name = "libnghttp2-sys" version = "0.1.12+1.68.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31d4c51112b381b39a072a6010bc5d3e5557996c5d0150abacd1d349b2636299" dependencies = [ "cc", "libc", ] [[package]] name = "libredox" version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a" dependencies = [ "bitflags", "libc", "plain", "redox_syscall 0.7.3", ] [[package]] name = "libsqlite3-sys" version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f" dependencies = [ "cc", "pkg-config", "vcpkg", ] [[package]] name = "libssh2-sys" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "220e4f05ad4a218192533b300327f5150e809b54c4ec83b5a1d91833601811b9" dependencies = [ "cc", "libc", "libz-sys", "openssl-sys", "pkg-config", "vcpkg", ] [[package]] name = "libz-rs-sys" version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c10501e7805cee23da17c7790e59df2870c0d4043ec6d03f67d31e2b53e77415" dependencies = [ "zlib-rs 0.5.5", ] [[package]] name = "libz-sys" version = "1.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d52f4c29e2a68ac30c9087e1b772dc9f44a2b66ed44edf2266cf2be9b03dafc1" dependencies = [ "cc", "libc", "pkg-config", "vcpkg", ] [[package]] name = "linux-raw-sys" version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "lock_api" version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ "scopeguard", ] [[package]] name = "log" version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "lru-slab" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" [[package]] name = "m_lexer" version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7e51ebf91162d585a5bae05e4779efc4a276171cb880d61dd6fab11c98467a7" dependencies = [ "regex", ] [[package]] name = "mac" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" [[package]] name = "mailparse" version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60819a97ddcb831a5614eb3b0174f3620e793e97e09195a395bfa948fd68ed2f" dependencies = [ "charset", "data-encoding", "quoted_printable", ] [[package]] name = "makefile-lossless" version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c741b7fb8c560314dac3b6e1cce721cd4ad68463bc0f036b7b6654267935aaa" dependencies = [ "log", "rowan", ] [[package]] name = "maplit" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" [[package]] name = "markup5ever" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" dependencies = [ "log", "phf 0.10.1", "phf_codegen 0.10.0", "string_cache 0.8.9", "string_cache_codegen 0.5.4", "tendril 0.4.3", ] [[package]] name = "markup5ever" version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8983d30f2915feeaaab2d6babdd6bc7e9ed1a00b66b5e6d74df19aa9c0e91862" dependencies = [ "log", "tendril 0.5.0", "web_atoms", ] [[package]] name = "markup5ever_rcdom" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9521dd6750f8e80ee6c53d65e2e4656d7de37064f3a7a5d2d11d05df93839c2" dependencies = [ "html5ever 0.26.0", "markup5ever 0.11.0", "tendril 0.4.3", "xml5ever", ] [[package]] name = "matchers" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ "regex-automata 0.4.14", ] [[package]] name = "maybe-async" version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "memchr" version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "memmap2" version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3" dependencies = [ "libc", ] [[package]] name = "mime" version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "minimal-lexical" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", "simd-adler32", ] [[package]] name = "mio" version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", "wasi", "windows-sys 0.61.2", ] [[package]] name = "miow" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "536bfad37a309d62069485248eeaba1e8d9853aaf951caaeaed0585a95346f08" dependencies = [ "windows-sys 0.61.2", ] [[package]] name = "new_debug_unreachable" version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" [[package]] name = "nix" version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ "bitflags", "cfg-if", "cfg_aliases", "libc", ] [[package]] name = "nom" version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", "minimal-lexical", ] [[package]] name = "normpath" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf23ab2b905654b4cb177e30b629937b3868311d4e1cba859f899c041046e69b" dependencies = [ "windows-sys 0.61.2", ] [[package]] name = "nu-ansi-term" version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ "windows-sys 0.61.2", ] [[package]] name = "num-bigint" version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", ] [[package]] name = "num-conv" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" [[package]] name = "num-integer" version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ "num-traits", ] [[package]] name = "num-traits" version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] [[package]] name = "objc2" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" dependencies = [ "objc2-encode", ] [[package]] name = "objc2-cloud-kit" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" dependencies = [ "bitflags", "objc2", "objc2-foundation", ] [[package]] name = "objc2-core-data" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" dependencies = [ "objc2", "objc2-foundation", ] [[package]] name = "objc2-core-foundation" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ "bitflags", "dispatch2", "objc2", ] [[package]] name = "objc2-core-graphics" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" dependencies = [ "bitflags", "dispatch2", "objc2", "objc2-core-foundation", "objc2-io-surface", ] [[package]] name = "objc2-core-image" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006" dependencies = [ "objc2", "objc2-foundation", ] [[package]] name = "objc2-core-location" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca347214e24bc973fc025fd0d36ebb179ff30536ed1f80252706db19ee452009" dependencies = [ "objc2", "objc2-foundation", ] [[package]] name = "objc2-core-text" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" dependencies = [ "bitflags", "objc2", "objc2-core-foundation", "objc2-core-graphics", ] [[package]] name = "objc2-encode" version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" [[package]] name = "objc2-foundation" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" dependencies = [ "bitflags", "block2", "libc", "objc2", "objc2-core-foundation", ] [[package]] name = "objc2-io-surface" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" dependencies = [ "bitflags", "objc2", "objc2-core-foundation", ] [[package]] name = "objc2-quartz-core" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" dependencies = [ "bitflags", "objc2", "objc2-core-foundation", "objc2-foundation", ] [[package]] name = "objc2-ui-kit" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" dependencies = [ "bitflags", "block2", "objc2", "objc2-cloud-kit", "objc2-core-data", "objc2-core-foundation", "objc2-core-graphics", "objc2-core-image", "objc2-core-location", "objc2-core-text", "objc2-foundation", "objc2-quartz-core", "objc2-user-notifications", ] [[package]] name = "objc2-user-notifications" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9df9128cbbfef73cda168416ccf7f837b62737d748333bfe9ab71c245d76613e" dependencies = [ "objc2", "objc2-foundation", ] [[package]] name = "object" version = "0.37.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" dependencies = [ "memchr", ] [[package]] name = "once_cell" version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "once_cell_polyfill" version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "opam-file-rs" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dc9fde26706c9170630772dd86981d874e9a3107cc456c811e1ee234e0c4863" dependencies = [ "lalrpop", "lalrpop-util", "thiserror 1.0.69", ] [[package]] name = "opener" version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fa337e0cf13357c13ef1dc108df1333eb192f75fc170bea03fcf1fd404c2ee" dependencies = [ "bstr", "normpath", "windows-sys 0.61.2", ] [[package]] name = "openssl" version = "0.10.76" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "951c002c75e16ea2c65b8c7e4d3d51d5530d8dfa7d060b4776828c88cfb18ecf" dependencies = [ "bitflags", "cfg-if", "foreign-types", "libc", "once_cell", "openssl-macros", "openssl-sys", ] [[package]] name = "openssl-macros" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "openssl-probe" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-probe" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" [[package]] name = "openssl-sys" version = "0.9.112" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57d55af3b3e226502be1526dfdba67ab0e9c96fc293004e79576b2b9edb0dbdb" dependencies = [ "cc", "libc", "pkg-config", "vcpkg", ] [[package]] name = "ordered-float" version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" dependencies = [ "num-traits", ] [[package]] name = "ordered-multimap" version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" dependencies = [ "dlv-list", "hashbrown 0.14.5", ] [[package]] name = "orion" version = "0.17.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58fa7b8bd24f9f1b7fa56de934075adba4b6fb1bf0bf38db74f4236e05e14776" dependencies = [ "fiat-crypto", "subtle", ] [[package]] name = "os_info" version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4022a17595a00d6a369236fdae483f0de7f0a339960a53118b818238e132224" dependencies = [ "android_system_properties", "log", "nix", "objc2", "objc2-foundation", "objc2-ui-kit", "windows-sys 0.61.2", ] [[package]] name = "p384" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" dependencies = [ "ecdsa", "elliptic-curve", "primeorder", "sha2", ] [[package]] name = "parking_lot" version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", "parking_lot_core", ] [[package]] name = "parking_lot_core" version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", "redox_syscall 0.5.18", "smallvec", "windows-link", ] [[package]] name = "pasetors" version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e838401fb2873bad417e6a03179014c748746f67311cb7317ab14fc0881fa9f0" dependencies = [ "ct-codecs", "ed25519-compact", "getrandom 0.4.2", "orion", "p384", "rand_core 0.6.4", "regex", "serde", "serde_derive", "serde_json", "sha2", "subtle", "time", "zeroize", ] [[package]] name = "patchkit" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f21e87e02a475262c3166d32fea34710510448b37117cc448c1be03975816baf" dependencies = [ "chrono", "lazy-regex", "lazy_static", "once_cell", "proc-macro2", "regex", "rowan", ] [[package]] name = "pathdiff" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] name = "pem-rfc7468" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" dependencies = [ "base64ct", ] [[package]] name = "pep440_rs" version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31095ca1f396e3de32745f42b20deef7bc09077f918b085307e8eab6ddd8fb9c" dependencies = [ "once_cell", "serde", "unicode-width", "unscanny", "version-ranges", ] [[package]] name = "pep508_rs" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faee7227064121fcadcd2ff788ea26f0d8f2bd23a0574da11eca23bc935bcc05" dependencies = [ "boxcar", "indexmap", "itertools 0.13.0", "once_cell", "pep440_rs", "regex", "rustc-hash 2.1.1", "serde", "smallvec", "thiserror 1.0.69", "unicode-width", "url", "urlencoding", "version-ranges", ] [[package]] name = "percent-encoding" version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662" dependencies = [ "memchr", "ucd-trie", ] [[package]] name = "pest_derive" version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11f486f1ea21e6c10ed15d5a7c77165d0ee443402f0780849d1768e7d9d6fe77" dependencies = [ "pest", "pest_generator", ] [[package]] name = "pest_generator" version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8040c4647b13b210a963c1ed407c1ff4fdfa01c31d6d2a098218702e6664f94f" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "pest_meta" version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89815c69d36021a140146f26659a81d6c2afa33d216d736dd4be5381a7362220" dependencies = [ "pest", "sha2", ] [[package]] name = "petgraph" version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", "indexmap", ] [[package]] name = "phf" version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" dependencies = [ "phf_shared 0.10.0", ] [[package]] name = "phf" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" dependencies = [ "phf_shared 0.13.1", "serde", ] [[package]] name = "phf_codegen" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" dependencies = [ "phf_generator 0.10.0", "phf_shared 0.10.0", ] [[package]] name = "phf_codegen" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1" dependencies = [ "phf_generator 0.13.1", "phf_shared 0.13.1", ] [[package]] name = "phf_generator" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" dependencies = [ "phf_shared 0.10.0", "rand 0.8.5", ] [[package]] name = "phf_generator" version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared 0.11.3", "rand 0.8.5", ] [[package]] name = "phf_generator" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" dependencies = [ "fastrand", "phf_shared 0.13.1", ] [[package]] name = "phf_shared" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" dependencies = [ "siphasher 0.3.11", ] [[package]] name = "phf_shared" version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" dependencies = [ "siphasher 1.0.2", ] [[package]] name = "phf_shared" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" dependencies = [ "siphasher 1.0.2", ] [[package]] name = "pin-project-lite" version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] name = "pin-utils" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ "der", "spki", ] [[package]] name = "pkg-config" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "plain" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" [[package]] name = "portable-atomic" version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "portable-atomic-util" version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "091397be61a01d4be58e7841595bd4bfedb15f1cd54977d79b8271e94ed799a3" dependencies = [ "portable-atomic", ] [[package]] name = "potential_utf" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" dependencies = [ "zerovec", ] [[package]] name = "powerfmt" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ "zerocopy", ] [[package]] name = "precomputed-hash" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" [[package]] name = "prettyplease" version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", "syn 2.0.117", ] [[package]] name = "primeorder" version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" dependencies = [ "elliptic-curve", ] [[package]] name = "proc-macro2" version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] [[package]] name = "prodash" version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a6efc566849d3d9d737c5cb06cc50e48950ebe3d3f9d70631490fff3a07b139" dependencies = [ "parking_lot", ] [[package]] name = "prodash" version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "962200e2d7d551451297d9fdce85138374019ada198e30ea9ede38034e27604c" dependencies = [ "parking_lot", ] [[package]] name = "psm" version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3852766467df634d74f0b2d7819bf8dc483a0eb2e3b0f50f756f9cfe8b0d18d8" dependencies = [ "ar_archive_writer", "cc", ] [[package]] name = "pulldown-cmark" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83c41efbf8f90ac44de7f3a868f0867851d261b56291732d0cbf7cceaaeb55a6" dependencies = [ "bitflags", "getopts", "memchr", "pulldown-cmark-escape", "unicase", ] [[package]] name = "pulldown-cmark-escape" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "007d8adb5ddab6f8e3f491ac63566a7d5002cc7ed73901f72057943fa71ae1ae" [[package]] name = "pyo3" version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf85e27e86080aafd5a22eae58a162e133a589551542b3e5cee4beb27e54f8e1" dependencies = [ "chrono", "libc", "once_cell", "portable-atomic", "pyo3-build-config", "pyo3-ffi", "pyo3-macros", "serde", ] [[package]] name = "pyo3-build-config" version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8bf94ee265674bf76c09fa430b0e99c26e319c945d96ca0d5a8215f31bf81cf7" dependencies = [ "target-lexicon", ] [[package]] name = "pyo3-ffi" version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "491aa5fc66d8059dd44a75f4580a2962c1862a1c2945359db36f6c2818b748dc" dependencies = [ "libc", "pyo3-build-config", ] [[package]] name = "pyo3-filelike" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a8cb6cd0231ea816b4452c0cd37b5215f9ec45b66ed3e748fad8eb39cfd4997" dependencies = [ "pyo3", ] [[package]] name = "pyo3-log" version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26c2ec80932c5c3b2d4fbc578c9b56b2d4502098587edb8bef5b6bfcad43682e" dependencies = [ "arc-swap", "log", "pyo3", ] [[package]] name = "pyo3-macros" version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5d671734e9d7a43449f8480f8b38115df67bef8d21f76837fa75ee7aaa5e52e" dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", "syn 2.0.117", ] [[package]] name = "pyo3-macros-backend" version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22faaa1ce6c430a1f71658760497291065e6450d7b5dc2bcf254d49f66ee700a" dependencies = [ "heck", "proc-macro2", "pyo3-build-config", "quote", "syn 2.0.117", ] [[package]] name = "pyproject-toml" version = "0.13.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6d755483ad14b49e76713b52285235461a5b4f73f17612353e11a5de36a5fd2" dependencies = [ "indexmap", "pep440_rs", "pep508_rs", "serde", "thiserror 2.0.18", "toml 0.9.12+spec-1.1.0", ] [[package]] name = "python-pkginfo" version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "229fe47647d6602b9b0934b21fab8aece1c5a5aeb0a934196a14355fec656623" dependencies = [ "flate2", "fs-err", "mailparse", "rfc2047-decoder", "tar", "thiserror 2.0.18", "zip", ] [[package]] name = "quinn" version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" dependencies = [ "bytes", "cfg_aliases", "pin-project-lite", "quinn-proto", "quinn-udp", "rustc-hash 2.1.1", "rustls", "socket2", "thiserror 2.0.18", "tokio", "tracing", "web-time", ] [[package]] name = "quinn-proto" version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" dependencies = [ "aws-lc-rs", "bytes", "getrandom 0.3.4", "lru-slab", "rand 0.9.2", "ring", "rustc-hash 2.1.1", "rustls", "rustls-pki-types", "slab", "thiserror 2.0.18", "tinyvec", "tracing", "web-time", ] [[package]] name = "quinn-udp" version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" dependencies = [ "cfg_aliases", "libc", "once_cell", "socket2", "tracing", "windows-sys 0.60.2", ] [[package]] name = "quote" version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] [[package]] name = "quoted_printable" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "640c9bd8497b02465aeef5375144c26062e0dcd5939dfcbb0f5db76cb8c17c73" [[package]] name = "r-description" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f97b1f65f8b0a2687d665c2d16e866f69c5c2f0486ccf905b776badacb3ebb53" dependencies = [ "deb822-derive", "deb822-fast", "deb822-lossless", "rowan", "url", ] [[package]] name = "r-efi" version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "r-efi" version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rand" version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha 0.3.1", "rand_core 0.6.4", ] [[package]] name = "rand" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.5", ] [[package]] name = "rand_chacha" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", "rand_core 0.6.4", ] [[package]] name = "rand_chacha" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", "rand_core 0.9.5", ] [[package]] name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ "getrandom 0.2.17", ] [[package]] name = "rand_core" version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" dependencies = [ "getrandom 0.3.4", ] [[package]] name = "rand_xoshiro" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" dependencies = [ "rand_core 0.6.4", ] [[package]] name = "redox_syscall" version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ "bitflags", ] [[package]] name = "redox_syscall" version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" dependencies = [ "bitflags", ] [[package]] name = "redox_users" version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom 0.2.17", "libredox", "thiserror 1.0.69", ] [[package]] name = "regex" version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" dependencies = [ "aho-corasick", "memchr", "regex-automata 0.4.14", "regex-syntax 0.8.10", ] [[package]] name = "regex-automata" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9" dependencies = [ "aho-corasick", "memchr", "regex-syntax 0.7.5", ] [[package]] name = "regex-automata" version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", "regex-syntax 0.8.10", ] [[package]] name = "regex-syntax" version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] name = "regex-syntax" version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" [[package]] name = "reqwest" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801" dependencies = [ "base64", "bytes", "encoding_rs", "futures-channel", "futures-core", "futures-util", "h2", "http", "http-body", "http-body-util", "hyper", "hyper-rustls", "hyper-util", "js-sys", "log", "mime", "percent-encoding", "pin-project-lite", "quinn", "rustls", "rustls-pki-types", "rustls-platform-verifier", "serde", "serde_json", "sync_wrapper", "tokio", "tokio-rustls", "tower", "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", ] [[package]] name = "rfc2047-decoder" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "504ea008279c473dfeafce327fa26bf8825463cfcc06ef82f866187e81334d16" dependencies = [ "base64", "charset", "chumsky", "memchr", "quoted_printable", "thiserror 2.0.18", ] [[package]] name = "rfc6979" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ "hmac", "subtle", ] [[package]] name = "ring" version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", "getrandom 0.2.17", "libc", "untrusted", "windows-sys 0.52.0", ] [[package]] name = "roff" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbf2048e0e979efb2ca7b91c4f1a8d77c91853e9b987c94c555668a8994915ad" [[package]] name = "rowan" version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "417a3a9f582e349834051b8a10c8d71ca88da4211e4093528e36b9845f6b5f21" dependencies = [ "countme", "hashbrown 0.14.5", "rustc-hash 1.1.0", "text-size", ] [[package]] name = "rst_parser" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f3029872a42c0be67d86e3e88bf8c1e73d1da3d714da00b9c29f60a4605bfb1" dependencies = [ "anyhow", "document_tree", "pest", "pest_derive", ] [[package]] name = "rst_renderer" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf982408766e5055367c60382b78dcee50c83b2b731e036a8b510e0aedf1efa1" dependencies = [ "anyhow", "document_tree", "serde-xml-rs", "serde_json", ] [[package]] name = "rusqlite" version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "165ca6e57b20e1351573e3729b958bc62f0e48025386970b6e4d29e7a7e71f3f" dependencies = [ "bitflags", "fallible-iterator", "fallible-streaming-iterator", "hashlink", "libsqlite3-sys", "smallvec", ] [[package]] name = "rust-ini" version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "796e8d2b6696392a43bea58116b667fb4c29727dc5abd27d6acf338bb4f688c7" dependencies = [ "cfg-if", "ordered-multimap", ] [[package]] name = "rustc-demangle" version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" [[package]] name = "rustc-hash" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc-stable-hash" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "781442f29170c5c93b7185ad559492601acdc71d5bb0706f5868094f45cfcd08" [[package]] name = "rustfix" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "864792a841a1d785ba91b8d2a75e1936b40bc517020c3c2958ac403b92e4f00a" dependencies = [ "serde", "serde_json", "thiserror 2.0.18", "tracing", ] [[package]] name = "rustix" version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ "bitflags", "errno", "libc", "linux-raw-sys", "windows-sys 0.61.2", ] [[package]] name = "rustls" version = "0.23.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" dependencies = [ "aws-lc-rs", "once_cell", "rustls-pki-types", "rustls-webpki", "subtle", "zeroize", ] [[package]] name = "rustls-native-certs" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" dependencies = [ "openssl-probe 0.2.1", "rustls-pki-types", "schannel", "security-framework", ] [[package]] name = "rustls-pki-types" version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" dependencies = [ "web-time", "zeroize", ] [[package]] name = "rustls-platform-verifier" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784" dependencies = [ "core-foundation 0.10.1", "core-foundation-sys", "jni", "log", "once_cell", "rustls", "rustls-native-certs", "rustls-platform-verifier-android", "rustls-webpki", "security-framework", "security-framework-sys", "webpki-root-certs", "windows-sys 0.61.2", ] [[package]] name = "rustls-platform-verifier-android" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" version = "0.103.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53" dependencies = [ "aws-lc-rs", "ring", "rustls-pki-types", "untrusted", ] [[package]] name = "rustversion" version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" [[package]] name = "same-file" version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" dependencies = [ "winapi-util", ] [[package]] name = "schannel" version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" dependencies = [ "windows-sys 0.61.2", ] [[package]] name = "scopeguard" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sec1" version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ "base16ct", "der", "generic-array", "pkcs8", "subtle", "zeroize", ] [[package]] name = "security-framework" version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ "bitflags", "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", ] [[package]] name = "security-framework-sys" version = "2.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" dependencies = [ "core-foundation-sys", "libc", ] [[package]] name = "select" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5910c1d91bd7e6e178c0f8eb9e4ad01f814064b4a1c0ae3c906224a3cbf12879" dependencies = [ "bit-set 0.5.3", "html5ever 0.26.0", "markup5ever_rcdom", ] [[package]] name = "semver" version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" dependencies = [ "serde", "serde_core", ] [[package]] name = "serde" version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ "serde_core", "serde_derive", ] [[package]] name = "serde-untagged" version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" dependencies = [ "erased-serde", "serde", "serde_core", "typeid", ] [[package]] name = "serde-value" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" dependencies = [ "ordered-float", "serde", ] [[package]] name = "serde-xml-rs" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65162e9059be2f6a3421ebbb4fef3e74b7d9e7c60c50a0e292c6239f19f1edfa" dependencies = [ "log", "serde", "thiserror 1.0.69", "xml-rs", ] [[package]] name = "serde_core" version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "serde_ignored" version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "115dffd5f3853e06e746965a20dcbae6ee747ae30b543d91b0e089668bb07798" dependencies = [ "serde", "serde_core", ] [[package]] name = "serde_json" version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", "serde", "serde_core", "zmij", ] [[package]] name = "serde_spanned" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" dependencies = [ "serde_core", ] [[package]] name = "serde_yaml" version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ "indexmap", "itoa", "ryu", "serde", "unsafe-libyaml", ] [[package]] name = "sha1" version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", "digest", ] [[package]] name = "sha1-checked" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89f599ac0c323ebb1c6082821a54962b839832b03984598375bff3975b804423" dependencies = [ "digest", "sha1", ] [[package]] name = "sha2" version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", "digest", ] [[package]] name = "sharded-slab" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] [[package]] name = "shell-escape" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" [[package]] name = "shell-words" version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc6fe69c597f9c37bfeeeeeb33da3530379845f10be461a66d16d03eca2ded77" [[package]] name = "shlex" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ "errno", "libc", ] [[package]] name = "signature" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest", "rand_core 0.6.4", ] [[package]] name = "simd-adler32" version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" [[package]] name = "siphasher" version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "siphasher" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" [[package]] name = "sized-chunks" version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" dependencies = [ "bitmaps", "typenum", ] [[package]] name = "slab" version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smallvec" version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "smawk" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" [[package]] name = "socket2" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" dependencies = [ "libc", "windows-sys 0.61.2", ] [[package]] name = "spki" version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", "der", ] [[package]] name = "stable_deref_trait" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "stacker" version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d74a23609d509411d10e2176dc2a4346e3b4aea2e7b1869f19fdedbc71c013" dependencies = [ "cc", "cfg-if", "libc", "psm", "windows-sys 0.59.0", ] [[package]] name = "static_assertions" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "string_cache" version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" dependencies = [ "new_debug_unreachable", "parking_lot", "phf_shared 0.11.3", "precomputed-hash", "serde", ] [[package]] name = "string_cache" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901" dependencies = [ "new_debug_unreachable", "parking_lot", "phf_shared 0.13.1", "precomputed-hash", ] [[package]] name = "string_cache_codegen" version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" dependencies = [ "phf_generator 0.11.3", "phf_shared 0.11.3", "proc-macro2", "quote", ] [[package]] name = "string_cache_codegen" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "585635e46db231059f76c5849798146164652513eb9e8ab2685939dd90f29b69" dependencies = [ "phf_generator 0.13.1", "phf_shared 0.13.1", "proc-macro2", "quote", ] [[package]] name = "strsim" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subtle" version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "supports-hyperlinks" version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e396b6523b11ccb83120b115a0b7366de372751aa6edf19844dfb13a6af97e91" [[package]] name = "supports-unicode" version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2" [[package]] name = "syn" version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] [[package]] name = "syn" version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] [[package]] name = "sync_wrapper" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" dependencies = [ "futures-core", ] [[package]] name = "synstructure" version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ "proc-macro2", "quote", "syn 1.0.109", "unicode-xid", ] [[package]] name = "synstructure" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "system-configuration" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" dependencies = [ "bitflags", "core-foundation 0.9.4", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" dependencies = [ "core-foundation-sys", "libc", ] [[package]] name = "tar" version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" dependencies = [ "filetime", "libc", "xattr", ] [[package]] name = "target-lexicon" version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca" [[package]] name = "tempfile" version = "3.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", "getrandom 0.4.2", "once_cell", "rustix", "windows-sys 0.61.2", ] [[package]] name = "tendril" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" dependencies = [ "futf", "mac", "utf-8", ] [[package]] name = "tendril" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4790fc369d5a530f4b544b094e31388b9b3a37c0f4652ade4505945f5660d24" dependencies = [ "new_debug_unreachable", "utf-8", ] [[package]] name = "term" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" dependencies = [ "dirs-next", "rustversion", "winapi", ] [[package]] name = "terminal_size" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" dependencies = [ "rustix", "windows-sys 0.60.2", ] [[package]] name = "text-size" version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233" [[package]] name = "textwrap" version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" dependencies = [ "smawk", "unicode-linebreak", "unicode-width", ] [[package]] name = "thiserror" version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl 1.0.69", ] [[package]] name = "thiserror" version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ "thiserror-impl 2.0.18", ] [[package]] name = "thiserror-impl" version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "thiserror-impl" version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "thread_local" version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", ] [[package]] name = "time" version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" dependencies = [ "deranged", "itoa", "num-conv", "powerfmt", "serde_core", "time-core", "time-macros", ] [[package]] name = "time-core" version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] name = "time-macros" version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" dependencies = [ "num-conv", "time-core", ] [[package]] name = "tiny-keccak" version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" dependencies = [ "crunchy", ] [[package]] name = "tinystr" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ "displaydoc", "zerovec", ] [[package]] name = "tinyvec" version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" dependencies = [ "tinyvec_macros", ] [[package]] name = "tinyvec_macros" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" version = "1.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" dependencies = [ "bytes", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", "socket2", "tokio-macros", "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "tokio-rustls" version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ "rustls", "tokio", ] [[package]] name = "tokio-util" version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", ] [[package]] name = "toml" version = "0.9.12+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" dependencies = [ "indexmap", "serde_core", "serde_spanned", "toml_datetime 0.7.5+spec-1.1.0", "toml_parser", "toml_writer", "winnow", ] [[package]] name = "toml" version = "1.0.6+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "399b1124a3c9e16766831c6bba21e50192572cdd98706ea114f9502509686ffc" dependencies = [ "indexmap", "serde_core", "serde_spanned", "toml_datetime 1.0.0+spec-1.1.0", "toml_parser", "toml_writer", "winnow", ] [[package]] name = "toml_datetime" version = "0.7.5+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" dependencies = [ "serde_core", ] [[package]] name = "toml_datetime" version = "1.0.0+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32c2555c699578a4f59f0cc68e5116c8d7cabbd45e1409b989d4be085b53f13e" dependencies = [ "serde_core", ] [[package]] name = "toml_edit" version = "0.23.10+spec-1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" dependencies = [ "indexmap", "serde_core", "serde_spanned", "toml_datetime 0.7.5+spec-1.1.0", "toml_parser", "toml_writer", "winnow", ] [[package]] name = "toml_parser" version = "1.0.9+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4" dependencies = [ "winnow", ] [[package]] name = "toml_writer" version = "1.0.6+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" [[package]] name = "tower" version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" dependencies = [ "futures-core", "futures-util", "pin-project-lite", "sync_wrapper", "tokio", "tower-layer", "tower-service", ] [[package]] name = "tower-http" version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ "bitflags", "bytes", "futures-util", "http", "http-body", "iri-string", "pin-project-lite", "tower", "tower-layer", "tower-service", ] [[package]] name = "tower-layer" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "pin-project-lite", "tracing-attributes", "tracing-core", ] [[package]] name = "tracing-attributes" version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "tracing-chrome" version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf0a738ed5d6450a9fb96e86a23ad808de2b727fd1394585da5cdd6788ffe724" dependencies = [ "serde_json", "tracing-core", "tracing-subscriber", ] [[package]] name = "tracing-core" version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", ] [[package]] name = "tracing-log" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ "log", "once_cell", "tracing-core", ] [[package]] name = "tracing-subscriber" version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" dependencies = [ "matchers", "nu-ansi-term", "once_cell", "regex-automata 0.4.14", "sharded-slab", "smallvec", "thread_local", "tracing", "tracing-core", "tracing-log", ] [[package]] name = "try-lock" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typed-path" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e28f89b80c87b8fb0cf04ab448d5dd0dd0ade2f8891bae878de66a75a28600e" [[package]] name = "typeid" version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "ucd-trie" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "unicase" version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" [[package]] name = "unicode-bom" version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7eec5d1121208364f6793f7d2e222bf75a915c19557537745b195b253dd64217" [[package]] name = "unicode-ident" version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-linebreak" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" [[package]] name = "unicode-normalization" version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" [[package]] name = "unicode-xid" version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "unsafe-libyaml" version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" [[package]] name = "unscanny" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47" [[package]] name = "untrusted" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "upstream-ontologist" version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99f29ed191334cbf84bf4d3994871d84d7a83baf973b08d0fe35595e415e546b" dependencies = [ "async-trait", "bit-set 0.8.0", "bit-vec 0.8.0", "breezyshim", "chrono", "configparser", "debbugs", "debcargo", "debian-changelog", "debian-control", "debian-copyright", "debian-watch", "debversion", "distro-info", "futures", "gix-config 0.53.0", "html5ever 0.38.0", "lazy-regex", "lazy_static", "log", "makefile-lossless", "maplit", "opam-file-rs", "openssl", "percent-encoding", "pulldown-cmark", "pyo3", "pyo3-filelike", "pyproject-toml", "python-pkginfo", "quote", "r-description", "regex", "reqwest", "rst_parser", "rst_renderer", "rust-ini", "select", "semver", "serde", "serde_json", "serde_yaml", "shlex", "tendril 0.5.0", "textwrap", "tokio", "toml 1.0.6+spec-1.1.0", "url", "xmltree", ] [[package]] name = "upstream-ontologist-py" version = "0.2.11" dependencies = [ "futures", "log", "pyo3", "pyo3-log", "reqwest", "serde_json", "tokio", "upstream-ontologist", "url", ] [[package]] name = "url" version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", "serde", "serde_derive", ] [[package]] name = "urlencoding" version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] name = "utf-8" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "utf8_iter" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "utf8parse" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "valuable" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version-ranges" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3595ffe225639f1e0fd8d7269dcc05d2fbfea93cfac2fea367daf1adb60aae91" dependencies = [ "smallvec", ] [[package]] name = "version_check" version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "walkdir" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", ] [[package]] name = "want" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ "try-lock", ] [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" dependencies = [ "wit-bindgen", ] [[package]] name = "wasip3" version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ "wit-bindgen", ] [[package]] name = "wasite" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" version = "0.4.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" dependencies = [ "cfg-if", "futures-util", "js-sys", "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" dependencies = [ "quote", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" dependencies = [ "bumpalo", "proc-macro2", "quote", "syn 2.0.117", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" dependencies = [ "unicode-ident", ] [[package]] name = "wasm-encoder" version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" dependencies = [ "leb128fmt", "wasmparser", ] [[package]] name = "wasm-metadata" version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" dependencies = [ "anyhow", "indexmap", "wasm-encoder", "wasmparser", ] [[package]] name = "wasmparser" version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ "bitflags", "hashbrown 0.15.5", "indexmap", "semver", ] [[package]] name = "web-sys" version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" dependencies = [ "js-sys", "wasm-bindgen", ] [[package]] name = "web-time" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", "wasm-bindgen", ] [[package]] name = "web_atoms" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57a9779e9f04d2ac1ce317aee707aa2f6b773afba7b931222bff6983843b1576" dependencies = [ "phf 0.13.1", "phf_codegen 0.13.1", "string_cache 0.9.0", "string_cache_codegen 0.6.1", ] [[package]] name = "webpki-root-certs" version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca" dependencies = [ "rustls-pki-types", ] [[package]] name = "whoami" version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" dependencies = [ "libredox", "wasite", "web-sys", ] [[package]] name = "winapi" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" dependencies = [ "winapi-i686-pc-windows-gnu", "winapi-x86_64-pc-windows-gnu", ] [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ "windows-sys 0.61.2", ] [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ "windows-implement", "windows-interface", "windows-link", "windows-result", "windows-strings", ] [[package]] name = "windows-implement" version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "windows-interface" version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "windows-link" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-registry" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ "windows-link", "windows-result", "windows-strings", ] [[package]] name = "windows-result" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ "windows-link", ] [[package]] name = "windows-strings" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ "windows-link", ] [[package]] name = "windows-sys" version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ "windows-targets 0.42.2", ] [[package]] name = "windows-sys" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ "windows-targets 0.52.6", ] [[package]] name = "windows-sys" version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ "windows-targets 0.52.6", ] [[package]] name = "windows-sys" version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ "windows-targets 0.53.5", ] [[package]] name = "windows-sys" version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ "windows-link", ] [[package]] name = "windows-targets" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" dependencies = [ "windows_aarch64_gnullvm 0.42.2", "windows_aarch64_msvc 0.42.2", "windows_i686_gnu 0.42.2", "windows_i686_msvc 0.42.2", "windows_x86_64_gnu 0.42.2", "windows_x86_64_gnullvm 0.42.2", "windows_x86_64_msvc 0.42.2", ] [[package]] name = "windows-targets" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] [[package]] name = "windows-targets" version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ "windows-link", "windows_aarch64_gnullvm 0.53.1", "windows_aarch64_msvc 0.53.1", "windows_i686_gnu 0.53.1", "windows_i686_gnullvm 0.53.1", "windows_i686_msvc 0.53.1", "windows_x86_64_gnu 0.53.1", "windows_x86_64_gnullvm 0.53.1", "windows_x86_64_msvc 0.53.1", ] [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_gnullvm" version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" [[package]] name = "windows_aarch64_msvc" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_aarch64_msvc" version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" [[package]] name = "windows_i686_gnu" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_gnullvm" version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" [[package]] name = "windows_i686_msvc" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_i686_msvc" version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" [[package]] name = "windows_x86_64_gnu" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnu" version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_gnullvm" version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" [[package]] name = "windows_x86_64_msvc" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "windows_x86_64_msvc" version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winnow" version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" dependencies = [ "memchr", ] [[package]] name = "wit-bindgen" version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" dependencies = [ "wit-bindgen-rust-macro", ] [[package]] name = "wit-bindgen-core" version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" dependencies = [ "anyhow", "heck", "wit-parser", ] [[package]] name = "wit-bindgen-rust" version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" dependencies = [ "anyhow", "heck", "indexmap", "prettyplease", "syn 2.0.117", "wasm-metadata", "wit-bindgen-core", "wit-component", ] [[package]] name = "wit-bindgen-rust-macro" version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" dependencies = [ "anyhow", "prettyplease", "proc-macro2", "quote", "syn 2.0.117", "wit-bindgen-core", "wit-bindgen-rust", ] [[package]] name = "wit-component" version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", "bitflags", "indexmap", "log", "serde", "serde_derive", "serde_json", "wasm-encoder", "wasm-metadata", "wasmparser", "wit-parser", ] [[package]] name = "wit-parser" version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" dependencies = [ "anyhow", "id-arena", "indexmap", "log", "semver", "serde", "serde_derive", "serde_json", "unicode-xid", "wasmparser", ] [[package]] name = "writeable" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" [[package]] name = "xattr" version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" dependencies = [ "libc", "rustix", ] [[package]] name = "xml" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8aa498d22c9bbaf482329839bc5620c46be275a19a812e9a22a2b07529a642a" [[package]] name = "xml-rs" version = "0.8.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" [[package]] name = "xml5ever" version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4034e1d05af98b51ad7214527730626f019682d797ba38b51689212118d8e650" dependencies = [ "log", "mac", "markup5ever 0.11.0", ] [[package]] name = "xmltree" version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbc04313cab124e498ab1724e739720807b6dc405b9ed0edc5860164d2e4ff70" dependencies = [ "xml", ] [[package]] name = "yoke" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ "stable_deref_trait", "yoke-derive", "zerofrom", ] [[package]] name = "yoke-derive" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", "synstructure 0.13.2", ] [[package]] name = "zerocopy" version = "0.8.42" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2578b716f8a7a858b7f02d5bd870c14bf4ddbbcf3a4c05414ba6503640505e3" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" version = "0.8.42" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e6cc098ea4d3bd6246687de65af3f920c430e236bee1e3bf2e441463f08a02f" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "zerofrom" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", "synstructure 0.13.2", ] [[package]] name = "zeroize" version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" [[package]] name = "zerotrie" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" dependencies = [ "displaydoc", "yoke", "zerofrom", ] [[package]] name = "zerovec" version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" dependencies = [ "yoke", "zerofrom", "zerovec-derive", ] [[package]] name = "zerovec-derive" version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "zip" version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b680f2a0cd479b4cff6e1233c483fdead418106eae419dc60200ae9850f6d004" dependencies = [ "crc32fast", "flate2", "indexmap", "memchr", "typed-path", "zopfli", ] [[package]] name = "zlib-rs" version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40990edd51aae2c2b6907af74ffb635029d5788228222c4bb811e9351c0caad3" [[package]] name = "zlib-rs" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3be3d40e40a133f9c916ee3f9f4fa2d9d63435b5fbe1bfc6d9dae0aa0ada1513" [[package]] name = "zmij" version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" [[package]] name = "zopfli" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" dependencies = [ "bumpalo", "crc32fast", "log", "simd-adler32", ] upstream-ontologist-py-0.2.11/Cargo.toml000066400000000000000000000013541515623615500202240ustar00rootroot00000000000000[package] name = "upstream-ontologist-py" version = "0.2.11" authors = ["Jelmer Vernooij "] edition = "2018" license = "Apache-2.0" repository = "https://github.com/jelmer/upstream-ontologist-py.git" homepage = "https://github.com/jelmer/upstream-ontologist-py" publish = false [lib] crate-type = ["cdylib"] [dependencies] upstream-ontologist = "0.3.12" pyo3 = ">=0.27,<0.29" pyo3-log = "0.13" reqwest = { version = ">=0.11, <0.14", features=["blocking", "json"], default-features = false } url = "2.5" serde_json = "1" log = "0.4" tokio = { version = "1.50.0", features = ["rt-multi-thread"] } futures = "0.3.32" [features] default = [] extension-module = ["pyo3/extension-module"] debcargo = ["upstream-ontologist/debcargo"] upstream-ontologist-py-0.2.11/MANIFEST.in000066400000000000000000000004241515623615500200270ustar00rootroot00000000000000include CODE_OF_CONDUCT.md include README.md include SECURITY.md include AUTHORS recursive-include tests *.py README README.md description README.rst include Cargo.toml upstream-ontologist-py/Cargo.toml recursive-include src *.rs recursive-include upstream-ontologist-py *.rs upstream-ontologist-py-0.2.11/Makefile000066400000000000000000000006701515623615500177340ustar00rootroot00000000000000.PHONY: build check unittest coverage coverage-html typing build: python3 setup.py build_ext -i check:: unittest-py unittest-py: build PYTHONPATH=$(shell pwd)/py python3 -m unittest tests.test_suite cargo-test: cargo test check:: cargo-test coverage: build PYTHONPATH=$(shell pwd)/py python3 -m coverage run -m unittest tests.test_suite coverage-html: coverage python3 -m coverage html check:: typing typing: mypy py/ tests/ upstream-ontologist-py-0.2.11/README.md000066400000000000000000000002541515623615500175510ustar00rootroot00000000000000# Python bindings for the upstream ontologist This is a Python package that provides bindings to the [upstream ontologist](https://github.com/jelmer/upstream-ontologist). upstream-ontologist-py-0.2.11/disperse.conf000066400000000000000000000006041515623615500207560ustar00rootroot00000000000000# See https://github.com/jelmer/disperse name: "upstream-ontologist" timeout_days: 5 tag_name: "v$VERSION" update_version { path: "Cargo.toml" match: "^version = \"(.*)\"" new_line: "version = \"$VERSION\"" } update_version { path: "py/upstream_ontologist/__init__.py" match: "^version_string = \"(.*)\"" new_line: "version_string = \"$VERSION\"" } update_manpages: "man/*.1" upstream-ontologist-py-0.2.11/py/000077500000000000000000000000001515623615500167215ustar00rootroot00000000000000upstream-ontologist-py-0.2.11/py/upstream_ontologist/000077500000000000000000000000001515623615500230425ustar00rootroot00000000000000upstream-ontologist-py-0.2.11/py/upstream_ontologist/__init__.py000066400000000000000000000101541515623615500251540ustar00rootroot00000000000000#!/usr/bin/python3 # Copyright (C) 2018 Jelmer Vernooij # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA """Functions for working with upstream metadata. This gathers information about upstreams from various places. Each bit of information gathered is wrapped in a UpstreamDatum object, which contains the field name. The fields used here match those in https://wiki.debian.org/UpstreamMetadata Supported fields: - Homepage - Name - Contact - Repository - Repository-Browse - Bug-Database - Bug-Submit - Screenshots - Archive - Security-Contact Extensions for upstream-ontologist. - SourceForge-Project: Name of the SourceForge project - Wiki: URL to a wiki - Summary: A one-line description - Description: Multi-line description - License: Short description of the license - Copyright - Maintainer - Authors Supported, but currently not set. - FAQ - Donation - Documentation - Registration - Webservice """ from dataclasses import dataclass from email.utils import parseaddr import ruamel.yaml from . import _upstream_ontologist SUPPORTED_CERTAINTIES = ["certain", "confident", "likely", "possible", None] version_string = "0.2.7" USER_AGENT = "upstream-ontologist/" + version_string # Too aggressive? DEFAULT_URLLIB_TIMEOUT = 3 yaml = ruamel.yaml.YAML(typ="safe") @dataclass @yaml.register_class class Person: yaml_tag = "!Person" name: str email: str | None = None url: str | None = None def __init__(self, name, email=None, url=None): self.name = name self.email = email if url and url.startswith("mailto:"): self.email = url[len("mailto:") :] self.url = None else: self.url = url @classmethod def from_yaml(cls, constructor, node): d = {} for k, v in node.value: d[k.value] = v.value return cls(name=d.get("name"), email=d.get("email"), url=d.get("url")) @classmethod def from_string(cls, text): text = text.replace(" at ", "@") text = text.replace(" -at- ", "@") text = text.replace(" -dot- ", ".") text = text.replace("[AT]", "@") if "(" in text and text.endswith(")"): (p1, p2) = text[:-1].split("(", 1) if p2.startswith("https://") or p2.startswith("http://"): url = p2 if "<" in p1: (name, email) = parseaddr(p1) return cls(name=name, email=email, url=url) return cls(name=p1, url=url) elif "@" in p2: return cls(name=p1, email=p2) return cls(text) elif "<" in text: (name, email) = parseaddr(text) return cls(name=name, email=email) else: return cls(name=text) def __str__(self): if self.email: return f"{self.name} <{self.email}>" return self.name UpstreamDatum = _upstream_ontologist.UpstreamDatum UpstreamMetadata = _upstream_ontologist.UpstreamMetadata # If we're setting them new, put Name and Contact first def upstream_metadata_sort_key(x): (k, v) = x return { "Name": "00-Name", "Contact": "01-Contact", }.get(k, k) class UrlUnverifiable(Exception): """Unable to check specified URL.""" def __init__(self, url, reason): self.url = url self.reason = reason class InvalidUrl(Exception): """Specified URL is invalid.""" def __init__(self, url, reason): self.url = url self.reason = reason upstream-ontologist-py-0.2.11/py/upstream_ontologist/_upstream_ontologist.pyi000066400000000000000000000110041515623615500300410ustar00rootroot00000000000000from collections.abc import Iterator from typing import Any def drop_vcs_in_scheme(url: str) -> str: ... def unsplit_vcs_url(repo_url: str, branch: str | None, subpath: str | None) -> str: ... def probe_gitlab_host(hostname: str) -> bool: ... def is_gitlab_site(hostname: str, net_access: bool | None = None) -> bool: ... def guess_repo_from_url(url: str, net_access: bool | None = None) -> str | None: ... def probe_gitlabb_host(hostname: str) -> bool: ... def find_public_repo_url(url: str, net_access: bool | None = None) -> str | None: ... def browse_url_from_repo_url( url: str, branch: str | None = None, subpath: str | None = None, net_access: bool | None = None, ) -> str | None: ... def plausible_vcs_url(url: str) -> bool: ... def plausible_vcs_browse_url(url: str) -> bool: ... def probe_upstream_branch_url(url: str, version: str | None = None) -> bool | None: ... def canonical_git_repo_url(url: str, net_access: bool | None = None) -> str: ... def check_repository_url_canonical(url: str, version: str | None = None) -> str: ... def known_bad_guess(datum: UpstreamDatum) -> bool: ... def url_from_svn_co_command(command: bytes) -> str | None: ... def url_from_git_clone_command(command: bytes) -> str | None: ... def url_from_fossil_clone_command(command: bytes) -> str | None: ... def url_from_cvs_co_command(command: bytes) -> str | None: ... def url_from_vcs_command(command: bytes) -> str | None: ... def find_forge(url: str, net_access: bool | None = None) -> Forge | None: ... def repo_url_from_merge_request_url( url: str, net_access: bool | None = None ) -> str | None: ... def bug_database_from_issue_url( url: str, net_access: bool | None = None ) -> str | None: ... def guess_bug_database_url_from_repo_url( url: str, net_access: bool | None = None ) -> str | None: ... def bug_database_url_from_bug_submit_url( url: str, net_access: bool | None = None ) -> str | None: ... def bug_submit_url_from_bug_database_url( url: str, net_access: bool | None = None ) -> str | None: ... def check_bug_database_canonical(url: str, net_access: bool | None = None) -> str: ... def check_bug_submit_url_canonical(url: str, net_access: bool | None = None) -> str: ... def check_url_canonical(url: str) -> str: ... def fixup_rcp_style_git_repo_url(url: str) -> str: ... def check_upstream_metadata( data: UpstreamMetadata, version: str | None = None ) -> None: ... class ParseError(Exception): ... class NoSuchForgeProject(Exception): ... class Forge: @classmethod def extend_metadata( cls, upstream_metadata: UpstreamMetadata, project: str, certainty: str ) -> None: ... repository_browse_can_be_homepage: bool class GitHub(Forge): ... class GitLab(Forge): ... class SourceForge(Forge): ... class Launchpad(Forge): ... SECURE_SCHEMES: list[str] KNOWN_GITLAB_SITES: list[str] def find_secure_repo_url( url: str, branch: str | None = None, net_access: bool | None = None ) -> str | None: ... def sanitize_url(url: str) -> str: ... def convert_cvs_list_to_str(cvs_list: list[str]) -> str: ... def fixup_broken_git_details( url: str, branch: str | None = None, subpath: str | None = None ) -> tuple[str, str | None, str | None]: ... def guess_upstream_info( path: str, trust_package: bool = False ) -> list[UpstreamDatum]: ... def get_upstream_info( path: str, trust_package: bool = False, net_access: bool | None = None, consult_external_directory: bool = True, check: bool = True, ) -> UpstreamMetadata: ... def extend_upstream_metadata( upstream_metadata: UpstreamMetadata, path: str, minimum_certainty: str, net_access: bool | None = None, consult_external_directory: bool = True, ) -> None: ... def guess_upstream_metadata( path: str, trust_package: bool | None = None, net_access: bool | None = None, consult_external_directory: bool | None = None, check: bool | None = None, ) -> UpstreamMetadata: ... def fix_upstream_metadata(upstream_metadata: UpstreamMetadata) -> None: ... def guess_upstream_metadata_items( path: str, trust_package: bool | None = None, minimum_certainty: str | None = None ) -> Iterator[UpstreamDatum]: ... def update_from_guesses( upstream_metadata: UpstreamMetadata, items: list[UpstreamDatum], ) -> list[UpstreamDatum]: ... class UpstreamMetadata: def __init__(self, **kwargs): ... ... @classmethod def from_dict(cls, data, default_certainty: str | None = None): ... class UpstreamDatum: def __init__(self, name, value: Any, certainty: str | None = None): ... # noqa: ANN401 __version__: str upstream-ontologist-py-0.2.11/py/upstream_ontologist/guess.py000066400000000000000000000032751515623615500245510ustar00rootroot00000000000000#!/usr/bin/python3 # Copyright (C) 2018 Jelmer Vernooij # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA import logging from collections.abc import Iterable, Iterator from . import ( UpstreamDatum, _upstream_ontologist, ) logger = logging.getLogger(__name__) def guess_upstream_info(path, trust_package): return iter(_upstream_ontologist.guess_upstream_info(path, trust_package)) check_upstream_metadata = _upstream_ontologist.check_upstream_metadata extend_upstream_metadata = _upstream_ontologist.extend_upstream_metadata guess_upstream_metadata = _upstream_ontologist.guess_upstream_metadata known_bad_guess = _upstream_ontologist.known_bad_guess def filter_bad_guesses( guesses: Iterable[UpstreamDatum], ) -> Iterator[UpstreamDatum]: return (guess for guess in guesses if not known_bad_guess(guess)) fix_upstream_metadata = _upstream_ontologist.fix_upstream_metadata guess_upstream_metadata_items = _upstream_ontologist.guess_upstream_metadata_items update_from_guesses = _upstream_ontologist.update_from_guesses upstream-ontologist-py-0.2.11/py/upstream_ontologist/py.typed000066400000000000000000000000001515623615500245270ustar00rootroot00000000000000upstream-ontologist-py-0.2.11/py/upstream_ontologist/vcs.py000066400000000000000000000022151515623615500242070ustar00rootroot00000000000000#!/usr/bin/python3 # Copyright (C) 2018 Jelmer Vernooij # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA __all__ = [ "find_public_repo_url", "find_secure_repo_url", "convert_cvs_list_to_str", "fixup_broken_git_details", ] from ._upstream_ontologist import ( # noqa: F401 canonical_git_repo_url, convert_cvs_list_to_str, drop_vcs_in_scheme, find_public_repo_url, find_secure_repo_url, fixup_broken_git_details, fixup_rcp_style_git_repo_url, ) upstream-ontologist-py-0.2.11/pyproject.toml000066400000000000000000000064031515623615500212100ustar00rootroot00000000000000[build-system] requires = ["setuptools>=61.2", "setuptools-rust"] build-backend = "setuptools.build_meta" [tool.mypy] warn_redundant_casts = true warn_unused_configs = true check_untyped_defs = true ignore_missing_imports = false [project] name = "upstream-ontologist" authors = [{name = "Jelmer Vernooij", email = "jelmer@jelmer.uk"}] maintainers = [{name = "Jelmer Vernooij", email = "jelmer@jelmer.uk"}] description = "tracking of upstream project metadata" requires-python = ">= 3.10" dependencies = [ "python_debian", "ruamel.yaml", "breezy>=3.3.0", ] dynamic = ["version"] [project.readme] file = "README.md" content-type = "text/markdown" [project.urls] Homepage = "https://github.com/jelmer/upstream-ontologist-py" Repository = "https://github.com/jelmer/upstream-ontologist-py.git" [project.optional-dependencies] debian_changelog = [ "httplib2>=0.7.8", "python_debian", ] homepage = ["bs4"] readme = [ "docutils", "lxml", "bs4", "pygments", ] "setup.cfg" = ["setuptools"] testing = ["breezy>=3.3.0"] dev = ["ruff==0.15.6"] [tool.setuptools] include-package-data = false [tool.setuptools.packages.find] where = ["py"] include = ["upstream_ontologist"] [tool.setuptools.package-data] upstream_ontologist = ["py.typed"] [tool.setuptools.dynamic] version = {attr = "upstream_ontologist.version_string"} [tool.ruff.lint] ignore = [ "ANN001", "ANN002", "ANN003", "ANN201", "ANN202", "ANN204", "ANN205", "ANN206", "D100", "D101", "D102", "D103", "D104", "D105", "D107", "D204", "D205", "D417", "E501", # line too long "E741", # ambiguous variable name ] select = [ "ANN", "D", "E", "F", "I", "UP", ] [tool.ruff.lint.pydocstyle] convention = "google" [tool.cibuildwheel] before-build = "pip install -U setuptools-rust && rustup default stable && rustup show" environment = {PATH="$HOME/.cargo/bin:$PATH"} # breezyshim needs to embed python, which pypy doesn't support skip = "pp*-* *musllinux*" [tool.cibuildwheel.linux] before-build = "if command -v yum; then yum -y install libatomic openssl3-devel || yum -y install libatomic openssl-devel; fi && if command -v apk; then apk add openssl-dev pkgconfig; fi && pip install -U setuptools-rust && curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain=stable --profile=minimal -y && rustup show" environment = {PATH="$HOME/.cargo/bin:$PATH", OPENSSL_INCLUDE_DIR="/usr/include/openssl3", OPENSSL_LIB_DIR="/usr/lib64/openssl3"} [tool.cibuildwheel.macos] macos = "x86_64 arm64 universal2" before-build = "brew install openssl && pip install -U setuptools-rust && curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain=stable --profile=minimal -y && rustup show" environment = {MACOSX_DEPLOYMENT_TARGET=15.0} [[tool.cibuildwheel.overrides]] select = "*-macosx_arm64" before-build = "pip install -U setuptools-rust && curl https://sh.rustup.rs -sSf | sh -s -- --profile=minimal -y && rustup target add aarch64-apple-darwin" [tool.cibuildwheel.windows] before-build = "vcpkg install openssl && pip install -U setuptools-rust && curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain=stable --profile=minimal -y && rustup show" environment = {CMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake"} upstream-ontologist-py-0.2.11/setup.py000077500000000000000000000007001515623615500200030ustar00rootroot00000000000000#!/usr/bin/python3 import sys from setuptools import setup from setuptools_rust import Binding, RustExtension extra_features = [] if sys.platform != "win32": extra_features.append("debcargo") setup( rust_extensions=[ RustExtension( "upstream_ontologist._upstream_ontologist", "Cargo.toml", binding=Binding.PyO3, features=["extension-module"] + extra_features, ), ], ) upstream-ontologist-py-0.2.11/src/000077500000000000000000000000001515623615500170605ustar00rootroot00000000000000upstream-ontologist-py-0.2.11/src/lib.rs000066400000000000000000000674121515623615500202060ustar00rootroot00000000000000// pyo3 macros use a gil-refs feature #![allow(unexpected_cfgs)] use futures::StreamExt; use pyo3::exceptions::{PyKeyError, PyRuntimeError, PyStopIteration, PyValueError}; use pyo3::import_exception; use pyo3::prelude::*; use pyo3::types::{PyDict, PyTuple, PyType}; use std::str::FromStr; use std::sync::OnceLock; use upstream_ontologist::{Certainty, Origin}; use url::Url; import_exception!(urllib.error, HTTPError); // Global Tokio runtime that's initialized once and reused static RUNTIME: OnceLock = OnceLock::new(); /// Gets or initializes the global Tokio runtime for async operations. /// /// Returns a reference to a static Tokio runtime with 2 worker threads. fn get_runtime() -> &'static tokio::runtime::Runtime { RUNTIME.get_or_init(|| { tokio::runtime::Builder::new_multi_thread() .worker_threads(2) .enable_all() .build() .expect("Failed to create Tokio runtime") }) } /// Removes VCS-specific prefixes from URL schemes. /// /// Converts URLs like "git+https://..." to "https://...". /// /// Args: /// url: The URL string to process. /// /// Returns: /// The URL with VCS prefixes removed from the scheme. #[pyfunction] fn drop_vcs_in_scheme(url: &str) -> String { upstream_ontologist::vcs::drop_vcs_in_scheme(&url.parse().unwrap()) .map_or_else(|| url.to_string(), |u| u.to_string()) } /// Converts a Git repository URL to its canonical form. /// /// This function normalizes Git URLs by resolving redirects and applying /// standard transformations to get the canonical repository location. /// /// Args: /// url: The Git repository URL to canonicalize. /// net_access: Whether to allow network access for checking redirects. /// If None, network access is allowed by default. /// /// Returns: /// The canonical URL string. /// /// Raises: /// RuntimeError: If the URL is invalid. #[pyfunction] #[pyo3(signature = (url, net_access=None))] fn canonical_git_repo_url(url: &str, net_access: Option) -> PyResult { let url = Url::parse(url).map_err(|e| PyRuntimeError::new_err(format!("Invalid URL: {}", e)))?; let rt = get_runtime(); Ok(rt .block_on(upstream_ontologist::vcs::canonical_git_repo_url( &url, net_access, )) .map_or_else(|| url.to_string(), |u| u.to_string())) } /// Attempts to find a public repository URL from a given URL. /// /// This function tries to convert private or internal repository URLs /// to their public equivalents. /// /// Args: /// url: The repository URL to convert. /// net_access: Whether to allow network access for verification. /// /// Returns: /// The public repository URL if found, None otherwise. #[pyfunction] #[pyo3(signature = (url, net_access=None))] fn find_public_repo_url(url: &str, net_access: Option) -> PyResult> { let rt = get_runtime(); Ok(rt.block_on(upstream_ontologist::vcs::find_public_repo_url( url, net_access, ))) } /// Checks if an upstream datum is a known bad guess. /// /// Some metadata values are known to be incorrect or low-quality guesses /// that should be filtered out. /// /// Args: /// datum: The UpstreamDatum to check. /// /// Returns: /// True if the datum is known to be a bad guess, False otherwise. #[pyfunction] fn known_bad_guess(py: Python, datum: Py) -> PyResult { let datum: upstream_ontologist::UpstreamDatum = datum.extract(py)?; Ok(datum.known_bad_guess()) } /// Converts RCP-style Git URLs to standard format. /// /// Transforms URLs in the format "user@host:path" to "ssh://user@host/path". /// /// Args: /// url: The Git URL to fix up. /// /// Returns: /// The URL in standard format. #[pyfunction] fn fixup_rcp_style_git_repo_url(url: &str) -> PyResult { Ok(upstream_ontologist::vcs::fixup_rcp_style_git_repo_url(url) .map_or(url.to_string(), |u| u.to_string())) } /// Finds a secure (HTTPS) version of a repository URL. /// /// Attempts to convert HTTP URLs to HTTPS when possible. /// /// Args: /// url: The repository URL to secure. /// branch: Optional branch name to verify. /// net_access: Whether to allow network access for verification. /// /// Returns: /// The secure URL if found, None otherwise. #[pyfunction] #[pyo3(signature = (url, branch=None, net_access=None))] pub fn find_secure_repo_url( url: String, branch: Option<&str>, net_access: Option, ) -> Option { let rt = get_runtime(); rt.block_on(upstream_ontologist::vcs::find_secure_repo_url( url.parse().unwrap(), branch, net_access, )) .map(|u| u.to_string()) } /// Converts a list of CVS repository URLs to a single string representation. /// /// Args: /// urls: List of CVS repository URLs. /// /// Returns: /// A string representation of the CVS repository if valid, None otherwise. #[pyfunction] fn convert_cvs_list_to_str(urls: Vec) -> Option { let urls = urls.iter().map(|x| x.as_str()).collect::>(); upstream_ontologist::vcs::convert_cvs_list_to_str(urls.as_slice()) } /// Fixes broken or malformed Git repository details. /// /// Attempts to correct common issues with Git repository URLs, branches, /// and subpaths. /// /// Args: /// location: The Git repository URL. /// branch: Optional branch name. /// subpath: Optional subpath within the repository. /// /// Returns: /// A tuple of (fixed_url, fixed_branch, fixed_subpath). #[pyfunction] #[pyo3(signature = (location, branch=None, subpath=None))] fn fixup_broken_git_details( location: &str, branch: Option<&str>, subpath: Option<&str>, ) -> (String, Option, Option) { let rt = get_runtime(); let url = rt.block_on(upstream_ontologist::vcs::fixup_git_url(location)); let location = upstream_ontologist::vcs::VcsLocation { url: url.parse().unwrap(), branch: branch.map(|s| s.to_string()), subpath: subpath.map(|s| s.to_string()), }; let ret = rt.block_on(upstream_ontologist::vcs::fixup_git_location(&location)); ( ret.url.to_string(), ret.branch.as_ref().map(|s| s.to_string()), ret.subpath.as_ref().map(|s| s.to_string()), ) } /// Extracts a string value from a Python object. /// /// Helper function to convert Python objects to Rust strings. fn extract_str_value(py: Python, value: Py) -> PyResult { let value = value.extract::>(py)?; value.extract::(py) } /// A single piece of upstream project metadata with certainty and origin information. /// /// Represents metadata fields like Name, Version, Homepage, Repository, etc. /// along with information about how certain we are of the value and where it came from. #[derive(Clone)] #[pyclass] struct UpstreamDatum(pub(crate) upstream_ontologist::UpstreamDatumWithMetadata); #[pymethods] impl UpstreamDatum { /// Creates a new UpstreamDatum. /// /// Args: /// field: The metadata field name (e.g., "Name", "Version", "Homepage"). /// value: The value for this field. /// certainty: Optional certainty level (e.g., "certain", "confident", "possible"). /// origin: Optional origin information describing where this datum came from. /// /// Raises: /// ValueError: If the field name is not recognized. #[new] #[pyo3(signature = (field, value, certainty=None, origin=None))] fn new( py: Python, field: String, value: Py, certainty: Option, origin: Option, ) -> PyResult { Ok(UpstreamDatum( upstream_ontologist::UpstreamDatumWithMetadata { datum: match field.as_str() { "Name" => { upstream_ontologist::UpstreamDatum::Name(extract_str_value(py, value)?) } "Version" => { upstream_ontologist::UpstreamDatum::Version(extract_str_value(py, value)?) } "Summary" => { upstream_ontologist::UpstreamDatum::Summary(extract_str_value(py, value)?) } "Description" => upstream_ontologist::UpstreamDatum::Description( extract_str_value(py, value)?, ), "Homepage" => { upstream_ontologist::UpstreamDatum::Homepage(extract_str_value(py, value)?) } "Repository" => { // Check if the value is a list rather than a string if let Ok(value) = value.extract::>(py) { upstream_ontologist::UpstreamDatum::Repository(value.join(" ")) } else { upstream_ontologist::UpstreamDatum::Repository(extract_str_value( py, value, )?) } } "Repository-Browse" => upstream_ontologist::UpstreamDatum::RepositoryBrowse( extract_str_value(py, value)?, ), "License" => { upstream_ontologist::UpstreamDatum::License(extract_str_value(py, value)?) } "Author" => { upstream_ontologist::UpstreamDatum::Author(value.extract(py).unwrap()) } "Bug-Database" => upstream_ontologist::UpstreamDatum::BugDatabase( extract_str_value(py, value)?, ), "Bug-Submit" => { upstream_ontologist::UpstreamDatum::BugSubmit(extract_str_value(py, value)?) } "Contact" => { upstream_ontologist::UpstreamDatum::Contact(extract_str_value(py, value)?) } "Cargo-Crate" => upstream_ontologist::UpstreamDatum::CargoCrate( extract_str_value(py, value)?, ), "Security-MD" => upstream_ontologist::UpstreamDatum::SecurityMD( extract_str_value(py, value)?, ), "Security-Contact" => upstream_ontologist::UpstreamDatum::SecurityContact( extract_str_value(py, value)?, ), "Keywords" => { upstream_ontologist::UpstreamDatum::Keywords(value.extract(py).unwrap()) } "Maintainer" => { upstream_ontologist::UpstreamDatum::Maintainer(value.extract(py).unwrap()) } "Copyright" => { upstream_ontologist::UpstreamDatum::Copyright(value.extract(py).unwrap()) } "Documentation" => upstream_ontologist::UpstreamDatum::Documentation( value.extract(py).unwrap(), ), "Go-Import-Path" => { upstream_ontologist::UpstreamDatum::GoImportPath(value.extract(py).unwrap()) } "Download" => { upstream_ontologist::UpstreamDatum::Download(value.extract(py).unwrap()) } "Wiki" => upstream_ontologist::UpstreamDatum::Wiki(value.extract(py).unwrap()), "MailingList" => { upstream_ontologist::UpstreamDatum::MailingList(value.extract(py).unwrap()) } "SourceForge-Project" => { upstream_ontologist::UpstreamDatum::SourceForgeProject( value.extract(py).unwrap(), ) } "Archive" => { upstream_ontologist::UpstreamDatum::Archive(value.extract(py).unwrap()) } "Demo" => upstream_ontologist::UpstreamDatum::Demo(value.extract(py).unwrap()), "Pecl-Package" => { upstream_ontologist::UpstreamDatum::PeclPackage(value.extract(py).unwrap()) } "Haskell-Package" => upstream_ontologist::UpstreamDatum::HaskellPackage( value.extract(py).unwrap(), ), "Funding" => { upstream_ontologist::UpstreamDatum::Funding(value.extract(py).unwrap()) } "Changelog" => { upstream_ontologist::UpstreamDatum::Changelog(value.extract(py).unwrap()) } "Debian-ITP" => { upstream_ontologist::UpstreamDatum::DebianITP(value.extract(py).unwrap()) } "Screenshots" => { upstream_ontologist::UpstreamDatum::Screenshots(value.extract(py).unwrap()) } "Cite-As" => { upstream_ontologist::UpstreamDatum::CiteAs(value.extract(py).unwrap()) } "Registry" => { upstream_ontologist::UpstreamDatum::Registry(value.extract(py).unwrap()) } "Donation" => { upstream_ontologist::UpstreamDatum::Donation(value.extract(py).unwrap()) } "Webservice" => { upstream_ontologist::UpstreamDatum::Webservice(value.extract(py).unwrap()) } "FAQ" => upstream_ontologist::UpstreamDatum::FAQ(value.extract(py).unwrap()), _ => { return Err(PyValueError::new_err(format!("Unknown field: {}", field))); } }, origin, certainty: certainty.map(|s| Certainty::from_str(&s).unwrap()), }, )) } #[getter] fn field(&self) -> PyResult { Ok(self.0.datum.field().to_string()) } #[getter] fn value(&self, py: Python) -> PyResult> { let value = self .0 .datum .into_pyobject(py) .unwrap() .extract::<(String, Py)>() .unwrap() .1; assert!(!value.bind(py).is_instance_of::()); Ok(value) } #[getter] fn origin(&self) -> Option { self.0.origin.clone() } #[setter] fn set_origin(&mut self, origin: Option) { self.0.origin = origin; } #[getter] fn certainty(&self) -> Option { self.0.certainty.map(|c| c.to_string()) } #[setter] pub fn set_certainty(&mut self, certainty: Option) { self.0.certainty = certainty.map(|s| Certainty::from_str(&s).unwrap()); } fn __eq__(lhs: &Bound, rhs: &Bound) -> PyResult { Ok(lhs.borrow().0 == rhs.borrow().0) } fn __ne__(lhs: &Bound, rhs: &Bound) -> PyResult { Ok(lhs.borrow().0 != rhs.borrow().0) } fn __str__(&self) -> PyResult { Ok(format!("{}: {}", self.0.datum.field(), self.0.datum)) } fn __repr__(slf: PyRef) -> PyResult { Ok(format!( "UpstreamDatum({}, {}, {}, certainty={})", slf.0.datum.field(), slf.0.datum, slf.0 .origin .as_ref() .map(|s| format!("Some({})", s)) .unwrap_or_else(|| "None".to_string()), slf.0 .certainty .as_ref() .map(|c| format!("Some({})", c)) .unwrap_or_else(|| "None".to_string()), )) } } /// A collection of upstream project metadata. /// /// Stores multiple UpstreamDatum objects representing various metadata fields /// for an upstream project. Provides dict-like access to the metadata. #[pyclass] struct UpstreamMetadata(pub(crate) upstream_ontologist::UpstreamMetadata); #[allow(non_snake_case)] #[pymethods] impl UpstreamMetadata { fn __getitem__(&self, field: &str) -> PyResult { self.0 .get(field) .map(|datum| UpstreamDatum(datum.clone())) .ok_or_else(|| PyKeyError::new_err(format!("No such field: {}", field))) } fn __delitem__(&mut self, field: &str) -> PyResult<()> { self.0.remove(field); Ok(()) } fn __contains__(&self, field: &str) -> bool { self.0.contains_key(field) } pub fn items(&self) -> Vec<(String, UpstreamDatum)> { self.0 .iter() .map(|datum| { ( datum.datum.field().to_string(), UpstreamDatum(datum.clone()), ) }) .collect() } pub fn values(&self) -> Vec { self.0 .iter() .map(|datum| UpstreamDatum(datum.clone())) .collect() } #[pyo3(signature = (field, default=None))] pub fn get(&self, py: Python, field: &str, default: Option>) -> Py { let default = default.unwrap_or_else(|| py.None()); let value = self.0.get(field).map(|datum| { UpstreamDatum(datum.clone()) .into_pyobject(py) .unwrap() .into() }); value.unwrap_or(default) } fn __setitem__(&mut self, field: &str, datum: UpstreamDatum) -> PyResult<()> { assert_eq!(field, datum.0.datum.field()); self.0.insert(datum.0); Ok(()) } /// Creates a new UpstreamMetadata collection. /// /// Args: /// **kwargs: Optional keyword arguments of UpstreamDatum objects. #[new] #[pyo3(signature = (**kwargs))] fn new(kwargs: Option>) -> Self { let mut ret = UpstreamMetadata(upstream_ontologist::UpstreamMetadata::new()); if let Some(kwargs) = kwargs { for item in kwargs.items() { let datum = item.extract::().unwrap(); ret.0.insert(datum.0); } } ret } /// Creates an UpstreamMetadata collection from a dictionary. /// /// Args: /// d: Dictionary containing metadata fields and values. /// default_certainty: Default certainty level to apply if not specified. /// /// Returns: /// A new UpstreamMetadata collection. #[classmethod] #[pyo3(signature = (d, default_certainty=None))] pub fn from_dict( _cls: &Bound, py: Python, d: &Bound, default_certainty: Option, ) -> PyResult { let mut data = Vec::new(); let di = d.iter(); for t in di { let t: Py = t.into_pyobject(py).unwrap().into(); let mut datum: upstream_ontologist::UpstreamDatumWithMetadata = if let Ok(wm) = t.extract(py) { wm } else { let wm: upstream_ontologist::UpstreamDatum = t.extract(py)?; upstream_ontologist::UpstreamDatumWithMetadata { datum: wm, certainty: default_certainty, origin: None, } }; if datum.certainty.is_none() { datum.certainty = default_certainty; } data.push(datum); } Ok(Self(upstream_ontologist::UpstreamMetadata::from_data(data))) } pub fn __iter__(slf: PyRef) -> PyResult> { #[pyclass] struct UpstreamDatumIter { inner: Vec, } #[pymethods] impl UpstreamDatumIter { fn __next__(&mut self) -> Option { self.inner.pop().map(UpstreamDatum) } } Ok(UpstreamDatumIter { inner: slf.0.iter().cloned().collect::>(), } .into_pyobject(slf.py()) .unwrap() .into()) } } /// Validates and checks upstream metadata for correctness. /// /// Performs various checks on the metadata to ensure it's valid and consistent. /// /// Args: /// metadata: The UpstreamMetadata to check (modified in place). /// version: Optional version string to validate against. #[pyfunction] #[pyo3(signature = (metadata, version=None))] fn check_upstream_metadata(metadata: &mut UpstreamMetadata, version: Option<&str>) -> PyResult<()> { let rt = get_runtime(); rt.block_on(upstream_ontologist::check_upstream_metadata( &mut metadata.0, version, )); Ok(()) } /// Extends existing upstream metadata by guessing additional fields. /// /// Analyzes the project at the given path and adds any missing metadata /// that can be determined with sufficient certainty. /// /// Args: /// metadata: The UpstreamMetadata to extend (modified in place). /// path: Path to the project directory to analyze. /// minimum_certainty: Minimum certainty level required to add metadata. /// net_access: Whether to allow network access for gathering metadata. /// consult_external_directory: Whether to consult external metadata directories. /// /// Raises: /// ValueError: If minimum_certainty is invalid. #[pyfunction] #[pyo3(signature = (metadata, path, minimum_certainty=None, net_access=None, consult_external_directory=None))] fn extend_upstream_metadata( metadata: &mut UpstreamMetadata, path: std::path::PathBuf, minimum_certainty: Option, net_access: Option, consult_external_directory: Option, ) -> PyResult<()> { let minimum_certainty = minimum_certainty .map(|s| s.parse()) .transpose() .map_err(|e: String| PyValueError::new_err(format!("Invalid minimum_certainty: {}", e)))?; let rt = get_runtime(); rt.block_on(upstream_ontologist::extend_upstream_metadata( &mut metadata.0, path.as_path(), minimum_certainty, net_access, consult_external_directory, ))?; Ok(()) } /// Guesses upstream metadata by analyzing a project directory. /// /// Examines the project structure, files, and content to infer metadata /// such as name, version, homepage, repository, etc. /// /// Args: /// path: Path to the project directory to analyze. /// trust_package: Whether to trust package metadata files. /// net_access: Whether to allow network access for gathering metadata. /// consult_external_directory: Whether to consult external metadata directories. /// check: Whether to perform validation checks on the gathered metadata. /// /// Returns: /// An UpstreamMetadata collection with the guessed metadata. #[pyfunction] #[pyo3(signature = (path, trust_package=None, net_access=None, consult_external_directory=None, check=None))] fn guess_upstream_metadata( path: std::path::PathBuf, trust_package: Option, net_access: Option, consult_external_directory: Option, check: Option, ) -> PyResult { let rt = get_runtime(); Ok(UpstreamMetadata(rt.block_on( upstream_ontologist::guess_upstream_metadata( path.as_path(), trust_package, net_access, consult_external_directory, check, ), )?)) } /// Guesses upstream metadata and returns items as they are discovered. /// /// Similar to guess_upstream_metadata but returns a list of individual /// metadata items rather than a collection. /// /// Args: /// path: Path to the project directory to analyze. /// trust_package: Whether to trust package metadata files. /// minimum_certainty: Minimum certainty level required to include metadata. /// /// Returns: /// A list of UpstreamDatum objects. /// /// Raises: /// ValueError: If minimum_certainty is invalid. #[pyfunction] #[pyo3(signature = (path, trust_package=None, minimum_certainty=None))] fn guess_upstream_metadata_items( py: Python, path: std::path::PathBuf, trust_package: Option, minimum_certainty: Option, ) -> PyResult>> { let rt = get_runtime(); let metadata = rt.block_on( upstream_ontologist::guess_upstream_metadata_items( path.as_path(), trust_package, minimum_certainty .map(|s| s.parse()) .transpose() .map_err(|e: String| { PyValueError::new_err(format!("Invalid minimum_certainty: {}", e)) })?, ) .collect::>(), ); Ok(metadata .into_iter() .filter_map(|datum| datum.ok()) .map(|datum| datum.into_pyobject(py).unwrap().into()) .collect::>>()) } /// Fixes common issues in upstream metadata. /// /// Applies corrections to metadata values, such as fixing malformed URLs, /// normalizing formats, and resolving inconsistencies. /// /// Args: /// metadata: The UpstreamMetadata to fix (modified in place). #[pyfunction] fn fix_upstream_metadata(metadata: &mut UpstreamMetadata) -> PyResult<()> { let rt = get_runtime(); rt.block_on(upstream_ontologist::fix_upstream_metadata(&mut metadata.0)); Ok(()) } /// Updates metadata from an iterator of guessed items. /// /// Merges guessed metadata items into an existing metadata collection, /// preferring more certain values and avoiding duplicates. /// /// Args: /// metadata: The UpstreamMetadata to update (modified in place). /// items_iter: An iterator of UpstreamDatum objects to merge. /// /// Returns: /// A list of newly added UpstreamDatum objects. #[pyfunction] fn update_from_guesses( py: Python, metadata: &mut UpstreamMetadata, items_iter: Py, ) -> PyResult> { let mut items = vec![]; loop { let item = match items_iter.call_method0(py, "__next__") { Ok(item) => item, Err(e) => { if e.is_instance_of::(py) { break; } return Err(e); } }; items.push(item.extract::(py)?); } Ok(upstream_ontologist::update_from_guesses( metadata.0.mut_items(), items.into_iter().map(|datum| datum.0), ) .into_iter() .map(UpstreamDatum) .collect()) } /// Python module for upstream project metadata detection and management. /// /// This module provides functionality to discover, validate, and manage /// metadata about upstream software projects, such as names, versions, /// homepages, repositories, licenses, and more. #[pymodule] fn _upstream_ontologist(m: &Bound) -> PyResult<()> { pyo3_log::init(); m.add_wrapped(wrap_pyfunction!(drop_vcs_in_scheme))?; m.add_wrapped(wrap_pyfunction!(canonical_git_repo_url))?; m.add_wrapped(wrap_pyfunction!(find_public_repo_url))?; m.add_wrapped(wrap_pyfunction!(fixup_rcp_style_git_repo_url))?; m.add_wrapped(wrap_pyfunction!(check_upstream_metadata))?; m.add_wrapped(wrap_pyfunction!(extend_upstream_metadata))?; m.add_wrapped(wrap_pyfunction!(guess_upstream_metadata))?; m.add_wrapped(wrap_pyfunction!(fix_upstream_metadata))?; m.add_wrapped(wrap_pyfunction!(guess_upstream_metadata_items))?; m.add_wrapped(wrap_pyfunction!(update_from_guesses))?; m.add_wrapped(wrap_pyfunction!(find_secure_repo_url))?; m.add_wrapped(wrap_pyfunction!(convert_cvs_list_to_str))?; m.add_wrapped(wrap_pyfunction!(fixup_broken_git_details))?; m.add_class::()?; m.add_class::()?; m.add_wrapped(wrap_pyfunction!(known_bad_guess))?; m.add("__version__", env!("CARGO_PKG_VERSION"))?; Ok(()) } upstream-ontologist-py-0.2.11/tests/000077500000000000000000000000001515623615500174335ustar00rootroot00000000000000upstream-ontologist-py-0.2.11/tests/__init__.py000066400000000000000000000017501515623615500215470ustar00rootroot00000000000000#!/usr/bin/python # Copyright (C) 2018 Jelmer Vernooij # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA import unittest def test_suite(): names = [ "data", "vcs", ] module_names = [__name__ + ".test_" + name for name in names] loader = unittest.TestLoader() return loader.loadTestsFromNames(module_names) upstream-ontologist-py-0.2.11/tests/test_data.py000066400000000000000000000060021515623615500217530ustar00rootroot00000000000000#!/usr/bin/python3 # Copyright (C) 2024 Jelmer Vernooij # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA from typing import Any from unittest import TestCase from upstream_ontologist import UpstreamMetadata class UpstreamMetadataFromDictTests(TestCase): def test_from_dict(self): d = { "Name": "foo", "Version": "1.2.3", "Homepage": "https://example.com", } metadata = UpstreamMetadata.from_dict(d) self.assertEqual(metadata["Name"].value, "foo") self.assertEqual(metadata["Version"].value, "1.2.3") self.assertEqual(metadata["Homepage"].value, "https://example.com") def test_from_dict_missing(self): d = { "Name": "foo", "Version": "1.2.3", } metadata = UpstreamMetadata.from_dict(d) self.assertEqual(metadata["Name"].value, "foo") self.assertEqual(metadata["Version"].value, "1.2.3") self.assertRaises(KeyError, metadata.__getitem__, "Homepage") def test_from_dict_empty(self): d: dict[str, Any] = {} metadata = UpstreamMetadata.from_dict(d) self.assertRaises(KeyError, metadata.__getitem__, "Name") self.assertRaises(KeyError, metadata.__getitem__, "Version") self.assertRaises(KeyError, metadata.__getitem__, "Homepage") def test_from_dict_invalid(self): d = { "Name": "foo", "Version": "1.2.3", "Homepage": 42, } with self.assertRaises(TypeError): UpstreamMetadata.from_dict(d) def test_from_dict_yaml(self): from ruamel.yaml import YAML yaml = YAML() d = yaml.load("""Name: foo Version: 1.2.3 # comment Homepage: https://example.com """) metadata = UpstreamMetadata.from_dict(d) self.assertEqual(metadata["Name"].value, "foo") self.assertEqual(metadata["Version"].value, "1.2.3") self.assertEqual(metadata["Homepage"].value, "https://example.com") def test_from_dict_registry(self): d = { "Name": "foo", "Version": "1.2.3", "Registry": [{"Name": "conda:conda-forge", "Entry": "r-tsne"}], } metadata = UpstreamMetadata.from_dict(d) self.assertEqual( metadata["Registry"].value, [{"Name": "conda:conda-forge", "Entry": "r-tsne"}], ) upstream-ontologist-py-0.2.11/tests/test_vcs.py000066400000000000000000000066521515623615500216500ustar00rootroot00000000000000#!/usr/bin/python3 # Copyright (C) 2018 Jelmer Vernooij # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA from unittest import TestCase from upstream_ontologist.vcs import ( canonical_git_repo_url, find_public_repo_url, fixup_rcp_style_git_repo_url, ) class CanonicalizeVcsUrlTests(TestCase): def test_github(self): self.assertEqual( "https://github.com/jelmer/example.git", canonical_git_repo_url("https://github.com/jelmer/example"), ) def test_salsa(self): self.assertEqual( "https://salsa.debian.org/jelmer/example.git", canonical_git_repo_url("https://salsa.debian.org/jelmer/example"), ) self.assertEqual( "https://salsa.debian.org/jelmer/example.git", canonical_git_repo_url("https://salsa.debian.org/jelmer/example.git"), ) class FindPublicVcsUrlTests(TestCase): def test_github(self): self.assertEqual( "https://github.com/jelmer/example", find_public_repo_url("ssh://git@github.com/jelmer/example"), ) self.assertEqual( "https://github.com/jelmer/example", find_public_repo_url("https://github.com/jelmer/example"), ) self.assertEqual( "https://github.com/jelmer/example", find_public_repo_url("git@github.com:jelmer/example"), ) def test_salsa(self): self.assertEqual( "https://salsa.debian.org/jelmer/example", find_public_repo_url("ssh://salsa.debian.org/jelmer/example"), ) self.assertEqual( "https://salsa.debian.org/jelmer/example", find_public_repo_url("https://salsa.debian.org/jelmer/example"), ) class FixupRcpStyleUrlTests(TestCase): def test_fixup(self): try: import breezy # noqa: F401 except ModuleNotFoundError: self.skipTest("breezy is not available") self.assertEqual( "ssh://github.com/jelmer/example", fixup_rcp_style_git_repo_url("github.com:jelmer/example"), ) self.assertEqual( "ssh://git@github.com/jelmer/example", fixup_rcp_style_git_repo_url("git@github.com:jelmer/example"), ) def test_leave(self): try: import breezy # noqa: F401 except ModuleNotFoundError: self.skipTest("breezy is not available") self.assertEqual( "https://salsa.debian.org/jelmer/example", fixup_rcp_style_git_repo_url("https://salsa.debian.org/jelmer/example"), ) self.assertEqual( "ssh://git@salsa.debian.org/jelmer/example", fixup_rcp_style_git_repo_url("ssh://git@salsa.debian.org/jelmer/example"), ) upstream-ontologist-py-0.2.11/tox.ini000066400000000000000000000004571515623615500176120ustar00rootroot00000000000000[tox] downloadcache = {toxworkdir}/cache/ [testenv] deps = setuptools-rust commands = python setup.py build_ext -i python3 -m unittest tests.test_suite recreate = True whitelist_externals = make extras = cargo, debian_rules, debian_changelog, debian_watch, pyproject, homepage, readme, setup.cfg