diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 585622123342..4fcaa043d3cb 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -2,15 +2,9 @@ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "dependencyDashboard": true, "suppressNotifications": ["prEditedNotification"], - "extends": [ - "config:recommended", - "helpers:pinGitHubActionDigestsToSemver", - "replacements:all", - "abandonments:recommended" - ], - "configMigration": true, + "extends": ["config:recommended"], "labels": ["bot: dependencies"], - "rebaseLabel": "bot: rebase", + "rebaseLabel": ["bot: rebase"], "semanticCommits": "disabled", "separateMajorMinor": false, "prHourlyLimit": 10, @@ -21,13 +15,7 @@ "pre-commit": { "enabled": true }, - "minimumReleaseAge": "7 days", "packageRules": [ - { - // Pin versions already in use without waiting for the upgrade cooldown. - "matchUpdateTypes": ["pinDigest"], - "minimumReleaseAge": null - }, { groupName: "GitHub Actions", matchManagers: ["github-actions"], diff --git a/.github/workflows/actionlint.yml b/.github/workflows/actionlint.yml deleted file mode 100644 index 712bc610cce5..000000000000 --- a/.github/workflows/actionlint.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Lint GitHub Actions workflows - -on: - workflow_dispatch: - push: - branches: - - main - paths: - - ".github/workflows/**" - pull_request: - paths: - - ".github/workflows/**" - -permissions: - contents: read - -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -jobs: - actionlint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - name: Run actionlint - # This is the recommended way to run actionlint in CI: - # https://github.com/rhysd/actionlint/blob/main/docs/usage.md#use-actionlint-on-github-actions. - # The actionlint pre-commit hook would be an alternative, - # but it causes our pre-commit CI jobs to time out. - # The Docker image includes ShellCheck and Pyflakes. - uses: docker://rhysd/actionlint:1.7.12@sha256:b1934ee5f1c509618f2508e6eb47ee0d3520686341fec936f3b79331f9315667 - with: - args: -color -verbose diff --git a/.github/workflows/daily.yml b/.github/workflows/daily.yml index 64139bfe1fc0..884303937f60 100644 --- a/.github/workflows/daily.yml +++ b/.github/workflows/daily.yml @@ -1,4 +1,4 @@ -name: Daily tests +name: Daily test on: workflow_dispatch: @@ -43,11 +43,9 @@ jobs: fail-fast: false steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - with: - persist-credentials: false + - uses: actions/checkout@v7 - name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }} - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} cache: pip @@ -69,10 +67,8 @@ jobs: shard-index: [0, 1, 2, 3] fail-fast: false steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - with: - persist-credentials: false - - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 + - uses: actions/checkout@v7 + - uses: actions/setup-python@v6 with: python-version: "3.13" cache: pip @@ -86,24 +82,19 @@ jobs: run: | PACKAGES=$(python tests/get_stubtest_system_requirements.py) - # System package names contain no whitespace or glob characters, so word splitting is intentional. - # shellcheck disable=SC2086 if [ "${{ runner.os }}" = "Linux" ]; then if [ -n "$PACKAGES" ]; then - printf 'Installing APT packages:\n' - printf ' %s\n' $PACKAGES + printf "Installing APT packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" sudo apt-get update -q && sudo apt-get install -qy $PACKAGES fi else if [ "${{ runner.os }}" = "macOS" ] && [ -n "$PACKAGES" ]; then - printf 'Installing Homebrew packages:\n' - printf ' %s\n' $PACKAGES + printf "Installing Homebrew packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" brew install -q $PACKAGES fi if [ "${{ runner.os }}" = "Windows" ] && [ -n "$PACKAGES" ]; then - printf 'Installing Chocolatey packages:\n' - printf ' %s\n' $PACKAGES + printf "Installing Chocolatey packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" choco install -y $PACKAGES fi fi @@ -124,24 +115,22 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout typeshed - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + uses: actions/checkout@v7 with: path: typeshed - persist-credentials: false - name: Checkout stub_uploader - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + uses: actions/checkout@v7 with: repository: typeshed-internal/stub_uploader path: stub_uploader - persist-credentials: false - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: astral-sh/setup-uv@v8.2.0 with: version-file: "typeshed/requirements-tests.txt" - name: Run tests run: | cd stub_uploader # Keep Python version in sync with stub_uploader's check_scripts.yml workflow. - uv run --python=3.13 --locked --group dev -m pytest tests + uv run --python=3.13 --no-project --with-requirements=requirements.txt -m pytest tests # https://github.community/t/run-github-actions-job-only-if-previous-job-has-failed/174786/2 create-issue-on-failure: @@ -152,7 +141,7 @@ jobs: permissions: issues: write steps: - - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9 + - uses: actions/github-script@v9 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | diff --git a/.github/workflows/meta_tests.yml b/.github/workflows/meta_tests.yml index 486a584b6211..6c6775572834 100644 --- a/.github/workflows/meta_tests.yml +++ b/.github/workflows/meta_tests.yml @@ -1,5 +1,5 @@ # This workflow is for testing typeshed's scripts and tests themselves -name: Infrastructure tests +name: Meta-tests on: workflow_dispatch: @@ -28,21 +28,18 @@ concurrency: jobs: mypy: - name: "mypy: type check" + name: Check scripts and tests with mypy runs-on: ubuntu-latest strategy: matrix: platform: ["linux", "win32"] fail-fast: false steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - with: - persist-credentials: false - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: actions/checkout@v7 + - uses: astral-sh/setup-uv@v8.2.0 with: version-file: "requirements-tests.txt" - - name: Run check_typeshed_structure.py - run: | + - run: | uv run \ --python=3.13 \ --no-project \ @@ -51,25 +48,23 @@ jobs: --platform=${{ matrix.platform }} pyright: - name: "pyright: type check" + name: Check scripts and tests with pyright runs-on: ubuntu-latest strategy: matrix: python-platform: ["Linux", "Windows"] fail-fast: false steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - with: - persist-credentials: false - - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 + - uses: actions/checkout@v7 + - uses: actions/setup-python@v6 with: python-version: "3.13" - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: astral-sh/setup-uv@v8.2.0 with: version-file: "requirements-tests.txt" - run: uv pip install -r requirements-tests.txt --system - name: Run pyright on typeshed - uses: jakebailey/pyright-action@8ec14b5cfe41f26e5f41686a31eb6012758217ef # v3 + uses: jakebailey/pyright-action@v3 with: version: PATH python-platform: ${{ matrix.python-platform }} @@ -77,21 +72,18 @@ jobs: project: ./pyrightconfig.scripts_and_tests.json stubsabot-dry-run: - name: "stubsabot: dry run" + name: Stubsabot dry run runs-on: ubuntu-latest steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - with: - persist-credentials: false - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: actions/checkout@v7 + - uses: astral-sh/setup-uv@v8.2.0 with: version-file: "requirements-tests.txt" - name: Git config run: | git config --global user.name stubsabot git config --global user.email '<>' - - name: Run stubsabot - run: | + - run: | uv run \ --python=3.13 \ --no-project \ diff --git a/.github/workflows/mypy_primer.yml b/.github/workflows/mypy_primer.yml index 41f0ca2abd8d..729b3a8237dd 100644 --- a/.github/workflows/mypy_primer.yml +++ b/.github/workflows/mypy_primer.yml @@ -1,4 +1,4 @@ -name: mypy_primer +name: Run mypy_primer on: # Only run on PR, since we diff against main @@ -25,12 +25,11 @@ jobs: shard-index: [0, 1, 2, 3, 4, 5] fail-fast: false steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + - uses: actions/checkout@v7 with: path: typeshed_to_test fetch-depth: 0 - persist-credentials: false - - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 + - uses: actions/setup-python@v6 with: python-version: "3.13" - name: Install dependencies @@ -41,7 +40,7 @@ jobs: cd typeshed_to_test MYPY_VERSION=$(grep mypy== requirements-tests.txt | cut -d = -f 3) echo "new commit" - git rev-list --format=%s --max-count=1 "$GITHUB_SHA" + git rev-list --format=%s --max-count=1 $GITHUB_SHA git checkout -b upstream_main origin/main echo "base commit" git rev-list --format=%s --max-count=1 upstream_main @@ -50,9 +49,9 @@ jobs: # fail action if exit code isn't zero or one ( mypy_primer \ - --new "v${MYPY_VERSION}" --old "v${MYPY_VERSION}" \ + --new v${MYPY_VERSION} --old v${MYPY_VERSION} \ --custom-typeshed-repo typeshed_to_test \ - --new-typeshed "$GITHUB_SHA" --old-typeshed upstream_main \ + --new-typeshed $GITHUB_SHA --old-typeshed upstream_main \ --num-shards 6 --shard-index ${{ matrix.shard-index }} \ --debug \ --output concise \ @@ -63,7 +62,7 @@ jobs: run: | echo ${{ github.event.pull_request.number }} | tee pr_number.txt - name: Upload mypy_primer diff + PR number - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + uses: actions/upload-artifact@v7 if: ${{ matrix.shard-index == 0 }} with: name: mypy_primer_diffs-${{ matrix.shard-index }} @@ -71,7 +70,7 @@ jobs: diff_${{ matrix.shard-index }}.txt pr_number.txt - name: Upload mypy_primer diff - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + uses: actions/upload-artifact@v7 if: ${{ matrix.shard-index != 0 }} with: name: mypy_primer_diffs-${{ matrix.shard-index }} @@ -85,7 +84,7 @@ jobs: contents: read steps: - name: Merge artifacts - uses: actions/upload-artifact/merge@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + uses: actions/upload-artifact/merge@v7 with: name: mypy_primer_diffs pattern: mypy_primer_diffs-* diff --git a/.github/workflows/mypy_primer_comment.yml b/.github/workflows/mypy_primer_comment.yml index a0b964c748f2..1096653ed4e8 100644 --- a/.github/workflows/mypy_primer_comment.yml +++ b/.github/workflows/mypy_primer_comment.yml @@ -1,11 +1,9 @@ -name: mypy_primer (comment) +name: Comment with mypy_primer diff -# workflow_run is needed to comment on PRs from forks. This workflow only reads -# artifacts as data; it never checks out or executes PR code. -on: # zizmor: ignore[dangerous-triggers] +on: workflow_run: workflows: - - mypy_primer + - Run mypy_primer types: - completed @@ -20,7 +18,7 @@ jobs: if: ${{ github.event.workflow_run.conclusion == 'success' }} steps: - name: Download diffs - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9 + uses: actions/github-script@v9 with: script: | const fs = require('fs'); @@ -46,7 +44,7 @@ jobs: - name: Post comment id: post-comment - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9 + uses: actions/github-script@v9 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | @@ -81,7 +79,8 @@ jobs: return prNumber - name: Hide old comments - uses: kanga333/comment-hider@c12bb20b48aeb8fc098e35967de8d4f8018fffdf # v0.4.0 + # v0.4.0 + uses: kanga333/comment-hider@c12bb20b48aeb8fc098e35967de8d4f8018fffdf with: github_token: ${{ secrets.GITHUB_TOKEN }} leave_visible: 1 diff --git a/.github/workflows/stubsabot.yml b/.github/workflows/stubsabot.yml index 7ca0a0cbd7b2..d42ede654545 100644 --- a/.github/workflows/stubsabot.yml +++ b/.github/workflows/stubsabot.yml @@ -1,11 +1,14 @@ -name: Stubsabot +name: Run stubsabot daily on: workflow_dispatch: schedule: - cron: "0 0 * * *" -permissions: {} +permissions: + contents: write + issues: write + pull-requests: write env: FORCE_COLOR: 1 @@ -15,24 +18,16 @@ jobs: name: Upgrade stubs with stubsabot if: github.repository == 'python/typeshed' runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: write # Create, update, and label PRs. steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + - uses: actions/checkout@v7 with: # use an ssh key so that checks automatically run on stubsabot PRs ssh-key: ${{ secrets.STUBSABOT_SSH_PRIVATE_KEY }} fetch-depth: 0 - persist-credentials: true # stubsabot needs the SSH key to push branches. - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: astral-sh/setup-uv@v8.2.0 with: version-file: "requirements-tests.txt" - # A compromised dependency in a test job on main could poison the shared - # uv cache. Restoring it here could execute attacker-controlled code - # with access to stubsabot's SSH key and GitHub token. - enable-cache: false - - name: Git config + - name: git config run: | git config --global user.name stubsabot git config --global user.email '<>' @@ -52,10 +47,8 @@ jobs: runs-on: ubuntu-latest needs: [stubsabot] if: ${{ github.repository == 'python/typeshed' && always() && (needs.stubsabot.result == 'failure') }} - permissions: - issues: write steps: - - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9 + - uses: actions/github-script@v9 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | diff --git a/.github/workflows/stubtest_stdlib.yml b/.github/workflows/stubtest_stdlib.yml index cb6624a4bc4a..c384324e3d6a 100644 --- a/.github/workflows/stubtest_stdlib.yml +++ b/.github/workflows/stubtest_stdlib.yml @@ -1,4 +1,4 @@ -name: "Stubtest: stdlib" +name: Stdlib stubtest on: workflow_dispatch: @@ -39,11 +39,9 @@ jobs: fail-fast: false steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - with: - persist-credentials: false + - uses: actions/checkout@v7 - name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }} - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} cache: pip diff --git a/.github/workflows/stubtest_third_party.yml b/.github/workflows/stubtest_third_party.yml index 0b7337d08cc5..e3ba59e7006e 100644 --- a/.github/workflows/stubtest_third_party.yml +++ b/.github/workflows/stubtest_third_party.yml @@ -1,4 +1,4 @@ -name: "Stubtest: third-party" +name: Third-party stubtest on: pull_request: @@ -36,11 +36,10 @@ jobs: fail-fast: false steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + - uses: actions/checkout@v7 with: fetch-depth: 0 - persist-credentials: false - - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 + - uses: actions/setup-python@v6 with: python-version: "3.13" cache: pip @@ -55,36 +54,31 @@ jobs: # This only runs stubtest on changed stubs, because it is much faster. # Use the daily.yml workflow to run stubtest on all third party stubs. function find_stubs { - git diff --name-only "origin/${GITHUB_BASE_REF}" HEAD | \ - grep -E ^stubs/ | cut -d "/" -f 2 | sort -u | \ - (while IFS= read -r stub; do [ -d "stubs/$stub" ] && echo -n "$stub " || true; done) + git diff --name-only origin/${{ github.base_ref }} HEAD | \ + egrep ^stubs/ | cut -d "/" -f 2 | sort -u | \ + (while read stub; do [ -d "stubs/$stub" ] && echo -n "$stub " || true; done) } STUBS=$(find_stubs || echo '') echo "Changed stubs: $STUBS" - echo "STUBS=$STUBS" >> "$GITHUB_ENV" + echo "STUBS=$STUBS" >> $GITHUB_ENV - name: Install required system packages shell: bash run: | - # System package and stub directory names contain no whitespace or glob characters; split both lists into arguments. - # shellcheck disable=SC2086 if [ -n "$STUBS" ]; then PACKAGES=$(python tests/get_stubtest_system_requirements.py $STUBS) if [ "${{ runner.os }}" = "Linux" ]; then if [ -n "$PACKAGES" ]; then - printf 'Installing APT packages:\n' - printf ' %s\n' $PACKAGES + printf "Installing APT packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" sudo apt-get update -q && sudo apt-get install -qy $PACKAGES fi else if [ "${{ runner.os }}" = "macOS" ] && [ -n "$PACKAGES" ]; then - printf 'Installing Homebrew packages:\n' - printf ' %s\n' $PACKAGES + printf "Installing Homebrew packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" brew install -q $PACKAGES fi if [ "${{ runner.os }}" = "Windows" ] && [ -n "$PACKAGES" ]; then - printf 'Installing Chocolatey packages:\n' - printf ' %s\n' $PACKAGES + printf "Installing Chocolatey packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" choco install -y $PACKAGES fi fi @@ -101,8 +95,6 @@ jobs: PYTHON_EXECUTABLE="python" fi - # Stub directory names contain no whitespace or glob characters, so word splitting is intentional. - # shellcheck disable=SC2086 $PYTHON_EXECUTABLE tests/stubtest_third_party.py --ci-platforms-only $STUBS else echo "Nothing to test" diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e970a2819f04..af66891790f6 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,4 +1,4 @@ -name: Type check, regression tests +name: Test on: workflow_dispatch: @@ -26,14 +26,11 @@ jobs: name: Check typeshed structure runs-on: ubuntu-latest steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - with: - persist-credentials: false - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: actions/checkout@v7 + - uses: astral-sh/setup-uv@v8.2.0 with: version-file: "requirements-tests.txt" - - name: Run check_typeshed_structure.py - run: | + - run: | uv run \ --python=3.13 \ --no-project \ @@ -41,7 +38,7 @@ jobs: ./tests/check_typeshed_structure.py mypy: - name: "mypy: type check" + name: "mypy: Check stubs" runs-on: ubuntu-latest strategy: matrix: @@ -49,42 +46,34 @@ jobs: python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] fail-fast: false steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - with: - persist-credentials: false - - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 + - uses: actions/checkout@v7 + - uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} allow-prereleases: true - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: astral-sh/setup-uv@v8.2.0 with: version-file: "requirements-tests.txt" - run: uv pip install -r requirements-tests.txt --system - name: Install required APT packages run: | PACKAGES=$(python tests/get_stubtest_system_requirements.py) - # System package names contain no whitespace or glob characters, so word splitting is intentional. - # shellcheck disable=SC2086 if [ -n "$PACKAGES" ]; then - printf 'Installing APT packages:\n' - printf ' %s\n' $PACKAGES + printf "Installing APT packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" sudo apt-get update -q && sudo apt-get install -qy $PACKAGES fi - name: Run mypy_test.py run: python ./tests/mypy_test.py --platform=${{ matrix.platform }} --python-version=${{ matrix.python-version }} regression-tests: - name: "mypy: regression tests" + name: "mypy: Run test cases" runs-on: ubuntu-latest steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - with: - persist-credentials: false - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: actions/checkout@v7 + - uses: astral-sh/setup-uv@v8.2.0 with: version-file: "requirements-tests.txt" - - name: Run regr_test.py - run: | + - run: | uv run \ --python=3.14 \ --no-project \ @@ -94,7 +83,7 @@ jobs: --verbosity=QUIET ty: - name: "ty: type check" + name: "ty: Check stubs" runs-on: ubuntu-latest strategy: matrix: @@ -103,13 +92,11 @@ jobs: python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] fail-fast: false steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - with: - persist-credentials: false - - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 + - uses: actions/checkout@v7 + - uses: actions/setup-python@v6 with: python-version: "3.14" - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: astral-sh/setup-uv@v8.2.0 with: version-file: "requirements-tests.txt" - name: Install typeshed test-suite requirements @@ -120,11 +107,7 @@ jobs: run: | PACKAGES=$(python tests/get_external_stub_requirements.py) if [ -n "$PACKAGES" ]; then - PACKAGE_ARGS=() - while IFS= read -r package; do - PACKAGE_ARGS+=("$package") - done <<< "$PACKAGES" - uv pip install --python-version ${{ matrix.python-version }} "${PACKAGE_ARGS[@]}" + uv pip install --python-version ${{ matrix.python-version }} $PACKAGES fi # Published stub packages can shadow the checked-in stubs when ty # resolves their relative imports. @@ -133,7 +116,7 @@ jobs: run: python tests/ty_test.py --platform=${{ matrix.platform }} --python-version=${{ matrix.python-version }} --python=.venv pyrefly: - name: "pyrefly: type check" + name: "pyrefly: Check stubs" runs-on: ubuntu-latest strategy: matrix: @@ -142,13 +125,11 @@ jobs: python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] fail-fast: false steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - with: - persist-credentials: false - - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 + - uses: actions/checkout@v7 + - uses: actions/setup-python@v6 with: python-version: "3.14" - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: astral-sh/setup-uv@v8.2.0 with: version-file: "requirements-tests.txt" - name: Install typeshed test-suite requirements @@ -159,11 +140,7 @@ jobs: run: | PACKAGES=$(python tests/get_external_stub_requirements.py) if [ -n "$PACKAGES" ]; then - PACKAGE_ARGS=() - while IFS= read -r package; do - PACKAGE_ARGS+=("$package") - done <<< "$PACKAGES" - uv pip install --python-version ${{ matrix.python-version }} "${PACKAGE_ARGS[@]}" + uv pip install --python-version ${{ matrix.python-version }} $PACKAGES fi # Published stub packages can shadow the checked-in stubs when pyrefly # resolves their relative imports. @@ -172,7 +149,7 @@ jobs: run: python tests/pyrefly_test.py --platform=${{ matrix.platform }} --python-version=${{ matrix.python-version }} --python=.venv/bin/python pyright: - name: "pyright: regression tests" + name: "pyright: Run test cases" runs-on: ubuntu-latest strategy: matrix: @@ -182,13 +159,11 @@ jobs: python-version: ["3.11", "3.12", "3.13", "3.14"] fail-fast: false steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - with: - persist-credentials: false - - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 + - uses: actions/checkout@v7 + - uses: actions/setup-python@v6 with: python-version: "3.13" - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: astral-sh/setup-uv@v8.2.0 with: version-file: "requirements-tests.txt" - name: Install typeshed test-suite requirements @@ -197,11 +172,8 @@ jobs: - name: Install required APT packages run: | PACKAGES=$(python tests/get_stubtest_system_requirements.py) - # System package names contain no whitespace or glob characters, so word splitting is intentional. - # shellcheck disable=SC2086 if [ -n "$PACKAGES" ]; then - printf 'Installing APT packages:\n' - printf ' %s\n' $PACKAGES + printf "Installing APT packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" sudo apt-get update -q && sudo apt-get install -qy $PACKAGES fi - name: Create an isolated venv for testing @@ -210,27 +182,22 @@ jobs: run: | PACKAGES=$(python tests/get_external_stub_requirements.py) if [ -n "$PACKAGES" ]; then - PACKAGE_ARGS=() - while IFS= read -r package; do - PACKAGE_ARGS+=("$package") - done <<< "$PACKAGES" - printf 'Installing python packages:\n' - printf ' %s\n' "${PACKAGE_ARGS[@]}" - uv pip install --python-version ${{ matrix.python-version }} "${PACKAGE_ARGS[@]}" + printf "Installing python packages:\n $(echo $PACKAGES | sed 's/ /\n /g')\n" + uv pip install --python-version ${{ matrix.python-version }} $PACKAGES fi - name: Activate the isolated venv for the rest of the job - run: echo "$PWD/.venv/bin" >> "$GITHUB_PATH" + run: echo "$PWD/.venv/bin" >> $GITHUB_PATH - name: List 3rd-party stub dependencies installed run: uv pip freeze - name: Run pyright with basic settings on all the stubs - uses: jakebailey/pyright-action@8ec14b5cfe41f26e5f41686a31eb6012758217ef # v3 + uses: jakebailey/pyright-action@v3 with: version: PATH python-platform: ${{ matrix.python-platform }} python-version: ${{ matrix.python-version }} annotate: ${{ matrix.python-version == '3.13' && matrix.python-platform == 'Linux' }} # Having each job create the same comment is too noisy. - name: Run pyright with stricter settings on some of the stubs - uses: jakebailey/pyright-action@8ec14b5cfe41f26e5f41686a31eb6012758217ef # v3 + uses: jakebailey/pyright-action@v3 with: version: PATH python-platform: ${{ matrix.python-platform }} @@ -238,7 +205,7 @@ jobs: annotate: ${{ matrix.python-version == '3.13' && matrix.python-platform == 'Linux' }} # Having each job create the same comment is too noisy. project: ./pyrightconfig.stricter.json - name: Run pyright on the test cases - uses: jakebailey/pyright-action@8ec14b5cfe41f26e5f41686a31eb6012758217ef # v3 + uses: jakebailey/pyright-action@v3 with: version: PATH python-platform: ${{ matrix.python-platform }} @@ -247,24 +214,22 @@ jobs: project: ./pyrightconfig.testcases.json stub-uploader: - name: "stub uploader: tests" + name: stub_uploader tests runs-on: ubuntu-latest steps: - name: Checkout typeshed - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + uses: actions/checkout@v7 with: path: typeshed - persist-credentials: false - name: Checkout stub_uploader - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + uses: actions/checkout@v7 with: repository: typeshed-internal/stub_uploader path: stub_uploader - persist-credentials: false - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: astral-sh/setup-uv@v8.2.0 with: version-file: "typeshed/requirements-tests.txt" - name: Run tests run: | cd stub_uploader - uv run --python=3.13 --locked --group dev -m pytest tests + uv run --python=3.13 --no-project --with-requirements=requirements.txt -m pytest tests diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3733c84f6b76..da1708ab17ee 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0 + rev: v6.0.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer @@ -10,15 +10,8 @@ repos: - id: mixed-line-ending args: [--fix=lf] - id: check-case-conflict - - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 12e63946db2c5cfcc9030fac21c3883ba88c6ed8 # frozen: 0.38.0 - hooks: - - id: check-github-workflows - - id: check-renovate - additional_dependencies: ["json5==0.15.0"] - repo: https://github.com/astral-sh/ruff-pre-commit - # The Ruff version must match requirements-tests.txt. - rev: c59bba8fb259db0fec2bbb77ad8ba51ea7341b56 # frozen: v0.15.20 + rev: v0.15.20 # must match requirements-tests.txt hooks: - id: ruff name: Run ruff on stubs, tests and scripts @@ -34,11 +27,11 @@ repos: - "--unsafe-fixes" files: '.*test_cases/.+\.py$' - repo: https://github.com/psf/black-pre-commit-mirror - rev: 4160603246a6b365d4a2af661c6d71b0a0f50478 # frozen: 26.5.1 + rev: 26.5.1 hooks: - id: black - repo: https://github.com/pycqa/flake8 - rev: c48217e1fc006c2dddd14df54e83b67da15de5cd # frozen: 7.3.0 + rev: 7.3.0 hooks: - id: flake8 language: python @@ -49,12 +42,6 @@ repos: - repo: meta hooks: - id: check-hooks-apply - # zizmor detects security vulnerabilities in GitHub Actions workflows. - - repo: https://github.com/zizmorcore/zizmor-pre-commit - rev: 451b56af716f9f0d0c2b816503a3fd0cf8b036fa # frozen: v1.29.0 - hooks: - - id: zizmor - args: [--no-progress, --fix] ci: autofix_commit_msg: "[pre-commit.ci] auto fixes from pre-commit.com hooks" diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index 43c994c2d361..000000000000 --- a/CLAUDE.md +++ /dev/null @@ -1 +0,0 @@ -@AGENTS.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d48011d5e7a9..232b830135ab 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -202,8 +202,8 @@ This has the following keys: * `skip` (default: `false`): Whether stubtest should be run against this package. Please avoid setting this to `true`, and add a comment if you have to. -* `ignore-missing-stub` (default: `false`): When set to `true`, this will add - the `--ignore-missing-stub` option to the stubtest call. See +* `ignore-missing-stub`: When set to `true`, this will add the + `--ignore-missing-stub` option to the stubtest call. See [tests/README.md](./tests/README.md) for more information. In most cases, this field should be identical to `partial-stub`. * `stubtest-dependencies` (default: `[]`): A list of Python packages that need @@ -216,10 +216,6 @@ This has the following keys: that need to be installed for stubtest to run successfully * `choco-dependencies` (default: `[]`): A list of Windows Chocolatey packages that need to be installed for stubtest to run successfully -* `extras` (default: `[]`): A list of optional dependency groups - ([extras](https://packaging.python.org/en/latest/specifications/core-metadata/#provides-extra-multiple-use)) - that need to be installed for stubtest to run successfully. - For example, `extras = ["foo"]` installs the package as `[foo]`. * `supported-platforms` (default: all platforms): A list of OSes on which stubtest can be run. When a package is not platform-specific, this should not be set. If the package is platform-specific, this should usually be set @@ -235,12 +231,6 @@ when running stubtest. For example: `mypy-plugins = ["mypy_django_plugin.main"]` * `mypy-plugins-config` (default: `{}`): A dictionary mapping plugin names to their configuration dictionaries for use by mypy plugins. For example: `mypy-plugins-config = {"django-stubs" = {"django_settings_module" = "@tests.django_settings"}}` -* `install-environment` (default: `{}`): A dictionary of environment variables - to set while `pip install`ing the package and its dependencies for stubtest. - Useful for packages that read build-time options from the environment, for - example to disable CPU-specific compiler flags that do not survive CI's - shared wheel cache. For example: - `install-environment = { HNSWLIB_NO_NATIVE = "1" }` `*-dependencies` are usually packages needed to `pip install` the implementation distribution. @@ -248,42 +238,6 @@ distribution. The format of all `METADATA.toml` files can be checked by running `python3 ./tests/check_typeshed_structure.py`. -### Dependencies - -When a third-party stub package depends on another package, there are several -strategies available, depending on whether the other package is typed. - -1. If the other package is typed and includes a `py.typed` marker, add that - package to the `dependencies` key in `METADATA.toml`. This might fail the - stub uploader checks, in which case you can ask the maintainers for help. -2. Otherwise, if a type package is available, add that package to the - `dependencies` key. If the type package originates from typeshed, the - stub uploader checks should succeed. -3. In case the dependency in untyped and no stubs are available, you may stub - the dependency in your type stubs. For example: - - ```python - from typing import Any - # from fruzzle import Frobnicator # won't work - - _Frobnicator: TypeAlias = Any # actually fruzzle.Frobnicator - ``` - - In more complex or advanced cases you may instead opt to add a stubs - is a separate helper package: - - ```python - # stubs/my-stubs/my_stubs/_fruzzle.pyi - - # Utility stubs for the untyped "fruzzle" package. - - from typing import Any, Protocol - - Frobnicator: TypeAlias = Any - - class Flubberer(Protocol): - def flubb_it(self, x: int, /) -> str: ... - ``` ## Making Changes @@ -376,7 +330,7 @@ Use `@deprecated` if and only if - a feature is deprecated at runtime (either using `@deprecated` or with a runtime warning); or -- a feature is documented to be deprecated (e.g. in API documentation, +- a feature is documented to be deprecated (e.g. in API documention, docstrings, or comments). For standard library features that are not deprecated in all Python versions diff --git a/lib/ts_utils/formatter.py b/lib/ts_utils/formatter.py deleted file mode 100644 index 649403f81fbe..000000000000 --- a/lib/ts_utils/formatter.py +++ /dev/null @@ -1,190 +0,0 @@ -import subprocess -import time -from typing_extensions import Self - -from ts_utils.utils import TextColor, colored, format_time - - -class StatusLineFormatter: - """Context manager for printing a single line status. - - This prints a leading text (for example the name of an item) when the - context manager is entered, and the colored success status when the - context manager is exited: - - >>> with StatusLineFormatter("requests") as formatter: - ... # ... - ... formatter.success("ok") - requests... ok - - The possible status methods are "success", "warning", and "error". If - multiple functions are called, only the last one is considered: - - >>> with StatusLineFormatter("requests") as formatter: - ... # ... - ... formatter.success("ok") - ... formatter.error("error") - requests... error - - If no status method is called before the context manager exists, an error - is printed and an exception is raised: - - >>> with StatusLineFormatter("requests") as formatter: - ... pass - Traceback (most recent call last): - ... - RuntimeError: Progress formatter status not set - >>> try: - ... with StatusLineFormatter("requests") as formatter: - ... pass - ... except RuntimeError: - ... pass - requests... unknown result - - If the context manager is exited with an exception, an error is printed, - regardless of any status set. The exception is not handled: - - >>> with StatusLineFormatter("requests") as formatter: - ... raise ValueError("test error") - Traceback (most recent call last): - ... - ValueError: test error - >>> try: - ... with StatusLineFormatter("requests") as formatter: - ... raise ValueError("test error") - ... except ValueError: - ... pass - requests... error (test error) - - It's possible to attach additional output to the formatter. This is - printed after the status line, using a dimmed color by default: - - >>> with StatusLineFormatter("requests") as formatter: - ... formatter.error("fail") - ... formatter.append_output("This is an additional line.") - requests... fail - - This is an additional line. - - """ - - def __init__(self, initial_text: str, *, timed: bool = False) -> None: - self.initial_text = initial_text - self.timed = timed - self.status_message: str | None = None - self.status_color: TextColor = "red" - self.additional_output: list[tuple[str, TextColor]] = [] - self.start_time = 0.0 - - def __enter__(self) -> Self: - print(f"{self.initial_text}... ", end="", flush=True) - self.start_time = time.time() - return self - - def __exit__(self, exc_type: object, exc_value: object, traceback: object) -> None: - t = time.time() - self.start_time - - if exc_value is not None: - print(colored(f"error ({exc_value})", "red")) - return - - if self.status_message is None: - print(colored("unknown result", "red")) - raise RuntimeError("Progress formatter status not set") - - print(colored(self.status_message, self.status_color), end="") - if self.timed: - print(" ", end="") - print(colored(format_time(t)), end="") - print() - - if self.additional_output: - print() - for text, color in self.additional_output: - print(colored(text.strip(), color)) - print() - - def success(self, message: str) -> None: - """Print a successful status.""" - self.status_message = message - self.status_color = "green" - - def warning(self, message: str) -> None: - """Print a warning status.""" - self.status_message = message - self.status_color = "yellow" - - def error(self, message: str) -> None: - """Print an error status.""" - self.status_message = message - self.status_color = "red" - - def append_output(self, message: str) -> None: - """Print an additional message after the status line.""" - self.additional_output.append((message, "dark_grey")) - - def append_warning(self, message: str) -> None: - """Print an additional warning after the status line.""" - self.additional_output.append((message, "yellow")) - - def append_hint(self, message: str) -> None: - """Print a hint for the user.""" - self.additional_output.append((message, "magenta")) - - def append_divider(self) -> None: - """Append a divider to the additional output. - - This can be used to separate sections in the output: - - >>> with StatusLineFormatter("requests") as formatter: - ... formatter.success("ok") - ... formatter.append_output("Line 1") - ... formatter.append_divider() - ... formatter.append_output("Line 2") - requests... ok - - Line 1 - - ********************************************************************** - - Line 2 - - """ - self.additional_output.extend([("", "dark_grey"), ("*" * 70, "dark_grey"), ("", "dark_grey")]) - - def command_output(self, e: subprocess.CompletedProcess[bytes] | subprocess.CalledProcessError) -> None: - """Print command output (stdout and stderr) as additional messages. - - >>> with StatusLineFormatter("requests") as formatter: - ... e = subprocess.run(["ls", "/dev/null"], capture_output=True) - ... formatter.command_output(e) - ... formatter.success("ok") - requests... ok - - /dev/null - - """ - stdout = e.stdout.decode() - stderr = e.stderr.decode() - if stdout: - self.additional_output.append((stdout, "dark_grey")) - if stderr: - self.additional_output.append((stderr, "dark_grey")) - - def command_error(self, message: str, e: subprocess.CalledProcessError) -> None: - """Print an error status for a failed command. - - The command output (stdout and stderr) will also be printed. - - >>> with StatusLineFormatter("requests") as formatter: - ... try: - ... subprocess.run(["ls", "/will/not/exist"], check=True, capture_output=True) - ... except subprocess.CalledProcessError as e: - ... formatter.command_error("fail (could not list directory)", e) - requests... fail (could not list directory) - - ls: cannot access '/will/not/exist': No such file or directory - - """ - self.error(message) - self.command_output(e) diff --git a/lib/ts_utils/metadata.py b/lib/ts_utils/metadata.py index 5aa7109e346c..ee911ab5e01f 100644 --- a/lib/ts_utils/metadata.py +++ b/lib/ts_utils/metadata.py @@ -53,10 +53,6 @@ def _is_nested_dict(obj: object) -> TypeGuard[dict[str, dict[str, Any]]]: return isinstance(obj, dict) and all(isinstance(k, str) and isinstance(v, dict) for k, v in obj.items()) -def _is_dict_of_strings(obj: object) -> TypeGuard[dict[str, str]]: - return isinstance(obj, dict) and all(isinstance(k, str) and isinstance(v, str) for k, v in obj.items()) - - @functools.cache def get_oldest_supported_python() -> str: with PYPROJECT_PATH.open("rb") as config: @@ -89,7 +85,6 @@ class StubtestSettings: stubtest_dependencies: list[str] mypy_plugins: list[str] mypy_plugins_config: dict[str, dict[str, Any]] - install_environment: dict[str, str] def system_requirements_for_platform(self, platform: str) -> list[str]: assert platform in _STUBTEST_PLATFORM_MAPPING, f"Unrecognised platform {platform!r}" @@ -115,7 +110,6 @@ def read_stubtest_settings(distribution: str) -> StubtestSettings: stubtest_dependencies: object = data.get("stubtest-dependencies", []) mypy_plugins: object = data.get("mypy-plugins", []) mypy_plugins_config: object = data.get("mypy-plugins-config", {}) - install_environment: object = data.get("install-environment", {}) assert type(skip) is bool assert type(ignore_missing_stub) is bool @@ -130,7 +124,6 @@ def read_stubtest_settings(distribution: str) -> StubtestSettings: assert _is_list_of_strings(stubtest_dependencies) assert _is_list_of_strings(mypy_plugins) assert _is_nested_dict(mypy_plugins_config) - assert _is_dict_of_strings(install_environment) unrecognised_platforms = set(ci_platforms) - _STUBTEST_PLATFORM_MAPPING.keys() assert not unrecognised_platforms, f"Unrecognised ci-platforms specified for {distribution!r}: {unrecognised_platforms}" @@ -159,7 +152,6 @@ def read_stubtest_settings(distribution: str) -> StubtestSettings: stubtest_dependencies=stubtest_dependencies, mypy_plugins=mypy_plugins, mypy_plugins_config=mypy_plugins_config, - install_environment=install_environment, ) @@ -235,7 +227,6 @@ def all_dependencies(self) -> list[Requirement]: "stubtest-dependencies", "mypy-plugins", "mypy-plugins-config", - "install-environment", } } _DIST_NAME_RE: Final = re.compile(r"^[a-z0-9]([a-z0-9._-]*[a-z0-9])?$", re.IGNORECASE) diff --git a/lib/ts_utils/utils.py b/lib/ts_utils/utils.py index da9b8b7be758..d72f2abefd3c 100644 --- a/lib/ts_utils/utils.py +++ b/lib/ts_utils/utils.py @@ -9,7 +9,7 @@ from collections.abc import Iterable, Mapping from pathlib import Path from types import MethodType -from typing import TYPE_CHECKING, Any, Final, Literal, NamedTuple, TypeAlias +from typing import TYPE_CHECKING, Any, Final, NamedTuple, TypeAlias import pathspec from packaging.requirements import Requirement @@ -27,26 +27,6 @@ def colored(text: str, color: str | None = None, **kwargs: Any) -> str: # type: return text -TextColor: TypeAlias = Literal[ - "black", - "red", - "green", - "yellow", - "blue", - "magenta", - "cyan", - "white", - "light_grey", - "dark_grey", - "light_red", - "light_green", - "light_yellow", - "light_blue", - "light_magenta", - "light_cyan", -] - - _REMOVE_COMMENT_RE = re.compile( r""" (\"(?:\\.|[^\\\"])*?\") # matches literal strings @@ -95,6 +75,14 @@ def print_command(cmd: str | Iterable[str]) -> None: print(colored(f"Running: {cmd}", "blue")) +def print_info(message: str) -> None: + print(colored(message, "blue")) + + +def print_warning(message: str) -> None: + print(colored(message, "yellow")) + + def print_skipped(message: str) -> None: print(colored(message, "yellow")) @@ -111,8 +99,18 @@ def print_success_msg() -> None: print(colored("success", "green")) -def format_time(t: float) -> str: - return f"({t:.2f} s)" +def print_divider() -> None: + """Print a row of * symbols across the screen. + + This can be useful to divide terminal output into separate sections. + """ + print() + print("*" * 70) + print() + + +def print_time(t: float) -> None: + print(f"({t:.2f} s) ", end="") # ==================================================================== diff --git a/pyrefly.toml b/pyrefly.toml index 1da5e49c879e..8db32aa4e3a3 100644 --- a/pyrefly.toml +++ b/pyrefly.toml @@ -3,11 +3,6 @@ # `respect-type-ignore-comments` setting in ty.toml. enabled-ignores = ["pyrefly"] -# pyrefly excludes "**/venv/**/*" by default, which matches "stdlib/venv", -# a proper stdlib module. -project-excludes = ["**/__pycache__", "**/.[!/.]*/**"] -disable-project-excludes-heuristics = true - # These imports are intentionally optional and are also ignored by mypy and pyright. ignore-missing-imports = [ "branca", diff --git a/pyrightconfig.stricter.json b/pyrightconfig.stricter.json index d3d66b8fd7fc..3c170f4fba99 100644 --- a/pyrightconfig.stricter.json +++ b/pyrightconfig.stricter.json @@ -14,7 +14,6 @@ "stdlib/distutils/cmd.pyi", "stdlib/distutils/command", "stdlib/distutils/dist.pyi", - "stdlib/email/*.pyi", "stdlib/encodings/__init__.pyi", "stdlib/lib2to3/fixes/*.pyi", "stdlib/numbers.pyi", @@ -39,6 +38,7 @@ "stubs/docker", "stubs/docutils", "stubs/Flask-SocketIO", + "stubs/fpdf2", "stubs/gdb", "stubs/geojson", "stubs/geopandas", @@ -53,6 +53,8 @@ "stubs/html5lib", "stubs/httplib2", "stubs/hvac", + "stubs/icalendar/icalendar/prop.pyi", + "stubs/icalendar/icalendar/timezone/provider.pyi", "stubs/jsonschema", "stubs/jwcrypto", "stubs/kafka-python", diff --git a/scripts/stubsabot.py b/scripts/stubsabot.py index c6a52a250af5..293a6420d09d 100755 --- a/scripts/stubsabot.py +++ b/scripts/stubsabot.py @@ -36,14 +36,7 @@ from packaging.specifiers import Specifier from termcolor import colored -from ts_utils.metadata import ( - ObsoleteMetadata, - StubMetadata, - StubtestSettings, - read_metadata, - read_stubtest_settings, - update_metadata, -) +from ts_utils.metadata import ObsoleteMetadata, StubMetadata, read_metadata, update_metadata from ts_utils.paths import PYRIGHT_CONFIG, STUBS_PATH, distribution_path from ts_utils.stubs import third_party_stubs @@ -179,14 +172,10 @@ def __str__(self) -> str: @dataclass class NoUpdate: distribution: str - reason: Literal["obsolete", "no longer updated", "up to date", "pr open"] - pr_number: int = 0 + reason: Literal["obsolete", "no longer updated", "up to date"] def __str__(self) -> str: - if self.reason == "pr open": - return f"{colored('skipping', 'green')} ({self.reason} {self.pr_number})" - else: - return f"{colored('skipping', 'green')} ({self.reason})" + return f"{colored('skipping', 'green')} ({self.reason})" @dataclass @@ -753,9 +742,10 @@ async def create_or_update_pull_request(*, title: str, body: str, branch_name: s await update_pull_request_label(pr_number=pr_number, session=session) -async def find_existing_pr(*, branch_name: str, session: aiohttp.ClientSession) -> int: +async def update_existing_pull_request(*, title: str, body: str, branch_name: str, session: aiohttp.ClientSession) -> int: fork_owner = get_origin_owner() + # Find the existing PR async with session.get( f"{TYPESHED_API_URL}/pulls", params={"state": "open", "head": f"{fork_owner}:{branch_name}", "base": "main"}, @@ -766,13 +756,6 @@ async def find_existing_pr(*, branch_name: str, session: aiohttp.ClientSession) assert len(resp_json) >= 1 pr_number = resp_json[0]["number"] assert isinstance(pr_number, int) - - return pr_number - - -async def update_existing_pull_request(*, title: str, body: str, branch_name: str, session: aiohttp.ClientSession) -> int: - # Find the existing PR - pr_number = await find_existing_pr(branch_name=branch_name, session=session) # Update the PR's title and body async with session.patch( f"{TYPESHED_API_URL}/pulls/{pr_number}", json={"title": title, "body": body}, headers=get_github_api_headers() @@ -789,41 +772,48 @@ async def update_pull_request_label(*, pr_number: int, session: aiohttp.ClientSe response.raise_for_status() -def remote_branch_exists(branch: str) -> bool: - return ( - subprocess.run(["git", "show-ref", "--verify", "--quiet", f"refs/remotes/origin/{branch}"], check=False).returncode == 0 - ) - - def has_non_stubsabot_commits(branch: str) -> bool: assert not branch.startswith("origin/") - - if not remote_branch_exists(branch): + try: + # commits on origin/branch that are not on branch or are + # patch equivalent to a commit on branch + print( + "[debugprint]", + subprocess.check_output( + ["git", "log", "--right-only", "--pretty=%an %s", "--cherry-pick", f"{branch}...origin/{branch}"] + ), + ) + print( + "[debugprint]", + subprocess.check_output( + ["git", "log", "--right-only", "--pretty=%an", "--cherry-pick", f"{branch}...origin/{branch}"] + ), + ) + output = subprocess.check_output( + ["git", "log", "--right-only", "--pretty=%an", "--cherry-pick", f"{branch}...origin/{branch}"], + stderr=subprocess.DEVNULL, + ) + return bool(set(output.splitlines()) - {b"stubsabot"}) + except subprocess.CalledProcessError: + # origin/branch does not exist return False - # commits on origin/branch that are not on branch or are - # patch equivalent to a commit on branch - output = subprocess.check_output( - ["git", "log", "--right-only", "--pretty=%an", "--cherry-pick", f"{branch}...origin/{branch}"], stderr=subprocess.DEVNULL - ) - return bool(set(output.splitlines()) - {b"stubsabot"}) - def latest_commit_is_different_to_last_commit_on_origin(branch: str) -> bool: assert not branch.startswith("origin/") - - if not remote_branch_exists(branch): + try: + # https://www.git-scm.com/docs/git-range-diff + # If the number of lines is >1, + # it indicates that something about our commit is different to the last commit + # (Could be the commit "content", or the commit message). + commit_comparison = subprocess.run( + ["git", "range-diff", f"origin/{branch}~1..origin/{branch}", "HEAD~1..HEAD"], check=True, capture_output=True + ) + return len(commit_comparison.stdout.splitlines()) > 1 + except subprocess.CalledProcessError: + # origin/branch does not exist return True - # https://www.git-scm.com/docs/git-range-diff - # If the number of lines is >1, - # it indicates that something about our commit is different to the last commit - # (Could be the commit "content", or the commit message). - commit_comparison = subprocess.run( - ["git", "range-diff", f"origin/{branch}~1..origin/{branch}", "HEAD~1..HEAD"], check=True, capture_output=True - ) - return len(commit_comparison.stdout.splitlines()) > 1 - class RemoteConflictError(Exception): pass @@ -832,12 +822,7 @@ class RemoteConflictError(Exception): def somewhat_safe_force_push(branch: str) -> None: if has_non_stubsabot_commits(branch): raise RemoteConflictError(f"origin/{branch} has non-stubsabot changes that are not on {branch}!") - result = subprocess.run(["git", "push", "--quiet", "origin", branch, "--force"], text=True, capture_output=True, check=False) - if result.returncode: - # Capture both streams to suppress stderr on success without losing it on failure - sys.stdout.write(result.stdout) - sys.stderr.write(result.stderr) - result.check_returncode() + subprocess.check_call(["git", "push", "origin", branch, "--force"]) def normalize(name: str) -> str: @@ -851,13 +836,15 @@ def normalize(name: str) -> str: BRANCH_PREFIX = "stubsabot" -def get_update_pr_body(update: Update, settings: StubtestSettings) -> str: +def get_update_pr_body(update: Update, metadata: Mapping[str, Any]) -> str: body = "\n".join(f"{k}: {v}" for k, v in update.links.items()) if update.diff_analysis is not None: body += f"\n\n{update.diff_analysis}" - if not settings.skip: + stubtest_settings: dict[str, Any] = metadata.get("tool", {}).get("stubtest", {}) + stubtest_will_run = not stubtest_settings.get("skip", False) + if stubtest_will_run: body += textwrap.dedent(""" If stubtest fails for this PR: @@ -891,63 +878,72 @@ def remove_stubs(distribution: str) -> None: f.writelines(lines) -def get_commit_message(action: Update | Obsolete | Remove) -> tuple[str, str]: - """Return git commit message title and body.""" - match action: - case Update(): - stubtest_settings = read_stubtest_settings(action.distribution) - return ( - f"[stubsabot] Bump {action.distribution} to {action.new_version}", - get_update_pr_body(action, stubtest_settings), - ) - case Obsolete(): - return ( - f"[stubsabot] Mark {action.distribution} as obsolete since {action.obsolete_since_version}", - "\n".join(f"{k}: {v}" for k, v in action.links.items()), - ) - case Remove(): - return ( - f"[stubsabot] Remove {action.distribution} as {action.reason}", - "\n".join(f"{k}: {v}" for k, v in action.links.items()), - ) - - -def run_action(action: Update | Obsolete | Remove) -> None: - match action: - case Update(): - update_metadata(action.distribution, version=action.new_version) - case Obsolete(): - obsolete_t = cast(dict[str, object], tomlkit.inline_table()) - obsolete_t.update({"version": action.obsolete_since_version, "date": action.obsolete_since_date.date().isoformat()}) - update_metadata(action.distribution, obsolete_since=obsolete_t) - case Remove(): - remove_stubs(action.distribution) - - -_A = TypeVar("_A", bound=Update | Obsolete | Remove) - - -async def process_typeshed_change(action: _A, session: aiohttp.ClientSession, action_level: ActionLevel) -> _A | NoUpdate: +async def suggest_typeshed_update(update: Update, session: aiohttp.ClientSession, action_level: ActionLevel) -> None: + if action_level <= ActionLevel.nothing: + return + title = f"[stubsabot] Bump {update.distribution} to {update.new_version}" + async with _repo_lock: + branch_name = f"{BRANCH_PREFIX}/{normalize(update.distribution)}" + subprocess.check_call(["git", "checkout", "-B", branch_name, "origin/main"]) + meta = update_metadata(update.distribution, version=update.new_version) + body = get_update_pr_body(update, meta) + subprocess.check_call(["git", "commit", "--all", "-m", f"{title}\n\n{body}"]) + if action_level <= ActionLevel.local: + return + if not latest_commit_is_different_to_last_commit_on_origin(branch_name): + print(f"No pushing to origin required: origin/{branch_name} exists and requires no changes!") + return + somewhat_safe_force_push(branch_name) + if action_level <= ActionLevel.fork: + return + + await create_or_update_pull_request(title=title, body=body, branch_name=branch_name, session=session) + + +async def suggest_typeshed_obsolete(obsolete: Obsolete, session: aiohttp.ClientSession, action_level: ActionLevel) -> None: if action_level <= ActionLevel.nothing: - return action + return + title = f"[stubsabot] Mark {obsolete.distribution} as obsolete since {obsolete.obsolete_since_version}" + async with _repo_lock: + branch_name = f"{BRANCH_PREFIX}/{normalize(obsolete.distribution)}" + subprocess.check_call(["git", "checkout", "-B", branch_name, "origin/main"]) + obsolete_t = cast(dict[str, object], tomlkit.inline_table()) + obsolete_t.update({"version": obsolete.obsolete_since_version, "date": obsolete.obsolete_since_date.date().isoformat()}) + update_metadata(obsolete.distribution, obsolete_since=obsolete_t) + body = "\n".join(f"{k}: {v}" for k, v in obsolete.links.items()) + subprocess.check_call(["git", "commit", "--all", "-m", f"{title}\n\n{body}"]) + if action_level <= ActionLevel.local: + return + if not latest_commit_is_different_to_last_commit_on_origin(branch_name): + print(f"No PR required: origin/{branch_name} exists and requires no changes!") + return + somewhat_safe_force_push(branch_name) + if action_level <= ActionLevel.fork: + return + await create_or_update_pull_request(title=title, body=body, branch_name=branch_name, session=session) + + +async def suggest_typeshed_remove(remove: Remove, session: aiohttp.ClientSession, action_level: ActionLevel) -> None: + if action_level <= ActionLevel.nothing: + return + title = f"[stubsabot] Remove {remove.distribution} as {remove.reason}" async with _repo_lock: - branch_name = f"{BRANCH_PREFIX}/{normalize(action.distribution)}" - subprocess.check_call(["git", "checkout", "--quiet", "-B", branch_name, "origin/main"]) - run_action(action) - title, body = get_commit_message(action) - subprocess.check_call(["git", "commit", "--quiet", "--all", "-m", f"{title}\n\n{body}"]) + branch_name = f"{BRANCH_PREFIX}/{normalize(remove.distribution)}" + subprocess.check_call(["git", "checkout", "-B", branch_name, "origin/main"]) + remove_stubs(remove.distribution) + body = "\n".join(f"{k}: {v}" for k, v in remove.links.items()) + subprocess.check_call(["git", "commit", "--all", "-m", f"{title}\n\n{body}"]) if action_level <= ActionLevel.local: - return action + return if not latest_commit_is_different_to_last_commit_on_origin(branch_name): - pr_number = await find_existing_pr(branch_name=branch_name, session=session) - return NoUpdate(action.distribution, "pr open", pr_number) + print(f"No pushing to origin required: origin/{branch_name} exists and requires no changes!") + return somewhat_safe_force_push(branch_name) if action_level <= ActionLevel.fork: - return action + return await create_or_update_pull_request(title=title, body=body, branch_name=branch_name, session=session) - return action async def main() -> int: @@ -1011,27 +1007,32 @@ async def main() -> int: action_count = 0 for task in asyncio.as_completed(tasks): - action = await task - print(f"{action.distribution}... ", end="") + update = await task + print(f"{update.distribution}... ", end="") + print(update) - if isinstance(action, NoUpdate): - print(action) + if isinstance(update, NoUpdate): continue - if isinstance(action, Error): - print(action) + if isinstance(update, Error): error = True continue if args.action_count_limit is not None and action_count >= args.action_count_limit: - print(action) print(colored("... but we've reached action count limit", "red")) continue action_count += 1 try: - action_result = await process_typeshed_change(action, session, action_level=args.action_level) - print(action_result) - continue + if isinstance(update, Update): + await suggest_typeshed_update(update, session, action_level=args.action_level) + continue + if isinstance(update, Obsolete): + await suggest_typeshed_obsolete(update, session, action_level=args.action_level) + continue + # Redundant, but keeping for extra runtime validation + if isinstance(update, Remove): # pyright: ignore[reportUnnecessaryIsInstance] + await suggest_typeshed_remove(update, session, action_level=args.action_level) + continue except RemoteConflictError as e: print(colored(f"... but ran into {type(e).__qualname__}: {e}", "red")) continue @@ -1040,7 +1041,7 @@ async def main() -> int: # if you need to cleanup, try: # git branch -D $(git branch --list 'stubsabot/*') if args.action_level >= ActionLevel.local and original_branch: - subprocess.check_call(["git", "checkout", "--quiet", original_branch]) + subprocess.check_call(["git", "checkout", original_branch]) return 1 if error else 0 diff --git a/stdlib/@tests/stubtest_allowlists/common.txt b/stdlib/@tests/stubtest_allowlists/common.txt index 18189db6213f..29d91719c50c 100644 --- a/stdlib/@tests/stubtest_allowlists/common.txt +++ b/stdlib/@tests/stubtest_allowlists/common.txt @@ -157,6 +157,7 @@ _ctypes.CFuncPtr # stubtest erroneously thinks it can't be subclassed _frozen_importlib_external.ExtensionFileLoader.get_filename _frozen_importlib_external.FileLoader.get_filename _frozen_importlib_external.FileLoader.get_resource_reader +_frozen_importlib_external.FileLoader.load_module # Mismatch of default values of `report` parameter: _markupbase.ParserBase.parse_comment @@ -276,6 +277,7 @@ importlib._abc.Loader.exec_module # See Lib/importlib/_abc.py. Might be defined # runtime is *args, **kwargs due to a wrapper; we have more accurate signatures in the stubs importlib.abc.FileLoader.get_filename +importlib.abc.FileLoader.load_module importlib.metadata._meta.SimplePath.joinpath # Runtime definition of protocol is incorrect diff --git a/stdlib/@tests/stubtest_allowlists/darwin-py310.txt b/stdlib/@tests/stubtest_allowlists/darwin-py310.txt index 4d3b8964872e..86b8608f39eb 100644 --- a/stdlib/@tests/stubtest_allowlists/darwin-py310.txt +++ b/stdlib/@tests/stubtest_allowlists/darwin-py310.txt @@ -58,11 +58,6 @@ tarfile.LinkFallbackError tarfile.TarFile._extract_member tarfile.TarFile.makelink_with_filter -# Incompatible changes introduced in Python 3.10.19 -# (Remove once 3.10.19 becomes available for GitHub Actions) -pyexpat.XMLParserType.SetBillionLaughsAttackProtectionActivationThreshold -pyexpat.XMLParserType.SetBillionLaughsAttackProtectionMaximumAmplification - # Incompatible changes introduced in Python 3.10.20 # (Remove once 3.10.20 becomes available for GitHub Actions) email._header_value_parser.make_parenthesis_pairs diff --git a/stdlib/@tests/stubtest_allowlists/darwin-py311.txt b/stdlib/@tests/stubtest_allowlists/darwin-py311.txt index 58ed2b6b27c7..24b7d5d8ceca 100644 --- a/stdlib/@tests/stubtest_allowlists/darwin-py311.txt +++ b/stdlib/@tests/stubtest_allowlists/darwin-py311.txt @@ -33,11 +33,6 @@ tarfile.LinkFallbackError tarfile.TarFile._extract_member tarfile.TarFile.makelink_with_filter -# Incompatible changes introduced in Python 3.11.14 -# (Remove once 3.11.14 becomes available for GitHub Actions) -pyexpat.XMLParserType.SetBillionLaughsAttackProtectionActivationThreshold -pyexpat.XMLParserType.SetBillionLaughsAttackProtectionMaximumAmplification - # Incompatible changes introduced in Python 3.11.15 # (Remove once 3.11.15 becomes available for GitHub Actions) email._header_value_parser.make_parenthesis_pairs diff --git a/stdlib/@tests/stubtest_allowlists/darwin-py312.txt b/stdlib/@tests/stubtest_allowlists/darwin-py312.txt index 38f151441b3b..003efdd5b489 100644 --- a/stdlib/@tests/stubtest_allowlists/darwin-py312.txt +++ b/stdlib/@tests/stubtest_allowlists/darwin-py312.txt @@ -20,11 +20,6 @@ tarfile.LinkFallbackError tarfile.TarFile._extract_member tarfile.TarFile.makelink_with_filter -# Incompatible changes introduced in Python 3.12.12 -# (Remove once 3.12.12 becomes available for GitHub Actions) -pyexpat.XMLParserType.SetBillionLaughsAttackProtectionActivationThreshold -pyexpat.XMLParserType.SetBillionLaughsAttackProtectionMaximumAmplification - # Incompatible changes introduced in Python 3.12.13 # (Remove once 3.12.13 becomes available for GitHub Actions) email._header_value_parser.make_parenthesis_pairs diff --git a/stdlib/@tests/stubtest_allowlists/py310.txt b/stdlib/@tests/stubtest_allowlists/py310.txt index 2ff1c4c38385..4f1fe3bae1fd 100644 --- a/stdlib/@tests/stubtest_allowlists/py310.txt +++ b/stdlib/@tests/stubtest_allowlists/py310.txt @@ -162,10 +162,6 @@ typing(_extensions)?\.IO\.writelines posixpath.join ntpath.join -# runtime is *args, **kwargs due to a wrapper; we have more accurate signatures in the stubs -_frozen_importlib_external.FileLoader.load_module -importlib.abc.FileLoader.load_module - # =============================================================== # Allowlist entries that cannot or should not be fixed; 3.10 only diff --git a/stdlib/@tests/stubtest_allowlists/py311.txt b/stdlib/@tests/stubtest_allowlists/py311.txt index f11779d324f1..69f314e576ab 100644 --- a/stdlib/@tests/stubtest_allowlists/py311.txt +++ b/stdlib/@tests/stubtest_allowlists/py311.txt @@ -140,10 +140,6 @@ typing(_extensions)?\.IO\.writelines posixpath.join ntpath.join -# runtime is *args, **kwargs due to a wrapper; we have more accurate signatures in the stubs -_frozen_importlib_external.FileLoader.load_module -importlib.abc.FileLoader.load_module - # ============================================================= # Allowlist entries that cannot or should not be fixed; >= 3.11 diff --git a/stdlib/@tests/stubtest_allowlists/py312.txt b/stdlib/@tests/stubtest_allowlists/py312.txt index 92c3ed2db44b..28f037fe9099 100644 --- a/stdlib/@tests/stubtest_allowlists/py312.txt +++ b/stdlib/@tests/stubtest_allowlists/py312.txt @@ -133,10 +133,6 @@ typing(_extensions)?\.IO\.writelines posixpath.join ntpath.join -# runtime is *args, **kwargs due to a wrapper; we have more accurate signatures in the stubs -_frozen_importlib_external.FileLoader.load_module -importlib.abc.FileLoader.load_module - # ============================================================= # Allowlist entries that cannot or should not be fixed; >= 3.12 diff --git a/stdlib/@tests/stubtest_allowlists/py313.txt b/stdlib/@tests/stubtest_allowlists/py313.txt index f36328af3ef1..22dcac6f46ca 100644 --- a/stdlib/@tests/stubtest_allowlists/py313.txt +++ b/stdlib/@tests/stubtest_allowlists/py313.txt @@ -1,8 +1,7 @@ # ========================= # New errors in Python 3.13 # ========================= -# No way to express keyword-only ParamSpec -copy.replace + # ==================================== # Pre-existing errors from Python 3.12 # ==================================== @@ -92,20 +91,11 @@ typing(_extensions)?\.IO\.writelines posixpath.join ntpath.join -# runtime is *args, **kwargs due to a wrapper; we have more accurate signatures in the stubs -_frozen_importlib_external.FileLoader.load_module -importlib.abc.FileLoader.load_module - # ============================================================= # Allowlist entries that cannot or should not be fixed; >= 3.13 # ============================================================= -# `cleanup_socket` was added in 3.13 to the concrete `_UnixSelectorEventLoop.create_unix_server`, -# not to the abstract `AbstractEventLoop.create_unix_server`. The stub adds it on the abstract -# method so code typing the loop as `AbstractEventLoop` can still pass `cleanup_socket=...`. See #15742. -asyncio.events.AbstractEventLoop.create_unix_server - _pyrepl\..+ # The internal implementation of the REPL on py313+; not for public consumption codecs.backslashreplace_errors # Runtime incorrectly has `self` codecs.ignore_errors # Runtime incorrectly has `self` diff --git a/stdlib/@tests/stubtest_allowlists/py314.txt b/stdlib/@tests/stubtest_allowlists/py314.txt index efc36490d4f6..b76fa29cd7d2 100644 --- a/stdlib/@tests/stubtest_allowlists/py314.txt +++ b/stdlib/@tests/stubtest_allowlists/py314.txt @@ -24,12 +24,17 @@ concurrent.interpreters._crossinterp.UNBOUND_REMOVE # Condition functions are exported in __init__ threading.Condition.locked +# Starting with Python 3.14.1, these methods accept None for some of their +# parameters, but would raise a TypeError with Python 3.14.0. +mmap.mmap.find +mmap.mmap.flush +mmap.mmap.rfind +multiprocessing.process.BaseProcess.__init__ + # ==================================== # Pre-existing errors from Python 3.13 # ==================================== -# No way to express keyword-only ParamSpec -copy.replace # ======= # >= 3.12 @@ -86,10 +91,6 @@ typing(_extensions)?\.IO\.writelines posixpath.join ntpath.join -# runtime is *args, **kwargs due to a wrapper; we have more accurate signatures in the stubs -_frozen_importlib_external.FileLoader.load_module -importlib.abc.FileLoader.load_module - # ============================================================= # Allowlist entries that cannot or should not be fixed; >= 3.14 @@ -129,11 +130,6 @@ multiprocessing.managers._BaseDictProxy.__reversed__ # Allowlist entries that cannot or should not be fixed; >= 3.13 # ============================================================= -# `cleanup_socket` was added in 3.13 to the concrete `_UnixSelectorEventLoop.create_unix_server`, -# not to the abstract `AbstractEventLoop.create_unix_server`. The stub adds it on the abstract -# method so code typing the loop as `AbstractEventLoop` can still pass `cleanup_socket=...`. See #15742. -asyncio.events.AbstractEventLoop.create_unix_server - _pyrepl\..+ # The internal implementation of the REPL on py313+; not for public consumption codecs.backslashreplace_errors # Runtime incorrectly has `self` codecs.ignore_errors # Runtime incorrectly has `self` diff --git a/stdlib/@tests/stubtest_allowlists/py315.txt b/stdlib/@tests/stubtest_allowlists/py315.txt index 8fb96cb8fce4..fcd88edaf791 100644 --- a/stdlib/@tests/stubtest_allowlists/py315.txt +++ b/stdlib/@tests/stubtest_allowlists/py315.txt @@ -2,9 +2,36 @@ # TODO: Allowlist entries that should be fixed # ============================================ +_frozen_importlib.BuiltinImporter.load_module +_frozen_importlib.FrozenImporter.load_module +_frozen_importlib_external.FileFinder.discover +_frozen_importlib_external.NamespaceLoader.load_module +_frozen_importlib_external.NamespacePath +_frozen_importlib_external.PathFinder.discover +_frozen_importlib_external.SourceFileLoader.source_to_code +_frozen_importlib_external.SourceLoader.source_to_code +_frozen_importlib_external._LoaderBasics.load_module +_frozen_importlib_external.cache_from_source +_struct.Struct.pack_into +_struct.pack +_struct.pack_into +_thread.RLock.__exit__ +_thread.lock.__exit__ dataclasses.MISSING dataclasses._MISSING_TYPE dataclasses.field +importlib._abc.Loader.load_module +importlib._bootstrap_external.NamespacePath +importlib.abc.InspectLoader.source_to_code +importlib.abc.MetaPathFinder.discover +importlib.abc.PathEntryFinder.discover +importlib.resources._common.package_to_anchor +mailbox._ProxyFile.__class_getitem__ +multiprocessing.process.BaseProcess.__init__ +threading.Condition.locked +tkinter.Image.__iter__ +tkinter.Misc.__iter__ +tkinter.font.Font.__iter__ # ============================================================= # Allowlist entries that cannot or should not be fixed; >= 3.15 @@ -67,9 +94,6 @@ concurrent.interpreters._crossinterp.UnboundItem.singleton concurrent.interpreters._crossinterp.UNBOUND_ERROR concurrent.interpreters._crossinterp.UNBOUND_REMOVE -# Condition functions are exported in __init__ -threading.Condition.locked - # Assigning `__new__` causes `func` not to get recognized. functools.partialmethod.__new__ @@ -102,11 +126,6 @@ types.UnionType.__qualname__ # Allowlist entries that cannot or should not be fixed; >= 3.13 # ============================================================= -# `cleanup_socket` was added in 3.13 to the concrete `_UnixSelectorEventLoop.create_unix_server`, -# not to the abstract `AbstractEventLoop.create_unix_server`. The stub adds it on the abstract -# method so code typing the loop as `AbstractEventLoop` can still pass `cleanup_socket=...`. See #15742. -asyncio.events.AbstractEventLoop.create_unix_server - _pyrepl\..+ # The internal implementation of the REPL on py313+; not for public consumption codecs.backslashreplace_errors # Runtime incorrectly has `self` codecs.ignore_errors # Runtime incorrectly has `self` @@ -131,13 +150,14 @@ types.MappingProxyType.get typing_extensions.Protocol # Super-special typing primitive -copy.replace # Cannot have keyword-only ParamSpec - # ============================================================= # Allowlist entries that cannot or should not be fixed; >= 3.12 # ============================================================= +# Deprecated argument is supported at runtime by renaming it through a decorator. +importlib.resources._common.files + sys._monitoring # Doesn't really exist. See comments in the stub. sys.__jit # Similar to sys._monitoring sys.last_exc # Not always defined. diff --git a/stdlib/@tests/stubtest_allowlists/win32-py310.txt b/stdlib/@tests/stubtest_allowlists/win32-py310.txt index 5ef3b597fc63..304b21a96405 100644 --- a/stdlib/@tests/stubtest_allowlists/win32-py310.txt +++ b/stdlib/@tests/stubtest_allowlists/win32-py310.txt @@ -58,11 +58,6 @@ tarfile.LinkFallbackError tarfile.TarFile._extract_member tarfile.TarFile.makelink_with_filter -# Incompatible changes introduced in Python 3.10.19 -# (Remove once 3.10.19 becomes available for GitHub Actions) -pyexpat.XMLParserType.SetBillionLaughsAttackProtectionActivationThreshold -pyexpat.XMLParserType.SetBillionLaughsAttackProtectionMaximumAmplification - # Incompatible changes introduced in Python 3.10.20 # (Remove once 3.10.20 becomes available for GitHub Actions) email._header_value_parser.make_parenthesis_pairs diff --git a/stdlib/@tests/stubtest_allowlists/win32-py311.txt b/stdlib/@tests/stubtest_allowlists/win32-py311.txt index 38c8daf436c6..1499d0da2abe 100644 --- a/stdlib/@tests/stubtest_allowlists/win32-py311.txt +++ b/stdlib/@tests/stubtest_allowlists/win32-py311.txt @@ -33,11 +33,6 @@ tarfile.LinkFallbackError tarfile.TarFile._extract_member tarfile.TarFile.makelink_with_filter -# Incompatible changes introduced in Python 3.11.14 -# (Remove once 3.11.14 becomes available for GitHub Actions) -pyexpat.XMLParserType.SetBillionLaughsAttackProtectionActivationThreshold -pyexpat.XMLParserType.SetBillionLaughsAttackProtectionMaximumAmplification - # Incompatible changes introduced in Python 3.11.15 # (Remove once 3.11.15 becomes available for GitHub Actions) email._header_value_parser.make_parenthesis_pairs diff --git a/stdlib/@tests/stubtest_allowlists/win32-py312.txt b/stdlib/@tests/stubtest_allowlists/win32-py312.txt index c22d4e4cf3cf..eb780c0d569a 100644 --- a/stdlib/@tests/stubtest_allowlists/win32-py312.txt +++ b/stdlib/@tests/stubtest_allowlists/win32-py312.txt @@ -20,11 +20,6 @@ tarfile.LinkFallbackError tarfile.TarFile._extract_member tarfile.TarFile.makelink_with_filter -# Incompatible changes introduced in Python 3.12.12 -# (Remove once 3.12.12 becomes available for GitHub Actions) -pyexpat.XMLParserType.SetBillionLaughsAttackProtectionActivationThreshold -pyexpat.XMLParserType.SetBillionLaughsAttackProtectionMaximumAmplification - # Incompatible changes introduced in Python 3.12.13 # (Remove once 3.12.13 becomes available for GitHub Actions) email._header_value_parser.make_parenthesis_pairs diff --git a/stdlib/@tests/test_cases/asyncio/check_create_server.py b/stdlib/@tests/test_cases/asyncio/check_create_server.py deleted file mode 100644 index 1275ffe4823a..000000000000 --- a/stdlib/@tests/test_cases/asyncio/check_create_server.py +++ /dev/null @@ -1,26 +0,0 @@ -import asyncio -import socket - - -async def check_abstract_event_loop(loop: asyncio.AbstractEventLoop, sock: socket.socket) -> None: - await loop.create_server(asyncio.Protocol, None, 8000) - await loop.create_server(asyncio.Protocol, "localhost") - await loop.create_server(asyncio.Protocol, "localhost", None) - await loop.create_server(asyncio.Protocol, "localhost", 8000) - await loop.create_server(asyncio.Protocol, port=8000) - await loop.create_server(asyncio.Protocol, sock=sock) - - await loop.create_server(asyncio.Protocol) # type: ignore - await loop.create_server(asyncio.Protocol, "localhost", sock=sock) # type: ignore - - -async def check_base_event_loop(loop: asyncio.BaseEventLoop, sock: socket.socket) -> None: - await loop.create_server(asyncio.Protocol, None, 8000) - await loop.create_server(asyncio.Protocol, "localhost") - await loop.create_server(asyncio.Protocol, "localhost", None) - await loop.create_server(asyncio.Protocol, "localhost", 8000) - await loop.create_server(asyncio.Protocol, port=8000) - await loop.create_server(asyncio.Protocol, sock=sock) - - await loop.create_server(asyncio.Protocol) # type: ignore - await loop.create_server(asyncio.Protocol, "localhost", sock=sock) # type: ignore diff --git a/stdlib/@tests/test_cases/builtins/check_type.py b/stdlib/@tests/test_cases/builtins/check_type.py index e29550169d99..1eafcf482fb6 100644 --- a/stdlib/@tests/test_cases/builtins/check_type.py +++ b/stdlib/@tests/test_cases/builtins/check_type.py @@ -1,12 +1,4 @@ -from typing_extensions import assert_type - - class Meta(type): ... call = Meta.__dict__["__call__"] - -# Regression tests for https://github.com/python/typeshed/pull/16299 -assert_type(int.__subclasses__(), list[type[int]]) -assert_type(str.__subclasses__(), list[type[str]]) -assert_type(BaseException.__subclasses__(), list[type[BaseException]]) diff --git a/stdlib/@tests/test_cases/check_copy.py b/stdlib/@tests/test_cases/check_copy.py index 59896851d737..c9d4fa877e91 100644 --- a/stdlib/@tests/test_cases/check_copy.py +++ b/stdlib/@tests/test_cases/check_copy.py @@ -10,7 +10,7 @@ class ReplaceableClass: def __init__(self, val: int) -> None: self.val = val - def __replace__(self, /, *, val: int) -> Self: + def __replace__(self, val: int) -> Self: cpy = copy.copy(self) cpy.val = val return cpy @@ -29,11 +29,11 @@ class Box(Generic[_T_co]): def __init__(self, value: _T_co, /) -> None: self.value = value - def __replace__(self, /, *, value: str) -> Box[str]: + def __replace__(self, value: str) -> Box[str]: return Box(value) if sys.version_info >= (3, 13): box1: Box[int] = Box(42) - box2 = copy.replace(box1, value="spam") + box2 = copy.replace(box1, val="spam") assert_type(box2, Box[str]) diff --git a/stdlib/@tests/test_cases/check_inspect.py b/stdlib/@tests/test_cases/check_inspect.py index 3723739ac537..e7ef3d25cf6e 100644 --- a/stdlib/@tests/test_cases/check_inspect.py +++ b/stdlib/@tests/test_cases/check_inspect.py @@ -1,7 +1,8 @@ from __future__ import annotations import inspect -from collections.abc import AsyncGenerator, Awaitable, Callable, Coroutine, Generator +from collections.abc import Awaitable, Callable, Coroutine +from types import CoroutineType from typing import Any from typing_extensions import assert_type @@ -16,24 +17,10 @@ def test_iscoroutinefunction_inspect( assert_type(x, Callable[[str, int], Coroutine[str, int, bytes]]) if inspect.iscoroutinefunction(y): - assert_type(y, Callable[[str, int], Coroutine[Any, Any, bytes]]) + assert_type(y, Callable[[str, int], CoroutineType[Any, Any, bytes]]) if inspect.iscoroutinefunction(z): - assert_type(z, Callable[[str, int], Coroutine[Any, Any, Any]]) + assert_type(z, Callable[[str, int], CoroutineType[Any, Any, Any]]) if inspect.iscoroutinefunction(xx): - assert_type(xx, Callable[..., Coroutine[Any, Any, Any]]) - - -def test_isgeneratorfunction_inspect(x: Callable[[str], object], y: object) -> None: - if inspect.isgeneratorfunction(x): - assert_type(x, Callable[[str], Generator[Any, Any, Any]]) - if inspect.isgeneratorfunction(y): - assert_type(y, Callable[..., Generator[Any, Any, Any]]) - - -def test_isasyncgenfunction_inspect(x: Callable[[str], object], y: object) -> None: - if inspect.isasyncgenfunction(x): - assert_type(x, Callable[[str], AsyncGenerator[Any, Any]]) - if inspect.isasyncgenfunction(y): - assert_type(y, Callable[..., AsyncGenerator[Any, Any]]) + assert_type(xx, Callable[..., CoroutineType[Any, Any, Any]]) diff --git a/stdlib/_codecs.pyi b/stdlib/_codecs.pyi index 449e9e24af9b..38cf857d0569 100644 --- a/stdlib/_codecs.pyi +++ b/stdlib/_codecs.pyi @@ -1,6 +1,6 @@ import codecs import sys -from _typeshed import ReadableBuffer, SupportsGetItem +from _typeshed import ReadableBuffer from collections.abc import Callable from typing import Literal, TypeAlias, final, overload, type_check_only @@ -11,8 +11,7 @@ from typing import Literal, TypeAlias, final, overload, type_check_only class _EncodingMap: def size(self) -> int: ... -_DecodeCharMap: TypeAlias = SupportsGetItem[int, str | int | None] -_EncodeCharMap: TypeAlias = SupportsGetItem[int, bytes | int | None] | _EncodingMap +_CharMap: TypeAlias = dict[int, int] | _EncodingMap _Handler: TypeAlias = Callable[[UnicodeError], tuple[str | bytes, int]] _SearchFunction: TypeAlias = Callable[[str], codecs.CodecInfo | None] @@ -71,13 +70,11 @@ def decode(obj: str, encoding: Literal["hex", "hex_codec"], errors: str = "stric def decode(obj: ReadableBuffer, encoding: str = "utf-8", errors: str = "strict") -> str: ... def lookup(encoding: str, /) -> codecs.CodecInfo: ... -def charmap_build(map: str, /) -> dict[int, int] | _EncodingMap: ... +def charmap_build(map: str, /) -> _CharMap: ... def ascii_decode(data: ReadableBuffer, errors: str | None = None, /) -> tuple[str, int]: ... def ascii_encode(str: str, errors: str | None = None, /) -> tuple[bytes, int]: ... -def charmap_decode( - data: ReadableBuffer, errors: str | None = None, mapping: _DecodeCharMap | None = None, / -) -> tuple[str, int]: ... -def charmap_encode(str: str, errors: str | None = None, mapping: _EncodeCharMap | None = None, /) -> tuple[bytes, int]: ... +def charmap_decode(data: ReadableBuffer, errors: str | None = None, mapping: _CharMap | None = None, /) -> tuple[str, int]: ... +def charmap_encode(str: str, errors: str | None = None, mapping: _CharMap | None = None, /) -> tuple[bytes, int]: ... # Docs say this accepts a bytes-like object, but in practice it also accepts str. def escape_decode(data: str | ReadableBuffer, errors: str | None = None, /) -> tuple[bytes, int]: ... diff --git a/stdlib/_frozen_importlib.pyi b/stdlib/_frozen_importlib.pyi index 7bb8d40a932a..172da4522d8f 100644 --- a/stdlib/_frozen_importlib.pyi +++ b/stdlib/_frozen_importlib.pyi @@ -16,8 +16,6 @@ def __import__( fromlist: Sequence[str] | None = (), level: int = 0, ) -> ModuleType: ... - -# TODO: Revise the protocol for 'loader' param def spec_from_loader( name: str, loader: LoaderProtocol | None, *, origin: str | None = None, is_package: bool | None = None ) -> importlib.machinery.ModuleSpec | None: ... @@ -63,13 +61,11 @@ class BuiltinImporter(importlib.abc.MetaPathFinder, importlib.abc.InspectLoader) @classmethod def is_package(cls, fullname: str) -> bool: ... @classmethod + def load_module(cls, fullname: str) -> types.ModuleType: ... + @classmethod def get_code(cls, fullname: str) -> None: ... @classmethod def get_source(cls, fullname: str) -> None: ... - if sys.version_info < (3, 15): - @classmethod - @deprecated("Deprecated since Python 3.10; removed in Python 3.15. Use `exec_module()` instead.") - def load_module(cls, fullname: str) -> types.ModuleType: ... # Loader if sys.version_info < (3, 12): @staticmethod @@ -99,13 +95,11 @@ class FrozenImporter(importlib.abc.MetaPathFinder, importlib.abc.InspectLoader): @classmethod def is_package(cls, fullname: str) -> bool: ... @classmethod + def load_module(cls, fullname: str) -> types.ModuleType: ... + @classmethod def get_code(cls, fullname: str) -> None: ... @classmethod def get_source(cls, fullname: str) -> None: ... - if sys.version_info < (3, 15): - @classmethod - @deprecated("Deprecated since Python 3.10; removed in Python 3.15. Use `exec_module()` instead.") - def load_module(cls, fullname: str) -> types.ModuleType: ... # Loader if sys.version_info < (3, 12): @staticmethod diff --git a/stdlib/_frozen_importlib_external.pyi b/stdlib/_frozen_importlib_external.pyi index cbe7439641b7..907e8def9380 100644 --- a/stdlib/_frozen_importlib_external.pyi +++ b/stdlib/_frozen_importlib_external.pyi @@ -6,7 +6,7 @@ import sys import types from _typeshed import ReadableBuffer, StrOrBytesPath, StrPath from _typeshed.importlib import LoaderProtocol -from collections.abc import Callable, Iterable, Iterator, Mapping, MutableSequence, Sequence +from collections.abc import Callable, Iterable, Mapping, MutableSequence, Sequence from importlib.machinery import ModuleSpec from importlib.metadata import DistributionFinder, PathDistribution from typing import Any, Final, Literal, overload @@ -23,17 +23,13 @@ else: MAGIC_NUMBER: Final[bytes] -if sys.version_info >= (3, 15): - def cache_from_source(path: StrPath, *, optimization: Any | None = None) -> str: ... - -else: - @overload - @deprecated( - "The `debug_override` parameter is deprecated since Python 3.5; removed in Python 3.15. Use `optimization` instead." - ) - def cache_from_source(path: StrPath, debug_override: bool, *, optimization: None = None) -> str: ... - @overload - def cache_from_source(path: StrPath, debug_override: None = None, *, optimization: Any | None = None) -> str: ... +@overload +@deprecated( + "The `debug_override` parameter is deprecated since Python 3.5; will be removed in Python 3.15. Use `optimization` instead." +) +def cache_from_source(path: StrPath, debug_override: bool, *, optimization: None = None) -> str: ... +@overload +def cache_from_source(path: StrPath, debug_override: None = None, *, optimization: Any | None = None) -> str: ... def source_from_cache(path: StrPath) -> str: ... def decode_source(source_bytes: ReadableBuffer) -> str: ... @@ -74,10 +70,6 @@ class PathFinder(importlib.abc.MetaPathFinder): @deprecated("Deprecated since Python 3.4; removed in Python 3.12. Use `find_spec()` instead.") def find_module(cls, fullname: str, path: Sequence[str] | None = None) -> importlib.abc.Loader | None: ... - if sys.version_info >= (3, 15): - @classmethod - def discover(cls, parent: ModuleSpec | None = None) -> Iterator[ModuleSpec]: ... - SOURCE_SUFFIXES: Final[list[str]] DEBUG_BYTECODE_SUFFIXES: Final = [".pyc"] OPTIMIZED_BYTECODE_SUFFIXES: Final = [".pyc"] @@ -92,40 +84,20 @@ class FileFinder(importlib.abc.PathEntryFinder): cls, *loader_details: tuple[type[importlib.abc.Loader], list[str]] ) -> Callable[[str], importlib.abc.PathEntryFinder]: ... - if sys.version_info >= (3, 15): - def discover(self, parent: ModuleSpec | None = None) -> Iterator[ModuleSpec]: ... - class _LoaderBasics: def is_package(self, fullname: str) -> bool: ... def create_module(self, spec: ModuleSpec) -> types.ModuleType | None: ... def exec_module(self, module: types.ModuleType) -> None: ... - if sys.version_info < (3, 15): - @deprecated("Deprecated since Python 3.10; removed in Python 3.15. Use `exec_module()` instead.") - def load_module(self, fullname: str) -> types.ModuleType: ... + def load_module(self, fullname: str) -> types.ModuleType: ... class SourceLoader(_LoaderBasics): def path_mtime(self, path: str) -> float: ... def set_data(self, path: str, data: bytes) -> None: ... def get_source(self, fullname: str) -> str | None: ... def path_stats(self, path: str) -> Mapping[str, Any]: ... - if sys.version_info >= (3, 15): - def source_to_code( - self, - data: ReadableBuffer | str | _ast.Module | _ast.Expression | _ast.Interactive, - path: bytes | StrPath, - fullname: str | None = None, - *, - _optimize: int = -1, - ) -> types.CodeType: ... - else: - def source_to_code( - self, - data: ReadableBuffer | str | _ast.Module | _ast.Expression | _ast.Interactive, - path: bytes | StrPath, - *, - _optimize: int = -1, - ) -> types.CodeType: ... - + def source_to_code( + self, data: ReadableBuffer | str | _ast.Module | _ast.Expression | _ast.Interactive, path: bytes | StrPath + ) -> types.CodeType: ... def get_code(self, fullname: str) -> types.CodeType | None: ... class FileLoader: @@ -134,14 +106,19 @@ class FileLoader: def __init__(self, fullname: str, path: str) -> None: ... def get_data(self, path: str) -> bytes: ... def get_filename(self, fullname: str | None = None) -> str: ... + def load_module(self, fullname: str | None = None) -> types.ModuleType: ... def get_resource_reader(self, name: str | None = None) -> importlib.readers.FileReader: ... - if sys.version_info < (3, 15): - @deprecated("Deprecated since Python 3.10; removed in Python 3.15. Use `exec_module()` instead.") - def load_module(self, fullname: str | None = None) -> types.ModuleType: ... class SourceFileLoader(importlib.abc.FileLoader, FileLoader, importlib.abc.SourceLoader, SourceLoader): # type: ignore[misc] # incompatible method arguments in base classes def set_data(self, path: str, data: ReadableBuffer, *, _mode: int = 0o666) -> None: ... def path_stats(self, path: str) -> Mapping[str, Any]: ... + def source_to_code( # type: ignore[override] # incompatible with InspectLoader.source_to_code + self, + data: ReadableBuffer | str | _ast.Module | _ast.Expression | _ast.Interactive, + path: bytes | StrPath, + *, + _optimize: int = -1, + ) -> types.CodeType: ... class SourcelessFileLoader(importlib.abc.FileLoader, FileLoader, _LoaderBasics): def get_code(self, fullname: str) -> types.CodeType | None: ... @@ -157,34 +134,19 @@ class ExtensionFileLoader(FileLoader, _LoaderBasics, importlib.abc.ExecutionLoad def __eq__(self, other: object) -> bool: ... def __hash__(self) -> int: ... -if sys.version_info >= (3, 15): - class NamespacePath: - def __init__( - self, name: str, path: MutableSequence[str], path_finder: Callable[[str, tuple[str, ...]], ModuleSpec | None] - ) -> None: ... - def __iter__(self) -> Iterator[str]: ... - def __getitem__(self, index: int) -> str: ... - def __setitem__(self, index: int, path: str) -> None: ... - def __len__(self) -> int: ... - def __contains__(self, item: str) -> bool: ... - def append(self, item: str) -> None: ... - - _NamespacePath = NamespacePath - if sys.version_info >= (3, 11): class NamespaceLoader(importlib.abc.InspectLoader): def __init__( - self, name: str, path: MutableSequence[str], path_finder: Callable[[str, tuple[str, ...]], ModuleSpec | None] + self, name: str, path: MutableSequence[str], path_finder: Callable[[str, tuple[str, ...]], ModuleSpec] ) -> None: ... def is_package(self, fullname: str) -> Literal[True]: ... def get_source(self, fullname: str) -> Literal[""]: ... def get_code(self, fullname: str) -> types.CodeType: ... def create_module(self, spec: ModuleSpec) -> None: ... def exec_module(self, module: types.ModuleType) -> None: ... + @deprecated("Deprecated since Python 3.10; will be removed in Python 3.15. Use `exec_module()` instead.") + def load_module(self, fullname: str) -> types.ModuleType: ... def get_resource_reader(self, module: types.ModuleType) -> importlib.readers.NamespaceReader: ... - if sys.version_info < (3, 15): - @deprecated("Deprecated since Python 3.10; removed in Python 3.15. Use `exec_module()` instead.") - def load_module(self, fullname: str) -> types.ModuleType: ... if sys.version_info < (3, 12): @staticmethod @deprecated( @@ -197,14 +159,14 @@ if sys.version_info >= (3, 11): else: class _NamespaceLoader: def __init__( - self, name: str, path: MutableSequence[str], path_finder: Callable[[str, tuple[str, ...]], ModuleSpec | None] + self, name: str, path: MutableSequence[str], path_finder: Callable[[str, tuple[str, ...]], ModuleSpec] ) -> None: ... def is_package(self, fullname: str) -> Literal[True]: ... def get_source(self, fullname: str) -> Literal[""]: ... def get_code(self, fullname: str) -> types.CodeType: ... def create_module(self, spec: ModuleSpec) -> None: ... def exec_module(self, module: types.ModuleType) -> None: ... - @deprecated("Deprecated since Python 3.10; removed in Python 3.15. Use `exec_module()` instead.") + @deprecated("Deprecated since Python 3.10; will be removed in Python 3.15. Use `exec_module()` instead.") def load_module(self, fullname: str) -> types.ModuleType: ... @staticmethod @deprecated( diff --git a/stdlib/_operator.pyi b/stdlib/_operator.pyi index 565bb41697f1..04dae79dcd52 100644 --- a/stdlib/_operator.pyi +++ b/stdlib/_operator.pyi @@ -1,6 +1,5 @@ import sys from _typeshed import ( - ReadableBuffer, SupportsAdd, SupportsGetItem, SupportsMod, @@ -13,7 +12,7 @@ from _typeshed import ( ) from collections.abc import Callable, Container, Iterable, MutableMapping, MutableSequence, Sequence from operator import attrgetter as attrgetter, itemgetter as itemgetter, methodcaller as methodcaller -from typing import Any, ParamSpec, Protocol, SupportsAbs, SupportsIndex, TypeAlias, TypeVar, overload, type_check_only +from typing import Any, AnyStr, ParamSpec, Protocol, SupportsAbs, SupportsIndex, TypeAlias, TypeVar, overload, type_check_only from typing_extensions import TypeIs _R = TypeVar("_R") @@ -151,10 +150,7 @@ def ixor(a, b, /): ... if sys.version_info >= (3, 11): def call(obj: Callable[_P, _R], /, *args: _P.args, **kwargs: _P.kwargs) -> _R: ... -@overload -def _compare_digest(a: ReadableBuffer, b: ReadableBuffer, /) -> bool: ... -@overload -def _compare_digest(a: str, b: str, /) -> bool: ... +def _compare_digest(a: AnyStr, b: AnyStr, /) -> bool: ... if sys.version_info >= (3, 14): def is_none(a: object, /) -> TypeIs[None]: ... diff --git a/stdlib/_remote_debugging.pyi b/stdlib/_remote_debugging.pyi index 5c150442c5e3..b001962aad7b 100644 --- a/stdlib/_remote_debugging.pyi +++ b/stdlib/_remote_debugging.pyi @@ -157,9 +157,6 @@ class BinaryWriter: @property def total_samples(self) -> int: ... def write_sample(self, stack_frames: list[InterpreterInfo], timestamp_us: int) -> None: ... - def set_stats( - self, /, duration_sec: float, sample_rate: float, error_rate: float | None = None, missed_samples: float | None = None - ) -> None: ... def finalize(self) -> None: ... def close(self) -> None: ... def __enter__(self) -> Self: ... diff --git a/stdlib/_struct.pyi b/stdlib/_struct.pyi index 6a877cb82eb1..c13e440e10aa 100644 --- a/stdlib/_struct.pyi +++ b/stdlib/_struct.pyi @@ -3,8 +3,8 @@ from collections.abc import Iterator from typing import Any from typing_extensions import disjoint_base -def pack(format: str | bytes, /, *values: Any) -> bytes: ... -def pack_into(format: str | bytes, buffer: WriteableBuffer, offset: int, /, *values: Any) -> None: ... +def pack(fmt: str | bytes, /, *v: Any) -> bytes: ... +def pack_into(fmt: str | bytes, buffer: WriteableBuffer, offset: int, /, *v: Any) -> None: ... def unpack(format: str | bytes, buffer: ReadableBuffer, /) -> tuple[Any, ...]: ... def unpack_from(format: str | bytes, /, buffer: ReadableBuffer, offset: int = 0) -> tuple[Any, ...]: ... def iter_unpack(format: str | bytes, buffer: ReadableBuffer, /) -> Iterator[tuple[Any, ...]]: ... @@ -17,8 +17,8 @@ class Struct: @property def size(self) -> int: ... def __init__(self, format: str | bytes) -> None: ... - def pack(self, *values: Any) -> bytes: ... - def pack_into(self, buffer: WriteableBuffer, offset: int, /, *values: Any) -> None: ... + def pack(self, *v: Any) -> bytes: ... + def pack_into(self, buffer: WriteableBuffer, offset: int, *v: Any) -> None: ... def unpack(self, buffer: ReadableBuffer, /) -> tuple[Any, ...]: ... def unpack_from(self, buffer: ReadableBuffer, offset: int = 0) -> tuple[Any, ...]: ... def iter_unpack(self, buffer: ReadableBuffer, /) -> Iterator[tuple[Any, ...]]: ... diff --git a/stdlib/_thread.pyi b/stdlib/_thread.pyi index 823a91831ee3..57622e936a3b 100644 --- a/stdlib/_thread.pyi +++ b/stdlib/_thread.pyi @@ -18,9 +18,7 @@ class RLock: def acquire(self, blocking: bool = True, timeout: float = -1) -> bool: ... def release(self) -> None: ... __enter__ = acquire - def __exit__( - self, exc_type: type[BaseException] | None, exc_value: BaseException | None, exc_tb: TracebackType | None, / - ) -> None: ... + def __exit__(self, t: type[BaseException] | None, v: BaseException | None, tb: TracebackType | None) -> None: ... if sys.version_info >= (3, 14): def locked(self) -> bool: ... @@ -50,7 +48,7 @@ if sys.version_info >= (3, 13): def locked_lock(self) -> bool: ... # undocumented def __enter__(self) -> bool: ... def __exit__( - self, exc_type: type[BaseException] | None, exc_value: BaseException | None, exc_tb: TracebackType | None, / + self, type: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None ) -> None: ... LockType = lock diff --git a/stdlib/_typeshed/__init__.pyi b/stdlib/_typeshed/__init__.pyi index 98dfb02d04b1..5b2d7f7c549f 100644 --- a/stdlib/_typeshed/__init__.pyi +++ b/stdlib/_typeshed/__init__.pyi @@ -168,18 +168,6 @@ class SupportsTrunc(Protocol): # Mapping-like protocols -# The second and third overload could technically be combined, but splitting -# them works better with some type checkers. -class SupportsGet(Protocol[_KT_contra, _VT_co]): # type: ignore[misc] # Covariant type as parameter - @overload - def get(self, key: _KT_contra, /) -> _VT_co | None: ... - @overload - def get( # pyrefly: ignore[invalid-variance] - self, key: _KT_contra, default: _VT_co, / # type: ignore[misc] # pyright: ignore[reportGeneralTypeIssues] # Covariant type as parameter - ) -> _VT_co: ... - @overload - def get(self, key: _KT_contra, default: _T, /) -> _VT_co | _T: ... - # stable class SupportsItems(Protocol[_KT_co, _VT_co]): def items(self) -> AbstractSet[tuple[_KT_co, _VT_co]]: ... @@ -205,8 +193,6 @@ class SupportsItemAccess(Protocol[_KT_contra, _VT]): def __setitem__(self, key: _KT_contra, value: _VT, /) -> None: ... def __delitem__(self, key: _KT_contra, /) -> None: ... -# Path and file handling - StrPath: TypeAlias = str | PathLike[str] # stable BytesPath: TypeAlias = bytes | PathLike[bytes] # stable GenericPath: TypeAlias = AnyStr | PathLike[AnyStr] diff --git a/stdlib/_typeshed/_type_checker_internals.pyi b/stdlib/_typeshed/_type_checker_internals.pyi index 9dad80591006..a8411192a898 100644 --- a/stdlib/_typeshed/_type_checker_internals.pyi +++ b/stdlib/_typeshed/_type_checker_internals.pyi @@ -69,16 +69,13 @@ class NamedTupleFallback(tuple[Any, ...]): if sys.version_info >= (3, 12): __orig_bases__: ClassVar[tuple[Any, ...]] - if sys.version_info >= (3, 15): - def __init__(self, typename: str, fields: Iterable[tuple[str, Any]], /) -> None: ... - else: - @overload - def __init__(self, typename: str, fields: Iterable[tuple[str, Any]], /) -> None: ... - @overload - @typing_extensions.deprecated( - "Creating a typing.NamedTuple using keyword arguments is deprecated; support removed in Python 3.15" - ) - def __init__(self, typename: str, fields: None = None, /, **kwargs: Any) -> None: ... + @overload + def __init__(self, typename: str, fields: Iterable[tuple[str, Any]], /) -> None: ... + @overload + @typing_extensions.deprecated( + "Creating a typing.NamedTuple using keyword arguments is deprecated and support will be removed in Python 3.15" + ) + def __init__(self, typename: str, fields: None = None, /, **kwargs: Any) -> None: ... @classmethod def _make(cls, iterable: Iterable[Any]) -> typing_extensions.Self: ... diff --git a/stdlib/argparse.pyi b/stdlib/argparse.pyi index da8141e235e0..9377497c0766 100644 --- a/stdlib/argparse.pyi +++ b/stdlib/argparse.pyi @@ -223,7 +223,7 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer): title: str = "subcommands", description: str | None = None, prog: str | None = None, - action: str | type[Action] = ..., + action: type[Action] = ..., option_string: str = ..., dest: str | None = None, required: bool = False, @@ -238,7 +238,7 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer): description: str | None = None, prog: str | None = None, parser_class: type[_ArgumentParserT], - action: str | type[Action] = ..., + action: type[Action] = ..., option_string: str = ..., dest: str | None = None, required: bool = False, @@ -458,7 +458,7 @@ if sys.version_info >= (3, 12): deprecated: bool = False, ) -> None: ... @overload - @deprecated("The `type`, `choices`, and `metavar` parameters are ignored; removed in Python 3.14.") + @deprecated("The `type`, `choices`, and `metavar` parameters are ignored and will be removed in Python 3.14.") def __init__( self, option_strings: Sequence[str], @@ -483,7 +483,7 @@ if sys.version_info >= (3, 12): help: str | None = None, ) -> None: ... @overload - @deprecated("The `type`, `choices`, and `metavar` parameters are ignored; removed in Python 3.14.") + @deprecated("The `type`, `choices`, and `metavar` parameters are ignored and will be removed in Python 3.14.") def __init__( self, option_strings: Sequence[str], @@ -509,7 +509,7 @@ else: help: str | None = None, ) -> None: ... @overload - @deprecated("The `type`, `choices`, and `metavar` parameters are ignored; removed in Python 3.14.") + @deprecated("The `type`, `choices`, and `metavar` parameters are ignored and will be removed in Python 3.14.") def __init__( self, option_strings: Sequence[str], diff --git a/stdlib/asyncio/base_events.pyi b/stdlib/asyncio/base_events.pyi index cfd67e252e74..056d9a2d36c9 100644 --- a/stdlib/asyncio/base_events.pyi +++ b/stdlib/asyncio/base_events.pyi @@ -243,47 +243,9 @@ class BaseEventLoop(AbstractEventLoop): async def create_server( self, protocol_factory: _ProtocolFactory, - host: str | Sequence[str] | None, - port: int, - *, - family: int = 0, - flags: int = 1, - sock: None = None, - backlog: int = 100, - ssl: _SSLContext = None, - reuse_address: bool | None = None, - reuse_port: bool | None = None, - keep_alive: bool | None = None, - ssl_handshake_timeout: float | None = None, - ssl_shutdown_timeout: float | None = None, - start_serving: bool = True, - ) -> Server: ... - @overload - async def create_server( - self, - protocol_factory: _ProtocolFactory, - host: str | Sequence[str], - port: int | None = None, - *, - family: int = 0, - flags: int = 1, - sock: None = None, - backlog: int = 100, - ssl: _SSLContext = None, - reuse_address: bool | None = None, - reuse_port: bool | None = None, - keep_alive: bool | None = None, - ssl_handshake_timeout: float | None = None, - ssl_shutdown_timeout: float | None = None, - start_serving: bool = True, - ) -> Server: ... - @overload - async def create_server( - self, - protocol_factory: _ProtocolFactory, - host: None = None, + host: str | Sequence[str] | None = None, + port: int = ..., *, - port: int, family: int = 0, flags: int = 1, sock: None = None, @@ -305,7 +267,7 @@ class BaseEventLoop(AbstractEventLoop): *, family: int = 0, flags: int = 1, - sock: socket, + sock: socket = ..., backlog: int = 100, ssl: _SSLContext = None, reuse_address: bool | None = None, @@ -320,45 +282,9 @@ class BaseEventLoop(AbstractEventLoop): async def create_server( self, protocol_factory: _ProtocolFactory, - host: str | Sequence[str] | None, - port: int, - *, - family: int = AddressFamily.AF_UNSPEC, - flags: int = AddressInfo.AI_PASSIVE, - sock: None = None, - backlog: int = 100, - ssl: _SSLContext = None, - reuse_address: bool | None = None, - reuse_port: bool | None = None, - ssl_handshake_timeout: float | None = None, - ssl_shutdown_timeout: float | None = None, - start_serving: bool = True, - ) -> Server: ... - @overload - async def create_server( - self, - protocol_factory: _ProtocolFactory, - host: str | Sequence[str], - port: int | None = None, - *, - family: int = AddressFamily.AF_UNSPEC, - flags: int = AddressInfo.AI_PASSIVE, - sock: None = None, - backlog: int = 100, - ssl: _SSLContext = None, - reuse_address: bool | None = None, - reuse_port: bool | None = None, - ssl_handshake_timeout: float | None = None, - ssl_shutdown_timeout: float | None = None, - start_serving: bool = True, - ) -> Server: ... - @overload - async def create_server( - self, - protocol_factory: _ProtocolFactory, - host: None = None, + host: str | Sequence[str] | None = None, + port: int = ..., *, - port: int, family: int = AddressFamily.AF_UNSPEC, flags: int = AddressInfo.AI_PASSIVE, sock: None = None, @@ -379,7 +305,7 @@ class BaseEventLoop(AbstractEventLoop): *, family: int = AddressFamily.AF_UNSPEC, flags: int = AddressInfo.AI_PASSIVE, - sock: socket, + sock: socket = ..., backlog: int = 100, ssl: _SSLContext = None, reuse_address: bool | None = None, @@ -393,43 +319,9 @@ class BaseEventLoop(AbstractEventLoop): async def create_server( self, protocol_factory: _ProtocolFactory, - host: str | Sequence[str] | None, - port: int, - *, - family: int = AddressFamily.AF_UNSPEC, - flags: int = AddressInfo.AI_PASSIVE, - sock: None = None, - backlog: int = 100, - ssl: _SSLContext = None, - reuse_address: bool | None = None, - reuse_port: bool | None = None, - ssl_handshake_timeout: float | None = None, - start_serving: bool = True, - ) -> Server: ... - @overload - async def create_server( - self, - protocol_factory: _ProtocolFactory, - host: str | Sequence[str], - port: int | None = None, - *, - family: int = AddressFamily.AF_UNSPEC, - flags: int = AddressInfo.AI_PASSIVE, - sock: None = None, - backlog: int = 100, - ssl: _SSLContext = None, - reuse_address: bool | None = None, - reuse_port: bool | None = None, - ssl_handshake_timeout: float | None = None, - start_serving: bool = True, - ) -> Server: ... - @overload - async def create_server( - self, - protocol_factory: _ProtocolFactory, - host: None = None, + host: str | Sequence[str] | None = None, + port: int = ..., *, - port: int, family: int = AddressFamily.AF_UNSPEC, flags: int = AddressInfo.AI_PASSIVE, sock: None = None, @@ -449,7 +341,7 @@ class BaseEventLoop(AbstractEventLoop): *, family: int = AddressFamily.AF_UNSPEC, flags: int = AddressInfo.AI_PASSIVE, - sock: socket, + sock: socket = ..., backlog: int = 100, ssl: _SSLContext = None, reuse_address: bool | None = None, diff --git a/stdlib/asyncio/events.pyi b/stdlib/asyncio/events.pyi index 77b932b25f53..12978a97679f 100644 --- a/stdlib/asyncio/events.pyi +++ b/stdlib/asyncio/events.pyi @@ -298,49 +298,9 @@ class AbstractEventLoop: async def create_server( self, protocol_factory: _ProtocolFactory, - host: str | Sequence[str] | None, - port: int, - *, - family: int = AddressFamily.AF_UNSPEC, - flags: int = AddressInfo.AI_PASSIVE, - sock: None = None, - backlog: int = 100, - ssl: _SSLContext = None, - reuse_address: bool | None = None, - reuse_port: bool | None = None, - keep_alive: bool | None = None, - ssl_handshake_timeout: float | None = None, - ssl_shutdown_timeout: float | None = None, - start_serving: bool = True, - ) -> Server: ... - @overload - @abstractmethod - async def create_server( - self, - protocol_factory: _ProtocolFactory, - host: str | Sequence[str], - port: int | None = None, - *, - family: int = AddressFamily.AF_UNSPEC, - flags: int = AddressInfo.AI_PASSIVE, - sock: None = None, - backlog: int = 100, - ssl: _SSLContext = None, - reuse_address: bool | None = None, - reuse_port: bool | None = None, - keep_alive: bool | None = None, - ssl_handshake_timeout: float | None = None, - ssl_shutdown_timeout: float | None = None, - start_serving: bool = True, - ) -> Server: ... - @overload - @abstractmethod - async def create_server( - self, - protocol_factory: _ProtocolFactory, - host: None = None, + host: str | Sequence[str] | None = None, + port: int = ..., *, - port: int, family: int = AddressFamily.AF_UNSPEC, flags: int = AddressInfo.AI_PASSIVE, sock: None = None, @@ -363,7 +323,7 @@ class AbstractEventLoop: *, family: int = AddressFamily.AF_UNSPEC, flags: int = AddressInfo.AI_PASSIVE, - sock: socket, + sock: socket = ..., backlog: int = 100, ssl: _SSLContext = None, reuse_address: bool | None = None, @@ -379,47 +339,9 @@ class AbstractEventLoop: async def create_server( self, protocol_factory: _ProtocolFactory, - host: str | Sequence[str] | None, - port: int, - *, - family: int = AddressFamily.AF_UNSPEC, - flags: int = AddressInfo.AI_PASSIVE, - sock: None = None, - backlog: int = 100, - ssl: _SSLContext = None, - reuse_address: bool | None = None, - reuse_port: bool | None = None, - ssl_handshake_timeout: float | None = None, - ssl_shutdown_timeout: float | None = None, - start_serving: bool = True, - ) -> Server: ... - @overload - @abstractmethod - async def create_server( - self, - protocol_factory: _ProtocolFactory, - host: str | Sequence[str], - port: int | None = None, - *, - family: int = AddressFamily.AF_UNSPEC, - flags: int = AddressInfo.AI_PASSIVE, - sock: None = None, - backlog: int = 100, - ssl: _SSLContext = None, - reuse_address: bool | None = None, - reuse_port: bool | None = None, - ssl_handshake_timeout: float | None = None, - ssl_shutdown_timeout: float | None = None, - start_serving: bool = True, - ) -> Server: ... - @overload - @abstractmethod - async def create_server( - self, - protocol_factory: _ProtocolFactory, - host: None = None, + host: str | Sequence[str] | None = None, + port: int = ..., *, - port: int, family: int = AddressFamily.AF_UNSPEC, flags: int = AddressInfo.AI_PASSIVE, sock: None = None, @@ -441,7 +363,7 @@ class AbstractEventLoop: *, family: int = AddressFamily.AF_UNSPEC, flags: int = AddressInfo.AI_PASSIVE, - sock: socket, + sock: socket = ..., backlog: int = 100, ssl: _SSLContext = None, reuse_address: bool | None = None, @@ -456,45 +378,9 @@ class AbstractEventLoop: async def create_server( self, protocol_factory: _ProtocolFactory, - host: str | Sequence[str] | None, - port: int, - *, - family: int = AddressFamily.AF_UNSPEC, - flags: int = AddressInfo.AI_PASSIVE, - sock: None = None, - backlog: int = 100, - ssl: _SSLContext = None, - reuse_address: bool | None = None, - reuse_port: bool | None = None, - ssl_handshake_timeout: float | None = None, - start_serving: bool = True, - ) -> Server: ... - @overload - @abstractmethod - async def create_server( - self, - protocol_factory: _ProtocolFactory, - host: str | Sequence[str], - port: int | None = None, - *, - family: int = AddressFamily.AF_UNSPEC, - flags: int = AddressInfo.AI_PASSIVE, - sock: None = None, - backlog: int = 100, - ssl: _SSLContext = None, - reuse_address: bool | None = None, - reuse_port: bool | None = None, - ssl_handshake_timeout: float | None = None, - start_serving: bool = True, - ) -> Server: ... - @overload - @abstractmethod - async def create_server( - self, - protocol_factory: _ProtocolFactory, - host: None = None, + host: str | Sequence[str] | None = None, + port: int = ..., *, - port: int, family: int = AddressFamily.AF_UNSPEC, flags: int = AddressInfo.AI_PASSIVE, sock: None = None, @@ -515,7 +401,7 @@ class AbstractEventLoop: *, family: int = AddressFamily.AF_UNSPEC, flags: int = AddressInfo.AI_PASSIVE, - sock: socket, + sock: socket = ..., backlog: int = 100, ssl: _SSLContext = None, reuse_address: bool | None = None, @@ -537,20 +423,6 @@ class AbstractEventLoop: ssl_handshake_timeout: float | None = None, ssl_shutdown_timeout: float | None = None, ) -> Transport | None: ... - else: - @abstractmethod - async def start_tls( - self, - transport: BaseTransport, - protocol: BaseProtocol, - sslcontext: ssl.SSLContext, - *, - server_side: bool = False, - server_hostname: str | None = None, - ssl_handshake_timeout: float | None = None, - ) -> Transport | None: ... - - if sys.version_info >= (3, 13): async def create_unix_server( self, protocol_factory: _ProtocolFactory, @@ -562,22 +434,19 @@ class AbstractEventLoop: ssl_handshake_timeout: float | None = None, ssl_shutdown_timeout: float | None = None, start_serving: bool = True, - cleanup_socket: bool = True, ) -> Server: ... - elif sys.version_info >= (3, 11): - async def create_unix_server( + else: + @abstractmethod + async def start_tls( self, - protocol_factory: _ProtocolFactory, - path: StrPath | None = None, + transport: BaseTransport, + protocol: BaseProtocol, + sslcontext: ssl.SSLContext, *, - sock: socket | None = None, - backlog: int = 100, - ssl: _SSLContext = None, + server_side: bool = False, + server_hostname: str | None = None, ssl_handshake_timeout: float | None = None, - ssl_shutdown_timeout: float | None = None, - start_serving: bool = True, - ) -> Server: ... - else: + ) -> Transport | None: ... async def create_unix_server( self, protocol_factory: _ProtocolFactory, diff --git a/stdlib/builtins.pyi b/stdlib/builtins.pyi index 903b13aa460a..3c549d97316c 100644 --- a/stdlib/builtins.pyi +++ b/stdlib/builtins.pyi @@ -218,7 +218,7 @@ class type: ) -> _typeshed.Self: ... def __call__(self, *args: Any, **kwds: Any) -> Any: ... - def __subclasses__(self: type[_T]) -> list[type[_T]]: ... + def __subclasses__(self: _typeshed.Self) -> list[_typeshed.Self]: ... # Note: the documentation doesn't specify what the return type is, the standard # implementation seems to be returning a list. def mro(self) -> list[type]: ... diff --git a/stdlib/calendar.pyi b/stdlib/calendar.pyi index 79ffb1ad0bf7..fb75d9559e97 100644 --- a/stdlib/calendar.pyi +++ b/stdlib/calendar.pyi @@ -131,7 +131,7 @@ class HTMLCalendar(Calendar): def formatmonth(self, theyear: int, themonth: int, withyear: bool = True) -> str: ... if sys.version_info >= (3, 15): def formatmonthpage( - self, theyear: int, themonth: int, *, css: str | None = "calendar.css", encoding: str | None = None + self, theyear: int, themonth: int, width: int = 3, css: str | None = "calendar.css", encoding: str | None = None ) -> bytes: ... def formatyear(self, theyear: int, width: int = 3) -> str: ... diff --git a/stdlib/configparser.pyi b/stdlib/configparser.pyi index cc27c9d20ea7..385336ec154a 100644 --- a/stdlib/configparser.pyi +++ b/stdlib/configparser.pyi @@ -1,6 +1,6 @@ import sys from _typeshed import BytesPath, GenericPath, MaybeNone, StrOrBytesPath, StrPath, SupportsWrite -from collections.abc import Callable, ItemsView, Iterable, Iterator, Mapping, MutableMapping, Sequence, ValuesView +from collections.abc import Callable, ItemsView, Iterable, Iterator, Mapping, MutableMapping, Sequence from re import Pattern from typing import Any, AnyStr, ClassVar, Final, Literal, TypeAlias, TypeVar, overload, type_check_only from typing_extensions import deprecated @@ -333,8 +333,6 @@ class RawConfigParser(_Parser): @overload def items(self, section: _SectionName, raw: bool = False, vars: _Section | None = None) -> list[tuple[str, str]]: ... - def values(self) -> ValuesView[SectionProxy]: ... - def popitem(self) -> tuple[str, SectionProxy]: ... def set(self, section: _SectionName, option: str, value: str | None = None) -> None: ... def write(self, fp: SupportsWrite[str], space_around_delimiters: bool = True) -> None: ... def remove_option(self, section: _SectionName, option: str) -> bool: ... diff --git a/stdlib/copy.pyi b/stdlib/copy.pyi index e805af61291b..925bed1aada2 100644 --- a/stdlib/copy.pyi +++ b/stdlib/copy.pyi @@ -1,17 +1,15 @@ import sys from typing import Any, Protocol, TypeVar, type_check_only -from typing_extensions import ParamSpec __all__ = ["Error", "copy", "deepcopy"] _T = TypeVar("_T") _RT_co = TypeVar("_RT_co", covariant=True) -_P = ParamSpec("_P") @type_check_only -class _SupportsReplace(Protocol[_P, _RT_co]): +class _SupportsReplace(Protocol[_RT_co]): # In reality doesn't support args, but there's no great way to express this. - def __replace__(self, /, *_: _P.args, **changes: _P.kwargs) -> _RT_co: ... + def __replace__(self, /, *_: Any, **changes: Any) -> _RT_co: ... # None in CPython but non-None in Jython PyStringMap: Any @@ -27,10 +25,8 @@ else: if sys.version_info >= (3, 13): __all__ += ["replace"] - - def replace( - obj: _SupportsReplace[_P, _RT_co], /, *_: _P.args, **changes: _P.kwargs # does not accept positional arguments at runtime - ) -> _RT_co: ... + # The types accepted by `**changes` match those of `obj.__replace__`. + def replace(obj: _SupportsReplace[_RT_co], /, **changes: Any) -> _RT_co: ... class Error(Exception): ... diff --git a/stdlib/ctypes/__init__.pyi b/stdlib/ctypes/__init__.pyi index 7d133506af93..7760ddf9d8cb 100644 --- a/stdlib/ctypes/__init__.pyi +++ b/stdlib/ctypes/__init__.pyi @@ -168,7 +168,7 @@ c_buffer = create_string_buffer def create_unicode_buffer(init: int | str, size: int | None = None) -> Array[c_wchar]: ... if sys.version_info < (3, 15): - @deprecated("Deprecated; removed in Python 3.15.") + @deprecated("Deprecated; will be removed in Python 3.15.") def SetPointerType(pointer: type[_Pointer[Any]], cls: _CTypeBaseType) -> None: ... @deprecated("Soft deprecated. Use multiplication instead.") diff --git a/stdlib/email/__init__.pyi b/stdlib/email/__init__.pyi index 503674f1f602..aabdca32d506 100644 --- a/stdlib/email/__init__.pyi +++ b/stdlib/email/__init__.pyi @@ -1,10 +1,8 @@ -from _typeshed import SupportsRead from collections.abc import Callable from email._policybase import _MessageT from email.message import Message from email.policy import Policy -from io import _WrappedBuffer -from typing import TypeAlias, overload +from typing import IO, TypeAlias, overload # At runtime, listing submodules in __all__ without them being imported is # valid, and causes them to be included in a star import. See #6523 @@ -34,14 +32,14 @@ _ParamType: TypeAlias = str | tuple[str | None, str | None, str] # noqa: Y047 _ParamsType: TypeAlias = str | None | tuple[str, str | None, str] # noqa: Y047 @overload -def message_from_string(s: str) -> Message[str, str]: ... +def message_from_string(s: str) -> Message: ... @overload def message_from_string(s: str, _class: Callable[[], _MessageT]) -> _MessageT: ... @overload def message_from_string(s: str, _class: Callable[[], _MessageT] = ..., *, policy: Policy[_MessageT]) -> _MessageT: ... @overload -def message_from_bytes(s: bytes | bytearray) -> Message[str, str]: ... +def message_from_bytes(s: bytes | bytearray) -> Message: ... @overload def message_from_bytes(s: bytes | bytearray, _class: Callable[[], _MessageT]) -> _MessageT: ... @overload @@ -50,19 +48,15 @@ def message_from_bytes( ) -> _MessageT: ... @overload -def message_from_file(fp: SupportsRead[str]) -> Message[str, str]: ... +def message_from_file(fp: IO[str]) -> Message: ... @overload -def message_from_file(fp: SupportsRead[str], _class: Callable[[], _MessageT]) -> _MessageT: ... +def message_from_file(fp: IO[str], _class: Callable[[], _MessageT]) -> _MessageT: ... @overload -def message_from_file( - fp: SupportsRead[str], _class: Callable[[], _MessageT] = ..., *, policy: Policy[_MessageT] -) -> _MessageT: ... +def message_from_file(fp: IO[str], _class: Callable[[], _MessageT] = ..., *, policy: Policy[_MessageT]) -> _MessageT: ... @overload -def message_from_binary_file(fp: _WrappedBuffer) -> Message[str, str]: ... +def message_from_binary_file(fp: IO[bytes]) -> Message: ... @overload -def message_from_binary_file(fp: _WrappedBuffer, _class: Callable[[], _MessageT]) -> _MessageT: ... +def message_from_binary_file(fp: IO[bytes], _class: Callable[[], _MessageT]) -> _MessageT: ... @overload -def message_from_binary_file( - fp: _WrappedBuffer, _class: Callable[[], _MessageT] = ..., *, policy: Policy[_MessageT] -) -> _MessageT: ... +def message_from_binary_file(fp: IO[bytes], _class: Callable[[], _MessageT] = ..., *, policy: Policy[_MessageT]) -> _MessageT: ... diff --git a/stdlib/email/_header_value_parser.pyi b/stdlib/email/_header_value_parser.pyi index 019503cf8538..e75e7ba1cf06 100644 --- a/stdlib/email/_header_value_parser.pyi +++ b/stdlib/email/_header_value_parser.pyi @@ -1,10 +1,9 @@ import sys -from _typeshed import Incomplete from collections.abc import Iterable, Iterator from email.errors import HeaderParseError, MessageDefect from email.policy import Policy from re import Pattern -from typing import Final +from typing import Any, Final from typing_extensions import Self WSP: Final[set[str]] @@ -24,11 +23,11 @@ NLSET: Final[set[str]] SPECIALSNL: Final[set[str]] # Added in Python 3.10.17, 3.11.12, 3.12.9, 3.13.2 -def make_quoted_pairs(value) -> str: ... -def quote_string(value) -> str: ... +def make_quoted_pairs(value: Any) -> str: ... +def quote_string(value: Any) -> str: ... # Added in Python 3.10.20, 3.11.15, 3.12.13, 3.13.12, 3.14.3 -def make_parenthesis_pairs(value) -> str: ... +def make_parenthesis_pairs(value: Any) -> str: ... rfc2047_matcher: Final[Pattern[str]] @@ -37,7 +36,7 @@ class TokenList(list[TokenList | Terminal]): syntactic_break: bool ew_combine_allowed: bool defects: list[MessageDefect] - def __init__(self, *args, **kw) -> None: ... + def __init__(self, *args: Any, **kw: Any) -> None: ... @property def value(self) -> str: ... @property @@ -92,7 +91,7 @@ class BareQuotedString(QuotedString): class Comment(WhiteSpaceTokenList): token_type: str - def quote(self, value) -> str: ... + def quote(self, value: Any) -> str: ... @property def content(self) -> str: ... @@ -294,7 +293,7 @@ class ContentType(ParameterizedHeaderValue): class ContentDisposition(ParameterizedHeaderValue): token_type: str as_ew_allowed: bool - content_disposition: Incomplete + content_disposition: Any class ContentTransferEncoding(TokenList): token_type: str @@ -371,7 +370,7 @@ def get_quoted_string(value: str) -> tuple[QuotedString, str]: ... def get_atom(value: str) -> tuple[Atom, str]: ... def get_dot_atom_text(value: str) -> tuple[DotAtomText, str]: ... def get_dot_atom(value: str) -> tuple[DotAtom, str]: ... -def get_word(value: str) -> tuple[Incomplete, str]: ... +def get_word(value: str) -> tuple[Any, str]: ... def get_phrase(value: str) -> tuple[Phrase, str]: ... def get_local_part(value: str) -> tuple[LocalPart, str]: ... def get_obs_local_part(value: str) -> tuple[ObsLocalPart, str]: ... diff --git a/stdlib/email/contentmanager.pyi b/stdlib/email/contentmanager.pyi index 343667213a3e..3214f1a4781d 100644 --- a/stdlib/email/contentmanager.pyi +++ b/stdlib/email/contentmanager.pyi @@ -1,11 +1,11 @@ -from _typeshed import Incomplete from collections.abc import Callable from email.message import Message +from typing import Any class ContentManager: - def get_content(self, msg: Message, *args, **kw): ... - def set_content(self, msg: Message, obj, *args, **kw): ... - def add_get_handler(self, key: str, handler: Callable[..., Incomplete]) -> None: ... - def add_set_handler(self, typekey: type, handler: Callable[..., Incomplete]) -> None: ... + def get_content(self, msg: Message, *args: Any, **kw: Any) -> Any: ... + def set_content(self, msg: Message, obj: Any, *args: Any, **kw: Any) -> Any: ... + def add_get_handler(self, key: str, handler: Callable[..., Any]) -> None: ... + def add_set_handler(self, typekey: type, handler: Callable[..., Any]) -> None: ... raw_data_manager: ContentManager diff --git a/stdlib/email/headerregistry.pyi b/stdlib/email/headerregistry.pyi index 3eaacda0ac77..8033f0ab4356 100644 --- a/stdlib/email/headerregistry.pyi +++ b/stdlib/email/headerregistry.pyi @@ -1,6 +1,5 @@ import sys import types -from _typeshed import Incomplete from collections.abc import Iterable, Mapping from datetime import datetime as _datetime from email._header_value_parser import ( @@ -15,7 +14,7 @@ from email._header_value_parser import ( ) from email.errors import MessageDefect from email.policy import Policy -from typing import ClassVar, Literal, Protocol, type_check_only +from typing import Any, ClassVar, Literal, Protocol, type_check_only from typing_extensions import Self class BaseHeader(str): @@ -25,7 +24,7 @@ class BaseHeader(str): def name(self) -> str: ... @property def defects(self) -> tuple[MessageDefect, ...]: ... - def __new__(cls, name: str, value) -> Self: ... + def __new__(cls, name: str, value: Any) -> Self: ... def init(self, name: str, *, parse_tree: TokenList, defects: Iterable[MessageDefect]) -> None: ... def fold(self, *, policy: Policy) -> str: ... @@ -34,7 +33,7 @@ class UnstructuredHeader: @staticmethod def value_parser(value: str) -> UnstructuredTokenList: ... @classmethod - def parse(cls, value: str, kwds: dict[str, Incomplete]) -> None: ... + def parse(cls, value: str, kwds: dict[str, Any]) -> None: ... class UniqueUnstructuredHeader(UnstructuredHeader): max_count: ClassVar[Literal[1]] @@ -47,7 +46,7 @@ class DateHeader: @staticmethod def value_parser(value: str) -> UnstructuredTokenList: ... @classmethod - def parse(cls, value: str | _datetime, kwds: dict[str, Incomplete]) -> None: ... + def parse(cls, value: str | _datetime, kwds: dict[str, Any]) -> None: ... class UniqueDateHeader(DateHeader): max_count: ClassVar[Literal[1]] @@ -62,7 +61,7 @@ class AddressHeader: @staticmethod def value_parser(value: str) -> AddressList: ... @classmethod - def parse(cls, value: str, kwds: dict[str, Incomplete]) -> None: ... + def parse(cls, value: str, kwds: dict[str, Any]) -> None: ... class UniqueAddressHeader(AddressHeader): max_count: ClassVar[Literal[1]] @@ -95,17 +94,15 @@ class MIMEVersionHeader: @staticmethod def value_parser(value: str) -> MIMEVersion: ... @classmethod - def parse(cls, value: str, kwds: dict[str, Incomplete]) -> None: ... + def parse(cls, value: str, kwds: dict[str, Any]) -> None: ... class ParameterizedMIMEHeader: max_count: ClassVar[Literal[1]] - def init( - self, name: str, *, parse_tree: TokenList, defects: Iterable[MessageDefect], params: Mapping[str, Incomplete] - ) -> None: ... + def init(self, name: str, *, parse_tree: TokenList, defects: Iterable[MessageDefect], params: Mapping[str, Any]) -> None: ... @property - def params(self) -> types.MappingProxyType[str, Incomplete]: ... + def params(self) -> types.MappingProxyType[str, Any]: ... @classmethod - def parse(cls, value: str, kwds: dict[str, Incomplete]) -> None: ... + def parse(cls, value: str, kwds: dict[str, Any]) -> None: ... class ContentTypeHeader(ParameterizedMIMEHeader): @property @@ -130,14 +127,14 @@ class ContentTransferEncodingHeader: @property def cte(self) -> str: ... @classmethod - def parse(cls, value: str, kwds: dict[str, Incomplete]) -> None: ... + def parse(cls, value: str, kwds: dict[str, Any]) -> None: ... @staticmethod def value_parser(value: str) -> ContentTransferEncoding: ... class MessageIDHeader: max_count: ClassVar[Literal[1]] @classmethod - def parse(cls, value: str, kwds: dict[str, Incomplete]) -> None: ... + def parse(cls, value: str, kwds: dict[str, Any]) -> None: ... @staticmethod def value_parser(value: str) -> MessageID: ... @@ -148,7 +145,7 @@ if sys.version_info >= (3, 13): class ReferencesHeader: max_count: ClassVar[Literal[1]] @classmethod - def parse(cls, value: str, kwds: dict[str, Incomplete]) -> None: ... + def parse(cls, value: str, kwds: dict[str, Any]) -> None: ... @staticmethod def value_parser(value: str) -> MessageIDList: ... @@ -158,7 +155,7 @@ class _HeaderParser(Protocol): @staticmethod def value_parser(value: str, /) -> TokenList: ... @classmethod - def parse(cls, value: str, kwds: dict[str, Incomplete], /) -> None: ... + def parse(cls, value: str, kwds: dict[str, Any], /) -> None: ... class HeaderRegistry: registry: dict[str, type[_HeaderParser]] @@ -169,7 +166,7 @@ class HeaderRegistry: ) -> None: ... def map_to_type(self, name: str, cls: type[BaseHeader]) -> None: ... def __getitem__(self, name: str) -> type[BaseHeader]: ... - def __call__(self, name: str, value) -> BaseHeader: ... + def __call__(self, name: str, value: Any) -> BaseHeader: ... class Address: @property diff --git a/stdlib/email/message.pyi b/stdlib/email/message.pyi index e17b98474948..784c2cace425 100644 --- a/stdlib/email/message.pyi +++ b/stdlib/email/message.pyi @@ -175,14 +175,14 @@ class MIMEPart(Message[_HeaderRegistryT_co, _HeaderRegistryParamT_contra]): # cause unforseen consequences. def iter_attachments(self) -> Iterator[Self]: ... def iter_parts(self) -> Iterator[MIMEPart[_HeaderRegistryT_co, _HeaderRegistryParamT_contra]]: ... - def get_content(self, *args, content_manager: ContentManager | None = None, **kw): ... - def set_content(self, *args, content_manager: ContentManager | None = None, **kw) -> None: ... + def get_content(self, *args: Any, content_manager: ContentManager | None = None, **kw: Any) -> Any: ... + def set_content(self, *args: Any, content_manager: ContentManager | None = None, **kw: Any) -> None: ... def make_related(self, boundary: str | None = None) -> None: ... def make_alternative(self, boundary: str | None = None) -> None: ... def make_mixed(self, boundary: str | None = None) -> None: ... - def add_related(self, *args, content_manager: ContentManager | None = ..., **kw) -> None: ... - def add_alternative(self, *args, content_manager: ContentManager | None = ..., **kw) -> None: ... - def add_attachment(self, *args, content_manager: ContentManager | None = ..., **kw) -> None: ... + def add_related(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> None: ... + def add_alternative(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> None: ... + def add_attachment(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> None: ... def clear(self) -> None: ... def clear_content(self) -> None: ... def as_string(self, unixfrom: bool = False, maxheaderlen: int | None = None, policy: Policy[Any] | None = None) -> str: ... diff --git a/stdlib/email/policy.pyi b/stdlib/email/policy.pyi index d964801c8132..6b719f3c93fa 100644 --- a/stdlib/email/policy.pyi +++ b/stdlib/email/policy.pyi @@ -1,9 +1,8 @@ -from _typeshed import Incomplete from collections.abc import Callable from email._policybase import Compat32 as Compat32, Policy as Policy, _MessageFactory, _MessageT, compat32 as compat32 from email.contentmanager import ContentManager from email.message import EmailMessage -from typing import overload +from typing import Any, overload from typing_extensions import Self __all__ = ["Compat32", "compat32", "Policy", "EmailPolicy", "default", "strict", "SMTP", "HTTP"] @@ -11,23 +10,23 @@ __all__ = ["Compat32", "compat32", "Policy", "EmailPolicy", "default", "strict", class EmailPolicy(Policy[_MessageT]): utf8: bool refold_source: str - header_factory: Callable[[str, Incomplete], Incomplete] + header_factory: Callable[[str, Any], Any] content_manager: ContentManager @overload def __init__( self: EmailPolicy[EmailMessage], *, - max_line_length: int | None = 78, - linesep: str = "\n", - cte_type: str = "8bit", - raise_on_defect: bool = False, - mangle_from_: bool = ..., # default depends on sub-class + max_line_length: int | None = ..., + linesep: str = ..., + cte_type: str = ..., + raise_on_defect: bool = ..., + mangle_from_: bool = ..., message_factory: None = None, # Added in Python 3.9.20, 3.10.15, 3.11.10, 3.12.5 - verify_generated_headers: bool = True, - utf8: bool = False, - refold_source: str = "long", + verify_generated_headers: bool = ..., + utf8: bool = ..., + refold_source: str = ..., header_factory: Callable[[str, str], str] = ..., content_manager: ContentManager = ..., ) -> None: ... @@ -35,24 +34,24 @@ class EmailPolicy(Policy[_MessageT]): def __init__( self, *, - max_line_length: int | None = 78, - linesep: str = "\n", - cte_type: str = "8bit", - raise_on_defect: bool = False, - mangle_from_: bool = ..., # default depends on sub-class - message_factory: _MessageFactory[_MessageT], + max_line_length: int | None = ..., + linesep: str = ..., + cte_type: str = ..., + raise_on_defect: bool = ..., + mangle_from_: bool = ..., + message_factory: _MessageFactory[_MessageT] | None = ..., # Added in Python 3.9.20, 3.10.15, 3.11.10, 3.12.5 - verify_generated_headers: bool = True, - utf8: bool = False, - refold_source: str = "long", + verify_generated_headers: bool = ..., + utf8: bool = ..., + refold_source: str = ..., header_factory: Callable[[str, str], str] = ..., content_manager: ContentManager = ..., ) -> None: ... def header_source_parse(self, sourcelines: list[str]) -> tuple[str, str]: ... - def header_store_parse(self, name: str, value) -> tuple[str, Incomplete]: ... - def header_fetch_parse(self, name: str, value: str): ... - def fold(self, name: str, value: str): ... + def header_store_parse(self, name: str, value: Any) -> tuple[str, Any]: ... + def header_fetch_parse(self, name: str, value: str) -> Any: ... + def fold(self, name: str, value: str) -> Any: ... def fold_binary(self, name: str, value: str) -> bytes: ... def clone( self, diff --git a/stdlib/email/utils.pyi b/stdlib/email/utils.pyi index db42aff7d1f3..6b47950a2ef8 100644 --- a/stdlib/email/utils.pyi +++ b/stdlib/email/utils.pyi @@ -59,7 +59,7 @@ elif sys.version_info >= (3, 12): @overload def localtime(dt: datetime.datetime | None = None) -> datetime.datetime: ... @overload - @deprecated("The `isdst` parameter is ignored; removed in Python 3.14.") + @deprecated("The `isdst` parameter does nothing and will be removed in Python 3.14.") def localtime(dt: datetime.datetime | None = None, isdst: Unused = None) -> datetime.datetime: ... else: diff --git a/stdlib/encodings/charmap.pyi b/stdlib/encodings/charmap.pyi index a65e7c7c836f..a971a15860b5 100644 --- a/stdlib/encodings/charmap.pyi +++ b/stdlib/encodings/charmap.pyi @@ -1,33 +1,33 @@ import codecs -from _codecs import _DecodeCharMap, _EncodeCharMap +from _codecs import _CharMap from _typeshed import ReadableBuffer class Codec(codecs.Codec): # At runtime, this is codecs.charmap_encode @staticmethod - def encode(str: str, errors: str | None = None, mapping: _EncodeCharMap | None = None, /) -> tuple[bytes, int]: ... + def encode(str: str, errors: str | None = None, mapping: _CharMap | None = None, /) -> tuple[bytes, int]: ... # At runtime, this is codecs.charmap_decode @staticmethod - def decode(data: ReadableBuffer, errors: str | None = None, mapping: _DecodeCharMap | None = None, /) -> tuple[str, int]: ... + def decode(data: ReadableBuffer, errors: str | None = None, mapping: _CharMap | None = None, /) -> tuple[str, int]: ... class IncrementalEncoder(codecs.IncrementalEncoder): - mapping: _EncodeCharMap | None - def __init__(self, errors: str = "strict", mapping: _EncodeCharMap | None = None) -> None: ... + mapping: _CharMap | None + def __init__(self, errors: str = "strict", mapping: _CharMap | None = None) -> None: ... def encode(self, input: str, final: bool = False) -> bytes: ... class IncrementalDecoder(codecs.IncrementalDecoder): - mapping: _DecodeCharMap | None - def __init__(self, errors: str = "strict", mapping: _DecodeCharMap | None = None) -> None: ... + mapping: _CharMap | None + def __init__(self, errors: str = "strict", mapping: _CharMap | None = None) -> None: ... def decode(self, input: ReadableBuffer, final: bool = False) -> str: ... class StreamWriter(Codec, codecs.StreamWriter): - mapping: _EncodeCharMap | None - def __init__(self, stream: codecs._WritableStream, errors: str = "strict", mapping: _EncodeCharMap | None = None) -> None: ... + mapping: _CharMap | None + def __init__(self, stream: codecs._WritableStream, errors: str = "strict", mapping: _CharMap | None = None) -> None: ... def encode(self, input: str, errors: str = "strict") -> tuple[bytes, int]: ... # type: ignore[override] class StreamReader(Codec, codecs.StreamReader): - mapping: _DecodeCharMap | None - def __init__(self, stream: codecs._ReadableStream, errors: str = "strict", mapping: _DecodeCharMap | None = None) -> None: ... + mapping: _CharMap | None + def __init__(self, stream: codecs._ReadableStream, errors: str = "strict", mapping: _CharMap | None = None) -> None: ... def decode(self, input: ReadableBuffer, errors: str = "strict") -> tuple[str, int]: ... # type: ignore[override] def getregentry() -> codecs.CodecInfo: ... diff --git a/stdlib/enum.pyi b/stdlib/enum.pyi index f416f38177cc..1d216b90b6b7 100644 --- a/stdlib/enum.pyi +++ b/stdlib/enum.pyi @@ -116,9 +116,9 @@ class EnumMeta(type): if sys.version_info >= (3, 12): def __contains__(self: type[Any], value: object) -> bool: ... elif sys.version_info >= (3, 11): - def __contains__(self: type[Any], member: Enum) -> bool: ... + def __contains__(self: type[Any], member: object) -> bool: ... else: - def __contains__(self: type[Any], obj: Enum) -> bool: ... + def __contains__(self: type[Any], obj: object) -> bool: ... def __getitem__(self: type[_EnumMemberT], name: str) -> _EnumMemberT: ... @_builtins_property diff --git a/stdlib/functools.pyi b/stdlib/functools.pyi index 07d0ffc7a021..c1d31dd18d20 100644 --- a/stdlib/functools.pyi +++ b/stdlib/functools.pyi @@ -177,12 +177,6 @@ class partial(Generic[_T]): def keywords(self) -> dict[str, Any]: ... def __new__(cls, func: Callable[..., _T], /, *args: Any, **kwargs: Any) -> Self: ... def __call__(self, /, *args: Any, **kwargs: Any) -> _T: ... - if sys.version_info >= (3, 14): - @overload - def __get__(self, instance: None, owner: type[Any] | None = None, /) -> Self: ... - @overload - def __get__(self, instance: object, owner: type[Any] | None = None, /) -> Callable[..., _T]: ... - def __class_getitem__(cls, item: Any, /) -> GenericAlias: ... # With protocols, this could change into a generic protocol that defines __get__ and returns _T diff --git a/stdlib/glob.pyi b/stdlib/glob.pyi index 60de4605cf3c..bdfb2cfbcfed 100644 --- a/stdlib/glob.pyi +++ b/stdlib/glob.pyi @@ -10,9 +10,13 @@ if sys.version_info >= (3, 13): __all__ += ["translate"] if sys.version_info < (3, 15): - @deprecated("Deprecated since Python 3.10; removed in Python 3.15. Use `glob.glob()` with the *root_dir* argument instead.") + @deprecated( + "Deprecated since Python 3.10; will be removed in Python 3.15. Use `glob.glob()` with the *root_dir* argument instead." + ) def glob0(dirname: AnyStr, pattern: AnyStr) -> list[AnyStr]: ... - @deprecated("Deprecated since Python 3.10; removed in Python 3.15. Use `glob.glob()` with the *root_dir* argument instead.") + @deprecated( + "Deprecated since Python 3.10; will be removed in Python 3.15. Use `glob.glob()` with the *root_dir* argument instead." + ) def glob1(dirname: AnyStr, pattern: AnyStr) -> list[AnyStr]: ... if sys.version_info >= (3, 11): diff --git a/stdlib/http/cookies.pyi b/stdlib/http/cookies.pyi index 5434f8b8db7d..bdec1068b5ea 100644 --- a/stdlib/http/cookies.pyi +++ b/stdlib/http/cookies.pyi @@ -2,7 +2,6 @@ from _typeshed import MaybeNone, SupportsItems, SupportsKeysAndGetItem from collections.abc import Container, Iterable from types import GenericAlias from typing import Any, Generic, TypeVar, overload -from typing_extensions import deprecated __all__ = ["CookieError", "BaseCookie", "SimpleCookie"] @@ -28,7 +27,6 @@ class Morsel(dict[str, Any], Generic[_T]): @property def key(self) -> str | MaybeNone: ... def __init__(self) -> None: ... - def copy(self) -> Morsel[_T]: ... def set(self, key: str, val: str, coded_val: _T) -> None: ... def setdefault(self, key: str, val: str | None = None) -> str: ... # The dict update can also get a keywords argument so this is incompatible @@ -36,7 +34,6 @@ class Morsel(dict[str, Any], Generic[_T]): def isReservedKey(self, K: str) -> bool: ... def output(self, attrs: Container[str] | None = None, header: str = "Set-Cookie:") -> str: ... __str__ = output - @deprecated("Deprecated; will be removed in Python 3.19. Use `output()` instead.") def js_output(self, attrs: Container[str] | None = None) -> str: ... def OutputString(self, attrs: Container[str] | None = None) -> str: ... def __eq__(self, morsel: object) -> bool: ... @@ -49,7 +46,6 @@ class BaseCookie(dict[str, Morsel[_T]], Generic[_T]): def value_encode(self, val: _T) -> tuple[str, str]: ... def output(self, attrs: Container[str] | None = None, header: str = "Set-Cookie:", sep: str = "\r\n") -> str: ... __str__ = output - @deprecated("Deprecated; will be removed in Python 3.19. Use `output()` instead.") def js_output(self, attrs: Container[str] | None = None) -> str: ... def load(self, rawdata: str | SupportsItems[str, str | Morsel[Any]]) -> None: ... def __setitem__(self, key: str, value: str | Morsel[_T]) -> None: ... diff --git a/stdlib/http/server.pyi b/stdlib/http/server.pyi index e739c8a55968..6bab228f2ce7 100644 --- a/stdlib/http/server.pyi +++ b/stdlib/http/server.pyi @@ -128,7 +128,7 @@ class SimpleHTTPRequestHandler(BaseHTTPRequestHandler): def executable(path: StrPath) -> bool: ... # undocumented if sys.version_info < (3, 15): - @deprecated("Deprecated and unsafe; removed in Python 3.15.") + @deprecated("Deprecated and unsafe; will be removed in Python 3.15.") class CGIHTTPRequestHandler(SimpleHTTPRequestHandler): cgi_directories: list[str] have_fork: bool # undocumented diff --git a/stdlib/importlib/_abc.pyi b/stdlib/importlib/_abc.pyi index bf248ac1fda1..e8c80c0447ae 100644 --- a/stdlib/importlib/_abc.pyi +++ b/stdlib/importlib/_abc.pyi @@ -5,9 +5,7 @@ from importlib.machinery import ModuleSpec from typing_extensions import deprecated class Loader(metaclass=ABCMeta): - if sys.version_info < (3, 15): - @deprecated("Deprecated since Python 3.10; removed in Python 3.15. Use `exec_module()` instead.") - def load_module(self, fullname: str) -> types.ModuleType: ... + def load_module(self, fullname: str) -> types.ModuleType: ... if sys.version_info < (3, 12): @deprecated( "Deprecated since Python 3.4; removed in Python 3.12. " diff --git a/stdlib/importlib/abc.pyi b/stdlib/importlib/abc.pyi index dffe99b86405..945b8d2080d1 100644 --- a/stdlib/importlib/abc.pyi +++ b/stdlib/importlib/abc.pyi @@ -3,7 +3,7 @@ import sys import types from _typeshed import ReadableBuffer, StrPath from abc import ABCMeta, abstractmethod -from collections.abc import Iterable, Iterator, Mapping, Sequence +from collections.abc import Iterator, Mapping, Sequence from importlib import _bootstrap_external from importlib._abc import Loader as Loader from importlib.machinery import ModuleSpec @@ -41,19 +41,10 @@ class InspectLoader(Loader): @abstractmethod def get_source(self, fullname: str) -> str | None: ... def exec_module(self, module: types.ModuleType) -> None: ... - - if sys.version_info >= (3, 15): - @staticmethod - def source_to_code( - data: ReadableBuffer | str | _ast.Module | _ast.Expression | _ast.Interactive, - path: bytes | StrPath = "", - fullname: str | None = None, - ) -> types.CodeType: ... - else: - @staticmethod - def source_to_code( - data: ReadableBuffer | str | _ast.Module | _ast.Expression | _ast.Interactive, path: bytes | StrPath = "" - ) -> types.CodeType: ... + @staticmethod + def source_to_code( + data: ReadableBuffer | str | _ast.Module | _ast.Expression | _ast.Interactive, path: bytes | StrPath = "" + ) -> types.CodeType: ... class ExecutionLoader(InspectLoader): @abstractmethod @@ -77,8 +68,6 @@ class MetaPathFinder(metaclass=ABCMeta): def find_spec( self, fullname: str, path: Sequence[str] | None, target: types.ModuleType | None = ..., / ) -> ModuleSpec | None: ... - if sys.version_info >= (3, 15): - def discover(self, parent: ModuleSpec | None = None) -> Iterable[ModuleSpec]: ... class PathEntryFinder(metaclass=ABCMeta): if sys.version_info < (3, 12): @@ -90,8 +79,6 @@ class PathEntryFinder(metaclass=ABCMeta): def invalidate_caches(self) -> None: ... # Not defined on the actual class, but expected to exist. def find_spec(self, fullname: str, target: types.ModuleType | None = ...) -> ModuleSpec | None: ... - if sys.version_info >= (3, 15): - def discover(self, parent: ModuleSpec | None = None) -> Iterable[ModuleSpec]: ... class FileLoader(_bootstrap_external.FileLoader, ResourceLoader, ExecutionLoader, metaclass=ABCMeta): name: str @@ -99,9 +86,7 @@ class FileLoader(_bootstrap_external.FileLoader, ResourceLoader, ExecutionLoader def __init__(self, fullname: str, path: str) -> None: ... def get_data(self, path: str) -> bytes: ... def get_filename(self, fullname: str | None = None) -> str: ... - if sys.version_info < (3, 15): - @deprecated("Deprecated since Python 3.10; removed in Python 3.15. Use `exec_module()` instead.") - def load_module(self, fullname: str | None = None) -> types.ModuleType: ... + def load_module(self, fullname: str | None = None) -> types.ModuleType: ... if sys.version_info < (3, 11): class ResourceReader(metaclass=ABCMeta): diff --git a/stdlib/importlib/resources/_common.pyi b/stdlib/importlib/resources/_common.pyi index c0a96fa38fa4..447cc1ea33b8 100644 --- a/stdlib/importlib/resources/_common.pyi +++ b/stdlib/importlib/resources/_common.pyi @@ -12,14 +12,9 @@ if sys.version_info >= (3, 11): Package: TypeAlias = str | types.ModuleType - if sys.version_info >= (3, 15): - Anchor: TypeAlias = Package - - def files(anchor: Anchor | None = None) -> Traversable: ... - elif sys.version_info >= (3, 12): + if sys.version_info >= (3, 12): Anchor: TypeAlias = Package - @deprecated("Deprecated since Python 3.12; removed in Python 3.15.") def package_to_anchor( func: Callable[[Anchor | None], Traversable], ) -> Callable[[Anchor | None, Anchor | None], Traversable]: ... @@ -27,7 +22,7 @@ if sys.version_info >= (3, 11): @overload def files(anchor: Anchor | None = None) -> Traversable: ... @overload - @deprecated("Deprecated since Python 3.12; removed in Python 3.15. Use `anchor` parameter instead.") + @deprecated("Deprecated since Python 3.12; will be removed in Python 3.15. Use `anchor` parameter instead.") def files(package: Anchor | None = None) -> Traversable: ... else: diff --git a/stdlib/inspect.pyi b/stdlib/inspect.pyi index 9bca21ab2dfd..c3110ce28d8e 100644 --- a/stdlib/inspect.pyi +++ b/stdlib/inspect.pyi @@ -232,18 +232,18 @@ if sys.version_info >= (3, 12): @overload def isgeneratorfunction(obj: Callable[..., Generator[Any, Any, Any]]) -> bool: ... @overload -def isgeneratorfunction(obj: Callable[_P, Any]) -> TypeGuard[Callable[_P, Generator[Any, Any, Any]]]: ... +def isgeneratorfunction(obj: Callable[_P, Any]) -> TypeGuard[Callable[_P, GeneratorType[Any, Any, Any]]]: ... @overload -def isgeneratorfunction(obj: object) -> TypeGuard[Callable[..., Generator[Any, Any, Any]]]: ... +def isgeneratorfunction(obj: object) -> TypeGuard[Callable[..., GeneratorType[Any, Any, Any]]]: ... @overload def iscoroutinefunction(obj: Callable[..., Coroutine[Any, Any, Any]]) -> bool: ... @overload -def iscoroutinefunction(obj: Callable[_P, Awaitable[_T]]) -> TypeGuard[Callable[_P, Coroutine[Any, Any, _T]]]: ... +def iscoroutinefunction(obj: Callable[_P, Awaitable[_T]]) -> TypeGuard[Callable[_P, CoroutineType[Any, Any, _T]]]: ... @overload -def iscoroutinefunction(obj: Callable[_P, object]) -> TypeGuard[Callable[_P, Coroutine[Any, Any, Any]]]: ... +def iscoroutinefunction(obj: Callable[_P, object]) -> TypeGuard[Callable[_P, CoroutineType[Any, Any, Any]]]: ... @overload -def iscoroutinefunction(obj: object) -> TypeGuard[Callable[..., Coroutine[Any, Any, Any]]]: ... +def iscoroutinefunction(obj: object) -> TypeGuard[Callable[..., CoroutineType[Any, Any, Any]]]: ... def isgenerator(object: object) -> TypeIs[GeneratorType[object, Never, object]]: ... def iscoroutine(object: object) -> TypeIs[CoroutineType[Any, Any, Any]]: ... @@ -252,9 +252,9 @@ def isawaitable(object: object) -> TypeIs[Awaitable[Any]]: ... @overload def isasyncgenfunction(obj: Callable[..., AsyncGenerator[Any, Any]]) -> bool: ... @overload -def isasyncgenfunction(obj: Callable[_P, Any]) -> TypeGuard[Callable[_P, AsyncGenerator[Any, Any]]]: ... +def isasyncgenfunction(obj: Callable[_P, Any]) -> TypeGuard[Callable[_P, AsyncGeneratorType[Any, Any]]]: ... @overload -def isasyncgenfunction(obj: object) -> TypeGuard[Callable[..., AsyncGenerator[Any, Any]]]: ... +def isasyncgenfunction(obj: object) -> TypeGuard[Callable[..., AsyncGeneratorType[Any, Any]]]: ... @type_check_only class _SupportsSet(Protocol[_T_contra, _V_contra]): diff --git a/stdlib/mailbox.pyi b/stdlib/mailbox.pyi index 7f3024094b43..4215120a5753 100644 --- a/stdlib/mailbox.pyi +++ b/stdlib/mailbox.pyi @@ -294,8 +294,7 @@ class _ProxyFile: def flush(self) -> None: ... @property def closed(self) -> bool: ... - if sys.version_info < (3, 15): - def __class_getitem__(cls, item: Any, /) -> GenericAlias: ... + def __class_getitem__(cls, item: Any, /) -> GenericAlias: ... class _PartialFile(_ProxyFile): def __init__(self, f: _GetFileReturn, start: int | None = None, stop: int | None = None) -> None: ... diff --git a/stdlib/marshal.pyi b/stdlib/marshal.pyi index 2988074a4336..d72abe7758b7 100644 --- a/stdlib/marshal.pyi +++ b/stdlib/marshal.pyi @@ -1,3 +1,4 @@ +import builtins import sys import types from _typeshed import ReadableBuffer, SupportsRead, SupportsWrite @@ -9,7 +10,7 @@ _Marshallable: TypeAlias = ( # handled in w_object() in marshal.c None | type[StopIteration] - | types.EllipsisType + | builtins.ellipsis | bool # handled in w_complex_object() in marshal.c | int diff --git a/stdlib/mmap.pyi b/stdlib/mmap.pyi index 442a7807753a..7aedd6711b01 100644 --- a/stdlib/mmap.pyi +++ b/stdlib/mmap.pyi @@ -70,10 +70,7 @@ class mmap: def close(self) -> None: ... if sys.version_info >= (3, 15): - def flush(self, offset: int = 0, size: int = -1, /, *, flags: int = 0) -> None: ... - elif sys.version_info >= (3, 14): - # size default changed in Python 3.14.1 - def flush(self, offset: int = 0, size: int | None = None, /) -> None: ... + def flush(self, offset: int = 0, size: int = ..., /, *, flags: int = 0) -> None: ... else: def flush(self, offset: int = 0, size: int = ..., /) -> None: ... @@ -98,8 +95,7 @@ class mmap: else: def madvise(self, option: int, start: int = 0, length: int = ..., /) -> None: ... - if sys.version_info >= (3, 14): - # default values changed in Python 3.14.1 + if sys.version_info >= (3, 15): def find(self, view: ReadableBuffer, start: int | None = None, end: int | None = None, /) -> int: ... def rfind(self, view: ReadableBuffer, start: int | None = None, end: int | None = None, /) -> int: ... diff --git a/stdlib/multiprocessing/connection.pyi b/stdlib/multiprocessing/connection.pyi index c63e6920fc46..e8366e9a8ba5 100644 --- a/stdlib/multiprocessing/connection.pyi +++ b/stdlib/multiprocessing/connection.pyi @@ -9,8 +9,7 @@ from typing_extensions import Self __all__ = ["Client", "Listener", "Pipe", "wait"] # https://docs.python.org/3/library/multiprocessing.html#address-formats -# bytes: Linux abstract AF_UNIX socket name (starts with a null byte) -_Address: TypeAlias = str | bytes | tuple[str, int] +_Address: TypeAlias = str | tuple[str, int] # Defaulting to Any to avoid forcing generics on a lot of pre-existing code _SendT_contra = TypeVar("_SendT_contra", contravariant=True, default=Any) @@ -53,12 +52,10 @@ class Listener: def accept(self) -> Connection[Incomplete, Incomplete] | PipeConnection[Incomplete, Incomplete]: ... def close(self) -> None: ... - # Any: the concrete type depends on the address family and platform - # (e.g. str or bytes for AF_UNIX), cf. _socket._RetAddress @property - def address(self) -> Any: ... + def address(self) -> _Address: ... @property - def last_accepted(self) -> Any | None: ... + def last_accepted(self) -> _Address | None: ... def __enter__(self) -> Self: ... def __exit__( self, exc_type: type[BaseException] | None, exc_value: BaseException | None, exc_tb: TracebackType | None diff --git a/stdlib/multiprocessing/dummy/__init__.pyi b/stdlib/multiprocessing/dummy/__init__.pyi index b7e64dabfc80..62fef2b080f2 100644 --- a/stdlib/multiprocessing/dummy/__init__.pyi +++ b/stdlib/multiprocessing/dummy/__init__.pyi @@ -46,7 +46,7 @@ class DummyProcess(threading.Thread): @property def exitcode(self) -> Literal[0] | None: ... if sys.version_info >= (3, 14): - # kwargs default changed in Python 3.14.1 + # Default changed in Python 3.14.1 def __init__( self, group: Any = None, diff --git a/stdlib/multiprocessing/process.pyi b/stdlib/multiprocessing/process.pyi index 1975da301ed0..c7d13b318a44 100644 --- a/stdlib/multiprocessing/process.pyi +++ b/stdlib/multiprocessing/process.pyi @@ -9,30 +9,16 @@ class BaseProcess: daemon: bool authkey: bytes _identity: tuple[int, ...] # undocumented - if sys.version_info >= (3, 14): - # kwargs default changed in Python 3.14.1 - def __init__( - self, - group: None = None, - target: Callable[..., object] | None = None, - name: str | None = None, - args: Iterable[Any] = (), - kwargs: Mapping[str, Any] | None = None, - *, - daemon: bool | None = None, - ) -> None: ... - else: - def __init__( - self, - group: None = None, - target: Callable[..., object] | None = None, - name: str | None = None, - args: Iterable[Any] = (), - kwargs: Mapping[str, Any] = {}, - *, - daemon: bool | None = None, - ) -> None: ... - + def __init__( + self, + group: None = None, + target: Callable[..., object] | None = None, + name: str | None = None, + args: Iterable[Any] = (), + kwargs: Mapping[str, Any] = {}, + *, + daemon: bool | None = None, + ) -> None: ... def run(self) -> None: ... def start(self) -> None: ... if sys.version_info >= (3, 14): diff --git a/stdlib/pathlib/__init__.pyi b/stdlib/pathlib/__init__.pyi index 781b6aebd8a1..fa011e6097a4 100644 --- a/stdlib/pathlib/__init__.pyi +++ b/stdlib/pathlib/__init__.pyi @@ -100,7 +100,7 @@ class PurePath(PathLike[str]): if sys.version_info < (3, 15): if sys.version_info >= (3, 13): @deprecated( - "Deprecated since Python 3.13; removed in Python 3.15. " + "Deprecated since Python 3.13; will be removed in Python 3.15. " "Use `os.path.isreserved()` to detect reserved paths on Windows." ) def is_reserved(self) -> bool: ... diff --git a/stdlib/platform.pyi b/stdlib/platform.pyi index 8e35fdea92d1..b262186a68e4 100644 --- a/stdlib/platform.pyi +++ b/stdlib/platform.pyi @@ -11,7 +11,7 @@ def mac_ver( ) -> tuple[str, tuple[str, str, str], str]: ... if sys.version_info < (3, 15): - @deprecated("Deprecated; removed in Python 3.15.") + @deprecated("Deprecated; will be removed in Python 3.15.") def java_ver( release: str = "", vendor: str = "", diff --git a/stdlib/profiling/sampling/stack_collector.pyi b/stdlib/profiling/sampling/stack_collector.pyi index 0da7c4987801..0788e08295ad 100644 --- a/stdlib/profiling/sampling/stack_collector.pyi +++ b/stdlib/profiling/sampling/stack_collector.pyi @@ -1,4 +1,4 @@ -from _typeshed import StrOrBytesPath, SupportsGet +from _typeshed import StrOrBytesPath from abc import ABCMeta from collections.abc import Sequence @@ -32,7 +32,6 @@ class FlamegraphCollector(StackTraceCollector): missed_samples: float | None = None, mode: int | None = None, ) -> None: ... - def set_replay_stats(self, info: SupportsGet[str, float | None]) -> None: ... def export(self, filename: StrOrBytesPath) -> None: ... def process_frames(self, frames: Sequence[_Frame], thread_id: int, weight: int = 1) -> None: ... diff --git a/stdlib/pyexpat/__init__.pyi b/stdlib/pyexpat/__init__.pyi index de2471f92acd..83841a226a53 100644 --- a/stdlib/pyexpat/__init__.pyi +++ b/stdlib/pyexpat/__init__.pyi @@ -1,3 +1,4 @@ +import sys from _typeshed import ReadableBuffer, SupportsRead from collections.abc import Callable from pyexpat import errors as errors, model as model @@ -32,9 +33,11 @@ class XMLParserType: # Added in Python 3.10.20, 3.11.15, 3.12.3, 3.13.10, 3.14.1 def SetAllocTrackerActivationThreshold(self, threshold: int, /) -> None: ... def SetAllocTrackerMaximumAmplification(self, max_factor: float, /) -> None: ... - # Added in Python 3.10.19, 3.11.14, 3.12.12, 3.13.4, 3.14.6 - def SetBillionLaughsAttackProtectionActivationThreshold(self, threshold: int, /) -> None: ... - def SetBillionLaughsAttackProtectionMaximumAmplification(self, max_factor: float, /) -> None: ... + if sys.version_info >= (3, 13): + # Added in Python 3.13.4, 3.14.6 + def SetBillionLaughsAttackProtectionActivationThreshold(self, threshold: int, /) -> None: ... + def SetBillionLaughsAttackProtectionMaximumAmplification(self, max_factor: float, /) -> None: ... + @property def intern(self) -> dict[str, str]: ... buffer_size: int diff --git a/stdlib/site.pyi b/stdlib/site.pyi index b6e0ec8fd934..46e82b0655c1 100644 --- a/stdlib/site.pyi +++ b/stdlib/site.pyi @@ -21,8 +21,8 @@ if sys.version_info >= (3, 15): def process(self) -> None: ... def addsitedir(sitedir: str, known_paths: set[str] | None = None) -> None: ... -def addsitepackages(known_paths: set[str], prefixes: Iterable[str] | None = None) -> set[str]: ... # undocumented -def addusersitepackages(known_paths: set[str]) -> set[str]: ... # undocumented +def addsitepackages(known_paths: set[str] | None, prefixes: Iterable[str] | None = None) -> set[str] | None: ... # undocumented +def addusersitepackages(known_paths: set[str] | None) -> set[str] | None: ... # undocumented def check_enableusersite() -> bool | None: ... # undocumented if sys.version_info >= (3, 13): diff --git a/stdlib/ssl.pyi b/stdlib/ssl.pyi index dde30685599c..8d71e4763959 100644 --- a/stdlib/ssl.pyi +++ b/stdlib/ssl.pyi @@ -141,7 +141,7 @@ PROTOCOL_TLS_CLIENT: Final = _SSLMethod.PROTOCOL_TLS_CLIENT PROTOCOL_TLS_SERVER: Final = _SSLMethod.PROTOCOL_TLS_SERVER class Options(enum.IntFlag): - OP_ALL = ... + OP_ALL: int OP_NO_SSLv2 = 0 OP_NO_SSLv3 = 33554432 OP_NO_TLSv1 = 67108864 diff --git a/stdlib/subprocess.pyi b/stdlib/subprocess.pyi index 0790069c115c..c191f0e35de9 100644 --- a/stdlib/subprocess.pyi +++ b/stdlib/subprocess.pyi @@ -1030,9 +1030,9 @@ class CalledProcessError(SubprocessError): class Popen(Generic[AnyStr]): args: _CMD - stdin: IO[AnyStr] | None - stdout: IO[AnyStr] | None - stderr: IO[AnyStr] | None + stdin: IO[Any] | None + stdout: IO[Any] | None + stderr: IO[Any] | None pid: int returncode: int | MaybeNone universal_newlines: bool diff --git a/stdlib/sys/__init__.pyi b/stdlib/sys/__init__.pyi index 847895fb65b1..11c78b73af5b 100644 --- a/stdlib/sys/__init__.pyi +++ b/stdlib/sys/__init__.pyi @@ -42,7 +42,6 @@ excepthook: Callable[[type[BaseException], BaseException, TracebackType | None], exec_prefix: str executable: str float_repr_style: Literal["short", "legacy"] -_framework: str # empty string on non-macOS platforms hexversion: int last_type: type[BaseException] | None last_value: BaseException | None diff --git a/stdlib/tarfile.pyi b/stdlib/tarfile.pyi index 9b9936ab8c10..7cfa098bb4f8 100644 --- a/stdlib/tarfile.pyi +++ b/stdlib/tarfile.pyi @@ -792,6 +792,7 @@ class TarInfo: "_link_target", ) name: str + path: str size: int mtime: int | float chksum: int @@ -822,11 +823,6 @@ class TarInfo: @classmethod def fromtarfile(cls, tarfile: TarFile) -> Self: ... - @property - def path(self) -> str: ... - @path.setter - def path(self, name: str) -> None: ... - @property def linkpath(self) -> str: ... @linkpath.setter diff --git a/stdlib/tkinter/__init__.pyi b/stdlib/tkinter/__init__.pyi index 59cbc4401e51..681c6ddba546 100644 --- a/stdlib/tkinter/__init__.pyi +++ b/stdlib/tkinter/__init__.pyi @@ -390,9 +390,6 @@ class Misc: master: Misc | None tk: _tkinter.TkappType children: dict[str, Widget] - if sys.version_info >= (3, 15): - __iter__: ClassVar[None] # prevent using __getitem__ for iteration - def destroy(self) -> None: ... def deletecommand(self, name: str) -> None: ... def tk_strictMotif(self, boolean=None): ... @@ -2236,8 +2233,8 @@ class Entry(Widget, XView): insertofftime: int = 300, insertontime: int = 600, insertwidth: float | str = ..., - invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], object] = "", - invcmd: str | list[str] | tuple[str, ...] | Callable[[], object] = "", # same as invalidcommand + invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], bool] = "", + invcmd: str | list[str] | tuple[str, ...] | Callable[[], bool] = "", # same as invalidcommand justify: Literal["left", "center", "right"] = "left", name: str = ..., readonlybackground: str = ..., @@ -2281,8 +2278,8 @@ class Entry(Widget, XView): insertofftime: int = ..., insertontime: int = ..., insertwidth: float | str = ..., - invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], object] = ..., - invcmd: str | list[str] | tuple[str, ...] | Callable[[], object] = ..., + invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], bool] = ..., + invcmd: str | list[str] | tuple[str, ...] | Callable[[], bool] = ..., justify: Literal["left", "center", "right"] = ..., readonlybackground: str = ..., relief: Literal["raised", "sunken", "flat", "ridge", "solid", "groove"] = ..., @@ -3942,9 +3939,6 @@ class _PhotoImageLike(_Image): ... class Image(_Image): name: Incomplete tk: _tkinter.TkappType - if sys.version_info >= (3, 15): - __iter__: ClassVar[None] # prevent using __getitem__ for iteration - def __init__(self, imgtype, name=None, cnf={}, master: Misc | _tkinter.TkappType | None = None, **kw) -> None: ... def __del__(self) -> None: ... def __setitem__(self, key, value) -> None: ... @@ -4123,8 +4117,8 @@ class Spinbox(Widget, XView): insertofftime: int = 300, insertontime: int = 600, insertwidth: float | str = ..., - invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], object] = "", - invcmd: str | list[str] | tuple[str, ...] | Callable[[], object] = "", + invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], bool] = "", + invcmd: str | list[str] | tuple[str, ...] | Callable[[], bool] = "", justify: Literal["left", "center", "right"] = "left", name: str = ..., readonlybackground: str = ..., @@ -4181,8 +4175,8 @@ class Spinbox(Widget, XView): insertofftime: int = ..., insertontime: int = ..., insertwidth: float | str = ..., - invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], object] = ..., - invcmd: str | list[str] | tuple[str, ...] | Callable[[], object] = ..., + invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], bool] = ..., + invcmd: str | list[str] | tuple[str, ...] | Callable[[], bool] = ..., justify: Literal["left", "center", "right"] = ..., readonlybackground: str = ..., relief: Literal["raised", "sunken", "flat", "ridge", "solid", "groove"] = ..., diff --git a/stdlib/tkinter/font.pyi b/stdlib/tkinter/font.pyi index 72552eb8e251..d9e0b1315590 100644 --- a/stdlib/tkinter/font.pyi +++ b/stdlib/tkinter/font.pyi @@ -1,6 +1,5 @@ import _tkinter import itertools -import sys import tkinter from typing import Any, ClassVar, Final, Literal, TypeAlias, TypedDict, overload, type_check_only from typing_extensions import Unpack @@ -42,8 +41,6 @@ class _MetricsDict(TypedDict): class Font: name: str delete_font: bool - if sys.version_info >= (3, 15): - __iter__: ClassVar[None] # prevent using __getitem__ for iteration counter: ClassVar[itertools.count[int]] # undocumented def __init__( self, diff --git a/stdlib/tkinter/ttk.pyi b/stdlib/tkinter/ttk.pyi index bf184bc2e8f8..06d2be13dc28 100644 --- a/stdlib/tkinter/ttk.pyi +++ b/stdlib/tkinter/ttk.pyi @@ -340,7 +340,7 @@ class Entry(Widget, tkinter.Entry): exportselection: bool = True, font: _FontDescription = "TkTextFont", foreground: str = "", - invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], object] = "", + invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], bool] = "", justify: Literal["left", "center", "right"] = "left", name: str = ..., show: str = "", @@ -364,7 +364,7 @@ class Entry(Widget, tkinter.Entry): exportselection: bool = ..., font: _FontDescription = ..., foreground: str = ..., - invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], object] = ..., + invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], bool] = ..., justify: Literal["left", "center", "right"] = ..., show: str = ..., state: str = ..., @@ -390,7 +390,7 @@ class Entry(Widget, tkinter.Entry): exportselection: bool = ..., font: _FontDescription = ..., foreground: str = ..., - invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], object] = ..., + invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], bool] = ..., justify: Literal["left", "center", "right"] = ..., show: str = ..., state: str = ..., @@ -421,7 +421,7 @@ class Combobox(Entry): font: _FontDescription = ..., # undocumented foreground: str = ..., # undocumented height: int = 10, - invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], object] = ..., # undocumented + invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], bool] = ..., # undocumented justify: Literal["left", "center", "right"] = "left", name: str = ..., postcommand: Callable[[], object] | str = "", @@ -448,7 +448,7 @@ class Combobox(Entry): font: _FontDescription = ..., foreground: str = ..., height: int = ..., - invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], object] = ..., + invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], bool] = ..., justify: Literal["left", "center", "right"] = ..., postcommand: Callable[[], object] | str = ..., show=..., @@ -477,7 +477,7 @@ class Combobox(Entry): font: _FontDescription = ..., foreground: str = ..., height: int = ..., - invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], object] = ..., + invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], bool] = ..., justify: Literal["left", "center", "right"] = ..., postcommand: Callable[[], object] | str = ..., show=..., @@ -1068,7 +1068,7 @@ class Spinbox(Entry): format: str = "", from_: float = 0, increment: float = 1, - invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], object] = ..., # undocumented + invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], bool] = ..., # undocumented justify: Literal["left", "center", "right"] = ..., # undocumented name: str = ..., show=..., # undocumented @@ -1099,7 +1099,7 @@ class Spinbox(Entry): format: str = ..., from_: float = ..., increment: float = ..., - invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], object] = ..., + invalidcommand: str | list[str] | tuple[str, ...] | Callable[[], bool] = ..., justify: Literal["left", "center", "right"] = ..., show=..., state: str = ..., diff --git a/stdlib/types.pyi b/stdlib/types.pyi index 457cf609da8c..ccd0d5930cdd 100644 --- a/stdlib/types.pyi +++ b/stdlib/types.pyi @@ -156,7 +156,7 @@ class CodeType: def co_firstlineno(self) -> int: ... if sys.version_info < (3, 15): @property - @deprecated("Deprecated since Python 3.10; removed in Python 3.15. Use `CodeType.co_lines()` instead.") + @deprecated("Deprecated since Python 3.10; will be removed in Python 3.15. Use `CodeType.co_lines()` instead.") def co_lnotab(self) -> bytes: ... @property @@ -610,6 +610,8 @@ if sys.version_info >= (3, 15): @final class LazyImportType: + @property + def __name__(self) -> str: ... def resolve(self) -> Any: ... @final diff --git a/stdlib/typing.pyi b/stdlib/typing.pyi index 9f1c476eb2e7..14f3df9b59d2 100644 --- a/stdlib/typing.pyi +++ b/stdlib/typing.pyi @@ -1055,14 +1055,11 @@ class NamedTuple(tuple[Any, ...]): if sys.version_info >= (3, 12): __orig_bases__: ClassVar[tuple[Any, ...]] - if sys.version_info >= (3, 15): - def __init__(self, typename: str, fields: Iterable[tuple[str, Any]], /) -> None: ... - else: - @overload - def __init__(self, typename: str, fields: Iterable[tuple[str, Any]], /) -> None: ... - @overload - @deprecated("Creating a typing.NamedTuple using keyword arguments is deprecated; support removed in Python 3.15") - def __init__(self, typename: str, fields: None = None, /, **kwargs: Any) -> None: ... + @overload + def __init__(self, typename: str, fields: Iterable[tuple[str, Any]], /) -> None: ... + @overload + @deprecated("Creating a typing.NamedTuple using keyword arguments is deprecated and support will be removed in Python 3.15") + def __init__(self, typename: str, fields: None = None, /, **kwargs: Any) -> None: ... @final @classmethod @@ -1210,15 +1207,7 @@ if sys.version_info >= (3, 12): @final class TypeAliasType: - if sys.version_info >= (3, 15): - def __new__( - cls, name: str, value: Any, *, type_params: tuple[_TypeParameter, ...] = (), qualname: str | None = None - ) -> Self: ... - @property - def __qualname__(self) -> str: ... - else: - def __new__(cls, name: str, value: Any, *, type_params: tuple[_TypeParameter, ...] = ()) -> Self: ... - + def __new__(cls, name: str, value: Any, *, type_params: tuple[_TypeParameter, ...] = ()) -> Self: ... @property def __value__(self) -> Any: ... # AnnotationForm @property @@ -1227,6 +1216,9 @@ if sys.version_info >= (3, 12): def __parameters__(self) -> tuple[Any, ...]: ... # AnnotationForm @property def __name__(self) -> str: ... + if sys.version_info >= (3, 15): + @property + def __qualname__(self) -> str: ... # It's writable on types, but not on instances of TypeAliasType. @property def __module__(self) -> str | None: ... # type: ignore[override] diff --git a/stdlib/unittest/mock.pyi b/stdlib/unittest/mock.pyi index a7a0eec39136..1b6ab756d253 100644 --- a/stdlib/unittest/mock.pyi +++ b/stdlib/unittest/mock.pyi @@ -301,7 +301,7 @@ class _patch_dict: values: Any clear: Any def __init__(self, in_dict: Any, values: Any = (), clear: Any = False, **kwargs: Any) -> None: ... - def __call__(self, f: _F) -> _F: ... + def __call__(self, f: Any) -> Any: ... def __enter__(self) -> Any: ... def __exit__(self, *args: object) -> Any: ... def decorate_callable(self, f: _F) -> _F: ... diff --git a/stdlib/urllib/request.pyi b/stdlib/urllib/request.pyi index 57eb7435a8b2..17a283321df4 100644 --- a/stdlib/urllib/request.pyi +++ b/stdlib/urllib/request.pyi @@ -1,6 +1,6 @@ import ssl import sys -from _typeshed import ReadableBuffer, StrOrBytesPath, SupportsItems, SupportsRead +from _typeshed import ReadableBuffer, StrOrBytesPath, SupportsRead from collections.abc import Callable, Iterable, Mapping, MutableMapping, Sequence from email.message import Message from http.client import HTTPConnection, HTTPMessage, HTTPResponse @@ -139,7 +139,7 @@ class Request: self, url: str, data: _DataType = None, - headers: SupportsItems[str, str] = {}, + headers: MutableMapping[str, str] = {}, origin_req_host: str | None = None, unverifiable: bool = False, method: str | None = None, diff --git a/stdlib/wave.pyi b/stdlib/wave.pyi index 8ec5ce8154cd..70bf87281550 100644 --- a/stdlib/wave.pyi +++ b/stdlib/wave.pyi @@ -47,9 +47,9 @@ class Wave_read: def getcompname(self) -> str: ... def getparams(self) -> _wave_params: ... if sys.version_info < (3, 15): - @deprecated("Deprecated; removed in Python 3.15.") + @deprecated("Deprecated; will be removed in Python 3.15.") def getmarkers(self) -> None: ... - @deprecated("Deprecated; removed in Python 3.15.") + @deprecated("Deprecated; will be removed in Python 3.15.") def getmark(self, id: Any) -> Never: ... def setpos(self, pos: int) -> None: ... @@ -85,11 +85,11 @@ class Wave_write: def getparams(self) -> _wave_params: ... if sys.version_info < (3, 15): - @deprecated("Deprecated; removed in Python 3.15.") + @deprecated("Deprecated; will be removed in Python 3.15.") def setmark(self, id: Any, pos: Any, name: Any) -> Never: ... - @deprecated("Deprecated; removed in Python 3.15.") + @deprecated("Deprecated; will be removed in Python 3.15.") def getmark(self, id: Any) -> Never: ... - @deprecated("Deprecated; removed in Python 3.15.") + @deprecated("Deprecated; will be removed in Python 3.15.") def getmarkers(self) -> None: ... def tell(self) -> int: ... diff --git a/stdlib/weakref.pyi b/stdlib/weakref.pyi index e81052de7d26..3308ae42e1cf 100644 --- a/stdlib/weakref.pyi +++ b/stdlib/weakref.pyi @@ -210,8 +210,4 @@ class finalize(Generic[_P, _T]): def peek(self) -> tuple[_T, Callable[_P, Any], tuple[Any, ...], dict[str, Any]] | None: ... @property def alive(self) -> bool: ... - - @property - def atexit(self) -> bool: ... - @atexit.setter - def atexit(self, value: bool) -> None: ... + atexit: bool diff --git a/stdlib/webbrowser.pyi b/stdlib/webbrowser.pyi index e2c63ee35d74..8ed7f919c78f 100644 --- a/stdlib/webbrowser.pyi +++ b/stdlib/webbrowser.pyi @@ -65,29 +65,15 @@ if sys.platform == "win32": if sys.platform == "darwin": if sys.version_info < (3, 13): - @deprecated("Deprecated; removed in Python 3.13. Use `MacOSXOSAScript` instead.") + @deprecated("Deprecated; removed in Python 3.13.") class MacOSX(BaseBrowser): def __init__(self, name: str) -> None: ... def open(self, url: str, new: int = 0, autoraise: bool = True) -> bool: ... - if sys.version_info >= (3, 15): - class MacOS(BaseBrowser): - def open(self, url: str, new: int = 0, autoraise: bool = True) -> bool: ... - - @deprecated("Deprecated since Python 3.15; will be removed in Python 3.17. Use `MacOS` instead.") - class MacOSXOSAScript(BaseBrowser): # In runtime this class does not have `name` and `basename` - if sys.version_info >= (3, 11): - def __init__(self, name: str = "default") -> None: ... - else: - def __init__(self, name: str) -> None: ... - - def open(self, url: str, new: int = 0, autoraise: bool = True) -> bool: ... - - else: - class MacOSXOSAScript(BaseBrowser): # In runtime this class does not have `name` and `basename` - if sys.version_info >= (3, 11): - def __init__(self, name: str = "default") -> None: ... - else: - def __init__(self, name: str) -> None: ... + class MacOSXOSAScript(BaseBrowser): # In runtime this class does not have `name` and `basename` + if sys.version_info >= (3, 11): + def __init__(self, name: str = "default") -> None: ... + else: + def __init__(self, name: str) -> None: ... - def open(self, url: str, new: int = 0, autoraise: bool = True) -> bool: ... + def open(self, url: str, new: int = 0, autoraise: bool = True) -> bool: ... diff --git a/stubs/Authlib/@tests/stubtest_allowlist.txt b/stubs/Authlib/@tests/stubtest_allowlist.txt index 98002c5bac78..42440a12d667 100644 --- a/stubs/Authlib/@tests/stubtest_allowlist.txt +++ b/stubs/Authlib/@tests/stubtest_allowlist.txt @@ -45,5 +45,10 @@ authlib.oidc.core.grants.implicit.OpenIDImplicitGrant.validate_consent_request authlib.integrations.django_client.* authlib.integrations.django_oauth1.* authlib.integrations.django_oauth2.* +authlib.integrations.flask_client.* +authlib.integrations.flask_oauth1.* +authlib.integrations.flask_oauth2.* +authlib.integrations.httpx_client.* +authlib.integrations.requests_client.* authlib.integrations.sqla_oauth2.* authlib.integrations.starlette_client.* diff --git a/stubs/Authlib/METADATA.toml b/stubs/Authlib/METADATA.toml index d4984a274e2d..6a322fd7f4d3 100644 --- a/stubs/Authlib/METADATA.toml +++ b/stubs/Authlib/METADATA.toml @@ -1,5 +1,3 @@ -version = "1.8.0" +version = "1.7.2" upstream-repository = "https://github.com/authlib/authlib" dependencies = ["cryptography"] -# Requires a version of flask with a `py.typed` file -optional-dependencies = ["requests", "httpx2", "Flask>=2.0.0"] diff --git a/stubs/Authlib/authlib/common/encoding.pyi b/stubs/Authlib/authlib/common/encoding.pyi index 42d8ffe8746f..571136fb6db1 100644 --- a/stubs/Authlib/authlib/common/encoding.pyi +++ b/stubs/Authlib/authlib/common/encoding.pyi @@ -16,10 +16,10 @@ def to_unicode(x: None, charset: str = "utf-8", errors: str = "strict") -> None: @overload def to_unicode(x: object, charset: str = "utf-8", errors: str = "strict") -> str: ... -def to_native(x: str | bytes | bytearray, encoding: str = "ascii") -> str: ... +def to_native(x: str | bytes, encoding: str = "ascii") -> str: ... def json_loads(s: str | bytes | bytearray) -> Any: ... # returns json.loads() def json_dumps(data: Any, ensure_ascii: bool = False) -> str: ... # data pass to json.dumps() -def urlsafe_b64decode(s: bytes | bytearray) -> bytes: ... +def urlsafe_b64decode(s: bytes) -> bytes: ... def urlsafe_b64encode(s: ReadableBuffer) -> bytes: ... def base64_to_int(s: str | bytes | float | Iterable[SupportsIndex] | SupportsIndex | SupportsBytes | ReadableBuffer) -> int: ... def int_to_base64(num: int) -> str: ... diff --git a/stubs/Authlib/authlib/common/urls.pyi b/stubs/Authlib/authlib/common/urls.pyi index c2f84345f51d..2fdea02e0ff4 100644 --- a/stubs/Authlib/authlib/common/urls.pyi +++ b/stubs/Authlib/authlib/common/urls.pyi @@ -1,24 +1,25 @@ -from collections.abc import Iterable from re import Pattern -from typing import Final, overload +from typing import Final, TypeAlias, overload always_safe: Final[str] urlencoded: Final[set[str]] INVALID_HEX_PATTERN: Final[Pattern[str]] -def url_encode(params: Iterable[tuple[str, str]]) -> str: ... -def url_decode(query: str) -> list[tuple[str, str]]: ... -def add_params_to_qs(query: str, params: Iterable[tuple[str, str]] | dict[str, str]) -> str: ... -def add_params_to_uri(uri: str, params: Iterable[tuple[str, str]] | dict[str, str], fragment: bool = False) -> str: ... -def quote(s: str | bytes | float, safe: bytes = b"/") -> str: ... +_ExplodedQueryString: TypeAlias = list[tuple[str, str]] + +def url_encode(params: _ExplodedQueryString) -> str: ... +def url_decode(query: str) -> _ExplodedQueryString: ... +def add_params_to_qs(query: str, params: _ExplodedQueryString | dict[str, str]) -> str: ... +def add_params_to_uri(uri: str, params: _ExplodedQueryString, fragment: bool = False) -> str: ... +def quote(s: str, safe: bytes = b"/") -> str: ... def unquote(s: str | bytes) -> str: ... -def quote_url(s: str | bytes | float) -> str: ... +def quote_url(s: str) -> str: ... @overload def extract_params(raw: None) -> None: ... @overload -def extract_params(raw: dict[str, str]) -> list[tuple[str, str]]: ... +def extract_params(raw: dict[str, str]) -> _ExplodedQueryString: ... @overload -def extract_params(raw: list[tuple[str, str]] | tuple[tuple[str, str], ...] | str) -> list[tuple[str, str]] | None: ... +def extract_params(raw: _ExplodedQueryString | tuple[tuple[str, str], ...] | str) -> _ExplodedQueryString | None: ... def is_valid_url(url: str, fragments_allowed: bool = True) -> bool: ... diff --git a/stubs/Authlib/authlib/integrations/flask_client/__init__.pyi b/stubs/Authlib/authlib/integrations/flask_client/__init__.pyi index 0dcc913e0463..575d8ae26f86 100644 --- a/stubs/Authlib/authlib/integrations/flask_client/__init__.pyi +++ b/stubs/Authlib/authlib/integrations/flask_client/__init__.pyi @@ -1,7 +1,5 @@ from _typeshed import Incomplete -from flask import Flask - from ..base_client import BaseOAuth, OAuthError as OAuthError from .apps import FlaskOAuth1App as FlaskOAuth1App, FlaskOAuth2App as FlaskOAuth2App from .integration import FlaskIntegration as FlaskIntegration, token_update as token_update @@ -10,12 +8,12 @@ class OAuth(BaseOAuth): oauth1_client_cls = FlaskOAuth1App oauth2_client_cls = FlaskOAuth2App framework_integration_cls = FlaskIntegration - app: Flask | None - def __init__(self, app: Flask | None = None, cache=None, fetch_token=None, update_token=None) -> None: ... + app: Incomplete + def __init__(self, app=None, cache=None, fetch_token=None, update_token=None): ... cache: Incomplete fetch_token: Incomplete update_token: Incomplete - def init_app(self, app: Flask, cache=None, fetch_token=None, update_token=None) -> None: ... + def init_app(self, app, cache=None, fetch_token=None, update_token=None): ... def create_client(self, name): ... def register(self, name, overwrite=False, **kwargs): ... diff --git a/stubs/Authlib/authlib/integrations/flask_client/apps.pyi b/stubs/Authlib/authlib/integrations/flask_client/apps.pyi index 70bf6bcb4581..f11d6d1b7e74 100644 --- a/stubs/Authlib/authlib/integrations/flask_client/apps.pyi +++ b/stubs/Authlib/authlib/integrations/flask_client/apps.pyi @@ -1,10 +1,11 @@ from _typeshed import Incomplete - -from werkzeug.wrappers import Response +from typing import TypeAlias from ..base_client import BaseApp, OAuth1Mixin, OAuth2Mixin, OpenIDMixin from ..requests_client import OAuth1Session, OAuth2Session +_Response: TypeAlias = Incomplete # actual type is werkzeug.wrappers.Response + class FlaskAppMixin: @property def token(self): ... @@ -12,16 +13,16 @@ class FlaskAppMixin: def token(self, token): ... def save_authorize_data(self, **kwargs) -> None: ... - def authorize_redirect(self, redirect_uri=None, **kwargs) -> Response: ... + def authorize_redirect(self, redirect_uri=None, **kwargs): ... class FlaskOAuth1App(FlaskAppMixin, OAuth1Mixin, BaseApp): client_cls = OAuth1Session - def authorize_access_token(self, **kwargs) -> dict[Incomplete, Incomplete]: ... + def authorize_access_token(self, **kwargs): ... class FlaskOAuth2App(FlaskAppMixin, OAuth2Mixin, OpenIDMixin, BaseApp): client_cls = OAuth2Session def logout_redirect( self, post_logout_redirect_uri=None, id_token_hint=None, *, state=None, client_id=None, logout_hint=None, ui_locales=None - ) -> Response: ... + ) -> _Response: ... def validate_logout_response(self): ... - def authorize_access_token(self, **kwargs) -> dict[Incomplete, Incomplete]: ... + def authorize_access_token(self, **kwargs): ... diff --git a/stubs/Authlib/authlib/integrations/flask_client/integration.pyi b/stubs/Authlib/authlib/integrations/flask_client/integration.pyi index ccc894f187ea..7bcacdd47d99 100644 --- a/stubs/Authlib/authlib/integrations/flask_client/integration.pyi +++ b/stubs/Authlib/authlib/integrations/flask_client/integration.pyi @@ -1,10 +1,8 @@ from _typeshed import Incomplete -from blinker import NamedSignal - from ..base_client import FrameworkIntegration -token_update: NamedSignal +token_update: Incomplete class FlaskIntegration(FrameworkIntegration): def update_token(self, token, refresh_token=None, access_token=None) -> None: ... diff --git a/stubs/Authlib/authlib/integrations/flask_oauth1/authorization_server.pyi b/stubs/Authlib/authlib/integrations/flask_oauth1/authorization_server.pyi index be1e84f6d4fe..1a4f39d999a9 100644 --- a/stubs/Authlib/authlib/integrations/flask_oauth1/authorization_server.pyi +++ b/stubs/Authlib/authlib/integrations/flask_oauth1/authorization_server.pyi @@ -3,19 +3,18 @@ from _typeshed import Incomplete from collections.abc import Callable from authlib.oauth1 import AuthorizationServer as _AuthorizationServer, OAuth1Request -from flask import Flask, Response log: logging.Logger class AuthorizationServer(_AuthorizationServer): - app: Flask | None + app: Incomplete query_client: Incomplete token_generator: Incomplete - def __init__(self, app: Flask | None = None, query_client=None, token_generator=None) -> None: ... + def __init__(self, app=None, query_client=None, token_generator=None): ... SUPPORTED_SIGNATURE_METHODS: Incomplete - def init_app(self, app: Flask, query_client=None, token_generator=None) -> None: ... - def register_hook(self, name: str, func) -> None: ... - def create_token_generator(self, app: Flask) -> Callable[[], dict[str, str]]: ... + def init_app(self, app, query_client=None, token_generator=None): ... + def register_hook(self, name, func) -> None: ... + def create_token_generator(self, app) -> Callable[[], dict[str, str]]: ... def get_client_by_id(self, client_id): ... def exists_nonce(self, nonce, request): ... def create_temporary_credential(self, request): ... @@ -27,4 +26,4 @@ class AuthorizationServer(_AuthorizationServer): def create_authorization_response(self, request=None, grant_user=None): ... def create_token_response(self, request=None): ... def create_oauth1_request(self, request) -> OAuth1Request: ... - def handle_response(self, status_code, payload, headers) -> Response: ... + def handle_response(self, status_code, payload, headers): ... diff --git a/stubs/Authlib/authlib/integrations/flask_oauth1/cache.pyi b/stubs/Authlib/authlib/integrations/flask_oauth1/cache.pyi index a3ee17809142..a88e4f9bcd6f 100644 --- a/stubs/Authlib/authlib/integrations/flask_oauth1/cache.pyi +++ b/stubs/Authlib/authlib/integrations/flask_oauth1/cache.pyi @@ -1,12 +1,8 @@ from _typeshed import Incomplete from collections.abc import Callable -from authlib.oauth1.rfc5849.authorization_server import AuthorizationServer - -def register_temporary_credential_hooks( - authorization_server: AuthorizationServer, cache, key_prefix: str = "temporary_credential:" -) -> None: ... +def register_temporary_credential_hooks(authorization_server, cache, key_prefix: str = "temporary_credential:") -> None: ... def create_exists_nonce_func( - cache, key_prefix: str = "nonce:", expires=86400 + cache, key_prefix="nonce:", expires=86400 ) -> Callable[[Incomplete, Incomplete, Incomplete, Incomplete], Incomplete]: ... -def register_nonce_hooks(authorization_server: AuthorizationServer, cache, key_prefix: str = "nonce:", expires=86400) -> None: ... +def register_nonce_hooks(authorization_server, cache, key_prefix: str = "nonce:", expires=86400) -> None: ... diff --git a/stubs/Authlib/authlib/integrations/flask_oauth1/resource_protector.pyi b/stubs/Authlib/authlib/integrations/flask_oauth1/resource_protector.pyi index b63d437d17bd..dec0175c3059 100644 --- a/stubs/Authlib/authlib/integrations/flask_oauth1/resource_protector.pyi +++ b/stubs/Authlib/authlib/integrations/flask_oauth1/resource_protector.pyi @@ -1,20 +1,18 @@ from _typeshed import Incomplete from authlib.oauth1 import ResourceProtector as _ResourceProtector -from flask import Flask -from werkzeug.local import LocalProxy class ResourceProtector(_ResourceProtector): - app: Flask | None + app: Incomplete query_client: Incomplete query_token: Incomplete - def __init__(self, app: Flask | None = None, query_client=None, query_token=None, exists_nonce=None) -> None: ... + def __init__(self, app=None, query_client=None, query_token=None, exists_nonce=None) -> None: ... SUPPORTED_SIGNATURE_METHODS: Incomplete - def init_app(self, app: Flask, query_client=None, query_token=None, exists_nonce=None) -> None: ... + def init_app(self, app, query_client=None, query_token=None, exists_nonce=None): ... def get_client_by_id(self, client_id): ... def get_token_credential(self, request): ... def exists_nonce(self, nonce, request): ... def acquire_credential(self): ... def __call__(self, scope=None): ... -current_credential: LocalProxy[Incomplete] +current_credential: Incomplete diff --git a/stubs/Authlib/authlib/integrations/flask_oauth2/authorization_server.pyi b/stubs/Authlib/authlib/integrations/flask_oauth2/authorization_server.pyi index fa3ff6e4e6ce..3856935af6cf 100644 --- a/stubs/Authlib/authlib/integrations/flask_oauth2/authorization_server.pyi +++ b/stubs/Authlib/authlib/integrations/flask_oauth2/authorization_server.pyi @@ -2,13 +2,12 @@ from _typeshed import Incomplete from authlib.oauth2 import AuthorizationServer as _AuthorizationServer from authlib.oauth2.rfc6750 import BearerTokenGenerator -from flask import Flask, Response from .requests import FlaskJsonRequest, FlaskOAuth2Request class AuthorizationServer(_AuthorizationServer): - def __init__(self, app: Flask | None = None, query_client=None, save_token=None) -> None: ... - def init_app(self, app: Flask, query_client=None, save_token=None) -> None: ... + def __init__(self, app=None, query_client=None, save_token=None) -> None: ... + def init_app(self, app, query_client=None, save_token=None) -> None: ... scopes_supported: Incomplete def load_config(self, config) -> None: ... def query_client(self, client_id): ... @@ -16,7 +15,7 @@ class AuthorizationServer(_AuthorizationServer): def get_error_uri(self, request, error): ... def create_oauth2_request(self, request) -> FlaskOAuth2Request: ... def create_json_request(self, request) -> FlaskJsonRequest: ... - def handle_response(self, status_code, payload, headers) -> Response: ... + def handle_response(self, status_code, payload, headers): ... def send_signal(self, name, *args, **kwargs) -> None: ... def create_bearer_token_generator(self, config) -> BearerTokenGenerator: ... diff --git a/stubs/Authlib/authlib/integrations/flask_oauth2/errors.pyi b/stubs/Authlib/authlib/integrations/flask_oauth2/errors.pyi index 4a1b003bea5f..63389264ebcc 100644 --- a/stubs/Authlib/authlib/integrations/flask_oauth2/errors.pyi +++ b/stubs/Authlib/authlib/integrations/flask_oauth2/errors.pyi @@ -1,14 +1,12 @@ from _typeshed import Incomplete from typing_extensions import Never -from werkzeug.exceptions import HTTPException -from werkzeug.sansio.response import Response as SansIOResponse - -class _HTTPException(HTTPException): +# Inherits from werkzeug.exceptions.HTTPException +class _HTTPException: code: Incomplete body: Incomplete headers: Incomplete - def __init__(self, code, body, headers, response: SansIOResponse | None = None) -> None: ... + def __init__(self, code, body, headers, response=None) -> None: ... # Params depends on `werkzeug` package version def get_body(self, environ=None, scope=None): ... def get_headers(self, environ=None, scope=None): ... diff --git a/stubs/Authlib/authlib/integrations/flask_oauth2/requests.pyi b/stubs/Authlib/authlib/integrations/flask_oauth2/requests.pyi index 3a8c03d05cfe..f2e657d31aa6 100644 --- a/stubs/Authlib/authlib/integrations/flask_oauth2/requests.pyi +++ b/stubs/Authlib/authlib/integrations/flask_oauth2/requests.pyi @@ -1,30 +1,27 @@ -from collections import defaultdict from functools import cached_property from authlib.oauth2.rfc6749 import JsonPayload, JsonRequest, OAuth2Payload, OAuth2Request -from flask.wrappers import Request -from werkzeug.datastructures.structures import CombinedMultiDict, ImmutableMultiDict, MultiDict class FlaskOAuth2Payload(OAuth2Payload): - def __init__(self, request: Request) -> None: ... + def __init__(self, request) -> None: ... @property - def data(self) -> CombinedMultiDict[str, str]: ... + def data(self): ... @cached_property - def datalist(self) -> defaultdict[str, list[str]]: ... + def datalist(self): ... class FlaskOAuth2Request(OAuth2Request): payload: FlaskOAuth2Payload - def __init__(self, request: Request) -> None: ... + def __init__(self, request) -> None: ... @property - def args(self) -> MultiDict[str, str]: ... # type: ignore[override] + def args(self): ... @property - def form(self) -> ImmutableMultiDict[str, str]: ... + def form(self): ... class FlaskJsonPayload(JsonPayload): - def __init__(self, request: Request) -> None: ... + def __init__(self, request) -> None: ... @property def data(self): ... class FlaskJsonRequest(JsonRequest): payload: FlaskJsonPayload - def __init__(self, request: Request) -> None: ... + def __init__(self, request) -> None: ... diff --git a/stubs/Authlib/authlib/integrations/flask_oauth2/resource_protector.pyi b/stubs/Authlib/authlib/integrations/flask_oauth2/resource_protector.pyi index d60fd9cce339..c0b262f8faf7 100644 --- a/stubs/Authlib/authlib/integrations/flask_oauth2/resource_protector.pyi +++ b/stubs/Authlib/authlib/integrations/flask_oauth2/resource_protector.pyi @@ -4,13 +4,12 @@ from contextlib import contextmanager from typing_extensions import Never from authlib.oauth2 import ResourceProtector as _ResourceProtector -from werkzeug.local import LocalProxy class ResourceProtector(_ResourceProtector): def raise_error_response(self, error) -> Never: ... def acquire_token(self, scopes=None, **kwargs): ... @contextmanager def acquire(self, scopes=None) -> Generator[Incomplete]: ... - def __call__(self, scopes=None, optional: bool = False, **kwargs): ... + def __call__(self, scopes=None, optional=False, **kwargs): ... -current_token: LocalProxy[Incomplete] +current_token: Incomplete diff --git a/stubs/Authlib/authlib/integrations/flask_oauth2/signals.pyi b/stubs/Authlib/authlib/integrations/flask_oauth2/signals.pyi index 3523fe2a3326..f64d46c1d023 100644 --- a/stubs/Authlib/authlib/integrations/flask_oauth2/signals.pyi +++ b/stubs/Authlib/authlib/integrations/flask_oauth2/signals.pyi @@ -1,5 +1,5 @@ -from blinker import NamedSignal +from _typeshed import Incomplete -client_authenticated: NamedSignal -token_revoked: NamedSignal -token_authenticated: NamedSignal +client_authenticated: Incomplete +token_revoked: Incomplete +token_authenticated: Incomplete diff --git a/stubs/Authlib/authlib/integrations/httpx_client/assertion_client.pyi b/stubs/Authlib/authlib/integrations/httpx_client/assertion_client.pyi index fe8b01939cd4..f2061d98aedf 100644 --- a/stubs/Authlib/authlib/integrations/httpx_client/assertion_client.pyi +++ b/stubs/Authlib/authlib/integrations/httpx_client/assertion_client.pyi @@ -1,17 +1,14 @@ from _typeshed import Incomplete -import httpx2 from authlib.oauth2.rfc7521 import AssertionClient as _AssertionClient from ..base_client import OAuthError from .oauth2_client import OAuth2Auth -USE_CLIENT_DEFAULT = httpx2.USE_CLIENT_DEFAULT -Response = httpx2.Response - __all__ = ["AsyncAssertionClient"] -class AsyncAssertionClient(_AssertionClient, httpx2.AsyncClient): +# Inherits from httpx.AsyncClient +class AsyncAssertionClient(_AssertionClient): token_auth_class = OAuth2Auth oauth_error_class = OAuthError # type: ignore[assignment] JWT_BEARER_GRANT_TYPE: Incomplete @@ -27,12 +24,12 @@ class AsyncAssertionClient(_AssertionClient, httpx2.AsyncClient): claims=None, token_placement="header", scope=None, - client_id=None, **kwargs, ) -> None: ... async def request(self, method, url, withhold_token=False, auth=..., **kwargs): ... -class AssertionClient(_AssertionClient, httpx2.Client): +# Inherits from httpx.Client +class AssertionClient(_AssertionClient): token_auth_class = OAuth2Auth oauth_error_class = OAuthError # type: ignore[assignment] JWT_BEARER_GRANT_TYPE: Incomplete @@ -48,7 +45,6 @@ class AssertionClient(_AssertionClient, httpx2.Client): claims=None, token_placement="header", scope=None, - client_id=None, **kwargs, ) -> None: ... def request(self, method, url, withhold_token=False, auth=..., **kwargs): ... diff --git a/stubs/Authlib/authlib/integrations/httpx_client/oauth1_client.pyi b/stubs/Authlib/authlib/integrations/httpx_client/oauth1_client.pyi index 19c65b3cd70f..423172e9913e 100644 --- a/stubs/Authlib/authlib/integrations/httpx_client/oauth1_client.pyi +++ b/stubs/Authlib/authlib/integrations/httpx_client/oauth1_client.pyi @@ -1,19 +1,21 @@ +from _typeshed import Incomplete from collections.abc import Generator +from typing import TypeAlias from typing_extensions import Never -import httpx2 from authlib.oauth1 import ClientAuth from authlib.oauth1.client import OAuth1Client as _OAuth1Client -Auth = httpx2.Auth -Request = httpx2.Request -Response = httpx2.Response +_Response: TypeAlias = Incomplete # actual type is httpx.Response +_Request: TypeAlias = Incomplete # actual type is httpx.Request -class OAuth1Auth(Auth, ClientAuth): +# Inherits from httpx.Auth +class OAuth1Auth(ClientAuth): requires_request_body: bool - def auth_flow(self, request: Request) -> Generator[Request, Response]: ... + def auth_flow(self, request: _Request) -> Generator[_Request, _Response]: ... -class AsyncOAuth1Client(_OAuth1Client, httpx2.AsyncClient): # type: ignore[misc] # incompatible definitions of "auth" in the base classes +# Inherits from httpx.AsyncClient +class AsyncOAuth1Client(_OAuth1Client): auth_class = OAuth1Auth def __init__( self, @@ -33,7 +35,8 @@ class AsyncOAuth1Client(_OAuth1Client, httpx2.AsyncClient): # type: ignore[misc @staticmethod def handle_error(error_type: str | None, error_description: str | None) -> Never: ... -class OAuth1Client(_OAuth1Client, httpx2.Client): # type: ignore[misc] # incompatible definitions of "auth" in the base classes +# Inherits from httpx.Client +class OAuth1Client(_OAuth1Client): auth_class = OAuth1Auth def __init__( self, diff --git a/stubs/Authlib/authlib/integrations/httpx_client/oauth2_client.pyi b/stubs/Authlib/authlib/integrations/httpx_client/oauth2_client.pyi index cba2ec0f2880..2fc9facabeb5 100644 --- a/stubs/Authlib/authlib/integrations/httpx_client/oauth2_client.pyi +++ b/stubs/Authlib/authlib/integrations/httpx_client/oauth2_client.pyi @@ -1,28 +1,30 @@ +from _typeshed import Incomplete from collections.abc import Generator +from typing import TypeAlias from typing_extensions import Never -import httpx2 from authlib.oauth2.auth import ClientAuth, TokenAuth from authlib.oauth2.client import OAuth2Client as _OAuth2Client from ..base_client import OAuthError -USE_CLIENT_DEFAULT = httpx2.USE_CLIENT_DEFAULT -Auth = httpx2.Auth -Request = httpx2.Request -Response = httpx2.Response - __all__ = ["OAuth2Auth", "OAuth2ClientAuth", "AsyncOAuth2Client", "OAuth2Client"] -class OAuth2Auth(Auth, TokenAuth): +_Response: TypeAlias = Incomplete # actual type is httpx.Response +_Request: TypeAlias = Incomplete # actual type is httpx.Request + +# Inherits from httpx.Auth +class OAuth2Auth(TokenAuth): requires_request_body: bool - def auth_flow(self, request: Request) -> Generator[Request, Response]: ... + def auth_flow(self, request: _Request) -> Generator[_Request, _Response]: ... -class OAuth2ClientAuth(Auth, ClientAuth): +# Inherits from httpx.Auth +class OAuth2ClientAuth(ClientAuth): requires_request_body: bool - def auth_flow(self, request: Request) -> Generator[Request, Response]: ... + def auth_flow(self, request: _Request) -> Generator[_Request, _Response]: ... -class AsyncOAuth2Client(_OAuth2Client, httpx2.AsyncClient): +# Inherits from httpx.AsyncClient +class AsyncOAuth2Client(_OAuth2Client): SESSION_REQUEST_PARAMS: list[str] client_auth_class = OAuth2ClientAuth token_auth_class = OAuth2Auth @@ -42,10 +44,11 @@ class AsyncOAuth2Client(_OAuth2Client, httpx2.AsyncClient): **kwargs, ) -> None: ... async def request(self, method, url, withhold_token: bool = False, auth=..., **kwargs): ... - async def stream(self, method, url, withhold_token: bool = False, auth=..., **kwargs) -> Generator[Response]: ... # type: ignore[override] + async def stream(self, method, url, withhold_token: bool = False, auth=..., **kwargs) -> Generator[Incomplete]: ... async def ensure_active_token(self, token): ... # type: ignore[override] -class OAuth2Client(_OAuth2Client, httpx2.Client): +# Inherits from httpx.Client +class OAuth2Client(_OAuth2Client): SESSION_REQUEST_PARAMS: list[str] client_auth_class = OAuth2ClientAuth token_auth_class = OAuth2Auth diff --git a/stubs/Authlib/authlib/integrations/httpx_client/utils.pyi b/stubs/Authlib/authlib/integrations/httpx_client/utils.pyi index 14b18cf83602..d4e4547e4470 100644 --- a/stubs/Authlib/authlib/integrations/httpx_client/utils.pyi +++ b/stubs/Authlib/authlib/integrations/httpx_client/utils.pyi @@ -1,14 +1,7 @@ from _typeshed import Incomplete from typing import Final -import httpx2 -from httpx2._types import HeaderTypes, RequestContent - HTTPX_CLIENT_KWARGS: Final[list[str]] -Request = httpx2.Request - -def extract_client_kwargs(kwargs: dict[str, Incomplete]) -> dict[str, Incomplete]: ... -def build_request( - url: httpx2.URL | str, headers: HeaderTypes | None, body: RequestContent, initial_request: httpx2.Request -) -> httpx2.Request: ... +def extract_client_kwargs(kwargs) -> dict[str, Incomplete]: ... +def build_request(url, headers, body, initial_request): ... diff --git a/stubs/Authlib/authlib/integrations/requests_client/assertion_session.pyi b/stubs/Authlib/authlib/integrations/requests_client/assertion_session.pyi index d229e1dbb852..87f9ae004384 100644 --- a/stubs/Authlib/authlib/integrations/requests_client/assertion_session.pyi +++ b/stubs/Authlib/authlib/integrations/requests_client/assertion_session.pyi @@ -1,29 +1,14 @@ from _typeshed import Incomplete -from http.cookiejar import CookieJar from authlib.oauth2.rfc7521 import AssertionClient -from requests import Response, Session -from requests._types import ( - AuthType, - CertType, - DataType, - FilesType, - HeadersType, - HooksInputType, - JsonType, - ParamsType, - TimeoutType, - UriType, - VerifyType, -) -from requests.cookies import RequestsCookieJar from .oauth2_session import OAuth2Auth class AssertionAuth(OAuth2Auth): def ensure_active_token(self): ... -class AssertionSession(AssertionClient, Session): +# Inherits from requests.Session +class AssertionSession(AssertionClient): token_auth_class = AssertionAuth JWT_BEARER_GRANT_TYPE: Incomplete ASSERTION_METHODS: Incomplete @@ -39,29 +24,8 @@ class AssertionSession(AssertionClient, Session): claims=None, token_placement="header", scope=None, - client_id=None, default_timeout=None, leeway=60, **kwargs, ) -> None: ... - def request( # type: ignore[override] - self, - method: str, - url: UriType, - withhold_token: bool = False, - auth: AuthType | None = None, - *, - params: ParamsType = None, - data: DataType = None, - headers: HeadersType = None, - cookies: RequestsCookieJar | CookieJar | dict[str, str] | None = None, - files: FilesType = None, - timeout: TimeoutType = None, - allow_redirects: bool = True, - proxies: dict[str, str] | None = None, - hooks: HooksInputType | None = None, - stream: bool | None = None, - verify: VerifyType | None = None, - cert: CertType = None, - json: JsonType = None, - ) -> Response: ... + def request(self, method, url, withhold_token=False, auth=None, **kwargs): ... diff --git a/stubs/Authlib/authlib/integrations/requests_client/oauth1_session.pyi b/stubs/Authlib/authlib/integrations/requests_client/oauth1_session.pyi index 1fe0c4835aca..d197f07f7e9e 100644 --- a/stubs/Authlib/authlib/integrations/requests_client/oauth1_session.pyi +++ b/stubs/Authlib/authlib/integrations/requests_client/oauth1_session.pyi @@ -2,14 +2,13 @@ from typing_extensions import Never from authlib.oauth1 import ClientAuth from authlib.oauth1.client import OAuth1Client -from requests import PreparedRequest, Response, Session -from requests.auth import AuthBase -class OAuth1Auth(AuthBase, ClientAuth): - def __call__(self, req: PreparedRequest) -> PreparedRequest: ... +# Inherits from requests.auth.AuthBase +class OAuth1Auth(ClientAuth): + def __call__(self, req): ... -# Incompatible definitions of "auth" in the base classes -class OAuth1Session(OAuth1Client, Session): # type: ignore[misc] # pyrefly: ignore [inconsistent-inheritance] +# Inherits from requests.Session +class OAuth1Session(OAuth1Client): auth_class = OAuth1Auth def __init__( self, @@ -20,11 +19,11 @@ class OAuth1Session(OAuth1Client, Session): # type: ignore[misc] # pyrefly: ig redirect_uri=None, rsa_key=None, verifier=None, - signature_method="HMAC-SHA1", - signature_type="HEADER", + signature_method=..., + signature_type=..., force_include_body=False, **kwargs, ) -> None: ... - def rebuild_auth(self, prepared_request: PreparedRequest, response: Response) -> None: ... + def rebuild_auth(self, prepared_request, response) -> None: ... @staticmethod def handle_error(error_type: str | None, error_description: str | None) -> Never: ... diff --git a/stubs/Authlib/authlib/integrations/requests_client/oauth2_session.pyi b/stubs/Authlib/authlib/integrations/requests_client/oauth2_session.pyi index ded2533ffa76..f358acc47ca5 100644 --- a/stubs/Authlib/authlib/integrations/requests_client/oauth2_session.pyi +++ b/stubs/Authlib/authlib/integrations/requests_client/oauth2_session.pyi @@ -1,37 +1,23 @@ from _typeshed import Incomplete -from http.cookiejar import CookieJar from authlib.oauth2.auth import ClientAuth, TokenAuth from authlib.oauth2.client import OAuth2Client -from requests import PreparedRequest, Response, Session -from requests._types import ( - AuthType, - CertType, - DataType, - FilesType, - HeadersType, - HooksInputType, - JsonType, - ParamsType, - TimeoutType, - UriType, - VerifyType, -) -from requests.auth import AuthBase -from requests.cookies import RequestsCookieJar from ..base_client import OAuthError __all__ = ["OAuth2Session", "OAuth2Auth"] -class OAuth2Auth(AuthBase, TokenAuth): +# Inherits from requests.auth.AuthBase +class OAuth2Auth(TokenAuth): def ensure_active_token(self) -> None: ... - def __call__(self, req: PreparedRequest) -> PreparedRequest: ... + def __call__(self, req): ... -class OAuth2ClientAuth(AuthBase, ClientAuth): - def __call__(self, req: PreparedRequest) -> PreparedRequest: ... +# Inherits from requests.auth.AuthBase +class OAuth2ClientAuth(ClientAuth): + def __call__(self, req): ... -class OAuth2Session(OAuth2Client, Session): +# Inherits from requests.Session +class OAuth2Session(OAuth2Client): client_auth_class = OAuth2ClientAuth token_auth_class = OAuth2Auth oauth_error_class = OAuthError # type: ignore[assignment] @@ -54,24 +40,4 @@ class OAuth2Session(OAuth2Client, Session): **kwargs, ) -> None: ... def fetch_access_token(self, url=None, **kwargs): ... - def request( # type: ignore[override] - self, - method: str, - url: UriType, - withhold_token: bool = False, - auth: AuthType = None, - *, - params: ParamsType = None, - data: DataType = None, - headers: HeadersType = None, - cookies: RequestsCookieJar | CookieJar | dict[str, str] | None = None, - files: FilesType = None, - timeout: TimeoutType = None, - allow_redirects: bool = True, - proxies: dict[str, str] | None = None, - hooks: HooksInputType | None = None, - stream: bool | None = None, - verify: VerifyType | None = None, - cert: CertType = None, - json: JsonType = None, - ) -> Response: ... + def request(self, method, url, withhold_token=False, auth=None, **kwargs): ... diff --git a/stubs/Authlib/authlib/oauth1/rfc5849/parameters.pyi b/stubs/Authlib/authlib/oauth1/rfc5849/parameters.pyi index 5bffb2b79730..543a091de424 100644 --- a/stubs/Authlib/authlib/oauth1/rfc5849/parameters.pyi +++ b/stubs/Authlib/authlib/oauth1/rfc5849/parameters.pyi @@ -1,10 +1,3 @@ -from collections.abc import Iterable -from typing import TypeVar - -_K = TypeVar("_K") - -def prepare_headers( - oauth_params: Iterable[tuple[str, str]], headers: dict[str, _K] | None = None, realm=None -) -> dict[str, _K | str]: ... -def prepare_form_encoded_body(oauth_params: Iterable[tuple[str, str]], body: Iterable[tuple[str, str]]) -> str: ... -def prepare_request_uri_query(oauth_params: Iterable[tuple[str, str]], uri: str) -> str: ... +def prepare_headers(oauth_params, headers=None, realm=None): ... +def prepare_form_encoded_body(oauth_params, body) -> str: ... +def prepare_request_uri_query(oauth_params, uri): ... diff --git a/stubs/Authlib/authlib/oauth1/rfc5849/util.pyi b/stubs/Authlib/authlib/oauth1/rfc5849/util.pyi index 9522d3075d45..a7e79606ff55 100644 --- a/stubs/Authlib/authlib/oauth1/rfc5849/util.pyi +++ b/stubs/Authlib/authlib/oauth1/rfc5849/util.pyi @@ -1,2 +1,2 @@ -def escape(s: str | bytes | float) -> str: ... +def escape(s) -> str: ... def unescape(s: str | bytes) -> str: ... diff --git a/stubs/Authlib/authlib/oauth2/rfc6749/parameters.pyi b/stubs/Authlib/authlib/oauth2/rfc6749/parameters.pyi index 39f65e9381bf..615c0493b77b 100644 --- a/stubs/Authlib/authlib/oauth2/rfc6749/parameters.pyi +++ b/stubs/Authlib/authlib/oauth2/rfc6749/parameters.pyi @@ -1,22 +1,6 @@ -from collections.abc import Collection, Sequence +from _typeshed import Incomplete -def prepare_grant_uri( - uri: str, - client_id: str, - response_type: str, - redirect_uri: str | None = None, - scope: Collection[str] | str | None = None, - state: str | None = None, - **kwargs: str | Sequence[str | None] | None, -): ... -def prepare_token_request( - grant_type: str, - body: str = "", - redirect_uri: str | None = None, - *, - scope: Collection[str] | str | None = None, - code: str | None = None, - **kwargs: str | None, -) -> str: ... -def parse_authorization_code_response(uri: str, state: str | None = None) -> dict[str, str]: ... -def parse_implicit_response(uri: str, state: str | None = None) -> dict[str, str]: ... +def prepare_grant_uri(uri, client_id, response_type, redirect_uri=None, scope=None, state=None, **kwargs): ... +def prepare_token_request(grant_type, body: str = "", redirect_uri=None, **kwargs) -> str: ... +def parse_authorization_code_response(uri, state=None) -> dict[Incomplete, Incomplete]: ... +def parse_implicit_response(uri, state=None) -> dict[Incomplete, Incomplete]: ... diff --git a/stubs/Authlib/authlib/oauth2/rfc6749/util.pyi b/stubs/Authlib/authlib/oauth2/rfc6749/util.pyi index 416ec65a8fc1..89ba8a33c9b1 100644 --- a/stubs/Authlib/authlib/oauth2/rfc6749/util.pyi +++ b/stubs/Authlib/authlib/oauth2/rfc6749/util.pyi @@ -1,14 +1,5 @@ from collections.abc import Collection -from typing import overload -@overload -def list_to_scope(scope: str | Collection[str]) -> str: ... -@overload -def list_to_scope(scope: None) -> None: ... - -@overload -def scope_to_list(scope: str | Collection[str]) -> list[str]: ... -@overload -def scope_to_list(scope: None) -> None: ... - -def extract_basic_authorization(headers: dict[str, str]) -> tuple[str, str] | tuple[str, None] | tuple[None, None]: ... +def list_to_scope(scope: Collection[str] | str | None) -> str: ... +def scope_to_list(scope: Collection[str] | str | None) -> list[str]: ... +def extract_basic_authorization(headers: dict[str, str]) -> tuple[str, str]: ... diff --git a/stubs/Authlib/authlib/oauth2/rfc6750/parameters.pyi b/stubs/Authlib/authlib/oauth2/rfc6750/parameters.pyi index cf09bfc8b7e6..00d3365808ff 100644 --- a/stubs/Authlib/authlib/oauth2/rfc6750/parameters.pyi +++ b/stubs/Authlib/authlib/oauth2/rfc6750/parameters.pyi @@ -1,14 +1,6 @@ -from typing import Literal, TypeVar +from _typeshed import Incomplete -_K = TypeVar("_K") - -def add_to_uri(token: str, uri: str) -> str: ... -def add_to_headers(token: str, headers: dict[str, _K] | None = None) -> dict[str, _K | str]: ... -def add_to_body(token: str, body: str | None = None) -> str: ... -def add_bearer_token( - token: str, - uri: str, - headers: dict[str, _K], - body: str, - placement: Literal["uri", "url", "query", "header", "headers", "body"] = "header", -) -> tuple[str, dict[str, _K | str], str]: ... +def add_to_uri(token, uri) -> str: ... +def add_to_headers(token, headers=None): ... +def add_to_body(token, body=None) -> str: ... +def add_bearer_token(token, uri, headers, body, placement: str = "header") -> tuple[Incomplete, Incomplete, Incomplete]: ... diff --git a/stubs/Authlib/authlib/oauth2/rfc7009/parameters.pyi b/stubs/Authlib/authlib/oauth2/rfc7009/parameters.pyi index 3d7b337691ca..4b3804813015 100644 --- a/stubs/Authlib/authlib/oauth2/rfc7009/parameters.pyi +++ b/stubs/Authlib/authlib/oauth2/rfc7009/parameters.pyi @@ -1,7 +1 @@ -from typing import TypeVar - -_K = TypeVar("_K") - -def prepare_revoke_token_request( - token: str, token_type_hint: str | None = None, body: str | None = None, headers: dict[str, _K] | None = None -) -> tuple[str, dict[str, _K | str]]: ... +def prepare_revoke_token_request(token, token_type_hint=None, body=None, headers=None): ... diff --git a/stubs/Authlib/authlib/oauth2/rfc7521/client.pyi b/stubs/Authlib/authlib/oauth2/rfc7521/client.pyi index c0e6f80d7f40..fb021f8ccb5c 100644 --- a/stubs/Authlib/authlib/oauth2/rfc7521/client.pyi +++ b/stubs/Authlib/authlib/oauth2/rfc7521/client.pyi @@ -15,7 +15,6 @@ class AssertionClient: audience: Incomplete claims: Incomplete scope: Incomplete - client_id: Incomplete token_auth: Incomplete leeway: Incomplete def __init__( @@ -29,7 +28,6 @@ class AssertionClient: claims=None, token_placement: str = "header", scope=None, - client_id=None, leeway: int = 60, **kwargs, ) -> None: ... diff --git a/stubs/Authlib/authlib/oauth2/rfc7523/jwt_bearer.pyi b/stubs/Authlib/authlib/oauth2/rfc7523/jwt_bearer.pyi index aa16b6a26f90..d50561b210a4 100644 --- a/stubs/Authlib/authlib/oauth2/rfc7523/jwt_bearer.pyi +++ b/stubs/Authlib/authlib/oauth2/rfc7523/jwt_bearer.pyi @@ -15,7 +15,7 @@ class JWTBearerGrant(BaseGrant, TokenEndpointMixin): def sign(key, issuer, audience, subject=None, issued_at=None, expires_at=None, claims=None, **kwargs): ... def verify_claims(self, claims: dict[str, Incomplete]) -> None: ... def process_assertion_claims(self, assertion) -> dict[str, Incomplete]: ... - def extract_assertion(self, assertion: str) -> tuple[dict[str, Incomplete], dict[Incomplete, Incomplete]]: ... + def extract_assertion(self, assertion: str) -> tuple[dict[str, Incomplete], Incomplete]: ... def validate_token_request(self) -> None: ... def create_token_response(self): ... def resolve_issuer_client(self, issuer): ... diff --git a/stubs/Authlib/authlib/oauth2/rfc7523/token.pyi b/stubs/Authlib/authlib/oauth2/rfc7523/token.pyi index d6c8f3800bce..e8612390e482 100644 --- a/stubs/Authlib/authlib/oauth2/rfc7523/token.pyi +++ b/stubs/Authlib/authlib/oauth2/rfc7523/token.pyi @@ -9,7 +9,7 @@ class JWTBearerTokenGenerator: @staticmethod def get_allowed_scope(client, scope): ... @staticmethod - def get_sub_value(user) -> str: ... + def get_sub_value(user): ... def get_token_data(self, grant_type, client, expires_in, user=None, scope=None): ... def generate(self, grant_type, client, user=None, scope=None, expires_in=None): ... def __call__(self, grant_type, client, user=None, scope=None, expires_in=None, include_refresh_token: bool = True): ... diff --git a/stubs/Authlib/authlib/oauth2/rfc7523/validator.pyi b/stubs/Authlib/authlib/oauth2/rfc7523/validator.pyi index 2143fe867e38..068756c77c80 100644 --- a/stubs/Authlib/authlib/oauth2/rfc7523/validator.pyi +++ b/stubs/Authlib/authlib/oauth2/rfc7523/validator.pyi @@ -17,6 +17,5 @@ class JWTBearerTokenValidator(BearerTokenValidator): token_cls = JWTBearerToken public_key: Incomplete claims_options: Incomplete - leeway: int - def __init__(self, public_key, issuer=None, realm=None, leeway: int = 60, **extra_attributes) -> None: ... + def __init__(self, public_key, issuer=None, realm=None, **extra_attributes) -> None: ... def authenticate_token(self, token_string: str) -> JWTBearerToken | None: ... diff --git a/stubs/Authlib/authlib/oauth2/rfc9068/token.pyi b/stubs/Authlib/authlib/oauth2/rfc9068/token.pyi index 6b559345262d..6ef3b9c2d46d 100644 --- a/stubs/Authlib/authlib/oauth2/rfc9068/token.pyi +++ b/stubs/Authlib/authlib/oauth2/rfc9068/token.pyi @@ -13,5 +13,5 @@ class JWTBearerTokenGenerator(BearerTokenGenerator): def get_auth_time(self, user) -> int | None: ... def get_amr(self, user) -> list[str] | None: ... def get_jti(self, client, grant_type, user, scope) -> str: ... - # Override seems safe, but mypy doesn't like that it's a callable protocol in the base + # Override seems safe, but mypy doesn't like that it's a callabe protocol in the base def access_token_generator(self, client, grant_type, user, scope) -> str: ... # type: ignore[override] diff --git a/stubs/Authlib/authlib/oidc/core/grants/util.pyi b/stubs/Authlib/authlib/oidc/core/grants/util.pyi index fe07d01da6f3..772103c305ce 100644 --- a/stubs/Authlib/authlib/oidc/core/grants/util.pyi +++ b/stubs/Authlib/authlib/oidc/core/grants/util.pyi @@ -1,11 +1,7 @@ -from _typeshed import ReadableBuffer -from collections.abc import Collection, Iterable -from typing import Literal, SupportsBytes, SupportsIndex, overload - from authlib.oidc.core import UserInfo -def is_openid_scope(scope: Collection[str] | str | None) -> bool: ... -def validate_request_prompt(grant, redirect_uri: str, redirect_fragment: bool = False): ... +def is_openid_scope(scope: str | None) -> bool: ... +def validate_request_prompt(grant, redirect_uri, redirect_fragment: bool = False): ... def validate_nonce(request, exists_nonce, required: bool = False): ... def generate_id_token( token: dict[str, str | int], @@ -19,15 +15,7 @@ def generate_id_token( auth_time: int | None = None, acr: str | None = None, amr: list[str] | None = None, - code: str | bytes | float | Iterable[SupportsIndex] | SupportsIndex | SupportsBytes | ReadableBuffer | None = None, + code: str | None = None, kid: str | None = None, ) -> str: ... - -@overload -def create_response_mode_response( - redirect_uri: str, params: Iterable[tuple[str, str]], response_mode: Literal["form_post"] -) -> tuple[Literal[200], str, list[tuple[str, str]]]: ... -@overload # `params` can accept dict in another mode -def create_response_mode_response( - redirect_uri: str, params: Iterable[tuple[str, str]] | dict[str, str], response_mode: Literal["query", "fragment"] -) -> tuple[Literal[302], str, list[tuple[str, str]]]: ... +def create_response_mode_response(redirect_uri, params, response_mode): ... diff --git a/stubs/JACK-Client/METADATA.toml b/stubs/JACK-Client/METADATA.toml index 40a0bac719cf..b192bf639cf1 100644 --- a/stubs/JACK-Client/METADATA.toml +++ b/stubs/JACK-Client/METADATA.toml @@ -5,7 +5,9 @@ dependencies = ["numpy>=1.20", "types-cffi"] [tool.stubtest] # darwin and win32 are equivalent -ci-platforms = ["darwin", "linux"] +# TODO (2026-06-26): darwin temporarily disabled, see +# https://github.com/python/typeshed/issues/15947 +ci-platforms = ["linux"] apt-dependencies = ["libjack-dev"] brew-dependencies = ["jack"] # No need to install on the CI. Leaving here as information for Windows contributors. diff --git a/stubs/PyYAML/yaml/__init__.pyi b/stubs/PyYAML/yaml/__init__.pyi index 021152a6edb9..189ea6812997 100644 --- a/stubs/PyYAML/yaml/__init__.pyi +++ b/stubs/PyYAML/yaml/__init__.pyi @@ -1,7 +1,6 @@ -from _typeshed import Incomplete from collections.abc import Callable, Iterable, Iterator, Mapping from re import Pattern -from typing import Final, TypeVar, overload +from typing import Any, TypeVar, overload from . import resolver as resolver # Help mypy a bit; this is implied by loader and dumper from .constructor import BaseConstructor @@ -9,7 +8,7 @@ from .cyaml import * from .cyaml import _CLoader from .dumper import * from .dumper import _Inf -from .emitter import _WriteStream, _YAMLObject +from .emitter import _WriteStream from .error import * from .events import * from .loader import * @@ -24,25 +23,25 @@ _T = TypeVar("_T") _Constructor = TypeVar("_Constructor", bound=BaseConstructor) _Representer = TypeVar("_Representer", bound=BaseRepresenter) -__with_libyaml__: Final[bool] -__version__: Final[str] +__with_libyaml__: bool +__version__: str def warnings(settings=None): ... def scan(stream, Loader: type[_Loader | _CLoader] = ...): ... def parse(stream, Loader: type[_Loader | _CLoader] = ...): ... def compose(stream, Loader: type[_Loader | _CLoader] = ...): ... def compose_all(stream, Loader: type[_Loader | _CLoader] = ...): ... -def load(stream: _ReadStream, Loader: type[_Loader | _CLoader]) -> _YAMLObject: ... -def load_all(stream: _ReadStream, Loader: type[_Loader | _CLoader]) -> Iterator[_YAMLObject]: ... -def full_load(stream: _ReadStream) -> _YAMLObject: ... -def full_load_all(stream: _ReadStream) -> Iterator[_YAMLObject]: ... -def safe_load(stream: _ReadStream) -> _YAMLObject: ... -def safe_load_all(stream: _ReadStream) -> Iterator[_YAMLObject]: ... -def unsafe_load(stream: _ReadStream) -> _YAMLObject: ... -def unsafe_load_all(stream: _ReadStream) -> Iterator[_YAMLObject]: ... +def load(stream: _ReadStream, Loader: type[_Loader | _CLoader]) -> Any: ... +def load_all(stream: _ReadStream, Loader: type[_Loader | _CLoader]) -> Iterator[Any]: ... +def full_load(stream: _ReadStream) -> Any: ... +def full_load_all(stream: _ReadStream) -> Iterator[Any]: ... +def safe_load(stream: _ReadStream) -> Any: ... +def safe_load_all(stream: _ReadStream) -> Iterator[Any]: ... +def unsafe_load(stream: _ReadStream) -> Any: ... +def unsafe_load_all(stream: _ReadStream) -> Iterator[Any]: ... def emit( events, - stream: _WriteStream[_YAMLObject] | None = None, + stream: _WriteStream[Any] | None = None, Dumper=..., canonical: bool | None = None, indent: int | None = None, @@ -54,7 +53,7 @@ def emit( @overload def serialize_all( nodes, - stream: _WriteStream[_YAMLObject], + stream: _WriteStream[Any], Dumper=..., *, canonical: bool | None = None, @@ -106,7 +105,7 @@ def serialize_all( @overload def serialize( node, - stream: _WriteStream[_YAMLObject], + stream: _WriteStream[Any], Dumper=..., *, canonical: bool | None = None, @@ -157,8 +156,8 @@ def serialize( @overload def dump_all( - documents: Iterable[_YAMLObject], - stream: _WriteStream[_YAMLObject], + documents: Iterable[Any], + stream: _WriteStream[Any], Dumper=..., *, default_style: str | None = None, @@ -177,7 +176,7 @@ def dump_all( ) -> None: ... @overload def dump_all( - documents: Iterable[_YAMLObject], + documents: Iterable[Any], stream: None = None, Dumper=..., *, @@ -197,7 +196,7 @@ def dump_all( ) -> str: ... @overload def dump_all( - documents: Iterable[_YAMLObject], + documents: Iterable[Any], stream: None = None, Dumper=..., *, @@ -218,8 +217,8 @@ def dump_all( @overload def dump( - data: _YAMLObject, - stream: _WriteStream[_YAMLObject], + data: Any, + stream: _WriteStream[Any], Dumper=..., *, default_style: str | None = None, @@ -238,7 +237,7 @@ def dump( ) -> None: ... @overload def dump( - data: _YAMLObject, + data: Any, stream: None = None, Dumper=..., *, @@ -258,7 +257,7 @@ def dump( ) -> str: ... @overload def dump( - data: _YAMLObject, + data: Any, stream: None = None, Dumper=..., *, @@ -279,8 +278,8 @@ def dump( @overload def safe_dump_all( - documents: Iterable[_YAMLObject], - stream: _WriteStream[_YAMLObject], + documents: Iterable[Any], + stream: _WriteStream[Any], *, default_style: str | None = None, default_flow_style: bool | None = False, @@ -298,7 +297,7 @@ def safe_dump_all( ) -> None: ... @overload def safe_dump_all( - documents: Iterable[_YAMLObject], + documents: Iterable[Any], stream: None = None, *, default_style: str | None = None, @@ -317,7 +316,7 @@ def safe_dump_all( ) -> str: ... @overload def safe_dump_all( - documents: Iterable[_YAMLObject], + documents: Iterable[Any], stream: None = None, *, default_style: str | None = None, @@ -337,8 +336,8 @@ def safe_dump_all( @overload def safe_dump( - data: _YAMLObject, - stream: _WriteStream[_YAMLObject], + data: Any, + stream: _WriteStream[Any], *, default_style: str | None = None, default_flow_style: bool | None = False, @@ -356,7 +355,7 @@ def safe_dump( ) -> None: ... @overload def safe_dump( - data: _YAMLObject, + data: Any, stream: None = None, *, default_style: str | None = None, @@ -375,7 +374,7 @@ def safe_dump( ) -> str: ... @overload def safe_dump( - data: _YAMLObject, + data: Any, stream: None = None, *, default_style: str | None = None, @@ -396,32 +395,32 @@ def safe_dump( def add_implicit_resolver( tag: str, regexp: Pattern[str], - first: Iterable[Incomplete] | None = None, + first: Iterable[Any] | None = None, Loader: type[BaseResolver] | None = None, Dumper: type[BaseResolver] = ..., ) -> None: ... def add_path_resolver( tag: str, - path: Iterable[Incomplete], - kind: type | None = None, + path: Iterable[Any], + kind: type[Any] | None = None, Loader: type[BaseResolver] | None = None, Dumper: type[BaseResolver] = ..., ) -> None: ... @overload def add_constructor( - tag: str, constructor: Callable[[Loader | FullLoader | UnsafeLoader, Node], Incomplete], Loader: None = None + tag: str, constructor: Callable[[Loader | FullLoader | UnsafeLoader, Node], Any], Loader: None = None ) -> None: ... @overload -def add_constructor(tag: str, constructor: Callable[[_Constructor, Node], Incomplete], Loader: type[_Constructor]) -> None: ... +def add_constructor(tag: str, constructor: Callable[[_Constructor, Node], Any], Loader: type[_Constructor]) -> None: ... @overload def add_multi_constructor( - tag_prefix: str, multi_constructor: Callable[[Loader | FullLoader | UnsafeLoader, str, Node], Incomplete], Loader: None = None + tag_prefix: str, multi_constructor: Callable[[Loader | FullLoader | UnsafeLoader, str, Node], Any], Loader: None = None ) -> None: ... @overload def add_multi_constructor( - tag_prefix: str, multi_constructor: Callable[[_Constructor, str, Node], Incomplete], Loader: type[_Constructor] + tag_prefix: str, multi_constructor: Callable[[_Constructor, str, Node], Any], Loader: type[_Constructor] ) -> None: ... @overload @@ -441,10 +440,10 @@ class YAMLObjectMetaclass(type): class YAMLObject(metaclass=YAMLObjectMetaclass): __slots__ = () - yaml_loader: Incomplete - yaml_dumper: Incomplete - yaml_tag: Incomplete - yaml_flow_style: Incomplete + yaml_loader: Any + yaml_dumper: Any + yaml_tag: Any + yaml_flow_style: Any @classmethod def from_yaml(cls, loader, node): ... @classmethod diff --git a/stubs/PyYAML/yaml/_yaml.pyi b/stubs/PyYAML/yaml/_yaml.pyi index f1cb87c31770..f7412770b57a 100644 --- a/stubs/PyYAML/yaml/_yaml.pyi +++ b/stubs/PyYAML/yaml/_yaml.pyi @@ -12,12 +12,12 @@ def get_version() -> tuple[int, int, int]: ... @disjoint_base class Mark: - name: Incomplete + name: Any index: int line: int column: int - buffer: Incomplete - pointer: Incomplete + buffer: Any + pointer: Any def __init__(self, name, index: int, line: int, column: int, buffer, pointer) -> None: ... def get_snippet(self): ... @@ -42,14 +42,14 @@ class CEmitter: def __init__( self, stream: IO[Any], - canonical=..., + canonical: Incomplete | None = ..., indent: int | None = ..., width: int | None = ..., - allow_unicode=..., + allow_unicode: Incomplete | None = ..., line_break: str | None = ..., encoding: str | None = ..., - explicit_start=..., - explicit_end=..., + explicit_start: Incomplete | None = ..., + explicit_end: Incomplete | None = ..., version: Sequence[int] | None = ..., tags: Mapping[str, str] | None = ..., ) -> None: ... diff --git a/stubs/PyYAML/yaml/composer.pyi b/stubs/PyYAML/yaml/composer.pyi index d353d02220f9..4c80c5bd3da8 100644 --- a/stubs/PyYAML/yaml/composer.pyi +++ b/stubs/PyYAML/yaml/composer.pyi @@ -1,4 +1,4 @@ -from _typeshed import Incomplete +from typing import Any from yaml.error import MarkedYAMLError from yaml.nodes import MappingNode, Node, ScalarNode, SequenceNode @@ -6,15 +6,15 @@ from yaml.nodes import MappingNode, Node, ScalarNode, SequenceNode class ComposerError(MarkedYAMLError): ... class Composer: - anchors: dict[Incomplete, Node] + anchors: dict[Any, Node] def __init__(self) -> None: ... def check_node(self) -> bool: ... def get_node(self) -> Node | None: ... def get_single_node(self) -> Node | None: ... def compose_document(self) -> Node | None: ... def compose_node(self, parent: Node | None, index: int) -> Node | None: ... - def compose_scalar_node(self, anchor: dict[Incomplete, Node]) -> ScalarNode: ... - def compose_sequence_node(self, anchor: dict[Incomplete, Node]) -> SequenceNode: ... - def compose_mapping_node(self, anchor: dict[Incomplete, Node]) -> MappingNode: ... + def compose_scalar_node(self, anchor: dict[Any, Node]) -> ScalarNode: ... + def compose_sequence_node(self, anchor: dict[Any, Node]) -> SequenceNode: ... + def compose_mapping_node(self, anchor: dict[Any, Node]) -> MappingNode: ... __all__ = ["Composer", "ComposerError"] diff --git a/stubs/PyYAML/yaml/constructor.pyi b/stubs/PyYAML/yaml/constructor.pyi index 4c5186840ddd..cfbe7828b019 100644 --- a/stubs/PyYAML/yaml/constructor.pyi +++ b/stubs/PyYAML/yaml/constructor.pyi @@ -1,16 +1,12 @@ -from _typeshed import Incomplete -from collections.abc import Callable, Generator, Hashable +from collections.abc import Callable, Hashable from datetime import date from re import Pattern -from types import GeneratorType, ModuleType -from typing import ClassVar, TypeVar -from typing_extensions import Never +from typing import Any, ClassVar, TypeVar from yaml.error import MarkedYAMLError from yaml.nodes import MappingNode, Node, ScalarNode, SequenceNode from .cyaml import _CLoader -from .emitter import _YAMLObject from .loader import _Loader _L = TypeVar("_L", bound=_Loader | _CLoader) @@ -19,33 +15,33 @@ _N = TypeVar("_N", bound=Node) class ConstructorError(MarkedYAMLError): ... class BaseConstructor: - yaml_constructors: ClassVar[dict[str | None, Incomplete]] - yaml_multi_constructors: ClassVar[dict[str | None, Incomplete]] - constructed_objects: dict[Incomplete, Incomplete] - recursive_objects: dict[Incomplete, Incomplete] - state_generators: list[GeneratorType[Incomplete, Incomplete, Incomplete]] - deep_construct: bool + yaml_constructors: Any + yaml_multi_constructors: Any + constructed_objects: Any + recursive_objects: Any + state_generators: Any + deep_construct: Any def __init__(self) -> None: ... def check_data(self): ... def check_state_key(self, key: str) -> None: ... - def get_data(self) -> _YAMLObject: ... - def get_single_data(self) -> _YAMLObject: ... - def construct_document(self, node) -> _YAMLObject: ... - def construct_object(self, node, deep: bool = False) -> _YAMLObject: ... + def get_data(self): ... + def get_single_data(self) -> Any: ... + def construct_document(self, node): ... + def construct_object(self, node, deep: bool = False): ... def construct_scalar(self, node: ScalarNode) -> str: ... - def construct_sequence(self, node: SequenceNode, deep: bool = False) -> list[Incomplete]: ... - def construct_mapping(self, node: MappingNode, deep: bool = False) -> dict[Hashable, Incomplete]: ... - def construct_pairs(self, node, deep: bool = False) -> list[tuple[Incomplete, Incomplete]]: ... + def construct_sequence(self, node: SequenceNode, deep: bool = False) -> list[Any]: ... + def construct_mapping(self, node: MappingNode, deep: bool = False) -> dict[Hashable, Any]: ... + def construct_pairs(self, node, deep: bool = False): ... @classmethod # Use typevars so we can have covariant behaviour in the parameter types - def add_constructor(cls, tag: str, constructor: Callable[[_L, _N], Incomplete]) -> None: ... + def add_constructor(cls, tag: str, constructor: Callable[[_L, _N], Any]) -> None: ... @classmethod - def add_multi_constructor(cls, tag_prefix: str | None, multi_constructor) -> None: ... + def add_multi_constructor(cls, tag_prefix, multi_constructor): ... class SafeConstructor(BaseConstructor): def construct_scalar(self, node: ScalarNode | MappingNode) -> str: ... def flatten_mapping(self, node: MappingNode) -> None: ... - def construct_mapping(self, node: MappingNode, deep: bool = False) -> dict[Hashable, Incomplete]: ... + def construct_mapping(self, node: MappingNode, deep: bool = False) -> dict[Hashable, Any]: ... def construct_yaml_null(self, node: ScalarNode) -> None: ... bool_values: ClassVar[dict[str, bool]] def construct_yaml_bool(self, node: ScalarNode) -> bool: ... @@ -56,40 +52,54 @@ class SafeConstructor(BaseConstructor): def construct_yaml_binary(self, node: ScalarNode) -> bytes: ... timestamp_regexp: ClassVar[Pattern[str]] def construct_yaml_timestamp(self, node: ScalarNode) -> date: ... - def construct_yaml_omap(self, node) -> Generator[list[tuple[Incomplete, Incomplete]]]: ... - def construct_yaml_pairs(self, node) -> Generator[list[tuple[Incomplete, Incomplete]]]: ... - def construct_yaml_set(self, node) -> Generator[set[dict[Hashable, Incomplete]]]: ... - def construct_yaml_str(self, node) -> str: ... - def construct_yaml_seq(self, node) -> Generator[list[Incomplete]]: ... - def construct_yaml_map(self, node) -> Generator[dict[Incomplete, Incomplete]]: ... - def construct_yaml_object(self, node, cls) -> Generator[Incomplete]: ... - def construct_undefined(self, node) -> Never: ... + def construct_yaml_omap(self, node): ... + def construct_yaml_pairs(self, node): ... + def construct_yaml_set(self, node): ... + def construct_yaml_str(self, node): ... + def construct_yaml_seq(self, node): ... + def construct_yaml_map(self, node): ... + def construct_yaml_object(self, node, cls): ... + def construct_undefined(self, node): ... class FullConstructor(SafeConstructor): def get_state_keys_blacklist(self) -> list[str]: ... def get_state_keys_blacklist_regexp(self) -> Pattern[str]: ... - def construct_python_str(self, node) -> str: ... - def construct_python_unicode(self, node) -> str: ... - def construct_python_bytes(self, node) -> bytes: ... - def construct_python_long(self, node) -> int: ... - def construct_python_complex(self, node) -> complex: ... - def construct_python_tuple(self, node) -> tuple[Incomplete, ...]: ... - def find_python_module(self, name: str, mark, unsafe: bool = False) -> ModuleType: ... + def construct_python_str(self, node): ... + def construct_python_unicode(self, node): ... + def construct_python_bytes(self, node): ... + def construct_python_long(self, node): ... + def construct_python_complex(self, node): ... + def construct_python_tuple(self, node): ... + def find_python_module(self, name: str, mark, unsafe: bool = False): ... def find_python_name(self, name: str, mark, unsafe: bool = False): ... - def construct_python_name(self, suffix: str, node): ... - def construct_python_module(self, suffix: str, node) -> ModuleType: ... - def make_python_instance(self, suffix: str, node, args=None, kwds=None, newobj: bool = False, unsafe: bool = False): ... - def set_python_instance_state(self, instance: object, state, unsafe: bool = False) -> None: ... - def construct_python_object(self, suffix: str, node) -> Generator[Incomplete]: ... - def construct_python_object_apply(self, suffix: str, node, newobj: bool = False): ... - def construct_python_object_new(self, suffix: str, node): ... + def construct_python_name(self, suffix, node): ... + def construct_python_module(self, suffix, node): ... + def make_python_instance(self, suffix, node, args=None, kwds=None, newobj: bool = False, unsafe: bool = False): ... + def set_python_instance_state(self, instance: Any, state, unsafe: bool = False) -> None: ... + def construct_python_object(self, suffix, node): ... + def construct_python_object_apply(self, suffix, node, newobj=False): ... + def construct_python_object_new(self, suffix, node): ... class UnsafeConstructor(FullConstructor): - def find_python_module(self, name: str, mark) -> ModuleType: ... # type: ignore[override] + def find_python_module(self, name: str, mark): ... # type: ignore[override] def find_python_name(self, name: str, mark): ... # type: ignore[override] def make_python_instance(self, suffix: str, node, args=None, kwds=None, newobj: bool = False): ... # type: ignore[override] - def set_python_instance_state(self, instance: object, state) -> None: ... # type: ignore[override] + def set_python_instance_state(self, instance: Any, state): ... # type: ignore[override] -class Constructor(SafeConstructor): ... +class Constructor(SafeConstructor): + def construct_python_str(self, node): ... + def construct_python_unicode(self, node): ... + def construct_python_long(self, node): ... + def construct_python_complex(self, node): ... + def construct_python_tuple(self, node): ... + def find_python_module(self, name, mark): ... + def find_python_name(self, name, mark): ... + def construct_python_name(self, suffix, node): ... + def construct_python_module(self, suffix, node): ... + def make_python_instance(self, suffix, node, args=None, kwds=None, newobj=False): ... + def set_python_instance_state(self, instance, state): ... + def construct_python_object(self, suffix, node): ... + def construct_python_object_apply(self, suffix, node, newobj=False): ... + def construct_python_object_new(self, suffix, node): ... __all__ = ["BaseConstructor", "SafeConstructor", "FullConstructor", "UnsafeConstructor", "Constructor", "ConstructorError"] diff --git a/stubs/PyYAML/yaml/dumper.pyi b/stubs/PyYAML/yaml/dumper.pyi index a414124d233e..e7b18733101d 100644 --- a/stubs/PyYAML/yaml/dumper.pyi +++ b/stubs/PyYAML/yaml/dumper.pyi @@ -1,12 +1,12 @@ from collections.abc import Mapping -from typing import TypeAlias +from typing import Any, TypeAlias from yaml.emitter import Emitter from yaml.representer import BaseRepresenter, Representer, SafeRepresenter from yaml.resolver import BaseResolver, Resolver from yaml.serializer import Serializer -from .emitter import _WriteStream, _YAMLObject +from .emitter import _WriteStream # Ideally, there would be a way to limit these values to only +/- float("inf"), # but that's not possible at the moment (https://github.com/python/typing/issues/1160). @@ -15,7 +15,7 @@ _Inf: TypeAlias = float class BaseDumper(Emitter, Serializer, BaseRepresenter, BaseResolver): def __init__( self, - stream: _WriteStream[_YAMLObject], + stream: _WriteStream[Any], default_style: str | None = None, default_flow_style: bool | None = False, canonical: bool | None = None, @@ -34,7 +34,7 @@ class BaseDumper(Emitter, Serializer, BaseRepresenter, BaseResolver): class SafeDumper(Emitter, Serializer, SafeRepresenter, Resolver): def __init__( self, - stream: _WriteStream[_YAMLObject], + stream: _WriteStream[Any], default_style: str | None = None, default_flow_style: bool | None = False, canonical: bool | None = None, @@ -53,7 +53,7 @@ class SafeDumper(Emitter, Serializer, SafeRepresenter, Resolver): class Dumper(Emitter, Serializer, Representer, Resolver): def __init__( self, - stream: _WriteStream[_YAMLObject], + stream: _WriteStream[Any], default_style: str | None = None, default_flow_style: bool | None = False, canonical: bool | None = None, diff --git a/stubs/PyYAML/yaml/emitter.pyi b/stubs/PyYAML/yaml/emitter.pyi index 80388523f320..3a19e94a31a9 100644 --- a/stubs/PyYAML/yaml/emitter.pyi +++ b/stubs/PyYAML/yaml/emitter.pyi @@ -1,6 +1,5 @@ -from _typeshed import Incomplete from collections.abc import Callable -from typing import Any, Final, Protocol, TypeAlias, TypeVar, type_check_only +from typing import Any, Protocol, TypeVar, type_check_only from typing_extensions import Never from yaml.error import YAMLError @@ -8,7 +7,6 @@ from yaml.error import YAMLError from .events import Event _T_contra = TypeVar("_T_contra", str, bytes, contravariant=True) -_YAMLObject: TypeAlias = Any @type_check_only class _WriteStream(Protocol[_T_contra]): @@ -20,21 +18,21 @@ class _WriteStream(Protocol[_T_contra]): class EmitterError(YAMLError): ... class ScalarAnalysis: - scalar: Incomplete - empty: Incomplete - multiline: Incomplete - allow_flow_plain: Incomplete - allow_block_plain: Incomplete - allow_single_quoted: Incomplete - allow_double_quoted: Incomplete - allow_block: Incomplete + scalar: Any + empty: Any + multiline: Any + allow_flow_plain: Any + allow_block_plain: Any + allow_single_quoted: Any + allow_double_quoted: Any + allow_block: Any def __init__( self, scalar, empty, multiline, allow_flow_plain, allow_block_plain, allow_single_quoted, allow_double_quoted, allow_block ) -> None: ... class Emitter: - DEFAULT_TAG_PREFIXES: Final[dict[str, str]] - stream: _WriteStream[_YAMLObject] + DEFAULT_TAG_PREFIXES: dict[str, str] + stream: _WriteStream[Any] encoding: str | None states: list[Callable[[], None]] state: Callable[[], None] | None @@ -64,7 +62,7 @@ class Emitter: style: str | None def __init__( self, - stream: _WriteStream[_YAMLObject], + stream: _WriteStream[Any], canonical: bool | None = None, indent: int | None = None, width: int | None = None, @@ -128,7 +126,7 @@ class Emitter: def write_version_directive(self, version_text: str) -> None: ... def write_tag_directive(self, handle_text: str, prefix_text: str) -> None: ... def write_single_quoted(self, text: str, split: bool = True) -> None: ... - ESCAPE_REPLACEMENTS: Final[dict[str, str]] + ESCAPE_REPLACEMENTS: dict[str, str] def write_double_quoted(self, text: str, split: bool = True) -> None: ... def determine_block_hints(self, text: str) -> str: ... def write_folded(self, text: str) -> None: ... diff --git a/stubs/PyYAML/yaml/events.pyi b/stubs/PyYAML/yaml/events.pyi index e6038140a975..e4e2a8f1ce8b 100644 --- a/stubs/PyYAML/yaml/events.pyi +++ b/stubs/PyYAML/yaml/events.pyi @@ -1,76 +1,60 @@ -from collections.abc import Mapping -from typing import TypeAlias - -from ._yaml import Mark as _CMark -from .error import Mark - -_Mark: TypeAlias = Mark | _CMark +from typing import Any class Event: - start_mark: _Mark | None - end_mark: _Mark | None - def __init__(self, start_mark: _Mark | None = None, end_mark: _Mark | None = None) -> None: ... + start_mark: Any + end_mark: Any + def __init__(self, start_mark=None, end_mark=None) -> None: ... class NodeEvent(Event): - anchor: str | None - def __init__(self, anchor: str | None, start_mark: _Mark | None = None, end_mark: _Mark | None = None) -> None: ... + anchor: Any + start_mark: Any + end_mark: Any + def __init__(self, anchor, start_mark=None, end_mark=None) -> None: ... class CollectionStartEvent(NodeEvent): - tag: str | None - implicit: bool - flow_style: bool | None - def __init__( - self, - anchor: str | None, - tag: str | None, - implicit: bool, - start_mark: _Mark | None = None, - end_mark: _Mark | None = None, - flow_style: bool | None = None, - ) -> None: ... + anchor: Any + tag: Any + implicit: Any + start_mark: Any + end_mark: Any + flow_style: Any + def __init__(self, anchor, tag, implicit, start_mark=None, end_mark=None, flow_style=None) -> None: ... class CollectionEndEvent(Event): ... class StreamStartEvent(Event): - encoding: str | None - def __init__(self, start_mark: _Mark | None = None, end_mark: _Mark | None = None, encoding: str | None = None) -> None: ... + start_mark: Any + end_mark: Any + encoding: Any + def __init__(self, start_mark=None, end_mark=None, encoding=None) -> None: ... class StreamEndEvent(Event): ... class DocumentStartEvent(Event): - explicit: bool | None - version: tuple[int, int] | None - tags: Mapping[str, str] | None - def __init__( - self, - start_mark: _Mark | None = None, - end_mark: _Mark | None = None, - explicit: bool | None = None, - version: tuple[int, int] | None = None, - tags: Mapping[str, str] | None = None, - ) -> None: ... + start_mark: Any + end_mark: Any + explicit: Any + version: Any + tags: Any + def __init__(self, start_mark=None, end_mark=None, explicit=None, version=None, tags=None) -> None: ... class DocumentEndEvent(Event): - explicit: bool | None - def __init__(self, start_mark: _Mark | None = None, end_mark: _Mark | None = None, explicit: bool | None = None) -> None: ... + start_mark: Any + end_mark: Any + explicit: Any + def __init__(self, start_mark=None, end_mark=None, explicit=None) -> None: ... class AliasEvent(NodeEvent): ... class ScalarEvent(NodeEvent): - tag: str | None - implicit: tuple[bool, bool] - value: str - style: str | None - def __init__( - self, - anchor: str | None, - tag: str | None, - implicit: tuple[bool, bool], - value: str, - start_mark: _Mark | None = None, - end_mark: _Mark | None = None, - style: str | None = None, - ) -> None: ... + anchor: Any + tag: Any + implicit: Any + value: Any + start_mark: Any + end_mark: Any + style: Any + def __init__(self, anchor, tag, implicit, value, start_mark=None, end_mark=None, style=None) -> None: ... class SequenceStartEvent(CollectionStartEvent): ... class SequenceEndEvent(CollectionEndEvent): ... diff --git a/stubs/PyYAML/yaml/nodes.pyi b/stubs/PyYAML/yaml/nodes.pyi index d97634fd5fa3..de490db93d1a 100644 --- a/stubs/PyYAML/yaml/nodes.pyi +++ b/stubs/PyYAML/yaml/nodes.pyi @@ -1,4 +1,3 @@ -from _typeshed import Incomplete from typing import Any, ClassVar from yaml.error import Mark @@ -8,7 +7,7 @@ from yaml.error import Mark # Permissive Unions could also be useful here. class Node: tag: str - value: Incomplete + value: Any start_mark: Mark | Any end_mark: Mark | Any def __init__(self, tag: str, value, start_mark: Mark | None, end_mark: Mark | None) -> None: ... diff --git a/stubs/PyYAML/yaml/parser.pyi b/stubs/PyYAML/yaml/parser.pyi index 4949665f8153..b2c7b42db3ce 100644 --- a/stubs/PyYAML/yaml/parser.pyi +++ b/stubs/PyYAML/yaml/parser.pyi @@ -1,35 +1,32 @@ -from _typeshed import Incomplete -from builtins import _ClassInfo -from typing import Final +from typing import Any from yaml.error import MarkedYAMLError -from yaml.events import DocumentEndEvent, MappingEndEvent, ScalarEvent, StreamStartEvent class ParserError(MarkedYAMLError): ... class Parser: - DEFAULT_TAGS: Final[dict[str, str]] - current_event: Incomplete - yaml_version: Incomplete - tag_handles: dict[str, str] - states: list[Incomplete] - marks: list[Incomplete] - state: Incomplete + DEFAULT_TAGS: Any + current_event: Any + yaml_version: Any + tag_handles: Any + states: Any + marks: Any + state: Any def __init__(self) -> None: ... - def dispose(self) -> None: ... - def check_event(self, *choices: _ClassInfo) -> bool: ... + def dispose(self): ... + def check_event(self, *choices): ... def peek_event(self): ... def get_event(self): ... - def parse_stream_start(self) -> StreamStartEvent: ... + def parse_stream_start(self): ... def parse_implicit_document_start(self): ... def parse_document_start(self): ... - def parse_document_end(self) -> DocumentEndEvent: ... + def parse_document_end(self): ... def parse_document_content(self): ... def process_directives(self): ... def parse_block_node(self): ... def parse_flow_node(self): ... def parse_block_node_or_indentless_sequence(self): ... - def parse_node(self, block: bool = False, indentless_sequence: bool = False): ... + def parse_node(self, block=False, indentless_sequence=False): ... def parse_block_sequence_first_entry(self): ... def parse_block_sequence_entry(self): ... def parse_indentless_sequence_entry(self): ... @@ -37,14 +34,14 @@ class Parser: def parse_block_mapping_key(self): ... def parse_block_mapping_value(self): ... def parse_flow_sequence_first_entry(self): ... - def parse_flow_sequence_entry(self, first: bool = False): ... + def parse_flow_sequence_entry(self, first=False): ... def parse_flow_sequence_entry_mapping_key(self): ... def parse_flow_sequence_entry_mapping_value(self): ... - def parse_flow_sequence_entry_mapping_end(self) -> MappingEndEvent: ... + def parse_flow_sequence_entry_mapping_end(self): ... def parse_flow_mapping_first_key(self): ... - def parse_flow_mapping_key(self, first: bool = False): ... + def parse_flow_mapping_key(self, first=False): ... def parse_flow_mapping_value(self): ... - def parse_flow_mapping_empty_value(self) -> ScalarEvent: ... - def process_empty_scalar(self, mark) -> ScalarEvent: ... + def parse_flow_mapping_empty_value(self): ... + def process_empty_scalar(self, mark): ... __all__ = ["Parser", "ParserError"] diff --git a/stubs/PyYAML/yaml/reader.pyi b/stubs/PyYAML/yaml/reader.pyi index cb01d3ca7c8b..84a0e36e2bee 100644 --- a/stubs/PyYAML/yaml/reader.pyi +++ b/stubs/PyYAML/yaml/reader.pyi @@ -1,41 +1,40 @@ -from _typeshed import Incomplete, SupportsRead -from re import Pattern -from typing import Final, TypeAlias +from _typeshed import SupportsRead +from typing import Any, TypeAlias -from yaml.error import Mark, YAMLError +from yaml.error import YAMLError _ReadStream: TypeAlias = str | bytes | SupportsRead[str] | SupportsRead[bytes] class ReaderError(YAMLError): - name: Incomplete - character: Incomplete - position: Incomplete - encoding: Incomplete - reason: Incomplete + name: Any + character: Any + position: Any + encoding: Any + reason: Any def __init__(self, name, position, character, encoding, reason) -> None: ... class Reader: - name: Incomplete + name: Any stream: SupportsRead[str] | SupportsRead[bytes] | None - stream_pointer: Incomplete - eof: Incomplete - buffer: Incomplete - pointer: Incomplete - raw_buffer: Incomplete - raw_decode: Incomplete - encoding: Incomplete - index: Incomplete - line: Incomplete - column: Incomplete + stream_pointer: Any + eof: Any + buffer: Any + pointer: Any + raw_buffer: Any + raw_decode: Any + encoding: Any + index: Any + line: Any + column: Any def __init__(self, stream: _ReadStream) -> None: ... - def peek(self, index: int = 0): ... - def prefix(self, length: int = 1): ... - def forward(self, length: int = 1) -> None: ... - def get_mark(self) -> Mark: ... - def determine_encoding(self) -> None: ... - NON_PRINTABLE: Final[Pattern[str]] - def check_printable(self, data: str) -> None: ... - def update(self, length: int) -> None: ... - def update_raw(self, size: int = 4096) -> None: ... + def peek(self, index=0): ... + def prefix(self, length=1): ... + def forward(self, length=1): ... + def get_mark(self): ... + def determine_encoding(self): ... + NON_PRINTABLE: Any + def check_printable(self, data): ... + def update(self, length): ... + def update_raw(self, size=4096): ... __all__ = ["Reader", "ReaderError"] diff --git a/stubs/PyYAML/yaml/representer.pyi b/stubs/PyYAML/yaml/representer.pyi index 38255a636d49..ac10d892949b 100644 --- a/stubs/PyYAML/yaml/representer.pyi +++ b/stubs/PyYAML/yaml/representer.pyi @@ -2,7 +2,7 @@ import datetime from _typeshed import Incomplete, ReadableBuffer, SupportsItems from collections.abc import Callable, Iterable, Mapping from types import BuiltinFunctionType, FunctionType, ModuleType -from typing import ClassVar, TypeVar +from typing import Any, ClassVar, TypeVar from typing_extensions import Never, Self from yaml.error import YAMLError as YAMLError @@ -13,13 +13,13 @@ _T = TypeVar("_T") class RepresenterError(YAMLError): ... class BaseRepresenter: - yaml_representers: ClassVar[dict[type[Incomplete], Callable[[BaseRepresenter, Incomplete], Node]]] - yaml_multi_representers: ClassVar[dict[type[Incomplete], Callable[[BaseRepresenter, Incomplete], Node]]] + yaml_representers: ClassVar[dict[type[Any], Callable[[BaseRepresenter, Any], Node]]] + yaml_multi_representers: ClassVar[dict[type[Any], Callable[[BaseRepresenter, Any], Node]]] default_style: str | Incomplete sort_keys: bool default_flow_style: bool represented_objects: dict[int, Node] - object_keeper: list[Incomplete] + object_keeper: list[Any] alias_key: int | Incomplete def __init__(self, default_style: str | None = None, default_flow_style: bool = False, sort_keys: bool = True) -> None: ... def represent(self, data) -> None: ... @@ -29,12 +29,9 @@ class BaseRepresenter: @classmethod def add_multi_representer(cls, data_type: type[_T], representer: Callable[[Self, _T], Node]) -> None: ... def represent_scalar(self, tag: str, value, style: str | None = None) -> ScalarNode: ... - def represent_sequence(self, tag: str, sequence: Iterable[Incomplete], flow_style: bool | None = None) -> SequenceNode: ... + def represent_sequence(self, tag: str, sequence: Iterable[Any], flow_style: bool | None = None) -> SequenceNode: ... def represent_mapping( - self, - tag: str, - mapping: SupportsItems[Incomplete, Incomplete] | Iterable[tuple[Incomplete, Incomplete]], - flow_style: bool | None = None, + self, tag: str, mapping: SupportsItems[Any, Any] | Iterable[tuple[Any, Any]], flow_style: bool | None = None ) -> MappingNode: ... def ignore_aliases(self, data) -> bool: ... @@ -47,11 +44,9 @@ class SafeRepresenter(BaseRepresenter): def represent_bool(self, data: bool) -> ScalarNode: ... def represent_int(self, data: int) -> ScalarNode: ... def represent_float(self, data: float) -> ScalarNode: ... - def represent_list(self, data: Iterable[Incomplete]) -> SequenceNode: ... - def represent_dict( - self, data: SupportsItems[Incomplete, Incomplete] | Iterable[tuple[Incomplete, Incomplete]] - ) -> MappingNode: ... - def represent_set(self, data: Iterable[Incomplete]) -> MappingNode: ... + def represent_list(self, data: Iterable[Any]) -> SequenceNode: ... + def represent_dict(self, data: SupportsItems[Any, Any] | Iterable[tuple[Any, Any]]) -> MappingNode: ... + def represent_set(self, data: Iterable[Any]) -> MappingNode: ... def represent_date(self, data: datetime.date) -> ScalarNode: ... def represent_datetime(self, data: datetime.datetime) -> ScalarNode: ... def represent_yaml_object(self, tag: str, data, cls, flow_style: bool | None = None) -> MappingNode: ... @@ -59,10 +54,10 @@ class SafeRepresenter(BaseRepresenter): class Representer(SafeRepresenter): def represent_complex(self, data: complex) -> ScalarNode: ... - def represent_tuple(self, data: Iterable[Incomplete]) -> SequenceNode: ... + def represent_tuple(self, data: Iterable[Any]) -> SequenceNode: ... def represent_name(self, data: BuiltinFunctionType | FunctionType) -> ScalarNode: ... def represent_module(self, data: ModuleType) -> ScalarNode: ... def represent_object(self, data) -> SequenceNode | MappingNode: ... - def represent_ordered_dict(self, data: Mapping[Incomplete, Incomplete]) -> SequenceNode: ... + def represent_ordered_dict(self, data: Mapping[Any, Any]) -> SequenceNode: ... __all__ = ["BaseRepresenter", "SafeRepresenter", "Representer", "RepresenterError"] diff --git a/stubs/PyYAML/yaml/resolver.pyi b/stubs/PyYAML/yaml/resolver.pyi index 2df705d34825..614425ab4cbb 100644 --- a/stubs/PyYAML/yaml/resolver.pyi +++ b/stubs/PyYAML/yaml/resolver.pyi @@ -1,25 +1,24 @@ -from _typeshed import Incomplete -from typing import Final +from typing import Any from yaml.error import YAMLError class ResolverError(YAMLError): ... class BaseResolver: - DEFAULT_SCALAR_TAG: Final = "tag:yaml.org,2002:str" - DEFAULT_SEQUENCE_TAG: Final = "tag:yaml.org,2002:seq" - DEFAULT_MAPPING_TAG: Final = "tag:yaml.org,2002:map" - yaml_implicit_resolvers: dict[Incomplete, Incomplete] - yaml_path_resolvers: dict[Incomplete, Incomplete] - resolver_exact_paths: list[Incomplete] - resolver_prefix_paths: list[Incomplete] + DEFAULT_SCALAR_TAG: Any + DEFAULT_SEQUENCE_TAG: Any + DEFAULT_MAPPING_TAG: Any + yaml_implicit_resolvers: Any + yaml_path_resolvers: Any + resolver_exact_paths: Any + resolver_prefix_paths: Any def __init__(self) -> None: ... @classmethod - def add_implicit_resolver(cls, tag, regexp, first) -> None: ... + def add_implicit_resolver(cls, tag, regexp, first): ... @classmethod - def add_path_resolver(cls, tag, path, kind=None) -> None: ... - def descend_resolver(self, current_node, current_index) -> None: ... - def ascend_resolver(self) -> None: ... + def add_path_resolver(cls, tag, path, kind=None): ... + def descend_resolver(self, current_node, current_index): ... + def ascend_resolver(self): ... def check_resolver_prefix(self, depth, path, kind, current_node, current_index): ... def resolve(self, kind, value, implicit): ... diff --git a/stubs/PyYAML/yaml/scanner.pyi b/stubs/PyYAML/yaml/scanner.pyi index 64c1dfe486c1..0feaf8caa88b 100644 --- a/stubs/PyYAML/yaml/scanner.pyi +++ b/stubs/PyYAML/yaml/scanner.pyi @@ -1,102 +1,99 @@ -from _typeshed import Incomplete -from builtins import _ClassInfo -from typing import Final +from typing import Any from yaml.error import MarkedYAMLError -from yaml.tokens import DirectiveToken, ScalarToken, TagToken class ScannerError(MarkedYAMLError): ... class SimpleKey: - token_number: Incomplete - required: bool - index: Incomplete - line: Incomplete - column: Incomplete - mark: Incomplete - def __init__(self, token_number, required: bool, index, line, column, mark) -> None: ... + token_number: Any + required: Any + index: Any + line: Any + column: Any + mark: Any + def __init__(self, token_number, required, index, line, column, mark) -> None: ... class Scanner: - done: bool - flow_level: int - tokens: list[Incomplete] - tokens_taken: int - indent: int - indents: list[int] - allow_simple_key: bool - possible_simple_keys: dict[int, SimpleKey] + done: Any + flow_level: Any + tokens: Any + tokens_taken: Any + indent: Any + indents: Any + allow_simple_key: Any + possible_simple_keys: Any def __init__(self) -> None: ... - def check_token(self, *choices: _ClassInfo) -> bool: ... + def check_token(self, *choices): ... def peek_token(self): ... def get_token(self): ... - def need_more_tokens(self) -> bool | None: ... - def fetch_more_tokens(self) -> None: ... + def need_more_tokens(self): ... + def fetch_more_tokens(self): ... def next_possible_simple_key(self): ... - def stale_possible_simple_keys(self) -> None: ... - def save_possible_simple_key(self) -> None: ... - def remove_possible_simple_key(self) -> None: ... - def unwind_indent(self, column) -> None: ... - def add_indent(self, column) -> bool: ... - def fetch_stream_start(self) -> None: ... - def fetch_stream_end(self) -> None: ... - def fetch_directive(self) -> None: ... - def fetch_document_start(self) -> None: ... - def fetch_document_end(self) -> None: ... - def fetch_document_indicator(self, TokenClass) -> None: ... - def fetch_flow_sequence_start(self) -> None: ... - def fetch_flow_mapping_start(self) -> None: ... - def fetch_flow_collection_start(self, TokenClass) -> None: ... - def fetch_flow_sequence_end(self) -> None: ... - def fetch_flow_mapping_end(self) -> None: ... - def fetch_flow_collection_end(self, TokenClass) -> None: ... - def fetch_flow_entry(self) -> None: ... - def fetch_block_entry(self) -> None: ... - def fetch_key(self) -> None: ... - def fetch_value(self) -> None: ... - def fetch_alias(self) -> None: ... - def fetch_anchor(self) -> None: ... - def fetch_tag(self) -> None: ... - def fetch_literal(self) -> None: ... - def fetch_folded(self) -> None: ... - def fetch_block_scalar(self, style) -> None: ... - def fetch_single(self) -> None: ... - def fetch_double(self) -> None: ... - def fetch_flow_scalar(self, style) -> None: ... - def fetch_plain(self) -> None: ... + def stale_possible_simple_keys(self): ... + def save_possible_simple_key(self): ... + def remove_possible_simple_key(self): ... + def unwind_indent(self, column): ... + def add_indent(self, column): ... + def fetch_stream_start(self): ... + def fetch_stream_end(self): ... + def fetch_directive(self): ... + def fetch_document_start(self): ... + def fetch_document_end(self): ... + def fetch_document_indicator(self, TokenClass): ... + def fetch_flow_sequence_start(self): ... + def fetch_flow_mapping_start(self): ... + def fetch_flow_collection_start(self, TokenClass): ... + def fetch_flow_sequence_end(self): ... + def fetch_flow_mapping_end(self): ... + def fetch_flow_collection_end(self, TokenClass): ... + def fetch_flow_entry(self): ... + def fetch_block_entry(self): ... + def fetch_key(self): ... + def fetch_value(self): ... + def fetch_alias(self): ... + def fetch_anchor(self): ... + def fetch_tag(self): ... + def fetch_literal(self): ... + def fetch_folded(self): ... + def fetch_block_scalar(self, style): ... + def fetch_single(self): ... + def fetch_double(self): ... + def fetch_flow_scalar(self, style): ... + def fetch_plain(self): ... def check_directive(self): ... def check_document_start(self): ... def check_document_end(self): ... - def check_block_entry(self) -> bool: ... - def check_key(self) -> bool: ... - def check_value(self) -> bool: ... - def check_plain(self) -> bool: ... - def scan_to_next_token(self) -> None: ... - def scan_directive(self) -> DirectiveToken: ... + def check_block_entry(self): ... + def check_key(self): ... + def check_value(self): ... + def check_plain(self): ... + def scan_to_next_token(self): ... + def scan_directive(self): ... def scan_directive_name(self, start_mark): ... - def scan_yaml_directive_value(self, start_mark) -> tuple[int, int]: ... - def scan_yaml_directive_number(self, start_mark) -> int: ... - def scan_tag_directive_value(self, start_mark) -> tuple[Incomplete, str]: ... + def scan_yaml_directive_value(self, start_mark): ... + def scan_yaml_directive_number(self, start_mark): ... + def scan_tag_directive_value(self, start_mark): ... def scan_tag_directive_handle(self, start_mark): ... - def scan_tag_directive_prefix(self, start_mark) -> str: ... - def scan_directive_ignored_line(self, start_mark) -> None: ... + def scan_tag_directive_prefix(self, start_mark): ... + def scan_directive_ignored_line(self, start_mark): ... def scan_anchor(self, TokenClass): ... - def scan_tag(self) -> TagToken: ... - def scan_block_scalar(self, style) -> ScalarToken: ... - def scan_block_scalar_indicators(self, start_mark) -> tuple[bool | None, int | None]: ... - def scan_block_scalar_ignored_line(self, start_mark) -> None: ... - def scan_block_scalar_indentation(self) -> tuple[list[Incomplete], int, Incomplete]: ... - def scan_block_scalar_breaks(self, indent) -> tuple[list[Incomplete], Incomplete]: ... - def scan_flow_scalar(self, style) -> ScalarToken: ... - ESCAPE_REPLACEMENTS: Final[dict[str, str]] - ESCAPE_CODES: Final[dict[str, int]] - def scan_flow_scalar_non_spaces(self, double, start_mark) -> list[Incomplete]: ... - def scan_flow_scalar_spaces(self, double, start_mark) -> list[Incomplete]: ... - def scan_flow_scalar_breaks(self, double, start_mark) -> list[Incomplete]: ... - def scan_plain(self) -> ScalarToken: ... - def scan_plain_spaces(self, indent, start_mark) -> list[Incomplete] | None: ... + def scan_tag(self): ... + def scan_block_scalar(self, style): ... + def scan_block_scalar_indicators(self, start_mark): ... + def scan_block_scalar_ignored_line(self, start_mark): ... + def scan_block_scalar_indentation(self): ... + def scan_block_scalar_breaks(self, indent): ... + def scan_flow_scalar(self, style): ... + ESCAPE_REPLACEMENTS: Any + ESCAPE_CODES: Any + def scan_flow_scalar_non_spaces(self, double, start_mark): ... + def scan_flow_scalar_spaces(self, double, start_mark): ... + def scan_flow_scalar_breaks(self, double, start_mark): ... + def scan_plain(self): ... + def scan_plain_spaces(self, indent, start_mark): ... def scan_tag_handle(self, name, start_mark): ... - def scan_tag_uri(self, name, start_mark) -> str: ... - def scan_uri_escapes(self, name, start_mark) -> str: ... + def scan_tag_uri(self, name, start_mark): ... + def scan_uri_escapes(self, name, start_mark): ... def scan_line_break(self): ... __all__ = ["Scanner", "ScannerError"] diff --git a/stubs/PyYAML/yaml/serializer.pyi b/stubs/PyYAML/yaml/serializer.pyi index 16b4ebccda1a..ae1e98f796cf 100644 --- a/stubs/PyYAML/yaml/serializer.pyi +++ b/stubs/PyYAML/yaml/serializer.pyi @@ -1,5 +1,4 @@ -from _typeshed import Incomplete -from typing import ClassVar +from typing import Any from yaml.error import YAMLError from yaml.nodes import Node @@ -7,22 +6,22 @@ from yaml.nodes import Node class SerializerError(YAMLError): ... class Serializer: - ANCHOR_TEMPLATE: ClassVar[str] - use_encoding: Incomplete - use_explicit_start: Incomplete - use_explicit_end: Incomplete - use_version: Incomplete - use_tags: Incomplete - serialized_nodes: dict[Incomplete, Incomplete] - anchors: dict[Incomplete, Incomplete] - last_anchor_id: int - closed: bool | None + ANCHOR_TEMPLATE: Any + use_encoding: Any + use_explicit_start: Any + use_explicit_end: Any + use_version: Any + use_tags: Any + serialized_nodes: Any + anchors: Any + last_anchor_id: Any + closed: Any def __init__(self, encoding=None, explicit_start=None, explicit_end=None, version=None, tags=None) -> None: ... def open(self) -> None: ... def close(self) -> None: ... def serialize(self, node: Node) -> None: ... - def anchor_node(self, node) -> None: ... - def generate_anchor(self, node) -> str: ... - def serialize_node(self, node, parent, index) -> None: ... + def anchor_node(self, node): ... + def generate_anchor(self, node): ... + def serialize_node(self, node, parent, index): ... __all__ = ["Serializer", "SerializerError"] diff --git a/stubs/PyYAML/yaml/tokens.pyi b/stubs/PyYAML/yaml/tokens.pyi index 1034b5791786..632a1644ad79 100644 --- a/stubs/PyYAML/yaml/tokens.pyi +++ b/stubs/PyYAML/yaml/tokens.pyi @@ -1,94 +1,93 @@ -from _typeshed import Incomplete -from typing import ClassVar +from typing import Any class Token: - start_mark: Incomplete - end_mark: Incomplete + start_mark: Any + end_mark: Any def __init__(self, start_mark, end_mark) -> None: ... class DirectiveToken(Token): - id: ClassVar[str] - name: Incomplete - value: Incomplete - start_mark: Incomplete - end_mark: Incomplete + id: Any + name: Any + value: Any + start_mark: Any + end_mark: Any def __init__(self, name, value, start_mark, end_mark) -> None: ... class DocumentStartToken(Token): - id: ClassVar[str] + id: Any class DocumentEndToken(Token): - id: ClassVar[str] + id: Any class StreamStartToken(Token): - id: ClassVar[str] - start_mark: Incomplete - end_mark: Incomplete - encoding: Incomplete + id: Any + start_mark: Any + end_mark: Any + encoding: Any def __init__(self, start_mark=None, end_mark=None, encoding=None) -> None: ... class StreamEndToken(Token): - id: ClassVar[str] + id: Any class BlockSequenceStartToken(Token): - id: ClassVar[str] + id: Any class BlockMappingStartToken(Token): - id: ClassVar[str] + id: Any class BlockEndToken(Token): - id: ClassVar[str] + id: Any class FlowSequenceStartToken(Token): - id: ClassVar[str] + id: Any class FlowMappingStartToken(Token): - id: ClassVar[str] + id: Any class FlowSequenceEndToken(Token): - id: ClassVar[str] + id: Any class FlowMappingEndToken(Token): - id: ClassVar[str] + id: Any class KeyToken(Token): - id: ClassVar[str] + id: Any class ValueToken(Token): - id: ClassVar[str] + id: Any class BlockEntryToken(Token): - id: ClassVar[str] + id: Any class FlowEntryToken(Token): - id: ClassVar[str] + id: Any class AliasToken(Token): - id: ClassVar[str] - value: Incomplete - start_mark: Incomplete - end_mark: Incomplete + id: Any + value: Any + start_mark: Any + end_mark: Any def __init__(self, value, start_mark, end_mark) -> None: ... class AnchorToken(Token): - id: ClassVar[str] - value: Incomplete - start_mark: Incomplete - end_mark: Incomplete + id: Any + value: Any + start_mark: Any + end_mark: Any def __init__(self, value, start_mark, end_mark) -> None: ... class TagToken(Token): - id: ClassVar[str] - value: Incomplete - start_mark: Incomplete - end_mark: Incomplete + id: Any + value: Any + start_mark: Any + end_mark: Any def __init__(self, value, start_mark, end_mark) -> None: ... class ScalarToken(Token): - id: ClassVar[str] - value: Incomplete - plain: Incomplete - start_mark: Incomplete - end_mark: Incomplete - style: Incomplete + id: Any + value: Any + plain: Any + start_mark: Any + end_mark: Any + style: Any def __init__(self, value, plain, start_mark, end_mark, style=None) -> None: ... diff --git a/stubs/Pygments/METADATA.toml b/stubs/Pygments/METADATA.toml index ad60f7038a31..1768af3414c0 100644 --- a/stubs/Pygments/METADATA.toml +++ b/stubs/Pygments/METADATA.toml @@ -1,4 +1,4 @@ -version = "2.21.*" +version = "2.20.*" upstream-repository = "https://github.com/pygments/pygments" optional-dependencies = ["types-docutils"] partial-stub = true diff --git a/stubs/Pygments/pygments/util.pyi b/stubs/Pygments/pygments/util.pyi index 039bd80ab4a0..e2b63b730dd7 100644 --- a/stubs/Pygments/pygments/util.pyi +++ b/stubs/Pygments/pygments/util.pyi @@ -51,5 +51,3 @@ def terminal_encoding(term: Any) -> str: ... class UnclosingTextIOWrapper(TextIOWrapper): def close(self) -> None: ... - -def html_escape(string: str, quote: bool = True) -> str: ... diff --git a/stubs/WebOb/webob/multidict.pyi b/stubs/WebOb/webob/multidict.pyi index c4a64bf11b14..4272d2197564 100644 --- a/stubs/WebOb/webob/multidict.pyi +++ b/stubs/WebOb/webob/multidict.pyi @@ -154,7 +154,7 @@ class NestedMultiDict(MultiDict[_KT, _VT]): # NOTE: These methods all return exceptions, so this will give us # somewhat sane type checker errors, we would prefer to use # something like @type_error here, if it existed. - # This is only really necessary, because the inheritance hierarchy + # This is only really necessary, because the inheritance hierachy # is a mess. __setitem__: None # type: ignore[assignment] add: None # type: ignore[assignment] diff --git a/stubs/WebTest/webtest/response.pyi b/stubs/WebTest/webtest/response.pyi index b6d67b2344c0..2821f616e16c 100644 --- a/stubs/WebTest/webtest/response.pyi +++ b/stubs/WebTest/webtest/response.pyi @@ -32,7 +32,7 @@ class _PostParams(_GetParams, total=False): content_type: str class TestResponse(Response): - # NOTE: The way WebTest creates responses the request is always set + # NOTE: The way WebTest creates reponses the request is always set # we could've used `MaybeNone`, but it seems more pragmatic # to just assume that this is always set. request: TestRequest # type: ignore[assignment] diff --git a/stubs/aiofiles/aiofiles/tempfile/__init__.pyi b/stubs/aiofiles/aiofiles/tempfile/__init__.pyi index b9806ecd636e..817da9bc77a1 100644 --- a/stubs/aiofiles/aiofiles/tempfile/__init__.pyi +++ b/stubs/aiofiles/aiofiles/tempfile/__init__.pyi @@ -89,7 +89,7 @@ if sys.version_info >= (3, 12): delete_on_close: bool = True, loop: AbstractEventLoop | None = None, executor: Executor | None = None, - ) -> AiofilesContextManager[AsyncTextIOWrapper]: ... + ) -> AiofilesContextManager[AsyncTextIOWrapper[AnyStr]]: ... # Unbuffered binary: returns a FileIO @overload @@ -105,7 +105,7 @@ if sys.version_info >= (3, 12): delete_on_close: bool = True, loop: AbstractEventLoop | None = None, executor: Executor | None = None, - ) -> AiofilesContextManager[AsyncFileIO]: ... + ) -> AiofilesContextManager[AsyncFileIO[AnyStr]]: ... # Buffered binary reading/updating: AsyncBufferedReader @overload @@ -121,7 +121,7 @@ if sys.version_info >= (3, 12): delete_on_close: bool = True, loop: AbstractEventLoop | None = None, executor: Executor | None = None, - ) -> AiofilesContextManager[AsyncBufferedReader]: ... + ) -> AiofilesContextManager[AsyncBufferedReader[AnyStr]]: ... # Buffered binary writing: AsyncBufferedIOBase @overload @@ -137,7 +137,7 @@ if sys.version_info >= (3, 12): delete_on_close: bool = True, loop: AbstractEventLoop | None = None, executor: Executor | None = None, - ) -> AiofilesContextManager[AsyncBufferedIOBase]: ... + ) -> AiofilesContextManager[AsyncBufferedIOBase[AnyStr]]: ... else: # Text mode: always returns AsyncTextIOWrapper @overload @@ -152,7 +152,7 @@ else: delete: bool = True, loop: AbstractEventLoop | None = None, executor: Executor | None = None, - ) -> AiofilesContextManager[AsyncTextIOWrapper]: ... + ) -> AiofilesContextManager[AsyncTextIOWrapper[AnyStr]]: ... # Unbuffered binary: returns a FileIO @overload @@ -167,7 +167,7 @@ else: delete: bool = True, loop: AbstractEventLoop | None = None, executor: Executor | None = None, - ) -> AiofilesContextManager[AsyncFileIO]: ... + ) -> AiofilesContextManager[AsyncFileIO[AnyStr]]: ... # Buffered binary reading/updating: AsyncBufferedReader @overload @@ -182,7 +182,7 @@ else: delete: bool = True, loop: AbstractEventLoop | None = None, executor: Executor | None = None, - ) -> AiofilesContextManager[AsyncBufferedReader]: ... + ) -> AiofilesContextManager[AsyncBufferedReader[AnyStr]]: ... # Buffered binary writing: AsyncBufferedIOBase @overload @@ -197,7 +197,7 @@ else: delete: bool = True, loop: AbstractEventLoop | None = None, executor: Executor | None = None, - ) -> AiofilesContextManager[AsyncBufferedIOBase]: ... + ) -> AiofilesContextManager[AsyncBufferedIOBase[AnyStr]]: ... # Text mode: always returns AsyncTextIOWrapper @overload diff --git a/stubs/aiofiles/aiofiles/threadpool/binary.pyi b/stubs/aiofiles/aiofiles/threadpool/binary.pyi index 2a02d55752ec..3215fafc8706 100644 --- a/stubs/aiofiles/aiofiles/threadpool/binary.pyi +++ b/stubs/aiofiles/aiofiles/threadpool/binary.pyi @@ -1,14 +1,16 @@ from _typeshed import FileDescriptorOrPath, ReadableBuffer, WriteableBuffer from collections.abc import Iterable from io import FileIO -from typing import type_check_only +from typing import Generic, TypeVar, type_check_only from ..base import AsyncBase, AsyncIndirectBase +_NameT = TypeVar("_NameT", bound=FileDescriptorOrPath, default=FileDescriptorOrPath) + # This class does not exist at runtime and instead these methods are # all dynamically patched in. @type_check_only -class _UnknownAsyncBinaryIO(AsyncBase[bytes]): +class _UnknownAsyncBinaryIO(AsyncBase[bytes], Generic[_NameT]): async def close(self) -> None: ... async def flush(self) -> None: ... async def isatty(self) -> bool: ... @@ -30,28 +32,28 @@ class _UnknownAsyncBinaryIO(AsyncBase[bytes]): @property def mode(self) -> str: ... @property - def name(self) -> FileDescriptorOrPath: ... + def name(self) -> _NameT: ... -class AsyncBufferedIOBase(_UnknownAsyncBinaryIO): +class AsyncBufferedIOBase(_UnknownAsyncBinaryIO[_NameT]): async def read1(self, size: int = ..., /) -> bytes: ... def detach(self) -> FileIO: ... @property def raw(self) -> FileIO: ... -class AsyncIndirectBufferedIOBase(AsyncIndirectBase[bytes], _UnknownAsyncBinaryIO): +class AsyncIndirectBufferedIOBase(AsyncIndirectBase[bytes], _UnknownAsyncBinaryIO[_NameT], Generic[_NameT]): async def read1(self, size: int = ..., /) -> bytes: ... def detach(self) -> FileIO: ... @property def raw(self) -> FileIO: ... -class AsyncBufferedReader(AsyncBufferedIOBase): +class AsyncBufferedReader(AsyncBufferedIOBase[_NameT]): async def peek(self, size: int = ..., /) -> bytes: ... -class AsyncIndirectBufferedReader(AsyncIndirectBufferedIOBase): +class AsyncIndirectBufferedReader(AsyncIndirectBufferedIOBase[_NameT]): async def peek(self, size: int = ..., /) -> bytes: ... -class AsyncFileIO(_UnknownAsyncBinaryIO): +class AsyncFileIO(_UnknownAsyncBinaryIO[_NameT]): async def readall(self) -> bytes: ... -class AsyncIndirectFileIO(AsyncIndirectBase[bytes], _UnknownAsyncBinaryIO): +class AsyncIndirectFileIO(AsyncIndirectBase[bytes], _UnknownAsyncBinaryIO[_NameT], Generic[_NameT]): async def readall(self) -> bytes: ... diff --git a/stubs/aiofiles/aiofiles/threadpool/text.pyi b/stubs/aiofiles/aiofiles/threadpool/text.pyi index 6c6bf20a408c..0976762f770c 100644 --- a/stubs/aiofiles/aiofiles/threadpool/text.pyi +++ b/stubs/aiofiles/aiofiles/threadpool/text.pyi @@ -1,11 +1,13 @@ from _typeshed import FileDescriptorOrPath from collections.abc import Iterable -from typing import BinaryIO, type_check_only +from typing import BinaryIO, Generic, TypeVar, type_check_only from ..base import AsyncBase, AsyncIndirectBase +_NameT = TypeVar("_NameT", bound=FileDescriptorOrPath, default=FileDescriptorOrPath) + @type_check_only -class _UnknownAsyncTextIO(AsyncBase[str]): +class _UnknownAsyncTextIO(AsyncBase[str], Generic[_NameT]): async def close(self) -> None: ... async def flush(self) -> None: ... async def isatty(self) -> bool: ... @@ -35,9 +37,9 @@ class _UnknownAsyncTextIO(AsyncBase[str]): @property def newlines(self) -> str | tuple[str, ...] | None: ... @property - def name(self) -> FileDescriptorOrPath: ... + def name(self) -> _NameT: ... @property def mode(self) -> str: ... -class AsyncTextIOWrapper(_UnknownAsyncTextIO): ... -class AsyncTextIndirectIOWrapper(AsyncIndirectBase[str], _UnknownAsyncTextIO): ... +class AsyncTextIOWrapper(_UnknownAsyncTextIO[_NameT]): ... +class AsyncTextIndirectIOWrapper(AsyncIndirectBase[str], _UnknownAsyncTextIO[_NameT], Generic[_NameT]): ... diff --git a/stubs/binaryornot/@tests/stubtest_allowlist.txt b/stubs/binaryornot/@tests/stubtest_allowlist.txt new file mode 100644 index 000000000000..742a3bb53e80 --- /dev/null +++ b/stubs/binaryornot/@tests/stubtest_allowlist.txt @@ -0,0 +1 @@ +binaryornot\..+?\.logger diff --git a/stubs/binaryornot/METADATA.toml b/stubs/binaryornot/METADATA.toml new file mode 100644 index 000000000000..431cf6be18ef --- /dev/null +++ b/stubs/binaryornot/METADATA.toml @@ -0,0 +1,3 @@ +version = "0.4.*" +upstream-repository = "https://github.com/binaryornot/binaryornot" +obsolete-since = { version = "0.5.0", date = "2026-03-07" } diff --git a/stubs/binaryornot/binaryornot/__init__.pyi b/stubs/binaryornot/binaryornot/__init__.pyi new file mode 100644 index 000000000000..4c304c608dbc --- /dev/null +++ b/stubs/binaryornot/binaryornot/__init__.pyi @@ -0,0 +1,5 @@ +from typing import Final + +__author__: Final[str] +__email__: Final[str] +__version__: Final[str] diff --git a/stubs/binaryornot/binaryornot/check.pyi b/stubs/binaryornot/binaryornot/check.pyi new file mode 100644 index 000000000000..8ebb58019b10 --- /dev/null +++ b/stubs/binaryornot/binaryornot/check.pyi @@ -0,0 +1,3 @@ +from _typeshed import StrOrBytesPath + +def is_binary(filename: StrOrBytesPath) -> bool: ... diff --git a/stubs/binaryornot/binaryornot/helpers.pyi b/stubs/binaryornot/binaryornot/helpers.pyi new file mode 100644 index 000000000000..4534c3ffe99c --- /dev/null +++ b/stubs/binaryornot/binaryornot/helpers.pyi @@ -0,0 +1,5 @@ +from _typeshed import StrOrBytesPath + +def print_as_hex(s: str) -> None: ... +def get_starting_chunk(filename: StrOrBytesPath, length: int = 1024) -> bytes: ... +def is_binary_string(bytes_to_check: bytes | bytearray) -> bool: ... diff --git a/stubs/boltons/boltons/funcutils.pyi b/stubs/boltons/boltons/funcutils.pyi index 1a964c7d8abc..d9b02dc9eb2e 100644 --- a/stubs/boltons/boltons/funcutils.pyi +++ b/stubs/boltons/boltons/funcutils.pyi @@ -30,14 +30,14 @@ def copy_function(orig, copy_dict: bool = True): ... def partial_ordering(cls): ... class InstancePartial(functools.partial[Incomplete]): - def __get__(self, obj, obj_type): ... # type: ignore[override] + def __get__(self, obj, obj_type): ... class CachedInstancePartial(functools.partial[Incomplete]): __name__: Incomplete def __set_name__(self, obj_type, name) -> None: ... __doc__: Incomplete __module__: Incomplete - def __get__(self, obj, obj_type): ... # type: ignore[override] + def __get__(self, obj, obj_type): ... partial = CachedInstancePartial diff --git a/stubs/braintree/METADATA.toml b/stubs/braintree/METADATA.toml index 62e3151a65d7..ff317f5b020a 100644 --- a/stubs/braintree/METADATA.toml +++ b/stubs/braintree/METADATA.toml @@ -1,2 +1,2 @@ -version = "4.46.*" +version = "4.45.*" upstream-repository = "https://github.com/braintree/braintree_python" diff --git a/stubs/braintree/braintree/error_codes.pyi b/stubs/braintree/braintree/error_codes.pyi index 8dbcd9bc0f72..ee5086b0c5a3 100644 --- a/stubs/braintree/braintree/error_codes.pyi +++ b/stubs/braintree/braintree/error_codes.pyi @@ -314,8 +314,6 @@ class ErrorCodes: CannotVaultOneTimeUsePayPalAccount: Final = "82902" ConsentCodeOrAccessTokenIsRequired: Final = "82901" CustomerIdIsRequiredForVaulting: Final = "82905" - EmailFormatIsInvalid: Final = "92963" - EmailIsTooLong: Final = "92964" InvalidParamsForPayPalAccountUpdate: Final = "92915" PayPalAccountsAreNotAccepted: Final = "82904" PayPalCommunicationError: Final = "92910" diff --git a/stubs/braintree/braintree/search.pyi b/stubs/braintree/braintree/search.pyi index 7943e722d309..8ba8866b11e3 100644 --- a/stubs/braintree/braintree/search.pyi +++ b/stubs/braintree/braintree/search.pyi @@ -1,5 +1,4 @@ from _typeshed import Incomplete -from typing import overload class Search: class IsNodeBuilder: @@ -42,12 +41,7 @@ class Search: name: Incomplete whitelist: Incomplete def __init__(self, name, whitelist=[]) -> None: ... - - @overload - def in_list(self, value: list[str]) -> Search.Node: ... - @overload - def in_list(self, *values: str) -> Search.Node: ... - + def in_list(self, *values): ... def __eq__(self, value): ... class MultipleValueOrTextNodeBuilder(TextNodeBuilder, MultipleValueNodeBuilder): diff --git a/stubs/braintree/braintree/util/validation.pyi b/stubs/braintree/braintree/util/validation.pyi deleted file mode 100644 index 1fe26fac43d4..000000000000 --- a/stubs/braintree/braintree/util/validation.pyi +++ /dev/null @@ -1,6 +0,0 @@ -import re -from typing import Final - -VALID_PATH_SEGMENT_REGEX: Final[re.Pattern[str]] - -def is_invalid_path_segment(value: object) -> bool: ... diff --git a/stubs/cffi/METADATA.toml b/stubs/cffi/METADATA.toml index 443f8d492847..b42e584ae0b2 100644 --- a/stubs/cffi/METADATA.toml +++ b/stubs/cffi/METADATA.toml @@ -1,4 +1,4 @@ -version = "2.1.*" +version = "2.0.*" upstream-repository = "https://github.com/python-cffi/cffi/" dependencies = ["types-setuptools"] diff --git a/stubs/cffi/cffi/gen_src.pyi b/stubs/cffi/cffi/gen_src.pyi deleted file mode 100644 index bac2cd9f246d..000000000000 --- a/stubs/cffi/cffi/gen_src.pyi +++ /dev/null @@ -1 +0,0 @@ -# Entry point for `python -m cffi.gen_src`; the implementation lives in the private module `cffi._cffi_gen_src` diff --git a/stubs/cffi/cffi/recompiler.pyi b/stubs/cffi/cffi/recompiler.pyi index bb73ccf88479..f95c84932278 100644 --- a/stubs/cffi/cffi/recompiler.pyi +++ b/stubs/cffi/cffi/recompiler.pyi @@ -8,8 +8,7 @@ from .error import VerificationError as VerificationError VERSION_BASE: Final = 9729 VERSION_EMBEDDED: Final = 9985 VERSION_CHAR16CHAR32: Final = 10241 -FREE_THREADED_BUILD: Final[int | None] -USE_LIMITED_API: Final[bool] +USE_LIMITED_API: Final = True class GlobalExpr: name: Incomplete diff --git a/stubs/dateparser/METADATA.toml b/stubs/dateparser/METADATA.toml index cc9a77d9559d..34b910b18e45 100644 --- a/stubs/dateparser/METADATA.toml +++ b/stubs/dateparser/METADATA.toml @@ -1,4 +1,4 @@ -version = "1.4.3" +version = "1.4.1" upstream-repository = "https://github.com/scrapinghub/dateparser" [tool.stubtest] diff --git a/stubs/dateparser/dateparser/__init__.pyi b/stubs/dateparser/dateparser/__init__.pyi index 2f772d4714cb..ff3ab72b686a 100644 --- a/stubs/dateparser/dateparser/__init__.pyi +++ b/stubs/dateparser/dateparser/__init__.pyi @@ -11,7 +11,7 @@ _default_parser: DateDataParser @type_check_only class _Settings(TypedDict, total=False): # noqa: Y049 - DATE_ORDER: Literal["DMY", "DYM", "MDY", "MYD", "YDM", "YMD"] + DATE_ORDER: str PREFER_LOCALE_DATE_ORDER: bool TIMEZONE: str TO_TIMEZONE: str @@ -22,7 +22,6 @@ class _Settings(TypedDict, total=False): # noqa: Y049 RELATIVE_BASE: datetime.datetime STRICT_PARSING: bool REQUIRE_PARTS: list[Literal["day", "month", "year"]] - IGNORE_SURROUNDING_TEXT: bool SKIP_TOKENS: list[str] NORMALIZE: bool RETURN_TIME_AS_PERIOD: bool diff --git a/stubs/dateparser/dateparser/conf.pyi b/stubs/dateparser/dateparser/conf.pyi index ad80b028637e..d2fafefb1cdb 100644 --- a/stubs/dateparser/dateparser/conf.pyi +++ b/stubs/dateparser/dateparser/conf.pyi @@ -9,7 +9,7 @@ _R = TypeVar("_R") class Settings: # Next attributes are optional and may be missing. # Please keep in sync with _Settings TypedDict - DATE_ORDER: Literal["DMY", "DYM", "MDY", "MYD", "YDM", "YMD"] + DATE_ORDER: str PREFER_LOCALE_DATE_ORDER: bool TIMEZONE: str TO_TIMEZONE: str @@ -20,7 +20,6 @@ class Settings: RELATIVE_BASE: datetime.datetime STRICT_PARSING: bool REQUIRE_PARTS: list[Literal["day", "month", "year"]] - IGNORE_SURROUNDING_TEXT: bool SKIP_TOKENS: list[str] NORMALIZE: bool RETURN_TIME_AS_PERIOD: bool diff --git a/stubs/dateparser/dateparser/date.pyi b/stubs/dateparser/dateparser/date.pyi index 465e738b3806..0b730c9d6899 100644 --- a/stubs/dateparser/dateparser/date.pyi +++ b/stubs/dateparser/dateparser/date.pyi @@ -74,7 +74,6 @@ class _DateLocaleParser: date_string: str, date_formats: list[str] | tuple[str, ...] | AbstractSet[str] | None, settings: Settings | None = None, - ignore_surrounding_text: bool = False, ) -> None: ... @classmethod def parse( @@ -83,7 +82,6 @@ class _DateLocaleParser: date_string: str, date_formats: list[str] | tuple[str, ...] | AbstractSet[str] | None = None, settings: Settings | None = None, - ignore_surrounding_text: bool = False, ) -> DateData: ... def _parse(self) -> DateData | None: ... def _try_timestamp(self) -> DateData: ... @@ -142,7 +140,7 @@ class DateDataParser: def get_date_tuple( self, date_string: str, date_formats: list[str] | tuple[str, ...] | AbstractSet[str] | None = None ) -> _DateData: ... - def _get_applicable_locales(self, date_string: str, ignore_surrounding_text: bool = False) -> Iterator[Locale]: ... - def _is_applicable_locale(self, locale: Locale, date_string: str, ignore_surrounding_text: bool = False) -> bool: ... + def _get_applicable_locales(self, date_string: str) -> Iterator[Locale]: ... + def _is_applicable_locale(self, locale: Locale, date_string: str) -> bool: ... @classmethod def _get_locale_loader(cls: type[DateDataParser]) -> LocaleDataLoader: ... diff --git a/stubs/dateparser/dateparser/date_parser.pyi b/stubs/dateparser/dateparser/date_parser.pyi index 0c9a24d02f62..73a70cc9b735 100644 --- a/stubs/dateparser/dateparser/date_parser.pyi +++ b/stubs/dateparser/dateparser/date_parser.pyi @@ -1,6 +1,5 @@ from collections.abc import Callable from datetime import datetime, tzinfo -from typing import Literal from dateparser.conf import Settings @@ -8,11 +7,8 @@ class DateParser: def parse( self, date_string: str, - parse_method: Callable[ - [str, Settings, tzinfo | None, Literal["DMY", "DYM", "MDY", "MYD", "YDM", "YMD"] | None], tuple[datetime, str] - ], + parse_method: Callable[[str, Settings, tzinfo | None], tuple[datetime, str]], settings: Settings | None = None, - date_order: Literal["DMY", "DYM", "MDY", "MYD", "YDM", "YMD"] | None = None, ) -> tuple[datetime, str]: ... date_parser: DateParser diff --git a/stubs/dateparser/dateparser/languages/locale.pyi b/stubs/dateparser/dateparser/languages/locale.pyi index 587414f06bfe..ad6ae9d283d2 100644 --- a/stubs/dateparser/dateparser/languages/locale.pyi +++ b/stubs/dateparser/dateparser/languages/locale.pyi @@ -15,23 +15,11 @@ class Locale: shortname: str info: OrderedDict[str, Incomplete] def __init__(self, shortname: str, language_info: Mapping[Incomplete, Incomplete]) -> None: ... - def is_applicable( - self, - date_string: str, - strip_timezone: bool = False, - settings: Settings | None = None, - ignore_surrounding_text: bool = False, - ) -> bool: ... + def is_applicable(self, date_string: str, strip_timezone: bool = False, settings: Settings | None = None) -> bool: ... def count_applicability(self, text: str, strip_timezone: bool = False, settings: Settings | None = None) -> list[int]: ... @staticmethod def clean_dictionary(dictionary: Mapping[_K, _V], threshold: int = 2) -> Mapping[_K, _V]: ... - def translate( - self, - date_string: str, - keep_formatting: bool = False, - settings: Settings | None = None, - ignore_surrounding_text: bool = False, - ) -> str: ... + def translate(self, date_string: str, keep_formatting: bool = False, settings: Settings | None = None) -> str: ... def translate_search(self, search_string: str, settings: Settings | None = None) -> tuple[list[str], list[str]]: ... def get_wordchars_for_detection(self, settings: Settings) -> set[str]: ... def to_parserinfo(self, base_cls: type = ...): ... diff --git a/stubs/dateparser/dateparser/parser.pyi b/stubs/dateparser/dateparser/parser.pyi index eef0dd768f85..1bede7cd2b9d 100644 --- a/stubs/dateparser/dateparser/parser.pyi +++ b/stubs/dateparser/dateparser/parser.pyi @@ -19,12 +19,12 @@ HOUR_MINUTE_REGEX: Final[re.Pattern[str]] def no_space_parser_eligibile(datestring: str) -> bool: ... def get_unresolved_attrs(parser_object: object) -> tuple[list[_Component], list[_Component]]: ... -date_order_chart: Final[dict[Literal["DMY", "DYM", "MDY", "MYD", "YDM", "YMD"], str]] +date_order_chart: Final[dict[str, str]] @overload -def resolve_date_order(order: Literal["DMY", "DYM", "MDY", "MYD", "YDM", "YMD"], lst: Literal[True]) -> list[_Component]: ... +def resolve_date_order(order: str, lst: Literal[True]) -> list[_Component]: ... @overload -def resolve_date_order(order: Literal["DMY", "DYM", "MDY", "MYD", "YDM", "YMD"], lst: Literal[False] | None = None) -> str: ... +def resolve_date_order(order: str, lst: Literal[False] | None = None) -> str: ... class _time_parser: time_directives: list[str] @@ -37,9 +37,7 @@ class _no_spaces_parser: date_formats: dict[str, list[str]] def __init__(self, *args, **kwargs) -> None: ... @classmethod - def parse( - cls, datestring: str, settings: Settings, date_order: Literal["DMY", "DYM", "MDY", "MYD", "YDM", "YMD"] | None = None - ) -> tuple[datetime.datetime, str]: ... + def parse(cls, datestring: str, settings: Settings) -> tuple[datetime.datetime, str]: ... class _parser: alpha_directives: ClassVar[dict[str, list[str]]] @@ -56,19 +54,10 @@ class _parser: auto_order: list[str] ordered_num_directives: OrderedDict[str, list[str]] - def __init__( - self, - tokens: Iterable[tuple[str, _TokenType]], - settings: Settings, - date_order: Literal["DMY", "DYM", "MDY", "MYD", "YDM", "YMD"] | None = None, - ) -> None: ... + def __init__(self, tokens: Iterable[tuple[str, _TokenType]], settings: Settings) -> None: ... @classmethod def parse( - cls, - datestring: str, - settings: Settings, - tz: datetime.tzinfo | None = None, - date_order: Literal["DMY", "DYM", "MDY", "MYD", "YDM", "YMD"] | None = None, + cls, datestring: str, settings: Settings, tz: datetime.tzinfo | None = None ) -> tuple[datetime.datetime, str | None]: ... class tokenizer: diff --git a/stubs/dateparser/dateparser/search/__init__.pyi b/stubs/dateparser/dateparser/search/__init__.pyi index 4c5d5c6c467d..d6eb3182de64 100644 --- a/stubs/dateparser/dateparser/search/__init__.pyi +++ b/stubs/dateparser/dateparser/search/__init__.pyi @@ -13,7 +13,6 @@ def search_dates( settings: Settings | dict[str, Any] | None, add_detected_language: Literal[True], detect_languages_function: _DetectLanguagesFunction | None = None, - strategy: Literal["split", "ngram"] = "split", ) -> list[tuple[str, datetime, str]] | None: ... @overload def search_dates( @@ -22,5 +21,4 @@ def search_dates( settings: Settings | dict[str, Any] | None = None, add_detected_language: Literal[False] = False, detect_languages_function: _DetectLanguagesFunction | None = None, - strategy: Literal["split", "ngram"] = "split", ) -> list[tuple[str, datetime]] | None: ... diff --git a/stubs/dateparser/dateparser/search/ngram_search.pyi b/stubs/dateparser/dateparser/search/ngram_search.pyi deleted file mode 100644 index 9a22a1c57174..000000000000 --- a/stubs/dateparser/dateparser/search/ngram_search.pyi +++ /dev/null @@ -1,18 +0,0 @@ -import datetime -from _typeshed import Incomplete -from collections.abc import Set as AbstractSet -from logging import Logger - -from dateparser.conf import Settings - -logger: Logger - -class _NgramDateSearch: - max_tokens: int - def __init__(self, max_tokens: int = 7) -> None: ... - def search_parse( - self, - languages: list[str] | tuple[str, ...] | AbstractSet[str] | None, - text: str, - settings: Settings | dict[str, Incomplete] | None, - ) -> list[tuple[str, datetime.datetime]]: ... diff --git a/stubs/dateparser/dateparser/search/search.pyi b/stubs/dateparser/dateparser/search/search.pyi index c7919a0aae4b..5e3c3d37dda2 100644 --- a/stubs/dateparser/dateparser/search/search.pyi +++ b/stubs/dateparser/dateparser/search/search.pyi @@ -3,13 +3,13 @@ import re from _typeshed import Incomplete from collections import OrderedDict from collections.abc import Iterable, Sequence, Set as AbstractSet -from typing import Any, Final, Literal, TypedDict, type_check_only +from typing import Any, Final, TypedDict, type_check_only from dateparser.conf import Settings from dateparser.date import DateData, DateDataParser, _DetectLanguagesFunction from dateparser.languages.loader import LocaleDataLoader from dateparser.languages.locale import Locale -from dateparser.search.ngram_search import _NgramDateSearch +from dateparser.search.text_detection import FullTextLanguageDetector @type_check_only class _SearchDates(TypedDict): @@ -22,8 +22,9 @@ def date_is_relative(translation: str) -> bool: ... class _ExactLanguageSearch: loader: LocaleDataLoader + language: Locale | None def __init__(self, loader: LocaleDataLoader) -> None: ... - def get_current_language(self, shortname: str) -> Locale: ... + def get_current_language(self, shortname: str) -> None: ... def search(self, shortname: str, text: str, settings: Settings | None) -> tuple[list[str], list[str]]: ... @staticmethod def set_relative_base( @@ -56,7 +57,7 @@ class DateSearchWithDetection: loader: LocaleDataLoader available_language_map: OrderedDict[str, Locale] search: _ExactLanguageSearch - ngram_search: _NgramDateSearch + language_detector: FullTextLanguageDetector def __init__(self) -> None: ... def detect_language( self, @@ -71,6 +72,5 @@ class DateSearchWithDetection: languages: list[str] | tuple[str, ...] | AbstractSet[str] | None = None, settings: Settings | dict[str, Any] | None = None, detect_languages_function: _DetectLanguagesFunction | None = None, - strategy: Literal["split", "ngram"] = "split", ) -> _SearchDates: ... def preprocess_text(self, text: str, languages: Iterable[str] | None) -> str: ... diff --git a/stubs/dateparser/dateparser/timezone_parser.pyi b/stubs/dateparser/dateparser/timezone_parser.pyi index e8be25d29462..dbdbf8e73ece 100644 --- a/stubs/dateparser/dateparser/timezone_parser.pyi +++ b/stubs/dateparser/dateparser/timezone_parser.pyi @@ -15,7 +15,6 @@ class StaticTzInfo(tzinfo): def pop_tz_offset_from_string(date_string: str, as_offset: bool = True) -> tuple[str, StaticTzInfo | str | None]: ... def word_is_tz(word: str) -> bool: ... -def is_timezone_token(token: str) -> bool: ... def convert_to_local_tz(datetime_obj: _DateTimeT, datetime_tz_offset: timedelta) -> _DateTimeT: ... def build_tz_offsets(search_regex_parts: list[str]) -> Generator[tuple[str, dict[str, re.Pattern[str] | timedelta]]]: ... def get_local_tz_offset() -> timedelta: ... diff --git a/stubs/django-filter/django_filters/filters.pyi b/stubs/django-filter/django_filters/filters.pyi index ed728843981f..40707625c9b0 100644 --- a/stubs/django-filter/django_filters/filters.pyi +++ b/stubs/django-filter/django_filters/filters.pyi @@ -1,4 +1,3 @@ -from collections import OrderedDict from collections.abc import Callable, Iterable from typing import Any @@ -304,7 +303,7 @@ class OrderingFilter(BaseCSVFilter, ChoiceFilter): field_name: str | None = None, lookup_expr: str | None = None, *, - fields: dict[str, str] | Iterable[str | tuple[str, str]] = ..., + fields: dict[str, str] | Iterable[str] | Iterable[tuple[str, str]] = ..., field_labels: dict[str, StrOrPromise] = ..., # Inherited from ChoiceFilter null_value: Any = ..., # Null value can be any type (None, empty string, etc.) @@ -318,7 +317,7 @@ class OrderingFilter(BaseCSVFilter, ChoiceFilter): def get_ordering_value(self, param: str) -> str: ... def filter(self, qs: QuerySet[Any], value: Any) -> QuerySet[Any]: ... @classmethod - def normalize_fields(cls, fields: dict[str, str] | Iterable[str | tuple[str, str]]) -> OrderedDict[str, str]: ... + def normalize_fields(cls, fields: Any) -> list[str]: ... def build_choices(self, fields: Any, labels: dict[str, StrOrPromise] | None) -> list[tuple[str, str]]: ... class FilterMethod: diff --git a/stubs/django-import-export/import_export/admin.pyi b/stubs/django-import-export/import_export/admin.pyi index 8480deb8ff67..070dbd26720e 100644 --- a/stubs/django-import-export/import_export/admin.pyi +++ b/stubs/django-import-export/import_export/admin.pyi @@ -105,5 +105,5 @@ class ExportActionMixin(ExportMixin[_ModelT]): def export_admin_action(self, request: HttpRequest, queryset: QuerySet[_ModelT]) -> HttpResponse: ... def get_actions(self, request: HttpRequest) -> dict[str, tuple[Callable[..., str], str, str] | None]: ... -class ExportActionModelAdmin(ExportActionMixin[_ModelT], admin.ModelAdmin[_ModelT]): ... # type: ignore[misc] # pyrefly: ignore[inconsistent-inheritance] +class ExportActionModelAdmin(ExportActionMixin[_ModelT], admin.ModelAdmin[_ModelT]): ... # type: ignore[misc] class ImportExportActionModelAdmin(ImportMixin[_ModelT], ExportActionModelAdmin[_ModelT]): ... # type: ignore[misc] diff --git a/stubs/docker/docker/context/api.pyi b/stubs/docker/docker/context/api.pyi index bf3e591243ca..e825b62e1c2e 100644 --- a/stubs/docker/docker/context/api.pyi +++ b/stubs/docker/docker/context/api.pyi @@ -1,14 +1,9 @@ +from _typeshed import Incomplete from collections.abc import Mapping, Sequence -from typing import TypedDict, type_check_only from docker.context.context import Context from docker.tls import TLSConfig -@type_check_only -class _ContextKwargs(TypedDict, total=False): - base_url: str - tls: TLSConfig - class ContextAPI: DEFAULT_CONTEXT: Context @classmethod @@ -29,8 +24,8 @@ class ContextAPI: def get_current_context(cls) -> Context: ... @classmethod def kwargs_from_context( - cls, name: str | None = None, environment: Mapping[str, str | None] | None = None # TODO: Use SupportsGet - ) -> _ContextKwargs: ... + cls, name: str | None = None, environment: Mapping[str, str | None] | None = None + ) -> dict[str, Incomplete]: ... # TODO: Use TypedDict, use SupportsGet @classmethod def set_current_context(cls, name: str = "default") -> None: ... @classmethod diff --git a/stubs/docker/docker/models/containers.pyi b/stubs/docker/docker/models/containers.pyi index f6cb0353801d..2a89fa402d89 100644 --- a/stubs/docker/docker/models/containers.pyi +++ b/stubs/docker/docker/models/containers.pyi @@ -22,7 +22,7 @@ class Container(Model): @property def image(self) -> Image | None: ... @property - def labels(self) -> dict[str, str]: ... + def labels(self): ... @property def status(self) -> str: ... @property diff --git a/stubs/docker/docker/models/nodes.pyi b/stubs/docker/docker/models/nodes.pyi index ecf780c29378..e738c9f33bd0 100644 --- a/stubs/docker/docker/models/nodes.pyi +++ b/stubs/docker/docker/models/nodes.pyi @@ -1,17 +1,17 @@ from builtins import list as _list -from typing import Any, Literal +from typing import Any from .resource import Collection, Model class Node(Model): id_attribute: str @property - def version(self) -> int: ... - def update(self, node_spec) -> Literal[True]: ... - def remove(self, force: bool = False) -> Literal[True]: ... + def version(self): ... + def update(self, node_spec): ... + def remove(self, force: bool = False): ... class NodeCollection(Collection[Node]): model: type[Node] - def get(self, node_id) -> Node: ... + def get(self, node_id): ... # Please keep in sync with docker.api.swarm.SwarmApiMixin.nodes def list(self, filters: dict[str, Any] | None = None) -> _list[Node]: ... # Any: filter values + Node response diff --git a/stubs/docker/docker/models/secrets.pyi b/stubs/docker/docker/models/secrets.pyi index 0e5137542eb1..b511220b6cdd 100644 --- a/stubs/docker/docker/models/secrets.pyi +++ b/stubs/docker/docker/models/secrets.pyi @@ -8,15 +8,15 @@ from .resource import Collection, Model class Secret(Model): id_attribute: str @property - def name(self) -> str: ... - def remove(self) -> bool: ... + def name(self): ... + def remove(self): ... class SecretCollection(Collection[Secret]): model: type[Secret] # Please keep in sync with docker.api.secret.SecretApiMixin.create_secret def create( # type: ignore[override] self, *, name: str, data: bytes, labels: dict[str, Incomplete] | None = None, driver: DriverConfig | None = None - ) -> Secret: ... - def get(self, secret_id: str) -> Secret: ... + ): ... + def get(self, secret_id: str): ... # Please keep in sync with docker.api.secret.SecretApiMixin.secrets def list(self, *, filters: dict[str, Incomplete] | None = None) -> _list[Secret]: ... diff --git a/stubs/docutils/@tests/stubtest_allowlist.txt b/stubs/docutils/@tests/stubtest_allowlist.txt index e210c1e10470..25b1f04867fd 100644 --- a/stubs/docutils/@tests/stubtest_allowlist.txt +++ b/stubs/docutils/@tests/stubtest_allowlist.txt @@ -14,7 +14,6 @@ docutils.transforms.Transform.apply # method apply is not implemented docutils.transforms.Transform.__getattr__ docutils.TransformSpec.unknown_reference_resolvers docutils.writers.latex2e.PreambleCmds... contents -docutils.writers.latex2e.PreambleCmds.inline role \w+ # attribute names with spaces, set with setattr() from docutils.sty # Files that don't exist at runtime of stubtests, raises ImportError: docutils.parsers.commonmark_wrapper diff --git a/stubs/docutils/METADATA.toml b/stubs/docutils/METADATA.toml index f48cf6eedcb7..3d0d77995d83 100644 --- a/stubs/docutils/METADATA.toml +++ b/stubs/docutils/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.23" +version = "0.22.3" upstream-repository = "https://sourceforge.net/p/docutils/code" diff --git a/stubs/docutils/docutils/core.pyi b/stubs/docutils/docutils/core.pyi index 96a3fe1ee316..3532dd0d86d6 100644 --- a/stubs/docutils/docutils/core.pyi +++ b/stubs/docutils/docutils/core.pyi @@ -2,8 +2,8 @@ from _typeshed import Incomplete, StrPath from typing import Final from typing_extensions import deprecated -from docutils import SettingsSpec, nodes -from docutils.io import Input, Output +from docutils import SettingsSpec +from docutils.io import FileInput, Input, Output from docutils.parsers import Parser from docutils.readers import Reader from docutils.utils import SystemMessage @@ -12,14 +12,14 @@ from docutils.writers import Writer, _WriterParts __docformat__: Final = "reStructuredText" class Publisher: - document: nodes.document | None + document: Incomplete | None reader: Reader[Incomplete] parser: Parser writer: Writer[Incomplete] source: Input[Incomplete] - source_class: type[Input[Incomplete]] + source_class: Incomplete destination: Output | None - destination_class: type[Output] + destination_class: Incomplete settings: dict[str, Incomplete] def __init__( self, @@ -27,9 +27,9 @@ class Publisher: parser: Parser | None = None, writer: Writer[Incomplete] | None = None, source: Input[Incomplete] | None = None, - source_class: type[Input[Incomplete]] = ..., + source_class=..., destination: Output | None = None, - destination_class: type[Output] = ..., + destination_class=..., settings: dict[str, Incomplete] | None = None, ) -> None: ... def set_reader(self, reader: str, parser: Parser | None = None, parser_name: str | None = None) -> None: ... @@ -129,7 +129,7 @@ def publish_string( def publish_parts( source, source_path: StrPath | None = None, - source_class: type[Input[Incomplete]] = ..., + source_class=..., destination_path: StrPath | None = None, reader=None, reader_name: str | None = None, @@ -146,7 +146,7 @@ def publish_parts( def publish_doctree( source, source_path: StrPath | None = None, - source_class: type[Input[Incomplete]] = ..., + source_class=..., reader=None, reader_name: str | None = None, parser=None, @@ -185,13 +185,13 @@ def publish_cmdline_to_binary( usage: str = "%prog [options] [ []]", description: str = ..., destination=None, - destination_class: type[Output] = ..., + destination_class=..., ): ... def publish_programmatically( - source_class: type[Input[Incomplete]], + source_class: type[FileInput], source, source_path: StrPath | None, - destination_class: type[Output], + destination_class, destination, destination_path: StrPath | None, reader, diff --git a/stubs/docutils/docutils/frontend.pyi b/stubs/docutils/docutils/frontend.pyi index 88aabf86b2e6..1a457f810419 100644 --- a/stubs/docutils/docutils/frontend.pyi +++ b/stubs/docutils/docutils/frontend.pyi @@ -199,4 +199,4 @@ class ConfigParser(RawConfigParser): class ConfigDeprecationWarning(FutureWarning): ... -def get_default_settings(*components: SettingsSpec | type[SettingsSpec]) -> Values: ... +def get_default_settings(*components: SettingsSpec) -> Values: ... diff --git a/stubs/docutils/docutils/io.pyi b/stubs/docutils/docutils/io.pyi index 41cec25e1fd4..34fad7790bb4 100644 --- a/stubs/docutils/docutils/io.pyi +++ b/stubs/docutils/docutils/io.pyi @@ -4,7 +4,6 @@ from _typeshed import ( OpenBinaryModeWriting, OpenTextModeReading, OpenTextModeWriting, - StrPath, SupportsWrite, Unused, ) @@ -50,25 +49,21 @@ class Input(TransformSpec, Generic[_S]): class Output(TransformSpec): component_type: ClassVar[str] default_destination_path: ClassVar[str | None] - encoding: str | None - error_handler: str + encoding: Incomplete + error_handler: Incomplete destination: Incomplete - destination_path: StrPath | None + destination_path: Incomplete def __init__( - self, - destination=None, - destination_path: StrPath | None = None, - encoding: str | None = None, - error_handler: str | None = "strict", + self, destination=None, destination_path=None, encoding: str | None = None, error_handler: str = "strict" ) -> None: ... def write(self, data: str) -> Any: ... # returns bytes or str def encode(self, data: str) -> Any: ... # returns bytes or str class ErrorOutput: - destination: SupportsWrite[str] | SupportsWrite[bytes] | Literal[False] - encoding: str - encoding_errors: str - decoding_errors: str + destination: Incomplete + encoding: Incomplete + encoding_errors: Incomplete + decoding_errors: Incomplete def __init__( self, destination: str | SupportsWrite[str] | SupportsWrite[bytes] | Literal[False] | None = None, @@ -85,9 +80,9 @@ class FileInput(Input[IO[str]]): def __init__( self, source=None, - source_path: StrPath | None = None, + source_path=None, encoding: str | None = "utf-8", - error_handler: str | None = "strict", + error_handler: str = "strict", autoclose: bool = True, mode: OpenTextModeReading | OpenBinaryModeReading = "r", ) -> None: ... @@ -99,19 +94,21 @@ class FileOutput(Output): default_destination_path: ClassVar[str] mode: ClassVar[OpenTextModeWriting | OpenBinaryModeWriting] opened: bool - autoclose: bool + autoclose: Incomplete + destination: Incomplete + destination_path: Incomplete def __init__( self, destination=None, - destination_path: StrPath | None = None, - encoding: str | None = None, - error_handler: str | None = "strict", + destination_path=None, + encoding=None, + error_handler: str = "strict", autoclose: bool = True, - handle_io_errors: None = None, - mode: OpenTextModeWriting | OpenBinaryModeWriting | None = None, + handle_io_errors=None, + mode=None, ) -> None: ... def open(self) -> None: ... - def write(self, data: str | bytes) -> str | bytes: ... + def write(self, data): ... def close(self) -> None: ... @deprecated("The `BinaryFileOutput` is deprecated by `FileOutput` and will be removed in Docutils 0.24.") @@ -119,12 +116,12 @@ class BinaryFileOutput(FileOutput): ... class StringInput(Input[str]): default_source_path: ClassVar[str] - def read(self) -> str: ... + def read(self): ... class StringOutput(Output): default_destination_path: ClassVar[str] destination: str | bytes # only defined after call to write() - def write(self, data: str | bytes) -> str | bytes: ... + def write(self, data): ... class NullInput(Input[Any]): default_source_path: ClassVar[str] diff --git a/stubs/docutils/docutils/nodes.pyi b/stubs/docutils/docutils/nodes.pyi index 56b49e584f2b..d40fbed7cd19 100644 --- a/stubs/docutils/docutils/nodes.pyi +++ b/stubs/docutils/docutils/nodes.pyi @@ -1,6 +1,6 @@ import sys import xml.dom.minidom -from _typeshed import Incomplete, StrPath +from _typeshed import Incomplete from abc import abstractmethod from collections import Counter from collections.abc import Callable, Generator, Iterable, Iterator, Mapping, Sequence @@ -63,12 +63,7 @@ class Node: @overload def findall( - self, - condition: type[_N] | tuple[type[_N], ...], - include_self: bool = True, - descend: bool = True, - siblings: bool = False, - ascend: bool = False, + self, condition: type[_N], include_self: bool = True, descend: bool = True, siblings: bool = False, ascend: bool = False ) -> Generator[_N]: ... @overload def findall( @@ -83,12 +78,7 @@ class Node: @overload @deprecated("The `nodes.Node.traverse()` is deprecated. Use `Node.findall()` instead.") def traverse( - self, - condition: type[_N] | tuple[type[_N], ...], - include_self: bool = True, - descend: bool = True, - siblings: bool = False, - ascend: bool = False, + self, condition: type[_N], include_self: bool = True, descend: bool = True, siblings: bool = False, ascend: bool = False ) -> list[_N]: ... @overload @deprecated("The `nodes.Node.traverse()` is deprecated. Use `Node.findall()` instead.") @@ -103,12 +93,7 @@ class Node: @overload def next_node( - self, - condition: type[_N] | tuple[type[_N], ...], - include_self: bool = False, - descend: bool = True, - siblings: bool = False, - ascend: bool = False, + self, condition: type[_N], include_self: bool = False, descend: bool = True, siblings: bool = False, ascend: bool = False ) -> _N | None: ... @overload def next_node( @@ -324,7 +309,6 @@ class document(Root, Structural, Element): substitution_names: dict[str, str] refnames: dict[str, list[Element]] refids: dict[str, list[Element]] - names: dict[str, Element | None] nameids: dict[str, str] nametypes: dict[str, bool] ids: dict[str, Element] @@ -338,21 +322,17 @@ class document(Root, Structural, Element): citations: list[citation] autofootnote_start: int symbol_footnote_start: int - id_counter: Counter[str] + id_counter: Counter[int] parse_messages: list[system_message] transform_messages: list[system_message] transformer: Transformer - include_log: list[tuple[StrPath, tuple[Incomplete, ...]]] decoration: decoration | None document: Self def __init__(self, settings: Values, reporter: Reporter, *args: Node, **kwargs: Any) -> None: ... def asdom(self, dom: Any | None = None) -> Any: ... def set_id(self, node: Element, msgnode: Element | None = None, suggested_prefix: str = "") -> str: ... - def create_id(self, node: Element, suggested_prefix: str = "") -> str: ... - @deprecated("`nodes.document.set_name_id_map()` will be removed in Docutils 1.0.") def set_name_id_map(self, node: Element, id: str, msgnode: Element | None = None, explicit: bool = False) -> None: ... - def set_duplicate_name(self, node: Element, name: str, msgnode: Element, explicit: bool) -> None: ... - def note_names(self, node: Element, msgnode: Element | None = None, explicit: bool = False) -> None: ... + def set_duplicate_name_id(self, node: Element, id: str, name: str, msgnode: Element, explicit: bool) -> None: ... def has_name(self, name: str) -> bool: ... def note_implicit_target(self, target: Element, msgnode: Element | None = None) -> None: ... def note_explicit_target(self, target: Element, msgnode: Element | None = None) -> None: ... @@ -415,9 +395,7 @@ class footer(Decorative, Element): ... class section(Structural, Element): ... class topic(Structural, Element): ... class sidebar(Structural, Element): ... - -class transition(Structural, Element): - ignored_siblings: ClassVar[tuple[type[Element], ...]] +class transition(Structural, Element): ... # Body Elements # =============== diff --git a/stubs/docutils/docutils/parsers/rst/directives/tables.pyi b/stubs/docutils/docutils/parsers/rst/directives/tables.pyi index 3bc3e4d3b430..56d14a5a6ac6 100644 --- a/stubs/docutils/docutils/parsers/rst/directives/tables.pyi +++ b/stubs/docutils/docutils/parsers/rst/directives/tables.pyi @@ -48,6 +48,9 @@ class CSVTable(Table): quoting: Incomplete def __init__(self) -> None: ... + @staticmethod + @deprecated("Deprecated and not required with Python 3; will be removed in Docutils 0.22.") + def check_requirements() -> None: ... def process_header_option(self): ... def run(self) -> Sequence[nodes.table | nodes.system_message]: ... def get_csv_data(self): ... diff --git a/stubs/docutils/docutils/parsers/rst/roles.pyi b/stubs/docutils/docutils/parsers/rst/roles.pyi index 8c91bff07b63..4697d6982e79 100644 --- a/stubs/docutils/docutils/parsers/rst/roles.pyi +++ b/stubs/docutils/docutils/parsers/rst/roles.pyi @@ -102,7 +102,7 @@ def raw_role( content: Sequence[str] | None = None, ) -> tuple[list[Node], list[system_message]]: ... def code_role( - role_name: str, + role: str, rawtext: str, text: str, lineno: int, diff --git a/stubs/docutils/docutils/transforms/misc.pyi b/stubs/docutils/docutils/transforms/misc.pyi index 5fddcda15047..3baa09ca0761 100644 --- a/stubs/docutils/docutils/transforms/misc.pyi +++ b/stubs/docutils/docutils/transforms/misc.pyi @@ -17,4 +17,3 @@ class Transitions(Transform): default_priority: ClassVar[int] def apply(self) -> None: ... def visit_transition(self, node: nodes.transition) -> None: ... - def warn(self, msg: str, node: nodes.Node) -> None: ... diff --git a/stubs/docutils/docutils/transforms/references.pyi b/stubs/docutils/docutils/transforms/references.pyi index 6bb14effc834..3d6d710310ce 100644 --- a/stubs/docutils/docutils/transforms/references.pyi +++ b/stubs/docutils/docutils/transforms/references.pyi @@ -7,10 +7,6 @@ from docutils.transforms import Transform __docformat__: Final = "reStructuredText" -class SectionIDs(Transform): - default_priority: ClassVar[int] - def apply(self) -> None: ... - class PropagateTargets(Transform): default_priority: ClassVar[int] def apply(self) -> None: ... diff --git a/stubs/docutils/docutils/writers/latex2e/__init__.pyi b/stubs/docutils/docutils/writers/latex2e/__init__.pyi index 359019018439..5b75055a0140 100644 --- a/stubs/docutils/docutils/writers/latex2e/__init__.pyi +++ b/stubs/docutils/docutils/writers/latex2e/__init__.pyi @@ -77,7 +77,6 @@ class PreambleCmds: admonition: ClassVar[str] fieldlist: ClassVar[str] footnotes: ClassVar[str] - bracket_footnoterefs: ClassVar[str] inline: ClassVar[str] legend: ClassVar[str] lineblock: ClassVar[str] diff --git a/stubs/flake8-bugbear/@tests/stubtest_allowlist.txt b/stubs/flake8-bugbear/@tests/stubtest_allowlist.txt index 206909ae98a0..ae255e50fb90 100644 --- a/stubs/flake8-bugbear/@tests/stubtest_allowlist.txt +++ b/stubs/flake8-bugbear/@tests/stubtest_allowlist.txt @@ -24,11 +24,6 @@ bugbear.NamedExprFinder.__gt__ bugbear.NamedExprFinder.__le__ bugbear.NamedExprFinder.__lt__ bugbear.NamedExprFinder.__match_args__ -bugbear.B020AttributeFinder.__ge__ -bugbear.B020AttributeFinder.__gt__ -bugbear.B020AttributeFinder.__le__ -bugbear.B020AttributeFinder.__lt__ -bugbear.B020AttributeFinder.__match_args__ # == Python 3.13 bugbear.B040CaughtException.__replace__ bugbear.B041VariableKeyType.__replace__ @@ -36,4 +31,3 @@ bugbear.BugBearChecker.__replace__ bugbear.BugBearVisitor.__replace__ bugbear.NameFinder.__replace__ bugbear.NamedExprFinder.__replace__ -bugbear.B020AttributeFinder.__replace__ diff --git a/stubs/flake8-bugbear/METADATA.toml b/stubs/flake8-bugbear/METADATA.toml index 24784d426395..f8d9fca3d6e9 100644 --- a/stubs/flake8-bugbear/METADATA.toml +++ b/stubs/flake8-bugbear/METADATA.toml @@ -1,2 +1,2 @@ -version = "26.9.9" +version = "25.11.29" upstream-repository = "https://github.com/PyCQA/flake8-bugbear" diff --git a/stubs/flake8-bugbear/bugbear.pyi b/stubs/flake8-bugbear/bugbear.pyi index e10209b6d987..d3aa8e844186 100644 --- a/stubs/flake8-bugbear/bugbear.pyi +++ b/stubs/flake8-bugbear/bugbear.pyi @@ -1,7 +1,9 @@ import argparse import ast import sys +from _typeshed import Incomplete from collections.abc import Generator, Iterable, Sequence +from functools import partial from logging import Logger from typing import Any, ClassVar, Final, Literal, NamedTuple, Protocol, overload @@ -9,14 +11,13 @@ __version__: Final[str] LOG: Logger CONTEXTFUL_NODES: Final[tuple[type[ast.AST], ...]] FUNCTION_NODES: Final[tuple[type[ast.AST], ...]] -FUNCTIONS_WITHOUT_SIDE_EFFECTS: Final[tuple[str, ...]] B908_pytest_functions: Final[set[str]] B908_unittest_methods: Final[set[str]] B902_default_decorators: Final[set[str]] class Context(NamedTuple): node: ast.AST - stack: list[ast.AST] + stack: list[str] class BugBearChecker: name: ClassVar[str] @@ -44,15 +45,16 @@ class BugBearChecker: ) -> None: ... def should_warn(self, code: str) -> bool: ... -def names_from_assignments(assign_target: ast.expr) -> Generator[str]: ... +def names_from_assignments(assign_target: ast.AST) -> Generator[str]: ... def children_in_scope(node: ast.AST) -> Generator[ast.AST]: ... +def walk_list(nodes: Iterable[ast.AST]) -> Generator[ast.AST]: ... class ExceptBaseExceptionVisitor(ast.NodeVisitor): root: ast.ExceptHandler def __init__(self, except_node: ast.ExceptHandler) -> None: ... def re_raised(self) -> bool: ... - def visit_Raise(self, node: ast.Raise) -> None: ... - def visit_ExceptHandler(self, node: ast.ExceptHandler) -> None: ... + def visit_Raise(self, node: ast.Raise) -> Incomplete | None: ... + def visit_ExceptHandler(self, node: ast.ExceptHandler) -> Incomplete | None: ... class B040CaughtException: name: str @@ -94,7 +96,7 @@ class BugBearVisitor(ast.NodeVisitor): ) -> None: ... def add_error(self, code: str, node: AstPositionNode, *vars: object) -> None: ... @property - def node_stack(self) -> list[ast.AST]: ... + def node_stack(self) -> list[Context]: ... def in_class_init(self) -> bool: ... def visit_Return(self, node: ast.Return) -> None: ... def visit_Yield(self, node: ast.Yield) -> None: ... @@ -116,11 +118,10 @@ class BugBearVisitor(ast.NodeVisitor): def visit_AsyncFunctionDef(self, node: ast.AsyncFunctionDef) -> None: ... def visit_FunctionDef(self, node: ast.FunctionDef) -> None: ... def visit_ClassDef(self, node: ast.ClassDef) -> None: ... + def visit_Try(self, node: ast.Try) -> None: ... if sys.version_info >= (3, 11): - def visit_Try(self, node: ast.Try | ast.TryStar) -> None: ... def visit_TryStar(self, node: ast.TryStar) -> None: ... else: - def visit_Try(self, node: ast.Try) -> None: ... def visit_TryStar(self, node: ast.Try) -> None: ... def visit_Compare(self, node: ast.Compare) -> None: ... @@ -157,11 +158,11 @@ class BugBearVisitor(ast.NodeVisitor): def check_for_b031(self, loop_node: ast.For | ast.AsyncFor) -> None: ... def check_for_b035(self, node: ast.DictComp) -> None: ... def check_for_b040_add_note(self, node: ast.Attribute) -> bool: ... - def check_for_b040_usage(self, node: ast.expr | list[ast.expr] | list[ast.keyword] | None) -> None: ... + def check_for_b040_usage(self, node: ast.expr | None) -> None: ... def check_for_b904(self, node: ast.Raise) -> None: ... def walk_function_body( self, node: ast.FunctionDef | ast.AsyncFunctionDef - ) -> Generator[tuple[ast.FunctionDef | ast.AsyncFunctionDef, ast.stmt]]: ... + ) -> tuple[ast.FunctionDef | ast.AsyncFunctionDef, ast.stmt]: ... def check_for_b901(self, node: ast.FunctionDef | ast.AsyncFunctionDef) -> None: ... @overload @@ -173,26 +174,20 @@ class BugBearVisitor(ast.NodeVisitor): def check_for_b902(self, node: ast.FunctionDef | ast.AsyncFunctionDef) -> None: ... def check_for_b903(self, node: ast.ClassDef) -> None: ... - def check_for_b018(self, node: ast.AST) -> None: ... + def check_for_b018(self, node: ast.Expr) -> None: ... def check_for_b021(self, node: ast.AsyncFunctionDef | ast.FunctionDef | ast.ClassDef | ast.Module) -> None: ... def check_for_b022(self, node: ast.With | ast.AsyncWith) -> None: ... def check_for_b908(self, node: ast.With) -> None: ... - if sys.version_info >= (3, 11): - def check_for_b025(self, node: ast.Try | ast.TryStar) -> None: ... - else: - def check_for_b025(self, node: ast.Try) -> None: ... - + def check_for_b025(self, node: ast.Try) -> None: ... def check_for_b905(self, node: ast.Call) -> None: ... def check_for_b912(self, node: ast.Call) -> None: ... - def check_for_b913(self, node: ast.For) -> None: ... def check_for_b906(self, node: ast.FunctionDef) -> None: ... def check_for_b907(self, node: ast.JoinedStr) -> None: ... def check_for_b028(self, node: ast.Call) -> None: ... def check_for_b032(self, node: ast.AnnAssign) -> None: ... - def check_for_b033(self, node: ast.Set) -> None: ... + def check_for_b033(self, node: ast.Set | ast.List | ast.Tuple) -> None: ... def check_for_b034(self, node: ast.Call) -> None: ... def check_for_b042(self, node: ast.ClassDef) -> None: ... - def check_for_b044(self, node: ast.Assert) -> None: ... def check_for_b909(self, node: ast.For) -> None: ... def check_for_b910(self, node: ast.Call) -> None: ... def check_for_b911(self, node: ast.Call) -> None: ... @@ -211,7 +206,7 @@ class B909Checker(ast.NodeVisitor): def visit_Delete(self, node: ast.Delete) -> None: ... def visit_Call(self, node: ast.Call) -> None: ... def visit_If(self, node: ast.If) -> None: ... - def visit(self, node: ast.AST | list[ast.stmt]) -> Any: ... + def visit(self, node: ast.AST | list[ast.AST]) -> Any: ... class NameFinder(ast.NodeVisitor): names: dict[str, list[ast.Name]] @@ -219,14 +214,6 @@ class NameFinder(ast.NodeVisitor): def visit_Name(self, node: ast.Name) -> None: ... def visit(self, node: ast.AST | list[ast.AST]) -> Any: ... -class B913UsageFinder(NameFinder): - def visit_Name(self, node: ast.Name) -> None: ... - def visit_GeneratorExp(self, node: ast.GeneratorExp) -> None: ... - def visit_ListComp(self, node: ast.ListComp) -> None: ... - def visit_SetComp(self, node: ast.SetComp) -> None: ... - def visit_DictComp(self, node: ast.DictComp) -> None: ... - def visit_AugAssign(self, node: ast.AugAssign) -> None: ... - class NamedExprFinder(ast.NodeVisitor): names: dict[str, list[ast.Name]] def __init__(self, names: dict[str, list[ast.Name]] = ...) -> None: ... @@ -235,7 +222,10 @@ class NamedExprFinder(ast.NodeVisitor): class FunctionDefDefaultsVisitor(ast.NodeVisitor): def __init__( - self, error_code_calls: Error, error_code_literals: Error, b008_b039_extend_immutable_calls: set[str] | None = None + self, + error_code_calls: partial[error], + error_code_literals: partial[error], + b008_b039_extend_immutable_calls: set[str] | None = None, ) -> None: ... def visit_mutable_literal_or_comprehension( self, node: ast.List | ast.Dict | ast.Set | ast.ListComp | ast.DictComp | ast.SetComp @@ -251,12 +241,6 @@ class B020NameFinder(NameFinder): def visit_comprehension(self, node: ast.comprehension) -> None: ... def visit_Lambda(self, node: ast.Lambda) -> None: ... -class B020AttributeFinder(B020NameFinder): - paths: set[str] - def __init__(self, names: dict[str, list[ast.Name]] = ..., paths: set[str] = ...) -> None: ... - def visit_Attribute(self, node: ast.Attribute) -> None: ... - def visit_Lambda(self, node: ast.Lambda) -> None: ... - B005_METHODS: Final[set[str]] B006_MUTABLE_LITERALS: Final[tuple[Literal["Dict"], Literal["List"], Literal["Set"]]] B006_MUTABLE_COMPREHENSIONS: Final[tuple[Literal["ListComp"], Literal["DictComp"], Literal["SetComp"]]] diff --git a/stubs/fpdf2/@tests/stubtest_allowlist.txt b/stubs/fpdf2/@tests/stubtest_allowlist.txt new file mode 100644 index 000000000000..549327b0abaa --- /dev/null +++ b/stubs/fpdf2/@tests/stubtest_allowlist.txt @@ -0,0 +1,15 @@ +# Argument has default at runtime, but using it raises a TypeError. +fpdf.fpdf.FPDF.set_creation_date + +# fonttools shims since we can't import it +fpdf._fonttools_shims + +# Only present if harfbuzz is installed +fpdf.fonts.HarfBuzzFont + +# Stubtest wants us to use Literals, but that is unreasonable. +fpdf.unicode_script.UNICODE_RANGE_TO_SCRIPT + +# Ignore stubtest weirdness "fpdf.fonts.Glyph._DT is not present at runtime" +# https://github.com/python/mypy/issues/18811 +fpdf.fonts.Glyph._DT diff --git a/stubs/fpdf2/METADATA.toml b/stubs/fpdf2/METADATA.toml new file mode 100644 index 000000000000..bc7b19c18581 --- /dev/null +++ b/stubs/fpdf2/METADATA.toml @@ -0,0 +1,7 @@ +version = "2.8.4" +upstream-repository = "https://github.com/py-pdf/fpdf2" +dependencies = ["Pillow>=10.3.0"] +obsolete-since = { version = "2.8.6", date = "2026-02-19" } + +[tool.stubtest] +stubtest-dependencies = ["cryptography"] diff --git a/stubs/fpdf2/fpdf/__init__.pyi b/stubs/fpdf2/fpdf/__init__.pyi new file mode 100644 index 000000000000..6151095247d7 --- /dev/null +++ b/stubs/fpdf2/fpdf/__init__.pyi @@ -0,0 +1,36 @@ +from pathlib import Path + +from .enums import Align as Align, TextMode as TextMode, XPos as XPos, YPos as YPos +from .fonts import FontFace as FontFace, TextStyle as TextStyle +from .fpdf import FPDF as FPDF, FPDFException as FPDFException, TitleStyle as TitleStyle +from .html import HTML2FPDF as HTML2FPDF, HTMLMixin as HTMLMixin +from .prefs import ViewerPreferences as ViewerPreferences +from .template import FlexTemplate as FlexTemplate, Template as Template +from .util import get_scale_factor as get_scale_factor + +__license__: str +__version__: str +FPDF_VERSION: str +FPDF_FONT_DIR: Path + +__all__ = [ + "__version__", + "__license__", + "FPDF", + "FPDFException", + "FontFace", + "Align", + "TextMode", + "XPos", + "YPos", + "Template", + "FlexTemplate", + "TitleStyle", + "TextStyle", + "ViewerPreferences", + "HTMLMixin", + "HTML2FPDF", + "FPDF_VERSION", + "FPDF_FONT_DIR", + "get_scale_factor", +] diff --git a/stubs/fpdf2/fpdf/_fonttools_shims.pyi b/stubs/fpdf2/fpdf/_fonttools_shims.pyi new file mode 100644 index 000000000000..761a6ca68b3d --- /dev/null +++ b/stubs/fpdf2/fpdf/_fonttools_shims.pyi @@ -0,0 +1,55 @@ +# from fontTools.misc.loggingTools +from abc import ABCMeta, abstractmethod +from collections.abc import Mapping +from logging import Logger +from typing import Any, Protocol, TypeAlias, type_check_only + +# from fonttools.ttLib.ttGlyphSet +@type_check_only +class _TTGlyph(Protocol): + def __init__(self, glyphSet: _TTGlyphSet, glyphName: str) -> None: ... + def draw(self, pen) -> None: ... + def drawPoints(self, pen) -> None: ... + +_TTGlyphSet: TypeAlias = Mapping[str, _TTGlyph] # Simplified for our needs + +# fonttools.ttLib.TTFont +_TTFont: TypeAlias = Any # noqa: Y047 + +# from fontTools.misc.loggingTools + +class LogMixin: + @property + def log(self) -> Logger: ... + +# from fontTools.pens.basePen +class AbstractPen: + @abstractmethod + def moveTo(self, pt: tuple[float, float]) -> None: ... + @abstractmethod + def lineTo(self, pt: tuple[float, float]) -> None: ... + @abstractmethod + def curveTo(self, *points: tuple[float, float]) -> None: ... + @abstractmethod + def qCurveTo(self, *points: tuple[float, float]) -> None: ... + def closePath(self) -> None: ... + def endPath(self) -> None: ... + @abstractmethod + def addComponent(self, glyphName: str, transformation: tuple[float, float, float, float, float, float]) -> None: ... + +class LoggingPen(LogMixin, AbstractPen, metaclass=ABCMeta): ... + +class DecomposingPen(LoggingPen, metaclass=ABCMeta): + skipMissingComponents: bool + glyphSet: _TTGlyphSet | None + def __init__(self, glyphSet: _TTGlyphSet | None) -> None: ... + def addComponent(self, glyphName: str, transformation: tuple[float, float, float, float, float, float]) -> None: ... + +class BasePen(DecomposingPen): + def __init__(self, glyphSet: _TTGlyphSet | None = ...) -> None: ... + def closePath(self) -> None: ... + def endPath(self) -> None: ... + def moveTo(self, pt: tuple[float, float]) -> None: ... + def lineTo(self, pt: tuple[float, float]) -> None: ... + def curveTo(self, *points: tuple[float, float]) -> None: ... + def qCurveTo(self, *points: tuple[float, float]) -> None: ... diff --git a/stubs/fpdf2/fpdf/actions.pyi b/stubs/fpdf2/fpdf/actions.pyi new file mode 100644 index 000000000000..98c9dc82ba08 --- /dev/null +++ b/stubs/fpdf2/fpdf/actions.pyi @@ -0,0 +1,36 @@ +from _typeshed import Incomplete +from abc import ABC, abstractmethod + +from .syntax import PDFObject + +class Action(ABC): + next: PDFObject | str | None + def __init__(self, next_action: PDFObject | str | None = None) -> None: ... + @abstractmethod + def serialize(self) -> str: ... + +class URIAction(Action): + uri: str + def __init__(self, uri: str, next_action: PDFObject | str | None = None) -> None: ... + def serialize(self) -> str: ... + +class NamedAction(Action): + action_name: str + def __init__(self, action_name: str, next_action: PDFObject | str | None = None) -> None: ... + def serialize(self) -> str: ... + +class GoToAction(Action): + dest: Incomplete + def __init__(self, dest, next_action: PDFObject | str | None = None) -> None: ... + def serialize(self) -> str: ... + +class GoToRemoteAction(Action): + file: str + dest: Incomplete + def __init__(self, file: str, dest, next_action: PDFObject | str | None = None) -> None: ... + def serialize(self) -> str: ... + +class LaunchAction(Action): + file: str + def __init__(self, file: str, next_action: PDFObject | str | None = None) -> None: ... + def serialize(self) -> str: ... diff --git a/stubs/fpdf2/fpdf/annotations.pyi b/stubs/fpdf2/fpdf/annotations.pyi new file mode 100644 index 000000000000..b55b30978dff --- /dev/null +++ b/stubs/fpdf2/fpdf/annotations.pyi @@ -0,0 +1,102 @@ +from _typeshed import Incomplete +from datetime import datetime +from typing import NamedTuple + +from .actions import Action +from .enums import AnnotationFlag, AnnotationName, FileAttachmentAnnotationName +from .syntax import Destination, Name, PDFContentStream, PDFObject + +DEFAULT_ANNOT_FLAGS: tuple[AnnotationFlag, ...] + +class AnnotationMixin: + type: Name + subtype: Name + rect: str + border: str + f_t: Name | None + v: Incomplete | None + f: int # AnnotationFlags bitmask + contents: str | None + a: Action | None + dest: Destination | None + c: str | None + t: str | None + m: str | None + quad_points: str | None + p: Incomplete | None + name: AnnotationName | FileAttachmentAnnotationName | None + ink_list: str | None + f_s: str | None + d_a: str | None + def __init__( + self, + subtype: str, + x: int, + y: int, + width: int, + height: int, + flags: tuple[AnnotationFlag | str, ...] = ..., + contents: str | None = None, + dest: Destination | None = None, + action: Action | None = None, + color: tuple[int, int, int] | None = None, + modification_time: datetime | None = None, + title: str | None = None, + quad_points: tuple[float, ...] | None = None, # multiple of 8 floats + border_width: int = 0, + name: AnnotationName | FileAttachmentAnnotationName | None = None, + ink_list: tuple[int, ...] = (), + file_spec: str | None = None, + field_type: str | None = None, + value=None, + default_appearance: str | None = None, + ) -> None: ... + +class PDFAnnotation(AnnotationMixin, PDFObject): ... + +class AnnotationDict(AnnotationMixin): + __slots__ = ( + "type", + "subtype", + "rect", + "border", + "f_t", + "v", + "f", + "contents", + "a", + "dest", + "c", + "t", + "quad_points", + "p", + "name", + "ink_list", + "f_s", + "d_a", + ) + def serialize(self) -> str: ... + +class PDFEmbeddedFile(PDFContentStream): + type: Name + params: str + def __init__( + self, + basename: str, + contents: bytes, + desc: str = "", + creation_date: datetime | None = None, + modification_date: datetime | None = None, + compress: bool = False, + checksum: bool = False, + ) -> None: ... + def globally_enclosed(self) -> bool: ... + def set_globally_enclosed(self, value: bool) -> None: ... + def basename(self) -> str: ... + def file_spec(self) -> FileSpec: ... + +class FileSpec(NamedTuple): + embedded_file: PDFEmbeddedFile + basename: str + desc: str + def serialize(self) -> str: ... diff --git a/stubs/fpdf2/fpdf/bidi.pyi b/stubs/fpdf2/fpdf/bidi.pyi new file mode 100644 index 000000000000..c748e733f349 --- /dev/null +++ b/stubs/fpdf2/fpdf/bidi.pyi @@ -0,0 +1,68 @@ +from _typeshed import Incomplete +from collections.abc import Sequence +from dataclasses import dataclass +from typing import Final, Literal, TypedDict, type_check_only + +from .enums import TextDirection + +MAX_DEPTH: Final = 125 + +@type_check_only +class _BracketInfo(TypedDict): + pair: str + type: Literal["o", "c"] + +BIDI_BRACKETS: Final[dict[str, _BracketInfo]] + +class BidiCharacter: + __slots__ = ["character_index", "character", "bidi_class", "original_bidi_class", "embedding_level", "direction"] + character_index: int + character: str + bidi_class: str + original_bidi_class: str + embedding_level: str + direction: Incomplete | None + + def __init__(self, character_index: int, character: str, embedding_level: str, debug: bool) -> None: ... + def get_direction_from_level(self) -> Literal["L", "R"]: ... + def set_class(self, cls: str) -> None: ... + +@dataclass +class DirectionalStatus: + __slots__ = ["embedding_level", "directional_override_status", "directional_isolate_status"] + embedding_level: int # between 0 and MAX_DEPTH + directional_override_status: Literal["N", "L", "R"] + directional_isolate_status: bool + +class IsolatingRun: + __slots__ = ["characters", "previous_direction", "next_direction"] + characters: list[BidiCharacter] + previous_direction: str + next_direction: str + def __init__(self, characters: list[BidiCharacter], sos: str, eos: str) -> None: ... + def resolve_weak_types(self) -> None: ... + def pair_brackets(self) -> list[tuple[int, int]]: ... + def resolve_neutral_types(self) -> None: ... + def resolve_implicit_levels(self) -> None: ... + +def auto_detect_base_direction(string: str, stop_at_pdi: bool = False, debug: bool = False) -> TextDirection: ... +def calculate_isolate_runs(paragraph: Sequence[BidiCharacter]) -> list[IsolatingRun]: ... + +class BidiParagraph: + __slots__ = ("text", "base_direction", "debug", "base_embedding_level", "characters") + text: str + base_direction: TextDirection + debug: bool + base_embedding_level: int + characters: list[BidiCharacter] + + def __init__(self, text: str, base_direction: TextDirection | None = None, debug: bool = False) -> None: ... + def get_characters(self) -> list[BidiCharacter]: ... + def get_characters_with_embedding_level(self) -> list[BidiCharacter]: ... + def get_reordered_characters(self) -> list[BidiCharacter]: ... + def get_all(self) -> tuple[list[BidiCharacter], tuple[BidiCharacter, ...]]: ... + def get_reordered_string(self) -> str: ... + def get_bidi_fragments(self) -> tuple[tuple[str, Literal["L", "R"]], ...]: ... + def get_bidi_characters(self) -> None: ... + def split_bidi_fragments(self) -> tuple[tuple[str, Literal["L", "R"]], ...]: ... + def reorder_resolved_levels(self) -> tuple[BidiCharacter, ...]: ... diff --git a/stubs/fpdf2/fpdf/deprecation.pyi b/stubs/fpdf2/fpdf/deprecation.pyi new file mode 100644 index 000000000000..7766bb38ab4c --- /dev/null +++ b/stubs/fpdf2/fpdf/deprecation.pyi @@ -0,0 +1,12 @@ +from types import ModuleType +from typing import Any +from typing_extensions import Never + +def support_deprecated_txt_arg(fn): ... + +class WarnOnDeprecatedModuleAttributes(ModuleType): + def __call__(self) -> Never: ... + def __getattr__(self, name: str) -> Any: ... + def __setattr__(self, name: str, value: Any) -> None: ... + +def get_stack_level() -> int: ... diff --git a/stubs/fpdf2/fpdf/drawing.pyi b/stubs/fpdf2/fpdf/drawing.pyi new file mode 100644 index 000000000000..20ba4daaf838 --- /dev/null +++ b/stubs/fpdf2/fpdf/drawing.pyi @@ -0,0 +1,502 @@ +import decimal +from _typeshed import Incomplete, SupportsWrite +from collections import OrderedDict +from collections.abc import Callable, Generator, Iterable, Sequence +from contextlib import contextmanager +from re import Pattern +from types import EllipsisType +from typing import Any, ClassVar, Literal, NamedTuple, Protocol, TypeAlias, TypeVar, overload, type_check_only +from typing_extensions import Self + +from .enums import PathPaintRule +from .syntax import Name, Raw + +__pdoc__: dict[str, bool] + +_T = TypeVar("_T") +_CallableT = TypeVar("_CallableT", bound=Callable[..., Any]) + +@type_check_only +class _SupportsSerialize(Protocol): + def serialize(self) -> str: ... + +@type_check_only +class _SupportsEndPoint(Protocol): + @property + def end_point(self) -> Point: ... + +def force_nodocument(item: _CallableT) -> _CallableT: ... +def force_document(item: _CallableT) -> _CallableT: ... + +Number: TypeAlias = int | float | decimal.Decimal +NumberClass: tuple[type, ...] +WHITESPACE: frozenset[str] +EOL_CHARS: frozenset[str] +DELIMITERS: frozenset[str] +STR_ESC: Pattern[str] +STR_ESC_MAP: dict[str, str] +_Primitive: TypeAlias = ( + _SupportsSerialize + | Number + | str + | bytes + | bool + | Raw + | list[_Primitive] + | tuple[_Primitive, ...] + | dict[Name, _Primitive] + | None +) + +class GraphicsStateDictRegistry(OrderedDict[Raw, Name]): + def register_style(self, style: GraphicsStyle) -> Name | None: ... + +def number_to_str(number: Number) -> str: ... +def render_pdf_primitive(primitive: _Primitive) -> Raw: ... + +@type_check_only +class _DeviceRGBBase(NamedTuple): + r: Number + g: Number + b: Number + a: Number | None + +class DeviceRGB(_DeviceRGBBase): + OPERATOR: ClassVar[str] + def __new__(cls, r: Number, g: Number, b: Number, a: Number | None = None) -> Self: ... + @property + def colors(self) -> tuple[Number, Number, Number]: ... + @property + def colors255(self) -> tuple[Number, Number, Number]: ... + def serialize(self) -> str: ... + +@type_check_only +class _DeviceGrayBase(NamedTuple): + g: Number + a: Number | None + +class DeviceGray(_DeviceGrayBase): + OPERATOR: ClassVar[str] + def __new__(cls, g: Number, a: Number | None = None) -> Self: ... + @property + def colors(self) -> tuple[Number, Number, Number]: ... + @property + def colors255(self) -> tuple[Number, Number, Number]: ... + def serialize(self) -> str: ... + +@type_check_only +class _DeviceCMYKBase(NamedTuple): + c: Number + m: Number + y: Number + k: Number + a: Number | None + +class DeviceCMYK(_DeviceCMYKBase): + OPERATOR: ClassVar[str] + def __new__(cls, c: Number, m: Number, y: Number, k: Number, a: Number | None = None) -> Self: ... + @property + def colors(self) -> tuple[Number, Number, Number, Number]: ... + def serialize(self) -> str: ... + +def rgb8(r: Number, g: Number, b: Number, a: Number | None = None) -> DeviceRGB: ... +def gray8(g: Number, a: Number | None = None) -> DeviceGray: ... + +@overload +def convert_to_device_color(r: DeviceCMYK) -> DeviceCMYK: ... +@overload +def convert_to_device_color(r: DeviceGray) -> DeviceGray: ... +@overload +def convert_to_device_color(r: DeviceRGB) -> DeviceRGB: ... +@overload +def convert_to_device_color(r: str) -> DeviceRGB: ... +@overload +def convert_to_device_color(r: int, g: Literal[-1] = -1, b: Literal[-1] = -1) -> DeviceGray: ... +@overload +def convert_to_device_color(r: Sequence[int] | int, g: int, b: int) -> DeviceGray | DeviceRGB: ... + +def cmyk8(c, m, y, k, a=None) -> DeviceCMYK: ... +def color_from_hex_string(hexstr: str) -> DeviceRGB: ... +def color_from_rgb_string(rgbstr: str) -> DeviceRGB: ... + +class Point(NamedTuple): + x: Number + y: Number + def render(self) -> str: ... + def dot(self, other: Point) -> Number: ... + def angle(self, other: Point) -> float: ... + def mag(self) -> Number: ... + def __add__(self, other: Point) -> Point: ... # type: ignore[override] + def __sub__(self, other: Point) -> Point: ... + def __neg__(self) -> Point: ... + def __mul__(self, other: Number) -> Point: ... # type: ignore[override] + def __rmul__(self, other: Number) -> Point: ... # type: ignore[override] + def __truediv__(self, other: Number) -> Point: ... + def __floordiv__(self, other: Number) -> Point: ... + def __matmul__(self, other: Transform) -> Point: ... + +class Transform(NamedTuple): + a: Number + b: Number + c: Number + d: Number + e: Number + f: Number + @classmethod + def identity(cls) -> Self: ... + @classmethod + def translation(cls, x: Number, y: Number) -> Self: ... + @classmethod + def scaling(cls, x: Number, y: Number | None = None) -> Self: ... + @classmethod + def rotation(cls, theta: Number) -> Self: ... + @classmethod + def rotation_d(cls, theta_d: Number) -> Self: ... + @classmethod + def shearing(cls, x: Number, y: Number | None = None) -> Self: ... + def translate(self, x: Number, y: Number) -> Self: ... + def scale(self, x: Number, y: Number | None = None) -> Self: ... + def rotate(self, theta: Number) -> Self: ... + def rotate_d(self, theta_d: Number) -> Self: ... + def shear(self, x: Number, y: Number | None = None) -> Self: ... + def about(self, x: Number, y: Number) -> Transform: ... + def __mul__(self, other: Number) -> Transform: ... # type: ignore[override] + def __rmul__(self, other: Number) -> Transform: ... # type: ignore[override] + def __matmul__(self, other: Transform) -> Self: ... + def render(self, last_item: _T) -> tuple[str, _T]: ... + +class GraphicsStyle: + INHERIT: ClassVar[EllipsisType] + MERGE_PROPERTIES: ClassVar[tuple[str, ...]] + TRANSPARENCY_KEYS: ClassVar[tuple[Name, ...]] + PDF_STYLE_KEYS: ClassVar[tuple[Name, ...]] + @classmethod + def merge(cls, parent, child) -> Self: ... + def __init__(self) -> None: ... + def __deepcopy__(self, memo) -> Self: ... + + @property + def allow_transparency(self): ... + @allow_transparency.setter + def allow_transparency(self, new): ... + + @property + def paint_rule(self) -> PathPaintRule | EllipsisType: ... + @paint_rule.setter + def paint_rule(self, new: PathPaintRule | str | EllipsisType | None) -> None: ... + + @property + def auto_close(self) -> bool | EllipsisType: ... + @auto_close.setter + def auto_close(self, new: bool | EllipsisType) -> None: ... + + @property + def intersection_rule(self): ... + @intersection_rule.setter + def intersection_rule(self, new) -> None: ... + + @property + def fill_color(self): ... + @fill_color.setter + def fill_color(self, color) -> None: ... + + @property + def fill_opacity(self): ... + @fill_opacity.setter + def fill_opacity(self, new) -> None: ... + + @property + def stroke_color(self): ... + @stroke_color.setter + def stroke_color(self, color: str | DeviceRGB | DeviceGray | DeviceCMYK | EllipsisType | None) -> None: ... + + @property + def stroke_opacity(self): ... + @stroke_opacity.setter + def stroke_opacity(self, new) -> None: ... + + @property + def blend_mode(self): ... + @blend_mode.setter + def blend_mode(self, value) -> None: ... + + @property + def stroke_width(self): ... + @stroke_width.setter + def stroke_width(self, width: Number | EllipsisType | None) -> None: ... + + @property + def stroke_cap_style(self): ... + @stroke_cap_style.setter + def stroke_cap_style(self, value) -> None: ... + + @property + def stroke_join_style(self): ... + @stroke_join_style.setter + def stroke_join_style(self, value) -> None: ... + + @property + def stroke_miter_limit(self): ... + @stroke_miter_limit.setter + def stroke_miter_limit(self, value: Number | EllipsisType) -> None: ... + + @property + def stroke_dash_pattern(self): ... + @stroke_dash_pattern.setter + def stroke_dash_pattern(self, value: Number | Iterable[Number] | EllipsisType | None) -> None: ... + + @property + def stroke_dash_phase(self): ... + @stroke_dash_phase.setter + def stroke_dash_phase(self, value: Number | EllipsisType): ... + + def serialize(self) -> Raw | None: ... + def resolve_paint_rule(self) -> PathPaintRule: ... + +class Move(NamedTuple): + pt: Point + @property + def end_point(self) -> Point: ... + def render( + self, gsd_registry: GraphicsStateDictRegistry, style: GraphicsStyle, last_item: _SupportsEndPoint, initial_point: Point + ) -> tuple[str, Self, Point]: ... + def render_debug( + self, + gsd_registry: GraphicsStateDictRegistry, + style: GraphicsStyle, + last_item: _SupportsEndPoint, + initial_point: Point, + debug_stream: SupportsWrite[str], + pfx: str, + ) -> tuple[str, Self, Point]: ... + +class RelativeMove(NamedTuple): + pt: Point + def render( + self, gsd_registry: GraphicsStateDictRegistry, style: GraphicsStyle, last_item: _SupportsEndPoint, initial_point: Point + ) -> tuple[str, Move, Point]: ... + def render_debug( + self, + gsd_registry: GraphicsStateDictRegistry, + style: GraphicsStyle, + last_item: _SupportsEndPoint, + initial_point: Point, + debug_stream: SupportsWrite[str], + pfx: str, + ) -> tuple[str, Move, Point]: ... + +class Line(NamedTuple): + pt: Point + @property + def end_point(self) -> Point: ... + def render( + self, gsd_registry: GraphicsStateDictRegistry, style: GraphicsStyle, last_item: _SupportsEndPoint, initial_point: Point + ) -> tuple[str, Self, Point]: ... + def render_debug( + self, + gsd_registry: GraphicsStateDictRegistry, + style: GraphicsStyle, + last_item: _SupportsEndPoint, + initial_point: Point, + debug_stream: SupportsWrite[str], + pfx: str, + ) -> tuple[str, Self, Point]: ... + +class RelativeLine(NamedTuple): + pt: Point + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class HorizontalLine(NamedTuple): + x: Number + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class RelativeHorizontalLine(NamedTuple): + x: Number + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class VerticalLine(NamedTuple): + y: Number + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class RelativeVerticalLine(NamedTuple): + y: Number + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class BezierCurve(NamedTuple): + c1: Point + c2: Point + end: Point + @property + def end_point(self) -> Point: ... + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class RelativeBezierCurve(NamedTuple): + c1: Point + c2: Point + end: Point + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class QuadraticBezierCurve(NamedTuple): + ctrl: Point + end: Point + @property + def end_point(self) -> Point: ... + def to_cubic_curve(self, start_point): ... + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class RelativeQuadraticBezierCurve(NamedTuple): + ctrl: Point + end: Point + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class Arc(NamedTuple): + radii: Point + rotation: Number + large: bool + sweep: bool + end: Point + @staticmethod + def subdivde_sweep(sweep_angle: Number) -> Generator[tuple[Point, Point, Point]]: ... + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class RelativeArc(NamedTuple): + radii: Point + rotation: Number + large: bool + sweep: bool + end: Point + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class Rectangle(NamedTuple): + org: Point + size: Point + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class RoundedRectangle(NamedTuple): + org: Point + size: Point + corner_radii: Point + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class Ellipse(NamedTuple): + radii: Point + center: Point + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class ImplicitClose(NamedTuple): + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class Close(NamedTuple): + def render(self, gsd_registry, style, last_item, initial_point): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class DrawingContext: + def __init__(self) -> None: ... + def add_item(self, item, _copy: bool = True) -> None: ... + def render(self, gsd_registry, first_point, scale, height, starting_style): ... + def render_debug(self, gsd_registry, first_point, scale, height, starting_style, debug_stream): ... + +class PaintedPath: + def __init__(self, x: Number = 0, y: Number = 0) -> None: ... + def __deepcopy__(self, memo) -> Self: ... + @property + def style(self) -> GraphicsStyle: ... + + @property + def transform(self): ... + @transform.setter + def transform(self, tf) -> None: ... + + @property + def auto_close(self): ... + @auto_close.setter + def auto_close(self, should) -> None: ... + + @property + def paint_rule(self): ... + @paint_rule.setter + def paint_rule(self, style) -> None: ... + + @property + def clipping_path(self): ... + @clipping_path.setter + def clipping_path(self, new_clipath) -> None: ... + + @contextmanager + def transform_group(self, transform) -> Generator[Self]: ... + def add_path_element(self, item, _copy: bool = True) -> None: ... + def remove_last_path_element(self) -> None: ... + def rectangle(self, x: Number, y: Number, w: Number, h: Number, rx: Number = 0, ry: Number = 0) -> Self: ... + def circle(self, cx: Number, cy: Number, r: Number) -> Self: ... + def ellipse(self, cx: Number, cy: Number, rx: Number, ry: Number) -> Self: ... + def move_to(self, x: Number, y: Number) -> Self: ... + def move_relative(self, x: Number, y: Number) -> Self: ... + def line_to(self, x: Number, y: Number) -> Self: ... + def line_relative(self, dx: Number, dy: Number) -> Self: ... + def horizontal_line_to(self, x: Number) -> Self: ... + def horizontal_line_relative(self, dx: Number) -> Self: ... + def vertical_line_to(self, y: Number) -> Self: ... + def vertical_line_relative(self, dy: Number) -> Self: ... + def curve_to(self, x1: Number, y1: Number, x2: Number, y2: Number, x3: Number, y3: Number) -> Self: ... + def curve_relative(self, dx1: Number, dy1: Number, dx2: Number, dy2: Number, dx3: Number, dy3: Number) -> Self: ... + def quadratic_curve_to(self, x1: Number, y1: Number, x2: Number, y2: Number) -> Self: ... + def quadratic_curve_relative(self, dx1: Number, dy1: Number, dx2: Number, dy2: Number) -> Self: ... + def arc_to( + self, rx: Number, ry: Number, rotation: Number, large_arc: bool, positive_sweep: bool, x: Number, y: Number + ) -> Self: ... + def arc_relative( + self, rx: Number, ry: Number, rotation: Number, large_arc: bool, positive_sweep: bool, dx: Number, dy: Number + ) -> Self: ... + def close(self) -> None: ... + def render(self, gsd_registry, style, last_item, initial_point, debug_stream=None, pfx=None): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class ClippingPath(PaintedPath): + paint_rule: PathPaintRule + def __init__(self, x: Number = 0, y: Number = 0) -> None: ... + def render(self, gsd_registry, style, last_item, initial_point, debug_stream=None, pfx=None): ... + def render_debug(self, gsd_registry, style, last_item, initial_point, debug_stream, pfx): ... + +class GraphicsContext: + style: GraphicsStyle + path_items: list[Incomplete] + def __init__(self) -> None: ... + def __deepcopy__(self, memo) -> Self: ... + + @property + def transform(self) -> Transform | None: ... + @transform.setter + def transform(self, tf) -> None: ... + + @property + def clipping_path(self) -> ClippingPath | None: ... + @clipping_path.setter + def clipping_path(self, new_clipath) -> None: ... + + def add_item(self, item, _copy: bool = True) -> None: ... + def remove_last_item(self) -> None: ... + def merge(self, other_context) -> None: ... + def build_render_list( + self, gsd_registry, style, last_item, initial_point, debug_stream=None, pfx=None, _push_stack: bool = True + ): ... + def render( + self, gsd_registry, style: DrawingContext, last_item, initial_point, debug_stream=None, pfx=None, _push_stack: bool = True + ): ... + def render_debug( + self, gsd_registry, style: DrawingContext, last_item, initial_point, debug_stream, pfx, _push_stack: bool = True + ): ... diff --git a/stubs/fpdf2/fpdf/encryption.pyi b/stubs/fpdf2/fpdf/encryption.pyi new file mode 100644 index 000000000000..6a02f052d0ec --- /dev/null +++ b/stubs/fpdf2/fpdf/encryption.pyi @@ -0,0 +1,111 @@ +from _typeshed import Incomplete, SupportsLenAndGetItem +from collections.abc import Generator, Iterable +from logging import Logger +from typing import ClassVar, Protocol, TypeAlias, TypeVar, overload, type_check_only + +from .enums import AccessPermission, EncryptionMethod +from .fpdf import FPDF +from .syntax import Name, PDFObject + +_Key: TypeAlias = SupportsLenAndGetItem[int] +_T_co = TypeVar("_T_co", covariant=True) + +LOGGER: Logger + +import_error: ImportError | None + +@type_check_only +class _SupportsGetItem(Protocol[_T_co]): + def __getitem__(self, k: int, /) -> _T_co: ... + +class ARC4: + MOD: ClassVar[int] + def KSA(self, key: _Key) -> list[int]: ... + def PRGA(self, S: _SupportsGetItem[int]) -> Generator[int]: ... + def encrypt(self, key: _Key, text: Iterable[int]) -> list[int]: ... + +class CryptFilter: + type: Name + c_f_m: Name + length: int + def __init__(self, mode: str, length: int) -> None: ... + def serialize(self) -> str: ... + +class EncryptionDictionary(PDFObject): + filter: Name + length: int + r: int + o: str + u: str + v: int + p: int + encrypt_metadata: str # not always defined + c_f: str # not always defined + stm_f: Name + str_f: Name + def __init__(self, security_handler: StandardSecurityHandler) -> None: ... + +class StandardSecurityHandler: + DEFAULT_PADDING: ClassVar[bytes] + fpdf: FPDF + access_permission: int + owner_password: str + user_password: str + encryption_method: EncryptionMethod | None + cf: CryptFilter | None + key_length: int + version: int + revision: int + encrypt_metadata: bool + + # The following fields are only defined after a call to generate_passwords(). + file_id: Incomplete + info_id: Incomplete + o: str + k: str + u: str + # The following field is only defined after a call to generate_user_password_rev6(). + ue: Incomplete + # The following field is only defined after a call to generate_owner_password_rev6(). + oe: Incomplete + # The following field is only defined after a call to generate_perms_rev6(). + perms_rev6: Incomplete + + def __init__( + self, + fpdf: FPDF, + owner_password: str, + user_password: str | None = None, + permission: AccessPermission = ..., + encryption_method: EncryptionMethod = ..., + encrypt_metadata: bool = False, + ) -> None: ... + def generate_passwords(self, file_id: str) -> None: ... + def get_encryption_obj(self) -> EncryptionDictionary: ... + + @overload + def encrypt(self, text: bytes | bytearray, obj_id: int) -> bytes: ... + @overload + def encrypt(self, text: str, obj_id: int) -> str: ... + + def encrypt_string(self, string: str, obj_id: int) -> str: ... + def encrypt_stream(self, stream: bytes | bytearray, obj_id: int) -> bytes: ... + def is_aes_algorithm(self) -> bool: ... + def encrypt_bytes(self, data: bytes | bytearray, obj_id: int) -> list[int]: ... + def encrypt_AES_cryptography(self, key: bytes, data: bytes | bytearray) -> bytes: ... + @classmethod + def get_random_bytes(cls, size: int) -> bytes: ... + @classmethod + def prepare_string(cls, string: str) -> bytes: ... + def padded_password(self, password: str) -> bytearray: ... + def generate_owner_password(self) -> str: ... + def generate_user_password(self) -> str: ... + @classmethod + def compute_hash(cls, input_password: bytes | bytearray, salt: bytes, user_key: bytes | bytearray = ...) -> bytes: ... + def generate_user_password_rev6(self) -> None: ... + def generate_owner_password_rev6(self) -> None: ... + def generate_perms_rev6(self) -> None: ... + def generate_encryption_key(self) -> bytes: ... + +def md5(data: bytes | bytearray) -> bytes: ... +def int32(n: int) -> int: ... diff --git a/stubs/fpdf2/fpdf/enums.pyi b/stubs/fpdf2/fpdf/enums.pyi new file mode 100644 index 000000000000..076d48c0af6b --- /dev/null +++ b/stubs/fpdf2/fpdf/enums.pyi @@ -0,0 +1,421 @@ +from abc import ABC, abstractmethod +from collections.abc import Sequence +from dataclasses import dataclass +from enum import Enum, Flag, IntEnum, IntFlag +from typing import Final, Literal, TypeAlias +from typing_extensions import Self + +from .drawing import DeviceCMYK, DeviceGray, DeviceRGB +from .syntax import Name + +_Color: TypeAlias = str | int | Sequence[int] | DeviceCMYK | DeviceGray | DeviceRGB + +class SignatureFlag(IntEnum): + SIGNATURES_EXIST = 1 + APPEND_ONLY = 2 + +class CoerciveEnum(Enum): # type: ignore[misc] # Enum with no members + @classmethod + def coerce(cls, value: Self | str, case_sensitive: bool = False) -> Self: ... + +class CoerciveIntEnum(IntEnum): # type: ignore[misc] # Enum with no members + @classmethod + def coerce(cls, value: Self | str | int) -> Self: ... + +class CoerciveIntFlag(IntFlag): # type: ignore[misc] # Enum with no members + @classmethod + def coerce(cls, value: Self | str | int) -> Self: ... + +class WrapMode(CoerciveEnum): + WORD = "WORD" + CHAR = "CHAR" + +class CharVPos(CoerciveEnum): + SUP = "SUP" + SUB = "SUB" + NOM = "NOM" + DENOM = "DENOM" + LINE = "LINE" + +class Align(CoerciveEnum): + C = "CENTER" + X = "X_CENTER" + L = "LEFT" + R = "RIGHT" + J = "JUSTIFY" + + @classmethod + def coerce(cls, value: Self | str) -> Self: ... # type: ignore[override] + +_Align: TypeAlias = Align | Literal["CENTER", "X_CENTER", "LEFT", "RIGHT", "JUSTIFY"] # noqa: Y047 + +class VAlign(CoerciveEnum): + M = "MIDDLE" + T = "TOP" + B = "BOTTOM" + + @classmethod + def coerce(cls, value: Self | str) -> Self: ... # type: ignore[override] + +class TextEmphasis(CoerciveIntFlag): + NONE = 0 + B = 1 + I = 2 + U = 4 + S = 8 + + @property + def style(self) -> str: ... + def add(self, value: TextEmphasis) -> TextEmphasis: ... + def remove(self, value: TextEmphasis) -> TextEmphasis: ... + +class MethodReturnValue(CoerciveIntFlag): + PAGE_BREAK = 1 + LINES = 2 + HEIGHT = 4 + +class CellBordersLayout(CoerciveIntFlag): + NONE = 0 + LEFT = 1 + RIGHT = 2 + TOP = 4 + BOTTOM = 8 + ALL = 15 + INHERIT = 16 + +@dataclass +class TableBorderStyle: + thickness: float | None = None + color: int | tuple[int, int, int] | None = None + dash: float | None = None + gap: float = 0.0 + phase: float = 0.0 + + @staticmethod + def from_bool(should_draw: TableBorderStyle | bool | None) -> TableBorderStyle: ... + @property + def dash_dict(self) -> dict[str, float | None]: ... + def changes_stroke(self, pdf) -> bool: ... + def should_render(self) -> bool: ... + def get_change_stroke_commands(self, scale: float) -> list[str]: ... + @staticmethod + def get_line_command(x1: float, y1: float, x2: float, y2: float) -> list[str]: ... + def get_draw_commands(self, pdf, x1: float, y1: float, x2: float, y2: float) -> list[str]: ... + +@dataclass +class TableCellStyle: + left: bool | TableBorderStyle = False + bottom: bool | TableBorderStyle = False + right: bool | TableBorderStyle = False + top: bool | TableBorderStyle = False + + @staticmethod + def get_change_fill_color_command(color: _Color | None) -> list[str]: ... + def get_draw_commands( + self, pdf, x1: float, y1: float, x2: float, y2: float, fill_color: _Color | None = None + ) -> list[str]: ... + def override_cell_border(self, cell_border: CellBordersLayout) -> Self: ... + def draw_cell_border(self, pdf, x1: float, y1: float, x2: float, y2: float, fill_color: _Color | None = None) -> None: ... + +class TableBordersLayout(ABC): + ALL: Final[TableBordersLayoutAll] + NONE: Final[TableBordersLayoutNone] + INTERNAL: Final[TableBordersLayoutInternal] + MINIMAL: Final[TableBordersLayoutMinimal] + HORIZONTAL_LINES: Final[TableBordersLayoutHorizontalLines] + NO_HORIZONTAL_LINES: Final[TableBordersLayoutNoHorizontalLines] + SINGLE_TOP_LINE: Final[TableBordersLayoutSingleTopLine] + @abstractmethod + def cell_style_getter( + self, row_idx: int, col_idx: int, col_pos: int, num_heading_rows: int, num_rows: int, num_col_idx: int, num_col_pos: int + ) -> TableCellStyle: ... + @classmethod + def coerce(cls, value: Self | str) -> Self: ... + +class TableBordersLayoutAll(TableBordersLayout): + def cell_style_getter( + self, row_idx: int, col_idx: int, col_pos: int, num_heading_rows: int, num_rows: int, num_col_idx: int, num_col_pos: int + ) -> TableCellStyle: ... + +class TableBordersLayoutNone(TableBordersLayout): + def cell_style_getter( + self, row_idx: int, col_idx: int, col_pos: int, num_heading_rows: int, num_rows: int, num_col_idx: int, num_col_pos: int + ) -> TableCellStyle: ... + +class TableBordersLayoutInternal(TableBordersLayout): + def cell_style_getter( + self, row_idx: int, col_idx: int, col_pos: int, num_heading_rows: int, num_rows: int, num_col_idx: int, num_col_pos: int + ) -> TableCellStyle: ... + +class TableBordersLayoutMinimal(TableBordersLayout): + def cell_style_getter( + self, row_idx: int, col_idx: int, col_pos: int, num_heading_rows: int, num_rows: int, num_col_idx: int, num_col_pos: int + ) -> TableCellStyle: ... + +class TableBordersLayoutHorizontalLines(TableBordersLayout): + def cell_style_getter( + self, row_idx: int, col_idx: int, col_pos: int, num_heading_rows: int, num_rows: int, num_col_idx: int, num_col_pos: int + ) -> TableCellStyle: ... + +class TableBordersLayoutNoHorizontalLines(TableBordersLayout): + def cell_style_getter( + self, row_idx: int, col_idx: int, col_pos: int, num_heading_rows: int, num_rows: int, num_col_idx: int, num_col_pos: int + ) -> TableCellStyle: ... + +class TableBordersLayoutSingleTopLine(TableBordersLayout): + def cell_style_getter( + self, row_idx: int, col_idx: int, col_pos: int, num_heading_rows: int, num_rows: int, num_col_idx: int, num_col_pos: int + ) -> TableCellStyle: ... + +class TableCellFillMode(CoerciveEnum): + NONE = "NONE" + ALL = "ALL" + ROWS = "ROWS" + COLUMNS = "COLUMNS" + EVEN_ROWS = "EVEN_ROWS" + EVEN_COLUMNS = "EVEN_COLUMNS" + + def should_fill_cell(self, i: int, j: int) -> bool: ... + @classmethod + def coerce(cls, value: Self | str) -> Self: ... # type: ignore[override] + +class TableSpan(CoerciveEnum): + ROW = "ROW" + COL = "COL" + +class TableHeadingsDisplay(CoerciveIntEnum): + NONE = 0 + ON_TOP_OF_EVERY_PAGE = 1 + +class RenderStyle(CoerciveEnum): + D = "DRAW" + F = "FILL" + DF = "DRAW_FILL" + @property + def operator(self) -> str: ... + @property + def is_draw(self) -> bool: ... + @property + def is_fill(self) -> bool: ... + @classmethod + def coerce(cls, value: Self | str) -> Self: ... # type: ignore[override] + +class TextMode(CoerciveIntEnum): + FILL = 0 + STROKE = 1 + FILL_STROKE = 2 + INVISIBLE = 3 + FILL_CLIP = 4 + STROKE_CLIP = 5 + FILL_STROKE_CLIP = 6 + CLIP = 7 + +class XPos(CoerciveEnum): + LEFT = "LEFT" + RIGHT = "RIGHT" + START = "START" + END = "END" + WCONT = "WCONT" + CENTER = "CENTER" + LMARGIN = "LMARGIN" + RMARGIN = "RMARGIN" + +class YPos(CoerciveEnum): + TOP = "TOP" + LAST = "LAST" + NEXT = "NEXT" + TMARGIN = "TMARGIN" + BMARGIN = "BMARGIN" + +class Angle(CoerciveIntEnum): + NORTH = 90 + EAST = 0 + SOUTH = 270 + WEST = 180 + NORTHEAST = 45 + SOUTHEAST = 315 + SOUTHWEST = 225 + NORTHWEST = 135 + +class PageLayout(CoerciveEnum): + SINGLE_PAGE = Name("SinglePage") + ONE_COLUMN = Name("OneColumn") + TWO_COLUMN_LEFT = Name("TwoColumnLeft") + TWO_COLUMN_RIGHT = Name("TwoColumnRight") + TWO_PAGE_LEFT = Name("TwoPageLeft") + TWO_PAGE_RIGHT = Name("TwoPageRight") + +class PageMode(CoerciveEnum): + USE_NONE = Name("UseNone") + USE_OUTLINES = Name("UseOutlines") + USE_THUMBS = Name("UseThumbs") + FULL_SCREEN = Name("FullScreen") + USE_OC = Name("UseOC") + USE_ATTACHMENTS = Name("UseAttachments") + +class TextMarkupType(CoerciveEnum): + HIGHLIGHT = Name("Highlight") + UNDERLINE = Name("Underline") + SQUIGGLY = Name("Squiggly") + STRIKE_OUT = Name("StrikeOut") + +class BlendMode(CoerciveEnum): + NORMAL = Name("Normal") + MULTIPLY = Name("Multiply") + SCREEN = Name("Screen") + OVERLAY = Name("Overlay") + DARKEN = Name("Darken") + LIGHTEN = Name("Lighten") + COLOR_DODGE = Name("ColorDodge") + COLOR_BURN = Name("ColorBurn") + HARD_LIGHT = Name("HardLight") + SOFT_LIGHT = Name("SoftLight") + DIFFERENCE = Name("Difference") + EXCLUSION = Name("Exclusion") + HUE = Name("Hue") + SATURATION = Name("Saturation") + COLOR = Name("Color") + LUMINOSITY = Name("Luminosity") + +class AnnotationFlag(CoerciveIntEnum): + INVISIBLE = 1 + HIDDEN = 2 + PRINT = 4 + NO_ZOOM = 8 + NO_ROTATE = 16 + NO_VIEW = 32 + READ_ONLY = 64 + LOCKED = 128 + TOGGLE_NO_VIEW = 256 + LOCKED_CONTENTS = 512 + +class AnnotationName(CoerciveEnum): + NOTE = Name("Note") + COMMENT = Name("Comment") + HELP = Name("Help") + PARAGRAPH = Name("Paragraph") + NEW_PARAGRAPH = Name("NewParagraph") + INSERT = Name("Insert") + +class FileAttachmentAnnotationName(CoerciveEnum): + PUSH_PIN = Name("PushPin") + GRAPH_PUSH_PIN = Name("GraphPushPin") + PAPERCLIP_TAG = Name("PaperclipTag") + +class IntersectionRule(CoerciveEnum): + NONZERO = "nonzero" + EVENODD = "evenodd" + +class PathPaintRule(CoerciveEnum): + STROKE = "S" + FILL_NONZERO = "f" + FILL_EVENODD = "f*" + STROKE_FILL_NONZERO = "B" + STROKE_FILL_EVENODD = "B*" + DONT_PAINT = "n" + AUTO = "auto" + +class ClippingPathIntersectionRule(CoerciveEnum): + NONZERO = "W" + EVENODD = "W*" + +class StrokeCapStyle(CoerciveIntEnum): + BUTT = 0 + ROUND = 1 + SQUARE = 2 + +class StrokeJoinStyle(CoerciveIntEnum): + MITER = 0 + ROUND = 1 + BEVEL = 2 + +class PDFStyleKeys(Enum): + FILL_ALPHA = Name("ca") + BLEND_MODE = Name("BM") + STROKE_ALPHA = Name("CA") + STROKE_ADJUSTMENT = Name("SA") + STROKE_WIDTH = Name("LW") + STROKE_CAP_STYLE = Name("LC") + STROKE_JOIN_STYLE = Name("LJ") + STROKE_MITER_LIMIT = Name("ML") + STROKE_DASH_PATTERN = Name("D") + +class Corner(CoerciveEnum): + TOP_RIGHT = "TOP_RIGHT" + TOP_LEFT = "TOP_LEFT" + BOTTOM_RIGHT = "BOTTOM_RIGHT" + BOTTOM_LEFT = "BOTTOM_LEFT" + +class FontDescriptorFlags(Flag): + FIXED_PITCH = 1 + SYMBOLIC = 4 + ITALIC = 64 + FORCE_BOLD = 262144 + +class AccessPermission(IntFlag): + PRINT_LOW_RES = 4 + MODIFY = 8 + COPY = 16 + ANNOTATION = 32 + FILL_FORMS = 256 + COPY_FOR_ACCESSIBILITY = 512 + ASSEMBLE = 1024 + PRINT_HIGH_RES = 2048 + @classmethod + def all(cls) -> int: ... + @classmethod + def none(cls) -> Literal[0]: ... + +class EncryptionMethod(Enum): + NO_ENCRYPTION = 0 + RC4 = 1 + AES_128 = 2 + AES_256 = 3 + +class TextDirection(CoerciveEnum): + LTR = "LTR" + RTL = "RTL" + TTB = "TTB" + BTT = "BTT" + +class OutputIntentSubType(CoerciveEnum): + PDFX = "GTS_PDFX" + PDFA = "GTS_PDFA1" + ISOPDF = "ISO_PDFE1" + +class PageLabelStyle(CoerciveEnum): + NUMBER = "D" + UPPER_ROMAN = "R" + LOWER_ROMAN = "r" + UPPER_LETTER = "A" + LOWER_LETTER = "a" + NONE = None + +class Duplex(CoerciveEnum): + SIMPLEX = "Simplex" + DUPLEX_FLIP_SHORT_EDGE = "DuplexFlipShortEdge" + DUPLEX_FLIP_LONG_EDGE = "DuplexFlipLongEdge" + +class PageBoundaries(CoerciveEnum): + ART_BOX = "ArtBox" + BLEED_BOX = "BleedBox" + CROP_BOX = "CropBox" + MEDIA_BOX = "MediaBox" + TRIM_BOX = "TrimBox" + +class PageOrientation(CoerciveEnum): + PORTRAIT = "P" + LANDSCAPE = "L" + + @classmethod + def coerce(cls, value: Self | str) -> Self: ... # type: ignore[override] + +class PDFResourceType(Enum): + EXT_G_STATE = "ExtGState" + COLOR_SPACE = "ColorSpace" + PATTERN = "Pattern" + SHADDING = "Shading" + X_OBJECT = "XObject" + FONT = "Font" + PROC_SET = "ProcSet" + PROPERTIES = "Properties" diff --git a/stubs/fpdf2/fpdf/errors.pyi b/stubs/fpdf2/fpdf/errors.pyi new file mode 100644 index 000000000000..a2aff7bb139b --- /dev/null +++ b/stubs/fpdf2/fpdf/errors.pyi @@ -0,0 +1,12 @@ +from typing import Any + +class FPDFException(Exception): ... + +class FPDFPageFormatException(FPDFException): + argument: Any + unknown: Any + one: Any + def __init__(self, argument, unknown: bool = False, one: bool = False) -> None: ... + +class FPDFUnicodeEncodingException(FPDFException): + def __init__(self, text_index, character, font_name) -> None: ... diff --git a/stubs/fpdf2/fpdf/fonts.pyi b/stubs/fpdf2/fpdf/fonts.pyi new file mode 100644 index 000000000000..3b57d67408e8 --- /dev/null +++ b/stubs/fpdf2/fpdf/fonts.pyi @@ -0,0 +1,182 @@ +import dataclasses +from _typeshed import Incomplete, Unused +from collections import defaultdict +from collections.abc import Generator +from dataclasses import dataclass +from logging import Logger +from typing import Final, overload +from typing_extensions import Self, deprecated + +from ._fonttools_shims import _TTFont +from .drawing import DeviceGray, DeviceRGB, Number +from .enums import Align, TextEmphasis +from .syntax import PDFObject + +LOGGER: Logger + +# Only defined if harfbuzz is installed. +class HarfBuzzFont(Incomplete): # derives from uharfbuzz.Font + def __deepcopy__(self, _memo: object) -> Self: ... + +@dataclass +class FontFace: + __slots__ = ("family", "emphasis", "size_pt", "color", "fill_color") + family: str | None + emphasis: TextEmphasis | None + size_pt: int | None + color: DeviceGray | DeviceRGB | None + fill_color: DeviceGray | DeviceRGB | None + + def __init__( + self, + family: str | None = None, + emphasis=None, + size_pt: int | None = None, + color: int | tuple[Number, Number, Number] | DeviceGray | DeviceRGB | None = None, + fill_color: int | tuple[Number, Number, Number] | DeviceGray | DeviceRGB | None = None, + ) -> None: ... + + replace = dataclasses.replace + + @overload + @staticmethod + def combine(default_style: None, override_style: None) -> None: ... # type: ignore[misc] + @overload + @staticmethod + def combine(default_style: FontFace | None, override_style: FontFace | None) -> FontFace: ... + +class TextStyle(FontFace): + t_margin: int + l_margin: int | Align + b_margin: int + def __init__( + self, + font_family: str | None = None, + font_style: str | None = None, + font_size_pt: int | None = None, + color: int | tuple[int, int, int] | None = None, + fill_color: int | tuple[int, int, int] | None = None, + underline: bool = False, + t_margin: int | None = None, + l_margin: int | Align | str | None = None, + b_margin: int | None = None, + ): ... + def replace( # type: ignore[override] + self, + /, + font_family: str | None = None, + emphasis: TextEmphasis | None = None, + font_size_pt: int | None = None, + color: int | tuple[int, int, int] | None = None, + fill_color: int | tuple[int, int, int] | None = None, + t_margin: int | None = None, + l_margin: int | None = None, + b_margin: int | None = None, + ) -> TextStyle: ... + +@deprecated("fpdf.TitleStyle is deprecated since 2.7.10. It has been replaced by fpdf.TextStyle.") +class TitleStyle(TextStyle): ... + +__pdoc__: Final[dict[str, bool]] + +class CoreFont: + __slots__ = ("i", "type", "name", "sp", "ss", "up", "ut", "cw", "fontkey", "emphasis") + i: int + type: str + name: str + up: int + ut: int + sp: int + ss: int + cw: int + fontkey: str + emphasis: TextEmphasis + def __init__(self, fpdf, fontkey: str, style: int) -> None: ... + def get_text_width(self, text: str, font_size_pt: int, _: Unused) -> float: ... + def encode_text(self, text: str) -> str: ... + +class TTFFont: + __slots__ = ( + "i", + "type", + "name", + "desc", + "glyph_ids", + "hbfont", + "sp", + "ss", + "up", + "ut", + "cw", + "ttffile", + "fontkey", + "emphasis", + "scale", + "subset", + "cmap", + "ttfont", + "missing_glyphs", + ) + i: int + type: str + ttffile: Incomplete + fontkey: str + ttfont: _TTFont + scale: float + desc: PDFFontDescriptor + cw: defaultdict[str, int] + cmap: Incomplete + glyph_ids: dict[Incomplete, Incomplete] + missing_glyphs: list[Incomplete] + name: str + up: int + ut: int + sp: int + ss: int + emphasis: TextEmphasis + subset: SubsetMap + hbfont: HarfBuzzFont | None # Not always defined. + def __init__(self, fpdf, font_file_path, fontkey: str, style: int) -> None: ... + def __deepcopy__(self, memo) -> Self: ... + def close(self) -> None: ... + def get_text_width(self, text: str, font_size_pt: int, text_shaping_params): ... + def shaped_text_width(self, text: str, font_size_pt: int, text_shaping_params): ... + def perform_harfbuzz_shaping(self, text: str, font_size_pt: int, text_shaping_params): ... + def encode_text(self, text: str) -> str: ... + def shape_text(self, text: str, font_size_pt: int, text_shaping_params): ... + +class PDFFontDescriptor(PDFObject): + type: Incomplete + ascent: Incomplete + descent: Incomplete + cap_height: Incomplete + flags: Incomplete + font_b_box: Incomplete + italic_angle: Incomplete + stem_v: Incomplete + missing_width: Incomplete + font_name: Incomplete + def __init__(self, ascent, descent, cap_height, flags, font_b_box, italic_angle, stem_v, missing_width) -> None: ... + +@dataclass(order=True) +class Glyph: + __slots__ = ("glyph_id", "unicode", "glyph_name", "glyph_width") + glyph_id: int + unicode: tuple[Incomplete, ...] + glyph_name: str + glyph_width: int + def __hash__(self) -> int: ... + +class SubsetMap: + font: TTFFont + def __init__(self, font: TTFFont) -> None: ... + def __len__(self) -> int: ... + def items(self) -> Generator[Incomplete]: ... + def pick(self, unicode: int): ... + def pick_glyph(self, glyph): ... + def get_glyph(self, glyph=None, unicode=None, glyph_name=None, glyph_width=None) -> Glyph: ... + def get_all_glyph_names(self): ... + +CORE_FONTS: dict[str, str] +COURIER_FONT: dict[str, int] +CORE_FONTS_CHARWIDTHS: dict[str, dict[str, int]] diff --git a/stubs/fpdf2/fpdf/fpdf.pyi b/stubs/fpdf2/fpdf/fpdf.pyi new file mode 100644 index 000000000000..0ba3b314e0ee --- /dev/null +++ b/stubs/fpdf2/fpdf/fpdf.pyi @@ -0,0 +1,723 @@ +import datetime +from _typeshed import Incomplete, StrPath, Unused +from collections.abc import Callable, Generator, Iterable, Sequence +from contextlib import _GeneratorContextManager +from io import BytesIO +from pathlib import PurePath +from re import Pattern +from typing import Any, ClassVar, Final, Literal, NamedTuple, TypeAlias, overload +from typing_extensions import deprecated + +from fpdf import ViewerPreferences +from fpdf.outline import OutlineSection +from PIL import Image + +from .annotations import AnnotationDict, PDFEmbeddedFile +from .drawing import DeviceGray, DeviceRGB, DrawingContext, PaintedPath +from .enums import ( + AccessPermission, + Align, + AnnotationFlag, + AnnotationName, + Corner, + EncryptionMethod, + FileAttachmentAnnotationName, + MethodReturnValue, + OutputIntentSubType, + PageLabelStyle, + PageLayout, + PageMode, + PageOrientation, + PathPaintRule, + RenderStyle, + TableBordersLayout, + TableCellFillMode, + TableHeadingsDisplay, + TextDirection, + TextEmphasis, + TextMarkupType, + TextMode as TextMode, + VAlign, + WrapMode as WrapMode, + XPos as XPos, + YPos as YPos, + _Align, +) +from .errors import FPDFException as FPDFException +from .fonts import CoreFont, FontFace, TextStyle, TitleStyle as TitleStyle, TTFFont +from .graphics_state import GraphicsStateMixin +from .html import HTML2FPDF +from .image_datastructures import ( + ImageCache, + ImageInfo as ImageInfo, + RasterImageInfo as RasterImageInfo, + VectorImageInfo as VectorImageInfo, + _TextAlign, +) +from .output import OutputProducer, PDFICCProfile, PDFPage +from .recorder import FPDFRecorder +from .structure_tree import StructureTreeBuilder +from .syntax import DestinationXYZ +from .table import Table +from .transitions import Transition +from .util import Padding, _Unit + +__all__ = [ + "FPDF", + "XPos", + "YPos", + "get_page_format", + "ImageInfo", + "RasterImageInfo", + "VectorImageInfo", + "TextMode", + "TitleStyle", + "PAGE_FORMATS", +] + +_Orientation: TypeAlias = Literal["", "portrait", "p", "P", "landscape", "l", "L"] +_Format: TypeAlias = Literal["", "a3", "A3", "a4", "A4", "a5", "A5", "letter", "Letter", "legal", "Legal"] +_FontStyle: TypeAlias = Literal["", "B", "I", "BI"] +_FontStyles: TypeAlias = Literal[ + "", + "B", + "I", + "U", + "S", + "BU", + "UB", + "BI", + "IB", + "IU", + "UI", + "BS", + "SB", + "IS", + "SI", + "BIU", + "BUI", + "IBU", + "IUB", + "UBI", + "UIB", + "BIS", + "BSI", + "IBS", + "ISB", + "SBI", + "SIB", +] + +FPDF_VERSION: Final[str] +PAGE_FORMATS: Final[dict[_Format, tuple[float, float]]] + +class ToCPlaceholder(NamedTuple): + render_function: Callable[[FPDF, list[OutlineSection]], object] + start_page: int + y: int + page_orientation: str + pages: int = 1 + reset_page_indices: bool = True + +def get_page_format(format: _Format | tuple[float, float], k: float | None = None) -> tuple[float, float]: ... + +class FPDF(GraphicsStateMixin): + MARKDOWN_BOLD_MARKER: ClassVar[str] + MARKDOWN_ITALICS_MARKER: ClassVar[str] + MARKDOWN_STRIKETHROUGH_MARKER: ClassVar[str] + MARKDOWN_UNDERLINE_MARKER: ClassVar[str] + MARKDOWN_ESCAPE_CHARACTER: ClassVar[str] + MARKDOWN_LINK_REGEX: ClassVar[Pattern[str]] + MARKDOWN_LINK_COLOR: ClassVar[Incomplete | None] + MARKDOWN_LINK_UNDERLINE: ClassVar[bool] + + HTML2FPDF_CLASS: ClassVar[type[HTML2FPDF]] + + page: int + pages: dict[int, PDFPage] + fonts: dict[str, CoreFont | TTFFont] + fonts_used_per_page_number: dict[int, set[int]] + links: dict[int, DestinationXYZ] + embedded_files: list[PDFEmbeddedFile] + image_cache: ImageCache + images_used_per_page_number: dict[int, set[int]] + + in_footer: bool + str_alias_nb_pages: str + + xmp_metadata: str | None + page_duration: int + page_transition: Incomplete | None + allow_images_transparency: bool + oversized_images: Incomplete | None + oversized_images_ratio: float + struct_builder: StructureTreeBuilder + toc_placeholder: ToCPlaceholder | None + in_toc_rendering: bool + title: str | None + section_title_styles: dict[int, TextStyle] + + core_fonts: dict[str, str] + core_fonts_encoding: str + font_aliases: dict[str, str] + k: float + + page_background: Incomplete | None + + dw_pt: float + dh_pt: float + def_orientation: Literal["P", "L"] + x: float + y: float + l_margin: float + t_margin: float + c_margin: float + viewer_preferences: ViewerPreferences | None + compress: bool + pdf_version: str + creation_date: datetime.datetime + + buffer: bytearray | None + + # Set during call to _set_orientation(), called from __init__(). + cur_orientation: PageOrientation + w_pt: float + h_pt: float + w: float + h: float + + def __init__( + self, + orientation: _Orientation = "portrait", + unit: _Unit | float = "mm", + format: _Format | tuple[float, float] = "A4", + font_cache_dir: Literal["DEPRECATED"] = "DEPRECATED", + ) -> None: ... + def set_encryption( + self, + owner_password: str, + user_password: str | None = None, + encryption_method: EncryptionMethod | str = ..., + permissions: AccessPermission = ..., + encrypt_metadata: bool = False, + ) -> None: ... + # args and kwargs are passed to HTML2FPDF_CLASS constructor. + def write_html(self, text: str, *args: Any, **kwargs: Any) -> None: ... + @property + def emphasis(self) -> TextEmphasis: ... + @property + def is_ttf_font(self) -> bool: ... + + @property + def page_mode(self) -> PageMode: ... + @page_mode.setter + def page_mode(self, page_mode: PageMode) -> None: ... + + @property + def output_intents(self): ... + def add_output_intent( + self, + subtype: OutputIntentSubType, + output_condition_identifier: str | None = None, + output_condition: str | None = None, + registry_name: str | None = None, + dest_output_profile: PDFICCProfile | None = None, + info: str | None = None, + ) -> None: ... + @property + def epw(self) -> float: ... + @property + def eph(self) -> float: ... + @property + def pages_count(self) -> int: ... + def set_margin(self, margin: float) -> None: ... + def set_margins(self, left: float, top: float, right: float = -1) -> None: ... + def set_left_margin(self, margin: float) -> None: ... + def set_top_margin(self, margin: float) -> None: ... + r_margin: float + def set_right_margin(self, margin: float) -> None: ... + auto_page_break: bool + b_margin: float + page_break_trigger: float + def set_auto_page_break(self, auto: bool, margin: float = 0) -> None: ... + @property + def default_page_dimensions(self) -> tuple[float, float]: ... + zoom_mode: Literal["fullpage", "fullwidth", "real", "default"] | float + page_layout: PageLayout | None + def set_display_mode( + self, + zoom: Literal["fullpage", "fullwidth", "real", "default"] | float, + layout: Literal["single", "continuous", "two", "default"] = "continuous", + ) -> None: ... + def set_text_shaping( + self, + use_shaping_engine: bool = True, + features: dict[str, bool] | None = None, + direction: Literal["ltr", "rtl"] | TextDirection | None = None, + script: str | None = None, + language: str | None = None, + ) -> None: ... + def set_compression(self, compress: bool) -> None: ... + def set_title(self, title: str) -> None: ... + lang: str + def set_lang(self, lang: str) -> None: ... + subject: str + def set_subject(self, subject: str) -> None: ... + author: str + def set_author(self, author: str) -> None: ... + keywords: str + def set_keywords(self, keywords: str) -> None: ... + creator: str + def set_creator(self, creator: str) -> None: ... + producer: str + def set_producer(self, producer: str) -> None: ... + def set_creation_date(self, date: datetime.datetime) -> None: ... + def set_xmp_metadata(self, xmp_metadata: str) -> None: ... + def set_doc_option(self, opt: str, value: str) -> None: ... + def set_image_filter(self, image_filter: str) -> None: ... + def alias_nb_pages(self, alias: str = "{nb}") -> None: ... + def set_page_label( + self, label_style: PageLabelStyle | str | None = None, label_prefix: str | None = None, label_start: int | None = None + ) -> None: ... + def add_page( + self, + orientation: _Orientation = "", + format: _Format | tuple[float, float] = "", + same: bool = False, + duration: float = 0, + transition: Transition | None = None, + label_style: PageLabelStyle | str | None = None, + label_prefix: str | None = None, + label_start: int | None = None, + ) -> None: ... + def header(self) -> None: ... + def footer(self) -> None: ... + def page_no(self) -> int: ... + def get_page_label(self) -> str: ... + def set_draw_color(self, r: int, g: int = -1, b: int = -1) -> None: ... + def set_fill_color(self, r: int, g: int = -1, b: int = -1) -> None: ... + def set_text_color(self, r: int, g: int = -1, b: int = -1) -> None: ... + def get_string_width(self, s: str, normalized: bool = False, markdown: bool = False) -> float: ... + def set_line_width(self, width: float) -> None: ... + def set_page_background(self, background) -> None: ... + def drawing_context(self, debug_stream=None) -> _GeneratorContextManager[DrawingContext]: ... + def new_path( + self, x: float = 0, y: float = 0, paint_rule: PathPaintRule = ..., debug_stream=None + ) -> _GeneratorContextManager[PaintedPath]: ... + def draw_path(self, path: PaintedPath, debug_stream=None) -> None: ... + def set_dash_pattern(self, dash: float = 0, gap: float = 0, phase: float = 0) -> None: ... + def line(self, x1: float, y1: float, x2: float, y2: float) -> None: ... + def polyline( + self, + point_list: list[tuple[float, float]], + fill: bool = False, + polygon: bool = False, + style: RenderStyle | str | None = None, + ) -> None: ... + def polygon( + self, point_list: list[tuple[float, float]], fill: bool = False, style: RenderStyle | str | None = None + ) -> None: ... + def dashed_line(self, x1, y1, x2, y2, dash_length: int = 1, space_length: int = 1) -> None: ... + def rect( + self, + x: float, + y: float, + w: float, + h: float, + style: RenderStyle | str | None = None, + round_corners: tuple[str, ...] | tuple[Corner, ...] | bool = False, + corner_radius: float = 0, + ) -> None: ... + def ellipse(self, x: float, y: float, w: float, h: float, style: RenderStyle | str | None = None) -> None: ... + def circle(self, x: float, y: float, radius: float, style: RenderStyle | str | None = None) -> None: ... + def regular_polygon( + self, + x: float, + y: float, + numSides: int, + polyWidth: float, + rotateDegrees: float = 0, + style: RenderStyle | str | None = None, + ): ... + def star( + self, + x: float, + y: float, + r_in: float, + r_out: float, + corners: int, + rotate_degrees: float = 0, + style: RenderStyle | str | None = None, + ): ... + def arc( + self, + x: float, + y: float, + a: float, + start_angle: float, + end_angle: float, + b: float | None = None, + inclination: float = 0, + clockwise: bool = False, + start_from_center: bool = False, + end_at_center: bool = False, + style: RenderStyle | str | None = None, + ) -> None: ... + def solid_arc( + self, + x: float, + y: float, + a: float, + start_angle: float, + end_angle: float, + b: float | None = None, + inclination: float = 0, + clockwise: bool = False, + style: RenderStyle | str | None = None, + ) -> None: ... + def bezier( + self, + point_list: Sequence[tuple[int, int]], + closed: bool = False, + style: RenderStyle | Literal["D", "F", "DF", "FD"] | None = None, + ) -> None: ... + def use_pattern(self, shading) -> _GeneratorContextManager[None]: ... + def add_font( + self, + family: str | None = None, + style: _FontStyle = "", + fname: str | PurePath | None = None, + uni: bool | Literal["DEPRECATED"] = "DEPRECATED", + ) -> None: ... + def set_font(self, family: str | None = None, style: _FontStyles | TextEmphasis = "", size: int = 0) -> None: ... + def set_font_size(self, size: float) -> None: ... + def set_char_spacing(self, spacing: float) -> None: ... + def set_stretching(self, stretching: float) -> None: ... + def set_fallback_fonts(self, fallback_fonts: Iterable[str], exact_match: bool = True) -> None: ... + def add_link(self, y: float = 0, x: float = 0, page: int = -1, zoom: float | Literal["null"] = "null") -> int: ... + def set_link(self, link, y: float = 0, x: float = 0, page: int = -1, zoom: float | Literal["null"] = "null") -> None: ... + def link( + self, + x: float, + y: float, + w: float, + h: float, + link: str | int, + alt_text: str | None = None, + *, + border_width: int = 0, + **kwargs, # accepts AnnotationDict arguments + ) -> AnnotationDict: ... + def embed_file( + self, + file_path: StrPath | None = None, + bytes: bytes | None = None, + basename: str | None = None, + modification_date: datetime.datetime | None = None, + *, + creation_date: datetime.datetime | None = ..., + desc: str = ..., + compress: bool = ..., + checksum: bool = ..., + ) -> str: ... + def file_attachment_annotation( + self, + file_path: StrPath, + x: float, + y: float, + w: float = 1, + h: float = 1, + name: FileAttachmentAnnotationName | str | None = None, + flags: Iterable[AnnotationFlag | str] = ..., + *, + bytes: bytes | None = ..., + basename: str | None = ..., + creation_date: datetime.datetime | None = ..., + modification_date: datetime.datetime | None = ..., + desc: str = ..., + compress: bool = ..., + checksum: bool = ..., + ) -> AnnotationDict: ... + def text_annotation( + self, + x: float, + y: float, + text: str, + w: float = 1, + h: float = 1, + name: AnnotationName | str | None = None, + *, + flags: tuple[AnnotationFlag, ...] | tuple[str, ...] = ..., + **kwargs, # accepts AnnotationDict arguments + ) -> AnnotationDict: ... + def free_text_annotation( + self, + text: str, + x: float | None = None, + y: float | None = None, + w: float | None = None, + h: float | None = None, + *, + flags: tuple[AnnotationFlag, ...] | tuple[str, ...] = ..., + **kwargs, # accepts AnnotationDict arguments + ) -> AnnotationDict: ... + def add_action( + self, action, x: float, y: float, w: float, h: float, **kwargs # accepts AnnotationDict arguments + ) -> AnnotationDict: ... + def highlight( + self, + text: str, + type: TextMarkupType | str = "Highlight", + color: tuple[float, float, float] = (1, 1, 0), + modification_time: datetime.datetime | None = None, + *, + title: str | None = None, + **kwargs, # accepts AnnotationDict arguments + ) -> _GeneratorContextManager[None]: ... + add_highlight = highlight + def add_text_markup_annotation( + self, + type: str, + text: str, + quad_points: Sequence[int], + color: tuple[float, float, float] = (1, 1, 0), + modification_time: datetime.datetime | None = None, + page: int | None = None, + *, + title: str | None = None, + **kwargs, # accepts AnnotationDict arguments + ) -> AnnotationDict: ... + def ink_annotation( + self, + coords: Iterable[Incomplete], + text: str = "", + color: Sequence[float] = (1, 1, 0), + border_width: float = 1, + *, + title: str | None = None, + **kwargs, # accepts AnnotationDict arguments + ) -> AnnotationDict: ... + def text(self, x: float, y: float, text: str = "") -> None: ... + def rotate(self, angle: float, x: float | None = None, y: float | None = None) -> None: ... + def rotation(self, angle: float, x: float | None = None, y: float | None = None) -> _GeneratorContextManager[None]: ... + def skew( + self, ax: float = 0, ay: float = 0, x: float | None = None, y: float | None = None + ) -> _GeneratorContextManager[None]: ... + def mirror(self, origin, angle) -> Generator[None]: ... + def local_context( + self, + *, + font_family=None, + font_style=None, + font_size_pt=None, + line_width=None, + draw_color=None, + fill_color=None, + text_color=None, + dash_pattern=None, + font_size=..., # semi-deprecated, prefer font_size_pt + char_vpos=..., + char_spacing=..., + current_font=..., + denom_lift=..., + denom_scale=..., + font_stretching=..., + nom_lift=..., + nom_scale=..., + sub_lift=..., + sub_scale=..., + sup_lift=..., + sup_scale=..., + text_mode=..., + text_shaping=..., + underline=..., + paint_rule=..., + allow_transparency=..., + auto_close=..., + intersection_rule=..., + fill_opacity=..., + stroke_color=..., + stroke_opacity=..., + blend_mode=..., + stroke_width=..., + stroke_cap_style=..., + stroke_join_style=..., + stroke_miter_limit=..., + stroke_dash_pattern=..., + stroke_dash_phase=..., + ) -> _GeneratorContextManager[None]: ... + @property + def accept_page_break(self) -> bool: ... + def cell( + self, + w: float | None = None, + h: float | None = None, + text: str = "", + border: bool | Literal[0, 1] | str = 0, + ln: int | Literal["DEPRECATED"] = "DEPRECATED", + align: str | Align = ..., + fill: bool = False, + link: str | int = "", + center: bool = False, + markdown: bool = False, + new_x: XPos | str = ..., + new_y: YPos | str = ..., + ) -> bool: ... + def get_fallback_font(self, char: str, style: str = "") -> str | None: ... + def will_page_break(self, height: float) -> bool: ... + def multi_cell( + self, + w: float, + h: float | None = None, + text: str = "", + border: bool | Literal[0, 1] | str = 0, + align: str | Align = ..., + fill: bool = False, + split_only: bool = False, + link: str | int = "", + ln: int | Literal["DEPRECATED"] = "DEPRECATED", + max_line_height: float | None = None, + markdown: bool = False, + print_sh: bool = False, + new_x: XPos | str = ..., + new_y: YPos | str = ..., + wrapmode: WrapMode = ..., + dry_run: bool = False, + output: MethodReturnValue | str | int = ..., + center: bool = False, + padding: int = 0, + ): ... + def write( + self, h: float | None = None, text: str = "", link: str | int = "", print_sh: bool = False, wrapmode: WrapMode = ... + ) -> bool: ... + def text_columns( + self, + text: str | None = None, + img: str | None = None, + img_fill_width: bool = False, + ncols: int = 1, + gutter: float = 10, + balance: bool = False, + text_align: str | _TextAlign | tuple[_TextAlign | str, ...] = "LEFT", + line_height: float = 1, + l_margin: float | None = None, + r_margin: float | None = None, + print_sh: bool = False, + wrapmode: WrapMode = ..., + skip_leading_spaces: bool = False, + ): ... + def image( + self, + name: str | Image.Image | BytesIO | StrPath, + x: float | Align | None = None, + y: float | None = None, + w: float = 0, + h: float = 0, + type: str = "", + link: str | int = "", + title: str | None = None, + alt_text: str | None = None, + dims: tuple[float, float] | None = None, + keep_aspect_ratio: bool = False, + ) -> RasterImageInfo | VectorImageInfo: ... + def x_by_align(self, x: _Align, w: int, h: int, img_info: ImageInfo, keep_aspect_ratio: bool) -> int: ... + @deprecated("Deprecated since 2.7.7; use fpdf.image_parsing.preload_image() instead") + def preload_image( + self, name: str | Image.Image | BytesIO, dims: tuple[float, float] | None = None + ) -> tuple[str, Any, ImageInfo]: ... + def ln(self, h: float | None = None) -> None: ... + def get_x(self) -> float: ... + def set_x(self, x: float) -> None: ... + def get_y(self) -> float: ... + def set_y(self, y: float) -> None: ... + def set_xy(self, x: float, y: float) -> None: ... + def normalize_text(self, text: str) -> str: ... + def sign_pkcs12( + self, + pkcs_filepath: str, + password: bytes | None = None, + hashalgo: str = "sha256", + contact_info: str | None = None, + location: str | None = None, + signing_time: datetime.datetime | None = None, + reason: str | None = None, + flags: tuple[AnnotationFlag, ...] = ..., + ) -> None: ... + def sign( + self, + key, + cert, + extra_certs: Sequence[Incomplete] = (), + hashalgo: str = "sha256", + contact_info: str | None = None, + location: str | None = None, + signing_time: datetime.datetime | None = None, + reason: str | None = None, + flags: tuple[AnnotationFlag, ...] = ..., + ) -> None: ... + def file_id(self) -> str: ... + def interleaved2of5(self, text, x: float, y: float, w: float = 1, h: float = 10) -> None: ... + def code39(self, text, x: float, y: float, w: float = 1.5, h: float = 5) -> None: ... + def rect_clip(self, x: float, y: float, w: float, h: float) -> _GeneratorContextManager[None]: ... + def elliptic_clip(self, x: float, y: float, w: float, h: float) -> _GeneratorContextManager[None]: ... + def round_clip(self, x: float, y: float, r: float) -> _GeneratorContextManager[None]: ... + def unbreakable(self) -> _GeneratorContextManager[FPDFRecorder]: ... + def offset_rendering(self) -> _GeneratorContextManager[FPDFRecorder]: ... + def insert_toc_placeholder( + self, + render_toc_function: Callable[[FPDF, list[OutlineSection]], object], + pages: int = 1, + allow_extra_pages: bool = False, + reset_page_indices: bool = True, + ) -> None: ... + def set_section_title_styles( + self, + level0: TextStyle, + level1: TextStyle | None = None, + level2: TextStyle | None = None, + level3: TextStyle | None = None, + level4: TextStyle | None = None, + level5: TextStyle | None = None, + level6: TextStyle | None = None, + ) -> None: ... + def start_section(self, name: str, level: int = 0, strict: bool = True) -> None: ... + def use_text_style(self, text_style: TextStyle) -> _GeneratorContextManager[None]: ... + def use_font_face(self, font_face: FontFace) -> _GeneratorContextManager[None]: ... + def table( + self, + rows: Iterable[Incomplete] = (), + *, + # Keep in sync with `fpdf.table.Table`: + align: str | _TextAlign = "CENTER", + v_align: str | VAlign = "MIDDLE", + borders_layout: str | TableBordersLayout = ..., + cell_fill_color: int | tuple[Incomplete, ...] | DeviceGray | DeviceRGB | None = None, + cell_fill_mode: str | TableCellFillMode = ..., + col_widths: int | tuple[int, ...] | None = None, + first_row_as_headings: bool = True, + gutter_height: float = 0, + gutter_width: float = 0, + headings_style: FontFace = ..., + line_height: int | None = None, + markdown: bool = False, + text_align: str | _TextAlign | tuple[str | _TextAlign, ...] = "JUSTIFY", + width: int | None = None, + wrapmode: WrapMode = ..., + padding: float | Padding | None = None, + outer_border_width: float | None = None, + num_heading_rows: int = 1, + repeat_headings: TableHeadingsDisplay | int = 1, + ) -> _GeneratorContextManager[Table]: ... + + @overload + def output( # type: ignore[overload-overlap] + self, + name: Literal[""] | None = "", + dest: Unused = "", + linearize: bool = False, + output_producer_class: Callable[[FPDF], OutputProducer] = ..., + ) -> bytearray: ... + @overload + def output( + self, name: str, dest: Unused = "", linearize: bool = False, output_producer_class: Callable[[FPDF], OutputProducer] = ... + ) -> None: ... diff --git a/stubs/fpdf2/fpdf/graphics_state.pyi b/stubs/fpdf2/fpdf/graphics_state.pyi new file mode 100644 index 000000000000..39972466774e --- /dev/null +++ b/stubs/fpdf2/fpdf/graphics_state.pyi @@ -0,0 +1,155 @@ +from typing import Any, ClassVar, Final, Literal, TypedDict, type_check_only + +from .drawing import DeviceGray, DeviceRGB +from .enums import TextMode +from .fonts import FontFace + +@type_check_only +class _TextShaping(TypedDict): + use_shaping_engine: bool + features: dict[str, bool] + direction: Literal["ltr", "rtl"] + script: str | None + language: str | None + fragment_direction: Literal["L", "R"] | None + paragraph_direction: Literal["L", "R"] | None + +class GraphicsStateMixin: + DEFAULT_DRAW_COLOR: ClassVar[DeviceGray] + DEFAULT_FILL_COLOR: ClassVar[DeviceGray] + DEFAULT_TEXT_COLOR: ClassVar[DeviceGray] + def __init__(self, *args, **kwargs) -> None: ... + + @property + def draw_color(self) -> DeviceGray | DeviceRGB: ... + @draw_color.setter + def draw_color(self, v: DeviceGray | DeviceRGB) -> None: ... + + @property + def fill_color(self) -> DeviceGray | DeviceRGB: ... + @fill_color.setter + def fill_color(self, v: DeviceGray | DeviceRGB) -> None: ... + + @property + def text_color(self) -> DeviceGray | DeviceRGB: ... + @text_color.setter + def text_color(self, v: DeviceGray | DeviceRGB) -> None: ... + + @property + def underline(self) -> bool: ... + @underline.setter + def underline(self, v: bool) -> None: ... + + @property + def strikethrough(self) -> bool: ... + @strikethrough.setter + def strikethrough(self, v: bool) -> None: ... + + @property + def font_style(self) -> str: ... + @font_style.setter + def font_style(self, v: str) -> None: ... + + @property + def font_stretching(self) -> float: ... + @font_stretching.setter + def font_stretching(self, v: float) -> None: ... + + @property + def char_spacing(self) -> float: ... + @char_spacing.setter + def char_spacing(self, v: float) -> None: ... + + @property + def font_family(self) -> str: ... + @font_family.setter + def font_family(self, v: str) -> None: ... + + @property + def font_size_pt(self) -> float: ... + @font_size_pt.setter + def font_size_pt(self, v: float) -> None: ... + + @property + def font_size(self) -> float: ... + @font_size.setter + def font_size(self, v: float) -> None: ... + + @property + def current_font(self) -> dict[str, Any]: ... + @current_font.setter + def current_font(self, v: dict[str, Any]) -> None: ... + + @property + def current_font_is_set_on_page(self) -> bool: ... + @current_font_is_set_on_page.setter + def current_font_is_set_on_page(self, v: bool) -> None: ... + + @property + def dash_pattern(self) -> dict[str, float]: ... + @dash_pattern.setter + def dash_pattern(self, v: dict[str, float]) -> None: ... + + @property + def line_width(self) -> float: ... + @line_width.setter + def line_width(self, v: float) -> None: ... + + @property + def text_mode(self) -> TextMode: ... + @text_mode.setter + def text_mode(self, v: int | str) -> None: ... + + @property + def char_vpos(self): ... + @char_vpos.setter + def char_vpos(self, v) -> None: ... + + @property + def sub_scale(self): ... + @sub_scale.setter + def sub_scale(self, v) -> None: ... + + @property + def sup_scale(self): ... + @sup_scale.setter + def sup_scale(self, v) -> None: ... + + @property + def nom_scale(self): ... + @nom_scale.setter + def nom_scale(self, v) -> None: ... + + @property + def denom_scale(self): ... + @denom_scale.setter + def denom_scale(self, v) -> None: ... + + @property + def sub_lift(self): ... + @sub_lift.setter + def sub_lift(self, v) -> None: ... + + @property + def sup_lift(self): ... + @sup_lift.setter + def sup_lift(self, v) -> None: ... + + @property + def nom_lift(self): ... + @nom_lift.setter + def nom_lift(self, v) -> None: ... + + @property + def denom_lift(self): ... + @denom_lift.setter + def denom_lift(self, v) -> None: ... + + @property + def text_shaping(self) -> _TextShaping | None: ... + @text_shaping.setter + def text_shaping(self, v: _TextShaping | None) -> None: ... + + def font_face(self) -> FontFace: ... + +__pdoc__: Final[dict[str, bool]] diff --git a/stubs/fpdf2/fpdf/html.pyi b/stubs/fpdf2/fpdf/html.pyi new file mode 100644 index 000000000000..a838697b0d69 --- /dev/null +++ b/stubs/fpdf2/fpdf/html.pyi @@ -0,0 +1,96 @@ +from _typeshed import Incomplete, SupportsKeysAndGetItem +from collections.abc import Callable, Iterable, Mapping +from html.parser import HTMLParser +from logging import Logger +from typing import ClassVar, Final, Literal, TypeAlias + +from fpdf import FPDF + +from .enums import Align, TextEmphasis +from .fonts import FontFace +from .table import Row, Table + +__author__: Final[str] +__copyright__: Final[str] + +_OLType: TypeAlias = Literal["1", "a", "A", "I", "i"] + +LOGGER: Logger +MESSAGE_WAITING_WIN1252: Final = "\x95" +BULLET_UNICODE: Final = "•" +DEGREE_SIGN_WIN1252: Final = "\xb0" +RING_OPERATOR_UNICODE: Final = "∘" +HEADING_TAGS: Final[tuple[str, ...]] +DEFAULT_TAG_STYLES: Final[dict[str, FontFace]] +INLINE_TAGS: Final[tuple[str, ...]] +BLOCK_TAGS: Final[tuple[str, ...]] + +COLOR_DICT: Final[dict[str, str]] + +def color_as_decimal(color: str | None = "#000000") -> tuple[int, int, int] | None: ... +def parse_css_style(style_attr: str) -> dict[str, str]: ... + +class HTML2FPDF(HTMLParser): + HTML_UNCLOSED_TAGS: ClassVar[tuple[str, ...]] + TABLE_LINE_HEIGHT: ClassVar[float] + + pdf: FPDF + image_map: Callable[[str], str] + ul_bullet_char: str + li_prefix_color: tuple[int, int, int] + warn_on_tags_not_matching: bool + + font_family: str + font_size_pt: float + font_emphasis: TextEmphasis + font_color: tuple[int, int, int] + + style_stack: list[FontFace] + h: float + follows_trailing_space: bool + follows_heading: bool + href: str + align: float | Align | None + indent: int + line_height_stack: list[Incomplete] + ol_type: dict[int, _OLType] + bullet: list[Incomplete] + heading_level: Incomplete | None + render_title_tag: bool + table_line_separators: bool + table: Table | None + table_row: Row | None + tr: dict[str, str] | None + td_th: dict[str, str] | None + tag_indents: dict[str, int] + tag_styles: dict[str, FontFace] + + def __init__( + self, + pdf: FPDF, + image_map: Callable[[str], str] | None = None, + li_tag_indent: int | None = None, + dd_tag_indent: int | None = None, + table_line_separators: bool = False, + ul_bullet_char: str = "disc", + li_prefix_color: tuple[int, int, int] = (190, 0, 0), + heading_sizes: SupportsKeysAndGetItem[str, int] | Iterable[tuple[str, int]] | None = None, + pre_code_font: str | None = None, + warn_on_tags_not_matching: bool = True, + tag_indents: dict[str, int] | None = None, + tag_styles: Mapping[str, FontFace] | None = None, + font_family: str = "times", + render_title_tag: bool = False, + ) -> None: ... + def handle_data(self, data) -> None: ... + def handle_starttag(self, tag, attrs) -> None: ... + def handle_endtag(self, tag) -> None: ... + def put_link(self, text) -> None: ... + def render_toc(self, pdf, outline) -> None: ... + def error(self, message: str) -> None: ... + +def ul_prefix(ul_type: str, is_ttf_font: bool | None) -> str: ... +def ol_prefix(ol_type: _OLType, index: int) -> str: ... + +class HTMLMixin: + def __init__(self, *args, **kwargs) -> None: ... diff --git a/stubs/fpdf2/fpdf/image_datastructures.pyi b/stubs/fpdf2/fpdf/image_datastructures.pyi new file mode 100644 index 000000000000..a45a50ee8e7b --- /dev/null +++ b/stubs/fpdf2/fpdf/image_datastructures.pyi @@ -0,0 +1,56 @@ +from _typeshed import Incomplete +from dataclasses import dataclass +from typing import Any, Literal, TypeAlias + +from fpdf.enums import Align + +from .image_parsing import _ImageFilter + +_AlignLiteral: TypeAlias = Literal[ + "", + "CENTER", + "X_CENTER", + "LEFT", + "RIGHT", + "JUSTIFY", + "center", + "x_center", + "left", + "right", + "justify", + "C", + "X", + "L", + "R", + "J", + "c", + "x", + "l", + "r", + "j", +] +_TextAlign: TypeAlias = Align | _AlignLiteral # noqa: Y047 + +class ImageInfo(dict[str, Any]): + @property + def width(self) -> int: ... + @property + def height(self) -> int: ... + @property + def rendered_width(self) -> int: ... + @property + def rendered_height(self) -> int: ... + def scale_inside_box(self, x: float, y: float, w: float, h: float) -> tuple[float, float, float, float]: ... + +class RasterImageInfo(ImageInfo): + def size_in_document_units(self, w: float, h: float, scale=1) -> tuple[float, float]: ... + +class VectorImageInfo(ImageInfo): ... + +@dataclass +class ImageCache: + images: dict[str, dict[Incomplete, Incomplete]] = ... + icc_profiles: dict[bytes, int] = ... + image_filter: _ImageFilter = "AUTO" + + def reset_usages(self) -> None: ... diff --git a/stubs/fpdf2/fpdf/image_parsing.pyi b/stubs/fpdf2/fpdf/image_parsing.pyi new file mode 100644 index 000000000000..0d131c1338b2 --- /dev/null +++ b/stubs/fpdf2/fpdf/image_parsing.pyi @@ -0,0 +1,58 @@ +from collections.abc import Iterable +from dataclasses import dataclass +from io import BytesIO +from logging import Logger +from types import TracebackType +from typing import Any, Final, Literal, TypeAlias + +from PIL import Image + +from .image_datastructures import ImageCache, ImageInfo, VectorImageInfo +from .svg import SVGObject + +_ImageFilter: TypeAlias = Literal["AUTO", "FlateDecode", "DCTDecode", "JPXDecode", "LZWDecode"] + +RESAMPLE: Image.Resampling + +@dataclass +class ImageSettings: + compression_level: int = -1 + +LOGGER: Logger +SUPPORTED_IMAGE_FILTERS: tuple[_ImageFilter, ...] +SETTINGS: ImageSettings + +TIFFBitRevTable: list[int] + +LZW_CLEAR_TABLE_MARKER: Final = 256 +LZW_EOD_MARKER: Final = 257 +LZW_INITIAL_BITS_PER_CODE: Final = 9 +LZW_MAX_BITS_PER_CODE: Final = 12 + +def preload_image( + image_cache: ImageCache, name: str | BytesIO | Image.Image, dims: tuple[float, float] | None = None +) -> tuple[str, BytesIO | Image.Image | None, ImageInfo]: ... +def load_image(filename): ... +def is_iccp_valid(iccp, filename) -> bool: ... +def get_svg_info(filename: str, img: BytesIO, image_cache: ImageCache) -> tuple[str, SVGObject, VectorImageInfo]: ... + +# Returned dict could be typed as a TypedDict. +def get_img_info( + filename, img: BytesIO | Image.Image | None = None, image_filter: _ImageFilter = "AUTO", dims=None +) -> dict[str, Any]: ... + +class temp_attr: + obj: Any + field: str + value: Any + exists: bool # defined after __enter__ is called + def __init__(self, obj: Any, field: str, value: Any) -> None: ... + def __enter__(self) -> None: ... + def __exit__( + self, exctype: type[BaseException] | None, excinst: BaseException | None, exctb: TracebackType | None + ) -> None: ... + +def ccitt_payload_location_from_pil(img: Image.Image) -> tuple[int, int]: ... +def transcode_monochrome(img: Image.Image): ... +def pack_codes_into_bytes(codes: Iterable[int]) -> bytes: ... +def clear_table() -> tuple[dict[bytes, int], int, int, int]: ... diff --git a/stubs/fpdf2/fpdf/line_break.pyi b/stubs/fpdf2/fpdf/line_break.pyi new file mode 100644 index 000000000000..3ba2ee5a57f9 --- /dev/null +++ b/stubs/fpdf2/fpdf/line_break.pyi @@ -0,0 +1,172 @@ +from _typeshed import Incomplete +from collections.abc import Callable, Sequence +from typing import Final, NamedTuple +from uuid import UUID + +from .enums import Align, TextDirection, WrapMode + +SOFT_HYPHEN: Final[str] +HYPHEN: Final[str] +SPACE: Final[str] +BREAKING_SPACE_SYMBOLS: Final[list[str]] +BREAKING_SPACE_SYMBOLS_STR: Final[str] +NBSP: Final[str] +NEWLINE: Final[str] +FORM_FEED: Final[str] + +class Fragment: + characters: list[str] + graphics_state: dict[str, Incomplete] + k: float + url: str | None + def __init__( + self, characters: list[str] | str, graphics_state: dict[str, Incomplete], k: float, link: str | int | None = None + ) -> None: ... + + @property + def font(self): ... + @font.setter + def font(self, v) -> None: ... + + @property + def is_ttf_font(self): ... + @property + def font_style(self): ... + @property + def font_family(self): ... + @property + def font_size_pt(self): ... + @property + def font_size(self): ... + @property + def font_stretching(self): ... + @property + def char_spacing(self): ... + @property + def text_mode(self): ... + @property + def underline(self) -> bool: ... + @property + def strikethrough(self) -> bool: ... + @property + def draw_color(self): ... + @property + def fill_color(self): ... + @property + def text_color(self): ... + @property + def line_width(self): ... + @property + def char_vpos(self): ... + @property + def lift(self): ... + @property + def string(self) -> str: ... + @property + def width(self) -> float: ... + @property + def text_shaping_parameters(self): ... + @property + def paragraph_direction(self) -> TextDirection: ... + @property + def fragment_direction(self) -> TextDirection: ... + def trim(self, index: int) -> None: ... + def __eq__(self, other: Fragment) -> bool: ... # type: ignore[override] + def get_width(self, start: int = 0, end: int | None = None, chars: str | None = None, initial_cs: bool = True) -> float: ... + def has_same_style(self, other: Fragment) -> bool: ... + def get_character_width(self, character: str, print_sh: bool = False, initial_cs: bool = True): ... + def render_pdf_text(self, frag_ws, current_ws, word_spacing, adjust_x, adjust_y, h): ... + def render_pdf_text_ttf(self, frag_ws, word_spacing): ... + def render_with_text_shaping(self, pos_x: float, pos_y: float, h: float, word_spacing: float) -> str: ... + def render_pdf_text_core(self, frag_ws, current_ws): ... + +class TotalPagesSubstitutionFragment(Fragment): + uuid: UUID + def get_placeholder_string(self) -> str: ... + def render_text_substitution(self, replacement_text: str) -> str: ... + +class TextLine(NamedTuple): + fragments: tuple[Fragment, ...] + text_width: float + number_of_spaces: int + align: Align + height: float + max_width: float + trailing_nl: bool = False + trailing_form_feed: bool = False + indent: float = 0 + def get_ordered_fragments(self) -> tuple[Fragment, ...]: ... + +class SpaceHint(NamedTuple): + original_fragment_index: int + original_character_index: int + current_line_fragment_index: int + current_line_character_index: int + line_width: float + number_of_spaces: int + +class HyphenHint(NamedTuple): + original_fragment_index: int + original_character_index: int + current_line_fragment_index: int + current_line_character_index: int + line_width: float + number_of_spaces: int + curchar: str + curchar_width: float + graphics_state: dict[str, Incomplete] + k: float + +class CurrentLine: + max_width: float + print_sh: bool + indent: float + fragments: list[Fragment] + height: int + number_of_spaces: int + space_break_hint: Incomplete + hyphen_break_hint: Incomplete + def __init__(self, max_width: float, print_sh: bool = False, indent: float = 0) -> None: ... + @property + def width(self) -> float: ... + def add_character( + self, + character: str, + character_width: float, + original_fragment: Fragment, + original_fragment_index: int, + original_character_index: int, + height: float, + url: str | None = None, + ) -> None: ... + def trim_trailing_spaces(self) -> None: ... + def manual_break(self, align: Align, trailing_nl: bool = False, trailing_form_feed: bool = False) -> TextLine: ... + def automatic_break_possible(self) -> bool: ... + def automatic_break(self, align: Align) -> tuple[Incomplete, Incomplete, TextLine]: ... + +class MultiLineBreak: + fragments: Sequence[Fragment] + get_width: float + margins: Sequence[float] + align: Align + print_sh: bool + wrapmode: WrapMode + line_height: float + skip_leading_spaces: bool + fragment_index: int + character_index: int + idx_last_forced_break: int | None + first_line_indent: float + def __init__( + self, + fragments: Sequence[Fragment], + max_width: float | Callable[[float], float], + margins: Sequence[float], + align: Align = ..., + print_sh: bool = False, + wrapmode: WrapMode = ..., + line_height: float = 1.0, + skip_leading_spaces: bool = False, + first_line_indent: float = 0, + ) -> None: ... + def get_line(self) -> TextLine: ... diff --git a/stubs/fpdf2/fpdf/linearization.pyi b/stubs/fpdf2/fpdf/linearization.pyi new file mode 100644 index 000000000000..479a6b8d547c --- /dev/null +++ b/stubs/fpdf2/fpdf/linearization.pyi @@ -0,0 +1,54 @@ +from _typeshed import Incomplete +from typing import Final + +from .encryption import StandardSecurityHandler +from .output import ContentWithoutID, OutputProducer +from .syntax import PDFContentStream, PDFObject + +HINT_STREAM_OFFSET_LENGTH_PLACEHOLDER: Final[str] +FIRST_PAGE_END_OFFSET_PLACEHOLDER: Final[str] +MAIN_XREF_1ST_ENTRY_OFFSET_PLACEHOLDER: Final[str] +FILE_LENGTH_PLACEHOLDER: Final[str] + +class PDFLinearization(PDFObject): + linearized: str + n: int + h: str + o: Incomplete | None + e: str + t: str + l: str + def __init__(self, pages_count: int) -> None: ... + +class PDFXrefAndTrailer(ContentWithoutID): + PREV_MAIN_XREF_START_PLACEHOLDER: str + output_builder: Incomplete + count: int + start_obj_id: int + catalog_obj: Incomplete | None + info_obj: Incomplete | None + first_xref: Incomplete | None + main_xref: Incomplete | None + startxref: Incomplete | None + def __init__(self, output_builder) -> None: ... + @property + def is_first_xref(self) -> bool: ... + @property + def is_main_xref(self) -> bool: ... + def serialize(self, _security_handler: StandardSecurityHandler | None = None) -> str: ... + +class PDFHintStream(PDFContentStream): + s: Incomplete | None + t: Incomplete | None + o: Incomplete | None + a: Incomplete | None + e: Incomplete | None + v: Incomplete | None + i: Incomplete | None + c: Incomplete | None + l: Incomplete | None + r: Incomplete | None + b: Incomplete | None + +class LinearizedOutputProducer(OutputProducer): + def bufferize(self) -> bytearray: ... diff --git a/stubs/fpdf2/fpdf/outline.pyi b/stubs/fpdf2/fpdf/outline.pyi new file mode 100644 index 000000000000..4a26d8ee0982 --- /dev/null +++ b/stubs/fpdf2/fpdf/outline.pyi @@ -0,0 +1,61 @@ +from _typeshed import Incomplete +from collections.abc import Generator, Iterable +from dataclasses import dataclass + +from .fonts import TextStyle +from .fpdf import FPDF +from .structure_tree import StructElem +from .syntax import Destination, PDFObject, PDFString + +@dataclass +class OutlineSection: + __slots__ = ("name", "level", "page_number", "dest", "struct_elem") + name: str + level: int + page_number: int + dest: Destination + struct_elem: StructElem | None = None + +class OutlineItemDictionary(PDFObject): + __slots__ = ("_id", "title", "parent", "prev", "next", "first", "last", "count", "dest", "struct_elem") + title: PDFString + parent: Incomplete | None + prev: Incomplete | None + next: Incomplete | None + first: Incomplete | None + last: Incomplete | None + count: int + dest: Destination | None + struct_elem: StructElem | None + def __init__(self, title: str, dest: Destination | None = None, struct_elem: StructElem | None = None) -> None: ... + +class OutlineDictionary(PDFObject): + __slots__ = ("_id", "type", "first", "last", "count") + type: str + first: Incomplete | None + last: Incomplete | None + count: int + def __init__(self) -> None: ... + +def build_outline_objs( + sections: Iterable[Incomplete], +) -> Generator[Incomplete, None, list[OutlineDictionary | OutlineItemDictionary]]: ... + +class TableOfContents: + text_style: TextStyle + use_section_title_styles: bool + level_indent: float + line_spacing: float + ignore_pages_before_toc: bool + + def __init__( + self, + text_style: TextStyle | None = None, + use_section_title_styles: bool = False, + level_indent: float = 7.5, + line_spacing: float = 1.5, + ignore_pages_before_toc: bool = True, + ) -> None: ... + def get_text_style(self, pdf: FPDF, item: OutlineSection) -> TextStyle: ... + def render_toc_item(self, pdf: FPDF, item: OutlineSection) -> None: ... + def render_toc(self, pdf: FPDF, outline: Iterable[OutlineSection]) -> None: ... diff --git a/stubs/fpdf2/fpdf/output.pyi b/stubs/fpdf2/fpdf/output.pyi new file mode 100644 index 000000000000..86c1b56c855e --- /dev/null +++ b/stubs/fpdf2/fpdf/output.pyi @@ -0,0 +1,271 @@ +from _typeshed import Incomplete, Unused +from collections import defaultdict +from logging import Logger +from typing import Final + +from .annotations import AnnotationDict +from .encryption import StandardSecurityHandler +from .enums import OutputIntentSubType, PageLabelStyle, PDFResourceType +from .fpdf import FPDF +from .image_datastructures import RasterImageInfo +from .line_break import TotalPagesSubstitutionFragment +from .syntax import Name, PDFArray, PDFContentStream, PDFObject, PDFString + +LOGGER: Logger +ZOOM_CONFIGS: Final[dict[str, tuple[str, ...]]] + +class ContentWithoutID: + def serialize(self, _security_handler: StandardSecurityHandler | None = None) -> str | None: ... + +class PDFHeader(ContentWithoutID): + pdf_version: str + def __init__(self, pdf_version: str) -> None: ... + def serialize(self, _security_handler: StandardSecurityHandler | None = None) -> str: ... + +class PDFFont(PDFObject): + type: Name + subtype: Name + base_font: Name + encoding: Name | None + d_w: Incomplete | None + w: Incomplete | None + descendant_fonts: Incomplete | None + to_unicode: Incomplete | None + c_i_d_system_info: Incomplete | None + font_descriptor: Incomplete | None + c_i_d_to_g_i_d_map: Incomplete | None + def __init__(self, subtype: str, base_font: str, encoding: str | None = None, d_w=None, w=None) -> None: ... + +class CIDSystemInfo(PDFObject): + registry: PDFString + ordering: PDFString + supplement: int + +class PDFInfo(PDFObject): + title: str | None + subject: str | None + author: str | None + keywords: str | None + creator: str | None + producer: str | None + creation_date: Incomplete + def __init__( + self, + title: str | None, + subject: str | None, + author: str | None, + keywords: str | None, + creator: str | None, + producer: str | None, + creation_date, + ) -> None: ... + +class AcroForm: + fields: Incomplete + sig_flags: Incomplete + def __init__(self, fields, sig_flags) -> None: ... + def serialize(self) -> str: ... + +class PDFCatalog(PDFObject): + type: Name + lang: str | None + page_layout: Incomplete | None + page_mode: Incomplete | None + viewer_preferences: Incomplete | None + pages: Incomplete | None + acro_form: Incomplete | None + open_action: Incomplete | None + mark_info: Incomplete | None + metadata: Incomplete | None + names: Incomplete | None + outlines: Incomplete | None + output_intents: Incomplete | None + struct_tree_root: Incomplete | None + def __init__(self, lang: str | None = None, page_layout=None, page_mode=None, viewer_preferences=None) -> None: ... + +class PDFResources(PDFObject): + proc_set: Incomplete + font: Incomplete + x_object: Incomplete + ext_g_state: Incomplete + shading: Incomplete + pattern: Incomplete + def __init__(self, proc_set, font, x_object, ext_g_state, shading, pattern) -> None: ... + +class PDFFontStream(PDFContentStream): + length1: int + def __init__(self, contents: bytes) -> None: ... + +class PDFXmpMetadata(PDFContentStream): + type: Name + subtype: Name + def __init__(self, contents: bytes) -> None: ... + +class PDFXObject(PDFContentStream): + __slots__ = ( + "_id", + "_contents", + "filter", + "length", + "type", + "subtype", + "width", + "height", + "color_space", + "bits_per_component", + "decode", + "decode_parms", + "s_mask", + ) + type: Name + subtype: Name + width: Incomplete + height: Incomplete + color_space: Incomplete + bits_per_component: Incomplete + filter: Name + decode: Incomplete | None + decode_parms: Incomplete | None + s_mask: Incomplete | None + def __init__( + self, + contents, + subtype: str, + width, + height, + color_space, + bits_per_component, + img_filter: str | None = None, + decode=None, + decode_parms=None, + ) -> None: ... + +class PDFICCProfile(PDFContentStream): + __slots__ = ("_id", "_contents", "filter", "length", "n", "alternate") + n: Incomplete + alternate: Name + def __init__(self, contents: bytes, n, alternate: str) -> None: ... + +class PDFPageLabel: + __slots__ = ("_style", "_prefix", "st") + st: int + def __init__(self, label_style: PageLabelStyle, label_prefix: str, label_start: int) -> None: ... + @property + def s(self) -> Name: ... + @property + def p(self) -> PDFString: ... + def serialize(self) -> dict[str, str]: ... + def get_style(self) -> PageLabelStyle: ... + def get_prefix(self) -> str: ... + def get_start(self) -> int: ... + +class PDFPage(PDFObject): + __slots__ = ( + "_id", + "type", + "contents", + "dur", + "trans", + "annots", + "group", + "media_box", + "struct_parents", + "resources", + "parent", + "_index", + "_width_pt", + "_height_pt", + "_page_label", + "_text_substitution_fragments", + ) + type: Name + contents: Incomplete + dur: Incomplete | None + trans: Incomplete + annots: PDFArray[AnnotationDict] + group: Incomplete | None + media_box: Incomplete | None + struct_parents: Incomplete | None + resources: Incomplete | None + parent: Incomplete | None + def __init__(self, duration: Incomplete | None, transition, contents, index) -> None: ... + def index(self) -> int: ... + def set_index(self, i: int) -> None: ... + def dimensions(self) -> tuple[float | None, float | None]: ... + def set_dimensions(self, width_pt: float | None, height_pt: float | None) -> None: ... + def set_page_label(self, previous_page_label: PDFPageLabel, page_label: PDFPageLabel) -> None: ... + def get_page_label(self) -> PDFPageLabel: ... + def get_label(self) -> str: ... + def get_text_substitutions(self) -> list[TotalPagesSubstitutionFragment]: ... + def add_text_substitution(self, fragment: TotalPagesSubstitutionFragment) -> None: ... + +class PDFPagesRoot(PDFObject): + type: Name + count: Incomplete + media_box: Incomplete + kids: Incomplete | None + def __init__(self, count, media_box) -> None: ... + +class PDFExtGState(PDFObject): + def __init__(self, dict_as_str) -> None: ... + def serialize(self, obj_dict: Unused = None, _security_handler: StandardSecurityHandler | None = None) -> str: ... + +class PDFXrefAndTrailer(ContentWithoutID): + output_builder: Incomplete + count: int + catalog_obj: Incomplete | None + info_obj: Incomplete | None + def __init__(self, output_builder) -> None: ... + def serialize(self, _security_handler: StandardSecurityHandler | None = None) -> str: ... + +class OutputIntentDictionary: + __slots__ = ("type", "s", "output_condition_identifier", "output_condition", "registry_name", "dest_output_profile", "info") + type: Name + s: Name + output_condition_identifier: PDFString | None + output_condition: PDFString | None + registry_name: PDFString | None + dest_output_profile: Incomplete | None + info: PDFString | None + + def __init__( + self, + subtype: OutputIntentSubType | str, + output_condition_identifier: str, + output_condition: str | None = None, + registry_name: str | None = None, + dest_output_profile: PDFICCProfile | None = None, + info: str | None = None, + ) -> None: ... + def serialize(self, _security_handler: StandardSecurityHandler | None = None, _obj_id=None): ... + +class ResourceCatalog: + resources: defaultdict[PDFResourceType, dict[Incomplete, Incomplete]] + resources_per_page: defaultdict[tuple[int, PDFResourceType], set[Incomplete]] + + def add(self, resource_type: PDFResourceType, resource, page_number: int) -> Incomplete | None: ... + def get_items(self, resource_type: PDFResourceType): ... + def get_resources_per_page(self, page_number: int, resource_type: PDFResourceType): ... + def get_used_resources(self, resource_type: PDFResourceType) -> set[Incomplete]: ... + +class OutputProducer: + fpdf: FPDF + pdf_objs: list[Incomplete] + obj_id: int + offsets: dict[Incomplete, Incomplete] + trace_labels_per_obj_id: dict[Incomplete, Incomplete] + sections_size_per_trace_label: defaultdict[Incomplete, int] + buffer: bytearray + def __init__(self, fpdf: FPDF) -> None: ... + def bufferize(self) -> bytearray: ... + +def stream_content_for_raster_image( + info: RasterImageInfo, + x: float, + y: float, + w: float, + h: float, + keep_aspect_ratio: bool = False, + scale: float = 1, + pdf_height_to_flip: float | None = None, +) -> str: ... diff --git a/stubs/fpdf2/fpdf/pattern.pyi b/stubs/fpdf2/fpdf/pattern.pyi new file mode 100644 index 000000000000..6d0d043764c6 --- /dev/null +++ b/stubs/fpdf2/fpdf/pattern.pyi @@ -0,0 +1,104 @@ +from _typeshed import Incomplete +from abc import ABC +from collections.abc import Iterable +from typing import Final, Literal + +from .drawing import DeviceCMYK, DeviceGray, DeviceRGB +from .fpdf import FPDF +from .syntax import Name, PDFObject + +class Pattern(PDFObject): + type: Name + pattern_type: int + def __init__(self, shading: LinearGradient | RadialGradient) -> None: ... + @property + def shading(self) -> str: ... + +class Type2Function(PDFObject): + function_type: Final = 2 + domain: str + c0: str + c1: str + n: int + def __init__(self, color_1, color_2) -> None: ... + +class Type3Function(PDFObject): + function_type: Final = 3 + domain: str + bounds: str + encode: str + n: int + + def __init__(self, functions: Iterable[Incomplete], bounds: Iterable[Incomplete]) -> None: ... + @property + def functions(self) -> str: ... + +class Shading(PDFObject): + shading_type: Literal[2, 3] + background: str | None + color_space: Name + coords: list[int] + function: str + extend: str + def __init__( + self, + shading_type: Literal[2, 3], + background: DeviceRGB | DeviceGray | DeviceCMYK | None, + color_space: str, + coords: list[int], + function: Type2Function | Type3Function, + extend_before: bool, + extend_after: bool, + ) -> None: ... + +class Gradient(ABC): + color_space: str + colors: list[Incomplete] + background: Incomplete | None + extend_before: Incomplete + extend_after: Incomplete + bounds: Incomplete + functions: Incomplete + pattern: Pattern + coords: Incomplete | None + shading_type: int + + def __init__(self, colors, background, extend_before, extend_after, bounds): ... + def get_shading_object(self) -> Shading: ... + def get_pattern(self) -> Pattern: ... + +class LinearGradient(Gradient): + coords: list[str] + shading_type: int + def __init__( + self, + fpdf: FPDF, + from_x: float, + from_y: float, + to_x: float, + to_y: float, + colors: list[Incomplete], + background=None, + extend_before: bool = False, + extend_after: bool = False, + bounds: list[int] | None = None, + ) -> None: ... + +class RadialGradient(Gradient): + coords: list[str] + shading_type: int + def __init__( + self, + fpdf: FPDF, + start_circle_x: float, + start_circle_y: float, + start_circle_radius: float, + end_circle_x: float, + end_circle_y: float, + end_circle_radius: float, + colors: list[Incomplete], + background=None, + extend_before: bool = False, + extend_after: bool = False, + bounds: list[int] | None = None, + ): ... diff --git a/stubs/fpdf2/fpdf/prefs.pyi b/stubs/fpdf2/fpdf/prefs.pyi new file mode 100644 index 000000000000..9d9882f837b2 --- /dev/null +++ b/stubs/fpdf2/fpdf/prefs.pyi @@ -0,0 +1,86 @@ +from typing import Literal + +from .enums import Duplex, PageBoundaries, PageMode, TextDirection + +class ViewerPreferences: + hide_toolbar: bool + hide_menubar: bool + hide_window_u_i: bool + fit_window: bool + center_window: bool + def __init__( + self, + hide_toolbar: bool = False, + hide_menubar: bool = False, + hide_window_u_i: bool = False, + fit_window: bool = False, + center_window: bool = False, + display_doc_title: bool = False, + non_full_screen_page_mode: PageMode | str | None = ..., + num_copies: int | None = None, + print_page_range: list[int] | None = None, + direction: TextDirection | str | None = None, + duplex: Duplex | str | None = None, + view_area: PageBoundaries | None = None, + view_clip: PageBoundaries | None = None, + print_area: PageBoundaries | None = None, + print_clip: PageBoundaries | None = None, + print_scaling=None, + ) -> None: ... + + @property + def non_full_screen_page_mode(self) -> PageMode | None: ... + @non_full_screen_page_mode.setter + def non_full_screen_page_mode(self, page_mode: PageMode | str | None) -> None: ... + + @property + def num_copies(self) -> int | None: ... + @num_copies.setter + def num_copies(self, num_copies: int | None) -> None: ... + + @property + def print_page_range(self) -> list[int] | None: ... + @print_page_range.setter + def print_page_range(self, print_page_range: list[int] | None) -> None: ... + + @property + def direction(self) -> TextDirection | None: ... + @direction.setter + def direction(self, direction: TextDirection | str | None) -> None: ... + + @property + def display_doc_title(self) -> bool: ... + @display_doc_title.setter + def display_doc_title(self, display_doc_title: bool) -> None: ... + + @property + def duplex(self) -> Duplex | None: ... + @duplex.setter + def duplex(self, duplex: Duplex | str | None) -> None: ... + + @property + def view_area(self) -> PageBoundaries | None: ... + @view_area.setter + def view_area(self, view_area: PageBoundaries | str | None) -> None: ... + + @property + def view_clip(self) -> PageBoundaries | None: ... + @view_clip.setter + def view_clip(self, view_area: PageBoundaries | str | None) -> None: ... + + @property + def print_area(self) -> PageBoundaries | None: ... + @print_area.setter + def print_area(self, view_area: PageBoundaries | str | None) -> None: ... + + @property + def print_clip(self) -> PageBoundaries | None: ... + @print_clip.setter + def print_clip(self, view_area: PageBoundaries | str | None) -> None: ... + + @property + def print_scaling(self) -> Literal["None", "AppDefault"] | None: ... + @print_scaling.setter + def print_scaling(self, print_scaling: Literal["None", "AppDefault"] | None) -> None: ... + + def serialize(self) -> str: ... diff --git a/stubs/fpdf2/fpdf/recorder.pyi b/stubs/fpdf2/fpdf/recorder.pyi new file mode 100644 index 000000000000..2588eef8e129 --- /dev/null +++ b/stubs/fpdf2/fpdf/recorder.pyi @@ -0,0 +1,13 @@ +from typing import Any + +class FPDFRecorder: + pdf: Any + accept_page_break: bool + def __init__(self, pdf, accept_page_break: bool = True) -> None: ... + def __getattr__(self, name: str): ... + def rewind(self) -> None: ... + def replay(self) -> None: ... + +class CallRecorder: + def __init__(self, func, calls) -> None: ... + def __call__(self, *args, **kwargs): ... diff --git a/stubs/fpdf2/fpdf/sign.pyi b/stubs/fpdf2/fpdf/sign.pyi new file mode 100644 index 000000000000..1176b1a099e1 --- /dev/null +++ b/stubs/fpdf2/fpdf/sign.pyi @@ -0,0 +1,16 @@ +from _typeshed import Incomplete + +class Signature: + type: str + filter: str + sub_filter: str + contact_info: Incomplete | None + location: Incomplete | None + m: Incomplete | None + reason: Incomplete | None + byte_range: str + contents: str + def __init__(self, contact_info=None, location=None, m=None, reason=None) -> None: ... + def serialize(self) -> str: ... + +def sign_content(signer, buffer, key, cert, extra_certs, hashalgo, sign_time): ... diff --git a/stubs/fpdf2/fpdf/structure_tree.pyi b/stubs/fpdf2/fpdf/structure_tree.pyi new file mode 100644 index 000000000000..6d3f35cd536f --- /dev/null +++ b/stubs/fpdf2/fpdf/structure_tree.pyi @@ -0,0 +1,51 @@ +from _typeshed import Incomplete, Unused +from collections import defaultdict +from collections.abc import Iterable, Iterator + +from .encryption import StandardSecurityHandler +from .syntax import PDFArray, PDFObject, PDFString + +class NumberTree(PDFObject): + __slots__ = ("_id", "nums") + nums: defaultdict[Incomplete, list[Incomplete]] + def __init__(self) -> None: ... + def serialize(self, obj_dict: Unused = None, _security_handler: StandardSecurityHandler | None = None) -> str: ... + +class StructTreeRoot(PDFObject): + __slots__ = ("_id", "type", "parent_tree", "k") + type: str + parent_tree: NumberTree + k: PDFArray[Incomplete] + def __init__(self) -> None: ... + +class StructElem(PDFObject): + __slots__ = ("_id", "type", "s", "p", "k", "t", "alt", "pg", "_page_number") + type: str + s: str + p: PDFObject + k: PDFArray[Incomplete] + t: PDFString | None + alt: PDFString | None + pg: Incomplete | None + def __init__( + self, + struct_type: str, + parent: PDFObject, + kids: Iterable[int] | Iterable[StructElem], + page_number: int | None = None, + title: str | None = None, + alt: str | None = None, + ) -> None: ... + def page_number(self) -> int | None: ... + +class StructureTreeBuilder: + struct_tree_root: Incomplete + doc_struct_elem: Incomplete + struct_elem_per_mc: Incomplete + def __init__(self) -> None: ... + def add_marked_content( + self, page_number: int, struct_type: str, mcid: int | None = None, title: str | None = None, alt_text: str | None = None + ) -> tuple[Incomplete, Incomplete]: ... + def next_mcid_for_page(self, page_number: int) -> int: ... + def empty(self) -> bool: ... + def __iter__(self) -> Iterator[Incomplete]: ... diff --git a/stubs/fpdf2/fpdf/svg.pyi b/stubs/fpdf2/fpdf/svg.pyi new file mode 100644 index 000000000000..9a06c8eb04d9 --- /dev/null +++ b/stubs/fpdf2/fpdf/svg.pyi @@ -0,0 +1,147 @@ +from _typeshed import Incomplete, Unused +from collections.abc import Callable +from logging import Logger +from re import Pattern +from typing import Final, Literal, NamedTuple, Protocol, TypeVar, overload, type_check_only + +from ._fonttools_shims import BasePen, _TTGlyphSet +from .drawing import ClippingPath, PaintedPath +from .fpdf import FPDF +from .image_datastructures import ImageCache + +LOGGER: Logger +__pdoc__: dict[str, bool] + +@type_check_only +class _HasQualname(Protocol): + __qualname__: str + +_T = TypeVar("_T", bound=_HasQualname) + +def force_nodocument(item: _T) -> _T: ... + +NUMBER_SPLIT: Final[Pattern[str]] +TRANSFORM_GETTER: Final[Pattern[str]] + +class Percent(float): ... + +unit_splitter: Pattern[str] +relative_length_units: set[str] +absolute_length_units: dict[str, int] +angle_units: dict[str, float] + +def resolve_length(length_str, default_unit: str = "pt"): ... +def resolve_angle(angle_str, default_unit: str = "deg"): ... +def xmlns(space, name): ... +def xmlns_lookup(space, *names): ... +def without_ns(qualified_tag: str) -> str: ... + +shape_tags: Incomplete + +def svgcolor(colorstr): ... +def convert_stroke_width(incoming): ... +def convert_miterlimit(incoming): ... +def clamp_float(min_val, max_val): ... +def inheritable(value, converter=...): ... +def optional(value, converter=...): ... + +svg_attr_map: dict[str, Callable[[Incomplete], tuple[str, Incomplete]]] + +def apply_styles(stylable, svg_element) -> None: ... + +class ShapeBuilder: + @overload + @staticmethod + def new_path(tag, clipping_path: Literal[True]) -> ClippingPath: ... + @overload + @staticmethod + def new_path(tag, clipping_path: Literal[False] = False) -> PaintedPath: ... + + @overload + @classmethod + def rect(cls, tag, clipping_path: Literal[True]) -> ClippingPath: ... + @overload + @classmethod + def rect(cls, tag, clipping_path: Literal[False] = False) -> PaintedPath: ... + + @overload + @classmethod + def circle(cls, tag, clipping_path: Literal[True]) -> ClippingPath: ... + @overload + @classmethod + def circle(cls, tag, clipping_path: Literal[False] = False) -> PaintedPath: ... + + @overload + @classmethod + def ellipse(cls, tag, clipping_path: Literal[True]) -> ClippingPath: ... + @overload + @classmethod + def ellipse(cls, tag, clipping_path: Literal[False] = False) -> PaintedPath: ... + + @classmethod + def line(cls, tag) -> PaintedPath: ... + @classmethod + def polyline(cls, tag) -> PaintedPath: ... + + @overload + @classmethod + def polygon(cls, tag, clipping_path: Literal[True]) -> ClippingPath: ... + @overload + @classmethod + def polygon(cls, tag, clipping_path: Literal[False] = False) -> PaintedPath: ... + +def convert_transforms(tfstr): ... + +class PathPen(BasePen): + pdf_path: PaintedPath + last_was_line_to: bool + first_is_move: bool | None + def __init__(self, pdf_path: PaintedPath, glyphSet: _TTGlyphSet | None = ...): ... + def arcTo(self, rx, ry, rotation, arc, sweep, end) -> None: ... + +def svg_path_converter(pdf_path: PaintedPath, svg_path: str) -> None: ... + +class SVGObject: + image_cache: ImageCache | None + + @classmethod + def from_file(cls, filename, *args, encoding: str = "utf-8", **kwargs): ... + cross_references: Incomplete + def __init__(self, svg_text, image_cache: ImageCache | None = None) -> None: ... + preserve_ar: Incomplete + width: Incomplete + height: Incomplete + viewbox: Incomplete + def update_xref(self, key: str | None, referenced) -> None: ... + def extract_shape_info(self, root_tag) -> None: ... + base_group: Incomplete + def convert_graphics(self, root_tag) -> None: ... + def transform_to_page_viewport(self, pdf, align_viewbox: bool = True): ... + def transform_to_rect_viewport( + self, scale, width, height, align_viewbox: bool = True, ignore_svg_top_attrs: bool = False + ): ... + def draw_to_page(self, pdf: FPDF, x=None, y=None, debug_stream=None) -> None: ... + def handle_defs(self, defs) -> None: ... + def build_xref(self, xref): ... + def build_group(self, group, pdf_group=None): ... + def build_path(self, path): ... + def build_shape(self, shape): ... + def build_clipping_path(self, shape, clip_id): ... + def apply_clipping_path(self, stylable, svg_element) -> None: ... + def build_image(self, image) -> SVGImage: ... + +class SVGImage(NamedTuple): + href: str + x: float + y: float + width: float + height: float + svg_obj: SVGObject + + def __deepcopy__(self, _memo: Unused) -> SVGImage: ... + def render( + self, _gsd_registry: Unused, _style: Unused, last_item, initial_point + ) -> tuple[Incomplete, Incomplete, Incomplete]: ... + def render_debug( + self, gsd_registry: Unused, style: Unused, last_item, initial_point, debug_stream, _pfx: Unused + ) -> tuple[Incomplete, Incomplete, Incomplete]: ... diff --git a/stubs/fpdf2/fpdf/syntax.pyi b/stubs/fpdf2/fpdf/syntax.pyi new file mode 100644 index 000000000000..ca052a215fbb --- /dev/null +++ b/stubs/fpdf2/fpdf/syntax.pyi @@ -0,0 +1,82 @@ +import datetime +from _typeshed import Incomplete, SupportsItems +from abc import ABC, abstractmethod +from re import Pattern +from typing import ClassVar, Literal, TypeVar +from typing_extensions import Self + +from .encryption import StandardSecurityHandler + +_T = TypeVar("_T") + +def clear_empty_fields(d): ... +def create_dictionary_string( + dict_, + open_dict: str = "<<", + close_dict: str = ">>", + field_join: str = "\n", + key_value_join: str = " ", + has_empty_fields: bool = False, +) -> str: ... +def create_list_string(list_): ... +def iobj_ref(n): ... +def create_stream(stream: str | bytes | bytearray, encryption_handler: StandardSecurityHandler | None = None, obj_id=None): ... +def wrap_in_local_context(draw_commands: list[str]) -> list[str]: ... + +class Raw(str): ... + +class Name(str): + NAME_ESC: ClassVar[Pattern[bytes]] + def serialize(self) -> str: ... + +class PDFObject: + @property + def id(self) -> int: ... + @id.setter + def id(self, n: int) -> None: ... + + @property + def ref(self) -> str: ... + def serialize(self, obj_dict=None, _security_handler: StandardSecurityHandler | None = None) -> str: ... + def content_stream(self) -> bytes: ... + +class PDFContentStream(PDFObject): + filter: Name | None + length: int + def __init__(self, contents: bytes, compress: bool = False) -> None: ... + +def build_obj_dict(key_values: SupportsItems[str, Incomplete]) -> dict[str, str]: ... +def camel_case(snake_case: str) -> str: ... + +class PDFString(str): + USE_HEX_ENCODING: ClassVar[bool] + encrypt: bool + def __new__(cls, content: str, encrypt: bool = False) -> Self: ... + def serialize(self) -> str: ... + +class PDFDate: + date: datetime.datetime + with_tz: bool + encrypt: bool + + def __init__(self, date: datetime.datetime, with_tz: bool = False, encrypt: bool = False) -> None: ... + def serialize(self) -> str: ... + +class PDFArray(list[_T]): + def serialize(self) -> str: ... + +class Destination(ABC): + @abstractmethod + def serialize(self) -> str: ... + +class DestinationXYZ(Destination): + page_number: int + top: float + left: float + zoom: float | Literal["null"] + page_ref: Incomplete | None + def __init__(self, page: int, top: float, left: float = 0, zoom: float | Literal["null"] = "null") -> None: ... + def serialize(self) -> str: ... + def replace( + self, page=None, top: float | None = None, left: float | None = None, zoom: float | Literal["null"] | None = None + ) -> DestinationXYZ: ... diff --git a/stubs/fpdf2/fpdf/table.pyi b/stubs/fpdf2/fpdf/table.pyi new file mode 100644 index 000000000000..e07d318d5101 --- /dev/null +++ b/stubs/fpdf2/fpdf/table.pyi @@ -0,0 +1,140 @@ +from _typeshed import Incomplete, SupportsItems +from collections.abc import Iterable +from dataclasses import dataclass +from io import BytesIO +from typing import Literal, overload + +from PIL import Image + +from .drawing import DeviceGray, DeviceRGB +from .enums import ( + Align, + CellBordersLayout, + TableBordersLayout, + TableCellFillMode, + TableHeadingsDisplay, + TableSpan, + VAlign, + WrapMode, +) +from .fonts import FontFace +from .fpdf import FPDF +from .image_datastructures import _TextAlign +from .util import Padding + +DEFAULT_HEADINGS_STYLE: FontFace + +class Table: + rows: list[Row] + + def __init__( + self, + fpdf: FPDF, + rows: Iterable[str] = (), + *, + # Keep in sync with `fpdf.fpdf.FPDF.table`: + align: str | _TextAlign = "CENTER", + v_align: str | VAlign = "MIDDLE", + borders_layout: str | TableBordersLayout = ..., + cell_fill_color: int | tuple[Incomplete, ...] | DeviceGray | DeviceRGB | None = None, + cell_fill_mode: str | TableCellFillMode = ..., + col_widths: int | tuple[int, ...] | None = None, + first_row_as_headings: bool = True, + gutter_height: float = 0, + gutter_width: float = 0, + headings_style: FontFace = ..., + line_height: int | None = None, + markdown: bool = False, + text_align: str | _TextAlign | tuple[str | _TextAlign, ...] = "JUSTIFY", + width: int | None = None, + wrapmode: WrapMode = ..., + padding: float | Padding | None = None, + outer_border_width: float | None = None, + num_heading_rows: int = 1, + repeat_headings: TableHeadingsDisplay | int = 1, + min_row_height=None, + ) -> None: ... + def row( + self, cells: Iterable[str] = (), style: FontFace | None = None, v_align: VAlign | str | None = None, min_height=None + ) -> Row: ... + def render(self) -> None: ... + +class Row: + cells: list[Cell] + style: FontFace + v_align: VAlign | None + min_height: Incomplete | None + def __init__( + self, table: Table, style: FontFace | None = None, v_align: VAlign | str | None = None, min_height=None + ) -> None: ... + @property + def cols_count(self) -> int: ... + @property + def max_rowspan(self) -> int: ... + def convert_spans(self, active_rowspans: SupportsItems[int, int]) -> tuple[dict[int, int], list[int]]: ... + + @overload + def cell( + self, + text: str = "", + align: str | Align | None = None, + v_align: str | VAlign | None = None, + style: FontFace | None = None, + img: str | Image.Image | BytesIO | None = None, + img_fill_width: bool = False, + colspan: int = 1, + rowspan: int = 1, + padding: tuple[float, ...] | None = None, + link: str | int | None = None, + border: CellBordersLayout | int = ..., + ) -> str: ... + @overload + def cell( + self, + text: TableSpan, + align: str | Align | None = None, + v_align: str | VAlign | None = None, + style: FontFace | None = None, + img: str | Image.Image | BytesIO | None = None, + img_fill_width: bool = False, + colspan: int = 1, + rowspan: int = 1, + padding: tuple[float, ...] | None = None, + link: str | int | None = None, + border: CellBordersLayout | int = ..., + ) -> TableSpan: ... + +@dataclass +class Cell: + __slots__ = ("text", "align", "v_align", "style", "img", "img_fill_width", "colspan", "rowspan", "padding", "link", "border") + text: str + align: str | Align | None + v_align: str | VAlign | None + style: FontFace | None + img: str | None + img_fill_width: bool + colspan: int + rowspan: int + padding: int | tuple[float, ...] | None + link: str | int | None + border: CellBordersLayout | None + + def write(self, text, align=None): ... + +@dataclass(frozen=True) +class RowLayoutInfo: + height: int + pagebreak_height: float + rendered_heights: dict[Incomplete, Incomplete] + merged_heights: list[Incomplete] + +@dataclass(frozen=True) +class RowSpanLayoutInfo: + column: int + start: int + length: int + contents_height: float + + def row_range(self) -> range: ... + +def draw_box_borders(pdf: FPDF, x1, y1, x2, y2, border: str | Literal[0, 1], fill_color=None) -> None: ... diff --git a/stubs/fpdf2/fpdf/template.pyi b/stubs/fpdf2/fpdf/template.pyi new file mode 100644 index 000000000000..41d5f9d55308 --- /dev/null +++ b/stubs/fpdf2/fpdf/template.pyi @@ -0,0 +1,43 @@ +from os import PathLike +from typing import Any + +__author__: str +__copyright__: str +__license__: str + +class FlexTemplate: + pdf: Any + splitting_pdf: Any + handlers: Any + texts: Any + def __init__(self, pdf, elements=None) -> None: ... + elements: Any + keys: Any + def load_elements(self, elements) -> None: ... + def parse_json(self, infile: PathLike[Any], encoding: str = "utf-8") -> None: ... + def parse_csv( + self, infile: PathLike[Any], delimiter: str = ",", decimal_sep: str = ".", encoding: str | None = None + ) -> None: ... + def __setitem__(self, name, value) -> None: ... + set: Any + def __contains__(self, name): ... + def __getitem__(self, name): ... + def split_multicell(self, text: str, element_name: str) -> list[str]: ... + def render(self, offsetx: float = 0.0, offsety: float = 0.0, rotate: float = 0.0, scale: float = 1.0): ... + +class Template(FlexTemplate): + def __init__( + self, + infile=None, + elements=None, + format: str = "A4", + orientation: str = "portrait", + unit: str = "mm", + title: str = "", + author: str = "", + subject: str = "", + creator: str = "", + keywords: str = "", + ) -> None: ... + def add_page(self) -> None: ... + def render(self, outfile=None, dest=None) -> None: ... # type: ignore[override] diff --git a/stubs/fpdf2/fpdf/text_region.pyi b/stubs/fpdf2/fpdf/text_region.pyi new file mode 100644 index 000000000000..e5b62cfa839f --- /dev/null +++ b/stubs/fpdf2/fpdf/text_region.pyi @@ -0,0 +1,174 @@ +from _typeshed import Incomplete +from collections.abc import Sequence +from typing import NamedTuple +from typing_extensions import Self + +from .enums import Align, WrapMode +from .image_datastructures import RasterImageInfo, VectorImageInfo, _TextAlign +from .line_break import Fragment, TextLine + +class Extents(NamedTuple): + left: float + right: float + +class TextRegionMixin: + def __init__(self, *args, **kwargs) -> None: ... + def register_text_region(self, region) -> None: ... + def is_current_text_region(self, region) -> bool: ... + def clear_text_region(self) -> None: ... + +class LineWrapper(NamedTuple): + line: Sequence[Incomplete] + paragraph: Paragraph + first_line: bool = False + last_line: bool = False + +class Bullet: + fragments: Sequence[Fragment] + text_line: TextLine + r_margin: float + rendered_flag: bool + def __init__(self, bullet_fragments: Sequence[Fragment], text_line: TextLine, bullet_r_margin: float) -> None: ... + def get_fragments_width(self) -> float: ... + +class Paragraph: + pdf: Incomplete + text_align: Align + line_height: Incomplete + top_margin: Incomplete + bottom_margin: Incomplete + indent: float + skip_leading_spaces: bool + wrapmode: Incomplete + bullet: Bullet | None + first_line_indent: float + + def __init__( + self, + region, + text_align: _TextAlign | None = None, + line_height=None, + top_margin: float = 0, + bottom_margin: float = 0, + indent: float = 0, + bullet_r_margin: float | None = None, + bullet_string: str = "", + skip_leading_spaces: bool = False, + wrapmode: WrapMode | None = None, + first_line_indent: float = 0, + ) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type, exc_value, traceback) -> None: ... + def write(self, text: str, link=None): ... + def generate_bullet_frags_and_tl( + self, bullet_string: str, bullet_r_margin: float + ) -> tuple[tuple[Fragment, ...], TextLine] | None: ... + def ln(self, h: float | None = None) -> None: ... + def build_lines(self, print_sh: bool) -> list[LineWrapper]: ... + +class ImageParagraph: + region: Incomplete + name: Incomplete + align: Align | None + width: float | None + height: float | None + fill_width: bool + keep_aspect_ratio: bool + top_margin: float + bottom_margin: float + link: Incomplete | None + title: Incomplete | None + alt_text: Incomplete | None + img: Incomplete | None + info: Incomplete | None + + def __init__( + self, + region, + name, + align: _TextAlign | None = None, + width: float | None = None, + height: float | None = None, + fill_width: bool = False, + keep_aspect_ratio: bool = False, + top_margin: float = 0, + bottom_margin: float = 0, + link=None, + title=None, + alt_text=None, + ) -> None: ... + def build_line(self) -> Self: ... + def render(self, col_left: float, col_width: float, max_height: float) -> VectorImageInfo | RasterImageInfo: ... + +class ParagraphCollectorMixin: + pdf: Incomplete + text_align: Align + line_height: Incomplete + print_sh: Incomplete + wrapmode: Incomplete + skip_leading_spaces: Incomplete + def __init__( + self, + pdf, + *args, + text: str | None = None, + text_align: _TextAlign = "LEFT", + line_height: float = 1.0, + print_sh: bool = False, + skip_leading_spaces: bool = False, + wrapmode: WrapMode | None = None, + img=None, + img_fill_width: bool = False, + **kwargs, + ) -> None: ... + def __enter__(self): ... + def __exit__(self, exc_type, exc_value, traceback) -> None: ... + def write(self, text: str, link=None): ... + def ln(self, h: float | None = None) -> None: ... + def paragraph( + self, + text_align: _TextAlign | None = None, + line_height=None, + skip_leading_spaces: bool = False, + top_margin: int = 0, + bottom_margin: int = 0, + indent: int = 0, + bullet_string: str = "", + bullet_r_margin: float | None = None, + wrapmode: WrapMode | None = None, + first_line_indent: float = 0, + ) -> Paragraph: ... + def end_paragraph(self) -> None: ... + def image( + self, + name, + align: _TextAlign | None = None, + width: float | None = None, + height: float | None = None, + fill_width: bool = False, + keep_aspect_ratio: bool = False, + top_margin: float = 0, + bottom_margin: float = 0, + link=None, + title=None, + alt_text=None, + ) -> None: ... + +class TextRegion(ParagraphCollectorMixin): + def current_x_extents(self, y, height) -> None: ... + def collect_lines(self): ... + def render(self) -> None: ... + def get_width(self, height): ... + +class TextColumnarMixin: + l_margin: Incomplete + r_margin: Incomplete + def __init__(self, pdf, *args, l_margin=None, r_margin=None, **kwargs) -> None: ... + +class TextColumns(TextRegion, TextColumnarMixin): + balance: Incomplete + def __init__(self, pdf, *args, ncols: int = 1, gutter: float = 10, balance: bool = False, **kwargs) -> None: ... + def __enter__(self) -> Self: ... + def new_column(self) -> None: ... + def render(self) -> None: ... + def current_x_extents(self, y, height): ... diff --git a/stubs/fpdf2/fpdf/transitions.pyi b/stubs/fpdf2/fpdf/transitions.pyi new file mode 100644 index 000000000000..7d7f2e6f9737 --- /dev/null +++ b/stubs/fpdf2/fpdf/transitions.pyi @@ -0,0 +1,59 @@ +from abc import ABC, abstractmethod +from typing import Literal + +class Transition(ABC): + @abstractmethod + def serialize(self) -> str: ... + +class SplitTransition(Transition): + dimension: Literal["H", "V"] + direction: Literal["I", "O"] + def __init__(self, dimension: Literal["H", "V"], direction: Literal["I", "O"]) -> None: ... + def serialize(self) -> str: ... + +class BlindsTransition(Transition): + dimension: Literal["H", "V"] + def __init__(self, dimension: Literal["H", "V"]) -> None: ... + def serialize(self) -> str: ... + +class BoxTransition(Transition): + direction: Literal["I", "O"] + def __init__(self, direction: Literal["I", "O"]) -> None: ... + def serialize(self) -> str: ... + +class WipeTransition(Transition): + direction: Literal[0, 90, 180, 270] + def __init__(self, direction: Literal[0, 90, 180, 270]) -> None: ... + def serialize(self) -> str: ... + +class DissolveTransition(Transition): + def serialize(self) -> str: ... + +class GlitterTransition(Transition): + direction: Literal[0, 270, 315] + def __init__(self, direction: Literal[0, 270, 315]) -> None: ... + def serialize(self) -> str: ... + +class FlyTransition(Transition): + dimension: Literal["H", "V"] + direction: Literal[0, 270] | None + def __init__(self, dimension: Literal["H", "V"], direction: Literal[0, 270] | None = None) -> None: ... + def serialize(self) -> str: ... + +class PushTransition(Transition): + direction: Literal[0, 270] + def __init__(self, direction: Literal[0, 270]) -> None: ... + def serialize(self) -> str: ... + +class CoverTransition(Transition): + direction: Literal[0, 270] + def __init__(self, direction: Literal[0, 270]) -> None: ... + def serialize(self) -> str: ... + +class UncoverTransition(Transition): + direction: Literal[0, 270] + def __init__(self, direction: Literal[0, 270]) -> None: ... + def serialize(self) -> str: ... + +class FadeTransition(Transition): + def serialize(self) -> str: ... diff --git a/stubs/fpdf2/fpdf/unicode_script.pyi b/stubs/fpdf2/fpdf/unicode_script.pyi new file mode 100644 index 000000000000..49e56f2d2923 --- /dev/null +++ b/stubs/fpdf2/fpdf/unicode_script.pyi @@ -0,0 +1,172 @@ +from enum import IntEnum +from typing import Final + +class UnicodeScript(IntEnum): + COMMON = 0 + LATIN = 1 + GREEK = 2 + CYRILLIC = 3 + ARMENIAN = 4 + HEBREW = 5 + ARABIC = 6 + SYRIAC = 7 + THAANA = 8 + DEVANAGARI = 9 + BENGALI = 10 + GURMUKHI = 11 + GUJARATI = 12 + ORIYA = 13 + TAMIL = 14 + TELUGU = 15 + KANNADA = 16 + MALAYALAM = 17 + SINHALA = 18 + THAI = 19 + LAO = 20 + TIBETAN = 21 + MYANMAR = 22 + GEORGIAN = 23 + HANGUL = 24 + ETHIOPIC = 25 + CHEROKEE = 26 + CANADIAN_ABORIGINAL = 27 + OGHAM = 28 + RUNIC = 29 + KHMER = 30 + MONGOLIAN = 31 + HIRAGANA = 32 + KATAKANA = 33 + BOPOMOFO = 34 + HAN = 35 + YI = 36 + OLD_ITALIC = 37 + GOTHIC = 38 + DESERET = 39 + INHERITED = 40 + TAGALOG = 41 + HANUNOO = 42 + BUHID = 43 + TAGBANWA = 44 + LIMBU = 45 + TAI_LE = 46 + LINEAR_B = 47 + UGARITIC = 48 + SHAVIAN = 49 + OSMANYA = 50 + CYPRIOT = 51 + BRAILLE = 52 + BUGINESE = 53 + COPTIC = 54 + NEW_TAI_LUE = 55 + GLAGOLITIC = 56 + TIFINAGH = 57 + SYLOTI_NAGRI = 58 + OLD_PERSIAN = 59 + KHAROSHTHI = 60 + BALINESE = 61 + CUNEIFORM = 62 + PHOENICIAN = 63 + PHAGS_PA = 64 + NKO = 65 + SUNDANESE = 66 + LEPCHA = 67 + OL_CHIKI = 68 + VAI = 69 + SAURASHTRA = 70 + KAYAH_LI = 71 + REJANG = 72 + LYCIAN = 73 + CARIAN = 74 + LYDIAN = 75 + CHAM = 76 + TAI_THAM = 77 + TAI_VIET = 78 + AVESTAN = 79 + EGYPTIAN_HIEROGLYPHS = 80 + SAMARITAN = 81 + LISU = 82 + BAMUM = 83 + JAVANESE = 84 + MEETEI_MAYEK = 85 + IMPERIAL_ARAMAIC = 86 + OLD_SOUTH_ARABIAN = 87 + INSCRIPTIONAL_PARTHIAN = 88 + INSCRIPTIONAL_PAHLAVI = 89 + OLD_TURKIC = 90 + KAITHI = 91 + BATAK = 92 + BRAHMI = 93 + MANDAIC = 94 + CHAKMA = 95 + MEROITIC_CURSIVE = 96 + MEROITIC_HIEROGLYPHS = 97 + MIAO = 98 + SHARADA = 99 + SORA_SOMPENG = 100 + TAKRI = 101 + CAUCASIAN_ALBANIAN = 102 + BASSA_VAH = 103 + DUPLOYAN = 104 + ELBASAN = 105 + GRANTHA = 106 + PAHAWH_HMONG = 107 + KHOJKI = 108 + LINEAR_A = 109 + MAHAJANI = 110 + MANICHAEAN = 111 + MENDE_KIKAKUI = 112 + MODI = 113 + MRO = 114 + OLD_NORTH_ARABIAN = 115 + NABATAEAN = 116 + PALMYRENE = 117 + PAU_CIN_HAU = 118 + OLD_PERMIC = 119 + PSALTER_PAHLAVI = 120 + SIDDHAM = 121 + KHUDAWADI = 122 + TIRHUTA = 123 + WARANG_CITI = 124 + AHOM = 125 + ANATOLIAN_HIEROGLYPHS = 126 + HATRAN = 127 + MULTANI = 128 + OLD_HUNGARIAN = 129 + SIGNWRITING = 130 + ADLAM = 131 + BHAIKSUKI = 132 + MARCHEN = 133 + NEWA = 134 + OSAGE = 135 + TANGUT = 136 + MASARAM_GONDI = 137 + NUSHU = 138 + SOYOMBO = 139 + ZANABAZAR_SQUARE = 140 + DOGRA = 141 + GUNJALA_GONDI = 142 + MAKASAR = 143 + MEDEFAIDRIN = 144 + HANIFI_ROHINGYA = 145 + SOGDIAN = 146 + OLD_SOGDIAN = 147 + ELYMAIC = 148 + NANDINAGARI = 149 + NYIAKENG_PUACHUE_HMONG = 150 + WANCHO = 151 + CHORASMIAN = 152 + DIVES_AKURU = 153 + KHITAN_SMALL_SCRIPT = 154 + YEZIDI = 155 + CYPRO_MINOAN = 156 + OLD_UYGHUR = 157 + TANGSA = 158 + TOTO = 159 + VITHKUQI = 160 + KAWI = 161 + NAG_MUNDARI = 162 + UNKNOWN = 999 + +UNICODE_RANGE_TO_SCRIPT: Final[tuple[tuple[int, int, int]]] + +def get_unicode_script(char: str) -> UnicodeScript: ... diff --git a/stubs/fpdf2/fpdf/util.pyi b/stubs/fpdf2/fpdf/util.pyi new file mode 100644 index 000000000000..9c98ae361a5f --- /dev/null +++ b/stubs/fpdf2/fpdf/util.pyi @@ -0,0 +1,38 @@ +from collections.abc import Iterable +from typing import Any, AnyStr, Final, Literal, NamedTuple, TypeAlias + +_Unit: TypeAlias = Literal["pt", "mm", "cm", "in"] + +PIL_MEM_BLOCK_SIZE_IN_MIB: Final = 16 + +class Padding(NamedTuple): + top: float = 0 + right: float = 0 + bottom: float = 0 + left: float = 0 + @classmethod + def new(cls, padding: float | tuple[float, ...] | list[float]): ... + +def buffer_subst(buffer: bytearray, placeholder: str, value: str) -> bytearray: ... +def escape_parens(s: AnyStr) -> AnyStr: ... +def get_scale_factor(unit: _Unit | float) -> float: ... +def convert_unit( + # to_convert has a recursive type + to_convert: float | Iterable[float | Iterable[Any]], + old_unit: str | float, + new_unit: str | float, +) -> float | tuple[float, ...]: ... + +ROMAN_NUMERAL_MAP: Final[tuple[tuple[str, int], ...]] + +def int2roman(n: int | None) -> str: ... +def int_to_letters(n: int) -> str: ... +def print_mem_usage(prefix: str) -> None: ... +def get_mem_usage(prefix: str) -> str: ... +def get_process_rss() -> str: ... +def get_process_rss_as_mib() -> float | None: ... +def get_process_heap_and_stack_sizes() -> tuple[str, str]: ... +def get_pymalloc_allocated_over_total_size() -> str: ... +def get_gc_managed_objs_total_size() -> str: ... +def get_tracemalloc_traced_memory() -> str: ... +def get_pillow_allocated_memory() -> str: ... diff --git a/stubs/geojson/geojson/geometry.pyi b/stubs/geojson/geojson/geometry.pyi index 290feaf7f6a0..04fa942cca7f 100644 --- a/stubs/geojson/geojson/geometry.pyi +++ b/stubs/geojson/geojson/geometry.pyi @@ -1,13 +1,13 @@ from collections.abc import Sequence from decimal import Decimal -from typing import TypeAlias +from typing import Literal, TypeAlias from geojson.base import GeoJSON _InputCoord: TypeAlias = float | Decimal | Geometry | Sequence[_InputCoord] _CleanCoord: TypeAlias = float | Decimal | list[_CleanCoord] -DEFAULT_PRECISION: int +DEFAULT_PRECISION: Literal[6] class Geometry(GeoJSON): def __init__( diff --git a/stubs/gevent/METADATA.toml b/stubs/gevent/METADATA.toml index 0666754dba75..30de564b477e 100644 --- a/stubs/gevent/METADATA.toml +++ b/stubs/gevent/METADATA.toml @@ -1,4 +1,4 @@ -version = "26.8.*" +version = "26.7.*" upstream-repository = "https://github.com/gevent/gevent" dependencies = ["types-greenlet", "types-psutil>=7.2.0"] diff --git a/stubs/google-cloud-ndb/google/cloud/ndb/_batch.pyi b/stubs/google-cloud-ndb/google/cloud/ndb/_batch.pyi index 79e0c3ded8dd..be6e53a0daf0 100644 --- a/stubs/google-cloud-ndb/google/cloud/ndb/_batch.pyi +++ b/stubs/google-cloud-ndb/google/cloud/ndb/_batch.pyi @@ -1 +1,3 @@ -def get_batch(batch_cls, options=None): ... +from _typeshed import Incomplete + +def get_batch(batch_cls, options: Incomplete | None = ...): ... diff --git a/stubs/google-cloud-ndb/google/cloud/ndb/_cache.pyi b/stubs/google-cloud-ndb/google/cloud/ndb/_cache.pyi index cf28a3450640..1047e3028f53 100644 --- a/stubs/google-cloud-ndb/google/cloud/ndb/_cache.pyi +++ b/stubs/google-cloud-ndb/google/cloud/ndb/_cache.pyi @@ -23,7 +23,7 @@ class _GlobalCacheGetBatch(_GlobalCacheBatch): def make_call(self): ... def future_info(self, key): ... -def global_set(key, value, expires=None, read: bool = False): ... +def global_set(key, value, expires: Incomplete | None = ..., read: bool = ...): ... class _GlobalCacheSetBatch(_GlobalCacheBatch): expires: Incomplete diff --git a/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_query.pyi b/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_query.pyi index 95574c737ea1..93454c9e1b7b 100644 --- a/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_query.pyi +++ b/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_query.pyi @@ -14,7 +14,7 @@ class Cursor: @classmethod def from_websafe_string(cls, urlsafe): ... cursor: Incomplete - def __init__(self, cursor=None, urlsafe=None) -> None: ... + def __init__(self, cursor: Incomplete | None = ..., urlsafe: Incomplete | None = ...) -> None: ... def to_websafe_string(self): ... def urlsafe(self): ... def __eq__(self, other): ... diff --git a/stubs/google-cloud-ndb/google/cloud/ndb/_options.pyi b/stubs/google-cloud-ndb/google/cloud/ndb/_options.pyi index 768eb779c961..578a82948c09 100644 --- a/stubs/google-cloud-ndb/google/cloud/ndb/_options.pyi +++ b/stubs/google-cloud-ndb/google/cloud/ndb/_options.pyi @@ -1,3 +1,5 @@ +from _typeshed import Incomplete + class Options: __slots__ = ( "retries", @@ -14,10 +16,10 @@ class Options: "memcache_timeout", ) @classmethod - def options(cls, wrapped, _disambiguate_from_model_properties: bool = False): ... + def options(cls, wrapped, _disambiguate_from_model_properties: bool = ...): ... @classmethod def slots(cls): ... - def __init__(self, config=None, **kwargs) -> None: ... + def __init__(self, config: Incomplete | None = ..., **kwargs) -> None: ... def __eq__(self, other): ... def __ne__(self, other): ... def copy(self, **kwargs): ... @@ -25,4 +27,4 @@ class Options: class ReadOptions(Options): __slots__ = ("read_consistency", "read_policy", "transaction") - def __init__(self, config=None, **kwargs) -> None: ... + def __init__(self, config: Incomplete | None = ..., **kwargs) -> None: ... diff --git a/stubs/google-cloud-ndb/google/cloud/ndb/_transaction.pyi b/stubs/google-cloud-ndb/google/cloud/ndb/_transaction.pyi index c25cb8779bc3..c19dc18be185 100644 --- a/stubs/google-cloud-ndb/google/cloud/ndb/_transaction.pyi +++ b/stubs/google-cloud-ndb/google/cloud/ndb/_transaction.pyi @@ -1,8 +1,20 @@ +from _typeshed import Incomplete + def in_transaction(): ... -def transaction(callback, retries=..., read_only: bool = False, join: bool = False, xg: bool = True, propagation=None): ... -def transaction_async(callback, retries=..., read_only: bool = False, join: bool = False, xg: bool = True, propagation=None): ... -def transaction_async_(callback, retries=..., read_only: bool = False, join: bool = False, xg: bool = True, propagation=None): ... -def transactional(retries=..., read_only: bool = False, join: bool = True, xg: bool = True, propagation=None): ... -def transactional_async(retries=..., read_only: bool = False, join: bool = True, xg: bool = True, propagation=None): ... -def transactional_tasklet(retries=..., read_only: bool = False, join: bool = True, xg: bool = True, propagation=None): ... -def non_transactional(allow_existing: bool = True): ... +def transaction( + callback, retries=..., read_only: bool = ..., join: bool = ..., xg: bool = ..., propagation: Incomplete | None = ... +): ... +def transaction_async( + callback, retries=..., read_only: bool = ..., join: bool = ..., xg: bool = ..., propagation: Incomplete | None = ... +): ... +def transaction_async_( + callback, retries=..., read_only: bool = ..., join: bool = ..., xg: bool = ..., propagation: Incomplete | None = ... +): ... +def transactional(retries=..., read_only: bool = ..., join: bool = ..., xg: bool = ..., propagation: Incomplete | None = ...): ... +def transactional_async( + retries=..., read_only: bool = ..., join: bool = ..., xg: bool = ..., propagation: Incomplete | None = ... +): ... +def transactional_tasklet( + retries=..., read_only: bool = ..., join: bool = ..., xg: bool = ..., propagation: Incomplete | None = ... +): ... +def non_transactional(allow_existing: bool = ...): ... diff --git a/stubs/google-cloud-ndb/google/cloud/ndb/client.pyi b/stubs/google-cloud-ndb/google/cloud/ndb/client.pyi index d9b28a4e571b..d5893fc73ca6 100644 --- a/stubs/google-cloud-ndb/google/cloud/ndb/client.pyi +++ b/stubs/google-cloud-ndb/google/cloud/ndb/client.pyi @@ -17,19 +17,19 @@ class Client: database: str | None def __init__( self, - project: str | None = None, - namespace: str | None = None, - credentials=None, - client_options=None, + project: str | None = ..., + namespace: str | None = ..., + credentials: Incomplete | None = ..., + client_options: Incomplete | None = ..., database: str | None = None, ) -> None: ... @contextmanager def context( self, namespace=..., - cache_policy: Callable[[key.Key], bool] | None = None, - global_cache=None, - global_cache_policy: Callable[[key.Key], bool] | None = None, - global_cache_timeout_policy: Callable[[key.Key], int] | None = None, - legacy_data: bool = True, + cache_policy: Callable[[key.Key], bool] | None = ..., + global_cache: Incomplete | None = ..., + global_cache_policy: Callable[[key.Key], bool] | None = ..., + global_cache_timeout_policy: Callable[[key.Key], int] | None = ..., + legacy_data: bool = ..., ) -> Generator[context_module.Context]: ... diff --git a/stubs/google-cloud-ndb/google/cloud/ndb/context.pyi b/stubs/google-cloud-ndb/google/cloud/ndb/context.pyi index 6889e9304bb9..e222fc32eacb 100644 --- a/stubs/google-cloud-ndb/google/cloud/ndb/context.pyi +++ b/stubs/google-cloud-ndb/google/cloud/ndb/context.pyi @@ -17,8 +17,8 @@ class _LocalState: @toplevel_context.setter def toplevel_context(self, value) -> None: ... -def get_context(raise_context_error: bool = True): ... -def get_toplevel_context(raise_context_error: bool = True): ... +def get_context(raise_context_error: bool = ...): ... +def get_toplevel_context(raise_context_error: bool = ...): ... class _ContextTuple(NamedTuple): id: Incomplete @@ -38,24 +38,24 @@ class _Context(_ContextTuple): def __new__( cls, client, - id=None, + id: Incomplete | None = ..., namespace=..., - eventloop=None, - batches=None, - commit_batches=None, - transaction=None, - cache=None, - cache_policy=None, - global_cache=None, - global_cache_policy: Callable[[Key], bool] | None = None, - global_cache_timeout_policy=None, - datastore_policy=None, - on_commit_callbacks=None, - transaction_complete_callbacks=None, - legacy_data: bool = True, - retry=None, - rpc_time=None, - wait_time=None, + eventloop: Incomplete | None = ..., + batches: Incomplete | None = ..., + commit_batches: Incomplete | None = ..., + transaction: Incomplete | None = ..., + cache: Incomplete | None = ..., + cache_policy: Incomplete | None = ..., + global_cache: Incomplete | None = ..., + global_cache_policy: Callable[[Key], bool] | None = ..., + global_cache_timeout_policy: Incomplete | None = ..., + datastore_policy: Incomplete | None = ..., + on_commit_callbacks: Incomplete | None = ..., + transaction_complete_callbacks: Incomplete | None = ..., + legacy_data: bool = ..., + retry: Incomplete | None = ..., + rpc_time: Incomplete | None = ..., + wait_time: Incomplete | None = ..., ): ... def new(self, **kwargs): ... rpc_time: int diff --git a/stubs/google-cloud-ndb/google/cloud/ndb/global_cache.pyi b/stubs/google-cloud-ndb/google/cloud/ndb/global_cache.pyi index 976003bf9711..aa91d31411cd 100644 --- a/stubs/google-cloud-ndb/google/cloud/ndb/global_cache.pyi +++ b/stubs/google-cloud-ndb/google/cloud/ndb/global_cache.pyi @@ -12,7 +12,7 @@ class GlobalCache(metaclass=abc.ABCMeta): @abc.abstractmethod def get(self, keys): ... @abc.abstractmethod - def set(self, items, expires=None): ... + def set(self, items, expires: Incomplete | None = ...): ... @abc.abstractmethod def delete(self, keys): ... @abc.abstractmethod @@ -20,7 +20,7 @@ class GlobalCache(metaclass=abc.ABCMeta): @abc.abstractmethod def unwatch(self, keys): ... @abc.abstractmethod - def compare_and_swap(self, items, expires=None): ... + def compare_and_swap(self, items, expires: Incomplete | None = ...): ... @abc.abstractmethod def clear(self): ... @@ -28,29 +28,29 @@ class _InProcessGlobalCache(GlobalCache): cache: Incomplete def __init__(self) -> None: ... def get(self, keys): ... - def set(self, items, expires=None) -> None: ... + def set(self, items, expires: Incomplete | None = ...) -> None: ... def delete(self, keys) -> None: ... def watch(self, items) -> None: ... def unwatch(self, keys) -> None: ... - def compare_and_swap(self, items, expires=None): ... + def compare_and_swap(self, items, expires: Incomplete | None = ...): ... def clear(self) -> None: ... class RedisCache(GlobalCache): transient_errors: Incomplete @classmethod - def from_environment(cls, strict_read: bool = False, strict_write: bool = True) -> Self: ... + def from_environment(cls, strict_read: bool = ..., strict_write: bool = ...) -> Self: ... redis: Incomplete strict_read: Incomplete strict_write: Incomplete - def __init__(self, redis, strict_read: bool = False, strict_write: bool = True) -> None: ... + def __init__(self, redis, strict_read: bool = ..., strict_write: bool = ...) -> None: ... @property def pipes(self): ... def get(self, keys): ... - def set(self, items, expires=None) -> None: ... + def set(self, items, expires: Incomplete | None = ...) -> None: ... def delete(self, keys) -> None: ... def watch(self, items) -> None: ... def unwatch(self, keys) -> None: ... - def compare_and_swap(self, items, expires=None): ... + def compare_and_swap(self, items, expires: Incomplete | None = ...): ... def clear(self) -> None: ... class MemcacheCache(GlobalCache): @@ -61,17 +61,17 @@ class MemcacheCache(GlobalCache): transient_errors: Incomplete @classmethod - def from_environment(cls, max_pool_size: int = 4, strict_read: bool = False, strict_write: bool = True) -> Self: ... + def from_environment(cls, max_pool_size: int = ..., strict_read: bool = ..., strict_write: bool = ...) -> Self: ... client: Incomplete strict_read: Incomplete strict_write: Incomplete - def __init__(self, client, strict_read: bool = False, strict_write: bool = True) -> None: ... + def __init__(self, client, strict_read: bool = ..., strict_write: bool = ...) -> None: ... @property def caskeys(self): ... def get(self, keys): ... - def set(self, items, expires=None): ... + def set(self, items, expires: Incomplete | None = ...): ... def delete(self, keys) -> None: ... def watch(self, items) -> None: ... def unwatch(self, keys) -> None: ... - def compare_and_swap(self, items, expires=None): ... + def compare_and_swap(self, items, expires: Incomplete | None = ...): ... def clear(self) -> None: ... diff --git a/stubs/google-cloud-ndb/google/cloud/ndb/key.pyi b/stubs/google-cloud-ndb/google/cloud/ndb/key.pyi index 07abf9236341..fde8894a3905 100644 --- a/stubs/google-cloud-ndb/google/cloud/ndb/key.pyi +++ b/stubs/google-cloud-ndb/google/cloud/ndb/key.pyi @@ -30,69 +30,69 @@ class Key: def to_legacy_urlsafe(self, location_prefix): ... def get( self, - read_consistency=None, - read_policy=None, - transaction=None, - retries=None, - timeout=None, - deadline=None, - use_cache=None, - use_global_cache=None, - use_datastore=None, - global_cache_timeout=None, - use_memcache=None, - memcache_timeout=None, - max_memcache_items=None, - force_writes=None, - _options=None, + read_consistency: Incomplete | None = ..., + read_policy: Incomplete | None = ..., + transaction: Incomplete | None = ..., + retries: Incomplete | None = ..., + timeout: Incomplete | None = ..., + deadline: Incomplete | None = ..., + use_cache: Incomplete | None = ..., + use_global_cache: Incomplete | None = ..., + use_datastore: Incomplete | None = ..., + global_cache_timeout: Incomplete | None = ..., + use_memcache: Incomplete | None = ..., + memcache_timeout: Incomplete | None = ..., + max_memcache_items: Incomplete | None = ..., + force_writes: Incomplete | None = ..., + _options: Incomplete | None = ..., ): ... def get_async( self, - read_consistency=None, - read_policy=None, - transaction=None, - retries=None, - timeout=None, - deadline=None, - use_cache=None, - use_global_cache=None, - use_datastore=None, - global_cache_timeout=None, - use_memcache=None, - memcache_timeout=None, - max_memcache_items=None, - force_writes=None, - _options=None, + read_consistency: Incomplete | None = ..., + read_policy: Incomplete | None = ..., + transaction: Incomplete | None = ..., + retries: Incomplete | None = ..., + timeout: Incomplete | None = ..., + deadline: Incomplete | None = ..., + use_cache: Incomplete | None = ..., + use_global_cache: Incomplete | None = ..., + use_datastore: Incomplete | None = ..., + global_cache_timeout: Incomplete | None = ..., + use_memcache: Incomplete | None = ..., + memcache_timeout: Incomplete | None = ..., + max_memcache_items: Incomplete | None = ..., + force_writes: Incomplete | None = ..., + _options: Incomplete | None = ..., ): ... def delete( self, - retries=None, - timeout=None, - deadline=None, - use_cache=None, - use_global_cache=None, - use_datastore=None, - global_cache_timeout=None, - use_memcache=None, - memcache_timeout=None, - max_memcache_items=None, - force_writes=None, - _options=None, + retries: Incomplete | None = ..., + timeout: Incomplete | None = ..., + deadline: Incomplete | None = ..., + use_cache: Incomplete | None = ..., + use_global_cache: Incomplete | None = ..., + use_datastore: Incomplete | None = ..., + global_cache_timeout: Incomplete | None = ..., + use_memcache: Incomplete | None = ..., + memcache_timeout: Incomplete | None = ..., + max_memcache_items: Incomplete | None = ..., + force_writes: Incomplete | None = ..., + _options: Incomplete | None = ..., ): ... def delete_async( self, - retries=None, - timeout=None, - deadline=None, - use_cache=None, - use_global_cache=None, - use_datastore=None, - global_cache_timeout=None, - use_memcache=None, - memcache_timeout=None, - max_memcache_items=None, - force_writes=None, - _options=None, + retries: Incomplete | None = ..., + timeout: Incomplete | None = ..., + deadline: Incomplete | None = ..., + use_cache: Incomplete | None = ..., + use_global_cache: Incomplete | None = ..., + use_datastore: Incomplete | None = ..., + global_cache_timeout: Incomplete | None = ..., + use_memcache: Incomplete | None = ..., + memcache_timeout: Incomplete | None = ..., + max_memcache_items: Incomplete | None = ..., + force_writes: Incomplete | None = ..., + _options: Incomplete | None = ..., ): ... @classmethod def from_old_key(cls, old_key) -> None: ... diff --git a/stubs/google-cloud-ndb/google/cloud/ndb/metadata.pyi b/stubs/google-cloud-ndb/google/cloud/ndb/metadata.pyi index 564a4d6f04b7..4e22eee3598f 100644 --- a/stubs/google-cloud-ndb/google/cloud/ndb/metadata.pyi +++ b/stubs/google-cloud-ndb/google/cloud/ndb/metadata.pyi @@ -45,7 +45,7 @@ class EntityGroup: def __new__(cls, *args, **kwargs): ... def get_entity_group_version(*args, **kwargs) -> None: ... -def get_kinds(start=None, end=None): ... -def get_namespaces(start=None, end=None): ... -def get_properties_of_kind(kind, start=None, end=None): ... -def get_representations_of_kind(kind, start=None, end=None): ... +def get_kinds(start: Incomplete | None = ..., end: Incomplete | None = ...): ... +def get_namespaces(start: Incomplete | None = ..., end: Incomplete | None = ...): ... +def get_properties_of_kind(kind, start: Incomplete | None = ..., end: Incomplete | None = ...): ... +def get_representations_of_kind(kind, start: Incomplete | None = ..., end: Incomplete | None = ...): ... diff --git a/stubs/google-cloud-ndb/google/cloud/ndb/model.pyi b/stubs/google-cloud-ndb/google/cloud/ndb/model.pyi index 277330ce17a8..54233f0ab42e 100644 --- a/stubs/google-cloud-ndb/google/cloud/ndb/model.pyi +++ b/stubs/google-cloud-ndb/google/cloud/ndb/model.pyi @@ -74,15 +74,15 @@ class _BaseValue(_NotEqualMixin): class Property(ModelAttribute): def __init__( self, - name: str | None = None, - indexed: bool | None = None, - repeated: bool | None = None, - required: bool | None = None, + name: str | None = ..., + indexed: bool | None = ..., + repeated: bool | None = ..., + required: bool | None = ..., default: object = None, - choices: Iterable[object] | None = None, - validator: Callable[[Property, Any], object] | None = None, - verbose_name: str | None = None, - write_empty_list: bool | None = None, + choices: Iterable[object] | None = ..., + validator: Callable[[Property, Any], object] | None = ..., + verbose_name: str | None = ..., + write_empty_list: bool | None = ..., ) -> None: ... def __eq__(self, value: object) -> query_module.FilterNode: ... # type: ignore[override] def __ne__(self, value: object) -> query_module.FilterNode: ... # type: ignore[override] @@ -103,16 +103,16 @@ class Property(ModelAttribute): class ModelKey(Property): def __init__(self) -> None: ... - def __get__(self, entity: Model, unused_cls: type[Model] | None = None) -> key_module.Key | list[key_module.Key] | None: ... + def __get__(self, entity: Model, unused_cls: type[Model] | None = ...) -> key_module.Key | list[key_module.Key] | None: ... class BooleanProperty(Property): - def __get__(self, entity: Model, unused_cls: type[Model] | None = None) -> bool | list[bool] | None: ... + def __get__(self, entity: Model, unused_cls: type[Model] | None = ...) -> bool | list[bool] | None: ... class IntegerProperty(Property): - def __get__(self, entity: Model, unused_cls: type[Model] | None = None) -> int | list[int] | None: ... + def __get__(self, entity: Model, unused_cls: type[Model] | None = ...) -> int | list[int] | None: ... class FloatProperty(Property): - def __get__(self, entity: Model, unused_cls: type[Model] | None = None) -> float | list[float] | None: ... + def __get__(self, entity: Model, unused_cls: type[Model] | None = ...) -> float | list[float] | None: ... class _CompressedValue(bytes): z_val: bytes @@ -123,18 +123,18 @@ class _CompressedValue(bytes): class BlobProperty(Property): def __init__( self, - name: str | None = None, - compressed: bool | None = None, - indexed: bool | None = None, - repeated: bool | None = None, - required: bool | None = None, - default: bytes | None = None, - choices: Iterable[bytes] | None = None, - validator: Callable[[Property, Any], object] | None = None, - verbose_name: str | None = None, - write_empty_list: bool | None = None, + name: str | None = ..., + compressed: bool | None = ..., + indexed: bool | None = ..., + repeated: bool | None = ..., + required: bool | None = ..., + default: bytes | None = ..., + choices: Iterable[bytes] | None = ..., + validator: Callable[[Property, Any], object] | None = ..., + verbose_name: str | None = ..., + write_empty_list: bool | None = ..., ) -> None: ... - def __get__(self, entity: Model, unused_cls: type[Model] | None = None) -> bytes | list[bytes] | None: ... + def __get__(self, entity: Model, unused_cls: type[Model] | None = ...) -> bytes | list[bytes] | None: ... class CompressedTextProperty(BlobProperty): __slots__ = () @@ -143,7 +143,7 @@ class CompressedTextProperty(BlobProperty): class TextProperty(Property): def __new__(cls, *args, **kwargs): ... def __init__(self, *args, **kwargs) -> None: ... - def __get__(self, entity: Model, unused_cls: type[Model] | None = None) -> str | list[str] | None: ... + def __get__(self, entity: Model, unused_cls: type[Model] | None = ...) -> str | list[str] | None: ... class StringProperty(TextProperty): def __init__(self, *args, **kwargs) -> None: ... @@ -154,21 +154,21 @@ class PickleProperty(BlobProperty): ... class JsonProperty(BlobProperty): def __init__( self, - name: str | None = None, - compressed: bool | None = None, - json_type: type | None = None, - indexed: bool | None = None, - repeated: bool | None = None, - required: bool | None = None, + name: str | None = ..., + compressed: bool | None = ..., + json_type: type | None = ..., + indexed: bool | None = ..., + repeated: bool | None = ..., + required: bool | None = ..., default: object = None, - choices: Iterable[object] | None = None, - validator: Callable[[Property, Any], object] | None = None, - verbose_name: str | None = None, - write_empty_list: bool | None = None, + choices: Iterable[object] | None = ..., + validator: Callable[[Property, Any], object] | None = ..., + verbose_name: str | None = ..., + write_empty_list: bool | None = ..., ) -> None: ... class User: - def __init__(self, email: str | None = None, _auth_domain: str | None = None, _user_id: str | None = None) -> None: ... + def __init__(self, email: str | None = ..., _auth_domain: str | None = ..., _user_id: str | None = ...) -> None: ... def nickname(self) -> str: ... def email(self): ... def user_id(self) -> str | None: ... @@ -180,32 +180,32 @@ class User: class UserProperty(Property): def __init__( self, - name: str | None = None, - auto_current_user: bool | None = None, - auto_current_user_add: bool | None = None, - indexed: bool | None = None, - repeated: bool | None = None, - required: bool | None = None, - default: bytes | None = None, - choices: Iterable[bytes] | None = None, - validator: Callable[[Property, Any], object] | None = None, - verbose_name: str | None = None, - write_empty_list: bool | None = None, + name: str | None = ..., + auto_current_user: bool | None = ..., + auto_current_user_add: bool | None = ..., + indexed: bool | None = ..., + repeated: bool | None = ..., + required: bool | None = ..., + default: bytes | None = ..., + choices: Iterable[bytes] | None = ..., + validator: Callable[[Property, Any], object] | None = ..., + verbose_name: str | None = ..., + write_empty_list: bool | None = ..., ) -> None: ... class KeyProperty(Property): def __init__( self, - name: str | None = None, - kind: type[Model] | str | None = None, - indexed: bool | None = None, - repeated: bool | None = None, - required: bool | None = None, - default: key_module.Key | None = None, - choices: Iterable[key_module.Key] | None = None, - validator: Callable[[Property, key_module.Key], key_module.Key] | None = None, - verbose_name: str | None = None, - write_empty_list: bool | None = None, + name: str | None = ..., + kind: type[Model] | str | None = ..., + indexed: bool | None = ..., + repeated: bool | None = ..., + required: bool | None = ..., + default: key_module.Key | None = ..., + choices: Iterable[key_module.Key] | None = ..., + validator: Callable[[Property, key_module.Key], key_module.Key] | None = ..., + verbose_name: str | None = ..., + write_empty_list: bool | None = ..., ) -> None: ... class BlobKeyProperty(Property): ... @@ -213,25 +213,25 @@ class BlobKeyProperty(Property): ... class DateTimeProperty(Property): def __init__( self, - name: str | None = None, - auto_now: bool | None = None, - auto_now_add: bool | None = None, - tzinfo: datetime.tzinfo | None = None, - indexed: bool | None = None, - repeated: bool | None = None, - required: bool | None = None, - default: datetime.datetime | None = None, - choices: Iterable[datetime.datetime] | None = None, - validator: Callable[[Property, Any], object] | None = None, - verbose_name: str | None = None, - write_empty_list: bool | None = None, + name: str | None = ..., + auto_now: bool | None = ..., + auto_now_add: bool | None = ..., + tzinfo: datetime.tzinfo | None = ..., + indexed: bool | None = ..., + repeated: bool | None = ..., + required: bool | None = ..., + default: datetime.datetime | None = ..., + choices: Iterable[datetime.datetime] | None = ..., + validator: Callable[[Property, Any], object] | None = ..., + verbose_name: str | None = ..., + write_empty_list: bool | None = ..., ) -> None: ... class DateProperty(DateTimeProperty): ... class TimeProperty(DateTimeProperty): ... class StructuredProperty(Property): - def __init__(self, model_class: type, name: str | None = None, **kwargs) -> None: ... + def __init__(self, model_class: type, name: str | None = ..., **kwargs) -> None: ... def __getattr__(self, attrname: str): ... def IN(self, value: Iterable[object]) -> query_module.DisjunctionNode | query_module.FalseNode: ... # type: ignore[override] @@ -239,16 +239,16 @@ class LocalStructuredProperty(BlobProperty): def __init__(self, model_class: type[Model], **kwargs) -> None: ... class GenericProperty(Property): - def __init__(self, name: str | None = None, compressed: bool = False, **kwargs) -> None: ... + def __init__(self, name: str | None = ..., compressed: bool = ..., **kwargs) -> None: ... class ComputedProperty(GenericProperty): def __init__( self, func: Callable[[Model], object], - name: str | None = None, - indexed: bool | None = None, - repeated: bool | None = None, - verbose_name: str | None = None, + name: str | None = ..., + indexed: bool | None = ..., + repeated: bool | None = ..., + verbose_name: str | None = ..., ) -> None: ... class MetaModel(type): @@ -268,147 +268,147 @@ class Model(_NotEqualMixin, metaclass=MetaModel): @classmethod def allocate_ids( cls: type[Model], - size: int | None = None, - max: int | None = None, - parent: key_module.Key | None = None, - retries: int | None = None, - timeout: float | None = None, - deadline: float | None = None, - use_cache: bool | None = None, - use_global_cache: bool | None = None, - global_cache_timeout: int | None = None, - use_datastore: bool | None = None, - use_memcache: bool | None = None, - memcache_timeout: int | None = None, - max_memcache_items: int | None = None, - force_writes: bool | None = None, - _options=None, + size: int | None = ..., + max: int | None = ..., + parent: key_module.Key | None = ..., + retries: int | None = ..., + timeout: float | None = ..., + deadline: float | None = ..., + use_cache: bool | None = ..., + use_global_cache: bool | None = ..., + global_cache_timeout: int | None = ..., + use_datastore: bool | None = ..., + use_memcache: bool | None = ..., + memcache_timeout: int | None = ..., + max_memcache_items: int | None = ..., + force_writes: bool | None = ..., + _options=..., ) -> tuple[key_module.Key, key_module.Key]: ... @classmethod def allocate_ids_async( cls: type[Model], - size: int | None = None, - max: int | None = None, - parent: key_module.Key | None = None, - retries: int | None = None, - timeout: float | None = None, - deadline: float | None = None, - use_cache: bool | None = None, - use_global_cache: bool | None = None, - global_cache_timeout: int | None = None, - use_datastore: bool | None = None, - use_memcache: bool | None = None, - memcache_timeout: int | None = None, - max_memcache_items: int | None = None, - force_writes: bool | None = None, - _options=None, + size: int | None = ..., + max: int | None = ..., + parent: key_module.Key | None = ..., + retries: int | None = ..., + timeout: float | None = ..., + deadline: float | None = ..., + use_cache: bool | None = ..., + use_global_cache: bool | None = ..., + global_cache_timeout: int | None = ..., + use_datastore: bool | None = ..., + use_memcache: bool | None = ..., + memcache_timeout: int | None = ..., + max_memcache_items: int | None = ..., + force_writes: bool | None = ..., + _options=..., ) -> tasklets_module.Future: ... @classmethod def get_by_id( - cls, + cls: type[Model], id: int | str | None, - parent: key_module.Key | None = None, - namespace: str | None = None, - project: str | None = None, - app: str | None = None, - read_consistency: Literal["EVENTUAL"] | None = None, - read_policy: Literal["EVENTUAL"] | None = None, - transaction: bytes | None = None, - retries: int | None = None, - timeout: float | None = None, - deadline: float | None = None, - use_cache: bool | None = None, - use_global_cache: bool | None = None, - global_cache_timeout: int | None = None, - use_datastore: bool | None = None, - use_memcache: bool | None = None, - memcache_timeout: int | None = None, - max_memcache_items: int | None = None, - force_writes: bool | None = None, - _options=None, + parent: key_module.Key | None = ..., + namespace: str | None = ..., + project: str | None = ..., + app: str | None = ..., + read_consistency: Literal["EVENTUAL"] | None = ..., + read_policy: Literal["EVENTUAL"] | None = ..., + transaction: bytes | None = ..., + retries: int | None = ..., + timeout: float | None = ..., + deadline: float | None = ..., + use_cache: bool | None = ..., + use_global_cache: bool | None = ..., + global_cache_timeout: int | None = ..., + use_datastore: bool | None = ..., + use_memcache: bool | None = ..., + memcache_timeout: int | None = ..., + max_memcache_items: int | None = ..., + force_writes: bool | None = ..., + _options=..., database: str | None = None, - ) -> Self | None: ... + ) -> Model | None: ... @classmethod def get_by_id_async( cls: type[Model], id: int | str, - parent: key_module.Key | None = None, - namespace: str | None = None, - project: str | None = None, - app: str | None = None, - read_consistency: Literal["EVENTUAL"] | None = None, - read_policy: Literal["EVENTUAL"] | None = None, - transaction: bytes | None = None, - retries: int | None = None, - timeout: float | None = None, - deadline: float | None = None, - use_cache: bool | None = None, - use_global_cache: bool | None = None, - global_cache_timeout: int | None = None, - use_datastore: bool | None = None, - use_memcache: bool | None = None, - memcache_timeout: int | None = None, - max_memcache_items: int | None = None, - force_writes: bool | None = None, - _options=None, + parent: key_module.Key | None = ..., + namespace: str | None = ..., + project: str | None = ..., + app: str | None = ..., + read_consistency: Literal["EVENTUAL"] | None = ..., + read_policy: Literal["EVENTUAL"] | None = ..., + transaction: bytes | None = ..., + retries: int | None = ..., + timeout: float | None = ..., + deadline: float | None = ..., + use_cache: bool | None = ..., + use_global_cache: bool | None = ..., + global_cache_timeout: int | None = ..., + use_datastore: bool | None = ..., + use_memcache: bool | None = ..., + memcache_timeout: int | None = ..., + max_memcache_items: int | None = ..., + force_writes: bool | None = ..., + _options=..., database: str | None = None, ) -> tasklets_module.Future: ... @classmethod def get_or_insert( - cls, + cls: type[Model], _name: str, - parent: key_module.Key | None = None, - namespace: str | None = None, - project: str | None = None, - app: str | None = None, - read_consistency: Literal["EVENTUAL"] | None = None, - read_policy: Literal["EVENTUAL"] | None = None, - transaction: bytes | None = None, - retries: int | None = None, - timeout: float | None = None, - deadline: float | None = None, - use_cache: bool | None = None, - use_global_cache: bool | None = None, - global_cache_timeout: int | None = None, - use_datastore: bool | None = None, - use_memcache: bool | None = None, - memcache_timeout: int | None = None, - max_memcache_items: int | None = None, - force_writes: bool | None = None, - _options=None, + parent: key_module.Key | None = ..., + namespace: str | None = ..., + project: str | None = ..., + app: str | None = ..., + read_consistency: Literal["EVENTUAL"] | None = ..., + read_policy: Literal["EVENTUAL"] | None = ..., + transaction: bytes | None = ..., + retries: int | None = ..., + timeout: float | None = ..., + deadline: float | None = ..., + use_cache: bool | None = ..., + use_global_cache: bool | None = ..., + global_cache_timeout: int | None = ..., + use_datastore: bool | None = ..., + use_memcache: bool | None = ..., + memcache_timeout: int | None = ..., + max_memcache_items: int | None = ..., + force_writes: bool | None = ..., + _options=..., **kw_model_args, - ) -> Self: ... + ) -> Model: ... @classmethod def get_or_insert_async( cls: type[Model], _name: str, - parent: key_module.Key | None = None, - namespace: str | None = None, - project: str | None = None, - app: str | None = None, - read_consistency: Literal["EVENTUAL"] | None = None, - read_policy: Literal["EVENTUAL"] | None = None, - transaction: bytes | None = None, - retries: int | None = None, - timeout: float | None = None, - deadline: float | None = None, - use_cache: bool | None = None, - use_global_cache: bool | None = None, - global_cache_timeout: int | None = None, - use_datastore: bool | None = None, - use_memcache: bool | None = None, - memcache_timeout: int | None = None, - max_memcache_items: int | None = None, - force_writes: bool | None = None, - _options=None, + parent: key_module.Key | None = ..., + namespace: str | None = ..., + project: str | None = ..., + app: str | None = ..., + read_consistency: Literal["EVENTUAL"] | None = ..., + read_policy: Literal["EVENTUAL"] | None = ..., + transaction: bytes | None = ..., + retries: int | None = ..., + timeout: float | None = ..., + deadline: float | None = ..., + use_cache: bool | None = ..., + use_global_cache: bool | None = ..., + global_cache_timeout: int | None = ..., + use_datastore: bool | None = ..., + use_memcache: bool | None = ..., + memcache_timeout: int | None = ..., + max_memcache_items: int | None = ..., + force_writes: bool | None = ..., + _options=..., **kw_model_args, ) -> tasklets_module.Future: ... def populate(self, **kwargs) -> None: ... def has_complete_key(self) -> bool: ... def to_dict( self, - include: list[object] | tuple[object, object] | set[object] | None = None, - exclude: list[object] | tuple[object, object] | set[object] | None = None, + include: list[object] | tuple[object, object] | set[object] | None = ..., + exclude: list[object] | tuple[object, object] | set[object] | None = ..., ): ... class Expando(Model): @@ -418,98 +418,98 @@ class Expando(Model): def get_multi_async( keys: Sequence[key_module.Key], - read_consistency: Literal["EVENTUAL"] | None = None, - read_policy: Literal["EVENTUAL"] | None = None, - transaction: bytes | None = None, - retries: int | None = None, - timeout: float | None = None, - deadline: float | None = None, - use_cache: bool | None = None, - use_global_cache: bool | None = None, - global_cache_timeout: int | None = None, - use_datastore: bool | None = None, - use_memcache: bool | None = None, - memcache_timeout: int | None = None, - max_memcache_items: int | None = None, - force_writes: bool | None = None, + read_consistency: Literal["EVENTUAL"] | None = ..., + read_policy: Literal["EVENTUAL"] | None = ..., + transaction: bytes | None = ..., + retries: int | None = ..., + timeout: float | None = ..., + deadline: float | None = ..., + use_cache: bool | None = ..., + use_global_cache: bool | None = ..., + global_cache_timeout: int | None = ..., + use_datastore: bool | None = ..., + use_memcache: bool | None = ..., + memcache_timeout: int | None = ..., + max_memcache_items: int | None = ..., + force_writes: bool | None = ..., _options: object = None, ) -> list[tasklets_module.Future]: ... def get_multi( keys: Sequence[key_module.Key], - read_consistency: Literal["EVENTUAL"] | None = None, - read_policy: Literal["EVENTUAL"] | None = None, - transaction: bytes | None = None, - retries: int | None = None, - timeout: float | None = None, - deadline: float | None = None, - use_cache: bool | None = None, - use_global_cache: bool | None = None, - global_cache_timeout: int | None = None, - use_datastore: bool | None = None, - use_memcache: bool | None = None, - memcache_timeout: int | None = None, - max_memcache_items: int | None = None, - force_writes: bool | None = None, + read_consistency: Literal["EVENTUAL"] | None = ..., + read_policy: Literal["EVENTUAL"] | None = ..., + transaction: bytes | None = ..., + retries: int | None = ..., + timeout: float | None = ..., + deadline: float | None = ..., + use_cache: bool | None = ..., + use_global_cache: bool | None = ..., + global_cache_timeout: int | None = ..., + use_datastore: bool | None = ..., + use_memcache: bool | None = ..., + memcache_timeout: int | None = ..., + max_memcache_items: int | None = ..., + force_writes: bool | None = ..., _options: object = None, ) -> list[Model | None]: ... def put_multi_async( entities: list[Model], - retries: int | None = None, - timeout: float | None = None, - deadline: float | None = None, - use_cache: bool | None = None, - use_global_cache: bool | None = None, - global_cache_timeout: int | None = None, - use_datastore: bool | None = None, - use_memcache: bool | None = None, - memcache_timeout: int | None = None, - max_memcache_items: int | None = None, - force_writes: bool | None = None, + retries: int | None = ..., + timeout: float | None = ..., + deadline: float | None = ..., + use_cache: bool | None = ..., + use_global_cache: bool | None = ..., + global_cache_timeout: int | None = ..., + use_datastore: bool | None = ..., + use_memcache: bool | None = ..., + memcache_timeout: int | None = ..., + max_memcache_items: int | None = ..., + force_writes: bool | None = ..., _options: object = None, ) -> list[tasklets_module.Future]: ... def put_multi( entities: list[Model], - retries: int | None = None, - timeout: float | None = None, - deadline: float | None = None, - use_cache: bool | None = None, - use_global_cache: bool | None = None, - global_cache_timeout: int | None = None, - use_datastore: bool | None = None, - use_memcache: bool | None = None, - memcache_timeout: int | None = None, - max_memcache_items: int | None = None, - force_writes: bool | None = None, + retries: int | None = ..., + timeout: float | None = ..., + deadline: float | None = ..., + use_cache: bool | None = ..., + use_global_cache: bool | None = ..., + global_cache_timeout: int | None = ..., + use_datastore: bool | None = ..., + use_memcache: bool | None = ..., + memcache_timeout: int | None = ..., + max_memcache_items: int | None = ..., + force_writes: bool | None = ..., _options: object = None, ) -> list[key_module.Key]: ... def delete_multi_async( keys: Sequence[key_module.Key], - retries: int | None = None, - timeout: float | None = None, - deadline: float | None = None, - use_cache: bool | None = None, - use_global_cache: bool | None = None, - global_cache_timeout: int | None = None, - use_datastore: bool | None = None, - use_memcache: bool | None = None, - memcache_timeout: int | None = None, - max_memcache_items: int | None = None, - force_writes: bool | None = None, + retries: int | None = ..., + timeout: float | None = ..., + deadline: float | None = ..., + use_cache: bool | None = ..., + use_global_cache: bool | None = ..., + global_cache_timeout: int | None = ..., + use_datastore: bool | None = ..., + use_memcache: bool | None = ..., + memcache_timeout: int | None = ..., + max_memcache_items: int | None = ..., + force_writes: bool | None = ..., _options: object = None, ) -> list[tasklets_module.Future]: ... def delete_multi( keys: Sequence[key_module.Key], - retries: int | None = None, - timeout: float | None = None, - deadline: float | None = None, - use_cache: bool | None = None, - use_global_cache: bool | None = None, - global_cache_timeout: int | None = None, - use_datastore: bool | None = None, - use_memcache: bool | None = None, - memcache_timeout: int | None = None, - max_memcache_items: int | None = None, - force_writes: bool | None = None, + retries: int | None = ..., + timeout: float | None = ..., + deadline: float | None = ..., + use_cache: bool | None = ..., + use_global_cache: bool | None = ..., + global_cache_timeout: int | None = ..., + use_datastore: bool | None = ..., + use_memcache: bool | None = ..., + memcache_timeout: int | None = ..., + max_memcache_items: int | None = ..., + force_writes: bool | None = ..., _options: object = None, ) -> list[None]: ... def get_indexes_async(**options: Unused) -> Never: ... diff --git a/stubs/google-cloud-ndb/google/cloud/ndb/polymodel.pyi b/stubs/google-cloud-ndb/google/cloud/ndb/polymodel.pyi index 3730e8669ba8..29d9aa8b5f8a 100644 --- a/stubs/google-cloud-ndb/google/cloud/ndb/polymodel.pyi +++ b/stubs/google-cloud-ndb/google/cloud/ndb/polymodel.pyi @@ -3,7 +3,7 @@ from _typeshed import Incomplete from google.cloud.ndb import model class _ClassKeyProperty(model.StringProperty): - def __init__(self, name="class", indexed: bool = True) -> None: ... + def __init__(self, name=..., indexed: bool = ...) -> None: ... class PolyModel(model.Model): class_: Incomplete diff --git a/stubs/google-cloud-ndb/google/cloud/ndb/query.pyi b/stubs/google-cloud-ndb/google/cloud/ndb/query.pyi index 2c067bb8f368..4f926d6ad8c2 100644 --- a/stubs/google-cloud-ndb/google/cloud/ndb/query.pyi +++ b/stubs/google-cloud-ndb/google/cloud/ndb/query.pyi @@ -5,7 +5,7 @@ from google.cloud.ndb import _options class PropertyOrder: name: Incomplete reverse: Incomplete - def __init__(self, name, reverse: bool = False) -> None: ... + def __init__(self, name, reverse: bool = ...) -> None: ... def __neg__(self): ... class RepeatedStructuredPropertyPredicate: @@ -110,7 +110,7 @@ class QueryOptions(_options.ReadOptions): project: Incomplete namespace: Incomplete database: str | None - def __init__(self, config=None, context=None, **kwargs) -> None: ... + def __init__(self, config: Incomplete | None = ..., context: Incomplete | None = ..., **kwargs) -> None: ... class Query: default_options: Incomplete @@ -128,21 +128,21 @@ class Query: database: str | None def __init__( self, - kind=None, - filters=None, - ancestor=None, - order_by=None, - orders=None, - project=None, - app=None, - namespace=None, - projection=None, - distinct_on=None, - group_by=None, - limit=None, - offset=None, - keys_only=None, - default_options=None, + kind: Incomplete | None = ..., + filters: Incomplete | None = ..., + ancestor: Incomplete | None = ..., + order_by: Incomplete | None = ..., + orders: Incomplete | None = ..., + project: Incomplete | None = ..., + app: Incomplete | None = ..., + namespace: Incomplete | None = ..., + projection: Incomplete | None = ..., + distinct_on: Incomplete | None = ..., + group_by: Incomplete | None = ..., + limit: Incomplete | None = ..., + offset: Incomplete | None = ..., + keys_only: Incomplete | None = ..., + default_options: Incomplete | None = ..., ) -> None: ... @property def is_distinct(self): ... @@ -150,17 +150,17 @@ class Query: def order(self, *props): ... def analyze(self): ... def bind(self, *positional, **keyword): ... - def fetch(self, limit=None, **kwargs): ... - def fetch_async(self, limit=None, **kwargs): ... - def run_to_queue(self, queue, conn, options=None, dsquery=None) -> None: ... + def fetch(self, limit: Incomplete | None = ..., **kwargs): ... + def fetch_async(self, limit: Incomplete | None = ..., **kwargs): ... + def run_to_queue(self, queue, conn, options: Incomplete | None = ..., dsquery: Incomplete | None = ...) -> None: ... def iter(self, **kwargs): ... __iter__: Incomplete def map(self, callback, **kwargs): ... def map_async(self, callback, **kwargs) -> None: ... def get(self, **kwargs): ... def get_async(self, **kwargs) -> None: ... - def count(self, limit=None, **kwargs): ... - def count_async(self, limit=None, **kwargs): ... + def count(self, limit: Incomplete | None = ..., **kwargs): ... + def count_async(self, limit: Incomplete | None = ..., **kwargs): ... def fetch_page(self, page_size, **kwargs): ... def fetch_page_async(self, page_size, **kwargs) -> None: ... diff --git a/stubs/google-cloud-ndb/google/cloud/ndb/tasklets.pyi b/stubs/google-cloud-ndb/google/cloud/ndb/tasklets.pyi index 81966706c1e3..8788f40f6c16 100644 --- a/stubs/google-cloud-ndb/google/cloud/ndb/tasklets.pyi +++ b/stubs/google-cloud-ndb/google/cloud/ndb/tasklets.pyi @@ -2,7 +2,7 @@ from _typeshed import Incomplete class Future: info: Incomplete - def __init__(self, info: str = "Unknown") -> None: ... + def __init__(self, info: str = ...) -> None: ... def done(self): ... def running(self): ... def wait(self) -> None: ... @@ -26,7 +26,7 @@ class _TaskletFuture(Future): generator: Incomplete context: Incomplete waiting_on: Incomplete - def __init__(self, generator, context, info: str = "Unknown") -> None: ... + def __init__(self, generator, context, info: str = ...) -> None: ... def cancel(self) -> None: ... class _MultiFuture(Future): diff --git a/stubs/gunicorn/@tests/stubtest_allowlist.txt b/stubs/gunicorn/@tests/stubtest_allowlist.txt index 771d1891e68d..c5b7678827c3 100644 --- a/stubs/gunicorn/@tests/stubtest_allowlist.txt +++ b/stubs/gunicorn/@tests/stubtest_allowlist.txt @@ -7,8 +7,3 @@ gunicorn.__main__ # Internal API stuff: gunicorn.config.Config.forwarded_allow_networks gunicorn.config.Config.proxy_allow_networks - -# Set to None on class, but initialized to non-None value in __init__ -gunicorn.http.message.Message.scheme -gunicorn.http2.request.HTTP2Request.scheme -gunicorn.http2.request.HTTP2Request.version diff --git a/stubs/gunicorn/METADATA.toml b/stubs/gunicorn/METADATA.toml index 60913393ea88..3725c9c6add0 100644 --- a/stubs/gunicorn/METADATA.toml +++ b/stubs/gunicorn/METADATA.toml @@ -1,4 +1,4 @@ -version = "26.2.0" +version = "26.0.0" upstream-repository = "https://github.com/benoitc/gunicorn" optional-dependencies = ["types-gevent"] diff --git a/stubs/gunicorn/gunicorn/arbiter.pyi b/stubs/gunicorn/gunicorn/arbiter.pyi index 422a711477c6..15710a89669d 100644 --- a/stubs/gunicorn/gunicorn/arbiter.pyi +++ b/stubs/gunicorn/gunicorn/arbiter.pyi @@ -75,6 +75,5 @@ class Arbiter: def kill_worker(self, pid: int, sig: int) -> None: ... def spawn_dirty_arbiter(self) -> int | None: ... def kill_dirty_arbiter(self, sig: int) -> None: ... - def handle_dirty_arbiter_exit(self, wpid: int, status: int) -> None: ... def reap_dirty_arbiter(self) -> None: ... def manage_dirty_arbiter(self) -> None: ... diff --git a/stubs/gunicorn/gunicorn/asgi/parser.pyi b/stubs/gunicorn/gunicorn/asgi/parser.pyi index 294d7681f0e0..f98f04a0f178 100644 --- a/stubs/gunicorn/gunicorn/asgi/parser.pyi +++ b/stubs/gunicorn/gunicorn/asgi/parser.pyi @@ -54,8 +54,6 @@ class UnsupportedTransferCoding(ParseError): ... class InvalidChunkSize(ParseError): ... class InvalidChunkExtension(ParseError): ... -RFC9110_5_3_SINGLETON_FIELDS: Final[frozenset[bytes]] - class PythonProtocol: __slots__ = ( "_on_message_begin", @@ -115,9 +113,6 @@ class PythonProtocol: proxy_protocol: Literal["off", "v1", "v2", "auto"] = "off", ) -> None: ... def feed(self, data: Iterable[SupportsIndex]) -> None: ... - def remaining(self) -> bytes: ... - @property - def remaining_truncated(self) -> Literal[False]: ... @property def proxy_protocol_info(self) -> _ProxyProtocolInfo | _ProxyProtocolInfoUnknown | None: ... def reset(self) -> None: ... diff --git a/stubs/gunicorn/gunicorn/config.pyi b/stubs/gunicorn/gunicorn/config.pyi index 390a6d591365..8eabbee8eddd 100644 --- a/stubs/gunicorn/gunicorn/config.pyi +++ b/stubs/gunicorn/gunicorn/config.pyi @@ -76,7 +76,6 @@ _ASGILifespanValidatorType: TypeAlias = Callable[[str | None], str] _HTTP2FrameSizeValidatorType: TypeAlias = Callable[[ConvertibleToInt], int] _HTTPProtocolsValidatorType: TypeAlias = Callable[[str | None], list[str]] _HttpParserValidatorType: TypeAlias = Callable[[str | None], str] -_HTTP2CleartextValidatorType: TypeAlias = Callable[[str | bool | None], str] _ValidatorType: TypeAlias = ( # noqa: Y047 _BoolValidatorType @@ -94,7 +93,6 @@ _ValidatorType: TypeAlias = ( # noqa: Y047 | _HTTP2FrameSizeValidatorType | _HTTPProtocolsValidatorType | _HttpParserValidatorType - | _HTTP2CleartextValidatorType ) KNOWN_SETTINGS: list[Setting] @@ -171,8 +169,6 @@ class Setting(metaclass=SettingMeta): __cmp__ = __lt__ -def validate_http2_cleartext(val: str | bool | None) -> str: ... - @overload def validate_bool(val: bool) -> bool: ... @overload @@ -196,7 +192,7 @@ def validate_file_exists(val: str) -> str: ... def validate_file_exists(val: None) -> None: ... def validate_list_string(val: str | list[str] | None) -> list[str]: ... -def validate_list_of_files_or_patterns(val: str | list[str] | None) -> list[str]: ... +def validate_list_of_existing_files(val: str | list[str] | None) -> list[str]: ... def validate_string_to_addr_list(val: str | None) -> list[str]: ... def validate_string_to_list(val: str | None) -> list[str]: ... @@ -1058,15 +1054,6 @@ class HTTPProtocols(Setting): default: ClassVar[str] desc: ClassVar[str] -class HTTP2Cleartext(Setting): - name: ClassVar[str] - section: ClassVar[str] - cli: ClassVar[list[str]] - meta: ClassVar[str] - validator: ClassVar[_HTTP2CleartextValidatorType] - default: ClassVar[str] - desc: ClassVar[str] - class HTTP2MaxConcurrentStreams(Setting): name: ClassVar[str] section: ClassVar[str] diff --git a/stubs/gunicorn/gunicorn/http/errors.pyi b/stubs/gunicorn/gunicorn/http/errors.pyi index 0e775b72a6f4..a7698a0973bc 100644 --- a/stubs/gunicorn/gunicorn/http/errors.pyi +++ b/stubs/gunicorn/gunicorn/http/errors.pyi @@ -102,7 +102,3 @@ class ForbiddenProxyRequest(ParseException): def __init__(self, host: str) -> None: ... class InvalidSchemeHeaders(ParseException): ... - -class InvalidH2CPreface(ParseException): - data: bytes - def __init__(self, data: bytes) -> None: ... diff --git a/stubs/gunicorn/gunicorn/http/message.pyi b/stubs/gunicorn/gunicorn/http/message.pyi index c7b7da7d5e12..4819ab116870 100644 --- a/stubs/gunicorn/gunicorn/http/message.pyi +++ b/stubs/gunicorn/gunicorn/http/message.pyi @@ -1,7 +1,7 @@ import io import re from enum import IntEnum -from typing import Final, Literal +from typing import Final from gunicorn.config import Config from gunicorn.http.body import Body @@ -36,13 +36,8 @@ METHOD_BADCHAR_RE: Final[re.Pattern[str]] VERSION_RE: Final[re.Pattern[str]] RFC9110_5_5_INVALID_AND_DANGEROUS: Final[re.Pattern[str]] RFC9110_6_5_1_FORBIDDEN_TRAILER: Final[frozenset[str]] -RFC9110_5_3_SINGLETON_FIELDS: Final[frozenset[str]] -class HeaderPolicy: - scheme: str | None - version: tuple[int, int] | None - -class Message(HeaderPolicy): +class Message: cfg: Config unreader: Unreader peer_addr: _AddressType @@ -51,7 +46,7 @@ class Message(HeaderPolicy): headers: list[tuple[str, str]] trailers: list[tuple[str, str]] body: Body | None - scheme: Literal["https", "http"] + scheme: str must_close: bool limit_request_fields: int limit_request_field_size: int diff --git a/stubs/gunicorn/gunicorn/http/unreader.pyi b/stubs/gunicorn/gunicorn/http/unreader.pyi index bfc9992b9506..be3da9d5d948 100644 --- a/stubs/gunicorn/gunicorn/http/unreader.pyi +++ b/stubs/gunicorn/gunicorn/http/unreader.pyi @@ -8,7 +8,6 @@ class Unreader: def __init__(self) -> None: ... def chunk(self) -> bytes: ... - def take_buffered(self) -> bytes: ... def read(self, size: int | None = None) -> bytes: ... def unread(self, data: ReadableBuffer) -> None: ... diff --git a/stubs/gunicorn/gunicorn/http/wsgi.pyi b/stubs/gunicorn/gunicorn/http/wsgi.pyi index cbf843149c9d..3c44489fd5c7 100644 --- a/stubs/gunicorn/gunicorn/http/wsgi.pyi +++ b/stubs/gunicorn/gunicorn/http/wsgi.pyi @@ -2,9 +2,9 @@ import io import logging import re import socket -from _typeshed import Incomplete, ReadableBuffer, Unused +from _typeshed import ReadableBuffer, Unused from collections.abc import Callable -from typing import Any, Final, Protocol, overload, type_check_only +from typing import Any, Final, Protocol, type_check_only from typing_extensions import Self from gunicorn.config import Config @@ -44,27 +44,9 @@ class WSGIErrorsWrapper(io.RawIOBase): def base_environ(cfg: Config) -> _EnvironType: ... def default_environ(req: Request, sock: socket.socket, cfg: Config) -> _EnvironType: ... def proxy_environ(req: Request) -> _EnvironType: ... - -@overload def create( - req: Request, - sock: socket.socket, - client: _AddressType, - server: _AddressType, - cfg: Config, - response_class: type[Response] | None = None, - response_args: tuple[Incomplete, ...] = (), + req: Request, sock: socket.socket, client: _AddressType, server: _AddressType, cfg: Config ) -> tuple[Response, _EnvironType]: ... -@overload -def create( - req: Request, - sock: socket.socket, - client: _AddressType, - server: _AddressType, - cfg: Config, - response_class: type[Incomplete], - response_args: tuple[Incomplete, ...] = (), -) -> tuple[Incomplete, _EnvironType]: ... class Response: req: Request diff --git a/stubs/gunicorn/gunicorn/http2/async_connection.pyi b/stubs/gunicorn/gunicorn/http2/async_connection.pyi index 1cc1d687ea03..12fbc8524366 100644 --- a/stubs/gunicorn/gunicorn/http2/async_connection.pyi +++ b/stubs/gunicorn/gunicorn/http2/async_connection.pyi @@ -4,7 +4,6 @@ from collections.abc import Iterable from typing import ClassVar from gunicorn.config import Config -from gunicorn.http.message import Request from gunicorn.http2.connection import _H2Connection from gunicorn.http2.request import HTTP2Request from gunicorn.http2.stream import HTTP2Stream @@ -26,9 +25,6 @@ class AsyncHTTP2Connection: def __init__(self, cfg: Config, reader: StreamReader, writer: StreamWriter, client_addr: _AddressType) -> None: ... async def initiate_connection(self) -> None: ... - async def initiate_upgrade( - self, settings_header: bytes | None, http1_req: Request, body: bytes | None = b"" - ) -> HTTP2Request: ... async def receive_data(self, timeout: float | None = None) -> list[HTTP2Request]: ... async def send_informational(self, stream_id: int, status: int, headers: Iterable[tuple[str, Incomplete]]) -> None: ... async def send_response( diff --git a/stubs/gunicorn/gunicorn/http2/connection.pyi b/stubs/gunicorn/gunicorn/http2/connection.pyi index d4425d160b6d..5ef587127e7f 100644 --- a/stubs/gunicorn/gunicorn/http2/connection.pyi +++ b/stubs/gunicorn/gunicorn/http2/connection.pyi @@ -4,7 +4,6 @@ from ssl import SSLSocket from typing import Any, ClassVar, TypeAlias from gunicorn.config import Config -from gunicorn.http.message import Request from gunicorn.http2.request import HTTP2Request from gunicorn.http2.stream import HTTP2Stream @@ -26,13 +25,8 @@ class HTTP2ServerConnection: def __init__(self, cfg: Config, sock: SSLSocket, client_addr: _AddressType) -> None: ... def initiate_connection(self) -> None: ... - def initiate_upgrade(self, settings_header: bytes | None, http1_req: Request, body: bytes | None = None) -> HTTP2Request: ... def receive_data(self, data: bytes | None = None) -> list[HTTP2Request]: ... def send_informational(self, stream_id: int, status: int, headers: Iterable[tuple[str, Incomplete]]) -> None: ... - def send_response_headers( - self, stream_id: int, status: int, headers: Iterable[tuple[str, Incomplete]], end_stream: bool = False - ) -> bool: ... - def end_stream(self, stream_id: int, trailers: Iterable[tuple[str, Incomplete]] | None = None) -> bool: ... def send_response( self, stream_id: int, status: int, headers: Iterable[tuple[str, Incomplete]], body: bytes | None = None ) -> bool: ... diff --git a/stubs/gunicorn/gunicorn/http2/negotiation.pyi b/stubs/gunicorn/gunicorn/http2/negotiation.pyi deleted file mode 100644 index f6e8bef46fdc..000000000000 --- a/stubs/gunicorn/gunicorn/http2/negotiation.pyi +++ /dev/null @@ -1,27 +0,0 @@ -import socket -from typing import Final, Literal, Protocol, type_check_only - -from gunicorn.config import Config - -from .._types import _AddressType - -@type_check_only -class _HasHeaders(Protocol): - headers: list[tuple[str, str]] - -H2C_PREFACE: Final = b"PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" -H2C_PREFACE_TIMEOUT: Final = 1.0 -MATCH: Final = "match" -PARTIAL: Final = "partial" -MISMATCH: Final = "mismatch" - -def preface_match(buf: bytes) -> Literal["match", "mismatch", "partial"]: ... -def peer_trusted_for_h2c(cfg: Config, peer_addr: _AddressType) -> bool: ... -def prior_knowledge_allowed(cfg: Config, peer_addr: _AddressType) -> bool: ... -def mismatch_is_error(cfg: Config) -> bool: ... -def upgrade_allowed(cfg: Config, peer_addr: _AddressType) -> bool: ... -def read_preface_blocking(sock: socket.socket, timeout: float | None = None) -> tuple[bool, bytes]: ... - -UPGRADE_101: Final[bytes] - -def upgrade_settings(req: _HasHeaders) -> bytes | None: ... diff --git a/stubs/gunicorn/gunicorn/http2/request.pyi b/stubs/gunicorn/gunicorn/http2/request.pyi index ae156235adce..b9a3a377d865 100644 --- a/stubs/gunicorn/gunicorn/http2/request.pyi +++ b/stubs/gunicorn/gunicorn/http2/request.pyi @@ -3,7 +3,6 @@ from collections.abc import Iterator from typing import Literal from gunicorn.config import Config -from gunicorn.http.message import HeaderPolicy from gunicorn.http2.stream import HTTP2Stream from .._types import _AddressType @@ -18,7 +17,7 @@ class HTTP2Body: def __len__(self) -> int: ... def close(self) -> None: ... -class HTTP2Request(HeaderPolicy): +class HTTP2Request: stream: HTTP2Stream cfg: Config peer_addr: _AddressType diff --git a/stubs/gunicorn/gunicorn/http2/response.pyi b/stubs/gunicorn/gunicorn/http2/response.pyi deleted file mode 100644 index 660fdf8b336c..000000000000 --- a/stubs/gunicorn/gunicorn/http2/response.pyi +++ /dev/null @@ -1,17 +0,0 @@ -import socket - -from gunicorn.config import Config -from gunicorn.http import Request -from gunicorn.http.wsgi import Response -from gunicorn.http2.connection import HTTP2ServerConnection - -class HTTP2Response(Response): - h2_conn: HTTP2ServerConnection - stream_id: int - def __init__( - self, req: Request, sock: socket.socket, cfg: Config, h2_conn: HTTP2ServerConnection, stream_id: int - ) -> None: ... - def is_chunked(self) -> bool: ... - def can_sendfile(self) -> bool: ... - def send_headers(self) -> None: ... - def close(self) -> None: ... diff --git a/stubs/gunicorn/gunicorn/util.pyi b/stubs/gunicorn/gunicorn/util.pyi index f635cef2e69b..bc71a50e5d2b 100644 --- a/stubs/gunicorn/gunicorn/util.pyi +++ b/stubs/gunicorn/gunicorn/util.pyi @@ -1,19 +1,16 @@ import types from _typeshed import FileDescriptorLike, FileDescriptorOrPath, StrOrBytesPath from inspect import _IntrospectableCallable, _ParameterKind -from re import Pattern from socket import socket -from typing import Any, Final, Literal +from typing import Any, Literal from typing_extensions import Never from urllib.parse import SplitResult from ._types import _AddressType, _WSGIAppType -REDIRECT_TO: Final[str] -GLOB_MAGIC_RE: Final[Pattern[str]] +REDIRECT_TO: str hop_headers: set[str] -def is_glob_pattern(value: str) -> bool: ... def load_entry_point(distribution: str, group: str, name: str) -> type[object]: ... def load_class( uri: str | object, default: str = "gunicorn.workers.sync.SyncWorker", section: str = "gunicorn.workers" diff --git a/stubs/gunicorn/gunicorn/workers/base_async.pyi b/stubs/gunicorn/gunicorn/workers/base_async.pyi index 9fc7ea06c383..8a24aaf53b67 100644 --- a/stubs/gunicorn/gunicorn/workers/base_async.pyi +++ b/stubs/gunicorn/gunicorn/workers/base_async.pyi @@ -15,14 +15,7 @@ class AsyncWorker(base.Worker): def timeout_ctx(self) -> None: ... def is_already_handled(self, respiter: object) -> bool: ... def handle(self, listener: socket.socket, client: socket.socket, addr: _AddressType) -> None: ... - def handle_http2( - self, - listener: socket.socket, - client: socket.socket, - addr: _AddressType, - preface: bytes | None = b"", - upgrade: tuple[bytes | None, Request, bytes | None] | None = None, - ) -> None: ... + def handle_http2(self, listener: socket.socket, client: socket.socket, addr: _AddressType) -> None: ... def handle_http2_request( self, listener_name: _AddressType, req: Request, sock: socket.socket, addr: _AddressType, h2_conn: HTTP2ServerConnection ) -> None: ... diff --git a/stubs/gunicorn/gunicorn/workers/gthread.pyi b/stubs/gunicorn/gunicorn/workers/gthread.pyi index 65e5058f9e2e..51fab72f4e07 100644 --- a/stubs/gunicorn/gunicorn/workers/gthread.pyi +++ b/stubs/gunicorn/gunicorn/workers/gthread.pyi @@ -75,7 +75,6 @@ class ThreadWorker(base.Worker): def run(self) -> None: ... def finish_request(self, conn: TConn, fs: Future[bool]) -> None: ... def handle(self, conn: TConn) -> bool: ... - def handle_h2c_upgrade(self, conn: TConn, req: Request, settings: bytes | None) -> bool: ... def handle_http2(self, conn: TConn) -> bool: ... def handle_http2_request(self, req: Request, conn: TConn, h2_conn: HTTP2ServerConnection) -> None: ... def handle_request(self, req: Request, conn: TConn) -> bool: ... diff --git a/stubs/hnswlib/METADATA.toml b/stubs/hnswlib/METADATA.toml index 5fc25ee47d79..df04086d96d4 100644 --- a/stubs/hnswlib/METADATA.toml +++ b/stubs/hnswlib/METADATA.toml @@ -4,8 +4,6 @@ upstream-repository = "https://github.com/nmslib/hnswlib" dependencies = ["numpy>=1.21"] [tool.stubtest] -# hnswlib is source-only and compiles with -march=native by default. CI -# restores pip's wheel cache across runners with different CPUs, so a wheel -# built on one machine can SIGILL on the next. See -# https://github.com/python/typeshed/issues/16100 -install-environment = { HNSWLIB_NO_NATIVE = "1" } +# TODO: stubtest fails on Linux because it gets killed with a SIGILL +# for unknown reasons. See https://github.com/python/typeshed/issues/16100 +ci-platforms = ["darwin"] diff --git a/stubs/hnswlib/hnswlib.pyi b/stubs/hnswlib/hnswlib.pyi index 4a84d55d99f8..3c2656748fa0 100644 --- a/stubs/hnswlib/hnswlib.pyi +++ b/stubs/hnswlib/hnswlib.pyi @@ -41,12 +41,12 @@ class Index: M: int = 16, ef_construction: int = 200, random_seed: int = 100, - allow_replace_deleted: bool = False, + allow_replace_delete: bool = False, ) -> None: ... def knn_query( self, data: ArrayLike, k: int = 1, num_threads: int = -1, filter: Callable[[int], bool] | None = None ) -> tuple[NDArray[np.uint64], NDArray[np.float32]]: ... - def load_index(self, path_to_index: str, max_elements: int = 0, allow_replace_deleted: bool = False) -> None: ... + def load_index(self, path_to_index: str, max_elements: int = 0, allow_replace_delete: bool = False) -> None: ... def mark_deleted(self, label: int) -> None: ... def resize_index(self, new_size: int) -> None: ... def save_index(self, path_to_index: str) -> None: ... diff --git a/stubs/httpretty/METADATA.toml b/stubs/httpretty/METADATA.toml deleted file mode 100644 index 84ef9a4c2452..000000000000 --- a/stubs/httpretty/METADATA.toml +++ /dev/null @@ -1,6 +0,0 @@ -version = "1.1.4" -upstream-repository = "https://github.com/gabrielfalcao/HTTPretty" -partial-stub = true - -[tool.stubtest] -ignore-missing-stub = true diff --git a/stubs/httpretty/httpretty/__init__.pyi b/stubs/httpretty/httpretty/__init__.pyi deleted file mode 100644 index 22b0f3a9b48d..000000000000 --- a/stubs/httpretty/httpretty/__init__.pyi +++ /dev/null @@ -1,39 +0,0 @@ -from typing import Final - -from .core import ( - EmptyRequestHeaders as EmptyRequestHeaders, - Entry as Entry, - HTTPrettyRequest as HTTPrettyRequest, - HTTPrettyRequestEmpty as HTTPrettyRequestEmpty, - URIInfo as URIInfo, - URIMatcher as URIMatcher, - get_default_thread_timeout as get_default_thread_timeout, - httprettified as httprettified, - httprettized as httprettized, - httpretty as httpretty, - set_default_thread_timeout as set_default_thread_timeout, -) -from .errors import HTTPrettyError as HTTPrettyError, UnmockedError as UnmockedError - -__version__: Final[str] -HTTPretty = httpretty -activate = httprettified -enabled = httprettized -enable = httpretty.enable -register_uri = httpretty.register_uri -disable = httpretty.disable -is_enabled = httpretty.is_enabled -reset = httpretty.reset -Response = httpretty.Response -GET: Final = "GET" -PUT: Final = "PUT" -POST: Final = "POST" -DELETE: Final = "DELETE" -HEAD: Final = "HEAD" -PATCH: Final = "PATCH" -OPTIONS: Final = "OPTIONS" -CONNECT: Final = "CONNECT" - -def last_request() -> HTTPrettyRequest | HTTPrettyRequestEmpty: ... -def latest_requests() -> list[HTTPrettyRequest]: ... -def has_request() -> bool: ... diff --git a/stubs/httpretty/httpretty/compat.pyi b/stubs/httpretty/httpretty/compat.pyi deleted file mode 100644 index aa9ef01dc4b4..000000000000 --- a/stubs/httpretty/httpretty/compat.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from typing import TypeVar - -_T = TypeVar("_T") - -class BaseClass: ... - -def encode_obj(in_obj: _T) -> _T: ... diff --git a/stubs/httpretty/httpretty/core.pyi b/stubs/httpretty/httpretty/core.pyi deleted file mode 100644 index d858deefecdb..000000000000 --- a/stubs/httpretty/httpretty/core.pyi +++ /dev/null @@ -1,202 +0,0 @@ -import re -from collections.abc import Callable, Iterable, Mapping -from contextlib import AbstractContextManager -from http.client import HTTPMessage -from types import TracebackType -from typing import Any, Protocol, TypeAlias, overload, type_check_only -from typing_extensions import ParamSpec, TypeVar - -from .http import HttpBaseClass, _HTTPMethod - -_P = ParamSpec("_P") -_R = TypeVar("_R") - -@type_check_only -class _WritableFileobj(Protocol): - def write(self, b: bytes, /) -> object: ... - def seek(self, offset: int, /) -> object: ... - -_URI: TypeAlias = str | re.Pattern[str] -_HeaderValue: TypeAlias = str | int | bool | None -_Headers: TypeAlias = Mapping[str, _HeaderValue] -_Body: TypeAlias = str | bytes -_ResponseBody: TypeAlias = _Body | Callable[[HTTPrettyRequest, str, _Headers], tuple[int, _Headers, _Body]] - -def set_default_thread_timeout(timeout: float) -> None: ... -def get_default_thread_timeout() -> float: ... - -class HTTPrettyRequest(HttpBaseClass): - headers: HTTPMessage - raw_headers: str - path: str - querystring: dict[str, list[str]] - parsed_body: Any # It can be any object after parsing raw (str) body - created_at: float - def __init__( - self, headers: str | bytes, body: _Body = "", sock: object | None = None, path_encoding: str = "iso-8859-1" - ) -> None: ... - @property - def method(self) -> str: ... - @property - def protocol(self) -> str: ... - - @property - def body(self) -> str: ... - @body.setter - def body(self, value: _Body) -> None: ... - - @property - def url(self) -> str: ... - @property - def host(self) -> str: ... - def parse_querystring(self, qs: str) -> dict[str, list[str]]: ... - def parse_request_body(self, body: str) -> Any: ... # Any object can be returned if deserialization is successful - -class EmptyRequestHeaders(dict[str, str]): ... - -class HTTPrettyRequestEmpty: - method: str | None - url: str | None - body: str - headers: EmptyRequestHeaders - -class Entry(HttpBaseClass): - method: _HTTPMethod - uri: str - request: HTTPrettyRequest - body: _Body - status: int - streaming: bool - adding_headers: dict[str, str] - forcing_headers: dict[str, str] - def __init__( - self, - method: str, - uri: str, - body: _ResponseBody, - adding_headers: _Headers | None = None, - forcing_headers: _Headers | None = None, - status: int = 200, - streaming: bool = False, - **headers: str, - ) -> None: ... - def validate(self) -> None: ... - def normalize_headers(self, headers: _Headers) -> dict[str, str]: ... - def fill_filekind(self, fk: _WritableFileobj) -> None: ... - -class URIInfo(HttpBaseClass): - default_str_attrs: tuple[str, ...] - username: str - password: str - hostname: str - port: int - path: str - query: str - scheme: str - fragment: str - last_request: HTTPrettyRequest | None - def __init__( - self, - username: str = "", - password: str = "", - hostname: str = "", - port: int = 80, - path: str = "/", - query: str = "", - fragment: str = "", - scheme: str = "", - last_request: HTTPrettyRequest | None = None, - ) -> None: ... - def to_str(self, attrs: Iterable[str]) -> str: ... - def str_with_query(self) -> str: ... - def full_url(self, use_querystring: bool = True) -> str: ... - def get_full_domain(self) -> str: ... - @classmethod - def from_uri(cls, uri: str, entry: Entry) -> URIInfo: ... - -class URIMatcher: - regex: re.Pattern[str] | None - info: URIInfo | None - entries: list[Entry] - priority: int - uri: _URI - def __init__(self, uri: _URI, entries: Iterable[Entry], match_querystring: bool = False, priority: int = 0) -> None: ... - def matches(self, info: URIInfo) -> bool: ... - def get_next_entry(self, method: _HTTPMethod, info: URIInfo, request: HTTPrettyRequest) -> Entry: ... - -class httpretty(HttpBaseClass): - METHODS: tuple[_HTTPMethod, ...] - latest_requests: list[HTTPrettyRequest] - last_request: HTTPrettyRequest | HTTPrettyRequestEmpty - allow_net_connect: bool - @classmethod - def match_uriinfo(cls, info: URIInfo) -> tuple[Entry | None, list[str]]: ... - @classmethod - def match_https_hostname(cls, hostname: str) -> bool: ... - @classmethod - def match_http_address(cls, hostname: str, port: int) -> bool: ... - @classmethod - def record( - cls, - filename: str, - indentation: int = 4, - encoding: str = "utf-8", - verbose: bool = False, - allow_net_connect: bool = True, - # Passed to urllib3.PoolManager as kwargs, and connection pool's parameters have various types - pool_manager_params: Mapping[str, Any] | None = None, - ) -> AbstractContextManager[None]: ... - @classmethod - def playback(cls, filename: str, allow_net_connect: bool = True, verbose: bool = False) -> AbstractContextManager[None]: ... - @classmethod - def reset(cls) -> None: ... - @classmethod - def historify_request(cls, headers: str | bytes, body: _Body = "", sock: object | None = None) -> HTTPrettyRequest: ... - @classmethod - def register_uri( - cls, - method: str, - uri: _URI, - body: _ResponseBody = '{"message": "HTTPretty :)"}', - adding_headers: _Headers | None = None, - forcing_headers: _Headers | None = None, - status: int = 200, - responses: Iterable[Entry] | None = None, - match_querystring: bool = False, - priority: int = 0, - **headers: str, - ) -> None: ... - @classmethod - def Response( - cls, - body: _ResponseBody, - method: _HTTPMethod | None = None, - uri: str | None = None, - adding_headers: _Headers | None = None, - forcing_headers: _Headers | None = None, - status: int = 200, - streaming: bool = False, - **headers: str, - ) -> Entry: ... - @classmethod - def disable(cls) -> None: ... - @classmethod - def is_enabled(cls) -> bool: ... - @classmethod - def enable(cls, allow_net_connect: bool = True, verbose: bool = False) -> None: ... - -class httprettized: - allow_net_connect: bool - verbose: bool - def __init__(self, allow_net_connect: bool = True, verbose: bool = False) -> None: ... - def __enter__(self) -> None: ... - def __exit__( - self, exc_type: type[BaseException] | None, exc_value: BaseException | None, traceback: TracebackType | None - ) -> None: ... - -@overload -def httprettified(test: Callable[_P, _R]) -> Callable[_P, _R]: ... -@overload -def httprettified( - test: None = None, allow_net_connect: bool = True, verbose: bool = False -) -> Callable[[Callable[_P, _R]], Callable[_P, _R]]: ... diff --git a/stubs/httpretty/httpretty/errors.pyi b/stubs/httpretty/httpretty/errors.pyi deleted file mode 100644 index 4fb6e583a119..000000000000 --- a/stubs/httpretty/httpretty/errors.pyi +++ /dev/null @@ -1,4 +0,0 @@ -class HTTPrettyError(Exception): ... - -class UnmockedError(HTTPrettyError): - def __init__(self, message: str = ..., request: object | None = None, address: object | None = None) -> None: ... diff --git a/stubs/httpretty/httpretty/http.pyi b/stubs/httpretty/httpretty/http.pyi deleted file mode 100644 index a3d2612cb381..000000000000 --- a/stubs/httpretty/httpretty/http.pyi +++ /dev/null @@ -1,22 +0,0 @@ -from _typeshed import SupportsLenAndGetItem -from typing import Final, Literal, TypeAlias -from typing_extensions import TypeVar - -_T = TypeVar("_T", str, bytes) -_HTTPMethod: TypeAlias = Literal["GET", "PUT", "POST", "DELETE", "HEAD", "PATCH", "OPTIONS", "CONNECT"] - -STATUSES: dict[int, str] - -class HttpBaseClass: - GET: Final = "GET" - PUT: Final = "PUT" - POST: Final = "POST" - DELETE: Final = "DELETE" - HEAD: Final = "HEAD" - PATCH: Final = "PATCH" - OPTIONS: Final = "OPTIONS" - CONNECT: Final = "CONNECT" - METHODS: tuple[_HTTPMethod, ...] - -def parse_requestline(s: str) -> tuple[str, str, str]: ... -def last_requestline(sent_data: SupportsLenAndGetItem[_T]) -> _T | None: ... diff --git a/stubs/httpretty/httpretty/utils.pyi b/stubs/httpretty/httpretty/utils.pyi deleted file mode 100644 index b38062b2ea81..000000000000 --- a/stubs/httpretty/httpretty/utils.pyi +++ /dev/null @@ -1,2 +0,0 @@ -def utf8(s: str | bytes) -> bytes: ... -def decode_utf8(s: str | bytes) -> str: ... diff --git a/stubs/httpretty/httpretty/version.pyi b/stubs/httpretty/httpretty/version.pyi deleted file mode 100644 index 669513528d4a..000000000000 --- a/stubs/httpretty/httpretty/version.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from typing import Final - -version: Final[str] diff --git a/stubs/ibm-db/METADATA.toml b/stubs/ibm-db/METADATA.toml index a39a4ef3eacb..a77703ca345a 100644 --- a/stubs/ibm-db/METADATA.toml +++ b/stubs/ibm-db/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.3.0" +version = "3.2.9" upstream-repository = "https://github.com/ibmdb/python-ibmdb" diff --git a/stubs/ibm-db/ibm_db.pyi b/stubs/ibm-db/ibm_db.pyi index a7e9456b7515..f5abb899bc83 100644 --- a/stubs/ibm-db/ibm_db.pyi +++ b/stubs/ibm-db/ibm_db.pyi @@ -39,8 +39,6 @@ SQL_BOOLEAN: Final[int] SQL_CHAR: Final[int] SQL_CLOB: Final[int] SQL_CLOB_LOCATOR: Final[int] -SQL_CONCURRENT_TRANS: Final[int] -SQL_COORDINATED_TRANS: Final[int] SQL_CURSOR_DYNAMIC: Final[int] SQL_CURSOR_FORWARD_ONLY: Final[int] SQL_CURSOR_KEYSET_DRIVEN: Final[int] @@ -164,7 +162,6 @@ SQL_ATTR_REPORT_SEAMLESSFAILOVER_WARNING: Final[int] SQL_ATTR_REPORT_TIMESTAMP_TRUNC_AS_WARN: Final[int] SQL_ATTR_RETRYONERROR: Final[int] SQL_ATTR_RETRY_ON_MERGE: Final[int] -SQL_ATTR_ROW_ARRAY_SIZE: Final[int] SQL_ATTR_SERVER_MSGTXT_MASK: Final[int] SQL_ATTR_SERVER_MSGTXT_SP: Final[int] SQL_ATTR_SESSION_GLOBAL_VAR: Final[int] @@ -196,10 +193,6 @@ class IBM_DBClientInfo: class IBM_DBConnection: def __new__(cls, *args: object, **kwargs: object) -> Self: ... -@final -class IBM_DBEnvHandle: - def __new__(cls, *args: object, **kwargs: object) -> Self: ... - @final class IBM_DBServerInfo: def __new__(cls, *args: object, **kwargs: object) -> Self: ... @@ -231,7 +224,6 @@ class IBM_DBStatement: def __new__(cls, *args: object, **kwargs: object) -> Self: ... def active(connection: IBM_DBConnection | None, /) -> bool: ... -def alloc_env_handle() -> IBM_DBEnvHandle: ... def autocommit(connection: IBM_DBConnection, value: int = ..., /) -> int | bool: ... def bind_param( stmt: IBM_DBStatement, @@ -270,14 +262,12 @@ def columns( /, ) -> IBM_DBStatement: ... def commit(connection: IBM_DBConnection, /) -> bool: ... -def commit_two_phase(env_handle: IBM_DBEnvHandle, /) -> bool: ... def conn_error(connection: IBM_DBConnection | None = ..., /) -> str: ... def conn_errormsg(connection: IBM_DBConnection | None = ..., /) -> str: ... def conn_warn(connection: IBM_DBConnection | None = ..., /) -> str: ... def connect( database: str, user: str, password: str, options: dict[int, int | str] | None = ..., replace_quoted_literal: int = ..., / ) -> IBM_DBConnection | None: ... -def connect_coordinated(env_handle: IBM_DBEnvHandle, database: str, user: str, password: str, /) -> IBM_DBConnection: ... def createdb(connection: IBM_DBConnection, dbName: str, codeSet: str = ..., mode: str = ..., /) -> bool: ... def createdbNX(connection: IBM_DBConnection, dbName: str, codeSet: str = ..., mode: str = ..., /) -> bool: ... def cursor_type(stmt: IBM_DBStatement, /) -> int: ... @@ -316,7 +306,6 @@ def foreign_keys( fk_table_name: str | None = ..., /, ) -> IBM_DBStatement: ... -def free_env_handle(env_handle: IBM_DBEnvHandle, /) -> bool: ... def free_result(stmt: IBM_DBStatement, /) -> bool: ... def free_stmt(stmt: IBM_DBStatement, /) -> bool: ... def get_db_info(connection: IBM_DBConnection, option: int, /) -> str | bool: ... @@ -345,9 +334,7 @@ def procedures( def recreatedb(connection: IBM_DBConnection, dbName: str, codeSet: str | None = ..., mode: str | None = ..., /) -> bool: ... def result(stmt: IBM_DBStatement, column: int | str, /) -> Any: ... def rollback(connection: IBM_DBConnection, /) -> bool: ... -def rollback_two_phase(env_handle: IBM_DBEnvHandle, /) -> bool: ... def server_info(connection: IBM_DBConnection, /) -> IBM_DBServerInfo | bool: ... -def set_env_attr(env_handle: IBM_DBEnvHandle, attribute: int, value: int, /) -> bool: ... def set_option(resc: IBM_DBConnection | IBM_DBStatement, options: dict[int, int | str], type: int, /) -> bool: ... def special_columns( connection: IBM_DBConnection, qualifier: str | None, schema: str | None, table_name: str | None, scope: int, / diff --git a/stubs/icalendar/@tests/stubtest_allowlist.txt b/stubs/icalendar/@tests/stubtest_allowlist.txt new file mode 100644 index 000000000000..d082afed2b4b --- /dev/null +++ b/stubs/icalendar/@tests/stubtest_allowlist.txt @@ -0,0 +1,11 @@ +# Command line app +icalendar.cli + +# Tests +icalendar\.tests(\..*)? + +# Methods that use `int` to mean `bool`. +icalendar.cal.Component.get_inline + +# Stubtest gets confused by multiple inheritance. +icalendar.prop.vSkip.__new__ diff --git a/stubs/icalendar/@tests/test_cases/check_cal.py b/stubs/icalendar/@tests/test_cases/check_cal.py new file mode 100644 index 000000000000..639034b1d222 --- /dev/null +++ b/stubs/icalendar/@tests/test_cases/check_cal.py @@ -0,0 +1,9 @@ +from icalendar.cal import Component + +component = Component() +component.add("summary", "Test 1") +component.add("dtstart", "2022-01-01", encode=True) +component.add("dtend", "2022-01-02", encode=False) +component.add("location", "Test 3", {}) +component.add("dtstamp", "2022-01-03", parameters={}, encode=True) +component.add("description", "Test 2", parameters={}, encode=False) # type: ignore diff --git a/stubs/icalendar/METADATA.toml b/stubs/icalendar/METADATA.toml new file mode 100644 index 000000000000..a835cf4fb948 --- /dev/null +++ b/stubs/icalendar/METADATA.toml @@ -0,0 +1,7 @@ +version = "6.3.2" +upstream-repository = "https://github.com/collective/icalendar" +dependencies = ["types-python-dateutil", "types-pytz"] +obsolete-since = { version = "7.0.0", date = "2026-02-11" } + +[tool.stubtest] +stubtest-dependencies = ["pytz"] diff --git a/stubs/icalendar/icalendar/__init__.pyi b/stubs/icalendar/icalendar/__init__.pyi new file mode 100644 index 000000000000..bb992fea4a81 --- /dev/null +++ b/stubs/icalendar/icalendar/__init__.pyi @@ -0,0 +1,125 @@ +from . import version as version_mod +from .alarms import Alarms as Alarms, AlarmTime as AlarmTime +from .cal import ( + Alarm as Alarm, + Calendar as Calendar, + Component as Component, + ComponentFactory as ComponentFactory, + Event as Event, + FreeBusy as FreeBusy, + Journal as Journal, + Timezone as Timezone, + TimezoneDaylight as TimezoneDaylight, + TimezoneStandard as TimezoneStandard, + Todo as Todo, +) +from .enums import ( + CUTYPE as CUTYPE, + FBTYPE as FBTYPE, + PARTSTAT as PARTSTAT, + RANGE as RANGE, + RELATED as RELATED, + RELTYPE as RELTYPE, + ROLE as ROLE, +) +from .error import ( + ComponentEndMissing as ComponentEndMissing, + ComponentStartMissing as ComponentStartMissing, + FeatureWillBeRemovedInFutureVersion as FeatureWillBeRemovedInFutureVersion, + IncompleteAlarmInformation as IncompleteAlarmInformation, + IncompleteComponent as IncompleteComponent, + InvalidCalendar as InvalidCalendar, + LocalTimezoneMissing as LocalTimezoneMissing, +) +from .parser import Parameters as Parameters, q_join as q_join, q_split as q_split +from .prop import ( + TypesFactory as TypesFactory, + vBinary as vBinary, + vBoolean as vBoolean, + vCalAddress as vCalAddress, + vDate as vDate, + vDatetime as vDatetime, + vDDDLists as vDDDLists, + vDDDTypes as vDDDTypes, + vDuration as vDuration, + vFloat as vFloat, + vFrequency as vFrequency, + vGeo as vGeo, + vInt as vInt, + vMonth as vMonth, + vPeriod as vPeriod, + vRecur as vRecur, + vSkip as vSkip, + vText as vText, + vTime as vTime, + vUri as vUri, + vUTCOffset as vUTCOffset, + vWeekday as vWeekday, +) +from .timezone import use_pytz, use_zoneinfo + +__all__ = [ + "Calendar", + "Event", + "Todo", + "Journal", + "Timezone", + "TimezoneStandard", + "TimezoneDaylight", + "FreeBusy", + "Alarm", + "ComponentFactory", + "vBinary", + "vBoolean", + "vCalAddress", + "vDatetime", + "vDate", + "vDDDLists", + "vDDDTypes", + "vDuration", + "vFloat", + "vInt", + "vPeriod", + "vWeekday", + "vFrequency", + "vRecur", + "vText", + "vTime", + "vUri", + "vGeo", + "vUTCOffset", + "Parameters", + "q_split", + "q_join", + "use_pytz", + "use_zoneinfo", + "__version__", + "version", + "__version_tuple__", + "version_tuple", + "TypesFactory", + "Component", + "vMonth", + "IncompleteComponent", + "InvalidCalendar", + "Alarms", + "AlarmTime", + "ComponentEndMissing", + "ComponentStartMissing", + "IncompleteAlarmInformation", + "LocalTimezoneMissing", + "CUTYPE", + "FBTYPE", + "PARTSTAT", + "RANGE", + "vSkip", + "RELATED", + "RELTYPE", + "ROLE", + "FeatureWillBeRemovedInFutureVersion", +] + +__version__ = version_mod.__version__ +__version_tuple__ = version_mod.__version_tuple__ +version = version_mod.version +version_tuple = version_mod.version_tuple diff --git a/stubs/icalendar/icalendar/alarms.pyi b/stubs/icalendar/icalendar/alarms.pyi new file mode 100644 index 000000000000..ec2befb72de1 --- /dev/null +++ b/stubs/icalendar/icalendar/alarms.pyi @@ -0,0 +1,48 @@ +import datetime +from typing import TypeAlias + +from .cal import Alarm, Event, Todo +from .error import ( + ComponentEndMissing as ComponentEndMissing, + ComponentStartMissing as ComponentStartMissing, + IncompleteAlarmInformation as IncompleteAlarmInformation, + LocalTimezoneMissing as LocalTimezoneMissing, +) + +__all__ = ["Alarms", "AlarmTime", "IncompleteAlarmInformation", "ComponentEndMissing", "ComponentStartMissing"] + +Parent: TypeAlias = Event | Todo + +class AlarmTime: + def __init__( + self, + alarm: Alarm, + trigger: datetime.datetime, + acknowledged_until: datetime.datetime | None = None, + snoozed_until: datetime.datetime | None = None, + parent: Parent | None = None, + ) -> None: ... + @property + def acknowledged(self) -> datetime.datetime | None: ... + @property + def alarm(self) -> Alarm: ... + @property + def parent(self) -> Parent | None: ... + def is_active(self) -> bool: ... + @property + def trigger(self) -> datetime.date: ... + +class Alarms: + def __init__(self, component: Alarm | Event | Todo | None = None) -> None: ... + def add_component(self, component: Alarm | Parent) -> None: ... + def set_parent(self, parent: Parent) -> None: ... + def add_alarm(self, alarm: Alarm) -> None: ... + def set_start(self, dt: datetime.date | None) -> None: ... + def set_end(self, dt: datetime.date | None) -> None: ... + def acknowledge_until(self, dt: datetime.date | None) -> None: ... + def snooze_until(self, dt: datetime.date | None) -> None: ... + def set_local_timezone(self, tzinfo: datetime.tzinfo | str | None) -> None: ... + @property + def times(self) -> list[AlarmTime]: ... + @property + def active(self) -> list[AlarmTime]: ... diff --git a/stubs/icalendar/icalendar/attr.pyi b/stubs/icalendar/icalendar/attr.pyi new file mode 100644 index 000000000000..c34df7522ce6 --- /dev/null +++ b/stubs/icalendar/icalendar/attr.pyi @@ -0,0 +1,26 @@ +rdates_property: property +exdates_property: property +rrules_property: property + +def multi_language_text_property(main_prop: str, compatibility_prop: str, doc: str) -> property: ... +def single_int_property(prop: str, default: int, doc: str) -> property: ... +def single_utc_property(name: str, docs: str) -> property: ... +def single_string_property(name: str, docs: str, other_name: str | None = None) -> property: ... + +color_property: property +sequence_property: property +categories_property: property +uid_property: property + +__all__ = [ + "categories_property", + "color_property", + "exdates_property", + "multi_language_text_property", + "rdates_property", + "rrules_property", + "sequence_property", + "single_int_property", + "single_utc_property", + "uid_property", +] diff --git a/stubs/icalendar/icalendar/cal.pyi b/stubs/icalendar/icalendar/cal.pyi new file mode 100644 index 000000000000..f78c9f8d7198 --- /dev/null +++ b/stubs/icalendar/icalendar/cal.pyi @@ -0,0 +1,551 @@ +import datetime +from _typeshed import Incomplete, SupportsItems +from collections.abc import Callable, Iterable +from typing import Any, ClassVar, Final, Literal, NamedTuple, TypeVar, overload +from typing_extensions import Self + +from .alarms import Alarms +from .caselessdict import CaselessDict +from .error import IncompleteComponent as IncompleteComponent +from .parser import Contentline, Contentlines +from .parser_tools import ICAL_TYPE +from .prop import TypesFactory, _vType, vRecur +from .timezone.tzp import TZP + +_D = TypeVar("_D") + +__all__ = [ + "Alarm", + "Calendar", + "Component", + "ComponentFactory", + "Event", + "FreeBusy", + "INLINE", + "Journal", + "Timezone", + "TimezoneDaylight", + "TimezoneStandard", + "Todo", + "component_factory", + "get_example", + "IncompleteComponent", +] + +def get_example(component_directory: str, example_name: str) -> bytes: ... + +class ComponentFactory(CaselessDict[Incomplete]): + # Inherit complex __init__ from CaselessDict<-dict. + ... + +INLINE: CaselessDict[int] + +class Component(CaselessDict[Incomplete]): + name: ClassVar[str | None] + required: ClassVar[tuple[str, ...]] + singletons: ClassVar[tuple[str, ...]] + multiple: ClassVar[tuple[str, ...]] + exclusive: ClassVar[tuple[str, ...]] + inclusive: ClassVar[tuple[tuple[str, ...], ...]] + ignore_exceptions: ClassVar[bool] + subcomponents: list[Incomplete] + errors: list[str] + + # Inherit complex __init__ from CaselessDict<-dict. + def __bool__(self) -> bool: ... + __nonzero__ = __bool__ + def is_empty(self) -> bool: ... + + @overload + def add(self, name: str, value: Any, *, encode: Literal[False]) -> None: ... + @overload + def add(self, name: str, value: Any, parameters: None, encode: Literal[False]) -> None: ... + @overload + def add( + self, name: str, value: Any, parameters: SupportsItems[str, str | None] | None = None, encode: Literal[True] = True + ) -> None: ... + + def decoded(self, name: str, default: _D = ...) -> Incomplete | _D: ... + def get_inline(self, name: str, decode: bool = True) -> list[Incomplete]: ... + + @overload + def set_inline(self, name: str, values: Iterable[str], encode: Literal[False] = ...) -> None: ... + @overload + def set_inline(self, name: str, values: Iterable[Incomplete], encode: Literal[True] = True) -> None: ... + + def add_component(self, component: Component) -> None: ... + def walk(self, name: str | None = None, select: Callable[[Component], bool] = ...) -> list[Component]: ... + def property_items(self, recursive: bool = True, sorted: bool = True) -> list[tuple[str, object]]: ... + + @overload + @classmethod + def from_ical(cls, st: str, multiple: Literal[False] = False) -> Component: ... # or any of its subclasses + @overload + @classmethod + def from_ical(cls, st: str, multiple: Literal[True]) -> list[Component]: ... # or any of its subclasses + + def content_line(self, name: str, value: _vType | ICAL_TYPE, sorted: bool = True) -> Contentline: ... + def content_lines(self, sorted: bool = True) -> Contentlines: ... + def to_ical(self, sorted: bool = True) -> bytes: ... + def __eq__(self, other: Component) -> bool: ... # type: ignore[override] + + @property + def DTSTAMP(self) -> datetime.datetime | None: ... + @DTSTAMP.setter + def DTSTAMP(self, value: datetime.datetime) -> None: ... + @DTSTAMP.deleter + def DTSTAMP(self) -> None: ... + + @property + def LAST_MODIFIED(self) -> datetime.datetime | None: ... + @LAST_MODIFIED.setter + def LAST_MODIFIED(self, value: datetime.datetime) -> None: ... + @LAST_MODIFIED.deleter + def LAST_MODIFIED(self) -> None: ... + + def is_thunderbird(self) -> bool: ... + +# type_def is a TypeForm +def create_single_property( + prop: str, value_attr: str | None, value_type: tuple[type, ...], type_def: Any, doc: str, vProp: type[Incomplete] = ... +) -> property: ... + +class Event(Component): + name: ClassVar[Literal["VEVENT"]] + @property + def alarms(self) -> Alarms: ... + @classmethod + def example(cls, name: str = "rfc_9074_example_3") -> Event: ... + + @property + def DTSTART(self) -> datetime.date | datetime.datetime | None: ... + @DTSTART.setter + def DTSTART(self, value: datetime.date | datetime.datetime | None) -> None: ... + @DTSTART.deleter + def DTSTART(self) -> None: ... + + @property + def DTEND(self) -> datetime.date | datetime.datetime | None: ... + @DTEND.setter + def DTEND(self, value: datetime.date | datetime.datetime | None) -> None: ... + @DTEND.deleter + def DTEND(self) -> None: ... + + @property + def DURATION(self) -> datetime.timedelta | None: ... + @DURATION.setter + def DURATION(self, value: datetime.timedelta | None) -> None: ... + @DURATION.deleter + def DURATION(self) -> None: ... + + @property + def duration(self) -> datetime.timedelta: ... + + @property + def start(self) -> datetime.date | datetime.datetime: ... + @start.setter + def start(self, value: datetime.date | datetime.datetime | None) -> None: ... + + @property + def end(self) -> datetime.date | datetime.datetime: ... + @end.setter + def end(self, value: datetime.date | datetime.datetime | None) -> None: ... + + @property + def X_MOZ_SNOOZE_TIME(self) -> datetime.datetime | None: ... + @X_MOZ_SNOOZE_TIME.setter + def X_MOZ_SNOOZE_TIME(self, value: datetime.datetime) -> None: ... + @X_MOZ_SNOOZE_TIME.deleter + def X_MOZ_SNOOZE_TIME(self) -> None: ... + + @property + def X_MOZ_LASTACK(self) -> datetime.datetime | None: ... + @X_MOZ_LASTACK.setter + def X_MOZ_LASTACK(self, value: datetime.datetime) -> None: ... + @X_MOZ_LASTACK.deleter + def X_MOZ_LASTACK(self) -> None: ... + + @property + def color(self) -> str: ... + @color.setter + def color(self, value: str) -> None: ... + @color.deleter + def color(self) -> None: ... + + @property + def sequence(self) -> int: ... + @sequence.setter + def sequence(self, value: int) -> None: ... + @sequence.deleter + def sequence(self) -> None: ... + + @property + def categories(self) -> list[str]: ... + @categories.setter + def categories(self, cats: list[str]) -> None: ... + @categories.deleter + def categories(self) -> None: ... + + @property + def rdates( + self, + ) -> list[tuple[datetime.date, None] | tuple[datetime.datetime, None] | tuple[datetime.datetime, datetime.datetime]]: ... + @property + def exdates(self) -> list[datetime.date | datetime.datetime]: ... + @property + def rrules(self) -> list[vRecur]: ... + + @property + def uid(self) -> str: ... + @uid.setter + def uid(self, value: str) -> None: ... + @uid.deleter + def uid(self) -> None: ... + +class Todo(Component): + name: ClassVar[Literal["VTODO"]] + + @property + def DTSTART(self) -> datetime.datetime | datetime.date | None: ... + @DTSTART.setter + def DTSTART(self, value: datetime.datetime | datetime.date | None) -> None: ... + @DTSTART.deleter + def DTSTART(self) -> None: ... + + @property + def DUE(self) -> datetime.datetime | datetime.date | None: ... + @DUE.setter + def DUE(self, value: datetime.datetime | datetime.date | None) -> None: ... + @DUE.deleter + def DUE(self) -> None: ... + + @property + def DURATION(self) -> datetime.timedelta | None: ... + @DURATION.setter + def DURATION(self, value: datetime.timedelta | None) -> None: ... + @DURATION.deleter + def DURATION(self) -> None: ... + + @property + def start(self) -> datetime.datetime | datetime.date: ... + @start.setter + def start(self, value: datetime.datetime | datetime.date | None) -> None: ... + + @property + def end(self) -> datetime.datetime | datetime.date: ... + @end.setter + def end(self, value: datetime.datetime | datetime.date | None) -> None: ... + + @property + def duration(self) -> datetime.timedelta: ... + + @property + def X_MOZ_SNOOZE_TIME(self) -> datetime.datetime | None: ... + @X_MOZ_SNOOZE_TIME.setter + def X_MOZ_SNOOZE_TIME(self, value: datetime.datetime) -> None: ... + @X_MOZ_SNOOZE_TIME.deleter + def X_MOZ_SNOOZE_TIME(self) -> None: ... + + @property + def X_MOZ_LASTACK(self) -> datetime.datetime | None: ... + @X_MOZ_LASTACK.setter + def X_MOZ_LASTACK(self, value: datetime.datetime) -> None: ... + @X_MOZ_LASTACK.deleter + def X_MOZ_LASTACK(self) -> None: ... + + @property + def alarms(self) -> Alarms: ... + + @property + def color(self) -> str: ... + @color.setter + def color(self, value: str) -> None: ... + @color.deleter + def color(self) -> None: ... + + @property + def sequence(self) -> int: ... + @sequence.setter + def sequence(self, value: int) -> None: ... + @sequence.deleter + def sequence(self) -> None: ... + + @property + def categories(self) -> list[str]: ... + @categories.setter + def categories(self, cats: list[str]) -> None: ... + @categories.deleter + def categories(self) -> None: ... + + @property + def rdates( + self, + ) -> list[tuple[datetime.date, None] | tuple[datetime.datetime, None] | tuple[datetime.datetime, datetime.datetime]]: ... + @property + def exdates(self) -> list[datetime.date | datetime.datetime]: ... + @property + def rrules(self) -> list[vRecur]: ... + + @property + def uid(self) -> str: ... + @uid.setter + def uid(self, value: str) -> None: ... + @uid.deleter + def uid(self) -> None: ... + +class Journal(Component): + name: ClassVar[Literal["VJOURNAL"]] + + @property + def DTSTART(self) -> datetime.date | datetime.datetime | None: ... + @DTSTART.setter + def DTSTART(self, value: datetime.date | datetime.datetime | None) -> None: ... + @DTSTART.deleter + def DTSTART(self) -> None: ... + + @property + def start(self) -> datetime.date | datetime.datetime: ... + @start.setter + def start(self, value: datetime.date | datetime.datetime | None) -> None: ... + + end = start + @property + def duration(self) -> datetime.timedelta: ... + + @property + def color(self) -> str: ... + @color.setter + def color(self, value: str) -> None: ... + @color.deleter + def color(self) -> None: ... + + @property + def sequence(self) -> int: ... + @sequence.setter + def sequence(self, value: int) -> None: ... + @sequence.deleter + def sequence(self) -> None: ... + + @property + def categories(self) -> list[str]: ... + @categories.setter + def categories(self, cats: list[str]) -> None: ... + @categories.deleter + def categories(self) -> None: ... + + @property + def rdates( + self, + ) -> list[tuple[datetime.date, None] | tuple[datetime.datetime, None] | tuple[datetime.datetime, datetime.datetime]]: ... + @property + def exdates(self) -> list[datetime.date | datetime.datetime]: ... + @property + def rrules(self) -> list[vRecur]: ... + + @property + def uid(self) -> str: ... + @uid.setter + def uid(self, value: str) -> None: ... + @uid.deleter + def uid(self) -> None: ... + +class FreeBusy(Component): + name: ClassVar[Literal["VFREEBUSY"]] + + @property + def uid(self) -> str: ... + @uid.setter + def uid(self, value: str) -> None: ... + @uid.deleter + def uid(self) -> None: ... + +class Timezone(Component): + subcomponents: list[TimezoneStandard | TimezoneDaylight] + name: ClassVar[Literal["VTIMEZONE"]] + @classmethod + def example(cls, name: str = "pacific_fiji") -> Calendar: ... + def to_tz(self, tzp: TZP = ..., lookup_tzid: bool = True) -> datetime.tzinfo: ... + @property + def tz_name(self) -> str: ... + def get_transitions(self) -> tuple[list[datetime.datetime], list[tuple[datetime.timedelta, datetime.timedelta, str]]]: ... + @classmethod + def from_tzinfo( + cls, timezone: datetime.tzinfo, tzid: str | None = None, first_date: datetime.date = ..., last_date: datetime.date = ... + ) -> Self: ... + @classmethod + def from_tzid(cls, tzid: str, tzp: TZP = ..., first_date: datetime.date = ..., last_date: datetime.date = ...) -> Self: ... + @property + def standard(self) -> list[TimezoneStandard]: ... + @property + def daylight(self) -> list[TimezoneDaylight]: ... + +class TimezoneStandard(Component): + name: ClassVar[Literal["STANDARD"]] + + @property + def DTSTART(self) -> datetime.date | datetime.datetime | None: ... + @DTSTART.setter + def DTSTART(self, value: datetime.date | datetime.datetime | None) -> None: ... + @DTSTART.deleter + def DTSTART(self) -> None: ... + + @property + def TZOFFSETTO(self) -> datetime.timedelta | None: ... + @TZOFFSETTO.setter + def TZOFFSETTO(self, value: datetime.timedelta | None) -> None: ... + @TZOFFSETTO.deleter + def TZOFFSETTO(self) -> None: ... + + @property + def TZOFFSETFROM(self) -> datetime.timedelta | None: ... + @TZOFFSETFROM.setter + def TZOFFSETFROM(self, value: datetime.timedelta | None) -> None: ... + @TZOFFSETFROM.deleter + def TZOFFSETFROM(self) -> None: ... + + @property + def rdates( + self, + ) -> list[tuple[datetime.date, None] | tuple[datetime.datetime, None] | tuple[datetime.datetime, datetime.datetime]]: ... + @property + def exdates(self) -> list[datetime.date | datetime.datetime]: ... + @property + def rrules(self) -> list[vRecur]: ... + +class TimezoneDaylight(Component): + name: ClassVar[Literal["DAYLIGHT"]] + + @property + def DTSTART(self) -> datetime.date | datetime.datetime | None: ... + @DTSTART.setter + def DTSTART(self, value: datetime.date | datetime.datetime | None) -> None: ... + @DTSTART.deleter + def DTSTART(self) -> None: ... + + @property + def TZOFFSETTO(self) -> datetime.timedelta | None: ... + @TZOFFSETTO.setter + def TZOFFSETTO(self, value: datetime.timedelta | None) -> None: ... + @TZOFFSETTO.deleter + def TZOFFSETTO(self) -> None: ... + + @property + def TZOFFSETFROM(self) -> datetime.timedelta | None: ... + @TZOFFSETFROM.setter + def TZOFFSETFROM(self, value: datetime.timedelta | None) -> None: ... + @TZOFFSETFROM.deleter + def TZOFFSETFROM(self) -> None: ... + + @property + def rdates( + self, + ) -> list[tuple[datetime.date, None] | tuple[datetime.datetime, None] | tuple[datetime.datetime, datetime.datetime]]: ... + @property + def exdates(self) -> list[datetime.date | datetime.datetime]: ... + @property + def rrules(self) -> list[vRecur]: ... + +class Alarm(Component): + name: ClassVar[Literal["VALARM"]] + + @property + def REPEAT(self) -> int: ... + @REPEAT.setter + def REPEAT(self, value: int) -> None: ... + @REPEAT.deleter + def REPEAT(self) -> None: ... + + @property + def DURATION(self) -> datetime.timedelta | None: ... + @DURATION.setter + def DURATION(self, value: datetime.timedelta | None) -> None: ... + @DURATION.deleter + def DURATION(self) -> None: ... + + @property + def ACKNOWLEDGED(self) -> datetime.datetime | None: ... + @ACKNOWLEDGED.setter + def ACKNOWLEDGED(self, value: datetime.datetime | None) -> None: ... + @ACKNOWLEDGED.deleter + def ACKNOWLEDGED(self) -> None: ... + + @property + def TRIGGER(self) -> datetime.timedelta | datetime.datetime | None: ... + @TRIGGER.setter + def TRIGGER(self, value: datetime.timedelta | datetime.datetime | None) -> None: ... + @TRIGGER.deleter + def TRIGGER(self) -> None: ... + + @property + def TRIGGER_RELATED(self) -> Literal["START", "END"]: ... + @TRIGGER_RELATED.setter + def TRIGGER_RELATED(self, value: Literal["START", "END"]) -> None: ... + + class Triggers(NamedTuple): + start: tuple[datetime.timedelta, ...] + end: tuple[datetime.timedelta, ...] + absolute: tuple[datetime.datetime, ...] + + @property + def triggers(self) -> Alarm.Triggers: ... + + @property + def uid(self) -> str: ... + @uid.setter + def uid(self, value: str) -> None: ... + @uid.deleter + def uid(self) -> None: ... + +class Calendar(Component): + name: ClassVar[Literal["VCALENDAR"]] + @classmethod + def example(cls, name: str = "example") -> Calendar: ... + @property + def freebusy(self) -> list[FreeBusy]: ... + @property + def events(self) -> list[Event]: ... + @property + def todos(self) -> list[Todo]: ... + def get_used_tzids(self) -> set[str]: ... + def get_missing_tzids(self) -> set[str]: ... + @property + def timezones(self) -> list[Timezone]: ... + def add_missing_timezones(self, first_date: datetime.date = ..., last_date: datetime.date = ...) -> None: ... + + @property + def calendar_name(self) -> str | None: ... + @calendar_name.setter + def calendar_name(self, value: str) -> None: ... + @calendar_name.deleter + def calendar_name(self) -> None: ... + + @property + def description(self) -> str | None: ... + @description.setter + def description(self, value: str) -> None: ... + @description.deleter + def description(self) -> None: ... + + @property + def color(self) -> str: ... + @color.setter + def color(self, value: str) -> None: ... + @color.deleter + def color(self) -> None: ... + + @property + def categories(self) -> list[str]: ... + @categories.setter + def categories(self, cats: list[str]) -> None: ... + @categories.deleter + def categories(self) -> None: ... + + @property + def uid(self) -> str: ... + @uid.setter + def uid(self, value: str) -> None: ... + @uid.deleter + def uid(self) -> None: ... + +types_factory: Final[TypesFactory] +component_factory: Final[ComponentFactory] diff --git a/stubs/icalendar/icalendar/caselessdict.pyi b/stubs/icalendar/icalendar/caselessdict.pyi new file mode 100644 index 000000000000..aa046445f167 --- /dev/null +++ b/stubs/icalendar/icalendar/caselessdict.pyi @@ -0,0 +1,49 @@ +from _typeshed import SupportsItems +from collections import OrderedDict +from collections.abc import Iterable, Mapping +from typing import ClassVar, TypeVar, overload +from typing_extensions import Self + +__all__ = ["canonsort_keys", "canonsort_items", "CaselessDict"] + +_T = TypeVar("_T") +_VT = TypeVar("_VT") + +def canonsort_keys(keys: Iterable[str], canonical_order: Iterable[str] | None = None) -> list[str]: ... +def canonsort_items(dict1: Mapping[str, _VT], canonical_order: Iterable[str] | None = None) -> list[tuple[str, _VT]]: ... + +class CaselessDict(OrderedDict[str, _VT]): + # Inherit complex __init__ from dict. + def __getitem__(self, key: str | bytes) -> _VT: ... + def __setitem__(self, key: str | bytes, value: _VT) -> None: ... + def __delitem__(self, key: str | bytes) -> None: ... + def __contains__(self, key: str | bytes) -> bool: ... # type: ignore[override] + + @overload + def get(self, key: str | bytes, default: None = None) -> _VT: ... + @overload + def get(self, key: str | bytes, default: _VT) -> _VT: ... + @overload + def get(self, key: str | bytes, default: _T) -> _VT | _T: ... + + @overload + def setdefault(self: CaselessDict[_T | None], key: str | bytes, value: None = None) -> _T | None: ... + @overload + def setdefault(self, key: str | bytes, value: _VT) -> _VT: ... + + @overload # type: ignore[override] + def pop(self, key: str | bytes, default: None = None) -> _VT | None: ... + @overload + def pop(self, key: str | bytes, default: _VT) -> _VT: ... + @overload + def pop(self, key: str | bytes, default: _T) -> _VT | _T: ... + + def popitem(self) -> tuple[str, _VT]: ... # type: ignore[override] + def has_key(self, key: str | bytes) -> bool: ... + def update(self, *args: SupportsItems[str, _VT] | Iterable[tuple[str, _VT]], **kwargs: _VT) -> None: ... # type: ignore[override] + def copy(self) -> Self: ... + def __eq__(self, other: SupportsItems[str, _VT]) -> bool: ... # type: ignore[override] + def __ne__(self, other: SupportsItems[str, _VT]) -> bool: ... # type: ignore[override] + canonical_order: ClassVar[Iterable[str] | None] + def sorted_keys(self) -> list[str]: ... + def sorted_items(self) -> list[tuple[str, _VT]]: ... diff --git a/stubs/icalendar/icalendar/enums.pyi b/stubs/icalendar/icalendar/enums.pyi new file mode 100644 index 000000000000..cfe73902b5c0 --- /dev/null +++ b/stubs/icalendar/icalendar/enums.pyi @@ -0,0 +1,44 @@ +from enum import Enum + +class PARTSTAT(Enum): + NEEDS_ACTION = "NEEDS-ACTION" + ACCEPTED = "ACCEPTED" + DECLINED = "DECLINED" + TENTATIVE = "TENTATIVE" + DELEGATED = "DELEGATED" + COMPLETED = "COMPLETED" + IN_PROCESS = "IN-PROCESS" + +class FBTYPE(Enum): + FREE = "FREE" + BUSY = "BUSY" + BUSY_UNAVAILABLE = "BUSY-UNAVAILABLE" + BUSY_TENTATIVE = "BUSY-TENTATIVE" + +class CUTYPE(Enum): + INDIVIDUAL = "INDIVIDUAL" + GROUP = "GROUP" + RESOURCE = "RESOURCE" + ROOM = "ROOM" + UNKNOWN = "UNKNOWN" + +class RELTYPE(Enum): + PARENT = "PARENT" + CHILD = "CHILD" + SIBLING = "SIBLING" + +class RANGE(Enum): + THISANDFUTURE = "THISANDFUTURE" + THISANDPRIOR = "THISANDPRIOR" # deprecated + +class RELATED(Enum): + START = "START" + END = "END" + +class ROLE(Enum): + CHAIR = "CHAIR" + REQ_PARTICIPANT = "REQ-PARTICIPANT" + OPT_PARTICIPANT = "OPT-PARTICIPANT" + NON_PARTICIPANT = "NON-PARTICIPANT" + +__all__ = ["PARTSTAT", "FBTYPE", "CUTYPE", "RANGE", "RELATED", "ROLE", "RELTYPE"] diff --git a/stubs/icalendar/icalendar/error.pyi b/stubs/icalendar/icalendar/error.pyi new file mode 100644 index 000000000000..ef195bd38d0f --- /dev/null +++ b/stubs/icalendar/icalendar/error.pyi @@ -0,0 +1,19 @@ +class InvalidCalendar(ValueError): ... +class IncompleteComponent(ValueError): ... +class IncompleteAlarmInformation(ValueError): ... +class LocalTimezoneMissing(IncompleteAlarmInformation): ... +class ComponentEndMissing(IncompleteAlarmInformation): ... +class ComponentStartMissing(IncompleteAlarmInformation): ... +class FeatureWillBeRemovedInFutureVersion(DeprecationWarning): ... +class WillBeRemovedInVersion7(FeatureWillBeRemovedInFutureVersion): ... + +__all__ = [ + "InvalidCalendar", + "IncompleteComponent", + "IncompleteAlarmInformation", + "LocalTimezoneMissing", + "ComponentEndMissing", + "ComponentStartMissing", + "FeatureWillBeRemovedInFutureVersion", + "WillBeRemovedInVersion7", +] diff --git a/stubs/icalendar/icalendar/param.pyi b/stubs/icalendar/icalendar/param.pyi new file mode 100644 index 000000000000..9620a3a6580b --- /dev/null +++ b/stubs/icalendar/icalendar/param.pyi @@ -0,0 +1,62 @@ +from collections.abc import Callable +from typing import TypeVar + +from .parser import Parameters + +class IcalendarProperty: + params: Parameters + +_T = TypeVar("_T") + +def string_parameter( + name: str, + doc: str, + default: Callable[..., str | None] = ..., + convert: Callable[[str], _T] | None = None, + convert_to: Callable[[_T], str] | None = None, +) -> property: ... + +ALTREP: property +CN: property +CUTYPE: property + +def quoted_list_parameter(name: str, doc: str) -> property: ... + +DELEGATED_FROM: property +DELEGATED_TO: property +DIR: property +FBTYPE: property +LANGUAGE: property +MEMBER: property +PARTSTAT: property +RANGE: property +RELATED: property +ROLE: property + +def boolean_parameter(name: str, default: bool, doc: str) -> property: ... + +RSVP: property +SENT_BY: property +TZID: property +RELTYPE: property + +__all__ = [ + "string_parameter", + "quoted_list_parameter", + "ALTREP", + "CN", + "CUTYPE", + "DELEGATED_FROM", + "DELEGATED_TO", + "DIR", + "FBTYPE", + "LANGUAGE", + "MEMBER", + "PARTSTAT", + "RANGE", + "RELATED", + "ROLE", + "RSVP", + "SENT_BY", + "TZID", +] diff --git a/stubs/icalendar/icalendar/parser.pyi b/stubs/icalendar/icalendar/parser.pyi new file mode 100644 index 000000000000..7c70dc920aeb --- /dev/null +++ b/stubs/icalendar/icalendar/parser.pyi @@ -0,0 +1,98 @@ +from _collections_abc import dict_keys +from _typeshed import Incomplete +from collections.abc import Iterable +from re import Pattern +from typing import AnyStr, ClassVar, Final, overload +from typing_extensions import Self + +from .caselessdict import CaselessDict +from .parser_tools import ICAL_TYPE +from .prop import _vType + +__all__ = [ + "Contentline", + "Contentlines", + "FOLD", + "NAME", + "NEWLINE", + "Parameters", + "QUNSAFE_CHAR", + "QUOTABLE", + "UNSAFE_CHAR", + "dquote", + "escape_char", + "escape_string", + "foldline", + "param_value", + "q_join", + "q_split", + "rfc_6868_escape", + "rfc_6868_unescape", + "uFOLD", + "unescape_char", + "unescape_list_or_string", + "unescape_string", + "validate_param_value", + "validate_token", +] + +def escape_char(text: str) -> str: ... +def unescape_char(text: AnyStr) -> AnyStr: ... +def foldline(line: str, limit: int = 75, fold_sep: str = "\r\n ") -> str: ... +def param_value(value: str | list[str] | tuple[str, ...] | Incomplete, always_quote: bool = False) -> str: ... + +NAME: Final[Pattern[str]] +UNSAFE_CHAR: Final[Pattern[str]] +QUNSAFE_CHAR: Final[Pattern[str]] +FOLD: Final[Pattern[bytes]] +uFOLD: Final[Pattern[str]] +NEWLINE: Final[Pattern[str]] + +def validate_token(name: str) -> None: ... +def validate_param_value(value: str, quoted: bool = True) -> None: ... + +QUOTABLE: Final[Pattern[str]] + +def dquote(val: str, always_quote: bool = False) -> str: ... +def q_split(st: str, sep: str = ",", maxsplit: int = -1) -> list[str]: ... +def q_join(lst: Iterable[str], sep: str = ",", always_quote: bool = False) -> str: ... + +class Parameters(CaselessDict[str]): + always_quoted: ClassVar[tuple[str, ...]] + quote_also: ClassVar[dict[str, str]] + def params(self) -> dict_keys[str, str]: ... + def to_ical(self, sorted: bool = True) -> bytes: ... + @classmethod + def from_ical(cls, st: str, strict: bool = False) -> Self: ... + +def escape_string(val: str) -> str: ... +def unescape_string(val: str) -> str: ... + +RFC_6868_UNESCAPE_REGEX: Final[Pattern[str]] + +def rfc_6868_unescape(param_value: str) -> str: ... + +RFC_6868_ESCAPE_REGEX: Final[Pattern[str]] + +def rfc_6868_escape(param_value: str) -> str: ... + +@overload +def unescape_list_or_string(val: list[str]) -> list[str]: ... +@overload +def unescape_list_or_string(val: str) -> str: ... + +class Contentline(str): + __slots__ = ("strict",) + strict: bool + def __new__(cls, value: str | bytes, strict: bool = False, encoding: str = "utf-8") -> Self: ... + @classmethod + def from_parts(cls, name: ICAL_TYPE, params: Parameters, values: _vType | ICAL_TYPE, sorted: bool = True) -> Self: ... + def parts(self) -> tuple[str, Parameters, str]: ... + @classmethod + def from_ical(cls, ical: str | bytes, strict: bool = False) -> Self: ... + def to_ical(self) -> bytes: ... + +class Contentlines(list[Contentline]): + def to_ical(self) -> bytes: ... + @classmethod + def from_ical(cls, st: str | bytes) -> Self: ... diff --git a/stubs/icalendar/icalendar/parser_tools.pyi b/stubs/icalendar/icalendar/parser_tools.pyi new file mode 100644 index 000000000000..ac90b121369d --- /dev/null +++ b/stubs/icalendar/icalendar/parser_tools.pyi @@ -0,0 +1,21 @@ +from typing import Any, Final, TypeAlias, TypeVar, overload + +_T = TypeVar("_T") + +__all__ = ["DEFAULT_ENCODING", "SEQUENCE_TYPES", "ICAL_TYPE", "data_encode", "from_unicode", "to_unicode"] + +SEQUENCE_TYPES: Final[tuple[type[Any], ...]] +DEFAULT_ENCODING: str +ICAL_TYPE: TypeAlias = str | bytes + +def from_unicode(value: ICAL_TYPE, encoding: str = "utf-8") -> bytes: ... +def to_unicode(value: ICAL_TYPE, encoding: str = "utf-8-sig") -> str: ... + +@overload +def data_encode(data: ICAL_TYPE, encoding: str = "utf-8") -> bytes: ... +@overload +def data_encode(data: dict[Any, Any], encoding: str = "utf-8") -> dict[Any, Any]: ... +@overload +def data_encode(data: list[Any] | tuple[Any, ...], encoding: str = "utf-8") -> list[Any]: ... +@overload +def data_encode(data: _T, encoding: str = "utf-8") -> _T: ... diff --git a/stubs/icalendar/icalendar/prop.pyi b/stubs/icalendar/icalendar/prop.pyi new file mode 100644 index 000000000000..d08a2b5b2bf9 --- /dev/null +++ b/stubs/icalendar/icalendar/prop.pyi @@ -0,0 +1,341 @@ +import datetime +from _typeshed import ConvertibleToFloat, ConvertibleToInt, Incomplete, SupportsKeysAndGetItem, Unused +from collections.abc import Iterable, Iterator +from enum import Enum +from re import Pattern +from typing import Any, ClassVar, Final, Literal, Protocol, SupportsIndex, TypeAlias, overload, type_check_only +from typing_extensions import Self + +from .caselessdict import CaselessDict +from .parser import Parameters +from .parser_tools import ICAL_TYPE +from .timezone import tzid_from_dt as tzid_from_dt, tzid_from_tzinfo as tzid_from_tzinfo + +__all__ = [ + "DURATION_REGEX", + "TimeBase", + "TypesFactory", + "WEEKDAY_RULE", + "tzid_from_dt", + "vBinary", + "vBoolean", + "vCalAddress", + "vCategory", + "vDDDLists", + "vDDDTypes", + "vDate", + "vDatetime", + "vDuration", + "vFloat", + "vFrequency", + "vGeo", + "vInline", + "vInt", + "vMonth", + "vPeriod", + "vRecur", + "vText", + "vTime", + "vUTCOffset", + "vUri", + "vWeekday", + "tzid_from_tzinfo", + "vSkip", +] + +_PropType: TypeAlias = type[Any] # any of the v* classes in this file +_PeriodTuple: TypeAlias = tuple[datetime.datetime, datetime.datetime | datetime.timedelta] +_AnyTimeType: TypeAlias = datetime.datetime | datetime.date | datetime.timedelta | datetime.time | _PeriodTuple + +@type_check_only +class _vType(Protocol): + def to_ical(self) -> bytes | str: ... + +DURATION_REGEX: Final[Pattern[str]] +WEEKDAY_RULE: Final[Pattern[str]] + +class vBinary: + obj: str + params: Parameters + def __init__(self, obj: str | bytes) -> None: ... + def to_ical(self) -> bytes: ... + @staticmethod + def from_ical(ical: ICAL_TYPE) -> bytes: ... + def __eq__(self, other: object) -> bool: ... + +class vBoolean(int): + BOOL_MAP: Final[CaselessDict[bool]] + params: Parameters + def __new__(cls, x: ConvertibleToInt = ..., /, *, params: SupportsKeysAndGetItem[str, str] = {}) -> Self: ... + def to_ical(self) -> Literal[b"TRUE", b"FALSE"]: ... + @classmethod + def from_ical(cls, ical: ICAL_TYPE) -> bool: ... + +class vText(str): + __slots__ = ("encoding", "params") + encoding: str + params: Parameters + def __new__(cls, value: ICAL_TYPE, encoding: str = "utf-8", params: SupportsKeysAndGetItem[str, str] = {}) -> Self: ... + def to_ical(self) -> bytes: ... + @classmethod + def from_ical(cls, ical: ICAL_TYPE) -> Self: ... + ALTREP: property + LANGUAGE: property + RELTYPE: property + +class vCalAddress(str): + __slots__ = ("params",) + params: Parameters + def __new__(cls, value: ICAL_TYPE, encoding: str = "utf-8", params: SupportsKeysAndGetItem[str, str] = {}) -> Self: ... + def to_ical(self) -> bytes: ... + @classmethod + def from_ical(cls, ical: ICAL_TYPE) -> Self: ... + @property + def email(self) -> str: ... + + @property + def name(self) -> str: ... + @name.setter + def name(self, value: str) -> None: ... + @name.deleter + def name(self) -> None: ... + + CN: property + CUTYPE: property + DELEGATED_FROM: property + DELEGATED_TO: property + DIR: property + LANGUAGE: property + PARTSTAT: property + ROLE: property + RSVP: property + SENT_BY: property + +class vFloat(float): + params: Parameters + def __new__(cls, x: ConvertibleToFloat = ..., /, *, params: SupportsKeysAndGetItem[str, str] = {}) -> Self: ... + def to_ical(self) -> bytes: ... + @classmethod + def from_ical(cls, ical: ICAL_TYPE) -> Self: ... + +class vInt(int): + params: Parameters + def __new__(cls, x: ConvertibleToInt = ..., /, *, params: SupportsKeysAndGetItem[str, str] = {}) -> Self: ... + def to_ical(self) -> bytes: ... + @classmethod + def from_ical(cls, ical: ICAL_TYPE) -> Self: ... + +class vDDDLists: + params: Parameters + dts: list[vDDDTypes] + def __init__(self, dt_list: Iterable[_AnyTimeType] | _AnyTimeType) -> None: ... + def to_ical(self) -> bytes: ... + @staticmethod + def from_ical(ical: str, timezone: str | datetime.timezone | None = None) -> list[Incomplete]: ... + def __eq__(self, other: object) -> bool: ... + +class vCategory: + cats: list[vText] + params: Parameters + def __init__(self, c_list: Iterable[ICAL_TYPE] | ICAL_TYPE, params: SupportsKeysAndGetItem[str, str] = {}) -> None: ... + def __iter__(self) -> Iterator[str]: ... + def to_ical(self) -> bytes: ... + @staticmethod + def from_ical(ical: ICAL_TYPE) -> str: ... + def __eq__(self, other: object) -> bool: ... + RANGE: property + RELATED: property + TZID: property + +class TimeBase: + params: Parameters + ignore_for_equality: set[str] + def __eq__(self, other: object) -> bool: ... + def __hash__(self) -> int: ... + RANGE: property + RELATED: property + TZID: property + +class vDDDTypes(TimeBase): + params: Parameters + dt: _AnyTimeType + def __init__(self, dt: _AnyTimeType) -> None: ... + def to_ical(self) -> bytes: ... + + @overload + @classmethod + def from_ical(cls, ical: Self, timezone: Unused | None = None) -> _AnyTimeType: ... + # Return type is one of vDuration, vPeriod, vDatetime, vDate, or vTime, + # depending on the ical string. + @overload + @classmethod + def from_ical(cls, ical: str, timezone: datetime.timezone | str | None = None) -> Any: ... + +class vDate(TimeBase): + dt: datetime.date + params: Parameters + def __init__(self, dt: datetime.date) -> None: ... + def to_ical(self) -> bytes: ... + @staticmethod + def from_ical(ical: ICAL_TYPE) -> datetime.date: ... + +class vDatetime(TimeBase): + dt: datetime.datetime + params: Parameters + def __init__(self, dt: datetime.datetime, params: SupportsKeysAndGetItem[str, str] = {}) -> None: ... + def to_ical(self) -> bytes: ... + @staticmethod + def from_ical(ical: ICAL_TYPE, timezone: datetime.timezone | str | None = None) -> datetime.datetime: ... + +class vDuration(TimeBase): + td: datetime.timedelta + params: Parameters + def __init__(self, td: datetime.timedelta, params: SupportsKeysAndGetItem[str, str] = {}) -> None: ... + def to_ical(self) -> bytes: ... + @staticmethod + def from_ical(ical: str) -> datetime.timedelta: ... + @property + def dt(self) -> datetime.timedelta: ... + +class vPeriod(TimeBase): + params: Parameters + start: datetime.datetime + end: datetime.datetime + by_duration: bool + duration: datetime.timedelta + def __init__(self, per: _PeriodTuple) -> None: ... + def overlaps(self, other: vPeriod) -> bool: ... + def to_ical(self) -> bytes: ... + # Return type is a tuple of vDuration, vPeriod, vDatetime, vDate, or vTime, + # depending on the ical string. If the ical string is formed according to + # the iCalendar specification, this should always return a + # (datetime, datetime) or a (datetime, timedelta) tuple, but this is not + # enforced. + @staticmethod + def from_ical(ical: str, timezone: datetime.timezone | str | None = None) -> tuple[Any, Any]: ... + @property + def dt(self) -> _PeriodTuple: ... + FBTYPE: property + +class vWeekday(str): + __slots__ = ("params", "relative", "weekday") + week_days: Final[CaselessDict[int]] + weekday: Literal["SU", "MO", "TU", "WE", "TH", "FR", "SA"] | None + relative: int | None + params: Parameters + def __new__(cls, value: ICAL_TYPE, encoding: str = "utf-8", params: SupportsKeysAndGetItem[str, str] = {}) -> Self: ... + def to_ical(self) -> bytes: ... + @classmethod + def from_ical(cls, ical: ICAL_TYPE) -> Self: ... + +class vFrequency(str): + __slots__ = ("params",) + frequencies: Final[CaselessDict[str]] + params: Parameters + def __new__(cls, value: ICAL_TYPE, encoding: str = "utf-8", params: SupportsKeysAndGetItem[str, str] = {}) -> Self: ... + def to_ical(self) -> bytes: ... + @classmethod + def from_ical(cls, ical: ICAL_TYPE) -> Self: ... + +class vMonth(int): + params: Parameters + def __new__(cls, month: vMonth | str | int, params: SupportsKeysAndGetItem[str, str] = {}) -> Self: ... + def to_ical(self) -> bytes: ... + @classmethod + def from_ical(cls, ical: vMonth | str | int) -> Self: ... + + @property + def leap(self) -> bool: ... + @leap.setter + def leap(self, value: bool) -> None: ... + +class vSkip(vText, Enum): + OMIT = "OMIT" + FORWARD = "FORWARD" + BACKWARD = "BACKWARD" + + def __reduce_ex__(self, _p: Unused) -> tuple[Self, tuple[str]]: ... + +# The type of the values depend on the key. Each key maps to a v* class, and +# the allowed types are the types that the corresponding v* class can parse. +class vRecur(CaselessDict[Iterable[Any] | Any]): + params: Parameters + frequencies: Final[list[str]] + canonical_order: ClassVar[tuple[str, ...]] + types: Final[CaselessDict[_PropType]] + def __init__( + self, *args, params: SupportsKeysAndGetItem[str, str] = {}, **kwargs: list[Any] | tuple[Any, ...] | Any + ) -> None: ... + def to_ical(self) -> bytes: ... + @classmethod + def parse_type(cls, key: str, values: str) -> list[Any]: ... # Returns a list of v* objects + @classmethod + def from_ical(cls, ical: vRecur | str) -> Self: ... + +class vTime(TimeBase): + dt: datetime.time | datetime.datetime + params: Parameters + + @overload + def __init__(self, dt: datetime.time | datetime.datetime, /) -> None: ... + # args are passed to the datetime.time() constructor + @overload + def __init__( + self, + hour: SupportsIndex = ..., + minute: SupportsIndex = ..., + second: SupportsIndex = ..., + microsecond: SupportsIndex = ..., + tzinfo: datetime.tzinfo | None = ..., + /, + ) -> None: ... + + def to_ical(self) -> str: ... + @staticmethod + def from_ical(ical: ICAL_TYPE) -> datetime.time: ... + +class vUri(str): + __slots__ = ("params",) + params: Parameters + def __new__(cls, value: ICAL_TYPE, encoding: str = "utf-8", params: SupportsKeysAndGetItem[str, str] = {}) -> Self: ... + def to_ical(self) -> bytes: ... + @classmethod + def from_ical(cls, ical: ICAL_TYPE) -> Self: ... + +class vGeo: + latitude: float + longitude: float + params: Parameters + def __init__(self, geo: tuple[float | str, float | str], params: SupportsKeysAndGetItem[str, str] = {}) -> None: ... + def to_ical(self) -> str: ... + @staticmethod + def from_ical(ical: str) -> tuple[float, float]: ... + def __eq__(self, other: _vType) -> bool: ... # type: ignore[override] + +class vUTCOffset: + ignore_exceptions: bool + td: datetime.timedelta + params: Parameters + def __init__(self, td: datetime.timedelta, params: SupportsKeysAndGetItem[str, str] = {}) -> None: ... + def to_ical(self) -> str: ... + @classmethod + def from_ical(cls, ical: Self | ICAL_TYPE) -> datetime.timedelta: ... + def __eq__(self, other: object) -> bool: ... + def __hash__(self) -> int: ... + +class vInline(str): + __slots__ = ("params",) + params: Parameters + def __new__(cls, value: ICAL_TYPE, encoding: str = "utf-8", params: SupportsKeysAndGetItem[str, str] = {}) -> Self: ... + def to_ical(self) -> bytes: ... + @classmethod + def from_ical(cls, ical: ICAL_TYPE) -> Self: ... + +class TypesFactory(CaselessDict[_PropType]): + all_types: tuple[_PropType, ...] + types_map: CaselessDict[str] + def for_property(self, name: str) -> _PropType: ... + # value is str | bytes, depending on what the v* class supports + def to_ical(self, name: str, value: Any) -> bytes: ... + # value and return type depend on what the v* class supports + def from_ical(self, name: str, value: Any) -> Any: ... diff --git a/stubs/icalendar/icalendar/timezone/__init__.pyi b/stubs/icalendar/icalendar/timezone/__init__.pyi new file mode 100644 index 000000000000..4cd6dade83ae --- /dev/null +++ b/stubs/icalendar/icalendar/timezone/__init__.pyi @@ -0,0 +1,9 @@ +from ..timezone.tzp import TZP as TZP # to prevent "tzp" from being defined here +from .tzid import tzid_from_dt as tzid_from_dt, tzid_from_tzinfo as tzid_from_tzinfo, tzids_from_tzinfo as tzids_from_tzinfo + +__all__ = ["TZP", "tzp", "use_pytz", "use_zoneinfo", "tzid_from_tzinfo", "tzid_from_dt", "tzids_from_tzinfo"] + +tzp: TZP + +def use_pytz() -> None: ... +def use_zoneinfo() -> None: ... diff --git a/stubs/icalendar/icalendar/timezone/equivalent_timezone_ids.pyi b/stubs/icalendar/icalendar/timezone/equivalent_timezone_ids.pyi new file mode 100644 index 000000000000..f07cf5d17bdc --- /dev/null +++ b/stubs/icalendar/icalendar/timezone/equivalent_timezone_ids.pyi @@ -0,0 +1,13 @@ +import datetime +from collections.abc import Callable +from typing import Final + +__all__ = ["main"] + +START: Final[datetime.datetime] +END: Final[datetime.datetime] +DISTANCE_FROM_TIMEZONE_CHANGE: Final[datetime.timedelta] + +DTS: Final[list[datetime.datetime]] + +def main(create_timezones: list[Callable[[str], datetime.tzinfo]], name: str) -> None: ... diff --git a/stubs/icalendar/icalendar/timezone/equivalent_timezone_ids_result.pyi b/stubs/icalendar/icalendar/timezone/equivalent_timezone_ids_result.pyi new file mode 100644 index 000000000000..db990d137ae2 --- /dev/null +++ b/stubs/icalendar/icalendar/timezone/equivalent_timezone_ids_result.pyi @@ -0,0 +1,6 @@ +from _typeshed import Incomplete +from typing import Final + +__all__ = ["lookup"] + +lookup: Final[Incomplete] diff --git a/stubs/icalendar/icalendar/timezone/provider.pyi b/stubs/icalendar/icalendar/timezone/provider.pyi new file mode 100644 index 000000000000..53a17a88579a --- /dev/null +++ b/stubs/icalendar/icalendar/timezone/provider.pyi @@ -0,0 +1,29 @@ +__all__ = ["TZProvider"] + +import datetime +from abc import ABC, abstractmethod + +from dateutil.rrule import rrule + +from ..prop import vRecur + +class TZProvider(ABC): + @property + @abstractmethod + def name(self) -> str: ... + @abstractmethod + def localize_utc(self, dt: datetime.datetime) -> datetime.datetime: ... + @abstractmethod + def localize(self, dt: datetime.datetime, tz: datetime.tzinfo) -> datetime.datetime: ... + @abstractmethod + def knows_timezone_id(self, id: str) -> bool: ... + @abstractmethod + def fix_rrule_until(self, rrule: rrule, ical_rrule: vRecur) -> None: ... + @abstractmethod + def create_timezone(self, name: str, transition_times, transition_info) -> datetime.tzinfo: ... + @abstractmethod + def timezone(self, name: str) -> datetime.tzinfo | None: ... + @abstractmethod + def uses_pytz(self) -> bool: ... + @abstractmethod + def uses_zoneinfo(self) -> bool: ... diff --git a/stubs/icalendar/icalendar/timezone/pytz.pyi b/stubs/icalendar/icalendar/timezone/pytz.pyi new file mode 100644 index 000000000000..6c3373a86403 --- /dev/null +++ b/stubs/icalendar/icalendar/timezone/pytz.pyi @@ -0,0 +1,22 @@ +__all__ = ["PYTZ"] + +import datetime +from typing import Literal + +from dateutil.rrule import rrule + +from ..cal import Timezone +from ..prop import vRecur +from .provider import TZProvider + +class PYTZ(TZProvider): + @property + def name(self) -> Literal["pytz"]: ... + def localize_utc(self, dt: datetime.datetime) -> datetime.datetime: ... + def localize(self, dt: datetime.datetime, tz: datetime.tzinfo) -> datetime.datetime: ... + def knows_timezone_id(self, id: str) -> bool: ... + def fix_rrule_until(self, rrule: rrule, ical_rrule: vRecur) -> None: ... + def create_timezone(self, tz: Timezone) -> datetime.tzinfo: ... # type: ignore[override] + def timezone(self, name: str) -> datetime.tzinfo | None: ... + def uses_pytz(self) -> bool: ... + def uses_zoneinfo(self) -> bool: ... diff --git a/stubs/icalendar/icalendar/timezone/tzid.pyi b/stubs/icalendar/icalendar/timezone/tzid.pyi new file mode 100644 index 000000000000..1e5b884c9c93 --- /dev/null +++ b/stubs/icalendar/icalendar/timezone/tzid.pyi @@ -0,0 +1,7 @@ +import datetime + +__all__ = ["tzid_from_tzinfo", "tzid_from_dt", "tzids_from_tzinfo"] + +def tzids_from_tzinfo(tzinfo: datetime.tzinfo | None) -> tuple[str, ...]: ... +def tzid_from_tzinfo(tzinfo: datetime.tzinfo | None) -> str | None: ... +def tzid_from_dt(dt: datetime.datetime) -> str | None: ... diff --git a/stubs/icalendar/icalendar/timezone/tzp.pyi b/stubs/icalendar/icalendar/timezone/tzp.pyi new file mode 100644 index 000000000000..269bdf742af9 --- /dev/null +++ b/stubs/icalendar/icalendar/timezone/tzp.pyi @@ -0,0 +1,30 @@ +import datetime +from typing import Final + +from dateutil.rrule import rrule + +from ..cal import Timezone +from ..prop import vRecur +from .provider import TZProvider + +__all__ = ["TZP"] + +DEFAULT_TIMEZONE_PROVIDER: Final = "zoneinfo" + +class TZP: + def __init__(self, provider: str | TZProvider = "zoneinfo") -> None: ... + def use_pytz(self) -> None: ... + def use_zoneinfo(self) -> None: ... + def use(self, provider: str | TZProvider) -> None: ... + def use_default(self) -> None: ... + def localize_utc(self, dt: datetime.date) -> datetime.datetime: ... + def localize(self, dt: datetime.date, tz: datetime.tzinfo | str) -> datetime.datetime: ... + def cache_timezone_component(self, timezone_component: Timezone) -> None: ... + def fix_rrule_until(self, rrule: rrule, ical_rrule: vRecur) -> None: ... + def create_timezone(self, timezone_component: Timezone) -> datetime.tzinfo: ... + def clean_timezone_id(self, tzid: str) -> str: ... + def timezone(self, tz_id: str) -> datetime.tzinfo | None: ... + def uses_pytz(self) -> bool: ... + def uses_zoneinfo(self) -> bool: ... + @property + def name(self) -> str: ... diff --git a/stubs/icalendar/icalendar/timezone/windows_to_olson.pyi b/stubs/icalendar/icalendar/timezone/windows_to_olson.pyi new file mode 100644 index 000000000000..7b8e1e881fb6 --- /dev/null +++ b/stubs/icalendar/icalendar/timezone/windows_to_olson.pyi @@ -0,0 +1,3 @@ +from typing import Final + +WINDOWS_TO_OLSON: Final[dict[str, str]] diff --git a/stubs/icalendar/icalendar/timezone/zoneinfo.pyi b/stubs/icalendar/icalendar/timezone/zoneinfo.pyi new file mode 100644 index 000000000000..6891652c89ce --- /dev/null +++ b/stubs/icalendar/icalendar/timezone/zoneinfo.pyi @@ -0,0 +1,24 @@ +import datetime +from typing import Final, Literal +from zoneinfo import ZoneInfo + +from dateutil.rrule import rrule + +from ..cal import Timezone +from ..prop import vRecur +from .provider import TZProvider + +__all__ = ["ZONEINFO"] + +class ZONEINFO(TZProvider): + @property + def name(self) -> Literal["zoneinfo"]: ... + utc: Final[ZoneInfo] + def localize(self, dt: datetime.datetime, tz: ZoneInfo) -> datetime.datetime: ... # type: ignore[override] + def localize_utc(self, dt: datetime.datetime) -> datetime.datetime: ... + def timezone(self, name: str) -> datetime.tzinfo | None: ... + def knows_timezone_id(self, id: str) -> bool: ... + def fix_rrule_until(self, rrule: rrule, ical_rrule: vRecur) -> None: ... + def create_timezone(self, tz: Timezone) -> datetime.tzinfo: ... # type: ignore[override] + def uses_pytz(self) -> Literal[False]: ... + def uses_zoneinfo(self) -> Literal[True]: ... diff --git a/stubs/icalendar/icalendar/tools.pyi b/stubs/icalendar/icalendar/tools.pyi new file mode 100644 index 000000000000..b5d7c82d16bc --- /dev/null +++ b/stubs/icalendar/icalendar/tools.pyi @@ -0,0 +1,25 @@ +import datetime +from typing import Final, TypeGuard +from typing_extensions import TypeIs, deprecated + +from pytz.tzinfo import BaseTzInfo + +from .prop import vText + +__all__ = ["UIDGenerator", "is_date", "is_datetime", "to_datetime", "is_pytz", "is_pytz_dt", "normalize_pytz"] + +class UIDGenerator: + chars: Final[list[str]] + @staticmethod + @deprecated("Use the Python standard library's :func:`uuid.uuid4` instead.") + def rnd_string(length: int = 16) -> str: ... + @staticmethod + @deprecated("Use the Python standard library's :func:`uuid.uuid5` instead.") + def uid(host_name: str = "example.com", unique: str = "") -> vText: ... + +def is_date(dt: datetime.date) -> bool: ... # and not datetime.date +def is_datetime(dt: datetime.date) -> TypeIs[datetime.datetime]: ... +def to_datetime(dt: datetime.date) -> datetime.datetime: ... +def is_pytz(tz: datetime.tzinfo) -> TypeIs[BaseTzInfo]: ... +def is_pytz_dt(dt: datetime.date) -> TypeGuard[datetime.datetime]: ... # and dt.tzinfo is BaseTZInfo +def normalize_pytz(dt: datetime.date) -> datetime.datetime: ... diff --git a/stubs/icalendar/icalendar/version.pyi b/stubs/icalendar/icalendar/version.pyi new file mode 100644 index 000000000000..35b1799741e9 --- /dev/null +++ b/stubs/icalendar/icalendar/version.pyi @@ -0,0 +1,8 @@ +__all__ = ["__version__", "version", "__version_tuple__", "version_tuple"] + +from typing import Final + +__version__: Final[str] +__version_tuple__: Final[tuple[int, ...]] +version: Final[str] +version_tuple: Final[tuple[int, ...]] diff --git a/stubs/jwcrypto/@tests/stubtest_allowlist.txt b/stubs/jwcrypto/@tests/stubtest_allowlist.txt index 253d414f8eab..b81e7c4baa58 100644 --- a/stubs/jwcrypto/@tests/stubtest_allowlist.txt +++ b/stubs/jwcrypto/@tests/stubtest_allowlist.txt @@ -1,7 +1,6 @@ # test code does not need type hints jwcrypto.tests jwcrypto.tests-cookbook -jwcrypto.tests_mldsa # even if the deprecated decorator is applied, the attribute is not present jwcrypto.jwt.JWTMissingKeyID.__deprecated__ diff --git a/stubs/jwcrypto/METADATA.toml b/stubs/jwcrypto/METADATA.toml index 6af06db3c511..746c8c0fb382 100644 --- a/stubs/jwcrypto/METADATA.toml +++ b/stubs/jwcrypto/METADATA.toml @@ -1,3 +1,3 @@ -version = "1.6.0" +version = "1.5.8" upstream-repository = "https://github.com/latchset/jwcrypto" dependencies = ["cryptography"] diff --git a/stubs/jwcrypto/jwcrypto/common.pyi b/stubs/jwcrypto/jwcrypto/common.pyi index 1deafd70a886..b1361916a804 100644 --- a/stubs/jwcrypto/jwcrypto/common.pyi +++ b/stubs/jwcrypto/jwcrypto/common.pyi @@ -19,9 +19,6 @@ class InvalidJWAAlgorithm(JWException): class InvalidCEKeyLength(JWException): def __init__(self, expected: int, obtained: int) -> None: ... -class InvalidJWEData(JWException): - def __init__(self, message: str | None = None, exception: BaseException | None = None) -> None: ... - class InvalidJWEOperation(JWException): def __init__(self, message: str | None = None, exception: BaseException | None = None) -> None: ... diff --git a/stubs/jwcrypto/jwcrypto/jwa.pyi b/stubs/jwcrypto/jwcrypto/jwa.pyi index 50fdc6d1158d..e2932812cdcc 100644 --- a/stubs/jwcrypto/jwcrypto/jwa.pyi +++ b/stubs/jwcrypto/jwcrypto/jwa.pyi @@ -1,9 +1,8 @@ from abc import ABCMeta, abstractmethod from collections.abc import Mapping -from typing import ClassVar, Literal +from typing import ClassVar default_max_pbkdf2_iterations: int -default_warn_deprecated_algorithms: bool default_enforce_hmac_key_length: bool class JWAAlgorithm(metaclass=ABCMeta): @@ -22,8 +21,6 @@ class JWAAlgorithm(metaclass=ABCMeta): @property @abstractmethod def algorithm_use(self) -> str: ... - status: Literal["active", "deprecated", "prohibited"] - deprecated_by: str | None @property def input_keysize(self) -> int: ... diff --git a/stubs/jwcrypto/jwcrypto/jwe.pyi b/stubs/jwcrypto/jwcrypto/jwe.pyi index 6c8ba45c94e6..6c22794cd5e3 100644 --- a/stubs/jwcrypto/jwcrypto/jwe.pyi +++ b/stubs/jwcrypto/jwcrypto/jwe.pyi @@ -4,7 +4,7 @@ from typing import Any from typing_extensions import LiteralString, Self from jwcrypto import common -from jwcrypto.common import JWSEHeaderParameter, JWSEHeaderRegistry +from jwcrypto.common import JWException, JWSEHeaderParameter, JWSEHeaderRegistry from jwcrypto.jwk import JWK, JWKSet default_max_compressed_size: int @@ -14,8 +14,10 @@ JWEHeaderRegistry: dict[LiteralString, JWSEHeaderParameter] default_allowed_algs: list[LiteralString] +class InvalidJWEData(JWException): + def __init__(self, message: str | None = None, exception: BaseException | None = None) -> None: ... + InvalidCEKeyLength = common.InvalidCEKeyLength -InvalidJWEData = common.InvalidJWEData InvalidJWEKeyLength = common.InvalidJWEKeyLength InvalidJWEKeyType = common.InvalidJWEKeyType InvalidJWEOperation = common.InvalidJWEOperation diff --git a/stubs/jwcrypto/jwcrypto/jwk.pyi b/stubs/jwcrypto/jwcrypto/jwk.pyi index 3db8d2739baf..5cdd0bcc45ba 100644 --- a/stubs/jwcrypto/jwcrypto/jwk.pyi +++ b/stubs/jwcrypto/jwcrypto/jwk.pyi @@ -11,14 +11,6 @@ from cryptography.hazmat.primitives.asymmetric.ed25519 import ( Ed25519PrivateKey as Ed25519PrivateKey, Ed25519PublicKey as Ed25519PublicKey, ) -from cryptography.hazmat.primitives.asymmetric.mldsa import ( - MLDSA44PrivateKey as MLDSA44PrivateKey, - MLDSA44PublicKey as MLDSA44PublicKey, - MLDSA65PrivateKey as MLDSA65PrivateKey, - MLDSA65PublicKey as MLDSA65PublicKey, - MLDSA87PrivateKey as MLDSA87PrivateKey, - MLDSA87PublicKey as MLDSA87PublicKey, -) from cryptography.hazmat.primitives.asymmetric.x448 import X448PrivateKey as X448PrivateKey, X448PublicKey as X448PublicKey from cryptography.hazmat.primitives.asymmetric.x25519 import ( X25519PrivateKey as X25519PrivateKey, @@ -30,11 +22,11 @@ _T = TypeVar("_T") class UnimplementedOKPCurveKey: @classmethod - def generate(cls): ... + def generate(cls) -> None: ... @classmethod - def from_public_bytes(cls, *args): ... + def from_public_bytes(cls, *args) -> None: ... @classmethod - def from_private_bytes(cls, *args): ... + def from_private_bytes(cls, *args) -> None: ... ImplementedOkpCurves: Sequence[str] priv_bytes: Callable[[bytes], X25519PrivateKey] | None @@ -55,20 +47,6 @@ class _X448_CURVE(NamedTuple): pubkey: UnimplementedOKPCurveKey privkey: UnimplementedOKPCurveKey -class UnimplementedAKPAlgorithm: - @classmethod - def generate(cls): ... - @classmethod - def from_public_bytes(cls, *args): ... - @classmethod - def from_seed_bytes(cls, *args): ... - -ImplementedAKPAlgorithms: Sequence[str] - -class _AKPAlg(NamedTuple): - pubkey: UnimplementedAKPAlgorithm - privkey: UnimplementedAKPAlgorithm - _JWKKeyTypeSupported: TypeAlias = Literal["oct", "RSA", "EC", "OKP"] JWKTypesRegistry: dict[_JWKKeyTypeSupported, str] diff --git a/stubs/kafka-python/@tests/stubtest_allowlist.txt b/stubs/kafka-python/@tests/stubtest_allowlist.txt index d58243279e96..b8dfd146c7cc 100644 --- a/stubs/kafka-python/@tests/stubtest_allowlist.txt +++ b/stubs/kafka-python/@tests/stubtest_allowlist.txt @@ -7,25 +7,18 @@ kafka.producer.__main__ # Benchmark modules are not included in type stubs. kafka.benchmarks.* +# Concrete subclasses define these abstract properties as class attributes. +kafka.protocol.api.Request.API_KEY +kafka.protocol.api.Request.API_VERSION +kafka.protocol.api.Request.RESPONSE_TYPE +kafka.protocol.api.Request.SCHEMA +kafka.protocol.api.Response.API_KEY +kafka.protocol.api.Response.API_VERSION +kafka.protocol.api.Response.SCHEMA + # Vendored compatibility modules are implementation details. kafka.vendor - -# Undocumented and clearly not meant to be exposed. -kafka.coordinator.base.heartbeat_log -kafka.net.selector.log_trace -kafka.*\.log -kafka.*\.logger -kafka.*\.__license__ - -# The max_version param expects an int, even though it has as default value of float('inf'). -kafka.protocol.broker_version_data.BrokerVersionData.api_version - -# TODO: This has more attributes. -kafka.protocol.api_header.RequestHeader.client_id -kafka.protocol.api_header.RequestHeader.correlation_id -kafka.protocol.api_header.RequestHeader.request_api_key -kafka.protocol.api_header.RequestHeader.request_api_version -kafka.protocol.api_header.ResponseHeader.correlation_id -kafka.coordinator.assignors.sticky.user_data.StickyAssignorUserData.TopicPartition -kafka.coordinator.assignors.sticky.user_data.StickyAssignorUserData.generation -kafka.coordinator.assignors.sticky.user_data.StickyAssignorUserData.previous_assignment +kafka.vendor.enum34 +kafka.vendor.selectors34 +kafka.vendor.six +kafka.vendor.socketpair diff --git a/stubs/kafka-python/METADATA.toml b/stubs/kafka-python/METADATA.toml index 26c881cc7b5e..33686d2d9baf 100644 --- a/stubs/kafka-python/METADATA.toml +++ b/stubs/kafka-python/METADATA.toml @@ -1,2 +1,2 @@ -version = "3.0.11" +version = "2.3.2" upstream-repository = "https://github.com/dpkp/kafka-python" diff --git a/stubs/kafka-python/kafka/__init__.pyi b/stubs/kafka-python/kafka/__init__.pyi index b4df0bc6fad8..36252752f501 100644 --- a/stubs/kafka-python/kafka/__init__.pyi +++ b/stubs/kafka-python/kafka/__init__.pyi @@ -1,38 +1,13 @@ +import logging + from kafka.admin import KafkaAdminClient as KafkaAdminClient +from kafka.client_async import KafkaClient as KafkaClient +from kafka.conn import BrokerConnection as BrokerConnection from kafka.consumer import KafkaConsumer as KafkaConsumer -from kafka.consumer.subscription_state import ( - AsyncConsumerRebalanceListener as AsyncConsumerRebalanceListener, - ConsumerRebalanceListener as ConsumerRebalanceListener, -) +from kafka.consumer.subscription_state import ConsumerRebalanceListener as ConsumerRebalanceListener from kafka.producer import KafkaProducer as KafkaProducer -from kafka.protocol.consumer import IsolationLevel as IsolationLevel, OffsetSpec as OffsetSpec -from kafka.serializer import ( - DefaultSerializer as DefaultSerializer, - Deserializer as Deserializer, - JsonSerializer as JsonSerializer, - Serializer as Serializer, -) -from kafka.structs import ( - ConsumerGroupMetadata as ConsumerGroupMetadata, - OffsetAndMetadata as OffsetAndMetadata, - TopicPartition as TopicPartition, - TopicPartitionReplica as TopicPartitionReplica, -) -__all__ = [ - "KafkaAdminClient", - "KafkaConsumer", - "KafkaProducer", - "AsyncConsumerRebalanceListener", - "ConsumerRebalanceListener", - "DefaultSerializer", - "JsonSerializer", - "Serializer", - "Deserializer", - "ConsumerGroupMetadata", - "OffsetAndMetadata", - "TopicPartition", - "TopicPartitionReplica", - "IsolationLevel", - "OffsetSpec", -] +__all__ = ["BrokerConnection", "ConsumerRebalanceListener", "KafkaAdminClient", "KafkaClient", "KafkaConsumer", "KafkaProducer"] + +class NullHandler(logging.Handler): + def emit(self, record) -> None: ... diff --git a/stubs/kafka-python/kafka/admin/__init__.pyi b/stubs/kafka-python/kafka/admin/__init__.pyi index 8db21243ba72..d895bbf521e0 100644 --- a/stubs/kafka-python/kafka/admin/__init__.pyi +++ b/stubs/kafka-python/kafka/admin/__init__.pyi @@ -1,4 +1,4 @@ -from kafka.admin._acls import ( +from kafka.admin.acl_resource import ( ACL as ACL, ACLFilter as ACLFilter, ACLOperation as ACLOperation, @@ -8,61 +8,23 @@ from kafka.admin._acls import ( ResourcePatternFilter as ResourcePatternFilter, ResourceType as ResourceType, ) -from kafka.admin._cluster import UpdateFeatureType as UpdateFeatureType -from kafka.admin._configs import ( - AlterConfigOp as AlterConfigOp, - ConfigFilterType as ConfigFilterType, - ConfigResource as ConfigResource, - ConfigResourceType as ConfigResourceType, - ConfigSourceType as ConfigSourceType, - ConfigType as ConfigType, -) -from kafka.admin._groups import GroupState as GroupState, GroupType as GroupType, MemberToRemove as MemberToRemove -from kafka.admin._partitions import NewPartitions as NewPartitions, OffsetSpec as OffsetSpec, OffsetTimestamp as OffsetTimestamp -from kafka.admin._topics import NewTopic as NewTopic -from kafka.admin._transactions import ( - AbortTransactionSpec as AbortTransactionSpec, - PartitionProducerState as PartitionProducerState, - ProducerState as ProducerState, - TransactionDescription as TransactionDescription, - TransactionListing as TransactionListing, - TransactionState as TransactionState, -) -from kafka.admin._users import ( - ScramMechanism as ScramMechanism, - UserScramCredentialDeletion as UserScramCredentialDeletion, - UserScramCredentialUpsertion as UserScramCredentialUpsertion, -) from kafka.admin.client import KafkaAdminClient as KafkaAdminClient +from kafka.admin.config_resource import ConfigResource as ConfigResource, ConfigResourceType as ConfigResourceType +from kafka.admin.new_partitions import NewPartitions as NewPartitions +from kafka.admin.new_topic import NewTopic as NewTopic __all__ = [ + "ConfigResource", + "ConfigResourceType", "KafkaAdminClient", + "NewTopic", + "NewPartitions", "ACL", "ACLFilter", + "ResourcePattern", + "ResourcePatternFilter", "ACLOperation", + "ResourceType", "ACLPermissionType", "ACLResourcePatternType", - "ResourceType", - "ResourcePattern", - "ResourcePatternFilter", - "AlterConfigOp", - "ConfigResource", - "ConfigResourceType", - "ConfigType", - "ConfigSourceType", - "UpdateFeatureType", - "GroupState", - "GroupType", - "MemberToRemove", - "OffsetSpec", - "OffsetTimestamp", - "AbortTransactionSpec", - "PartitionProducerState", - "ProducerState", - "TransactionDescription", - "TransactionListing", - "TransactionState", - "ScramMechanism", - "UserScramCredentialDeletion", - "UserScramCredentialUpsertion", ] diff --git a/stubs/kafka-python/kafka/admin/_cluster.pyi b/stubs/kafka-python/kafka/admin/_cluster.pyi deleted file mode 100644 index 4faa7f80c99c..000000000000 --- a/stubs/kafka-python/kafka/admin/_cluster.pyi +++ /dev/null @@ -1,27 +0,0 @@ -from _typeshed import Incomplete -from enum import IntEnum - -from kafka.protocol.api_key import ApiKey -from kafka.util import EnumHelper - -class ClusterAdminMixin: - def describe_cluster(self) -> dict[str, Incomplete]: ... - def describe_log_dirs( - self, - topic_partitions: dict[Incomplete, Incomplete] | list[Incomplete] | None = None, - brokers: list[Incomplete] | None = None, - ) -> list[dict[str, Incomplete]]: ... - def alter_replica_log_dirs(self, replica_assignments): ... - def describe_metadata_quorum(self): ... - def get_broker_version_data(self, broker_id): ... - def api_versions(self) -> dict[ApiKey, tuple[int, int] | Incomplete]: ... - def describe_features(self, send_request_to_controller: bool = False) -> dict[str, Incomplete]: ... - def update_features( - self, feature_updates: dict[Incomplete, Incomplete], validate_only: bool = False, timeout_ms: int = 60000 - ) -> dict[Incomplete, Incomplete]: ... - -class UpdateFeatureType(EnumHelper, IntEnum): - UNKNOWN = 0 - UPGRADE = 1 - SAFE_DOWNGRADE = 2 - UNSAFE_DOWNGRADE = 3 diff --git a/stubs/kafka-python/kafka/admin/_configs.pyi b/stubs/kafka-python/kafka/admin/_configs.pyi deleted file mode 100644 index 8842b8c4a17b..000000000000 --- a/stubs/kafka-python/kafka/admin/_configs.pyi +++ /dev/null @@ -1,83 +0,0 @@ -from _typeshed import Incomplete -from collections.abc import Mapping, Sequence -from enum import IntEnum - -from kafka.util import EnumHelper - -class ConfigAdminMixin: - config: dict[Incomplete, Incomplete] - def describe_configs( - self, - config_resources: Sequence[ConfigResource], - include_synonyms: bool = False, - config_filter: ConfigFilterType | str = "modified", - ): ... - def list_config_resources(self, resource_types: Sequence[ConfigResourceType | str] | None = None): ... - def alter_configs( - self, - config_resources: Sequence[ConfigResource], - validate_only: bool = False, - raise_on_unknown: bool = True, - incremental: bool | None = None, - ): ... - def reset_configs( - self, - config_resources: Sequence[ConfigResource], - validate_only: bool = False, - raise_on_unknown: bool = True, - incremental: bool | None = None, - ): ... - -class AlterConfigOp(EnumHelper, IntEnum): - SET = 0 - DELETE = 1 - APPEND = 2 - SUBTRACT = 3 - -class ConfigFilterType(EnumHelper, IntEnum): - ALL = 0 - DYNAMIC = 1 - MODIFIED = 2 - DEFAULT = 3 - STATIC = 4 - def should_skip(self, config_source: ConfigSourceType) -> bool: ... - -class ConfigResourceType(EnumHelper, IntEnum): - UNKNOWN = 0 - TOPIC = 2 - BROKER = 4 - BROKER_LOGGER = 8 - CLIENT_METRICS = 16 - GROUP = 32 - -class ConfigResource: - resource_type: ConfigResourceType - name: str - configs: Mapping[str, str] | None - def __init__(self, resource_type: ConfigResourceType | str, name: str, configs: Mapping[str, str] | None = None) -> None: ... - -class ConfigType(EnumHelper, IntEnum): - UNKNOWN = 0 - BOOLEAN = 1 - STRING = 2 - INT = 3 - SHORT = 4 - LONG = 5 - DOUBLE = 6 - LIST = 7 - CLASS = 8 - PASSWORD = 9 - -class ConfigSourceType(EnumHelper, IntEnum): - UNKNOWN = 0 - DYNAMIC_TOPIC_CONFIG = 1 - DYNAMIC_BROKER_CONFIG = 2 - DYNAMIC_DEFAULT_BROKER_CONFIG = 3 - STATIC_BROKER_CONFIG = 4 - DEFAULT_CONFIG = 5 - DYNAMIC_BROKER_LOGGER_CONFIG = 6 - DYNAMIC_CLIENT_METRICS_CONFIG = 7 - DYNAMIC_GROUP_CONFIG = 8 - def is_modified(self) -> bool: ... - @classmethod - def dynamic_for_resource_type(cls, resource_type: ConfigResourceType) -> ConfigSourceType: ... diff --git a/stubs/kafka-python/kafka/admin/_groups.pyi b/stubs/kafka-python/kafka/admin/_groups.pyi deleted file mode 100644 index abe2d632c507..000000000000 --- a/stubs/kafka-python/kafka/admin/_groups.pyi +++ /dev/null @@ -1,64 +0,0 @@ -import sys -from _typeshed import Incomplete - -from kafka.util import EnumHelper - -class GroupAdminMixin: - config: dict[Incomplete, Incomplete] - def describe_groups( - self, group_ids, group_coordinator_id: int | None = None, include_authorized_operations: bool = False - ): ... - def list_groups(self, broker_ids=None, states_filter=None, types_filter=None): ... - def list_group_offsets(self, group_specs): ... - def delete_groups(self, group_ids, group_coordinator_id: int | None = None): ... - def alter_group_offsets(self, group_id: str, offsets, group_coordinator_id: int | None = None): ... - def reset_group_offsets(self, group_id: str, offset_specs, group_coordinator_id: int | None = None): ... - def delete_group_offsets(self, group_id: str, partitions, group_coordinator_id: int | None = None): ... - def remove_group_members(self, group_id: str, members, group_coordinator_id: int | None = None): ... - -class MemberToRemove: - __slots__ = ("member_id", "group_instance_id", "reason") - member_id: str | None - group_instance_id: str | None - reason: str | None - def __init__(self, member_id: str | None = None, group_instance_id: str | None = None, reason: str | None = None) -> None: ... - def __eq__(self, other: MemberToRemove) -> bool: ... # type: ignore[override] - def __hash__(self) -> int: ... - -if sys.version_info >= (3, 11): - from enum import StrEnum - - class GroupState(EnumHelper, StrEnum): - UNKNOWN = "Unknown" - PREPARING_REBALANCE = "PreparingRebalance" - COMPLETING_REBALANCE = "CompletingRebalance" - STABLE = "Stable" - DEAD = "Dead" - EMPTY = "Empty" - ASSIGNING = "Assigning" - RECONCILING = "Reconciling" - - class GroupType(EnumHelper, StrEnum): - UNKNOWN = "Unknown" - CLASSIC = "classic" - CONSUMER = "consumer" - SHARE = "share" - -else: - from enum import Enum - - class GroupState(EnumHelper, str, Enum): - UNKNOWN = "Unknown" - PREPARING_REBALANCE = "PreparingRebalance" - COMPLETING_REBALANCE = "CompletingRebalance" - STABLE = "Stable" - DEAD = "Dead" - EMPTY = "Empty" - ASSIGNING = "Assigning" - RECONCILING = "Reconciling" - - class GroupType(EnumHelper, str, Enum): - UNKNOWN = "Unknown" - CLASSIC = "classic" - CONSUMER = "consumer" - SHARE = "share" diff --git a/stubs/kafka-python/kafka/admin/_partitions.pyi b/stubs/kafka-python/kafka/admin/_partitions.pyi deleted file mode 100644 index fde83e35b19f..000000000000 --- a/stubs/kafka-python/kafka/admin/_partitions.pyi +++ /dev/null @@ -1,32 +0,0 @@ -from _typeshed import Incomplete -from collections.abc import Mapping, Sequence -from typing_extensions import deprecated - -from kafka.protocol.consumer import IsolationLevel, OffsetSpec as OffsetSpec, OffsetTimestamp as OffsetTimestamp -from kafka.structs import TopicPartition - -class PartitionAdminMixin: - config: dict[Incomplete, Incomplete] - def create_partitions( - self, - topic_partitions: Mapping[str, int | dict[Incomplete, Incomplete] | NewPartitions], - timeout_ms: int | None = None, - validate_only: bool = False, - raise_errors: bool = True, - ): ... - def delete_records( - self, records_to_delete: Mapping[TopicPartition, int], timeout_ms: float | None = None, partition_leader_id=None - ) -> dict[TopicPartition, Incomplete]: ... - def elect_leaders(self, election_type, topic_partitions=None, timeout_ms=None, raise_errors: bool = True): ... - def alter_partition_reassignments(self, reassignments, timeout_ms=None): ... - def list_partition_reassignments(self, topic_partitions=None, timeout_ms=None): ... - def describe_topic_partitions(self, topics, response_partition_limit: int = 2000, cursor=None): ... - def list_partition_offsets( - self, topic_partition_specs, isolation_level: IsolationLevel = IsolationLevel.READ_UNCOMMITTED, timeout_ms=None - ): ... - -@deprecated("Deprecated since v3.0.0. Use simple `dict` instead.") -class NewPartitions: - total_count: int - new_assignments: Sequence[Sequence[int]] | None - def __init__(self, total_count: int, new_assignments: Sequence[Sequence[int]] | None = None) -> None: ... diff --git a/stubs/kafka-python/kafka/admin/_topics.pyi b/stubs/kafka-python/kafka/admin/_topics.pyi deleted file mode 100644 index ccdb7cc6c93c..000000000000 --- a/stubs/kafka-python/kafka/admin/_topics.pyi +++ /dev/null @@ -1,35 +0,0 @@ -import uuid -from _typeshed import Incomplete -from collections.abc import Mapping, Sequence -from typing_extensions import deprecated - -class TopicAdminMixin: - config: dict[Incomplete, Incomplete] - def list_topics(self) -> list[str]: ... - def describe_topics(self, topics: Sequence[str | uuid.UUID] | None = None) -> list[dict[str, Incomplete]]: ... - def create_topics( - self, - new_topics: dict[str, dict[Incomplete, Incomplete]] | Sequence[NewTopic], - timeout_ms: float | None = None, - validate_only: bool = False, - raise_errors: bool = True, - wait_for_metadata: bool = False, - ): ... - def wait_for_topics(self, topic_names, timeout_ms: float | None = 10000): ... - def delete_topics(self, topics: Sequence[str | uuid.UUID], timeout_ms: float | None = None, raise_errors: bool = True): ... - -@deprecated("Deprecated since v3.0.0. Use simple `dict` instead.") -class NewTopic: - name: str - num_partitions: int - replication_factor: int - replica_assignments: Mapping[int, Sequence[int]] | None - topic_configs: Mapping[str, str] | None - def __init__( - self, - name: str, - num_partitions: int = -1, - replication_factor: int = -1, - replica_assignments: Mapping[int, Sequence[int]] | None = None, - topic_configs: Mapping[str, str] | None = None, - ) -> None: ... diff --git a/stubs/kafka-python/kafka/admin/_transactions.pyi b/stubs/kafka-python/kafka/admin/_transactions.pyi deleted file mode 100644 index fb381a30b34f..000000000000 --- a/stubs/kafka-python/kafka/admin/_transactions.pyi +++ /dev/null @@ -1,80 +0,0 @@ -import sys -from _typeshed import Incomplete -from typing import NamedTuple - -from kafka.structs import TopicPartition -from kafka.util import EnumHelper - -if sys.version_info >= (3, 11): - from enum import StrEnum - - class TransactionState(EnumHelper, StrEnum): - EMPTY = "Empty" - ONGOING = "Ongoing" - PREPARE_COMMIT = "PrepareCommit" - PREPARE_ABORT = "PrepareAbort" - COMPLETE_COMMIT = "CompleteCommit" - COMPLETE_ABORT = "CompleteAbort" - DEAD = "Dead" - PREPARE_EPOCH_FENCE = "PrepareEpochFence" - UNKNOWN = "Unknown" - -else: - from enum import Enum - - class TransactionState(EnumHelper, str, Enum): - EMPTY = "Empty" - ONGOING = "Ongoing" - PREPARE_COMMIT = "PrepareCommit" - PREPARE_ABORT = "PrepareAbort" - COMPLETE_COMMIT = "CompleteCommit" - COMPLETE_ABORT = "CompleteAbort" - DEAD = "Dead" - PREPARE_EPOCH_FENCE = "PrepareEpochFence" - UNKNOWN = "Unknown" - -class TransactionListing(NamedTuple): - transactional_id: str - producer_id: int - state: TransactionState - -class TransactionDescription(NamedTuple): - coordinator_id: int - state: TransactionState - producer_id: int - producer_epoch: int - transaction_timeout_ms: int - transaction_start_time_ms: int - topic_partitions: set[TopicPartition] - -class ProducerState(NamedTuple): - producer_id: int - producer_epoch: int - last_sequence: int - last_timestamp: int - coordinator_epoch: int - current_transaction_start_offset: int - -class PartitionProducerState(NamedTuple): - active_producers: list[ProducerState] - -class AbortTransactionSpec(NamedTuple): - topic_partition: TopicPartition - producer_id: int - producer_epoch: int - coordinator_epoch: int = -1 - -class TransactionsAdminMixin: - config: dict[Incomplete, Incomplete] - def list_transactions( - self, - broker_ids=None, - producer_id_filters=None, - state_filters=None, - duration_filter_ms: float | None = None, - transactional_id_pattern: str | None = None, - ): ... - def describe_transactions(self, transactional_ids): ... - def describe_producers(self, partitions, broker_id: int | None = None): ... - def abort_transaction(self, spec): ... - def find_hanging_transactions(self, broker_ids=None, max_transaction_timeout_ms: float = 900000): ... diff --git a/stubs/kafka-python/kafka/admin/_users.pyi b/stubs/kafka-python/kafka/admin/_users.pyi deleted file mode 100644 index 9937bc64f07d..000000000000 --- a/stubs/kafka-python/kafka/admin/_users.pyi +++ /dev/null @@ -1,36 +0,0 @@ -from _typeshed import ReadableBuffer -from collections.abc import Sequence -from enum import IntEnum -from typing import Final - -class UserAdminMixin: - def alter_user_scram_credentials(self, alterations: Sequence[UserScramCredentialDeletion | UserScramCredentialUpsertion]): ... - def describe_user_scram_credentials(self, users: Sequence[str] | None = None): ... - -class ScramMechanism(IntEnum): - UNKNOWN = 0 - SCRAM_SHA_256 = 1 - SCRAM_SHA_512 = 2 - @property - def hash_name(self) -> str: ... - -class UserScramCredentialDeletion: - user: str - mechanism: ScramMechanism - def __init__(self, user: str, mechanism: ScramMechanism | int | str) -> None: ... - -class UserScramCredentialUpsertion: - DEFAULT_ITERATIONS: Final = 4096 - user: str - mechanism: ScramMechanism - iterations: int - salt: ReadableBuffer - salted_password: bytes - def __init__( - self, - user: str, - mechanism: ScramMechanism | int | str, - password: str | ReadableBuffer, - iterations: int | None = None, - salt: ReadableBuffer | None = None, - ) -> None: ... diff --git a/stubs/kafka-python/kafka/admin/_acls.pyi b/stubs/kafka-python/kafka/admin/acl_resource.pyi similarity index 69% rename from stubs/kafka-python/kafka/admin/_acls.pyi rename to stubs/kafka-python/kafka/admin/acl_resource.pyi index cb348d886743..ea613c07dbe3 100644 --- a/stubs/kafka-python/kafka/admin/_acls.pyi +++ b/stubs/kafka-python/kafka/admin/acl_resource.pyi @@ -1,30 +1,13 @@ -from _typeshed import Incomplete -from collections.abc import Sequence from enum import IntEnum -from typing import TypedDict, type_check_only - -from kafka.errors import KafkaError - -@type_check_only -class _CreateAclsResult(TypedDict): - succeeded: list[ACL] - failed: list[type[KafkaError]] - -class ACLAdminMixin: - config: dict[Incomplete, Incomplete] - def describe_acls(self, acl_filter: ACLFilter) -> tuple[list[ACL], type[KafkaError]]: ... - def create_acls(self, acls: Sequence[ACL]) -> _CreateAclsResult: ... - def delete_acls(self, acl_filters: Sequence[ACLFilter]) -> list[tuple[ACLFilter, list[ACL], type[KafkaError]]]: ... class ResourceType(IntEnum): UNKNOWN = 0 ANY = 1 - TOPIC = 2 - GROUP = 3 CLUSTER = 4 - TRANSACTIONAL_ID = 5 DELEGATION_TOKEN = 6 - USER = 7 + GROUP = 3 + TOPIC = 2 + TRANSACTIONAL_ID = 5 class ACLOperation(IntEnum): UNKNOWN = 0 @@ -41,7 +24,7 @@ class ACLOperation(IntEnum): ALTER_CONFIGS = 11 IDEMPOTENT_WRITE = 12 CREATE_TOKENS = 13 - DESCRIBE_TOKENS = 14 + DESCRIBE_TOKENS = 13 class ACLPermissionType(IntEnum): UNKNOWN = 0 @@ -56,25 +39,6 @@ class ACLResourcePatternType(IntEnum): LITERAL = 3 PREFIXED = 4 -class ResourcePatternFilter: - resource_type: ResourceType - resource_name: str | None - pattern_type: ACLResourcePatternType - def __init__(self, resource_type: ResourceType, resource_name: str | None, pattern_type: ACLResourcePatternType) -> None: ... - def validate(self) -> None: ... - def __eq__(self, other: ResourcePatternFilter) -> bool: ... # type: ignore[override] - def __hash__(self) -> int: ... - -class ResourcePattern(ResourcePatternFilter): - resource_name: str - def __init__( - self, - resource_type: ResourceType, - resource_name: str, - pattern_type: ACLResourcePatternType = ACLResourcePatternType.LITERAL, - ) -> None: ... - def validate(self) -> None: ... - class ACLFilter: principal: str | None host: str | None @@ -90,8 +54,8 @@ class ACLFilter: resource_pattern: ResourcePatternFilter, ) -> None: ... def validate(self) -> None: ... - def __eq__(self, other: ACLFilter) -> bool: ... # type: ignore[override] - def __hash__(self) -> int: ... + def __eq__(self, other): ... + def __hash__(self): ... class ACL(ACLFilter): resource_pattern: ResourcePattern @@ -105,4 +69,23 @@ class ACL(ACLFilter): ) -> None: ... def validate(self) -> None: ... +class ResourcePatternFilter: + resource_type: ResourceType + resource_name: str | None + pattern_type: ACLResourcePatternType + def __init__(self, resource_type: ResourceType, resource_name: str | None, pattern_type: ACLResourcePatternType) -> None: ... + def validate(self) -> None: ... + def __eq__(self, other): ... + def __hash__(self): ... + +class ResourcePattern(ResourcePatternFilter): + resource_name: str + def __init__( + self, + resource_type: ResourceType, + resource_name: str, + pattern_type: ACLResourcePatternType = ACLResourcePatternType.LITERAL, + ) -> None: ... + def validate(self) -> None: ... + def valid_acl_operations(int_vals) -> set[ACLOperation]: ... diff --git a/stubs/kafka-python/kafka/admin/client.pyi b/stubs/kafka-python/kafka/admin/client.pyi index f83c11bd361f..bbda95e50889 100644 --- a/stubs/kafka-python/kafka/admin/client.pyi +++ b/stubs/kafka-python/kafka/admin/client.pyi @@ -1,77 +1,114 @@ import selectors import ssl from _typeshed import Incomplete -from collections.abc import Callable, Sequence -from types import TracebackType -from typing import Literal -from typing_extensions import Self +from collections.abc import Callable, Iterable, Mapping, Sequence +from typing import Literal, TypeAlias, TypedDict, type_check_only +from typing_extensions import Unpack -from kafka.admin._acls import ACLAdminMixin -from kafka.admin._cluster import ClusterAdminMixin -from kafka.admin._configs import ConfigAdminMixin -from kafka.admin._groups import GroupAdminMixin -from kafka.admin._partitions import PartitionAdminMixin -from kafka.admin._topics import TopicAdminMixin -from kafka.admin._transactions import TransactionsAdminMixin -from kafka.admin._users import UserAdminMixin -from kafka.net.sasl.oauth import AbstractTokenProvider +from kafka.admin.acl_resource import ACL, ACLFilter +from kafka.admin.config_resource import ConfigResource +from kafka.admin.new_partitions import NewPartitions +from kafka.admin.new_topic import NewTopic +from kafka.errors import KafkaError +from kafka.protocol.admin import ElectionType +from kafka.structs import GroupInformation, OffsetAndMetadata, TopicPartition -class KafkaAdminClient( - ACLAdminMixin, - ClusterAdminMixin, - ConfigAdminMixin, - GroupAdminMixin, - PartitionAdminMixin, - TopicAdminMixin, - TransactionsAdminMixin, - UserAdminMixin, -): - DEFAULT_CONFIG: dict[str, Incomplete] - config: dict[str, Incomplete] - def __init__( - self, - *, - bootstrap_servers: str | Sequence[str] = "localhost", - client_id: str = ..., - request_timeout_ms: int = 30_000, - connections_max_idle_ms: int = 540_000, - reconnect_backoff_ms: int = 50, - reconnect_backoff_max_ms: int = 30_000, - max_in_flight_requests_per_connection: int = 5, - receive_message_max_bytes: int = 100_000_000, - receive_buffer_bytes: int | None = None, - send_buffer_bytes: int | None = None, - socket_options: Sequence[tuple[int, int, int]] = ..., - retry_backoff_ms: int = 100, - metadata_max_age_ms: int = 300_000, - client_dns_lookup: str = "use_all_dns_ips", - security_protocol: Literal["PLAINTEXT", "SSL", "SASL_PLAINTEXT", "SASL_SSL"] = "PLAINTEXT", - ssl_context: ssl.SSLContext | None = None, - ssl_check_hostname: bool = True, - ssl_cafile: str | None = None, - ssl_certfile: str | None = None, - ssl_keyfile: str | None = None, - ssl_password: str | None = None, - ssl_crlfile: str | None = None, - api_version: tuple[int, ...] | None = None, - bootstrap_timeout_ms: int = 30_000, - selector: type[selectors.BaseSelector] = selectors.DefaultSelector, - sasl_mechanism: Literal["PLAIN", "GSSAPI", "OAUTHBEARER", "SCRAM-SHA-256", "SCRAM-SHA-512"] | None = None, - sasl_plain_username: str | None = None, - sasl_plain_password: str | None = None, - sasl_kerberos_name: object | None = None, - sasl_kerberos_service_name: str = "kafka", - sasl_kerberos_domain_name: str | None = None, - sasl_oauth_token_provider: AbstractTokenProvider | None = None, - proxy_url: str | None = None, - socks5_proxy: str | None = None, - metric_reporters: Sequence[type[object]] = [], - metrics_num_samples: int = 2, - metrics_sample_window_ms: int = 30_000, - kafka_client: Callable[..., object] = ..., - ) -> None: ... - def __enter__(self) -> Self: ... - def __exit__( - self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None - ) -> None: ... +_ApiVersion: TypeAlias = tuple[int, ...] +_BootstrapServers: TypeAlias = str | Sequence[str] +_KafkaClientFactory: TypeAlias = Callable[..., object] +_SaslMechanism: TypeAlias = Literal["PLAIN", "GSSAPI", "OAUTHBEARER", "SCRAM-SHA-256", "SCRAM-SHA-512"] +_SecurityProtocol: TypeAlias = Literal["PLAINTEXT", "SSL", "SASL_PLAINTEXT", "SASL_SSL"] +_SocketOption: TypeAlias = tuple[int, int, int] + +@type_check_only +class _KafkaAdminClientConfig(TypedDict, total=False): + bootstrap_servers: _BootstrapServers + client_id: str + request_timeout_ms: int + connections_max_idle_ms: int + reconnect_backoff_ms: int + reconnect_backoff_max_ms: int + max_in_flight_requests_per_connection: int + receive_buffer_bytes: int | None + send_buffer_bytes: int | None + socket_options: Sequence[_SocketOption] + sock_chunk_bytes: int + sock_chunk_buffer_count: int + retry_backoff_ms: int + metadata_max_age_ms: int + security_protocol: _SecurityProtocol + ssl_context: ssl.SSLContext | None + ssl_check_hostname: bool + ssl_cafile: str | None + ssl_certfile: str | None + ssl_keyfile: str | None + ssl_password: str | None + ssl_crlfile: str | None + api_version: _ApiVersion | None + api_version_auto_timeout_ms: int + selector: type[selectors.BaseSelector] + sasl_mechanism: _SaslMechanism | None + sasl_plain_username: str | None + sasl_plain_password: str | None + sasl_kerberos_name: object | None + sasl_kerberos_service_name: str + sasl_kerberos_domain_name: str | None + sasl_oauth_token_provider: object | None + socks5_proxy: str | None + metric_reporters: Sequence[type[object]] + metrics_num_samples: int + metrics_sample_window_ms: int + kafka_client: _KafkaClientFactory + +@type_check_only +class _CreateAclsResult(TypedDict): + succeeded: list[ACL] + failed: list[tuple[ACL, KafkaError]] + +log: Incomplete + +class KafkaAdminClient: + DEFAULT_CONFIG: Incomplete + config: Incomplete + def __init__(self, **configs: Unpack[_KafkaAdminClientConfig]) -> None: ... def close(self) -> None: ... + def send_request(self, request, node_id=None): ... + def send_requests(self, requests_and_node_ids, response_fn=...): ... + def create_topics(self, new_topics: Sequence[NewTopic], timeout_ms: int | None = None, validate_only: bool = False): ... + def delete_topics(self, topics: Sequence[str], timeout_ms: int | None = None): ... + def list_topics(self) -> list[str]: ... + def describe_topics(self, topics: Sequence[str] | None = None) -> list[dict[str, Incomplete]]: ... + def describe_cluster(self) -> dict[str, Incomplete]: ... + def describe_acls(self, acl_filter: ACLFilter) -> tuple[list[ACL], KafkaError]: ... + def create_acls(self, acls: Sequence[ACL]) -> _CreateAclsResult: ... + def delete_acls( + self, acl_filters: Sequence[ACLFilter] + ) -> list[tuple[ACLFilter, list[tuple[ACL, KafkaError]], KafkaError]]: ... + def describe_configs(self, config_resources: Sequence[ConfigResource], include_synonyms: bool = False): ... + def alter_configs(self, config_resources: Sequence[ConfigResource]): ... + def create_partitions( + self, topic_partitions: Mapping[str, NewPartitions], timeout_ms: int | None = None, validate_only: bool = False + ): ... + def delete_records( + self, + records_to_delete: Mapping[TopicPartition, int], + timeout_ms: float | None = None, + partition_leader_id: int | None = None, + ) -> dict[TopicPartition, Incomplete]: ... + def describe_consumer_groups( + self, group_ids: Sequence[str], group_coordinator_id: int | None = None, include_authorized_operations: bool = False + ) -> list[GroupInformation]: ... + def list_consumer_groups(self, broker_ids: Sequence[int] | None = None) -> list[tuple[str, str]]: ... + def list_consumer_group_offsets( + self, group_id: str, group_coordinator_id: int | None = None, partitions: Iterable[TopicPartition] | None = None + ) -> dict[TopicPartition, OffsetAndMetadata]: ... + def delete_consumer_groups( + self, group_ids: Sequence[str], group_coordinator_id: int | None = None + ) -> list[tuple[str, KafkaError]]: ... + def perform_leader_election( + self, + election_type: int | ElectionType, + topic_partitions: Mapping[str, Sequence[int]] | None = None, + timeout_ms: int | None = None, + ): ... + def describe_log_dirs(self): ... diff --git a/stubs/kafka-python/kafka/admin/config_resource.pyi b/stubs/kafka-python/kafka/admin/config_resource.pyi new file mode 100644 index 000000000000..8a54cca3b482 --- /dev/null +++ b/stubs/kafka-python/kafka/admin/config_resource.pyi @@ -0,0 +1,12 @@ +from collections.abc import Mapping +from enum import IntEnum + +class ConfigResourceType(IntEnum): + BROKER = 4 + TOPIC = 2 + +class ConfigResource: + resource_type: ConfigResourceType + name: str + configs: Mapping[str, str] | None + def __init__(self, resource_type: ConfigResourceType, name: str, configs: Mapping[str, str] | None = None) -> None: ... diff --git a/stubs/kafka-python/kafka/admin/new_partitions.pyi b/stubs/kafka-python/kafka/admin/new_partitions.pyi new file mode 100644 index 000000000000..b828f1f5fef6 --- /dev/null +++ b/stubs/kafka-python/kafka/admin/new_partitions.pyi @@ -0,0 +1,6 @@ +from collections.abc import Sequence + +class NewPartitions: + total_count: int + new_assignments: Sequence[Sequence[int]] | None + def __init__(self, total_count: int, new_assignments: Sequence[Sequence[int]] | None = None) -> None: ... diff --git a/stubs/kafka-python/kafka/admin/new_topic.pyi b/stubs/kafka-python/kafka/admin/new_topic.pyi new file mode 100644 index 000000000000..4a1d64ba08c0 --- /dev/null +++ b/stubs/kafka-python/kafka/admin/new_topic.pyi @@ -0,0 +1,16 @@ +from collections.abc import Mapping, Sequence + +class NewTopic: + name: str + num_partitions: int + replication_factor: int + replica_assignments: Mapping[int, Sequence[int]] | None + topic_configs: Mapping[str, str] | None + def __init__( + self, + name: str, + num_partitions: int = -1, + replication_factor: int = -1, + replica_assignments: Mapping[int, Sequence[int]] | None = None, + topic_configs: Mapping[str, str] | None = None, + ) -> None: ... diff --git a/stubs/kafka-python/kafka/cli/__init__.pyi b/stubs/kafka-python/kafka/cli/__init__.pyi index 0ff9583c55d3..e69de29bb2d1 100644 --- a/stubs/kafka-python/kafka/cli/__init__.pyi +++ b/stubs/kafka-python/kafka/cli/__init__.pyi @@ -1,6 +0,0 @@ -from collections.abc import Sequence -from typing import Final - -USAGE: Final[str] - -def run_cli(args: Sequence[str] | None = None): ... diff --git a/stubs/kafka-python/kafka/cli/admin/__init__.pyi b/stubs/kafka-python/kafka/cli/admin/__init__.pyi index 858a47e2a4f4..50eefc19daa8 100644 --- a/stubs/kafka-python/kafka/cli/admin/__init__.pyi +++ b/stubs/kafka-python/kafka/cli/admin/__init__.pyi @@ -1,10 +1,3 @@ -from _typeshed import Incomplete -from argparse import ArgumentParser -from collections.abc import Iterable, Sequence -from typing import Final, Literal - -DEFAULT_COMMAND_GROUPS: Final[tuple[type[Incomplete], ...]] - -def main_parser(prog: str | None = None) -> ArgumentParser: ... -def build_parser(groups: Iterable[Incomplete] = (), prog: str | None = None) -> ArgumentParser: ... -def run_cli(args: Sequence[str] | None = None, prog: str | None = None) -> Literal[0, 1]: ... +def main_parser(): ... +def build_kwargs(props): ... +def run_cli(args=None): ... diff --git a/stubs/kafka-python/kafka/cli/admin/acls/__init__.pyi b/stubs/kafka-python/kafka/cli/admin/acls/__init__.pyi deleted file mode 100644 index e912ffc496f7..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/acls/__init__.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from typing import ClassVar - -from .create import CreateACLs as CreateACLs -from .delete import DeleteACLs as DeleteACLs -from .describe import DescribeACLs as DescribeACLs - -class ACLsCommandGroup: - GROUP: ClassVar[str] - HELP: ClassVar[str] - COMMANDS: ClassVar[list[type[CreateACLs | DeleteACLs | DescribeACLs]]] diff --git a/stubs/kafka-python/kafka/cli/admin/acls/common.pyi b/stubs/kafka-python/kafka/cli/admin/acls/common.pyi deleted file mode 100644 index e8240e52f66b..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/acls/common.pyi +++ /dev/null @@ -1,8 +0,0 @@ -from argparse import ArgumentParser, Namespace - -from kafka.admin._acls import ACL, ACLFilter - -def add_acl_filter_args(parser: ArgumentParser) -> None: ... -def add_acl_args(parser: ArgumentParser, required: bool = False) -> None: ... -def acl_filter_from_args(args: Namespace) -> ACLFilter: ... -def acl_from_args(args: Namespace) -> ACL: ... diff --git a/stubs/kafka-python/kafka/cli/admin/acls/create.pyi b/stubs/kafka-python/kafka/cli/admin/acls/create.pyi deleted file mode 100644 index ec0cb1769a1f..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/acls/create.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class CreateACLs: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace) -> dict[str, list[str]]: ... diff --git a/stubs/kafka-python/kafka/cli/admin/acls/delete.pyi b/stubs/kafka-python/kafka/cli/admin/acls/delete.pyi deleted file mode 100644 index 2d01a119b10b..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/acls/delete.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class DeleteACLs: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace) -> list[dict[str, str | list[str]]]: ... diff --git a/stubs/kafka-python/kafka/cli/admin/acls/describe.pyi b/stubs/kafka-python/kafka/cli/admin/acls/describe.pyi deleted file mode 100644 index efec8643f6c7..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/acls/describe.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class DescribeACLs: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace) -> list[str]: ... diff --git a/stubs/kafka-python/kafka/cli/admin/cluster/__init__.pyi b/stubs/kafka-python/kafka/cli/admin/cluster/__init__.pyi index 3648c304df63..3a1217ed3605 100644 --- a/stubs/kafka-python/kafka/cli/admin/cluster/__init__.pyi +++ b/stubs/kafka-python/kafka/cli/admin/cluster/__init__.pyi @@ -1,25 +1,3 @@ -from typing import ClassVar - -from .describe import DescribeCluster as DescribeCluster -from .describe_quorum import DescribeQuorum as DescribeQuorum -from .features import DescribeFeatures as DescribeFeatures, UpdateFeatures as UpdateFeatures -from .log_dirs import AlterLogDirs as AlterLogDirs, DescribeLogDirs as DescribeLogDirs -from .versions import GetApiVersions as GetApiVersions, GetBrokerVersion as GetBrokerVersion - -class ClusterCommandGroup: - GROUP: ClassVar[str] - HELP: ClassVar[str] - COMMANDS: ClassVar[ - list[ - type[ - DescribeCluster - | DescribeQuorum - | GetApiVersions - | GetBrokerVersion - | DescribeFeatures - | UpdateFeatures - | DescribeLogDirs - | AlterLogDirs - ] - ] - ] +class ClusterSubCommand: + @classmethod + def add_subparser(cls, subparsers): ... diff --git a/stubs/kafka-python/kafka/cli/admin/cluster/describe.pyi b/stubs/kafka-python/kafka/cli/admin/cluster/describe.pyi index 61da926f0817..d68bcbed33cb 100644 --- a/stubs/kafka-python/kafka/cli/admin/cluster/describe.pyi +++ b/stubs/kafka-python/kafka/cli/admin/cluster/describe.pyi @@ -1,10 +1,3 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - class DescribeCluster: - COMMAND: ClassVar[str] - HELP: ClassVar[str] @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... + def add_subparser(cls, subparsers): ... diff --git a/stubs/kafka-python/kafka/cli/admin/cluster/describe_quorum.pyi b/stubs/kafka-python/kafka/cli/admin/cluster/describe_quorum.pyi deleted file mode 100644 index cb62c6776c4a..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/cluster/describe_quorum.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class DescribeQuorum: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/cluster/features.pyi b/stubs/kafka-python/kafka/cli/admin/cluster/features.pyi deleted file mode 100644 index ddaaac6c8093..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/cluster/features.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class DescribeFeatures: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... - -class UpdateFeatures: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/cluster/log_dirs.pyi b/stubs/kafka-python/kafka/cli/admin/cluster/log_dirs.pyi deleted file mode 100644 index 8c93a9394494..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/cluster/log_dirs.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class DescribeLogDirs: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... - -class AlterLogDirs: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/cluster/versions.pyi b/stubs/kafka-python/kafka/cli/admin/cluster/versions.pyi deleted file mode 100644 index c586e68ea2b2..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/cluster/versions.pyi +++ /dev/null @@ -1,18 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class GetApiVersions: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... - -class GetBrokerVersion: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/configs/__init__.pyi b/stubs/kafka-python/kafka/cli/admin/configs/__init__.pyi index eb707fc5f581..bf9567add55a 100644 --- a/stubs/kafka-python/kafka/cli/admin/configs/__init__.pyi +++ b/stubs/kafka-python/kafka/cli/admin/configs/__init__.pyi @@ -1,12 +1,3 @@ -from builtins import list as _list -from typing import ClassVar - -from .alter import AlterConfigs as AlterConfigs -from .describe import DescribeConfigs as DescribeConfigs -from .list import ListConfigResources as ListConfigResources -from .reset import ResetConfigs as ResetConfigs - -class ConfigsCommandGroup: - GROUP: ClassVar[str] - HELP: ClassVar[str] - COMMANDS: ClassVar[_list[type[DescribeConfigs | AlterConfigs | ListConfigResources | ResetConfigs]]] +class ConfigsSubCommand: + @classmethod + def add_subparser(cls, subparsers): ... diff --git a/stubs/kafka-python/kafka/cli/admin/configs/alter.pyi b/stubs/kafka-python/kafka/cli/admin/configs/alter.pyi deleted file mode 100644 index 352545904c6e..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/configs/alter.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class AlterConfigs: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/configs/common.pyi b/stubs/kafka-python/kafka/cli/admin/configs/common.pyi deleted file mode 100644 index 1cb0927ffb12..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/configs/common.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from argparse import ArgumentParser, Namespace -from collections.abc import Mapping - -from kafka.admin import ConfigResource - -def add_resource_arguments(parser: ArgumentParser) -> None: ... -def parse_resources(args: Namespace, configs: Mapping[str, str] | None = None) -> list[ConfigResource]: ... diff --git a/stubs/kafka-python/kafka/cli/admin/configs/describe.pyi b/stubs/kafka-python/kafka/cli/admin/configs/describe.pyi index 00911c79ea40..175fad7af132 100644 --- a/stubs/kafka-python/kafka/cli/admin/configs/describe.pyi +++ b/stubs/kafka-python/kafka/cli/admin/configs/describe.pyi @@ -1,10 +1,5 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - class DescribeConfigs: - COMMAND: ClassVar[str] - HELP: ClassVar[str] @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... + def add_subparser(cls, subparsers) -> None: ... @classmethod - def command(cls, client, args: Namespace): ... + def command(cls, client, args): ... diff --git a/stubs/kafka-python/kafka/cli/admin/configs/list.pyi b/stubs/kafka-python/kafka/cli/admin/configs/list.pyi deleted file mode 100644 index 1b25e66036ba..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/configs/list.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class ListConfigResources: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/configs/reset.pyi b/stubs/kafka-python/kafka/cli/admin/configs/reset.pyi deleted file mode 100644 index 2d64756dbce7..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/configs/reset.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class ResetConfigs: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/consumer_groups/__init__.pyi b/stubs/kafka-python/kafka/cli/admin/consumer_groups/__init__.pyi new file mode 100644 index 000000000000..782b1765b411 --- /dev/null +++ b/stubs/kafka-python/kafka/cli/admin/consumer_groups/__init__.pyi @@ -0,0 +1,3 @@ +class ConsumerGroupsSubCommand: + @classmethod + def add_subparser(cls, subparsers): ... diff --git a/stubs/kafka-python/kafka/cli/admin/consumer_groups/delete.pyi b/stubs/kafka-python/kafka/cli/admin/consumer_groups/delete.pyi new file mode 100644 index 000000000000..90e373374fc5 --- /dev/null +++ b/stubs/kafka-python/kafka/cli/admin/consumer_groups/delete.pyi @@ -0,0 +1,3 @@ +class DeleteConsumerGroups: + @classmethod + def add_subparser(cls, subparsers): ... diff --git a/stubs/kafka-python/kafka/cli/admin/consumer_groups/describe.pyi b/stubs/kafka-python/kafka/cli/admin/consumer_groups/describe.pyi new file mode 100644 index 000000000000..ce25bc8a0d33 --- /dev/null +++ b/stubs/kafka-python/kafka/cli/admin/consumer_groups/describe.pyi @@ -0,0 +1,3 @@ +class DescribeConsumerGroups: + @classmethod + def add_subparser(cls, subparsers): ... diff --git a/stubs/kafka-python/kafka/cli/admin/consumer_groups/list.pyi b/stubs/kafka-python/kafka/cli/admin/consumer_groups/list.pyi new file mode 100644 index 000000000000..9e16c1de775f --- /dev/null +++ b/stubs/kafka-python/kafka/cli/admin/consumer_groups/list.pyi @@ -0,0 +1,3 @@ +class ListConsumerGroups: + @classmethod + def add_subparser(cls, subparsers): ... diff --git a/stubs/kafka-python/kafka/cli/admin/consumer_groups/list_offsets.pyi b/stubs/kafka-python/kafka/cli/admin/consumer_groups/list_offsets.pyi new file mode 100644 index 000000000000..e175d4510b08 --- /dev/null +++ b/stubs/kafka-python/kafka/cli/admin/consumer_groups/list_offsets.pyi @@ -0,0 +1,3 @@ +class ListConsumerGroupOffsets: + @classmethod + def add_subparser(cls, subparsers): ... diff --git a/stubs/kafka-python/kafka/cli/admin/groups/__init__.pyi b/stubs/kafka-python/kafka/cli/admin/groups/__init__.pyi deleted file mode 100644 index 9c172a682635..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/groups/__init__.pyi +++ /dev/null @@ -1,29 +0,0 @@ -from builtins import list as _list -from typing import ClassVar - -from .alter_offsets import AlterGroupOffsets as AlterGroupOffsets -from .delete import DeleteGroups as DeleteGroups -from .delete_offsets import DeleteGroupOffsets as DeleteGroupOffsets -from .describe import DescribeGroups as DescribeGroups -from .list import ListGroups as ListGroups -from .list_offsets import ListGroupOffsets as ListGroupOffsets -from .remove_members import RemoveGroupMembers as RemoveGroupMembers -from .reset_offsets import ResetGroupOffsets as ResetGroupOffsets - -class GroupsCommandGroup: - GROUP: ClassVar[str] - HELP: ClassVar[str] - COMMANDS: ClassVar[ - _list[ - type[ - ListGroups - | DescribeGroups - | DeleteGroups - | ListGroupOffsets - | AlterGroupOffsets - | ResetGroupOffsets - | DeleteGroupOffsets - | RemoveGroupMembers - ] - ] - ] diff --git a/stubs/kafka-python/kafka/cli/admin/groups/alter_offsets.pyi b/stubs/kafka-python/kafka/cli/admin/groups/alter_offsets.pyi deleted file mode 100644 index ff1638fbfca2..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/groups/alter_offsets.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class AlterGroupOffsets: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/groups/delete.pyi b/stubs/kafka-python/kafka/cli/admin/groups/delete.pyi deleted file mode 100644 index 0709db861eb4..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/groups/delete.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class DeleteGroups: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/groups/delete_offsets.pyi b/stubs/kafka-python/kafka/cli/admin/groups/delete_offsets.pyi deleted file mode 100644 index 043b8de719c9..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/groups/delete_offsets.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class DeleteGroupOffsets: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/groups/describe.pyi b/stubs/kafka-python/kafka/cli/admin/groups/describe.pyi deleted file mode 100644 index cd072ca86a4d..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/groups/describe.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class DescribeGroups: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/groups/list.pyi b/stubs/kafka-python/kafka/cli/admin/groups/list.pyi deleted file mode 100644 index 8b3d45ceae35..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/groups/list.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class ListGroups: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/groups/list_offsets.pyi b/stubs/kafka-python/kafka/cli/admin/groups/list_offsets.pyi deleted file mode 100644 index 50cbd4de698f..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/groups/list_offsets.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class ListGroupOffsets: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/groups/remove_members.pyi b/stubs/kafka-python/kafka/cli/admin/groups/remove_members.pyi deleted file mode 100644 index 0eca80d14f68..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/groups/remove_members.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class RemoveGroupMembers: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/groups/reset_offsets.pyi b/stubs/kafka-python/kafka/cli/admin/groups/reset_offsets.pyi deleted file mode 100644 index c8ca4b195239..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/groups/reset_offsets.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class ResetGroupOffsets: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/log_dirs/__init__.pyi b/stubs/kafka-python/kafka/cli/admin/log_dirs/__init__.pyi new file mode 100644 index 000000000000..a42ac1f93a4e --- /dev/null +++ b/stubs/kafka-python/kafka/cli/admin/log_dirs/__init__.pyi @@ -0,0 +1,3 @@ +class LogDirsSubCommand: + @classmethod + def add_subparser(cls, subparsers): ... diff --git a/stubs/kafka-python/kafka/cli/admin/log_dirs/describe.pyi b/stubs/kafka-python/kafka/cli/admin/log_dirs/describe.pyi new file mode 100644 index 000000000000..a9ab6d5a7bc9 --- /dev/null +++ b/stubs/kafka-python/kafka/cli/admin/log_dirs/describe.pyi @@ -0,0 +1,3 @@ +class DescribeLogDirs: + @classmethod + def add_subparser(cls, subparsers): ... diff --git a/stubs/kafka-python/kafka/cli/admin/partitions/__init__.pyi b/stubs/kafka-python/kafka/cli/admin/partitions/__init__.pyi deleted file mode 100644 index 86830132391c..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/partitions/__init__.pyi +++ /dev/null @@ -1,26 +0,0 @@ -from typing import ClassVar - -from .alter_reassignments import AlterPartitionReassignments as AlterPartitionReassignments -from .create import CreatePartitions as CreatePartitions -from .delete_records import DeleteRecords as DeleteRecords -from .describe import DescribeTopicPartitions as DescribeTopicPartitions -from .elect_leaders import ElectLeaders as ElectLeaders -from .list_offsets import ListPartitionOffsets as ListPartitionOffsets -from .list_reassignments import ListPartitionReassignments as ListPartitionReassignments - -class PartitionsCommandGroup: - GROUP: ClassVar[str] - HELP: ClassVar[str] - COMMANDS: ClassVar[ - list[ - type[ - CreatePartitions - | DescribeTopicPartitions - | ListPartitionOffsets - | ListPartitionReassignments - | AlterPartitionReassignments - | DeleteRecords - | ElectLeaders - ] - ] - ] diff --git a/stubs/kafka-python/kafka/cli/admin/partitions/alter_reassignments.pyi b/stubs/kafka-python/kafka/cli/admin/partitions/alter_reassignments.pyi deleted file mode 100644 index 97ad131b2043..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/partitions/alter_reassignments.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class AlterPartitionReassignments: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/partitions/create.pyi b/stubs/kafka-python/kafka/cli/admin/partitions/create.pyi deleted file mode 100644 index 1fa2cff1d847..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/partitions/create.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class CreatePartitions: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/partitions/delete_records.pyi b/stubs/kafka-python/kafka/cli/admin/partitions/delete_records.pyi deleted file mode 100644 index ab09f0b76a36..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/partitions/delete_records.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class DeleteRecords: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/partitions/describe.pyi b/stubs/kafka-python/kafka/cli/admin/partitions/describe.pyi deleted file mode 100644 index 0b8e09da01ae..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/partitions/describe.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class DescribeTopicPartitions: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/partitions/elect_leaders.pyi b/stubs/kafka-python/kafka/cli/admin/partitions/elect_leaders.pyi deleted file mode 100644 index fb32599c1e4e..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/partitions/elect_leaders.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class ElectLeaders: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/partitions/list_offsets.pyi b/stubs/kafka-python/kafka/cli/admin/partitions/list_offsets.pyi deleted file mode 100644 index 0a9bbae86dd7..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/partitions/list_offsets.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class ListPartitionOffsets: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/partitions/list_reassignments.pyi b/stubs/kafka-python/kafka/cli/admin/partitions/list_reassignments.pyi deleted file mode 100644 index cbd232b083a8..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/partitions/list_reassignments.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class ListPartitionReassignments: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/topics/__init__.pyi b/stubs/kafka-python/kafka/cli/admin/topics/__init__.pyi index 8bd2b923b143..0345a054a456 100644 --- a/stubs/kafka-python/kafka/cli/admin/topics/__init__.pyi +++ b/stubs/kafka-python/kafka/cli/admin/topics/__init__.pyi @@ -1,12 +1,3 @@ -from builtins import list as _list -from typing import ClassVar - -from .create import CreateTopic as CreateTopic -from .delete import DeleteTopic as DeleteTopic -from .describe import DescribeTopics as DescribeTopics -from .list import ListTopics as ListTopics - -class TopicsCommandGroup: - GROUP: ClassVar[str] - HELP: ClassVar[str] - COMMANDS: ClassVar[_list[type[ListTopics | DescribeTopics | CreateTopic | DeleteTopic]]] +class TopicsSubCommand: + @classmethod + def add_subparser(cls, subparsers): ... diff --git a/stubs/kafka-python/kafka/cli/admin/topics/create.pyi b/stubs/kafka-python/kafka/cli/admin/topics/create.pyi index 2b93872c070e..2902efef9999 100644 --- a/stubs/kafka-python/kafka/cli/admin/topics/create.pyi +++ b/stubs/kafka-python/kafka/cli/admin/topics/create.pyi @@ -1,10 +1,5 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - class CreateTopic: - COMMAND: ClassVar[str] - HELP: ClassVar[str] @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... + def add_subparser(cls, subparsers) -> None: ... @classmethod - def command(cls, client, args: Namespace): ... + def command(cls, client, args): ... diff --git a/stubs/kafka-python/kafka/cli/admin/topics/delete.pyi b/stubs/kafka-python/kafka/cli/admin/topics/delete.pyi index c233c135783b..128a5c51365e 100644 --- a/stubs/kafka-python/kafka/cli/admin/topics/delete.pyi +++ b/stubs/kafka-python/kafka/cli/admin/topics/delete.pyi @@ -1,10 +1,3 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - class DeleteTopic: - COMMAND: ClassVar[str] - HELP: ClassVar[str] @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... + def add_subparser(cls, subparsers): ... diff --git a/stubs/kafka-python/kafka/cli/admin/topics/describe.pyi b/stubs/kafka-python/kafka/cli/admin/topics/describe.pyi index 400eb72ba029..ab0ec7438f58 100644 --- a/stubs/kafka-python/kafka/cli/admin/topics/describe.pyi +++ b/stubs/kafka-python/kafka/cli/admin/topics/describe.pyi @@ -1,10 +1,3 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - class DescribeTopics: - COMMAND: ClassVar[str] - HELP: ClassVar[str] @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... + def add_subparser(cls, subparsers): ... diff --git a/stubs/kafka-python/kafka/cli/admin/topics/list.pyi b/stubs/kafka-python/kafka/cli/admin/topics/list.pyi index 9ce08a5b60a3..b23a865b72e4 100644 --- a/stubs/kafka-python/kafka/cli/admin/topics/list.pyi +++ b/stubs/kafka-python/kafka/cli/admin/topics/list.pyi @@ -1,10 +1,3 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - class ListTopics: - COMMAND: ClassVar[str] - HELP: ClassVar[str] @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... + def add_subparser(cls, subparsers): ... diff --git a/stubs/kafka-python/kafka/cli/admin/transactions/__init__.pyi b/stubs/kafka-python/kafka/cli/admin/transactions/__init__.pyi deleted file mode 100644 index 9aaf5f38b1dc..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/transactions/__init__.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from builtins import list as _list -from typing import ClassVar - -from .abort import AbortTransaction as AbortTransaction -from .describe import DescribeTransactions as DescribeTransactions -from .describe_producers import DescribeProducers as DescribeProducers -from .find_hanging import FindHangingTransactions as FindHangingTransactions -from .list import ListTransactions as ListTransactions - -class TransactionsCommandGroup: - GROUP: ClassVar[str] - HELP: ClassVar[str] - COMMANDS: ClassVar[ - _list[type[ListTransactions | DescribeTransactions | DescribeProducers | FindHangingTransactions | AbortTransaction]] - ] diff --git a/stubs/kafka-python/kafka/cli/admin/transactions/abort.pyi b/stubs/kafka-python/kafka/cli/admin/transactions/abort.pyi deleted file mode 100644 index ab041e45d67a..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/transactions/abort.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class AbortTransaction: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/transactions/describe.pyi b/stubs/kafka-python/kafka/cli/admin/transactions/describe.pyi deleted file mode 100644 index a7c24dbe1af1..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/transactions/describe.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class DescribeTransactions: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/transactions/describe_producers.pyi b/stubs/kafka-python/kafka/cli/admin/transactions/describe_producers.pyi deleted file mode 100644 index 00dc69493027..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/transactions/describe_producers.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class DescribeProducers: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/transactions/find_hanging.pyi b/stubs/kafka-python/kafka/cli/admin/transactions/find_hanging.pyi deleted file mode 100644 index 225137449936..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/transactions/find_hanging.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class FindHangingTransactions: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/transactions/list.pyi b/stubs/kafka-python/kafka/cli/admin/transactions/list.pyi deleted file mode 100644 index 917f0a7254a6..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/transactions/list.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class ListTransactions: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/users/__init__.pyi b/stubs/kafka-python/kafka/cli/admin/users/__init__.pyi deleted file mode 100644 index 79ef7b8e2222..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/users/__init__.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from typing import ClassVar - -from .alter_user_scram_credentials import AlterUserScramCredentials as AlterUserScramCredentials -from .describe_user_scram_credentials import DescribeUserScramCredentials as DescribeUserScramCredentials - -class UsersCommandGroup: - GROUP: ClassVar[str] - HELP: ClassVar[str] - COMMANDS: ClassVar[list[type[DescribeUserScramCredentials | AlterUserScramCredentials]]] diff --git a/stubs/kafka-python/kafka/cli/admin/users/alter_user_scram_credentials.pyi b/stubs/kafka-python/kafka/cli/admin/users/alter_user_scram_credentials.pyi deleted file mode 100644 index 0351c7c5a8e7..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/users/alter_user_scram_credentials.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class AlterUserScramCredentials: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/admin/users/describe_user_scram_credentials.pyi b/stubs/kafka-python/kafka/cli/admin/users/describe_user_scram_credentials.pyi deleted file mode 100644 index b597cc3defd1..000000000000 --- a/stubs/kafka-python/kafka/cli/admin/users/describe_user_scram_credentials.pyi +++ /dev/null @@ -1,10 +0,0 @@ -from argparse import ArgumentParser, Namespace -from typing import ClassVar - -class DescribeUserScramCredentials: - COMMAND: ClassVar[str] - HELP: ClassVar[str] - @classmethod - def add_arguments(cls, parser: ArgumentParser) -> None: ... - @classmethod - def command(cls, client, args: Namespace): ... diff --git a/stubs/kafka-python/kafka/cli/common.pyi b/stubs/kafka-python/kafka/cli/common.pyi deleted file mode 100644 index 6ec3dec8e395..000000000000 --- a/stubs/kafka-python/kafka/cli/common.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from _typeshed import Incomplete -from argparse import ArgumentParser -from collections.abc import Iterable - -def add_connect_cli_args(parser: ArgumentParser, bootstrap_required: bool = True) -> None: ... -def build_kwargs(props: Iterable[str]) -> dict[str, Incomplete]: ... -def build_connect_kwargs(config) -> dict[str, Incomplete]: ... -def add_logging_cli_args(parser: ArgumentParser) -> None: ... -def add_extended_cli_args(parser: ArgumentParser) -> None: ... -def configure_logging(config) -> None: ... -def add_common_cli_args(parser: ArgumentParser, bootstrap_required: bool = True) -> None: ... diff --git a/stubs/kafka-python/kafka/cli/consumer/__init__.pyi b/stubs/kafka-python/kafka/cli/consumer/__init__.pyi index 47c52debb8e8..50eefc19daa8 100644 --- a/stubs/kafka-python/kafka/cli/consumer/__init__.pyi +++ b/stubs/kafka-python/kafka/cli/consumer/__init__.pyi @@ -1,6 +1,3 @@ -from argparse import ArgumentParser -from collections.abc import Iterable -from typing import Literal - -def main_parser(prog: str | None = None) -> ArgumentParser: ... -def run_cli(args: Iterable[str] | None = None, prog: str | None = None) -> Literal[0, 1] | None: ... +def main_parser(): ... +def build_kwargs(props): ... +def run_cli(args=None): ... diff --git a/stubs/kafka-python/kafka/cli/producer/__init__.pyi b/stubs/kafka-python/kafka/cli/producer/__init__.pyi index 7fdb378ee5f8..50eefc19daa8 100644 --- a/stubs/kafka-python/kafka/cli/producer/__init__.pyi +++ b/stubs/kafka-python/kafka/cli/producer/__init__.pyi @@ -1,6 +1,3 @@ -from argparse import ArgumentParser -from collections.abc import Iterable -from typing import Literal - -def main_parser(prog: str | None = None) -> ArgumentParser: ... -def run_cli(args: Iterable[str] | None = None, prog: str | None = None) -> Literal[0, 1]: ... +def main_parser(): ... +def build_kwargs(props): ... +def run_cli(args=None): ... diff --git a/stubs/kafka-python/kafka/client_async.pyi b/stubs/kafka-python/kafka/client_async.pyi new file mode 100644 index 000000000000..3946ec2b79a9 --- /dev/null +++ b/stubs/kafka-python/kafka/client_async.pyi @@ -0,0 +1,56 @@ +from _typeshed import Incomplete +from collections import OrderedDict as OrderedDict + +log: Incomplete +socketpair: Incomplete + +class KafkaClient: + DEFAULT_CONFIG: Incomplete + config: Incomplete + cluster: Incomplete + def __init__(self, **configs) -> None: ... + def maybe_connect(self, node_id, wakeup: bool = True): ... + def connection_failed(self, node_id): ... + def ready(self, node_id, metadata_priority: bool = True): ... + def connected(self, node_id): ... + def close(self, node_id=None) -> None: ... + def __del__(self) -> None: ... + def is_disconnected(self, node_id): ... + def connection_delay(self, node_id): ... + def throttle_delay(self, node_id): ... + def is_ready(self, node_id, metadata_priority: bool = True): ... + def send(self, node_id, request, wakeup: bool = True, request_timeout_ms=None): ... + def poll(self, timeout_ms=None, future=None): ... + def in_flight_request_count(self, node_id=None): ... + def least_loaded_node(self): ... + def least_loaded_node_refresh_ms(self): ... + def set_topics(self, topics): ... + def add_topic(self, topic): ... + def get_api_versions(self): ... + def check_version(self, node_id=None, timeout=None, **kwargs): ... + def api_version(self, operation, max_version=None): ... + def wakeup(self) -> None: ... + def bootstrap_connected(self): ... + def await_ready(self, node_id, timeout_ms: int = 30000): ... + def send_and_receive(self, node_id, request): ... + +class IdleConnectionManager: + connections_max_idle: Incomplete + next_idle_close_check_time: Incomplete + lru_connections: Incomplete + def __init__(self, connections_max_idle_ms) -> None: ... + def update(self, conn_id) -> None: ... + def remove(self, conn_id) -> None: ... + def is_expired(self, conn_id): ... + def next_check_ms(self): ... + def update_next_idle_close_check_time(self, ts) -> None: ... + def poll_expired_connection(self): ... + +class KafkaClientMetrics: + metrics: Incomplete + metric_group_name: Incomplete + connection_closed: Incomplete + connection_created: Incomplete + select_time: Incomplete + io_time: Incomplete + def __init__(self, metrics, metric_group_prefix, conns) -> None: ... diff --git a/stubs/kafka-python/kafka/cluster.pyi b/stubs/kafka-python/kafka/cluster.pyi index 7c0107194ce1..bcfab555ca99 100644 --- a/stubs/kafka-python/kafka/cluster.pyi +++ b/stubs/kafka-python/kafka/cluster.pyi @@ -1,58 +1,36 @@ from _typeshed import Incomplete -from socket import AddressFamily -from typing import Final -from kafka.future import Future -from kafka.protocol.metadata import CoordinatorType, MetadataRequest +log: Incomplete class ClusterMetadata: - DEFAULT_CONFIG: dict[str, Incomplete] + DEFAULT_CONFIG: Incomplete need_all_topic_metadata: bool unauthorized_topics: Incomplete internal_topics: Incomplete controller: Incomplete cluster_id: Incomplete - config: dict[str, Incomplete] - closed: bool + config: Incomplete def __init__(self, **configs) -> None: ... - @property - def metadata_refresh_in_progress(self) -> bool: ... - def attach(self, manager) -> None: ... - def close(self) -> None: ... - def start_refresh_loop(self) -> None: ... - async def refresh_metadata(self, node_id=None) -> None: ... - def is_bootstrap(self, node_id) -> bool: ... - def set_topics(self, topics) -> Future: ... - def add_topic(self, topic: str) -> Future: ... - def brokers(self) -> list[Incomplete]: ... - def bootstrap_brokers(self) -> list[Incomplete]: ... + def is_bootstrap(self, node_id): ... + def brokers(self): ... def broker_metadata(self, broker_id): ... def partitions_for_topic(self, topic): ... def available_partitions_for_topic(self, topic): ... def leader_for_partition(self, partition): ... - def is_replica_node(self, partition, node_id): ... def leader_epoch_for_partition(self, partition): ... - def update_partition_leader(self, partition, leader_id: int, leader_epoch: int) -> bool: ... def partitions_for_broker(self, broker_id): ... - def get_coordinator(self, key: str, key_type: CoordinatorType = CoordinatorType.GROUP): ... + def coordinator_for_group(self, group): ... def ttl(self): ... def refresh_backoff(self): ... - def request_update(self) -> Future: ... + def request_update(self): ... @property - def need_update(self) -> bool: ... + def need_update(self): ... def topics(self, exclude_internal_topics: bool = True): ... - def metadata_request(self) -> MetadataRequest: ... - def topic_id(self, topic_name): ... - def topic_name_for_id(self, topic_id): ... def failed_update(self, exception) -> None: ... def update_metadata(self, metadata): ... def add_listener(self, listener) -> None: ... def remove_listener(self, listener) -> None: ... - def add_coordinator(self, response, key_type: CoordinatorType, key: str, synthesize_node_id: bool = True): ... - -def collect_hosts(hosts, randomize: bool = True) -> list[Incomplete]: ... -def expand_to_canonical_bootstrap_hosts(hosts) -> list[Incomplete]: ... - -DEFAULT_KAFKA_PORT: Final = 9092 + def add_coordinator(self, response, coord_type, coord_key): ... + def with_partitions(self, partitions_to_add): ... -def get_ip_port_afi(host_and_port_str: str) -> tuple[str, int, AddressFamily]: ... +def collect_hosts(hosts, randomize: bool = True): ... diff --git a/stubs/kafka-python/kafka/conn.pyi b/stubs/kafka-python/kafka/conn.pyi new file mode 100644 index 000000000000..dd7d99adbc3a --- /dev/null +++ b/stubs/kafka-python/kafka/conn.pyi @@ -0,0 +1,70 @@ +import ssl +from _typeshed import Incomplete + +log: Incomplete +DEFAULT_KAFKA_PORT: int +ssl_available: bool +SSLEOFError = ssl.SSLEOFError +SSLWantReadError = ssl.SSLWantReadError +SSLWantWriteError = ssl.SSLWantWriteError +SSLZeroReturnError = ssl.SSLZeroReturnError + +AFI_NAMES: Incomplete + +class ConnectionStates: + DISCONNECTED: str + CONNECTING: str + HANDSHAKE: str + CONNECTED: str + AUTHENTICATING: str + API_VERSIONS_SEND: str + API_VERSIONS_RECV: str + +class BrokerConnection: + DEFAULT_CONFIG: Incomplete + SECURITY_PROTOCOLS: Incomplete + VERSION_CHECKS: Incomplete + host: Incomplete + port: Incomplete + afi: Incomplete + config: Incomplete + node_id: Incomplete + in_flight_requests: Incomplete + state: Incomplete + last_attempt: int + def __init__(self, host, port, afi, **configs) -> None: ... + def connect_blocking(self, timeout=...): ... + def connect(self): ... + def blacked_out(self): ... + def throttled(self): ... + def throttle_delay(self): ... + def connection_delay(self): ... + def connected(self): ... + def connecting(self): ... + def initializing(self): ... + def disconnected(self): ... + def connect_failed(self): ... + def __del__(self) -> None: ... + def close(self, error=None) -> None: ... + def send(self, request, blocking: bool = True, request_timeout_ms=None): ... + def send_pending_requests(self): ... + def send_pending_requests_v2(self): ... + def can_send_more(self): ... + def recv(self): ... + def requests_timed_out(self): ... + def timed_out_ifrs(self): ... + def next_ifr_request_timeout_ms(self): ... + def get_api_versions(self): ... + def check_version(self, timeout: int = 2, **kwargs): ... + +class BrokerConnectionMetrics: + metrics: Incomplete + bytes_sent: Incomplete + bytes_received: Incomplete + request_time: Incomplete + throttle_time: Incomplete + def __init__(self, metrics, metric_group_prefix, node_id) -> None: ... + +def get_ip_port_afi(host_and_port_str): ... +def is_inet_4_or_6(gai): ... +def dns_lookup(host, port, afi=...): ... diff --git a/stubs/kafka-python/kafka/consumer/fetcher.pyi b/stubs/kafka-python/kafka/consumer/fetcher.pyi index 5807c0a18b9e..a34ae667d98b 100644 --- a/stubs/kafka-python/kafka/consumer/fetcher.pyi +++ b/stubs/kafka-python/kafka/consumer/fetcher.pyi @@ -3,6 +3,11 @@ from typing import ClassVar, NamedTuple import kafka.errors as Errors +log: Incomplete +READ_UNCOMMITTED: int +READ_COMMITTED: int +ISOLATION_LEVEL_CONFIG: Incomplete + class ConsumerRecord(NamedTuple): topic: str partition: int @@ -30,23 +35,21 @@ class ExceptionMetadata(NamedTuple): fetched_offset: Incomplete exception: Incomplete +class NoOffsetForPartitionError(Errors.KafkaError): ... class RecordTooLargeError(Errors.KafkaError): ... class Fetcher: - DEFAULT_CONFIG: dict[str, Incomplete] - config: dict[str, Incomplete] + DEFAULT_CONFIG: Incomplete + config: Incomplete def __init__(self, client, subscriptions, **configs) -> None: ... - def fetch_records(self, max_records: int | None = None, update_offsets: bool = True, timeout_ms=None): ... def send_fetches(self): ... - def in_flight_fetches(self) -> bool: ... - def reset_offsets_if_needed(self, timeout_ms=None): ... + def in_flight_fetches(self): ... + def reset_offsets_if_needed(self): ... def offsets_by_times(self, timestamps, timeout_ms=None): ... - def beginning_offsets(self, partitions, timeout_ms=None): ... - def end_offsets(self, partitions, timeout_ms=None): ... - def beginning_or_end_offset(self, partitions, timestamp, timeout_ms=None): ... - def fetched_records(self, max_records: int | None = None, update_offsets: bool = True): ... - def maybe_validate_positions(self) -> None: ... - def validate_offsets_if_needed(self, timeout_ms=None): ... + def beginning_offsets(self, partitions, timeout_ms): ... + def end_offsets(self, partitions, timeout_ms): ... + def beginning_or_end_offset(self, partitions, timestamp, timeout_ms): ... + def fetched_records(self, max_records=None, update_offsets: bool = True): ... def close(self) -> None: ... class PartitionRecords: @@ -71,14 +74,15 @@ class Fetcher: key_deserializer=None, value_deserializer=None, check_crcs: bool = True, - isolation_level=..., + isolation_level=0, aborted_transactions=None, metric_aggregator=None, on_drain=..., ) -> None: ... def __bool__(self) -> bool: ... + __nonzero__ = __bool__ def drain(self) -> None: ... - def take(self, n=None) -> list[Incomplete]: ... + def take(self, n=None): ... class FetchSessionHandler: node_id: Incomplete @@ -90,7 +94,6 @@ class FetchSessionHandler: def handle_error(self, _exception) -> None: ... class FetchMetadata: - __slots__ = ("session_id", "epoch") MAX_EPOCH: int INVALID_SESSION_ID: int THROTTLED_SESSION_ID: int @@ -111,7 +114,6 @@ class FetchMetadata: def next_incremental(self): ... class FetchRequestData: - __slots__ = ("_to_send", "_to_forget", "_metadata") def __init__(self, to_send, to_forget, metadata) -> None: ... @property def metadata(self): ... @@ -125,7 +127,6 @@ class FetchRequestData: def to_forget(self): ... class FetchMetrics: - __slots__ = ("total_bytes", "total_records") total_bytes: int total_records: int def __init__(self) -> None: ... diff --git a/stubs/kafka-python/kafka/consumer/group.pyi b/stubs/kafka-python/kafka/consumer/group.pyi index e92809f99202..e18e3cf3dc33 100644 --- a/stubs/kafka-python/kafka/consumer/group.pyi +++ b/stubs/kafka-python/kafka/consumer/group.pyi @@ -2,9 +2,8 @@ import selectors import ssl from _typeshed import Incomplete from collections.abc import Callable, Iterable, Iterator, Mapping, Sequence -from types import TracebackType -from typing import Final, Literal, TypeAlias, overload -from typing_extensions import Self +from typing import Literal, TypeAlias, TypedDict, overload, type_check_only +from typing_extensions import Self, Unpack from kafka.consumer.fetcher import ConsumerRecord from kafka.consumer.subscription_state import ConsumerRebalanceListener @@ -12,118 +11,118 @@ from kafka.future import Future from kafka.serializer.abstract import Deserializer from kafka.structs import OffsetAndMetadata, OffsetAndTimestamp, TopicPartition +_ApiVersion: TypeAlias = tuple[int, ...] +_BootstrapServers: TypeAlias = str | Sequence[str] _CommitCallback: TypeAlias = Callable[[Mapping[TopicPartition, OffsetAndMetadata], object], object] _ConsumerDeserializer: TypeAlias = Deserializer | Callable[[bytes | None], object] +_KafkaClientFactory: TypeAlias = Callable[..., object] +_SaslMechanism: TypeAlias = Literal["PLAIN", "GSSAPI", "OAUTHBEARER", "SCRAM-SHA-256", "SCRAM-SHA-512"] +_SecurityProtocol: TypeAlias = Literal["PLAINTEXT", "SSL", "SASL_PLAINTEXT", "SASL_SSL"] +_SocketOption: TypeAlias = tuple[int, int, int] + +@type_check_only +class _KafkaConsumerConfig(TypedDict, total=False): + bootstrap_servers: _BootstrapServers + client_id: str + group_id: str | None + group_instance_id: str | None + key_deserializer: _ConsumerDeserializer | None + value_deserializer: _ConsumerDeserializer | None + enable_incremental_fetch_sessions: bool + fetch_max_wait_ms: int + fetch_min_bytes: int + fetch_max_bytes: int + max_partition_fetch_bytes: int + request_timeout_ms: int + retry_backoff_ms: int + reconnect_backoff_ms: int + reconnect_backoff_max_ms: int + max_in_flight_requests_per_connection: int + auto_offset_reset: Literal["earliest", "latest", "smallest", "largest"] + enable_auto_commit: bool + auto_commit_interval_ms: int + default_offset_commit_callback: _CommitCallback + check_crcs: bool + isolation_level: Literal["read_uncommitted", "read_committed"] + allow_auto_create_topics: bool + metadata_max_age_ms: int + partition_assignment_strategy: Sequence[type[object]] + max_poll_records: int + max_poll_interval_ms: int + session_timeout_ms: int + heartbeat_interval_ms: int + receive_buffer_bytes: int | None + send_buffer_bytes: int | None + socket_options: Sequence[_SocketOption] + sock_chunk_bytes: int + sock_chunk_buffer_count: int + consumer_timeout_ms: int | float + security_protocol: _SecurityProtocol + ssl_context: ssl.SSLContext | None + ssl_check_hostname: bool + ssl_cafile: str | None + ssl_certfile: str | None + ssl_keyfile: str | None + ssl_crlfile: str | None + ssl_password: str | None + ssl_ciphers: str | None + api_version: _ApiVersion | None + api_version_auto_timeout_ms: int + connections_max_idle_ms: int + metric_reporters: Sequence[type[object]] + metrics_enabled: bool + metrics_num_samples: int + metrics_sample_window_ms: int + metric_group_prefix: str + selector: type[selectors.BaseSelector] + exclude_internal_topics: bool + sasl_mechanism: _SaslMechanism | None + sasl_plain_username: str | None + sasl_plain_password: str | None + sasl_kerberos_name: object | None + sasl_kerberos_service_name: str + sasl_kerberos_domain_name: str | None + sasl_oauth_token_provider: object | None + socks5_proxy: str | None + kafka_client: _KafkaClientFactory + +log: Incomplete class KafkaConsumer(Iterator[ConsumerRecord]): - DEFAULT_CONFIG: dict[str, Incomplete] - DEFAULT_SESSION_TIMEOUT_MS_PRE_KIP_735: Final = 30000 - config: dict[str, Incomplete] - def __init__( - self, - *topics: str, - bootstrap_servers: str | Sequence[str] = "localhost", - client_id: str = ..., - client_rack: str = "", - group_id: str | None = None, - group_instance_id: str | None = None, - key_deserializer: _ConsumerDeserializer | None = None, - value_deserializer: _ConsumerDeserializer | None = None, - enable_incremental_fetch_sessions: bool = True, - fetch_max_wait_ms: int = 500, - fetch_min_bytes: int = 1, - fetch_max_bytes: int = 52_428_800, - max_partition_fetch_bytes: int = 1_048_576, - request_timeout_ms: int = 30_000, - retry_backoff_ms: int = 100, - reconnect_backoff_ms: int = 50, - reconnect_backoff_max_ms: int = 30000, - max_in_flight_requests_per_connection: int = 5, - auto_offset_reset: Literal["earliest", "latest", "smallest", "largest"] = "latest", - enable_auto_commit: bool = True, - auto_commit_interval_ms: int = 5000, - default_offset_commit_callback: _CommitCallback = ..., - check_crcs: bool = True, - isolation_level: Literal["read_uncommitted", "read_committed"] = "read_uncommitted", - allow_auto_create_topics: bool = True, - metadata_max_age_ms: int = 300000, - client_dns_lookup: str = "use_all_dns_ips", - partition_assignment_strategy: Sequence[type[object]] = ..., - max_poll_records: int = 500, - max_poll_interval_ms: int = 300000, - session_timeout_ms: int = 45000, - heartbeat_interval_ms: int = 3000, - receive_buffer_bytes: int | None = None, - send_buffer_bytes: int | None = None, - receive_message_max_bytes: int = 100_000_000, - socket_options: Sequence[tuple[int, int, int]] = ..., - consumer_timeout_ms: int | float = ..., - security_protocol: Literal["PLAINTEXT", "SSL", "SASL_PLAINTEXT", "SASL_SSL"] = "PLAINTEXT", - ssl_context: ssl.SSLContext | None = None, - ssl_check_hostname: bool = True, - ssl_cafile: str | None = None, - ssl_certfile: str | None = None, - ssl_keyfile: str | None = None, - ssl_crlfile: str | None = None, - ssl_password: str | None = None, - ssl_ciphers: str | None = None, - api_version: tuple[int, ...] | None = None, - bootstrap_timeout_ms: int = 30000, - connections_max_idle_ms: int = 540000, - metric_reporters: Sequence[type[object]] = [], - metrics_enabled: bool = True, - metrics_num_samples: int = 2, - metrics_sample_window_ms: int = 30000, - metric_group_prefix: str = "consumer", - selector: type[selectors.BaseSelector] = selectors.DefaultSelector, - exclude_internal_topics: bool = True, - sasl_mechanism: Literal["PLAIN", "GSSAPI", "OAUTHBEARER", "SCRAM-SHA-256", "SCRAM-SHA-512"] | None = None, - sasl_plain_username: str | None = None, - sasl_plain_password: str | None = None, - sasl_kerberos_name: object | None = None, - sasl_kerberos_service_name: str = "kafka", - sasl_kerberos_domain_name: str | None = None, - sasl_oauth_token_provider: object | None = None, - proxy_url: str | None = None, - socks5_proxy: str | None = None, - kafka_client: Callable[..., object] = ..., - ) -> None: ... + DEFAULT_CONFIG: Incomplete + DEFAULT_SESSION_TIMEOUT_MS_0_9: int + config: Incomplete + def __init__(self, *topics: str, **configs: Unpack[_KafkaConsumerConfig]) -> None: ... def bootstrap_connected(self): ... - def bootstrap(self, timeout_ms: float | None = None, refresh: bool = False) -> None: ... def assign(self, partitions: Iterable[TopicPartition]) -> None: ... def assignment(self) -> set[TopicPartition]: ... - def __enter__(self) -> Self: ... - def __exit__( - self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None - ) -> None: ... - def close(self, autocommit: bool = True, timeout_ms: float | None = None) -> None: ... + def close(self, autocommit: bool = True, timeout_ms: int | None = None) -> None: ... def commit_async( self, offsets: Mapping[TopicPartition, OffsetAndMetadata] | None = None, callback: _CommitCallback | None = None ) -> Future: ... def commit( - self, offsets: Mapping[TopicPartition, OffsetAndMetadata] | None = None, timeout_ms: float | None = None + self, offsets: Mapping[TopicPartition, OffsetAndMetadata] | None = None, timeout_ms: int | None = None ) -> None: ... - def group_metadata(self): ... @overload def committed( - self, partition: TopicPartition, metadata: Literal[False] = False, timeout_ms: float | None = None + self, partition: TopicPartition, metadata: Literal[False] = False, timeout_ms: int | None = None ) -> int | None: ... @overload def committed( - self, partition: TopicPartition, metadata: Literal[True], timeout_ms: float | None = None + self, partition: TopicPartition, metadata: Literal[True], timeout_ms: int | None = None ) -> OffsetAndMetadata | None: ... @overload def committed( - self, partition: TopicPartition, metadata: bool, timeout_ms: float | None = None + self, partition: TopicPartition, metadata: bool, timeout_ms: int | None = None ) -> int | OffsetAndMetadata | None: ... def topics(self) -> set[str]: ... def partitions_for_topic(self, topic: str) -> set[int]: ... def poll( - self, timeout_ms: float = 0, max_records: int | None = None, update_offsets: bool = True + self, timeout_ms: int = 0, max_records: int | None = None, update_offsets: bool = True ) -> dict[TopicPartition, list[ConsumerRecord]]: ... - def position(self, partition: TopicPartition, timeout_ms: float | None = None) -> int | None: ... + def position(self, partition: TopicPartition, timeout_ms: int | None = None) -> int | None: ... def highwater(self, partition: TopicPartition) -> int | None: ... def pause(self, *partitions: TopicPartition) -> None: ... def paused(self) -> set[TopicPartition]: ... @@ -137,12 +136,8 @@ class KafkaConsumer(Iterator[ConsumerRecord]): def subscription(self) -> set[str]: ... def unsubscribe(self) -> None: ... def metrics(self, raw: bool = False) -> dict[str, dict[str, object]] | dict[object, object] | None: ... - def offsets_for_times( - self, timestamps: Mapping[TopicPartition, int], timeout_ms: float | None = None - ) -> dict[TopicPartition, OffsetAndTimestamp | None]: ... - def beginning_offsets( - self, partitions: Iterable[TopicPartition], timeout_ms: float | None = None - ) -> dict[TopicPartition, int]: ... - def end_offsets(self, partitions: Iterable[TopicPartition], timeout_ms: float | None = None) -> dict[TopicPartition, int]: ... + def offsets_for_times(self, timestamps: Mapping[TopicPartition, int]) -> dict[TopicPartition, OffsetAndTimestamp | None]: ... + def beginning_offsets(self, partitions: Iterable[TopicPartition]) -> dict[TopicPartition, int]: ... + def end_offsets(self, partitions: Iterable[TopicPartition]) -> dict[TopicPartition, int]: ... def __iter__(self) -> Self: ... def __next__(self) -> ConsumerRecord: ... diff --git a/stubs/kafka-python/kafka/consumer/subscription_state.pyi b/stubs/kafka-python/kafka/consumer/subscription_state.pyi index c72410406b58..e085b78873cf 100644 --- a/stubs/kafka-python/kafka/consumer/subscription_state.pyi +++ b/stubs/kafka-python/kafka/consumer/subscription_state.pyi @@ -2,9 +2,10 @@ import abc from _typeshed import Incomplete from enum import IntEnum -from kafka.structs import OffsetAndMetadata from kafka.util import synchronized +log: Incomplete + class SubscriptionType(IntEnum): NONE = 0 AUTO_TOPICS = 1 @@ -66,36 +67,16 @@ class SubscriptionState: @synchronized def partitions_needing_reset(self): ... @synchronized - def next_offset_reset_retry_time(self): ... - @synchronized - def maybe_validate_position_for_current_leader(self, partition, current_leader_epoch) -> bool: ... - @synchronized - def request_position_validation(self, partition) -> bool: ... - @synchronized - def partitions_needing_validation(self) -> set[Incomplete]: ... - @synchronized - def next_offset_validation_retry_time(self): ... - @synchronized - def set_validation_pending(self, partitions, next_allowed_retry_time) -> None: ... - @synchronized - def validation_failed(self, partitions, next_allowed_retry_time) -> None: ... - @synchronized - def complete_validation(self, partition, validated_position=None) -> None: ... - @synchronized - def is_offset_validation_needed(self, partition) -> bool: ... - @synchronized - def is_assigned(self, partition) -> bool: ... + def is_assigned(self, partition): ... @synchronized def is_paused(self, partition): ... @synchronized - def is_fetchable(self, partition) -> bool: ... + def is_fetchable(self, partition): ... @synchronized def pause(self, partition) -> None: ... @synchronized def resume(self, partition) -> None: ... @synchronized - def mark_pending_revocation(self, partitions) -> None: ... - @synchronized def reset_failed(self, partitions, next_retry_time) -> None: ... @synchronized def move_partition_to_end(self, partition) -> None: ... @@ -109,48 +90,23 @@ class TopicPartitionState: drop_pending_record_batch: bool next_allowed_retry_time: Incomplete def __init__(self) -> None: ... - - @property - def position(self) -> OffsetAndMetadata | None: ... - @position.setter - def position(self, offset: OffsetAndMetadata) -> None: ... - + position: Incomplete def reset(self, strategy) -> None: ... - def is_reset_allowed(self) -> bool: ... + def is_reset_allowed(self): ... @property - def awaiting_reset(self) -> bool: ... + def awaiting_reset(self): ... def set_reset_pending(self, next_allowed_retry_time) -> None: ... def reset_failed(self, next_allowed_retry_time) -> None: ... @property - def has_valid_position(self) -> bool: ... - def is_missing_position(self) -> bool: ... + def has_valid_position(self): ... + def is_missing_position(self): ... def seek(self, offset) -> None: ... def pause(self) -> None: ... def resume(self) -> None: ... - def mark_pending_revocation(self, val: bool = True) -> None: ... - def is_fetchable(self) -> bool: ... - def preferred_read_replica(self): ... - def update_preferred_read_replica(self, node_id, expiration_time) -> bool: ... - def clear_preferred_read_replica(self): ... - @property - def awaiting_validation(self) -> bool: ... - def maybe_validate_position(self, current_leader_epoch) -> bool: ... - def request_position_validation(self) -> bool: ... - def is_validation_allowed(self) -> bool: ... - def set_validation_pending(self, next_allowed_retry_time) -> None: ... - def validation_failed(self, next_allowed_retry_time) -> None: ... - def complete_validation(self, validated_position=None) -> None: ... + def is_fetchable(self): ... class ConsumerRebalanceListener(metaclass=abc.ABCMeta): @abc.abstractmethod def on_partitions_revoked(self, revoked): ... @abc.abstractmethod def on_partitions_assigned(self, assigned): ... - def on_partitions_lost(self, lost): ... - -class AsyncConsumerRebalanceListener(metaclass=abc.ABCMeta): - @abc.abstractmethod - async def on_partitions_revoked(self, revoked): ... - @abc.abstractmethod - async def on_partitions_assigned(self, assigned): ... - async def on_partitions_lost(self, lost): ... diff --git a/stubs/kafka-python/kafka/coordinator/assignors/abstract.pyi b/stubs/kafka-python/kafka/coordinator/assignors/abstract.pyi index c7240602d27f..898c5dc4d676 100644 --- a/stubs/kafka-python/kafka/coordinator/assignors/abstract.pyi +++ b/stubs/kafka-python/kafka/coordinator/assignors/abstract.pyi @@ -1,18 +1,15 @@ import abc -from enum import IntEnum +from _typeshed import Incomplete -class RebalanceProtocol(IntEnum): - EAGER = 0 - COOPERATIVE = 1 +log: Incomplete class AbstractPartitionAssignor(metaclass=abc.ABCMeta): @property @abc.abstractmethod def name(self): ... - def supported_protocols(self) -> list[RebalanceProtocol]: ... @abc.abstractmethod def assign(self, cluster, members): ... @abc.abstractmethod def metadata(self, topics): ... @abc.abstractmethod - def on_assignment(self, assignment, generation): ... + def on_assignment(self, assignment): ... diff --git a/stubs/kafka-python/kafka/coordinator/assignors/cooperative_sticky.pyi b/stubs/kafka-python/kafka/coordinator/assignors/cooperative_sticky.pyi deleted file mode 100644 index 90a108a19604..000000000000 --- a/stubs/kafka-python/kafka/coordinator/assignors/cooperative_sticky.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from _typeshed import Incomplete - -from kafka.coordinator.assignors.abstract import RebalanceProtocol -from kafka.coordinator.assignors.sticky.sticky_assignor import StickyAssignorMemberMetadataV1, StickyPartitionAssignor -from kafka.protocol.consumer.metadata import ConsumerProtocolAssignment, ConsumerProtocolSubscription - -class CooperativeStickyAssignor(StickyPartitionAssignor): - name: str - version: int - def supported_protocols(self) -> list[RebalanceProtocol]: ... - def metadata(self, topics) -> ConsumerProtocolSubscription: ... - @classmethod - def parse_member_metadata(cls, metadata) -> StickyAssignorMemberMetadataV1: ... - def assign(self, cluster, members) -> dict[Incomplete, ConsumerProtocolAssignment]: ... diff --git a/stubs/kafka-python/kafka/coordinator/assignors/range.pyi b/stubs/kafka-python/kafka/coordinator/assignors/range.pyi index aad327525b18..667d52af7efd 100644 --- a/stubs/kafka-python/kafka/coordinator/assignors/range.pyi +++ b/stubs/kafka-python/kafka/coordinator/assignors/range.pyi @@ -1,12 +1,15 @@ +from _typeshed import Incomplete + from kafka.coordinator.assignors.abstract import AbstractPartitionAssignor -from kafka.protocol.consumer.metadata import ConsumerProtocolSubscription + +log: Incomplete class RangePartitionAssignor(AbstractPartitionAssignor): name: str version: int @classmethod - def assign(cls, cluster, members): ... + def assign(cls, cluster, group_subscriptions): ... @classmethod - def metadata(cls, topics) -> ConsumerProtocolSubscription: ... + def metadata(cls, topics): ... @classmethod - def on_assignment(cls, assignment, generation) -> None: ... + def on_assignment(cls, assignment) -> None: ... diff --git a/stubs/kafka-python/kafka/coordinator/assignors/roundrobin.pyi b/stubs/kafka-python/kafka/coordinator/assignors/roundrobin.pyi index f09cc9f47677..b876b9cec002 100644 --- a/stubs/kafka-python/kafka/coordinator/assignors/roundrobin.pyi +++ b/stubs/kafka-python/kafka/coordinator/assignors/roundrobin.pyi @@ -1,12 +1,15 @@ +from _typeshed import Incomplete + from kafka.coordinator.assignors.abstract import AbstractPartitionAssignor -from kafka.protocol.consumer.metadata import ConsumerProtocolSubscription + +log: Incomplete class RoundRobinPartitionAssignor(AbstractPartitionAssignor): name: str version: int @classmethod - def assign(cls, cluster, members): ... + def assign(cls, cluster, group_subscriptions): ... @classmethod - def metadata(cls, topics) -> ConsumerProtocolSubscription: ... + def metadata(cls, topics): ... @classmethod - def on_assignment(cls, assignment, generation) -> None: ... + def on_assignment(cls, assignment) -> None: ... diff --git a/stubs/kafka-python/kafka/coordinator/assignors/sticky/partition_movements.pyi b/stubs/kafka-python/kafka/coordinator/assignors/sticky/partition_movements.pyi index ff8e506ab9a0..1b3620d3623c 100644 --- a/stubs/kafka-python/kafka/coordinator/assignors/sticky/partition_movements.pyi +++ b/stubs/kafka-python/kafka/coordinator/assignors/sticky/partition_movements.pyi @@ -1,6 +1,8 @@ from _typeshed import Incomplete from typing import NamedTuple +log: Incomplete + class ConsumerPair(NamedTuple): src_member_id: Incomplete dst_member_id: Incomplete diff --git a/stubs/kafka-python/kafka/coordinator/assignors/sticky/sticky_assignor.pyi b/stubs/kafka-python/kafka/coordinator/assignors/sticky/sticky_assignor.pyi index 225f3a05d47f..ad40223ebbfd 100644 --- a/stubs/kafka-python/kafka/coordinator/assignors/sticky/sticky_assignor.pyi +++ b/stubs/kafka-python/kafka/coordinator/assignors/sticky/sticky_assignor.pyi @@ -1,8 +1,10 @@ from _typeshed import Incomplete -from typing import Final, NamedTuple +from typing import NamedTuple from kafka.coordinator.assignors.abstract import AbstractPartitionAssignor -from kafka.protocol.consumer.metadata import ConsumerProtocolAssignment, ConsumerProtocolSubscription +from kafka.protocol.struct import Struct + +log: Incomplete class ConsumerGenerationPair(NamedTuple): consumer: Incomplete @@ -18,6 +20,9 @@ class StickyAssignorMemberMetadataV1(NamedTuple): partitions: Incomplete generation: Incomplete +class StickyAssignorUserDataV1(Struct): + SCHEMA: Incomplete + class StickyAssignmentExecutor: members: Incomplete current_assignment: Incomplete @@ -37,14 +42,18 @@ class StickyAssignmentExecutor: def get_final_assignment(self, member_id): ... class StickyPartitionAssignor(AbstractPartitionAssignor): - DEFAULT_GENERATION_ID: Final = -1 + DEFAULT_GENERATION_ID: int name: str version: int - member_assignment: Incomplete | None - generation: int - def __init__(self) -> None: ... - def assign(self, cluster, members) -> dict[Incomplete, ConsumerProtocolAssignment]: ... + member_assignment: Incomplete + generation = DEFAULT_GENERATION_ID # pyrefly: ignore [unknown-name] + @classmethod + def assign(cls, cluster, members): ... + @classmethod + def parse_member_metadata(cls, metadata): ... + @classmethod + def metadata(cls, topics): ... + @classmethod + def on_assignment(cls, assignment) -> None: ... @classmethod - def parse_member_metadata(cls, metadata) -> StickyAssignorMemberMetadataV1: ... - def metadata(self, topics) -> ConsumerProtocolSubscription: ... - def on_assignment(self, assignment, generation) -> None: ... + def on_generation_assignment(cls, generation) -> None: ... diff --git a/stubs/kafka-python/kafka/coordinator/assignors/sticky/user_data.pyi b/stubs/kafka-python/kafka/coordinator/assignors/sticky/user_data.pyi deleted file mode 100644 index 041f58055293..000000000000 --- a/stubs/kafka-python/kafka/coordinator/assignors/sticky/user_data.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from kafka.protocol.api_data import ApiData - -class StickyAssignorUserData(ApiData): - def __init__(self, *args, **kw) -> None: ... - # TODO: Reflect TopicPartition, generation, previous_assignment attributes - def __getattr__(self, name: str): ... # incomplete class diff --git a/stubs/kafka-python/kafka/coordinator/base.pyi b/stubs/kafka-python/kafka/coordinator/base.pyi index 7290b0084190..ae911d976734 100644 --- a/stubs/kafka-python/kafka/coordinator/base.pyi +++ b/stubs/kafka-python/kafka/coordinator/base.pyi @@ -1,10 +1,17 @@ import abc +import threading from _typeshed import Incomplete -from typing import ClassVar, Final -from typing_extensions import deprecated +from typing import ClassVar from kafka import errors as Errors -from kafka.structs import ConsumerGroupMetadata + +log: Incomplete +heartbeat_log: Incomplete + +class MemberState: + UNJOINED: str + REBALANCING: str + STABLE: str class Generation: NO_GENERATION: ClassVar[Generation] @@ -12,11 +19,11 @@ class Generation: member_id: Incomplete protocol: Incomplete def __init__(self, generation_id, member_id, protocol) -> None: ... - def has_member_id(self) -> bool: ... - def is_lost(self) -> bool: ... - def __eq__(self, other) -> bool: ... + def has_member_id(self): ... + def __eq__(self, other): ... -class UnjoinedGroupException(Errors.KafkaError): ... +class UnjoinedGroupException(Errors.KafkaError): + retriable: bool class BaseCoordinator(metaclass=abc.ABCMeta): DEFAULT_CONFIG: Incomplete @@ -25,8 +32,8 @@ class BaseCoordinator(metaclass=abc.ABCMeta): rejoin_needed: bool rejoining: bool state: Incomplete + join_future: Incomplete coordinator_id: Incomplete - DEFAULT_SESSION_TIMEOUT_MS_PRE_KIP_735: Final = 30000 def __init__(self, client, **configs) -> None: ... @property def group_id(self): ... @@ -38,28 +45,24 @@ class BaseCoordinator(metaclass=abc.ABCMeta): def group_protocols(self): ... def coordinator_unknown(self): ... def coordinator(self): ... - def stable(self) -> bool: ... - def ensure_coordinator_ready(self, timeout_ms=None) -> bool: ... - async def ensure_coordinator_ready_async(self, timeout_ms=None) -> bool: ... + def connected(self): ... + def ensure_coordinator_ready(self, timeout_ms=None): ... def lookup_coordinator(self): ... def need_rejoin(self): ... def poll_heartbeat(self) -> None: ... def time_to_next_heartbeat(self): ... - def ensure_active_group(self, timeout_ms=None) -> bool: ... - async def ensure_active_group_async(self, timeout_ms=None) -> bool: ... - async def join_group_async(self, timeout_ms=None) -> bool: ... + def ensure_active_group(self, timeout_ms=None): ... + def join_group(self, timeout_ms=None): ... def coordinator_dead(self, error) -> None: ... def generation_if_stable(self): ... - def group_metadata(self) -> ConsumerGroupMetadata: ... - @deprecated("Deprecated. Use `coordinator.generation_if_stable()` instead.") def generation(self): ... def rebalance_in_progress(self): ... def reset_generation(self, member_id="") -> None: ... def request_rejoin(self) -> None: ... + def __del__(self) -> None: ... def close(self, timeout_ms=None) -> None: ... def is_dynamic_member(self): ... - def maybe_leave_group(self, reason=None, timeout_ms=None) -> None: ... - async def maybe_leave_group_async(self, reason=None, timeout_ms=None) -> None: ... + def maybe_leave_group(self, timeout_ms=None) -> None: ... class GroupCoordinatorMetrics: heartbeat: Incomplete @@ -69,3 +72,15 @@ class GroupCoordinatorMetrics: join_latency: Incomplete sync_latency: Incomplete def __init__(self, heartbeat, metrics, prefix, tags=None) -> None: ... + +class HeartbeatThread(threading.Thread): + name: Incomplete + coordinator: Incomplete + enabled: bool + closed: bool + failed: Incomplete + def __init__(self, coordinator) -> None: ... + def enable(self) -> None: ... + def disable(self) -> None: ... + def close(self, timeout_ms=None) -> None: ... + def run(self) -> None: ... diff --git a/stubs/kafka-python/kafka/coordinator/consumer.pyi b/stubs/kafka-python/kafka/coordinator/consumer.pyi index afb7537724b3..159cbc4a2916 100644 --- a/stubs/kafka-python/kafka/coordinator/consumer.pyi +++ b/stubs/kafka-python/kafka/coordinator/consumer.pyi @@ -2,22 +2,23 @@ from _typeshed import Incomplete from kafka.coordinator.base import BaseCoordinator +log: Incomplete + class ConsumerCoordinator(BaseCoordinator): - DEFAULT_CONFIG: dict[str, Incomplete] - config: dict[str, Incomplete] + DEFAULT_CONFIG: Incomplete + config: Incomplete auto_commit_interval: Incomplete next_auto_commit_deadline: Incomplete completed_offset_commits: Incomplete def __init__(self, client, subscription, **configs) -> None: ... - def protocol_type(self) -> str: ... - def group_protocols(self) -> list[tuple[Incomplete, Incomplete]]: ... - def poll(self, timeout_ms=None) -> bool: ... + def __del__(self) -> None: ... + def protocol_type(self): ... + def group_protocols(self): ... + def poll(self, timeout_ms=None): ... def time_to_next_poll(self): ... - def need_rejoin(self) -> bool: ... + def need_rejoin(self): ... def refresh_committed_offsets_if_needed(self, timeout_ms=None): ... - async def refresh_committed_offsets_if_needed_async(self, timeout_ms=None) -> bool: ... def fetch_committed_offsets(self, partitions, timeout_ms=None): ... - async def fetch_committed_offsets_async(self, partitions, timeout_ms=None): ... def close(self, autocommit: bool = True, timeout_ms=None) -> None: ... # type: ignore[override] def commit_offsets_async(self, offsets, callback=None): ... def commit_offsets_sync(self, offsets, timeout_ms=None): ... diff --git a/stubs/kafka-python/kafka/coordinator/heartbeat.pyi b/stubs/kafka-python/kafka/coordinator/heartbeat.pyi index 87bb2db6ff5d..2fb958a5c868 100644 --- a/stubs/kafka-python/kafka/coordinator/heartbeat.pyi +++ b/stubs/kafka-python/kafka/coordinator/heartbeat.pyi @@ -1,13 +1,15 @@ from _typeshed import Incomplete +log: Incomplete + class Heartbeat: - DEFAULT_CONFIG: dict[str, Incomplete] - config: dict[str, Incomplete] - last_send: float - last_receive: float - last_poll: float - last_reset: float - heartbeat_failed: bool | None + DEFAULT_CONFIG: Incomplete + config: Incomplete + last_send: Incomplete + last_receive: Incomplete + last_poll: Incomplete + last_reset: Incomplete + heartbeat_failed: Incomplete def __init__(self, **configs) -> None: ... def poll(self) -> None: ... def sent_heartbeat(self) -> None: ... diff --git a/stubs/kafka-python/kafka/protocol/old/consumer_protocol.pyi b/stubs/kafka-python/kafka/coordinator/protocol.pyi similarity index 90% rename from stubs/kafka-python/kafka/protocol/old/consumer_protocol.pyi rename to stubs/kafka-python/kafka/coordinator/protocol.pyi index f5b6721a0d45..c099575b5c88 100644 --- a/stubs/kafka-python/kafka/protocol/old/consumer_protocol.pyi +++ b/stubs/kafka-python/kafka/coordinator/protocol.pyi @@ -1,6 +1,6 @@ from _typeshed import Incomplete -from .struct import Struct +from kafka.protocol.struct import Struct class ConsumerProtocolMemberMetadata_v0(Struct): SCHEMA: Incomplete diff --git a/stubs/kafka-python/kafka/coordinator/subscription.pyi b/stubs/kafka-python/kafka/coordinator/subscription.pyi index 8fc9b3fdb31d..b04a77efda82 100644 --- a/stubs/kafka-python/kafka/coordinator/subscription.pyi +++ b/stubs/kafka-python/kafka/coordinator/subscription.pyi @@ -1,5 +1,4 @@ class Subscription: - __slots__ = ("_metadata", "_group_instance_id") def __init__(self, metadata, group_instance_id) -> None: ... @property def version(self): ... diff --git a/stubs/kafka-python/kafka/errors.pyi b/stubs/kafka-python/kafka/errors.pyi index 9d5f0604eda8..079bf3ebd5e4 100644 --- a/stubs/kafka-python/kafka/errors.pyi +++ b/stubs/kafka-python/kafka/errors.pyi @@ -1,46 +1,60 @@ from _typeshed import Incomplete -class KafkaError(Exception): +class KafkaError(RuntimeError): retriable: bool invalid_metadata: bool def __eq__(self, other): ... -class RetriableError(KafkaError): +class Cancelled(KafkaError): retriable: bool -class InvalidMetadataError(RetriableError): - invalid_metadata: bool - -class Cancelled(RetriableError): ... - class CommitFailedError(KafkaError): def __init__(self, *args) -> None: ... class IllegalArgumentError(KafkaError): ... class IllegalStateError(KafkaError): ... +class IncompatibleBrokerVersion(KafkaError): ... class KafkaConfigurationError(KafkaError): ... -class KafkaConnectionError(InvalidMetadataError): ... -class KafkaProtocolError(KafkaError): ... -class CorrelationIdError(RetriableError, KafkaProtocolError): ... + +class KafkaConnectionError(KafkaError): + retriable: bool + invalid_metadata: bool + +class KafkaProtocolError(KafkaError): + retriable: bool + +class CorrelationIdError(KafkaProtocolError): + retriable: bool + class InvalidReceiveError(KafkaProtocolError): ... -class KafkaTimeoutError(KafkaError): ... -class MetadataEmptyBrokerList(KafkaError): ... + +class KafkaTimeoutError(KafkaError): + retriable: bool + +class MetadataEmptyBrokerList(KafkaError): + retriable: bool + +class NoBrokersAvailable(KafkaError): + retriable: bool + invalid_metadata: bool + class NoOffsetForPartitionError(KafkaError): ... -class LogTruncationError(KafkaError): - divergent_offsets: Incomplete - def __init__(self, divergent_offsets, *args): ... +class NodeNotReadyError(KafkaError): + retriable: bool -class NodeNotReadyError(RetriableError): ... -class UnknownBrokerIdError(KafkaError): ... class QuotaViolationError(KafkaError): ... -class StaleMetadata(InvalidMetadataError): ... -class TooManyInFlightRequests(RetriableError): ... + +class StaleMetadata(KafkaError): + retriable: bool + invalid_metadata: bool + +class TooManyInFlightRequests(KafkaError): + retriable: bool + class UnrecognizedBrokerVersion(KafkaError): ... class UnsupportedCodecError(KafkaError): ... - -class TransactionAbortedError(KafkaError): - message: str +class TransactionAbortedError(KafkaError): ... class BrokerResponseError(KafkaError): errno: Incomplete @@ -71,40 +85,49 @@ class CorruptRecordError(BrokerResponseError): CorruptRecordException = CorruptRecordError -class UnknownTopicOrPartitionError(InvalidMetadataError, BrokerResponseError): +class UnknownTopicOrPartitionError(BrokerResponseError): errno: int message: str description: str + retriable: bool + invalid_metadata: bool class InvalidFetchRequestError(BrokerResponseError): errno: int message: str description: str -class LeaderNotAvailableError(InvalidMetadataError, BrokerResponseError): +class LeaderNotAvailableError(BrokerResponseError): errno: int message: str description: str + retriable: bool + invalid_metadata: bool -class NotLeaderForPartitionError(InvalidMetadataError, BrokerResponseError): +class NotLeaderForPartitionError(BrokerResponseError): errno: int message: str description: str + retriable: bool + invalid_metadata: bool -class RequestTimedOutError(RetriableError, BrokerResponseError): +class RequestTimedOutError(BrokerResponseError): errno: int message: str description: str + retriable: bool class BrokerNotAvailableError(BrokerResponseError): errno: int message: str description: str -class ReplicaNotAvailableError(InvalidMetadataError, BrokerResponseError): +class ReplicaNotAvailableError(BrokerResponseError): errno: int message: str description: str + retriable: bool + invalid_metadata: bool class MessageSizeTooLargeError(BrokerResponseError): errno: int @@ -121,24 +144,29 @@ class OffsetMetadataTooLargeError(BrokerResponseError): message: str description: str -class NetworkExceptionError(InvalidMetadataError, BrokerResponseError): +class NetworkExceptionError(BrokerResponseError): errno: int message: str + retriable: bool + invalid_metadata: bool -class CoordinatorLoadInProgressError(RetriableError, BrokerResponseError): +class CoordinatorLoadInProgressError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class CoordinatorNotAvailableError(RetriableError, BrokerResponseError): +class CoordinatorNotAvailableError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class NotCoordinatorError(RetriableError, BrokerResponseError): +class NotCoordinatorError(BrokerResponseError): errno: int message: str description: str + retriable: bool class InvalidTopicError(BrokerResponseError): errno: int @@ -150,15 +178,17 @@ class RecordListTooLargeError(BrokerResponseError): message: str description: str -class NotEnoughReplicasError(RetriableError, BrokerResponseError): +class NotEnoughReplicasError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class NotEnoughReplicasAfterAppendError(RetriableError, BrokerResponseError): +class NotEnoughReplicasAfterAppendError(BrokerResponseError): errno: int message: str description: str + retriable: bool class InvalidRequiredAcksError(BrokerResponseError): errno: int @@ -235,8 +265,6 @@ class UnsupportedVersionError(BrokerResponseError): message: str description: str -class IncompatibleBrokerVersion(UnsupportedVersionError): ... - class TopicAlreadyExistsError(BrokerResponseError): errno: int message: str @@ -262,10 +290,11 @@ class InvalidConfigurationError(BrokerResponseError): message: str description: str -class NotControllerError(RetriableError, BrokerResponseError): +class NotControllerError(BrokerResponseError): errno: int message: str description: str + retriable: bool class InvalidRequestError(BrokerResponseError): errno: int @@ -281,421 +310,514 @@ class PolicyViolationError(BrokerResponseError): errno: int message: str description: str + retriable: bool class OutOfOrderSequenceNumberError(BrokerResponseError): errno: int message: str description: str + retriable: bool class DuplicateSequenceNumberError(BrokerResponseError): errno: int message: str description: str + retriable: bool class InvalidProducerEpochError(BrokerResponseError): errno: int message: str description: str + retriable: bool class InvalidTxnStateError(BrokerResponseError): errno: int message: str description: str + retriable: bool class InvalidProducerIdMappingError(BrokerResponseError): errno: int message: str description: str + retriable: bool class InvalidTransactionTimeoutError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class ConcurrentTransactionsError(RetriableError, BrokerResponseError): +class ConcurrentTransactionsError(BrokerResponseError): errno: int message: str description: str + retriable: bool class TransactionCoordinatorFencedError(BrokerResponseError): errno: int message: str description: str + retriable: bool class TransactionalIdAuthorizationFailedError(AuthorizationError): errno: int message: str description: str + retriable: bool class SecurityDisabledError(BrokerResponseError): errno: int message: str description: str + retriable: bool class OperationNotAttemptedError(BrokerResponseError): errno: int message: str description: str + retriable: bool class KafkaStorageError(BrokerResponseError): errno: int message: str description: str + retriable: bool + invalid_metadata: bool class LogDirNotFoundError(BrokerResponseError): errno: int message: str description: str + retriable: bool class SaslAuthenticationFailedError(BrokerResponseError): errno: int message: str description: str + retriable: bool class UnknownProducerIdError(BrokerResponseError): errno: int message: str description: str + retriable: bool class ReassignmentInProgressError(BrokerResponseError): errno: int message: str description: str + retriable: bool class DelegationTokenAuthDisabledError(BrokerResponseError): errno: int message: str description: str + retriable: bool class DelegationTokenNotFoundError(BrokerResponseError): errno: int message: str description: str + retriable: bool class DelegationTokenOwnerMismatchError(BrokerResponseError): errno: int message: str description: str + retriable: bool class DelegationTokenRequestNotAllowedError(BrokerResponseError): errno: int message: str description: str + retriable: bool class DelegationTokenAuthorizationFailedError(AuthorizationError): errno: int message: str description: str + retriable: bool class DelegationTokenExpiredError(BrokerResponseError): errno: int message: str description: str + retriable: bool class InvalidPrincipalTypeError(BrokerResponseError): errno: int message: str description: str + retriable: bool class NonEmptyGroupError(BrokerResponseError): errno: int message: str description: str + retriable: bool class GroupIdNotFoundError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class FetchSessionIdNotFoundError(RetriableError, BrokerResponseError): +class FetchSessionIdNotFoundError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class InvalidFetchSessionEpochError(RetriableError, BrokerResponseError): +class InvalidFetchSessionEpochError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class ListenerNotFoundError(InvalidMetadataError, BrokerResponseError): +class ListenerNotFoundError(BrokerResponseError): errno: int message: str description: str + retriable: bool + invalid_metadata: bool class TopicDeletionDisabledError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class FencedLeaderEpochError(InvalidMetadataError, BrokerResponseError): +class FencedLeaderEpochError(BrokerResponseError): errno: int message: str description: str + retriable: bool + invalid_metadata: bool -class UnknownLeaderEpochError(InvalidMetadataError, BrokerResponseError): +class UnknownLeaderEpochError(BrokerResponseError): errno: int message: str description: str + retriable: bool + invalid_metadata: bool class UnsupportedCompressionTypeError(BrokerResponseError): errno: int message: str description: str + retriable: bool class StaleBrokerEpochError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class OffsetNotAvailableError(RetriableError, BrokerResponseError): +class OffsetNotAvailableError(BrokerResponseError): errno: int message: str description: str + retriable: bool class MemberIdRequiredError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class PreferredLeaderNotAvailableError(InvalidMetadataError, BrokerResponseError): +class PreferredLeaderNotAvailableError(BrokerResponseError): errno: int message: str description: str + retriable: bool + invalid_metadata: bool class GroupMaxSizeReachedError(BrokerResponseError): errno: int message: str description: str + retriable: bool class FencedInstanceIdError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class EligibleLeadersNotAvailableError(InvalidMetadataError, BrokerResponseError): +class EligibleLeadersNotAvailableError(BrokerResponseError): errno: int message: str description: str + retriable: bool + invalid_metadata: bool -class ElectionNotNeededError(InvalidMetadataError, BrokerResponseError): +class ElectionNotNeededError(BrokerResponseError): errno: int message: str description: str + retriable: bool + invalid_metadata: bool class NoReassignmentInProgressError(BrokerResponseError): errno: int message: str description: str + retriable: bool class GroupSubscribedToTopicError(BrokerResponseError): errno: int message: str description: str + retriable: bool class InvalidRecordError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class UnstableOffsetCommitError(RetriableError, BrokerResponseError): +class UnstableOffsetCommitError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class ThrottlingQuotaExceededError(RetriableError, BrokerResponseError): +class ThrottlingQuotaExceededError(BrokerResponseError): errno: int message: str description: str + retriable: bool class ProducerFencedError(BrokerResponseError): errno: int message: str description: str + retriable: bool class ResourceNotFoundError(BrokerResponseError): errno: int message: str description: str + retriable: bool class DuplicateResourceError(BrokerResponseError): errno: int message: str description: str + retriable: bool class UnacceptableCredentialError(BrokerResponseError): errno: int message: str description: str + retriable: bool class InconsistentVoterSetError(BrokerResponseError): errno: int message: str description: str + retriable: bool class InvalidUpdateVersionError(BrokerResponseError): errno: int message: str description: str + retriable: bool class FeatureUpdateFailedError(BrokerResponseError): errno: int message: str description: str + retriable: bool class PrincipalDeserializationFailureError(BrokerResponseError): errno: int message: str description: str + retriable: bool class SnapshotNotFoundError(BrokerResponseError): errno: int message: str description: str + retriable: bool class PositionOutOfRangeError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class UnknownTopicIdError(InvalidMetadataError, BrokerResponseError): +class UnknownTopicIdError(BrokerResponseError): errno: int message: str description: str + retriable: bool + invalid_metadata: bool class DuplicateBrokerRegistrationError(BrokerResponseError): errno: int message: str description: str + retriable: bool class BrokerIdNotRegisteredError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class InconsistentTopicIdError(InvalidMetadataError, BrokerResponseError): +class InconsistentTopicIdError(BrokerResponseError): errno: int message: str description: str + retriable: bool + invalid_metadata: bool class InconsistentClusterIdError(BrokerResponseError): errno: int message: str description: str + retriable: bool class TransactionalIdNotFoundError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class FetchSessionTopicIdError(RetriableError, BrokerResponseError): +class FetchSessionTopicIdError(BrokerResponseError): errno: int message: str description: str + retriable: bool class IneligibleReplicaError(BrokerResponseError): errno: int message: str description: str + retriable: bool class NewLeaderElectedError(BrokerResponseError): errno: int message: str description: str + retriable: bool class OffsetMovedToTieredStorageError(BrokerResponseError): errno: int message: str description: str + retriable: bool class FencedMemberEpochError(BrokerResponseError): errno: int message: str description: str + retriable: bool class UnreleasedInstanceIdError(BrokerResponseError): errno: int message: str description: str + retriable: bool class UnsupportedAssignorError(BrokerResponseError): errno: int message: str description: str + retriable: bool class StaleMemberEpochError(BrokerResponseError): errno: int message: str description: str + retriable: bool class MismatchedEndpointTypeError(BrokerResponseError): errno: int message: str description: str + retriable: bool class UnsupportedEndpointTypeError(BrokerResponseError): errno: int message: str description: str + retriable: bool class UnknownControllerIdError(BrokerResponseError): errno: int message: str description: str + retriable: bool class UnknownSubscriptionIdError(BrokerResponseError): errno: int message: str description: str + retriable: bool class TelemetryTooLargeError(BrokerResponseError): errno: int message: str description: str + retriable: bool class InvalidRegistrationError(BrokerResponseError): errno: int message: str description: str + retriable: bool class TransactionAbortableError(BrokerResponseError): errno: int message: str description: str + retriable: bool class InvalidRecordStateError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class ShareSessionNotFoundError(RetriableError, BrokerResponseError): +class ShareSessionNotFoundError(BrokerResponseError): errno: int message: str description: str + retriable: bool -class InvalidShareSessionEpochError(RetriableError, BrokerResponseError): +class InvalidShareSessionEpochError(BrokerResponseError): errno: int message: str description: str + retriable: bool class FencedStateEpochError(BrokerResponseError): errno: int message: str description: str + retriable: bool class InvalidVoterKeyError(BrokerResponseError): errno: int message: str description: str + retriable: bool class DuplicateVoterError(BrokerResponseError): errno: int message: str description: str + retriable: bool class VoterNotFoundError(BrokerResponseError): errno: int message: str description: str + retriable: bool kafka_errors: Incomplete diff --git a/stubs/kafka-python/kafka/future.pyi b/stubs/kafka-python/kafka/future.pyi index 42ea198f2582..04b26e768662 100644 --- a/stubs/kafka-python/kafka/future.pyi +++ b/stubs/kafka-python/kafka/future.pyi @@ -1,21 +1,19 @@ from _typeshed import Incomplete -from collections.abc import Generator -from typing_extensions import Self + +log: Incomplete class Future: - __slots__ = ("is_done", "value", "exception", "_callbacks", "_errbacks", "_lock") error_on_callbacks: bool is_done: bool value: Incomplete exception: Incomplete def __init__(self) -> None: ... - def succeeded(self) -> bool: ... - def failed(self) -> bool: ... - def retriable(self) -> bool: ... - def success(self, value) -> Self: ... - def failure(self, e) -> Self: ... - def add_callback(self, f, *args, **kwargs) -> Self: ... - def add_errback(self, f, *args, **kwargs) -> Self: ... - def add_both(self, f, *args, **kwargs) -> Self: ... - def chain(self, future) -> Self: ... - def __await__(self) -> Generator[Self]: ... + def succeeded(self): ... + def failed(self): ... + def retriable(self): ... + def success(self, value): ... + def failure(self, e): ... + def add_callback(self, f, *args, **kwargs): ... + def add_errback(self, f, *args, **kwargs): ... + def add_both(self, f, *args, **kwargs): ... + def chain(self, future): ... diff --git a/stubs/kafka-python/kafka/metrics/compound_stat.pyi b/stubs/kafka-python/kafka/metrics/compound_stat.pyi index 66ad951e5bb2..6f41b10ef0fa 100644 --- a/stubs/kafka-python/kafka/metrics/compound_stat.pyi +++ b/stubs/kafka-python/kafka/metrics/compound_stat.pyi @@ -3,11 +3,9 @@ import abc from kafka.metrics.stat import AbstractStat class AbstractCompoundStat(AbstractStat, metaclass=abc.ABCMeta): - @abc.abstractmethod - def stats(self): ... + def stats(self) -> None: ... class NamedMeasurable: - __slots__ = ("_name", "_stat") def __init__(self, metric_name, measurable_stat) -> None: ... @property def name(self): ... diff --git a/stubs/kafka-python/kafka/metrics/dict_reporter.pyi b/stubs/kafka-python/kafka/metrics/dict_reporter.pyi index 45ca2b302d44..c48a7d9acd80 100644 --- a/stubs/kafka-python/kafka/metrics/dict_reporter.pyi +++ b/stubs/kafka-python/kafka/metrics/dict_reporter.pyi @@ -1,11 +1,15 @@ +from _typeshed import Incomplete + from kafka.metrics.metrics_reporter import AbstractMetricsReporter +logger: Incomplete + class DictReporter(AbstractMetricsReporter): def __init__(self, prefix: str = "") -> None: ... def snapshot(self): ... def init(self, metrics) -> None: ... def metric_change(self, metric) -> None: ... def metric_removal(self, metric): ... - def get_category(self, metric) -> str: ... + def get_category(self, metric): ... def configure(self, configs) -> None: ... def close(self) -> None: ... diff --git a/stubs/kafka-python/kafka/metrics/kafka_metric.pyi b/stubs/kafka-python/kafka/metrics/kafka_metric.pyi index 471e2b36721a..856210a6d56b 100644 --- a/stubs/kafka-python/kafka/metrics/kafka_metric.pyi +++ b/stubs/kafka-python/kafka/metrics/kafka_metric.pyi @@ -1,5 +1,4 @@ class KafkaMetric: - __slots__ = ("_metric_name", "_measurable", "_config") def __init__(self, metric_name, measurable, config) -> None: ... @property def metric_name(self): ... diff --git a/stubs/kafka-python/kafka/metrics/metric_config.pyi b/stubs/kafka-python/kafka/metrics/metric_config.pyi index da5d6f475216..fc630189a272 100644 --- a/stubs/kafka-python/kafka/metrics/metric_config.pyi +++ b/stubs/kafka-python/kafka/metrics/metric_config.pyi @@ -1,7 +1,6 @@ from _typeshed import Incomplete class MetricConfig: - __slots__ = ("quota", "_samples", "event_window", "time_window_ms", "tags") quota: Incomplete event_window: Incomplete time_window_ms: Incomplete diff --git a/stubs/kafka-python/kafka/metrics/metric_name.pyi b/stubs/kafka-python/kafka/metrics/metric_name.pyi index 61d2b007278b..44a770132927 100644 --- a/stubs/kafka-python/kafka/metrics/metric_name.pyi +++ b/stubs/kafka-python/kafka/metrics/metric_name.pyi @@ -1,5 +1,4 @@ class MetricName: - __slots__ = ("_name", "_group", "_description", "_tags", "_hash") def __init__(self, name, group, description=None, tags=None) -> None: ... @property def name(self): ... diff --git a/stubs/kafka-python/kafka/metrics/metrics.pyi b/stubs/kafka-python/kafka/metrics/metrics.pyi index 90361cd1d02c..31db3617f08d 100644 --- a/stubs/kafka-python/kafka/metrics/metrics.pyi +++ b/stubs/kafka-python/kafka/metrics/metrics.pyi @@ -1,3 +1,7 @@ +from _typeshed import Incomplete + +logger: Incomplete + class Metrics: def __init__(self, default_config=None, reporters=None, enable_expiration: bool = False) -> None: ... @property diff --git a/stubs/kafka-python/kafka/metrics/quota.pyi b/stubs/kafka-python/kafka/metrics/quota.pyi index a812b66fd6f5..3290e80589fc 100644 --- a/stubs/kafka-python/kafka/metrics/quota.pyi +++ b/stubs/kafka-python/kafka/metrics/quota.pyi @@ -1,5 +1,4 @@ class Quota: - __slots__ = ("_bound", "_upper") def __init__(self, bound, is_upper) -> None: ... @staticmethod def upper_bound(upper_bound): ... diff --git a/stubs/kafka-python/kafka/metrics/stats/avg.pyi b/stubs/kafka-python/kafka/metrics/stats/avg.pyi index e500971a4601..0c00ef442744 100644 --- a/stubs/kafka-python/kafka/metrics/stats/avg.pyi +++ b/stubs/kafka-python/kafka/metrics/stats/avg.pyi @@ -1,7 +1,6 @@ from kafka.metrics.stats.sampled_stat import AbstractSampledStat class Avg(AbstractSampledStat): - __slots__ = ("_initial_value", "_samples", "_current") def __init__(self) -> None: ... def update(self, sample, config, value, now) -> None: ... def combine(self, samples, config, now): ... diff --git a/stubs/kafka-python/kafka/metrics/stats/count.pyi b/stubs/kafka-python/kafka/metrics/stats/count.pyi index 9f305e3a81e0..b13c9930b06a 100644 --- a/stubs/kafka-python/kafka/metrics/stats/count.pyi +++ b/stubs/kafka-python/kafka/metrics/stats/count.pyi @@ -1,7 +1,6 @@ from kafka.metrics.stats.sampled_stat import AbstractSampledStat class Count(AbstractSampledStat): - __slots__ = ("_initial_value", "_samples", "_current") def __init__(self) -> None: ... def update(self, sample, config, value, now) -> None: ... def combine(self, samples, config, now): ... diff --git a/stubs/kafka-python/kafka/metrics/stats/histogram.pyi b/stubs/kafka-python/kafka/metrics/stats/histogram.pyi index b5b013fa8c8e..74a77e0ff50c 100644 --- a/stubs/kafka-python/kafka/metrics/stats/histogram.pyi +++ b/stubs/kafka-python/kafka/metrics/stats/histogram.pyi @@ -1,5 +1,4 @@ class Histogram: - __slots__ = ("_hist", "_count", "_bin_scheme") def __init__(self, bin_scheme) -> None: ... def record(self, value) -> None: ... def value(self, quantile): ... @@ -8,7 +7,6 @@ class Histogram: def clear(self) -> None: ... class ConstantBinScheme: - __slots__ = ("_min", "_max", "_bins", "_bucket_width") def __init__(self, bins, min_val, max_val) -> None: ... @property def bins(self): ... @@ -16,7 +14,6 @@ class Histogram: def to_bin(self, x): ... class LinearBinScheme: - __slots__ = ("_bins", "_max", "_scale") def __init__(self, num_bins, max_val) -> None: ... @property def bins(self): ... diff --git a/stubs/kafka-python/kafka/metrics/stats/max_stat.pyi b/stubs/kafka-python/kafka/metrics/stats/max_stat.pyi index 72f018c796f3..705b766b23a6 100644 --- a/stubs/kafka-python/kafka/metrics/stats/max_stat.pyi +++ b/stubs/kafka-python/kafka/metrics/stats/max_stat.pyi @@ -1,7 +1,6 @@ from kafka.metrics.stats.sampled_stat import AbstractSampledStat class Max(AbstractSampledStat): - __slots__ = ("_initial_value", "_samples", "_current") def __init__(self) -> None: ... def update(self, sample, config, value, now) -> None: ... def combine(self, samples, config, now): ... diff --git a/stubs/kafka-python/kafka/metrics/stats/min_stat.pyi b/stubs/kafka-python/kafka/metrics/stats/min_stat.pyi index d3d895e3bbc6..cc5e3fbaf763 100644 --- a/stubs/kafka-python/kafka/metrics/stats/min_stat.pyi +++ b/stubs/kafka-python/kafka/metrics/stats/min_stat.pyi @@ -1,7 +1,6 @@ from kafka.metrics.stats.sampled_stat import AbstractSampledStat class Min(AbstractSampledStat): - __slots__ = ("_initial_value", "_samples", "_current") def __init__(self) -> None: ... def update(self, sample, config, value, now) -> None: ... def combine(self, samples, config, now): ... diff --git a/stubs/kafka-python/kafka/metrics/stats/percentile.pyi b/stubs/kafka-python/kafka/metrics/stats/percentile.pyi index bec615ced91f..a27b11c05a7b 100644 --- a/stubs/kafka-python/kafka/metrics/stats/percentile.pyi +++ b/stubs/kafka-python/kafka/metrics/stats/percentile.pyi @@ -1,5 +1,4 @@ class Percentile: - __slots__ = ("_metric_name", "_percentile") def __init__(self, metric_name, percentile) -> None: ... @property def name(self): ... diff --git a/stubs/kafka-python/kafka/metrics/stats/percentiles.pyi b/stubs/kafka-python/kafka/metrics/stats/percentiles.pyi index 5f40f4193eb3..8f7bbe0effcd 100644 --- a/stubs/kafka-python/kafka/metrics/stats/percentiles.pyi +++ b/stubs/kafka-python/kafka/metrics/stats/percentiles.pyi @@ -8,7 +8,7 @@ class BucketSizing: LINEAR: int class Percentiles(AbstractSampledStat, AbstractCompoundStat): - __slots__ = ("_initial_value", "_samples", "_current", "_percentiles", "_buckets", "_bin_scheme") + bin_scheme: Incomplete def __init__(self, size_in_bytes, bucketing, max_val, min_val: float = 0.0, percentiles=None) -> None: ... def stats(self): ... def value(self, config, now, quantile): ... diff --git a/stubs/kafka-python/kafka/metrics/stats/rate.pyi b/stubs/kafka-python/kafka/metrics/stats/rate.pyi index 22c4c09cd0ef..d5199a72807b 100644 --- a/stubs/kafka-python/kafka/metrics/stats/rate.pyi +++ b/stubs/kafka-python/kafka/metrics/stats/rate.pyi @@ -15,7 +15,6 @@ class TimeUnit: def get_name(time_unit): ... class Rate(AbstractMeasurableStat): - __slots__ = ("_stat", "_unit") def __init__(self, time_unit=3, sampled_stat=None) -> None: ... def unit_name(self): ... def record(self, config, value, time_ms) -> None: ... @@ -24,7 +23,6 @@ class Rate(AbstractMeasurableStat): def convert(self, time_ms): ... class SampledTotal(AbstractSampledStat): - __slots__ = ("_initial_value", "_samples", "_current") def __init__(self, initial_value=None) -> None: ... def update(self, sample, config, value, time_ms) -> None: ... def combine(self, samples, config, now): ... diff --git a/stubs/kafka-python/kafka/metrics/stats/sampled_stat.pyi b/stubs/kafka-python/kafka/metrics/stats/sampled_stat.pyi index f063cc9cff09..c589cd800c80 100644 --- a/stubs/kafka-python/kafka/metrics/stats/sampled_stat.pyi +++ b/stubs/kafka-python/kafka/metrics/stats/sampled_stat.pyi @@ -4,7 +4,6 @@ from _typeshed import Incomplete from kafka.metrics.measurable_stat import AbstractMeasurableStat class AbstractSampledStat(AbstractMeasurableStat, metaclass=abc.ABCMeta): - __slots__ = ("_initial_value", "_samples", "_current") def __init__(self, initial_value) -> None: ... @abc.abstractmethod def update(self, sample, config, value, time_ms): ... diff --git a/stubs/kafka-python/kafka/metrics/stats/sensor.pyi b/stubs/kafka-python/kafka/metrics/stats/sensor.pyi index af3baa05db05..f302ed0944be 100644 --- a/stubs/kafka-python/kafka/metrics/stats/sensor.pyi +++ b/stubs/kafka-python/kafka/metrics/stats/sensor.pyi @@ -1,15 +1,4 @@ class Sensor: - __slots__ = ( - "_lock", - "_registry", - "_name", - "_parents", - "_metrics", - "_stats", - "_config", - "_inactive_sensor_expiration_time_ms", - "_last_record_time", - ) def __init__(self, registry, name, parents, config, inactive_sensor_expiration_time_seconds) -> None: ... @property def name(self): ... diff --git a/stubs/kafka-python/kafka/metrics/stats/total.pyi b/stubs/kafka-python/kafka/metrics/stats/total.pyi index bd52102f6cfb..2a33feb1b02b 100644 --- a/stubs/kafka-python/kafka/metrics/stats/total.pyi +++ b/stubs/kafka-python/kafka/metrics/stats/total.pyi @@ -1,7 +1,6 @@ from kafka.metrics.measurable_stat import AbstractMeasurableStat class Total(AbstractMeasurableStat): - __slots__ = ("_total",) def __init__(self, value: float = 0.0) -> None: ... def record(self, config, value, now) -> None: ... def measure(self, config, now): ... diff --git a/stubs/kafka-python/kafka/net/__init__.pyi b/stubs/kafka-python/kafka/net/__init__.pyi deleted file mode 100644 index 1a7f3a813291..000000000000 --- a/stubs/kafka-python/kafka/net/__init__.pyi +++ /dev/null @@ -1,26 +0,0 @@ -from .compat import KafkaNetClient as KafkaNetClient -from .connection import KafkaConnection as KafkaConnection -from .http_connect import HttpConnectProxy as HttpConnectProxy -from .inet import KafkaNetSocket as KafkaNetSocket, create_connection as create_connection -from .manager import KafkaConnectionManager as KafkaConnectionManager -from .metrics import KafkaConnectionMetrics as KafkaConnectionMetrics, KafkaManagerMetrics as KafkaManagerMetrics -from .selector import NetworkSelector as NetworkSelector -from .socks5 import Socks5Proxy as Socks5Proxy -from .transport import KafkaSSLTransport as KafkaSSLTransport, KafkaTCPTransport as KafkaTCPTransport -from .wakeup_notifier import WakeupNotifier as WakeupNotifier - -__all__ = [ - "KafkaConnection", - "create_connection", - "KafkaNetSocket", - "KafkaConnectionManager", - "KafkaConnectionMetrics", - "KafkaManagerMetrics", - "NetworkSelector", - "HttpConnectProxy", - "Socks5Proxy", - "KafkaTCPTransport", - "KafkaSSLTransport", - "WakeupNotifier", - "KafkaNetClient", -] diff --git a/stubs/kafka-python/kafka/net/compat.pyi b/stubs/kafka-python/kafka/net/compat.pyi deleted file mode 100644 index 4998b20c5eb4..000000000000 --- a/stubs/kafka-python/kafka/net/compat.pyi +++ /dev/null @@ -1,24 +0,0 @@ -class KafkaNetClient: - def __init__(self, net=None, manager=None, **configs) -> None: ... - @property - def cluster(self): ... - def connected(self, node_id) -> bool: ... - def is_disconnected(self, node_id) -> bool: ... - def is_ready(self, node_id) -> bool: ... - def ready(self, node_id, **kwargs) -> bool: ... - def maybe_connect(self, node_id, **kwargs) -> None: ... - def await_ready(self, node_id, timeout_ms=30000): ... - def in_flight_request_count(self, node_id=None) -> int: ... - def throttle_delay(self, node_id) -> int: ... - def bootstrap_connected(self) -> bool: ... - def get_broker_version(self, timeout_ms=None): ... - def check_version(self, node_id=None, timeout_ms=10000): ... - def send(self, node_id, request, **kwargs): ... - def send_and_receive(self, node_id, request, timeout_ms=30000): ... - def poll(self, timeout_ms=None, future=None): ... - def close(self, node_id=None) -> None: ... - def least_loaded_node(self, bootstrap_fallback: bool = False): ... - def least_loaded_node_refresh_ms(self, bootstrap_fallback: bool = False): ... - def connection_delay(self, node_id): ... - def wakeup(self) -> None: ... - def api_version(self, operation, max_version=None): ... diff --git a/stubs/kafka-python/kafka/net/connection.pyi b/stubs/kafka-python/kafka/net/connection.pyi deleted file mode 100644 index 0112c13275ed..000000000000 --- a/stubs/kafka-python/kafka/net/connection.pyi +++ /dev/null @@ -1,57 +0,0 @@ -from _typeshed import Incomplete -from collections import deque -from collections.abc import Generator -from typing_extensions import Self - -from kafka.future import Future - -class KafkaConnection: - DEFAULT_CONFIG: dict[str, Incomplete] - config: dict[str, Incomplete] - node_id: Incomplete - net: Incomplete - transport: Incomplete | None - parser: Incomplete | None - paused: set[Incomplete] - connected: bool - initializing: bool - in_flight_requests: deque[tuple[Incomplete, ...]] - broker_version_data: Incomplete - def __init__(self, net, node_id=None, broker_version_data=None, **configs) -> None: ... - @property - def broker_version(self): ... - @property - def closed(self) -> bool: ... - @property - def init_future(self) -> Future: ... - def __await__(self) -> Generator[Future, Incomplete, Self]: ... - @property - def close_future(self) -> Future: ... - def send_request(self, request, request_timeout_ms=None) -> Future: ... - def send_buffered(self) -> None: ... - def data_received(self, data) -> None: ... - def eof_received(self): ... - def connection_lost(self, exc) -> None: ... - def fail_in_flight_requests(self, error) -> None: ... - def connection_made(self, transport) -> None: ... - def pause(self, v) -> None: ... - def unpause(self, v) -> None: ... - def pause_writing(self) -> None: ... - def resume_writing(self) -> None: ... - def close(self, error=None) -> None: ... - async def initialize(self, timeout_at: float | None = None) -> None: ... - @property - def sasl_enabled(self) -> bool: ... - -class SaslReauthenticator: - session_lifetime_ms: Incomplete - authenticated_at: float | None - def __init__(self, conn) -> None: ... - @property - def is_reauthenticating(self) -> bool: ... - @property - def task(self): ... - def session_updated(self, session_lifetime_ms) -> None: ... - def schedule(self) -> None: ... - def cancel(self) -> None: ... - def on_response_processed(self) -> None: ... diff --git a/stubs/kafka-python/kafka/net/http_connect.pyi b/stubs/kafka-python/kafka/net/http_connect.pyi deleted file mode 100644 index 976db341ffcd..000000000000 --- a/stubs/kafka-python/kafka/net/http_connect.pyi +++ /dev/null @@ -1,10 +0,0 @@ -import socket as _socket - -from kafka.net.inet import KafkaNetSocket - -class HttpConnectProxy(KafkaNetSocket): - SCHEMES: tuple[str, ...] - def __init__(self, proxy_url) -> None: ... # pyright: ignore[reportInconsistentConstructor] - def dns_lookup(self, host, port, proxy: bool = False): ... - def socket(self, family=..., sock_type=..., proto=...) -> _socket.socket: ... - def connect_ex(self, sock, addr) -> int: ... diff --git a/stubs/kafka-python/kafka/net/inet.pyi b/stubs/kafka-python/kafka/net/inet.pyi deleted file mode 100644 index 2241554661a2..000000000000 --- a/stubs/kafka-python/kafka/net/inet.pyi +++ /dev/null @@ -1,16 +0,0 @@ -import socket as _socket -from typing_extensions import Self - -async def create_connection(net, host, port, socket_options=(), proxy_url=None, timeout_at=None): ... - -class KafkaNetSocket: - @classmethod - def register_class(cls, klass) -> None: ... - def __init_subclass__(cls, **kw) -> None: ... - def __new__(cls, proxy_url=None) -> Self: ... - def __init__(self, proxy_url=None) -> None: ... - def dns_lookup(self, host, port, raise_error: bool = False): ... - def socket(self, family=..., sock_type=..., proto=...) -> _socket.socket: ... - async def connect(self, net, addrinfo, socket_options=(), timeout_at=None): ... - async def sock_connect(self, net, sock, sockaddr, timeout_at=None): ... - def connect_ex(self, sock, sockaddr): ... diff --git a/stubs/kafka-python/kafka/net/manager.pyi b/stubs/kafka-python/kafka/net/manager.pyi deleted file mode 100644 index e72d0e139f44..000000000000 --- a/stubs/kafka-python/kafka/net/manager.pyi +++ /dev/null @@ -1,44 +0,0 @@ -from _typeshed import Incomplete - -from kafka.cluster import ClusterMetadata -from kafka.future import Future -from kafka.protocol.broker_version_data import BrokerVersionData - -class KafkaConnectionManager: - DEFAULT_CONFIG: dict[str, Incomplete] - config: dict[str, Incomplete] - cluster: ClusterMetadata - broker_version_data: BrokerVersionData | None - closed: bool - def __init__(self, net, **configs) -> None: ... - @property - def broker_version(self): ... - def least_used_connections(self) -> list[Incomplete]: ... - def bootstrap_async(self, timeout_ms=None, refresh: bool = True): ... - def bootstrap(self, timeout_ms=None, refresh: bool = True) -> None: ... - @property - def bootstrapped(self) -> bool: ... - def close_idle_connections(self) -> None: ... - @property - def ssl_enabled(self) -> bool: ... - def get_connection( - self, - node_id, - timeout_ms=None, - pop_on_close: bool = True, - refresh_metadata_on_err: bool = True, - reset_backoff_on_connect: bool = True, - ): ... - def send(self, request, node_id=None, request_timeout_ms=None): ... - def least_loaded_node(self): ... - def reset_backoff(self, node_id) -> None: ... - def jitter_pct(self) -> float: ... - def update_backoff(self, node_id): ... - def connection_delay(self, node_id) -> int: ... - def socket_connection_setup_timeout_ms(self, node_id): ... - def auth_failure(self, node_id): ... - def maybe_raise_auth_failure(self, node_id) -> None: ... - def close(self, node_id=None, timeout_ms=None) -> None: ... - async def wait_for(self, future, timeout_ms): ... - def call_soon(self, coro, *args) -> Future: ... - def run(self, coro, *args): ... diff --git a/stubs/kafka-python/kafka/net/metrics.pyi b/stubs/kafka-python/kafka/net/metrics.pyi deleted file mode 100644 index a314a9f2c0e8..000000000000 --- a/stubs/kafka-python/kafka/net/metrics.pyi +++ /dev/null @@ -1,15 +0,0 @@ -from _typeshed import Incomplete - -class KafkaManagerMetrics: - metrics: Incomplete - connection_closed: Incomplete - connection_created: Incomplete - def __init__(self, metrics, metric_group_prefix: str, conns) -> None: ... - -class KafkaConnectionMetrics: - metrics: Incomplete - bytes_sent: Incomplete - bytes_received: Incomplete - request_time: Incomplete - throttle_time: Incomplete - def __init__(self, metrics, metric_group_prefix: str, node_id) -> None: ... diff --git a/stubs/kafka-python/kafka/net/selector.pyi b/stubs/kafka-python/kafka/net/selector.pyi deleted file mode 100644 index 6342c2ecebf2..000000000000 --- a/stubs/kafka-python/kafka/net/selector.pyi +++ /dev/null @@ -1,73 +0,0 @@ -import enum -from _typeshed import Incomplete -from collections.abc import Generator -from typing import Final -from typing_extensions import Self - -from kafka.future import Future - -MAX_TIMEOUT: Final = 2147483 - -def yield_callback(callback): ... - -class KernelEvent: - method: str - args: tuple[Incomplete, ...] - def __init__(self, method: str, *args) -> None: ... - def __await__(self) -> Generator[Self]: ... - -class TaskState(enum.Enum): - CREATED = "created" - SCHEDULED = "scheduled" - UNSCHEDULED = "unscheduled" - READY = "ready" - RUNNING = "running" - WAIT_IO = "wait_io" - WAIT_FUTURE = "wait_future" - DONE = "done" - CANCELLED = "cancelled" - -class Task: - scheduled_at: Incomplete | None - state: Incomplete - def __init__(self, coro) -> None: ... - def __lt__(self, other) -> bool: ... - def __call__(self, arg=None): ... - def push_stack(self, coro) -> None: ... - def inject_exc(self, exc) -> None: ... - def close(self) -> None: ... - @property - def is_done(self) -> bool: ... - @property - def result(self): ... - @property - def exception(self): ... - -class NetworkSelector: - DEFAULT_CONFIG: dict[str, Incomplete] - config: dict[str, Incomplete] - def __init__(self, **configs) -> None: ... - def run_forever(self) -> None: ... - def start(self) -> None: ... - def stop(self, timeout_ms=None) -> None: ... - def run(self, coro, *args): ... - def drain(self, scheduled: bool = False) -> None: ... - def call_at(self, when, task) -> Task: ... - def call_later(self, delay, task) -> Task: ... - def call_soon(self, task) -> Task: ... - def call_soon_threadsafe(self, callback) -> Task: ... - def call_soon_with_future(self, coro, *args) -> Future: ... - def cancel(self, task) -> None: ... - def reschedule(self, when, task): ... - def sleep(self, delay) -> KernelEvent: ... - def wait_write(self, fileobj, timeout_at=None) -> KernelEvent: ... - def wait_read(self, fileobj, timeout_at=None) -> KernelEvent: ... - def register_event(self, fileobj, event, task) -> None: ... - def unregister_event(self, fileobj, event) -> None: ... - def add_reader(self, fileobj, task) -> None: ... - def remove_reader(self, fileobj) -> None: ... - def add_writer(self, fileobj, task) -> None: ... - def remove_writer(self, fileobj) -> None: ... - def poll(self, timeout_ms=None, future=None) -> None: ... - def wakeup(self) -> None: ... - def close(self) -> None: ... diff --git a/stubs/kafka-python/kafka/net/socks5.pyi b/stubs/kafka-python/kafka/net/socks5.pyi deleted file mode 100644 index 52c11a38ba3c..000000000000 --- a/stubs/kafka-python/kafka/net/socks5.pyi +++ /dev/null @@ -1,22 +0,0 @@ -import socket as _socket -from typing import Final - -from kafka.net.inet import KafkaNetSocket - -class ProxyConnectionStates: - DISCONNECTED: Final = "" - CONNECTING: Final = "" - NEGOTIATE_PROPOSE: Final = "" - NEGOTIATING: Final = "" - AUTHENTICATING: Final = "" - REQUEST_SUBMIT: Final = "" - REQUESTING: Final = "" - READ_ADDRESS: Final = "" - COMPLETE: Final = "" - -class Socks5Proxy(KafkaNetSocket): - SCHEMES: tuple[str, ...] - def __init__(self, proxy_url: str) -> None: ... # pyright: ignore[reportInconsistentConstructor] - def dns_lookup(self, host, port, proxy: bool = False): ... - def socket(self, family=..., sock_type=..., proto=...) -> _socket.socket: ... - def connect_ex(self, sock, addr) -> int: ... diff --git a/stubs/kafka-python/kafka/net/transport.pyi b/stubs/kafka-python/kafka/net/transport.pyi deleted file mode 100644 index acfb577e6fa4..000000000000 --- a/stubs/kafka-python/kafka/net/transport.pyi +++ /dev/null @@ -1,43 +0,0 @@ -import socket -from _typeshed import Incomplete - -class KafkaTCPTransport: - host: Incomplete | None - last_write: float - last_read: float - def __init__(self, net, sock, host=None) -> None: ... - @property - def last_activity(self) -> float: ... - def is_closing(self) -> bool: ... - def close(self) -> None: ... - def set_protocol(self, protocol) -> None: ... - def get_protocol(self): ... - def is_reading(self) -> bool: ... - def pause_reading(self) -> None: ... - def resume_reading(self) -> None: ... - def set_write_buffer_limits(self, high=None, low=None): ... - def get_write_buffer_size(self): ... - def get_write_buffer_limits(self): ... - def write(self, data) -> None: ... - def writelines(self, list_of_data) -> None: ... - def write_eof(self) -> None: ... - def can_write_eof(self): ... - def abort(self, error=None) -> None: ... - def abortConnection(self) -> None: ... - def getHost(self) -> socket._RetAddress: ... - def getPeer(self) -> socket._RetAddress: ... - def getTcpKeepAlive(self) -> int: ... - def getTcpNoDelay(self) -> int: ... - def loseWriteConnection(self) -> None: ... - def setTcpKeepAlive(self, enabled) -> None: ... - def setTcpNoDelay(self, enabled) -> None: ... - def loseConnection(self) -> None: ... - def writeSequence(self, data) -> None: ... - async def handshake(self) -> None: ... - def host_port(self) -> str: ... - -class KafkaSSLTransport(KafkaTCPTransport): - DEFAULT_CONFIG: dict[str, Incomplete] - ssl_config: dict[str, Incomplete] - def __init__(self, net, sock, host=None, **configs) -> None: ... - async def handshake(self) -> None: ... diff --git a/stubs/kafka-python/kafka/net/wakeup_notifier.pyi b/stubs/kafka-python/kafka/net/wakeup_notifier.pyi deleted file mode 100644 index 92177c18484f..000000000000 --- a/stubs/kafka-python/kafka/net/wakeup_notifier.pyi +++ /dev/null @@ -1,4 +0,0 @@ -class WakeupNotifier: - def __init__(self, net) -> None: ... - async def __call__(self, timeout_secs=None) -> None: ... - def notify(self) -> None: ... diff --git a/stubs/kafka-python/kafka/partitioner/__init__.pyi b/stubs/kafka-python/kafka/partitioner/__init__.pyi index 841530ee0fa1..93b321c722a6 100644 --- a/stubs/kafka-python/kafka/partitioner/__init__.pyi +++ b/stubs/kafka-python/kafka/partitioner/__init__.pyi @@ -1,5 +1,3 @@ -from .abc import Partitioner as Partitioner -from .default import DefaultPartitioner as DefaultPartitioner, murmur2 as murmur2 -from .sticky import StickyPartitioner as StickyPartitioner +from kafka.partitioner.default import DefaultPartitioner as DefaultPartitioner, murmur2 as murmur2 -__all__ = ["Partitioner", "DefaultPartitioner", "StickyPartitioner", "murmur2"] +__all__ = ["DefaultPartitioner", "murmur2"] diff --git a/stubs/kafka-python/kafka/partitioner/abc.pyi b/stubs/kafka-python/kafka/partitioner/abc.pyi deleted file mode 100644 index 28ff08312585..000000000000 --- a/stubs/kafka-python/kafka/partitioner/abc.pyi +++ /dev/null @@ -1,9 +0,0 @@ -import abc - -from kafka.cluster import ClusterMetadata - -class Partitioner(abc.ABC): - @abc.abstractmethod - def partition( - self, topic: str, key, serialized_key: bytes, value, serialized_value: bytes, cluster: ClusterMetadata - ) -> int: ... diff --git a/stubs/kafka-python/kafka/partitioner/default.pyi b/stubs/kafka-python/kafka/partitioner/default.pyi index e7e1bac1cdb9..6800f5b03315 100644 --- a/stubs/kafka-python/kafka/partitioner/default.pyi +++ b/stubs/kafka-python/kafka/partitioner/default.pyi @@ -1,6 +1,5 @@ -from .abc import Partitioner +class DefaultPartitioner: + @classmethod + def __call__(cls, key, all_partitions, available): ... -class DefaultPartitioner(Partitioner): - def partition(self, topic, key, serialized_key, value, serialized_value, cluster) -> int: ... - -def murmur2(data: bytes) -> int: ... +def murmur2(data): ... diff --git a/stubs/kafka-python/kafka/partitioner/sticky.pyi b/stubs/kafka-python/kafka/partitioner/sticky.pyi deleted file mode 100644 index 3658eeb8b6f9..000000000000 --- a/stubs/kafka-python/kafka/partitioner/sticky.pyi +++ /dev/null @@ -1,6 +0,0 @@ -from .default import DefaultPartitioner - -class StickyPartitioner(DefaultPartitioner): - def __init__(self) -> None: ... - def partition(self, topic, key, serialized_key, value, serialized_value, cluster): ... - def on_new_batch(self, topic, cluster, prev_partition) -> None: ... diff --git a/stubs/kafka-python/kafka/producer/future.pyi b/stubs/kafka-python/kafka/producer/future.pyi index 70c40099b453..ad0fa3962f16 100644 --- a/stubs/kafka-python/kafka/producer/future.pyi +++ b/stubs/kafka-python/kafka/producer/future.pyi @@ -5,7 +5,6 @@ from kafka.future import Future from kafka.structs import TopicPartition class FutureProduceResult(Future): - __slots__ = ("topic_partition", "_latch") topic_partition: TopicPartition def __init__(self, topic_partition: TopicPartition) -> None: ... def success(self, value): ... @@ -13,7 +12,6 @@ class FutureProduceResult(Future): def wait(self, timeout=None): ... class FutureRecordMetadata(Future): - __slots__ = ("_produce_future", "args") args: Incomplete def __init__( self, @@ -25,7 +23,6 @@ class FutureRecordMetadata(Future): serialized_value_size, serialized_header_size, ) -> None: ... - def rebind(self, new_produce_future, new_batch_index) -> None: ... def get(self, timeout=None): ... class RecordMetadata(NamedTuple): @@ -34,7 +31,7 @@ class RecordMetadata(NamedTuple): topic_partition: TopicPartition offset: int timestamp: int - checksum: int | None # Deprecated field + checksum: int | None serialized_key_size: int serialized_value_size: int serialized_header_size: int diff --git a/stubs/kafka-python/kafka/producer/kafka.pyi b/stubs/kafka-python/kafka/producer/kafka.pyi index 1084cd1f926e..c00758c2f684 100644 --- a/stubs/kafka-python/kafka/producer/kafka.pyi +++ b/stubs/kafka-python/kafka/producer/kafka.pyi @@ -2,89 +2,90 @@ import selectors import ssl from _typeshed import Incomplete from collections.abc import Callable, Mapping, Sequence -from types import TracebackType -from typing import Literal, TypeAlias -from typing_extensions import Self +from typing import Literal, TypeAlias, TypedDict, type_check_only +from typing_extensions import Unpack from kafka.producer.future import FutureRecordMetadata -from kafka.producer.record_accumulator import AtomicInteger from kafka.serializer.abstract import Serializer -from kafka.structs import ConsumerGroupMetadata, OffsetAndMetadata, TopicPartition +from kafka.structs import OffsetAndMetadata, TopicPartition +_ApiVersion: TypeAlias = tuple[int, ...] +_BootstrapServers: TypeAlias = str | Sequence[str] +_KafkaClientFactory: TypeAlias = Callable[..., object] _Partitioner: TypeAlias = Callable[[bytes | None, Sequence[int], Sequence[int]], int] _ProducerSerializer: TypeAlias = Serializer | Callable[[object], bytes] +_SaslMechanism: TypeAlias = Literal["PLAIN", "GSSAPI", "OAUTHBEARER", "SCRAM-SHA-256", "SCRAM-SHA-512"] +_SecurityProtocol: TypeAlias = Literal["PLAINTEXT", "SSL", "SASL_PLAINTEXT", "SASL_SSL"] +_SocketOption: TypeAlias = tuple[int, int, int] -PRODUCER_CLIENT_ID_SEQUENCE: AtomicInteger +@type_check_only +class _KafkaProducerConfig(TypedDict, total=False): + bootstrap_servers: _BootstrapServers + client_id: str | None + key_serializer: _ProducerSerializer | None + value_serializer: _ProducerSerializer | None + enable_idempotence: bool + transactional_id: str | None + transaction_timeout_ms: int + delivery_timeout_ms: float + acks: int | Literal["all"] + bootstrap_topics_filter: set[str] + compression_type: Literal["gzip", "snappy", "lz4", "zstd"] | None + retries: int | float + batch_size: int + linger_ms: int + partitioner: _Partitioner + connections_max_idle_ms: int + max_block_ms: int + max_request_size: int + allow_auto_create_topics: bool + metadata_max_age_ms: int + retry_backoff_ms: int + request_timeout_ms: int + receive_buffer_bytes: int | None + send_buffer_bytes: int | None + socket_options: Sequence[_SocketOption] + sock_chunk_bytes: int + sock_chunk_buffer_count: int + reconnect_backoff_ms: int + reconnect_backoff_max_ms: int + max_in_flight_requests_per_connection: int + security_protocol: _SecurityProtocol + ssl_context: ssl.SSLContext | None + ssl_check_hostname: bool + ssl_cafile: str | None + ssl_certfile: str | None + ssl_keyfile: str | None + ssl_crlfile: str | None + ssl_password: str | None + ssl_ciphers: str | None + api_version: _ApiVersion | None + api_version_auto_timeout_ms: int + metric_reporters: Sequence[type[object]] + metrics_enabled: bool + metrics_num_samples: int + metrics_sample_window_ms: int + selector: type[selectors.BaseSelector] + sasl_mechanism: _SaslMechanism | None + sasl_plain_username: str | None + sasl_plain_password: str | None + sasl_kerberos_name: object | None + sasl_kerberos_service_name: str + sasl_kerberos_domain_name: str | None + sasl_oauth_token_provider: object | None + socks5_proxy: str | None + kafka_client: _KafkaClientFactory + +log: Incomplete +PRODUCER_CLIENT_ID_SEQUENCE: Incomplete class KafkaProducer: - DEFAULT_CONFIG: dict[str, Incomplete] - DEPRECATED_CONFIGS: tuple[str, ...] - config: dict[str, Incomplete] - def __init__( - self, - *, - bootstrap_servers: str | Sequence[str] = "localhost", - client_id: str | None = None, - key_serializer: _ProducerSerializer | None = None, - value_serializer: _ProducerSerializer | None = None, - enable_idempotence: bool = True, - transactional_id: str | None = None, - transaction_timeout_ms: int = 60000, - delivery_timeout_ms: float = 120000, - acks: int | Literal["all"] = -1, - compression_type: Literal["gzip", "snappy", "lz4", "zstd"] | None = None, - retries: int | float = ..., - batch_size: int = 16384, - linger_ms: int = 0, - partitioner: _Partitioner = ..., - connections_max_idle_ms: int = 540000, - max_block_ms: int = 60000, - max_request_size: int = 1048576, - allow_auto_create_topics: bool = True, - metadata_max_age_ms: int = 300000, - client_dns_lookup: str = "use_all_dns_ips", - retry_backoff_ms: int = 100, - request_timeout_ms: int = 30000, - receive_message_max_bytes: int = 100_000_000, - receive_buffer_bytes: int | None = None, - send_buffer_bytes: int | None = None, - socket_options: Sequence[tuple[int, int, int]] = ..., - reconnect_backoff_ms: int = 50, - reconnect_backoff_max_ms: int = 30000, - max_in_flight_requests_per_connection: int = 5, - security_protocol: Literal["PLAINTEXT", "SSL", "SASL_PLAINTEXT", "SASL_SSL"] = "PLAINTEXT", - ssl_context: ssl.SSLContext | None = None, - ssl_check_hostname: bool = True, - ssl_cafile: str | None = None, - ssl_certfile: str | None = None, - ssl_keyfile: str | None = None, - ssl_crlfile: str | None = None, - ssl_password: str | None = None, - ssl_ciphers: str | None = None, - api_version: tuple[int, ...] | None = None, - bootstrap_timeout_ms: int = 30000, - metric_reporters: Sequence[type[object]] = [], - metrics_enabled: bool = True, - metrics_num_samples: int = 2, - metrics_sample_window_ms: int = 30000, - selector: type[selectors.BaseSelector] = selectors.DefaultSelector, - sasl_mechanism: Literal["PLAIN", "GSSAPI", "OAUTHBEARER", "SCRAM-SHA-256", "SCRAM-SHA-512"] | None = None, - sasl_plain_username: str | None = None, - sasl_plain_password: str | None = None, - sasl_kerberos_name: object | None = None, - sasl_kerberos_service_name: str = "kafka", - sasl_kerberos_domain_name: str | None = None, - sasl_oauth_token_provider: object | None = None, - proxy_url: str | None = None, - socks5_proxy: str | None = None, - kafka_client: Callable[..., object] = ..., - ) -> None: ... - def bootstrap_connected(self) -> bool: ... + DEFAULT_CONFIG: Incomplete + DEPRECATED_CONFIGS: Incomplete + config: Incomplete + def __init__(self, **configs: Unpack[_KafkaProducerConfig]) -> None: ... + def bootstrap_connected(self): ... def __del__(self) -> None: ... - def __enter__(self) -> Self: ... - def __exit__( - self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None - ) -> None: ... def close(self, timeout: float | None = None, null_logger: bool = False) -> None: ... def partitions_for(self, topic: str) -> set[int]: ... @classmethod @@ -92,7 +93,7 @@ class KafkaProducer: def init_transactions(self) -> None: ... def begin_transaction(self) -> None: ... def send_offsets_to_transaction( - self, offsets: Mapping[TopicPartition, OffsetAndMetadata], group_metadata: str | ConsumerGroupMetadata + self, offsets: Mapping[TopicPartition, OffsetAndMetadata], consumer_group_id: str ) -> None: ... def commit_transaction(self) -> None: ... def abort_transaction(self) -> None: ... diff --git a/stubs/kafka-python/kafka/producer/producer_batch.pyi b/stubs/kafka-python/kafka/producer/producer_batch.pyi index dc6d522e3028..6b94289a53dd 100644 --- a/stubs/kafka-python/kafka/producer/producer_batch.pyi +++ b/stubs/kafka-python/kafka/producer/producer_batch.pyi @@ -1,7 +1,7 @@ from _typeshed import Incomplete from enum import IntEnum -from kafka.producer.future import FutureProduceResult +log: Incomplete class FinalState(IntEnum): ABORTED = 0 @@ -10,15 +10,15 @@ class FinalState(IntEnum): class ProducerBatch: max_record_size: int - created: float - drained: Incomplete | None + created: Incomplete + drained: Incomplete attempts: int - last_attempt: float - last_append: float + last_attempt: Incomplete + last_append: Incomplete records: Incomplete topic_partition: Incomplete - produce_future: FutureProduceResult - def __init__(self, tp, records, now: float | None = None) -> None: ... + produce_future: Incomplete + def __init__(self, tp, records, now=None) -> None: ... @property def final_state(self): ... @property @@ -28,17 +28,15 @@ class ProducerBatch: @property def producer_epoch(self): ... @property - def base_sequence(self): ... - @property - def has_sequence(self) -> bool: ... + def has_sequence(self): ... def try_append(self, timestamp_ms, key, value, headers, now=None): ... - def abort(self, exception) -> None: ... - def complete(self, base_offset, log_append_time) -> bool: ... - def complete_exceptionally(self, top_level_exception, record_exceptions_fn) -> bool: ... - def done(self, base_offset=None, timestamp_ms=None, top_level_exception=None, record_exceptions_fn=None) -> bool: ... - def has_reached_delivery_timeout(self, delivery_timeout_ms, now=None) -> bool: ... - def in_retry(self) -> bool: ... + def abort(self, exception): ... + def complete(self, base_offset, log_append_time): ... + def complete_exceptionally(self, top_level_exception, record_exceptions_fn): ... + def done(self, base_offset=None, timestamp_ms=None, top_level_exception=None, record_exceptions_fn=None): ... + def has_reached_delivery_timeout(self, delivery_timeout_ms, now=None): ... + def in_retry(self): ... def retry(self, now=None) -> None: ... @property - def is_done(self) -> bool: ... - def __lt__(self, other) -> bool: ... + def is_done(self): ... + def __lt__(self, other): ... diff --git a/stubs/kafka-python/kafka/producer/record_accumulator.pyi b/stubs/kafka-python/kafka/producer/record_accumulator.pyi index 23b060c00a16..cb36265f18d5 100644 --- a/stubs/kafka-python/kafka/producer/record_accumulator.pyi +++ b/stubs/kafka-python/kafka/producer/record_accumulator.pyi @@ -1,5 +1,7 @@ from _typeshed import Incomplete +log: Incomplete + class AtomicInteger: def __init__(self, val: int = 0) -> None: ... def increment(self): ... @@ -7,32 +9,30 @@ class AtomicInteger: def get(self): ... class RecordAccumulator: - DEFAULT_CONFIG: dict[str, Incomplete] - config: dict[str, Incomplete] - muted: set[Incomplete] + DEFAULT_CONFIG: Incomplete + config: Incomplete + muted: Incomplete def __init__(self, **configs) -> None: ... @property def delivery_timeout_ms(self): ... @property - def next_expiry_time_ms(self) -> float: ... - def append(self, tp, timestamp_ms, key, value, headers, now: float | None = None, abort_on_new_batch: bool = False): ... + def next_expiry_time_ms(self): ... + def append(self, tp, timestamp_ms, key, value, headers, now=None): ... def reset_next_batch_expiry_time(self) -> None: ... def maybe_update_next_batch_expiry_time(self, batch) -> None: ... - def expired_batches(self, now=None) -> list[Incomplete]: ... - def split_and_reenqueue(self, batch, now: float | None = None) -> int: ... + def expired_batches(self, now=None): ... def reenqueue(self, batch, now=None) -> None: ... - def ready(self, cluster, now: float | None = None): ... - def has_undrained(self) -> bool: ... - def drain_batches_for_one_node(self, cluster, node_id, max_size, now: float | None = None) -> list[Incomplete]: ... - def drain(self, cluster, nodes, max_size, now: float | None = None): ... + def ready(self, cluster, now=None): ... + def has_undrained(self): ... + def drain_batches_for_one_node(self, cluster, node_id, max_size, now=None): ... + def drain(self, cluster, nodes, max_size, now=None): ... def deallocate(self, batch) -> None: ... - def flush_in_progress(self) -> bool: ... + def flush_in_progress(self): ... def begin_flush(self) -> None: ... def await_flush_completion(self, timeout=None) -> None: ... @property - def has_incomplete(self) -> bool: ... + def has_incomplete(self): ... def abort_incomplete_batches(self) -> None: ... - def abort_batches(self, error) -> None: ... def abort_undrained_batches(self, error) -> None: ... def close(self) -> None: ... @@ -40,6 +40,6 @@ class IncompleteProducerBatches: def __init__(self) -> None: ... def add(self, batch) -> None: ... def remove(self, batch) -> None: ... - def all(self) -> list[Incomplete]: ... + def all(self): ... def __bool__(self) -> bool: ... __nonzero__ = __bool__ diff --git a/stubs/kafka-python/kafka/producer/sender.pyi b/stubs/kafka-python/kafka/producer/sender.pyi index b50b36d34b16..abbb22aac1d7 100644 --- a/stubs/kafka-python/kafka/producer/sender.pyi +++ b/stubs/kafka-python/kafka/producer/sender.pyi @@ -1,9 +1,22 @@ import threading from _typeshed import Incomplete +from typing import NamedTuple + +log: Incomplete + +class PartitionResponse(NamedTuple): + error: Incomplete = ... + base_offset: Incomplete = ... + last_offset: Incomplete = ... + log_append_time: Incomplete = ... + log_start_offset: Incomplete = ... + record_errors: Incomplete = ... + error_message: Incomplete = ... + current_leader: Incomplete = ... class Sender(threading.Thread): - DEFAULT_CONFIG: dict[str, Incomplete] - config: dict[str, Incomplete] + DEFAULT_CONFIG: Incomplete + config: Incomplete name: Incomplete def __init__(self, client, metadata, accumulator, **configs) -> None: ... def run(self) -> None: ... @@ -28,7 +41,7 @@ class SenderMetrics: def add_metric( self, metric_name, measurable, group_name: str = "producer-metrics", description=None, tags=None, sensor_name=None ) -> None: ... - def maybe_register_topic_metrics(self, topic) -> None: ... + def maybe_register_topic_metrics(self, topic): ... def update_produce_request_metrics(self, batches_map) -> None: ... def record_retries(self, topic, count) -> None: ... def record_errors(self, topic, count) -> None: ... diff --git a/stubs/kafka-python/kafka/producer/transaction_manager.pyi b/stubs/kafka-python/kafka/producer/transaction_manager.pyi index 5a478e3ad144..7e6f3e0374f0 100644 --- a/stubs/kafka-python/kafka/producer/transaction_manager.pyi +++ b/stubs/kafka-python/kafka/producer/transaction_manager.pyi @@ -1,17 +1,13 @@ import abc from _typeshed import Incomplete from enum import IntEnum -from typing import Final, Literal -from kafka.protocol.producer import InitProducerIdRequest -from kafka.structs import ConsumerGroupMetadata - -NO_PRODUCER_ID: Final = -1 -NO_PRODUCER_EPOCH: Final = -1 -NO_SEQUENCE: Final = -1 +log: Incomplete +NO_PRODUCER_ID: int +NO_PRODUCER_EPOCH: int +NO_SEQUENCE: int class ProducerIdAndEpoch: - __slots__ = ("producer_id", "epoch") producer_id: Incomplete epoch: Incomplete def __init__(self, producer_id, epoch) -> None: ... @@ -29,7 +25,6 @@ class TransactionState(IntEnum): ABORTING_TRANSACTION = 5 ABORTABLE_ERROR = 6 FATAL_ERROR = 7 - BUMPING_PRODUCER_EPOCH = 8 @classmethod def is_transition_valid(cls, source, target): ... @@ -55,44 +50,30 @@ class TransactionManager: metadata=None, ) -> None: ... def initialize_transactions(self): ... - def init_producer_id(self) -> None: ... def begin_transaction(self) -> None: ... def begin_commit(self): ... def begin_abort(self): ... - def send_offsets_to_transaction(self, offsets, group_metadata: str | ConsumerGroupMetadata): ... + def send_offsets_to_transaction(self, offsets, consumer_group_id): ... def maybe_add_partition_to_transaction(self, topic_partition) -> None: ... def is_send_to_partition_allowed(self, tp): ... - def has_producer_id(self, producer_id=None) -> bool: ... - def is_transactional(self) -> bool: ... - def has_partitions_to_add(self) -> bool: ... - def is_completing(self) -> bool: ... + def has_producer_id(self, producer_id=None): ... + def is_transactional(self): ... + def has_partitions_to_add(self): ... + def is_completing(self): ... @property def last_error(self): ... - def has_error(self) -> bool: ... - def is_bumping_epoch(self) -> bool: ... - ERROR_CLASS_RETRIABLE: Final = "RETRIABLE" - ERROR_CLASS_ABORTABLE: Final = "ABORTABLE" - ERROR_CLASS_FATAL: Final = "FATAL" - ERROR_CLASS_NEEDS_EPOCH_BUMP: Final = "NEEDS_EPOCH_BUMP" - ERROR_CLASS_NEEDS_PRODUCER_ID_RESET: Final = "NEEDS_PRODUCER_ID_RESET" - def classify_batch_error( - self, error, batch, log_start_offset=-1 - ) -> Literal["FATAL", "RETRIABLE", "NEEDS_EPOCH_BUMP", "NEEDS_PRODUCER_ID_RESET", "ABORTABLE"]: ... - def is_aborting(self) -> bool: ... + def has_error(self): ... + def is_aborting(self): ... def transition_to_abortable_error(self, exc) -> None: ... def transition_to_fatal_error(self, exc) -> None: ... - def is_partition_added(self, partition) -> bool: ... - def is_partition_pending_add(self, partition) -> bool: ... - def has_producer_id_and_epoch(self, producer_id, producer_epoch) -> bool: ... + def is_partition_added(self, partition): ... + def is_partition_pending_add(self, partition): ... + def has_producer_id_and_epoch(self, producer_id, producer_epoch): ... def set_producer_id_and_epoch(self, producer_id_and_epoch) -> None: ... def reset_producer_id(self) -> None: ... - def bump_producer_id_and_epoch(self) -> None: ... def sequence_number(self, tp): ... def increment_sequence_number(self, tp, increment) -> None: ... - def set_sequence_number(self, tp, sequence) -> None: ... def reset_sequence_for_partition(self, tp) -> None: ... - def update_last_acked_offset(self, tp, base_offset, record_count) -> None: ... - def last_acked_offset(self, tp): ... def next_request_handler(self, has_incomplete_batches): ... def retry(self, request) -> None: ... def authentication_failed(self, exc) -> None: ... @@ -150,12 +131,10 @@ class TxnRequestHandler(metaclass=abc.ABCMeta): def priority(self): ... class InitProducerIdHandler(TxnRequestHandler): - request: InitProducerIdRequest - def __init__(self, transaction_manager, transaction_timeout_ms, is_epoch_bump: bool = False) -> None: ... + request: Incomplete + def __init__(self, transaction_manager, transaction_timeout_ms) -> None: ... @property def priority(self): ... - @property - def coordinator_type(self): ... def handle_response(self, response) -> None: ... class AddPartitionsToTxnHandler(TxnRequestHandler): @@ -186,21 +165,19 @@ class EndTxnHandler(TxnRequestHandler): def handle_response(self, response) -> None: ... class AddOffsetsToTxnHandler(TxnRequestHandler): - group_metadata: Incomplete consumer_group_id: Incomplete offsets: Incomplete request: Incomplete - def __init__(self, transaction_manager, group_metadata, offsets) -> None: ... + def __init__(self, transaction_manager, consumer_group_id, offsets) -> None: ... @property def priority(self): ... def handle_response(self, response) -> None: ... class TxnOffsetCommitHandler(TxnRequestHandler): - group_metadata: Incomplete consumer_group_id: Incomplete offsets: Incomplete request: Incomplete - def __init__(self, transaction_manager, group_metadata, offsets, result) -> None: ... + def __init__(self, transaction_manager, consumer_group_id, offsets, result) -> None: ... @property def priority(self): ... @property diff --git a/stubs/kafka-python/kafka/protocol/__init__.pyi b/stubs/kafka-python/kafka/protocol/__init__.pyi index e69de29bb2d1..da1238775e56 100644 --- a/stubs/kafka-python/kafka/protocol/__init__.pyi +++ b/stubs/kafka-python/kafka/protocol/__init__.pyi @@ -0,0 +1,3 @@ +from _typeshed import Incomplete + +API_KEYS: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/old/abstract.pyi b/stubs/kafka-python/kafka/protocol/abstract.pyi similarity index 86% rename from stubs/kafka-python/kafka/protocol/old/abstract.pyi rename to stubs/kafka-python/kafka/protocol/abstract.pyi index c3a45c08d62c..3229b5ccfa05 100644 --- a/stubs/kafka-python/kafka/protocol/old/abstract.pyi +++ b/stubs/kafka-python/kafka/protocol/abstract.pyi @@ -2,10 +2,8 @@ import abc from _typeshed import Incomplete class AbstractType(metaclass=abc.ABCMeta): - @classmethod @abc.abstractmethod def encode(cls, value): ... - @classmethod @abc.abstractmethod def decode(cls, data): ... repr: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/old/add_offsets_to_txn.pyi b/stubs/kafka-python/kafka/protocol/add_offsets_to_txn.pyi similarity index 79% rename from stubs/kafka-python/kafka/protocol/old/add_offsets_to_txn.pyi rename to stubs/kafka-python/kafka/protocol/add_offsets_to_txn.pyi index 8f2c24de09a3..49066ce158a2 100644 --- a/stubs/kafka-python/kafka/protocol/old/add_offsets_to_txn.pyi +++ b/stubs/kafka-python/kafka/protocol/add_offsets_to_txn.pyi @@ -1,6 +1,6 @@ from _typeshed import Incomplete -from .api import Request, Response +from kafka.protocol.api import Request, Response class AddOffsetsToTxnResponse_v0(Response): API_KEY: int @@ -20,16 +20,19 @@ class AddOffsetsToTxnResponse_v2(Response): class AddOffsetsToTxnRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = AddOffsetsToTxnResponse_v0 SCHEMA: Incomplete class AddOffsetsToTxnRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = AddOffsetsToTxnResponse_v1 SCHEMA: Incomplete class AddOffsetsToTxnRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = AddOffsetsToTxnResponse_v2 SCHEMA: Incomplete AddOffsetsToTxnRequest: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/old/add_partitions_to_txn.pyi b/stubs/kafka-python/kafka/protocol/add_partitions_to_txn.pyi similarity index 73% rename from stubs/kafka-python/kafka/protocol/old/add_partitions_to_txn.pyi rename to stubs/kafka-python/kafka/protocol/add_partitions_to_txn.pyi index 455e50c13472..4a1802ab6c28 100644 --- a/stubs/kafka-python/kafka/protocol/old/add_partitions_to_txn.pyi +++ b/stubs/kafka-python/kafka/protocol/add_partitions_to_txn.pyi @@ -1,45 +1,39 @@ from _typeshed import Incomplete -from .api import Request, Response +from kafka.protocol.api import Request, Response class AddPartitionsToTxnResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class AddPartitionsToTxnResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class AddPartitionsToTxnResponse_v2(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class AddPartitionsToTxnRequest_v0(Request): API_KEY: int API_VERSION: int RESPONSE_TYPE = AddPartitionsToTxnResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class AddPartitionsToTxnRequest_v1(Request): API_KEY: int API_VERSION: int RESPONSE_TYPE = AddPartitionsToTxnResponse_v1 SCHEMA: Incomplete - ALIASES: dict[str, str] class AddPartitionsToTxnRequest_v2(Request): API_KEY: int API_VERSION: int RESPONSE_TYPE = AddPartitionsToTxnResponse_v2 SCHEMA: Incomplete - ALIASES: dict[str, str] -AddPartitionsToTxnRequest: list[type[Incomplete]] -AddPartitionsToTxnResponse: list[type[Incomplete]] +AddPartitionsToTxnRequest: Incomplete +AddPartitionsToTxnResponse: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/old/admin.pyi b/stubs/kafka-python/kafka/protocol/admin.pyi similarity index 79% rename from stubs/kafka-python/kafka/protocol/old/admin.pyi rename to stubs/kafka-python/kafka/protocol/admin.pyi index d83f6efd6a50..7330c0ae74d1 100644 --- a/stubs/kafka-python/kafka/protocol/old/admin.pyi +++ b/stubs/kafka-python/kafka/protocol/admin.pyi @@ -1,55 +1,51 @@ from _typeshed import Incomplete from enum import IntEnum -from .api import Request, Response +from kafka.protocol.api import Request, Response class CreateTopicsResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class CreateTopicsResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class CreateTopicsResponse_v2(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class CreateTopicsResponse_v3(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class CreateTopicsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = CreateTopicsResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class CreateTopicsRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = CreateTopicsResponse_v1 SCHEMA: Incomplete - ALIASES: dict[str, str] class CreateTopicsRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = CreateTopicsResponse_v2 SCHEMA: Incomplete - ALIASES: dict[str, str] class CreateTopicsRequest_v3(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = CreateTopicsResponse_v3 SCHEMA: Incomplete - ALIASES: dict[str, str] CreateTopicsRequest: Incomplete CreateTopicsResponse: Incomplete @@ -58,49 +54,45 @@ class DeleteTopicsResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class DeleteTopicsResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class DeleteTopicsResponse_v2(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class DeleteTopicsResponse_v3(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class DeleteTopicsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DeleteTopicsResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class DeleteTopicsRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DeleteTopicsResponse_v1 SCHEMA: Incomplete - ALIASES: dict[str, str] class DeleteTopicsRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DeleteTopicsResponse_v2 SCHEMA: Incomplete - ALIASES: dict[str, str] class DeleteTopicsRequest_v3(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DeleteTopicsResponse_v3 SCHEMA: Incomplete - ALIASES: dict[str, str] DeleteTopicsRequest: Incomplete DeleteTopicsResponse: Incomplete @@ -113,6 +105,7 @@ class DeleteRecordsResponse_v0(Response): class DeleteRecordsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DeleteRecordsResponse_v0 SCHEMA: Incomplete DeleteRecordsResponse: Incomplete @@ -136,16 +129,19 @@ class ListGroupsResponse_v2(Response): class ListGroupsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ListGroupsResponse_v0 SCHEMA: Incomplete class ListGroupsRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ListGroupsResponse_v1 SCHEMA: Incomplete class ListGroupsRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ListGroupsResponse_v2 SCHEMA: Incomplete ListGroupsRequest: Incomplete @@ -174,21 +170,25 @@ class DescribeGroupsResponse_v3(Response): class DescribeGroupsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DescribeGroupsResponse_v0 SCHEMA: Incomplete class DescribeGroupsRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DescribeGroupsResponse_v1 SCHEMA: Incomplete class DescribeGroupsRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DescribeGroupsResponse_v2 SCHEMA: Incomplete class DescribeGroupsRequest_v3(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DescribeGroupsResponse_v3 SCHEMA: Incomplete DescribeGroupsRequest: Incomplete @@ -212,18 +212,19 @@ class DescribeAclsResponse_v2(Response): class DescribeAclsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DescribeAclsResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class DescribeAclsRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DescribeAclsResponse_v1 SCHEMA: Incomplete - ALIASES: dict[str, str] class DescribeAclsRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DescribeAclsResponse_v2 SCHEMA: Incomplete DescribeAclsRequest: Incomplete @@ -233,22 +234,22 @@ class CreateAclsResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class CreateAclsResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class CreateAclsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = CreateAclsResponse_v0 SCHEMA: Incomplete class CreateAclsRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = CreateAclsResponse_v1 SCHEMA: Incomplete CreateAclsRequest: Incomplete @@ -258,22 +259,22 @@ class DeleteAclsResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class DeleteAclsResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class DeleteAclsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DeleteAclsResponse_v0 SCHEMA: Incomplete class DeleteAclsRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DeleteAclsResponse_v1 SCHEMA: Incomplete DeleteAclsRequest: Incomplete @@ -283,22 +284,22 @@ class AlterConfigsResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class AlterConfigsResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class AlterConfigsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = AlterConfigsResponse_v0 SCHEMA: Incomplete class AlterConfigsRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = AlterConfigsResponse_v1 SCHEMA: Incomplete AlterConfigsRequest: Incomplete @@ -308,33 +309,33 @@ class DescribeConfigsResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class DescribeConfigsResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class DescribeConfigsResponse_v2(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class DescribeConfigsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DescribeConfigsResponse_v0 SCHEMA: Incomplete class DescribeConfigsRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DescribeConfigsResponse_v1 SCHEMA: Incomplete class DescribeConfigsRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DescribeConfigsResponse_v2 SCHEMA: Incomplete DescribeConfigsRequest: Incomplete @@ -344,39 +345,62 @@ class DescribeLogDirsResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class DescribeLogDirsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DescribeLogDirsResponse_v0 SCHEMA: Incomplete DescribeLogDirsResponse: Incomplete DescribeLogDirsRequest: Incomplete +class SaslAuthenticateResponse_v0(Response): + API_KEY: int + API_VERSION: int + SCHEMA: Incomplete + +class SaslAuthenticateResponse_v1(Response): + API_KEY: int + API_VERSION: int + SCHEMA: Incomplete + +class SaslAuthenticateRequest_v0(Request): + API_KEY: int + API_VERSION: int + RESPONSE_TYPE = SaslAuthenticateResponse_v0 + SCHEMA: Incomplete + +class SaslAuthenticateRequest_v1(Request): + API_KEY: int + API_VERSION: int + RESPONSE_TYPE = SaslAuthenticateResponse_v1 + SCHEMA: Incomplete + +SaslAuthenticateRequest: Incomplete +SaslAuthenticateResponse: Incomplete + class CreatePartitionsResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class CreatePartitionsResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class CreatePartitionsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = CreatePartitionsResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class CreatePartitionsRequest_v1(Request): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] + RESPONSE_TYPE = CreatePartitionsResponse_v1 CreatePartitionsRequest: Incomplete CreatePartitionsResponse: Incomplete @@ -394,11 +418,13 @@ class DeleteGroupsResponse_v1(Response): class DeleteGroupsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DeleteGroupsResponse_v0 SCHEMA: Incomplete class DeleteGroupsRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DeleteGroupsResponse_v1 SCHEMA: Incomplete DeleteGroupsRequest: Incomplete @@ -412,6 +438,7 @@ class DescribeClientQuotasResponse_v0(Response): class DescribeClientQuotasRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = DescribeClientQuotasResponse_v0 SCHEMA: Incomplete DescribeClientQuotasRequest: Incomplete @@ -427,6 +454,7 @@ class AlterPartitionReassignmentsRequest_v0(Request): FLEXIBLE_VERSION: bool API_KEY: int API_VERSION: int + RESPONSE_TYPE = AlterPartitionReassignmentsResponse_v0 SCHEMA: Incomplete AlterPartitionReassignmentsRequest: Incomplete @@ -442,6 +470,7 @@ class ListPartitionReassignmentsRequest_v0(Request): FLEXIBLE_VERSION: bool API_KEY: int API_VERSION: int + RESPONSE_TYPE = ListPartitionReassignmentsResponse_v0 SCHEMA: Incomplete ListPartitionReassignmentsRequest: Incomplete @@ -451,25 +480,23 @@ class ElectLeadersResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class ElectLeadersRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ElectLeadersResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class ElectLeadersResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class ElectLeadersRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ElectLeadersResponse_v1 SCHEMA: Incomplete - ALIASES: dict[str, str] class ElectionType(IntEnum): PREFERRED = 0 diff --git a/stubs/kafka-python/kafka/protocol/admin/__init__.pyi b/stubs/kafka-python/kafka/protocol/admin/__init__.pyi deleted file mode 100644 index 9e292518cbbc..000000000000 --- a/stubs/kafka-python/kafka/protocol/admin/__init__.pyi +++ /dev/null @@ -1,76 +0,0 @@ -from .acl import * -from .client_quotas import * -from .cluster import * -from .configs import * -from .groups import * -from .topics import * -from .transactions import * -from .users import * - -__all__ = [ - "CreateAclsRequest", - "CreateAclsResponse", - "DeleteAclsRequest", - "DeleteAclsResponse", - "DescribeAclsRequest", - "DescribeAclsResponse", - "ACLResourceType", - "ACLOperation", - "ACLPermissionType", - "ACLResourcePatternType", - "AlterClientQuotasRequest", - "AlterClientQuotasResponse", - "DescribeClientQuotasRequest", - "DescribeClientQuotasResponse", - "DescribeClusterRequest", - "DescribeClusterResponse", - "DescribeLogDirsRequest", - "DescribeLogDirsResponse", - "AlterReplicaLogDirsRequest", - "AlterReplicaLogDirsResponse", - "DescribeQuorumRequest", - "DescribeQuorumResponse", - "UpdateFeaturesRequest", - "UpdateFeaturesResponse", - "AlterConfigsRequest", - "AlterConfigsResponse", - "DescribeConfigsRequest", - "DescribeConfigsResponse", - "IncrementalAlterConfigsRequest", - "IncrementalAlterConfigsResponse", - "ListConfigResourcesRequest", - "ListConfigResourcesResponse", - "DescribeGroupsRequest", - "DescribeGroupsResponse", - "ListGroupsRequest", - "ListGroupsResponse", - "DeleteGroupsRequest", - "DeleteGroupsResponse", - "CreateTopicsRequest", - "CreateTopicsResponse", - "DeleteTopicsRequest", - "DeleteTopicsResponse", - "CreatePartitionsRequest", - "CreatePartitionsResponse", - "AlterPartitionReassignmentsRequest", - "AlterPartitionReassignmentsResponse", - "ListPartitionReassignmentsRequest", - "ListPartitionReassignmentsResponse", - "DescribeTopicPartitionsRequest", - "DescribeTopicPartitionsResponse", - "DeleteRecordsRequest", - "DeleteRecordsResponse", - "ElectLeadersRequest", - "ElectLeadersResponse", - "ElectionType", - "ListTransactionsRequest", - "ListTransactionsResponse", - "DescribeTransactionsRequest", - "DescribeTransactionsResponse", - "DescribeProducersRequest", - "DescribeProducersResponse", - "AlterUserScramCredentialsRequest", - "AlterUserScramCredentialsResponse", - "DescribeUserScramCredentialsRequest", - "DescribeUserScramCredentialsResponse", -] diff --git a/stubs/kafka-python/kafka/protocol/admin/acl.pyi b/stubs/kafka-python/kafka/protocol/admin/acl.pyi deleted file mode 100644 index a29c2ea590e9..000000000000 --- a/stubs/kafka-python/kafka/protocol/admin/acl.pyi +++ /dev/null @@ -1,362 +0,0 @@ -from _typeshed import Incomplete -from enum import IntEnum - -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer - -class CreateAclsRequest(ApiMessage): - class AclCreation(DataContainer): - resource_type: int - resource_name: str - resource_pattern_type: int - principal: str - host: str - operation: int - permission_type: int - def __init__( - self, - *args, - resource_type: int = ..., - resource_name: str = ..., - resource_pattern_type: int = ..., - principal: str = ..., - host: str = ..., - operation: int = ..., - permission_type: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - creations: list[AclCreation] - def __init__(self, *args, creations: list[AclCreation] = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class CreateAclsResponse(ApiMessage): - class AclCreationResult(DataContainer): - error_code: int - error_message: str | None - def __init__( - self, *args, error_code: int = ..., error_message: str | None = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - results: list[AclCreationResult] - def __init__( - self, *args, throttle_time_ms: int = ..., results: list[AclCreationResult] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DeleteAclsRequest(ApiMessage): - class DeleteAclsFilter(DataContainer): - resource_type_filter: int - resource_name_filter: str | None - pattern_type_filter: int - principal_filter: str | None - host_filter: str | None - operation: int - permission_type: int - def __init__( - self, - *args, - resource_type_filter: int = ..., - resource_name_filter: str | None = ..., - pattern_type_filter: int = ..., - principal_filter: str | None = ..., - host_filter: str | None = ..., - operation: int = ..., - permission_type: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - filters: list[DeleteAclsFilter] - def __init__(self, *args, filters: list[DeleteAclsFilter] = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DeleteAclsResponse(ApiMessage): - class DeleteAclsFilterResult(DataContainer): - class DeleteAclsMatchingAcl(DataContainer): - error_code: int - error_message: str | None - resource_type: int - resource_name: str - pattern_type: int - principal: str - host: str - operation: int - permission_type: int - def __init__( - self, - *args, - error_code: int = ..., - error_message: str | None = ..., - resource_type: int = ..., - resource_name: str = ..., - pattern_type: int = ..., - principal: str = ..., - host: str = ..., - operation: int = ..., - permission_type: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - error_code: int - error_message: str | None - matching_acls: list[DeleteAclsMatchingAcl] - def __init__( - self, - *args, - error_code: int = ..., - error_message: str | None = ..., - matching_acls: list[DeleteAclsMatchingAcl] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - filter_results: list[DeleteAclsFilterResult] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - filter_results: list[DeleteAclsFilterResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeAclsRequest(ApiMessage): - resource_type_filter: int - resource_name_filter: str | None - pattern_type_filter: int - principal_filter: str | None - host_filter: str | None - operation: int - permission_type: int - def __init__( - self, - *args, - resource_type_filter: int = ..., - resource_name_filter: str | None = ..., - pattern_type_filter: int = ..., - principal_filter: str | None = ..., - host_filter: str | None = ..., - operation: int = ..., - permission_type: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeAclsResponse(ApiMessage): - class DescribeAclsResource(DataContainer): - class AclDescription(DataContainer): - principal: str - host: str - operation: int - permission_type: int - def __init__( - self, - *args, - principal: str = ..., - host: str = ..., - operation: int = ..., - permission_type: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - resource_type: int - resource_name: str - pattern_type: int - acls: list[AclDescription] - def __init__( - self, - *args, - resource_type: int = ..., - resource_name: str = ..., - pattern_type: int = ..., - acls: list[AclDescription] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - error_message: str | None - resources: list[DescribeAclsResource] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - error_message: str | None = ..., - resources: list[DescribeAclsResource] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class ACLResourceType(IntEnum): - UNKNOWN = 0 - ANY = 1 - TOPIC = 2 - GROUP = 3 - CLUSTER = 4 - TRANSACTIONAL_ID = 5 - DELEGATION_TOKEN = 6 - -class ACLOperation(IntEnum): - UNKNOWN = 0 - ANY = 1 - ALL = 2 - READ = 3 - WRITE = 4 - CREATE = 5 - DELETE = 6 - ALTER = 7 - DESCRIBE = 8 - CLUSTER_ACTION = 9 - DESCRIBE_CONFIGS = 10 - ALTER_CONFIGS = 11 - IDEMPOTENT_WRITE = 12 - CREATE_TOKENS = 13 - DESCRIBE_TOKENS = 14 - -class ACLPermissionType(IntEnum): - UNKNOWN = 0 - ANY = 1 - DENY = 2 - ALLOW = 3 - -class ACLResourcePatternType(IntEnum): - UNKNOWN = 0 - ANY = 1 - MATCH = 2 - LITERAL = 3 - PREFIXED = 4 - -__all__ = [ - "CreateAclsRequest", - "CreateAclsResponse", - "DeleteAclsRequest", - "DeleteAclsResponse", - "DescribeAclsRequest", - "DescribeAclsResponse", - "ACLResourceType", - "ACLOperation", - "ACLPermissionType", - "ACLResourcePatternType", -] diff --git a/stubs/kafka-python/kafka/protocol/admin/client_quotas.pyi b/stubs/kafka-python/kafka/protocol/admin/client_quotas.pyi deleted file mode 100644 index 1580153547ee..000000000000 --- a/stubs/kafka-python/kafka/protocol/admin/client_quotas.pyi +++ /dev/null @@ -1,210 +0,0 @@ -from _typeshed import Incomplete - -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer - -class AlterClientQuotasRequest(ApiMessage): - class EntryData(DataContainer): - class EntityData(DataContainer): - entity_type: str - entity_name: str | None - def __init__( - self, *args, entity_type: str = ..., entity_name: str | None = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class OpData(DataContainer): - key: str - value: float - remove: bool - def __init__( - self, *args, key: str = ..., value: float = ..., remove: bool = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - entity: list[EntityData] - ops: list[OpData] - def __init__( - self, *args, entity: list[EntityData] = ..., ops: list[OpData] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - entries: list[EntryData] - validate_only: bool - def __init__( - self, *args, entries: list[EntryData] = ..., validate_only: bool = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class AlterClientQuotasResponse(ApiMessage): - class EntryData(DataContainer): - class EntityData(DataContainer): - entity_type: str - entity_name: str | None - def __init__( - self, *args, entity_type: str = ..., entity_name: str | None = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - error_code: int - error_message: str | None - entity: list[EntityData] - def __init__( - self, - *args, - error_code: int = ..., - error_message: str | None = ..., - entity: list[EntityData] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - entries: list[EntryData] - def __init__( - self, *args, throttle_time_ms: int = ..., entries: list[EntryData] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeClientQuotasRequest(ApiMessage): - class ComponentData(DataContainer): - entity_type: str - match_type: int - match: str | None - def __init__( - self, - *args, - entity_type: str = ..., - match_type: int = ..., - match: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - components: list[ComponentData] - strict: bool - def __init__( - self, *args, components: list[ComponentData] = ..., strict: bool = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeClientQuotasResponse(ApiMessage): - class EntryData(DataContainer): - class EntityData(DataContainer): - entity_type: str - entity_name: str | None - def __init__( - self, *args, entity_type: str = ..., entity_name: str | None = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class ValueData(DataContainer): - key: str - value: float - def __init__(self, *args, key: str = ..., value: float = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - entity: list[EntityData] - values: list[ValueData] - def __init__( - self, *args, entity: list[EntityData] = ..., values: list[ValueData] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - error_message: str | None - entries: list[EntryData] | None - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - error_message: str | None = ..., - entries: list[EntryData] | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -__all__ = ["AlterClientQuotasRequest", "AlterClientQuotasResponse", "DescribeClientQuotasRequest", "DescribeClientQuotasResponse"] diff --git a/stubs/kafka-python/kafka/protocol/admin/cluster.pyi b/stubs/kafka-python/kafka/protocol/admin/cluster.pyi deleted file mode 100644 index af25aae69210..000000000000 --- a/stubs/kafka-python/kafka/protocol/admin/cluster.pyi +++ /dev/null @@ -1,569 +0,0 @@ -import uuid -from _typeshed import Incomplete - -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer - -class DescribeClusterRequest(ApiMessage): - include_cluster_authorized_operations: bool - endpoint_type: int - include_fenced_brokers: bool - def __init__( - self, - *args, - include_cluster_authorized_operations: bool = ..., - endpoint_type: int = ..., - include_fenced_brokers: bool = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeClusterResponse(ApiMessage): - class DescribeClusterBroker(DataContainer): - broker_id: int - host: str - port: int - rack: str | None - is_fenced: bool - def __init__( - self, - *args, - broker_id: int = ..., - host: str = ..., - port: int = ..., - rack: str | None = ..., - is_fenced: bool = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - error_message: str | None - endpoint_type: int - cluster_id: str - controller_id: int - brokers: list[DescribeClusterBroker] - authorized_operations: set[int] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - error_message: str | None = ..., - endpoint_type: int = ..., - cluster_id: str = ..., - controller_id: int = ..., - brokers: list[DescribeClusterBroker] = ..., - authorized_operations: set[int] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - @classmethod - def json_patch(cls, json): ... - -class DescribeLogDirsRequest(ApiMessage): - class DescribableLogDirTopic(DataContainer): - topic: str - partitions: list[int] - def __init__( - self, *args, topic: str = ..., partitions: list[int] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topics: list[DescribableLogDirTopic] | None - def __init__( - self, *args, topics: list[DescribableLogDirTopic] | None = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeLogDirsResponse(ApiMessage): - class DescribeLogDirsResult(DataContainer): - class DescribeLogDirsTopic(DataContainer): - class DescribeLogDirsPartition(DataContainer): - partition_index: int - partition_size: int - offset_lag: int - is_future_key: bool - def __init__( - self, - *args, - partition_index: int = ..., - partition_size: int = ..., - offset_lag: int = ..., - is_future_key: bool = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[DescribeLogDirsPartition] - def __init__( - self, - *args, - name: str = ..., - partitions: list[DescribeLogDirsPartition] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - error_code: int - log_dir: str - topics: list[DescribeLogDirsTopic] - total_bytes: int - usable_bytes: int - is_cordoned: bool - def __init__( - self, - *args, - error_code: int = ..., - log_dir: str = ..., - topics: list[DescribeLogDirsTopic] = ..., - total_bytes: int = ..., - usable_bytes: int = ..., - is_cordoned: bool = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - results: list[DescribeLogDirsResult] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - results: list[DescribeLogDirsResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class AlterReplicaLogDirsRequest(ApiMessage): - class AlterReplicaLogDir(DataContainer): - class AlterReplicaLogDirTopic(DataContainer): - name: str - partitions: list[int] - def __init__( - self, *args, name: str = ..., partitions: list[int] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - path: str - topics: list[AlterReplicaLogDirTopic] - def __init__( - self, *args, path: str = ..., topics: list[AlterReplicaLogDirTopic] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - dirs: list[AlterReplicaLogDir] - def __init__(self, *args, dirs: list[AlterReplicaLogDir] = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class AlterReplicaLogDirsResponse(ApiMessage): - class AlterReplicaLogDirTopicResult(DataContainer): - class AlterReplicaLogDirPartitionResult(DataContainer): - partition_index: int - error_code: int - def __init__( - self, *args, partition_index: int = ..., error_code: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topic_name: str - partitions: list[AlterReplicaLogDirPartitionResult] - def __init__( - self, - *args, - topic_name: str = ..., - partitions: list[AlterReplicaLogDirPartitionResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - results: list[AlterReplicaLogDirTopicResult] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - results: list[AlterReplicaLogDirTopicResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeQuorumRequest(ApiMessage): - class TopicData(DataContainer): - class PartitionData(DataContainer): - partition_index: int - def __init__(self, *args, partition_index: int = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topic_name: str - partitions: list[PartitionData] - def __init__( - self, *args, topic_name: str = ..., partitions: list[PartitionData] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topics: list[TopicData] - def __init__(self, *args, topics: list[TopicData] = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeQuorumResponse(ApiMessage): - class TopicData(DataContainer): - class PartitionData(DataContainer): - class ReplicaState(DataContainer): - replica_id: int - replica_directory_id: uuid.UUID - log_end_offset: int - last_fetch_timestamp: int - last_caught_up_timestamp: int - def __init__( - self, - *args, - replica_id: int = ..., - replica_directory_id: uuid.UUID = ..., - log_end_offset: int = ..., - last_fetch_timestamp: int = ..., - last_caught_up_timestamp: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - partition_index: int - error_code: int - error_message: str | None - leader_id: int - leader_epoch: int - high_watermark: int - current_voters: list[ReplicaState] - observers: list[ReplicaState] - def __init__( - self, - *args, - partition_index: int = ..., - error_code: int = ..., - error_message: str | None = ..., - leader_id: int = ..., - leader_epoch: int = ..., - high_watermark: int = ..., - current_voters: list[ReplicaState] = ..., - observers: list[ReplicaState] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topic_name: str - partitions: list[PartitionData] - def __init__( - self, *args, topic_name: str = ..., partitions: list[PartitionData] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class Node(DataContainer): - class Listener(DataContainer): - name: str - host: str - port: int - def __init__( - self, *args, name: str = ..., host: str = ..., port: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - node_id: int - listeners: list[Listener] - def __init__( - self, *args, node_id: int = ..., listeners: list[Listener] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - error_code: int - error_message: str | None - topics: list[TopicData] - nodes: list[Node] - def __init__( - self, - *args, - error_code: int = ..., - error_message: str | None = ..., - topics: list[TopicData] = ..., - nodes: list[Node] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class UpdateFeaturesRequest(ApiMessage): - class FeatureUpdateKey(DataContainer): - feature: str - max_version_level: int - allow_downgrade: bool - upgrade_type: int - def __init__( - self, - *args, - feature: str = ..., - max_version_level: int = ..., - allow_downgrade: bool = ..., - upgrade_type: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - timeout_ms: int - feature_updates: list[FeatureUpdateKey] - validate_only: bool - def __init__( - self, - *args, - timeout_ms: int = ..., - feature_updates: list[FeatureUpdateKey] = ..., - validate_only: bool = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class UpdateFeaturesResponse(ApiMessage): - class UpdatableFeatureResult(DataContainer): - feature: str - error_code: int - error_message: str | None - def __init__( - self, - *args, - feature: str = ..., - error_code: int = ..., - error_message: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - error_message: str | None - results: list[UpdatableFeatureResult] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - error_message: str | None = ..., - results: list[UpdatableFeatureResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -__all__ = [ - "DescribeClusterRequest", - "DescribeClusterResponse", - "DescribeLogDirsRequest", - "DescribeLogDirsResponse", - "AlterReplicaLogDirsRequest", - "AlterReplicaLogDirsResponse", - "DescribeQuorumRequest", - "DescribeQuorumResponse", - "UpdateFeaturesRequest", - "UpdateFeaturesResponse", -] diff --git a/stubs/kafka-python/kafka/protocol/admin/configs.pyi b/stubs/kafka-python/kafka/protocol/admin/configs.pyi deleted file mode 100644 index fe32bcb42d39..000000000000 --- a/stubs/kafka-python/kafka/protocol/admin/configs.pyi +++ /dev/null @@ -1,405 +0,0 @@ -from _typeshed import Incomplete - -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer - -class AlterConfigsRequest(ApiMessage): - class AlterConfigsResource(DataContainer): - class AlterableConfig(DataContainer): - name: str - value: str | None - def __init__(self, *args, name: str = ..., value: str | None = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - resource_type: int - resource_name: str - configs: list[AlterableConfig] - def __init__( - self, - *args, - resource_type: int = ..., - resource_name: str = ..., - configs: list[AlterableConfig] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - resources: list[AlterConfigsResource] - validate_only: bool - def __init__( - self, *args, resources: list[AlterConfigsResource] = ..., validate_only: bool = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class AlterConfigsResponse(ApiMessage): - class AlterConfigsResourceResponse(DataContainer): - error_code: int - error_message: str | None - resource_type: int - resource_name: str - def __init__( - self, - *args, - error_code: int = ..., - error_message: str | None = ..., - resource_type: int = ..., - resource_name: str = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - responses: list[AlterConfigsResourceResponse] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - responses: list[AlterConfigsResourceResponse] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeConfigsRequest(ApiMessage): - class DescribeConfigsResource(DataContainer): - resource_type: int - resource_name: str - configuration_keys: list[str] | None - def __init__( - self, - *args, - resource_type: int = ..., - resource_name: str = ..., - configuration_keys: list[str] | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - resources: list[DescribeConfigsResource] - include_synonyms: bool - include_documentation: bool - def __init__( - self, - *args, - resources: list[DescribeConfigsResource] = ..., - include_synonyms: bool = ..., - include_documentation: bool = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeConfigsResponse(ApiMessage): - class DescribeConfigsResult(DataContainer): - class DescribeConfigsResourceResult(DataContainer): - class DescribeConfigsSynonym(DataContainer): - name: str - value: str | None - source: int - def __init__( - self, *args, name: str = ..., value: str | None = ..., source: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - value: str | None - read_only: bool - config_source: int - is_default: bool - is_sensitive: bool - synonyms: list[DescribeConfigsSynonym] - config_type: int - documentation: str | None - def __init__( - self, - *args, - name: str = ..., - value: str | None = ..., - read_only: bool = ..., - config_source: int = ..., - is_default: bool = ..., - is_sensitive: bool = ..., - synonyms: list[DescribeConfigsSynonym] = ..., - config_type: int = ..., - documentation: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - error_code: int - error_message: str | None - resource_type: int - resource_name: str - configs: list[DescribeConfigsResourceResult] - def __init__( - self, - *args, - error_code: int = ..., - error_message: str | None = ..., - resource_type: int = ..., - resource_name: str = ..., - configs: list[DescribeConfigsResourceResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - results: list[DescribeConfigsResult] - def __init__( - self, *args, throttle_time_ms: int = ..., results: list[DescribeConfigsResult] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class IncrementalAlterConfigsRequest(ApiMessage): - class AlterConfigsResource(DataContainer): - class AlterableConfig(DataContainer): - name: str - config_operation: int - value: str | None - def __init__( - self, - *args, - name: str = ..., - config_operation: int = ..., - value: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - resource_type: int - resource_name: str - configs: list[AlterableConfig] - def __init__( - self, - *args, - resource_type: int = ..., - resource_name: str = ..., - configs: list[AlterableConfig] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - resources: list[AlterConfigsResource] - validate_only: bool - def __init__( - self, *args, resources: list[AlterConfigsResource] = ..., validate_only: bool = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class IncrementalAlterConfigsResponse(ApiMessage): - class AlterConfigsResourceResponse(DataContainer): - error_code: int - error_message: str | None - resource_type: int - resource_name: str - def __init__( - self, - *args, - error_code: int = ..., - error_message: str | None = ..., - resource_type: int = ..., - resource_name: str = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - responses: list[AlterConfigsResourceResponse] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - responses: list[AlterConfigsResourceResponse] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class ListConfigResourcesRequest(ApiMessage): - resource_types: list[int] - def __init__(self, *args, resource_types: list[int] = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class ListConfigResourcesResponse(ApiMessage): - class ConfigResource(DataContainer): - resource_name: str - resource_type: int - def __init__( - self, *args, resource_name: str = ..., resource_type: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - config_resources: list[ConfigResource] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - config_resources: list[ConfigResource] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -__all__ = [ - "AlterConfigsRequest", - "AlterConfigsResponse", - "DescribeConfigsRequest", - "DescribeConfigsResponse", - "IncrementalAlterConfigsRequest", - "IncrementalAlterConfigsResponse", - "ListConfigResourcesRequest", - "ListConfigResourcesResponse", -] diff --git a/stubs/kafka-python/kafka/protocol/admin/groups.pyi b/stubs/kafka-python/kafka/protocol/admin/groups.pyi deleted file mode 100644 index 7445f01664b3..000000000000 --- a/stubs/kafka-python/kafka/protocol/admin/groups.pyi +++ /dev/null @@ -1,235 +0,0 @@ -from _typeshed import Incomplete - -from kafka.protocol.api_data import ApiData -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer - -class DescribeGroupsRequest(ApiMessage): - groups: list[str] - include_authorized_operations: bool - def __init__( - self, *args, groups: list[str] = ..., include_authorized_operations: bool = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeGroupsResponse(ApiMessage): - class DescribedGroup(DataContainer): - class DescribedGroupMember(DataContainer): - member_id: str - group_instance_id: str | None - client_id: str - client_host: str - member_metadata: bytes | ApiData - member_assignment: bytes | ApiData - def __init__( - self, - *args, - member_id: str = ..., - group_instance_id: str | None = ..., - client_id: str = ..., - client_host: str = ..., - member_metadata: bytes | ApiData = ..., - member_assignment: bytes | ApiData = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - error_code: int - error_message: str | None - group_id: str - group_state: str - protocol_type: str - protocol_data: str - members: list[DescribedGroupMember] - authorized_operations: set[int] - def __init__( - self, - *args, - error_code: int = ..., - error_message: str | None = ..., - group_id: str = ..., - group_state: str = ..., - protocol_type: str = ..., - protocol_data: str = ..., - members: list[DescribedGroupMember] = ..., - authorized_operations: set[int] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - groups: list[DescribedGroup] - def __init__( - self, *args, throttle_time_ms: int = ..., groups: list[DescribedGroup] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - @classmethod - def json_patch(cls, json): ... - -class ListGroupsRequest(ApiMessage): - states_filter: list[str] - types_filter: list[str] - def __init__( - self, *args, states_filter: list[str] = ..., types_filter: list[str] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class ListGroupsResponse(ApiMessage): - class ListedGroup(DataContainer): - group_id: str - protocol_type: str - group_state: str - group_type: str - def __init__( - self, - *args, - group_id: str = ..., - protocol_type: str = ..., - group_state: str = ..., - group_type: str = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - groups: list[ListedGroup] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - groups: list[ListedGroup] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DeleteGroupsRequest(ApiMessage): - groups_names: list[str] - def __init__(self, *args, groups_names: list[str] = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DeleteGroupsResponse(ApiMessage): - class DeletableGroupResult(DataContainer): - group_id: str - error_code: int - def __init__(self, *args, group_id: str = ..., error_code: int = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - results: list[DeletableGroupResult] - def __init__( - self, *args, throttle_time_ms: int = ..., results: list[DeletableGroupResult] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -__all__ = [ - "DescribeGroupsRequest", - "DescribeGroupsResponse", - "ListGroupsRequest", - "ListGroupsResponse", - "DeleteGroupsRequest", - "DeleteGroupsResponse", -] diff --git a/stubs/kafka-python/kafka/protocol/admin/topics.pyi b/stubs/kafka-python/kafka/protocol/admin/topics.pyi deleted file mode 100644 index 45e7d6b7ff79..000000000000 --- a/stubs/kafka-python/kafka/protocol/admin/topics.pyi +++ /dev/null @@ -1,918 +0,0 @@ -import uuid -from _typeshed import Incomplete -from enum import IntEnum - -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer - -class CreateTopicsRequest(ApiMessage): - class CreatableTopic(DataContainer): - class CreatableReplicaAssignment(DataContainer): - partition_index: int - broker_ids: list[int] - def __init__( - self, *args, partition_index: int = ..., broker_ids: list[int] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class CreatableTopicConfig(DataContainer): - name: str - value: str | None - def __init__(self, *args, name: str = ..., value: str | None = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - num_partitions: int - replication_factor: int - assignments: list[CreatableReplicaAssignment] - configs: list[CreatableTopicConfig] - def __init__( - self, - *args, - name: str = ..., - num_partitions: int = ..., - replication_factor: int = ..., - assignments: list[CreatableReplicaAssignment] = ..., - configs: list[CreatableTopicConfig] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topics: list[CreatableTopic] - timeout_ms: int - validate_only: bool - def __init__( - self, - *args, - topics: list[CreatableTopic] = ..., - timeout_ms: int = ..., - validate_only: bool = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class CreateTopicsResponse(ApiMessage): - class CreatableTopicResult(DataContainer): - class CreatableTopicConfigs(DataContainer): - name: str - value: str | None - read_only: bool - config_source: int - is_sensitive: bool - def __init__( - self, - *args, - name: str = ..., - value: str | None = ..., - read_only: bool = ..., - config_source: int = ..., - is_sensitive: bool = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - topic_id: uuid.UUID - error_code: int - error_message: str | None - topic_config_error_code: int - num_partitions: int - replication_factor: int - configs: list[CreatableTopicConfigs] | None - def __init__( - self, - *args, - name: str = ..., - topic_id: uuid.UUID = ..., - error_code: int = ..., - error_message: str | None = ..., - topic_config_error_code: int = ..., - num_partitions: int = ..., - replication_factor: int = ..., - configs: list[CreatableTopicConfigs] | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - topics: list[CreatableTopicResult] - def __init__( - self, *args, throttle_time_ms: int = ..., topics: list[CreatableTopicResult] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DeleteTopicsRequest(ApiMessage): - class DeleteTopicState(DataContainer): - name: str | None - topic_id: uuid.UUID - def __init__( - self, *args, name: str | None = ..., topic_id: uuid.UUID = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topics: list[DeleteTopicState] - topic_names: list[str] - timeout_ms: int - def __init__( - self, - *args, - topics: list[DeleteTopicState] = ..., - topic_names: list[str] = ..., - timeout_ms: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - def encode(self, version=None, header=False, framed=False): ... - -class DeleteTopicsResponse(ApiMessage): - class DeletableTopicResult(DataContainer): - name: str | None - topic_id: uuid.UUID - error_code: int - error_message: str | None - def __init__( - self, - *args, - name: str | None = ..., - topic_id: uuid.UUID = ..., - error_code: int = ..., - error_message: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - responses: list[DeletableTopicResult] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - responses: list[DeletableTopicResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class CreatePartitionsRequest(ApiMessage): - class CreatePartitionsTopic(DataContainer): - class CreatePartitionsAssignment(DataContainer): - broker_ids: list[int] - def __init__(self, *args, broker_ids: list[int] = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - count: int - assignments: list[CreatePartitionsAssignment] | None - def __init__( - self, - *args, - name: str = ..., - count: int = ..., - assignments: list[CreatePartitionsAssignment] | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topics: list[CreatePartitionsTopic] - timeout_ms: int - validate_only: bool - def __init__( - self, - *args, - topics: list[CreatePartitionsTopic] = ..., - timeout_ms: int = ..., - validate_only: bool = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - @classmethod - def json_patch(cls, json): ... - -class CreatePartitionsResponse(ApiMessage): - class CreatePartitionsTopicResult(DataContainer): - name: str - error_code: int - error_message: str | None - def __init__( - self, - *args, - name: str = ..., - error_code: int = ..., - error_message: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - results: list[CreatePartitionsTopicResult] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - results: list[CreatePartitionsTopicResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class AlterPartitionReassignmentsRequest(ApiMessage): - class ReassignableTopic(DataContainer): - class ReassignablePartition(DataContainer): - partition_index: int - replicas: list[int] | None - def __init__( - self, *args, partition_index: int = ..., replicas: list[int] | None = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[ReassignablePartition] - def __init__( - self, *args, name: str = ..., partitions: list[ReassignablePartition] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - timeout_ms: int - allow_replication_factor_change: bool - topics: list[ReassignableTopic] - def __init__( - self, - *args, - timeout_ms: int = ..., - allow_replication_factor_change: bool = ..., - topics: list[ReassignableTopic] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class AlterPartitionReassignmentsResponse(ApiMessage): - class ReassignableTopicResponse(DataContainer): - class ReassignablePartitionResponse(DataContainer): - partition_index: int - error_code: int - error_message: str | None - def __init__( - self, - *args, - partition_index: int = ..., - error_code: int = ..., - error_message: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[ReassignablePartitionResponse] - def __init__( - self, - *args, - name: str = ..., - partitions: list[ReassignablePartitionResponse] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - allow_replication_factor_change: bool - error_code: int - error_message: str | None - responses: list[ReassignableTopicResponse] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - allow_replication_factor_change: bool = ..., - error_code: int = ..., - error_message: str | None = ..., - responses: list[ReassignableTopicResponse] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class ListPartitionReassignmentsRequest(ApiMessage): - class ListPartitionReassignmentsTopics(DataContainer): - name: str - partition_indexes: list[int] - def __init__( - self, *args, name: str = ..., partition_indexes: list[int] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - timeout_ms: int - topics: list[ListPartitionReassignmentsTopics] | None - def __init__( - self, - *args, - timeout_ms: int = ..., - topics: list[ListPartitionReassignmentsTopics] | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class ListPartitionReassignmentsResponse(ApiMessage): - class OngoingTopicReassignment(DataContainer): - class OngoingPartitionReassignment(DataContainer): - partition_index: int - replicas: list[int] - adding_replicas: list[int] - removing_replicas: list[int] - def __init__( - self, - *args, - partition_index: int = ..., - replicas: list[int] = ..., - adding_replicas: list[int] = ..., - removing_replicas: list[int] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[OngoingPartitionReassignment] - def __init__( - self, - *args, - name: str = ..., - partitions: list[OngoingPartitionReassignment] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - error_message: str | None - topics: list[OngoingTopicReassignment] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - error_message: str | None = ..., - topics: list[OngoingTopicReassignment] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeTopicPartitionsRequest(ApiMessage): - class TopicRequest(DataContainer): - name: str - def __init__(self, *args, name: str = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class Cursor(DataContainer): - topic_name: str - partition_index: int - def __init__( - self, *args, topic_name: str = ..., partition_index: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topics: list[TopicRequest] - response_partition_limit: int - cursor: Cursor | None - def __init__( - self, - *args, - topics: list[TopicRequest] = ..., - response_partition_limit: int = ..., - cursor: Cursor | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeTopicPartitionsResponse(ApiMessage): - class DescribeTopicPartitionsResponseTopic(DataContainer): - class DescribeTopicPartitionsResponsePartition(DataContainer): - error_code: int - partition_index: int - leader_id: int - leader_epoch: int - replica_nodes: list[int] - isr_nodes: list[int] - eligible_leader_replicas: list[int] | None - last_known_elr: list[int] | None - offline_replicas: list[int] - def __init__( - self, - *args, - error_code: int = ..., - partition_index: int = ..., - leader_id: int = ..., - leader_epoch: int = ..., - replica_nodes: list[int] = ..., - isr_nodes: list[int] = ..., - eligible_leader_replicas: list[int] | None = ..., - last_known_elr: list[int] | None = ..., - offline_replicas: list[int] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - error_code: int - name: str | None - topic_id: uuid.UUID - is_internal: bool - partitions: list[DescribeTopicPartitionsResponsePartition] - topic_authorized_operations: int - def __init__( - self, - *args, - error_code: int = ..., - name: str | None = ..., - topic_id: uuid.UUID = ..., - is_internal: bool = ..., - partitions: list[DescribeTopicPartitionsResponsePartition] = ..., - topic_authorized_operations: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class Cursor(DataContainer): - topic_name: str - partition_index: int - def __init__( - self, *args, topic_name: str = ..., partition_index: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - topics: list[DescribeTopicPartitionsResponseTopic] - next_cursor: Cursor | None - def __init__( - self, - *args, - throttle_time_ms: int = ..., - topics: list[DescribeTopicPartitionsResponseTopic] = ..., - next_cursor: Cursor | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DeleteRecordsRequest(ApiMessage): - class DeleteRecordsTopic(DataContainer): - class DeleteRecordsPartition(DataContainer): - partition_index: int - offset: int - def __init__( - self, *args, partition_index: int = ..., offset: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[DeleteRecordsPartition] - def __init__( - self, *args, name: str = ..., partitions: list[DeleteRecordsPartition] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topics: list[DeleteRecordsTopic] - timeout_ms: int - def __init__( - self, *args, topics: list[DeleteRecordsTopic] = ..., timeout_ms: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DeleteRecordsResponse(ApiMessage): - class DeleteRecordsTopicResult(DataContainer): - class DeleteRecordsPartitionResult(DataContainer): - partition_index: int - low_watermark: int - error_code: int - def __init__( - self, - *args, - partition_index: int = ..., - low_watermark: int = ..., - error_code: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[DeleteRecordsPartitionResult] - def __init__( - self, - *args, - name: str = ..., - partitions: list[DeleteRecordsPartitionResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - topics: list[DeleteRecordsTopicResult] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - topics: list[DeleteRecordsTopicResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class ElectLeadersRequest(ApiMessage): - class TopicPartitions(DataContainer): - topic: str - partitions: list[int] - def __init__( - self, *args, topic: str = ..., partitions: list[int] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - election_type: int - topic_partitions: list[TopicPartitions] | None - timeout_ms: int - def __init__( - self, - *args, - election_type: int = ..., - topic_partitions: list[TopicPartitions] | None = ..., - timeout_ms: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class ElectLeadersResponse(ApiMessage): - class ReplicaElectionResult(DataContainer): - class PartitionResult(DataContainer): - partition_id: int - error_code: int - error_message: str | None - def __init__( - self, - *args, - partition_id: int = ..., - error_code: int = ..., - error_message: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topic: str - partition_result: list[PartitionResult] - def __init__( - self, *args, topic: str = ..., partition_result: list[PartitionResult] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - replica_election_results: list[ReplicaElectionResult] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - replica_election_results: list[ReplicaElectionResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class ElectionType(IntEnum): - PREFERRED = 0 - UNCLEAN = 1 - -__all__ = [ - "CreateTopicsRequest", - "CreateTopicsResponse", - "DeleteTopicsRequest", - "DeleteTopicsResponse", - "CreatePartitionsRequest", - "CreatePartitionsResponse", - "AlterPartitionReassignmentsRequest", - "AlterPartitionReassignmentsResponse", - "ListPartitionReassignmentsRequest", - "ListPartitionReassignmentsResponse", - "DescribeTopicPartitionsRequest", - "DescribeTopicPartitionsResponse", - "DeleteRecordsRequest", - "DeleteRecordsResponse", - "ElectLeadersRequest", - "ElectLeadersResponse", - "ElectionType", -] diff --git a/stubs/kafka-python/kafka/protocol/admin/transactions.pyi b/stubs/kafka-python/kafka/protocol/admin/transactions.pyi deleted file mode 100644 index 719151c07180..000000000000 --- a/stubs/kafka-python/kafka/protocol/admin/transactions.pyi +++ /dev/null @@ -1,284 +0,0 @@ -from _typeshed import Incomplete - -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer - -class ListTransactionsRequest(ApiMessage): - state_filters: list[str] - producer_id_filters: list[int] - duration_filter: int - transactional_id_pattern: str | None - def __init__( - self, - *args, - state_filters: list[str] = ..., - producer_id_filters: list[int] = ..., - duration_filter: int = ..., - transactional_id_pattern: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class ListTransactionsResponse(ApiMessage): - class TransactionState(DataContainer): - transactional_id: str - producer_id: int - transaction_state: str - def __init__( - self, - *args, - transactional_id: str = ..., - producer_id: int = ..., - transaction_state: str = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - unknown_state_filters: list[str] - transaction_states: list[TransactionState] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - unknown_state_filters: list[str] = ..., - transaction_states: list[TransactionState] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeTransactionsRequest(ApiMessage): - transactional_ids: list[str] - def __init__(self, *args, transactional_ids: list[str] = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeTransactionsResponse(ApiMessage): - class TransactionState(DataContainer): - class TopicData(DataContainer): - topic: str - partitions: list[int] - def __init__( - self, *args, topic: str = ..., partitions: list[int] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - error_code: int - transactional_id: str - transaction_state: str - transaction_timeout_ms: int - transaction_start_time_ms: int - producer_id: int - producer_epoch: int - topics: list[TopicData] - def __init__( - self, - *args, - error_code: int = ..., - transactional_id: str = ..., - transaction_state: str = ..., - transaction_timeout_ms: int = ..., - transaction_start_time_ms: int = ..., - producer_id: int = ..., - producer_epoch: int = ..., - topics: list[TopicData] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - transaction_states: list[TransactionState] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - transaction_states: list[TransactionState] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeProducersRequest(ApiMessage): - class TopicRequest(DataContainer): - name: str - partition_indexes: list[int] - def __init__( - self, *args, name: str = ..., partition_indexes: list[int] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topics: list[TopicRequest] - def __init__(self, *args, topics: list[TopicRequest] = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeProducersResponse(ApiMessage): - class TopicResponse(DataContainer): - class PartitionResponse(DataContainer): - class ProducerState(DataContainer): - producer_id: int - producer_epoch: int - last_sequence: int - last_timestamp: int - coordinator_epoch: int - current_txn_start_offset: int - def __init__( - self, - *args, - producer_id: int = ..., - producer_epoch: int = ..., - last_sequence: int = ..., - last_timestamp: int = ..., - coordinator_epoch: int = ..., - current_txn_start_offset: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - partition_index: int - error_code: int - error_message: str | None - active_producers: list[ProducerState] - def __init__( - self, - *args, - partition_index: int = ..., - error_code: int = ..., - error_message: str | None = ..., - active_producers: list[ProducerState] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[PartitionResponse] - def __init__( - self, *args, name: str = ..., partitions: list[PartitionResponse] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - topics: list[TopicResponse] - def __init__( - self, *args, throttle_time_ms: int = ..., topics: list[TopicResponse] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -__all__ = [ - "ListTransactionsRequest", - "ListTransactionsResponse", - "DescribeTransactionsRequest", - "DescribeTransactionsResponse", - "DescribeProducersRequest", - "DescribeProducersResponse", -] diff --git a/stubs/kafka-python/kafka/protocol/admin/users.pyi b/stubs/kafka-python/kafka/protocol/admin/users.pyi deleted file mode 100644 index 63309692837e..000000000000 --- a/stubs/kafka-python/kafka/protocol/admin/users.pyi +++ /dev/null @@ -1,202 +0,0 @@ -from _typeshed import Incomplete - -from kafka.protocol.api_data import ApiData -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer - -class AlterUserScramCredentialsRequest(ApiMessage): - class ScramCredentialDeletion(DataContainer): - name: str - mechanism: int - def __init__(self, *args, name: str = ..., mechanism: int = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class ScramCredentialUpsertion(DataContainer): - name: str - mechanism: int - iterations: int - salt: bytes | ApiData - salted_password: bytes | ApiData - def __init__( - self, - *args, - name: str = ..., - mechanism: int = ..., - iterations: int = ..., - salt: bytes | ApiData = ..., - salted_password: bytes | ApiData = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - deletions: list[ScramCredentialDeletion] - upsertions: list[ScramCredentialUpsertion] - def __init__( - self, - *args, - deletions: list[ScramCredentialDeletion] = ..., - upsertions: list[ScramCredentialUpsertion] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class AlterUserScramCredentialsResponse(ApiMessage): - class AlterUserScramCredentialsResult(DataContainer): - user: str - error_code: int - error_message: str | None - def __init__( - self, - *args, - user: str = ..., - error_code: int = ..., - error_message: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - results: list[AlterUserScramCredentialsResult] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - results: list[AlterUserScramCredentialsResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeUserScramCredentialsRequest(ApiMessage): - class UserName(DataContainer): - name: str - def __init__(self, *args, name: str = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - users: list[UserName] | None - def __init__(self, *args, users: list[UserName] | None = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class DescribeUserScramCredentialsResponse(ApiMessage): - class DescribeUserScramCredentialsResult(DataContainer): - class CredentialInfo(DataContainer): - mechanism: int - iterations: int - def __init__( - self, *args, mechanism: int = ..., iterations: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - user: str - error_code: int - error_message: str | None - credential_infos: list[CredentialInfo] - def __init__( - self, - *args, - user: str = ..., - error_code: int = ..., - error_message: str | None = ..., - credential_infos: list[CredentialInfo] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - error_message: str | None - results: list[DescribeUserScramCredentialsResult] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - error_message: str | None = ..., - results: list[DescribeUserScramCredentialsResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -__all__ = [ - "AlterUserScramCredentialsRequest", - "AlterUserScramCredentialsResponse", - "DescribeUserScramCredentialsRequest", - "DescribeUserScramCredentialsResponse", -] diff --git a/stubs/kafka-python/kafka/protocol/api.pyi b/stubs/kafka-python/kafka/protocol/api.pyi new file mode 100644 index 000000000000..72634ee5ee15 --- /dev/null +++ b/stubs/kafka-python/kafka/protocol/api.pyi @@ -0,0 +1,37 @@ +import abc +from _typeshed import Incomplete + +from kafka.protocol.struct import Struct + +class RequestHeader(Struct): + SCHEMA: Incomplete + def __init__(self, request, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... + +class RequestHeaderV2(Struct): + SCHEMA: Incomplete + def __init__(self, request, correlation_id: int = 0, client_id: str = "kafka-python", tags=None) -> None: ... + +class ResponseHeader(Struct): + SCHEMA: Incomplete + +class ResponseHeaderV2(Struct): + SCHEMA: Incomplete + +class Request(Struct, metaclass=abc.ABCMeta): + FLEXIBLE_VERSION: bool + API_KEY: Incomplete + API_VERSION: Incomplete + SCHEMA: Incomplete + RESPONSE_TYPE: Incomplete + def expect_response(self): ... + def to_object(self): ... + def build_header(self, correlation_id, client_id): ... + +class Response(Struct, metaclass=abc.ABCMeta): + FLEXIBLE_VERSION: bool + API_KEY: Incomplete + API_VERSION: Incomplete + SCHEMA: Incomplete + def to_object(self): ... + @classmethod + def parse_header(cls, read_buffer): ... diff --git a/stubs/kafka-python/kafka/protocol/api_data.pyi b/stubs/kafka-python/kafka/protocol/api_data.pyi deleted file mode 100644 index b3606d6573cf..000000000000 --- a/stubs/kafka-python/kafka/protocol/api_data.pyi +++ /dev/null @@ -1,33 +0,0 @@ -from kafka.util import classproperty - -from .data_container import DataContainer, SlotsBuilder - -class JsonSchemaData(SlotsBuilder): - def __new__(metacls, name, bases, attrs, **kw): ... - def __init__(cls, name, bases, attrs, **kw) -> None: ... - -class ApiData(DataContainer, metaclass=JsonSchemaData): - def __init_subclass__(cls, **kw) -> None: ... - def __init__(self, *args, **kwargs) -> None: ... - @classproperty - def name(cls): ... - @classproperty - def type(cls): ... - @classproperty - def json(cls): ... - @classproperty - def valid_versions(cls): ... - @classproperty - def min_version(cls): ... - @classproperty - def max_version(cls): ... - @classmethod - def flexible_version_q(cls, version): ... - @classproperty - def header_class(cls): ... - def encode_header(self, flexible: bool = False): ... - @classmethod - def parse_header(cls, data): ... - def encode(self, version=None, header: bool = True, framed: bool = False) -> bytes: ... - @classmethod - def decode(cls, data, version=None, header: bool = True, framed: bool = False): ... # type: ignore[override] diff --git a/stubs/kafka-python/kafka/protocol/api_header.pyi b/stubs/kafka-python/kafka/protocol/api_header.pyi deleted file mode 100644 index 43156854fdbc..000000000000 --- a/stubs/kafka-python/kafka/protocol/api_header.pyi +++ /dev/null @@ -1,25 +0,0 @@ -from .api_data import JsonSchemaData -from .data_container import DataContainer - -class ApiHeader(DataContainer, metaclass=JsonSchemaData): - __slots__ = () - def __init_subclass__(cls, **kw) -> None: ... - def encode(self, flexible: bool = False): ... - def encode_into(self, out, flexible: bool = False) -> None: ... - @classmethod - def decode(cls, data, flexible: bool = False): ... # type: ignore[override] - -class ResponseClassRegistry: - @classmethod - def register_response_class(cls, response_class) -> None: ... - @classmethod - def get_response_class(cls, request_header): ... - -class RequestHeader(ApiHeader): - def get_response_class(self): ... - # TODO: Reflect client_id, correlation_id, request_api_key, request_api_version attributes - def __getattr__(self, name: str): ... # incomplete class - -class ResponseHeader(ApiHeader): - # TODO: Reflect correlation_id attribute - def __getattr__(self, name: str): ... # incomplete class diff --git a/stubs/kafka-python/kafka/protocol/api_key.pyi b/stubs/kafka-python/kafka/protocol/api_key.pyi deleted file mode 100644 index fa8d789777ce..000000000000 --- a/stubs/kafka-python/kafka/protocol/api_key.pyi +++ /dev/null @@ -1,96 +0,0 @@ -from enum import IntEnum - -class ApiKey(IntEnum): - Produce = 0 - Fetch = 1 - ListOffsets = 2 - Metadata = 3 - LeaderAndIsr = 4 - StopReplica = 5 - UpdateMetadata = 6 - ControlledShutdown = 7 - OffsetCommit = 8 - OffsetFetch = 9 - FindCoordinator = 10 - JoinGroup = 11 - Heartbeat = 12 - LeaveGroup = 13 - SyncGroup = 14 - DescribeGroups = 15 - ListGroups = 16 - SaslHandshake = 17 - ApiVersions = 18 - CreateTopics = 19 - DeleteTopics = 20 - DeleteRecords = 21 - InitProducerId = 22 - OffsetForLeaderEpoch = 23 - AddPartitionsToTxn = 24 - AddOffsetsToTxn = 25 - EndTxn = 26 - WriteTxnMarkers = 27 - TxnOffsetCommit = 28 - DescribeAcls = 29 - CreateAcls = 30 - DeleteAcls = 31 - DescribeConfigs = 32 - AlterConfigs = 33 - AlterReplicaLogDirs = 34 - DescribeLogDirs = 35 - SaslAuthenticate = 36 - CreatePartitions = 37 - CreateDelegationToken = 38 - RenewDelegationToken = 39 - ExpireDelegationToken = 40 - DescribeDelegationToken = 41 - DeleteGroups = 42 - ElectLeaders = 43 - IncrementalAlterConfigs = 44 - AlterPartitionReassignments = 45 - ListPartitionReassignments = 46 - OffsetDelete = 47 - DescribeClientQuotas = 48 - AlterClientQuotas = 49 - DescribeUserScramCredentials = 50 - AlterUserScramCredentials = 51 - Vote = 52 - BeginQuorumEpoch = 53 - EndQuorumEpoch = 54 - DescribeQuorum = 55 - AlterPartition = 56 - UpdateFeatures = 57 - Envelope = 58 - FetchSnapshot = 59 - DescribeCluster = 60 - DescribeProducers = 61 - BrokerRegistration = 62 - BrokerHeartbeat = 63 - UnregisterBroker = 64 - DescribeTransactions = 65 - ListTransactions = 66 - AllocateProducerIds = 67 - ConsumerGroupHeartbeat = 68 - ConsumerGroupDescribe = 69 - ControllerRegistration = 70 - GetTelemetrySubscriptions = 71 - PushTelemetry = 72 - AssignReplicasToDirs = 73 - ListConfigResources = 74 - DescribeTopicPartitions = 75 - ShareGroupHeartbeat = 76 - ShareGroupDescribe = 77 - ShareFetch = 78 - ShareAcknowledge = 79 - AddRaftVoter = 80 - RemoveRaftVoter = 81 - UpdateRaftVoter = 82 - InitializeShareGroupState = 83 - ReadShareGroupState = 84 - WriteShareGroupState = 85 - DeleteShareGroupState = 86 - ReadShareGroupStateSummary = 87 - StreamsGroupHeartbeat = 88 - StreamsGroupDescribe = 89 - DescribeShareGroupOffsets = 90 - AlterShareGroupOffsets = 91 - DeleteShareGroupOffsets = 92 diff --git a/stubs/kafka-python/kafka/protocol/api_message.pyi b/stubs/kafka-python/kafka/protocol/api_message.pyi deleted file mode 100644 index d5752eaccb31..000000000000 --- a/stubs/kafka-python/kafka/protocol/api_message.pyi +++ /dev/null @@ -1,60 +0,0 @@ -from typing_extensions import Self - -from kafka.util import classproperty - -from .api_data import JsonSchemaData -from .data_container import DataContainer - -class VersionSubscriptable(type): - def __init__(cls, name, bases, attrs, **kw) -> None: ... - def __getitem__(cls, version): ... - def __len__(cls): ... - -class ApiMessageData(VersionSubscriptable, JsonSchemaData): - def __init__(cls, name, bases, attrs, **kw) -> None: ... - -class ApiMessage(DataContainer, metaclass=ApiMessageData): - __slots__ = ("_header", "_min_version", "_max_version") - def __init_subclass__(cls, **kw) -> None: ... - def __new__(cls, *args, **kwargs) -> Self: ... - def __init__(self, *args, **kwargs) -> None: ... - @classproperty - def name(cls): ... - @classproperty - def type(cls): ... - @classproperty - def API_KEY(cls): ... - @classproperty - def json(cls): ... - @classproperty - def valid_versions(cls): ... - @classproperty - def min_version(cls): ... - @classproperty - def max_version(cls): ... - @classmethod - def flexible_version_q(cls, version) -> bool: ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self): ... - - @property - def API_VERSION(self): ... - @API_VERSION.setter - def API_VERSION(self, version): ... - - @property - def header(self): ... - @classproperty - def header_class(cls): ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - def encode_header(self, flexible: bool = False): ... - def encode_header_into(self, out, flexible: bool = False) -> None: ... - @classmethod - def parse_header(cls, data, version=None): ... - @classmethod - def encode_into__optimized_context(cls, version=None): ... - def encode(self, version=None, header: bool = False, framed: bool = False): ... - @classmethod - def decode(cls, data, version=None, header: bool = False, framed: bool = False): ... # type: ignore[override] - def __eq__(self, other) -> bool: ... diff --git a/stubs/kafka-python/kafka/protocol/old/api_versions.pyi b/stubs/kafka-python/kafka/protocol/api_versions.pyi similarity index 81% rename from stubs/kafka-python/kafka/protocol/old/api_versions.pyi rename to stubs/kafka-python/kafka/protocol/api_versions.pyi index d71419ac2134..2d1a480aba34 100644 --- a/stubs/kafka-python/kafka/protocol/old/api_versions.pyi +++ b/stubs/kafka-python/kafka/protocol/api_versions.pyi @@ -1,20 +1,18 @@ from _typeshed import Incomplete -from .api import Request, Response +from kafka.protocol.api import Request, Response class BaseApiVersionsResponse(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] @classmethod - def decode(cls, data, header: bool = False, framed: bool = False): ... + def decode(cls, data): ... class ApiVersionsResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class ApiVersionsResponse_v1(BaseApiVersionsResponse): API_KEY: int @@ -39,27 +37,32 @@ class ApiVersionsResponse_v4(BaseApiVersionsResponse): class ApiVersionsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ApiVersionsResponse_v0 SCHEMA: Incomplete class ApiVersionsRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ApiVersionsResponse_v1 SCHEMA: Incomplete class ApiVersionsRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ApiVersionsResponse_v2 SCHEMA: Incomplete class ApiVersionsRequest_v3(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ApiVersionsResponse_v3 SCHEMA: Incomplete FLEXIBLE_VERSION: bool class ApiVersionsRequest_v4(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ApiVersionsResponse_v4 SCHEMA: Incomplete FLEXIBLE_VERSION: bool diff --git a/stubs/kafka-python/kafka/protocol/broker_api_versions.pyi b/stubs/kafka-python/kafka/protocol/broker_api_versions.pyi new file mode 100644 index 000000000000..9a9a50c93d65 --- /dev/null +++ b/stubs/kafka-python/kafka/protocol/broker_api_versions.pyi @@ -0,0 +1,3 @@ +from _typeshed import Incomplete + +BROKER_API_VERSIONS: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/broker_version_data.pyi b/stubs/kafka-python/kafka/protocol/broker_version_data.pyi deleted file mode 100644 index 4bb36e298cec..000000000000 --- a/stubs/kafka-python/kafka/protocol/broker_version_data.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from _typeshed import Incomplete - -class BrokerVersionData: - __slots__ = ("broker_version", "api_versions") - broker_version: Incomplete - api_versions: Incomplete - def __init__(self, broker_version=None, api_versions=None) -> None: ... - def api_version(self, operation, min_version: int = 0, max_version: int = ...) -> int: ... - @property - def broker_version_str(self) -> str: ... - def __eq__(self, other) -> bool: ... - def __lt__(self, other) -> bool: ... - def __le__(self, other) -> bool: ... - def __gt__(self, other) -> bool: ... - def __ge__(self, other) -> bool: ... - -def infer_broker_version_from_api_versions(api_versions): ... - -VERSION_CHECKS: tuple[tuple[tuple[int, ...], Incomplete], ...] -BROKER_API_VERSIONS: dict[tuple[int, ...], dict[int, tuple[int, ...]]] diff --git a/stubs/kafka-python/kafka/protocol/old/commit.pyi b/stubs/kafka-python/kafka/protocol/commit.pyi similarity index 82% rename from stubs/kafka-python/kafka/protocol/old/commit.pyi rename to stubs/kafka-python/kafka/protocol/commit.pyi index f3bf34359f36..1d3c08d81410 100644 --- a/stubs/kafka-python/kafka/protocol/old/commit.pyi +++ b/stubs/kafka-python/kafka/protocol/commit.pyi @@ -1,6 +1,6 @@ from _typeshed import Incomplete -from .api import Request, Response +from kafka.protocol.api import Request, Response class OffsetCommitResponse_v0(Response): API_KEY: int @@ -45,53 +45,53 @@ class OffsetCommitResponse_v7(Response): class OffsetCommitRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetCommitResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class OffsetCommitRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetCommitResponse_v1 SCHEMA: Incomplete - ALIASES: dict[str, str] class OffsetCommitRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetCommitResponse_v2 SCHEMA: Incomplete DEFAULT_RETENTION_TIME: int - ALIASES: dict[str, str] class OffsetCommitRequest_v3(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetCommitResponse_v3 SCHEMA: Incomplete DEFAULT_RETENTION_TIME: int - ALIASES: dict[str, str] class OffsetCommitRequest_v4(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetCommitResponse_v4 SCHEMA: Incomplete DEFAULT_RETENTION_TIME: int - ALIASES: dict[str, str] class OffsetCommitRequest_v5(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetCommitResponse_v5 SCHEMA: Incomplete - ALIASES: dict[str, str] class OffsetCommitRequest_v6(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetCommitResponse_v6 SCHEMA: Incomplete - ALIASES: dict[str, str] class OffsetCommitRequest_v7(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetCommitResponse_v7 SCHEMA: Incomplete - ALIASES: dict[str, str] OffsetCommitRequest: Incomplete OffsetCommitResponse: Incomplete @@ -129,38 +129,38 @@ class OffsetFetchResponse_v5(Response): class OffsetFetchRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetFetchResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class OffsetFetchRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetFetchResponse_v1 SCHEMA: Incomplete - ALIASES: dict[str, str] class OffsetFetchRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetFetchResponse_v2 SCHEMA: Incomplete - ALIASES: dict[str, str] class OffsetFetchRequest_v3(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetFetchResponse_v3 SCHEMA: Incomplete - ALIASES: dict[str, str] class OffsetFetchRequest_v4(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetFetchResponse_v4 SCHEMA: Incomplete - ALIASES: dict[str, str] class OffsetFetchRequest_v5(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetFetchResponse_v5 SCHEMA: Incomplete - ALIASES: dict[str, str] OffsetFetchRequest: Incomplete OffsetFetchResponse: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/consumer/__init__.pyi b/stubs/kafka-python/kafka/protocol/consumer/__init__.pyi deleted file mode 100644 index cb63f963b18c..000000000000 --- a/stubs/kafka-python/kafka/protocol/consumer/__init__.pyi +++ /dev/null @@ -1,37 +0,0 @@ -from .fetch import * -from .group import * -from .metadata import * -from .offsets import * - -__all__ = [ - "FetchRequest", - "FetchResponse", - "DEFAULT_GENERATION_ID", - "UNKNOWN_MEMBER_ID", - "JoinGroupRequest", - "JoinGroupResponse", - "SyncGroupRequest", - "SyncGroupResponse", - "LeaveGroupRequest", - "LeaveGroupResponse", - "HeartbeatRequest", - "HeartbeatResponse", - "OffsetFetchRequest", - "OffsetFetchResponse", - "OffsetCommitRequest", - "OffsetCommitResponse", - "OffsetDeleteRequest", - "OffsetDeleteResponse", - "ConsumerProtocolSubscription", - "ConsumerProtocolAssignment", - "ConsumerProtocolType", - "UNKNOWN_OFFSET", - "OffsetResetStrategy", - "IsolationLevel", - "OffsetSpec", - "OffsetTimestamp", - "ListOffsetsRequest", - "ListOffsetsResponse", - "OffsetForLeaderEpochRequest", - "OffsetForLeaderEpochResponse", -] diff --git a/stubs/kafka-python/kafka/protocol/consumer/fetch.pyi b/stubs/kafka-python/kafka/protocol/consumer/fetch.pyi deleted file mode 100644 index 888cbcb47355..000000000000 --- a/stubs/kafka-python/kafka/protocol/consumer/fetch.pyi +++ /dev/null @@ -1,272 +0,0 @@ -import uuid -from _typeshed import Incomplete - -from kafka.protocol.api_data import ApiData -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer - -class FetchRequest(ApiMessage): - class ReplicaState(DataContainer): - replica_id: int - replica_epoch: int - def __init__( - self, *args, replica_id: int = ..., replica_epoch: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class FetchTopic(DataContainer): - class FetchPartition(DataContainer): - partition: int - current_leader_epoch: int - fetch_offset: int - last_fetched_epoch: int - log_start_offset: int - partition_max_bytes: int - replica_directory_id: uuid.UUID - high_watermark: int - def __init__( - self, - *args, - partition: int = ..., - current_leader_epoch: int = ..., - fetch_offset: int = ..., - last_fetched_epoch: int = ..., - log_start_offset: int = ..., - partition_max_bytes: int = ..., - replica_directory_id: uuid.UUID = ..., - high_watermark: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topic: str - topic_id: uuid.UUID - partitions: list[FetchPartition] - def __init__( - self, - *args, - topic: str = ..., - topic_id: uuid.UUID = ..., - partitions: list[FetchPartition] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class ForgottenTopic(DataContainer): - topic: str - topic_id: uuid.UUID - partitions: list[int] - def __init__( - self, - *args, - topic: str = ..., - topic_id: uuid.UUID = ..., - partitions: list[int] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - cluster_id: str | None - replica_id: int - replica_state: ReplicaState - max_wait_ms: int - min_bytes: int - max_bytes: int - isolation_level: int - session_id: int - session_epoch: int - topics: list[FetchTopic] - forgotten_topics_data: list[ForgottenTopic] - rack_id: str - def __init__( - self, - *args, - cluster_id: str | None = ..., - replica_id: int = ..., - replica_state: ReplicaState = ..., - max_wait_ms: int = ..., - min_bytes: int = ..., - max_bytes: int = ..., - isolation_level: int = ..., - session_id: int = ..., - session_epoch: int = ..., - topics: list[FetchTopic] = ..., - forgotten_topics_data: list[ForgottenTopic] = ..., - rack_id: str = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - @classmethod - def min_version_for_isolation_level(cls, il): ... - -class FetchResponse(ApiMessage): - class FetchableTopicResponse(DataContainer): - class PartitionData(DataContainer): - class EpochEndOffset(DataContainer): - epoch: int - end_offset: int - def __init__( - self, *args, epoch: int = ..., end_offset: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class LeaderIdAndEpoch(DataContainer): - leader_id: int - leader_epoch: int - def __init__( - self, *args, leader_id: int = ..., leader_epoch: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class SnapshotId(DataContainer): - end_offset: int - epoch: int - def __init__( - self, *args, end_offset: int = ..., epoch: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class AbortedTransaction(DataContainer): - producer_id: int - first_offset: int - def __init__( - self, *args, producer_id: int = ..., first_offset: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - partition_index: int - error_code: int - high_watermark: int - last_stable_offset: int - log_start_offset: int - diverging_epoch: EpochEndOffset - current_leader: LeaderIdAndEpoch - snapshot_id: SnapshotId - aborted_transactions: list[AbortedTransaction] | None - preferred_read_replica: int - records: bytes | ApiData | None - def __init__( - self, - *args, - partition_index: int = ..., - error_code: int = ..., - high_watermark: int = ..., - last_stable_offset: int = ..., - log_start_offset: int = ..., - diverging_epoch: EpochEndOffset = ..., - current_leader: LeaderIdAndEpoch = ..., - snapshot_id: SnapshotId = ..., - aborted_transactions: list[AbortedTransaction] | None = ..., - preferred_read_replica: int = ..., - records: bytes | ApiData | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topic: str - topic_id: uuid.UUID - partitions: list[PartitionData] - def __init__( - self, - *args, - topic: str = ..., - topic_id: uuid.UUID = ..., - partitions: list[PartitionData] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class NodeEndpoint(DataContainer): - node_id: int - host: str - port: int - rack: str | None - def __init__( - self, - *args, - node_id: int = ..., - host: str = ..., - port: int = ..., - rack: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - session_id: int - responses: list[FetchableTopicResponse] - node_endpoints: list[NodeEndpoint] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - session_id: int = ..., - responses: list[FetchableTopicResponse] = ..., - node_endpoints: list[NodeEndpoint] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -__all__ = ["FetchRequest", "FetchResponse"] diff --git a/stubs/kafka-python/kafka/protocol/consumer/group.pyi b/stubs/kafka-python/kafka/protocol/consumer/group.pyi deleted file mode 100644 index afba3210444c..000000000000 --- a/stubs/kafka-python/kafka/protocol/consumer/group.pyi +++ /dev/null @@ -1,799 +0,0 @@ -import uuid -from _typeshed import Incomplete -from typing import Final - -from kafka.protocol.api_data import ApiData -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer - -DEFAULT_GENERATION_ID: Final = -1 -UNKNOWN_MEMBER_ID: Final = "" - -class JoinGroupRequest(ApiMessage): - class JoinGroupRequestProtocol(DataContainer): - name: str - metadata: bytes | ApiData - def __init__( - self, *args, name: str = ..., metadata: bytes | ApiData = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - group_id: str - session_timeout_ms: int - rebalance_timeout_ms: int - member_id: str - group_instance_id: str | None - protocol_type: str - protocols: list[JoinGroupRequestProtocol] - reason: str | None - def __init__( - self, - *args, - group_id: str = ..., - session_timeout_ms: int = ..., - rebalance_timeout_ms: int = ..., - member_id: str = ..., - group_instance_id: str | None = ..., - protocol_type: str = ..., - protocols: list[JoinGroupRequestProtocol] = ..., - reason: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class JoinGroupResponse(ApiMessage): - class JoinGroupResponseMember(DataContainer): - member_id: str - group_instance_id: str | None - metadata: bytes | ApiData - def __init__( - self, - *args, - member_id: str = ..., - group_instance_id: str | None = ..., - metadata: bytes | ApiData = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - generation_id: int - protocol_type: str | None - protocol_name: str | None - leader: str - skip_assignment: bool - member_id: str - members: list[JoinGroupResponseMember] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - generation_id: int = ..., - protocol_type: str | None = ..., - protocol_name: str | None = ..., - leader: str = ..., - skip_assignment: bool = ..., - member_id: str = ..., - members: list[JoinGroupResponseMember] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class SyncGroupRequest(ApiMessage): - class SyncGroupRequestAssignment(DataContainer): - member_id: str - assignment: bytes | ApiData - def __init__( - self, *args, member_id: str = ..., assignment: bytes | ApiData = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - group_id: str - generation_id: int - member_id: str - group_instance_id: str | None - protocol_type: str | None - protocol_name: str | None - assignments: list[SyncGroupRequestAssignment] - def __init__( - self, - *args, - group_id: str = ..., - generation_id: int = ..., - member_id: str = ..., - group_instance_id: str | None = ..., - protocol_type: str | None = ..., - protocol_name: str | None = ..., - assignments: list[SyncGroupRequestAssignment] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class SyncGroupResponse(ApiMessage): - throttle_time_ms: int - error_code: int - protocol_type: str | None - protocol_name: str | None - assignment: bytes | ApiData - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - protocol_type: str | None = ..., - protocol_name: str | None = ..., - assignment: bytes | ApiData = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class LeaveGroupRequest(ApiMessage): - class MemberIdentity(DataContainer): - member_id: str - group_instance_id: str | None - reason: str | None - def __init__( - self, - *args, - member_id: str = ..., - group_instance_id: str | None = ..., - reason: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - group_id: str - member_id: str - members: list[MemberIdentity] - def __init__( - self, - *args, - group_id: str = ..., - member_id: str = ..., - members: list[MemberIdentity] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class LeaveGroupResponse(ApiMessage): - class MemberResponse(DataContainer): - member_id: str - group_instance_id: str | None - error_code: int - def __init__( - self, - *args, - member_id: str = ..., - group_instance_id: str | None = ..., - error_code: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - members: list[MemberResponse] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - members: list[MemberResponse] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class HeartbeatRequest(ApiMessage): - group_id: str - generation_id: int - member_id: str - group_instance_id: str | None - def __init__( - self, - *args, - group_id: str = ..., - generation_id: int = ..., - member_id: str = ..., - group_instance_id: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class HeartbeatResponse(ApiMessage): - throttle_time_ms: int - error_code: int - def __init__( - self, *args, throttle_time_ms: int = ..., error_code: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class OffsetFetchRequest(ApiMessage): - class OffsetFetchRequestTopic(DataContainer): - name: str - partition_indexes: list[int] - def __init__( - self, *args, name: str = ..., partition_indexes: list[int] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class OffsetFetchRequestGroup(DataContainer): - class OffsetFetchRequestTopics(DataContainer): - name: str - topic_id: uuid.UUID - partition_indexes: list[int] - def __init__( - self, - *args, - name: str = ..., - topic_id: uuid.UUID = ..., - partition_indexes: list[int] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - group_id: str - member_id: str | None - member_epoch: int - topics: list[OffsetFetchRequestTopics] | None - def __init__( - self, - *args, - group_id: str = ..., - member_id: str | None = ..., - member_epoch: int = ..., - topics: list[OffsetFetchRequestTopics] | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - group_id: str - topics: list[OffsetFetchRequestTopic] | None - groups: list[OffsetFetchRequestGroup] - require_stable: bool - def __init__( - self, - *args, - group_id: str = ..., - topics: list[OffsetFetchRequestTopic] | None = ..., - groups: list[OffsetFetchRequestGroup] = ..., - require_stable: bool = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class OffsetFetchResponse(ApiMessage): - class OffsetFetchResponseTopic(DataContainer): - class OffsetFetchResponsePartition(DataContainer): - partition_index: int - committed_offset: int - committed_leader_epoch: int - metadata: str | None - error_code: int - def __init__( - self, - *args, - partition_index: int = ..., - committed_offset: int = ..., - committed_leader_epoch: int = ..., - metadata: str | None = ..., - error_code: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[OffsetFetchResponsePartition] - def __init__( - self, - *args, - name: str = ..., - partitions: list[OffsetFetchResponsePartition] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class OffsetFetchResponseGroup(DataContainer): - class OffsetFetchResponseTopics(DataContainer): - class OffsetFetchResponsePartitions(DataContainer): - partition_index: int - committed_offset: int - committed_leader_epoch: int - metadata: str | None - error_code: int - def __init__( - self, - *args, - partition_index: int = ..., - committed_offset: int = ..., - committed_leader_epoch: int = ..., - metadata: str | None = ..., - error_code: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - topic_id: uuid.UUID - partitions: list[OffsetFetchResponsePartitions] - def __init__( - self, - *args, - name: str = ..., - topic_id: uuid.UUID = ..., - partitions: list[OffsetFetchResponsePartitions] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - group_id: str - topics: list[OffsetFetchResponseTopics] - error_code: int - def __init__( - self, - *args, - group_id: str = ..., - topics: list[OffsetFetchResponseTopics] = ..., - error_code: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - topics: list[OffsetFetchResponseTopic] - error_code: int - groups: list[OffsetFetchResponseGroup] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - topics: list[OffsetFetchResponseTopic] = ..., - error_code: int = ..., - groups: list[OffsetFetchResponseGroup] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class OffsetCommitRequest(ApiMessage): - class OffsetCommitRequestTopic(DataContainer): - class OffsetCommitRequestPartition(DataContainer): - partition_index: int - committed_offset: int - committed_leader_epoch: int - commit_timestamp: int - committed_metadata: str | None - def __init__( - self, - *args, - partition_index: int = ..., - committed_offset: int = ..., - committed_leader_epoch: int = ..., - commit_timestamp: int = ..., - committed_metadata: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - topic_id: uuid.UUID - partitions: list[OffsetCommitRequestPartition] - def __init__( - self, - *args, - name: str = ..., - topic_id: uuid.UUID = ..., - partitions: list[OffsetCommitRequestPartition] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - group_id: str - generation_id_or_member_epoch: int - member_id: str - group_instance_id: str | None - retention_time_ms: int - topics: list[OffsetCommitRequestTopic] - def __init__( - self, - *args, - group_id: str = ..., - generation_id_or_member_epoch: int = ..., - member_id: str = ..., - group_instance_id: str | None = ..., - retention_time_ms: int = ..., - topics: list[OffsetCommitRequestTopic] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class OffsetCommitResponse(ApiMessage): - class OffsetCommitResponseTopic(DataContainer): - class OffsetCommitResponsePartition(DataContainer): - partition_index: int - error_code: int - def __init__( - self, *args, partition_index: int = ..., error_code: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - topic_id: uuid.UUID - partitions: list[OffsetCommitResponsePartition] - def __init__( - self, - *args, - name: str = ..., - topic_id: uuid.UUID = ..., - partitions: list[OffsetCommitResponsePartition] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - topics: list[OffsetCommitResponseTopic] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - topics: list[OffsetCommitResponseTopic] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class OffsetDeleteRequest(ApiMessage): - class OffsetDeleteRequestTopic(DataContainer): - class OffsetDeleteRequestPartition(DataContainer): - partition_index: int - def __init__(self, *args, partition_index: int = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[OffsetDeleteRequestPartition] - def __init__( - self, - *args, - name: str = ..., - partitions: list[OffsetDeleteRequestPartition] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - group_id: str - topics: list[OffsetDeleteRequestTopic] - def __init__( - self, *args, group_id: str = ..., topics: list[OffsetDeleteRequestTopic] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class OffsetDeleteResponse(ApiMessage): - class OffsetDeleteResponseTopic(DataContainer): - class OffsetDeleteResponsePartition(DataContainer): - partition_index: int - error_code: int - def __init__( - self, *args, partition_index: int = ..., error_code: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[OffsetDeleteResponsePartition] - def __init__( - self, - *args, - name: str = ..., - partitions: list[OffsetDeleteResponsePartition] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - error_code: int - throttle_time_ms: int - topics: list[OffsetDeleteResponseTopic] - def __init__( - self, - *args, - error_code: int = ..., - throttle_time_ms: int = ..., - topics: list[OffsetDeleteResponseTopic] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -__all__ = [ - "DEFAULT_GENERATION_ID", - "UNKNOWN_MEMBER_ID", - "JoinGroupRequest", - "JoinGroupResponse", - "SyncGroupRequest", - "SyncGroupResponse", - "LeaveGroupRequest", - "LeaveGroupResponse", - "HeartbeatRequest", - "HeartbeatResponse", - "OffsetFetchRequest", - "OffsetFetchResponse", - "OffsetCommitRequest", - "OffsetCommitResponse", - "OffsetDeleteRequest", - "OffsetDeleteResponse", -] diff --git a/stubs/kafka-python/kafka/protocol/consumer/metadata.pyi b/stubs/kafka-python/kafka/protocol/consumer/metadata.pyi deleted file mode 100644 index 15d899effc4b..000000000000 --- a/stubs/kafka-python/kafka/protocol/consumer/metadata.pyi +++ /dev/null @@ -1,82 +0,0 @@ -from _typeshed import Incomplete -from typing import Final - -from kafka.protocol.api_data import ApiData -from kafka.protocol.data_container import DataContainer - -ConsumerProtocolType: Final = "consumer" - -class ConsumerProtocolSubscription(ApiData): - class TopicPartition(DataContainer): - topic: str - partitions: list[int] - def __init__( - self, *args, topic: str = ..., partitions: list[int] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topics: list[str] - user_data: bytes | ApiData | None - owned_partitions: list[TopicPartition] - generation_id: int - rack_id: str | None - def __init__( - self, - *args, - topics: list[str] = ..., - user_data: bytes | ApiData | None = ..., - owned_partitions: list[TopicPartition] = ..., - generation_id: int = ..., - rack_id: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - valid_versions: tuple[int, int] - min_version: int - max_version: int - -class ConsumerProtocolAssignment(ApiData): - class TopicPartition(DataContainer): - topic: str - partitions: list[int] - def __init__( - self, *args, topic: str = ..., partitions: list[int] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - assigned_partitions: list[TopicPartition] - user_data: bytes | ApiData | None - def __init__( - self, - *args, - assigned_partitions: list[TopicPartition] = ..., - user_data: bytes | ApiData | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - valid_versions: tuple[int, int] - min_version: int - max_version: int - - @property - def assignment(self) -> list[TopicPartition]: ... - @assignment.setter - def assignment(self, value: list[TopicPartition]) -> None: ... - - def partitions(self) -> list[TopicPartition]: ... - -__all__ = ["ConsumerProtocolSubscription", "ConsumerProtocolAssignment", "ConsumerProtocolType"] diff --git a/stubs/kafka-python/kafka/protocol/consumer/offsets.pyi b/stubs/kafka-python/kafka/protocol/consumer/offsets.pyi deleted file mode 100644 index 472c68ce8414..000000000000 --- a/stubs/kafka-python/kafka/protocol/consumer/offsets.pyi +++ /dev/null @@ -1,278 +0,0 @@ -from _typeshed import Incomplete -from enum import IntEnum -from typing import Final - -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer -from kafka.util import EnumHelper - -UNKNOWN_OFFSET: Final = -1 - -class OffsetResetStrategy: - LATEST: Final = -1 - EARLIEST: Final = -2 - NONE: Final = 0 - -class IsolationLevel(EnumHelper, IntEnum): - READ_UNCOMMITTED = 0 - READ_COMMITTED = 1 - -class OffsetSpec(EnumHelper, IntEnum): - LATEST = -1 - EARLIEST = -2 - MAX_TIMESTAMP = -3 - EARLIEST_LOCAL = -4 - LATEST_TIERED = -5 - -class OffsetTimestamp(int): - __slots__ = () - -class ListOffsetsRequest(ApiMessage): - class ListOffsetsTopic(DataContainer): - class ListOffsetsPartition(DataContainer): - partition_index: int - current_leader_epoch: int - timestamp: int - max_num_offsets: int - def __init__( - self, - *args, - partition_index: int = ..., - current_leader_epoch: int = ..., - timestamp: int = ..., - max_num_offsets: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[ListOffsetsPartition] - def __init__( - self, *args, name: str = ..., partitions: list[ListOffsetsPartition] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - replica_id: int - isolation_level: int - topics: list[ListOffsetsTopic] - timeout_ms: int - def __init__( - self, - *args, - replica_id: int = ..., - isolation_level: int = ..., - topics: list[ListOffsetsTopic] = ..., - timeout_ms: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - @classmethod - def min_version_for_timestamp(cls, ts): ... - @classmethod - def min_version_for_isolation_level(cls, il): ... - -class ListOffsetsResponse(ApiMessage): - class ListOffsetsTopicResponse(DataContainer): - class ListOffsetsPartitionResponse(DataContainer): - partition_index: int - error_code: int - old_style_offsets: list[int] - timestamp: int - offset: int - leader_epoch: int - def __init__( - self, - *args, - partition_index: int = ..., - error_code: int = ..., - old_style_offsets: list[int] = ..., - timestamp: int = ..., - offset: int = ..., - leader_epoch: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[ListOffsetsPartitionResponse] - def __init__( - self, - *args, - name: str = ..., - partitions: list[ListOffsetsPartitionResponse] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - topics: list[ListOffsetsTopicResponse] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - topics: list[ListOffsetsTopicResponse] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class OffsetForLeaderEpochRequest(ApiMessage): - class OffsetForLeaderTopic(DataContainer): - class OffsetForLeaderPartition(DataContainer): - partition: int - current_leader_epoch: int - leader_epoch: int - def __init__( - self, - *args, - partition: int = ..., - current_leader_epoch: int = ..., - leader_epoch: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topic: str - partitions: list[OffsetForLeaderPartition] - def __init__( - self, *args, topic: str = ..., partitions: list[OffsetForLeaderPartition] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - replica_id: int - topics: list[OffsetForLeaderTopic] - def __init__( - self, *args, replica_id: int = ..., topics: list[OffsetForLeaderTopic] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class OffsetForLeaderEpochResponse(ApiMessage): - class OffsetForLeaderTopicResult(DataContainer): - class EpochEndOffset(DataContainer): - error_code: int - partition: int - leader_epoch: int - end_offset: int - def __init__( - self, - *args, - error_code: int = ..., - partition: int = ..., - leader_epoch: int = ..., - end_offset: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topic: str - partitions: list[EpochEndOffset] - def __init__( - self, *args, topic: str = ..., partitions: list[EpochEndOffset] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - topics: list[OffsetForLeaderTopicResult] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - topics: list[OffsetForLeaderTopicResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -__all__ = [ - "UNKNOWN_OFFSET", - "OffsetResetStrategy", - "IsolationLevel", - "OffsetSpec", - "OffsetTimestamp", - "ListOffsetsRequest", - "ListOffsetsResponse", - "OffsetForLeaderEpochRequest", - "OffsetForLeaderEpochResponse", -] diff --git a/stubs/kafka-python/kafka/protocol/data_container.pyi b/stubs/kafka-python/kafka/protocol/data_container.pyi deleted file mode 100644 index 0abd4d7706d8..000000000000 --- a/stubs/kafka-python/kafka/protocol/data_container.pyi +++ /dev/null @@ -1,27 +0,0 @@ -from _typeshed import Incomplete -from collections.abc import Iterator - -from kafka.util import classproperty - -class SlotsBuilder(type): - def __new__(metacls, name, bases, attrs, **kw): ... - -class DataContainer(metaclass=SlotsBuilder): - __slots__ = ("tags", "unknown_tags", "_version") - def __init_subclass__(cls, **kwargs) -> None: ... - tags: set[Incomplete] | None - unknown_tags: dict[str, Incomplete] | None - def __init__(self, *args, version=None, **field_vals) -> None: ... - def __getattr__(self, name): ... - @property - def version(self): ... - def encode(self, *args, **kwargs): ... - def encode_into(self, out, *args, **kwargs) -> None: ... - @classmethod - def decode(cls, data, **kwargs): ... - @classproperty - def fields(cls): ... - def __eq__(self, other) -> bool: ... - def __iter__(self) -> Iterator[Incomplete]: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - def __getitem__(self, key: int | slice): ... diff --git a/stubs/kafka-python/kafka/protocol/old/end_txn.pyi b/stubs/kafka-python/kafka/protocol/end_txn.pyi similarity index 80% rename from stubs/kafka-python/kafka/protocol/old/end_txn.pyi rename to stubs/kafka-python/kafka/protocol/end_txn.pyi index 541f89bfb43e..07ba52aa0f26 100644 --- a/stubs/kafka-python/kafka/protocol/old/end_txn.pyi +++ b/stubs/kafka-python/kafka/protocol/end_txn.pyi @@ -1,6 +1,6 @@ from _typeshed import Incomplete -from .api import Request, Response +from kafka.protocol.api import Request, Response class EndTxnResponse_v0(Response): API_KEY: int @@ -20,16 +20,19 @@ class EndTxnResponse_v2(Response): class EndTxnRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = EndTxnResponse_v0 SCHEMA: Incomplete class EndTxnRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = EndTxnResponse_v1 SCHEMA: Incomplete class EndTxnRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = EndTxnResponse_v2 SCHEMA: Incomplete EndTxnRequest: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/old/fetch.pyi b/stubs/kafka-python/kafka/protocol/fetch.pyi similarity index 77% rename from stubs/kafka-python/kafka/protocol/old/fetch.pyi rename to stubs/kafka-python/kafka/protocol/fetch.pyi index f5eed746b22d..e110f1557fcc 100644 --- a/stubs/kafka-python/kafka/protocol/old/fetch.pyi +++ b/stubs/kafka-python/kafka/protocol/fetch.pyi @@ -1,7 +1,7 @@ from _typeshed import Incomplete from typing import NamedTuple -from .api import Request, Response +from kafka.protocol.api import Request, Response class AbortedTransaction(NamedTuple): producer_id: Incomplete @@ -11,145 +11,133 @@ class FetchResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchResponse_v2(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchResponse_v3(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchResponse_v4(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchResponse_v5(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchResponse_v6(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchResponse_v7(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchResponse_v8(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchResponse_v9(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchResponse_v10(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchResponse_v11(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FetchResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FetchResponse_v1 SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FetchResponse_v2 SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchRequest_v3(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FetchResponse_v3 SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchRequest_v4(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FetchResponse_v4 SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchRequest_v5(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FetchResponse_v5 SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchRequest_v6(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FetchResponse_v6 SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchRequest_v7(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FetchResponse_v7 SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchRequest_v8(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FetchResponse_v8 SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchRequest_v9(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FetchResponse_v9 SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchRequest_v10(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FetchResponse_v10 SCHEMA: Incomplete - ALIASES: dict[str, str] class FetchRequest_v11(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FetchResponse_v11 SCHEMA: Incomplete - ALIASES: dict[str, str] FetchRequest: Incomplete FetchResponse: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/old/find_coordinator.pyi b/stubs/kafka-python/kafka/protocol/find_coordinator.pyi similarity index 78% rename from stubs/kafka-python/kafka/protocol/old/find_coordinator.pyi rename to stubs/kafka-python/kafka/protocol/find_coordinator.pyi index 8e46974cc93a..bd121a8d50ab 100644 --- a/stubs/kafka-python/kafka/protocol/old/find_coordinator.pyi +++ b/stubs/kafka-python/kafka/protocol/find_coordinator.pyi @@ -1,42 +1,39 @@ from _typeshed import Incomplete -from .api import Request, Response +from kafka.protocol.api import Request, Response class FindCoordinatorResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FindCoordinatorResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FindCoordinatorResponse_v2(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class FindCoordinatorRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FindCoordinatorResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class FindCoordinatorRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FindCoordinatorResponse_v1 SCHEMA: Incomplete - ALIASES: dict[str, str] class FindCoordinatorRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = FindCoordinatorResponse_v2 SCHEMA: Incomplete - ALIASES: dict[str, str] FindCoordinatorRequest: Incomplete FindCoordinatorResponse: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/generate_stubs.pyi b/stubs/kafka-python/kafka/protocol/generate_stubs.pyi deleted file mode 100644 index 367f85525b68..000000000000 --- a/stubs/kafka-python/kafka/protocol/generate_stubs.pyi +++ /dev/null @@ -1,12 +0,0 @@ -from _typeshed import Incomplete -from types import ModuleType -from typing import Final - -SIMPLE_TYPE_MAP: Final[dict[str, str]] -MESSAGE_MODULES: Final[list[str]] - -def resolve_type(field: object) -> str: ... -def emit_class(cls: type, indent: int = 0, base_name: str | None = None) -> list[str]: ... -def discover_modules() -> dict[str, tuple[ModuleType, list[tuple[str, Incomplete]]]]: ... -def generate_module(mod, exports) -> str: ... -def generate_all(dry_run: bool = False, check: bool = False) -> bool: ... diff --git a/stubs/kafka-python/kafka/protocol/old/group.pyi b/stubs/kafka-python/kafka/protocol/group.pyi similarity index 80% rename from stubs/kafka-python/kafka/protocol/old/group.pyi rename to stubs/kafka-python/kafka/protocol/group.pyi index 010931be6a9b..8cfd38e655a3 100644 --- a/stubs/kafka-python/kafka/protocol/old/group.pyi +++ b/stubs/kafka-python/kafka/protocol/group.pyi @@ -1,88 +1,82 @@ from _typeshed import Incomplete -from typing import Final, NamedTuple +from typing import NamedTuple -from .api import Request, Response -from .struct import Struct +from kafka.protocol.api import Request, Response +from kafka.protocol.struct import Struct -DEFAULT_GENERATION_ID: Final = -1 -UNKNOWN_MEMBER_ID: Final = "" +DEFAULT_GENERATION_ID: int +UNKNOWN_MEMBER_ID: str class GroupMember(NamedTuple): member_id: Incomplete = ... group_instance_id: Incomplete = ... - metadata: Incomplete = ... + metadata_bytes: Incomplete = ... class JoinGroupResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class JoinGroupResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class JoinGroupResponse_v2(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class JoinGroupResponse_v3(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class JoinGroupResponse_v4(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class JoinGroupResponse_v5(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class JoinGroupRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = JoinGroupResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class JoinGroupRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = JoinGroupResponse_v1 SCHEMA: Incomplete - ALIASES: dict[str, str] class JoinGroupRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = JoinGroupResponse_v2 SCHEMA: Incomplete - ALIASES: dict[str, str] class JoinGroupRequest_v3(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = JoinGroupResponse_v3 SCHEMA: Incomplete - ALIASES: dict[str, str] class JoinGroupRequest_v4(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = JoinGroupResponse_v4 SCHEMA: Incomplete - ALIASES: dict[str, str] class JoinGroupRequest_v5(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = JoinGroupResponse_v5 SCHEMA: Incomplete - ALIASES: dict[str, str] JoinGroupRequest: Incomplete JoinGroupResponse: Incomplete @@ -94,49 +88,45 @@ class SyncGroupResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class SyncGroupResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class SyncGroupResponse_v2(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class SyncGroupResponse_v3(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class SyncGroupRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = SyncGroupResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class SyncGroupRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = SyncGroupResponse_v1 SCHEMA: Incomplete - ALIASES: dict[str, str] class SyncGroupRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = SyncGroupResponse_v2 SCHEMA: Incomplete - ALIASES: dict[str, str] class SyncGroupRequest_v3(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = SyncGroupResponse_v3 SCHEMA: Incomplete - ALIASES: dict[str, str] SyncGroupRequest: Incomplete SyncGroupResponse: Incomplete @@ -167,26 +157,26 @@ class HeartbeatResponse_v3(Response): class HeartbeatRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = HeartbeatResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class HeartbeatRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = HeartbeatResponse_v1 SCHEMA: Incomplete - ALIASES: dict[str, str] class HeartbeatRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = HeartbeatResponse_v2 SCHEMA: Incomplete - ALIASES: dict[str, str] class HeartbeatRequest_v3(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = HeartbeatResponse_v3 SCHEMA: Incomplete - ALIASES: dict[str, str] HeartbeatRequest: Incomplete HeartbeatResponse: Incomplete @@ -214,26 +204,26 @@ class LeaveGroupResponse_v3(Response): class LeaveGroupRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = LeaveGroupResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class LeaveGroupRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = LeaveGroupResponse_v1 SCHEMA: Incomplete - ALIASES: dict[str, str] class LeaveGroupRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = LeaveGroupResponse_v2 SCHEMA: Incomplete - ALIASES: dict[str, str] class LeaveGroupRequest_v3(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = LeaveGroupResponse_v3 SCHEMA: Incomplete - ALIASES: dict[str, str] LeaveGroupRequest: Incomplete LeaveGroupResponse: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/old/init_producer_id.pyi b/stubs/kafka-python/kafka/protocol/init_producer_id.pyi similarity index 78% rename from stubs/kafka-python/kafka/protocol/old/init_producer_id.pyi rename to stubs/kafka-python/kafka/protocol/init_producer_id.pyi index 39108d004f3a..0025ce3e33c7 100644 --- a/stubs/kafka-python/kafka/protocol/old/init_producer_id.pyi +++ b/stubs/kafka-python/kafka/protocol/init_producer_id.pyi @@ -1,6 +1,6 @@ from _typeshed import Incomplete -from .api import Request, Response +from kafka.protocol.api import Request, Response class InitProducerIdResponse_v0(Response): API_KEY: int @@ -15,11 +15,13 @@ class InitProducerIdResponse_v1(Response): class InitProducerIdRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = InitProducerIdResponse_v0 SCHEMA: Incomplete class InitProducerIdRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = InitProducerIdResponse_v1 SCHEMA: Incomplete InitProducerIdRequest: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/old/list_offsets.pyi b/stubs/kafka-python/kafka/protocol/list_offsets.pyi similarity index 82% rename from stubs/kafka-python/kafka/protocol/old/list_offsets.pyi rename to stubs/kafka-python/kafka/protocol/list_offsets.pyi index 78b6568bd9a8..f8fe7767e0b3 100644 --- a/stubs/kafka-python/kafka/protocol/old/list_offsets.pyi +++ b/stubs/kafka-python/kafka/protocol/list_offsets.pyi @@ -1,9 +1,8 @@ from _typeshed import Incomplete -from typing import Final -from .api import Request, Response +from kafka.protocol.api import Request, Response -UNKNOWN_OFFSET: Final = -1 +UNKNOWN_OFFSET: int class OffsetResetStrategy: LATEST: int @@ -43,36 +42,42 @@ class ListOffsetsResponse_v5(Response): class ListOffsetsRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ListOffsetsResponse_v0 SCHEMA: Incomplete DEFAULTS: Incomplete class ListOffsetsRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ListOffsetsResponse_v1 SCHEMA: Incomplete DEFAULTS: Incomplete class ListOffsetsRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ListOffsetsResponse_v2 SCHEMA: Incomplete DEFAULTS: Incomplete class ListOffsetsRequest_v3(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ListOffsetsResponse_v3 SCHEMA: Incomplete DEFAULTS: Incomplete class ListOffsetsRequest_v4(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ListOffsetsResponse_v4 SCHEMA: Incomplete DEFAULTS: Incomplete class ListOffsetsRequest_v5(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = ListOffsetsResponse_v5 SCHEMA: Incomplete DEFAULTS: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/message.pyi b/stubs/kafka-python/kafka/protocol/message.pyi new file mode 100644 index 000000000000..3e2a48204671 --- /dev/null +++ b/stubs/kafka-python/kafka/protocol/message.pyi @@ -0,0 +1,43 @@ +from _typeshed import Incomplete + +from kafka.protocol.struct import Struct +from kafka.protocol.types import AbstractType + +class Message(Struct): + SCHEMAS: Incomplete + SCHEMA: Incomplete + CODEC_MASK: int + CODEC_GZIP: int + CODEC_SNAPPY: int + CODEC_LZ4: int + CODEC_ZSTD: int + TIMESTAMP_TYPE_MASK: int + HEADER_SIZE: int + timestamp: Incomplete + crc: Incomplete + magic: Incomplete + attributes: Incomplete + key: Incomplete + value: Incomplete + encode: Incomplete + def __init__(self, value, key=None, magic: int = 0, attributes: int = 0, crc: int = 0, timestamp=None) -> None: ... + @property + def timestamp_type(self): ... + @classmethod + def decode(cls, data): ... + def validate_crc(self): ... + def is_compressed(self): ... + def decompress(self): ... + def __hash__(self): ... + +class PartialMessage(bytes): ... + +class MessageSet(AbstractType): + ITEM: Incomplete + HEADER_SIZE: int + @classmethod + def encode(cls, items, prepend_size: bool = True): ... + @classmethod + def decode(cls, data, bytes_to_read=None): ... + @classmethod + def repr(cls, messages): ... diff --git a/stubs/kafka-python/kafka/protocol/old/metadata.pyi b/stubs/kafka-python/kafka/protocol/metadata.pyi similarity index 85% rename from stubs/kafka-python/kafka/protocol/old/metadata.pyi rename to stubs/kafka-python/kafka/protocol/metadata.pyi index 81d377e60348..429ef2d111d6 100644 --- a/stubs/kafka-python/kafka/protocol/old/metadata.pyi +++ b/stubs/kafka-python/kafka/protocol/metadata.pyi @@ -1,6 +1,6 @@ from _typeshed import Incomplete -from .api import Request, Response +from kafka.protocol.api import Request, Response class MetadataResponse_v0(Response): API_KEY: int @@ -50,6 +50,7 @@ class MetadataResponse_v8(Response): class MetadataRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = MetadataResponse_v0 SCHEMA: Incomplete ALL_TOPICS: Incomplete NO_TOPICS: Incomplete @@ -57,6 +58,7 @@ class MetadataRequest_v0(Request): class MetadataRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = MetadataResponse_v1 SCHEMA: Incomplete ALL_TOPICS: Incomplete NO_TOPICS: Incomplete @@ -64,6 +66,7 @@ class MetadataRequest_v1(Request): class MetadataRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = MetadataResponse_v2 SCHEMA: Incomplete ALL_TOPICS: Incomplete NO_TOPICS: Incomplete @@ -71,6 +74,7 @@ class MetadataRequest_v2(Request): class MetadataRequest_v3(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = MetadataResponse_v3 SCHEMA: Incomplete ALL_TOPICS: Incomplete NO_TOPICS: Incomplete @@ -78,6 +82,7 @@ class MetadataRequest_v3(Request): class MetadataRequest_v4(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = MetadataResponse_v4 SCHEMA: Incomplete ALL_TOPICS: Incomplete NO_TOPICS: Incomplete @@ -85,6 +90,7 @@ class MetadataRequest_v4(Request): class MetadataRequest_v5(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = MetadataResponse_v5 SCHEMA: Incomplete ALL_TOPICS: Incomplete NO_TOPICS: Incomplete @@ -92,6 +98,7 @@ class MetadataRequest_v5(Request): class MetadataRequest_v6(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = MetadataResponse_v6 SCHEMA: Incomplete ALL_TOPICS: Incomplete NO_TOPICS: Incomplete @@ -99,6 +106,7 @@ class MetadataRequest_v6(Request): class MetadataRequest_v7(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = MetadataResponse_v7 SCHEMA: Incomplete ALL_TOPICS: Incomplete NO_TOPICS: Incomplete @@ -106,6 +114,7 @@ class MetadataRequest_v7(Request): class MetadataRequest_v8(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = MetadataResponse_v8 SCHEMA: Incomplete ALL_TOPICS: Incomplete NO_TOPICS: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/metadata/__init__.pyi b/stubs/kafka-python/kafka/protocol/metadata/__init__.pyi deleted file mode 100644 index 7a07a803c212..000000000000 --- a/stubs/kafka-python/kafka/protocol/metadata/__init__.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from .api_versions import * -from .find_coordinator import * -from .metadata import * - -__all__ = [ - "ApiVersionsRequest", - "ApiVersionsResponse", - "CoordinatorType", - "FindCoordinatorRequest", - "FindCoordinatorResponse", - "MetadataRequest", - "MetadataResponse", -] diff --git a/stubs/kafka-python/kafka/protocol/metadata/api_versions.pyi b/stubs/kafka-python/kafka/protocol/metadata/api_versions.pyi deleted file mode 100644 index febcbb43cbd5..000000000000 --- a/stubs/kafka-python/kafka/protocol/metadata/api_versions.pyi +++ /dev/null @@ -1,111 +0,0 @@ -from _typeshed import Incomplete - -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer - -class ApiVersionsRequest(ApiMessage): - client_software_name: str - client_software_version: str - def __init__( - self, *args, client_software_name: str = ..., client_software_version: str = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class ApiVersionsResponse(ApiMessage): - class ApiVersion(DataContainer): - api_key: int - min_version: int - max_version: int - def __init__( - self, *args, api_key: int = ..., min_version: int = ..., max_version: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class SupportedFeatureKey(DataContainer): - name: str - min_version: int - max_version: int - def __init__( - self, *args, name: str = ..., min_version: int = ..., max_version: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class FinalizedFeatureKey(DataContainer): - name: str - max_version_level: int - min_version_level: int - def __init__( - self, - *args, - name: str = ..., - max_version_level: int = ..., - min_version_level: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - error_code: int - api_keys: list[ApiVersion] - throttle_time_ms: int - supported_features: list[SupportedFeatureKey] - finalized_features_epoch: int - finalized_features: list[FinalizedFeatureKey] - zk_migration_ready: bool - def __init__( - self, - *args, - error_code: int = ..., - api_keys: list[ApiVersion] = ..., - throttle_time_ms: int = ..., - supported_features: list[SupportedFeatureKey] = ..., - finalized_features_epoch: int = ..., - finalized_features: list[FinalizedFeatureKey] = ..., - zk_migration_ready: bool = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - @classmethod - def parse_header(cls, data, version=None): ... - def encode_header(self, flexible: bool = False): ... - @classmethod - def decode(cls, data, version=None, header: bool = False, framed: bool = False): ... # type: ignore[override] - -__all__ = ["ApiVersionsRequest", "ApiVersionsResponse"] diff --git a/stubs/kafka-python/kafka/protocol/metadata/find_coordinator.pyi b/stubs/kafka-python/kafka/protocol/metadata/find_coordinator.pyi deleted file mode 100644 index d1c9be13e5dc..000000000000 --- a/stubs/kafka-python/kafka/protocol/metadata/find_coordinator.pyi +++ /dev/null @@ -1,98 +0,0 @@ -from _typeshed import Incomplete -from enum import IntEnum - -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer -from kafka.util import EnumHelper - -class CoordinatorType(EnumHelper, IntEnum): - GROUP = 0 - TRANSACTION = 1 - SHARE = 2 - -class FindCoordinatorRequest(ApiMessage): - key: str - key_type: int - coordinator_keys: list[str] - def __init__( - self, *args, key: str = ..., key_type: int = ..., coordinator_keys: list[str] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class FindCoordinatorResponse(ApiMessage): - class Coordinator(DataContainer): - key: str - node_id: int - host: str - port: int - error_code: int - error_message: str | None - def __init__( - self, - *args, - key: str = ..., - node_id: int = ..., - host: str = ..., - port: int = ..., - error_code: int = ..., - error_message: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - error_message: str | None - node_id: int - host: str - port: int - coordinators: list[Coordinator] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - error_message: str | None = ..., - node_id: int = ..., - host: str = ..., - port: int = ..., - coordinators: list[Coordinator] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -__all__ = ["CoordinatorType", "FindCoordinatorRequest", "FindCoordinatorResponse"] diff --git a/stubs/kafka-python/kafka/protocol/metadata/metadata.pyi b/stubs/kafka-python/kafka/protocol/metadata/metadata.pyi deleted file mode 100644 index 372a7394f9b0..000000000000 --- a/stubs/kafka-python/kafka/protocol/metadata/metadata.pyi +++ /dev/null @@ -1,160 +0,0 @@ -import uuid -from _typeshed import Incomplete - -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer - -class MetadataRequest(ApiMessage): - ALL_TOPICS: Incomplete | None - NO_TOPICS: list[Incomplete] - - class MetadataRequestTopic(DataContainer): - topic_id: uuid.UUID - name: str | None - def __init__( - self, *args, topic_id: uuid.UUID = ..., name: str | None = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - topics: list[MetadataRequestTopic] | None - allow_auto_topic_creation: bool - include_cluster_authorized_operations: bool - include_topic_authorized_operations: bool - def __init__( - self, - *args, - topics: list[MetadataRequestTopic] | None = ..., - allow_auto_topic_creation: bool = ..., - include_cluster_authorized_operations: bool = ..., - include_topic_authorized_operations: bool = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - def encode(self, version=None, header=False, framed=False): ... - -class MetadataResponse(ApiMessage): - class MetadataResponseBroker(DataContainer): - node_id: int - host: str - port: int - rack: str | None - def __init__( - self, - *args, - node_id: int = ..., - host: str = ..., - port: int = ..., - rack: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class MetadataResponseTopic(DataContainer): - class MetadataResponsePartition(DataContainer): - error_code: int - partition_index: int - leader_id: int - leader_epoch: int - replica_nodes: list[int] - isr_nodes: list[int] - offline_replicas: list[int] - def __init__( - self, - *args, - error_code: int = ..., - partition_index: int = ..., - leader_id: int = ..., - leader_epoch: int = ..., - replica_nodes: list[int] = ..., - isr_nodes: list[int] = ..., - offline_replicas: list[int] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - error_code: int - name: str | None - topic_id: uuid.UUID - is_internal: bool - partitions: list[MetadataResponsePartition] - authorized_operations: set[int] - def __init__( - self, - *args, - error_code: int = ..., - name: str | None = ..., - topic_id: uuid.UUID = ..., - is_internal: bool = ..., - partitions: list[MetadataResponsePartition] = ..., - authorized_operations: set[int] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - brokers: list[MetadataResponseBroker] - cluster_id: str | None - controller_id: int - topics: list[MetadataResponseTopic] - authorized_operations: set[int] - error_code: int - def __init__( - self, - *args, - throttle_time_ms: int = ..., - brokers: list[MetadataResponseBroker] = ..., - cluster_id: str | None = ..., - controller_id: int = ..., - topics: list[MetadataResponseTopic] = ..., - authorized_operations: set[int] = ..., - error_code: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - @classmethod - def json_patch(cls, json): ... - -__all__ = ["MetadataRequest", "MetadataResponse"] diff --git a/stubs/kafka-python/kafka/protocol/old/offset_for_leader_epoch.pyi b/stubs/kafka-python/kafka/protocol/offset_for_leader_epoch.pyi similarity index 79% rename from stubs/kafka-python/kafka/protocol/old/offset_for_leader_epoch.pyi rename to stubs/kafka-python/kafka/protocol/offset_for_leader_epoch.pyi index 410081d1edb1..2d0c5e9aee2f 100644 --- a/stubs/kafka-python/kafka/protocol/old/offset_for_leader_epoch.pyi +++ b/stubs/kafka-python/kafka/protocol/offset_for_leader_epoch.pyi @@ -1,6 +1,6 @@ from _typeshed import Incomplete -from .api import Request, Response +from kafka.protocol.api import Request, Response class OffsetForLeaderEpochResponse_v0(Response): API_KEY: int @@ -30,26 +30,31 @@ class OffsetForLeaderEpochResponse_v4(Response): class OffsetForLeaderEpochRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetForLeaderEpochResponse_v0 SCHEMA: Incomplete class OffsetForLeaderEpochRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetForLeaderEpochResponse_v1 SCHEMA: Incomplete class OffsetForLeaderEpochRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetForLeaderEpochResponse_v2 SCHEMA: Incomplete class OffsetForLeaderEpochRequest_v3(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetForLeaderEpochResponse_v3 SCHEMA: Incomplete class OffsetForLeaderEpochRequest_v4(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = OffsetForLeaderEpochResponse_v4 SCHEMA: Incomplete OffsetForLeaderEpochRequest: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/old/__init__.pyi b/stubs/kafka-python/kafka/protocol/old/__init__.pyi deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/stubs/kafka-python/kafka/protocol/old/api.pyi b/stubs/kafka-python/kafka/protocol/old/api.pyi deleted file mode 100644 index c8732d81be39..000000000000 --- a/stubs/kafka-python/kafka/protocol/old/api.pyi +++ /dev/null @@ -1,66 +0,0 @@ -import abc -from typing_extensions import Self - -from .struct import Struct -from .types import Schema - -class ResponseClassRegistry: - @classmethod - def register_response_class(cls, response_class) -> None: ... - @classmethod - def get_response_class(cls, header): ... - -class RequestHeader(ResponseClassRegistry, Struct): - SCHEMA: Schema - def get_response_class(self): ... # type: ignore[override] - -class RequestHeaderV2(ResponseClassRegistry, Struct): - SCHEMA: Schema - def get_response_class(self): ... # type: ignore[override] - -class ResponseHeader(Struct): - SCHEMA: Schema - -class ResponseHeaderV2(Struct): - SCHEMA: Schema - -class RequestResponse(Struct, metaclass=abc.ABCMeta): - def __init__(self, *args, **kwargs) -> None: ... - @property - @abc.abstractmethod - def API_KEY(self): ... - @property - @abc.abstractmethod - def API_VERSION(self): ... - def to_object(self): ... - @classmethod - @abc.abstractmethod - def is_request(cls): ... - @property - def header(self): ... - def with_header(self, correlation_id: int = 0, client_id="kafka-python") -> None: ... - def encode(self, header: bool = False, framed: bool = False) -> bytes: ... - @classmethod - @abc.abstractmethod - def header_class(cls): ... - @classmethod - def parse_header(cls, read_buffer): ... - @classmethod - def decode(cls, data, header: bool = False, framed: bool = False) -> Self: ... - def __eq__(self, other) -> bool: ... - -class Request(RequestResponse, metaclass=abc.ABCMeta): - FLEXIBLE_VERSION: bool - @classmethod - def is_request(cls): ... - def expect_response(self): ... - @classmethod - def header_class(cls): ... - -class Response(RequestResponse, metaclass=abc.ABCMeta): - FLEXIBLE_VERSION: bool - def __init_subclass__(cls, **kwargs) -> None: ... - @classmethod - def is_request(cls): ... - @classmethod - def header_class(cls): ... diff --git a/stubs/kafka-python/kafka/protocol/old/struct.pyi b/stubs/kafka-python/kafka/protocol/old/struct.pyi deleted file mode 100644 index aa8c11dee6e7..000000000000 --- a/stubs/kafka-python/kafka/protocol/old/struct.pyi +++ /dev/null @@ -1,15 +0,0 @@ -import abc -from typing_extensions import Self - -class Struct(metaclass=abc.ABCMeta): - @property - @abc.abstractmethod - def SCHEMA(self): ... - ALIASES: dict[str, str] - def __init__(self, *args, **kwargs) -> None: ... - def encode(self): ... - @classmethod - def decode(cls, data) -> Self: ... - def get_item(self, name): ... - def __hash__(self) -> int: ... - def __eq__(self, other) -> bool: ... diff --git a/stubs/kafka-python/kafka/protocol/parser.pyi b/stubs/kafka-python/kafka/protocol/parser.pyi index b67f05b9cac9..63c350d3ee55 100644 --- a/stubs/kafka-python/kafka/protocol/parser.pyi +++ b/stubs/kafka-python/kafka/protocol/parser.pyi @@ -1,10 +1,15 @@ from _typeshed import Incomplete from collections import deque +from logging import Logger + +log: Logger class KafkaProtocol: in_flight_requests: deque[tuple[int, Incomplete]] bytes_to_send: list[bytes] - def __init__(self, *, client_id: str = ..., ident: str = "", receive_message_max_bytes: int = 100000000) -> None: ... + def __init__( + self, client_id: str | None = None, api_version: tuple[int, int, int] | None = None, max_frame_size: int = 100000000 + ) -> None: ... def send_request(self, request, correlation_id: int | None = None) -> int: ... def send_bytes(self) -> bytes: ... - def receive_bytes(self, data: bytes) -> list[tuple[Incomplete, Incomplete]]: ... + def receive_bytes(self, data: bytes) -> list[Incomplete]: ... diff --git a/stubs/kafka-python/kafka/protocol/old/produce.pyi b/stubs/kafka-python/kafka/protocol/produce.pyi similarity index 78% rename from stubs/kafka-python/kafka/protocol/old/produce.pyi rename to stubs/kafka-python/kafka/protocol/produce.pyi index 351682500a67..7652fbf6be7c 100644 --- a/stubs/kafka-python/kafka/protocol/old/produce.pyi +++ b/stubs/kafka-python/kafka/protocol/produce.pyi @@ -2,61 +2,52 @@ import abc from _typeshed import Incomplete from typing import type_check_only -from .api import Request, Response +from kafka.protocol.api import Request, Response class ProduceResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceResponse_v2(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceResponse_v3(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceResponse_v4(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceResponse_v5(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceResponse_v6(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceResponse_v7(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceResponse_v8(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] @type_check_only class _ProduceRequest(Request, metaclass=abc.ABCMeta): @@ -65,48 +56,48 @@ class _ProduceRequest(Request, metaclass=abc.ABCMeta): class ProduceRequest_v0(_ProduceRequest): API_VERSION: int + RESPONSE_TYPE = ProduceResponse_v0 SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceRequest_v1(_ProduceRequest): API_VERSION: int + RESPONSE_TYPE = ProduceResponse_v1 SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceRequest_v2(_ProduceRequest): API_VERSION: int + RESPONSE_TYPE = ProduceResponse_v2 SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceRequest_v3(_ProduceRequest): API_VERSION: int + RESPONSE_TYPE = ProduceResponse_v3 SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceRequest_v4(_ProduceRequest): API_VERSION: int + RESPONSE_TYPE = ProduceResponse_v4 SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceRequest_v5(_ProduceRequest): API_VERSION: int + RESPONSE_TYPE = ProduceResponse_v5 SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceRequest_v6(_ProduceRequest): API_VERSION: int + RESPONSE_TYPE = ProduceResponse_v6 SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceRequest_v7(_ProduceRequest): API_VERSION: int + RESPONSE_TYPE = ProduceResponse_v7 SCHEMA: Incomplete - ALIASES: dict[str, str] class ProduceRequest_v8(_ProduceRequest): API_VERSION: int + RESPONSE_TYPE = ProduceResponse_v8 SCHEMA: Incomplete - ALIASES: dict[str, str] ProduceRequest: list[type[_ProduceRequest]] ProduceResponse: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/producer/__init__.pyi b/stubs/kafka-python/kafka/protocol/producer/__init__.pyi deleted file mode 100644 index 1661cb819399..000000000000 --- a/stubs/kafka-python/kafka/protocol/producer/__init__.pyi +++ /dev/null @@ -1,19 +0,0 @@ -from .produce import * -from .transaction import * - -__all__ = [ - "ProduceRequest", - "ProduceResponse", - "InitProducerIdRequest", - "InitProducerIdResponse", - "AddPartitionsToTxnRequest", - "AddPartitionsToTxnResponse", - "AddOffsetsToTxnRequest", - "AddOffsetsToTxnResponse", - "EndTxnRequest", - "EndTxnResponse", - "TxnOffsetCommitRequest", - "TxnOffsetCommitResponse", - "WriteTxnMarkersRequest", - "WriteTxnMarkersResponse", -] diff --git a/stubs/kafka-python/kafka/protocol/producer/produce.pyi b/stubs/kafka-python/kafka/protocol/producer/produce.pyi deleted file mode 100644 index bf73051392c3..000000000000 --- a/stubs/kafka-python/kafka/protocol/producer/produce.pyi +++ /dev/null @@ -1,185 +0,0 @@ -import uuid -from _typeshed import Incomplete - -from kafka.protocol.api_data import ApiData -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer - -class ProduceRequest(ApiMessage): - class TopicProduceData(DataContainer): - class PartitionProduceData(DataContainer): - index: int - records: bytes | ApiData | None - def __init__( - self, *args, index: int = ..., records: bytes | ApiData | None = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - topic_id: uuid.UUID - partition_data: list[PartitionProduceData] - def __init__( - self, - *args, - name: str = ..., - topic_id: uuid.UUID = ..., - partition_data: list[PartitionProduceData] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - transactional_id: str | None - acks: int - timeout_ms: int - topic_data: list[TopicProduceData] - def __init__( - self, - *args, - transactional_id: str | None = ..., - acks: int = ..., - timeout_ms: int = ..., - topic_data: list[TopicProduceData] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - def expect_response(self) -> bool: ... - -class ProduceResponse(ApiMessage): - class TopicProduceResponse(DataContainer): - class PartitionProduceResponse(DataContainer): - class BatchIndexAndErrorMessage(DataContainer): - batch_index: int - batch_index_error_message: str | None - def __init__( - self, - *args, - batch_index: int = ..., - batch_index_error_message: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class LeaderIdAndEpoch(DataContainer): - leader_id: int - leader_epoch: int - def __init__( - self, *args, leader_id: int = ..., leader_epoch: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - index: int - error_code: int - base_offset: int - log_append_time_ms: int - log_start_offset: int - record_errors: list[BatchIndexAndErrorMessage] - error_message: str | None - current_leader: LeaderIdAndEpoch - def __init__( - self, - *args, - index: int = ..., - error_code: int = ..., - base_offset: int = ..., - log_append_time_ms: int = ..., - log_start_offset: int = ..., - record_errors: list[BatchIndexAndErrorMessage] = ..., - error_message: str | None = ..., - current_leader: LeaderIdAndEpoch = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - topic_id: uuid.UUID - partition_responses: list[PartitionProduceResponse] - def __init__( - self, - *args, - name: str = ..., - topic_id: uuid.UUID = ..., - partition_responses: list[PartitionProduceResponse] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class NodeEndpoint(DataContainer): - node_id: int - host: str - port: int - rack: str | None - def __init__( - self, - *args, - node_id: int = ..., - host: str = ..., - port: int = ..., - rack: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - responses: list[TopicProduceResponse] - throttle_time_ms: int - node_endpoints: list[NodeEndpoint] - def __init__( - self, - *args, - responses: list[TopicProduceResponse] = ..., - throttle_time_ms: int = ..., - node_endpoints: list[NodeEndpoint] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -__all__ = ["ProduceRequest", "ProduceResponse"] diff --git a/stubs/kafka-python/kafka/protocol/producer/transaction.pyi b/stubs/kafka-python/kafka/protocol/producer/transaction.pyi deleted file mode 100644 index ccb56a9aa031..000000000000 --- a/stubs/kafka-python/kafka/protocol/producer/transaction.pyi +++ /dev/null @@ -1,620 +0,0 @@ -from _typeshed import Incomplete - -from kafka.protocol.api_message import ApiMessage -from kafka.protocol.data_container import DataContainer - -class InitProducerIdRequest(ApiMessage): - transactional_id: str | None - transaction_timeout_ms: int - producer_id: int - producer_epoch: int - enable2_pc: bool - keep_prepared_txn: bool - def __init__( - self, - *args, - transactional_id: str | None = ..., - transaction_timeout_ms: int = ..., - producer_id: int = ..., - producer_epoch: int = ..., - enable2_pc: bool = ..., - keep_prepared_txn: bool = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class InitProducerIdResponse(ApiMessage): - throttle_time_ms: int - error_code: int - producer_id: int - producer_epoch: int - ongoing_txn_producer_id: int - ongoing_txn_producer_epoch: int - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - producer_id: int = ..., - producer_epoch: int = ..., - ongoing_txn_producer_id: int = ..., - ongoing_txn_producer_epoch: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class AddPartitionsToTxnRequest(ApiMessage): - class AddPartitionsToTxnTransaction(DataContainer): - class AddPartitionsToTxnTopic(DataContainer): - name: str - partitions: list[int] - def __init__( - self, *args, name: str = ..., partitions: list[int] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - transactional_id: str - producer_id: int - producer_epoch: int - verify_only: bool - topics: list[AddPartitionsToTxnTopic] - def __init__( - self, - *args, - transactional_id: str = ..., - producer_id: int = ..., - producer_epoch: int = ..., - verify_only: bool = ..., - topics: list[AddPartitionsToTxnTopic] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class AddPartitionsToTxnTopic(DataContainer): - name: str - partitions: list[int] - def __init__(self, *args, name: str = ..., partitions: list[int] = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - transactions: list[AddPartitionsToTxnTransaction] - v3_and_below_transactional_id: str - v3_and_below_producer_id: int - v3_and_below_producer_epoch: int - v3_and_below_topics: list[AddPartitionsToTxnTopic] - def __init__( - self, - *args, - transactions: list[AddPartitionsToTxnTransaction] = ..., - v3_and_below_transactional_id: str = ..., - v3_and_below_producer_id: int = ..., - v3_and_below_producer_epoch: int = ..., - v3_and_below_topics: list[AddPartitionsToTxnTopic] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class AddPartitionsToTxnResponse(ApiMessage): - class AddPartitionsToTxnResult(DataContainer): - class AddPartitionsToTxnTopicResult(DataContainer): - class AddPartitionsToTxnPartitionResult(DataContainer): - partition_index: int - partition_error_code: int - def __init__( - self, *args, partition_index: int = ..., partition_error_code: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - results_by_partition: list[AddPartitionsToTxnPartitionResult] - def __init__( - self, - *args, - name: str = ..., - results_by_partition: list[AddPartitionsToTxnPartitionResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - transactional_id: str - topic_results: list[AddPartitionsToTxnTopicResult] - def __init__( - self, - *args, - transactional_id: str = ..., - topic_results: list[AddPartitionsToTxnTopicResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - class AddPartitionsToTxnTopicResult(DataContainer): - class AddPartitionsToTxnPartitionResult(DataContainer): - partition_index: int - partition_error_code: int - def __init__( - self, *args, partition_index: int = ..., partition_error_code: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - results_by_partition: list[AddPartitionsToTxnPartitionResult] - def __init__( - self, - *args, - name: str = ..., - results_by_partition: list[AddPartitionsToTxnPartitionResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - error_code: int - results_by_transaction: list[AddPartitionsToTxnResult] - results_by_topic_v3_and_below: list[AddPartitionsToTxnTopicResult] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - results_by_transaction: list[AddPartitionsToTxnResult] = ..., - results_by_topic_v3_and_below: list[AddPartitionsToTxnTopicResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class AddOffsetsToTxnRequest(ApiMessage): - transactional_id: str - producer_id: int - producer_epoch: int - group_id: str - def __init__( - self, - *args, - transactional_id: str = ..., - producer_id: int = ..., - producer_epoch: int = ..., - group_id: str = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class AddOffsetsToTxnResponse(ApiMessage): - throttle_time_ms: int - error_code: int - def __init__( - self, *args, throttle_time_ms: int = ..., error_code: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class EndTxnRequest(ApiMessage): - transactional_id: str - producer_id: int - producer_epoch: int - committed: bool - def __init__( - self, - *args, - transactional_id: str = ..., - producer_id: int = ..., - producer_epoch: int = ..., - committed: bool = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class EndTxnResponse(ApiMessage): - throttle_time_ms: int - error_code: int - producer_id: int - producer_epoch: int - def __init__( - self, - *args, - throttle_time_ms: int = ..., - error_code: int = ..., - producer_id: int = ..., - producer_epoch: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class TxnOffsetCommitRequest(ApiMessage): - class TxnOffsetCommitRequestTopic(DataContainer): - class TxnOffsetCommitRequestPartition(DataContainer): - partition_index: int - committed_offset: int - committed_leader_epoch: int - committed_metadata: str | None - def __init__( - self, - *args, - partition_index: int = ..., - committed_offset: int = ..., - committed_leader_epoch: int = ..., - committed_metadata: str | None = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[TxnOffsetCommitRequestPartition] - def __init__( - self, - *args, - name: str = ..., - partitions: list[TxnOffsetCommitRequestPartition] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - transactional_id: str - group_id: str - producer_id: int - producer_epoch: int - generation_id: int - member_id: str - group_instance_id: str | None - topics: list[TxnOffsetCommitRequestTopic] - def __init__( - self, - *args, - transactional_id: str = ..., - group_id: str = ..., - producer_id: int = ..., - producer_epoch: int = ..., - generation_id: int = ..., - member_id: str = ..., - group_instance_id: str | None = ..., - topics: list[TxnOffsetCommitRequestTopic] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class TxnOffsetCommitResponse(ApiMessage): - class TxnOffsetCommitResponseTopic(DataContainer): - class TxnOffsetCommitResponsePartition(DataContainer): - partition_index: int - error_code: int - def __init__( - self, *args, partition_index: int = ..., error_code: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[TxnOffsetCommitResponsePartition] - def __init__( - self, - *args, - name: str = ..., - partitions: list[TxnOffsetCommitResponsePartition] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - throttle_time_ms: int - topics: list[TxnOffsetCommitResponseTopic] - def __init__( - self, - *args, - throttle_time_ms: int = ..., - topics: list[TxnOffsetCommitResponseTopic] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class WriteTxnMarkersRequest(ApiMessage): - class WritableTxnMarker(DataContainer): - class WritableTxnMarkerTopic(DataContainer): - name: str - partition_indexes: list[int] - def __init__( - self, *args, name: str = ..., partition_indexes: list[int] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - producer_id: int - producer_epoch: int - transaction_result: bool - topics: list[WritableTxnMarkerTopic] - coordinator_epoch: int - transaction_version: int - def __init__( - self, - *args, - producer_id: int = ..., - producer_epoch: int = ..., - transaction_result: bool = ..., - topics: list[WritableTxnMarkerTopic] = ..., - coordinator_epoch: int = ..., - transaction_version: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - markers: list[WritableTxnMarker] - def __init__(self, *args, markers: list[WritableTxnMarker] = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class WriteTxnMarkersResponse(ApiMessage): - class WritableTxnMarkerResult(DataContainer): - class WritableTxnMarkerTopicResult(DataContainer): - class WritableTxnMarkerPartitionResult(DataContainer): - partition_index: int - error_code: int - def __init__( - self, *args, partition_index: int = ..., error_code: int = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - name: str - partitions: list[WritableTxnMarkerPartitionResult] - def __init__( - self, - *args, - name: str = ..., - partitions: list[WritableTxnMarkerPartitionResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - producer_id: int - topics: list[WritableTxnMarkerTopicResult] - def __init__( - self, - *args, - producer_id: int = ..., - topics: list[WritableTxnMarkerTopicResult] = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - - markers: list[WritableTxnMarkerResult] - def __init__(self, *args, markers: list[WritableTxnMarkerResult] = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -__all__ = [ - "InitProducerIdRequest", - "InitProducerIdResponse", - "AddPartitionsToTxnRequest", - "AddPartitionsToTxnResponse", - "AddOffsetsToTxnRequest", - "AddOffsetsToTxnResponse", - "EndTxnRequest", - "EndTxnResponse", - "TxnOffsetCommitRequest", - "TxnOffsetCommitResponse", - "WriteTxnMarkersRequest", - "WriteTxnMarkersResponse", -] diff --git a/stubs/kafka-python/kafka/protocol/sasl.pyi b/stubs/kafka-python/kafka/protocol/sasl.pyi deleted file mode 100644 index 30095d81e622..000000000000 --- a/stubs/kafka-python/kafka/protocol/sasl.pyi +++ /dev/null @@ -1,126 +0,0 @@ -from _typeshed import Incomplete -from typing_extensions import Self - -from kafka.protocol.api_data import ApiData -from kafka.protocol.api_message import ApiMessage - -class SaslHandshakeRequest(ApiMessage): - mechanism: str - def __init__(self, *args, mechanism: str = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class SaslHandshakeResponse(ApiMessage): - error_code: int - mechanisms: list[str] - def __init__( - self, *args, error_code: int = ..., mechanisms: list[str] = ..., version: int | None = None, **kwargs - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class SaslAuthenticateRequest(ApiMessage): - auth_bytes: bytes | ApiData - def __init__(self, *args, auth_bytes: bytes | ApiData = ..., version: int | None = None, **kwargs) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class SaslAuthenticateResponse(ApiMessage): - error_code: int - error_message: str | None - auth_bytes: bytes | ApiData - session_lifetime_ms: int - def __init__( - self, - *args, - error_code: int = ..., - error_message: str | None = ..., - auth_bytes: bytes | ApiData = ..., - session_lifetime_ms: int = ..., - version: int | None = None, - **kwargs, - ) -> None: ... - @property - def version(self) -> int | None: ... - def to_dict(self, meta: bool = False, json: bool = True) -> dict[Incomplete, Incomplete]: ... - name: str - type: str - API_KEY: int - API_VERSION: int - valid_versions: tuple[int, int] - min_version: int - max_version: int - @property - def header(self): ... - @classmethod - def is_request(cls) -> bool: ... - def expect_response(self) -> bool: ... - def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ... - -class SaslBytesRequest: - API_VERSION: int - header: SaslBytesResponse | None - def __init__(self, data) -> None: ... - def with_header(self, correlation_id=None, **kwargs) -> None: ... - def encode(self, framed: bool = True, header: bool = True) -> bytes: ... - def expect_response(self): ... - -class SaslBytesResponse: - correlation_id: Incomplete - error_code: int - def __init__(self, correlation_id) -> None: ... - def parse_header(self, read_buffer) -> Self: ... - auth_bytes: Incomplete - def decode(self, read_buffer) -> Self: ... - def get_response_class(self) -> Self: ... - -__all__ = [ - "SaslHandshakeRequest", - "SaslHandshakeResponse", - "SaslAuthenticateRequest", - "SaslAuthenticateResponse", - "SaslBytesRequest", - "SaslBytesResponse", -] diff --git a/stubs/kafka-python/kafka/protocol/old/sasl_authenticate.pyi b/stubs/kafka-python/kafka/protocol/sasl_authenticate.pyi similarity index 78% rename from stubs/kafka-python/kafka/protocol/old/sasl_authenticate.pyi rename to stubs/kafka-python/kafka/protocol/sasl_authenticate.pyi index e49adbc9d788..da9781407f5b 100644 --- a/stubs/kafka-python/kafka/protocol/old/sasl_authenticate.pyi +++ b/stubs/kafka-python/kafka/protocol/sasl_authenticate.pyi @@ -1,6 +1,6 @@ from _typeshed import Incomplete -from .api import Request, Response +from kafka.protocol.api import Request, Response class SaslAuthenticateResponse_v0(Response): API_KEY: int @@ -15,11 +15,13 @@ class SaslAuthenticateResponse_v1(Response): class SaslAuthenticateRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = SaslAuthenticateResponse_v0 SCHEMA: Incomplete class SaslAuthenticateRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = SaslAuthenticateResponse_v1 SCHEMA: Incomplete SaslAuthenticateRequest: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/old/sasl_handshake.pyi b/stubs/kafka-python/kafka/protocol/sasl_handshake.pyi similarity index 78% rename from stubs/kafka-python/kafka/protocol/old/sasl_handshake.pyi rename to stubs/kafka-python/kafka/protocol/sasl_handshake.pyi index 04281eb3b053..dad4e65bea5b 100644 --- a/stubs/kafka-python/kafka/protocol/old/sasl_handshake.pyi +++ b/stubs/kafka-python/kafka/protocol/sasl_handshake.pyi @@ -1,27 +1,27 @@ from _typeshed import Incomplete -from .api import Request, Response +from kafka.protocol.api import Request, Response class SaslHandshakeResponse_v0(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class SaslHandshakeResponse_v1(Response): API_KEY: int API_VERSION: int SCHEMA: Incomplete - ALIASES: dict[str, str] class SaslHandshakeRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = SaslHandshakeResponse_v0 SCHEMA: Incomplete class SaslHandshakeRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = SaslHandshakeResponse_v1 SCHEMA: Incomplete SaslHandshakeRequest: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/schemas/__init__.pyi b/stubs/kafka-python/kafka/protocol/schemas/__init__.pyi deleted file mode 100644 index 46c73ea289e5..000000000000 --- a/stubs/kafka-python/kafka/protocol/schemas/__init__.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from .fields import * -from .load_json import load_json as load_json - -__all__ = ["BaseField", "SimpleField", "StructField", "ArrayField", "StructArrayField", "load_json"] diff --git a/stubs/kafka-python/kafka/protocol/schemas/fields/__init__.pyi b/stubs/kafka-python/kafka/protocol/schemas/fields/__init__.pyi deleted file mode 100644 index 95100c188f63..000000000000 --- a/stubs/kafka-python/kafka/protocol/schemas/fields/__init__.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from .array import ArrayField as ArrayField -from .base import BaseField as BaseField -from .simple import SimpleField as SimpleField -from .struct import StructField as StructField -from .struct_array import StructArrayField as StructArrayField - -__all__ = ["BaseField", "SimpleField", "StructField", "ArrayField", "StructArrayField"] diff --git a/stubs/kafka-python/kafka/protocol/schemas/fields/array.pyi b/stubs/kafka-python/kafka/protocol/schemas/fields/array.pyi deleted file mode 100644 index fe53ab246093..000000000000 --- a/stubs/kafka-python/kafka/protocol/schemas/fields/array.pyi +++ /dev/null @@ -1,21 +0,0 @@ -from typing_extensions import Self - -from .base import BaseField -from .simple import SimpleField - -class ArrayField(BaseField): - @classmethod - def parse_inner_type(cls, json) -> SimpleField | None: ... - @classmethod - def parse_array_type(cls, json) -> str | None: ... - @classmethod - def parse_json(cls, json) -> Self | None: ... - array_of: SimpleField - def __init__(self, json, array_of: SimpleField | None = None) -> None: ... - def is_array(self) -> bool: ... - def encode(self, items, version=None, compact: bool = False, tagged: bool = False) -> bytes: ... - def encode_into(self, items, out, version=None, compact: bool = False, tagged: bool = False) -> None: ... - def emit_encode_into(self, ctx, val_expr, indent, version=None, compact: bool = False, tagged: bool = False) -> None: ... - def emit_decode_from(self, ctx, var_name, indent, version=None, compact: bool = False, tagged: bool = False) -> None: ... - def decode(self, data, version=None, compact: bool = False, tagged: bool = False): ... - def to_json(self, val): ... diff --git a/stubs/kafka-python/kafka/protocol/schemas/fields/base.pyi b/stubs/kafka-python/kafka/protocol/schemas/fields/base.pyi deleted file mode 100644 index 972c93c6c3fc..000000000000 --- a/stubs/kafka-python/kafka/protocol/schemas/fields/base.pyi +++ /dev/null @@ -1,39 +0,0 @@ -from _typeshed import Incomplete - -class BaseField: - FIELD_TYPES: list[type[Incomplete]] - def __init_subclass__(cls, **kw) -> None: ... - @classmethod - def parse_json_fields(cls, json): ... - @classmethod - def parse_json(cls, json): ... - @classmethod - def underscore_name(cls, name: str) -> str: ... - @classmethod - def parse_versions(cls, versions: str) -> tuple[int, ...] | None: ... - name: str - def __init__(self, json) -> None: ... - @property - def type_str(self): ... - @property - def tag(self): ... - def is_array(self) -> bool: ... - def is_struct(self) -> bool: ... - def is_struct_array(self) -> bool: ... - def is_batchable(self) -> bool: ... - def has_data_class(self) -> bool: ... - def __call__(self, *args, **kwargs): ... - @property - def fields(self): ... - @property - def min_version(self): ... - @property - def max_version(self): ... - def for_version_q(self, version) -> bool: ... - def nullable_for_version_q(self, version) -> bool: ... - def tagged_field_q(self, version) -> bool: ... - @property - def default(self): ... - def encode(self, value, version=None, compact: bool = False, tagged: bool = False): ... - def decode(self, data, version=None, compact: bool = False, tagged: bool = False): ... - def __eq__(self, other) -> bool: ... diff --git a/stubs/kafka-python/kafka/protocol/schemas/fields/codecs/__init__.pyi b/stubs/kafka-python/kafka/protocol/schemas/fields/codecs/__init__.pyi deleted file mode 100644 index 2597c4205dde..000000000000 --- a/stubs/kafka-python/kafka/protocol/schemas/fields/codecs/__init__.pyi +++ /dev/null @@ -1,33 +0,0 @@ -from .encode_buffer import EncodeBuffer as EncodeBuffer, EncodeBufferPool as EncodeBufferPool -from .tagged_fields import TaggedFields as TaggedFields -from .types import ( - UUID as UUID, - BitField as BitField, - Boolean as Boolean, - Bytes as Bytes, - Float64 as Float64, - Int8 as Int8, - Int16 as Int16, - Int32 as Int32, - Int64 as Int64, - String as String, - UnsignedInt16 as UnsignedInt16, - UnsignedVarInt32 as UnsignedVarInt32, -) - -__all__ = [ - "BitField", - "Boolean", - "UUID", - "Bytes", - "String", - "Int8", - "Int16", - "Int32", - "Int64", - "UnsignedInt16", - "UnsignedVarInt32", - "Float64", - "TaggedFields", - "EncodeBuffer", -] diff --git a/stubs/kafka-python/kafka/protocol/schemas/fields/codecs/encode_buffer.pyi b/stubs/kafka-python/kafka/protocol/schemas/fields/codecs/encode_buffer.pyi deleted file mode 100644 index 17f9016f618b..000000000000 --- a/stubs/kafka-python/kafka/protocol/schemas/fields/codecs/encode_buffer.pyi +++ /dev/null @@ -1,22 +0,0 @@ -from _typeshed import Incomplete, ReadableBuffer, Unused -from collections.abc import Iterable -from typing import SupportsIndex - -class EncodeBuffer: - __slots__ = ("buf", "pos") - buf: bytearray - pos: int - def __init__(self, size: Iterable[SupportsIndex] | SupportsIndex | ReadableBuffer = 65536) -> None: ... - def reset(self) -> None: ... - def ensure(self, needed: int) -> None: ... - def result(self) -> bytearray: ... - -class EncodeBufferPool: - @classmethod - def acquire(cls) -> _PooledBuffer: ... - -class _PooledBuffer: - __slots__ = ("_pool", "_buf") - def __init__(self, pool: EncodeBufferPool) -> None: ... - def __enter__(self) -> EncodeBuffer | Incomplete: ... - def __exit__(self, *exc: Unused): ... diff --git a/stubs/kafka-python/kafka/protocol/schemas/fields/codecs/tagged_fields.pyi b/stubs/kafka-python/kafka/protocol/schemas/fields/codecs/tagged_fields.pyi deleted file mode 100644 index 0c3d23a8699b..000000000000 --- a/stubs/kafka-python/kafka/protocol/schemas/fields/codecs/tagged_fields.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from _typeshed import Incomplete - -class TaggedFields: - def __init__(self, fields) -> None: ... - def encode(self, item, version=None) -> bytes: ... - def encode_into(self, item, out, version=None) -> None: ... - def decode(self, data, version=None) -> dict[str, Incomplete]: ... - @classmethod - def decode_empty(cls, data) -> None: ... - @classmethod - def encode_empty(cls) -> bytes: ... diff --git a/stubs/kafka-python/kafka/protocol/schemas/fields/codecs/types.pyi b/stubs/kafka-python/kafka/protocol/schemas/fields/codecs/types.pyi deleted file mode 100644 index 5302860eef6c..000000000000 --- a/stubs/kafka-python/kafka/protocol/schemas/fields/codecs/types.pyi +++ /dev/null @@ -1,138 +0,0 @@ -import uuid -from _typeshed import Incomplete -from collections.abc import Iterable -from typing import ClassVar, Final, Literal - -class FixedCodec: - fmt: ClassVar[str | None] - size: ClassVar[int | None] - batchable: ClassVar[bool] - def __init_subclass__(cls, **kw) -> None: ... - @classmethod - def encode(cls, value, compact: bool = False) -> bytes: ... - @classmethod - def encode_into(cls, out, value, compact: bool = False) -> None: ... - @classmethod - def decode(cls, data, compact: bool = False): ... - @classmethod - def decode_from(cls, data, pos) -> tuple[Incomplete, Incomplete]: ... - @classmethod - def emit_encode_into(cls, ctx, val_expr, indent, compact: bool = False) -> None: ... - @classmethod - def emit_decode_from(cls, ctx, var_name, indent, compact: bool = False) -> None: ... - -class Int8(FixedCodec): - fmt: ClassVar[str] - size: ClassVar[int] - -class Int16(FixedCodec): - fmt: ClassVar[str] - size: ClassVar[int] - -class UnsignedInt16(FixedCodec): - fmt: ClassVar[str] - size: ClassVar[int] - -class Int32(FixedCodec): - fmt: ClassVar[str] - size: ClassVar[int] - -class Int64(FixedCodec): - fmt: ClassVar[str] - size: ClassVar[int] - -class Float64(FixedCodec): - fmt: ClassVar[str] - size: ClassVar[int] - -class UUID: - fmt: ClassVar[str] - size: ClassVar[int] - ZERO_UUID: Final[uuid.UUID] - @classmethod - def encode(cls, value, compact: bool = False) -> bytes: ... - @classmethod - def encode_into(cls, out, value, compact: bool = False) -> None: ... - @classmethod - def emit_encode_into(cls, ctx, val_expr, indent, compact: bool = False) -> None: ... - @classmethod - def emit_decode_from(cls, ctx, var_name, indent, compact: bool = False) -> None: ... - @classmethod - def decode(cls, data, compact: bool = False) -> uuid.UUID | None: ... - -class String: - fmt: ClassVar[str | None] - size: ClassVar[Literal["variable"]] - encoding: str - def __init__(self, encoding: str = "utf-8") -> None: ... - def encode(self, value, compact: bool = False) -> bytes: ... - def encode_into(self, out, value, compact: bool = False) -> None: ... - def emit_encode_into(self, ctx, val_expr, indent, compact: bool = False) -> None: ... - def emit_decode_from(self, ctx, var_name, indent, compact: bool = False) -> None: ... - def decode(self, data, compact: bool = False): ... - -class Bytes: - fmt: ClassVar[str] - size: ClassVar[Literal["variable"]] - @classmethod - def encode(cls, value, compact: bool = False) -> bytes: ... - @classmethod - def encode_into(cls, out, value, compact: bool = False) -> None: ... - @classmethod - def emit_encode_into(cls, ctx, val_expr, indent, compact: bool = False) -> None: ... - @classmethod - def emit_decode_from(cls, ctx, var_name, indent, compact: bool = False) -> None: ... - @classmethod - def decode(cls, data, compact: bool = False): ... - -class Boolean(FixedCodec): - fmt: ClassVar[str] - size: ClassVar[int] - -class UnsignedVarInt32: - fmt: ClassVar[str] - size: ClassVar[Literal["variable"]] - @classmethod - def decode(cls, data, compact: bool = False): ... - @classmethod - def encode(cls, value, compact: bool = False) -> bytes: ... - @classmethod - def encode_into(cls, out, value) -> None: ... - @classmethod - def emit_encode_into(cls, ctx, val_expr, indent, compact: bool = False) -> None: ... - @classmethod - def emit_decode_from(cls, ctx, var_name, indent) -> None: ... - -class VarInt32: - fmt: ClassVar[str] - size: ClassVar[Literal["variable"]] - @classmethod - def decode(cls, data, compact: bool = False): ... - @classmethod - def encode(cls, value, compact: bool = False) -> bytes: ... - -class VarInt64: - fmt: ClassVar[str] - size: ClassVar[Literal["variable"]] - @classmethod - def decode(cls, data, compact: bool = False): ... - @classmethod - def encode(cls, value, compact: bool = False) -> bytes: ... - -class BitField: - fmt: ClassVar[str] - size: ClassVar[int] - @classmethod - def decode(cls, data, compact: bool = False) -> set[Incomplete] | None: ... - @classmethod - def encode(cls, vals, compact: bool = False) -> bytes: ... - @classmethod - def encode_into(cls, out, vals, compact: bool = False) -> None: ... - @classmethod - def emit_encode_into(cls, ctx, val_expr, indent, compact: bool = False) -> None: ... - @classmethod - def emit_decode_from(cls, ctx, var_name, indent, compact: bool = False) -> None: ... - @classmethod - def to_32_bit_field(cls, vals: Iterable[int]) -> int: ... - @classmethod - def from_32_bit_field(cls, value: int) -> set[int]: ... diff --git a/stubs/kafka-python/kafka/protocol/schemas/fields/codegen.pyi b/stubs/kafka-python/kafka/protocol/schemas/fields/codegen.pyi deleted file mode 100644 index 7cb3f2afa5be..000000000000 --- a/stubs/kafka-python/kafka/protocol/schemas/fields/codegen.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from _typeshed import Incomplete - -class CodegenContext: - lines: list[str] - globs: dict[str, Incomplete] - def __init__(self) -> None: ... - def next_var(self, prefix: str = "v") -> str: ... - def emit(self, indent, line) -> None: ... - def emit_reserve(self, indent, nbytes) -> None: ... - def source(self) -> None: ... - def print(self) -> None: ... diff --git a/stubs/kafka-python/kafka/protocol/schemas/fields/simple.pyi b/stubs/kafka-python/kafka/protocol/schemas/fields/simple.pyi deleted file mode 100644 index d2d151cbc74b..000000000000 --- a/stubs/kafka-python/kafka/protocol/schemas/fields/simple.pyi +++ /dev/null @@ -1,17 +0,0 @@ -from _typeshed import Incomplete -from typing_extensions import Self - -from .base import BaseField - -class SimpleField(BaseField): - TYPES: dict[str, type[Incomplete]] - @classmethod - def parse_json(cls, json) -> Self | None: ... - def __init__(self, json) -> None: ... - def is_batchable(self) -> bool: ... - def encode(self, value, version=None, compact: bool = False, tagged: bool = False) -> bytes: ... - def encode_into(self, value, out, version=None, compact: bool = False, tagged: bool = False) -> None: ... - def emit_encode_into(self, ctx, val_expr, indent, version=None, compact: bool = False, tagged: bool = False) -> None: ... - def emit_decode_from(self, ctx, var_name, indent, version=None, compact: bool = False, tagged: bool = False) -> None: ... - def decode(self, data, version=None, compact: bool = False, tagged: bool = False): ... - def to_json(self, val): ... diff --git a/stubs/kafka-python/kafka/protocol/schemas/fields/struct.pyi b/stubs/kafka-python/kafka/protocol/schemas/fields/struct.pyi deleted file mode 100644 index 74b97fd2a255..000000000000 --- a/stubs/kafka-python/kafka/protocol/schemas/fields/struct.pyi +++ /dev/null @@ -1,32 +0,0 @@ -from _typeshed import Incomplete -from typing_extensions import Self - -from .base import BaseField -from .codegen import CodegenContext - -class StructField(BaseField): - @classmethod - def parse_json(cls, json) -> Self | None: ... - def __init__(self, json) -> None: ... - @property - def fields(self) -> dict[Incomplete, Incomplete]: ... - def is_struct(self): ... - def has_data_class(self) -> bool: ... - def set_data_class(self, data_class) -> None: ... - @property - def data_class(self): ... - def __call__(self, *args, **kw): ... - def tagged_fields(self, version): ... - def untagged_fields(self, version): ... - def encode(self, item, version=None, compact: bool = False, tagged: bool = False) -> bytes: ... - def emit_encode_into( - self, ctx, item_expr, indent, version=None, compact: bool = False, tagged: bool = False, tuple_access: bool = False - ) -> None: ... - def encode_into(self, item, out, version=None, compact: bool = False, tagged: bool = False) -> None: ... - def encode_into__optimized_context(self, version, compact: bool = False, tagged: bool = False) -> CodegenContext: ... - def compiled_encode_into(self, version, compact: bool = False, tagged: bool = False): ... - def emit_decode_from(self, ctx, var_name, indent, version=None, compact: bool = False, tagged: bool = False) -> None: ... - def compiled_decode_from(self, version, compact: bool = False, tagged: bool = False, data_class=None): ... - def decode(self, data, version=None, compact: bool = False, tagged: bool = False, data_class=None): ... - def __len__(self) -> int: ... - def __eq__(self, other) -> bool: ... diff --git a/stubs/kafka-python/kafka/protocol/schemas/fields/struct_array.pyi b/stubs/kafka-python/kafka/protocol/schemas/fields/struct_array.pyi deleted file mode 100644 index 6227dc43647b..000000000000 --- a/stubs/kafka-python/kafka/protocol/schemas/fields/struct_array.pyi +++ /dev/null @@ -1,27 +0,0 @@ -from _typeshed import Incomplete -from typing_extensions import Self - -from .array import ArrayField -from .struct import StructField - -class StructArrayField(ArrayField): - @classmethod - def parse_inner_type(cls, json) -> StructField | None: ... # type: ignore[override] - @classmethod - def parse_json(cls, json) -> Self | None: ... - map_key: Incomplete | None - def __init__(self, json, array_of=None) -> None: ... - @property - def type_str(self): ... - def is_struct_array(self): ... - @property - def fields(self): ... - def tagged_fields(self, version): ... - def untagged_fields(self, version): ... - def has_data_class(self): ... - def set_data_class(self, data_class): ... - @property - def data_class(self): ... - def __call__(self, *args, **kw): ... - def emit_decode_from(self, ctx, var_name, indent, version=None, compact: bool = False, tagged: bool = False) -> None: ... - def emit_encode_into(self, ctx, val_expr, indent, version=None, compact: bool = False, tagged: bool = False) -> None: ... diff --git a/stubs/kafka-python/kafka/protocol/schemas/load_json.pyi b/stubs/kafka-python/kafka/protocol/schemas/load_json.pyi deleted file mode 100644 index 12140ce7a283..000000000000 --- a/stubs/kafka-python/kafka/protocol/schemas/load_json.pyi +++ /dev/null @@ -1,3 +0,0 @@ -from types import ModuleType - -def load_json(msg_type: str, package: str | ModuleType | None = None): ... diff --git a/stubs/kafka-python/kafka/protocol/schemas/resources/__init__.pyi b/stubs/kafka-python/kafka/protocol/schemas/resources/__init__.pyi deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/stubs/kafka-python/kafka/protocol/struct.pyi b/stubs/kafka-python/kafka/protocol/struct.pyi new file mode 100644 index 000000000000..11de387016c4 --- /dev/null +++ b/stubs/kafka-python/kafka/protocol/struct.pyi @@ -0,0 +1,14 @@ +from _typeshed import Incomplete + +from kafka.protocol.abstract import AbstractType + +class Struct(AbstractType): + SCHEMA: Incomplete + def __init__(self, *args, **kwargs) -> None: ... + @classmethod + def encode(cls, item): ... + @classmethod + def decode(cls, data): ... + def get_item(self, name): ... + def __hash__(self): ... + def __eq__(self, other): ... diff --git a/stubs/kafka-python/kafka/protocol/old/txn_offset_commit.pyi b/stubs/kafka-python/kafka/protocol/txn_offset_commit.pyi similarity index 79% rename from stubs/kafka-python/kafka/protocol/old/txn_offset_commit.pyi rename to stubs/kafka-python/kafka/protocol/txn_offset_commit.pyi index faa3f73980fe..d9b035c097da 100644 --- a/stubs/kafka-python/kafka/protocol/old/txn_offset_commit.pyi +++ b/stubs/kafka-python/kafka/protocol/txn_offset_commit.pyi @@ -1,6 +1,6 @@ from _typeshed import Incomplete -from .api import Request, Response +from kafka.protocol.api import Request, Response class TxnOffsetCommitResponse_v0(Response): API_KEY: int @@ -20,16 +20,19 @@ class TxnOffsetCommitResponse_v2(Response): class TxnOffsetCommitRequest_v0(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = TxnOffsetCommitResponse_v0 SCHEMA: Incomplete class TxnOffsetCommitRequest_v1(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = TxnOffsetCommitResponse_v1 SCHEMA: Incomplete class TxnOffsetCommitRequest_v2(Request): API_KEY: int API_VERSION: int + RESPONSE_TYPE = TxnOffsetCommitResponse_v2 SCHEMA: Incomplete TxnOffsetCommitRequest: Incomplete diff --git a/stubs/kafka-python/kafka/protocol/old/types.pyi b/stubs/kafka-python/kafka/protocol/types.pyi similarity index 72% rename from stubs/kafka-python/kafka/protocol/old/types.pyi rename to stubs/kafka-python/kafka/protocol/types.pyi index 4fa526218d1f..d1cc891ab005 100644 --- a/stubs/kafka-python/kafka/protocol/old/types.pyi +++ b/stubs/kafka-python/kafka/protocol/types.pyi @@ -1,8 +1,6 @@ -import uuid from _typeshed import Incomplete -from typing import Final -from .abstract import AbstractType as AbstractType +from kafka.protocol.abstract import AbstractType as AbstractType class Int8(AbstractType): @classmethod @@ -34,18 +32,11 @@ class Float64(AbstractType): @classmethod def decode(cls, data): ... -class UUID(AbstractType): - ZERO_UUID: Final[uuid.UUID] - @classmethod - def encode(cls, value) -> bytes: ... - @classmethod - def decode(cls, data) -> uuid.UUID: ... - class String(AbstractType): encoding: Incomplete def __init__(self, encoding: str = "utf-8") -> None: ... - def encode(self, value): ... # type: ignore[override] - def decode(self, data): ... # type: ignore[override] + def encode(self, value): ... + def decode(self, data): ... class Bytes(AbstractType): @classmethod @@ -63,17 +54,16 @@ class Boolean(AbstractType): class Schema(AbstractType): def __init__(self, *fields) -> None: ... - def has_tagged_fields(self): ... - def encode(self, item): ... # type: ignore[override] - def decode(self, data): ... # type: ignore[override] + def encode(self, item): ... + def decode(self, data): ... def __len__(self) -> int: ... def repr(self, value): ... class Array(AbstractType): array_of: Incomplete def __init__(self, *array_of) -> None: ... - def encode(self, items): ... # type: ignore[override] - def decode(self, data): ... # type: ignore[override] + def encode(self, items): ... + def decode(self, data): ... def repr(self, list_of_items): ... class UnsignedVarInt32(AbstractType): @@ -95,8 +85,8 @@ class VarInt64(AbstractType): def encode(cls, value): ... class CompactString(String): - def decode(self, data): ... # type: ignore[override] - def encode(self, value): ... # type: ignore[override] + def decode(self, data): ... + def encode(self, value): ... class TaggedFields(AbstractType): @classmethod @@ -111,8 +101,8 @@ class CompactBytes(AbstractType): def encode(cls, value): ... class CompactArray(Array): - def encode(self, items): ... # type: ignore[override] - def decode(self, data): ... # type: ignore[override] + def encode(self, items): ... + def decode(self, data): ... class BitField(AbstractType): @classmethod diff --git a/stubs/kafka-python/kafka/record/abc.pyi b/stubs/kafka-python/kafka/record/abc.pyi index ce0922d9bfd5..c351d4fb6611 100644 --- a/stubs/kafka-python/kafka/record/abc.pyi +++ b/stubs/kafka-python/kafka/record/abc.pyi @@ -1,7 +1,6 @@ import abc class ABCRecord(metaclass=abc.ABCMeta): - __slots__ = () @property @abc.abstractmethod def size_in_bytes(self): ... @@ -30,7 +29,6 @@ class ABCRecord(metaclass=abc.ABCMeta): def headers(self): ... class ABCRecordBatchBuilder(metaclass=abc.ABCMeta): - __slots__ = () @abc.abstractmethod def append(self, offset, timestamp, key, value, headers=None): ... @abc.abstractmethod @@ -39,7 +37,6 @@ class ABCRecordBatchBuilder(metaclass=abc.ABCMeta): def build(self): ... class ABCRecordBatch(metaclass=abc.ABCMeta): - __slots__ = () @abc.abstractmethod def __iter__(self): ... @property @@ -53,7 +50,6 @@ class ABCRecordBatch(metaclass=abc.ABCMeta): def magic(self): ... class ABCRecords(metaclass=abc.ABCMeta): - __slots__ = () @abc.abstractmethod def __init__(self, buffer): ... @abc.abstractmethod diff --git a/stubs/kafka-python/kafka/record/default_records.pyi b/stubs/kafka-python/kafka/record/default_records.pyi index a9347abc4ca5..bdb79252bc05 100644 --- a/stubs/kafka-python/kafka/record/default_records.pyi +++ b/stubs/kafka-python/kafka/record/default_records.pyi @@ -3,7 +3,6 @@ from _typeshed import Incomplete from kafka.record.abc import ABCRecord, ABCRecordBatch, ABCRecordBatchBuilder class DefaultRecordBase: - __slots__ = () HEADER_STRUCT: Incomplete ATTRIBUTES_OFFSET: Incomplete CRC_OFFSET: Incomplete @@ -24,7 +23,6 @@ class DefaultRecordBase: MAX_INT: int class DefaultRecordBatch(DefaultRecordBase, ABCRecordBatch): - __slots__ = ("_buffer", "_header_data", "_pos", "_num_records", "_next_record_index", "_decompressed") def __init__(self, buffer) -> None: ... @property def base_offset(self): ... @@ -75,7 +73,6 @@ class DefaultRecordBatch(DefaultRecordBase, ABCRecordBatch): def validate_crc(self): ... class DefaultRecord(ABCRecord): - __slots__ = ("_size_in_bytes", "_offset", "_timestamp", "_timestamp_type", "_key", "_value", "_headers") def __init__(self, size_in_bytes, offset, timestamp, timestamp_type, key, value, headers) -> None: ... @property def size_in_bytes(self): ... @@ -96,7 +93,6 @@ class DefaultRecord(ABCRecord): def validate_crc(self): ... class ControlRecord(DefaultRecord): - __slots__ = ("_size_in_bytes", "_offset", "_timestamp", "_timestamp_type", "_key", "_value", "_headers", "_version", "_type") KEY_STRUCT: Incomplete def __init__(self, size_in_bytes, offset, timestamp, timestamp_type, key, value, headers) -> None: ... @property @@ -109,20 +105,6 @@ class ControlRecord(DefaultRecord): def commit(self): ... class DefaultRecordBatchBuilder(DefaultRecordBase, ABCRecordBatchBuilder): - __slots__ = ( - "_magic", - "_compression_type", - "_batch_size", - "_is_transactional", - "_producer_id", - "_producer_epoch", - "_base_sequence", - "_first_timestamp", - "_max_timestamp", - "_last_offset", - "_num_records", - "_buffer", - ) MAX_RECORD_OVERHEAD: int def __init__( self, magic, compression_type, is_transactional, producer_id, producer_epoch, base_sequence, batch_size @@ -132,8 +114,6 @@ class DefaultRecordBatchBuilder(DefaultRecordBase, ABCRecordBatchBuilder): def producer_id(self): ... @property def producer_epoch(self): ... - @property - def base_sequence(self): ... def append( # type: ignore[override] self, offset, @@ -164,7 +144,6 @@ class DefaultRecordBatchBuilder(DefaultRecordBase, ABCRecordBatchBuilder): def estimate_size_in_bytes(cls, key, value, headers): ... class DefaultRecordMetadata: - __slots__ = ("_size", "_timestamp", "_offset") def __init__(self, offset, size, timestamp) -> None: ... @property def offset(self): ... diff --git a/stubs/kafka-python/kafka/record/legacy_records.pyi b/stubs/kafka-python/kafka/record/legacy_records.pyi index cd4f5495120f..d7165b0c0b10 100644 --- a/stubs/kafka-python/kafka/record/legacy_records.pyi +++ b/stubs/kafka-python/kafka/record/legacy_records.pyi @@ -3,7 +3,6 @@ from _typeshed import Incomplete from kafka.record.abc import ABCRecord, ABCRecordBatch, ABCRecordBatchBuilder class LegacyRecordBase: - __slots__ = () HEADER_STRUCT_V0: Incomplete HEADER_STRUCT_V1: Incomplete LOG_OVERHEAD: Incomplete @@ -26,7 +25,6 @@ class LegacyRecordBase: NO_TIMESTAMP: int class LegacyRecordBatch(ABCRecordBatch, LegacyRecordBase): - __slots__ = ("_buffer", "_magic", "_offset", "_length", "_crc", "_timestamp", "_attributes", "_decompressed") def __init__(self, buffer, magic) -> None: ... @property def base_offset(self): ... @@ -42,7 +40,6 @@ class LegacyRecordBatch(ABCRecordBatch, LegacyRecordBase): def __iter__(self): ... class LegacyRecord(ABCRecord): - __slots__ = ("_magic", "_offset", "_timestamp", "_timestamp_type", "_key", "_value", "_crc", "_crc_bytes") def __init__(self, magic, offset, timestamp, timestamp_type, key, value, crc, crc_bytes) -> None: ... @property def magic(self): ... @@ -65,7 +62,6 @@ class LegacyRecord(ABCRecord): def size_in_bytes(self): ... class LegacyRecordBatchBuilder(ABCRecordBatchBuilder, LegacyRecordBase): - __slots__ = ("_magic", "_compression_type", "_batch_size", "_buffer") def __init__(self, magic, compression_type, batch_size) -> None: ... def append(self, offset, timestamp, key, value, headers=None): ... def build(self): ... @@ -79,7 +75,6 @@ class LegacyRecordBatchBuilder(ABCRecordBatchBuilder, LegacyRecordBase): def estimate_size_in_bytes(cls, magic, compression_type, key, value): ... class LegacyRecordMetadata: - __slots__ = ("_crc", "_size", "_timestamp", "_offset") def __init__(self, offset, crc, size, timestamp) -> None: ... @property def offset(self): ... diff --git a/stubs/kafka-python/kafka/record/memory_records.pyi b/stubs/kafka-python/kafka/record/memory_records.pyi index d2be8259fa71..5dec0f3202fa 100644 --- a/stubs/kafka-python/kafka/record/memory_records.pyi +++ b/stubs/kafka-python/kafka/record/memory_records.pyi @@ -3,7 +3,6 @@ from _typeshed import Incomplete from kafka.record.abc import ABCRecords class MemoryRecords(ABCRecords): - __slots__ = ("_buffer", "_pos", "_next_slice", "_remaining_bytes") LENGTH_OFFSET: Incomplete LOG_OVERHEAD: Incomplete MAGIC_OFFSET: Incomplete @@ -18,18 +17,6 @@ class MemoryRecords(ABCRecords): next = __next__ class MemoryRecordsBuilder: - __slots__ = ( - "_builder", - "_batch_size", - "_buffer", - "_next_offset", - "_closed", - "_magic", - "_bytes_written", - "_producer_id", - "_producer_epoch", - "_base_sequence", - ) def __init__( self, magic, @@ -42,14 +29,12 @@ class MemoryRecordsBuilder: base_sequence: int = -1, ) -> None: ... def skip(self, offsets_to_skip) -> None: ... - def append(self, timestamp, key, value, headers=None): ... + def append(self, timestamp, key, value, headers=[]): ... def set_producer_state(self, producer_id, producer_epoch, base_sequence, is_transactional) -> None: ... @property def producer_id(self): ... @property def producer_epoch(self): ... - @property - def base_sequence(self): ... def records(self): ... def close(self) -> None: ... def size_in_bytes(self): ... diff --git a/stubs/kafka-python/kafka/net/sasl/__init__.pyi b/stubs/kafka-python/kafka/sasl/__init__.pyi similarity index 100% rename from stubs/kafka-python/kafka/net/sasl/__init__.pyi rename to stubs/kafka-python/kafka/sasl/__init__.pyi diff --git a/stubs/kafka-python/kafka/net/sasl/abc.pyi b/stubs/kafka-python/kafka/sasl/abc.pyi similarity index 100% rename from stubs/kafka-python/kafka/net/sasl/abc.pyi rename to stubs/kafka-python/kafka/sasl/abc.pyi diff --git a/stubs/kafka-python/kafka/net/sasl/gssapi.pyi b/stubs/kafka-python/kafka/sasl/gssapi.pyi similarity index 91% rename from stubs/kafka-python/kafka/net/sasl/gssapi.pyi rename to stubs/kafka-python/kafka/sasl/gssapi.pyi index cb3140c760b9..2bbe75ee3526 100644 --- a/stubs/kafka-python/kafka/net/sasl/gssapi.pyi +++ b/stubs/kafka-python/kafka/sasl/gssapi.pyi @@ -1,6 +1,6 @@ from _typeshed import Incomplete -from .abc import SaslMechanism +from kafka.sasl.abc import SaslMechanism class SaslMechanismGSSAPI(SaslMechanism): SASL_QOP_AUTH: int diff --git a/stubs/kafka-python/kafka/net/sasl/msk.pyi b/stubs/kafka-python/kafka/sasl/msk.pyi similarity index 93% rename from stubs/kafka-python/kafka/net/sasl/msk.pyi rename to stubs/kafka-python/kafka/sasl/msk.pyi index 272d60726c2b..3c3efed6fcc1 100644 --- a/stubs/kafka-python/kafka/net/sasl/msk.pyi +++ b/stubs/kafka-python/kafka/sasl/msk.pyi @@ -1,6 +1,8 @@ from _typeshed import Incomplete -from .abc import SaslMechanism +from kafka.sasl.abc import SaslMechanism + +log: Incomplete class SaslMechanismAwsMskIam(SaslMechanism): host: Incomplete diff --git a/stubs/kafka-python/kafka/net/sasl/oauth.pyi b/stubs/kafka-python/kafka/sasl/oauth.pyi similarity index 77% rename from stubs/kafka-python/kafka/net/sasl/oauth.pyi rename to stubs/kafka-python/kafka/sasl/oauth.pyi index 47876d066958..089ad778c4f4 100644 --- a/stubs/kafka-python/kafka/net/sasl/oauth.pyi +++ b/stubs/kafka-python/kafka/sasl/oauth.pyi @@ -1,7 +1,9 @@ import abc from _typeshed import Incomplete -from .abc import SaslMechanism +from kafka.sasl.abc import SaslMechanism + +log: Incomplete class SaslMechanismOAuth(SaslMechanism): token_provider: Incomplete @@ -12,7 +14,9 @@ class SaslMechanismOAuth(SaslMechanism): def is_authenticated(self): ... def auth_details(self): ... -class AbstractTokenProvider(abc.ABC, metaclass=abc.ABCMeta): +ABC: Incomplete + +class AbstractTokenProvider(ABC, metaclass=abc.ABCMeta): def __init__(self, **config) -> None: ... @abc.abstractmethod def token(self): ... diff --git a/stubs/kafka-python/kafka/net/sasl/plain.pyi b/stubs/kafka-python/kafka/sasl/plain.pyi similarity index 85% rename from stubs/kafka-python/kafka/net/sasl/plain.pyi rename to stubs/kafka-python/kafka/sasl/plain.pyi index ef14330ae527..be3f7961ad39 100644 --- a/stubs/kafka-python/kafka/net/sasl/plain.pyi +++ b/stubs/kafka-python/kafka/sasl/plain.pyi @@ -1,6 +1,8 @@ from _typeshed import Incomplete -from .abc import SaslMechanism +from kafka.sasl.abc import SaslMechanism + +log: Incomplete class SaslMechanismPlain(SaslMechanism): username: Incomplete diff --git a/stubs/kafka-python/kafka/net/sasl/scram.pyi b/stubs/kafka-python/kafka/sasl/scram.pyi similarity index 92% rename from stubs/kafka-python/kafka/net/sasl/scram.pyi rename to stubs/kafka-python/kafka/sasl/scram.pyi index 6803c6c15b63..928d1efb094f 100644 --- a/stubs/kafka-python/kafka/net/sasl/scram.pyi +++ b/stubs/kafka-python/kafka/sasl/scram.pyi @@ -1,8 +1,10 @@ from _typeshed import Incomplete -from .abc import SaslMechanism +from kafka.sasl.abc import SaslMechanism -def xor_bytes(left, right) -> bytes: ... +log: Incomplete + +def xor_bytes(left, right): ... class SaslMechanismScram(SaslMechanism): username: Incomplete diff --git a/stubs/kafka-python/kafka/net/sasl/sspi.pyi b/stubs/kafka-python/kafka/sasl/sspi.pyi similarity index 87% rename from stubs/kafka-python/kafka/net/sasl/sspi.pyi rename to stubs/kafka-python/kafka/sasl/sspi.pyi index 7e7f456f39e5..600c382b4094 100644 --- a/stubs/kafka-python/kafka/net/sasl/sspi.pyi +++ b/stubs/kafka-python/kafka/sasl/sspi.pyi @@ -1,6 +1,8 @@ from _typeshed import Incomplete -from .abc import SaslMechanism +from kafka.sasl.abc import SaslMechanism + +log: Incomplete class SaslMechanismSSPI(SaslMechanism): SASL_QOP_AUTH: int diff --git a/stubs/kafka-python/kafka/serializer/__init__.pyi b/stubs/kafka-python/kafka/serializer/__init__.pyi index fe3588013b49..b9caa9a2bcbb 100644 --- a/stubs/kafka-python/kafka/serializer/__init__.pyi +++ b/stubs/kafka-python/kafka/serializer/__init__.pyi @@ -1,4 +1 @@ -from .abstract import Deserializer as Deserializer, Serializer as Serializer -from .default import DefaultSerializer as DefaultSerializer -from .json import JsonSerializer as JsonSerializer -from .wrapper import DeserializeWrapper as DeserializeWrapper, SerializeWrapper as SerializeWrapper +from kafka.serializer.abstract import Deserializer as Deserializer, Serializer as Serializer diff --git a/stubs/kafka-python/kafka/serializer/abstract.pyi b/stubs/kafka-python/kafka/serializer/abstract.pyi index d8b45d1f4886..5e57c8b778a0 100644 --- a/stubs/kafka-python/kafka/serializer/abstract.pyi +++ b/stubs/kafka-python/kafka/serializer/abstract.pyi @@ -1,11 +1,15 @@ import abc class Serializer(metaclass=abc.ABCMeta): + __meta__ = abc.ABCMeta + def __init__(self, **config) -> None: ... @abc.abstractmethod - def serialize(self, topic: str, headers: list[tuple[str, bytes]], data): ... + def serialize(self, topic, value): ... def close(self) -> None: ... class Deserializer(metaclass=abc.ABCMeta): + __meta__ = abc.ABCMeta + def __init__(self, **config) -> None: ... @abc.abstractmethod - def deserialize(self, topic: str, headers: list[tuple[str, bytes]], data: bytes | None): ... + def deserialize(self, topic, bytes_): ... def close(self) -> None: ... diff --git a/stubs/kafka-python/kafka/serializer/default.pyi b/stubs/kafka-python/kafka/serializer/default.pyi deleted file mode 100644 index 104f9957e278..000000000000 --- a/stubs/kafka-python/kafka/serializer/default.pyi +++ /dev/null @@ -1,7 +0,0 @@ -from .abstract import Deserializer, Serializer - -class DefaultSerializer(Serializer, Deserializer): - encoding: str - def __init__(self, encoding: str = "utf-8") -> None: ... - def serialize(self, topic: str, headers: list[tuple[str, bytes]], data: str | bytes | bytearray | memoryview | None): ... - def deserialize(self, topic: str, headers: list[tuple[str, bytes]], data: bytes | None) -> str | None: ... diff --git a/stubs/kafka-python/kafka/serializer/json.pyi b/stubs/kafka-python/kafka/serializer/json.pyi deleted file mode 100644 index f542de83c560..000000000000 --- a/stubs/kafka-python/kafka/serializer/json.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from .default import DefaultSerializer - -class JsonSerializer(DefaultSerializer): - def serialize(self, topic: str, headers: list[tuple[str, bytes]], data): ... - def deserialize(self, topic: str, headers: list[tuple[str, bytes]], data): ... diff --git a/stubs/kafka-python/kafka/serializer/wrapper.pyi b/stubs/kafka-python/kafka/serializer/wrapper.pyi deleted file mode 100644 index 705f605a5b70..000000000000 --- a/stubs/kafka-python/kafka/serializer/wrapper.pyi +++ /dev/null @@ -1,13 +0,0 @@ -from _typeshed import Incomplete - -from .abstract import Deserializer, Serializer - -class DeserializeWrapper(Deserializer): - fn: Incomplete - def __init__(self, fn) -> None: ... - def deserialize(self, topic: str, headers: list[tuple[str, bytes]], data): ... - -class SerializeWrapper(Serializer): - fn: Incomplete - def __init__(self, fn) -> None: ... - def serialize(self, topic: str, headers: list[tuple[str, bytes]], data): ... diff --git a/stubs/kafka-python/kafka/socks5_wrapper.pyi b/stubs/kafka-python/kafka/socks5_wrapper.pyi new file mode 100644 index 000000000000..871e8b20344f --- /dev/null +++ b/stubs/kafka-python/kafka/socks5_wrapper.pyi @@ -0,0 +1,25 @@ +from _typeshed import Incomplete + +log: Incomplete + +class ProxyConnectionStates: + DISCONNECTED: str + CONNECTING: str + NEGOTIATE_PROPOSE: str + NEGOTIATING: str + AUTHENTICATING: str + REQUEST_SUBMIT: str + REQUESTING: str + READ_ADDRESS: str + COMPLETE: str + +class Socks5Wrapper: + def __init__(self, proxy_url, afi) -> None: ... + @classmethod + def is_inet_4_or_6(cls, gai): ... + @classmethod + def dns_lookup(cls, host, port, afi=...): ... + @classmethod + def use_remote_lookup(cls, proxy_url): ... + def socket(self, family, sock_type): ... + def connect_ex(self, addr): ... diff --git a/stubs/kafka-python/kafka/structs.pyi b/stubs/kafka-python/kafka/structs.pyi index 00e8a2dae59a..997afe9492f3 100644 --- a/stubs/kafka-python/kafka/structs.pyi +++ b/stubs/kafka-python/kafka/structs.pyi @@ -1,32 +1,53 @@ -from typing import Final, Literal, NamedTuple +from _typeshed import Incomplete +from typing import NamedTuple class TopicPartition(NamedTuple): topic: str partition: int -class TopicPartitionReplica(NamedTuple): +class BrokerMetadata(NamedTuple): + nodeId: int + host: str + port: int + rack: str | None + +class PartitionMetadata(NamedTuple): topic: str partition: int - broker_id: int + leader: int + leader_epoch: int | None + replicas: list[int] + isr: list[int] + offline_replicas: list[int] + error: Incomplete class OffsetAndMetadata(NamedTuple): - offset: int | None = None - metadata: str = "" - leader_epoch: int = -1 + offset: int + metadata: str + leader_epoch: int class OffsetAndTimestamp(NamedTuple): offset: int timestamp: int leader_epoch: int -class MemberState: - UNJOINED: Final = "" - REBALANCING: Final = "" - STABLE: Final = "" - -class ConsumerGroupMetadata(NamedTuple): - group_id: str | None = None - generation_id: int = -1 - member_id: str = "" - group_instance_id: str | None = None - state: Literal["", "", ""] = ... # Please, keep in sync with MemberState +class MemberInformation(NamedTuple): + member_id: str + client_id: str + client_host: str + member_metadata: Incomplete + member_assignment: Incomplete + +class GroupInformation(NamedTuple): + error_code: int + group: str + state: str + protocol_type: str + protocol: str + members: list[MemberInformation] + authorized_operations: list[str] + +class RetryOptions(NamedTuple): + limit: int + backoff_ms: int + retry_on_timeouts: bool diff --git a/stubs/kafka-python/kafka/util.pyi b/stubs/kafka-python/kafka/util.pyi index 83880d3b228e..4783d02b462a 100644 --- a/stubs/kafka-python/kafka/util.pyi +++ b/stubs/kafka-python/kafka/util.pyi @@ -5,16 +5,18 @@ from typing import ParamSpec, TypeVar _P = ParamSpec("_P") _T = TypeVar("_T") +MAX_INT: Incomplete +TO_SIGNED: Incomplete + +def crc32(data): ... + class Timer: - __slots__ = ("_start_at", "_expire_at", "_timeout_ms", "_error_message") def __init__(self, timeout_ms, error_message=None, start_at=None) -> None: ... @property def expired(self): ... @property def timeout_ms(self): ... @property - def timeout_secs(self) -> float | None: ... - @property def elapsed_ms(self): ... def maybe_raise(self) -> None: ... @@ -34,14 +36,3 @@ class WeakMethod: class Dict(dict[Incomplete, Incomplete]): ... def synchronized(func: Callable[_P, _T]) -> Callable[_P, _T]: ... - -class classproperty: - f: Incomplete - def __init__(self, f): ... - def __get__(self, obj, owner): ... - -class EnumHelper: - @classmethod - def build_from(cls, val): ... - @classmethod - def value_for(cls, val): ... diff --git a/stubs/ldap3/ldap3/core/connection.pyi b/stubs/ldap3/ldap3/core/connection.pyi index d348f2fbe1d4..10cb20008e94 100644 --- a/stubs/ldap3/ldap3/core/connection.pyi +++ b/stubs/ldap3/ldap3/core/connection.pyi @@ -6,7 +6,6 @@ from typing_extensions import Self from pyasn1.type.base import Asn1Item -from ..protocol.convert import _ControlSequence from .pooling import ServerPool from .server import Server @@ -16,11 +15,6 @@ CLIENT_STRATEGIES: Incomplete _ServerSequence: TypeAlias = ( set[Server] | list[Server] | tuple[Server, ...] | Generator[Server, None, None] | dict_keys[Server, Incomplete] ) -# TODO: Construct full request and response types. This is non-trivial because there are many different request/response types and -# the libary was written async (not thread-safe) design. -_Request: TypeAlias = Incomplete -_Response: TypeAlias = Incomplete -_Result: TypeAlias = Incomplete class Connection: connection_lock: Incomplete @@ -31,9 +25,9 @@ class Connection: authentication: Incomplete version: Incomplete auto_referrals: Incomplete - request: _Request - response: _Response | None - result: _Result + request: Incomplete + response: Incomplete | None + result: Incomplete bound: bool listening: bool closed: bool @@ -139,10 +133,7 @@ class Connection: read_server_info: bool = True, controls=None, ): ... - # Thread safe strategies return a (status, result, response, request) tuple instead of a bare status - def unbind( - self, controls: _ControlSequence | None = None - ) -> Literal[True] | tuple[Literal[True], _Result, _Response, _Request]: ... + def unbind(self, controls=None): ... def search( self, search_base: str, diff --git a/stubs/ldap3/ldap3/protocol/convert.pyi b/stubs/ldap3/ldap3/protocol/convert.pyi index 8909df7c028c..10b06b4f6165 100644 --- a/stubs/ldap3/ldap3/protocol/convert.pyi +++ b/stubs/ldap3/ldap3/protocol/convert.pyi @@ -1,15 +1,3 @@ -from _collections_abc import Generator, dict_keys -from _typeshed import Incomplete -from typing import TypeAlias - -from .rfc4511 import Control, Controls - -# A control is either a Control object or a (controlType, criticality, controlValue) triple -_Control: TypeAlias = Control | tuple[str, bool, str | bytes | None] -_ControlSequence: TypeAlias = ( - set[_Control] | list[_Control] | tuple[_Control, ...] | Generator[_Control, None, None] | dict_keys[_Control, Incomplete] -) - def to_str_or_normalized_unicode(val): ... def attribute_to_dict(attribute): ... def attributes_to_dict(attributes): ... @@ -25,7 +13,7 @@ def attributes_to_list(attributes): ... def ava_to_dict(ava): ... def substring_to_dict(substring): ... def prepare_changes_for_request(changes): ... -def build_controls_list(controls: _ControlSequence | None) -> Controls | None: ... +def build_controls_list(controls): ... def validate_assertion_value(schema, name, value, auto_escape, auto_encode, validator, check_names): ... def validate_attribute_value(schema, name, value, auto_encode, validator=None, check_names: bool = False): ... def prepare_filter_for_sending(raw_string): ... diff --git a/stubs/ldap3/ldap3/strategy/base.pyi b/stubs/ldap3/ldap3/strategy/base.pyi index bf28ee9f9548..1adc87f03185 100644 --- a/stubs/ldap3/ldap3/strategy/base.pyi +++ b/stubs/ldap3/ldap3/strategy/base.pyi @@ -1,7 +1,5 @@ from _typeshed import Incomplete -from ..protocol.convert import _ControlSequence - unix_socket_available: bool SESSION_TERMINATED_BY_SERVER: str TRANSACTION_ERROR: str @@ -18,7 +16,7 @@ class BaseStrategy: def __init__(self, ldap_connection) -> None: ... def open(self, reset_usage: bool = True, read_server_info: bool = True) -> None: ... def close(self) -> None: ... - def send(self, message_type, request, controls: _ControlSequence | None = None): ... + def send(self, message_type, request, controls=None): ... def get_response(self, message_id, timeout=None, get_request: bool = False): ... @staticmethod def compute_ldap_message_size(data): ... diff --git a/stubs/ldap3/ldap3/strategy/ldifProducer.pyi b/stubs/ldap3/ldap3/strategy/ldifProducer.pyi index 36268051577c..92524d3ad59c 100644 --- a/stubs/ldap3/ldap3/strategy/ldifProducer.pyi +++ b/stubs/ldap3/ldap3/strategy/ldifProducer.pyi @@ -1,6 +1,5 @@ from _typeshed import Incomplete -from ..protocol.convert import _ControlSequence from .base import BaseStrategy class LdifProducerStrategy(BaseStrategy): @@ -14,7 +13,7 @@ class LdifProducerStrategy(BaseStrategy): order: Incomplete def __init__(self, ldap_connection) -> None: ... def receiving(self) -> None: ... - def send(self, message_type, request, controls: _ControlSequence | None = None): ... + def send(self, message_type, request, controls=None): ... def post_send_single_response(self, message_id): ... def post_send_search(self, message_id) -> None: ... def accumulate_stream(self, fragment) -> None: ... diff --git a/stubs/ldap3/ldap3/strategy/mockBase.pyi b/stubs/ldap3/ldap3/strategy/mockBase.pyi index 36042b449036..879cc5efecc8 100644 --- a/stubs/ldap3/ldap3/strategy/mockBase.pyi +++ b/stubs/ldap3/ldap3/strategy/mockBase.pyi @@ -1,7 +1,5 @@ from _typeshed import Incomplete -from ..protocol.convert import _ControlSequence - SEARCH_CONTROLS: Incomplete SERVER_ENCODING: str @@ -36,4 +34,4 @@ class MockBaseStrategy: def mock_extended(self, request_message, controls): ... def evaluate_filter_node(self, node, candidates): ... def equal(self, dn, attribute_type, value_to_check): ... - def send(self, message_type, request, controls: _ControlSequence | None = None): ... + def send(self, message_type, request, controls=None): ... diff --git a/stubs/ldap3/ldap3/strategy/restartable.pyi b/stubs/ldap3/ldap3/strategy/restartable.pyi index 4ac56e980728..bec37ed375ac 100644 --- a/stubs/ldap3/ldap3/strategy/restartable.pyi +++ b/stubs/ldap3/ldap3/strategy/restartable.pyi @@ -1,6 +1,5 @@ from _typeshed import Incomplete -from ..protocol.convert import _ControlSequence from .sync import SyncStrategy class RestartableStrategy(SyncStrategy): @@ -13,7 +12,7 @@ class RestartableStrategy(SyncStrategy): exception_history: Incomplete def __init__(self, ldap_connection) -> None: ... def open(self, reset_usage: bool = False, read_server_info: bool = True) -> None: ... - def send(self, message_type, request, controls: _ControlSequence | None = None): ... + def send(self, message_type, request, controls=None): ... def post_send_single_response(self, message_id): ... def post_send_search(self, message_id): ... def get_stream(self) -> None: ... diff --git a/stubs/ldap3/ldap3/strategy/reusable.pyi b/stubs/ldap3/ldap3/strategy/reusable.pyi index 7b5159b57224..92b2f3ad7b8f 100644 --- a/stubs/ldap3/ldap3/strategy/reusable.pyi +++ b/stubs/ldap3/ldap3/strategy/reusable.pyi @@ -1,7 +1,6 @@ from _typeshed import Incomplete from threading import Thread -from ..protocol.convert import _ControlSequence from .base import BaseStrategy TERMINATE_REUSABLE: str @@ -69,7 +68,7 @@ class ReusableStrategy(BaseStrategy): def __init__(self, ldap_connection) -> None: ... def open(self, reset_usage: bool = True, read_server_info: bool = True) -> None: ... def terminate(self) -> None: ... - def send(self, message_type, request, controls: _ControlSequence | None = None): ... + def send(self, message_type, request, controls=None): ... def validate_bind(self, controls): ... def get_response(self, counter, timeout=None, get_request: bool = False): ... def post_send_single_response(self, counter): ... diff --git a/stubs/lupa/METADATA.toml b/stubs/lupa/METADATA.toml index 9ab84dd92ab1..7867a8a93236 100644 --- a/stubs/lupa/METADATA.toml +++ b/stubs/lupa/METADATA.toml @@ -1,2 +1,2 @@ -version = "2.8.*" +version = "2.6.*" upstream-repository = "https://github.com/scoder/lupa" diff --git a/stubs/lupa/lupa/__init__.pyi b/stubs/lupa/lupa/__init__.pyi index 6eb98c022432..d14ef918216c 100644 --- a/stubs/lupa/lupa/__init__.pyi +++ b/stubs/lupa/lupa/__init__.pyi @@ -1,7 +1,7 @@ -from .lua55 import * +from .lua54 import * __all__ = [ - # from lua55 (newest lib) + # from lua54 (newest lib) "LUA_VERSION", "LUA_MAXINTEGER", "LUA_MININTEGER", diff --git a/stubs/lupa/lupa/lua55.pyi b/stubs/lupa/lupa/lua55.pyi deleted file mode 100644 index 7604148b370b..000000000000 --- a/stubs/lupa/lupa/lua55.pyi +++ /dev/null @@ -1,102 +0,0 @@ -from _typeshed import MaybeNone -from collections.abc import Callable, Iterable -from typing import Any, Final, Generic, TypeAlias, TypeVar, type_check_only -from typing_extensions import Self, disjoint_base - -__all__ = [ - "LUA_VERSION", - "LUA_MAXINTEGER", - "LUA_MININTEGER", - "LuaRuntime", - "LuaError", - "LuaSyntaxError", - "LuaMemoryError", - "as_itemgetter", - "as_attrgetter", - "lua_type", - "unpacks_lua_table", - "unpacks_lua_table_method", -] - -LUA_MAXINTEGER: Final[int] -LUA_MININTEGER: Final[int] -LUA_VERSION: Final[tuple[int, int]] - -# cyfunction object -as_attrgetter: Callable[[object], object] -as_itemgetter: Callable[[object], object] - -# cyfunction object -lua_type: Callable[[object], str | MaybeNone] - -# cyfunction object as decorator -unpacks_lua_table: Callable[[Callable[..., Any]], Callable[..., Any]] -unpacks_lua_table_method: Callable[[Callable[..., Any]], Callable[..., Any]] - -# inner classes - -@type_check_only -class _LuaTable: - def keys(self) -> Iterable[_LuaKey]: ... - def values(self) -> Iterable[_LuaObject]: ... - def items(self) -> Iterable[tuple[_LuaKey, _LuaObject]]: ... - def __getitem__(self, key: _LuaKey) -> _LuaObject: ... - def __setitem__(self, key: _LuaKey, value: _LuaObject) -> None: ... - def __delitem__(self, key: _LuaKey) -> None: ... - -# A Lua object can be a table or a primitive type. Because we have no way of -# knowing the actual type across languages, we simply use an Any for a Lua -# object. - -# A previous version of this code had -# _LuaObject: TypeAlias = _LuaTable | int | str | float | bool | None -# but that causes false type failures when running, e.g., `lua.globals()['foo']['bar']` -# (because `lua.globals()['foo']` is not known to be a nested table -_LuaKey: TypeAlias = str | int -_LuaObject: TypeAlias = Any - -@type_check_only -class _LuaNoGC: ... - -# classes - -_bint = TypeVar("_bint", bool, int) - -@disjoint_base -class FastRLock(Generic[_bint]): - # @classmethod - # def __init__(cls, /, *args: Any, **kwargs: Any) -> None: ... - def acquire(self, blocking: _bint = ...) -> _bint: ... - def release(self) -> None: ... - def __enter__(self) -> _bint: ... - def __exit__(self, t: object, v: object, tb: object) -> None: ... - -class LuaError(Exception): ... -class LuaSyntaxError(LuaError): ... -class LuaMemoryError(LuaError, MemoryError): ... - -@disjoint_base -class LuaRuntime: - lua_implementation: Final[str] - lua_version: Final[tuple[int, int]] - - def __new__(cls, /, unpack_returned_tuples: bool) -> Self: ... - # def add_pending_unref(self, ref: int) -> None: ... - # def clean_up_pending_unrefs(self) -> int: ... - def get_max_memory(self, total: bool = False) -> int | MaybeNone: ... - def get_memory_used(self, total: bool = False) -> int | MaybeNone: ... - # def reraise_on_exceptions(self) -> int: ... - # def store_raised_exception(self, L: object, lua_error_msg: str) -> None: ... # unannotated - def eval(self, lua_code: str, *args: Any, name: str | None = None, mode: str | None = None) -> object: ... - def execute(self, lua_code: str, *args: Any, name: str | None = None, mode: str | None = None) -> object: ... - def compile(self, lua_code: str, name: str | None = None, mode: str | None = None) -> Callable[..., object]: ... - def require(self, modulename: str) -> object: ... - def globals(self) -> _LuaTable: ... - def table(self, *items: Any, **kwargs: Any) -> _LuaTable: ... - def table_from(self, *args: Any, recursive: bool = False) -> _LuaTable: ... - def nogc(self) -> _LuaNoGC: ... - def gccollect(self) -> None: ... - def set_max_memory(self, max_memory: int, total: bool = False) -> None: ... - def set_overflow_handler(self, overflow_handler: Callable[..., None]) -> None: ... - # def register_py_object(self, cname: str, pyname: str, obj: object) -> int: ... - # def init_python_lib(self, register_eval: bool, register_builtins: bool) -> int: ... diff --git a/stubs/networkx/METADATA.toml b/stubs/networkx/METADATA.toml index 0f83cc29aabf..80c1685dcf49 100644 --- a/stubs/networkx/METADATA.toml +++ b/stubs/networkx/METADATA.toml @@ -1,7 +1,7 @@ version = "3.6.1" upstream-repository = "https://github.com/networkx/networkx" -# Requires a version of NumPy with `numpy.typing.NDArray`. -optional-dependencies = ["numpy>=1.21"] +# requires a version of numpy with a `py.typed` file +dependencies = ["numpy>=1.20"] [tool.stubtest] # stub_uploader won't allow pandas-stubs in the requires field https://github.com/typeshed-internal/stub_uploader/issues/90 diff --git a/stubs/networkx/networkx/drawing/layout.pyi b/stubs/networkx/networkx/drawing/layout.pyi index e84a432458be..0ecb4a6d4289 100644 --- a/stubs/networkx/networkx/drawing/layout.pyi +++ b/stubs/networkx/networkx/drawing/layout.pyi @@ -3,7 +3,7 @@ from typing import Any, Literal, TypeAlias import numpy as np from networkx._typing import Array1D, Array2D, ArrayLike1D, Seed -from networkx.classes.graph import Graph, _EdgeData, _Node, _NodeData +from networkx.classes.graph import Graph, _Node from networkx.utils.backends import _dispatchable from numpy.typing import NDArray @@ -29,21 +29,17 @@ __all__ = [ _FloatArrayLike1D: TypeAlias = ArrayLike1D[float, np.number[Any]] # Any because we don't care about the bit base def random_layout( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], center: _FloatArrayLike1D | None = None, dim: int = 2, seed: Seed | None = None, store_pos_as: str | None = None, ) -> dict[_Node, Array1D[np.float32]]: ... def circular_layout( - G: Graph[_Node, _NodeData, _EdgeData], - scale: float = 1, - center: _FloatArrayLike1D | None = None, - dim: int = 2, - store_pos_as: str | None = None, + G: Graph[_Node], scale: float = 1, center: _FloatArrayLike1D | None = None, dim: int = 2, store_pos_as: str | None = None ) -> dict[_Node, Array1D[np.float64]]: ... def shell_layout( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], nlist: Collection[Collection[_Node]] | None = None, rotate: float | None = None, scale: float = 1, @@ -52,7 +48,7 @@ def shell_layout( store_pos_as: str | None = None, ) -> dict[_Node, Array1D[np.float64]]: ... def bipartite_layout( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], nodes: Collection[_Node] | None = None, align: Literal["vertical", "horizontal"] = "vertical", scale: float = 1, @@ -61,7 +57,7 @@ def bipartite_layout( store_pos_as: str | None = None, ) -> dict[_Node, Array1D[np.float64]]: ... def spring_layout( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], k: float | None = None, pos: Mapping[_Node, Collection[float]] | None = None, fixed: Collection[_Node] | None = None, @@ -81,7 +77,7 @@ def spring_layout( fruchterman_reingold_layout = spring_layout def kamada_kawai_layout( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], dist: Mapping[_Node, Mapping[_Node, float]] | None = None, pos: Mapping[_Node, Collection[float]] | None = None, weight: str | None = "weight", @@ -91,7 +87,7 @@ def kamada_kawai_layout( store_pos_as: str | None = None, ) -> dict[_Node, Array1D[np.float64]]: ... def spectral_layout( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], weight: str | None = "weight", scale: float = 1, center: _FloatArrayLike1D | None = None, @@ -99,14 +95,10 @@ def spectral_layout( store_pos_as: str | None = None, ) -> dict[_Node, Array1D[np.float64]]: ... def planar_layout( - G: Graph[_Node, _NodeData, _EdgeData], - scale: float = 1, - center: _FloatArrayLike1D | None = None, - dim: int = 2, - store_pos_as: str | None = None, + G: Graph[_Node], scale: float = 1, center: _FloatArrayLike1D | None = None, dim: int = 2, store_pos_as: str | None = None ) -> dict[_Node, Array1D[np.float64]]: ... def spiral_layout( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], scale: float = 1, center: _FloatArrayLike1D | None = None, dim: int = 2, @@ -115,7 +107,7 @@ def spiral_layout( store_pos_as: str | None = None, ) -> dict[_Node, Array1D[np.float64]]: ... def multipartite_layout( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], subset_key: str | Mapping[Any, Collection[_Node]] = "subset", # layers can be "any" hashable align: Literal["vertical", "horizontal"] = "vertical", scale: float = 1, @@ -123,7 +115,7 @@ def multipartite_layout( store_pos_as: str | None = None, ) -> dict[_Node, Array1D[np.float64]]: ... def arf_layout( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], pos: Mapping[_Node, Collection[float]] | None = None, scaling: float = 1, a: float = 1.1, @@ -136,7 +128,7 @@ def arf_layout( ) -> dict[_Node, Array1D[np.float32]]: ... @_dispatchable def forceatlas2_layout( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], pos: Mapping[_Node, Collection[float]] | None = None, *, max_iter: int = 100, @@ -156,7 +148,7 @@ def forceatlas2_layout( def rescale_layout(pos: NDArray[np.number[Any]], scale: float = 1) -> Array2D[np.float64]: ... # ignore the bit base def rescale_layout_dict(pos: Mapping[_Node, Collection[float]], scale: float = 1) -> dict[_Node, Array1D[np.float64]]: ... def bfs_layout( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], start: _Node, *, align: Literal["vertical", "horizontal"] = "vertical", diff --git a/stubs/networkx/networkx/drawing/nx_agraph.pyi b/stubs/networkx/networkx/drawing/nx_agraph.pyi index 86699adf1287..d3de4c55aae5 100644 --- a/stubs/networkx/networkx/drawing/nx_agraph.pyi +++ b/stubs/networkx/networkx/drawing/nx_agraph.pyi @@ -2,7 +2,7 @@ from _typeshed import OpenBinaryModeUpdating, OpenTextModeReading, OpenTextModeW from collections.abc import Callable from typing import IO, Any, Protocol, TypeVar, type_check_only -from networkx.classes.graph import Graph, _EdgeData, _Node, _NodeData +from networkx.classes.graph import Graph, _Node from networkx.utils.backends import _dispatchable from pygraphviz.agraph import AGraph # type: ignore[import-not-found] # pyright: ignore[reportMissingImports] @@ -19,21 +19,20 @@ class _SupportsOpen(Protocol[_ModeT_contra, _FileT_co]): def from_agraph( A: AGraph, create_using: Graph[str] | type[Graph[str]] | None = None # TODO: add overloads on `create_using` ) -> Graph[str]: ... -def to_agraph(N: Graph[_Node, _NodeData, _EdgeData]) -> AGraph: ... +def to_agraph(N: Graph[_Node]) -> AGraph: ... def write_dot( - G: Graph[_Node, _NodeData, _EdgeData], - path: str | IO[str] | IO[bytes] | _SupportsOpen[OpenTextModeWriting, IO[str] | IO[bytes]], + G: Graph[_Node], path: str | IO[str] | IO[bytes] | _SupportsOpen[OpenTextModeWriting, IO[str] | IO[bytes]] ) -> None: ... @_dispatchable def read_dot(path: str | IO[str] | IO[bytes] | _SupportsOpen[OpenTextModeReading, IO[str] | IO[bytes]]) -> Graph[str]: ... def graphviz_layout( - G: Graph[_Node, _NodeData, _EdgeData], prog: str = "neato", root: str | None = None, args: str = "" + G: Graph[_Node], prog: str = "neato", root: str | None = None, args: str = "" ) -> dict[_Node, tuple[float, float]]: ... def pygraphviz_layout( - G: Graph[_Node, _NodeData, _EdgeData], prog: str = "neato", root: str | None = None, args: str = "" + G: Graph[_Node], prog: str = "neato", root: str | None = None, args: str = "" ) -> dict[_Node, tuple[float, float]]: ... def view_pygraphviz( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], # From implementation looks like Callable could return object since it's always immediately stringified # But judging by documentation this seems like an extra runtime safety thing and not intended # Leaving as str unless anyone reports a valid use-case diff --git a/stubs/networkx/networkx/drawing/nx_latex.pyi b/stubs/networkx/networkx/drawing/nx_latex.pyi index 25bb12bbb67a..07639af60021 100644 --- a/stubs/networkx/networkx/drawing/nx_latex.pyi +++ b/stubs/networkx/networkx/drawing/nx_latex.pyi @@ -1,20 +1,18 @@ from _typeshed import StrPath, SupportsWrite from collections.abc import Collection -from typing import Any, TypeAlias, TypeVar +from typing import TypeAlias, TypeVar from networkx.classes.graph import Graph, _Node __all__ = ["to_latex_raw", "to_latex", "write_latex"] -# The node and edge data types are not bound here: `_NodeData` and `_EdgeData` have -# defaults, so they could not precede `_PosT`, which has none, in the type parameter list. # runtime requires a dict but it doesn't mutate it, we use a bounded typevar as # a values type to make type checkers treat the dict covariantely _PosT = TypeVar("_PosT", bound=Collection[float] | str) _Pos: TypeAlias = str | dict[_Node, _PosT] def to_latex_raw( - G: Graph[_Node, Any, Any], + G: Graph[_Node], pos: _Pos[_Node, _PosT] = "pos", tikz_options: str = "", default_node_options: str = "", @@ -26,7 +24,7 @@ def to_latex_raw( edge_label_options: str | dict[tuple[_Node, _Node], str] = "edge_label_options", ) -> str: ... def to_latex( - Gbunch: Graph[_Node, Any, Any] | Collection[Graph[_Node, Any, Any]], + Gbunch: Graph[_Node] | Collection[Graph[_Node]], pos: _Pos[_Node, _PosT] | Collection[_Pos[_Node, _PosT]] = "pos", tikz_options: str = "", default_node_options: str = "", @@ -47,7 +45,7 @@ def to_latex( subfigure_wrapper: str = ..., ) -> str: ... def write_latex( - Gbunch: Graph[_Node, Any, Any] | Collection[Graph[_Node, Any, Any]], + Gbunch: Graph[_Node] | Collection[Graph[_Node]], path: StrPath | SupportsWrite[str], *, # **options passed to `to_latex` diff --git a/stubs/networkx/networkx/drawing/nx_pydot.pyi b/stubs/networkx/networkx/drawing/nx_pydot.pyi index 14b80b77bb2c..fa0cb03f9944 100644 --- a/stubs/networkx/networkx/drawing/nx_pydot.pyi +++ b/stubs/networkx/networkx/drawing/nx_pydot.pyi @@ -2,21 +2,17 @@ from _typeshed import SupportsRead, SupportsWrite from os import PathLike from typing import Any -from networkx.classes.graph import Graph, _EdgeData, _Node, _NodeData +from networkx.classes.graph import Graph, _Node from networkx.utils.backends import _dispatchable from pydot import Dot # type: ignore[import-not-found] # pyright: ignore[reportMissingImports] __all__ = ["write_dot", "read_dot", "graphviz_layout", "pydot_layout", "to_pydot", "from_pydot"] -def write_dot(G: Graph[_Node, _NodeData, _EdgeData], path: str | PathLike[Any] | SupportsWrite[str]) -> None: ... +def write_dot(G: Graph[_Node], path: str | PathLike[Any] | SupportsWrite[str]) -> None: ... @_dispatchable def read_dot(path: str | PathLike[Any] | SupportsRead[str]) -> Graph[str]: ... @_dispatchable def from_pydot(P: Dot) -> Graph[str]: ... -def to_pydot(N: Graph[_Node, _NodeData, _EdgeData]) -> Dot: ... -def graphviz_layout( - G: Graph[_Node, _NodeData, _EdgeData], prog: str = "neato", root: _Node | None = None -) -> dict[_Node, tuple[float, float]]: ... -def pydot_layout( - G: Graph[_Node, _NodeData, _EdgeData], prog: str = "neato", root: _Node | None = None -) -> dict[_Node, tuple[float, float]]: ... +def to_pydot(N: Graph[_Node]) -> Dot: ... +def graphviz_layout(G: Graph[_Node], prog: str = "neato", root: _Node | None = None) -> dict[_Node, tuple[float, float]]: ... +def pydot_layout(G: Graph[_Node], prog: str = "neato", root: _Node | None = None) -> dict[_Node, tuple[float, float]]: ... diff --git a/stubs/networkx/networkx/drawing/nx_pylab.pyi b/stubs/networkx/networkx/drawing/nx_pylab.pyi index 5d0102713220..34c40c5f5f67 100644 --- a/stubs/networkx/networkx/drawing/nx_pylab.pyi +++ b/stubs/networkx/networkx/drawing/nx_pylab.pyi @@ -12,7 +12,7 @@ from matplotlib.text import Text # type: ignore[import-not-found] from matplotlib.typing import ColorType # type: ignore[import-not-found] from networkx._typing import Array2D from networkx.classes.digraph import DiGraph -from networkx.classes.graph import Graph, _EdgeData, _Node, _NodeData +from networkx.classes.graph import Graph, _Node __all__ = [ "display", @@ -34,7 +34,7 @@ __all__ = [ "draw_forceatlas2", ] -_G = TypeVar("_G", bound=Graph[Any, Any, Any]) +_G = TypeVar("_G", bound=Graph[Any]) # types from matplotlib _FontSize: TypeAlias = Literal["xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large"] | float @@ -102,7 +102,7 @@ class _DrawNetworkxKwds(TypedDict, Generic[_Node], total=False): hide_ticks: bool def apply_matplotlib_colors( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], src_attr: str, dest_attr: str, map: str | Colormap, @@ -157,7 +157,7 @@ def display( hide_ticks: bool = True, ) -> _G: ... def draw( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], pos: Mapping[_Node, Collection[float]] | None = None, ax: Axes | None = None, *, @@ -165,7 +165,7 @@ def draw( **kwds: Unpack[_DrawNetworkxKwds[_Node]], ) -> None: ... def draw_networkx( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], pos: Mapping[_Node, Collection[float]] | None = None, arrows: bool | None = None, with_labels: bool = True, @@ -174,7 +174,7 @@ def draw_networkx( **kwds: Unpack[_DrawNetworkxKwds[_Node]], ) -> None: ... def draw_networkx_nodes( # keep in sync with _DrawNetworkxKwds above - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], pos: Mapping[_Node, Collection[float]], nodelist: Collection[_Node] | None = None, node_size: float | Collection[float] = 300, @@ -194,7 +194,7 @@ def draw_networkx_nodes( # keep in sync with _DrawNetworkxKwds above @overload # arrows=None -> LineCollection if G is undirected, list[FancyArrowPatch] if G is directed def draw_networkx_edges( # keep in sync with _DrawNetworkxKwds above - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], pos: Mapping[_Node, Collection[float]], edgelist: Collection[_Node | Hashable] | None = None, # (u, v, k) for multigraphs and (u, v) for simple graphs width: float | Collection[float] = 1.0, @@ -219,7 +219,7 @@ def draw_networkx_edges( # keep in sync with _DrawNetworkxKwds above ) -> LineCollection | list[FancyArrowPatch]: ... @overload # directed graph and arrows=None -> list[FancyArrowPatch] def draw_networkx_edges( - G: DiGraph[_Node, _NodeData, _EdgeData], + G: DiGraph[_Node], pos: Mapping[_Node, Collection[float]], edgelist: Collection[_Node | Hashable] | None = None, # (u, v, k) for multigraphs and (u, v) for simple graphs width: float | Collection[float] = 1.0, @@ -244,7 +244,7 @@ def draw_networkx_edges( ) -> list[FancyArrowPatch]: ... @overload # arrows=True -> list[FancyArrowPatch] def draw_networkx_edges( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], pos: Mapping[_Node, Collection[float]], edgelist: Collection[_Node | Hashable] | None = None, # (u, v, k) for multigraphs and (u, v) for simple graphs width: float | Collection[float] = 1.0, @@ -270,7 +270,7 @@ def draw_networkx_edges( ) -> list[FancyArrowPatch]: ... @overload # arrows=False -> LineCollection def draw_networkx_edges( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], pos: Mapping[_Node, Collection[float]], edgelist: Collection[_Node | Hashable] | None = None, # (u, v, k) for multigraphs and (u, v) for simple graphs width: float | Collection[float] = 1.0, @@ -291,7 +291,7 @@ def draw_networkx_edges( ) -> LineCollection: ... def draw_networkx_labels( # keep in sync with _DrawNetworkxKwds above - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], pos: Mapping[_Node, Collection[float]], labels: Mapping[_Node, object] | None = None, # labels are explicitly converted to str font_size: _FontSize | Mapping[_Node, _FontSize] = 12, @@ -308,7 +308,7 @@ def draw_networkx_labels( # keep in sync with _DrawNetworkxKwds above ) -> dict[_Node, Text]: ... def draw_networkx_edge_labels( # TODO: find a way to have a covariant list for params annotated with `something | list[Incomplete]` - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], pos: Mapping[_Node, Collection[float]], edge_labels: ( SupportsItems[ @@ -335,49 +335,25 @@ def draw_networkx_edge_labels( hide_ticks: bool = True, ) -> dict[tuple[_Node, _Node] | tuple[_Node, _Node, Any], Text]: ... # Any is for multigraph key def draw_bipartite( - G: Graph[_Node, _NodeData, _EdgeData], - *, - ax: Axes | None = None, - with_labels: bool = ..., - **kwargs: Unpack[_DrawNetworkxKwds[_Node]], + G: Graph[_Node], *, ax: Axes | None = None, with_labels: bool = ..., **kwargs: Unpack[_DrawNetworkxKwds[_Node]] ) -> None: ... def draw_circular( - G: Graph[_Node, _NodeData, _EdgeData], - *, - ax: Axes | None = None, - with_labels: bool = ..., - **kwargs: Unpack[_DrawNetworkxKwds[_Node]], + G: Graph[_Node], *, ax: Axes | None = None, with_labels: bool = ..., **kwargs: Unpack[_DrawNetworkxKwds[_Node]] ) -> None: ... def draw_kamada_kawai( - G: Graph[_Node, _NodeData, _EdgeData], - *, - ax: Axes | None = None, - with_labels: bool = ..., - **kwargs: Unpack[_DrawNetworkxKwds[_Node]], + G: Graph[_Node], *, ax: Axes | None = None, with_labels: bool = ..., **kwargs: Unpack[_DrawNetworkxKwds[_Node]] ) -> None: ... def draw_random( - G: Graph[_Node, _NodeData, _EdgeData], - *, - ax: Axes | None = None, - with_labels: bool = ..., - **kwargs: Unpack[_DrawNetworkxKwds[_Node]], + G: Graph[_Node], *, ax: Axes | None = None, with_labels: bool = ..., **kwargs: Unpack[_DrawNetworkxKwds[_Node]] ) -> None: ... def draw_spectral( - G: Graph[_Node, _NodeData, _EdgeData], - *, - ax: Axes | None = None, - with_labels: bool = ..., - **kwargs: Unpack[_DrawNetworkxKwds[_Node]], + G: Graph[_Node], *, ax: Axes | None = None, with_labels: bool = ..., **kwargs: Unpack[_DrawNetworkxKwds[_Node]] ) -> None: ... def draw_spring( - G: Graph[_Node, _NodeData, _EdgeData], - *, - ax: Axes | None = None, - with_labels: bool = ..., - **kwargs: Unpack[_DrawNetworkxKwds[_Node]], + G: Graph[_Node], *, ax: Axes | None = None, with_labels: bool = ..., **kwargs: Unpack[_DrawNetworkxKwds[_Node]] ) -> None: ... def draw_shell( - G: Graph[_Node, _NodeData, _EdgeData], + G: Graph[_Node], nlist: Collection[Collection[_Node]] | None = None, *, ax: Axes | None = None, @@ -385,18 +361,10 @@ def draw_shell( **kwargs: Unpack[_DrawNetworkxKwds[_Node]], ) -> None: ... def draw_planar( - G: Graph[_Node, _NodeData, _EdgeData], - *, - ax: Axes | None = None, - with_labels: bool = ..., - **kwargs: Unpack[_DrawNetworkxKwds[_Node]], + G: Graph[_Node], *, ax: Axes | None = None, with_labels: bool = ..., **kwargs: Unpack[_DrawNetworkxKwds[_Node]] ) -> None: ... def draw_forceatlas2( - G: Graph[_Node, _NodeData, _EdgeData], - *, - ax: Axes | None = None, - with_labels: bool = ..., - **kwargs: Unpack[_DrawNetworkxKwds[_Node]], + G: Graph[_Node], *, ax: Axes | None = None, with_labels: bool = ..., **kwargs: Unpack[_DrawNetworkxKwds[_Node]] ) -> None: ... def apply_alpha( colors: ColorType | Collection[ColorType] | Collection[float], diff --git a/stubs/openpyxl/openpyxl/chart/__init__.pyi b/stubs/openpyxl/openpyxl/chart/__init__.pyi index 5c1c9132ae28..e0d73d198399 100644 --- a/stubs/openpyxl/openpyxl/chart/__init__.pyi +++ b/stubs/openpyxl/openpyxl/chart/__init__.pyi @@ -11,8 +11,5 @@ from .pie_chart import ( from .radar_chart import RadarChart as RadarChart from .reference import Reference as Reference from .scatter_chart import ScatterChart as ScatterChart -from .series_factory import SeriesFactory as _SeriesFactory from .stock_chart import StockChart as StockChart from .surface_chart import SurfaceChart as SurfaceChart, SurfaceChart3D as SurfaceChart3D - -Series = _SeriesFactory diff --git a/stubs/peewee/METADATA.toml b/stubs/peewee/METADATA.toml index 1fd3fc7dcae9..c273586ad9dc 100644 --- a/stubs/peewee/METADATA.toml +++ b/stubs/peewee/METADATA.toml @@ -1,7 +1,7 @@ +version = "4.3.0" +upstream-repository = "https://github.com/coleifer/peewee" # We're not providing stubs for all playhouse modules right now # https://github.com/python/typeshed/pull/11731#issuecomment-2065729058 -version = "4.5.1" -upstream-repository = "https://github.com/coleifer/peewee" partial-stub = true [tool.stubtest] diff --git a/stubs/peewee/peewee.pyi b/stubs/peewee/peewee.pyi index 13bb78bb93c6..10a6657b00ab 100644 --- a/stubs/peewee/peewee.pyi +++ b/stubs/peewee/peewee.pyi @@ -14,7 +14,6 @@ def callable_(c: object) -> TypeIs[Callable[..., object]]: ... multi_types: tuple[type[Incomplete], ...] _T = TypeVar("_T") -_R = TypeVar("_R") _VT = TypeVar("_VT") _F = TypeVar("_F", bound=Callable[..., Any]) _Model: TypeAlias = Model @@ -55,11 +54,6 @@ class _FKKwargs(_FieldKwargs, total=False): related_name: str | Callable[[Field[Any]], str] | None rel_model: type[Model] | None -class classmethod_only(Generic[_T, _R]): - fn: Callable[[type[_T]], _R] - def __init__(self, fn: Callable[[type[_T]], _R]) -> None: ... - def __get__(self, instance: None, instance_type: type[_T] | None = None) -> Callable[[], _R]: ... - class attrdict(dict[str, _VT]): def __getattr__(self, attr: str) -> _VT: ... def __setattr__(self, attr: str, value: _VT) -> None: ... @@ -92,7 +86,6 @@ def make_identifier(s: str) -> str: ... def chunked(it: Iterable[_T], n: int) -> Generator[list[_T]]: ... class _callable_context_manager: - __slots__ = () def __call__(self, fn): ... class Proxy: @@ -132,11 +125,7 @@ class AliasManager: def pop(self) -> None: ... class State: - __slots__ = ("settings", "scope", "parentheses") - settings: dict[str, Incomplete] - scope: Incomplete - parentheses: bool - def __init__(self, scope=1, parentheses: bool = False, settings=None) -> None: ... + def __new__(cls, scope=1, parentheses: bool = False, **kwargs) -> Self: ... def __call__(self, scope=None, parentheses=None, **kwargs) -> State: ... def __getattr__(self, attr_name: str): ... @@ -438,7 +427,6 @@ class Expression(ColumnBase): def __sql__(self, ctx): ... class StringExpression(Expression): - def __sql__(self, ctx): ... def __add__(self, rhs) -> StringExpression: ... def __radd__(self, lhs) -> StringExpression: ... @@ -790,19 +778,12 @@ class ViewMetadata(NamedTuple): name: Incomplete sql: Incomplete -class QueryEvent(NamedTuple): - sql: str - params: Incomplete - duration: float - exception: BaseException | None - class _ConnectionState: def __init__(self, **kwargs) -> None: ... closed: bool conn: Incomplete ctx: Incomplete transactions: Incomplete - commit_callbacks: list[Incomplete] def reset(self) -> None: ... def set_connection(self, conn) -> None: ... @@ -829,7 +810,6 @@ class Database(_callable_context_manager): json_methods: Incomplete field_types: Incomplete operations: Incomplete - use_concat_function: bool param: str quote: str server_version: Incomplete @@ -847,7 +827,6 @@ class Database(_callable_context_manager): truncate_table: bool autoconnect: Incomplete thread_safe: Incomplete - query_hooks: list[Callable[[QueryEvent], Incomplete]] connect_params: Incomplete def __deepcopy__(self, memo: Any) -> Self: ... def __init__( @@ -871,7 +850,6 @@ class Database(_callable_context_manager): def connection_context(self) -> ConnectionContext: ... def connect(self, reuse_if_open: bool = False) -> bool: ... def close(self) -> bool: ... - def dispose(self) -> None: ... def is_closed(self) -> bool: ... def is_connection_usable(self) -> bool: ... def connection(self): ... @@ -893,7 +871,6 @@ class Database(_callable_context_manager): def pop_transaction(self): ... def transaction_depth(self) -> int: ... def top_transaction(self): ... - def after_commit(self, fn: Callable[[], _R]) -> Callable[[], _R]: ... def atomic(self, *args, **kwargs) -> _atomic: ... def manual_commit(self) -> _manual: ... def transaction(self, *args, **kwargs) -> _transaction: ... @@ -908,7 +885,7 @@ class Database(_callable_context_manager): def get_columns(self, table, schema: str | None = None) -> list[ColumnMetadata]: ... def get_primary_keys(self, table, schema: str | None = None): ... def get_foreign_keys(self, table, schema: str | None = None) -> list[ForeignKeyMetadata]: ... - def sequence_exists(self, seq, schema: str | None = None) -> bool: ... + def sequence_exists(self, seq) -> bool: ... def create_tables(self, models: Iterable[type[_Model]], **options) -> None: ... def drop_tables(self, models: Iterable[type[_Model]], **kwargs) -> None: ... def extract_date(self, date_part, date_field): ... @@ -934,14 +911,7 @@ class SqliteDatabase(Database): truncate_table: bool nulls_ordering: bool def __init__( - self, - database: str | None, - pragmas=None, - regexp_function: bool = False, - rank_functions: bool = False, - lock_type=None, - *args, - **kwargs, + self, database: str | None, pragmas=None, regexp_function: bool = False, rank_functions: bool = False, *args, **kwargs ) -> None: ... returning_clause: Incomplete def init(self, database: str | None, pragmas=None, timeout: int = 5, returning_clause=None, **kwargs) -> None: ... @@ -997,9 +967,6 @@ class SqliteDatabase(Database): class _BasePsycopgAdapter: isolation_levels: dict[int, str] - txn_idle: int | None - txn_inerror: int | None - txn_unknown: int | None isolation_levels_inv: dict[str, int] def __init__(self) -> None: ... @@ -1013,14 +980,9 @@ class _BasePsycopgAdapter: @overload def isolation_level_str(self, isolation_level: _T) -> _T: ... - def is_connection_usable(self, conn) -> bool: ... - def is_connection_reusable(self, conn) -> bool: ... - def is_connection_closed(self, conn) -> bool: ... + def server_side_cursor(self, conn): ... class Psycopg2Adapter(_BasePsycopgAdapter): - txn_idle: int | None - txn_inerror: int | None - txn_unknown: int | None json_type: Incomplete jsonb_type: Incomplete cast_json_case: bool @@ -1029,14 +991,11 @@ class Psycopg2Adapter(_BasePsycopgAdapter): def get_binary_type(self) -> type[Incomplete]: ... def connect(self, db, **params): ... def get_server_version(self, conn): ... - def txn_status(self, conn) -> int: ... - def rollback(self, conn) -> None: ... - def server_side_cursor(self, conn): ... + def is_connection_usable(self, conn) -> bool: ... + def is_connection_reusable(self, conn) -> bool: ... + def is_connection_closed(self, conn) -> bool: ... class Psycopg3Adapter(_BasePsycopgAdapter): - txn_idle: int | None - txn_inerror: int | None - txn_unknown: int | None json_type: Incomplete jsonb_type: Incomplete cast_json_case: bool @@ -1045,9 +1004,9 @@ class Psycopg3Adapter(_BasePsycopgAdapter): def get_binary_type(self) -> type[Incomplete]: ... def connect(self, db, **params): ... def get_server_version(self, conn): ... - def txn_status(self, conn) -> int: ... - def rollback(self, conn) -> None: ... - def server_side_cursor(self, conn): ... + def is_connection_usable(self, conn) -> bool: ... + def is_connection_reusable(self, conn) -> bool: ... + def is_connection_closed(self, conn) -> bool: ... class PostgresqlDatabase(Database): field_types: Incomplete @@ -1070,8 +1029,6 @@ class PostgresqlDatabase(Database): prefer_psycopg3: bool = False, **kwargs, ) -> None: ... - @property - def index_value_literals(self) -> bool: ... # type: ignore[override] def is_connection_usable(self) -> bool: ... def begin(self, isolation_level: str | None = None) -> None: ... def get_tables(self, schema: str | None = None) -> list[str]: ... @@ -1080,7 +1037,7 @@ class PostgresqlDatabase(Database): def get_columns(self, table, schema: str | None = None) -> list[ColumnMetadata]: ... def get_primary_keys(self, table, schema: str | None = None) -> list[Incomplete]: ... def get_foreign_keys(self, table, schema: str | None = None) -> list[ForeignKeyMetadata]: ... - def sequence_exists(self, sequence, schema: str | None = None) -> bool: ... + def sequence_exists(self, sequence) -> bool: ... def get_binary_type(self) -> type[Incomplete]: ... def conflict_statement(self, on_conflict, query) -> None: ... def conflict_update(self, oc, query) -> NodeList: ... @@ -1104,8 +1061,7 @@ class MySQLDatabase(Database): limit_max: Incomplete safe_create_index: bool safe_drop_index: bool - use_concat_function: bool - sql_mode: str | None + sql_mode: str mariadb: bool def init(self, database: str | None, mariadb: bool | None = None, **kwargs) -> None: ... def is_connection_usable(self) -> bool: ... @@ -1184,7 +1140,6 @@ class CursorWrapper: def dedupe_columns(self, columns: Iterable[str], valid_identifiers: bool = True) -> list[str]: ... class DictCursorWrapper(CursorWrapper): - valid_identifiers: bool columns: list[str] ncols: int def initialize(self) -> None: ... @@ -1196,9 +1151,11 @@ class NamedTupleCursorWrapper(CursorWrapper): def process_row(self, row): ... class ObjectCursorWrapper(DictCursorWrapper): - valid_identifiers: bool constructor: Incomplete + columns: list[str] + ncols: int def __init__(self, cursor, constructor) -> None: ... + def initialize(self) -> None: ... def process_row(self, row): ... class ResultIterator: @@ -1691,8 +1648,7 @@ class ManyToManyFieldAccessor(FieldAccessor): src_fk: Incomplete dest_fk: Incomplete def __init__(self, model, field, name) -> None: ... - def get_query(self, instance): ... - def __get__(self, instance, instance_type=None): ... + def __get__(self, instance, instance_type=None, force_query: bool = False): ... def __set__(self, instance, value) -> None: ... class ManyToManyField(MetaField): @@ -1860,7 +1816,6 @@ class Metadata: def fields_to_index(self) -> list[Incomplete]: ... def set_database(self, database: _DatabaseType) -> None: ... def set_table_name(self, table_name) -> None: ... - def get_database_instance(self) -> _DatabaseType | None: ... class SubclassAwareMetadata(Metadata): models: Incomplete @@ -1917,7 +1872,8 @@ class Model(metaclass=ModelBase): def replace_many(cls, rows, fields=None): ... @classmethod def raw(cls, sql, *params) -> ModelRaw: ... - delete: classmethod_only[Self, ModelDelete] + @classmethod + def delete(cls) -> ModelDelete: ... @classmethod def create(cls, **query) -> Self: ... @classmethod @@ -2083,7 +2039,6 @@ class BaseModelCursorWrapper(DictCursorWrapper): def process_row(self, row): ... class ModelDictCursorWrapper(BaseModelCursorWrapper): - valid_identifiers: bool unique_columns: list[str] def initialize(self) -> None: ... def process_row(self, row) -> dict[str, Incomplete]: ... @@ -2098,10 +2053,11 @@ class ModelNamedTupleCursorWrapper(ModelTupleCursorWrapper): def initialize(self) -> None: ... class ModelObjectCursorWrapper(ModelDictCursorWrapper): - valid_identifiers: bool constructor: Incomplete is_model: Incomplete + identifiers: list[str] def __init__(self, cursor, model, select, constructor) -> None: ... + def initialize(self) -> None: ... def process_row(self, row): ... class ModelCursorWrapper(BaseModelCursorWrapper): @@ -2206,7 +2162,6 @@ __all__ = [ "ProgrammingError", "Proxy", "QualifiedNames", - "QueryEvent", "SchemaManager", "SmallIntegerField", "Select", diff --git a/stubs/pony/METADATA.toml b/stubs/pony/METADATA.toml index e5e65e786651..517628fd01cf 100644 --- a/stubs/pony/METADATA.toml +++ b/stubs/pony/METADATA.toml @@ -1,3 +1,3 @@ -version = "~=0.7.20" +version = "0.7.*" upstream-repository = "https://github.com/ponyorm/pony" optional-dependencies = ["types-psycopg2", "types-PyMySQL"] diff --git a/stubs/pony/pony/orm/asttranslation.pyi b/stubs/pony/pony/orm/asttranslation.pyi index ff6469b2cb23..6b3cfcc0e7fe 100644 --- a/stubs/pony/pony/orm/asttranslation.pyi +++ b/stubs/pony/pony/orm/asttranslation.pyi @@ -13,11 +13,11 @@ post_method_caches: dict[type[ASTTranslator], dict[type[ast.AST], Callable[..., class ASTTranslator: tree: Incomplete - def __init__(self, tree) -> None: ... - def dispatch(self, node: ast.AST) -> None: ... - def call(self, method: Callable[[ASTTranslator, ast.AST], _T], node: ast.AST) -> _T | None: ... - def default_pre(self, node: ast.AST) -> None: ... - def default_post(self, node: ast.AST) -> None: ... + def __init__(translator, tree) -> None: ... + def dispatch(translator, node: ast.AST) -> None: ... + def call(translator, method: Callable[[ASTTranslator, ast.AST], _T], node: ast.AST) -> _T | None: ... + def default_pre(translator, node: ast.AST) -> None: ... + def default_post(translator, node: ast.AST) -> None: ... def priority(p: int): ... def binop_src(op: str, node) -> str: ... @@ -25,114 +25,114 @@ def ast2src(tree): ... def get_child_nodes(node: ast.AST) -> Generator[ast.AST]: ... class PythonTranslator(ASTTranslator): - def __init__(self, tree) -> None: ... - def call(self, method, node) -> None: ... - def default_pre(self, node: ast.AST): ... - def default_post(self, node: ast.AST) -> None: ... - def postGeneratorExp(self, node: ast.GeneratorExp) -> str: ... - def postcomprehension(self, node: ast.comprehension) -> str: ... - def postGenExprIf(self, node) -> str: ... - def postExpr(self, node: ast.Expr) -> str: ... - def postIfExp(self, node: ast.IfExp) -> str: ... - def postLambda(self, node: ast.Lambda) -> str: ... - def postarguments(self, node: ast.arguments) -> str: ... - def postarg(self, node: ast.arg) -> str: ... - def postOr(self, node: ast.Or) -> str: ... - def postAnd(self, node: ast.And) -> str: ... - def postNot(self, node: ast.Not) -> str: ... - def postCompare(self, node: ast.Compare) -> str: ... - def postEq(self, node: ast.Eq) -> str: ... - def postNotEq(self, node: ast.NotEq) -> str: ... - def postLt(self, node: ast.Lt) -> str: ... - def postLtE(self, node: ast.LtE) -> str: ... - def postGt(self, node: ast.Gt) -> str: ... - def postGtE(self, node: ast.GtE) -> str: ... - def postIs(self, node: ast.Is) -> str: ... - def postIsNot(self, node: ast.IsNot) -> str: ... - def postIn(self, node: ast.In) -> str: ... - def postNotIn(self, node: ast.NotIn) -> str: ... - def postBitOr(self, node: ast.BitOr) -> str: ... - def postBitXor(self, node: ast.BitXor) -> str: ... - def postBitAnd(self, node: ast.BitAnd) -> str: ... - def postLShift(self, node: ast.LShift) -> str: ... - def postRShift(self, node: ast.RShift) -> str: ... - def postAdd(self, node: ast.Add) -> str: ... - def postSub(self, node: ast.Sub) -> str: ... - def postMult(self, node: ast.Mult): ... - def postMatMult(self, node: ast.MatMult) -> None: ... - def postDiv(self, node: ast.Div) -> str: ... - def postFloorDiv(self, node: ast.FloorDiv) -> str: ... - def postMod(self, node: ast.Mod) -> str: ... - def postUSub(self, node: ast.USub) -> str: ... - def postUAdd(self, node: ast.UAdd) -> str: ... - def postInvert(self, node: ast.Invert) -> str: ... - def postPow(self, node: ast.Pow) -> str: ... - def postAttribute(self, node: ast.Attribute) -> str: ... - def postCall(self, node: ast.Call) -> str: ... - def postkeyword(self, node: ast.keyword) -> str: ... - def postStarred(self, node: ast.Starred) -> str: ... - def postSubscript(self, node: ast.Subscript) -> str: ... - def postIndex(self, node: ast.Index) -> str: ... - def postSlice(self, node: ast.Slice) -> str: ... - def postConstant(self, node: ast.Constant) -> str: ... + def __init__(translator, tree) -> None: ... + def call(translator, method, node) -> None: ... + def default_pre(translator, node: ast.AST): ... + def default_post(translator, node: ast.AST) -> None: ... + def postGeneratorExp(translator, node: ast.GeneratorExp) -> str: ... + def postcomprehension(translator, node: ast.comprehension) -> str: ... + def postGenExprIf(translator, node) -> str: ... + def postExpr(translator, node: ast.Expr) -> str: ... + def postIfExp(translator, node: ast.IfExp) -> str: ... + def postLambda(translator, node: ast.Lambda) -> str: ... + def postarguments(translator, node: ast.arguments) -> str: ... + def postarg(translator, node: ast.arg) -> str: ... + def postOr(translator, node: ast.Or) -> str: ... + def postAnd(translator, node: ast.And) -> str: ... + def postNot(translator, node: ast.Not) -> str: ... + def postCompare(translator, node: ast.Compare) -> str: ... + def postEq(translator, node: ast.Eq) -> str: ... + def postNotEq(translator, node: ast.NotEq) -> str: ... + def postLt(translator, node: ast.Lt) -> str: ... + def postLtE(translator, node: ast.LtE) -> str: ... + def postGt(translator, node: ast.Gt) -> str: ... + def postGtE(translator, node: ast.GtE) -> str: ... + def postIs(translator, node: ast.Is) -> str: ... + def postIsNot(translator, node: ast.IsNot) -> str: ... + def postIn(translator, node: ast.In) -> str: ... + def postNotIn(translator, node: ast.NotIn) -> str: ... + def postBitOr(translator, node: ast.BitOr) -> str: ... + def postBitXor(translator, node: ast.BitXor) -> str: ... + def postBitAnd(translator, node: ast.BitAnd) -> str: ... + def postLShift(translator, node: ast.LShift) -> str: ... + def postRShift(translator, node: ast.RShift) -> str: ... + def postAdd(translator, node: ast.Add) -> str: ... + def postSub(translator, node: ast.Sub) -> str: ... + def postMult(translator, node: ast.Mult): ... + def postMatMult(translator, node: ast.MatMult) -> None: ... + def postDiv(translator, node: ast.Div) -> str: ... + def postFloorDiv(translator, node: ast.FloorDiv) -> str: ... + def postMod(translator, node: ast.Mod) -> str: ... + def postUSub(translator, node: ast.USub) -> str: ... + def postUAdd(translator, node: ast.UAdd) -> str: ... + def postInvert(translator, node: ast.Invert) -> str: ... + def postPow(translator, node: ast.Pow) -> str: ... + def postAttribute(translator, node: ast.Attribute) -> str: ... + def postCall(translator, node: ast.Call) -> str: ... + def postkeyword(translator, node: ast.keyword) -> str: ... + def postStarred(translator, node: ast.Starred) -> str: ... + def postSubscript(translator, node: ast.Subscript) -> str: ... + def postIndex(translator, node: ast.Index) -> str: ... + def postSlice(translator, node: ast.Slice) -> str: ... + def postConstant(translator, node: ast.Constant) -> str: ... if sys.version_info >= (3, 14): - def postNameConstant(self, node: ast.Constant) -> str: ... - def postNum(self, node: ast.Constant) -> str: ... - def postStr(self, node: ast.Constant) -> str: ... - def postBytes(self, node: ast.Constant) -> str: ... + def postNameConstant(translator, node: ast.Constant) -> str: ... + def postNum(translator, node: ast.Constant) -> str: ... + def postStr(translator, node: ast.Constant) -> str: ... + def postBytes(translator, node: ast.Constant) -> str: ... else: - def postNameConstant(self, node: ast.NameConstant) -> str: ... - def postNum(self, node: ast.Num) -> str: ... - def postStr(self, node: ast.Str) -> str: ... - def postBytes(self, node: ast.Bytes) -> str: ... + def postNameConstant(translator, node: ast.NameConstant) -> str: ... + def postNum(translator, node: ast.Num) -> str: ... + def postStr(translator, node: ast.Str) -> str: ... + def postBytes(translator, node: ast.Bytes) -> str: ... - def postList(self, node: ast.List) -> str: ... - def postTuple(self, node: ast.Tuple) -> str: ... - def postDict(self, node: ast.Dict) -> str: ... - def postSet(self, node: ast.Set) -> str: ... - def postName(self, node: ast.Name) -> str: ... + def postList(translator, node: ast.List) -> str: ... + def postTuple(translator, node: ast.Tuple) -> str: ... + def postDict(translator, node: ast.Dict) -> str: ... + def postSet(translator, node: ast.Set) -> str: ... + def postName(translator, node: ast.Name) -> str: ... def postJoinedStr(self, node: ast.JoinedStr) -> str: ... def postFormattedValue(self, node: ast.FormattedValue) -> str: ... nonexternalizable_types: tuple[type[ast.AST], ...] class PreTranslator(ASTTranslator): - def __init__(self, tree, globals, locals, special_functions, const_functions, outer_names=()) -> None: ... - def dispatch(self, node) -> None: ... - def preGeneratorExp(self, node: ast.GeneratorExp) -> bool: ... - def preLambda(self, node: ast.Lambda) -> bool: ... - def postName(self, node: ast.Name) -> None: ... - def postSlice(self, node: ast.Slice) -> None: ... - def postStarred(self, node: ast.Starred) -> None: ... - def postConstant(self, node: ast.Constant) -> None: ... + def __init__(translator, tree, globals, locals, special_functions, const_functions, outer_names=()) -> None: ... + def dispatch(translator, node) -> None: ... + def preGeneratorExp(translator, node: ast.GeneratorExp) -> bool: ... + def preLambda(translator, node: ast.Lambda) -> bool: ... + def postName(translator, node: ast.Name) -> None: ... + def postSlice(translator, node: ast.Slice) -> None: ... + def postStarred(translator, node: ast.Starred) -> None: ... + def postConstant(translator, node: ast.Constant) -> None: ... if sys.version_info >= (3, 14): - def postNum(self, node: ast.Constant) -> None: ... - def postStr(self, node: ast.Constant) -> None: ... - def postBytes(self, node: ast.Constant) -> None: ... + def postNum(translator, node: ast.Constant) -> None: ... + def postStr(translator, node: ast.Constant) -> None: ... + def postBytes(translator, node: ast.Constant) -> None: ... else: - def postNum(self, node: ast.Num) -> None: ... - def postStr(self, node: ast.Str) -> None: ... - def postBytes(self, node: ast.Bytes) -> None: ... + def postNum(translator, node: ast.Num) -> None: ... + def postStr(translator, node: ast.Str) -> None: ... + def postBytes(translator, node: ast.Bytes) -> None: ... - def postDict(self, node: ast.Dict) -> None: ... - def postList(self, node: ast.List) -> None: ... - def postkeyword(self, node: ast.keyword) -> None: ... - def postIndex(self, node: ast.Index) -> None: ... - def postCall(self, node: ast.Call) -> None: ... - def postCompare(self, node: ast.Compare) -> None: ... - def post_binop(self, node: ast.BinOp) -> None: ... - def postBitOr(self, node: ast.BitOr) -> None: ... - def postBitXor(self, node: ast.BitXor) -> None: ... - def postBitAnd(self, node: ast.BitAnd) -> None: ... - def postLShift(self, node: ast.LShift) -> None: ... - def postRShift(self, node: ast.RShift) -> None: ... - def postAdd(self, node: ast.Add) -> None: ... - def postSub(self, node: ast.Sub) -> None: ... - def postMult(self, node: ast.Mult) -> None: ... - def postMatMult(self, node: ast.MatMult) -> None: ... - def postDiv(self, node: ast.Div) -> None: ... - def postFloorDiv(self, node: ast.FloorDiv) -> None: ... - def postMod(self, node: ast.Mod) -> None: ... + def postDict(translator, node: ast.Dict) -> None: ... + def postList(translator, node: ast.List) -> None: ... + def postkeyword(translator, node: ast.keyword) -> None: ... + def postIndex(translator, node: ast.Index) -> None: ... + def postCall(translator, node: ast.Call) -> None: ... + def postCompare(translator, node: ast.Compare) -> None: ... + def post_binop(translator, node: ast.BinOp) -> None: ... + def postBitOr(translator, node: ast.BitOr) -> None: ... + def postBitXor(translator, node: ast.BitXor) -> None: ... + def postBitAnd(translator, node: ast.BitAnd) -> None: ... + def postLShift(translator, node: ast.LShift) -> None: ... + def postRShift(translator, node: ast.RShift) -> None: ... + def postAdd(translator, node: ast.Add) -> None: ... + def postSub(translator, node: ast.Sub) -> None: ... + def postMult(translator, node: ast.Mult) -> None: ... + def postMatMult(translator, node: ast.MatMult) -> None: ... + def postDiv(translator, node: ast.Div) -> None: ... + def postFloorDiv(translator, node: ast.FloorDiv) -> None: ... + def postMod(translator, node: ast.Mod) -> None: ... extractors_cache: dict[str | int, tuple[Incomplete, dict[Incomplete, Incomplete]]] diff --git a/stubs/pony/pony/orm/core.pyi b/stubs/pony/pony/orm/core.pyi index eca1d4d6dbe3..d05d3104f456 100644 --- a/stubs/pony/pony/orm/core.pyi +++ b/stubs/pony/pony/orm/core.pyi @@ -170,7 +170,7 @@ class PermissionError(OrmError): ... class ObjectNotFound(OrmError): def __init__( - self, entity: Entity, pkval: object | tuple[object, ...] | None = None # pkval passing to repr() builtins function + exc, entity: Entity, pkval: object | tuple[object, ...] | None = None # pkval passing to repr() builtins function ) -> None: ... class MultipleObjectsFoundError(OrmError): ... @@ -180,16 +180,16 @@ class TransactionError(OrmError): ... class ConnectionClosedError(TransactionError): ... class TransactionIntegrityError(TransactionError): - def __init__(self, msg, original_exc=None) -> None: ... + def __init__(exc, msg, original_exc=None) -> None: ... class CommitException(TransactionError): - def __init__(self, msg, exceptions) -> None: ... + def __init__(exc, msg, exceptions) -> None: ... class PartialCommitException(TransactionError): - def __init__(self, msg, exceptions) -> None: ... + def __init__(exc, msg, exceptions) -> None: ... class RollbackException(TransactionError): - def __init__(self, msg, exceptions) -> None: ... + def __init__(exc, msg, exceptions) -> None: ... class DatabaseSessionIsOver(TransactionError): ... @@ -201,10 +201,10 @@ class OptimisticCheckError(IsolationError): ... class UnresolvableCyclicDependency(TransactionError): ... class UnexpectedError(TransactionError): - def __init__(self, msg, original_exc) -> None: ... + def __init__(exc, msg, original_exc) -> None: ... class ExprEvalError(TranslationError): - def __init__(self, src, cause) -> None: ... + def __init__(exc, src, cause) -> None: ... class PonyInternalException(Exception): ... class OptimizationFailed(PonyInternalException): ... @@ -232,11 +232,11 @@ class PrefetchContext: def get_relations_to_prefetch(self, entity): ... class Local(localbase): - def __init__(self) -> None: ... + def __init__(local) -> None: ... @property def prefetch_context(local): ... - def push_debug_state(self, debug, show_values) -> None: ... - def pop_debug_state(self) -> None: ... + def push_debug_state(local, debug, show_values) -> None: ... + def pop_debug_state(local) -> None: ... local: Local @@ -268,7 +268,7 @@ class DBSessionContextManager: sql_debug: bool | None show_values: bool | None def __init__( - self, + db_session, retry: int = 0, immediate: bool = False, ddl: bool = False, @@ -280,7 +280,7 @@ class DBSessionContextManager: sql_debug: bool | None = None, show_values: bool | None = None, ) -> None: ... - def __call__(self, *args, **kwargs): ... + def __call__(db_session, *args, **kwargs): ... def __enter__(db_session) -> None: ... def __exit__(db_session, exc_type=None, exc=None, tb=None) -> None: ... @@ -322,44 +322,44 @@ class Database: on_connect: OnConnectDecorator provider: Incomplete def __init__(self, *args, **kwargs) -> None: ... - def call_on_connect(self, con) -> None: ... + def call_on_connect(database, con) -> None: ... def bind(self, *args, **kwargs) -> None: ... @property def last_sql(database): ... @property def local_stats(database): ... - def merge_local_stats(self) -> None: ... + def merge_local_stats(database) -> None: ... @property def global_stats(database): ... @property @deprecated("global_stats_lock is deprecated, just use global_stats property without any locking.") def global_stats_lock(database): ... - def get_connection(self): ... - def disconnect(self) -> None: ... - def flush(self) -> None: ... - def commit(self) -> None: ... - def rollback(self) -> None: ... - def execute(self, sql, globals=None, locals=None): ... - def select(self, sql, globals=None, locals=None, frame_depth: int = 0): ... - def get(self, sql, globals=None, locals=None): ... - def exists(self, sql, globals=None, locals=None): ... - def insert(self, table_name, returning=None, **kwargs): ... - def generate_mapping(self, filename=None, check_tables: bool = True, create_tables: bool = False): ... - def drop_table(self, table_name, if_exists: bool = False, with_all_data: bool = False) -> None: ... - def drop_all_tables(self, with_all_data: bool = False) -> None: ... - def create_tables(self, check_tables: bool = False) -> None: ... - def check_tables(self) -> None: ... - def set_perms_for(self, *entities) -> Generator[None]: ... - def to_json(self, data, include=(), exclude=(), converter=None, with_schema: bool = True, schema_hash=None): ... - def from_json(self, changes, observer=None): ... + def get_connection(database): ... + def disconnect(database) -> None: ... + def flush(database) -> None: ... + def commit(database) -> None: ... + def rollback(database) -> None: ... + def execute(database, sql, globals=None, locals=None): ... + def select(database, sql, globals=None, locals=None, frame_depth: int = 0): ... + def get(database, sql, globals=None, locals=None): ... + def exists(database, sql, globals=None, locals=None): ... + def insert(database, table_name, returning=None, **kwargs): ... + def generate_mapping(database, filename=None, check_tables: bool = True, create_tables: bool = False): ... + def drop_table(database, table_name, if_exists: bool = False, with_all_data: bool = False) -> None: ... + def drop_all_tables(database, with_all_data: bool = False) -> None: ... + def create_tables(database, check_tables: bool = False) -> None: ... + def check_tables(database) -> None: ... + def set_perms_for(database, *entities) -> Generator[None]: ... + def to_json(database, data, include=(), exclude=(), converter=None, with_schema: bool = True, schema_hash=None): ... + def from_json(database, changes, observer=None): ... def basic_converter(x): ... def perm(*args, **kwargs) -> AccessRule: ... def pop_names_from_kwargs(typename, kwargs, *kwnames): ... class AccessRule: - def __init__(self, database, entities, permissions, groups, roles, labels) -> None: ... - def exclude(self, *args) -> None: ... + def __init__(rule, database, entities, permissions, groups, roles, labels) -> None: ... + def exclude(rule, *args) -> None: ... def has_perm(user, perm, x) -> bool: ... def can_view(user, x) -> bool: ... @@ -390,13 +390,13 @@ def obj_labels_getter(cls=None): ... class DbLocal(localbase): stats: Incomplete last_sql: Incomplete - def __init__(self) -> None: ... + def __init__(dblocal) -> None: ... class QueryStat: - def __init__(self, sql, duration=None) -> None: ... - def copy(self): ... - def query_executed(self, duration) -> None: ... - def merge(self, stat2) -> None: ... + def __init__(stat, sql, duration=None) -> None: ... + def copy(stat): ... + def query_executed(stat, duration) -> None: ... + def merge(stat, stat2) -> None: ... @property def avg_time(stat): ... @@ -427,22 +427,22 @@ class SessionCache: perm_cache: Incomplete user_roles_cache: defaultdict[Incomplete, dict[Incomplete, Incomplete]] | None obj_labels_cache: dict[Incomplete, Incomplete] | None - def __init__(self, database: Database) -> None: ... - def connect(self): ... - def reconnect(self, exc): ... - def prepare_connection_for_query_execution(self): ... - def flush_and_commit(self) -> None: ... - def commit(self) -> None: ... - def rollback(self) -> None: ... - def release(self) -> None: ... - def close(self, rollback: bool = True) -> None: ... - def flush_disabled(self) -> Generator[None]: ... - def flush(self) -> None: ... - def call_after_save_hooks(self) -> None: ... - def update_simple_index(self, obj, attr, old_val, new_val, undo) -> None: ... - def db_update_simple_index(self, obj, attr, old_dbval, new_dbval) -> None: ... - def update_composite_index(self, obj, attrs, prev_vals, new_vals, undo) -> None: ... - def db_update_composite_index(self, obj, attrs, prev_vals, new_vals) -> None: ... + def __init__(cache, database: Database) -> None: ... + def connect(cache): ... + def reconnect(cache, exc): ... + def prepare_connection_for_query_execution(cache): ... + def flush_and_commit(cache) -> None: ... + def commit(cache) -> None: ... + def rollback(cache) -> None: ... + def release(cache) -> None: ... + def close(cache, rollback: bool = True) -> None: ... + def flush_disabled(cache) -> Generator[None]: ... + def flush(cache) -> None: ... + def call_after_save_hooks(cache) -> None: ... + def update_simple_index(cache, obj, attr, old_val, new_val, undo) -> None: ... + def db_update_simple_index(cache, obj, attr, old_dbval, new_dbval) -> None: ... + def update_composite_index(cache, obj, attrs, prev_vals, new_vals, undo) -> None: ... + def db_update_composite_index(cache, obj, attrs, prev_vals, new_vals) -> None: ... class NotLoadedValueType: ... @@ -551,47 +551,47 @@ class Attribute: type_has_empty_value: bool interleave: bool | None def __deepcopy__(attr, memo): ... - def __init__(self, py_type: type | str | types.FunctionType | Array, *args, **kwargs) -> None: ... - def linked(self) -> None: ... + def __init__(attr, py_type: type | str | types.FunctionType | Array, *args, **kwargs) -> None: ... + def linked(attr) -> None: ... def __lt__(attr, other): ... - def validate(self, val, obj=None, entity=None, from_db: bool = False): ... - def parse_value(self, row, offsets, dbvals_deduplication_cache): ... - def load(self, obj: Entity): ... + def validate(attr, val, obj=None, entity=None, from_db: bool = False): ... + def parse_value(attr, row, offsets, dbvals_deduplication_cache): ... + def load(attr, obj: Entity): ... def __get__(attr, obj, cls=None): ... - def get(self, obj): ... + def get(attr, obj): ... def __set__(attr, obj, new_val, undo_funcs=None) -> None: ... - def db_set(self, obj, new_dbval, is_reverse_call: bool = False) -> None: ... - def update_reverse(self, obj, old_val, new_val, undo_funcs) -> None: ... - def db_update_reverse(self, obj, old_dbval, new_dbval) -> None: ... + def db_set(attr, obj, new_dbval, is_reverse_call: bool = False) -> None: ... + def update_reverse(attr, obj, old_val, new_val, undo_funcs) -> None: ... + def db_update_reverse(attr, obj, old_dbval, new_dbval) -> None: ... def __delete__(attr, obj) -> None: ... - def get_raw_values(self, val): ... - def get_columns(self) -> list[str] | tuple[str, ...]: ... + def get_raw_values(attr, val): ... + def get_columns(attr) -> list[str] | tuple[str, ...]: ... @property def asc(attr) -> Self: ... @property def desc(attr) -> DescWrapper: ... - def describe(self) -> str: ... + def describe(attr) -> str: ... class Optional(Attribute): __slots__: list[str] = [] class Required(Attribute): __slots__: list[str] = [] - def validate(self, val, obj=None, entity=None, from_db: bool = False): ... + def validate(attr, val, obj=None, entity=None, from_db: bool = False): ... class Discriminator(Required): __slots__ = ["code2cls"] code2cls: dict[Incomplete, Incomplete] - def __init__(self, py_type, *args, **kwargs) -> None: ... + def __init__(attr, py_type, *args, **kwargs) -> None: ... @staticmethod def create_default_attr(entity) -> None: ... - def process_entity_inheritance(self, entity) -> None: ... - def validate(self, val, obj=None, entity=None, from_db: bool = False): ... - def load(self, obj) -> None: ... + def process_entity_inheritance(attr, entity) -> None: ... + def validate(attr, val, obj=None, entity=None, from_db: bool = False): ... + def load(attr, obj) -> None: ... def __get__(attr, obj, cls=None): ... def __set__(attr, obj, new_val) -> None: ... # type: ignore[override] - def db_set(self, obj, new_dbval) -> None: ... # type: ignore[override] - def update_reverse(self, obj, old_val, new_val, undo_funcs) -> None: ... + def db_set(attr, obj, new_dbval) -> None: ... # type: ignore[override] + def update_reverse(attr, obj, old_val, new_val, undo_funcs) -> None: ... class Index: __slots__ = ("entity", "attrs", "is_pk", "is_unique") @@ -599,7 +599,7 @@ class Index: attrs: list[Incomplete] is_pk: bool is_unique: bool - def __init__(self, *attrs, **options) -> None: ... + def __init__(index, *attrs, **options) -> None: ... def composite_index(*attrs) -> None: ... def composite_key(*attrs) -> None: ... @@ -635,13 +635,13 @@ class Collection(Attribute): cached_count_sql: tuple[Incomplete, Incomplete] | None cached_empty_sql: tuple[Incomplete, Incomplete, Incomplete] | None reverse_fk_name: Incomplete - def __init__(self, py_type, *args, **kwargs) -> None: ... - def load(self, obj) -> None: ... + def __init__(attr, py_type, *args, **kwargs) -> None: ... + def load(attr, obj) -> None: ... def __get__(attr, obj, cls=None) -> None: ... def __set__(attr, obj, val) -> None: ... # type: ignore[override] def __delete__(attr, obj) -> None: ... - def prepare(self, obj, val, fromdb: bool = False) -> None: ... - def set(self, obj, val, fromdb: bool = False) -> None: ... + def prepare(attr, obj, val, fromdb: bool = False) -> None: ... + def set(attr, obj, val, fromdb: bool = False) -> None: ... class SetData(set[Incomplete]): __slots__ = ("is_fully_loaded", "added", "removed", "absent", "count") @@ -650,7 +650,7 @@ class SetData(set[Incomplete]): removed: Incomplete absent: Incomplete count: int | None - def __init__(self) -> None: ... + def __init__(setdata) -> None: ... def construct_batchload_criteria_list( alias, columns, converters, batch_size, row_value_syntax, start: int = 0, from_seeds: bool = True @@ -658,22 +658,22 @@ def construct_batchload_criteria_list( class Set(Collection): __slots__: list[str] = [] - def validate(self, val, obj=None, entity=None, from_db: bool = False): ... - def prefetch_load_all(self, objects): ... - def load(self, obj, items=None): ... - def construct_sql_m2m(self, batch_size: int = 1, items_count: int = 0): ... - def copy(self, obj): ... + def validate(attr, val, obj=None, entity=None, from_db: bool = False): ... + def prefetch_load_all(attr, objects): ... + def load(attr, obj, items=None): ... + def construct_sql_m2m(attr, batch_size: int = 1, items_count: int = 0): ... + def copy(attr, obj): ... def __get__(attr, obj, cls=None): ... def __set__(attr, obj, new_items, undo_funcs=None) -> None: ... def __delete__(attr, obj) -> None: ... - def reverse_add(self, objects, item, undo_funcs) -> None: ... - def db_reverse_add(self, objects, item) -> None: ... - def reverse_remove(self, objects, item, undo_funcs) -> None: ... - def db_reverse_remove(self, objects, item) -> None: ... - def get_m2m_columns(self, is_reverse: bool = False): ... - def remove_m2m(self, removed) -> None: ... - def add_m2m(self, added) -> None: ... - def drop_table(self, with_all_data: bool = False) -> None: ... + def reverse_add(attr, objects, item, undo_funcs) -> None: ... + def db_reverse_add(attr, objects, item) -> None: ... + def reverse_remove(attr, objects, item, undo_funcs) -> None: ... + def db_reverse_remove(attr, objects, item) -> None: ... + def get_m2m_columns(attr, is_reverse: bool = False): ... + def remove_m2m(attr, removed) -> None: ... + def add_m2m(attr, added) -> None: ... + def drop_table(attr, with_all_data: bool = False) -> None: ... def unpickle_setwrapper(obj, attrname, items): ... @@ -685,41 +685,41 @@ class SetIterator: class SetInstance: __slots__ = ("_obj_", "_attr_", "_attrnames_") - def __init__(self, obj, attr) -> None: ... + def __init__(wrapper, obj, attr) -> None: ... def __reduce__(wrapper): ... - def copy(self): ... + def copy(wrapper): ... def __nonzero__(wrapper): ... - def is_empty(self): ... + def is_empty(wrapper): ... def __len__(wrapper) -> int: ... - def count(self): ... + def count(wrapper): ... def __iter__(wrapper): ... def __eq__(wrapper, other): ... def __ne__(wrapper, other): ... def __add__(wrapper, new_items): ... def __sub__(wrapper, items): ... def __contains__(wrapper, item) -> bool: ... - def create(self, **kwargs): ... - def add(self, new_items) -> None: ... + def create(wrapper, **kwargs): ... + def add(wrapper, new_items) -> None: ... def __iadd__(wrapper, items): ... - def remove(self, items) -> None: ... + def remove(wrapper, items) -> None: ... def __isub__(wrapper, items): ... - def clear(self) -> None: ... - def load(self) -> None: ... - def select(self, *args, **kwargs): ... + def clear(wrapper) -> None: ... + def load(wrapper) -> None: ... + def select(wrapper, *args, **kwargs): ... filter = select - def limit(self, limit=None, offset=None): ... - def page(self, pagenum, pagesize: int = 10): ... - def order_by(self, *args): ... - def sort_by(self, *args): ... - def random(self, limit): ... + def limit(wrapper, limit=None, offset=None): ... + def page(wrapper, pagenum, pagesize: int = 10): ... + def order_by(wrapper, *args): ... + def sort_by(wrapper, *args): ... + def random(wrapper, limit): ... def unpickle_multiset(obj, attrnames, items): ... class Multiset: __slots__ = ["_obj_", "_attrnames_", "_items_"] - def __init__(self, obj, attrnames, items) -> None: ... + def __init__(multiset, obj, attrnames, items) -> None: ... def __reduce__(multiset): ... - def distinct(self): ... + def distinct(multiset): ... def __nonzero__(multiset): ... def __len__(multiset) -> int: ... def __iter__(multiset): ... @@ -740,18 +740,18 @@ lambda_re: re.Pattern[str] class EntityMeta(type): def __new__(meta, name, bases, cls_dict): ... - def __init__(cls, name, bases, cls_dict) -> None: ... + def __init__(entity, name, bases, cls_dict) -> None: ... def __iter__(entity): ... def __getitem__(entity, key): ... - def exists(cls, *args, **kwargs): ... - def get(cls, *args, **kwargs): ... - def get_for_update(cls, *args, **kwargs): ... - def get_by_sql(cls, sql, globals=None, locals=None): ... - def select(cls, *args, **kwargs): ... - def select_by_sql(cls, sql, globals=None, locals=None): ... - def select_random(cls, limit): ... - def describe(cls) -> str: ... - def drop_table(cls, with_all_data: bool = False) -> None: ... + def exists(entity, *args, **kwargs): ... + def get(entity, *args, **kwargs): ... + def get_for_update(entity, *args, **kwargs): ... + def get_by_sql(entity, sql, globals=None, locals=None): ... + def select(entity, *args, **kwargs): ... + def select_by_sql(entity, sql, globals=None, locals=None): ... + def select_random(entity, limit): ... + def describe(entity) -> str: ... + def drop_table(entity, with_all_data: bool = False) -> None: ... def populate_criteria_list( criteria_list, columns, converters, operations, params_count: int = 0, table_alias=None, optimistic: bool = False @@ -788,27 +788,27 @@ class Entity(metaclass=EntityMeta): "__weakref__", ) def __reduce__(obj): ... - def __init__(self, *args, **kwargs) -> None: ... - def get_pk(self): ... + def __init__(obj, *args, **kwargs) -> None: ... + def get_pk(obj): ... def __lt__(entity, other): ... def __le__(entity, other): ... def __gt__(entity, other): ... def __ge__(entity, other): ... - def load(self, *attrs) -> None: ... - def delete(self) -> None: ... - def set(self, **kwargs) -> None: ... - def find_updated_attributes(self): ... - def flush(self) -> None: ... - def before_insert(self) -> None: ... - def before_update(self) -> None: ... - def before_delete(self) -> None: ... - def after_insert(self) -> None: ... - def after_update(self) -> None: ... - def after_delete(self) -> None: ... + def load(obj, *attrs) -> None: ... + def delete(obj) -> None: ... + def set(obj, **kwargs) -> None: ... + def find_updated_attributes(obj): ... + def flush(obj) -> None: ... + def before_insert(obj) -> None: ... + def before_update(obj) -> None: ... + def before_delete(obj) -> None: ... + def after_insert(obj) -> None: ... + def after_update(obj) -> None: ... + def after_delete(obj) -> None: ... def to_dict( - self, only=None, exclude=None, with_collections: bool = False, with_lazy: bool = False, related_objects: bool = False + obj, only=None, exclude=None, with_collections: bool = False, with_lazy: bool = False, related_objects: bool = False ): ... - def to_json(self, include=(), exclude=(), converter=None, with_schema: bool = True, schema_hash=None): ... + def to_json(obj, include=(), exclude=(), converter=None, with_schema: bool = True, schema_hash=None): ... def string2ast(s: str) -> ast.Expr: ... def get_globals_and_locals(args, kwargs, frame_depth, from_generator=False): ... @@ -834,41 +834,40 @@ def extract_vars(code_key, filter_num, extractors, globals, locals, cells=None): def unpickle_query(query_result: _T) -> _T: ... class Query: - def __init__(self, code_key, tree, globals, locals, cells=None, left_join: bool = False) -> None: ... + def __init__(query, code_key, tree, globals, locals, cells=None, left_join: bool = False) -> None: ... def __reduce__(query): ... - def get_sql(self): ... - def prefetch(self, *args): ... - def show(self, width=None, stream=None) -> None: ... - def get(self): ... - def first(self): ... - def without_distinct(self): ... - def distinct(self): ... - def exists(self): ... - def delete(self, bulk=None): ... + def get_sql(query): ... + def prefetch(query, *args): ... + def show(query, width=None, stream=None) -> None: ... + def get(query): ... + def first(query): ... + def without_distinct(query): ... + def distinct(query): ... + def exists(query): ... + def delete(query, bulk=None): ... def __len__(query) -> int: ... def __iter__(query): ... - def order_by(self, *args): ... - def sort_by(self, *args): ... - def filter(self, *args, **kwargs): ... - def where(self, *args, **kwargs): ... + def order_by(query, *args): ... + def sort_by(query, *args): ... + def filter(query, *args, **kwargs): ... + def where(query, *args, **kwargs): ... def __getitem__(query, key): ... - def fetch(self, limit=None, offset=None): ... - def limit(self, limit=None, offset=None): ... - def page(self, pagenum, pagesize: int = 10): ... - def sum(self, distinct=None): ... - def avg(self, distinct=None): ... - def group_concat(self, sep=None, distinct=None): ... - def min(self): ... - def max(self): ... - def count(self, distinct=None): ... - def for_update(self, nowait: bool = False, skip_locked: bool = False): ... - def random(self, limit): ... - def to_json(self, include=(), exclude=(), converter=None, with_schema: bool = True, schema_hash=None): ... + def fetch(query, limit=None, offset=None): ... + def limit(query, limit=None, offset=None): ... + def page(query, pagenum, pagesize: int = 10): ... + def sum(query, distinct=None): ... + def avg(query, distinct=None): ... + def group_concat(query, sep=None, distinct=None): ... + def min(query): ... + def max(query): ... + def count(query, distinct=None): ... + def for_update(query, nowait: bool = False, skip_locked: bool = False): ... + def random(query, limit): ... + def to_json(query, include=(), exclude=(), converter=None, with_schema: bool = True, schema_hash=None): ... class QueryResultIterator: __slots__ = ("_query_result", "_position") def __init__(self, query_result) -> None: ... - def __iter__(self): ... def next(self): ... __next__ = next def __length_hint__(self) -> int: ... diff --git a/stubs/pony/pony/orm/dbapiprovider.pyi b/stubs/pony/pony/orm/dbapiprovider.pyi index 700561338f34..ce0c0a5e3eff 100644 --- a/stubs/pony/pony/orm/dbapiprovider.pyi +++ b/stubs/pony/pony/orm/dbapiprovider.pyi @@ -8,7 +8,7 @@ from typing import ClassVar from pony.utils import localbase class DBException(Exception): - def __init__(self, original_exc, *args) -> None: ... + def __init__(exc, original_exc, *args) -> None: ... class Warning(DBException): ... class Error(DBException): ... @@ -49,42 +49,42 @@ class DBAPIProvider: default_schema_name: ClassVar[str | None] fk_types: ClassVar[dict[str, str]] converter_classes: Incomplete - def __init__(self, _database, *args, **kwargs) -> None: ... - def inspect_connection(self, connection) -> None: ... - def normalize_name(self, name): ... - def get_default_entity_table_name(self, entity): ... - def get_default_m2m_table_name(self, attr, reverse): ... - def get_default_column_names(self, attr, reverse_pk_columns=None): ... - def get_default_m2m_column_names(self, entity): ... + def __init__(provider, _database, *args, **kwargs) -> None: ... + def inspect_connection(provider, connection) -> None: ... + def normalize_name(provider, name): ... + def get_default_entity_table_name(provider, entity): ... + def get_default_m2m_table_name(provider, attr, reverse): ... + def get_default_column_names(provider, attr, reverse_pk_columns=None): ... + def get_default_m2m_column_names(provider, entity): ... def get_default_index_name( - self, table_name, column_names, is_pk: bool = False, is_unique: bool = False, m2m: bool = False + provider, table_name, column_names, is_pk: bool = False, is_unique: bool = False, m2m: bool = False ): ... - def get_default_fk_name(self, child_table_name, parent_table_name, child_column_names): ... - def split_table_name(self, table_name): ... - def base_name(self, name): ... - def quote_name(self, name: str | Iterable[str]) -> str: ... - def format_table_name(self, name): ... - def normalize_vars(self, vars, vartypes) -> None: ... - def ast2sql(self, ast): ... - def should_reconnect(self, exc): ... - def connect(self): ... - def set_transaction_mode(self, connection, cache) -> None: ... - def commit(self, connection, cache=None) -> None: ... - def rollback(self, connection, cache=None) -> None: ... - def release(self, connection, cache=None) -> None: ... - def drop(self, connection, cache=None) -> None: ... - def disconnect(self) -> None: ... - def execute(self, cursor, sql, arguments=None, returning_id: bool = False): ... - def get_converter_by_py_type(self, py_type): ... - def get_converter_by_attr(self, attr): ... - def get_pool(self, *args, **kwargs): ... - def table_exists(self, connection, table_name, case_sensitive: bool = True) -> None: ... - def index_exists(self, connection, table_name, index_name, case_sensitive: bool = True) -> None: ... - def fk_exists(self, connection, table_name, fk_name, case_sensitive: bool = True) -> None: ... - def table_has_data(self, connection, table_name): ... - def disable_fk_checks(self, connection) -> None: ... - def enable_fk_checks(self, connection, prev_state) -> None: ... - def drop_table(self, connection, table_name) -> None: ... + def get_default_fk_name(provider, child_table_name, parent_table_name, child_column_names): ... + def split_table_name(provider, table_name): ... + def base_name(provider, name): ... + def quote_name(provider, name: str | Iterable[str]) -> str: ... + def format_table_name(provider, name): ... + def normalize_vars(provider, vars, vartypes) -> None: ... + def ast2sql(provider, ast): ... + def should_reconnect(provider, exc): ... + def connect(provider): ... + def set_transaction_mode(provider, connection, cache) -> None: ... + def commit(provider, connection, cache=None) -> None: ... + def rollback(provider, connection, cache=None) -> None: ... + def release(provider, connection, cache=None) -> None: ... + def drop(provider, connection, cache=None) -> None: ... + def disconnect(provider) -> None: ... + def execute(provider, cursor, sql, arguments=None, returning_id: bool = False): ... + def get_converter_by_py_type(provider, py_type): ... + def get_converter_by_attr(provider, attr): ... + def get_pool(provider, *args, **kwargs): ... + def table_exists(provider, connection, table_name, case_sensitive: bool = True) -> None: ... + def index_exists(provider, connection, table_name, index_name, case_sensitive: bool = True) -> None: ... + def fk_exists(provider, connection, table_name, fk_name, case_sensitive: bool = True) -> None: ... + def table_has_data(provider, connection, table_name): ... + def disable_fk_checks(provider, connection) -> None: ... + def enable_fk_checks(provider, connection, prev_state) -> None: ... + def drop_table(provider, connection, table_name) -> None: ... class Pool(localbase): forked_connections: list[tuple[Incomplete, int | None]] @@ -93,124 +93,124 @@ class Pool(localbase): kwargs: dict[str, Incomplete] con: Incomplete pid: int | None - def __init__(self, dbapi_module: types.ModuleType, *args, **kwargs) -> None: ... - def connect(self) -> tuple[Incomplete, bool]: ... - def release(self, con) -> None: ... - def drop(self, con) -> None: ... - def disconnect(self) -> None: ... + def __init__(pool, dbapi_module: types.ModuleType, *args, **kwargs) -> None: ... + def connect(pool) -> tuple[Incomplete, bool]: ... + def release(pool, con) -> None: ... + def drop(pool, con) -> None: ... + def disconnect(pool) -> None: ... class Converter: EQ: str NE: str optimistic: bool def __deepcopy__(converter, memo): ... - def __init__(self, provider, py_type, attr=None) -> None: ... - def init(self, kwargs) -> None: ... - def validate(self, val, obj=None): ... - def py2sql(self, val): ... - def sql2py(self, val): ... + def __init__(converter, provider, py_type, attr=None) -> None: ... + def init(converter, kwargs) -> None: ... + def validate(converter, val, obj=None): ... + def py2sql(converter, val): ... + def sql2py(converter, val): ... def val2dbval(self, val, obj=None): ... def dbval2val(self, dbval, obj=None): ... def dbvals_equal(self, x, y): ... - def get_sql_type(self, attr=None): ... - def get_fk_type(self, sql_type): ... + def get_sql_type(converter, attr=None): ... + def get_fk_type(converter, sql_type): ... class NoneConverter(Converter): - def __init__(self, provider, py_type, attr=None) -> None: ... - def get_sql_type(self, attr=None) -> None: ... - def get_fk_type(self, sql_type) -> None: ... + def __init__(converter, provider, py_type, attr=None) -> None: ... + def get_sql_type(converter, attr=None) -> None: ... + def get_fk_type(converter, sql_type) -> None: ... class BoolConverter(Converter): - def validate(self, val, obj=None): ... - def sql2py(self, val): ... - def sql_type(self): ... + def validate(converter, val, obj=None): ... + def sql2py(converter, val): ... + def sql_type(converter): ... class StrConverter(Converter): - def __init__(self, provider, py_type, attr=None) -> None: ... - def init(self, kwargs) -> None: ... - def validate(self, val, obj=None): ... - def sql_type(self): ... + def __init__(converter, provider, py_type, attr=None) -> None: ... + def init(converter, kwargs) -> None: ... + def validate(converter, val, obj=None): ... + def sql_type(converter): ... class IntConverter(Converter): signed_types: Incomplete unsigned_types: Incomplete - def init(self, kwargs) -> None: ... - def validate(self, val, obj=None): ... - def sql2py(self, val): ... - def sql_type(self): ... + def init(converter, kwargs) -> None: ... + def validate(converter, val, obj=None): ... + def sql2py(converter, val): ... + def sql_type(converter): ... class RealConverter(Converter): EQ: str NE: str default_tolerance: float optimistic: bool - def init(self, kwargs) -> None: ... - def validate(self, val, obj=None): ... - def dbvals_equal(self, x, y): ... - def sql2py(self, val): ... - def sql_type(self): ... + def init(converter, kwargs) -> None: ... + def validate(converter, val, obj=None): ... + def dbvals_equal(converter, x, y): ... + def sql2py(converter, val): ... + def sql_type(converter): ... class DecimalConverter(Converter): - def __init__(self, provider, py_type, attr=None) -> None: ... - def init(self, kwargs) -> None: ... - def validate(self, val, obj=None): ... - def sql2py(self, val): ... - def sql_type(self): ... + def __init__(converter, provider, py_type, attr=None) -> None: ... + def init(converter, kwargs) -> None: ... + def validate(converter, val, obj=None): ... + def sql2py(converter, val): ... + def sql_type(converter): ... class BlobConverter(Converter): - def validate(self, val, obj=None): ... - def sql2py(self, val): ... - def sql_type(self): ... + def validate(converter, val, obj=None): ... + def sql2py(converter, val): ... + def sql_type(converter): ... class DateConverter(Converter): - def validate(self, val, obj=None): ... - def sql2py(self, val): ... - def sql_type(self): ... + def validate(converter, val, obj=None): ... + def sql2py(converter, val): ... + def sql_type(converter): ... class ConverterWithMicroseconds(Converter): - def __init__(self, provider, py_type, attr=None) -> None: ... - def init(self, kwargs) -> None: ... - def round_microseconds_to_precision(self, microseconds, precision): ... - def sql_type(self): ... + def __init__(converter, provider, py_type, attr=None) -> None: ... + def init(converter, kwargs) -> None: ... + def round_microseconds_to_precision(converter, microseconds, precision): ... + def sql_type(converter): ... class TimeConverter(ConverterWithMicroseconds): sql_type_name: ClassVar[str] - def validate(self, val, obj=None): ... - def sql2py(self, val): ... + def validate(converter, val, obj=None): ... + def sql2py(converter, val): ... class TimedeltaConverter(ConverterWithMicroseconds): sql_type_name: ClassVar[str] - def validate(self, val, obj=None): ... - def sql2py(self, val): ... + def validate(converter, val, obj=None): ... + def sql2py(converter, val): ... class DatetimeConverter(ConverterWithMicroseconds): sql_type_name: ClassVar[str] - def validate(self, val, obj=None): ... - def sql2py(self, val): ... + def validate(converter, val, obj=None): ... + def sql2py(converter, val): ... class UuidConverter(Converter): - def __init__(self, provider, py_type, attr=None) -> None: ... - def validate(self, val, obj=None): ... - def py2sql(self, val): ... + def __init__(converter, provider, py_type, attr=None) -> None: ... + def validate(converter, val, obj=None): ... + def py2sql(converter, val): ... sql2py = validate - def sql_type(self): ... + def sql_type(converter): ... class JsonConverter(Converter): json_kwargs: Incomplete class JsonEncoder(json.JSONEncoder): - def default(self, obj): ... + def default(converter, obj): ... - def validate(self, val, obj=None): ... - def val2dbval(self, val, obj=None): ... - def dbval2val(self, dbval, obj=None): ... - def dbvals_equal(self, x, y): ... - def sql_type(self): ... + def validate(converter, val, obj=None): ... + def val2dbval(converter, val, obj=None): ... + def dbval2val(converter, dbval, obj=None): ... + def dbvals_equal(converter, x, y): ... + def sql_type(converter): ... class ArrayConverter(Converter): array_types: Incomplete - def __init__(self, provider, py_type, attr=None) -> None: ... - def validate(self, val, obj=None): ... - def dbval2val(self, dbval, obj=None): ... - def val2dbval(self, val, obj=None): ... - def sql_type(self): ... + def __init__(converter, provider, py_type, attr=None) -> None: ... + def validate(converter, val, obj=None): ... + def dbval2val(converter, dbval, obj=None): ... + def val2dbval(converter, val, obj=None): ... + def sql_type(converter): ... diff --git a/stubs/pony/pony/orm/dbproviders/sqlite.pyi b/stubs/pony/pony/orm/dbproviders/sqlite.pyi index 3c1e85a3546d..d7b984d30c5d 100644 --- a/stubs/pony/pony/orm/dbproviders/sqlite.pyi +++ b/stubs/pony/pony/orm/dbproviders/sqlite.pyi @@ -16,7 +16,7 @@ class SqliteExtensionUnavailable(Exception): ... NoneType: type[None] class SQLiteForeignKey(dbschema.ForeignKey): - def get_create_command(self) -> None: ... + def get_create_command(foreign_key) -> None: ... class SQLiteSchema(dbschema.DBSchema): dialect: ClassVar[str] @@ -38,70 +38,70 @@ class SQLiteBuilder(SQLBuilder): least_func_name: ClassVar[str] greatest_func_name: ClassVar[str] value_class: ClassVar[type[SQLiteValue]] - def __init__(self, provider, ast) -> None: ... - def SELECT_FOR_UPDATE(self, nowait, skip_locked, *sections): ... - def INSERT(self, table_name, columns, values, returning=None): ... - def STRING_SLICE(self, expr, start, stop): ... - def IN(self, expr1, x): ... - def NOT_IN(self, expr1, x): ... - def TODAY(self): ... - def NOW(self): ... - def YEAR(self, expr): ... - def MONTH(self, expr): ... - def DAY(self, expr): ... - def HOUR(self, expr): ... - def MINUTE(self, expr): ... - def SECOND(self, expr): ... - def datetime_add(self, funcname, expr, td): ... - def DATE_ADD(self, expr, delta): ... - def DATE_SUB(self, expr, delta): ... - def DATE_DIFF(self, expr1, expr2): ... - def DATETIME_ADD(self, expr, delta): ... - def DATETIME_SUB(self, expr, delta): ... - def DATETIME_DIFF(self, expr1, expr2): ... - def RANDOM(self): ... + def __init__(builder, provider, ast) -> None: ... + def SELECT_FOR_UPDATE(builder, nowait, skip_locked, *sections): ... + def INSERT(builder, table_name, columns, values, returning=None): ... + def STRING_SLICE(builder, expr, start, stop): ... + def IN(builder, expr1, x): ... + def NOT_IN(builder, expr1, x): ... + def TODAY(builder): ... + def NOW(builder): ... + def YEAR(builder, expr): ... + def MONTH(builder, expr): ... + def DAY(builder, expr): ... + def HOUR(builder, expr): ... + def MINUTE(builder, expr): ... + def SECOND(builder, expr): ... + def datetime_add(builder, funcname, expr, td): ... + def DATE_ADD(builder, expr, delta): ... + def DATE_SUB(builder, expr, delta): ... + def DATE_DIFF(builder, expr1, expr2): ... + def DATETIME_ADD(builder, expr, delta): ... + def DATETIME_SUB(builder, expr, delta): ... + def DATETIME_DIFF(builder, expr1, expr2): ... + def RANDOM(builder): ... PY_UPPER: Incomplete PY_LOWER: Incomplete - def FLOAT_EQ(self, a, b): ... - def FLOAT_NE(self, a, b): ... - def JSON_QUERY(self, expr, path): ... + def FLOAT_EQ(builder, a, b): ... + def FLOAT_NE(builder, a, b): ... + def JSON_QUERY(builder, expr, path): ... json_value_type_mapping: Incomplete - def JSON_VALUE(self, expr, path, type): ... - def JSON_NONZERO(self, expr): ... - def JSON_ARRAY_LENGTH(self, value): ... - def JSON_CONTAINS(self, expr, path, key): ... - def ARRAY_INDEX(self, col, index): ... - def ARRAY_CONTAINS(self, key, not_in, col): ... - def ARRAY_SUBSET(self, array1, not_in, array2): ... - def ARRAY_LENGTH(self, array): ... - def ARRAY_SLICE(self, array, start, stop): ... - def MAKE_ARRAY(self, *items): ... + def JSON_VALUE(builder, expr, path, type): ... + def JSON_NONZERO(builder, expr): ... + def JSON_ARRAY_LENGTH(builder, value): ... + def JSON_CONTAINS(builder, expr, path, key): ... + def ARRAY_INDEX(builder, col, index): ... + def ARRAY_CONTAINS(builder, key, not_in, col): ... + def ARRAY_SUBSET(builder, array1, not_in, array2): ... + def ARRAY_LENGTH(builder, array): ... + def ARRAY_SLICE(builder, array, start, stop): ... + def MAKE_ARRAY(builder, *items): ... class SQLiteIntConverter(dbapiprovider.IntConverter): - def sql_type(self): ... + def sql_type(converter): ... class SQLiteDecimalConverter(dbapiprovider.DecimalConverter): inf: Incomplete neg_inf: Incomplete NaN: Incomplete - def sql2py(self, val): ... - def py2sql(self, val): ... + def sql2py(converter, val): ... + def py2sql(converter, val): ... class SQLiteDateConverter(dbapiprovider.DateConverter): - def sql2py(self, val): ... - def py2sql(self, val): ... + def sql2py(converter, val): ... + def py2sql(converter, val): ... class SQLiteTimeConverter(dbapiprovider.TimeConverter): - def sql2py(self, val): ... - def py2sql(self, val): ... + def sql2py(converter, val): ... + def py2sql(converter, val): ... class SQLiteTimedeltaConverter(dbapiprovider.TimedeltaConverter): - def sql2py(self, val): ... - def py2sql(self, val): ... + def sql2py(converter, val): ... + def py2sql(converter, val): ... class SQLiteDatetimeConverter(dbapiprovider.DatetimeConverter): - def sql2py(self, val): ... - def py2sql(self, val): ... + def sql2py(converter, val): ... + def py2sql(converter, val): ... class SQLiteJsonConverter(dbapiprovider.JsonConverter): json_kwargs: Incomplete @@ -110,8 +110,8 @@ def dumps(items): ... class SQLiteArrayConverter(dbapiprovider.ArrayConverter): array_types: Incomplete - def dbval2val(self, dbval, obj=None): ... - def val2dbval(self, val, obj=None): ... + def dbval2val(converter, dbval, obj=None): ... + def val2dbval(converter, val, obj=None): ... class LocalExceptions(localbase): exc_info: Incomplete @@ -132,21 +132,21 @@ class SQLiteProvider(DBAPIProvider): array_converter_cls: ClassVar[type[SQLiteArrayConverter]] server_version: tuple[int, int, int] converter_classes: Incomplete - def __init__(self, database, filename, **kwargs) -> None: ... - def inspect_connection(self, conn) -> None: ... - def restore_exception(self) -> None: ... - def acquire_lock(self) -> None: ... - def release_lock(self) -> None: ... - def set_transaction_mode(self, connection: _Connection, cache) -> None: ... - def commit(self, connection: _Connection, cache=None) -> None: ... - def rollback(self, connection: _Connection, cache=None) -> None: ... - def drop(self, connection: _Connection, cache=None) -> None: ... - def release(self, connection: _Connection, cache=None) -> None: ... - def get_pool(self, is_shared_memory_db, filename, create_db: bool = False, **kwargs): ... - def table_exists(self, connection: _Connection, table_name: str, case_sensitive: bool = True): ... - def index_exists(self, connection: _Connection, table_name: str, index_name, case_sensitive: bool = True): ... - def fk_exists(self, connection: _Connection, table_name: str, fk_name) -> None: ... # type: ignore[override] - def check_json1(self, connection: _Connection) -> bool: ... + def __init__(provider, database, filename, **kwargs) -> None: ... + def inspect_connection(provider, conn) -> None: ... + def restore_exception(provider) -> None: ... + def acquire_lock(provider) -> None: ... + def release_lock(provider) -> None: ... + def set_transaction_mode(provider, connection: _Connection, cache) -> None: ... + def commit(provider, connection: _Connection, cache=None) -> None: ... + def rollback(provider, connection: _Connection, cache=None) -> None: ... + def drop(provider, connection: _Connection, cache=None) -> None: ... + def release(provider, connection: _Connection, cache=None) -> None: ... + def get_pool(provider, is_shared_memory_db, filename, create_db: bool = False, **kwargs): ... + def table_exists(provider, connection: _Connection, table_name: str, case_sensitive: bool = True): ... + def index_exists(provider, connection: _Connection, table_name: str, index_name, case_sensitive: bool = True): ... + def fk_exists(provider, connection: _Connection, table_name: str, fk_name) -> None: ... # type: ignore[override] + def check_json1(provider, connection: _Connection) -> bool: ... provider_cls = SQLiteProvider @@ -189,7 +189,7 @@ class SQLitePool(Pool): kwargs: dict[str, Incomplete] if sys.version_info >= (3, 12): def __init__( - self, + pool, is_shared_memory_db: bool | None, filename: StrOrBytesPath, create_db: bool | None, @@ -204,7 +204,7 @@ class SQLitePool(Pool): ) -> None: ... else: def __init__( - self, + pool, is_shared_memory_db: bool | None, filename: StrOrBytesPath, create_db: bool | None, @@ -217,5 +217,5 @@ class SQLitePool(Pool): uri: bool = False, ) -> None: ... - def disconnect(self) -> None: ... - def drop(self, con: _Connection) -> None: ... + def disconnect(pool) -> None: ... + def drop(pool, con: _Connection) -> None: ... diff --git a/stubs/pony/pony/orm/dbschema.pyi b/stubs/pony/pony/orm/dbschema.pyi index 928aeb88645e..686ca5f2dc7e 100644 --- a/stubs/pony/pony/orm/dbschema.pyi +++ b/stubs/pony/pony/orm/dbschema.pyi @@ -18,30 +18,30 @@ class DBSchema: command_separator: str uppercase: bool names: dict[Incomplete, Incomplete] - def __init__(self, provider: DBAPIProvider, uppercase: bool = True) -> None: ... - def column_list(self, columns): ... - def case(self, s: str) -> str: ... - def add_table(self, table_name, entity=None): ... - def order_tables_to_create(self): ... - def generate_create_script(self): ... - def create_tables(self, provider: DBAPIProvider, connection) -> None: ... - def check_tables(self, provider: DBAPIProvider, connection) -> None: ... + def __init__(schema, provider: DBAPIProvider, uppercase: bool = True) -> None: ... + def column_list(schema, columns): ... + def case(schema, s: str) -> str: ... + def add_table(schema, table_name, entity=None): ... + def order_tables_to_create(schema): ... + def generate_create_script(schema): ... + def create_tables(schema, provider: DBAPIProvider, connection) -> None: ... + def check_tables(schema, provider: DBAPIProvider, connection) -> None: ... class DBObject: - def create(self, provider, connection) -> None: ... + def create(table, provider, connection) -> None: ... class Table(DBObject): typename: ClassVar[str] - def __init__(self, name, schema, entity=None) -> None: ... - def add_entity(self, entity) -> None: ... - def exists(self, provider: DBAPIProvider, connection, case_sensitive: bool = True): ... - def get_create_command(self): ... - def format_option(self, name, value): ... - def get_objects_to_create(self, created_tables: set[Table] | None = None) -> list[Table]: ... - def add_column(self, column_name, sql_type, converter, is_not_null: bool | None = None, sql_default=None): ... - def add_index(self, index_name, columns, is_pk: bool = False, is_unique=None, m2m: bool = False): ... + def __init__(table, name, schema, entity=None) -> None: ... + def add_entity(table, entity) -> None: ... + def exists(table, provider: DBAPIProvider, connection, case_sensitive: bool = True): ... + def get_create_command(table): ... + def format_option(table, name, value): ... + def get_objects_to_create(table, created_tables: set[Table] | None = None) -> list[Table]: ... + def add_column(table, column_name, sql_type, converter, is_not_null: bool | None = None, sql_default=None): ... + def add_index(table, index_name, columns, is_pk: bool = False, is_unique=None, m2m: bool = False): ... def add_foreign_key( - self, + table, fk_name, child_columns, parent_table, @@ -53,26 +53,34 @@ class Table(DBObject): class Column: auto_template: ClassVar[str] - def __init__(self, name, table, sql_type, converter, is_not_null: bool | None = None, sql_default=None) -> None: ... - def get_sql(self) -> str: ... + def __init__(column, name, table, sql_type, converter, is_not_null: bool | None = None, sql_default=None) -> None: ... + def get_sql(column) -> str: ... class Constraint(DBObject): schema: DBSchema name: str | None - def __init__(self, name: str | None, schema: DBSchema) -> None: ... + def __init__(constraint, name: str | None, schema: DBSchema) -> None: ... class DBIndex(Constraint): typename: ClassVar[str] - def __init__(self, name: str | None, table, columns, is_pk: bool = False, is_unique=None) -> None: ... - def exists(self, provider, connection, case_sensitive: bool = True): ... - def get_sql(self) -> str: ... - def get_create_command(self): ... + def __init__(index, name: str | None, table, columns, is_pk: bool = False, is_unique=None) -> None: ... + def exists(index, provider, connection, case_sensitive: bool = True): ... + def get_sql(index) -> str: ... + def get_create_command(index): ... class ForeignKey(Constraint): typename: ClassVar[str] def __init__( - self, name, child_table, child_columns, parent_table, parent_columns, index_name, on_delete, interleave: bool = False + foreign_key, + name, + child_table, + child_columns, + parent_table, + parent_columns, + index_name, + on_delete, + interleave: bool = False, ) -> None: ... - def exists(self, provider, connection, case_sensitive: bool = True): ... - def get_sql(self) -> str: ... - def get_create_command(self): ... + def exists(foreign_key, provider, connection, case_sensitive: bool = True): ... + def get_sql(foreign_key) -> str: ... + def get_create_command(foreign_key): ... diff --git a/stubs/pony/pony/orm/decompiling.pyi b/stubs/pony/pony/orm/decompiling.pyi index 9755f2715761..4fe1eb5a6280 100644 --- a/stubs/pony/pony/orm/decompiling.pyi +++ b/stubs/pony/pony/orm/decompiling.pyi @@ -14,22 +14,18 @@ def binop(node_type): ... operator_mapping: dict[str, type[ast.cmpop]] -double_load_store_ops: set[str] -direct_jump_to_loop_ops: dict[str, str] - def clean_assign(node): ... def make_const(value): ... def is_const(value) -> bool: ... def unwrap_str(key) -> str: ... -def slice_to_ast(value): ... class Decompiler: - def __init__(self, code, start: int = 0, end=None) -> None: ... - def get_instructions(self) -> None: ... - def analyze_jumps(self) -> None: ... - def decompile(self) -> None: ... - def pop_items(self, size): ... - def store(self, node) -> None: ... + def __init__(decompiler, code, start: int = 0, end=None) -> None: ... + def get_instructions(decompiler) -> None: ... + def analyze_jumps(decompiler) -> None: ... + def decompile(decompiler) -> None: ... + def pop_items(decompiler, size): ... + def store(decompiler, node) -> None: ... BINARY_POWER: Incomplete BINARY_MULTIPLY: Incomplete BINARY_DIVIDE: Incomplete @@ -43,110 +39,96 @@ class Decompiler: BINARY_OR: Incomplete BINARY_TRUE_DIVIDE = BINARY_DIVIDE # pyrefly: ignore [unknown-name] BINARY_MODULO: Incomplete - def BINARY_OP(self, opcode): ... - def BINARY_SLICE(self): ... - def BINARY_SUBSCR(self): ... - def BUILD_CONST_KEY_MAP(self, length): ... - def BUILD_LIST(self, size): ... - def BUILD_MAP(self, length): ... - def BUILD_SET(self, size): ... - def BUILD_SLICE(self, size): ... - def BUILD_TUPLE(self, size): ... - def BUILD_STRING(self, count): ... - def CALL_FUNCTION(self, argc, star=None, star2=None): ... - def CACHE(self) -> None: ... - def CALL(self, argc): ... - def CALL_FUNCTION_VAR(self, argc): ... - def CALL_FUNCTION_KW(self, argc): ... - def CALL_FUNCTION_VAR_KW(self, argc): ... - def CALL_FUNCTION_EX(self, argc=1): ... - def CALL_METHOD(self, argc): ... - def CALL_KW(self, argc): ... - def COMPARE_OP(self, op): ... - def COPY(self, _) -> None: ... - def COPY_FREE_VARS(self, n) -> None: ... - def CONTAINS_OP(self, invert): ... - def CONVERT_VALUE(self, conversion): ... - def DUP_TOP(self): ... - def FOR_ITER(self, endpos): ... - def FORMAT_VALUE(self, flags): ... - def FORMAT_SIMPLE(self): ... - def FORMAT_WITH_SPEC(self): ... - def GEN_START(self, kind) -> None: ... - def GET_ITER(self) -> None: ... - def JUMP_IF_FALSE(self, endpos): ... + def BINARY_OP(decompiler, opcode): ... + def BINARY_SLICE(decompiler): ... + def BINARY_SUBSCR(decompiler): ... + def BUILD_CONST_KEY_MAP(decompiler, length): ... + def BUILD_LIST(decompiler, size): ... + def BUILD_MAP(decompiler, length): ... + def BUILD_SET(decompiler, size): ... + def BUILD_SLICE(decompiler, size): ... + def BUILD_TUPLE(decompiler, size): ... + def BUILD_STRING(decompiler, count): ... + def CALL_FUNCTION(decompiler, argc, star=None, star2=None): ... + def CACHE(decompiler) -> None: ... + def CALL(decompiler, argc): ... + def CALL_FUNCTION_VAR(decompiler, argc): ... + def CALL_FUNCTION_KW(decompiler, argc): ... + def CALL_FUNCTION_VAR_KW(decompiler, argc): ... + def CALL_FUNCTION_EX(decompiler, argc): ... + def CALL_METHOD(decompiler, argc): ... + def COMPARE_OP(decompiler, op): ... + def COPY(decompiler, _) -> None: ... + def COPY_FREE_VARS(decompiler, n) -> None: ... + def CONTAINS_OP(decompiler, invert): ... + def DUP_TOP(decompiler): ... + def FOR_ITER(decompiler, endpos): ... + def FORMAT_VALUE(decompiler, flags): ... + def GEN_START(decompiler, kind) -> None: ... + def GET_ITER(decompiler) -> None: ... + def JUMP_IF_FALSE(decompiler, endpos): ... JUMP_IF_FALSE_OR_POP = JUMP_IF_FALSE - def JUMP_IF_NOT_EXC_MATCH(self, endpos) -> None: ... - def JUMP_IF_TRUE(self, endpos): ... + def JUMP_IF_NOT_EXC_MATCH(decompiler, endpos) -> None: ... + def JUMP_IF_TRUE(decompiler, endpos): ... JUMP_IF_TRUE_OR_POP = JUMP_IF_TRUE - def conditional_jump(self, endpos, if_true): ... - def conditional_jump_old(self, endpos, if_true): ... - def conditional_jump_new(self, endpos, if_true): ... - def conditional_jump_none_impl(self, endpos, negate): ... - def jump_if_none(self, endpos): ... - def jump_if_not_none(self, endpos): ... - def process_target(self, pos, partial: bool = False) -> None: ... - def JUMP_FORWARD(self, endpos): ... - def KW_NAMES(self, kw_names) -> None: ... - def IS_OP(self, invert): ... - def LIST_APPEND(self, offset) -> None: ... - def LIST_EXTEND(self, offset): ... - def LIST_TO_TUPLE(self): ... - def LOAD_ATTR(self, attr_name, push_null): ... - def LOAD_CLOSURE(self, freevar): ... - def LOAD_CONST(self, const_value): ... - def LOAD_DEREF(self, freevar): ... - def LOAD_FAST(self, varname): ... + def conditional_jump(decompiler, endpos, if_true): ... + def conditional_jump_old(decompiler, endpos, if_true): ... + def conditional_jump_new(decompiler, endpos, if_true): ... + def conditional_jump_none_impl(decompiler, endpos, negate): ... + def jump_if_none(decompiler, endpos): ... + def jump_if_not_none(decompiler, endpos): ... + def process_target(decompiler, pos, partial: bool = False) -> None: ... + def JUMP_FORWARD(decompiler, endpos): ... + def KW_NAMES(decompiler, kw_names) -> None: ... + def IS_OP(decompiler, invert): ... + def LIST_APPEND(decompiler, offset) -> None: ... + def LIST_EXTEND(decompiler, offset): ... + def LIST_TO_TUPLE(decompiler): ... + def LOAD_ATTR(decompiler, attr_name, push_null): ... + def LOAD_CLOSURE(decompiler, freevar): ... + def LOAD_CONST(decompiler, const_value): ... + def LOAD_DEREF(decompiler, freevar): ... + def LOAD_FAST(decompiler, varname): ... LOAD_FAST_AND_CLEAR = LOAD_FAST - def LOAD_FAST_BORROW(self, varname): ... - def LOAD_FAST_BORROW_LOAD_FAST_BORROW(self, varname1, varname2): ... - def LOAD_FAST_LOAD_FAST(self, varname1, varname2): ... - def LOAD_GLOBAL(self, varname, push_null): ... - def LOAD_METHOD(self, methname): ... + def LOAD_GLOBAL(decompiler, varname, push_null): ... + def LOAD_METHOD(decompiler, methname): ... LOOKUP_METHOD = LOAD_METHOD - def LOAD_NAME(self, varname): ... - def LOAD_SMALL_INT(self, value): ... - def MAKE_CELL(self, freevar) -> None: ... - def MAKE_CLOSURE(self, argc): ... - def MAKE_FUNCTION(self, argc=0): ... + def LOAD_NAME(decompiler, varname): ... + def MAKE_CELL(decompiler, freevar) -> None: ... + def MAKE_CLOSURE(decompiler, argc): ... + def MAKE_FUNCTION(decompiler, argc): ... POP_JUMP_BACKWARD_IF_FALSE = JUMP_IF_FALSE POP_JUMP_BACKWARD_IF_TRUE = JUMP_IF_TRUE POP_JUMP_FORWARD_IF_FALSE = JUMP_IF_FALSE POP_JUMP_FORWARD_IF_TRUE = JUMP_IF_TRUE POP_JUMP_IF_FALSE = JUMP_IF_FALSE POP_JUMP_IF_TRUE = JUMP_IF_TRUE - def POP_JUMP_IF_NONE(self, endpos): ... - def POP_JUMP_IF_NOT_NONE(self, endpos): ... POP_JUMP_BACKWARD_IF_NONE = jump_if_none POP_JUMP_BACKWARD_IF_NOT_NONE = jump_if_not_none POP_JUMP_FORWARD_IF_NONE = jump_if_none POP_JUMP_FORWARD_IF_NOT_NONE = jump_if_not_none - def POP_TOP(self) -> None: ... - def PRECALL(self, argc) -> None: ... - def PUSH_NULL(self) -> None: ... - def RETURN_VALUE(self): ... - def RETURN_CONST(self, val): ... - def RETURN_GENERATOR(self) -> None: ... - def RESUME(self, where) -> None: ... - def ROT_TWO(self) -> None: ... - def ROT_THREE(self) -> None: ... - def SET_FUNCTION_ATTRIBUTE(self, flag): ... - def SETUP_LOOP(self, endpos) -> None: ... - def STORE_ATTR(self, attrname) -> None: ... - def STORE_DEREF(self, freevar) -> None: ... - def STORE_FAST(self, varname) -> None: ... - def STORE_FAST_LOAD_FAST(self, varname1, varname2): ... - def STORE_FAST_STORE_FAST(self, varname1, varname2): ... - def STORE_MAP(self) -> None: ... - def STORE_SUBSCR(self) -> None: ... - def SWAP(self, _) -> None: ... - def TO_BOOL(self): ... - def UNARY_POSITIVE(self): ... - def UNARY_NEGATIVE(self): ... - def UNARY_NOT(self): ... - def UNARY_INVERT(self): ... - def UNPACK_SEQUENCE(self, count): ... - def YIELD_VALUE(self, _=None): ... + def POP_TOP(decompiler) -> None: ... + def PRECALL(decompiler, argc) -> None: ... + def PUSH_NULL(decompiler) -> None: ... + def RETURN_VALUE(decompiler): ... + def RETURN_CONST(decompiler, val): ... + def RETURN_GENERATOR(decompiler) -> None: ... + def RESUME(decompiler, where) -> None: ... + def ROT_TWO(decompiler) -> None: ... + def ROT_THREE(decompiler) -> None: ... + def SETUP_LOOP(decompiler, endpos) -> None: ... + def STORE_ATTR(decompiler, attrname) -> None: ... + def STORE_DEREF(decompiler, freevar) -> None: ... + def STORE_FAST(decompiler, varname) -> None: ... + def STORE_MAP(decompiler) -> None: ... + def STORE_SUBSCR(decompiler) -> None: ... + def SWAP(decompiler, _) -> None: ... + def UNARY_POSITIVE(decompiler): ... + def UNARY_NEGATIVE(decompiler): ... + def UNARY_NOT(decompiler): ... + def UNARY_INVERT(decompiler): ... + def UNPACK_SEQUENCE(decompiler, count): ... + def YIELD_VALUE(decompiler, _=None): ... test_lines: str diff --git a/stubs/pony/pony/orm/serialization.pyi b/stubs/pony/pony/orm/serialization.pyi index 9d3b953a0c05..b8acc580ce37 100644 --- a/stubs/pony/pony/orm/serialization.pyi +++ b/stubs/pony/pony/orm/serialization.pyi @@ -13,9 +13,9 @@ class Bag: objects: defaultdict[type[Entity], set[Entity]] vars: dict[Incomplete, Incomplete] dicts: defaultdict[Incomplete, dict[Incomplete, Incomplete]] - def __init__(self, database: Database) -> None: ... + def __init__(bag, database: Database) -> None: ... def config( - self, + bag, entity: Entity, only=None, exclude=None, @@ -23,9 +23,9 @@ class Bag: with_lazy: bool = False, related_objects: bool = True, ) -> tuple[Incomplete, bool]: ... - def put(self, x: Entity | Iterable[Entity]) -> None: ... - def to_dict(self): ... - def to_json(self) -> str: ... + def put(bag, x: Entity | Iterable[Entity]) -> None: ... + def to_dict(bag): ... + def to_json(bag) -> str: ... def to_dict(objects): ... def to_json(objects) -> str: ... diff --git a/stubs/pony/pony/orm/sqlbuilding.pyi b/stubs/pony/pony/orm/sqlbuilding.pyi index 8b17488758ed..e123d2be9993 100644 --- a/stubs/pony/pony/orm/sqlbuilding.pyi +++ b/stubs/pony/pony/orm/sqlbuilding.pyi @@ -12,15 +12,15 @@ class Param: paramkey: Incomplete converter: Incomplete optimistic: bool - def __init__(self, paramstyle, paramkey, converter=None, optimistic: bool = False) -> None: ... - def eval(self, values): ... + def __init__(param, paramstyle, paramkey, converter=None, optimistic: bool = False) -> None: ... + def eval(param, values): ... class CompositeParam(Param): __slots__ = ("items", "func") items: Iterable[Param | Value] func: Incomplete - def __init__(self, paramstyle, paramkey, items: Iterable[Param | Value], func) -> None: ... - def eval(self, values): ... + def __init__(param, paramstyle, paramkey, items: Iterable[Param | Value], func) -> None: ... + def eval(param, values): ... class Value: __slots__ = ("paramstyle", "value") @@ -45,45 +45,45 @@ class SQLBuilder: indent_spaces: ClassVar[str] least_func_name: ClassVar[str] greatest_func_name: ClassVar[str] - def __init__(self, provider, ast) -> None: ... - def __call__(self, ast): ... - def INSERT(self, table_name, columns, values, returning=None): ... - def DEFAULT(self): ... - def UPDATE(self, table_name, pairs, where=None): ... - def DELETE(self, alias, from_ast, where=None): ... - def SELECT(self, *sections): ... - def SELECT_FOR_UPDATE(self, nowait, skip_locked, *sections): ... - def EXISTS(self, *sections): ... - def NOT_EXISTS(self, *sections): ... + def __init__(builder, provider, ast) -> None: ... + def __call__(builder, ast): ... + def INSERT(builder, table_name, columns, values, returning=None): ... + def DEFAULT(builder): ... + def UPDATE(builder, table_name, pairs, where=None): ... + def DELETE(builder, alias, from_ast, where=None): ... + def SELECT(builder, *sections): ... + def SELECT_FOR_UPDATE(builder, nowait, skip_locked, *sections): ... + def EXISTS(builder, *sections): ... + def NOT_EXISTS(builder, *sections): ... def ALL(builder, *expr_list): ... def DISTINCT(builder, *expr_list): ... def AGGREGATES(builder, *expr_list): ... - def AS(self, expr, alias): ... - def compound_name(self, name_parts): ... - def sql_join(self, join_type, sources): ... - def FROM(self, *sources): ... - def INNER_JOIN(self, *sources): ... + def AS(builder, expr, alias): ... + def compound_name(builder, name_parts): ... + def sql_join(builder, join_type, sources): ... + def FROM(builder, *sources): ... + def INNER_JOIN(builder, *sources): ... def LEFT_JOIN(builder, *sources): ... - def WHERE(self, *conditions): ... - def HAVING(self, *conditions): ... + def WHERE(builder, *conditions): ... + def HAVING(builder, *conditions): ... def GROUP_BY(builder, *expr_list): ... def UNION(builder, kind, *sections): ... def INTERSECT(builder, *sections): ... def EXCEPT(builder, *sections): ... def ORDER_BY(builder, *order_list): ... - def DESC(self, expr): ... + def DESC(builder, expr): ... def LIMIT(builder, limit, offset=None): ... - def COLUMN(self, table_alias, col_name): ... - def PARAM(self, paramkey, converter=None, optimistic: bool = False): ... - def make_param(self, param_class, paramkey, *args): ... - def make_composite_param(self, paramkey, items, func): ... - def STAR(self, table_alias): ... - def ROW(self, *items): ... - def VALUE(self, value): ... - def AND(self, *cond_list): ... - def OR(self, *cond_list): ... - def NOT(self, condition): ... - def POW(self, expr1, expr2): ... + def COLUMN(builder, table_alias, col_name): ... + def PARAM(builder, paramkey, converter=None, optimistic: bool = False): ... + def make_param(builder, param_class, paramkey, *args): ... + def make_composite_param(builder, paramkey, items, func): ... + def STAR(builder, table_alias): ... + def ROW(builder, *items): ... + def VALUE(builder, value): ... + def AND(builder, *cond_list): ... + def OR(builder, *cond_list): ... + def NOT(builder, condition): ... + def POW(builder, expr1, expr2): ... EQ: Incomplete NE: Incomplete LT: Incomplete @@ -95,65 +95,65 @@ class SQLBuilder: MUL: Incomplete DIV: Incomplete FLOORDIV: Incomplete - def MOD(self, a, b): ... - def FLOAT_EQ(self, a, b): ... - def FLOAT_NE(self, a, b): ... - def CONCAT(self, *args): ... - def NEG(self, expr): ... - def IS_NULL(self, expr): ... - def IS_NOT_NULL(self, expr): ... - def LIKE(self, expr, template, escape=None): ... - def NOT_LIKE(self, expr, template, escape=None): ... - def BETWEEN(self, expr1, expr2, expr3): ... - def NOT_BETWEEN(self, expr1, expr2, expr3): ... - def IN(self, expr1, x): ... - def NOT_IN(self, expr1, x): ... - def COUNT(self, distinct, *expr_list): ... - def SUM(self, distinct, expr): ... - def AVG(self, distinct, expr): ... - def GROUP_CONCAT(self, distinct, expr, sep=None): ... + def MOD(builder, a, b): ... + def FLOAT_EQ(builder, a, b): ... + def FLOAT_NE(builder, a, b): ... + def CONCAT(builder, *args): ... + def NEG(builder, expr): ... + def IS_NULL(builder, expr): ... + def IS_NOT_NULL(builder, expr): ... + def LIKE(builder, expr, template, escape=None): ... + def NOT_LIKE(builder, expr, template, escape=None): ... + def BETWEEN(builder, expr1, expr2, expr3): ... + def NOT_BETWEEN(builder, expr1, expr2, expr3): ... + def IN(builder, expr1, x): ... + def NOT_IN(builder, expr1, x): ... + def COUNT(builder, distinct, *expr_list): ... + def SUM(builder, distinct, expr): ... + def AVG(builder, distinct, expr): ... + def GROUP_CONCAT(builder, distinct, expr, sep=None): ... UPPER: Incomplete LOWER: Incomplete LENGTH: Incomplete ABS: Incomplete - def COALESCE(self, *args): ... - def MIN(self, distinct, *args): ... - def MAX(self, distinct, *args): ... - def SUBSTR(self, expr, start, len=None): ... - def STRING_SLICE(self, expr, start, stop): ... - def CASE(self, expr, cases, default=None): ... - def IF(self, cond, then, else_): ... - def TRIM(self, expr, chars=None): ... - def LTRIM(self, expr, chars=None): ... - def RTRIM(self, expr, chars=None): ... - def REPLACE(self, str, from_, to): ... - def TO_INT(self, expr): ... - def TO_STR(self, expr): ... - def TO_REAL(self, expr): ... - def TODAY(self): ... - def NOW(self): ... - def DATE(self, expr): ... - def YEAR(self, expr): ... - def MONTH(self, expr): ... - def DAY(self, expr): ... - def HOUR(self, expr): ... - def MINUTE(self, expr): ... - def SECOND(self, expr): ... - def RANDOM(self): ... - def RAWSQL(self, sql): ... - def build_json_path(self, path): ... + def COALESCE(builder, *args): ... + def MIN(builder, distinct, *args): ... + def MAX(builder, distinct, *args): ... + def SUBSTR(builder, expr, start, len=None): ... + def STRING_SLICE(builder, expr, start, stop): ... + def CASE(builder, expr, cases, default=None): ... + def IF(builder, cond, then, else_): ... + def TRIM(builder, expr, chars=None): ... + def LTRIM(builder, expr, chars=None): ... + def RTRIM(builder, expr, chars=None): ... + def REPLACE(builder, str, from_, to): ... + def TO_INT(builder, expr): ... + def TO_STR(builder, expr): ... + def TO_REAL(builder, expr): ... + def TODAY(builder): ... + def NOW(builder): ... + def DATE(builder, expr): ... + def YEAR(builder, expr): ... + def MONTH(builder, expr): ... + def DAY(builder, expr): ... + def HOUR(builder, expr): ... + def MINUTE(builder, expr): ... + def SECOND(builder, expr): ... + def RANDOM(builder): ... + def RAWSQL(builder, sql): ... + def build_json_path(builder, path): ... @classmethod def eval_json_path(cls, values: Iterable[int | str | types.EllipsisType | slice]) -> str: ... - def JSON_QUERY(self, expr, path) -> None: ... - def JSON_VALUE(self, expr, path, type) -> None: ... - def JSON_NONZERO(self, expr) -> None: ... - def JSON_CONCAT(self, left, right) -> None: ... - def JSON_CONTAINS(self, expr, path, key) -> None: ... - def JSON_ARRAY_LENGTH(self, value) -> None: ... - def JSON_PARAM(self, expr): ... - def ARRAY_INDEX(self, col, index) -> None: ... - def ARRAY_CONTAINS(self, key, not_in, col) -> None: ... - def ARRAY_SUBSET(self, array1, not_in, array2) -> None: ... - def ARRAY_LENGTH(self, array) -> None: ... - def ARRAY_SLICE(self, array, start, stop) -> None: ... - def MAKE_ARRAY(self, *items) -> None: ... + def JSON_QUERY(builder, expr, path) -> None: ... + def JSON_VALUE(builder, expr, path, type) -> None: ... + def JSON_NONZERO(builder, expr) -> None: ... + def JSON_CONCAT(builder, left, right) -> None: ... + def JSON_CONTAINS(builder, expr, path, key) -> None: ... + def JSON_ARRAY_LENGTH(builder, value) -> None: ... + def JSON_PARAM(builder, expr): ... + def ARRAY_INDEX(builder, col, index) -> None: ... + def ARRAY_CONTAINS(builder, key, not_in, col) -> None: ... + def ARRAY_SUBSET(builder, array1, not_in, array2) -> None: ... + def ARRAY_LENGTH(builder, array) -> None: ... + def ARRAY_SLICE(builder, array, start, stop) -> None: ... + def MAKE_ARRAY(builder, *items) -> None: ... diff --git a/stubs/pony/pony/orm/sqltranslation.pyi b/stubs/pony/pony/orm/sqltranslation.pyi index 51d8030f0034..e2454f8d81df 100644 --- a/stubs/pony/pony/orm/sqltranslation.pyi +++ b/stubs/pony/pony/orm/sqltranslation.pyi @@ -23,7 +23,7 @@ def check_comparable(left_monad: Monad, right_monad: Monad, op: str = "==") -> N class IncomparableTypesError(TypeError): type1: Incomplete type2: Incomplete - def __init__(self, type1, type2) -> None: ... + def __init__(exc, type1, type2) -> None: ... def sqland(items): ... def sqlor(items): ... @@ -32,7 +32,7 @@ def type2str(t) -> str: ... class Local(localbase): translators: list[SQLTranslator] - def __init__(self) -> None: ... + def __init__(local) -> None: ... @property def translator(self) -> SQLTranslator: ... @@ -48,13 +48,13 @@ class SQLTranslator(ASTTranslator): registered_functions: dict[types.FunctionType, type[FuncMonad]] def __enter__(translator) -> None: ... def __exit__(translator, exc_type, exc_val, exc_tb) -> None: ... - def default_post(self, node) -> None: ... - def dispatch(self, node): ... - def dispatch_external(self, node) -> None: ... - def call(self, method, node): ... - def deepcopy(self): ... + def default_post(translator, node) -> None: ... + def dispatch(translator, node): ... + def dispatch_external(translator, node) -> None: ... + def call(translator, method, node): ... + def deepcopy(translator): ... def __init__( - self, + translator, tree, parent_translator, code_key=None, @@ -66,7 +66,7 @@ class SQLTranslator(ASTTranslator): optimize=None, ) -> None: ... def init( - self, + translator, tree, parent_translator, code_key=None, @@ -79,15 +79,15 @@ class SQLTranslator(ASTTranslator): ): ... @property def namespace(translator): ... - def can_be_optimized(self): ... + def can_be_optimized(translator): ... def process_query_qual( - self, prev_translator, prev_limit, prev_offset, names, try_extend_prev_query: bool = False + translator, prev_translator, prev_limit, prev_offset, names, try_extend_prev_query: bool = False ) -> None: ... def construct_subquery_ast( - self, limit=None, offset=None, aliases=None, star=None, distinct=None, is_not_null_checks: bool = False + translator, limit=None, offset=None, aliases=None, star=None, distinct=None, is_not_null_checks: bool = False ): ... def construct_sql_ast( - self, + translator, limit=None, offset=None, distinct=None, @@ -99,61 +99,61 @@ class SQLTranslator(ASTTranslator): skip_locked: bool = False, is_not_null_checks: bool = False, ): ... - def construct_delete_sql_ast(self): ... - def get_used_attrs(self): ... - def without_order(self) -> Self: ... - def order_by_numbers(self, numbers: Iterable[int]) -> Self: ... - def order_by_attributes(self, attrs: Iterable[core.DescWrapper | core.Attribute]) -> Self: ... - def apply_kwfilters(self, filterattrs, original_names: bool = False) -> Self: ... + def construct_delete_sql_ast(translator): ... + def get_used_attrs(translator): ... + def without_order(translator) -> Self: ... + def order_by_numbers(translator, numbers: Iterable[int]) -> Self: ... + def order_by_attributes(translator, attrs: Iterable[core.DescWrapper | core.Attribute]) -> Self: ... + def apply_kwfilters(translator, filterattrs, original_names: bool = False) -> Self: ... def apply_lambda( - self, func_id, filter_num, order_by, func_ast, argnames, original_names, extractors, vars, vartypes + translator, func_id, filter_num, order_by, func_ast, argnames, original_names, extractors, vars, vartypes ) -> Self: ... - def preGeneratorExp(self, node: ast.GeneratorExp) -> QuerySetMonad: ... - def postExpr(self, node: ast.Expr): ... - def preCompare(self, node: ast.Compare): ... - def postConstant(self, node: ast.Constant) -> ConstMonad: ... + def preGeneratorExp(translator, node: ast.GeneratorExp) -> QuerySetMonad: ... + def postExpr(translator, node: ast.Expr): ... + def preCompare(translator, node: ast.Compare): ... + def postConstant(translator, node: ast.Constant) -> ConstMonad: ... if sys.version_info >= (3, 14): - def postNameConstant(self, node: ast.Constant): ... - def postNum(self, node: ast.Constant) -> ConstMonad: ... - def postStr(self, node: ast.Constant) -> ConstMonad: ... - def postBytes(self, node: ast.Constant) -> ConstMonad: ... + def postNameConstant(translator, node: ast.Constant): ... + def postNum(translator, node: ast.Constant) -> ConstMonad: ... + def postStr(translator, node: ast.Constant) -> ConstMonad: ... + def postBytes(translator, node: ast.Constant) -> ConstMonad: ... else: - def postNameConstant(self, node: ast.NameConstant): ... - def postNum(self, node: ast.Num) -> ConstMonad: ... - def postStr(self, node: ast.Str) -> ConstMonad: ... - def postBytes(self, node: ast.Bytes) -> ConstMonad: ... - - def postList(self, node: ast.List) -> ListMonad: ... - def postTuple(self, node: ast.Tuple) -> ListMonad: ... - def postName(self, node: ast.Name) -> Monad: ... - def resolve_name(self, name) -> Monad: ... - def postAdd(self, node: ast.Add): ... - def postSub(self, node: ast.Sub): ... - def postMult(self, node: ast.Mult): ... - def postMatMult(self, node: ast.MatMult) -> Never: ... - def postDiv(self, node: ast.Div): ... - def postFloorDiv(self, node: ast.FloorDiv): ... - def postMod(self, node: ast.Mod): ... - def postLShift(self, node: ast.LShift) -> Never: ... - def postRShift(self, node: ast.RShift) -> Never: ... - def postPow(self, node: ast.Pow): ... - def postUSub(self, node: ast.USub): ... - def postAttribute(self, node: ast.Attribute): ... - def postAnd(self, node: ast.And) -> AndMonad: ... - def postOr(self, node: ast.Or) -> OrMonad: ... - def postBitOr(self, node: ast.BitOr): ... - def postBitAnd(self, node: ast.BitAnd): ... - def postBitXor(self, node: ast.BitXor): ... - def postNot(self, node: ast.Not): ... - def preCall(self, node: ast.Call): ... - def postCall(self, node: ast.Call): ... - def postkeyword(self, node: ast.keyword) -> None: ... - def postSubscript(self, node: ast.Subscript): ... - def postSlice(self, node: ast.Slice) -> None: ... - def postIndex(self, node: ast.Index): ... - def postIfExp(self, node: ast.IfExp) -> ExprMonad: ... - def postJoinedStr(self, node: ast.JoinedStr) -> StringExprMonad: ... - def postFormattedValue(self, node: ast.FormattedValue): ... + def postNameConstant(translator, node: ast.NameConstant): ... + def postNum(translator, node: ast.Num) -> ConstMonad: ... + def postStr(translator, node: ast.Str) -> ConstMonad: ... + def postBytes(translator, node: ast.Bytes) -> ConstMonad: ... + + def postList(translator, node: ast.List) -> ListMonad: ... + def postTuple(translator, node: ast.Tuple) -> ListMonad: ... + def postName(translator, node: ast.Name) -> Monad: ... + def resolve_name(translator, name) -> Monad: ... + def postAdd(translator, node: ast.Add): ... + def postSub(translator, node: ast.Sub): ... + def postMult(translator, node: ast.Mult): ... + def postMatMult(translator, node: ast.MatMult) -> Never: ... + def postDiv(translator, node: ast.Div): ... + def postFloorDiv(translator, node: ast.FloorDiv): ... + def postMod(translator, node: ast.Mod): ... + def postLShift(translator, node: ast.LShift) -> Never: ... + def postRShift(translator, node: ast.RShift) -> Never: ... + def postPow(translator, node: ast.Pow): ... + def postUSub(translator, node: ast.USub): ... + def postAttribute(translator, node: ast.Attribute): ... + def postAnd(translator, node: ast.And) -> AndMonad: ... + def postOr(translator, node: ast.Or) -> OrMonad: ... + def postBitOr(translator, node: ast.BitOr): ... + def postBitAnd(translator, node: ast.BitAnd): ... + def postBitXor(translator, node: ast.BitXor): ... + def postNot(translator, node: ast.Not): ... + def preCall(translator, node: ast.Call): ... + def postCall(translator, node: ast.Call): ... + def postkeyword(translator, node: ast.keyword) -> None: ... + def postSubscript(translator, node: ast.Subscript): ... + def postSlice(translator, node: ast.Slice) -> None: ... + def postIndex(translator, node: ast.Index): ... + def postIfExp(translator, node: ast.IfExp) -> ExprMonad: ... + def postJoinedStr(translator, node: ast.JoinedStr) -> StringExprMonad: ... + def postFormattedValue(translator, node: ast.FormattedValue): ... def combine_limit_and_offset(limit, offset, limit2, offset2) -> tuple[Incomplete, Incomplete]: ... def coerce_monads(m1, m2, for_comparison: bool = False): ... @@ -171,11 +171,11 @@ class SqlQuery: alias_counters: dict[Incomplete, Incomplete] expr_counter: itertools.count[int] used_from_subquery: bool - def __init__(self, translator, parent_sqlquery: SqlQuery | None = None, left_join: bool = False) -> None: ... - def get_tableref(self, name_path): ... - def add_tableref(self, name_path, parent_tableref, attr) -> JoinedTableRef: ... - def make_alias(self, name: str) -> str: ... - def join_table(self, parent_alias, alias, table_name, join_cond) -> None: ... + def __init__(sqlquery, translator, parent_sqlquery: SqlQuery | None = None, left_join: bool = False) -> None: ... + def get_tableref(sqlquery, name_path): ... + def add_tableref(sqlquery, name_path, parent_tableref, attr) -> JoinedTableRef: ... + def make_alias(sqlquery, name: str) -> str: ... + def join_table(sqlquery, parent_alias, alias, table_name, join_cond) -> None: ... class TableRef: sqlquery: SqlQuery @@ -185,20 +185,20 @@ class TableRef: joined: bool can_affect_distinct: bool used_attrs: set[Incomplete] - def __init__(self, sqlquery: SqlQuery, name: str, entity) -> None: ... - def make_join(self, pk_only: bool = False) -> tuple[str, Incomplete]: ... + def __init__(tableref, sqlquery: SqlQuery, name: str, entity) -> None: ... + def make_join(tableref, pk_only: bool = False) -> tuple[str, Incomplete]: ... class ExprTableRef(TableRef): - def __init__(self, sqlquery: SqlQuery, name: str, subquery_ast, expr_names, expr_aliases) -> None: ... - def make_join(self, pk_only: bool = False) -> tuple[str, Incomplete]: ... + def __init__(tableref, sqlquery: SqlQuery, name: str, subquery_ast, expr_names, expr_aliases) -> None: ... + def make_join(tableref, pk_only: bool = False) -> tuple[str, Incomplete]: ... class StarTableRef(TableRef): - def __init__(self, sqlquery: SqlQuery, name: str, entity, subquery_ast) -> None: ... - def make_join(self, pk_only: bool = False) -> tuple[str, Incomplete]: ... + def __init__(tableref, sqlquery: SqlQuery, name: str, entity, subquery_ast) -> None: ... + def make_join(tableref, pk_only: bool = False) -> tuple[str, Incomplete]: ... class ExprJoinedTableRef: - def __init__(self, sqlquery: SqlQuery, parent_tableref, parent_columns, name, entity) -> None: ... - def make_join(self, pk_only: bool = False) -> tuple[str, Incomplete]: ... + def __init__(tableref, sqlquery: SqlQuery, parent_tableref, parent_columns, name, entity) -> None: ... + def make_join(tableref, pk_only: bool = False) -> tuple[str, Incomplete]: ... class JoinedTableRef: sqlquery: SqlQuery @@ -212,8 +212,8 @@ class JoinedTableRef: joined: bool can_affect_distinct: bool used_attrs: set[Incomplete] - def __init__(self, sqlquery: SqlQuery, name_path: str, parent_tableref, attr) -> None: ... - def make_join(self, pk_only: bool = False) -> tuple[str, Incomplete]: ... + def __init__(tableref, sqlquery: SqlQuery, name_path: str, parent_tableref, attr) -> None: ... + def make_join(tableref, pk_only: bool = False) -> tuple[str, Incomplete]: ... def wrap_monad_method(cls_name: str, func: types.FunctionType): ... @@ -229,18 +229,18 @@ class Monad(metaclass=MonadMeta): translator: SQLTranslator type: Incomplete nullable: bool - def __init__(self, type, nullable: bool = True) -> None: ... - def mixin_init(self) -> None: ... - def to_single_cell_value(self): ... - def cmp(self, op, monad2): ... - def contains(self, item, not_in: bool = False) -> None: ... - def nonzero(self): ... - def negate(self): ... - def getattr(self, attrname): ... - def len(self) -> None: ... - def count(self, distinct=None): ... - def aggregate(self, func_name, distinct=None, sep=None): ... - def __call__(self, *args, **kwargs) -> None: ... + def __init__(monad, type, nullable: bool = True) -> None: ... + def mixin_init(monad) -> None: ... + def to_single_cell_value(monad): ... + def cmp(monad, op, monad2): ... + def contains(monad, item, not_in: bool = False) -> None: ... + def nonzero(monad): ... + def negate(monad): ... + def getattr(monad, attrname): ... + def len(monad) -> None: ... + def count(monad, distinct=None): ... + def aggregate(monad, func_name, distinct=None, sep=None): ... + def __call__(monad, *args, **kwargs) -> None: ... def __getitem__(monad, key) -> None: ... def __add__(monad, monad2) -> None: ... def __sub__(monad, monad2) -> None: ... @@ -252,19 +252,19 @@ class Monad(metaclass=MonadMeta): def __or__(monad, monad2) -> None: ... def __and__(monad, monad2) -> None: ... def __xor__(monad, monad2) -> None: ... - def abs(self) -> None: ... - def cast_from_json(self, type) -> None: ... - def to_int(self): ... - def to_str(self): ... - def to_real(self): ... + def abs(monad) -> None: ... + def cast_from_json(monad, type) -> None: ... + def to_int(monad): ... + def to_str(monad): ... + def to_real(monad): ... def distinct_from_monad(distinct, default=None): ... class RawSQLMonad(Monad): - def __init__(self, rawtype, varkey, nullable: bool = True) -> None: ... - def contains(self, item, not_in: bool = False): ... - def nonzero(self): ... - def getsql(self, sqlquery=None): ... + def __init__(monad, rawtype, varkey, nullable: bool = True) -> None: ... + def contains(monad, item, not_in: bool = False): ... + def nonzero(monad): ... + def getsql(monad, sqlquery=None): ... typeerror_re_1: re.Pattern[str] typeerror_re_2: re.Pattern[str] @@ -273,13 +273,13 @@ def reraise_improved_typeerror(exc: Exception, func_name: str | tuple[str, ...], def raise_forgot_parentheses(monad: Monad) -> Never: ... class MethodMonad(Monad): - def __init__(self, parent, attrname) -> None: ... - def getattr(self, attrname) -> None: ... - def __call__(self, *args, **kwargs): ... - def contains(self, item, not_in: bool = False) -> None: ... - def nonzero(self) -> None: ... - def negate(self) -> None: ... - def aggregate(self, func_name, distinct=None, sep=None) -> None: ... + def __init__(monad, parent, attrname) -> None: ... + def getattr(monad, attrname) -> None: ... + def __call__(monad, *args, **kwargs): ... + def contains(monad, item, not_in: bool = False) -> None: ... + def nonzero(monad) -> None: ... + def negate(monad) -> None: ... + def aggregate(monad, func_name, distinct=None, sep=None) -> None: ... def __getitem__(monad, key) -> None: ... def __add__(monad, monad2) -> None: ... def __sub__(monad, monad2) -> None: ... @@ -288,16 +288,16 @@ class MethodMonad(Monad): def __floordiv__(monad, monad2) -> None: ... def __pow__(monad, monad2) -> None: ... def __neg__(monad) -> None: ... - def abs(self) -> None: ... + def abs(monad) -> None: ... class EntityMonad(Monad): - def __init__(self, entity) -> None: ... + def __init__(monad, entity) -> None: ... def __getitem__(monad, *args) -> None: ... class ListMonad(Monad): - def __init__(self, items) -> None: ... - def contains(self, x, not_in: bool = False): ... - def getsql(self, sqlquery=None): ... + def __init__(monad, items) -> None: ... + def contains(monad, x, not_in: bool = False): ... + def getsql(monad, sqlquery=None): ... class BufferMixin(MonadMixin): ... class UuidMixin(MonadMixin): ... @@ -305,7 +305,7 @@ class UuidMixin(MonadMixin): ... def make_numeric_binop(op, sqlop): ... class NumericMixin(MonadMixin): - def mixin_init(self) -> None: ... + def mixin_init(monad) -> None: ... __add__: Incomplete __sub__: Incomplete __mul__: Incomplete @@ -317,15 +317,15 @@ class NumericMixin(MonadMixin): __xor__: Incomplete def __pow__(monad, monad2): ... def __neg__(monad): ... - def abs(self): ... - def nonzero(self): ... - def negate(self): ... + def abs(monad): ... + def nonzero(monad): ... + def negate(monad): ... def numeric_attr_factory(name): ... def make_datetime_binop(op, sqlop): ... class DateMixin(MonadMixin): - def mixin_init(self) -> None: ... + def mixin_init(monad) -> None: ... attr_year: Incomplete attr_month: Incomplete attr_day: Incomplete @@ -333,17 +333,17 @@ class DateMixin(MonadMixin): def __sub__(monad, other): ... class TimeMixin(MonadMixin): - def mixin_init(self) -> None: ... + def mixin_init(monad) -> None: ... attr_hour: Incomplete attr_minute: Incomplete attr_second: Incomplete class TimedeltaMixin(MonadMixin): - def mixin_init(self) -> None: ... + def mixin_init(monad) -> None: ... class DatetimeMixin(DateMixin): - def mixin_init(self) -> None: ... - def call_date(self): ... + def mixin_init(monad) -> None: ... + def call_date(monad): ... attr_hour: Incomplete attr_minute: Incomplete attr_second: Incomplete @@ -354,61 +354,61 @@ def make_string_binop(op, sqlop): ... def make_string_func(sqlop): ... class StringMixin(MonadMixin): - def mixin_init(self) -> None: ... + def mixin_init(monad) -> None: ... __add__: Incomplete def __getitem__(monad, index): ... - def negate(self): ... - def nonzero(self): ... - def len(self): ... - def contains(self, item, not_in: bool = False): ... + def negate(monad): ... + def nonzero(monad): ... + def len(monad): ... + def contains(monad, item, not_in: bool = False): ... call_upper: Incomplete call_lower: Incomplete - def call_startswith(self, arg): ... - def call_endswith(self, arg): ... - def strip(self, chars, strip_type): ... - def call_strip(self, chars=None): ... - def call_lstrip(self, chars=None): ... - def call_rstrip(self, chars=None): ... + def call_startswith(monad, arg): ... + def call_endswith(monad, arg): ... + def strip(monad, chars, strip_type): ... + def call_strip(monad, chars=None): ... + def call_lstrip(monad, chars=None): ... + def call_rstrip(monad, chars=None): ... class JsonMixin: disable_distinct: ClassVar[bool] disable_ordering: ClassVar[bool] - def mixin_init(self) -> None: ... - def get_path(self): ... + def mixin_init(monad) -> None: ... + def get_path(monad): ... def __getitem__(monad, key): ... - def contains(self, key, not_in: bool = False): ... + def contains(monad, key, not_in: bool = False): ... def __or__(monad, other): ... - def len(self): ... - def cast_from_json(self, type): ... - def nonzero(self): ... + def len(monad): ... + def cast_from_json(monad, type): ... + def nonzero(monad): ... class ArrayMixin(MonadMixin): - def contains(self, key, not_in: bool = False): ... - def len(self): ... - def nonzero(self): ... + def contains(monad, key, not_in: bool = False): ... + def len(monad): ... + def nonzero(monad): ... def __getitem__(monad, index): ... class ObjectMixin(MonadMixin): - def mixin_init(self) -> None: ... - def negate(self): ... - def nonzero(self): ... - def getattr(self, attrname): ... - def requires_distinct(self, joined: bool = False): ... + def mixin_init(monad) -> None: ... + def negate(monad): ... + def nonzero(monad): ... + def getattr(monad, attrname): ... + def requires_distinct(monad, joined: bool = False): ... class ObjectIterMonad(ObjectMixin, Monad): - def __init__(self, tableref, entity) -> None: ... - def getsql(self, sqlquery=None): ... - def requires_distinct(self, joined: bool = False): ... + def __init__(monad, tableref, entity) -> None: ... + def getsql(monad, sqlquery=None): ... + def requires_distinct(monad, joined: bool = False): ... class AttrMonad(Monad): @staticmethod def new(parent, attr, *args, **kwargs) -> AttrMonad: ... def __new__(cls, parent, attr): ... - def __init__(self, parent, attr) -> None: ... - def getsql(self, sqlquery=None): ... + def __init__(monad, parent, attr) -> None: ... + def getsql(monad, sqlquery=None): ... class ObjectAttrMonad(ObjectMixin, AttrMonad): - def __init__(self, parent, attr) -> None: ... + def __init__(monad, parent, attr) -> None: ... class StringAttrMonad(StringMixin, AttrMonad): ... class NumericAttrMonad(NumericMixin, AttrMonad): ... @@ -425,13 +425,13 @@ class ParamMonad(Monad): @staticmethod def new(t, paramkey) -> ParamMonad: ... def __new__(cls, *args, **kwargs): ... - def __init__(self, t, paramkey) -> None: ... - def getsql(self, sqlquery=None): ... + def __init__(monad, t, paramkey) -> None: ... + def getsql(monad, sqlquery=None): ... class ObjectParamMonad(ObjectMixin, ParamMonad): - def __init__(self, entity, paramkey) -> None: ... - def getsql(self, sqlquery=None): ... - def requires_distinct(self, joined: bool = False) -> None: ... + def __init__(monad, entity, paramkey) -> None: ... + def getsql(monad, sqlquery=None): ... + def requires_distinct(monad, joined: bool = False) -> None: ... class StringParamMonad(StringMixin, ParamMonad): ... class NumericParamMonad(NumericMixin, ParamMonad): ... @@ -443,21 +443,21 @@ class BufferParamMonad(BufferMixin, ParamMonad): ... class UuidParamMonad(UuidMixin, ParamMonad): ... class ArrayParamMonad(ArrayMixin, ParamMonad): - def __init__(self, t, paramkey, list_monad=None) -> None: ... - def contains(self, key, not_in: bool = False): ... + def __init__(monad, t, paramkey, list_monad=None) -> None: ... + def contains(monad, key, not_in: bool = False): ... class JsonParamMonad(JsonMixin, ParamMonad): - def getsql(self, sqlquery=None): ... + def getsql(monad, sqlquery=None): ... class ExprMonad(Monad): @staticmethod def new(t, sql, nullable: bool = True) -> ExprMonad: ... def __new__(cls, *args, **kwargs): ... - def __init__(self, type, sql, nullable: bool = True) -> None: ... - def getsql(self, sqlquery=None): ... + def __init__(monad, type, sql, nullable: bool = True) -> None: ... + def getsql(monad, sqlquery=None): ... class ObjectExprMonad(ObjectMixin, ExprMonad): - def getsql(self, sqlquery=None): ... + def getsql(monad, sqlquery=None): ... class StringExprMonad(StringMixin, ExprMonad): ... class NumericExprMonad(NumericMixin, ExprMonad): ... @@ -469,34 +469,34 @@ class JsonExprMonad(JsonMixin, ExprMonad): ... class ArrayExprMonad(ArrayMixin, ExprMonad): ... class JsonItemMonad(JsonMixin, Monad): # pyrefly: ignore [inconsistent-inheritance] - def __init__(self, parent, key) -> None: ... - def get_path(self): ... - def to_int(self): ... - def to_str(self): ... - def to_real(self): ... - def cast_from_json(self, type): ... - def getsql(self): ... + def __init__(monad, parent, key) -> None: ... + def get_path(monad): ... + def to_int(monad): ... + def to_str(monad): ... + def to_real(monad): ... + def cast_from_json(monad, type): ... + def getsql(monad): ... class ConstMonad(Monad): @staticmethod def new(value) -> ConstMonad: ... def __new__(cls, value): ... - def __init__(self, value) -> None: ... - def getsql(self, sqlquery=None): ... + def __init__(monad, value) -> None: ... + def getsql(monad, sqlquery=None): ... class NoneMonad(ConstMonad): type = NoneType def __new__(cls, value=None): ... - def __init__(self, value=None) -> None: ... - def cmp(self, op, monad2): ... - def contains(self, item, not_in: bool = False): ... - def nonzero(self): ... - def negate(self): ... - def getattr(self, attrname): ... - def len(self): ... - def count(self, distinct=None): ... - def aggregate(self, func_name, distinct=None, sep=None): ... - def __call__(self, *args, **kwargs): ... + def __init__(monad, value=None) -> None: ... + def cmp(monad, op, monad2): ... + def contains(monad, item, not_in: bool = False): ... + def nonzero(monad): ... + def negate(monad): ... + def getattr(monad, attrname): ... + def len(monad): ... + def count(monad, distinct=None): ... + def aggregate(monad, func_name, distinct=None, sep=None): ... + def __call__(monad, *args, **kwargs): ... def __getitem__(monad, key): ... def __add__(monad, monad2): ... def __sub__(monad, monad2): ... @@ -508,15 +508,15 @@ class NoneMonad(ConstMonad): def __or__(monad, monad2): ... def __and__(monad, monad2): ... def __xor__(monad, monad2): ... - def abs(self): ... - def to_int(self): ... - def to_str(self): ... - def to_real(self): ... + def abs(monad): ... + def to_int(monad): ... + def to_str(monad): ... + def to_real(monad): ... class EllipsisMonad(ConstMonad): ... class StringConstMonad(StringMixin, ConstMonad): - def len(self): ... + def len(monad): ... class JsonConstMonad(JsonMixin, ConstMonad): ... class BufferConstMonad(BufferMixin, ConstMonad): ... @@ -527,15 +527,15 @@ class TimedeltaConstMonad(TimedeltaMixin, ConstMonad): ... class DatetimeConstMonad(DatetimeMixin, ConstMonad): ... class BoolMonad(Monad): - def __init__(self, nullable: bool = True) -> None: ... - def nonzero(self): ... + def __init__(monad, nullable: bool = True) -> None: ... + def nonzero(monad): ... sql_negation: dict[str, str] class BoolExprMonad(BoolMonad): - def __init__(self, sql, nullable: bool = True) -> None: ... - def getsql(self, sqlquery=None): ... - def negate(self): ... + def __init__(monad, sql, nullable: bool = True) -> None: ... + def getsql(monad, sqlquery=None): ... + def negate(monad): ... cmp_ops: dict[str, str] cmp_negate: dict[str, str] @@ -543,13 +543,13 @@ cmp_negate: dict[str, str] class CmpMonad(BoolMonad): EQ: str NE: str - def __init__(self, op: str, left, right) -> None: ... - def negate(self): ... - def getsql(self, sqlquery=None): ... + def __init__(monad, op: str, left, right) -> None: ... + def negate(monad): ... + def getsql(monad, sqlquery=None): ... class LogicalBinOpMonad(BoolMonad): - def __init__(self, operands) -> None: ... - def getsql(self, sqlquery=None): ... + def __init__(monad, operands) -> None: ... + def getsql(monad, sqlquery=None): ... class AndMonad(LogicalBinOpMonad): binop: str @@ -558,16 +558,16 @@ class OrMonad(LogicalBinOpMonad): binop: str class NotMonad(BoolMonad): - def __init__(self, operand) -> None: ... - def negate(self): ... - def getsql(self, sqlquery=None): ... + def __init__(monad, operand) -> None: ... + def negate(monad): ... + def getsql(monad, sqlquery=None): ... class HybridFuncMonad(Monad): - def __init__(self, func_type, func_name, *params) -> None: ... - def __call__(self, *args, **kwargs): ... + def __init__(monad, func_type, func_name, *params) -> None: ... + def __call__(monad, *args, **kwargs): ... class HybridMethodMonad(HybridFuncMonad): - def __init__(self, parent, attrname, func) -> None: ... + def __init__(monad, parent, attrname, func) -> None: ... registered_functions: dict[types.FunctionType, type[FuncMonad]] @@ -575,163 +575,163 @@ class FuncMonadMeta(MonadMeta): def __new__(meta, cls_name: str, bases: tuple[type, ...], cls_dict: dict[str, Any]): ... class FuncMonad(Monad, metaclass=FuncMonadMeta): - def __call__(self, *args, **kwargs): ... + def __call__(monad, *args, **kwargs): ... def get_classes(classinfo) -> Generator[Incomplete]: ... class FuncIsinstanceMonad(FuncMonad): func = isinstance - def call(self, obj, classinfo): ... + def call(monad, obj, classinfo): ... class FuncBufferMonad(FuncMonad): func: type[bytes] - def call(self, source, encoding=None, errors=None): ... + def call(monad, source, encoding=None, errors=None): ... class FuncBoolMonad(FuncMonad): func: type[bool] - def call(self, x): ... + def call(monad, x): ... class FuncIntMonad(FuncMonad): func: type[int] - def call(self, x): ... + def call(monad, x): ... class FuncStrMonad(FuncMonad): func: type[str] - def call(self, x): ... + def call(monad, x): ... class FuncFloatMonad(FuncMonad): func: type[float] - def call(self, x): ... + def call(monad, x): ... class FuncDecimalMonad(FuncMonad): func: type[Decimal] - def call(self, x): ... + def call(monad, x): ... class FuncDateMonad(FuncMonad): func: type[date] - def call(self, year, month, day): ... - def call_today(self): ... + def call(monad, year, month, day): ... + def call_today(monad): ... class FuncTimeMonad(FuncMonad): func: type[time] - def call(self, *args): ... + def call(monad, *args): ... class FuncTimedeltaMonad(FuncMonad): func: type[timedelta] - def call(self, days=None, seconds=None, microseconds=None, milliseconds=None, minutes=None, hours=None, weeks=None): ... + def call(monad, days=None, seconds=None, microseconds=None, milliseconds=None, minutes=None, hours=None, weeks=None): ... class FuncDatetimeMonad(FuncDateMonad): func: type[datetime] - def call(self, year, month, day, hour=None, minute=None, second=None, microsecond=None): ... - def call_now(self): ... + def call(monad, year, month, day, hour=None, minute=None, second=None, microsecond=None): ... + def call_now(monad): ... class FuncBetweenMonad(FuncMonad): func = between - def call(self, x, a, b): ... + def call(monad, x, a, b): ... class FuncConcatMonad(FuncMonad): func = concat - def call(self, *args): ... + def call(monad, *args): ... class FuncLenMonad(FuncMonad): func = len - def call(self, x): ... + def call(monad, x): ... class FuncGetattrMonad(FuncMonad): func = getattr - def call(self, obj_monad, name_monad): ... + def call(monad, obj_monad, name_monad): ... class FuncRawSQLMonad(FuncMonad): func = raw_sql - def call(self, *args) -> None: ... + def call(monad, *args) -> None: ... class FuncCountMonad(FuncMonad): func: Incomplete - def call(self, x=None, distinct=None): ... + def call(monad, x=None, distinct=None): ... class FuncAbsMonad(FuncMonad): func = abs - def call(self, x): ... + def call(monad, x): ... class FuncSumMonad(FuncMonad): func: Incomplete - def call(self, x, distinct=None): ... + def call(monad, x, distinct=None): ... class FuncAvgMonad(FuncMonad): func: Incomplete - def call(self, x, distinct=None): ... + def call(monad, x, distinct=None): ... class FuncGroupConcatMonad(FuncMonad): func: Incomplete - def call(self, x, sep=None, distinct=None): ... + def call(monad, x, sep=None, distinct=None): ... class FuncCoalesceMonad(FuncMonad): func = coalesce - def call(self, *args): ... + def call(monad, *args): ... class FuncDistinctMonad(FuncMonad): func: Incomplete - def call(self, x): ... + def call(monad, x): ... class FuncMinMonad(FuncMonad): func: Incomplete - def call(self, *args): ... + def call(monad, *args): ... class FuncMaxMonad(FuncMonad): func: Incomplete - def call(self, *args): ... + def call(monad, *args): ... def minmax(monad, sqlop, *args): ... class FuncSelectMonad(FuncMonad): func = core.select - def call(self, queryset): ... + def call(monad, queryset): ... class FuncExistsMonad(FuncMonad): func = core.exists - def call(self, arg): ... + def call(monad, arg): ... class FuncDescMonad(FuncMonad): func = core.desc - def call(self, expr): ... + def call(monad, expr): ... class DescMonad(Monad): - def __init__(self, expr) -> None: ... - def getsql(self): ... + def __init__(monad, expr) -> None: ... + def getsql(monad): ... class JoinMonad(Monad): - def __init__(self, type) -> None: ... - def __call__(self, x): ... + def __init__(monad, type) -> None: ... + def __call__(monad, x): ... class FuncRandomMonad(FuncMonad): func = random - def __init__(self, type) -> None: ... - def __call__(self): ... + def __init__(monad, type) -> None: ... + def __call__(monad): ... class SetMixin(MonadMixin): forced_distinct: bool - def call_distinct(self): ... + def call_distinct(monad): ... def make_attrset_binop(op, sqlop): ... class AttrSetMonad(SetMixin, Monad): - def __init__(self, parent, attr) -> None: ... - def cmp(self, op, monad2) -> None: ... - def contains(self, item, not_in: bool = False): ... - def getattr(self, name): ... - def call_select(self): ... + def __init__(monad, parent, attr) -> None: ... + def cmp(monad, op, monad2) -> None: ... + def contains(monad, item, not_in: bool = False): ... + def getattr(monad, name): ... + def call_select(monad): ... call_filter = call_select - def call_exists(self): ... - def requires_distinct(self, joined: bool = False, for_count: bool = False): ... - def count(self, distinct=None): ... + def call_exists(monad): ... + def requires_distinct(monad, joined: bool = False, for_count: bool = False): ... + def count(monad, distinct=None): ... len = count - def aggregate(self, func_name, distinct=None, sep=None): ... - def nonzero(self): ... - def negate(self): ... + def aggregate(monad, func_name, distinct=None, sep=None): ... + def nonzero(monad): ... + def negate(monad): ... call_is_empty = negate - def make_tableref(self, sqlquery): ... - def make_expr_list(self): ... - def getsql(self, sqlquery=None): ... + def make_tableref(monad, sqlquery): ... + def make_expr_list(monad): ... + def getsql(monad, sqlquery=None): ... __add__: Incomplete __sub__: Incomplete __mul__: Incomplete @@ -741,9 +741,9 @@ class AttrSetMonad(SetMixin, Monad): def make_numericset_binop(op, sqlop): ... class NumericSetExprMonad(SetMixin, Monad): - def __init__(self, op, sqlop, left, right) -> None: ... - def aggregate(self, func_name, distinct=None, sep=None): ... - def getsql(self, sqlquery=None): ... + def __init__(monad, op, sqlop, left, right) -> None: ... + def aggregate(monad, func_name, distinct=None, sep=None): ... + def getsql(monad, sqlquery=None): ... __add__: Incomplete __sub__: Incomplete __mul__: Incomplete @@ -752,22 +752,22 @@ class NumericSetExprMonad(SetMixin, Monad): class QuerySetMonad(SetMixin, Monad): nogroup: bool - def __init__(self, subtranslator) -> None: ... - def to_single_cell_value(self): ... - def requires_distinct(self, joined: bool = False) -> None: ... - def call_limit(self, limit=None, offset=None): ... - def contains(self, item, not_in: bool = False): ... - def nonzero(self): ... - def negate(self): ... - def count(self, distinct=None): ... + def __init__(monad, subtranslator) -> None: ... + def to_single_cell_value(monad): ... + def requires_distinct(monad, joined: bool = False) -> None: ... + def call_limit(monad, limit=None, offset=None): ... + def contains(monad, item, not_in: bool = False): ... + def nonzero(monad): ... + def negate(monad): ... + def count(monad, distinct=None): ... len = count - def aggregate(self, func_name, distinct=None, sep=None): ... - def call_count(self, distinct=None): ... - def call_sum(self, distinct=None): ... - def call_min(self): ... - def call_max(self): ... - def call_avg(self, distinct=None): ... - def call_group_concat(self, sep=None, distinct=None): ... - def getsql(self): ... + def aggregate(monad, func_name, distinct=None, sep=None): ... + def call_count(monad, distinct=None): ... + def call_sum(monad, distinct=None): ... + def call_min(monad): ... + def call_max(monad): ... + def call_avg(monad, distinct=None): ... + def call_group_concat(monad, sep=None, distinct=None): ... + def getsql(monad): ... def find_or_create_having_ast(sections: list[Sequence[str]]): ... diff --git a/stubs/pony/pony/py23compat.pyi b/stubs/pony/pony/py23compat.pyi index 054c77b6c3e8..0854571aa135 100644 --- a/stubs/pony/pony/py23compat.pyi +++ b/stubs/pony/pony/py23compat.pyi @@ -6,8 +6,6 @@ PY39: bool PY310: bool PY311: bool PY312: bool -PY313: bool -PY314: bool unicode = str buffer = bytes int_types: tuple[type[int]] diff --git a/stubs/pony/pony/utils/utils.pyi b/stubs/pony/pony/utils/utils.pyi index b7fd74ffca7a..ffe7c493afff 100644 --- a/stubs/pony/pony/utils/utils.pyi +++ b/stubs/pony/pony/utils/utils.pyi @@ -1,6 +1,5 @@ import ast import io -import pickle import re from _typeshed import Incomplete, Unused from collections.abc import Callable, Iterable @@ -76,12 +75,6 @@ def pickle_ast(val): ... def unpickle_ast(pickled: io.BytesIO): ... def copy_ast(tree): ... -class PersistentPickler(pickle.Pickler): - def persistent_id(self, obj): ... - -class PersistentUnpickler(pickle.Unpickler): - def persistent_load(self, persid): ... - class HashableDict(dict[Incomplete, Incomplete]): def __hash__(self) -> int: ... # type: ignore[override] def __deepcopy__(self, memo): ... @@ -93,11 +86,5 @@ class HashableDict(dict[Incomplete, Incomplete]): setdefault: Incomplete update: Incomplete -class IntegerGenerator: - val: int - def __init__(self, firstval: int = 0) -> None: ... - def __iter__(self): ... - def __next__(self) -> int: ... - def deref_proxy(value): ... def deduplicate(value, deduplication_cache): ... diff --git a/stubs/protobuf/METADATA.toml b/stubs/protobuf/METADATA.toml index 70379af2df82..78387ac33475 100644 --- a/stubs/protobuf/METADATA.toml +++ b/stubs/protobuf/METADATA.toml @@ -1,8 +1,8 @@ # Using an exact number in the specifier for scripts/sync_protobuf/google_protobuf.py # When updating, also re-run the script -version = "~=7.35.1" +version = "~=7.34.1" upstream-repository = "https://github.com/protocolbuffers/protobuf" -extra-description = "Partially generated using [mypy-protobuf==3.6.0](https://github.com/nipunn1313/mypy-protobuf/tree/v3.6.0) and libprotoc 35.1 on [protobuf v35.1](https://github.com/protocolbuffers/protobuf/releases/tag/v35.1) (python `protobuf==7.35.1`)." +extra-description = "Partially generated using [mypy-protobuf==3.6.0](https://github.com/nipunn1313/mypy-protobuf/tree/v3.6.0) and libprotoc 34.1 on [protobuf v34.1](https://github.com/protocolbuffers/protobuf/releases/tag/v34.1) (python `protobuf==7.34.1`)." partial-stub = true [tool.stubtest] diff --git a/stubs/protobuf/google/protobuf/any_pb2.pyi b/stubs/protobuf/google/protobuf/any_pb2.pyi index 991e4261c80a..c12c7e4a8133 100644 --- a/stubs/protobuf/google/protobuf/any_pb2.pyi +++ b/stubs/protobuf/google/protobuf/any_pb2.pyi @@ -46,33 +46,88 @@ class Any(google.protobuf.message.Message, google.protobuf.internal.well_known_t """`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message. - In its binary encoding, an `Any` is an ordinary message; but in other wire - forms like JSON, it has a special encoding. The format of the type URL is - described on the `type_url` field. - - Protobuf APIs provide utilities to interact with `Any` values: - - - A 'pack' operation accepts a message and constructs a generic `Any` wrapper - around it. - - An 'unpack' operation reads the content of an `Any` message, either into an - existing message or a new one. Unpack operations must check the type of the - value they unpack against the declared `type_url`. - - An 'is' operation decides whether an `Any` contains a message of the given - type, i.e. whether it can 'unpack' that type. - - The JSON format representation of an `Any` follows one of these cases: - - - For types without special-cased JSON encodings, the JSON format - representation of the `Any` is the same as that of the message, with an - additional `@type` field which contains the type URL. - - For types with special-cased JSON encodings (typically called 'well-known' - types, listed in https://protobuf.dev/programming-guides/json/#any), the - JSON format representation has a key `@type` which contains the type URL - and a key `value` which contains the JSON-serialized value. - - The text format representation of an `Any` is like a message with one field - whose name is the type URL in brackets. For example, an `Any` containing a - `foo.Bar` message may be written `[type.googleapis.com/foo.Bar] { a: 2 }`. + Protobuf library provides support to pack/unpack Any values in the form + of utility functions or additional generated methods of the Any type. + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + // or ... + if (any.isSameTypeAs(Foo.getDefaultInstance())) { + foo = any.unpack(Foo.getDefaultInstance()); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + 'type.googleapis.com/full.type.name' as the type URL and the unpack + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". + + JSON + ==== + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } """ DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -80,38 +135,37 @@ class Any(google.protobuf.message.Message, google.protobuf.internal.well_known_t TYPE_URL_FIELD_NUMBER: builtins.int VALUE_FIELD_NUMBER: builtins.int type_url: builtins.str - """Identifies the type of the serialized Protobuf message with a URI reference - consisting of a prefix ending in a slash and the fully-qualified type name. - - Example: type.googleapis.com/google.protobuf.StringValue - - This string must contain at least one `/` character, and the content after - the last `/` must be the fully-qualified name of the type in canonical - form, without a leading dot. Do not write a scheme on these URI references - so that clients do not attempt to contact them. - - The prefix is arbitrary and Protobuf implementations are expected to - simply strip off everything up to and including the last `/` to identify - the type. `type.googleapis.com/` is a common default prefix that some - legacy implementations require. This prefix does not indicate the origin of - the type, and URIs containing it are not expected to respond to any - requests. - - All type URL strings must be legal URI references with the additional - restriction (for the text format) that the content of the reference - must consist only of alphanumeric characters, percent-encoded escapes, and - characters in the following set (not including the outer backticks): - `/-.~_!$&()*+,;=`. Despite our allowing percent encodings, implementations - should not unescape them to prevent confusion with existing parsers. For - example, `type.googleapis.com%2FFoo` should be rejected. - - In the original design of `Any`, the possibility of launching a type - resolution service at these type URLs was considered but Protobuf never - implemented one and considers contacting these URLs to be problematic and - a potential security issue. Do not attempt to contact type URLs. + """A URL/resource name that uniquely identifies the type of the serialized + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must represent + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a canonical form + (e.g., leading "." is not accepted). + + In practice, teams usually precompile into the binary all types that they + expect it to use in the context of Any. However, for URLs which use the + scheme `http`, `https`, or no scheme, one can optionally set up a type + server that maps type URLs to message definitions as follows: + + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the official + protobuf release, and it is not used for type URLs beginning with + type.googleapis.com. As of May 2023, there are no widely used type server + implementations and no plans to implement one. + + Schemes other than `http`, `https` (or the empty scheme) might be + used with implementation specific semantics. """ value: builtins.bytes - """Holds a Protobuf serialization of the type described by type_url.""" + """Must be a valid serialized protocol buffer of the above specified type.""" def __init__(self, *, type_url: builtins.str | None = ..., value: builtins.bytes | None = ...) -> None: ... def ClearField(self, field_name: typing.Literal["type_url", b"type_url", "value", b"value"]) -> None: ... diff --git a/stubs/protobuf/google/protobuf/descriptor_pb2.pyi b/stubs/protobuf/google/protobuf/descriptor_pb2.pyi index 808972d04292..d1150c0618d1 100644 --- a/stubs/protobuf/google/protobuf/descriptor_pb2.pyi +++ b/stubs/protobuf/google/protobuf/descriptor_pb2.pyi @@ -52,9 +52,6 @@ class _EditionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTy comparison. """ EDITION_2024: _Edition.ValueType # 1001 - EDITION_2026: _Edition.ValueType # 1002 - EDITION_UNSTABLE: _Edition.ValueType # 9999 - """A placeholder edition for developing and testing unscheduled features.""" EDITION_1_TEST_ONLY: _Edition.ValueType # 1 """Placeholder editions for testing feature resolution. These should not be used or relied on outside of tests. @@ -91,9 +88,6 @@ should not be depended on, but they will always be time-ordered for easy comparison. """ EDITION_2024: Edition.ValueType # 1001 -EDITION_2026: Edition.ValueType # 1002 -EDITION_UNSTABLE: Edition.ValueType # 9999 -"""A placeholder edition for developing and testing unscheduled features.""" EDITION_1_TEST_ONLY: Edition.ValueType # 1 """Placeholder editions for testing feature resolution. These should not be used or relied on outside of tests. @@ -1655,7 +1649,6 @@ class FieldOptions(google.protobuf.message.Message): EDITION_DEPRECATED_FIELD_NUMBER: builtins.int DEPRECATION_WARNING_FIELD_NUMBER: builtins.int EDITION_REMOVED_FIELD_NUMBER: builtins.int - REMOVAL_ERROR_FIELD_NUMBER: builtins.int edition_introduced: global___Edition.ValueType """The edition that this feature was first available in. In editions earlier than this one, the default assigned to EDITION_LEGACY will be @@ -1674,10 +1667,6 @@ class FieldOptions(google.protobuf.message.Message): this one, the last default assigned will be used, and proto files will not be able to override it. """ - removal_error: builtins.str - """The removal error text if this feature is used after the edition it was - removed in. - """ def __init__( self, *, @@ -1685,7 +1674,6 @@ class FieldOptions(google.protobuf.message.Message): edition_deprecated: global___Edition.ValueType | None = ..., deprecation_warning: builtins.str | None = ..., edition_removed: global___Edition.ValueType | None = ..., - removal_error: builtins.str | None = ..., ) -> None: ... def HasField( self, @@ -1698,8 +1686,6 @@ class FieldOptions(google.protobuf.message.Message): b"edition_introduced", "edition_removed", b"edition_removed", - "removal_error", - b"removal_error", ], ) -> builtins.bool: ... def ClearField( @@ -1713,8 +1699,6 @@ class FieldOptions(google.protobuf.message.Message): b"edition_introduced", "edition_removed", b"edition_removed", - "removal_error", - b"removal_error", ], ) -> None: ... @@ -2476,13 +2460,11 @@ class FeatureSet(google.protobuf.message.Message): ENFORCE_NAMING_STYLE_UNKNOWN: FeatureSet._EnforceNamingStyle.ValueType # 0 STYLE2024: FeatureSet._EnforceNamingStyle.ValueType # 1 STYLE_LEGACY: FeatureSet._EnforceNamingStyle.ValueType # 2 - STYLE2026: FeatureSet._EnforceNamingStyle.ValueType # 3 class EnforceNamingStyle(_EnforceNamingStyle, metaclass=_EnforceNamingStyleEnumTypeWrapper): ... ENFORCE_NAMING_STYLE_UNKNOWN: FeatureSet.EnforceNamingStyle.ValueType # 0 STYLE2024: FeatureSet.EnforceNamingStyle.ValueType # 1 STYLE_LEGACY: FeatureSet.EnforceNamingStyle.ValueType # 2 - STYLE2026: FeatureSet.EnforceNamingStyle.ValueType # 3 @typing.final class VisibilityFeature(google.protobuf.message.Message): diff --git a/stubs/protobuf/google/protobuf/field_mask_pb2.pyi b/stubs/protobuf/google/protobuf/field_mask_pb2.pyi index 32d7594145a9..82dea7a11b56 100644 --- a/stubs/protobuf/google/protobuf/field_mask_pb2.pyi +++ b/stubs/protobuf/google/protobuf/field_mask_pb2.pyi @@ -157,22 +157,24 @@ class FieldMask(google.protobuf.message.Message, google.protobuf.internal.well_k An implementation may provide options to override this default behavior for repeated and message fields. - Note that libraries which implement FieldMask resolution have various - different behaviors in the face of empty masks or the special "*" mask. - When implementing a service you should confirm these cases have the - appropriate behavior in the underlying FieldMask library that you desire, - and you may need to special case those cases in your application code if - the underlying field mask library behavior differs from your intended - service semantics. - - Update methods implementing https://google.aip.dev/134 - - MUST support the special value * meaning "full replace" - - MUST treat an omitted field mask as "replace fields which are present". - - Other methods implementing https://google.aip.dev/157 - - SHOULD support the special value "*" to mean "get all". - - MUST treat an omitted field mask to mean "get all", unless otherwise - documented. + In order to reset a field's value to the default, the field must + be in the mask and set to the default value in the provided resource. + Hence, in order to reset all fields of a resource, provide a default + instance of the resource and set all fields in the mask, or do + not provide a mask as described below. + + If a field mask is not present on update, the operation applies to + all fields (as if a field mask of all fields has been specified). + Note that in the presence of schema evolution, this may mean that + fields the client does not know and has therefore not filled into + the request will be reset to their default. If this is unwanted + behavior, a specific service may require a client to always specify + a field mask, producing an error if not. + + As with get operations, the location of the resource which + describes the updated values in the request message depends on the + operation kind. In any case, the effect of the field mask is + required to be honored by the API. ## Considerations for HTTP REST diff --git a/stubs/protobuf/google/protobuf/internal/decoder.pyi b/stubs/protobuf/google/protobuf/internal/decoder.pyi index 0aabd9ae1acc..76cd1e4f3b18 100644 --- a/stubs/protobuf/google/protobuf/internal/decoder.pyi +++ b/stubs/protobuf/google/protobuf/internal/decoder.pyi @@ -4,11 +4,11 @@ from typing import Any, TypeAlias from google.protobuf.descriptor import Descriptor, FieldDescriptor from google.protobuf.message import Message -_Decoder: TypeAlias = Callable[[memoryview, int, int, Message, dict[FieldDescriptor, Any]], int] -_NewDefault: TypeAlias = Callable[[Message], Any] +_Decoder: TypeAlias = Callable[[str, int, int, Message, dict[FieldDescriptor, Any]], int] +_NewDefault: TypeAlias = Callable[[Message], Message] def IsDefaultScalarValue(value: Any) -> bool: ... -def ReadTag(buffer: memoryview, pos: int) -> tuple[bytes, int]: ... +def ReadTag(buffer: bytes, pos: int) -> tuple[bytes, int]: ... def DecodeTag(tag_bytes: bytes) -> tuple[int, int]: ... def EnumDecoder( field_number: int, @@ -18,110 +18,21 @@ def EnumDecoder( new_default: _NewDefault, clear_if_default: bool = False, ) -> _Decoder: ... -def Int32Decoder( - field_number: int, - is_repeated: bool, - is_packed: bool, - key: FieldDescriptor, - new_default: _NewDefault, - clear_if_default: bool = False, -) -> _Decoder: ... -def Int64Decoder( - field_number: int, - is_repeated: bool, - is_packed: bool, - key: FieldDescriptor, - new_default: _NewDefault, - clear_if_default: bool = False, -) -> _Decoder: ... -def UInt32Decoder( - field_number: int, - is_repeated: bool, - is_packed: bool, - key: FieldDescriptor, - new_default: _NewDefault, - clear_if_default: bool = False, -) -> _Decoder: ... -def UInt64Decoder( - field_number: int, - is_repeated: bool, - is_packed: bool, - key: FieldDescriptor, - new_default: _NewDefault, - clear_if_default: bool = False, -) -> _Decoder: ... -def SInt32Decoder( - field_number: int, - is_repeated: bool, - is_packed: bool, - key: FieldDescriptor, - new_default: _NewDefault, - clear_if_default: bool = False, -) -> _Decoder: ... -def SInt64Decoder( - field_number: int, - is_repeated: bool, - is_packed: bool, - key: FieldDescriptor, - new_default: _NewDefault, - clear_if_default: bool = False, -) -> _Decoder: ... -def Fixed32Decoder( - field_number: int, - is_repeated: bool, - is_packed: bool, - key: FieldDescriptor, - new_default: _NewDefault, - clear_if_default: bool = False, -) -> _Decoder: ... -def Fixed64Decoder( - field_number: int, - is_repeated: bool, - is_packed: bool, - key: FieldDescriptor, - new_default: _NewDefault, - clear_if_default: bool = False, -) -> _Decoder: ... -def SFixed32Decoder( - field_number: int, - is_repeated: bool, - is_packed: bool, - key: FieldDescriptor, - new_default: _NewDefault, - clear_if_default: bool = False, -) -> _Decoder: ... -def SFixed64Decoder( - field_number: int, - is_repeated: bool, - is_packed: bool, - key: FieldDescriptor, - new_default: _NewDefault, - clear_if_default: bool = False, -) -> _Decoder: ... -def FloatDecoder( - field_number: int, - is_repeated: bool, - is_packed: bool, - key: FieldDescriptor, - new_default: _NewDefault, - clear_if_default: bool = False, -) -> _Decoder: ... -def DoubleDecoder( - field_number: int, - is_repeated: bool, - is_packed: bool, - key: FieldDescriptor, - new_default: _NewDefault, - clear_if_default: bool = False, -) -> _Decoder: ... -def BoolDecoder( - field_number: int, - is_repeated: bool, - is_packed: bool, - key: FieldDescriptor, - new_default: _NewDefault, - clear_if_default: bool = False, -) -> _Decoder: ... + +Int32Decoder: _Decoder +Int64Decoder: _Decoder +UInt32Decoder: _Decoder +UInt64Decoder: _Decoder +SInt32Decoder: _Decoder +SInt64Decoder: _Decoder +Fixed32Decoder: _Decoder +Fixed64Decoder: _Decoder +SFixed32Decoder: _Decoder +SFixed64Decoder: _Decoder +FloatDecoder: _Decoder +DoubleDecoder: _Decoder +BoolDecoder: _Decoder + def StringDecoder( field_number: int, is_repeated: bool, diff --git a/stubs/protobuf/google/protobuf/internal/encoder.pyi b/stubs/protobuf/google/protobuf/internal/encoder.pyi index 958de8f3f86f..4b481b9d4b23 100644 --- a/stubs/protobuf/google/protobuf/internal/encoder.pyi +++ b/stubs/protobuf/google/protobuf/internal/encoder.pyi @@ -30,19 +30,20 @@ def TagBytes(field_number: int, wire_type: int) -> bytes: ... _Encoder: TypeAlias = Callable[[Callable[[bytes], int], bytes, bool], int] -def Int32Encoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... -def Int64Encoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... -def EnumEncoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... -def UInt32Encoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... -def UInt64Encoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... -def SInt32Encoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... -def SInt64Encoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... -def Fixed32Encoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... -def Fixed64Encoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... -def SFixed32Encoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... -def SFixed64Encoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... -def FloatEncoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... -def DoubleEncoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... +Int32Encoder: _Encoder +Int64Encoder: _Encoder +EnumEncoder: _Encoder +UInt32Encoder: _Encoder +UInt64Encoder: _Encoder +SInt32Encoder: _Encoder +SInt64Encoder: _Encoder +Fixed32Encoder: _Encoder +Fixed64Encoder: _Encoder +SFixed32Encoder: _Encoder +SFixed64Encoder: _Encoder +FloatEncoder: _Encoder +DoubleEncoder: _Encoder + def BoolEncoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... def StringEncoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... def BytesEncoder(field_number: int, is_repeated: bool, is_packed: bool) -> _Encoder: ... diff --git a/stubs/protobuf/google/protobuf/json_format.pyi b/stubs/protobuf/google/protobuf/json_format.pyi index 0ff2c79ccd07..44a21b5a34f9 100644 --- a/stubs/protobuf/google/protobuf/json_format.pyi +++ b/stubs/protobuf/google/protobuf/json_format.pyi @@ -19,8 +19,6 @@ def MessageToJson( descriptor_pool: DescriptorPool | None = None, ensure_ascii: bool = True, always_print_fields_with_no_presence: bool = False, - *, - unquote_int64_if_possible: bool = False, ) -> str: ... def MessageToDict( message: Message, @@ -28,8 +26,6 @@ def MessageToDict( preserving_proto_field_name: bool = False, use_integers_for_enums: bool = False, descriptor_pool: DescriptorPool | None = None, - *, - unquote_int64_if_possible: bool = False, ) -> dict[str, Any]: ... def Parse( text: bytes | str, diff --git a/stubs/protobuf/google/protobuf/struct_pb2.pyi b/stubs/protobuf/google/protobuf/struct_pb2.pyi index deb905128c6d..8e63dabfc2f1 100644 --- a/stubs/protobuf/google/protobuf/struct_pb2.pyi +++ b/stubs/protobuf/google/protobuf/struct_pb2.pyi @@ -60,15 +60,10 @@ class _NullValueEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._Enum """Null value.""" class NullValue(_NullValue, metaclass=_NullValueEnumTypeWrapper): - """Represents a JSON `null`. + """`NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. - `NullValue` is a sentinel, using an enum with only one value to represent - the null value for the `Value` type union. - - A field of type `NullValue` with any value other than `0` is considered - invalid. Most ProtoJSON serializers will emit a Value with a `null_value` set - as a JSON `null` regardless of the integer value, and so will round trip to - a `0` value. + The JSON representation for `NullValue` is JSON `null`. """ NULL_VALUE: NullValue.ValueType # 0 @@ -77,19 +72,14 @@ global___NullValue = NullValue @typing.final class Struct(google.protobuf.message.Message, google.protobuf.internal.well_known_types.Struct): - """Represents a JSON object. - - An unordered key-value map, intending to perfectly capture the semantics of a - JSON object. This enables parsing any arbitrary JSON payload as a message - field in ProtoJSON format. - - This follows RFC 8259 guidelines for interoperable JSON: notably this type - cannot represent large Int64 values or `NaN`/`Infinity` numbers, - since the JSON format generally does not support those values in its number - type. - - If you do not intend to parse arbitrary JSON into your message, a custom - typed message should be preferred instead of using this type. + """`Struct` represents a structured data value, consisting of fields + which map to dynamically typed values. In some languages, `Struct` + might be supported by a native representation. For example, in + scripting languages like JS a struct is represented as an + object. The details of that representation are described together + with the proto support for the language. + + The JSON representation for `Struct` is JSON object. """ DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -119,12 +109,12 @@ global___Struct = Struct @typing.final class Value(google.protobuf.message.Message): - """Represents a JSON value. - - `Value` represents a dynamically typed value which can be either + """`Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these - variants. Absence of any variant is an invalid state. + variants. Absence of any variant indicates an error. + + The JSON representation for `Value` is JSON value. """ DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -136,24 +126,20 @@ class Value(google.protobuf.message.Message): STRUCT_VALUE_FIELD_NUMBER: builtins.int LIST_VALUE_FIELD_NUMBER: builtins.int null_value: global___NullValue.ValueType - """Represents a JSON `null`.""" + """Represents a null value.""" number_value: builtins.float - """Represents a JSON number. Must not be `NaN`, `Infinity` or - `-Infinity`, since those are not supported in JSON. This also cannot - represent large Int64 values, since JSON format generally does not - support them in its number type. - """ + """Represents a double value.""" string_value: builtins.str - """Represents a JSON string.""" + """Represents a string value.""" bool_value: builtins.bool - """Represents a JSON boolean (`true` or `false` literal in JSON).""" + """Represents a boolean value.""" @property def struct_value(self) -> global___Struct: - """Represents a JSON object.""" + """Represents a structured value.""" @property def list_value(self) -> global___ListValue: - """Represents a JSON array.""" + """Represents a repeated `Value`.""" def __init__( self, @@ -211,7 +197,10 @@ global___Value = Value @typing.final class ListValue(google.protobuf.message.Message, google.protobuf.internal.well_known_types.ListValue): - """Represents a JSON array.""" + """`ListValue` is a wrapper around a repeated field of values. + + The JSON representation for `ListValue` is JSON array. + """ DESCRIPTOR: google.protobuf.descriptor.Descriptor diff --git a/stubs/protobuf/google/protobuf/text_format.pyi b/stubs/protobuf/google/protobuf/text_format.pyi index e1c7b2049dac..d95463b367c6 100644 --- a/stubs/protobuf/google/protobuf/text_format.pyi +++ b/stubs/protobuf/google/protobuf/text_format.pyi @@ -138,7 +138,6 @@ def Parse( allow_field_number: bool = False, descriptor_pool: DescriptorPool | None = None, allow_unknown_field: bool = False, - max_recursion_depth: int | None = None, ) -> _M: ... def Merge( text: str | bytes, @@ -147,7 +146,6 @@ def Merge( allow_field_number: bool = False, descriptor_pool: DescriptorPool | None = None, allow_unknown_field: bool = False, - max_recursion_depth: int | None = None, ) -> _M: ... def MergeLines( lines: Iterable[str | bytes], @@ -156,7 +154,6 @@ def MergeLines( allow_field_number: bool = False, descriptor_pool: DescriptorPool | None = None, allow_unknown_field: bool = False, - max_recursion_depth: int | None = None, ) -> _M: ... class _Parser: @@ -164,15 +161,12 @@ class _Parser: allow_field_number: bool descriptor_pool: DescriptorPool | None allow_unknown_field: bool - max_recursion_depth: int | None - recursion_depth: int def __init__( self, allow_unknown_extension: bool = False, allow_field_number: bool = False, descriptor_pool: DescriptorPool | None = None, allow_unknown_field: bool = False, - max_recursion_depth: int | None = None, ) -> None: ... def ParseLines(self, lines: Iterable[str | bytes], message: _M) -> _M: ... def MergeLines(self, lines: Iterable[str | bytes], message: _M) -> _M: ... diff --git a/stubs/protobuf/google/protobuf/timestamp_pb2.pyi b/stubs/protobuf/google/protobuf/timestamp_pb2.pyi index ac976d88455b..52daff363ddf 100644 --- a/stubs/protobuf/google/protobuf/timestamp_pb2.pyi +++ b/stubs/protobuf/google/protobuf/timestamp_pb2.pyi @@ -115,8 +115,8 @@ class Timestamp(google.protobuf.message.Message, google.protobuf.internal.well_k {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone - is required. A ProtoJSON serializer should always use UTC (as indicated by - "Z") when printing the Timestamp type and a ProtoJSON parser should be + is required. A proto3 JSON serializer should always use UTC (as indicated by + "Z") when printing the Timestamp type and a proto3 JSON parser should be able to accept both UTC and other timezones (as indicated by an offset). For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past @@ -139,15 +139,14 @@ class Timestamp(google.protobuf.message.Message, google.protobuf.internal.well_k SECONDS_FIELD_NUMBER: builtins.int NANOS_FIELD_NUMBER: builtins.int seconds: builtins.int - """Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must - be between -62135596800 and 253402300799 inclusive (which corresponds to - 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). + """Represents seconds of UTC time since Unix epoch + 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + 9999-12-31T23:59:59Z inclusive. """ nanos: builtins.int - """Non-negative fractions of a second at nanosecond resolution. This field is - the nanosecond portion of the duration, not an alternative to seconds. - Negative second values with fractions must still have non-negative nanos - values that count forward in time. Must be between 0 and 999,999,999 + """Non-negative fractions of a second at nanosecond resolution. Negative + second values with fractions must still have non-negative nanos values + that count forward in time. Must be from 0 to 999,999,999 inclusive. """ def __init__(self, *, seconds: builtins.int | None = ..., nanos: builtins.int | None = ...) -> None: ... diff --git a/stubs/psutil/@tests/stubtest_allowlist.txt b/stubs/psutil/@tests/stubtest_allowlist.txt index 0ced949877a2..785a98e07685 100644 --- a/stubs/psutil/@tests/stubtest_allowlist.txt +++ b/stubs/psutil/@tests/stubtest_allowlist.txt @@ -1,3 +1,6 @@ +# TODO: missing from stub +psutil.__all__ + # Stubtest does not support these platforms psutil._psaix psutil._psbsd diff --git a/stubs/psutil/@tests/stubtest_allowlist_darwin.txt b/stubs/psutil/@tests/stubtest_allowlist_darwin.txt index f1bc464326a5..2606ecbdf50b 100644 --- a/stubs/psutil/@tests/stubtest_allowlist_darwin.txt +++ b/stubs/psutil/@tests/stubtest_allowlist_darwin.txt @@ -6,4 +6,3 @@ psutil._psutil_windows # not always available on ARM64, but we test there psutil.cpu_freq psutil._psosx.cpu_freq -psutil.__all__ # cpu_freq is only added to __all__ at runtime when it is available diff --git a/stubs/psutil/psutil/__init__.pyi b/stubs/psutil/psutil/__init__.pyi index ccfc18019e92..b49b1a1fb3d4 100644 --- a/stubs/psutil/psutil/__init__.pyi +++ b/stubs/psutil/psutil/__init__.pyi @@ -57,132 +57,6 @@ from psutil._common import ( from . import _ntuples as _ntp -__all__ = [ - # exceptions - "Error", - "NoSuchProcess", - "ZombieProcess", - "AccessDenied", - "TimeoutExpired", - # constants - "version_info", - "__version__", - "STATUS_RUNNING", - "STATUS_IDLE", - "STATUS_SLEEPING", - "STATUS_DISK_SLEEP", - "STATUS_STOPPED", - "STATUS_TRACING_STOP", - "STATUS_ZOMBIE", - "STATUS_DEAD", - "STATUS_WAKING", - "STATUS_LOCKED", - "STATUS_WAITING", - "STATUS_PARKED", - "CONN_ESTABLISHED", - "CONN_SYN_SENT", - "CONN_SYN_RECV", - "CONN_FIN_WAIT1", - "CONN_FIN_WAIT2", - "CONN_TIME_WAIT", - "CONN_CLOSE", - "CONN_CLOSE_WAIT", - "CONN_LAST_ACK", - "CONN_LISTEN", - "CONN_CLOSING", - "CONN_NONE", - "AF_LINK", - "NIC_DUPLEX_FULL", - "NIC_DUPLEX_HALF", - "NIC_DUPLEX_UNKNOWN", - "POWER_TIME_UNKNOWN", - "POWER_TIME_UNLIMITED", - "BSD", - "FREEBSD", - "LINUX", - "NETBSD", - "OPENBSD", - "MACOS", - "OSX", - "POSIX", - "SUNOS", - "WINDOWS", - "AIX", - # classes - "Process", - "Popen", - # functions - "pid_exists", - "pids", - "process_iter", - "wait_procs", - "virtual_memory", - "swap_memory", - "cpu_times", - "cpu_percent", - "cpu_times_percent", - "cpu_count", - "cpu_stats", - "cpu_freq", - "getloadavg", - "net_io_counters", - "net_connections", - "net_if_addrs", - "net_if_stats", - "disk_io_counters", - "disk_partitions", - "disk_usage", - "sensors_battery", - "users", - "boot_time", - "heap_info", - "heap_trim", -] - -if sys.platform == "linux": - __all__ += [ - "PROCFS_PATH", - "IOPRIO_CLASS_NONE", - "IOPRIO_CLASS_RT", - "IOPRIO_CLASS_BE", - "IOPRIO_CLASS_IDLE", - "RLIMIT_AS", - "RLIMIT_CORE", - "RLIMIT_CPU", - "RLIMIT_DATA", - "RLIMIT_FSIZE", - "RLIMIT_LOCKS", - "RLIMIT_MEMLOCK", - "RLIMIT_MSGQUEUE", - "RLIMIT_NICE", - "RLIMIT_NOFILE", - "RLIMIT_NPROC", - "RLIMIT_RSS", - "RLIMIT_RTPRIO", - "RLIMIT_RTTIME", - "RLIMIT_SIGPENDING", - "RLIMIT_STACK", - "RLIM_INFINITY", - "sensors_temperatures", - "sensors_fans", - ] -elif sys.platform == "win32": - __all__ += [ - "win_service_iter", - "win_service_get", - "ABOVE_NORMAL_PRIORITY_CLASS", - "BELOW_NORMAL_PRIORITY_CLASS", - "HIGH_PRIORITY_CLASS", - "IDLE_PRIORITY_CLASS", - "NORMAL_PRIORITY_CLASS", - "REALTIME_PRIORITY_CLASS", - "IOPRIO_VERYLOW", - "IOPRIO_LOW", - "IOPRIO_NORMAL", - "IOPRIO_HIGH", - "CONN_DELETE_TCB", - ] - if sys.platform == "linux": from ._pslinux import ( IOPRIO_CLASS_BE as IOPRIO_CLASS_BE, @@ -303,13 +177,7 @@ class Process: @overload def cpu_affinity(self, cpus: list[int]) -> None: ... - @overload - def memory_maps(self, grouped: Literal[True] = True) -> list[_ntp.pmmap_grouped]: ... - @overload - def memory_maps(self, grouped: Literal[False]) -> list[_ntp.pmmap_ext]: ... - @overload - def memory_maps(self, grouped: bool) -> list[_ntp.pmmap_grouped] | list[_ntp.pmmap_ext]: ... - + def memory_maps(self, grouped: bool = True) -> list[Incomplete]: ... if sys.platform == "linux": def rlimit(self, resource: int, limits: tuple[int, int] | None = None) -> tuple[int, int]: ... def cpu_num(self) -> int: ... diff --git a/stubs/psutil/psutil/_ntuples.pyi b/stubs/psutil/psutil/_ntuples.pyi index 7e47772cdf77..b61b6ac2db36 100644 --- a/stubs/psutil/psutil/_ntuples.pyi +++ b/stubs/psutil/psutil/_ntuples.pyi @@ -104,15 +104,15 @@ class sfan(NamedTuple): if sys.platform == "win32": class pheap(NamedTuple): - heap_used: int - mmap_used: int - heap_count: int + heap_used: Incomplete + mmap_used: Incomplete + heap_count: Incomplete else: # if LINUX or MACOS or BSD: class pheap(NamedTuple): - heap_used: int - mmap_used: int + heap_used: Incomplete + mmap_used: Incomplete # redefine for linux: if sys.platform != "linux": @@ -237,32 +237,32 @@ if sys.platform == "linux": swap: int class pmmap_grouped(NamedTuple): - path: str - rss: int - size: int - pss: int - shared_clean: int - shared_dirty: int - private_clean: int - private_dirty: int - referenced: int - anonymous: int - swap: int + path: Incomplete + rss: Incomplete + size: Incomplete + pss: Incomplete + shared_clean: Incomplete + shared_dirty: Incomplete + private_clean: Incomplete + private_dirty: Incomplete + referenced: Incomplete + anonymous: Incomplete + swap: Incomplete class pmmap_ext(NamedTuple): - addr: str - perms: str - path: str - rss: int - size: int - pss: int - shared_clean: int - shared_dirty: int - private_clean: int - private_dirty: int - referenced: int - anonymous: int - swap: int + addr: Incomplete + perms: Incomplete + path: Incomplete + rss: Incomplete + size: Incomplete + pss: Incomplete + shared_clean: Incomplete + shared_dirty: Incomplete + private_clean: Incomplete + private_dirty: Incomplete + referenced: Incomplete + anonymous: Incomplete + swap: Incomplete class pio(NamedTuple): read_count: int @@ -324,14 +324,14 @@ elif sys.platform == "win32": uss: int class pmmap_grouped(NamedTuple): - path: str - rss: int + path: Incomplete + rss: Incomplete class pmmap_ext(NamedTuple): - addr: str - perms: str - path: str - rss: int + addr: Incomplete + perms: Incomplete + path: Incomplete + rss: Incomplete class pio(NamedTuple): read_count: int diff --git a/stubs/psycopg2/METADATA.toml b/stubs/psycopg2/METADATA.toml index a7f508256cc8..9c65ea123bb3 100644 --- a/stubs/psycopg2/METADATA.toml +++ b/stubs/psycopg2/METADATA.toml @@ -1,3 +1,3 @@ -version = "2.9.13" +version = "2.9.12" upstream-repository = "https://github.com/psycopg/psycopg2" partial-stub = false diff --git a/stubs/psycopg2/psycopg2/errors.pyi b/stubs/psycopg2/psycopg2/errors.pyi index fed1290832de..4c48e32c568e 100644 --- a/stubs/psycopg2/psycopg2/errors.pyi +++ b/stubs/psycopg2/psycopg2/errors.pyi @@ -25,7 +25,6 @@ class NoData(DatabaseError): ... class SnapshotTooOld(DatabaseError): ... class SqlStatementNotYetComplete(DatabaseError): ... class StackedDiagnosticsAccessedWithoutActiveHandler(DatabaseError): ... -class InvalidArgumentForXquery(DatabaseError): ... class TriggeredActionException(DatabaseError): ... class ActiveSqlTransaction(InternalError): ... class AdminShutdown(OperationalError): ... @@ -66,7 +65,6 @@ class DuplicateColumn(ProgrammingError): ... class DuplicateCursor(ProgrammingError): ... class DuplicateDatabase(ProgrammingError): ... class DuplicateFile(OperationalError): ... -class FileNameTooLong(OperationalError): ... class DuplicateFunction(ProgrammingError): ... class DuplicateJsonObjectKeyValue(DataError): ... class DuplicateObject(ProgrammingError): ... diff --git a/stubs/punq/METADATA.toml b/stubs/punq/METADATA.toml index 0c23131200c7..0c3e8e97fbb8 100644 --- a/stubs/punq/METADATA.toml +++ b/stubs/punq/METADATA.toml @@ -1,3 +1,2 @@ version = "0.8.*" upstream-repository = "https://github.com/bobthemighty/punq" -obsolete-since = {version = "0.9.0", date = "2026-09-08"} diff --git a/stubs/pyfarmhash/METADATA.toml b/stubs/pyfarmhash/METADATA.toml index a01e9062adcd..3160c1245acf 100644 --- a/stubs/pyfarmhash/METADATA.toml +++ b/stubs/pyfarmhash/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.5.*" +version = "0.4.*" upstream-repository = "https://github.com/veelion/python-farmhash" diff --git a/stubs/pyinstaller/METADATA.toml b/stubs/pyinstaller/METADATA.toml index d1de5cab055d..909efab1715d 100644 --- a/stubs/pyinstaller/METADATA.toml +++ b/stubs/pyinstaller/METADATA.toml @@ -1,3 +1,2 @@ -version = "~=6.22.1" +version = "6.21.*" upstream-repository = "https://github.com/pyinstaller/pyinstaller" -partial-stub = true diff --git a/stubs/pyinstaller/PyInstaller/building/splash.pyi b/stubs/pyinstaller/PyInstaller/building/splash.pyi index 4fd52ed03b96..d7723bc76f53 100644 --- a/stubs/pyinstaller/PyInstaller/building/splash.pyi +++ b/stubs/pyinstaller/PyInstaller/building/splash.pyi @@ -10,8 +10,6 @@ class Splash(Target): full_tk: bool tcl_lib: str tk_lib: str - tcl_data_dir: str - tk_data_dir: str name: str script_name: StrPath minify_script: bool diff --git a/stubs/pyinstaller/PyInstaller/compat.pyi b/stubs/pyinstaller/PyInstaller/compat.pyi index dd51f4aeb530..02a3113ffe6f 100644 --- a/stubs/pyinstaller/PyInstaller/compat.pyi +++ b/stubs/pyinstaller/PyInstaller/compat.pyi @@ -29,7 +29,6 @@ is_solar: Final[bool] is_aix: Final[bool] is_freebsd: Final[bool] is_openbsd: Final[bool] -is_netbsd: Final[bool] is_hpux: Final[bool] is_unix: Final[bool] is_musl: Final[bool] diff --git a/stubs/pyinstaller/PyInstaller/utils/hooks/tcl_tk.pyi b/stubs/pyinstaller/PyInstaller/utils/hooks/tcl_tk.pyi index e73a5e1193dc..1a3f196f8f02 100644 --- a/stubs/pyinstaller/PyInstaller/utils/hooks/tcl_tk.pyi +++ b/stubs/pyinstaller/PyInstaller/utils/hooks/tcl_tk.pyi @@ -12,8 +12,6 @@ class TclTkInfo: tcl_data_dir: str | None tk_data_dir: str | None tcl_module_dir: str | None - tcl_data_missing: bool - tk_data_missing: bool is_macos_system_framework: bool tcl_shared_library: str | None tk_shared_library: str | None diff --git a/stubs/pyphen/METADATA.toml b/stubs/pyphen/METADATA.toml index 92717610dff0..f6b2d875f6b8 100644 --- a/stubs/pyphen/METADATA.toml +++ b/stubs/pyphen/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.18.1" +version = "0.17.2" upstream-repository = "https://github.com/Kozea/Pyphen" diff --git a/stubs/python-crontab/METADATA.toml b/stubs/python-crontab/METADATA.toml index 292eef4021f2..6a47d346981a 100644 --- a/stubs/python-crontab/METADATA.toml +++ b/stubs/python-crontab/METADATA.toml @@ -1,3 +1,3 @@ -version = "3.4.*" +version = "3.3.*" upstream-repository = "https://gitlab.com/doctormo/python-crontab" dependencies = ["types-croniter"] diff --git a/stubs/python-crontab/crontab.pyi b/stubs/python-crontab/crontab.pyi index 5e22b4dea803..2bd4d755e389 100644 --- a/stubs/python-crontab/crontab.pyi +++ b/stubs/python-crontab/crontab.pyi @@ -35,7 +35,7 @@ SPECREX: Final[re.Pattern[str]] DEVNULL: Final[str] WEEK_ENUM: Final[list[str]] MONTH_ENUM: Final[list[str | None]] -SPECIALS_CONVERSION: bool | None +SPECIALS_CONVERSION: Final[bool] SPECIALS: Final[dict[str, str]] SPECIAL_IGNORE: Final[list[str]] S_INFO: Final[list[dict[str, str | int | list[str] | list[str | None]]]] @@ -96,8 +96,7 @@ class CronTab: # Usually `kwargs` are just `now: datetime | None`, but technically this can # work for `CronItem` subclasses, which might define other kwargs. def run_pending(self, *, now: datetime | None = None, **kwargs: Any) -> Iterator[str]: ... - def run_scheduler(self, timeout: int = -1, cadence: int | float = 60, warp: bool = False) -> Iterator[str]: ... - async def run_scheduler_async(self, timeout: int = -1, cadence: int | float = 60, warp: bool = False) -> Iterator[str]: ... + def run_scheduler(self, timeout: int = -1, cadence: int = 60, warp: bool = False) -> Iterator[str]: ... def render(self, errors: bool = False) -> str: ... def new( self, @@ -280,16 +279,15 @@ class CronSlice: def parse(self, value: str | None) -> None: ... def render(self, resolve: bool = False) -> str: ... def __eq__(self, arg: object) -> bool: ... - def every(self, n_value: int, also: bool = False, random: bool = False) -> _Part: ... + def every(self, n_value: int, also: bool = False) -> _Part: ... # The only known kwarg, others are unused, # `*args`` are passed to `parse_value`, so they are `Any` def on(self, *n_value: Any, also: bool = False) -> list[_Part]: ... - def during(self, vfrom: int | str, vto: int | str, also: bool = False, random: bool = False) -> _Part: ... - def random_during(self, vfrom: int | str, vto: int | str) -> _Part: ... + def during(self, vfrom: int | str, vto: int | str, also: bool = False) -> _Part: ... @property def also(self) -> Also: ... def clear(self) -> None: ... - def get_range(self, *vrange: int | str | CronValue, random: bool = False) -> list[int | CronRange]: ... + def get_range(self, *vrange: int | str | CronValue) -> list[int | CronRange]: ... def __iter__(self) -> Iterator[int]: ... def __len__(self) -> int: ... def parse_value(self, val: str, sunday: int | None = None) -> int | CronValue: ... @@ -309,8 +307,7 @@ class CronRange: slice: str cron: CronTab | None seq: int - is_random_range: bool - def __init__(self, vslice: str, *vrange: int | str | CronValue, random: bool = False) -> None: ... + def __init__(self, vslice: str, *vrange: int | str | CronValue) -> None: ... # Are not set in `__init__`: vfrom: int | CronValue vto: int | CronValue diff --git a/stubs/pywin32/_win32typing.pyi b/stubs/pywin32/_win32typing.pyi index 306d778f56f7..4e61a1565645 100644 --- a/stubs/pywin32/_win32typing.pyi +++ b/stubs/pywin32/_win32typing.pyi @@ -1,8 +1,8 @@ # Not available at runtime. Contains type definitions that are otherwise not exposed and not part of a specific module. -from _typeshed import Incomplete, ReadableBuffer, Unused -from collections.abc import Callable, Iterable, Sequence +from _typeshed import Incomplete, Unused +from collections.abc import Iterable, Sequence from typing import Literal, SupportsIndex, TypeAlias, TypedDict, final, overload, type_check_only -from typing_extensions import Never, NotRequired, Required, Self, deprecated, disjoint_base +from typing_extensions import Never, Required, Self, deprecated, disjoint_base from win32.lib.pywintypes import TimeType @@ -775,112 +775,6 @@ class PyCTL_CONTEXT: class PyCTL_USAGE: ... -@type_check_only -class OIDInfo(TypedDict): - OID: str - Name: str | None - GroupId: int - Value: int - ExtraInfo: bytes - -@type_check_only -class ProveParam(TypedDict): - Param: int - Flags: int - Data: Incomplete - -@type_check_only -class ProveInfo(TypedDict): - ContainerName: str | None - ProvName: str | None - ProvType: int - Flags: int - KeySpec: int - ProvParam: tuple[ProveParam, ...] - -@type_check_only -class KeyIdentifierProperty(TypedDict): - PropId: int - Data: ProveInfo | bytes - -@type_check_only -class KeyIdentifier(TypedDict): - KeyIdentifier: bytes - Props: tuple[KeyIdentifierProperty] - -@type_check_only -class QueryObject(TypedDict): - MsgAndCertEncodingType: int - ContentType: int - FormatType: int - CertStore: PyCERTSTORE | None - Msg: PyCRYPTMSG | None - Context: PyCERT_CONTEXT | PyCTL_CONTEXT | int | None - -@type_check_only -class DecryptMessagePara(TypedDict): - CertStores: Iterable[PyCERTSTORE] - MsgAndCertEncodingType: NotRequired[int] - Flags: NotRequired[int] - -@type_check_only -class VerifyMessagePara(TypedDict): - MsgAndCertEncodingType: NotRequired[int] - CryptProv: NotRequired[PyCRYPTPROV | None] - GetSignerCertificate: NotRequired[Callable[..., Incomplete] | None] - GetArg: NotRequired[Callable[..., Incomplete] | None] - -@type_check_only -class DecodeMessage(TypedDict): - MsgType: int - InnerContentType: int - Decoded: bytes | None - XchgCert: PyCERT_CONTEXT | None - SignerCert: PyCERT_CONTEXT | None - -@type_check_only -class AlgorithmIdentifier(TypedDict): - ObjId: str - Parameters: ReadableBuffer | None - -@type_check_only -class EncryptMessagePara(TypedDict): - ContentEncryptionAlgorithm: AlgorithmIdentifier - CryptProv: NotRequired[PyCRYPTPROV | None] - EncryptionAuxInfo: NotRequired[None] - Flags: NotRequired[int] - InnerContentType: NotRequired[int] - MsgEncodingType: NotRequired[int] - -@type_check_only -class SignMessagePara(TypedDict): - SigningCert: PyCERT_CONTEXT - HashAlgorithm: AlgorithmIdentifier - HashAuxInfo: NotRequired[None] - MsgCert: NotRequired[Iterable[PyCERT_CONTEXT] | None] - MsgCrl: NotRequired[None] - AuthAttr: NotRequired[Iterable[dict[str, Incomplete]] | None] - UnauthAttr: NotRequired[Iterable[dict[str, Incomplete]] | None] - Flags: NotRequired[int] - InnerContentType: NotRequired[int] - MsgEncodingType: NotRequired[int] - -@type_check_only -class VerifyMessageSignature(TypedDict): - SignerCert: PyCERT_CONTEXT - Decoded: bytes | None - -@type_check_only -class DecryptAndVerifyMessageSignature(TypedDict): - Decrypted: bytes - XchgCert: PyCERT_CONTEXT - SignerCert: PyCERT_CONTEXT - -@type_check_only -class CryptBitBlob(TypedDict): - Data: ReadableBuffer - UnusedBits: int - @final class PyConsoleScreenBuffer: def __new__(self, Handle) -> Self: ... @@ -2614,46 +2508,17 @@ class Pymmapfile: def write(self, data, /) -> None: ... def write_byte(self, char, /) -> None: ... -class PyRASEAPUSERIDENTITY: - @property - def userName(self) -> str: ... - @property - def szUserName(self) -> str: ... - @property - def eapInfo(self) -> bytes: ... - @property - def pbEapInfo(self) -> bytes: ... - -class PyRASDIALEXTENSIONS: +class RASDIALEXTENSIONS: @property def dwfOptions(self) -> int: ... - @dwfOptions.setter - def dwfOptions(self, val: int) -> None: ... - - @property - def fOptions(self) -> int: ... - @fOptions.setter - def fOptions(self, val: int) -> None: ... - @property def hwndParent(self) -> int: ... - @hwndParent.setter - def hwndParent(self, val: int) -> None: ... - @property def reserved(self) -> int: ... - @reserved.setter - def reserved(self, val: int) -> None: ... - @property def reserved1(self) -> int: ... - @reserved1.setter - def reserved1(self, val: int) -> None: ... - @property def RasEapInfo(self): ... - @RasEapInfo.setter - def RasEapInfo(self, val: PyRASEAPUSERIDENTITY) -> None: ... class RASDIALPARAMS: ... @@ -6404,8 +6269,8 @@ class HTTP_FILTER_CONTEXT: def FilterContext(self): ... def GetData(self): ... def GetServerVariable(self, variable: str, default, /) -> str: ... - def WriteClient(self, data: str, reserved: int = ..., /) -> None: ... - def AddResponseHeaders(self, data: str, reserved: int = ..., /) -> None: ... + def WriteClient(self, data: str, reserverd: int = ..., /) -> None: ... + def AddResponseHeaders(self, data: str, reserverd: int = ..., /) -> None: ... def SendResponseHeader(self, status: str, header: str, /) -> None: ... def DisableNotifications(self, flags, /) -> None: ... diff --git a/stubs/pywin32/pythonwin/dde.pyi b/stubs/pywin32/pythonwin/dde.pyi index 6281353490ac..ed3e6d13e9f7 100644 --- a/stubs/pywin32/pythonwin/dde.pyi +++ b/stubs/pywin32/pythonwin/dde.pyi @@ -1,36 +1,33 @@ # Can't generate with stubgen because: # "ImportError: This must be an MFC application - try 'import win32ui' first" -from typing import Final +APPCLASS_MONITOR: int +APPCLASS_STANDARD: int +APPCMD_CLIENTONLY: int +APPCMD_FILTERINITS: int +CBF_FAIL_ADVISES: int +CBF_FAIL_ALLSVRXACTIONS: int +CBF_FAIL_CONNECTIONS: int +CBF_FAIL_EXECUTES: int +CBF_FAIL_POKES: int +CBF_FAIL_REQUESTS: int +CBF_FAIL_SELFCONNECTIONS: int +CBF_SKIP_ALLNOTIFICATIONS: int +CBF_SKIP_CONNECT_CONFIRMS: int +CBF_SKIP_DISCONNECTS: int +CBF_SKIP_REGISTRATIONS: int -import _win32typing - -class error(Exception): ... - -def CreateConversation(Server, /) -> _win32typing.PyDDEConv: ... -def CreateServer() -> _win32typing.PyDDEServer: ... +def CreateConversation(Server, /): ... +def CreateServer(): ... def CreateServerSystemTopic(): ... -def CreateTopic(name: str, /) -> _win32typing.PyDDETopic: ... -def CreateStringItem(name: str, /) -> _win32typing.PyDDEStringItem: ... +def CreateStringItem(name, /): ... +def CreateTopic(name, /): ... -APPCLASS_MONITOR: Final[int] -APPCLASS_STANDARD: Final[int] -APPCMD_CLIENTONLY: Final[int] -APPCMD_FILTERINITS: Final[int] -CBF_FAIL_ALLSVRXACTIONS: Final[int] -CBF_FAIL_ADVISES: Final[int] -CBF_FAIL_CONNECTIONS: Final[int] -CBF_FAIL_EXECUTES: Final[int] -CBF_FAIL_POKES: Final[int] -CBF_FAIL_REQUESTS: Final[int] -CBF_FAIL_SELFCONNECTIONS: Final[int] -CBF_SKIP_ALLNOTIFICATIONS: Final[int] -CBF_SKIP_CONNECT_CONFIRMS: Final[int] -CBF_SKIP_DISCONNECTS: Final[int] -CBF_SKIP_REGISTRATIONS: Final[int] -MF_CALLBACKS: Final[int] -MF_CONV: Final[int] -MF_ERRORS: Final[int] -MF_HSZ_INFO: Final[int] -MF_LINKS: Final[int] -MF_POSTMSGS: Final[int] -MF_SENDMSGS: Final[int] +MF_CALLBACKS: int +MF_CONV: int +MF_ERRORS: int +MF_HSZ_INFO: int +MF_LINKS: int +MF_POSTMSGS: int +MF_SENDMSGS: int + +class error(Exception): ... diff --git a/stubs/pywin32/pythonwin/win32ui.pyi b/stubs/pywin32/pythonwin/win32ui.pyi index 44cba4009a78..379cfbcbb7ce 100644 --- a/stubs/pywin32/pythonwin/win32ui.pyi +++ b/stubs/pywin32/pythonwin/win32ui.pyi @@ -1,422 +1,373 @@ -from _typeshed import FileDescriptorOrPath, Incomplete, OptExcInfo, Unused -from collections.abc import Callable, Iterable, Mapping, Sequence -from types import TracebackType -from typing import Final, Literal, overload +from _typeshed import Incomplete, OptExcInfo, Unused +from collections.abc import Callable import _win32typing class error(Exception): ... -def ComparePath(path1: str, path2: str, /) -> int: ... +def ComparePath(path1: str, path2: str, /): ... def CreateMDIFrame() -> _win32typing.PyCMDIFrameWnd: ... def CreateMDIChild() -> _win32typing.PyCMDIChildWnd: ... def CreateBitmap(*args: Unused) -> _win32typing.PyCBitmap: ... -def CreateBitmapFromHandle(handle: int | _win32typing.PyHANDLE | None, /) -> _win32typing.PyCBitmap: ... - -@overload +def CreateBitmapFromHandle(): ... def CreateBrush() -> _win32typing.PyCBrush: ... -@overload -def CreateBrush(style: int, color: int, hatch: int, /) -> _win32typing.PyCBrush: ... - def CreateButton() -> _win32typing.PyCButton: ... def CreateColorDialog( - initColor: int = 0, flags: int = 0, parent: _win32typing.PyCWnd | None = None, / + initColor: int = ..., flags: int = ..., parent: _win32typing.PyCWnd | None = ..., / ) -> _win32typing.PyCColorDialog: ... def CreateControl( classId: str, - windowName: str | None, - style: int, - rect: tuple[int, int, int, int], + windowName: str, + style, + rect: tuple[Incomplete, Incomplete, Incomplete, Incomplete], parent: _win32typing.PyCWnd, - id: int, - obPersist: Unused = None, - bStorage: bool | Literal[0, 1] = False, - licKey: str | None = None, + _id, + bStorage, + obPersist: Incomplete | None = ..., + licKey: str | None = ..., /, ) -> _win32typing.PyCWnd: ... def CreateControlBar() -> _win32typing.PyCControlBar: ... -def CreateCtrlView(doc: _win32typing.PyCDocument, className: str, style: int = 0, /) -> _win32typing.PyCCtrlView: ... -def CreateDC() -> _win32typing.PyCDC: ... -def CreateDCFromHandle(handle: int | _win32typing.PyHANDLE | None, /) -> _win32typing.PyCDC: ... -def CreateDialog(idRes: int, dll: _win32typing.PyDLL | None = None, /) -> _win32typing.PyCDialog: ... +def CreateCtrlView(doc: _win32typing.PyCDocument, className: str, style: int = ..., /) -> _win32typing.PyCCtrlView: ... +def CreateDC() -> None: ... +def CreateDCFromHandle(hwnd: int | _win32typing.PyHANDLE, /) -> _win32typing.PyCDC: ... +def CreateDialog(idRes, dll: _win32typing.PyDLL | None = ..., /) -> _win32typing.PyCDialog: ... def CreateDialogBar() -> _win32typing.PyCDialogBar: ... -def CreateDialogIndirect( - oblist: Iterable[_win32typing.PyDLGTEMPLATE | _win32typing.PyDLGITEMTEMPLATE], / -) -> _win32typing.PyCDialog: ... +def CreateDialogIndirect(oblist, /) -> _win32typing.PyCDialog: ... def CreatePrintDialog( - idRes: int, - bPrintSetupOnly: bool | Literal[0, 1] = False, - dwFlags: int = ..., - parent: _win32typing.PyCWnd | None = None, - dll: _win32typing.PyDLL | None = None, - /, + idRes, bPrintSetupOnly, dwFlags, parent: _win32typing.PyCWnd | None = ..., dll: _win32typing.PyDLL | None = ..., / ) -> _win32typing.PyCPrintDialog: ... -def CreateDocTemplate(idRes: int, /) -> _win32typing.PyCDocTemplate: ... +def CreateDocTemplate(idRes, /) -> _win32typing.PyCDocTemplate: ... def CreateEdit() -> _win32typing.PyCEdit: ... def CreateFileDialog( - bFileOpen: int, - defExt: str | None = None, - fileName: str | None = None, - flags: int = ..., - filter: str | None = None, - parent: _win32typing.PyCWnd | None = None, + bFileOpen, + arg, + defExt: str | None = ..., + fileName: str | None = ..., + _filter: str | None = ..., + parent: _win32typing.PyCWnd | None = ..., /, ) -> _win32typing.PyCFileDialog: ... def CreateFontDialog( - font: tuple[int, int, int, int, int, int, int, str | None] | Mapping[str, int | str | None] | None = None, - flags: int = ..., - dcPrinter: _win32typing.PyCDC | None = None, - parent: _win32typing.PyCWnd | None = None, - /, + arg, font: Incomplete | None = ..., dcPrinter: _win32typing.PyCDC | None = ..., parent: _win32typing.PyCWnd | None = ..., / ) -> _win32typing.PyCFontDialog: ... -def CreateFormView( - doc: _win32typing.PyCDocument, Template: int | str | _win32typing.PyResourceId, / -) -> _win32typing.PyCFormView: ... -def CreateFrame() -> _win32typing.PyCFrameWnd: ... -def CreateTreeCtrl(*args: Unused) -> _win32typing.PyCTreeCtrl: ... +def CreateFormView(doc: _win32typing.PyCDocument, Template, /) -> _win32typing.PyCFormView: ... +def CreateFrame(): ... +def CreateTreeCtrl() -> _win32typing.PyCTreeCtrl: ... def CreateTreeView(doc: _win32typing.PyCDocument, /) -> _win32typing.PyCTreeView: ... -def CreatePalette(lp: Sequence[tuple[int, int, int, int]], /) -> int: ... +def CreatePalette(lp, /): ... def CreatePopupMenu() -> _win32typing.PyCMenu: ... def CreateMenu() -> _win32typing.PyCMenu: ... -def CreatePen(style: int, width: int, color: int, /): ... +def CreatePen(style, width, color, /): ... def CreateProgressCtrl() -> _win32typing.PyCProgressCtrl: ... -def CreatePropertyPage(resource: int | str | _win32typing.PyResourceId, caption: int = 0, /) -> _win32typing.PyCPropertyPage: ... -def CreatePropertyPageIndirect( - resourceList: Iterable[Incomplete] | _win32typing.PyDialogTemplate, caption: int = 0, / -) -> _win32typing.PyCPropertyPage: ... +def CreatePropertyPage(resource: _win32typing.PyResourceId, caption: int = ..., /) -> _win32typing.PyCPropertyPage: ... +def CreatePropertyPageIndirect(resourcelist: _win32typing.PyDialogTemplate, caption=..., /) -> _win32typing.PyCPropertyPage: ... def CreatePropertySheet( - caption: int | str | _win32typing.PyResourceId, parent: _win32typing.PyCWnd | None = None, select: int = 0, / + caption: _win32typing.PyResourceId, parent: _win32typing.PyCWnd | None = ..., select=..., / ) -> _win32typing.PyCPropertySheet: ... def CreateRgn() -> _win32typing.PyCRgn: ... def CreateRichEditCtrl() -> _win32typing.PyCRichEditCtrl: ... -def CreateRichEditDocTemplate(idRes: int, /) -> _win32typing.PyCRichEditDocTemplate: ... -def CreateRichEditView(doc: _win32typing.PyCDocument | None = None, /) -> _win32typing.PyCRichEditView: ... +def CreateRichEditDocTemplate(idRes, /) -> _win32typing.PyCRichEditDocTemplate: ... +def CreateRichEditView(doc: _win32typing.PyCDocument | None = ..., /) -> _win32typing.PyCRichEditView: ... def CreateSliderCtrl() -> _win32typing.PyCSliderCtrl: ... def CreateSplitter() -> _win32typing.PyCSplitterWnd: ... def CreateStatusBar( - parent: _win32typing.PyCWnd, style: int = ..., windowId: int = ..., ctrlStype: int = 0, / + parent: _win32typing.PyCWnd, style: int = ..., windowId: int = ..., ctrlStype: int = ..., / ) -> _win32typing.PyCStatusBar: ... def CreateStatusBarCtrl() -> _win32typing.PyCStatusBarCtrl: ... -def CreateFont(properties: Mapping[str, int | str | None], pydc: _win32typing.PyCDC = ..., /) -> _win32typing.PyCFont: ... +def CreateFont(properties, /) -> _win32typing.PyCFont: ... def CreateToolBar(parent: _win32typing.PyCWnd, style: int, windowId: int = ..., /) -> _win32typing.PyCToolBar: ... def CreateToolBarCtrl() -> _win32typing.PyCToolBarCtrl: ... def CreateToolTipCtrl() -> _win32typing.PyCToolTipCtrl: ... - -@overload def CreateThread() -> _win32typing.PyCWinThread: ... -@overload -def CreateThread(func: Callable[..., Incomplete], args=None, /) -> _win32typing.PyCWinThread: ... - def CreateView(doc: _win32typing.PyCDocument, /) -> _win32typing.PyCScrollView: ... def CreateEditView(doc: _win32typing.PyCDocument, /) -> _win32typing.PyCEditView: ... def CreateDebuggerThread() -> None: ... -def CreateWindowFromHandle(hwnd: int | _win32typing.PyHANDLE | None, /) -> _win32typing.PyCWnd: ... +def CreateWindowFromHandle(hwnd: int, /) -> _win32typing.PyCWnd: ... def CreateWnd() -> _win32typing.PyCWnd: ... def DestroyDebuggerThread() -> None: ... -def DoWaitCursor(code: Literal[-1, 0, 1], /) -> None: ... -def DisplayTraceback(exc_info: OptExcInfo, title: str | None = None, /) -> None: ... -def Enable3dControls() -> int: ... -def FindWindow(className: str | None, windowName: str | None, /) -> _win32typing.PyCWnd: ... +def DoWaitCursor(code, /) -> None: ... +def DisplayTraceback(exc_info: OptExcInfo, title: str, /) -> None: ... +def Enable3dControls(): ... +def FindWindow(className: str, windowName: str, /) -> _win32typing.PyCWnd: ... def FindWindowEx( - parentWindow: _win32typing.PyCWnd | None, - childAfter: _win32typing.PyCWnd | None, - className: str | None, - windowName: str | None, - /, + parentWindow: _win32typing.PyCWnd, childAfter: _win32typing.PyCWnd, className: str, windowName: str, / ) -> _win32typing.PyCWnd: ... def FullPath(path: str, /) -> str: ... def GetActiveWindow() -> _win32typing.PyCWnd: ... def GetApp() -> _win32typing.PyCWinApp: ... -def GetAppName() -> str: ... +def GetAppName(): ... def GetAppRegistryKey() -> _win32typing.PyHKEY: ... -def GetBytes(address: int, size: int, /) -> bytes: ... +def GetBytes(address, size, /) -> str: ... def GetCommandLine() -> str: ... -def GetDeviceCaps(hdc: int | _win32typing.PyHANDLE | None, index: int, /) -> int: ... +def GetDeviceCaps(hdc, index, /): ... def GetFileTitle(fileName: str, /) -> str: ... def GetFocus() -> _win32typing.PyCWnd: ... def GetForegroundWindow() -> _win32typing.PyCWnd: ... -def GetHalftoneBrush(*args: Unused) -> _win32typing.PyCBrush: ... -def GetInitialStateRequest() -> int: ... +def GetHalftoneBrush() -> _win32typing.PyCBrush: ... +def GetInitialStateRequest(): ... def GetMainFrame() -> _win32typing.PyCWnd: ... def GetName() -> str: ... def GetProfileFileName() -> str: ... - -@overload -def GetProfileVal(section: str, entry: str, defValue: str | None, /) -> str: ... -@overload -def GetProfileVal(section: str, entry: str, defValue: int, /) -> int: ... - +def GetProfileVal(section: str, entry: str, defValue: str, /) -> str: ... def GetResource() -> _win32typing.PyDLL: ... def GetThread() -> _win32typing.PyCWinApp: ... -def GetType(name: str, /): ... -def InitRichEdit() -> None: ... -def InstallCallbackCaller(caller: Callable[..., Incomplete] | None = None, /): ... -def IsDebug() -> Literal[0, 1]: ... -def IsWin32s() -> bool: ... +def GetType(): ... +def InitRichEdit() -> str: ... +def InstallCallbackCaller(caller: Callable[..., Incomplete] | None): ... +def IsDebug() -> int: ... +def IsWin32s() -> int: ... def IsObject(o: object, /) -> bool: ... -def LoadDialogResource(idRes: int, dll: _win32typing.PyDLL | None = None, /) -> list[Incomplete]: ... -def LoadLibrary(fileName: str, flags: int = 0, /) -> _win32typing.PyDLL: ... -def LoadMenu(id: int, dll: _win32typing.PyDLL | None = None, /) -> _win32typing.PyCMenu: ... +def LoadDialogResource(idRes, dll: _win32typing.PyDLL | None = ..., /): ... +def LoadLibrary(fileName: str, /) -> _win32typing.PyDLL: ... +def LoadMenu(_id, dll: _win32typing.PyDLL | None = ..., /) -> _win32typing.PyCMenu: ... def LoadStdProfileSettings(maxFiles: int = ..., /) -> None: ... -def LoadString(stringId: int, /) -> str: ... -def MessageBox(message: str, title: str | None = None, style: int = 0, /) -> int: ... -def EnableControlContainer() -> None: ... -def PrintTraceback(tb: TracebackType, output: FileDescriptorOrPath, /) -> None: ... -def PumpWaitingMessages(firstMessage: int = 15, lastMessage: int = 15, /) -> Literal[0, 1]: ... -def RegisterWndClass( - style: int, - hCursor: int | _win32typing.PyHANDLE | None = 0, - hBrush: int | _win32typing.PyHANDLE | None = 0, - hIcon: int | _win32typing.PyHANDLE | None = 0, - /, -) -> str: ... -def RemoveRecentFile(index: int = 0, /) -> None: ... -def SetAppHelpPath(name: str, /) -> None: ... -def SetAppName(appName: str, /) -> None: ... -def SetCurrentInstanceHandle(newVal: int | _win32typing.PyHANDLE | None, /) -> int: ... -def SetCurrentResourceHandle(newVal: int, /) -> int: ... +def LoadString(stringId, /) -> str: ... +def MessageBox(message: str, title: str | None = ..., style=..., /): ... +def OutputDebugString(msg: str, /) -> None: ... +def EnableControlContainer(): ... +def PrintTraceback(tb, output, /) -> None: ... +def PumpWaitingMessages(firstMessage: int = ..., lastMessage: int = ..., /) -> int: ... +def RegisterWndClass(style, hCursor: int = ..., hBrush: int = ..., hIcon=..., /) -> str: ... +def RemoveRecentFile(index: int = ..., /) -> None: ... +def SetAppHelpPath(): ... +def SetAppName(appName: str, /): ... +def SetCurrentInstanceHandle(newVal, /): ... +def SetCurrentResourceHandle(newVal, /): ... def SetDialogBkColor(clrCtlBk: int = ..., clrCtlText: int = ..., /) -> None: ... def SetProfileFileName(filename: str, /) -> None: ... def SetRegistryKey(key: str, /) -> None: ... -def SetResource(dll: _win32typing.PyDLL, /) -> _win32typing.PyDLL: ... -def SetStatusText(msg: str, bForce: bool | Literal[0, 1] = False, /) -> None: ... +def SetResource(dll, /) -> _win32typing.PyDLL: ... +def SetStatusText(msg: str, bForce: int = ..., /) -> None: ... def StartDebuggerPump() -> None: ... def StopDebuggerPump() -> None: ... -def TranslateMessage(msg: tuple[int, int, int, int, int, tuple[int, int]]) -> int: ... -def TranslateVirtualKey(vk: int, /) -> bytes | None: ... -def WinHelp(cmd: int, data: str | int, /) -> None: ... -def WriteProfileVal(section: str, entry: str, value: str | int, /) -> int: ... -def AddToRecentFileList(fileName: str, /) -> None: ... - -@overload -def CreateImageList(cx: int, cy: int, mask: bool | Literal[0, 1], initial: int, grow: int, /) -> _win32typing.PyCImagelist: ... -@overload -def CreateImageList( - bitmapId: int | str | _win32typing.PyResourceId, cx: int, grow: int, crMask: int, / -) -> _win32typing.PyCImagelist: ... - -def CreateListCtrl(*args: Unused) -> _win32typing.PyClistCtrl: ... -def CreateListView(doc: _win32typing.PyCDocument, /) -> _win32typing.PyClistView: ... -def CreateRectRgn(rect: tuple[int, int, int, int], /) -> Literal[0, 1]: ... -def GetRecentFileList() -> list[str]: ... +def TranslateMessage(): ... +def TranslateVirtualKey(vk, /) -> str: ... +def WinHelp(arg, data: str, /) -> None: ... +def WriteProfileVal(section: str, entry: str, value: str, /) -> None: ... +def AddToRecentFileList(fname, /): ... +def CreateImageList(cx, cy, mask, initial, grow, /): ... +def CreateListCtrl(): ... +def CreateListView(doc, /): ... +def CreateRectRgn(rect: tuple[Incomplete, Incomplete, Incomplete, Incomplete], /): ... +def GetRecentFileList() -> list[Incomplete]: ... def OutputDebug(msg: str, /) -> None: ... -def OutputDebugString(msg: str, /) -> None: ... -AFX_IDW_PANE_FIRST: Final[int] -AFX_IDW_PANE_LAST: Final[int] -AFX_WS_DEFAULT_VIEW: Final[int] -FWS_ADDTOTITLE: Final[int] -FWS_PREFIXTITLE: Final[int] -FWS_SNAPTOBARS: Final[int] -IDD_ABOUTBOX: Final[int] -IDD_DUMMYPROPPAGE: Final[int] -IDD_PROPDEMO1: Final[int] -IDD_PROPDEMO2: Final[int] -IDB_DEBUGGER_HIER: Final[int] -IDB_HIERFOLDERS: Final[int] -IDB_BROWSER_HIER: Final[int] -IDD_GENERAL_STATUS: Final[int] -IDD_LARGE_EDIT: Final[int] -IDD_TREE: Final[int] -IDD_TREE_MB: Final[int] -IDD_RUN_SCRIPT: Final[int] -IDD_PP_EDITOR: Final[int] -IDD_PP_DEBUGGER: Final[int] -IDD_PP_FORMAT: Final[int] -IDD_PP_IDE: Final[int] -IDD_PP_TABS: Final[int] -IDD_PP_TOOLMENU: Final[int] -IDD_SIMPLE_INPUT: Final[int] -IDD_SET_TABSTOPS: Final[int] -IDC_DBG_STEP: Final[int] -IDC_DBG_STEPOUT: Final[int] -IDC_DBG_STEPOVER: Final[int] -IDC_DBG_GO: Final[int] -IDC_DBG_ADD: Final[int] -IDC_DBG_CLEAR: Final[int] -IDC_DBG_CLOSE: Final[int] -IDC_DBG_STACK: Final[int] -IDC_DBG_BREAKPOINTS: Final[int] -IDC_DBG_WATCH: Final[int] -IDC_ABOUT_VERSION: Final[int] -IDC_AUTO_RELOAD: Final[int] -IDC_BUTTON1: Final[int] -IDC_BUTTON2: Final[int] -IDC_BUTTON3: Final[int] -IDC_BUTTON4: Final[int] -IDC_CHECK1: Final[int] -IDC_CHECK2: Final[int] -IDC_CHECK3: Final[int] -IDC_COMBO1: Final[int] -IDC_COMBO2: Final[int] -IDC_EDIT1: Final[int] -IDC_EDIT2: Final[int] -IDC_EDIT3: Final[int] -IDC_EDIT4: Final[int] -IDC_EDIT_TABS: Final[int] -IDC_EDITOR_COLOR: Final[int] -IDC_FOLD_SHOW_LINES: Final[int] -IDC_FOLD_ENABLE: Final[int] -IDC_FOLD_ON_OPEN: Final[int] -IDC_INDENT_SIZE: Final[int] -IDC_KEYBOARD_CONFIG: Final[int] -IDC_MARGIN_LINENUMBER: Final[int] -IDC_MARGIN_FOLD: Final[int] -IDC_MARGIN_MARKER: Final[int] -IDC_LIST1: Final[int] -IDC_PROMPT_TABS: Final[int] -IDC_PROMPT1: Final[int] -IDC_PROMPT2: Final[int] -IDC_PROMPT3: Final[int] -IDC_PROMPT4: Final[int] -IDC_RADIO1: Final[int] -IDC_RADIO2: Final[int] -IDC_RIGHTEDGE_COLUMN: Final[int] -IDC_RIGHTEDGE_ENABLE: Final[int] -IDC_RIGHTEDGE_SAMPLE: Final[int] -IDC_RIGHTEDGE_DEFINE: Final[int] -IDC_TABTIMMY_NONE: Final[int] -IDC_TABTIMMY_IND: Final[int] -IDC_TABTIMMY_BG: Final[int] -IDC_VIEW_WHITESPACE: Final[int] -IDC_VIEW_EOL: Final[int] -IDC_VIEW_INDENTATIONGUIDES: Final[int] -IDC_AUTOCOMPLETE: Final[int] -IDC_CALLTIPS: Final[int] -IDC_SPIN1: Final[int] -IDC_SPIN2: Final[int] -IDC_SPIN3: Final[int] -IDC_TAB_SIZE: Final[int] -IDC_USE_TABS: Final[int] -IDC_USE_SMART_TABS: Final[int] -IDC_VSS_INTEGRATE: Final[int] -ID_INDICATOR_LINENUM: Final[int] -ID_INDICATOR_COLNUM: Final[int] -ID_FILE_NEW: Final[int] -ID_FILE_OPEN: Final[int] -ID_FILE_CLOSE: Final[int] -ID_FILE_RUN: Final[int] -ID_FILE_IMPORT: Final[int] -ID_FILE_LOCATE: Final[int] -ID_FILE_CHECK: Final[int] -ID_FILE_SAVE: Final[int] -ID_FILE_SAVE_AS: Final[int] -ID_FILE_SAVE_ALL: Final[int] -ID_FILE_PAGE_SETUP: Final[int] -ID_FILE_PRINT_SETUP: Final[int] -ID_FILE_PRINT: Final[int] -ID_FILE_PRINT_PREVIEW: Final[int] -ID_HELP_PYTHON: Final[int] -ID_HELP_GUI_REF: Final[int] -ID_HELP_OTHER: Final[int] -ID_APP_ABOUT: Final[int] -ID_APP_EXIT: Final[int] -ID_FILE_MRU_FILE1: Final[int] -ID_FILE_MRU_FILE2: Final[int] -ID_FILE_MRU_FILE3: Final[int] -ID_FILE_MRU_FILE4: Final[int] -ID_VIEW_BROWSE: Final[int] -ID_VIEW_FIXED_FONT: Final[int] -ID_VIEW_INTERACTIVE: Final[int] -ID_VIEW_OPTIONS: Final[int] -ID_VIEW_TOOLBAR_DBG: Final[int] -ID_VIEW_WHITESPACE: Final[int] -ID_VIEW_INDENTATIONGUIDES: Final[int] -ID_VIEW_EOL: Final[int] -ID_VIEW_FOLD_EXPAND: Final[int] -ID_VIEW_FOLD_EXPAND_ALL: Final[int] -ID_VIEW_FOLD_COLLAPSE: Final[int] -ID_VIEW_FOLD_COLLAPSE_ALL: Final[int] -ID_VIEW_FOLD_TOPLEVEL: Final[int] -ID_VIEW_RIGHT_EDGE: Final[int] -ID_NEXT_PANE: Final[int] -ID_PREV_PANE: Final[int] -ID_WINDOW_NEW: Final[int] -ID_WINDOW_ARRANGE: Final[int] -ID_WINDOW_CASCADE: Final[int] -ID_WINDOW_TILE_HORZ: Final[int] -ID_WINDOW_TILE_VERT: Final[int] -ID_WINDOW_SPLIT: Final[int] -ID_EDIT_CLEAR: Final[int] -ID_EDIT_CLEAR_ALL: Final[int] -ID_EDIT_COPY: Final[int] -ID_EDIT_CUT: Final[int] -ID_EDIT_FIND: Final[int] -ID_EDIT_GOTO_LINE: Final[int] -ID_EDIT_PASTE: Final[int] -ID_EDIT_REPEAT: Final[int] -ID_EDIT_REPLACE: Final[int] -ID_EDIT_SELECT_ALL: Final[int] -ID_EDIT_SELECT_BLOCK: Final[int] -ID_EDIT_UNDO: Final[int] -ID_EDIT_REDO: Final[int] -ID_VIEW_TOOLBAR: Final[int] -ID_VIEW_STATUS_BAR: Final[int] -ID_SEPARATOR: Final[int] -IDR_DEBUGGER: Final[int] -IDR_PYTHONTYPE_CNTR_IP: Final[int] -IDR_MAINFRAME: Final[int] -IDR_PYTHONTYPE: Final[int] -IDR_PYTHONCONTYPE: Final[int] -IDR_TEXTTYPE: Final[int] -IDR_CNTR_INPLACE: Final[int] -CDocTemplate_windowTitle: Final[int] -CDocTemplate_docName: Final[int] -CDocTemplate_fileNewName: Final[int] -CDocTemplate_filterName: Final[int] -CDocTemplate_filterExt: Final[int] -CDocTemplate_regFileTypeId: Final[int] -CDocTemplate_regFileTypeName: Final[int] -CDocTemplate_Confidence_noAttempt: Final[int] -CDocTemplate_Confidence_maybeAttemptForeign: Final[int] -CDocTemplate_Confidence_maybeAttemptNative: Final[int] -CDocTemplate_Confidence_yesAttemptForeign: Final[int] -CDocTemplate_Confidence_yesAttemptNative: Final[int] -CDocTemplate_Confidence_yesAlreadyOpen: Final[int] -CRichEditView_WrapNone: Final[int] -CRichEditView_WrapToWindow: Final[int] -CRichEditView_WrapToTargetDevice: Final[int] -PD_ALLPAGES: Final[int] -PD_COLLATE: Final[int] -PD_DISABLEPRINTTOFILE: Final[int] -PD_ENABLEPRINTHOOK: Final[int] -PD_ENABLEPRINTTEMPLATE: Final[int] -PD_ENABLEPRINTTEMPLATEHANDLE: Final[int] -PD_ENABLESETUPHOOK: Final[int] -PD_ENABLESETUPTEMPLATE: Final[int] -PD_ENABLESETUPTEMPLATEHANDLE: Final[int] -PD_HIDEPRINTTOFILE: Final[int] -PD_NONETWORKBUTTON: Final[int] -PD_NOPAGENUMS: Final[int] -PD_NOSELECTION: Final[int] -PD_NOWARNING: Final[int] -PD_PAGENUMS: Final[int] -PD_PRINTSETUP: Final[int] -PD_PRINTTOFILE: Final[int] -PD_RETURNDC: Final[int] -PD_RETURNDEFAULT: Final[int] -PD_RETURNIC: Final[int] -PD_SELECTION: Final[int] -PD_SHOWHELP: Final[int] -PD_USEDEVMODECOPIES: Final[int] -PD_USEDEVMODECOPIESANDCOLLATE: Final[int] -PSWIZB_BACK: Final[int] -PSWIZB_NEXT: Final[int] -PSWIZB_FINISH: Final[int] -PSWIZB_DISABLEDFINISH: Final[int] -MFS_SYNCACTIVE: Final[int] -MFS_4THICKFRAME: Final[int] -MFS_THICKFRAME: Final[int] -MFS_MOVEFRAME: Final[int] -MFS_BLOCKSYSMENU: Final[int] -LM_STRETCH: Final[int] -LM_HORZ: Final[int] -LM_MRUWIDTH: Final[int] -LM_HORZDOCK: Final[int] -LM_VERTDOCK: Final[int] -LM_LENGTHY: Final[int] -LM_COMMIT: Final[int] -debug: Final[int] -copyright: Final[str] -dllhandle: Final[int] -types: Final[dict[str, type]] +AFX_IDW_PANE_FIRST: int +AFX_IDW_PANE_LAST: int +AFX_WS_DEFAULT_VIEW: int +CDocTemplate_Confidence_maybeAttemptForeign: int +CDocTemplate_Confidence_maybeAttemptNative: int +CDocTemplate_Confidence_noAttempt: int +CDocTemplate_Confidence_yesAlreadyOpen: int +CDocTemplate_Confidence_yesAttemptForeign: int +CDocTemplate_Confidence_yesAttemptNative: int +CDocTemplate_docName: int +CDocTemplate_fileNewName: int +CDocTemplate_filterExt: int +CDocTemplate_filterName: int +CDocTemplate_regFileTypeId: int +CDocTemplate_regFileTypeName: int +CDocTemplate_windowTitle: int +CRichEditView_WrapNone: int +CRichEditView_WrapToTargetDevice: int +CRichEditView_WrapToWindow: int +debug: int +FWS_ADDTOTITLE: int +FWS_PREFIXTITLE: int +FWS_SNAPTOBARS: int +ID_APP_ABOUT: int +ID_APP_EXIT: int +ID_EDIT_CLEAR: int +ID_EDIT_CLEAR_ALL: int +ID_EDIT_COPY: int +ID_EDIT_CUT: int +ID_EDIT_FIND: int +ID_EDIT_GOTO_LINE: int +ID_EDIT_PASTE: int +ID_EDIT_REDO: int +ID_EDIT_REPEAT: int +ID_EDIT_REPLACE: int +ID_EDIT_SELECT_ALL: int +ID_EDIT_SELECT_BLOCK: int +ID_EDIT_UNDO: int +ID_FILE_CHECK: int +ID_FILE_CLOSE: int +ID_FILE_IMPORT: int +ID_FILE_LOCATE: int +ID_FILE_MRU_FILE1: int +ID_FILE_MRU_FILE2: int +ID_FILE_MRU_FILE3: int +ID_FILE_MRU_FILE4: int +ID_FILE_NEW: int +ID_FILE_OPEN: int +ID_FILE_PAGE_SETUP: int +ID_FILE_PRINT: int +ID_FILE_PRINT_PREVIEW: int +ID_FILE_PRINT_SETUP: int +ID_FILE_RUN: int +ID_FILE_SAVE: int +ID_FILE_SAVE_ALL: int +ID_FILE_SAVE_AS: int +ID_HELP_GUI_REF: int +ID_HELP_OTHER: int +ID_HELP_PYTHON: int +ID_INDICATOR_COLNUM: int +ID_INDICATOR_LINENUM: int +ID_NEXT_PANE: int +ID_PREV_PANE: int +ID_SEPARATOR: int +ID_VIEW_BROWSE: int +ID_VIEW_EOL: int +ID_VIEW_FIXED_FONT: int +ID_VIEW_FOLD_COLLAPSE: int +ID_VIEW_FOLD_COLLAPSE_ALL: int +ID_VIEW_FOLD_EXPAND: int +ID_VIEW_FOLD_EXPAND_ALL: int +ID_VIEW_INDENTATIONGUIDES: int +ID_VIEW_INTERACTIVE: int +ID_VIEW_OPTIONS: int +ID_VIEW_RIGHT_EDGE: int +ID_VIEW_STATUS_BAR: int +ID_VIEW_TOOLBAR: int +ID_VIEW_TOOLBAR_DBG: int +ID_VIEW_WHITESPACE: int +ID_WINDOW_ARRANGE: int +ID_WINDOW_CASCADE: int +ID_WINDOW_NEW: int +ID_WINDOW_SPLIT: int +ID_WINDOW_TILE_HORZ: int +ID_WINDOW_TILE_VERT: int +IDB_BROWSER_HIER: int +IDB_DEBUGGER_HIER: int +IDB_HIERFOLDERS: int +IDC_ABOUT_VERSION: int +IDC_AUTO_RELOAD: int +IDC_AUTOCOMPLETE: int +IDC_BUTTON1: int +IDC_BUTTON2: int +IDC_BUTTON3: int +IDC_BUTTON4: int +IDC_CALLTIPS: int +IDC_CHECK1: int +IDC_CHECK2: int +IDC_CHECK3: int +IDC_COMBO1: int +IDC_COMBO2: int +IDC_EDIT1: int +IDC_EDIT2: int +IDC_EDIT3: int +IDC_EDIT4: int +IDC_EDIT_TABS: int +IDC_INDENT_SIZE: int +IDC_KEYBOARD_CONFIG: int +IDC_PROMPT1: int +IDC_PROMPT2: int +IDC_PROMPT3: int +IDC_PROMPT4: int +IDC_PROMPT_TABS: int +IDC_RADIO1: int +IDC_RADIO2: int +IDC_RIGHTEDGE_COLUMN: int +IDC_RIGHTEDGE_DEFINE: int +IDC_RIGHTEDGE_ENABLE: int +IDC_RIGHTEDGE_SAMPLE: int +IDC_SPIN1: int +IDC_SPIN2: int +IDC_SPIN3: int +IDC_TAB_SIZE: int +IDC_USE_SMART_TABS: int +IDC_USE_TABS: int +IDC_VIEW_WHITESPACE: int +IDC_VSS_INTEGRATE: int +IDD_ABOUTBOX: int +IDD_DUMMYPROPPAGE: int +IDD_GENERAL_STATUS: int +IDD_LARGE_EDIT: int +IDD_PP_DEBUGGER: int +IDD_PP_EDITOR: int +IDD_PP_FORMAT: int +IDD_PP_IDE: int +IDD_PP_TABS: int +IDD_PP_TOOLMENU: int +IDD_PROPDEMO1: int +IDD_PROPDEMO2: int +IDD_RUN_SCRIPT: int +IDD_SET_TABSTOPS: int +IDD_SIMPLE_INPUT: int +IDD_TREE: int +IDD_TREE_MB: int +IDR_CNTR_INPLACE: int +IDR_DEBUGGER: int +IDR_MAINFRAME: int +IDR_PYTHONCONTYPE: int +IDR_PYTHONTYPE: int +IDR_PYTHONTYPE_CNTR_IP: int +IDR_TEXTTYPE: int +LM_COMMIT: int +LM_HORZ: int +LM_HORZDOCK: int +LM_LENGTHY: int +LM_MRUWIDTH: int +LM_STRETCH: int +LM_VERTDOCK: int +MFS_4THICKFRAME: int +MFS_BLOCKSYSMENU: int +MFS_MOVEFRAME: int +MFS_SYNCACTIVE: int +MFS_THICKFRAME: int +PD_ALLPAGES: int +PD_COLLATE: int +PD_DISABLEPRINTTOFILE: int +PD_ENABLEPRINTHOOK: int +PD_ENABLEPRINTTEMPLATE: int +PD_ENABLEPRINTTEMPLATEHANDLE: int +PD_ENABLESETUPHOOK: int +PD_ENABLESETUPTEMPLATE: int +PD_ENABLESETUPTEMPLATEHANDLE: int +PD_HIDEPRINTTOFILE: int +PD_NONETWORKBUTTON: int +PD_NOPAGENUMS: int +PD_NOSELECTION: int +PD_NOWARNING: int +PD_PAGENUMS: int +PD_PRINTSETUP: int +PD_PRINTTOFILE: int +PD_RETURNDC: int +PD_RETURNDEFAULT: int +PD_RETURNIC: int +PD_SELECTION: int +PD_SHOWHELP: int +PD_USEDEVMODECOPIES: int +PD_USEDEVMODECOPIESANDCOLLATE: int +PSWIZB_BACK: int +PSWIZB_DISABLEDFINISH: int +PSWIZB_FINISH: int +PSWIZB_NEXT: int +IDC_DBG_ADD: int +IDC_DBG_BREAKPOINTS: int +IDC_DBG_CLEAR: int +IDC_DBG_CLOSE: int +IDC_DBG_GO: int +IDC_DBG_STACK: int +IDC_DBG_STEP: int +IDC_DBG_STEPOUT: int +IDC_DBG_STEPOVER: int +IDC_DBG_WATCH: int +IDC_EDITOR_COLOR: int +IDC_FOLD_ENABLE: int +IDC_FOLD_ON_OPEN: int +IDC_FOLD_SHOW_LINES: int +IDC_LIST1: int +IDC_MARGIN_FOLD: int +IDC_MARGIN_LINENUMBER: int +IDC_MARGIN_MARKER: int +IDC_TABTIMMY_BG: int +IDC_TABTIMMY_IND: int +IDC_TABTIMMY_NONE: int +IDC_VIEW_EOL: int +IDC_VIEW_INDENTATIONGUIDES: int +ID_VIEW_FOLD_TOPLEVEL: int +copyright: str +dllhandle: int +types: dict[str, type] diff --git a/stubs/pywin32/pythonwin/win32uiole.pyi b/stubs/pywin32/pythonwin/win32uiole.pyi index 211e0629a923..01e3e02e5bf7 100644 --- a/stubs/pywin32/pythonwin/win32uiole.pyi +++ b/stubs/pywin32/pythonwin/win32uiole.pyi @@ -1,29 +1,27 @@ -from typing import Final, Literal - import _win32typing -def AfxOleInit() -> bool: ... +def AfxOleInit(enabled, /) -> None: ... def CreateInsertDialog() -> _win32typing.PyCOleInsertDialog: ... -def CreateOleClientItem(doc: _win32typing.PyCOleDocument) -> _win32typing.PyCOleClientItem: ... +def CreateOleClientItem() -> _win32typing.PyCOleClientItem: ... def CreateOleDocument( - template: _win32typing.PyCDocTemplate | _win32typing.DocTemplate, fileName: str | None = None, / + template: _win32typing.PyCDocTemplate | _win32typing.DocTemplate, fileName: str | None = ..., / ) -> _win32typing.PyCOleDocument: ... def DaoGetEngine() -> _win32typing.PyIDispatch: ... def GetIDispatchForWindow(Wnd, /) -> _win32typing.PyIDispatch: ... -def OleGetUserCtrl() -> int: ... -def OleSetUserCtrl(bUserCtrl: bool | Literal[0, 1], /) -> None: ... -def SetMessagePendingDelay(delay: int, /) -> None: ... -def EnableNotRespondingDialog(enabled: bool | Literal[0, 1], /) -> None: ... -def EnableBusyDialog(enabled: bool | Literal[0, 1], /) -> None: ... +def OleGetUserCtrl(): ... +def OleSetUserCtrl(bUserCtrl, /): ... +def SetMessagePendingDelay(delay, /) -> None: ... +def EnableNotRespondingDialog(enabled, /) -> None: ... +def EnableBusyDialog(enabled, /) -> None: ... -COleClientItem_emptyState: Final[int] -COleClientItem_loadedState: Final[int] -COleClientItem_openState: Final[int] -COleClientItem_activeState: Final[int] -COleClientItem_activeUIState: Final[int] -OLE_CHANGED: Final[int] -OLE_SAVED: Final[int] -OLE_CLOSED: Final[int] -OLE_RENAMED: Final[int] -OLE_CHANGED_STATE: Final[int] -OLE_CHANGED_ASPECT: Final[int] +COleClientItem_activeState: int +COleClientItem_activeUIState: int +COleClientItem_emptyState: int +COleClientItem_loadedState: int +COleClientItem_openState: int +OLE_CHANGED: int +OLE_CHANGED_ASPECT: int +OLE_CHANGED_STATE: int +OLE_CLOSED: int +OLE_RENAMED: int +OLE_SAVED: int diff --git a/stubs/pywin32/win32/lib/commctrl.pyi b/stubs/pywin32/win32/lib/commctrl.pyi index e88a3f760ce0..d1e76bcbe1eb 100644 --- a/stubs/pywin32/win32/lib/commctrl.pyi +++ b/stubs/pywin32/win32/lib/commctrl.pyi @@ -1,1522 +1,1522 @@ -from typing import Final +from _typeshed import Incomplete -WM_USER: Final = 1024 -ICC_LISTVIEW_CLASSES: Final = 1 -ICC_TREEVIEW_CLASSES: Final = 2 -ICC_BAR_CLASSES: Final = 4 -ICC_TAB_CLASSES: Final = 8 -ICC_UPDOWN_CLASS: Final = 16 -ICC_PROGRESS_CLASS: Final = 32 -ICC_HOTKEY_CLASS: Final = 64 -ICC_ANIMATE_CLASS: Final = 128 -ICC_WIN95_CLASSES: Final = 255 -ICC_DATE_CLASSES: Final = 256 -ICC_USEREX_CLASSES: Final = 512 -ICC_COOL_CLASSES: Final = 1024 -ICC_INTERNET_CLASSES: Final = 2048 -ICC_PAGESCROLLER_CLASS: Final = 4096 -ICC_NATIVEFNTCTL_CLASS: Final = 8192 -ODT_HEADER: Final = 100 -ODT_TAB: Final = 101 -ODT_LISTVIEW: Final = 102 -PY_0U: Final = 0 -NM_FIRST: Final = PY_0U -NM_LAST: Final = -99 -LVN_FIRST: Final = -100 -LVN_LAST: Final = -199 -HDN_FIRST: Final = -300 -HDN_LAST: Final = -399 -TVN_FIRST: Final = -400 -TVN_LAST: Final = -499 -TTN_FIRST: Final = -520 -TTN_LAST: Final = -549 -TCN_FIRST: Final = -550 -TCN_LAST: Final = -580 -CDN_FIRST: Final = -601 -CDN_LAST: Final = -699 -TBN_FIRST: Final = -700 -TBN_LAST: Final = -720 -UDN_FIRST: Final = -721 -UDN_LAST: Final = -740 -MCN_FIRST: Final = -750 -MCN_LAST: Final = -759 -DTN_FIRST: Final = -760 -DTN_LAST: Final = -799 -CBEN_FIRST: Final = -800 -CBEN_LAST: Final = -830 -RBN_FIRST: Final = -831 -RBN_LAST: Final = -859 -IPN_FIRST: Final = -860 -IPN_LAST: Final = -879 -SBN_FIRST: Final = -880 -SBN_LAST: Final = -899 -PGN_FIRST: Final = -900 -PGN_LAST: Final = -950 -LVM_FIRST: Final = 4096 -TV_FIRST: Final = 4352 -HDM_FIRST: Final = 4608 -TCM_FIRST: Final = 4864 -PGM_FIRST: Final = 5120 -CCM_FIRST: Final = 8192 -CCM_SETBKCOLOR: Final = 8193 -CCM_SETCOLORSCHEME: Final = 8194 -CCM_GETCOLORSCHEME: Final = 8195 -CCM_GETDROPTARGET: Final = 8196 -CCM_SETUNICODEFORMAT: Final = 8197 -CCM_GETUNICODEFORMAT: Final = 8198 -INFOTIPSIZE: Final = 1024 -NM_OUTOFMEMORY: Final = -1 -NM_CLICK: Final = -2 -NM_DBLCLK: Final = -3 -NM_RETURN: Final = -4 -NM_RCLICK: Final = -5 -NM_RDBLCLK: Final = -6 -NM_SETFOCUS: Final = -7 -NM_KILLFOCUS: Final = -8 -NM_CUSTOMDRAW: Final = -12 -NM_HOVER: Final = -13 -NM_NCHITTEST: Final = -14 -NM_KEYDOWN: Final = -15 -NM_RELEASEDCAPTURE: Final = -16 -NM_SETCURSOR: Final = -17 -NM_CHAR: Final = -18 -MSGF_COMMCTRL_BEGINDRAG: Final = 16896 -MSGF_COMMCTRL_SIZEHEADER: Final = 16897 -MSGF_COMMCTRL_DRAGSELECT: Final = 16898 -MSGF_COMMCTRL_TOOLBARCUST: Final = 16899 -CDRF_DODEFAULT: Final = 0 -CDRF_NEWFONT: Final = 2 -CDRF_SKIPDEFAULT: Final = 4 -CDRF_NOTIFYPOSTPAINT: Final = 16 -CDRF_NOTIFYITEMDRAW: Final = 32 -CDRF_NOTIFYSUBITEMDRAW: Final = 32 -CDRF_NOTIFYPOSTERASE: Final = 64 -CDDS_PREPAINT: Final = 1 -CDDS_POSTPAINT: Final = 2 -CDDS_PREERASE: Final = 3 -CDDS_POSTERASE: Final = 4 -CDDS_ITEM: Final = 65536 -CDDS_ITEMPREPAINT: Final = 65537 -CDDS_ITEMPOSTPAINT: Final = 65538 -CDDS_ITEMPREERASE: Final = 65539 -CDDS_ITEMPOSTERASE: Final = 65540 -CDDS_SUBITEM: Final = 131072 -CDIS_SELECTED: Final = 1 -CDIS_GRAYED: Final = 2 -CDIS_DISABLED: Final = 4 -CDIS_CHECKED: Final = 8 -CDIS_FOCUS: Final = 16 -CDIS_DEFAULT: Final = 32 -CDIS_HOT: Final = 64 -CDIS_MARKED: Final = 128 -CDIS_INDETERMINATE: Final = 256 -CLR_NONE: Final = -1 -CLR_DEFAULT: Final = -16777216 -ILC_MASK: Final = 1 -ILC_COLOR: Final = 0 -ILC_COLORDDB: Final = 254 -ILC_COLOR4: Final = 4 -ILC_COLOR8: Final = 8 -ILC_COLOR16: Final = 16 -ILC_COLOR24: Final = 24 -ILC_COLOR32: Final = 32 -ILC_PALETTE: Final = 2048 -ILD_NORMAL: Final = 0 -ILD_TRANSPARENT: Final = 1 -ILD_MASK: Final = 16 -ILD_IMAGE: Final = 32 -ILD_ROP: Final = 64 -ILD_BLEND25: Final = 2 -ILD_BLEND50: Final = 4 -ILD_OVERLAYMASK: Final = 3840 -ILD_SELECTED: Final = ILD_BLEND50 -ILD_FOCUS: Final = ILD_BLEND25 -ILD_BLEND: Final = ILD_BLEND50 -CLR_HILIGHT: Final = CLR_DEFAULT -ILCF_MOVE: Final = 0 -ILCF_SWAP: Final = 1 -WC_HEADERA: Final = "SysHeader32" -WC_HEADER: Final = WC_HEADERA -HDS_HORZ: Final = 0 -HDS_BUTTONS: Final = 2 -HDS_HOTTRACK: Final = 4 -HDS_HIDDEN: Final = 8 -HDS_DRAGDROP: Final = 64 -HDS_FULLDRAG: Final = 128 -HDI_WIDTH: Final = 1 -HDI_HEIGHT: Final = HDI_WIDTH -HDI_TEXT: Final = 2 -HDI_FORMAT: Final = 4 -HDI_LPARAM: Final = 8 -HDI_BITMAP: Final = 16 -HDI_IMAGE: Final = 32 -HDI_DI_SETITEM: Final = 64 -HDI_ORDER: Final = 128 -HDF_LEFT: Final = 0 -HDF_RIGHT: Final = 1 -HDF_CENTER: Final = 2 -HDF_JUSTIFYMASK: Final = 3 -HDF_RTLREADING: Final = 4 -HDF_OWNERDRAW: Final = 32768 -HDF_STRING: Final = 16384 -HDF_BITMAP: Final = 8192 -HDF_BITMAP_ON_RIGHT: Final = 4096 -HDF_IMAGE: Final = 2048 -HDM_GETITEMCOUNT: Final = 4608 -HDM_INSERTITEMA: Final = 4609 -HDM_INSERTITEMW: Final = 4618 -HDM_INSERTITEM: Final = HDM_INSERTITEMA -HDM_DELETEITEM: Final = 4610 -HDM_GETITEMA: Final = 4611 -HDM_GETITEMW: Final = 4619 -HDM_GETITEM: Final = HDM_GETITEMA -HDM_SETITEMA: Final = 4612 -HDM_SETITEMW: Final = 4620 -HDM_SETITEM: Final = HDM_SETITEMA -HDM_LAYOUT: Final = 4613 -HHT_NOWHERE: Final = 1 -HHT_ONHEADER: Final = 2 -HHT_ONDIVIDER: Final = 4 -HHT_ONDIVOPEN: Final = 8 -HHT_ABOVE: Final = 256 -HHT_BELOW: Final = 512 -HHT_TORIGHT: Final = 1024 -HHT_TOLEFT: Final = 2048 -HDM_HITTEST: Final = 4614 -HDM_GETITEMRECT: Final = 4615 -HDM_SETIMAGELIST: Final = 4616 -HDM_GETIMAGELIST: Final = 4617 -HDM_ORDERTOINDEX: Final = 4623 -HDM_CREATEDRAGIMAGE: Final = 4624 -HDM_GETORDERARRAY: Final = 4625 -HDM_SETORDERARRAY: Final = 4626 -HDM_SETHOTDIVIDER: Final = 4627 -HDM_SETUNICODEFORMAT: Final = CCM_SETUNICODEFORMAT -HDM_GETUNICODEFORMAT: Final = CCM_GETUNICODEFORMAT -HDN_ITEMCHANGINGA: Final = -300 -HDN_ITEMCHANGINGW: Final = -320 -HDN_ITEMCHANGEDA: Final = -301 -HDN_ITEMCHANGEDW: Final = -321 -HDN_ITEMCLICKA: Final = -302 -HDN_ITEMCLICKW: Final = -322 -HDN_ITEMDBLCLICKA: Final = -303 -HDN_ITEMDBLCLICKW: Final = -323 -HDN_DIVIDERDBLCLICKA: Final = -305 -HDN_DIVIDERDBLCLICKW: Final = -325 -HDN_BEGINTRACKA: Final = -306 -HDN_BEGINTRACKW: Final = -326 -HDN_ENDTRACKA: Final = -307 -HDN_ENDTRACKW: Final = -327 -HDN_TRACKA: Final = -308 -HDN_TRACKW: Final = -328 -HDN_GETDISPINFOA: Final = -309 -HDN_GETDISPINFOW: Final = -329 -HDN_BEGINDRAG: Final = -310 -HDN_ENDDRAG: Final = -311 -HDN_ITEMCHANGING: Final = HDN_ITEMCHANGINGA -HDN_ITEMCHANGED: Final = HDN_ITEMCHANGEDA -HDN_ITEMCLICK: Final = HDN_ITEMCLICKA -HDN_ITEMDBLCLICK: Final = HDN_ITEMDBLCLICKA -HDN_DIVIDERDBLCLICK: Final = HDN_DIVIDERDBLCLICKA -HDN_BEGINTRACK: Final = HDN_BEGINTRACKA -HDN_ENDTRACK: Final = HDN_ENDTRACKA -HDN_TRACK: Final = HDN_TRACKA -HDN_GETDISPINFO: Final = HDN_GETDISPINFOA -TOOLBARCLASSNAMEA: Final = "ToolbarWindow32" -TOOLBARCLASSNAME: Final = TOOLBARCLASSNAMEA -CMB_MASKED: Final = 2 -TBSTATE_CHECKED: Final = 1 -TBSTATE_PRESSED: Final = 2 -TBSTATE_ENABLED: Final = 4 -TBSTATE_HIDDEN: Final = 8 -TBSTATE_INDETERMINATE: Final = 16 -TBSTATE_WRAP: Final = 32 -TBSTATE_ELLIPSES: Final = 64 -TBSTATE_MARKED: Final = 128 -TBSTYLE_BUTTON: Final = 0 -TBSTYLE_SEP: Final = 1 -TBSTYLE_CHECK: Final = 2 -TBSTYLE_GROUP: Final = 4 -TBSTYLE_CHECKGROUP: Final = 6 -TBSTYLE_DROPDOWN: Final = 8 -TBSTYLE_AUTOSIZE: Final = 16 -TBSTYLE_NOPREFIX: Final = 32 -TBSTYLE_TOOLTIPS: Final = 256 -TBSTYLE_WRAPABLE: Final = 512 -TBSTYLE_ALTDRAG: Final = 1024 -TBSTYLE_FLAT: Final = 2048 -TBSTYLE_LIST: Final = 4096 -TBSTYLE_CUSTOMERASE: Final = 8192 -TBSTYLE_REGISTERDROP: Final = 16384 -TBSTYLE_TRANSPARENT: Final = 32768 -TBSTYLE_EX_DRAWDDARROWS: Final = 1 -BTNS_BUTTON: Final = TBSTYLE_BUTTON -BTNS_SEP: Final = TBSTYLE_SEP -BTNS_CHECK: Final = TBSTYLE_CHECK -BTNS_GROUP: Final = TBSTYLE_GROUP -BTNS_CHECKGROUP: Final = TBSTYLE_CHECKGROUP -BTNS_DROPDOWN: Final = TBSTYLE_DROPDOWN -BTNS_AUTOSIZE: Final = TBSTYLE_AUTOSIZE -BTNS_NOPREFIX: Final = TBSTYLE_NOPREFIX -BTNS_SHOWTEXT: Final = 64 -BTNS_WHOLEDROPDOWN: Final = 128 -TBCDRF_NOEDGES: Final = 65536 -TBCDRF_HILITEHOTTRACK: Final = 131072 -TBCDRF_NOOFFSET: Final = 262144 -TBCDRF_NOMARK: Final = 524288 -TBCDRF_NOETCHEDEFFECT: Final = 1048576 -TB_ENABLEBUTTON: Final = 1025 -TB_CHECKBUTTON: Final = 1026 -TB_PRESSBUTTON: Final = 1027 -TB_HIDEBUTTON: Final = 1028 -TB_INDETERMINATE: Final = 1029 -TB_MARKBUTTON: Final = 1030 -TB_ISBUTTONENABLED: Final = 1033 -TB_ISBUTTONCHECKED: Final = 1034 -TB_ISBUTTONPRESSED: Final = 1035 -TB_ISBUTTONHIDDEN: Final = 1036 -TB_ISBUTTONINDETERMINATE: Final = 1037 -TB_ISBUTTONHIGHLIGHTED: Final = 1038 -TB_SETSTATE: Final = 1041 -TB_GETSTATE: Final = 1042 -TB_ADDBITMAP: Final = 1043 -HINST_COMMCTRL: Final = -1 -IDB_STD_SMALL_COLOR: Final = 0 -IDB_STD_LARGE_COLOR: Final = 1 -IDB_VIEW_SMALL_COLOR: Final = 4 -IDB_VIEW_LARGE_COLOR: Final = 5 -IDB_HIST_SMALL_COLOR: Final = 8 -IDB_HIST_LARGE_COLOR: Final = 9 -STD_CUT: Final = 0 -STD_COPY: Final = 1 -STD_PASTE: Final = 2 -STD_UNDO: Final = 3 -STD_REDOW: Final = 4 -STD_DELETE: Final = 5 -STD_FILENEW: Final = 6 -STD_FILEOPEN: Final = 7 -STD_FILESAVE: Final = 8 -STD_PRINTPRE: Final = 9 -STD_PROPERTIES: Final = 10 -STD_HELP: Final = 11 -STD_FIND: Final = 12 -STD_REPLACE: Final = 13 -STD_PRINT: Final = 14 -VIEW_LARGEICONS: Final = 0 -VIEW_SMALLICONS: Final = 1 -VIEW_LIST: Final = 2 -VIEW_DETAILS: Final = 3 -VIEW_SORTNAME: Final = 4 -VIEW_SORTSIZE: Final = 5 -VIEW_SORTDATE: Final = 6 -VIEW_SORTTYPE: Final = 7 -VIEW_PARENTFOLDER: Final = 8 -VIEW_NETCONNECT: Final = 9 -VIEW_NETDISCONNECT: Final = 10 -VIEW_NEWFOLDER: Final = 11 -VIEW_VIEWMENU: Final = 12 -HIST_BACK: Final = 0 -HIST_FORWARD: Final = 1 -HIST_FAVORITES: Final = 2 -HIST_ADDTOFAVORITES: Final = 3 -HIST_VIEWTREE: Final = 4 -TB_ADDBUTTONSA: Final = 1044 -TB_INSERTBUTTONA: Final = 1045 -TB_ADDBUTTONS: Final = 1044 -TB_INSERTBUTTON: Final = 1045 -TB_DELETEBUTTON: Final = 1046 -TB_GETBUTTON: Final = 1047 -TB_BUTTONCOUNT: Final = 1048 -TB_COMMANDTOINDEX: Final = 1049 -TB_SAVERESTOREA: Final = 1050 -TB_SAVERESTOREW: Final = 1100 -TB_CUSTOMIZE: Final = 1051 -TB_ADDSTRINGA: Final = 1052 -TB_ADDSTRINGW: Final = 1101 -TB_GETITEMRECT: Final = 1053 -TB_BUTTONSTRUCTSIZE: Final = 1054 -TB_SETBUTTONSIZE: Final = 1055 -TB_SETBITMAPSIZE: Final = 1056 -TB_AUTOSIZE: Final = 1057 -TB_GETTOOLTIPS: Final = 1059 -TB_SETTOOLTIPS: Final = 1060 -TB_SETPARENT: Final = 1061 -TB_SETROWS: Final = 1063 -TB_GETROWS: Final = 1064 -TB_SETCMDID: Final = 1066 -TB_CHANGEBITMAP: Final = 1067 -TB_GETBITMAP: Final = 1068 -TB_GETBUTTONTEXTA: Final = 1069 -TB_GETBUTTONTEXTW: Final = 1099 -TB_REPLACEBITMAP: Final = 1070 -TB_SETINDENT: Final = 1071 -TB_SETIMAGELIST: Final = 1072 -TB_GETIMAGELIST: Final = 1073 -TB_LOADIMAGES: Final = 1074 -TB_GETRECT: Final = 1075 -TB_SETHOTIMAGELIST: Final = 1076 -TB_GETHOTIMAGELIST: Final = 1077 -TB_SETDISABLEDIMAGELIST: Final = 1078 -TB_GETDISABLEDIMAGELIST: Final = 1079 -TB_SETSTYLE: Final = 1080 -TB_GETSTYLE: Final = 1081 -TB_GETBUTTONSIZE: Final = 1082 -TB_SETBUTTONWIDTH: Final = 1083 -TB_SETMAXTEXTROWS: Final = 1084 -TB_GETTEXTROWS: Final = 1085 -TB_GETBUTTONTEXT: Final = TB_GETBUTTONTEXTA -TB_SAVERESTORE: Final = TB_SAVERESTOREA -TB_ADDSTRING: Final = TB_ADDSTRINGA -TB_GETOBJECT: Final = 1086 -TB_GETHOTITEM: Final = 1095 -TB_SETHOTITEM: Final = 1096 -TB_SETANCHORHIGHLIGHT: Final = 1097 -TB_GETANCHORHIGHLIGHT: Final = 1098 -TB_MAPACCELERATORA: Final = 1102 -TBIMHT_AFTER: Final = 1 -TBIMHT_BACKGROUND: Final = 2 -TB_GETINSERTMARK: Final = 1103 -TB_SETINSERTMARK: Final = 1104 -TB_INSERTMARKHITTEST: Final = 1105 -TB_MOVEBUTTON: Final = 1106 -TB_GETMAXSIZE: Final = 1107 -TB_SETEXTENDEDSTYLE: Final = 1108 -TB_GETEXTENDEDSTYLE: Final = 1109 -TB_GETPADDING: Final = 1110 -TB_SETPADDING: Final = 1111 -TB_SETINSERTMARKCOLOR: Final = 1112 -TB_GETINSERTMARKCOLOR: Final = 1113 -TB_SETCOLORSCHEME: Final = CCM_SETCOLORSCHEME -TB_GETCOLORSCHEME: Final = CCM_GETCOLORSCHEME -TB_SETUNICODEFORMAT: Final = CCM_SETUNICODEFORMAT -TB_GETUNICODEFORMAT: Final = CCM_GETUNICODEFORMAT -TB_MAPACCELERATORW: Final = 1114 -TB_MAPACCELERATOR: Final = TB_MAPACCELERATORA -TBBF_LARGE: Final = 1 -TB_GETBITMAPFLAGS: Final = 1065 -TBIF_IMAGE: Final = 1 -TBIF_TEXT: Final = 2 -TBIF_STATE: Final = 4 -TBIF_STYLE: Final = 8 -TBIF_LPARAM: Final = 16 -TBIF_COMMAND: Final = 32 -TBIF_SIZE: Final = 64 -TB_GETBUTTONINFOW: Final = 1087 -TB_SETBUTTONINFOW: Final = 1088 -TB_GETBUTTONINFOA: Final = 1089 -TB_SETBUTTONINFOA: Final = 1090 -TB_INSERTBUTTONW: Final = 1091 -TB_ADDBUTTONSW: Final = 1092 -TB_HITTEST: Final = 1093 -TB_SETDRAWTEXTFLAGS: Final = 1094 -TBN_GETBUTTONINFOA: Final = -700 -TBN_GETBUTTONINFOW: Final = -720 -TBN_BEGINDRAG: Final = -701 -TBN_ENDDRAG: Final = -702 -TBN_BEGINADJUST: Final = -703 -TBN_ENDADJUST: Final = -704 -TBN_RESET: Final = -705 -TBN_QUERYINSERT: Final = -706 -TBN_QUERYDELETE: Final = -707 -TBN_TOOLBARCHANGE: Final = -708 -TBN_CUSTHELP: Final = -709 -TBN_DROPDOWN: Final = -710 -TBN_GETOBJECT: Final = -712 -HICF_OTHER: Final = 0 -HICF_MOUSE: Final = 1 -HICF_ARROWKEYS: Final = 2 -HICF_ACCELERATOR: Final = 4 -HICF_DUPACCEL: Final = 8 -HICF_ENTERING: Final = 16 -HICF_LEAVING: Final = 32 -HICF_RESELECT: Final = 64 -TBN_HOTITEMCHANGE: Final = -713 -TBN_DRAGOUT: Final = -714 -TBN_DELETINGBUTTON: Final = -715 -TBN_GETDISPINFOA: Final = -716 -TBN_GETDISPINFOW: Final = -717 -TBN_GETINFOTIPA: Final = -718 -TBN_GETINFOTIPW: Final = -719 -TBN_GETINFOTIP: Final = TBN_GETINFOTIPA -TBNF_IMAGE: Final = 1 -TBNF_TEXT: Final = 2 -TBNF_DI_SETITEM: Final = 268435456 -TBN_GETDISPINFO: Final = TBN_GETDISPINFOA -TBDDRET_DEFAULT: Final = 0 -TBDDRET_NODEFAULT: Final = 1 -TBDDRET_TREATPRESSED: Final = 2 -TBN_GETBUTTONINFO: Final = TBN_GETBUTTONINFOA -REBARCLASSNAMEA: Final = "ReBarWindow32" -REBARCLASSNAME: Final = REBARCLASSNAMEA -RBIM_IMAGELIST: Final = 1 -RBS_TOOLTIPS: Final = 256 -RBS_VARHEIGHT: Final = 512 -RBS_BANDBORDERS: Final = 1024 -RBS_FIXEDORDER: Final = 2048 -RBS_REGISTERDROP: Final = 4096 -RBS_AUTOSIZE: Final = 8192 -RBS_VERTICALGRIPPER: Final = 16384 -RBS_DBLCLKTOGGLE: Final = 32768 -RBBS_BREAK: Final = 1 -RBBS_FIXEDSIZE: Final = 2 -RBBS_CHILDEDGE: Final = 4 -RBBS_HIDDEN: Final = 8 -RBBS_NOVERT: Final = 16 -RBBS_FIXEDBMP: Final = 32 -RBBS_VARIABLEHEIGHT: Final = 64 -RBBS_GRIPPERALWAYS: Final = 128 -RBBS_NOGRIPPER: Final = 256 -RBBIM_STYLE: Final = 1 -RBBIM_COLORS: Final = 2 -RBBIM_TEXT: Final = 4 -RBBIM_IMAGE: Final = 8 -RBBIM_CHILD: Final = 16 -RBBIM_CHILDSIZE: Final = 32 -RBBIM_SIZE: Final = 64 -RBBIM_BACKGROUND: Final = 128 -RBBIM_ID: Final = 256 -RBBIM_IDEALSIZE: Final = 512 -RBBIM_LPARAM: Final = 1024 -RB_INSERTBANDA: Final = 1025 -RB_DELETEBAND: Final = 1026 -RB_GETBARINFO: Final = 1027 -RB_SETBARINFO: Final = 1028 -RB_SETBANDINFOA: Final = 1030 -RB_SETPARENT: Final = 1031 -RB_HITTEST: Final = 1032 -RB_GETRECT: Final = 1033 -RB_INSERTBANDW: Final = 1034 -RB_SETBANDINFOW: Final = 1035 -RB_GETBANDCOUNT: Final = 1036 -RB_GETROWCOUNT: Final = 1037 -RB_GETROWHEIGHT: Final = 1038 -RB_IDTOINDEX: Final = 1040 -RB_GETTOOLTIPS: Final = 1041 -RB_SETTOOLTIPS: Final = 1042 -RB_SETBKCOLOR: Final = 1043 -RB_GETBKCOLOR: Final = 1044 -RB_SETTEXTCOLOR: Final = 1045 -RB_GETTEXTCOLOR: Final = 1046 -RB_SIZETORECT: Final = 1047 -RB_SETCOLORSCHEME: Final = CCM_SETCOLORSCHEME -RB_GETCOLORSCHEME: Final = CCM_GETCOLORSCHEME -RB_INSERTBAND: Final = RB_INSERTBANDA -RB_SETBANDINFO: Final = RB_SETBANDINFOA -RB_BEGINDRAG: Final = 1048 -RB_ENDDRAG: Final = 1049 -RB_DRAGMOVE: Final = 1050 -RB_GETBARHEIGHT: Final = 1051 -RB_GETBANDINFOW: Final = 1052 -RB_GETBANDINFOA: Final = 1053 -RB_GETBANDINFO: Final = RB_GETBANDINFOA -RB_MINIMIZEBAND: Final = 1054 -RB_MAXIMIZEBAND: Final = 1055 -RB_GETDROPTARGET: Final = CCM_GETDROPTARGET -RB_GETBANDBORDERS: Final = 1058 -RB_SHOWBAND: Final = 1059 -RB_SETPALETTE: Final = 1061 -RB_GETPALETTE: Final = 1062 -RB_MOVEBAND: Final = 1063 -RB_SETUNICODEFORMAT: Final = CCM_SETUNICODEFORMAT -RB_GETUNICODEFORMAT: Final = CCM_GETUNICODEFORMAT -RBN_HEIGHTCHANGE: Final = -831 -RBN_GETOBJECT: Final = -832 -RBN_LAYOUTCHANGED: Final = -833 -RBN_AUTOSIZE: Final = -834 -RBN_BEGINDRAG: Final = -835 -RBN_ENDDRAG: Final = -836 -RBN_DELETINGBAND: Final = -837 -RBN_DELETEDBAND: Final = -838 -RBN_CHILDSIZE: Final = -839 -RBNM_ID: Final = 1 -RBNM_STYLE: Final = 2 -RBNM_LPARAM: Final = 4 -RBHT_NOWHERE: Final = 1 -RBHT_CAPTION: Final = 2 -RBHT_CLIENT: Final = 3 -RBHT_GRABBER: Final = 4 -TOOLTIPS_CLASSA: Final = "tooltips_class32" -TOOLTIPS_CLASS: Final = TOOLTIPS_CLASSA -TTS_ALWAYSTIP: Final = 1 -TTS_NOPREFIX: Final = 2 -TTF_IDISHWND: Final = 1 -TTF_CENTERTIP: Final = 2 -TTF_RTLREADING: Final = 4 -TTF_SUBCLASS: Final = 16 -TTF_TRACK: Final = 32 -TTF_ABSOLUTE: Final = 128 -TTF_TRANSPARENT: Final = 256 -TTF_DI_SETITEM: Final = 32768 -TTDT_AUTOMATIC: Final = 0 -TTDT_RESHOW: Final = 1 -TTDT_AUTOPOP: Final = 2 -TTDT_INITIAL: Final = 3 -TTM_ACTIVATE: Final = 1025 -TTM_SETDELAYTIME: Final = 1027 -TTM_ADDTOOLA: Final = 1028 -TTM_ADDTOOLW: Final = 1074 -TTM_DELTOOLA: Final = 1029 -TTM_DELTOOLW: Final = 1075 -TTM_NEWTOOLRECTA: Final = 1030 -TTM_NEWTOOLRECTW: Final = 1076 -TTM_RELAYEVENT: Final = 1031 -TTM_GETTOOLINFOA: Final = 1032 -TTM_GETTOOLINFOW: Final = 1077 -TTM_SETTOOLINFOA: Final = 1033 -TTM_SETTOOLINFOW: Final = 1078 -TTM_HITTESTA: Final = 1034 -TTM_HITTESTW: Final = 1079 -TTM_GETTEXTA: Final = 1035 -TTM_GETTEXTW: Final = 1080 -TTM_UPDATETIPTEXTA: Final = 1036 -TTM_UPDATETIPTEXTW: Final = 1081 -TTM_GETTOOLCOUNT: Final = 1037 -TTM_ENUMTOOLSA: Final = 1038 -TTM_ENUMTOOLSW: Final = 1082 -TTM_GETCURRENTTOOLA: Final = 1039 -TTM_GETCURRENTTOOLW: Final = 1083 -TTM_WINDOWFROMPOINT: Final = 1040 -TTM_TRACKACTIVATE: Final = 1041 -TTM_TRACKPOSITION: Final = 1042 -TTM_SETTIPBKCOLOR: Final = 1043 -TTM_SETTIPTEXTCOLOR: Final = 1044 -TTM_GETDELAYTIME: Final = 1045 -TTM_GETTIPBKCOLOR: Final = 1046 -TTM_GETTIPTEXTCOLOR: Final = 1047 -TTM_SETMAXTIPWIDTH: Final = 1048 -TTM_GETMAXTIPWIDTH: Final = 1049 -TTM_SETMARGIN: Final = 1050 -TTM_GETMARGIN: Final = 1051 -TTM_POP: Final = 1052 -TTM_UPDATE: Final = 1053 -TTM_ADDTOOL: Final = TTM_ADDTOOLA -TTM_DELTOOL: Final = TTM_DELTOOLA -TTM_NEWTOOLRECT: Final = TTM_NEWTOOLRECTA -TTM_GETTOOLINFO: Final = TTM_GETTOOLINFOA -TTM_SETTOOLINFO: Final = TTM_SETTOOLINFOA -TTM_HITTEST: Final = TTM_HITTESTA -TTM_GETTEXT: Final = TTM_GETTEXTA -TTM_UPDATETIPTEXT: Final = TTM_UPDATETIPTEXTA -TTM_ENUMTOOLS: Final = TTM_ENUMTOOLSA -TTM_GETCURRENTTOOL: Final = TTM_GETCURRENTTOOLA -TTN_GETDISPINFOA: Final = -520 -TTN_GETDISPINFOW: Final = -530 -TTN_SHOW: Final = -521 -TTN_POP: Final = -522 -TTN_GETDISPINFO: Final = TTN_GETDISPINFOA -TTN_NEEDTEXT: Final = TTN_GETDISPINFO -TTN_NEEDTEXTA: Final = TTN_GETDISPINFOA -TTN_NEEDTEXTW: Final = TTN_GETDISPINFOW -SBARS_SIZEGRIP: Final = 256 -SBARS_TOOLTIPS: Final = 2048 -STATUSCLASSNAMEA: Final = "msctls_statusbar32" -STATUSCLASSNAME: Final = STATUSCLASSNAMEA -SB_SETTEXTA: Final = 1025 -SB_SETTEXTW: Final = 1035 -SB_GETTEXTA: Final = 1026 -SB_GETTEXTW: Final = 1037 -SB_GETTEXTLENGTHA: Final = 1027 -SB_GETTEXTLENGTHW: Final = 1036 -SB_GETTEXT: Final = SB_GETTEXTA -SB_SETTEXT: Final = SB_SETTEXTA -SB_GETTEXTLENGTH: Final = SB_GETTEXTLENGTHA -SB_SETPARTS: Final = 1028 -SB_GETPARTS: Final = 1030 -SB_GETBORDERS: Final = 1031 -SB_SETMINHEIGHT: Final = 1032 -SB_SIMPLE: Final = 1033 -SB_GETRECT: Final = 1034 -SB_ISSIMPLE: Final = 1038 -SB_SETICON: Final = 1039 -SB_SETTIPTEXTA: Final = 1040 -SB_SETTIPTEXTW: Final = 1041 -SB_GETTIPTEXTA: Final = 1042 -SB_GETTIPTEXTW: Final = 1043 -SB_GETICON: Final = 1044 -SB_SETTIPTEXT: Final = SB_SETTIPTEXTA -SB_GETTIPTEXT: Final = SB_GETTIPTEXTA -SB_SETUNICODEFORMAT: Final = CCM_SETUNICODEFORMAT -SB_GETUNICODEFORMAT: Final = CCM_GETUNICODEFORMAT -SBT_OWNERDRAW: Final = 4096 -SBT_NOBORDERS: Final = 256 -SBT_POPOUT: Final = 512 -SBT_RTLREADING: Final = 1024 -SBT_NOTABPARSING: Final = 2048 -SBT_TOOLTIPS: Final = 2048 -SB_SETBKCOLOR: Final = CCM_SETBKCOLOR -SBN_SIMPLEMODECHANGE: Final = -880 -TRACKBAR_CLASSA: Final = "msctls_trackbar32" -TRACKBAR_CLASS: Final = TRACKBAR_CLASSA -TBS_AUTOTICKS: Final = 1 -TBS_VERT: Final = 2 -TBS_HORZ: Final = 0 -TBS_TOP: Final = 4 -TBS_BOTTOM: Final = 0 -TBS_LEFT: Final = 4 -TBS_RIGHT: Final = 0 -TBS_BOTH: Final = 8 -TBS_NOTICKS: Final = 16 -TBS_ENABLESELRANGE: Final = 32 -TBS_FIXEDLENGTH: Final = 64 -TBS_NOTHUMB: Final = 128 -TBS_TOOLTIPS: Final = 256 -TBM_GETPOS: Final = WM_USER -TBM_GETRANGEMIN: Final = 1025 -TBM_GETRANGEMAX: Final = 1026 -TBM_GETTIC: Final = 1027 -TBM_SETTIC: Final = 1028 -TBM_SETPOS: Final = 1029 -TBM_SETRANGE: Final = 1030 -TBM_SETRANGEMIN: Final = 1031 -TBM_SETRANGEMAX: Final = 1032 -TBM_CLEARTICS: Final = 1033 -TBM_SETSEL: Final = 1034 -TBM_SETSELSTART: Final = 1035 -TBM_SETSELEND: Final = 1036 -TBM_GETPTICS: Final = 1038 -TBM_GETTICPOS: Final = 1039 -TBM_GETNUMTICS: Final = 1040 -TBM_GETSELSTART: Final = 1041 -TBM_GETSELEND: Final = 1042 -TBM_CLEARSEL: Final = 1043 -TBM_SETTICFREQ: Final = 1044 -TBM_SETPAGESIZE: Final = 1045 -TBM_GETPAGESIZE: Final = 1046 -TBM_SETLINESIZE: Final = 1047 -TBM_GETLINESIZE: Final = 1048 -TBM_GETTHUMBRECT: Final = 1049 -TBM_GETCHANNELRECT: Final = 1050 -TBM_SETTHUMBLENGTH: Final = 1051 -TBM_GETTHUMBLENGTH: Final = 1052 -TBM_SETTOOLTIPS: Final = 1053 -TBM_GETTOOLTIPS: Final = 1054 -TBM_SETTIPSIDE: Final = 1055 -TBTS_TOP: Final = 0 -TBTS_LEFT: Final = 1 -TBTS_BOTTOM: Final = 2 -TBTS_RIGHT: Final = 3 -TBM_SETBUDDY: Final = 1056 -TBM_GETBUDDY: Final = 1057 -TBM_SETUNICODEFORMAT: Final = CCM_SETUNICODEFORMAT -TBM_GETUNICODEFORMAT: Final = CCM_GETUNICODEFORMAT -TB_LINEUP: Final = 0 -TB_LINEDOWN: Final = 1 -TB_PAGEUP: Final = 2 -TB_PAGEDOWN: Final = 3 -TB_THUMBPOSITION: Final = 4 -TB_THUMBTRACK: Final = 5 -TB_TOP: Final = 6 -TB_BOTTOM: Final = 7 -TB_ENDTRACK: Final = 8 -TBCD_TICS: Final = 1 -TBCD_THUMB: Final = 2 -TBCD_CHANNEL: Final = 3 -DL_BEGINDRAG: Final = 1157 -DL_DRAGGING: Final = 1158 -DL_DROPPED: Final = 1159 -DL_CANCELDRAG: Final = 1160 -DL_CURSORSET: Final = 0 -DL_STOPCURSOR: Final = 1 -DL_COPYCURSOR: Final = 2 -DL_MOVECURSOR: Final = 3 -DRAGLISTMSGSTRING: Final = "commctrl_DragListMsg" -UPDOWN_CLASSA: Final = "msctls_updown32" -UPDOWN_CLASS: Final = UPDOWN_CLASSA -UD_MAXVAL: Final = 32767 -UD_MINVAL: Final = -32767 -UDS_WRAP: Final = 1 -UDS_SETBUDDYINT: Final = 2 -UDS_ALIGNRIGHT: Final = 4 -UDS_ALIGNLEFT: Final = 8 -UDS_AUTOBUDDY: Final = 16 -UDS_ARROWKEYS: Final = 32 -UDS_HORZ: Final = 64 -UDS_NOTHOUSANDS: Final = 128 -UDS_HOTTRACK: Final = 256 -UDM_SETRANGE: Final = 1125 -UDM_GETRANGE: Final = 1126 -UDM_SETPOS: Final = 1127 -UDM_GETPOS: Final = 1128 -UDM_SETBUDDY: Final = 1129 -UDM_GETBUDDY: Final = 1130 -UDM_SETACCEL: Final = 1131 -UDM_GETACCEL: Final = 1132 -UDM_SETBASE: Final = 1133 -UDM_GETBASE: Final = 1134 -UDM_SETRANGE32: Final = 1135 -UDM_GETRANGE32: Final = 1136 -UDM_SETUNICODEFORMAT: Final = CCM_SETUNICODEFORMAT -UDM_GETUNICODEFORMAT: Final = CCM_GETUNICODEFORMAT -UDN_DELTAPOS: Final = -722 -PROGRESS_CLASSA: Final = "msctls_progress32" -PROGRESS_CLASS: Final = PROGRESS_CLASSA -PBS_SMOOTH: Final = 1 -PBS_VERTICAL: Final = 4 -PBM_SETRANGE: Final = 1025 -PBM_SETPOS: Final = 1026 -PBM_DELTAPOS: Final = 1027 -PBM_SETSTEP: Final = 1028 -PBM_STEPIT: Final = 1029 -PBM_SETRANGE32: Final = 1030 -PBM_GETRANGE: Final = 1031 -PBM_GETPOS: Final = 1032 -PBM_SETBARCOLOR: Final = 1033 -PBM_SETBKCOLOR: Final = CCM_SETBKCOLOR -HOTKEYF_SHIFT: Final = 1 -HOTKEYF_CONTROL: Final = 2 -HOTKEYF_ALT: Final = 4 -HOTKEYF_EXT: Final = 8 -HKCOMB_NONE: Final = 1 -HKCOMB_S: Final = 2 -HKCOMB_C: Final = 4 -HKCOMB_A: Final = 8 -HKCOMB_SC: Final = 16 -HKCOMB_SA: Final = 32 -HKCOMB_CA: Final = 64 -HKCOMB_SCA: Final = 128 -HKM_SETHOTKEY: Final = 1025 -HKM_GETHOTKEY: Final = 1026 -HKM_SETRULES: Final = 1027 -HOTKEY_CLASSA: Final = "msctls_hotkey32" -HOTKEY_CLASS: Final = HOTKEY_CLASSA -CCS_TOP: Final = 0x00000001 -CCS_NOMOVEY: Final = 0x00000002 -CCS_BOTTOM: Final = 0x00000003 -CCS_NORESIZE: Final = 0x00000004 -CCS_NOPARENTALIGN: Final = 0x00000008 -CCS_ADJUSTABLE: Final = 0x00000020 -CCS_NODIVIDER: Final = 0x00000040 -CCS_VERT: Final = 0x00000080 -CCS_LEFT: Final = 0x00000081 -CCS_RIGHT: Final = 0x00000083 -CCS_NOMOVEX: Final = 0x00000082 -WC_LISTVIEWA: Final = "SysListView32" -WC_LISTVIEW: Final = WC_LISTVIEWA -LVS_ICON: Final = 0 -LVS_REPORT: Final = 1 -LVS_SMALLICON: Final = 2 -LVS_LIST: Final = 3 -LVS_TYPEMASK: Final = 3 -LVS_SINGLESEL: Final = 4 -LVS_SHOWSELALWAYS: Final = 8 -LVS_SORTASCENDING: Final = 16 -LVS_SORTDESCENDING: Final = 32 -LVS_SHAREIMAGELISTS: Final = 64 -LVS_NOLABELWRAP: Final = 128 -LVS_AUTOARRANGE: Final = 256 -LVS_EDITLABELS: Final = 512 -LVS_OWNERDATA: Final = 4096 -LVS_NOSCROLL: Final = 8192 -LVS_TYPESTYLEMASK: Final = 64512 -LVS_ALIGNTOP: Final = 0 -LVS_ALIGNLEFT: Final = 2048 -LVS_ALIGNMASK: Final = 3072 -LVS_OWNERDRAWFIXED: Final = 1024 -LVS_NOCOLUMNHEADER: Final = 16384 -LVS_NOSORTHEADER: Final = 32768 -LVM_SETUNICODEFORMAT: Final = CCM_SETUNICODEFORMAT -LVM_GETUNICODEFORMAT: Final = CCM_GETUNICODEFORMAT -LVM_GETBKCOLOR: Final = 4096 -LVM_SETBKCOLOR: Final = 4097 -LVM_GETIMAGELIST: Final = 4098 -LVSIL_NORMAL: Final = 0 -LVSIL_SMALL: Final = 1 -LVSIL_STATE: Final = 2 -LVM_SETIMAGELIST: Final = 4099 -LVM_GETITEMCOUNT: Final = 4100 -LVIF_TEXT: Final = 1 -LVIF_IMAGE: Final = 2 -LVIF_PARAM: Final = 4 -LVIF_STATE: Final = 8 -LVIF_INDENT: Final = 16 -LVIF_NORECOMPUTE: Final = 2048 -LVIS_FOCUSED: Final = 1 -LVIS_SELECTED: Final = 2 -LVIS_CUT: Final = 4 -LVIS_DROPHILITED: Final = 8 -LVIS_ACTIVATING: Final = 32 -LVIS_OVERLAYMASK: Final = 3840 -LVIS_STATEIMAGEMASK: Final = 61440 -I_INDENTCALLBACK: Final = -1 -LPSTR_TEXTCALLBACKA: Final = -1 -LPSTR_TEXTCALLBACK: Final = LPSTR_TEXTCALLBACKA -I_IMAGECALLBACK: Final = -1 -LVM_GETITEMA: Final = 4101 -LVM_GETITEMW: Final = 4171 -LVM_GETITEM: Final = LVM_GETITEMA -LVM_SETITEMA: Final = 4102 -LVM_SETITEMW: Final = 4172 -LVM_SETITEM: Final = LVM_SETITEMA -LVM_INSERTITEMA: Final = 4103 -LVM_INSERTITEMW: Final = 4173 -LVM_INSERTITEM: Final = LVM_INSERTITEMA -LVM_DELETEITEM: Final = 4104 -LVM_DELETEALLITEMS: Final = 4105 -LVM_GETCALLBACKMASK: Final = 4106 -LVM_SETCALLBACKMASK: Final = 4107 -LVNI_ALL: Final = 0 -LVNI_FOCUSED: Final = 1 -LVNI_SELECTED: Final = 2 -LVNI_CUT: Final = 4 -LVNI_DROPHILITED: Final = 8 -LVNI_ABOVE: Final = 256 -LVNI_BELOW: Final = 512 -LVNI_TOLEFT: Final = 1024 -LVNI_TORIGHT: Final = 2048 -LVM_GETNEXTITEM: Final = 4108 -LVFI_PARAM: Final = 1 -LVFI_STRING: Final = 2 -LVFI_PARTIAL: Final = 8 -LVFI_WRAP: Final = 32 -LVFI_NEARESTXY: Final = 64 -LVM_FINDITEMA: Final = 4109 -LVM_FINDITEMW: Final = 4179 -LVM_FINDITEM: Final = LVM_FINDITEMA -LVIR_BOUNDS: Final = 0 -LVIR_ICON: Final = 1 -LVIR_LABEL: Final = 2 -LVIR_SELECTBOUNDS: Final = 3 -LVM_GETITEMRECT: Final = 4110 -LVM_SETITEMPOSITION: Final = 4111 -LVM_GETITEMPOSITION: Final = 4112 -LVM_GETSTRINGWIDTHA: Final = 4113 -LVM_GETSTRINGWIDTHW: Final = 4183 -LVM_GETSTRINGWIDTH: Final = LVM_GETSTRINGWIDTHA -LVHT_NOWHERE: Final = 1 -LVHT_ONITEMICON: Final = 2 -LVHT_ONITEMLABEL: Final = 4 -LVHT_ONITEMSTATEICON: Final = 8 -LVHT_ONITEM: Final = 14 -LVHT_ABOVE: Final = 8 -LVHT_BELOW: Final = 16 -LVHT_TORIGHT: Final = 32 -LVHT_TOLEFT: Final = 64 -LVM_HITTEST: Final = 4114 -LVM_ENSUREVISIBLE: Final = 4115 -LVM_SCROLL: Final = 4116 -LVM_REDRAWITEMS: Final = 4117 -LVA_DEFAULT: Final = 0 -LVA_ALIGNLEFT: Final = 1 -LVA_ALIGNTOP: Final = 2 -LVA_SNAPTOGRID: Final = 5 -LVM_ARRANGE: Final = 4118 -LVM_EDITLABELA: Final = 4119 -LVM_EDITLABELW: Final = 4214 -LVM_EDITLABEL: Final = LVM_EDITLABELA -LVM_GETEDITCONTROL: Final = 4120 -LVCF_FMT: Final = 1 -LVCF_WIDTH: Final = 2 -LVCF_TEXT: Final = 4 -LVCF_SUBITEM: Final = 8 -LVCF_IMAGE: Final = 16 -LVCF_ORDER: Final = 32 -LVCFMT_LEFT: Final = 0 -LVCFMT_RIGHT: Final = 1 -LVCFMT_CENTER: Final = 2 -LVCFMT_JUSTIFYMASK: Final = 3 -LVCFMT_IMAGE: Final = 2048 -LVCFMT_BITMAP_ON_RIGHT: Final = 4096 -LVCFMT_COL_HAS_IMAGES: Final = 32768 -LVM_GETCOLUMNA: Final = 4121 -LVM_GETCOLUMNW: Final = 4191 -LVM_GETCOLUMN: Final = LVM_GETCOLUMNA -LVM_SETCOLUMNA: Final = 4122 -LVM_SETCOLUMNW: Final = 4192 -LVM_SETCOLUMN: Final = LVM_SETCOLUMNA -LVM_INSERTCOLUMNA: Final = 4123 -LVM_INSERTCOLUMNW: Final = 4193 -LVM_INSERTCOLUMN: Final = LVM_INSERTCOLUMNA -LVM_DELETECOLUMN: Final = 4124 -LVM_GETCOLUMNWIDTH: Final = 4125 -LVSCW_AUTOSIZE: Final = -1 -LVSCW_AUTOSIZE_USEHEADER: Final = -2 -LVM_SETCOLUMNWIDTH: Final = 4126 -LVM_GETHEADER: Final = 4127 -LVM_CREATEDRAGIMAGE: Final = 4129 -LVM_GETVIEWRECT: Final = 4130 -LVM_GETTEXTCOLOR: Final = 4131 -LVM_SETTEXTCOLOR: Final = 4132 -LVM_GETTEXTBKCOLOR: Final = 4133 -LVM_SETTEXTBKCOLOR: Final = 4134 -LVM_GETTOPINDEX: Final = 4135 -LVM_GETCOUNTPERPAGE: Final = 4136 -LVM_GETORIGIN: Final = 4137 -LVM_UPDATE: Final = 4138 -LVM_SETITEMSTATE: Final = 4139 -LVM_GETITEMSTATE: Final = 4140 -LVM_GETITEMTEXTA: Final = 4141 -LVM_GETITEMTEXTW: Final = 4211 -LVM_GETITEMTEXT: Final = LVM_GETITEMTEXTA -LVM_SETITEMTEXTA: Final = 4142 -LVM_SETITEMTEXTW: Final = 4212 -LVM_SETITEMTEXT: Final = LVM_SETITEMTEXTA -LVSICF_NOINVALIDATEALL: Final = 1 -LVSICF_NOSCROLL: Final = 2 -LVM_SETITEMCOUNT: Final = 4143 -LVM_SORTITEMS: Final = 4144 -LVM_SETITEMPOSITION32: Final = 4145 -LVM_GETSELECTEDCOUNT: Final = 4146 -LVM_GETITEMSPACING: Final = 4147 -LVM_GETISEARCHSTRINGA: Final = 4148 -LVM_GETISEARCHSTRINGW: Final = 4213 -LVM_GETISEARCHSTRING: Final = LVM_GETISEARCHSTRINGA -LVM_SETICONSPACING: Final = 4149 -LVM_SETEXTENDEDLISTVIEWSTYLE: Final = 4150 -LVM_GETEXTENDEDLISTVIEWSTYLE: Final = 4151 -LVS_EX_GRIDLINES: Final = 1 -LVS_EX_SUBITEMIMAGES: Final = 2 -LVS_EX_CHECKBOXES: Final = 4 -LVS_EX_TRACKSELECT: Final = 8 -LVS_EX_HEADERDRAGDROP: Final = 16 -LVS_EX_FULLROWSELECT: Final = 32 -LVS_EX_ONECLICKACTIVATE: Final = 64 -LVS_EX_TWOCLICKACTIVATE: Final = 128 -LVS_EX_FLATSB: Final = 256 -LVS_EX_REGIONAL: Final = 512 -LVS_EX_INFOTIP: Final = 1024 -LVS_EX_UNDERLINEHOT: Final = 2048 -LVS_EX_UNDERLINECOLD: Final = 4096 -LVS_EX_MULTIWORKAREAS: Final = 8192 -LVM_GETSUBITEMRECT: Final = 4152 -LVM_SUBITEMHITTEST: Final = 4153 -LVM_SETCOLUMNORDERARRAY: Final = 4154 -LVM_GETCOLUMNORDERARRAY: Final = 4155 -LVM_SETHOTITEM: Final = 4156 -LVM_GETHOTITEM: Final = 4157 -LVM_SETHOTCURSOR: Final = 4158 -LVM_GETHOTCURSOR: Final = 4159 -LVM_APPROXIMATEVIEWRECT: Final = 4160 -LV_MAX_WORKAREAS: Final = 16 -LVM_SETWORKAREAS: Final = 4161 -LVM_GETWORKAREAS: Final = 4166 -LVM_GETNUMBEROFWORKAREAS: Final = 4169 -LVM_GETSELECTIONMARK: Final = 4162 -LVM_SETSELECTIONMARK: Final = 4163 -LVM_SETHOVERTIME: Final = 4167 -LVM_GETHOVERTIME: Final = 4168 -LVM_SETTOOLTIPS: Final = 4170 -LVM_GETTOOLTIPS: Final = 4174 -LVBKIF_SOURCE_NONE: Final = 0 -LVBKIF_SOURCE_HBITMAP: Final = 1 -LVBKIF_SOURCE_URL: Final = 2 -LVBKIF_SOURCE_MASK: Final = 3 -LVBKIF_STYLE_NORMAL: Final = 0 -LVBKIF_STYLE_TILE: Final = 16 -LVBKIF_STYLE_MASK: Final = 16 -LVM_SETBKIMAGEA: Final = 4164 -LVM_SETBKIMAGEW: Final = 4234 -LVM_GETBKIMAGEA: Final = 4165 -LVM_GETBKIMAGEW: Final = 4235 -LVKF_ALT: Final = 1 -LVKF_CONTROL: Final = 2 -LVKF_SHIFT: Final = 4 -LVN_ITEMCHANGING: Final = -100 -LVN_ITEMCHANGED: Final = -101 -LVN_INSERTITEM: Final = -102 -LVN_DELETEITEM: Final = -103 -LVN_DELETEALLITEMS: Final = -104 -LVN_BEGINLABELEDITA: Final = -105 -LVN_BEGINLABELEDITW: Final = -175 -LVN_ENDLABELEDITA: Final = -106 -LVN_ENDLABELEDITW: Final = -176 -LVN_COLUMNCLICK: Final = -108 -LVN_BEGINDRAG: Final = -109 -LVN_BEGINRDRAG: Final = -111 -LVN_ODCACHEHINT: Final = -113 -LVN_ODFINDITEMA: Final = -152 -LVN_ODFINDITEMW: Final = -179 -LVN_ITEMACTIVATE: Final = -114 -LVN_ODSTATECHANGED: Final = -115 -LVN_ODFINDITEM: Final = LVN_ODFINDITEMA -LVN_HOTTRACK: Final = -121 -LVN_GETDISPINFOA: Final = -150 -LVN_GETDISPINFOW: Final = -177 -LVN_SETDISPINFOA: Final = -151 -LVN_SETDISPINFOW: Final = -178 -LVN_BEGINLABELEDIT: Final = LVN_BEGINLABELEDITA -LVN_ENDLABELEDIT: Final = LVN_ENDLABELEDITA -LVN_GETDISPINFO: Final = LVN_GETDISPINFOA -LVN_SETDISPINFO: Final = LVN_SETDISPINFOA -LVIF_DI_SETITEM: Final = 4096 -LVN_KEYDOWN: Final = -155 -LVN_MARQUEEBEGIN: Final = -156 -LVGIT_UNFOLDED: Final = 1 -LVN_GETINFOTIPA: Final = -157 -LVN_GETINFOTIPW: Final = -158 -LVN_GETINFOTIP: Final = LVN_GETINFOTIPA -WC_TREEVIEWA: Final = "SysTreeView32" -WC_TREEVIEW: Final = WC_TREEVIEWA -TVS_HASBUTTONS: Final = 1 -TVS_HASLINES: Final = 2 -TVS_LINESATROOT: Final = 4 -TVS_EDITLABELS: Final = 8 -TVS_DISABLEDRAGDROP: Final = 16 -TVS_SHOWSELALWAYS: Final = 32 -TVS_RTLREADING: Final = 64 -TVS_NOTOOLTIPS: Final = 128 -TVS_CHECKBOXES: Final = 256 -TVS_TRACKSELECT: Final = 512 -TVS_SINGLEEXPAND: Final = 1024 -TVS_INFOTIP: Final = 2048 -TVS_FULLROWSELECT: Final = 4096 -TVS_NOSCROLL: Final = 8192 -TVS_NONEVENHEIGHT: Final = 16384 -TVIF_TEXT: Final = 1 -TVIF_IMAGE: Final = 2 -TVIF_PARAM: Final = 4 -TVIF_STATE: Final = 8 -TVIF_HANDLE: Final = 16 -TVIF_SELECTEDIMAGE: Final = 32 -TVIF_CHILDREN: Final = 64 -TVIF_INTEGRAL: Final = 128 -TVIS_SELECTED: Final = 2 -TVIS_CUT: Final = 4 -TVIS_DROPHILITED: Final = 8 -TVIS_BOLD: Final = 16 -TVIS_EXPANDED: Final = 32 -TVIS_EXPANDEDONCE: Final = 64 -TVIS_EXPANDPARTIAL: Final = 128 -TVIS_OVERLAYMASK: Final = 3840 -TVIS_STATEIMAGEMASK: Final = 61440 -TVIS_USERMASK: Final = 61440 -I_CHILDRENCALLBACK: Final = -1 -TVI_ROOT: Final = -65536 -TVI_FIRST: Final = -65535 -TVI_LAST: Final = -65534 -TVI_SORT: Final = -65533 -TVM_INSERTITEMA: Final = 4352 -TVM_INSERTITEMW: Final = 4402 -TVM_INSERTITEM: Final = TVM_INSERTITEMA -TVM_DELETEITEM: Final = 4353 -TVM_EXPAND: Final = 4354 -TVE_COLLAPSE: Final = 1 -TVE_EXPAND: Final = 2 -TVE_TOGGLE: Final = 3 -TVE_EXPANDPARTIAL: Final = 16384 -TVE_COLLAPSERESET: Final = 32768 -TVM_GETITEMRECT: Final = 4356 -TVM_GETCOUNT: Final = 4357 -TVM_GETINDENT: Final = 4358 -TVM_SETINDENT: Final = 4359 -TVM_GETIMAGELIST: Final = 4360 -TVSIL_NORMAL: Final = 0 -TVSIL_STATE: Final = 2 -TVM_SETIMAGELIST: Final = 4361 -TVM_GETNEXTITEM: Final = 4362 -TVGN_ROOT: Final = 0 -TVGN_NEXT: Final = 1 -TVGN_PREVIOUS: Final = 2 -TVGN_PARENT: Final = 3 -TVGN_CHILD: Final = 4 -TVGN_FIRSTVISIBLE: Final = 5 -TVGN_NEXTVISIBLE: Final = 6 -TVGN_PREVIOUSVISIBLE: Final = 7 -TVGN_DROPHILITE: Final = 8 -TVGN_CARET: Final = 9 -TVGN_LASTVISIBLE: Final = 10 -TVM_SELECTITEM: Final = 4363 -TVM_GETITEMA: Final = 4364 -TVM_GETITEMW: Final = 4414 -TVM_GETITEM: Final = TVM_GETITEMA -TVM_SETITEMA: Final = 4365 -TVM_SETITEMW: Final = 4415 -TVM_SETITEM: Final = TVM_SETITEMA -TVM_EDITLABELA: Final = 4366 -TVM_EDITLABELW: Final = 4417 -TVM_EDITLABEL: Final = TVM_EDITLABELA -TVM_GETEDITCONTROL: Final = 4367 -TVM_GETVISIBLECOUNT: Final = 4368 -TVM_HITTEST: Final = 4369 -TVHT_NOWHERE: Final = 1 -TVHT_ONITEMICON: Final = 2 -TVHT_ONITEMLABEL: Final = 4 -TVHT_ONITEMINDENT: Final = 8 -TVHT_ONITEMBUTTON: Final = 16 -TVHT_ONITEMRIGHT: Final = 32 -TVHT_ONITEMSTATEICON: Final = 64 -TVHT_ABOVE: Final = 256 -TVHT_BELOW: Final = 512 -TVHT_TORIGHT: Final = 1024 -TVHT_TOLEFT: Final = 2048 -TVHT_ONITEM: Final = 70 -TVM_CREATEDRAGIMAGE: Final = 4370 -TVM_SORTCHILDREN: Final = 4371 -TVM_ENSUREVISIBLE: Final = 4372 -TVM_SORTCHILDRENCB: Final = 4373 -TVM_ENDEDITLABELNOW: Final = 4374 -TVM_GETISEARCHSTRINGA: Final = 4375 -TVM_GETISEARCHSTRINGW: Final = 4416 -TVM_GETISEARCHSTRING: Final = TVM_GETISEARCHSTRINGA -TVM_SETTOOLTIPS: Final = 4376 -TVM_GETTOOLTIPS: Final = 4377 -TVM_SETINSERTMARK: Final = 4378 -TVM_SETUNICODEFORMAT: Final = CCM_SETUNICODEFORMAT -TVM_GETUNICODEFORMAT: Final = CCM_GETUNICODEFORMAT -TVM_SETITEMHEIGHT: Final = 4379 -TVM_GETITEMHEIGHT: Final = 4380 -TVM_SETBKCOLOR: Final = 4381 -TVM_SETTEXTCOLOR: Final = 4382 -TVM_GETBKCOLOR: Final = 4383 -TVM_GETTEXTCOLOR: Final = 4384 -TVM_SETSCROLLTIME: Final = 4385 -TVM_GETSCROLLTIME: Final = 4386 -TVM_SETINSERTMARKCOLOR: Final = 4389 -TVM_GETINSERTMARKCOLOR: Final = 4390 -TVN_SELCHANGINGA: Final = -401 -TVN_SELCHANGINGW: Final = -450 -TVN_SELCHANGEDA: Final = -402 -TVN_SELCHANGEDW: Final = -451 -TVC_UNKNOWN: Final = 0 -TVC_BYMOUSE: Final = 1 -TVC_BYKEYBOARD: Final = 2 -TVN_GETDISPINFOA: Final = -403 -TVN_GETDISPINFOW: Final = -452 -TVN_SETDISPINFOA: Final = -404 -TVN_SETDISPINFOW: Final = -453 -TVIF_DI_SETITEM: Final = 4096 -TVN_ITEMEXPANDINGA: Final = -405 -TVN_ITEMEXPANDINGW: Final = -454 -TVN_ITEMEXPANDEDA: Final = -406 -TVN_ITEMEXPANDEDW: Final = -455 -TVN_BEGINDRAGA: Final = -407 -TVN_BEGINDRAGW: Final = -456 -TVN_BEGINRDRAGA: Final = -408 -TVN_BEGINRDRAGW: Final = -457 -TVN_DELETEITEMA: Final = -409 -TVN_DELETEITEMW: Final = -458 -TVN_BEGINLABELEDITA: Final = -410 -TVN_BEGINLABELEDITW: Final = -459 -TVN_ENDLABELEDITA: Final = -411 -TVN_ENDLABELEDITW: Final = -460 -TVN_KEYDOWN: Final = -412 -TVN_GETINFOTIPA: Final = -413 -TVN_GETINFOTIPW: Final = -414 -TVN_SINGLEEXPAND: Final = -415 -TVN_SELCHANGING: Final = TVN_SELCHANGINGA -TVN_SELCHANGED: Final = TVN_SELCHANGEDA -TVN_GETDISPINFO: Final = TVN_GETDISPINFOA -TVN_SETDISPINFO: Final = TVN_SETDISPINFOA -TVN_ITEMEXPANDING: Final = TVN_ITEMEXPANDINGA -TVN_ITEMEXPANDED: Final = TVN_ITEMEXPANDEDA -TVN_BEGINDRAG: Final = TVN_BEGINDRAGA -TVN_BEGINRDRAG: Final = TVN_BEGINRDRAGA -TVN_DELETEITEM: Final = TVN_DELETEITEMA -TVN_BEGINLABELEDIT: Final = TVN_BEGINLABELEDITA -TVN_ENDLABELEDIT: Final = TVN_ENDLABELEDITA -TVN_GETINFOTIP: Final = TVN_GETINFOTIPA -TVCDRF_NOIMAGES: Final = 65536 -WC_COMBOBOXEXA: Final = "ComboBoxEx32" -WC_COMBOBOXEX: Final = WC_COMBOBOXEXA -CBEIF_TEXT: Final = 1 -CBEIF_IMAGE: Final = 2 -CBEIF_SELECTEDIMAGE: Final = 4 -CBEIF_OVERLAY: Final = 8 -CBEIF_INDENT: Final = 16 -CBEIF_LPARAM: Final = 32 -CBEIF_DI_SETITEM: Final = 268435456 -CBEM_INSERTITEMA: Final = 1025 -CBEM_SETIMAGELIST: Final = 1026 -CBEM_GETIMAGELIST: Final = 1027 -CBEM_GETITEMA: Final = 1028 -CBEM_SETITEMA: Final = 1029 -CBEM_GETCOMBOCONTROL: Final = 1030 -CBEM_GETEDITCONTROL: Final = 1031 -CBEM_SETEXSTYLE: Final = 1032 -CBEM_SETEXTENDEDSTYLE: Final = 1038 -CBEM_GETEXSTYLE: Final = 1033 -CBEM_GETEXTENDEDSTYLE: Final = 1033 -CBEM_SETUNICODEFORMAT: Final = CCM_SETUNICODEFORMAT -CBEM_GETUNICODEFORMAT: Final = CCM_GETUNICODEFORMAT -CBEM_HASEDITCHANGED: Final = 1034 -CBEM_INSERTITEMW: Final = 1035 -CBEM_SETITEMW: Final = 1036 -CBEM_GETITEMW: Final = 1037 -CBEM_INSERTITEM: Final = CBEM_INSERTITEMA -CBEM_SETITEM: Final = CBEM_SETITEMA -CBEM_GETITEM: Final = CBEM_GETITEMA -CBES_EX_NOEDITIMAGE: Final = 1 -CBES_EX_NOEDITIMAGEINDENT: Final = 2 -CBES_EX_PATHWORDBREAKPROC: Final = 4 -CBES_EX_NOSIZELIMIT: Final = 8 -CBES_EX_CASESENSITIVE: Final = 16 -CBEN_GETDISPINFO: Final = -800 -CBEN_GETDISPINFOA: Final = -800 -CBEN_INSERTITEM: Final = -801 -CBEN_DELETEITEM: Final = -802 -CBEN_BEGINEDIT: Final = -804 -CBEN_ENDEDITA: Final = -805 -CBEN_ENDEDITW: Final = -806 -CBEN_GETDISPINFOW: Final = -807 -CBEN_DRAGBEGINA: Final = -808 -CBEN_DRAGBEGINW: Final = -809 -CBEN_DRAGBEGIN: Final = CBEN_DRAGBEGINA -CBEN_ENDEDIT: Final = CBEN_ENDEDITA -CBENF_KILLFOCUS: Final = 1 -CBENF_RETURN: Final = 2 -CBENF_ESCAPE: Final = 3 -CBENF_DROPDOWN: Final = 4 -CBEMAXSTRLEN: Final = 260 -WC_TABCONTROLA: Final = "SysTabControl32" -WC_TABCONTROL: Final = WC_TABCONTROLA -TCS_SCROLLOPPOSITE: Final = 1 -TCS_BOTTOM: Final = 2 -TCS_RIGHT: Final = 2 -TCS_MULTISELECT: Final = 4 -TCS_FLATBUTTONS: Final = 8 -TCS_FORCEICONLEFT: Final = 16 -TCS_FORCELABELLEFT: Final = 32 -TCS_HOTTRACK: Final = 64 -TCS_VERTICAL: Final = 128 -TCS_TABS: Final = 0 -TCS_BUTTONS: Final = 256 -TCS_SINGLELINE: Final = 0 -TCS_MULTILINE: Final = 512 -TCS_RIGHTJUSTIFY: Final = 0 -TCS_FIXEDWIDTH: Final = 1024 -TCS_RAGGEDRIGHT: Final = 2048 -TCS_FOCUSONBUTTONDOWN: Final = 4096 -TCS_OWNERDRAWFIXED: Final = 8192 -TCS_TOOLTIPS: Final = 16384 -TCS_FOCUSNEVER: Final = 32768 -TCS_EX_FLATSEPARATORS: Final = 1 -TCS_EX_REGISTERDROP: Final = 2 -TCM_GETIMAGELIST: Final = 4866 -TCM_SETIMAGELIST: Final = 4867 -TCM_GETITEMCOUNT: Final = 4868 -TCIF_TEXT: Final = 1 -TCIF_IMAGE: Final = 2 -TCIF_RTLREADING: Final = 4 -TCIF_PARAM: Final = 8 -TCIF_STATE: Final = 16 -TCIS_BUTTONPRESSED: Final = 1 -TCIS_HIGHLIGHTED: Final = 2 -TCM_GETITEMA: Final = 4869 -TCM_GETITEMW: Final = 4924 -TCM_GETITEM: Final = TCM_GETITEMA -TCM_SETITEMA: Final = 4870 -TCM_SETITEMW: Final = 4925 -TCM_SETITEM: Final = TCM_SETITEMA -TCM_INSERTITEMA: Final = 4871 -TCM_INSERTITEMW: Final = 4926 -TCM_INSERTITEM: Final = TCM_INSERTITEMA -TCM_DELETEITEM: Final = 4872 -TCM_DELETEALLITEMS: Final = 4873 -TCM_GETITEMRECT: Final = 4874 -TCM_GETCURSEL: Final = 4875 -TCM_SETCURSEL: Final = 4876 -TCHT_NOWHERE: Final = 1 -TCHT_ONITEMICON: Final = 2 -TCHT_ONITEMLABEL: Final = 4 -TCHT_ONITEM: Final = 6 -TCM_HITTEST: Final = 4877 -TCM_SETITEMEXTRA: Final = 4878 -TCM_ADJUSTRECT: Final = 4904 -TCM_SETITEMSIZE: Final = 4905 -TCM_REMOVEIMAGE: Final = 4906 -TCM_SETPADDING: Final = 4907 -TCM_GETROWCOUNT: Final = 4908 -TCM_GETTOOLTIPS: Final = 4909 -TCM_SETTOOLTIPS: Final = 4910 -TCM_GETCURFOCUS: Final = 4911 -TCM_SETCURFOCUS: Final = 4912 -TCM_SETMINTABWIDTH: Final = 4913 -TCM_DESELECTALL: Final = 4914 -TCM_HIGHLIGHTITEM: Final = 4915 -TCM_SETEXTENDEDSTYLE: Final = 4916 -TCM_GETEXTENDEDSTYLE: Final = 4917 -TCM_SETUNICODEFORMAT: Final = CCM_SETUNICODEFORMAT -TCM_GETUNICODEFORMAT: Final = CCM_GETUNICODEFORMAT -TCN_KEYDOWN: Final = -550 -ANIMATE_CLASSA: Final = "SysAnimate32" -ANIMATE_CLASS: Final = ANIMATE_CLASSA -ACS_CENTER: Final = 1 -ACS_TRANSPARENT: Final = 2 -ACS_AUTOPLAY: Final = 4 -ACS_TIMER: Final = 8 -ACM_OPENA: Final = 1124 -ACM_OPENW: Final = 1127 -ACM_OPEN: Final = ACM_OPENA -ACM_PLAY: Final = 1125 -ACM_STOP: Final = 1126 -ACN_START: Final = 1 -ACN_STOP: Final = 2 -MONTHCAL_CLASSA: Final = "SysMonthCal32" -MONTHCAL_CLASS: Final = MONTHCAL_CLASSA -MCM_FIRST: Final = 4096 -MCM_GETCURSEL: Final = 4097 -MCM_SETCURSEL: Final = 4098 -MCM_GETMAXSELCOUNT: Final = 4099 -MCM_SETMAXSELCOUNT: Final = 4100 -MCM_GETSELRANGE: Final = 4101 -MCM_SETSELRANGE: Final = 4102 -MCM_GETMONTHRANGE: Final = 4103 -MCM_SETDAYSTATE: Final = 4104 -MCM_GETMINREQRECT: Final = 4105 -MCM_SETCOLOR: Final = 4106 -MCM_GETCOLOR: Final = 4107 -MCSC_BACKGROUND: Final = 0 -MCSC_TEXT: Final = 1 -MCSC_TITLEBK: Final = 2 -MCSC_TITLETEXT: Final = 3 -MCSC_MONTHBK: Final = 4 -MCSC_TRAILINGTEXT: Final = 5 -MCM_SETTODAY: Final = 4108 -MCM_GETTODAY: Final = 4109 -MCM_HITTEST: Final = 4110 -MCHT_TITLE: Final = 65536 -MCHT_CALENDAR: Final = 131072 -MCHT_TODAYLINK: Final = 196608 -MCHT_NEXT: Final = 16777216 -MCHT_PREV: Final = 33554432 -MCHT_NOWHERE: Final = 0 -MCHT_TITLEBK: Final = MCHT_TITLE -MCHT_TITLEMONTH: Final = 65537 -MCHT_TITLEYEAR: Final = 65538 -MCHT_TITLEBTNNEXT: Final = 16842755 -MCHT_TITLEBTNPREV: Final = 33619971 -MCHT_CALENDARBK: Final = MCHT_CALENDAR -MCHT_CALENDARDATE: Final = 131073 -MCHT_CALENDARDATENEXT: Final = 16908289 -MCHT_CALENDARDATEPREV: Final = 33685505 -MCHT_CALENDARDAY: Final = 131074 -MCHT_CALENDARWEEKNUM: Final = 131075 -MCM_SETFIRSTDAYOFWEEK: Final = 4111 -MCM_GETFIRSTDAYOFWEEK: Final = 4112 -MCM_GETRANGE: Final = 4113 -MCM_SETRANGE: Final = 4114 -MCM_GETMONTHDELTA: Final = 4115 -MCM_SETMONTHDELTA: Final = 4116 -MCM_GETMAXTODAYWIDTH: Final = 4117 -MCM_SETUNICODEFORMAT: Final = CCM_SETUNICODEFORMAT -MCM_GETUNICODEFORMAT: Final = CCM_GETUNICODEFORMAT -MCN_SELCHANGE: Final = -749 -MCN_GETDAYSTATE: Final = -747 -MCN_SELECT: Final = -746 -MCS_DAYSTATE: Final = 1 -MCS_MULTISELECT: Final = 2 -MCS_WEEKNUMBERS: Final = 4 -MCS_NOTODAYCIRCLE: Final = 8 -MCS_NOTODAY: Final = 8 -GMR_VISIBLE: Final = 0 -GMR_DAYSTATE: Final = 1 -DATETIMEPICK_CLASSA: Final = "SysDateTimePick32" -DATETIMEPICK_CLASS: Final = DATETIMEPICK_CLASSA -DTM_FIRST: Final = 4096 -DTM_GETSYSTEMTIME: Final = 4097 -DTM_SETSYSTEMTIME: Final = 4098 -DTM_GETRANGE: Final = 4099 -DTM_SETRANGE: Final = 4100 -DTM_SETFORMATA: Final = 4101 -DTM_SETFORMATW: Final = 4146 -DTM_SETFORMAT: Final = DTM_SETFORMATA -DTM_SETMCCOLOR: Final = 4102 -DTM_GETMCCOLOR: Final = 4103 -DTM_GETMONTHCAL: Final = 4104 -DTM_SETMCFONT: Final = 4105 -DTM_GETMCFONT: Final = 4106 -DTS_UPDOWN: Final = 1 -DTS_SHOWNONE: Final = 2 -DTS_SHORTDATEFORMAT: Final = 0 -DTS_LONGDATEFORMAT: Final = 4 -DTS_TIMEFORMAT: Final = 9 -DTS_APPCANPARSE: Final = 16 -DTS_RIGHTALIGN: Final = 32 -DTN_DATETIMECHANGE: Final = -759 -DTN_USERSTRINGA: Final = -758 -DTN_USERSTRINGW: Final = -745 -DTN_USERSTRING: Final = DTN_USERSTRINGW -DTN_WMKEYDOWNA: Final = -757 -DTN_WMKEYDOWNW: Final = -744 -DTN_WMKEYDOWN: Final = DTN_WMKEYDOWNA -DTN_FORMATA: Final = -756 -DTN_FORMATW: Final = -743 -DTN_FORMAT: Final = DTN_FORMATA -DTN_FORMATQUERYA: Final = -755 -DTN_FORMATQUERYW: Final = -742 -DTN_FORMATQUERY: Final = DTN_FORMATQUERYA -DTN_DROPDOWN: Final = -754 -DTN_CLOSEUP: Final = -753 -GDTR_MIN: Final = 1 -GDTR_MAX: Final = 2 -GDT_ERROR: Final = -1 -GDT_VALID: Final = 0 -GDT_NONE: Final = 1 -IPM_CLEARADDRESS: Final = 1124 -IPM_SETADDRESS: Final = 1125 -IPM_GETADDRESS: Final = 1126 -IPM_SETRANGE: Final = 1127 -IPM_SETFOCUS: Final = 1128 -IPM_ISBLANK: Final = 1129 -WC_IPADDRESSA: Final = "SysIPAddress32" -WC_IPADDRESS: Final = WC_IPADDRESSA -IPN_FIELDCHANGED: Final = -860 -WC_PAGESCROLLERA: Final = "SysPager" -WC_PAGESCROLLER: Final = WC_PAGESCROLLERA -PGS_VERT: Final = 0 -PGS_HORZ: Final = 1 -PGS_AUTOSCROLL: Final = 2 -PGS_DRAGNDROP: Final = 4 -PGF_INVISIBLE: Final = 0 -PGF_NORMAL: Final = 1 -PGF_GRAYED: Final = 2 -PGF_DEPRESSED: Final = 4 -PGF_HOT: Final = 8 -PGB_TOPORLEFT: Final = 0 -PGB_BOTTOMORRIGHT: Final = 1 -PGM_SETCHILD: Final = 5121 -PGM_RECALCSIZE: Final = 5122 -PGM_FORWARDMOUSE: Final = 5123 -PGM_SETBKCOLOR: Final = 5124 -PGM_GETBKCOLOR: Final = 5125 -PGM_SETBORDER: Final = 5126 -PGM_GETBORDER: Final = 5127 -PGM_SETPOS: Final = 5128 -PGM_GETPOS: Final = 5129 -PGM_SETBUTTONSIZE: Final = 5130 -PGM_GETBUTTONSIZE: Final = 5131 -PGM_GETBUTTONSTATE: Final = 5132 -PGM_GETDROPTARGET: Final = CCM_GETDROPTARGET -PGN_SCROLL: Final = -901 -PGF_SCROLLUP: Final = 1 -PGF_SCROLLDOWN: Final = 2 -PGF_SCROLLLEFT: Final = 4 -PGF_SCROLLRIGHT: Final = 8 -PGK_SHIFT: Final = 1 -PGK_CONTROL: Final = 2 -PGK_MENU: Final = 4 -PGN_CALCSIZE: Final = -902 -PGF_CALCWIDTH: Final = 1 -PGF_CALCHEIGHT: Final = 2 -WC_NATIVEFONTCTLA: Final = "NativeFontCtl" -WC_NATIVEFONTCTL: Final = WC_NATIVEFONTCTLA -NFS_EDIT: Final = 1 -NFS_STATIC: Final = 2 -NFS_LISTCOMBO: Final = 4 -NFS_BUTTON: Final = 8 -NFS_ALL: Final = 16 -WM_MOUSEHOVER: Final = 673 -WM_MOUSELEAVE: Final = 675 -TME_HOVER: Final = 1 -TME_LEAVE: Final = 2 -TME_QUERY: Final = 1073741824 -TME_CANCEL: Final = -2147483648 -HOVER_DEFAULT: Final = -1 -WSB_PROP_CYVSCROLL: Final = 0x00000001 -WSB_PROP_CXHSCROLL: Final = 0x00000002 -WSB_PROP_CYHSCROLL: Final = 0x00000004 -WSB_PROP_CXVSCROLL: Final = 0x00000008 -WSB_PROP_CXHTHUMB: Final = 0x00000010 -WSB_PROP_CYVTHUMB: Final = 0x00000020 -WSB_PROP_VBKGCOLOR: Final = 0x00000040 -WSB_PROP_HBKGCOLOR: Final = 0x00000080 -WSB_PROP_VSTYLE: Final = 0x00000100 -WSB_PROP_HSTYLE: Final = 0x00000200 -WSB_PROP_WINSTYLE: Final = 0x00000400 -WSB_PROP_PALETTE: Final = 0x00000800 -WSB_PROP_MASK: Final = 0x00000FFF -FSB_FLAT_MODE: Final = 2 -FSB_ENCARTA_MODE: Final = 1 -FSB_REGULAR_MODE: Final = 0 +WM_USER: int +ICC_LISTVIEW_CLASSES: int +ICC_TREEVIEW_CLASSES: int +ICC_BAR_CLASSES: int +ICC_TAB_CLASSES: int +ICC_UPDOWN_CLASS: int +ICC_PROGRESS_CLASS: int +ICC_HOTKEY_CLASS: int +ICC_ANIMATE_CLASS: int +ICC_WIN95_CLASSES: int +ICC_DATE_CLASSES: int +ICC_USEREX_CLASSES: int +ICC_COOL_CLASSES: int +ICC_INTERNET_CLASSES: int +ICC_PAGESCROLLER_CLASS: int +ICC_NATIVEFNTCTL_CLASS: int +ODT_HEADER: int +ODT_TAB: int +ODT_LISTVIEW: int +PY_0U: int +NM_FIRST: int +NM_LAST: Incomplete +LVN_FIRST: Incomplete +LVN_LAST: Incomplete +HDN_FIRST: Incomplete +HDN_LAST: Incomplete +TVN_FIRST: Incomplete +TVN_LAST: Incomplete +TTN_FIRST: Incomplete +TTN_LAST: Incomplete +TCN_FIRST: Incomplete +TCN_LAST: Incomplete +CDN_FIRST: Incomplete +CDN_LAST: Incomplete +TBN_FIRST: Incomplete +TBN_LAST: Incomplete +UDN_FIRST: Incomplete +UDN_LAST: Incomplete +MCN_FIRST: Incomplete +MCN_LAST: Incomplete +DTN_FIRST: Incomplete +DTN_LAST: Incomplete +CBEN_FIRST: Incomplete +CBEN_LAST: Incomplete +RBN_FIRST: Incomplete +RBN_LAST: Incomplete +IPN_FIRST: Incomplete +IPN_LAST: Incomplete +SBN_FIRST: Incomplete +SBN_LAST: Incomplete +PGN_FIRST: Incomplete +PGN_LAST: Incomplete +LVM_FIRST: int +TV_FIRST: int +HDM_FIRST: int +TCM_FIRST: int +PGM_FIRST: int +CCM_FIRST: int +CCM_SETBKCOLOR: Incomplete +CCM_SETCOLORSCHEME: Incomplete +CCM_GETCOLORSCHEME: Incomplete +CCM_GETDROPTARGET: Incomplete +CCM_SETUNICODEFORMAT: Incomplete +CCM_GETUNICODEFORMAT: Incomplete +INFOTIPSIZE: int +NM_OUTOFMEMORY: Incomplete +NM_CLICK: Incomplete +NM_DBLCLK: Incomplete +NM_RETURN: Incomplete +NM_RCLICK: Incomplete +NM_RDBLCLK: Incomplete +NM_SETFOCUS: Incomplete +NM_KILLFOCUS: Incomplete +NM_CUSTOMDRAW: Incomplete +NM_HOVER: Incomplete +NM_NCHITTEST: Incomplete +NM_KEYDOWN: Incomplete +NM_RELEASEDCAPTURE: Incomplete +NM_SETCURSOR: Incomplete +NM_CHAR: Incomplete +MSGF_COMMCTRL_BEGINDRAG: int +MSGF_COMMCTRL_SIZEHEADER: int +MSGF_COMMCTRL_DRAGSELECT: int +MSGF_COMMCTRL_TOOLBARCUST: int +CDRF_DODEFAULT: int +CDRF_NEWFONT: int +CDRF_SKIPDEFAULT: int +CDRF_NOTIFYPOSTPAINT: int +CDRF_NOTIFYITEMDRAW: int +CDRF_NOTIFYSUBITEMDRAW: int +CDRF_NOTIFYPOSTERASE: int +CDDS_PREPAINT: int +CDDS_POSTPAINT: int +CDDS_PREERASE: int +CDDS_POSTERASE: int +CDDS_ITEM: int +CDDS_ITEMPREPAINT: Incomplete +CDDS_ITEMPOSTPAINT: Incomplete +CDDS_ITEMPREERASE: Incomplete +CDDS_ITEMPOSTERASE: Incomplete +CDDS_SUBITEM: int +CDIS_SELECTED: int +CDIS_GRAYED: int +CDIS_DISABLED: int +CDIS_CHECKED: int +CDIS_FOCUS: int +CDIS_DEFAULT: int +CDIS_HOT: int +CDIS_MARKED: int +CDIS_INDETERMINATE: int +CLR_NONE: int +CLR_DEFAULT: int +ILC_MASK: int +ILC_COLOR: int +ILC_COLORDDB: int +ILC_COLOR4: int +ILC_COLOR8: int +ILC_COLOR16: int +ILC_COLOR24: int +ILC_COLOR32: int +ILC_PALETTE: int +ILD_NORMAL: int +ILD_TRANSPARENT: int +ILD_MASK: int +ILD_IMAGE: int +ILD_ROP: int +ILD_BLEND25: int +ILD_BLEND50: int +ILD_OVERLAYMASK: int +ILD_SELECTED: int +ILD_FOCUS: int +ILD_BLEND: int +CLR_HILIGHT: int +ILCF_MOVE: int +ILCF_SWAP: int +WC_HEADERA: str +WC_HEADER: str +HDS_HORZ: int +HDS_BUTTONS: int +HDS_HOTTRACK: int +HDS_HIDDEN: int +HDS_DRAGDROP: int +HDS_FULLDRAG: int +HDI_WIDTH: int +HDI_HEIGHT: int +HDI_TEXT: int +HDI_FORMAT: int +HDI_LPARAM: int +HDI_BITMAP: int +HDI_IMAGE: int +HDI_DI_SETITEM: int +HDI_ORDER: int +HDF_LEFT: int +HDF_RIGHT: int +HDF_CENTER: int +HDF_JUSTIFYMASK: int +HDF_RTLREADING: int +HDF_OWNERDRAW: int +HDF_STRING: int +HDF_BITMAP: int +HDF_BITMAP_ON_RIGHT: int +HDF_IMAGE: int +HDM_GETITEMCOUNT: Incomplete +HDM_INSERTITEMA: Incomplete +HDM_INSERTITEMW: Incomplete +HDM_INSERTITEM: Incomplete +HDM_DELETEITEM: Incomplete +HDM_GETITEMA: Incomplete +HDM_GETITEMW: Incomplete +HDM_GETITEM: Incomplete +HDM_SETITEMA: Incomplete +HDM_SETITEMW: Incomplete +HDM_SETITEM: Incomplete +HDM_LAYOUT: Incomplete +HHT_NOWHERE: int +HHT_ONHEADER: int +HHT_ONDIVIDER: int +HHT_ONDIVOPEN: int +HHT_ABOVE: int +HHT_BELOW: int +HHT_TORIGHT: int +HHT_TOLEFT: int +HDM_HITTEST: Incomplete +HDM_GETITEMRECT: Incomplete +HDM_SETIMAGELIST: Incomplete +HDM_GETIMAGELIST: Incomplete +HDM_ORDERTOINDEX: Incomplete +HDM_CREATEDRAGIMAGE: Incomplete +HDM_GETORDERARRAY: Incomplete +HDM_SETORDERARRAY: Incomplete +HDM_SETHOTDIVIDER: Incomplete +HDM_SETUNICODEFORMAT: Incomplete +HDM_GETUNICODEFORMAT: Incomplete +HDN_ITEMCHANGINGA: Incomplete +HDN_ITEMCHANGINGW: Incomplete +HDN_ITEMCHANGEDA: Incomplete +HDN_ITEMCHANGEDW: Incomplete +HDN_ITEMCLICKA: Incomplete +HDN_ITEMCLICKW: Incomplete +HDN_ITEMDBLCLICKA: Incomplete +HDN_ITEMDBLCLICKW: Incomplete +HDN_DIVIDERDBLCLICKA: Incomplete +HDN_DIVIDERDBLCLICKW: Incomplete +HDN_BEGINTRACKA: Incomplete +HDN_BEGINTRACKW: Incomplete +HDN_ENDTRACKA: Incomplete +HDN_ENDTRACKW: Incomplete +HDN_TRACKA: Incomplete +HDN_TRACKW: Incomplete +HDN_GETDISPINFOA: Incomplete +HDN_GETDISPINFOW: Incomplete +HDN_BEGINDRAG: Incomplete +HDN_ENDDRAG: Incomplete +HDN_ITEMCHANGING: Incomplete +HDN_ITEMCHANGED: Incomplete +HDN_ITEMCLICK: Incomplete +HDN_ITEMDBLCLICK: Incomplete +HDN_DIVIDERDBLCLICK: Incomplete +HDN_BEGINTRACK: Incomplete +HDN_ENDTRACK: Incomplete +HDN_TRACK: Incomplete +HDN_GETDISPINFO: Incomplete +TOOLBARCLASSNAMEA: str +TOOLBARCLASSNAME: str +CMB_MASKED: int +TBSTATE_CHECKED: int +TBSTATE_PRESSED: int +TBSTATE_ENABLED: int +TBSTATE_HIDDEN: int +TBSTATE_INDETERMINATE: int +TBSTATE_WRAP: int +TBSTATE_ELLIPSES: int +TBSTATE_MARKED: int +TBSTYLE_BUTTON: int +TBSTYLE_SEP: int +TBSTYLE_CHECK: int +TBSTYLE_GROUP: int +TBSTYLE_CHECKGROUP: Incomplete +TBSTYLE_DROPDOWN: int +TBSTYLE_AUTOSIZE: int +TBSTYLE_NOPREFIX: int +TBSTYLE_TOOLTIPS: int +TBSTYLE_WRAPABLE: int +TBSTYLE_ALTDRAG: int +TBSTYLE_FLAT: int +TBSTYLE_LIST: int +TBSTYLE_CUSTOMERASE: int +TBSTYLE_REGISTERDROP: int +TBSTYLE_TRANSPARENT: int +TBSTYLE_EX_DRAWDDARROWS: int +BTNS_BUTTON: int +BTNS_SEP: int +BTNS_CHECK: int +BTNS_GROUP: int +BTNS_CHECKGROUP: Incomplete +BTNS_DROPDOWN: int +BTNS_AUTOSIZE: int +BTNS_NOPREFIX: int +BTNS_SHOWTEXT: int +BTNS_WHOLEDROPDOWN: int +TBCDRF_NOEDGES: int +TBCDRF_HILITEHOTTRACK: int +TBCDRF_NOOFFSET: int +TBCDRF_NOMARK: int +TBCDRF_NOETCHEDEFFECT: int +TB_ENABLEBUTTON: Incomplete +TB_CHECKBUTTON: Incomplete +TB_PRESSBUTTON: Incomplete +TB_HIDEBUTTON: Incomplete +TB_INDETERMINATE: Incomplete +TB_MARKBUTTON: Incomplete +TB_ISBUTTONENABLED: Incomplete +TB_ISBUTTONCHECKED: Incomplete +TB_ISBUTTONPRESSED: Incomplete +TB_ISBUTTONHIDDEN: Incomplete +TB_ISBUTTONINDETERMINATE: Incomplete +TB_ISBUTTONHIGHLIGHTED: Incomplete +TB_SETSTATE: Incomplete +TB_GETSTATE: Incomplete +TB_ADDBITMAP: Incomplete +HINST_COMMCTRL: int +IDB_STD_SMALL_COLOR: int +IDB_STD_LARGE_COLOR: int +IDB_VIEW_SMALL_COLOR: int +IDB_VIEW_LARGE_COLOR: int +IDB_HIST_SMALL_COLOR: int +IDB_HIST_LARGE_COLOR: int +STD_CUT: int +STD_COPY: int +STD_PASTE: int +STD_UNDO: int +STD_REDOW: int +STD_DELETE: int +STD_FILENEW: int +STD_FILEOPEN: int +STD_FILESAVE: int +STD_PRINTPRE: int +STD_PROPERTIES: int +STD_HELP: int +STD_FIND: int +STD_REPLACE: int +STD_PRINT: int +VIEW_LARGEICONS: int +VIEW_SMALLICONS: int +VIEW_LIST: int +VIEW_DETAILS: int +VIEW_SORTNAME: int +VIEW_SORTSIZE: int +VIEW_SORTDATE: int +VIEW_SORTTYPE: int +VIEW_PARENTFOLDER: int +VIEW_NETCONNECT: int +VIEW_NETDISCONNECT: int +VIEW_NEWFOLDER: int +VIEW_VIEWMENU: int +HIST_BACK: int +HIST_FORWARD: int +HIST_FAVORITES: int +HIST_ADDTOFAVORITES: int +HIST_VIEWTREE: int +TB_ADDBUTTONSA: Incomplete +TB_INSERTBUTTONA: Incomplete +TB_ADDBUTTONS: Incomplete +TB_INSERTBUTTON: Incomplete +TB_DELETEBUTTON: Incomplete +TB_GETBUTTON: Incomplete +TB_BUTTONCOUNT: Incomplete +TB_COMMANDTOINDEX: Incomplete +TB_SAVERESTOREA: Incomplete +TB_SAVERESTOREW: Incomplete +TB_CUSTOMIZE: Incomplete +TB_ADDSTRINGA: Incomplete +TB_ADDSTRINGW: Incomplete +TB_GETITEMRECT: Incomplete +TB_BUTTONSTRUCTSIZE: Incomplete +TB_SETBUTTONSIZE: Incomplete +TB_SETBITMAPSIZE: Incomplete +TB_AUTOSIZE: Incomplete +TB_GETTOOLTIPS: Incomplete +TB_SETTOOLTIPS: Incomplete +TB_SETPARENT: Incomplete +TB_SETROWS: Incomplete +TB_GETROWS: Incomplete +TB_SETCMDID: Incomplete +TB_CHANGEBITMAP: Incomplete +TB_GETBITMAP: Incomplete +TB_GETBUTTONTEXTA: Incomplete +TB_GETBUTTONTEXTW: Incomplete +TB_REPLACEBITMAP: Incomplete +TB_SETINDENT: Incomplete +TB_SETIMAGELIST: Incomplete +TB_GETIMAGELIST: Incomplete +TB_LOADIMAGES: Incomplete +TB_GETRECT: Incomplete +TB_SETHOTIMAGELIST: Incomplete +TB_GETHOTIMAGELIST: Incomplete +TB_SETDISABLEDIMAGELIST: Incomplete +TB_GETDISABLEDIMAGELIST: Incomplete +TB_SETSTYLE: Incomplete +TB_GETSTYLE: Incomplete +TB_GETBUTTONSIZE: Incomplete +TB_SETBUTTONWIDTH: Incomplete +TB_SETMAXTEXTROWS: Incomplete +TB_GETTEXTROWS: Incomplete +TB_GETBUTTONTEXT: Incomplete +TB_SAVERESTORE: Incomplete +TB_ADDSTRING: Incomplete +TB_GETOBJECT: Incomplete +TB_GETHOTITEM: Incomplete +TB_SETHOTITEM: Incomplete +TB_SETANCHORHIGHLIGHT: Incomplete +TB_GETANCHORHIGHLIGHT: Incomplete +TB_MAPACCELERATORA: Incomplete +TBIMHT_AFTER: int +TBIMHT_BACKGROUND: int +TB_GETINSERTMARK: Incomplete +TB_SETINSERTMARK: Incomplete +TB_INSERTMARKHITTEST: Incomplete +TB_MOVEBUTTON: Incomplete +TB_GETMAXSIZE: Incomplete +TB_SETEXTENDEDSTYLE: Incomplete +TB_GETEXTENDEDSTYLE: Incomplete +TB_GETPADDING: Incomplete +TB_SETPADDING: Incomplete +TB_SETINSERTMARKCOLOR: Incomplete +TB_GETINSERTMARKCOLOR: Incomplete +TB_SETCOLORSCHEME: Incomplete +TB_GETCOLORSCHEME: Incomplete +TB_SETUNICODEFORMAT: Incomplete +TB_GETUNICODEFORMAT: Incomplete +TB_MAPACCELERATORW: Incomplete +TB_MAPACCELERATOR: Incomplete +TBBF_LARGE: int +TB_GETBITMAPFLAGS: Incomplete +TBIF_IMAGE: int +TBIF_TEXT: int +TBIF_STATE: int +TBIF_STYLE: int +TBIF_LPARAM: int +TBIF_COMMAND: int +TBIF_SIZE: int +TB_GETBUTTONINFOW: Incomplete +TB_SETBUTTONINFOW: Incomplete +TB_GETBUTTONINFOA: Incomplete +TB_SETBUTTONINFOA: Incomplete +TB_INSERTBUTTONW: Incomplete +TB_ADDBUTTONSW: Incomplete +TB_HITTEST: Incomplete +TB_SETDRAWTEXTFLAGS: Incomplete +TBN_GETBUTTONINFOA: Incomplete +TBN_GETBUTTONINFOW: Incomplete +TBN_BEGINDRAG: Incomplete +TBN_ENDDRAG: Incomplete +TBN_BEGINADJUST: Incomplete +TBN_ENDADJUST: Incomplete +TBN_RESET: Incomplete +TBN_QUERYINSERT: Incomplete +TBN_QUERYDELETE: Incomplete +TBN_TOOLBARCHANGE: Incomplete +TBN_CUSTHELP: Incomplete +TBN_DROPDOWN: Incomplete +TBN_GETOBJECT: Incomplete +HICF_OTHER: int +HICF_MOUSE: int +HICF_ARROWKEYS: int +HICF_ACCELERATOR: int +HICF_DUPACCEL: int +HICF_ENTERING: int +HICF_LEAVING: int +HICF_RESELECT: int +TBN_HOTITEMCHANGE: Incomplete +TBN_DRAGOUT: Incomplete +TBN_DELETINGBUTTON: Incomplete +TBN_GETDISPINFOA: Incomplete +TBN_GETDISPINFOW: Incomplete +TBN_GETINFOTIPA: Incomplete +TBN_GETINFOTIPW: Incomplete +TBN_GETINFOTIP: Incomplete +TBNF_IMAGE: int +TBNF_TEXT: int +TBNF_DI_SETITEM: int +TBN_GETDISPINFO: Incomplete +TBDDRET_DEFAULT: int +TBDDRET_NODEFAULT: int +TBDDRET_TREATPRESSED: int +TBN_GETBUTTONINFO: Incomplete +REBARCLASSNAMEA: str +REBARCLASSNAME: str +RBIM_IMAGELIST: int +RBS_TOOLTIPS: int +RBS_VARHEIGHT: int +RBS_BANDBORDERS: int +RBS_FIXEDORDER: int +RBS_REGISTERDROP: int +RBS_AUTOSIZE: int +RBS_VERTICALGRIPPER: int +RBS_DBLCLKTOGGLE: int +RBBS_BREAK: int +RBBS_FIXEDSIZE: int +RBBS_CHILDEDGE: int +RBBS_HIDDEN: int +RBBS_NOVERT: int +RBBS_FIXEDBMP: int +RBBS_VARIABLEHEIGHT: int +RBBS_GRIPPERALWAYS: int +RBBS_NOGRIPPER: int +RBBIM_STYLE: int +RBBIM_COLORS: int +RBBIM_TEXT: int +RBBIM_IMAGE: int +RBBIM_CHILD: int +RBBIM_CHILDSIZE: int +RBBIM_SIZE: int +RBBIM_BACKGROUND: int +RBBIM_ID: int +RBBIM_IDEALSIZE: int +RBBIM_LPARAM: int +RB_INSERTBANDA: Incomplete +RB_DELETEBAND: Incomplete +RB_GETBARINFO: Incomplete +RB_SETBARINFO: Incomplete +RB_SETBANDINFOA: Incomplete +RB_SETPARENT: Incomplete +RB_HITTEST: Incomplete +RB_GETRECT: Incomplete +RB_INSERTBANDW: Incomplete +RB_SETBANDINFOW: Incomplete +RB_GETBANDCOUNT: Incomplete +RB_GETROWCOUNT: Incomplete +RB_GETROWHEIGHT: Incomplete +RB_IDTOINDEX: Incomplete +RB_GETTOOLTIPS: Incomplete +RB_SETTOOLTIPS: Incomplete +RB_SETBKCOLOR: Incomplete +RB_GETBKCOLOR: Incomplete +RB_SETTEXTCOLOR: Incomplete +RB_GETTEXTCOLOR: Incomplete +RB_SIZETORECT: Incomplete +RB_SETCOLORSCHEME: Incomplete +RB_GETCOLORSCHEME: Incomplete +RB_INSERTBAND: Incomplete +RB_SETBANDINFO: Incomplete +RB_BEGINDRAG: Incomplete +RB_ENDDRAG: Incomplete +RB_DRAGMOVE: Incomplete +RB_GETBARHEIGHT: Incomplete +RB_GETBANDINFOW: Incomplete +RB_GETBANDINFOA: Incomplete +RB_GETBANDINFO: Incomplete +RB_MINIMIZEBAND: Incomplete +RB_MAXIMIZEBAND: Incomplete +RB_GETDROPTARGET: Incomplete +RB_GETBANDBORDERS: Incomplete +RB_SHOWBAND: Incomplete +RB_SETPALETTE: Incomplete +RB_GETPALETTE: Incomplete +RB_MOVEBAND: Incomplete +RB_SETUNICODEFORMAT: Incomplete +RB_GETUNICODEFORMAT: Incomplete +RBN_HEIGHTCHANGE: Incomplete +RBN_GETOBJECT: Incomplete +RBN_LAYOUTCHANGED: Incomplete +RBN_AUTOSIZE: Incomplete +RBN_BEGINDRAG: Incomplete +RBN_ENDDRAG: Incomplete +RBN_DELETINGBAND: Incomplete +RBN_DELETEDBAND: Incomplete +RBN_CHILDSIZE: Incomplete +RBNM_ID: int +RBNM_STYLE: int +RBNM_LPARAM: int +RBHT_NOWHERE: int +RBHT_CAPTION: int +RBHT_CLIENT: int +RBHT_GRABBER: int +TOOLTIPS_CLASSA: str +TOOLTIPS_CLASS: str +TTS_ALWAYSTIP: int +TTS_NOPREFIX: int +TTF_IDISHWND: int +TTF_CENTERTIP: int +TTF_RTLREADING: int +TTF_SUBCLASS: int +TTF_TRACK: int +TTF_ABSOLUTE: int +TTF_TRANSPARENT: int +TTF_DI_SETITEM: int +TTDT_AUTOMATIC: int +TTDT_RESHOW: int +TTDT_AUTOPOP: int +TTDT_INITIAL: int +TTM_ACTIVATE: Incomplete +TTM_SETDELAYTIME: Incomplete +TTM_ADDTOOLA: Incomplete +TTM_ADDTOOLW: Incomplete +TTM_DELTOOLA: Incomplete +TTM_DELTOOLW: Incomplete +TTM_NEWTOOLRECTA: Incomplete +TTM_NEWTOOLRECTW: Incomplete +TTM_RELAYEVENT: Incomplete +TTM_GETTOOLINFOA: Incomplete +TTM_GETTOOLINFOW: Incomplete +TTM_SETTOOLINFOA: Incomplete +TTM_SETTOOLINFOW: Incomplete +TTM_HITTESTA: Incomplete +TTM_HITTESTW: Incomplete +TTM_GETTEXTA: Incomplete +TTM_GETTEXTW: Incomplete +TTM_UPDATETIPTEXTA: Incomplete +TTM_UPDATETIPTEXTW: Incomplete +TTM_GETTOOLCOUNT: Incomplete +TTM_ENUMTOOLSA: Incomplete +TTM_ENUMTOOLSW: Incomplete +TTM_GETCURRENTTOOLA: Incomplete +TTM_GETCURRENTTOOLW: Incomplete +TTM_WINDOWFROMPOINT: Incomplete +TTM_TRACKACTIVATE: Incomplete +TTM_TRACKPOSITION: Incomplete +TTM_SETTIPBKCOLOR: Incomplete +TTM_SETTIPTEXTCOLOR: Incomplete +TTM_GETDELAYTIME: Incomplete +TTM_GETTIPBKCOLOR: Incomplete +TTM_GETTIPTEXTCOLOR: Incomplete +TTM_SETMAXTIPWIDTH: Incomplete +TTM_GETMAXTIPWIDTH: Incomplete +TTM_SETMARGIN: Incomplete +TTM_GETMARGIN: Incomplete +TTM_POP: Incomplete +TTM_UPDATE: Incomplete +TTM_ADDTOOL: Incomplete +TTM_DELTOOL: Incomplete +TTM_NEWTOOLRECT: Incomplete +TTM_GETTOOLINFO: Incomplete +TTM_SETTOOLINFO: Incomplete +TTM_HITTEST: Incomplete +TTM_GETTEXT: Incomplete +TTM_UPDATETIPTEXT: Incomplete +TTM_ENUMTOOLS: Incomplete +TTM_GETCURRENTTOOL: Incomplete +TTN_GETDISPINFOA: Incomplete +TTN_GETDISPINFOW: Incomplete +TTN_SHOW: Incomplete +TTN_POP: Incomplete +TTN_GETDISPINFO: Incomplete +TTN_NEEDTEXT: Incomplete +TTN_NEEDTEXTA: Incomplete +TTN_NEEDTEXTW: Incomplete +SBARS_SIZEGRIP: int +SBARS_TOOLTIPS: int +STATUSCLASSNAMEA: str +STATUSCLASSNAME: str +SB_SETTEXTA: Incomplete +SB_SETTEXTW: Incomplete +SB_GETTEXTA: Incomplete +SB_GETTEXTW: Incomplete +SB_GETTEXTLENGTHA: Incomplete +SB_GETTEXTLENGTHW: Incomplete +SB_GETTEXT: Incomplete +SB_SETTEXT: Incomplete +SB_GETTEXTLENGTH: Incomplete +SB_SETPARTS: Incomplete +SB_GETPARTS: Incomplete +SB_GETBORDERS: Incomplete +SB_SETMINHEIGHT: Incomplete +SB_SIMPLE: Incomplete +SB_GETRECT: Incomplete +SB_ISSIMPLE: Incomplete +SB_SETICON: Incomplete +SB_SETTIPTEXTA: Incomplete +SB_SETTIPTEXTW: Incomplete +SB_GETTIPTEXTA: Incomplete +SB_GETTIPTEXTW: Incomplete +SB_GETICON: Incomplete +SB_SETTIPTEXT: Incomplete +SB_GETTIPTEXT: Incomplete +SB_SETUNICODEFORMAT: Incomplete +SB_GETUNICODEFORMAT: Incomplete +SBT_OWNERDRAW: int +SBT_NOBORDERS: int +SBT_POPOUT: int +SBT_RTLREADING: int +SBT_NOTABPARSING: int +SBT_TOOLTIPS: int +SB_SETBKCOLOR: Incomplete +SBN_SIMPLEMODECHANGE: Incomplete +TRACKBAR_CLASSA: str +TRACKBAR_CLASS: str +TBS_AUTOTICKS: int +TBS_VERT: int +TBS_HORZ: int +TBS_TOP: int +TBS_BOTTOM: int +TBS_LEFT: int +TBS_RIGHT: int +TBS_BOTH: int +TBS_NOTICKS: int +TBS_ENABLESELRANGE: int +TBS_FIXEDLENGTH: int +TBS_NOTHUMB: int +TBS_TOOLTIPS: int +TBM_GETPOS: int +TBM_GETRANGEMIN: Incomplete +TBM_GETRANGEMAX: Incomplete +TBM_GETTIC: Incomplete +TBM_SETTIC: Incomplete +TBM_SETPOS: Incomplete +TBM_SETRANGE: Incomplete +TBM_SETRANGEMIN: Incomplete +TBM_SETRANGEMAX: Incomplete +TBM_CLEARTICS: Incomplete +TBM_SETSEL: Incomplete +TBM_SETSELSTART: Incomplete +TBM_SETSELEND: Incomplete +TBM_GETPTICS: Incomplete +TBM_GETTICPOS: Incomplete +TBM_GETNUMTICS: Incomplete +TBM_GETSELSTART: Incomplete +TBM_GETSELEND: Incomplete +TBM_CLEARSEL: Incomplete +TBM_SETTICFREQ: Incomplete +TBM_SETPAGESIZE: Incomplete +TBM_GETPAGESIZE: Incomplete +TBM_SETLINESIZE: Incomplete +TBM_GETLINESIZE: Incomplete +TBM_GETTHUMBRECT: Incomplete +TBM_GETCHANNELRECT: Incomplete +TBM_SETTHUMBLENGTH: Incomplete +TBM_GETTHUMBLENGTH: Incomplete +TBM_SETTOOLTIPS: Incomplete +TBM_GETTOOLTIPS: Incomplete +TBM_SETTIPSIDE: Incomplete +TBTS_TOP: int +TBTS_LEFT: int +TBTS_BOTTOM: int +TBTS_RIGHT: int +TBM_SETBUDDY: Incomplete +TBM_GETBUDDY: Incomplete +TBM_SETUNICODEFORMAT: Incomplete +TBM_GETUNICODEFORMAT: Incomplete +TB_LINEUP: int +TB_LINEDOWN: int +TB_PAGEUP: int +TB_PAGEDOWN: int +TB_THUMBPOSITION: int +TB_THUMBTRACK: int +TB_TOP: int +TB_BOTTOM: int +TB_ENDTRACK: int +TBCD_TICS: int +TBCD_THUMB: int +TBCD_CHANNEL: int +DL_BEGINDRAG: Incomplete +DL_DRAGGING: Incomplete +DL_DROPPED: Incomplete +DL_CANCELDRAG: Incomplete +DL_CURSORSET: int +DL_STOPCURSOR: int +DL_COPYCURSOR: int +DL_MOVECURSOR: int +DRAGLISTMSGSTRING: str +UPDOWN_CLASSA: str +UPDOWN_CLASS: str +UD_MAXVAL: int +UD_MINVAL: Incomplete +UDS_WRAP: int +UDS_SETBUDDYINT: int +UDS_ALIGNRIGHT: int +UDS_ALIGNLEFT: int +UDS_AUTOBUDDY: int +UDS_ARROWKEYS: int +UDS_HORZ: int +UDS_NOTHOUSANDS: int +UDS_HOTTRACK: int +UDM_SETRANGE: Incomplete +UDM_GETRANGE: Incomplete +UDM_SETPOS: Incomplete +UDM_GETPOS: Incomplete +UDM_SETBUDDY: Incomplete +UDM_GETBUDDY: Incomplete +UDM_SETACCEL: Incomplete +UDM_GETACCEL: Incomplete +UDM_SETBASE: Incomplete +UDM_GETBASE: Incomplete +UDM_SETRANGE32: Incomplete +UDM_GETRANGE32: Incomplete +UDM_SETUNICODEFORMAT: Incomplete +UDM_GETUNICODEFORMAT: Incomplete +UDN_DELTAPOS: Incomplete +PROGRESS_CLASSA: str +PROGRESS_CLASS: str +PBS_SMOOTH: int +PBS_VERTICAL: int +PBM_SETRANGE: Incomplete +PBM_SETPOS: Incomplete +PBM_DELTAPOS: Incomplete +PBM_SETSTEP: Incomplete +PBM_STEPIT: Incomplete +PBM_SETRANGE32: Incomplete +PBM_GETRANGE: Incomplete +PBM_GETPOS: Incomplete +PBM_SETBARCOLOR: Incomplete +PBM_SETBKCOLOR: Incomplete +HOTKEYF_SHIFT: int +HOTKEYF_CONTROL: int +HOTKEYF_ALT: int +HOTKEYF_EXT: int +HKCOMB_NONE: int +HKCOMB_S: int +HKCOMB_C: int +HKCOMB_A: int +HKCOMB_SC: int +HKCOMB_SA: int +HKCOMB_CA: int +HKCOMB_SCA: int +HKM_SETHOTKEY: Incomplete +HKM_GETHOTKEY: Incomplete +HKM_SETRULES: Incomplete +HOTKEY_CLASSA: str +HOTKEY_CLASS: str +CCS_TOP: int +CCS_NOMOVEY: int +CCS_BOTTOM: int +CCS_NORESIZE: int +CCS_NOPARENTALIGN: int +CCS_ADJUSTABLE: int +CCS_NODIVIDER: int +CCS_VERT: int +CCS_LEFT: Incomplete +CCS_RIGHT: Incomplete +CCS_NOMOVEX: Incomplete +WC_LISTVIEWA: str +WC_LISTVIEW: str +LVS_ICON: int +LVS_REPORT: int +LVS_SMALLICON: int +LVS_LIST: int +LVS_TYPEMASK: int +LVS_SINGLESEL: int +LVS_SHOWSELALWAYS: int +LVS_SORTASCENDING: int +LVS_SORTDESCENDING: int +LVS_SHAREIMAGELISTS: int +LVS_NOLABELWRAP: int +LVS_AUTOARRANGE: int +LVS_EDITLABELS: int +LVS_OWNERDATA: int +LVS_NOSCROLL: int +LVS_TYPESTYLEMASK: int +LVS_ALIGNTOP: int +LVS_ALIGNLEFT: int +LVS_ALIGNMASK: int +LVS_OWNERDRAWFIXED: int +LVS_NOCOLUMNHEADER: int +LVS_NOSORTHEADER: int +LVM_SETUNICODEFORMAT: Incomplete +LVM_GETUNICODEFORMAT: Incomplete +LVM_GETBKCOLOR: Incomplete +LVM_SETBKCOLOR: Incomplete +LVM_GETIMAGELIST: Incomplete +LVSIL_NORMAL: int +LVSIL_SMALL: int +LVSIL_STATE: int +LVM_SETIMAGELIST: Incomplete +LVM_GETITEMCOUNT: Incomplete +LVIF_TEXT: int +LVIF_IMAGE: int +LVIF_PARAM: int +LVIF_STATE: int +LVIF_INDENT: int +LVIF_NORECOMPUTE: int +LVIS_FOCUSED: int +LVIS_SELECTED: int +LVIS_CUT: int +LVIS_DROPHILITED: int +LVIS_ACTIVATING: int +LVIS_OVERLAYMASK: int +LVIS_STATEIMAGEMASK: int +I_INDENTCALLBACK: int +LPSTR_TEXTCALLBACKA: int +LPSTR_TEXTCALLBACK: int +I_IMAGECALLBACK: int +LVM_GETITEMA: Incomplete +LVM_GETITEMW: Incomplete +LVM_GETITEM: Incomplete +LVM_SETITEMA: Incomplete +LVM_SETITEMW: Incomplete +LVM_SETITEM: Incomplete +LVM_INSERTITEMA: Incomplete +LVM_INSERTITEMW: Incomplete +LVM_INSERTITEM: Incomplete +LVM_DELETEITEM: Incomplete +LVM_DELETEALLITEMS: Incomplete +LVM_GETCALLBACKMASK: Incomplete +LVM_SETCALLBACKMASK: Incomplete +LVNI_ALL: int +LVNI_FOCUSED: int +LVNI_SELECTED: int +LVNI_CUT: int +LVNI_DROPHILITED: int +LVNI_ABOVE: int +LVNI_BELOW: int +LVNI_TOLEFT: int +LVNI_TORIGHT: int +LVM_GETNEXTITEM: Incomplete +LVFI_PARAM: int +LVFI_STRING: int +LVFI_PARTIAL: int +LVFI_WRAP: int +LVFI_NEARESTXY: int +LVM_FINDITEMA: Incomplete +LVM_FINDITEMW: Incomplete +LVM_FINDITEM: Incomplete +LVIR_BOUNDS: int +LVIR_ICON: int +LVIR_LABEL: int +LVIR_SELECTBOUNDS: int +LVM_GETITEMRECT: Incomplete +LVM_SETITEMPOSITION: Incomplete +LVM_GETITEMPOSITION: Incomplete +LVM_GETSTRINGWIDTHA: Incomplete +LVM_GETSTRINGWIDTHW: Incomplete +LVM_GETSTRINGWIDTH: Incomplete +LVHT_NOWHERE: int +LVHT_ONITEMICON: int +LVHT_ONITEMLABEL: int +LVHT_ONITEMSTATEICON: int +LVHT_ONITEM: Incomplete +LVHT_ABOVE: int +LVHT_BELOW: int +LVHT_TORIGHT: int +LVHT_TOLEFT: int +LVM_HITTEST: Incomplete +LVM_ENSUREVISIBLE: Incomplete +LVM_SCROLL: Incomplete +LVM_REDRAWITEMS: Incomplete +LVA_DEFAULT: int +LVA_ALIGNLEFT: int +LVA_ALIGNTOP: int +LVA_SNAPTOGRID: int +LVM_ARRANGE: Incomplete +LVM_EDITLABELA: Incomplete +LVM_EDITLABELW: Incomplete +LVM_EDITLABEL: Incomplete +LVM_GETEDITCONTROL: Incomplete +LVCF_FMT: int +LVCF_WIDTH: int +LVCF_TEXT: int +LVCF_SUBITEM: int +LVCF_IMAGE: int +LVCF_ORDER: int +LVCFMT_LEFT: int +LVCFMT_RIGHT: int +LVCFMT_CENTER: int +LVCFMT_JUSTIFYMASK: int +LVCFMT_IMAGE: int +LVCFMT_BITMAP_ON_RIGHT: int +LVCFMT_COL_HAS_IMAGES: int +LVM_GETCOLUMNA: Incomplete +LVM_GETCOLUMNW: Incomplete +LVM_GETCOLUMN: Incomplete +LVM_SETCOLUMNA: Incomplete +LVM_SETCOLUMNW: Incomplete +LVM_SETCOLUMN: Incomplete +LVM_INSERTCOLUMNA: Incomplete +LVM_INSERTCOLUMNW: Incomplete +LVM_INSERTCOLUMN: Incomplete +LVM_DELETECOLUMN: Incomplete +LVM_GETCOLUMNWIDTH: Incomplete +LVSCW_AUTOSIZE: int +LVSCW_AUTOSIZE_USEHEADER: int +LVM_SETCOLUMNWIDTH: Incomplete +LVM_GETHEADER: Incomplete +LVM_CREATEDRAGIMAGE: Incomplete +LVM_GETVIEWRECT: Incomplete +LVM_GETTEXTCOLOR: Incomplete +LVM_SETTEXTCOLOR: Incomplete +LVM_GETTEXTBKCOLOR: Incomplete +LVM_SETTEXTBKCOLOR: Incomplete +LVM_GETTOPINDEX: Incomplete +LVM_GETCOUNTPERPAGE: Incomplete +LVM_GETORIGIN: Incomplete +LVM_UPDATE: Incomplete +LVM_SETITEMSTATE: Incomplete +LVM_GETITEMSTATE: Incomplete +LVM_GETITEMTEXTA: Incomplete +LVM_GETITEMTEXTW: Incomplete +LVM_GETITEMTEXT: Incomplete +LVM_SETITEMTEXTA: Incomplete +LVM_SETITEMTEXTW: Incomplete +LVM_SETITEMTEXT: Incomplete +LVSICF_NOINVALIDATEALL: int +LVSICF_NOSCROLL: int +LVM_SETITEMCOUNT: Incomplete +LVM_SORTITEMS: Incomplete +LVM_SETITEMPOSITION32: Incomplete +LVM_GETSELECTEDCOUNT: Incomplete +LVM_GETITEMSPACING: Incomplete +LVM_GETISEARCHSTRINGA: Incomplete +LVM_GETISEARCHSTRINGW: Incomplete +LVM_GETISEARCHSTRING: Incomplete +LVM_SETICONSPACING: Incomplete +LVM_SETEXTENDEDLISTVIEWSTYLE: Incomplete +LVM_GETEXTENDEDLISTVIEWSTYLE: Incomplete +LVS_EX_GRIDLINES: int +LVS_EX_SUBITEMIMAGES: int +LVS_EX_CHECKBOXES: int +LVS_EX_TRACKSELECT: int +LVS_EX_HEADERDRAGDROP: int +LVS_EX_FULLROWSELECT: int +LVS_EX_ONECLICKACTIVATE: int +LVS_EX_TWOCLICKACTIVATE: int +LVS_EX_FLATSB: int +LVS_EX_REGIONAL: int +LVS_EX_INFOTIP: int +LVS_EX_UNDERLINEHOT: int +LVS_EX_UNDERLINECOLD: int +LVS_EX_MULTIWORKAREAS: int +LVM_GETSUBITEMRECT: Incomplete +LVM_SUBITEMHITTEST: Incomplete +LVM_SETCOLUMNORDERARRAY: Incomplete +LVM_GETCOLUMNORDERARRAY: Incomplete +LVM_SETHOTITEM: Incomplete +LVM_GETHOTITEM: Incomplete +LVM_SETHOTCURSOR: Incomplete +LVM_GETHOTCURSOR: Incomplete +LVM_APPROXIMATEVIEWRECT: Incomplete +LV_MAX_WORKAREAS: int +LVM_SETWORKAREAS: Incomplete +LVM_GETWORKAREAS: Incomplete +LVM_GETNUMBEROFWORKAREAS: Incomplete +LVM_GETSELECTIONMARK: Incomplete +LVM_SETSELECTIONMARK: Incomplete +LVM_SETHOVERTIME: Incomplete +LVM_GETHOVERTIME: Incomplete +LVM_SETTOOLTIPS: Incomplete +LVM_GETTOOLTIPS: Incomplete +LVBKIF_SOURCE_NONE: int +LVBKIF_SOURCE_HBITMAP: int +LVBKIF_SOURCE_URL: int +LVBKIF_SOURCE_MASK: int +LVBKIF_STYLE_NORMAL: int +LVBKIF_STYLE_TILE: int +LVBKIF_STYLE_MASK: int +LVM_SETBKIMAGEA: Incomplete +LVM_SETBKIMAGEW: Incomplete +LVM_GETBKIMAGEA: Incomplete +LVM_GETBKIMAGEW: Incomplete +LVKF_ALT: int +LVKF_CONTROL: int +LVKF_SHIFT: int +LVN_ITEMCHANGING: Incomplete +LVN_ITEMCHANGED: Incomplete +LVN_INSERTITEM: Incomplete +LVN_DELETEITEM: Incomplete +LVN_DELETEALLITEMS: Incomplete +LVN_BEGINLABELEDITA: Incomplete +LVN_BEGINLABELEDITW: Incomplete +LVN_ENDLABELEDITA: Incomplete +LVN_ENDLABELEDITW: Incomplete +LVN_COLUMNCLICK: Incomplete +LVN_BEGINDRAG: Incomplete +LVN_BEGINRDRAG: Incomplete +LVN_ODCACHEHINT: Incomplete +LVN_ODFINDITEMA: Incomplete +LVN_ODFINDITEMW: Incomplete +LVN_ITEMACTIVATE: Incomplete +LVN_ODSTATECHANGED: Incomplete +LVN_ODFINDITEM: Incomplete +LVN_HOTTRACK: Incomplete +LVN_GETDISPINFOA: Incomplete +LVN_GETDISPINFOW: Incomplete +LVN_SETDISPINFOA: Incomplete +LVN_SETDISPINFOW: Incomplete +LVN_BEGINLABELEDIT: Incomplete +LVN_ENDLABELEDIT: Incomplete +LVN_GETDISPINFO: Incomplete +LVN_SETDISPINFO: Incomplete +LVIF_DI_SETITEM: int +LVN_KEYDOWN: Incomplete +LVN_MARQUEEBEGIN: Incomplete +LVGIT_UNFOLDED: int +LVN_GETINFOTIPA: Incomplete +LVN_GETINFOTIPW: Incomplete +LVN_GETINFOTIP: Incomplete +WC_TREEVIEWA: str +WC_TREEVIEW: str +TVS_HASBUTTONS: int +TVS_HASLINES: int +TVS_LINESATROOT: int +TVS_EDITLABELS: int +TVS_DISABLEDRAGDROP: int +TVS_SHOWSELALWAYS: int +TVS_RTLREADING: int +TVS_NOTOOLTIPS: int +TVS_CHECKBOXES: int +TVS_TRACKSELECT: int +TVS_SINGLEEXPAND: int +TVS_INFOTIP: int +TVS_FULLROWSELECT: int +TVS_NOSCROLL: int +TVS_NONEVENHEIGHT: int +TVIF_TEXT: int +TVIF_IMAGE: int +TVIF_PARAM: int +TVIF_STATE: int +TVIF_HANDLE: int +TVIF_SELECTEDIMAGE: int +TVIF_CHILDREN: int +TVIF_INTEGRAL: int +TVIS_SELECTED: int +TVIS_CUT: int +TVIS_DROPHILITED: int +TVIS_BOLD: int +TVIS_EXPANDED: int +TVIS_EXPANDEDONCE: int +TVIS_EXPANDPARTIAL: int +TVIS_OVERLAYMASK: int +TVIS_STATEIMAGEMASK: int +TVIS_USERMASK: int +I_CHILDRENCALLBACK: int +TVI_ROOT: int +TVI_FIRST: int +TVI_LAST: int +TVI_SORT: int +TVM_INSERTITEMA: Incomplete +TVM_INSERTITEMW: Incomplete +TVM_INSERTITEM: Incomplete +TVM_DELETEITEM: Incomplete +TVM_EXPAND: Incomplete +TVE_COLLAPSE: int +TVE_EXPAND: int +TVE_TOGGLE: int +TVE_EXPANDPARTIAL: int +TVE_COLLAPSERESET: int +TVM_GETITEMRECT: Incomplete +TVM_GETCOUNT: Incomplete +TVM_GETINDENT: Incomplete +TVM_SETINDENT: Incomplete +TVM_GETIMAGELIST: Incomplete +TVSIL_NORMAL: int +TVSIL_STATE: int +TVM_SETIMAGELIST: Incomplete +TVM_GETNEXTITEM: Incomplete +TVGN_ROOT: int +TVGN_NEXT: int +TVGN_PREVIOUS: int +TVGN_PARENT: int +TVGN_CHILD: int +TVGN_FIRSTVISIBLE: int +TVGN_NEXTVISIBLE: int +TVGN_PREVIOUSVISIBLE: int +TVGN_DROPHILITE: int +TVGN_CARET: int +TVGN_LASTVISIBLE: int +TVM_SELECTITEM: Incomplete +TVM_GETITEMA: Incomplete +TVM_GETITEMW: Incomplete +TVM_GETITEM: Incomplete +TVM_SETITEMA: Incomplete +TVM_SETITEMW: Incomplete +TVM_SETITEM: Incomplete +TVM_EDITLABELA: Incomplete +TVM_EDITLABELW: Incomplete +TVM_EDITLABEL: Incomplete +TVM_GETEDITCONTROL: Incomplete +TVM_GETVISIBLECOUNT: Incomplete +TVM_HITTEST: Incomplete +TVHT_NOWHERE: int +TVHT_ONITEMICON: int +TVHT_ONITEMLABEL: int +TVHT_ONITEMINDENT: int +TVHT_ONITEMBUTTON: int +TVHT_ONITEMRIGHT: int +TVHT_ONITEMSTATEICON: int +TVHT_ABOVE: int +TVHT_BELOW: int +TVHT_TORIGHT: int +TVHT_TOLEFT: int +TVHT_ONITEM: Incomplete +TVM_CREATEDRAGIMAGE: Incomplete +TVM_SORTCHILDREN: Incomplete +TVM_ENSUREVISIBLE: Incomplete +TVM_SORTCHILDRENCB: Incomplete +TVM_ENDEDITLABELNOW: Incomplete +TVM_GETISEARCHSTRINGA: Incomplete +TVM_GETISEARCHSTRINGW: Incomplete +TVM_GETISEARCHSTRING: Incomplete +TVM_SETTOOLTIPS: Incomplete +TVM_GETTOOLTIPS: Incomplete +TVM_SETINSERTMARK: Incomplete +TVM_SETUNICODEFORMAT: Incomplete +TVM_GETUNICODEFORMAT: Incomplete +TVM_SETITEMHEIGHT: Incomplete +TVM_GETITEMHEIGHT: Incomplete +TVM_SETBKCOLOR: Incomplete +TVM_SETTEXTCOLOR: Incomplete +TVM_GETBKCOLOR: Incomplete +TVM_GETTEXTCOLOR: Incomplete +TVM_SETSCROLLTIME: Incomplete +TVM_GETSCROLLTIME: Incomplete +TVM_SETINSERTMARKCOLOR: Incomplete +TVM_GETINSERTMARKCOLOR: Incomplete +TVN_SELCHANGINGA: Incomplete +TVN_SELCHANGINGW: Incomplete +TVN_SELCHANGEDA: Incomplete +TVN_SELCHANGEDW: Incomplete +TVC_UNKNOWN: int +TVC_BYMOUSE: int +TVC_BYKEYBOARD: int +TVN_GETDISPINFOA: Incomplete +TVN_GETDISPINFOW: Incomplete +TVN_SETDISPINFOA: Incomplete +TVN_SETDISPINFOW: Incomplete +TVIF_DI_SETITEM: int +TVN_ITEMEXPANDINGA: Incomplete +TVN_ITEMEXPANDINGW: Incomplete +TVN_ITEMEXPANDEDA: Incomplete +TVN_ITEMEXPANDEDW: Incomplete +TVN_BEGINDRAGA: Incomplete +TVN_BEGINDRAGW: Incomplete +TVN_BEGINRDRAGA: Incomplete +TVN_BEGINRDRAGW: Incomplete +TVN_DELETEITEMA: Incomplete +TVN_DELETEITEMW: Incomplete +TVN_BEGINLABELEDITA: Incomplete +TVN_BEGINLABELEDITW: Incomplete +TVN_ENDLABELEDITA: Incomplete +TVN_ENDLABELEDITW: Incomplete +TVN_KEYDOWN: Incomplete +TVN_GETINFOTIPA: Incomplete +TVN_GETINFOTIPW: Incomplete +TVN_SINGLEEXPAND: Incomplete +TVN_SELCHANGING: Incomplete +TVN_SELCHANGED: Incomplete +TVN_GETDISPINFO: Incomplete +TVN_SETDISPINFO: Incomplete +TVN_ITEMEXPANDING: Incomplete +TVN_ITEMEXPANDED: Incomplete +TVN_BEGINDRAG: Incomplete +TVN_BEGINRDRAG: Incomplete +TVN_DELETEITEM: Incomplete +TVN_BEGINLABELEDIT: Incomplete +TVN_ENDLABELEDIT: Incomplete +TVN_GETINFOTIP: Incomplete +TVCDRF_NOIMAGES: int +WC_COMBOBOXEXA: str +WC_COMBOBOXEX: str +CBEIF_TEXT: int +CBEIF_IMAGE: int +CBEIF_SELECTEDIMAGE: int +CBEIF_OVERLAY: int +CBEIF_INDENT: int +CBEIF_LPARAM: int +CBEIF_DI_SETITEM: int +CBEM_INSERTITEMA: Incomplete +CBEM_SETIMAGELIST: Incomplete +CBEM_GETIMAGELIST: Incomplete +CBEM_GETITEMA: Incomplete +CBEM_SETITEMA: Incomplete +CBEM_GETCOMBOCONTROL: Incomplete +CBEM_GETEDITCONTROL: Incomplete +CBEM_SETEXSTYLE: Incomplete +CBEM_SETEXTENDEDSTYLE: Incomplete +CBEM_GETEXSTYLE: Incomplete +CBEM_GETEXTENDEDSTYLE: Incomplete +CBEM_SETUNICODEFORMAT: Incomplete +CBEM_GETUNICODEFORMAT: Incomplete +CBEM_HASEDITCHANGED: Incomplete +CBEM_INSERTITEMW: Incomplete +CBEM_SETITEMW: Incomplete +CBEM_GETITEMW: Incomplete +CBEM_INSERTITEM: Incomplete +CBEM_SETITEM: Incomplete +CBEM_GETITEM: Incomplete +CBES_EX_NOEDITIMAGE: int +CBES_EX_NOEDITIMAGEINDENT: int +CBES_EX_PATHWORDBREAKPROC: int +CBES_EX_NOSIZELIMIT: int +CBES_EX_CASESENSITIVE: int +CBEN_GETDISPINFO: Incomplete +CBEN_GETDISPINFOA: Incomplete +CBEN_INSERTITEM: Incomplete +CBEN_DELETEITEM: Incomplete +CBEN_BEGINEDIT: Incomplete +CBEN_ENDEDITA: Incomplete +CBEN_ENDEDITW: Incomplete +CBEN_GETDISPINFOW: Incomplete +CBEN_DRAGBEGINA: Incomplete +CBEN_DRAGBEGINW: Incomplete +CBEN_DRAGBEGIN: Incomplete +CBEN_ENDEDIT: Incomplete +CBENF_KILLFOCUS: int +CBENF_RETURN: int +CBENF_ESCAPE: int +CBENF_DROPDOWN: int +CBEMAXSTRLEN: int +WC_TABCONTROLA: str +WC_TABCONTROL: str +TCS_SCROLLOPPOSITE: int +TCS_BOTTOM: int +TCS_RIGHT: int +TCS_MULTISELECT: int +TCS_FLATBUTTONS: int +TCS_FORCEICONLEFT: int +TCS_FORCELABELLEFT: int +TCS_HOTTRACK: int +TCS_VERTICAL: int +TCS_TABS: int +TCS_BUTTONS: int +TCS_SINGLELINE: int +TCS_MULTILINE: int +TCS_RIGHTJUSTIFY: int +TCS_FIXEDWIDTH: int +TCS_RAGGEDRIGHT: int +TCS_FOCUSONBUTTONDOWN: int +TCS_OWNERDRAWFIXED: int +TCS_TOOLTIPS: int +TCS_FOCUSNEVER: int +TCS_EX_FLATSEPARATORS: int +TCS_EX_REGISTERDROP: int +TCM_GETIMAGELIST: Incomplete +TCM_SETIMAGELIST: Incomplete +TCM_GETITEMCOUNT: Incomplete +TCIF_TEXT: int +TCIF_IMAGE: int +TCIF_RTLREADING: int +TCIF_PARAM: int +TCIF_STATE: int +TCIS_BUTTONPRESSED: int +TCIS_HIGHLIGHTED: int +TCM_GETITEMA: Incomplete +TCM_GETITEMW: Incomplete +TCM_GETITEM: Incomplete +TCM_SETITEMA: Incomplete +TCM_SETITEMW: Incomplete +TCM_SETITEM: Incomplete +TCM_INSERTITEMA: Incomplete +TCM_INSERTITEMW: Incomplete +TCM_INSERTITEM: Incomplete +TCM_DELETEITEM: Incomplete +TCM_DELETEALLITEMS: Incomplete +TCM_GETITEMRECT: Incomplete +TCM_GETCURSEL: Incomplete +TCM_SETCURSEL: Incomplete +TCHT_NOWHERE: int +TCHT_ONITEMICON: int +TCHT_ONITEMLABEL: int +TCHT_ONITEM: Incomplete +TCM_HITTEST: Incomplete +TCM_SETITEMEXTRA: Incomplete +TCM_ADJUSTRECT: Incomplete +TCM_SETITEMSIZE: Incomplete +TCM_REMOVEIMAGE: Incomplete +TCM_SETPADDING: Incomplete +TCM_GETROWCOUNT: Incomplete +TCM_GETTOOLTIPS: Incomplete +TCM_SETTOOLTIPS: Incomplete +TCM_GETCURFOCUS: Incomplete +TCM_SETCURFOCUS: Incomplete +TCM_SETMINTABWIDTH: Incomplete +TCM_DESELECTALL: Incomplete +TCM_HIGHLIGHTITEM: Incomplete +TCM_SETEXTENDEDSTYLE: Incomplete +TCM_GETEXTENDEDSTYLE: Incomplete +TCM_SETUNICODEFORMAT: Incomplete +TCM_GETUNICODEFORMAT: Incomplete +TCN_KEYDOWN: Incomplete +ANIMATE_CLASSA: str +ANIMATE_CLASS: str +ACS_CENTER: int +ACS_TRANSPARENT: int +ACS_AUTOPLAY: int +ACS_TIMER: int +ACM_OPENA: Incomplete +ACM_OPENW: Incomplete +ACM_OPEN: Incomplete +ACM_PLAY: Incomplete +ACM_STOP: Incomplete +ACN_START: int +ACN_STOP: int +MONTHCAL_CLASSA: str +MONTHCAL_CLASS: str +MCM_FIRST: int +MCM_GETCURSEL: Incomplete +MCM_SETCURSEL: Incomplete +MCM_GETMAXSELCOUNT: Incomplete +MCM_SETMAXSELCOUNT: Incomplete +MCM_GETSELRANGE: Incomplete +MCM_SETSELRANGE: Incomplete +MCM_GETMONTHRANGE: Incomplete +MCM_SETDAYSTATE: Incomplete +MCM_GETMINREQRECT: Incomplete +MCM_SETCOLOR: Incomplete +MCM_GETCOLOR: Incomplete +MCSC_BACKGROUND: int +MCSC_TEXT: int +MCSC_TITLEBK: int +MCSC_TITLETEXT: int +MCSC_MONTHBK: int +MCSC_TRAILINGTEXT: int +MCM_SETTODAY: Incomplete +MCM_GETTODAY: Incomplete +MCM_HITTEST: Incomplete +MCHT_TITLE: int +MCHT_CALENDAR: int +MCHT_TODAYLINK: int +MCHT_NEXT: int +MCHT_PREV: int +MCHT_NOWHERE: int +MCHT_TITLEBK: int +MCHT_TITLEMONTH: Incomplete +MCHT_TITLEYEAR: Incomplete +MCHT_TITLEBTNNEXT: Incomplete +MCHT_TITLEBTNPREV: Incomplete +MCHT_CALENDARBK: int +MCHT_CALENDARDATE: Incomplete +MCHT_CALENDARDATENEXT: Incomplete +MCHT_CALENDARDATEPREV: Incomplete +MCHT_CALENDARDAY: Incomplete +MCHT_CALENDARWEEKNUM: Incomplete +MCM_SETFIRSTDAYOFWEEK: Incomplete +MCM_GETFIRSTDAYOFWEEK: Incomplete +MCM_GETRANGE: Incomplete +MCM_SETRANGE: Incomplete +MCM_GETMONTHDELTA: Incomplete +MCM_SETMONTHDELTA: Incomplete +MCM_GETMAXTODAYWIDTH: Incomplete +MCM_SETUNICODEFORMAT: Incomplete +MCM_GETUNICODEFORMAT: Incomplete +MCN_SELCHANGE: Incomplete +MCN_GETDAYSTATE: Incomplete +MCN_SELECT: Incomplete +MCS_DAYSTATE: int +MCS_MULTISELECT: int +MCS_WEEKNUMBERS: int +MCS_NOTODAYCIRCLE: int +MCS_NOTODAY: int +GMR_VISIBLE: int +GMR_DAYSTATE: int +DATETIMEPICK_CLASSA: str +DATETIMEPICK_CLASS: str +DTM_FIRST: int +DTM_GETSYSTEMTIME: Incomplete +DTM_SETSYSTEMTIME: Incomplete +DTM_GETRANGE: Incomplete +DTM_SETRANGE: Incomplete +DTM_SETFORMATA: Incomplete +DTM_SETFORMATW: Incomplete +DTM_SETFORMAT: Incomplete +DTM_SETMCCOLOR: Incomplete +DTM_GETMCCOLOR: Incomplete +DTM_GETMONTHCAL: Incomplete +DTM_SETMCFONT: Incomplete +DTM_GETMCFONT: Incomplete +DTS_UPDOWN: int +DTS_SHOWNONE: int +DTS_SHORTDATEFORMAT: int +DTS_LONGDATEFORMAT: int +DTS_TIMEFORMAT: int +DTS_APPCANPARSE: int +DTS_RIGHTALIGN: int +DTN_DATETIMECHANGE: Incomplete +DTN_USERSTRINGA: Incomplete +DTN_USERSTRINGW: Incomplete +DTN_USERSTRING: Incomplete +DTN_WMKEYDOWNA: Incomplete +DTN_WMKEYDOWNW: Incomplete +DTN_WMKEYDOWN: Incomplete +DTN_FORMATA: Incomplete +DTN_FORMATW: Incomplete +DTN_FORMAT: Incomplete +DTN_FORMATQUERYA: Incomplete +DTN_FORMATQUERYW: Incomplete +DTN_FORMATQUERY: Incomplete +DTN_DROPDOWN: Incomplete +DTN_CLOSEUP: Incomplete +GDTR_MIN: int +GDTR_MAX: int +GDT_ERROR: int +GDT_VALID: int +GDT_NONE: int +IPM_CLEARADDRESS: Incomplete +IPM_SETADDRESS: Incomplete +IPM_GETADDRESS: Incomplete +IPM_SETRANGE: Incomplete +IPM_SETFOCUS: Incomplete +IPM_ISBLANK: Incomplete +WC_IPADDRESSA: str +WC_IPADDRESS: str +IPN_FIELDCHANGED: Incomplete +WC_PAGESCROLLERA: str +WC_PAGESCROLLER: str +PGS_VERT: int +PGS_HORZ: int +PGS_AUTOSCROLL: int +PGS_DRAGNDROP: int +PGF_INVISIBLE: int +PGF_NORMAL: int +PGF_GRAYED: int +PGF_DEPRESSED: int +PGF_HOT: int +PGB_TOPORLEFT: int +PGB_BOTTOMORRIGHT: int +PGM_SETCHILD: Incomplete +PGM_RECALCSIZE: Incomplete +PGM_FORWARDMOUSE: Incomplete +PGM_SETBKCOLOR: Incomplete +PGM_GETBKCOLOR: Incomplete +PGM_SETBORDER: Incomplete +PGM_GETBORDER: Incomplete +PGM_SETPOS: Incomplete +PGM_GETPOS: Incomplete +PGM_SETBUTTONSIZE: Incomplete +PGM_GETBUTTONSIZE: Incomplete +PGM_GETBUTTONSTATE: Incomplete +PGM_GETDROPTARGET: Incomplete +PGN_SCROLL: Incomplete +PGF_SCROLLUP: int +PGF_SCROLLDOWN: int +PGF_SCROLLLEFT: int +PGF_SCROLLRIGHT: int +PGK_SHIFT: int +PGK_CONTROL: int +PGK_MENU: int +PGN_CALCSIZE: Incomplete +PGF_CALCWIDTH: int +PGF_CALCHEIGHT: int +WC_NATIVEFONTCTLA: str +WC_NATIVEFONTCTL: str +NFS_EDIT: int +NFS_STATIC: int +NFS_LISTCOMBO: int +NFS_BUTTON: int +NFS_ALL: int +WM_MOUSEHOVER: int +WM_MOUSELEAVE: int +TME_HOVER: int +TME_LEAVE: int +TME_QUERY: int +TME_CANCEL: int +HOVER_DEFAULT: int +WSB_PROP_CYVSCROLL: int +WSB_PROP_CXHSCROLL: int +WSB_PROP_CYHSCROLL: int +WSB_PROP_CXVSCROLL: int +WSB_PROP_CXHTHUMB: int +WSB_PROP_CYVTHUMB: int +WSB_PROP_VBKGCOLOR: int +WSB_PROP_HBKGCOLOR: int +WSB_PROP_VSTYLE: int +WSB_PROP_HSTYLE: int +WSB_PROP_WINSTYLE: int +WSB_PROP_PALETTE: int +WSB_PROP_MASK: int +FSB_FLAT_MODE: int +FSB_ENCARTA_MODE: int +FSB_REGULAR_MODE: int -def INDEXTOOVERLAYMASK(i: int) -> int: ... -def INDEXTOSTATEIMAGEMASK(i: int) -> int: ... +def INDEXTOOVERLAYMASK(i): ... +def INDEXTOSTATEIMAGEMASK(i): ... diff --git a/stubs/pywin32/win32/lib/mmsystem.pyi b/stubs/pywin32/win32/lib/mmsystem.pyi index 6167cfd6eabd..667047551b2c 100644 --- a/stubs/pywin32/win32/lib/mmsystem.pyi +++ b/stubs/pywin32/win32/lib/mmsystem.pyi @@ -1,858 +1,858 @@ -from typing import Final +from _typeshed import Incomplete -MAXPNAMELEN: Final = 32 -MAXERRORLENGTH: Final = 256 -MAX_JOYSTICKOEMVXDNAME: Final = 260 -MM_MICROSOFT: Final = 1 -MM_MIDI_MAPPER: Final = 1 -MM_WAVE_MAPPER: Final = 2 -MM_SNDBLST_MIDIOUT: Final = 3 -MM_SNDBLST_MIDIIN: Final = 4 -MM_SNDBLST_SYNTH: Final = 5 -MM_SNDBLST_WAVEOUT: Final = 6 -MM_SNDBLST_WAVEIN: Final = 7 -MM_ADLIB: Final = 9 -MM_MPU401_MIDIOUT: Final = 10 -MM_MPU401_MIDIIN: Final = 11 -MM_PC_JOYSTICK: Final = 12 -TIME_MS: Final = 0x0001 -TIME_SAMPLES: Final = 0x0002 -TIME_BYTES: Final = 0x0004 -TIME_SMPTE: Final = 0x0008 -TIME_MIDI: Final = 0x0010 -TIME_TICKS: Final = 0x0020 -MM_JOY1MOVE: Final = 0x3A0 -MM_JOY2MOVE: Final = 0x3A1 -MM_JOY1ZMOVE: Final = 0x3A2 -MM_JOY2ZMOVE: Final = 0x3A3 -MM_JOY1BUTTONDOWN: Final = 0x3B5 -MM_JOY2BUTTONDOWN: Final = 0x3B6 -MM_JOY1BUTTONUP: Final = 0x3B7 -MM_JOY2BUTTONUP: Final = 0x3B8 -MM_MCINOTIFY: Final = 0x3B9 -MM_WOM_OPEN: Final = 0x3BB -MM_WOM_CLOSE: Final = 0x3BC -MM_WOM_DONE: Final = 0x3BD -MM_WIM_OPEN: Final = 0x3BE -MM_WIM_CLOSE: Final = 0x3BF -MM_WIM_DATA: Final = 0x3C0 -MM_MIM_OPEN: Final = 0x3C1 -MM_MIM_CLOSE: Final = 0x3C2 -MM_MIM_DATA: Final = 0x3C3 -MM_MIM_LONGDATA: Final = 0x3C4 -MM_MIM_ERROR: Final = 0x3C5 -MM_MIM_LONGERROR: Final = 0x3C6 -MM_MOM_OPEN: Final = 0x3C7 -MM_MOM_CLOSE: Final = 0x3C8 -MM_MOM_DONE: Final = 0x3C9 -MM_STREAM_OPEN: Final = 0x3D4 -MM_STREAM_CLOSE: Final = 0x3D5 -MM_STREAM_DONE: Final = 0x3D6 -MM_STREAM_ERROR: Final = 0x3D7 -MM_MOM_POSITIONCB: Final = 0x3CA -MM_MIM_MOREDATA: Final = 0x3CC -MM_MIXM_LINE_CHANGE: Final = 0x3D0 -MM_MIXM_CONTROL_CHANGE: Final = 0x3D1 -MMSYSERR_BASE: Final = 0 -WAVERR_BASE: Final = 32 -MIDIERR_BASE: Final = 64 -TIMERR_BASE: Final = 96 -JOYERR_BASE: Final = 160 -MCIERR_BASE: Final = 256 -MIXERR_BASE: Final = 1024 -MCI_STRING_OFFSET: Final = 512 -MCI_VD_OFFSET: Final = 1024 -MCI_CD_OFFSET: Final = 1088 -MCI_WAVE_OFFSET: Final = 1152 -MCI_SEQ_OFFSET: Final = 1216 -MMSYSERR_NOERROR: Final = 0 -MMSYSERR_ERROR: Final = 1 -MMSYSERR_BADDEVICEID: Final = 2 -MMSYSERR_NOTENABLED: Final = 3 -MMSYSERR_ALLOCATED: Final = 4 -MMSYSERR_INVALHANDLE: Final = 5 -MMSYSERR_NODRIVER: Final = 6 -MMSYSERR_NOMEM: Final = 7 -MMSYSERR_NOTSUPPORTED: Final = 8 -MMSYSERR_BADERRNUM: Final = 9 -MMSYSERR_INVALFLAG: Final = 10 -MMSYSERR_INVALPARAM: Final = 11 -MMSYSERR_HANDLEBUSY: Final = 12 -MMSYSERR_INVALIDALIAS: Final = 13 -MMSYSERR_BADDB: Final = 14 -MMSYSERR_KEYNOTFOUND: Final = 15 -MMSYSERR_READERROR: Final = 16 -MMSYSERR_WRITEERROR: Final = 17 -MMSYSERR_DELETEERROR: Final = 18 -MMSYSERR_VALNOTFOUND: Final = 19 -MMSYSERR_NODRIVERCB: Final = 20 -MMSYSERR_LASTERROR: Final = 20 -DRV_LOAD: Final = 0x0001 -DRV_ENABLE: Final = 0x0002 -DRV_OPEN: Final = 0x0003 -DRV_CLOSE: Final = 0x0004 -DRV_DISABLE: Final = 0x0005 -DRV_FREE: Final = 0x0006 -DRV_CONFIGURE: Final = 0x0007 -DRV_QUERYCONFIGURE: Final = 0x0008 -DRV_INSTALL: Final = 0x0009 -DRV_REMOVE: Final = 0x000A -DRV_EXITSESSION: Final = 0x000B -DRV_POWER: Final = 0x000F -DRV_RESERVED: Final = 0x0800 -DRV_USER: Final = 0x4000 -DRVCNF_CANCEL: Final = 0x0000 -DRVCNF_OK: Final = 0x0001 -DRVCNF_RESTART: Final = 0x0002 -DRV_CANCEL: Final = DRVCNF_CANCEL -DRV_OK: Final = DRVCNF_OK -DRV_RESTART: Final = DRVCNF_RESTART -DRV_MCI_FIRST: Final = DRV_RESERVED -DRV_MCI_LAST: Final = 0x17FF -CALLBACK_TYPEMASK: Final = 0x00070000 -CALLBACK_NULL: Final = 0x00000000 -CALLBACK_WINDOW: Final = 0x00010000 -CALLBACK_TASK: Final = 0x00020000 -CALLBACK_FUNCTION: Final = 0x00030000 -CALLBACK_THREAD: Final = CALLBACK_TASK -CALLBACK_EVENT: Final = 0x00050000 -SND_SYNC: Final = 0x0000 -SND_ASYNC: Final = 0x0001 -SND_NODEFAULT: Final = 0x0002 -SND_MEMORY: Final = 0x0004 -SND_LOOP: Final = 0x0008 -SND_NOSTOP: Final = 0x0010 -SND_NOWAIT: Final = 0x00002000 -SND_ALIAS: Final = 0x00010000 -SND_ALIAS_ID: Final = 0x00110000 -SND_FILENAME: Final = 0x00020000 -SND_RESOURCE: Final = 0x00040004 -SND_PURGE: Final = 0x0040 -SND_APPLICATION: Final = 0x0080 -SND_ALIAS_START: Final = 0 -WAVERR_BADFORMAT: Final = 32 -WAVERR_STILLPLAYING: Final = 33 -WAVERR_UNPREPARED: Final = 34 -WAVERR_SYNC: Final = 35 -WAVERR_LASTERROR: Final = 35 -WOM_OPEN: Final = MM_WOM_OPEN -WOM_CLOSE: Final = MM_WOM_CLOSE -WOM_DONE: Final = MM_WOM_DONE -WIM_OPEN: Final = MM_WIM_OPEN -WIM_CLOSE: Final = MM_WIM_CLOSE -WIM_DATA: Final = MM_WIM_DATA -WAVE_MAPPER: Final = -1 -WAVE_FORMAT_QUERY: Final = 0x0001 -WAVE_ALLOWSYNC: Final = 0x0002 -WAVE_MAPPED: Final = 0x0004 -WAVE_FORMAT_DIRECT: Final = 0x0008 -WAVE_FORMAT_DIRECT_QUERY: Final = 0x0009 -WHDR_DONE: Final = 0x00000001 -WHDR_PREPARED: Final = 0x00000002 -WHDR_BEGINLOOP: Final = 0x00000004 -WHDR_ENDLOOP: Final = 0x00000008 -WHDR_INQUEUE: Final = 0x00000010 -WAVECAPS_PITCH: Final = 0x0001 -WAVECAPS_PLAYBACKRATE: Final = 0x0002 -WAVECAPS_VOLUME: Final = 0x0004 -WAVECAPS_LRVOLUME: Final = 0x0008 -WAVECAPS_SYNC: Final = 0x0010 -WAVECAPS_SAMPLEACCURATE: Final = 0x0020 -WAVECAPS_DIRECTSOUND: Final = 0x0040 -WAVE_INVALIDFORMAT: Final = 0x00000000 -WAVE_FORMAT_1M08: Final = 0x00000001 -WAVE_FORMAT_1S08: Final = 0x00000002 -WAVE_FORMAT_1M16: Final = 0x00000004 -WAVE_FORMAT_1S16: Final = 0x00000008 -WAVE_FORMAT_2M08: Final = 0x00000010 -WAVE_FORMAT_2S08: Final = 0x00000020 -WAVE_FORMAT_2M16: Final = 0x00000040 -WAVE_FORMAT_2S16: Final = 0x00000080 -WAVE_FORMAT_4M08: Final = 0x00000100 -WAVE_FORMAT_4S08: Final = 0x00000200 -WAVE_FORMAT_4M16: Final = 0x00000400 -WAVE_FORMAT_4S16: Final = 0x00000800 -WAVE_FORMAT_PCM: Final = 1 -WAVE_FORMAT_IEEE_FLOAT: Final = 3 -MIDIERR_UNPREPARED: Final = 64 -MIDIERR_STILLPLAYING: Final = 65 -MIDIERR_NOMAP: Final = 66 -MIDIERR_NOTREADY: Final = 67 -MIDIERR_NODEVICE: Final = 68 -MIDIERR_INVALIDSETUP: Final = 69 -MIDIERR_BADOPENMODE: Final = 70 -MIDIERR_DONT_CONTINUE: Final = 71 -MIDIERR_LASTERROR: Final = 71 -MIDIPATCHSIZE: Final = 128 -MIM_OPEN: Final = MM_MIM_OPEN -MIM_CLOSE: Final = MM_MIM_CLOSE -MIM_DATA: Final = MM_MIM_DATA -MIM_LONGDATA: Final = MM_MIM_LONGDATA -MIM_ERROR: Final = MM_MIM_ERROR -MIM_LONGERROR: Final = MM_MIM_LONGERROR -MOM_OPEN: Final = MM_MOM_OPEN -MOM_CLOSE: Final = MM_MOM_CLOSE -MOM_DONE: Final = MM_MOM_DONE -MIM_MOREDATA: Final = MM_MIM_MOREDATA -MOM_POSITIONCB: Final = MM_MOM_POSITIONCB -MIDI_IO_STATUS: Final = 0x00000020 -MIDI_CACHE_ALL: Final = 1 -MIDI_CACHE_BESTFIT: Final = 2 -MIDI_CACHE_QUERY: Final = 3 -MIDI_UNCACHE: Final = 4 -MOD_MIDIPORT: Final = 1 -MOD_SYNTH: Final = 2 -MOD_SQSYNTH: Final = 3 -MOD_FMSYNTH: Final = 4 -MOD_MAPPER: Final = 5 -MIDICAPS_VOLUME: Final = 0x0001 -MIDICAPS_LRVOLUME: Final = 0x0002 -MIDICAPS_CACHE: Final = 0x0004 -MIDICAPS_STREAM: Final = 0x0008 -MHDR_DONE: Final = 0x00000001 -MHDR_PREPARED: Final = 0x00000002 -MHDR_INQUEUE: Final = 0x00000004 -MHDR_ISSTRM: Final = 0x00000008 -MEVT_F_SHORT: Final = 0x00000000 -MEVT_F_LONG: Final = -0x80000000 -MEVT_F_CALLBACK: Final = 0x40000000 +MAXPNAMELEN: int +MAXERRORLENGTH: int +MAX_JOYSTICKOEMVXDNAME: int +MM_MICROSOFT: int +MM_MIDI_MAPPER: int +MM_WAVE_MAPPER: int +MM_SNDBLST_MIDIOUT: int +MM_SNDBLST_MIDIIN: int +MM_SNDBLST_SYNTH: int +MM_SNDBLST_WAVEOUT: int +MM_SNDBLST_WAVEIN: int +MM_ADLIB: int +MM_MPU401_MIDIOUT: int +MM_MPU401_MIDIIN: int +MM_PC_JOYSTICK: int +TIME_MS: int +TIME_SAMPLES: int +TIME_BYTES: int +TIME_SMPTE: int +TIME_MIDI: int +TIME_TICKS: int +MM_JOY1MOVE: int +MM_JOY2MOVE: int +MM_JOY1ZMOVE: int +MM_JOY2ZMOVE: int +MM_JOY1BUTTONDOWN: int +MM_JOY2BUTTONDOWN: int +MM_JOY1BUTTONUP: int +MM_JOY2BUTTONUP: int +MM_MCINOTIFY: int +MM_WOM_OPEN: int +MM_WOM_CLOSE: int +MM_WOM_DONE: int +MM_WIM_OPEN: int +MM_WIM_CLOSE: int +MM_WIM_DATA: int +MM_MIM_OPEN: int +MM_MIM_CLOSE: int +MM_MIM_DATA: int +MM_MIM_LONGDATA: int +MM_MIM_ERROR: int +MM_MIM_LONGERROR: int +MM_MOM_OPEN: int +MM_MOM_CLOSE: int +MM_MOM_DONE: int +MM_STREAM_OPEN: int +MM_STREAM_CLOSE: int +MM_STREAM_DONE: int +MM_STREAM_ERROR: int +MM_MOM_POSITIONCB: int +MM_MIM_MOREDATA: int +MM_MIXM_LINE_CHANGE: int +MM_MIXM_CONTROL_CHANGE: int +MMSYSERR_BASE: int +WAVERR_BASE: int +MIDIERR_BASE: int +TIMERR_BASE: int +JOYERR_BASE: int +MCIERR_BASE: int +MIXERR_BASE: int +MCI_STRING_OFFSET: int +MCI_VD_OFFSET: int +MCI_CD_OFFSET: int +MCI_WAVE_OFFSET: int +MCI_SEQ_OFFSET: int +MMSYSERR_NOERROR: int +MMSYSERR_ERROR: Incomplete +MMSYSERR_BADDEVICEID: Incomplete +MMSYSERR_NOTENABLED: Incomplete +MMSYSERR_ALLOCATED: Incomplete +MMSYSERR_INVALHANDLE: Incomplete +MMSYSERR_NODRIVER: Incomplete +MMSYSERR_NOMEM: Incomplete +MMSYSERR_NOTSUPPORTED: Incomplete +MMSYSERR_BADERRNUM: Incomplete +MMSYSERR_INVALFLAG: Incomplete +MMSYSERR_INVALPARAM: Incomplete +MMSYSERR_HANDLEBUSY: Incomplete +MMSYSERR_INVALIDALIAS: Incomplete +MMSYSERR_BADDB: Incomplete +MMSYSERR_KEYNOTFOUND: Incomplete +MMSYSERR_READERROR: Incomplete +MMSYSERR_WRITEERROR: Incomplete +MMSYSERR_DELETEERROR: Incomplete +MMSYSERR_VALNOTFOUND: Incomplete +MMSYSERR_NODRIVERCB: Incomplete +MMSYSERR_LASTERROR: Incomplete +DRV_LOAD: int +DRV_ENABLE: int +DRV_OPEN: int +DRV_CLOSE: int +DRV_DISABLE: int +DRV_FREE: int +DRV_CONFIGURE: int +DRV_QUERYCONFIGURE: int +DRV_INSTALL: int +DRV_REMOVE: int +DRV_EXITSESSION: int +DRV_POWER: int +DRV_RESERVED: int +DRV_USER: int +DRVCNF_CANCEL: int +DRVCNF_OK: int +DRVCNF_RESTART: int +DRV_CANCEL: int +DRV_OK: int +DRV_RESTART: int +DRV_MCI_FIRST: int +DRV_MCI_LAST: Incomplete +CALLBACK_TYPEMASK: int +CALLBACK_NULL: int +CALLBACK_WINDOW: int +CALLBACK_TASK: int +CALLBACK_FUNCTION: int +CALLBACK_THREAD: int +CALLBACK_EVENT: int +SND_SYNC: int +SND_ASYNC: int +SND_NODEFAULT: int +SND_MEMORY: int +SND_LOOP: int +SND_NOSTOP: int +SND_NOWAIT: int +SND_ALIAS: int +SND_ALIAS_ID: int +SND_FILENAME: int +SND_RESOURCE: int +SND_PURGE: int +SND_APPLICATION: int +SND_ALIAS_START: int +WAVERR_BADFORMAT: Incomplete +WAVERR_STILLPLAYING: Incomplete +WAVERR_UNPREPARED: Incomplete +WAVERR_SYNC: Incomplete +WAVERR_LASTERROR: Incomplete +WOM_OPEN: int +WOM_CLOSE: int +WOM_DONE: int +WIM_OPEN: int +WIM_CLOSE: int +WIM_DATA: int +WAVE_MAPPER: int +WAVE_FORMAT_QUERY: int +WAVE_ALLOWSYNC: int +WAVE_MAPPED: int +WAVE_FORMAT_DIRECT: int +WAVE_FORMAT_DIRECT_QUERY: Incomplete +WHDR_DONE: int +WHDR_PREPARED: int +WHDR_BEGINLOOP: int +WHDR_ENDLOOP: int +WHDR_INQUEUE: int +WAVECAPS_PITCH: int +WAVECAPS_PLAYBACKRATE: int +WAVECAPS_VOLUME: int +WAVECAPS_LRVOLUME: int +WAVECAPS_SYNC: int +WAVECAPS_SAMPLEACCURATE: int +WAVECAPS_DIRECTSOUND: int +WAVE_INVALIDFORMAT: int +WAVE_FORMAT_1M08: int +WAVE_FORMAT_1S08: int +WAVE_FORMAT_1M16: int +WAVE_FORMAT_1S16: int +WAVE_FORMAT_2M08: int +WAVE_FORMAT_2S08: int +WAVE_FORMAT_2M16: int +WAVE_FORMAT_2S16: int +WAVE_FORMAT_4M08: int +WAVE_FORMAT_4S08: int +WAVE_FORMAT_4M16: int +WAVE_FORMAT_4S16: int +WAVE_FORMAT_PCM: int +WAVE_FORMAT_IEEE_FLOAT: int +MIDIERR_UNPREPARED: Incomplete +MIDIERR_STILLPLAYING: Incomplete +MIDIERR_NOMAP: Incomplete +MIDIERR_NOTREADY: Incomplete +MIDIERR_NODEVICE: Incomplete +MIDIERR_INVALIDSETUP: Incomplete +MIDIERR_BADOPENMODE: Incomplete +MIDIERR_DONT_CONTINUE: Incomplete +MIDIERR_LASTERROR: Incomplete +MIDIPATCHSIZE: int +MIM_OPEN: int +MIM_CLOSE: int +MIM_DATA: int +MIM_LONGDATA: int +MIM_ERROR: int +MIM_LONGERROR: int +MOM_OPEN: int +MOM_CLOSE: int +MOM_DONE: int +MIM_MOREDATA: int +MOM_POSITIONCB: int +MIDI_IO_STATUS: int +MIDI_CACHE_ALL: int +MIDI_CACHE_BESTFIT: int +MIDI_CACHE_QUERY: int +MIDI_UNCACHE: int +MOD_MIDIPORT: int +MOD_SYNTH: int +MOD_SQSYNTH: int +MOD_FMSYNTH: int +MOD_MAPPER: int +MIDICAPS_VOLUME: int +MIDICAPS_LRVOLUME: int +MIDICAPS_CACHE: int +MIDICAPS_STREAM: int +MHDR_DONE: int +MHDR_PREPARED: int +MHDR_INQUEUE: int +MHDR_ISSTRM: int +MEVT_F_SHORT: int +MEVT_F_LONG: int +MEVT_F_CALLBACK: int -def MEVT_EVENTTYPE(x: int) -> int: ... -def MEVT_EVENTPARM(x: int) -> int: ... +def MEVT_EVENTTYPE(x): ... +def MEVT_EVENTPARM(x): ... -MIDISTRM_ERROR: Final = -2 -MIDIPROP_SET: Final = -0x80000000 -MIDIPROP_GET: Final = 0x40000000 -MIDIPROP_TIMEDIV: Final = 0x00000001 -MIDIPROP_TEMPO: Final = 0x00000002 -AUXCAPS_CDAUDIO: Final = 1 -AUXCAPS_AUXIN: Final = 2 -AUXCAPS_VOLUME: Final = 0x0001 -AUXCAPS_LRVOLUME: Final = 0x0002 -MIXER_SHORT_NAME_CHARS: Final = 16 -MIXER_LONG_NAME_CHARS: Final = 64 -MIXERR_INVALLINE: Final = 1024 -MIXERR_INVALCONTROL: Final = 1025 -MIXERR_INVALVALUE: Final = 1026 -MIXERR_LASTERROR: Final = 1026 -MIXER_OBJECTF_HANDLE: Final = -0x80000000 -MIXER_OBJECTF_MIXER: Final = 0x00000000 -MIXER_OBJECTF_HMIXER: Final = -0x80000000 -MIXER_OBJECTF_WAVEOUT: Final = 0x10000000 -MIXER_OBJECTF_HWAVEOUT: Final = -0x70000000 -MIXER_OBJECTF_WAVEIN: Final = 0x20000000 -MIXER_OBJECTF_HWAVEIN: Final = -0x60000000 -MIXER_OBJECTF_MIDIOUT: Final = 0x30000000 -MIXER_OBJECTF_HMIDIOUT: Final = -0x50000000 -MIXER_OBJECTF_MIDIIN: Final = 0x40000000 -MIXER_OBJECTF_HMIDIIN: Final = -0x40000000 -MIXER_OBJECTF_AUX: Final = 0x50000000 -MIXERLINE_LINEF_ACTIVE: Final = 0x00000001 -MIXERLINE_LINEF_DISCONNECTED: Final = 0x00008000 -MIXERLINE_LINEF_SOURCE: Final = -0x80000000 -MIXERLINE_COMPONENTTYPE_DST_FIRST: Final = 0x00000000 -MIXERLINE_COMPONENTTYPE_DST_UNDEFINED: Final = 0x00000000 -MIXERLINE_COMPONENTTYPE_DST_DIGITAL: Final = 0x00000001 -MIXERLINE_COMPONENTTYPE_DST_LINE: Final = 0x00000002 -MIXERLINE_COMPONENTTYPE_DST_MONITOR: Final = 0x00000003 -MIXERLINE_COMPONENTTYPE_DST_SPEAKERS: Final = 0x00000004 -MIXERLINE_COMPONENTTYPE_DST_HEADPHONES: Final = 0x00000005 -MIXERLINE_COMPONENTTYPE_DST_TELEPHONE: Final = 0x00000006 -MIXERLINE_COMPONENTTYPE_DST_WAVEIN: Final = 0x00000007 -MIXERLINE_COMPONENTTYPE_DST_VOICEIN: Final = 0x00000008 -MIXERLINE_COMPONENTTYPE_DST_LAST: Final = 0x00000008 -MIXERLINE_COMPONENTTYPE_SRC_FIRST: Final = 0x00001000 -MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED: Final = 0x00001000 -MIXERLINE_COMPONENTTYPE_SRC_DIGITAL: Final = 0x00001001 -MIXERLINE_COMPONENTTYPE_SRC_LINE: Final = 0x00001002 -MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE: Final = 0x00001003 -MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER: Final = 0x00001004 -MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC: Final = 0x00001005 -MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE: Final = 0x00001006 -MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER: Final = 0x00001007 -MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT: Final = 0x00001008 -MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY: Final = 0x00001009 -MIXERLINE_COMPONENTTYPE_SRC_ANALOG: Final = 0x0000100A -MIXERLINE_COMPONENTTYPE_SRC_LAST: Final = 0x0000100A -MIXERLINE_TARGETTYPE_UNDEFINED: Final = 0 -MIXERLINE_TARGETTYPE_WAVEOUT: Final = 1 -MIXERLINE_TARGETTYPE_WAVEIN: Final = 2 -MIXERLINE_TARGETTYPE_MIDIOUT: Final = 3 -MIXERLINE_TARGETTYPE_MIDIIN: Final = 4 -MIXERLINE_TARGETTYPE_AUX: Final = 5 -MIXER_GETLINEINFOF_DESTINATION: Final = 0x00000000 -MIXER_GETLINEINFOF_SOURCE: Final = 0x00000001 -MIXER_GETLINEINFOF_LINEID: Final = 0x00000002 -MIXER_GETLINEINFOF_COMPONENTTYPE: Final = 0x00000003 -MIXER_GETLINEINFOF_TARGETTYPE: Final = 0x00000004 -MIXER_GETLINEINFOF_QUERYMASK: Final = 0x0000000F -MIXERCONTROL_CONTROLF_UNIFORM: Final = 0x00000001 -MIXERCONTROL_CONTROLF_MULTIPLE: Final = 0x00000002 -MIXERCONTROL_CONTROLF_DISABLED: Final = -0x80000000 -MIXERCONTROL_CT_CLASS_MASK: Final = -0x10000000 -MIXERCONTROL_CT_CLASS_CUSTOM: Final = 0x00000000 -MIXERCONTROL_CT_CLASS_METER: Final = 0x10000000 -MIXERCONTROL_CT_CLASS_SWITCH: Final = 0x20000000 -MIXERCONTROL_CT_CLASS_NUMBER: Final = 0x30000000 -MIXERCONTROL_CT_CLASS_SLIDER: Final = 0x40000000 -MIXERCONTROL_CT_CLASS_FADER: Final = 0x50000000 -MIXERCONTROL_CT_CLASS_TIME: Final = 0x60000000 -MIXERCONTROL_CT_CLASS_LIST: Final = 0x70000000 -MIXERCONTROL_CT_SUBCLASS_MASK: Final = 0x0F000000 -MIXERCONTROL_CT_SC_SWITCH_BOOLEAN: Final = 0x00000000 -MIXERCONTROL_CT_SC_SWITCH_BUTTON: Final = 0x01000000 -MIXERCONTROL_CT_SC_METER_POLLED: Final = 0x00000000 -MIXERCONTROL_CT_SC_TIME_MICROSECS: Final = 0x00000000 -MIXERCONTROL_CT_SC_TIME_MILLISECS: Final = 0x01000000 -MIXERCONTROL_CT_SC_LIST_SINGLE: Final = 0x00000000 -MIXERCONTROL_CT_SC_LIST_MULTIPLE: Final = 0x01000000 -MIXERCONTROL_CT_UNITS_MASK: Final = 0x00FF0000 -MIXERCONTROL_CT_UNITS_CUSTOM: Final = 0x00000000 -MIXERCONTROL_CT_UNITS_BOOLEAN: Final = 0x00010000 -MIXERCONTROL_CT_UNITS_SIGNED: Final = 0x00020000 -MIXERCONTROL_CT_UNITS_UNSIGNED: Final = 0x00030000 -MIXERCONTROL_CT_UNITS_DECIBELS: Final = 0x00040000 -MIXERCONTROL_CT_UNITS_PERCENT: Final = 0x00050000 -MIXERCONTROL_CONTROLTYPE_CUSTOM: Final = 0x00000000 -MIXERCONTROL_CONTROLTYPE_BOOLEANMETER: Final = 0x10010000 -MIXERCONTROL_CONTROLTYPE_SIGNEDMETER: Final = 0x10020000 -MIXERCONTROL_CONTROLTYPE_PEAKMETER: Final = 0x10020001 -MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER: Final = 0x10030000 -MIXERCONTROL_CONTROLTYPE_BOOLEAN: Final = 0x20010000 -MIXERCONTROL_CONTROLTYPE_ONOFF: Final = 0x20010001 -MIXERCONTROL_CONTROLTYPE_MUTE: Final = 0x20010002 -MIXERCONTROL_CONTROLTYPE_MONO: Final = 0x20010003 -MIXERCONTROL_CONTROLTYPE_LOUDNESS: Final = 0x20010004 -MIXERCONTROL_CONTROLTYPE_STEREOENH: Final = 0x20010005 -MIXERCONTROL_CONTROLTYPE_BUTTON: Final = 0x21010000 -MIXERCONTROL_CONTROLTYPE_DECIBELS: Final = 0x30040000 -MIXERCONTROL_CONTROLTYPE_SIGNED: Final = 0x30020000 -MIXERCONTROL_CONTROLTYPE_UNSIGNED: Final = 0x30030000 -MIXERCONTROL_CONTROLTYPE_PERCENT: Final = 0x30050000 -MIXERCONTROL_CONTROLTYPE_SLIDER: Final = 0x40020000 -MIXERCONTROL_CONTROLTYPE_PAN: Final = 0x40020001 -MIXERCONTROL_CONTROLTYPE_QSOUNDPAN: Final = 0x40020002 -MIXERCONTROL_CONTROLTYPE_FADER: Final = 0x50030000 -MIXERCONTROL_CONTROLTYPE_VOLUME: Final = 0x50030001 -MIXERCONTROL_CONTROLTYPE_BASS: Final = 0x50030002 -MIXERCONTROL_CONTROLTYPE_TREBLE: Final = 0x50030003 -MIXERCONTROL_CONTROLTYPE_EQUALIZER: Final = 0x50030004 -MIXERCONTROL_CONTROLTYPE_SINGLESELECT: Final = 0x70010000 -MIXERCONTROL_CONTROLTYPE_MUX: Final = 0x70010001 -MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT: Final = 0x71010000 -MIXERCONTROL_CONTROLTYPE_MIXER: Final = 0x71010001 -MIXERCONTROL_CONTROLTYPE_MICROTIME: Final = 0x60030000 -MIXERCONTROL_CONTROLTYPE_MILLITIME: Final = 0x61030000 -MIXER_GETLINECONTROLSF_ALL: Final = 0x00000000 -MIXER_GETLINECONTROLSF_ONEBYID: Final = 0x00000001 -MIXER_GETLINECONTROLSF_ONEBYTYPE: Final = 0x00000002 -MIXER_GETLINECONTROLSF_QUERYMASK: Final = 0x0000000F -MIXER_GETCONTROLDETAILSF_VALUE: Final = 0x00000000 -MIXER_GETCONTROLDETAILSF_LISTTEXT: Final = 0x00000001 -MIXER_GETCONTROLDETAILSF_QUERYMASK: Final = 0x0000000F -MIXER_SETCONTROLDETAILSF_VALUE: Final = 0x00000000 -MIXER_SETCONTROLDETAILSF_CUSTOM: Final = 0x00000001 -MIXER_SETCONTROLDETAILSF_QUERYMASK: Final = 0x0000000F -TIMERR_NOERROR: Final = 0 -TIMERR_NOCANDO: Final = 97 -TIMERR_STRUCT: Final = 129 -TIME_ONESHOT: Final = 0x0000 -TIME_PERIODIC: Final = 0x0001 -TIME_CALLBACK_FUNCTION: Final = 0x0000 -TIME_CALLBACK_EVENT_SET: Final = 0x0010 -TIME_CALLBACK_EVENT_PULSE: Final = 0x0020 -JOYERR_NOERROR: Final = 0 -JOYERR_PARMS: Final = 165 -JOYERR_NOCANDO: Final = 166 -JOYERR_UNPLUGGED: Final = 167 -JOY_BUTTON1: Final = 0x0001 -JOY_BUTTON2: Final = 0x0002 -JOY_BUTTON3: Final = 0x0004 -JOY_BUTTON4: Final = 0x0008 -JOY_BUTTON1CHG: Final = 0x0100 -JOY_BUTTON2CHG: Final = 0x0200 -JOY_BUTTON3CHG: Final = 0x0400 -JOY_BUTTON4CHG: Final = 0x0800 -JOY_BUTTON5: Final = 0x00000010 -JOY_BUTTON6: Final = 0x00000020 -JOY_BUTTON7: Final = 0x00000040 -JOY_BUTTON8: Final = 0x00000080 -JOY_BUTTON9: Final = 0x00000100 -JOY_BUTTON10: Final = 0x00000200 -JOY_BUTTON11: Final = 0x00000400 -JOY_BUTTON12: Final = 0x00000800 -JOY_BUTTON13: Final = 0x00001000 -JOY_BUTTON14: Final = 0x00002000 -JOY_BUTTON15: Final = 0x00004000 -JOY_BUTTON16: Final = 0x00008000 -JOY_BUTTON17: Final = 0x00010000 -JOY_BUTTON18: Final = 0x00020000 -JOY_BUTTON19: Final = 0x00040000 -JOY_BUTTON20: Final = 0x00080000 -JOY_BUTTON21: Final = 0x00100000 -JOY_BUTTON22: Final = 0x00200000 -JOY_BUTTON23: Final = 0x00400000 -JOY_BUTTON24: Final = 0x00800000 -JOY_BUTTON25: Final = 0x01000000 -JOY_BUTTON26: Final = 0x02000000 -JOY_BUTTON27: Final = 0x04000000 -JOY_BUTTON28: Final = 0x08000000 -JOY_BUTTON29: Final = 0x10000000 -JOY_BUTTON30: Final = 0x20000000 -JOY_BUTTON31: Final = 0x40000000 -JOY_BUTTON32: Final = -0x80000000 -JOY_POVFORWARD: Final = 0 -JOY_POVRIGHT: Final = 9000 -JOY_POVBACKWARD: Final = 18000 -JOY_POVLEFT: Final = 27000 -JOY_RETURNX: Final = 0x00000001 -JOY_RETURNY: Final = 0x00000002 -JOY_RETURNZ: Final = 0x00000004 -JOY_RETURNR: Final = 0x00000008 -JOY_RETURNU: Final = 0x00000010 -JOY_RETURNV: Final = 0x00000020 -JOY_RETURNPOV: Final = 0x00000040 -JOY_RETURNBUTTONS: Final = 0x00000080 -JOY_RETURNRAWDATA: Final = 0x00000100 -JOY_RETURNPOVCTS: Final = 0x00000200 -JOY_RETURNCENTERED: Final = 0x00000400 -JOY_USEDEADZONE: Final = 0x00000800 -JOY_RETURNALL: Final = 0x000000FF -JOY_CAL_READALWAYS: Final = 0x00010000 -JOY_CAL_READXYONLY: Final = 0x00020000 -JOY_CAL_READ3: Final = 0x00040000 -JOY_CAL_READ4: Final = 0x00080000 -JOY_CAL_READXONLY: Final = 0x00100000 -JOY_CAL_READYONLY: Final = 0x00200000 -JOY_CAL_READ5: Final = 0x00400000 -JOY_CAL_READ6: Final = 0x00800000 -JOY_CAL_READZONLY: Final = 0x01000000 -JOY_CAL_READRONLY: Final = 0x02000000 -JOY_CAL_READUONLY: Final = 0x04000000 -JOY_CAL_READVONLY: Final = 0x08000000 -JOYSTICKID1: Final = 0 -JOYSTICKID2: Final = 1 -JOYCAPS_HASZ: Final = 0x0001 -JOYCAPS_HASR: Final = 0x0002 -JOYCAPS_HASU: Final = 0x0004 -JOYCAPS_HASV: Final = 0x0008 -JOYCAPS_HASPOV: Final = 0x0010 -JOYCAPS_POV4DIR: Final = 0x0020 -JOYCAPS_POVCTS: Final = 0x0040 -MMIOERR_BASE: Final = 256 -MMIOERR_FILENOTFOUND: Final = 257 -MMIOERR_OUTOFMEMORY: Final = 258 -MMIOERR_CANNOTOPEN: Final = 259 -MMIOERR_CANNOTCLOSE: Final = 260 -MMIOERR_CANNOTREAD: Final = 261 -MMIOERR_CANNOTWRITE: Final = 262 -MMIOERR_CANNOTSEEK: Final = 263 -MMIOERR_CANNOTEXPAND: Final = 264 -MMIOERR_CHUNKNOTFOUND: Final = 265 -MMIOERR_UNBUFFERED: Final = 266 -MMIOERR_PATHNOTFOUND: Final = 267 -MMIOERR_ACCESSDENIED: Final = 268 -MMIOERR_SHARINGVIOLATION: Final = 269 -MMIOERR_NETWORKERROR: Final = 270 -MMIOERR_TOOMANYOPENFILES: Final = 271 -MMIOERR_INVALIDFILE: Final = 272 -CFSEPCHAR: Final = 43 -MMIO_RWMODE: Final = 0x00000003 -MMIO_SHAREMODE: Final = 0x00000070 -MMIO_CREATE: Final = 0x00001000 -MMIO_PARSE: Final = 0x00000100 -MMIO_DELETE: Final = 0x00000200 -MMIO_EXIST: Final = 0x00004000 -MMIO_ALLOCBUF: Final = 0x00010000 -MMIO_GETTEMP: Final = 0x00020000 -MMIO_DIRTY: Final = 0x10000000 -MMIO_READ: Final = 0x00000000 -MMIO_WRITE: Final = 0x00000001 -MMIO_READWRITE: Final = 0x00000002 -MMIO_COMPAT: Final = 0x00000000 -MMIO_EXCLUSIVE: Final = 0x00000010 -MMIO_DENYWRITE: Final = 0x00000020 -MMIO_DENYREAD: Final = 0x00000030 -MMIO_DENYNONE: Final = 0x00000040 -MMIO_FHOPEN: Final = 0x0010 -MMIO_EMPTYBUF: Final = 0x0010 -MMIO_TOUPPER: Final = 0x0010 -MMIO_INSTALLPROC: Final = 0x00010000 -MMIO_GLOBALPROC: Final = 0x10000000 -MMIO_REMOVEPROC: Final = 0x00020000 -MMIO_UNICODEPROC: Final = 0x01000000 -MMIO_FINDPROC: Final = 0x00040000 -MMIO_FINDCHUNK: Final = 0x0010 -MMIO_FINDRIFF: Final = 0x0020 -MMIO_FINDLIST: Final = 0x0040 -MMIO_CREATERIFF: Final = 0x0020 -MMIO_CREATELIST: Final = 0x0040 -MMIOM_READ: Final = MMIO_READ -MMIOM_WRITE: Final = MMIO_WRITE -MMIOM_SEEK: Final = 2 -MMIOM_OPEN: Final = 3 -MMIOM_CLOSE: Final = 4 -MMIOM_WRITEFLUSH: Final = 5 -MMIOM_RENAME: Final = 6 -MMIOM_USER: Final = 0x8000 -SEEK_SET: Final = 0 -SEEK_CUR: Final = 1 -SEEK_END: Final = 2 -MMIO_DEFAULTBUFFER: Final = 8192 -MCIERR_INVALID_DEVICE_ID: Final = 257 -MCIERR_UNRECOGNIZED_KEYWORD: Final = 259 -MCIERR_UNRECOGNIZED_COMMAND: Final = 261 -MCIERR_HARDWARE: Final = 262 -MCIERR_INVALID_DEVICE_NAME: Final = 263 -MCIERR_OUT_OF_MEMORY: Final = 264 -MCIERR_DEVICE_OPEN: Final = 265 -MCIERR_CANNOT_LOAD_DRIVER: Final = 266 -MCIERR_MISSING_COMMAND_STRING: Final = 267 -MCIERR_PARAM_OVERFLOW: Final = 268 -MCIERR_MISSING_STRING_ARGUMENT: Final = 269 -MCIERR_BAD_INTEGER: Final = 270 -MCIERR_PARSER_INTERNAL: Final = 271 -MCIERR_DRIVER_INTERNAL: Final = 272 -MCIERR_MISSING_PARAMETER: Final = 273 -MCIERR_UNSUPPORTED_FUNCTION: Final = 274 -MCIERR_FILE_NOT_FOUND: Final = 275 -MCIERR_DEVICE_NOT_READY: Final = 276 -MCIERR_INTERNAL: Final = 277 -MCIERR_DRIVER: Final = 278 -MCIERR_CANNOT_USE_ALL: Final = 279 -MCIERR_MULTIPLE: Final = 280 -MCIERR_EXTENSION_NOT_FOUND: Final = 281 -MCIERR_OUTOFRANGE: Final = 282 -MCIERR_FLAGS_NOT_COMPATIBLE: Final = 284 -MCIERR_FILE_NOT_SAVED: Final = 286 -MCIERR_DEVICE_TYPE_REQUIRED: Final = 287 -MCIERR_DEVICE_LOCKED: Final = 288 -MCIERR_DUPLICATE_ALIAS: Final = 289 -MCIERR_BAD_CONSTANT: Final = 290 -MCIERR_MUST_USE_SHAREABLE: Final = 291 -MCIERR_MISSING_DEVICE_NAME: Final = 292 -MCIERR_BAD_TIME_FORMAT: Final = 293 -MCIERR_NO_CLOSING_QUOTE: Final = 294 -MCIERR_DUPLICATE_FLAGS: Final = 295 -MCIERR_INVALID_FILE: Final = 296 -MCIERR_NULL_PARAMETER_BLOCK: Final = 297 -MCIERR_UNNAMED_RESOURCE: Final = 298 -MCIERR_NEW_REQUIRES_ALIAS: Final = 299 -MCIERR_NOTIFY_ON_AUTO_OPEN: Final = 300 -MCIERR_NO_ELEMENT_ALLOWED: Final = 301 -MCIERR_NONAPPLICABLE_FUNCTION: Final = 302 -MCIERR_ILLEGAL_FOR_AUTO_OPEN: Final = 303 -MCIERR_FILENAME_REQUIRED: Final = 304 -MCIERR_EXTRA_CHARACTERS: Final = 305 -MCIERR_DEVICE_NOT_INSTALLED: Final = 306 -MCIERR_GET_CD: Final = 307 -MCIERR_SET_CD: Final = 308 -MCIERR_SET_DRIVE: Final = 309 -MCIERR_DEVICE_LENGTH: Final = 310 -MCIERR_DEVICE_ORD_LENGTH: Final = 311 -MCIERR_NO_INTEGER: Final = 312 -MCIERR_WAVE_OUTPUTSINUSE: Final = 320 -MCIERR_WAVE_SETOUTPUTINUSE: Final = 321 -MCIERR_WAVE_INPUTSINUSE: Final = 322 -MCIERR_WAVE_SETINPUTINUSE: Final = 323 -MCIERR_WAVE_OUTPUTUNSPECIFIED: Final = 324 -MCIERR_WAVE_INPUTUNSPECIFIED: Final = 325 -MCIERR_WAVE_OUTPUTSUNSUITABLE: Final = 326 -MCIERR_WAVE_SETOUTPUTUNSUITABLE: Final = 327 -MCIERR_WAVE_INPUTSUNSUITABLE: Final = 328 -MCIERR_WAVE_SETINPUTUNSUITABLE: Final = 329 -MCIERR_SEQ_DIV_INCOMPATIBLE: Final = 336 -MCIERR_SEQ_PORT_INUSE: Final = 337 -MCIERR_SEQ_PORT_NONEXISTENT: Final = 338 -MCIERR_SEQ_PORT_MAPNODEVICE: Final = 339 -MCIERR_SEQ_PORT_MISCERROR: Final = 340 -MCIERR_SEQ_TIMER: Final = 341 -MCIERR_SEQ_PORTUNSPECIFIED: Final = 342 -MCIERR_SEQ_NOMIDIPRESENT: Final = 343 -MCIERR_NO_WINDOW: Final = 346 -MCIERR_CREATEWINDOW: Final = 347 -MCIERR_FILE_READ: Final = 348 -MCIERR_FILE_WRITE: Final = 349 -MCIERR_NO_IDENTITY: Final = 350 -MCIERR_CUSTOM_DRIVER_BASE: Final = 512 -MCI_FIRST: Final = DRV_MCI_FIRST -MCI_OPEN: Final = 0x0803 -MCI_CLOSE: Final = 0x0804 -MCI_ESCAPE: Final = 0x0805 -MCI_PLAY: Final = 0x0806 -MCI_SEEK: Final = 0x0807 -MCI_STOP: Final = 0x0808 -MCI_PAUSE: Final = 0x0809 -MCI_INFO: Final = 0x080A -MCI_GETDEVCAPS: Final = 0x080B -MCI_SPIN: Final = 0x080C -MCI_SET: Final = 0x080D -MCI_STEP: Final = 0x080E -MCI_RECORD: Final = 0x080F -MCI_SYSINFO: Final = 0x0810 -MCI_BREAK: Final = 0x0811 -MCI_SAVE: Final = 0x0813 -MCI_STATUS: Final = 0x0814 -MCI_CUE: Final = 0x0830 -MCI_REALIZE: Final = 0x0840 -MCI_WINDOW: Final = 0x0841 -MCI_PUT: Final = 0x0842 -MCI_WHERE: Final = 0x0843 -MCI_FREEZE: Final = 0x0844 -MCI_UNFREEZE: Final = 0x0845 -MCI_LOAD: Final = 0x0850 -MCI_CUT: Final = 0x0851 -MCI_COPY: Final = 0x0852 -MCI_PASTE: Final = 0x0853 -MCI_UPDATE: Final = 0x0854 -MCI_RESUME: Final = 0x0855 -MCI_DELETE: Final = 0x0856 -MCI_USER_MESSAGES: Final = 0x0C00 -MCI_LAST: Final = 0x0FFF -MCI_DEVTYPE_VCR: Final = 513 -MCI_DEVTYPE_VIDEODISC: Final = 514 -MCI_DEVTYPE_OVERLAY: Final = 515 -MCI_DEVTYPE_CD_AUDIO: Final = 516 -MCI_DEVTYPE_DAT: Final = 517 -MCI_DEVTYPE_SCANNER: Final = 518 -MCI_DEVTYPE_ANIMATION: Final = 519 -MCI_DEVTYPE_DIGITAL_VIDEO: Final = 520 -MCI_DEVTYPE_OTHER: Final = 521 -MCI_DEVTYPE_WAVEFORM_AUDIO: Final = 522 -MCI_DEVTYPE_SEQUENCER: Final = 523 -MCI_DEVTYPE_FIRST: Final = MCI_DEVTYPE_VCR -MCI_DEVTYPE_LAST: Final = MCI_DEVTYPE_SEQUENCER -MCI_DEVTYPE_FIRST_USER: Final = 0x1000 -MCI_MODE_NOT_READY: Final = 524 -MCI_MODE_STOP: Final = 525 -MCI_MODE_PLAY: Final = 526 -MCI_MODE_RECORD: Final = 527 -MCI_MODE_SEEK: Final = 528 -MCI_MODE_PAUSE: Final = 529 -MCI_MODE_OPEN: Final = 530 -MCI_FORMAT_MILLISECONDS: Final = 0 -MCI_FORMAT_HMS: Final = 1 -MCI_FORMAT_MSF: Final = 2 -MCI_FORMAT_FRAMES: Final = 3 -MCI_FORMAT_SMPTE_24: Final = 4 -MCI_FORMAT_SMPTE_25: Final = 5 -MCI_FORMAT_SMPTE_30: Final = 6 -MCI_FORMAT_SMPTE_30DROP: Final = 7 -MCI_FORMAT_BYTES: Final = 8 -MCI_FORMAT_SAMPLES: Final = 9 -MCI_FORMAT_TMSF: Final = 10 +MIDISTRM_ERROR: int +MIDIPROP_SET: int +MIDIPROP_GET: int +MIDIPROP_TIMEDIV: int +MIDIPROP_TEMPO: int +AUXCAPS_CDAUDIO: int +AUXCAPS_AUXIN: int +AUXCAPS_VOLUME: int +AUXCAPS_LRVOLUME: int +MIXER_SHORT_NAME_CHARS: int +MIXER_LONG_NAME_CHARS: int +MIXERR_INVALLINE: Incomplete +MIXERR_INVALCONTROL: Incomplete +MIXERR_INVALVALUE: Incomplete +MIXERR_LASTERROR: Incomplete +MIXER_OBJECTF_HANDLE: int +MIXER_OBJECTF_MIXER: int +MIXER_OBJECTF_HMIXER: Incomplete +MIXER_OBJECTF_WAVEOUT: int +MIXER_OBJECTF_HWAVEOUT: Incomplete +MIXER_OBJECTF_WAVEIN: int +MIXER_OBJECTF_HWAVEIN: Incomplete +MIXER_OBJECTF_MIDIOUT: int +MIXER_OBJECTF_HMIDIOUT: Incomplete +MIXER_OBJECTF_MIDIIN: int +MIXER_OBJECTF_HMIDIIN: Incomplete +MIXER_OBJECTF_AUX: int +MIXERLINE_LINEF_ACTIVE: int +MIXERLINE_LINEF_DISCONNECTED: int +MIXERLINE_LINEF_SOURCE: int +MIXERLINE_COMPONENTTYPE_DST_FIRST: int +MIXERLINE_COMPONENTTYPE_DST_UNDEFINED: Incomplete +MIXERLINE_COMPONENTTYPE_DST_DIGITAL: Incomplete +MIXERLINE_COMPONENTTYPE_DST_LINE: Incomplete +MIXERLINE_COMPONENTTYPE_DST_MONITOR: Incomplete +MIXERLINE_COMPONENTTYPE_DST_SPEAKERS: Incomplete +MIXERLINE_COMPONENTTYPE_DST_HEADPHONES: Incomplete +MIXERLINE_COMPONENTTYPE_DST_TELEPHONE: Incomplete +MIXERLINE_COMPONENTTYPE_DST_WAVEIN: Incomplete +MIXERLINE_COMPONENTTYPE_DST_VOICEIN: Incomplete +MIXERLINE_COMPONENTTYPE_DST_LAST: Incomplete +MIXERLINE_COMPONENTTYPE_SRC_FIRST: int +MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED: Incomplete +MIXERLINE_COMPONENTTYPE_SRC_DIGITAL: Incomplete +MIXERLINE_COMPONENTTYPE_SRC_LINE: Incomplete +MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE: Incomplete +MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER: Incomplete +MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC: Incomplete +MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE: Incomplete +MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER: Incomplete +MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT: Incomplete +MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY: Incomplete +MIXERLINE_COMPONENTTYPE_SRC_ANALOG: Incomplete +MIXERLINE_COMPONENTTYPE_SRC_LAST: Incomplete +MIXERLINE_TARGETTYPE_UNDEFINED: int +MIXERLINE_TARGETTYPE_WAVEOUT: int +MIXERLINE_TARGETTYPE_WAVEIN: int +MIXERLINE_TARGETTYPE_MIDIOUT: int +MIXERLINE_TARGETTYPE_MIDIIN: int +MIXERLINE_TARGETTYPE_AUX: int +MIXER_GETLINEINFOF_DESTINATION: int +MIXER_GETLINEINFOF_SOURCE: int +MIXER_GETLINEINFOF_LINEID: int +MIXER_GETLINEINFOF_COMPONENTTYPE: int +MIXER_GETLINEINFOF_TARGETTYPE: int +MIXER_GETLINEINFOF_QUERYMASK: int +MIXERCONTROL_CONTROLF_UNIFORM: int +MIXERCONTROL_CONTROLF_MULTIPLE: int +MIXERCONTROL_CONTROLF_DISABLED: int +MIXERCONTROL_CT_CLASS_MASK: int +MIXERCONTROL_CT_CLASS_CUSTOM: int +MIXERCONTROL_CT_CLASS_METER: int +MIXERCONTROL_CT_CLASS_SWITCH: int +MIXERCONTROL_CT_CLASS_NUMBER: int +MIXERCONTROL_CT_CLASS_SLIDER: int +MIXERCONTROL_CT_CLASS_FADER: int +MIXERCONTROL_CT_CLASS_TIME: int +MIXERCONTROL_CT_CLASS_LIST: int +MIXERCONTROL_CT_SUBCLASS_MASK: int +MIXERCONTROL_CT_SC_SWITCH_BOOLEAN: int +MIXERCONTROL_CT_SC_SWITCH_BUTTON: int +MIXERCONTROL_CT_SC_METER_POLLED: int +MIXERCONTROL_CT_SC_TIME_MICROSECS: int +MIXERCONTROL_CT_SC_TIME_MILLISECS: int +MIXERCONTROL_CT_SC_LIST_SINGLE: int +MIXERCONTROL_CT_SC_LIST_MULTIPLE: int +MIXERCONTROL_CT_UNITS_MASK: int +MIXERCONTROL_CT_UNITS_CUSTOM: int +MIXERCONTROL_CT_UNITS_BOOLEAN: int +MIXERCONTROL_CT_UNITS_SIGNED: int +MIXERCONTROL_CT_UNITS_UNSIGNED: int +MIXERCONTROL_CT_UNITS_DECIBELS: int +MIXERCONTROL_CT_UNITS_PERCENT: int +MIXERCONTROL_CONTROLTYPE_CUSTOM: Incomplete +MIXERCONTROL_CONTROLTYPE_BOOLEANMETER: Incomplete +MIXERCONTROL_CONTROLTYPE_SIGNEDMETER: Incomplete +MIXERCONTROL_CONTROLTYPE_PEAKMETER: Incomplete +MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER: Incomplete +MIXERCONTROL_CONTROLTYPE_BOOLEAN: Incomplete +MIXERCONTROL_CONTROLTYPE_ONOFF: Incomplete +MIXERCONTROL_CONTROLTYPE_MUTE: Incomplete +MIXERCONTROL_CONTROLTYPE_MONO: Incomplete +MIXERCONTROL_CONTROLTYPE_LOUDNESS: Incomplete +MIXERCONTROL_CONTROLTYPE_STEREOENH: Incomplete +MIXERCONTROL_CONTROLTYPE_BUTTON: Incomplete +MIXERCONTROL_CONTROLTYPE_DECIBELS: Incomplete +MIXERCONTROL_CONTROLTYPE_SIGNED: Incomplete +MIXERCONTROL_CONTROLTYPE_UNSIGNED: Incomplete +MIXERCONTROL_CONTROLTYPE_PERCENT: Incomplete +MIXERCONTROL_CONTROLTYPE_SLIDER: Incomplete +MIXERCONTROL_CONTROLTYPE_PAN: Incomplete +MIXERCONTROL_CONTROLTYPE_QSOUNDPAN: Incomplete +MIXERCONTROL_CONTROLTYPE_FADER: Incomplete +MIXERCONTROL_CONTROLTYPE_VOLUME: Incomplete +MIXERCONTROL_CONTROLTYPE_BASS: Incomplete +MIXERCONTROL_CONTROLTYPE_TREBLE: Incomplete +MIXERCONTROL_CONTROLTYPE_EQUALIZER: Incomplete +MIXERCONTROL_CONTROLTYPE_SINGLESELECT: Incomplete +MIXERCONTROL_CONTROLTYPE_MUX: Incomplete +MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT: Incomplete +MIXERCONTROL_CONTROLTYPE_MIXER: Incomplete +MIXERCONTROL_CONTROLTYPE_MICROTIME: Incomplete +MIXERCONTROL_CONTROLTYPE_MILLITIME: Incomplete +MIXER_GETLINECONTROLSF_ALL: int +MIXER_GETLINECONTROLSF_ONEBYID: int +MIXER_GETLINECONTROLSF_ONEBYTYPE: int +MIXER_GETLINECONTROLSF_QUERYMASK: int +MIXER_GETCONTROLDETAILSF_VALUE: int +MIXER_GETCONTROLDETAILSF_LISTTEXT: int +MIXER_GETCONTROLDETAILSF_QUERYMASK: int +MIXER_SETCONTROLDETAILSF_VALUE: int +MIXER_SETCONTROLDETAILSF_CUSTOM: int +MIXER_SETCONTROLDETAILSF_QUERYMASK: int +TIMERR_NOERROR: int +TIMERR_NOCANDO: Incomplete +TIMERR_STRUCT: Incomplete +TIME_ONESHOT: int +TIME_PERIODIC: int +TIME_CALLBACK_FUNCTION: int +TIME_CALLBACK_EVENT_SET: int +TIME_CALLBACK_EVENT_PULSE: int +JOYERR_NOERROR: int +JOYERR_PARMS: Incomplete +JOYERR_NOCANDO: Incomplete +JOYERR_UNPLUGGED: Incomplete +JOY_BUTTON1: int +JOY_BUTTON2: int +JOY_BUTTON3: int +JOY_BUTTON4: int +JOY_BUTTON1CHG: int +JOY_BUTTON2CHG: int +JOY_BUTTON3CHG: int +JOY_BUTTON4CHG: int +JOY_BUTTON5: int +JOY_BUTTON6: int +JOY_BUTTON7: int +JOY_BUTTON8: int +JOY_BUTTON9: int +JOY_BUTTON10: int +JOY_BUTTON11: int +JOY_BUTTON12: int +JOY_BUTTON13: int +JOY_BUTTON14: int +JOY_BUTTON15: int +JOY_BUTTON16: int +JOY_BUTTON17: int +JOY_BUTTON18: int +JOY_BUTTON19: int +JOY_BUTTON20: int +JOY_BUTTON21: int +JOY_BUTTON22: int +JOY_BUTTON23: int +JOY_BUTTON24: int +JOY_BUTTON25: int +JOY_BUTTON26: int +JOY_BUTTON27: int +JOY_BUTTON28: int +JOY_BUTTON29: int +JOY_BUTTON30: int +JOY_BUTTON31: int +JOY_BUTTON32: int +JOY_POVFORWARD: int +JOY_POVRIGHT: int +JOY_POVBACKWARD: int +JOY_POVLEFT: int +JOY_RETURNX: int +JOY_RETURNY: int +JOY_RETURNZ: int +JOY_RETURNR: int +JOY_RETURNU: int +JOY_RETURNV: int +JOY_RETURNPOV: int +JOY_RETURNBUTTONS: int +JOY_RETURNRAWDATA: int +JOY_RETURNPOVCTS: int +JOY_RETURNCENTERED: int +JOY_USEDEADZONE: int +JOY_RETURNALL: Incomplete +JOY_CAL_READALWAYS: int +JOY_CAL_READXYONLY: int +JOY_CAL_READ3: int +JOY_CAL_READ4: int +JOY_CAL_READXONLY: int +JOY_CAL_READYONLY: int +JOY_CAL_READ5: int +JOY_CAL_READ6: int +JOY_CAL_READZONLY: int +JOY_CAL_READRONLY: int +JOY_CAL_READUONLY: int +JOY_CAL_READVONLY: int +JOYSTICKID1: int +JOYSTICKID2: int +JOYCAPS_HASZ: int +JOYCAPS_HASR: int +JOYCAPS_HASU: int +JOYCAPS_HASV: int +JOYCAPS_HASPOV: int +JOYCAPS_POV4DIR: int +JOYCAPS_POVCTS: int +MMIOERR_BASE: int +MMIOERR_FILENOTFOUND: Incomplete +MMIOERR_OUTOFMEMORY: Incomplete +MMIOERR_CANNOTOPEN: Incomplete +MMIOERR_CANNOTCLOSE: Incomplete +MMIOERR_CANNOTREAD: Incomplete +MMIOERR_CANNOTWRITE: Incomplete +MMIOERR_CANNOTSEEK: Incomplete +MMIOERR_CANNOTEXPAND: Incomplete +MMIOERR_CHUNKNOTFOUND: Incomplete +MMIOERR_UNBUFFERED: Incomplete +MMIOERR_PATHNOTFOUND: Incomplete +MMIOERR_ACCESSDENIED: Incomplete +MMIOERR_SHARINGVIOLATION: Incomplete +MMIOERR_NETWORKERROR: Incomplete +MMIOERR_TOOMANYOPENFILES: Incomplete +MMIOERR_INVALIDFILE: Incomplete +CFSEPCHAR: Incomplete +MMIO_RWMODE: int +MMIO_SHAREMODE: int +MMIO_CREATE: int +MMIO_PARSE: int +MMIO_DELETE: int +MMIO_EXIST: int +MMIO_ALLOCBUF: int +MMIO_GETTEMP: int +MMIO_DIRTY: int +MMIO_READ: int +MMIO_WRITE: int +MMIO_READWRITE: int +MMIO_COMPAT: int +MMIO_EXCLUSIVE: int +MMIO_DENYWRITE: int +MMIO_DENYREAD: int +MMIO_DENYNONE: int +MMIO_FHOPEN: int +MMIO_EMPTYBUF: int +MMIO_TOUPPER: int +MMIO_INSTALLPROC: int +MMIO_GLOBALPROC: int +MMIO_REMOVEPROC: int +MMIO_UNICODEPROC: int +MMIO_FINDPROC: int +MMIO_FINDCHUNK: int +MMIO_FINDRIFF: int +MMIO_FINDLIST: int +MMIO_CREATERIFF: int +MMIO_CREATELIST: int +MMIOM_READ: int +MMIOM_WRITE: int +MMIOM_SEEK: int +MMIOM_OPEN: int +MMIOM_CLOSE: int +MMIOM_WRITEFLUSH: int +MMIOM_RENAME: int +MMIOM_USER: int +SEEK_SET: int +SEEK_CUR: int +SEEK_END: int +MMIO_DEFAULTBUFFER: int +MCIERR_INVALID_DEVICE_ID: Incomplete +MCIERR_UNRECOGNIZED_KEYWORD: Incomplete +MCIERR_UNRECOGNIZED_COMMAND: Incomplete +MCIERR_HARDWARE: Incomplete +MCIERR_INVALID_DEVICE_NAME: Incomplete +MCIERR_OUT_OF_MEMORY: Incomplete +MCIERR_DEVICE_OPEN: Incomplete +MCIERR_CANNOT_LOAD_DRIVER: Incomplete +MCIERR_MISSING_COMMAND_STRING: Incomplete +MCIERR_PARAM_OVERFLOW: Incomplete +MCIERR_MISSING_STRING_ARGUMENT: Incomplete +MCIERR_BAD_INTEGER: Incomplete +MCIERR_PARSER_INTERNAL: Incomplete +MCIERR_DRIVER_INTERNAL: Incomplete +MCIERR_MISSING_PARAMETER: Incomplete +MCIERR_UNSUPPORTED_FUNCTION: Incomplete +MCIERR_FILE_NOT_FOUND: Incomplete +MCIERR_DEVICE_NOT_READY: Incomplete +MCIERR_INTERNAL: Incomplete +MCIERR_DRIVER: Incomplete +MCIERR_CANNOT_USE_ALL: Incomplete +MCIERR_MULTIPLE: Incomplete +MCIERR_EXTENSION_NOT_FOUND: Incomplete +MCIERR_OUTOFRANGE: Incomplete +MCIERR_FLAGS_NOT_COMPATIBLE: Incomplete +MCIERR_FILE_NOT_SAVED: Incomplete +MCIERR_DEVICE_TYPE_REQUIRED: Incomplete +MCIERR_DEVICE_LOCKED: Incomplete +MCIERR_DUPLICATE_ALIAS: Incomplete +MCIERR_BAD_CONSTANT: Incomplete +MCIERR_MUST_USE_SHAREABLE: Incomplete +MCIERR_MISSING_DEVICE_NAME: Incomplete +MCIERR_BAD_TIME_FORMAT: Incomplete +MCIERR_NO_CLOSING_QUOTE: Incomplete +MCIERR_DUPLICATE_FLAGS: Incomplete +MCIERR_INVALID_FILE: Incomplete +MCIERR_NULL_PARAMETER_BLOCK: Incomplete +MCIERR_UNNAMED_RESOURCE: Incomplete +MCIERR_NEW_REQUIRES_ALIAS: Incomplete +MCIERR_NOTIFY_ON_AUTO_OPEN: Incomplete +MCIERR_NO_ELEMENT_ALLOWED: Incomplete +MCIERR_NONAPPLICABLE_FUNCTION: Incomplete +MCIERR_ILLEGAL_FOR_AUTO_OPEN: Incomplete +MCIERR_FILENAME_REQUIRED: Incomplete +MCIERR_EXTRA_CHARACTERS: Incomplete +MCIERR_DEVICE_NOT_INSTALLED: Incomplete +MCIERR_GET_CD: Incomplete +MCIERR_SET_CD: Incomplete +MCIERR_SET_DRIVE: Incomplete +MCIERR_DEVICE_LENGTH: Incomplete +MCIERR_DEVICE_ORD_LENGTH: Incomplete +MCIERR_NO_INTEGER: Incomplete +MCIERR_WAVE_OUTPUTSINUSE: Incomplete +MCIERR_WAVE_SETOUTPUTINUSE: Incomplete +MCIERR_WAVE_INPUTSINUSE: Incomplete +MCIERR_WAVE_SETINPUTINUSE: Incomplete +MCIERR_WAVE_OUTPUTUNSPECIFIED: Incomplete +MCIERR_WAVE_INPUTUNSPECIFIED: Incomplete +MCIERR_WAVE_OUTPUTSUNSUITABLE: Incomplete +MCIERR_WAVE_SETOUTPUTUNSUITABLE: Incomplete +MCIERR_WAVE_INPUTSUNSUITABLE: Incomplete +MCIERR_WAVE_SETINPUTUNSUITABLE: Incomplete +MCIERR_SEQ_DIV_INCOMPATIBLE: Incomplete +MCIERR_SEQ_PORT_INUSE: Incomplete +MCIERR_SEQ_PORT_NONEXISTENT: Incomplete +MCIERR_SEQ_PORT_MAPNODEVICE: Incomplete +MCIERR_SEQ_PORT_MISCERROR: Incomplete +MCIERR_SEQ_TIMER: Incomplete +MCIERR_SEQ_PORTUNSPECIFIED: Incomplete +MCIERR_SEQ_NOMIDIPRESENT: Incomplete +MCIERR_NO_WINDOW: Incomplete +MCIERR_CREATEWINDOW: Incomplete +MCIERR_FILE_READ: Incomplete +MCIERR_FILE_WRITE: Incomplete +MCIERR_NO_IDENTITY: Incomplete +MCIERR_CUSTOM_DRIVER_BASE: Incomplete +MCI_FIRST: int +MCI_OPEN: int +MCI_CLOSE: int +MCI_ESCAPE: int +MCI_PLAY: int +MCI_SEEK: int +MCI_STOP: int +MCI_PAUSE: int +MCI_INFO: int +MCI_GETDEVCAPS: int +MCI_SPIN: int +MCI_SET: int +MCI_STEP: int +MCI_RECORD: int +MCI_SYSINFO: int +MCI_BREAK: int +MCI_SAVE: int +MCI_STATUS: int +MCI_CUE: int +MCI_REALIZE: int +MCI_WINDOW: int +MCI_PUT: int +MCI_WHERE: int +MCI_FREEZE: int +MCI_UNFREEZE: int +MCI_LOAD: int +MCI_CUT: int +MCI_COPY: int +MCI_PASTE: int +MCI_UPDATE: int +MCI_RESUME: int +MCI_DELETE: int +MCI_USER_MESSAGES: Incomplete +MCI_LAST: int +MCI_DEVTYPE_VCR: int +MCI_DEVTYPE_VIDEODISC: int +MCI_DEVTYPE_OVERLAY: int +MCI_DEVTYPE_CD_AUDIO: int +MCI_DEVTYPE_DAT: int +MCI_DEVTYPE_SCANNER: int +MCI_DEVTYPE_ANIMATION: int +MCI_DEVTYPE_DIGITAL_VIDEO: int +MCI_DEVTYPE_OTHER: int +MCI_DEVTYPE_WAVEFORM_AUDIO: int +MCI_DEVTYPE_SEQUENCER: int +MCI_DEVTYPE_FIRST: int +MCI_DEVTYPE_LAST: int +MCI_DEVTYPE_FIRST_USER: int +MCI_MODE_NOT_READY: Incomplete +MCI_MODE_STOP: Incomplete +MCI_MODE_PLAY: Incomplete +MCI_MODE_RECORD: Incomplete +MCI_MODE_SEEK: Incomplete +MCI_MODE_PAUSE: Incomplete +MCI_MODE_OPEN: Incomplete +MCI_FORMAT_MILLISECONDS: int +MCI_FORMAT_HMS: int +MCI_FORMAT_MSF: int +MCI_FORMAT_FRAMES: int +MCI_FORMAT_SMPTE_24: int +MCI_FORMAT_SMPTE_25: int +MCI_FORMAT_SMPTE_30: int +MCI_FORMAT_SMPTE_30DROP: int +MCI_FORMAT_BYTES: int +MCI_FORMAT_SAMPLES: int +MCI_FORMAT_TMSF: int -def MCI_MSF_MINUTE(msf: int) -> int: ... -def MCI_MSF_SECOND(msf: int) -> int: ... -def MCI_MSF_FRAME(msf: int) -> int: ... -def MCI_TMSF_TRACK(tmsf: int) -> int: ... -def MCI_TMSF_MINUTE(tmsf: int) -> int: ... -def MCI_TMSF_SECOND(tmsf: int) -> int: ... -def MCI_TMSF_FRAME(tmsf: int) -> int: ... -def MCI_HMS_HOUR(hms: int) -> int: ... -def MCI_HMS_MINUTE(hms: int) -> int: ... -def MCI_HMS_SECOND(hms: int) -> int: ... +def MCI_MSF_MINUTE(msf): ... +def MCI_MSF_SECOND(msf): ... +def MCI_MSF_FRAME(msf): ... +def MCI_TMSF_TRACK(tmsf): ... +def MCI_TMSF_MINUTE(tmsf): ... +def MCI_TMSF_SECOND(tmsf): ... +def MCI_TMSF_FRAME(tmsf): ... +def MCI_HMS_HOUR(hms): ... +def MCI_HMS_MINUTE(hms): ... +def MCI_HMS_SECOND(hms): ... -MCI_NOTIFY_SUCCESSFUL: Final = 0x0001 -MCI_NOTIFY_SUPERSEDED: Final = 0x0002 -MCI_NOTIFY_ABORTED: Final = 0x0004 -MCI_NOTIFY_FAILURE: Final = 0x0008 -MCI_NOTIFY: Final = 0x00000001 -MCI_WAIT: Final = 0x00000002 -MCI_FROM: Final = 0x00000004 -MCI_TO: Final = 0x00000008 -MCI_TRACK: Final = 0x00000010 -MCI_OPEN_SHAREABLE: Final = 0x00000100 -MCI_OPEN_ELEMENT: Final = 0x00000200 -MCI_OPEN_ALIAS: Final = 0x00000400 -MCI_OPEN_ELEMENT_ID: Final = 0x00000800 -MCI_OPEN_TYPE_ID: Final = 0x00001000 -MCI_OPEN_TYPE: Final = 0x00002000 -MCI_SEEK_TO_START: Final = 0x00000100 -MCI_SEEK_TO_END: Final = 0x00000200 -MCI_STATUS_ITEM: Final = 0x00000100 -MCI_STATUS_START: Final = 0x00000200 -MCI_STATUS_LENGTH: Final = 0x00000001 -MCI_STATUS_POSITION: Final = 0x00000002 -MCI_STATUS_NUMBER_OF_TRACKS: Final = 0x00000003 -MCI_STATUS_MODE: Final = 0x00000004 -MCI_STATUS_MEDIA_PRESENT: Final = 0x00000005 -MCI_STATUS_TIME_FORMAT: Final = 0x00000006 -MCI_STATUS_READY: Final = 0x00000007 -MCI_STATUS_CURRENT_TRACK: Final = 0x00000008 -MCI_INFO_PRODUCT: Final = 0x00000100 -MCI_INFO_FILE: Final = 0x00000200 -MCI_INFO_MEDIA_UPC: Final = 0x00000400 -MCI_INFO_MEDIA_IDENTITY: Final = 0x00000800 -MCI_INFO_NAME: Final = 0x00001000 -MCI_INFO_COPYRIGHT: Final = 0x00002000 -MCI_GETDEVCAPS_ITEM: Final = 0x00000100 -MCI_GETDEVCAPS_CAN_RECORD: Final = 0x00000001 -MCI_GETDEVCAPS_HAS_AUDIO: Final = 0x00000002 -MCI_GETDEVCAPS_HAS_VIDEO: Final = 0x00000003 -MCI_GETDEVCAPS_DEVICE_TYPE: Final = 0x00000004 -MCI_GETDEVCAPS_USES_FILES: Final = 0x00000005 -MCI_GETDEVCAPS_COMPOUND_DEVICE: Final = 0x00000006 -MCI_GETDEVCAPS_CAN_EJECT: Final = 0x00000007 -MCI_GETDEVCAPS_CAN_PLAY: Final = 0x00000008 -MCI_GETDEVCAPS_CAN_SAVE: Final = 0x00000009 -MCI_SYSINFO_QUANTITY: Final = 0x00000100 -MCI_SYSINFO_OPEN: Final = 0x00000200 -MCI_SYSINFO_NAME: Final = 0x00000400 -MCI_SYSINFO_INSTALLNAME: Final = 0x00000800 -MCI_SET_DOOR_OPEN: Final = 0x00000100 -MCI_SET_DOOR_CLOSED: Final = 0x00000200 -MCI_SET_TIME_FORMAT: Final = 0x00000400 -MCI_SET_AUDIO: Final = 0x00000800 -MCI_SET_VIDEO: Final = 0x00001000 -MCI_SET_ON: Final = 0x00002000 -MCI_SET_OFF: Final = 0x00004000 -MCI_SET_AUDIO_ALL: Final = 0x00000000 -MCI_SET_AUDIO_LEFT: Final = 0x00000001 -MCI_SET_AUDIO_RIGHT: Final = 0x00000002 -MCI_BREAK_KEY: Final = 0x00000100 -MCI_BREAK_HWND: Final = 0x00000200 -MCI_BREAK_OFF: Final = 0x00000400 -MCI_RECORD_INSERT: Final = 0x00000100 -MCI_RECORD_OVERWRITE: Final = 0x00000200 -MCI_SAVE_FILE: Final = 0x00000100 -MCI_LOAD_FILE: Final = 0x00000100 -MCI_VD_MODE_PARK: Final = 1025 -MCI_VD_MEDIA_CLV: Final = 1026 -MCI_VD_MEDIA_CAV: Final = 1027 -MCI_VD_MEDIA_OTHER: Final = 1028 -MCI_VD_FORMAT_TRACK: Final = 0x4001 -MCI_VD_PLAY_REVERSE: Final = 0x00010000 -MCI_VD_PLAY_FAST: Final = 0x00020000 -MCI_VD_PLAY_SPEED: Final = 0x00040000 -MCI_VD_PLAY_SCAN: Final = 0x00080000 -MCI_VD_PLAY_SLOW: Final = 0x00100000 -MCI_VD_SEEK_REVERSE: Final = 0x00010000 -MCI_VD_STATUS_SPEED: Final = 0x00004002 -MCI_VD_STATUS_FORWARD: Final = 0x00004003 -MCI_VD_STATUS_MEDIA_TYPE: Final = 0x00004004 -MCI_VD_STATUS_SIDE: Final = 0x00004005 -MCI_VD_STATUS_DISC_SIZE: Final = 0x00004006 -MCI_VD_GETDEVCAPS_CLV: Final = 0x00010000 -MCI_VD_GETDEVCAPS_CAV: Final = 0x00020000 -MCI_VD_SPIN_UP: Final = 0x00010000 -MCI_VD_SPIN_DOWN: Final = 0x00020000 -MCI_VD_GETDEVCAPS_CAN_REVERSE: Final = 0x00004002 -MCI_VD_GETDEVCAPS_FAST_RATE: Final = 0x00004003 -MCI_VD_GETDEVCAPS_SLOW_RATE: Final = 0x00004004 -MCI_VD_GETDEVCAPS_NORMAL_RATE: Final = 0x00004005 -MCI_VD_STEP_FRAMES: Final = 0x00010000 -MCI_VD_STEP_REVERSE: Final = 0x00020000 -MCI_VD_ESCAPE_STRING: Final = 0x00000100 -MCI_CDA_STATUS_TYPE_TRACK: Final = 0x00004001 -MCI_CDA_TRACK_AUDIO: Final = 1088 -MCI_CDA_TRACK_OTHER: Final = 1089 -MCI_WAVE_PCM: Final = 1152 -MCI_WAVE_MAPPER: Final = 1153 -MCI_WAVE_OPEN_BUFFER: Final = 0x00010000 -MCI_WAVE_SET_FORMATTAG: Final = 0x00010000 -MCI_WAVE_SET_CHANNELS: Final = 0x00020000 -MCI_WAVE_SET_SAMPLESPERSEC: Final = 0x00040000 -MCI_WAVE_SET_AVGBYTESPERSEC: Final = 0x00080000 -MCI_WAVE_SET_BLOCKALIGN: Final = 0x00100000 -MCI_WAVE_SET_BITSPERSAMPLE: Final = 0x00200000 -MCI_WAVE_INPUT: Final = 0x00400000 -MCI_WAVE_OUTPUT: Final = 0x00800000 -MCI_WAVE_STATUS_FORMATTAG: Final = 0x00004001 -MCI_WAVE_STATUS_CHANNELS: Final = 0x00004002 -MCI_WAVE_STATUS_SAMPLESPERSEC: Final = 0x00004003 -MCI_WAVE_STATUS_AVGBYTESPERSEC: Final = 0x00004004 -MCI_WAVE_STATUS_BLOCKALIGN: Final = 0x00004005 -MCI_WAVE_STATUS_BITSPERSAMPLE: Final = 0x00004006 -MCI_WAVE_STATUS_LEVEL: Final = 0x00004007 -MCI_WAVE_SET_ANYINPUT: Final = 0x04000000 -MCI_WAVE_SET_ANYOUTPUT: Final = 0x08000000 -MCI_WAVE_GETDEVCAPS_INPUTS: Final = 0x00004001 -MCI_WAVE_GETDEVCAPS_OUTPUTS: Final = 0x00004002 -MCI_SEQ_DIV_PPQN: Final = 1216 -MCI_SEQ_DIV_SMPTE_24: Final = 1217 -MCI_SEQ_DIV_SMPTE_25: Final = 1218 -MCI_SEQ_DIV_SMPTE_30DROP: Final = 1219 -MCI_SEQ_DIV_SMPTE_30: Final = 1220 -MCI_SEQ_FORMAT_SONGPTR: Final = 0x4001 -MCI_SEQ_FILE: Final = 0x4002 -MCI_SEQ_MIDI: Final = 0x4003 -MCI_SEQ_SMPTE: Final = 0x4004 -MCI_SEQ_NONE: Final = 65533 -MCI_SEQ_MAPPER: Final = 65535 -MCI_SEQ_STATUS_TEMPO: Final = 0x00004002 -MCI_SEQ_STATUS_PORT: Final = 0x00004003 -MCI_SEQ_STATUS_SLAVE: Final = 0x00004007 -MCI_SEQ_STATUS_MASTER: Final = 0x00004008 -MCI_SEQ_STATUS_OFFSET: Final = 0x00004009 -MCI_SEQ_STATUS_DIVTYPE: Final = 0x0000400A -MCI_SEQ_STATUS_NAME: Final = 0x0000400B -MCI_SEQ_STATUS_COPYRIGHT: Final = 0x0000400C -MCI_SEQ_SET_TEMPO: Final = 0x00010000 -MCI_SEQ_SET_PORT: Final = 0x00020000 -MCI_SEQ_SET_SLAVE: Final = 0x00040000 -MCI_SEQ_SET_MASTER: Final = 0x00080000 -MCI_SEQ_SET_OFFSET: Final = 0x01000000 -MCI_ANIM_OPEN_WS: Final = 0x00010000 -MCI_ANIM_OPEN_PARENT: Final = 0x00020000 -MCI_ANIM_OPEN_NOSTATIC: Final = 0x00040000 -MCI_ANIM_PLAY_SPEED: Final = 0x00010000 -MCI_ANIM_PLAY_REVERSE: Final = 0x00020000 -MCI_ANIM_PLAY_FAST: Final = 0x00040000 -MCI_ANIM_PLAY_SLOW: Final = 0x00080000 -MCI_ANIM_PLAY_SCAN: Final = 0x00100000 -MCI_ANIM_STEP_REVERSE: Final = 0x00010000 -MCI_ANIM_STEP_FRAMES: Final = 0x00020000 -MCI_ANIM_STATUS_SPEED: Final = 0x00004001 -MCI_ANIM_STATUS_FORWARD: Final = 0x00004002 -MCI_ANIM_STATUS_HWND: Final = 0x00004003 -MCI_ANIM_STATUS_HPAL: Final = 0x00004004 -MCI_ANIM_STATUS_STRETCH: Final = 0x00004005 -MCI_ANIM_INFO_TEXT: Final = 0x00010000 -MCI_ANIM_GETDEVCAPS_CAN_REVERSE: Final = 0x00004001 -MCI_ANIM_GETDEVCAPS_FAST_RATE: Final = 0x00004002 -MCI_ANIM_GETDEVCAPS_SLOW_RATE: Final = 0x00004003 -MCI_ANIM_GETDEVCAPS_NORMAL_RATE: Final = 0x00004004 -MCI_ANIM_GETDEVCAPS_PALETTES: Final = 0x00004006 -MCI_ANIM_GETDEVCAPS_CAN_STRETCH: Final = 0x00004007 -MCI_ANIM_GETDEVCAPS_MAX_WINDOWS: Final = 0x00004008 -MCI_ANIM_REALIZE_NORM: Final = 0x00010000 -MCI_ANIM_REALIZE_BKGD: Final = 0x00020000 -MCI_ANIM_WINDOW_HWND: Final = 0x00010000 -MCI_ANIM_WINDOW_STATE: Final = 0x00040000 -MCI_ANIM_WINDOW_TEXT: Final = 0x00080000 -MCI_ANIM_WINDOW_ENABLE_STRETCH: Final = 0x00100000 -MCI_ANIM_WINDOW_DISABLE_STRETCH: Final = 0x00200000 -MCI_ANIM_WINDOW_DEFAULT: Final = 0x00000000 -MCI_ANIM_RECT: Final = 0x00010000 -MCI_ANIM_PUT_SOURCE: Final = 0x00020000 -MCI_ANIM_PUT_DESTINATION: Final = 0x00040000 -MCI_ANIM_WHERE_SOURCE: Final = 0x00020000 -MCI_ANIM_WHERE_DESTINATION: Final = 0x00040000 -MCI_ANIM_UPDATE_HDC: Final = 0x00020000 -MCI_OVLY_OPEN_WS: Final = 0x00010000 -MCI_OVLY_OPEN_PARENT: Final = 0x00020000 -MCI_OVLY_STATUS_HWND: Final = 0x00004001 -MCI_OVLY_STATUS_STRETCH: Final = 0x00004002 -MCI_OVLY_INFO_TEXT: Final = 0x00010000 -MCI_OVLY_GETDEVCAPS_CAN_STRETCH: Final = 0x00004001 -MCI_OVLY_GETDEVCAPS_CAN_FREEZE: Final = 0x00004002 -MCI_OVLY_GETDEVCAPS_MAX_WINDOWS: Final = 0x00004003 -MCI_OVLY_WINDOW_HWND: Final = 0x00010000 -MCI_OVLY_WINDOW_STATE: Final = 0x00040000 -MCI_OVLY_WINDOW_TEXT: Final = 0x00080000 -MCI_OVLY_WINDOW_ENABLE_STRETCH: Final = 0x00100000 -MCI_OVLY_WINDOW_DISABLE_STRETCH: Final = 0x00200000 -MCI_OVLY_WINDOW_DEFAULT: Final = 0x00000000 -MCI_OVLY_RECT: Final = 0x00010000 -MCI_OVLY_PUT_SOURCE: Final = 0x00020000 -MCI_OVLY_PUT_DESTINATION: Final = 0x00040000 -MCI_OVLY_PUT_FRAME: Final = 0x00080000 -MCI_OVLY_PUT_VIDEO: Final = 0x00100000 -MCI_OVLY_WHERE_SOURCE: Final = 0x00020000 -MCI_OVLY_WHERE_DESTINATION: Final = 0x00040000 -MCI_OVLY_WHERE_FRAME: Final = 0x00080000 -MCI_OVLY_WHERE_VIDEO: Final = 0x00100000 -SELECTDIB: Final = 41 +MCI_NOTIFY_SUCCESSFUL: int +MCI_NOTIFY_SUPERSEDED: int +MCI_NOTIFY_ABORTED: int +MCI_NOTIFY_FAILURE: int +MCI_NOTIFY: int +MCI_WAIT: int +MCI_FROM: int +MCI_TO: int +MCI_TRACK: int +MCI_OPEN_SHAREABLE: int +MCI_OPEN_ELEMENT: int +MCI_OPEN_ALIAS: int +MCI_OPEN_ELEMENT_ID: int +MCI_OPEN_TYPE_ID: int +MCI_OPEN_TYPE: int +MCI_SEEK_TO_START: int +MCI_SEEK_TO_END: int +MCI_STATUS_ITEM: int +MCI_STATUS_START: int +MCI_STATUS_LENGTH: int +MCI_STATUS_POSITION: int +MCI_STATUS_NUMBER_OF_TRACKS: int +MCI_STATUS_MODE: int +MCI_STATUS_MEDIA_PRESENT: int +MCI_STATUS_TIME_FORMAT: int +MCI_STATUS_READY: int +MCI_STATUS_CURRENT_TRACK: int +MCI_INFO_PRODUCT: int +MCI_INFO_FILE: int +MCI_INFO_MEDIA_UPC: int +MCI_INFO_MEDIA_IDENTITY: int +MCI_INFO_NAME: int +MCI_INFO_COPYRIGHT: int +MCI_GETDEVCAPS_ITEM: int +MCI_GETDEVCAPS_CAN_RECORD: int +MCI_GETDEVCAPS_HAS_AUDIO: int +MCI_GETDEVCAPS_HAS_VIDEO: int +MCI_GETDEVCAPS_DEVICE_TYPE: int +MCI_GETDEVCAPS_USES_FILES: int +MCI_GETDEVCAPS_COMPOUND_DEVICE: int +MCI_GETDEVCAPS_CAN_EJECT: int +MCI_GETDEVCAPS_CAN_PLAY: int +MCI_GETDEVCAPS_CAN_SAVE: int +MCI_SYSINFO_QUANTITY: int +MCI_SYSINFO_OPEN: int +MCI_SYSINFO_NAME: int +MCI_SYSINFO_INSTALLNAME: int +MCI_SET_DOOR_OPEN: int +MCI_SET_DOOR_CLOSED: int +MCI_SET_TIME_FORMAT: int +MCI_SET_AUDIO: int +MCI_SET_VIDEO: int +MCI_SET_ON: int +MCI_SET_OFF: int +MCI_SET_AUDIO_ALL: int +MCI_SET_AUDIO_LEFT: int +MCI_SET_AUDIO_RIGHT: int +MCI_BREAK_KEY: int +MCI_BREAK_HWND: int +MCI_BREAK_OFF: int +MCI_RECORD_INSERT: int +MCI_RECORD_OVERWRITE: int +MCI_SAVE_FILE: int +MCI_LOAD_FILE: int +MCI_VD_MODE_PARK: Incomplete +MCI_VD_MEDIA_CLV: Incomplete +MCI_VD_MEDIA_CAV: Incomplete +MCI_VD_MEDIA_OTHER: Incomplete +MCI_VD_FORMAT_TRACK: int +MCI_VD_PLAY_REVERSE: int +MCI_VD_PLAY_FAST: int +MCI_VD_PLAY_SPEED: int +MCI_VD_PLAY_SCAN: int +MCI_VD_PLAY_SLOW: int +MCI_VD_SEEK_REVERSE: int +MCI_VD_STATUS_SPEED: int +MCI_VD_STATUS_FORWARD: int +MCI_VD_STATUS_MEDIA_TYPE: int +MCI_VD_STATUS_SIDE: int +MCI_VD_STATUS_DISC_SIZE: int +MCI_VD_GETDEVCAPS_CLV: int +MCI_VD_GETDEVCAPS_CAV: int +MCI_VD_SPIN_UP: int +MCI_VD_SPIN_DOWN: int +MCI_VD_GETDEVCAPS_CAN_REVERSE: int +MCI_VD_GETDEVCAPS_FAST_RATE: int +MCI_VD_GETDEVCAPS_SLOW_RATE: int +MCI_VD_GETDEVCAPS_NORMAL_RATE: int +MCI_VD_STEP_FRAMES: int +MCI_VD_STEP_REVERSE: int +MCI_VD_ESCAPE_STRING: int +MCI_CDA_STATUS_TYPE_TRACK: int +MCI_CDA_TRACK_AUDIO: Incomplete +MCI_CDA_TRACK_OTHER: Incomplete +MCI_WAVE_PCM: Incomplete +MCI_WAVE_MAPPER: Incomplete +MCI_WAVE_OPEN_BUFFER: int +MCI_WAVE_SET_FORMATTAG: int +MCI_WAVE_SET_CHANNELS: int +MCI_WAVE_SET_SAMPLESPERSEC: int +MCI_WAVE_SET_AVGBYTESPERSEC: int +MCI_WAVE_SET_BLOCKALIGN: int +MCI_WAVE_SET_BITSPERSAMPLE: int +MCI_WAVE_INPUT: int +MCI_WAVE_OUTPUT: int +MCI_WAVE_STATUS_FORMATTAG: int +MCI_WAVE_STATUS_CHANNELS: int +MCI_WAVE_STATUS_SAMPLESPERSEC: int +MCI_WAVE_STATUS_AVGBYTESPERSEC: int +MCI_WAVE_STATUS_BLOCKALIGN: int +MCI_WAVE_STATUS_BITSPERSAMPLE: int +MCI_WAVE_STATUS_LEVEL: int +MCI_WAVE_SET_ANYINPUT: int +MCI_WAVE_SET_ANYOUTPUT: int +MCI_WAVE_GETDEVCAPS_INPUTS: int +MCI_WAVE_GETDEVCAPS_OUTPUTS: int +MCI_SEQ_DIV_PPQN: Incomplete +MCI_SEQ_DIV_SMPTE_24: Incomplete +MCI_SEQ_DIV_SMPTE_25: Incomplete +MCI_SEQ_DIV_SMPTE_30DROP: Incomplete +MCI_SEQ_DIV_SMPTE_30: Incomplete +MCI_SEQ_FORMAT_SONGPTR: int +MCI_SEQ_FILE: int +MCI_SEQ_MIDI: int +MCI_SEQ_SMPTE: int +MCI_SEQ_NONE: int +MCI_SEQ_MAPPER: int +MCI_SEQ_STATUS_TEMPO: int +MCI_SEQ_STATUS_PORT: int +MCI_SEQ_STATUS_SLAVE: int +MCI_SEQ_STATUS_MASTER: int +MCI_SEQ_STATUS_OFFSET: int +MCI_SEQ_STATUS_DIVTYPE: int +MCI_SEQ_STATUS_NAME: int +MCI_SEQ_STATUS_COPYRIGHT: int +MCI_SEQ_SET_TEMPO: int +MCI_SEQ_SET_PORT: int +MCI_SEQ_SET_SLAVE: int +MCI_SEQ_SET_MASTER: int +MCI_SEQ_SET_OFFSET: int +MCI_ANIM_OPEN_WS: int +MCI_ANIM_OPEN_PARENT: int +MCI_ANIM_OPEN_NOSTATIC: int +MCI_ANIM_PLAY_SPEED: int +MCI_ANIM_PLAY_REVERSE: int +MCI_ANIM_PLAY_FAST: int +MCI_ANIM_PLAY_SLOW: int +MCI_ANIM_PLAY_SCAN: int +MCI_ANIM_STEP_REVERSE: int +MCI_ANIM_STEP_FRAMES: int +MCI_ANIM_STATUS_SPEED: int +MCI_ANIM_STATUS_FORWARD: int +MCI_ANIM_STATUS_HWND: int +MCI_ANIM_STATUS_HPAL: int +MCI_ANIM_STATUS_STRETCH: int +MCI_ANIM_INFO_TEXT: int +MCI_ANIM_GETDEVCAPS_CAN_REVERSE: int +MCI_ANIM_GETDEVCAPS_FAST_RATE: int +MCI_ANIM_GETDEVCAPS_SLOW_RATE: int +MCI_ANIM_GETDEVCAPS_NORMAL_RATE: int +MCI_ANIM_GETDEVCAPS_PALETTES: int +MCI_ANIM_GETDEVCAPS_CAN_STRETCH: int +MCI_ANIM_GETDEVCAPS_MAX_WINDOWS: int +MCI_ANIM_REALIZE_NORM: int +MCI_ANIM_REALIZE_BKGD: int +MCI_ANIM_WINDOW_HWND: int +MCI_ANIM_WINDOW_STATE: int +MCI_ANIM_WINDOW_TEXT: int +MCI_ANIM_WINDOW_ENABLE_STRETCH: int +MCI_ANIM_WINDOW_DISABLE_STRETCH: int +MCI_ANIM_WINDOW_DEFAULT: int +MCI_ANIM_RECT: int +MCI_ANIM_PUT_SOURCE: int +MCI_ANIM_PUT_DESTINATION: int +MCI_ANIM_WHERE_SOURCE: int +MCI_ANIM_WHERE_DESTINATION: int +MCI_ANIM_UPDATE_HDC: int +MCI_OVLY_OPEN_WS: int +MCI_OVLY_OPEN_PARENT: int +MCI_OVLY_STATUS_HWND: int +MCI_OVLY_STATUS_STRETCH: int +MCI_OVLY_INFO_TEXT: int +MCI_OVLY_GETDEVCAPS_CAN_STRETCH: int +MCI_OVLY_GETDEVCAPS_CAN_FREEZE: int +MCI_OVLY_GETDEVCAPS_MAX_WINDOWS: int +MCI_OVLY_WINDOW_HWND: int +MCI_OVLY_WINDOW_STATE: int +MCI_OVLY_WINDOW_TEXT: int +MCI_OVLY_WINDOW_ENABLE_STRETCH: int +MCI_OVLY_WINDOW_DISABLE_STRETCH: int +MCI_OVLY_WINDOW_DEFAULT: int +MCI_OVLY_RECT: int +MCI_OVLY_PUT_SOURCE: int +MCI_OVLY_PUT_DESTINATION: int +MCI_OVLY_PUT_FRAME: int +MCI_OVLY_PUT_VIDEO: int +MCI_OVLY_WHERE_SOURCE: int +MCI_OVLY_WHERE_DESTINATION: int +MCI_OVLY_WHERE_FRAME: int +MCI_OVLY_WHERE_VIDEO: int +SELECTDIB: int def DIBINDEX(n): ... diff --git a/stubs/pywin32/win32/lib/ntsecuritycon.pyi b/stubs/pywin32/win32/lib/ntsecuritycon.pyi index 15be9129670f..7d4d6e8cc02c 100644 --- a/stubs/pywin32/win32/lib/ntsecuritycon.pyi +++ b/stubs/pywin32/win32/lib/ntsecuritycon.pyi @@ -1,552 +1,554 @@ -from typing import Final +from typing import TypeAlias -DELETE: Final = 65536 -READ_CONTROL: Final = 131072 -WRITE_DAC: Final = 262144 -WRITE_OWNER: Final = 524288 -SYNCHRONIZE: Final = 1048576 -STANDARD_RIGHTS_REQUIRED: Final = 983040 -STANDARD_RIGHTS_READ: Final = READ_CONTROL -STANDARD_RIGHTS_WRITE: Final = READ_CONTROL -STANDARD_RIGHTS_EXECUTE: Final = READ_CONTROL -STANDARD_RIGHTS_ALL: Final = 2031616 -SPECIFIC_RIGHTS_ALL: Final = 65535 -ACCESS_SYSTEM_SECURITY: Final = 16777216 -MAXIMUM_ALLOWED: Final = 33554432 -GENERIC_READ: Final = -2147483648 -GENERIC_WRITE: Final = 1073741824 -GENERIC_EXECUTE: Final = 536870912 -GENERIC_ALL: Final = 268435456 -FILE_READ_DATA: Final = 1 -FILE_LIST_DIRECTORY: Final = 1 -FILE_WRITE_DATA: Final = 2 -FILE_ADD_FILE: Final = 2 -FILE_APPEND_DATA: Final = 4 -FILE_ADD_SUBDIRECTORY: Final = 4 -FILE_CREATE_PIPE_INSTANCE: Final = 4 -FILE_READ_EA: Final = 8 -FILE_WRITE_EA: Final = 16 -FILE_EXECUTE: Final = 32 -FILE_TRAVERSE: Final = 32 -FILE_DELETE_CHILD: Final = 64 -FILE_READ_ATTRIBUTES: Final = 128 -FILE_WRITE_ATTRIBUTES: Final = 256 -FILE_ALL_ACCESS: Final = 2032127 -FILE_GENERIC_READ: Final = 1179785 -FILE_GENERIC_WRITE: Final = 1179926 -FILE_GENERIC_EXECUTE: Final = 1179808 -SECURITY_NULL_SID_AUTHORITY: Final = (0, 0, 0, 0, 0, 0) -SECURITY_WORLD_SID_AUTHORITY: Final = (0, 0, 0, 0, 0, 1) -SECURITY_LOCAL_SID_AUTHORITY: Final = (0, 0, 0, 0, 0, 2) -SECURITY_CREATOR_SID_AUTHORITY: Final = (0, 0, 0, 0, 0, 3) -SECURITY_NON_UNIQUE_AUTHORITY: Final = (0, 0, 0, 0, 0, 4) -SECURITY_RESOURCE_MANAGER_AUTHORITY: Final = (0, 0, 0, 0, 0, 9) -SECURITY_NULL_RID: Final = 0 -SECURITY_WORLD_RID: Final = 0 -SECURITY_LOCAL_RID: Final = 0x00000000 -SECURITY_CREATOR_OWNER_RID: Final = 0 -SECURITY_CREATOR_GROUP_RID: Final = 1 -SECURITY_CREATOR_OWNER_SERVER_RID: Final = 2 -SECURITY_CREATOR_GROUP_SERVER_RID: Final = 3 -SECURITY_CREATOR_OWNER_RIGHTS_RID: Final = 4 -SECURITY_NT_AUTHORITY: Final = (0, 0, 0, 0, 0, 5) -SECURITY_DIALUP_RID: Final = 1 -SECURITY_NETWORK_RID: Final = 2 -SECURITY_BATCH_RID: Final = 3 -SECURITY_INTERACTIVE_RID: Final = 4 -SECURITY_SERVICE_RID: Final = 6 -SECURITY_ANONYMOUS_LOGON_RID: Final = 7 -SECURITY_PROXY_RID: Final = 8 -SECURITY_SERVER_LOGON_RID: Final = 9 -SECURITY_LOGON_IDS_RID: Final = 5 -SECURITY_LOGON_IDS_RID_COUNT: Final = 3 -SECURITY_LOCAL_SYSTEM_RID: Final = 18 -SECURITY_NT_NON_UNIQUE: Final = 21 -SECURITY_BUILTIN_DOMAIN_RID: Final = 32 -DOMAIN_USER_RID_ADMIN: Final = 500 -DOMAIN_USER_RID_GUEST: Final = 501 -DOMAIN_USER_RID_KRBTGT: Final = 502 -DOMAIN_USER_RID_MAX: Final = 999 -DOMAIN_GROUP_RID_ADMINS: Final = 512 -DOMAIN_GROUP_RID_USERS: Final = 513 -DOMAIN_GROUP_RID_GUESTS: Final = 514 -DOMAIN_GROUP_RID_COMPUTERS: Final = 515 -DOMAIN_GROUP_RID_CONTROLLERS: Final = 516 -DOMAIN_GROUP_RID_CERT_ADMINS: Final = 517 -DOMAIN_GROUP_RID_SCHEMA_ADMINS: Final = 518 -DOMAIN_GROUP_RID_ENTERPRISE_ADMINS: Final = 519 -DOMAIN_GROUP_RID_POLICY_ADMINS: Final = 520 -DOMAIN_GROUP_RID_READONLY_CONTROLLERS: Final = 521 -DOMAIN_ALIAS_RID_ADMINS: Final = 544 -DOMAIN_ALIAS_RID_USERS: Final = 545 -DOMAIN_ALIAS_RID_GUESTS: Final = 546 -DOMAIN_ALIAS_RID_POWER_USERS: Final = 547 -DOMAIN_ALIAS_RID_ACCOUNT_OPS: Final = 548 -DOMAIN_ALIAS_RID_SYSTEM_OPS: Final = 549 -DOMAIN_ALIAS_RID_PRINT_OPS: Final = 550 -DOMAIN_ALIAS_RID_BACKUP_OPS: Final = 551 -DOMAIN_ALIAS_RID_REPLICATOR: Final = 552 -DOMAIN_ALIAS_RID_RAS_SERVERS: Final = 553 -DOMAIN_ALIAS_RID_PREW2KCOMPACCESS: Final = 554 -DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS: Final = 555 -DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS: Final = 556 -DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS: Final = 557 -DOMAIN_ALIAS_RID_MONITORING_USERS: Final = 558 -DOMAIN_ALIAS_RID_LOGGING_USERS: Final = 559 -DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS: Final = 560 -DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS: Final = 561 -DOMAIN_ALIAS_RID_DCOM_USERS: Final = 562 -DOMAIN_ALIAS_RID_IUSERS: Final = 568 -DOMAIN_ALIAS_RID_CRYPTO_OPERATORS: Final = 569 -DOMAIN_ALIAS_RID_CACHEABLE_PRINCIPALS_GROUP: Final = 571 -DOMAIN_ALIAS_RID_NON_CACHEABLE_PRINCIPALS_GROUP: Final = 572 -DOMAIN_ALIAS_RID_EVENT_LOG_READERS_GROUP: Final = 573 -SECURITY_MANDATORY_LABEL_AUTHORITY: Final = (0, 0, 0, 0, 0, 16) -SECURITY_MANDATORY_UNTRUSTED_RID: Final = 0x00000000 -SECURITY_MANDATORY_LOW_RID: Final = 0x00001000 -SECURITY_MANDATORY_MEDIUM_RID: Final = 0x00002000 -SECURITY_MANDATORY_HIGH_RID: Final = 0x00003000 -SECURITY_MANDATORY_SYSTEM_RID: Final = 0x00004000 -SECURITY_MANDATORY_PROTECTED_PROCESS_RID: Final = 0x00005000 -SECURITY_MANDATORY_MAXIMUM_USER_RID: Final = SECURITY_MANDATORY_SYSTEM_RID -SYSTEM_LUID: Final = (999, 0) -ANONYMOUS_LOGON_LUID: Final = (998, 0) -LOCALSERVICE_LUID: Final = (997, 0) -NETWORKSERVICE_LUID: Final = (996, 0) -IUSER_LUID: Final = (995, 0) -SE_GROUP_MANDATORY: Final = 1 -SE_GROUP_ENABLED_BY_DEFAULT: Final = 2 -SE_GROUP_ENABLED: Final = 4 -SE_GROUP_OWNER: Final = 8 -SE_GROUP_USE_FOR_DENY_ONLY: Final = 16 -SE_GROUP_INTEGRITY: Final = 32 -SE_GROUP_INTEGRITY_ENABLED: Final = 64 -SE_GROUP_RESOURCE: Final = 536870912 -SE_GROUP_LOGON_ID: Final = -1073741824 -ACCESS_MIN_MS_ACE_TYPE: Final = 0 -ACCESS_ALLOWED_ACE_TYPE: Final = 0 -ACCESS_DENIED_ACE_TYPE: Final = 1 -SYSTEM_AUDIT_ACE_TYPE: Final = 2 -SYSTEM_ALARM_ACE_TYPE: Final = 3 -ACCESS_MAX_MS_V2_ACE_TYPE: Final = 3 -ACCESS_ALLOWED_COMPOUND_ACE_TYPE: Final = 4 -ACCESS_MAX_MS_V3_ACE_TYPE: Final = 4 -ACCESS_MIN_MS_OBJECT_ACE_TYPE: Final = 5 -ACCESS_ALLOWED_OBJECT_ACE_TYPE: Final = 5 -ACCESS_DENIED_OBJECT_ACE_TYPE: Final = 6 -SYSTEM_AUDIT_OBJECT_ACE_TYPE: Final = 7 -SYSTEM_ALARM_OBJECT_ACE_TYPE: Final = 8 -ACCESS_MAX_MS_OBJECT_ACE_TYPE: Final = 8 -ACCESS_MAX_MS_V4_ACE_TYPE: Final = 8 -ACCESS_MAX_MS_ACE_TYPE: Final = 8 -ACCESS_ALLOWED_CALLBACK_ACE_TYPE: Final = 9 -ACCESS_DENIED_CALLBACK_ACE_TYPE: Final = 10 -ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE: Final = 11 -ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE: Final = 12 -SYSTEM_AUDIT_CALLBACK_ACE_TYPE: Final = 13 -SYSTEM_ALARM_CALLBACK_ACE_TYPE: Final = 14 -SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE: Final = 15 -SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE: Final = 16 -SYSTEM_MANDATORY_LABEL_ACE_TYPE: Final = 17 -ACCESS_MAX_MS_V5_ACE_TYPE: Final = 17 -OBJECT_INHERIT_ACE: Final = 1 -CONTAINER_INHERIT_ACE: Final = 2 -NO_PROPAGATE_INHERIT_ACE: Final = 4 -INHERIT_ONLY_ACE: Final = 8 -VALID_INHERIT_FLAGS: Final = 15 -SUCCESSFUL_ACCESS_ACE_FLAG: Final = 64 -FAILED_ACCESS_ACE_FLAG: Final = 128 -SE_OWNER_DEFAULTED: Final = 1 -SE_GROUP_DEFAULTED: Final = 2 -SE_DACL_PRESENT: Final = 4 -SE_DACL_DEFAULTED: Final = 8 -SE_SACL_PRESENT: Final = 16 -SE_SACL_DEFAULTED: Final = 32 -SE_SELF_RELATIVE: Final = 32768 -SE_PRIVILEGE_ENABLED_BY_DEFAULT: Final = 1 -SE_PRIVILEGE_ENABLED: Final = 2 -SE_PRIVILEGE_USED_FOR_ACCESS: Final = -2147483648 -PRIVILEGE_SET_ALL_NECESSARY: Final = 1 -SE_CREATE_TOKEN_NAME: Final = "SeCreateTokenPrivilege" -SE_ASSIGNPRIMARYTOKEN_NAME: Final = "SeAssignPrimaryTokenPrivilege" -SE_LOCK_MEMORY_NAME: Final = "SeLockMemoryPrivilege" -SE_INCREASE_QUOTA_NAME: Final = "SeIncreaseQuotaPrivilege" -SE_UNSOLICITED_INPUT_NAME: Final = "SeUnsolicitedInputPrivilege" -SE_MACHINE_ACCOUNT_NAME: Final = "SeMachineAccountPrivilege" -SE_TCB_NAME: Final = "SeTcbPrivilege" -SE_SECURITY_NAME: Final = "SeSecurityPrivilege" -SE_TAKE_OWNERSHIP_NAME: Final = "SeTakeOwnershipPrivilege" -SE_LOAD_DRIVER_NAME: Final = "SeLoadDriverPrivilege" -SE_SYSTEM_PROFILE_NAME: Final = "SeSystemProfilePrivilege" -SE_SYSTEMTIME_NAME: Final = "SeSystemtimePrivilege" -SE_PROF_SINGLE_PROCESS_NAME: Final = "SeProfileSingleProcessPrivilege" -SE_INC_BASE_PRIORITY_NAME: Final = "SeIncreaseBasePriorityPrivilege" -SE_CREATE_PAGEFILE_NAME: Final = "SeCreatePagefilePrivilege" -SE_CREATE_PERMANENT_NAME: Final = "SeCreatePermanentPrivilege" -SE_BACKUP_NAME: Final = "SeBackupPrivilege" -SE_RESTORE_NAME: Final = "SeRestorePrivilege" -SE_SHUTDOWN_NAME: Final = "SeShutdownPrivilege" -SE_DEBUG_NAME: Final = "SeDebugPrivilege" -SE_AUDIT_NAME: Final = "SeAuditPrivilege" -SE_SYSTEM_ENVIRONMENT_NAME: Final = "SeSystemEnvironmentPrivilege" -SE_CHANGE_NOTIFY_NAME: Final = "SeChangeNotifyPrivilege" -SE_REMOTE_SHUTDOWN_NAME: Final = "SeRemoteShutdownPrivilege" -SecurityAnonymous: Final = 0 -SecurityIdentification: Final = 1 -SecurityImpersonation: Final = 2 -SecurityDelegation: Final = 3 -SECURITY_MAX_IMPERSONATION_LEVEL: Final = SecurityDelegation -DEFAULT_IMPERSONATION_LEVEL: Final = SecurityImpersonation -TOKEN_ASSIGN_PRIMARY: Final = 1 -TOKEN_DUPLICATE: Final = 2 -TOKEN_IMPERSONATE: Final = 4 -TOKEN_QUERY: Final = 8 -TOKEN_QUERY_SOURCE: Final = 16 -TOKEN_ADJUST_PRIVILEGES: Final = 32 -TOKEN_ADJUST_GROUPS: Final = 64 -TOKEN_ADJUST_DEFAULT: Final = 128 -TOKEN_ALL_ACCESS: Final = 983295 -TOKEN_READ: Final = 131080 -TOKEN_WRITE: Final = 131296 -TOKEN_EXECUTE: Final = STANDARD_RIGHTS_EXECUTE -SidTypeUser: Final = 1 -SidTypeGroup: Final = 2 -SidTypeDomain: Final = 3 -SidTypeAlias: Final = 4 -SidTypeWellKnownGroup: Final = 5 -SidTypeDeletedAccount: Final = 6 -SidTypeInvalid: Final = 7 -SidTypeUnknown: Final = 8 -SidTypeComputer: Final = 9 -SidTypeLabel: Final = 10 -TokenPrimary: Final = 1 -TokenImpersonation: Final = 2 -TokenUser: Final = 1 -TokenGroups: Final = 2 -TokenPrivileges: Final = 3 -TokenOwner: Final = 4 -TokenPrimaryGroup: Final = 5 -TokenDefaultDacl: Final = 6 -TokenSource: Final = 7 -TokenType: Final = 8 -TokenImpersonationLevel: Final = 9 -TokenStatistics: Final = 10 -TokenRestrictedSids: Final = 11 -TokenSessionId: Final = 12 -TokenGroupsAndPrivileges: Final = 13 -TokenSessionReference: Final = 14 -TokenSandBoxInert: Final = 15 -TokenAuditPolicy: Final = 16 -TokenOrigin: Final = 17 -TokenElevationType: Final = 18 -TokenLinkedToken: Final = 19 -TokenElevation: Final = 20 -TokenHasRestrictions: Final = 21 -TokenAccessInformation: Final = 22 -TokenVirtualizationAllowed: Final = 23 -TokenVirtualizationEnabled: Final = 24 -TokenIntegrityLevel: Final = 25 -TokenUIAccess: Final = 26 -TokenMandatoryPolicy: Final = 27 -TokenLogonSid: Final = 28 -DS_BEHAVIOR_WIN2000: Final = 0 -DS_BEHAVIOR_WIN2003_WITH_MIXED_DOMAINS: Final = 1 -DS_BEHAVIOR_WIN2003: Final = 2 -DS_SYNCED_EVENT_NAME: Final = "NTDSInitialSyncsCompleted" -ACTRL_DS_OPEN: Final = 0x00000000 -ACTRL_DS_CREATE_CHILD: Final = 0x00000001 -ACTRL_DS_DELETE_CHILD: Final = 0x00000002 -ACTRL_DS_LIST: Final = 0x00000004 -ACTRL_DS_SELF: Final = 0x00000008 -ACTRL_DS_READ_PROP: Final = 0x00000010 -ACTRL_DS_WRITE_PROP: Final = 0x00000020 -ACTRL_DS_DELETE_TREE: Final = 0x00000040 -ACTRL_DS_LIST_OBJECT: Final = 0x00000080 -ACTRL_DS_CONTROL_ACCESS: Final = 0x00000100 -NTDSAPI_BIND_ALLOW_DELEGATION: Final = 0x00000001 -DS_REPSYNC_ASYNCHRONOUS_OPERATION: Final = 0x00000001 -DS_REPSYNC_WRITEABLE: Final = 0x00000002 -DS_REPSYNC_PERIODIC: Final = 0x00000004 -DS_REPSYNC_INTERSITE_MESSAGING: Final = 0x00000008 -DS_REPSYNC_ALL_SOURCES: Final = 0x00000010 -DS_REPSYNC_FULL: Final = 0x00000020 -DS_REPSYNC_URGENT: Final = 0x00000040 -DS_REPSYNC_NO_DISCARD: Final = 0x00000080 -DS_REPSYNC_FORCE: Final = 0x00000100 -DS_REPSYNC_ADD_REFERENCE: Final = 0x00000200 -DS_REPSYNC_NEVER_COMPLETED: Final = 0x00000400 -DS_REPSYNC_TWO_WAY: Final = 0x00000800 -DS_REPSYNC_NEVER_NOTIFY: Final = 0x00001000 -DS_REPSYNC_INITIAL: Final = 0x00002000 -DS_REPSYNC_USE_COMPRESSION: Final = 0x00004000 -DS_REPSYNC_ABANDONED: Final = 0x00008000 -DS_REPSYNC_INITIAL_IN_PROGRESS: Final = 0x00010000 -DS_REPSYNC_PARTIAL_ATTRIBUTE_SET: Final = 0x00020000 -DS_REPSYNC_REQUEUE: Final = 0x00040000 -DS_REPSYNC_NOTIFICATION: Final = 0x00080000 -DS_REPSYNC_ASYNCHRONOUS_REPLICA: Final = 0x00100000 -DS_REPSYNC_CRITICAL: Final = 0x00200000 -DS_REPSYNC_FULL_IN_PROGRESS: Final = 0x00400000 -DS_REPSYNC_PREEMPTED: Final = 0x00800000 -DS_REPADD_ASYNCHRONOUS_OPERATION: Final = 0x00000001 -DS_REPADD_WRITEABLE: Final = 0x00000002 -DS_REPADD_INITIAL: Final = 0x00000004 -DS_REPADD_PERIODIC: Final = 0x00000008 -DS_REPADD_INTERSITE_MESSAGING: Final = 0x00000010 -DS_REPADD_ASYNCHRONOUS_REPLICA: Final = 0x00000020 -DS_REPADD_DISABLE_NOTIFICATION: Final = 0x00000040 -DS_REPADD_DISABLE_PERIODIC: Final = 0x00000080 -DS_REPADD_USE_COMPRESSION: Final = 0x00000100 -DS_REPADD_NEVER_NOTIFY: Final = 0x00000200 -DS_REPADD_TWO_WAY: Final = 0x00000400 -DS_REPADD_CRITICAL: Final = 0x00000800 -DS_REPDEL_ASYNCHRONOUS_OPERATION: Final = 0x00000001 -DS_REPDEL_WRITEABLE: Final = 0x00000002 -DS_REPDEL_INTERSITE_MESSAGING: Final = 0x00000004 -DS_REPDEL_IGNORE_ERRORS: Final = 0x00000008 -DS_REPDEL_LOCAL_ONLY: Final = 0x00000010 -DS_REPDEL_NO_SOURCE: Final = 0x00000020 -DS_REPDEL_REF_OK: Final = 0x00000040 -DS_REPMOD_ASYNCHRONOUS_OPERATION: Final = 0x00000001 -DS_REPMOD_WRITEABLE: Final = 0x00000002 -DS_REPMOD_UPDATE_FLAGS: Final = 0x00000001 -DS_REPMOD_UPDATE_ADDRESS: Final = 0x00000002 -DS_REPMOD_UPDATE_SCHEDULE: Final = 0x00000004 -DS_REPMOD_UPDATE_RESULT: Final = 0x00000008 -DS_REPMOD_UPDATE_TRANSPORT: Final = 0x00000010 -DS_REPUPD_ASYNCHRONOUS_OPERATION: Final = 0x00000001 -DS_REPUPD_WRITEABLE: Final = 0x00000002 -DS_REPUPD_ADD_REFERENCE: Final = 0x00000004 -DS_REPUPD_DELETE_REFERENCE: Final = 0x00000008 -DS_INSTANCETYPE_IS_NC_HEAD: Final = 0x00000001 -DS_INSTANCETYPE_NC_IS_WRITEABLE: Final = 0x00000004 -DS_INSTANCETYPE_NC_COMING: Final = 0x00000010 -DS_INSTANCETYPE_NC_GOING: Final = 0x00000020 -NTDSDSA_OPT_IS_GC: Final = 1 -NTDSDSA_OPT_DISABLE_INBOUND_REPL: Final = 2 -NTDSDSA_OPT_DISABLE_OUTBOUND_REPL: Final = 4 -NTDSDSA_OPT_DISABLE_NTDSCONN_XLATE: Final = 8 -NTDSCONN_OPT_IS_GENERATED: Final = 1 -NTDSCONN_OPT_TWOWAY_SYNC: Final = 2 -NTDSCONN_OPT_OVERRIDE_NOTIFY_DEFAULT: Final = 4 -NTDSCONN_OPT_USE_NOTIFY: Final = 8 -NTDSCONN_OPT_DISABLE_INTERSITE_COMPRESSION: Final = 16 -NTDSCONN_OPT_USER_OWNED_SCHEDULE: Final = 32 -NTDSCONN_KCC_NO_REASON: Final = 0 -NTDSCONN_KCC_GC_TOPOLOGY: Final = 1 -NTDSCONN_KCC_RING_TOPOLOGY: Final = 2 -NTDSCONN_KCC_MINIMIZE_HOPS_TOPOLOGY: Final = 4 -NTDSCONN_KCC_STALE_SERVERS_TOPOLOGY: Final = 8 -NTDSCONN_KCC_OSCILLATING_CONNECTION_TOPOLOGY: Final = 16 -NTDSCONN_KCC_INTERSITE_GC_TOPOLOGY: Final = 32 -NTDSCONN_KCC_INTERSITE_TOPOLOGY: Final = 64 -NTDSCONN_KCC_SERVER_FAILOVER_TOPOLOGY: Final = 128 -NTDSCONN_KCC_SITE_FAILOVER_TOPOLOGY: Final = 256 -NTDSCONN_KCC_REDUNDANT_SERVER_TOPOLOGY: Final = 512 -FRSCONN_PRIORITY_MASK: Final = 0x70000000 -FRSCONN_MAX_PRIORITY: Final = 0x8 -NTDSCONN_OPT_IGNORE_SCHEDULE_MASK: Final = -2147483648 -NTDSSETTINGS_OPT_IS_AUTO_TOPOLOGY_DISABLED: Final = 1 -NTDSSETTINGS_OPT_IS_TOPL_CLEANUP_DISABLED: Final = 2 -NTDSSETTINGS_OPT_IS_TOPL_MIN_HOPS_DISABLED: Final = 4 -NTDSSETTINGS_OPT_IS_TOPL_DETECT_STALE_DISABLED: Final = 8 -NTDSSETTINGS_OPT_IS_INTER_SITE_AUTO_TOPOLOGY_DISABLED: Final = 16 -NTDSSETTINGS_OPT_IS_GROUP_CACHING_ENABLED: Final = 32 -NTDSSETTINGS_OPT_FORCE_KCC_WHISTLER_BEHAVIOR: Final = 64 -NTDSSETTINGS_OPT_FORCE_KCC_W2K_ELECTION: Final = 128 -NTDSSETTINGS_OPT_IS_RAND_BH_SELECTION_DISABLED: Final = 256 -NTDSSETTINGS_OPT_IS_SCHEDULE_HASHING_ENABLED: Final = 512 -NTDSSETTINGS_OPT_IS_REDUNDANT_SERVER_TOPOLOGY_ENABLED: Final = 1024 -NTDSSETTINGS_DEFAULT_SERVER_REDUNDANCY: Final = 2 -NTDSTRANSPORT_OPT_IGNORE_SCHEDULES: Final = 1 -NTDSTRANSPORT_OPT_BRIDGES_REQUIRED: Final = 2 -NTDSSITECONN_OPT_USE_NOTIFY: Final = 1 -NTDSSITECONN_OPT_TWOWAY_SYNC: Final = 2 -NTDSSITECONN_OPT_DISABLE_COMPRESSION: Final = 4 -NTDSSITELINK_OPT_USE_NOTIFY: Final = 1 -NTDSSITELINK_OPT_TWOWAY_SYNC: Final = 2 -NTDSSITELINK_OPT_DISABLE_COMPRESSION: Final = 4 -GUID_USERS_CONTAINER_A: Final = "a9d1ca15768811d1aded00c04fd8d5cd" -GUID_COMPUTRS_CONTAINER_A: Final = "aa312825768811d1aded00c04fd8d5cd" -GUID_SYSTEMS_CONTAINER_A: Final = "ab1d30f3768811d1aded00c04fd8d5cd" -GUID_DOMAIN_CONTROLLERS_CONTAINER_A: Final = "a361b2ffffd211d1aa4b00c04fd7d83a" -GUID_INFRASTRUCTURE_CONTAINER_A: Final = "2fbac1870ade11d297c400c04fd8d5cd" -GUID_DELETED_OBJECTS_CONTAINER_A: Final = "18e2ea80684f11d2b9aa00c04f79f805" -GUID_LOSTANDFOUND_CONTAINER_A: Final = "ab8153b7768811d1aded00c04fd8d5cd" -GUID_FOREIGNSECURITYPRINCIPALS_CONTAINER_A: Final = "22b70c67d56e4efb91e9300fca3dc1aa" -GUID_PROGRAM_DATA_CONTAINER_A: Final = "09460c08ae1e4a4ea0f64aee7daa1e5a" -GUID_MICROSOFT_PROGRAM_DATA_CONTAINER_A: Final = "f4be92a4c777485e878e9421d53087db" -GUID_NTDS_QUOTAS_CONTAINER_A: Final = "6227f0af1fc2410d8e3bb10615bb5b0f" -GUID_USERS_CONTAINER_BYTE: Final = "\xa9\xd1\xca\x15\x76\x88\x11\xd1\xad\xed\x00\xc0\x4f\xd8\xd5\xcd" -GUID_COMPUTRS_CONTAINER_BYTE: Final = "\xaa\x31\x28\x25\x76\x88\x11\xd1\xad\xed\x00\xc0\x4f\xd8\xd5\xcd" -GUID_SYSTEMS_CONTAINER_BYTE: Final = "\xab\x1d\x30\xf3\x76\x88\x11\xd1\xad\xed\x00\xc0\x4f\xd8\xd5\xcd" -GUID_DOMAIN_CONTROLLERS_CONTAINER_BYTE: Final = "\xa3\x61\xb2\xff\xff\xd2\x11\xd1\xaa\x4b\x00\xc0\x4f\xd7\xd8\x3a" -GUID_INFRASTRUCTURE_CONTAINER_BYTE: Final = "\x2f\xba\xc1\x87\x0a\xde\x11\xd2\x97\xc4\x00\xc0\x4f\xd8\xd5\xcd" -GUID_DELETED_OBJECTS_CONTAINER_BYTE: Final = "\x18\xe2\xea\x80\x68\x4f\x11\xd2\xb9\xaa\x00\xc0\x4f\x79\xf8\x05" -GUID_LOSTANDFOUND_CONTAINER_BYTE: Final = "\xab\x81\x53\xb7\x76\x88\x11\xd1\xad\xed\x00\xc0\x4f\xd8\xd5\xcd" -GUID_FOREIGNSECURITYPRINCIPALS_CONTAINER_BYTE: Final = "\x22\xb7\x0c\x67\xd5\x6e\x4e\xfb\x91\xe9\x30\x0f\xca\x3d\xc1\xaa" -GUID_PROGRAM_DATA_CONTAINER_BYTE: Final = "\x09\x46\x0c\x08\xae\x1e\x4a\x4e\xa0\xf6\x4a\xee\x7d\xaa\x1e\x5a" -GUID_MICROSOFT_PROGRAM_DATA_CONTAINER_BYTE: Final = "\xf4\xbe\x92\xa4\xc7\x77\x48\x5e\x87\x8e\x94\x21\xd5\x30\x87\xdb" -GUID_NTDS_QUOTAS_CONTAINER_BYTE: Final = "\x62\x27\xf0\xaf\x1f\xc2\x41\x0d\x8e\x3b\xb1\x06\x15\xbb\x5b\x0f" -DS_REPSYNCALL_NO_OPTIONS: Final = 0x00000000 -DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE: Final = 0x00000001 -DS_REPSYNCALL_SYNC_ADJACENT_SERVERS_ONLY: Final = 0x00000002 -DS_REPSYNCALL_ID_SERVERS_BY_DN: Final = 0x00000004 -DS_REPSYNCALL_DO_NOT_SYNC: Final = 0x00000008 -DS_REPSYNCALL_SKIP_INITIAL_CHECK: Final = 0x00000010 -DS_REPSYNCALL_PUSH_CHANGES_OUTWARD: Final = 0x00000020 -DS_REPSYNCALL_CROSS_SITE_BOUNDARIES: Final = 0x00000040 -DS_LIST_DSA_OBJECT_FOR_SERVER: Final = 0 -DS_LIST_DNS_HOST_NAME_FOR_SERVER: Final = 1 -DS_LIST_ACCOUNT_OBJECT_FOR_SERVER: Final = 2 -DS_ROLE_SCHEMA_OWNER: Final = 0 -DS_ROLE_DOMAIN_OWNER: Final = 1 -DS_ROLE_PDC_OWNER: Final = 2 -DS_ROLE_RID_OWNER: Final = 3 -DS_ROLE_INFRASTRUCTURE_OWNER: Final = 4 -DS_SCHEMA_GUID_NOT_FOUND: Final = 0 -DS_SCHEMA_GUID_ATTR: Final = 1 -DS_SCHEMA_GUID_ATTR_SET: Final = 2 -DS_SCHEMA_GUID_CLASS: Final = 3 -DS_SCHEMA_GUID_CONTROL_RIGHT: Final = 4 -DS_KCC_FLAG_ASYNC_OP: Final = 1 -DS_KCC_FLAG_DAMPED: Final = 2 -DS_EXIST_ADVISORY_MODE: Final = 0x1 -DS_REPL_INFO_FLAG_IMPROVE_LINKED_ATTRS: Final = 0x00000001 -DS_REPL_NBR_WRITEABLE: Final = 0x00000010 -DS_REPL_NBR_SYNC_ON_STARTUP: Final = 0x00000020 -DS_REPL_NBR_DO_SCHEDULED_SYNCS: Final = 0x00000040 -DS_REPL_NBR_USE_ASYNC_INTERSITE_TRANSPORT: Final = 0x00000080 -DS_REPL_NBR_TWO_WAY_SYNC: Final = 0x00000200 -DS_REPL_NBR_RETURN_OBJECT_PARENTS: Final = 0x00000800 -DS_REPL_NBR_FULL_SYNC_IN_PROGRESS: Final = 0x00010000 -DS_REPL_NBR_FULL_SYNC_NEXT_PACKET: Final = 0x00020000 -DS_REPL_NBR_NEVER_SYNCED: Final = 0x00200000 -DS_REPL_NBR_PREEMPTED: Final = 0x01000000 -DS_REPL_NBR_IGNORE_CHANGE_NOTIFICATIONS: Final = 0x04000000 -DS_REPL_NBR_DISABLE_SCHEDULED_SYNC: Final = 0x08000000 -DS_REPL_NBR_COMPRESS_CHANGES: Final = 0x10000000 -DS_REPL_NBR_NO_CHANGE_NOTIFICATIONS: Final = 0x20000000 -DS_REPL_NBR_PARTIAL_ATTRIBUTE_SET: Final = 0x40000000 -DS_REPL_NBR_MODIFIABLE_MASK: Final = 0x3C000260 -DS_UNKNOWN_NAME: Final = 0 -DS_FQDN_1779_NAME: Final = 1 -DS_NT4_ACCOUNT_NAME: Final = 2 -DS_DISPLAY_NAME: Final = 3 -DS_UNIQUE_ID_NAME: Final = 6 -DS_CANONICAL_NAME: Final = 7 -DS_USER_PRINCIPAL_NAME: Final = 8 -DS_CANONICAL_NAME_EX: Final = 9 -DS_SERVICE_PRINCIPAL_NAME: Final = 10 -DS_SID_OR_SID_HISTORY_NAME: Final = 11 -DS_DNS_DOMAIN_NAME: Final = 12 -DS_DOMAIN_SIMPLE_NAME: Final = DS_USER_PRINCIPAL_NAME -DS_ENTERPRISE_SIMPLE_NAME: Final = DS_USER_PRINCIPAL_NAME -DS_NAME_NO_FLAGS: Final = 0x0 -DS_NAME_FLAG_SYNTACTICAL_ONLY: Final = 0x1 -DS_NAME_FLAG_EVAL_AT_DC: Final = 0x2 -DS_NAME_FLAG_GCVERIFY: Final = 0x4 -DS_NAME_FLAG_TRUST_REFERRAL: Final = 0x8 -DS_NAME_NO_ERROR: Final = 0 -DS_NAME_ERROR_RESOLVING: Final = 1 -DS_NAME_ERROR_NOT_FOUND: Final = 2 -DS_NAME_ERROR_NOT_UNIQUE: Final = 3 -DS_NAME_ERROR_NO_MAPPING: Final = 4 -DS_NAME_ERROR_DOMAIN_ONLY: Final = 5 -DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING: Final = 6 -DS_NAME_ERROR_TRUST_REFERRAL: Final = 7 -DS_SPN_DNS_HOST: Final = 0 -DS_SPN_DN_HOST: Final = 1 -DS_SPN_NB_HOST: Final = 2 -DS_SPN_DOMAIN: Final = 3 -DS_SPN_NB_DOMAIN: Final = 4 -DS_SPN_SERVICE: Final = 5 -DS_SPN_ADD_SPN_OP: Final = 0 -DS_SPN_REPLACE_SPN_OP: Final = 1 -DS_SPN_DELETE_SPN_OP: Final = 2 -DS_FORCE_REDISCOVERY: Final = 0x00000001 -DS_DIRECTORY_SERVICE_REQUIRED: Final = 0x00000010 -DS_DIRECTORY_SERVICE_PREFERRED: Final = 0x00000020 -DS_GC_SERVER_REQUIRED: Final = 0x00000040 -DS_PDC_REQUIRED: Final = 0x00000080 -DS_BACKGROUND_ONLY: Final = 0x00000100 -DS_IP_REQUIRED: Final = 0x00000200 -DS_KDC_REQUIRED: Final = 0x00000400 -DS_TIMESERV_REQUIRED: Final = 0x00000800 -DS_WRITABLE_REQUIRED: Final = 0x00001000 -DS_GOOD_TIMESERV_PREFERRED: Final = 0x00002000 -DS_AVOID_SELF: Final = 0x00004000 -DS_ONLY_LDAP_NEEDED: Final = 0x00008000 -DS_IS_FLAT_NAME: Final = 0x00010000 -DS_IS_DNS_NAME: Final = 0x00020000 -DS_RETURN_DNS_NAME: Final = 0x40000000 -DS_RETURN_FLAT_NAME: Final = -2147483648 -DSGETDC_VALID_FLAGS: Final = -0x3FFC000F -DS_INET_ADDRESS: Final = 1 -DS_NETBIOS_ADDRESS: Final = 2 -DS_PDC_FLAG: Final = 0x00000001 -DS_GC_FLAG: Final = 0x00000004 -DS_LDAP_FLAG: Final = 0x00000008 -DS_DS_FLAG: Final = 0x00000010 -DS_KDC_FLAG: Final = 0x00000020 -DS_TIMESERV_FLAG: Final = 0x00000040 -DS_CLOSEST_FLAG: Final = 0x00000080 -DS_WRITABLE_FLAG: Final = 0x00000100 -DS_GOOD_TIMESERV_FLAG: Final = 0x00000200 -DS_NDNC_FLAG: Final = 0x00000400 -DS_PING_FLAGS: Final = 0x0000FFFF -DS_DNS_CONTROLLER_FLAG: Final = 0x20000000 -DS_DNS_DOMAIN_FLAG: Final = 0x40000000 -DS_DNS_FOREST_FLAG: Final = -2147483648 -DS_DOMAIN_IN_FOREST: Final = 0x0001 -DS_DOMAIN_DIRECT_OUTBOUND: Final = 0x0002 -DS_DOMAIN_TREE_ROOT: Final = 0x0004 -DS_DOMAIN_PRIMARY: Final = 0x0008 -DS_DOMAIN_NATIVE_MODE: Final = 0x0010 -DS_DOMAIN_DIRECT_INBOUND: Final = 0x0020 -DS_DOMAIN_VALID_FLAGS: Final = 0x3F -DS_GFTI_UPDATE_TDO: Final = 0x1 -DS_GFTI_VALID_FLAGS: Final = 0x1 -DS_ONLY_DO_SITE_NAME: Final = 0x01 -DS_NOTIFY_AFTER_SITE_RECORDS: Final = 0x02 -DS_OPEN_VALID_OPTION_FLAGS: Final = 0x03 -DS_OPEN_VALID_FLAGS: Final = 0x000094C1 -SI_EDIT_PERMS: Final = 0x00000000 -SI_EDIT_OWNER: Final = 0x00000001 -SI_EDIT_AUDITS: Final = 0x00000002 -SI_CONTAINER: Final = 0x00000004 -SI_READONLY: Final = 0x00000008 -SI_ADVANCED: Final = 0x00000010 -SI_RESET: Final = 0x00000020 -SI_OWNER_READONLY: Final = 0x00000040 -SI_EDIT_PROPERTIES: Final = 0x00000080 -SI_OWNER_RECURSE: Final = 0x00000100 -SI_NO_ACL_PROTECT: Final = 0x00000200 -SI_NO_TREE_APPLY: Final = 0x00000400 -SI_PAGE_TITLE: Final = 0x00000800 -SI_SERVER_IS_DC: Final = 0x00001000 -SI_RESET_DACL_TREE: Final = 0x00004000 -SI_RESET_SACL_TREE: Final = 0x00008000 -SI_OBJECT_GUID: Final = 0x00010000 -SI_EDIT_EFFECTIVE: Final = 0x00020000 -SI_RESET_DACL: Final = 0x00040000 -SI_RESET_SACL: Final = 0x00080000 -SI_RESET_OWNER: Final = 0x00100000 -SI_NO_ADDITIONAL_PERMISSION: Final = 0x00200000 -SI_MAY_WRITE: Final = 0x10000000 -SI_EDIT_ALL: Final = 0x00000003 -SI_AUDITS_ELEVATION_REQUIRED: Final = 0x02000000 -SI_VIEW_ONLY: Final = 0x00400000 -SI_OWNER_ELEVATION_REQUIRED: Final = 0x04000000 -SI_PERMS_ELEVATION_REQUIRED: Final = 0x01000000 -SI_ACCESS_SPECIFIC: Final = 0x00010000 -SI_ACCESS_GENERAL: Final = 0x00020000 -SI_ACCESS_CONTAINER: Final = 0x00040000 -SI_ACCESS_PROPERTY: Final = 0x00080000 -SI_PAGE_PERM: Final = 0 -SI_PAGE_ADVPERM: Final = 1 -SI_PAGE_AUDIT: Final = 2 -SI_PAGE_OWNER: Final = 3 -SI_PAGE_EFFECTIVE: Final = 4 -CFSTR_ACLUI_SID_INFO_LIST: Final = "CFSTR_ACLUI_SID_INFO_LIST" -PSPCB_SI_INITDIALOG: Final = 1025 +_SixIntTuple: TypeAlias = tuple[int, int, int, int, int, int] + +DELETE: int +READ_CONTROL: int +WRITE_DAC: int +WRITE_OWNER: int +SYNCHRONIZE: int +STANDARD_RIGHTS_REQUIRED: int +STANDARD_RIGHTS_READ: int +STANDARD_RIGHTS_WRITE: int +STANDARD_RIGHTS_EXECUTE: int +STANDARD_RIGHTS_ALL: int +SPECIFIC_RIGHTS_ALL: int +ACCESS_SYSTEM_SECURITY: int +MAXIMUM_ALLOWED: int +GENERIC_READ: int +GENERIC_WRITE: int +GENERIC_EXECUTE: int +GENERIC_ALL: int +FILE_READ_DATA: int +FILE_WRITE_DATA: int +FILE_ADD_FILE: int +FILE_APPEND_DATA: int +FILE_ADD_SUBDIRECTORY: int +FILE_CREATE_PIPE_INSTANCE: int +FILE_READ_EA: int +FILE_WRITE_EA: int +FILE_EXECUTE: int +FILE_TRAVERSE: int +FILE_DELETE_CHILD: int +FILE_READ_ATTRIBUTES: int +FILE_WRITE_ATTRIBUTES: int +FILE_ALL_ACCESS: int +FILE_GENERIC_READ: int +FILE_GENERIC_WRITE: int +FILE_GENERIC_EXECUTE: int +SECURITY_NULL_SID_AUTHORITY: _SixIntTuple +SECURITY_WORLD_SID_AUTHORITY: _SixIntTuple +SECURITY_LOCAL_SID_AUTHORITY: _SixIntTuple +SECURITY_CREATOR_SID_AUTHORITY: _SixIntTuple +SECURITY_NON_UNIQUE_AUTHORITY: _SixIntTuple +SECURITY_RESOURCE_MANAGER_AUTHORITY: _SixIntTuple +SECURITY_NULL_RID: int +SECURITY_WORLD_RID: int +SECURITY_LOCAL_RID: int +SECURITY_CREATOR_OWNER_RID: int +SECURITY_CREATOR_GROUP_RID: int +SECURITY_CREATOR_OWNER_SERVER_RID: int +SECURITY_CREATOR_GROUP_SERVER_RID: int +SECURITY_CREATOR_OWNER_RIGHTS_RID: int +SECURITY_NT_AUTHORITY: _SixIntTuple +SECURITY_DIALUP_RID: int +SECURITY_NETWORK_RID: int +SECURITY_BATCH_RID: int +SECURITY_INTERACTIVE_RID: int +SECURITY_SERVICE_RID: int +SECURITY_ANONYMOUS_LOGON_RID: int +SECURITY_PROXY_RID: int +SECURITY_SERVER_LOGON_RID: int +SECURITY_LOGON_IDS_RID: int +SECURITY_LOGON_IDS_RID_COUNT: int +SECURITY_LOCAL_SYSTEM_RID: int +SECURITY_NT_NON_UNIQUE: int +SECURITY_BUILTIN_DOMAIN_RID: int +DOMAIN_USER_RID_ADMIN: int +DOMAIN_USER_RID_GUEST: int +DOMAIN_USER_RID_KRBTGT: int +DOMAIN_USER_RID_MAX: int +DOMAIN_GROUP_RID_ADMINS: int +DOMAIN_GROUP_RID_USERS: int +DOMAIN_GROUP_RID_GUESTS: int +DOMAIN_GROUP_RID_COMPUTERS: int +DOMAIN_GROUP_RID_CONTROLLERS: int +DOMAIN_GROUP_RID_CERT_ADMINS: int +DOMAIN_GROUP_RID_SCHEMA_ADMINS: int +DOMAIN_GROUP_RID_ENTERPRISE_ADMINS: int +DOMAIN_GROUP_RID_POLICY_ADMINS: int +DOMAIN_GROUP_RID_READONLY_CONTROLLERS: int +DOMAIN_ALIAS_RID_ADMINS: int +DOMAIN_ALIAS_RID_USERS: int +DOMAIN_ALIAS_RID_GUESTS: int +DOMAIN_ALIAS_RID_POWER_USERS: int +DOMAIN_ALIAS_RID_ACCOUNT_OPS: int +DOMAIN_ALIAS_RID_SYSTEM_OPS: int +DOMAIN_ALIAS_RID_PRINT_OPS: int +DOMAIN_ALIAS_RID_BACKUP_OPS: int +DOMAIN_ALIAS_RID_REPLICATOR: int +DOMAIN_ALIAS_RID_RAS_SERVERS: int +DOMAIN_ALIAS_RID_PREW2KCOMPACCESS: int +DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS: int +DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS: int +DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS: int +DOMAIN_ALIAS_RID_MONITORING_USERS: int +DOMAIN_ALIAS_RID_LOGGING_USERS: int +DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS: int +DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS: int +DOMAIN_ALIAS_RID_DCOM_USERS: int +DOMAIN_ALIAS_RID_IUSERS: int +DOMAIN_ALIAS_RID_CRYPTO_OPERATORS: int +DOMAIN_ALIAS_RID_CACHEABLE_PRINCIPALS_GROUP: int +DOMAIN_ALIAS_RID_NON_CACHEABLE_PRINCIPALS_GROUP: int +DOMAIN_ALIAS_RID_EVENT_LOG_READERS_GROUP: int +SECURITY_MANDATORY_LABEL_AUTHORITY: _SixIntTuple +SECURITY_MANDATORY_UNTRUSTED_RID: int +SECURITY_MANDATORY_LOW_RID: int +SECURITY_MANDATORY_MEDIUM_RID: int +SECURITY_MANDATORY_HIGH_RID: int +SECURITY_MANDATORY_SYSTEM_RID: int +SECURITY_MANDATORY_PROTECTED_PROCESS_RID: int +SECURITY_MANDATORY_MAXIMUM_USER_RID: int +SYSTEM_LUID: tuple[int, int] +ANONYMOUS_LOGON_LUID: tuple[int, int] +LOCALSERVICE_LUID: tuple[int, int] +NETWORKSERVICE_LUID: tuple[int, int] +IUSER_LUID: tuple[int, int] +SE_GROUP_MANDATORY: int +SE_GROUP_ENABLED_BY_DEFAULT: int +SE_GROUP_ENABLED: int +SE_GROUP_OWNER: int +SE_GROUP_USE_FOR_DENY_ONLY: int +SE_GROUP_INTEGRITY: int +SE_GROUP_INTEGRITY_ENABLED: int +SE_GROUP_RESOURCE: int +SE_GROUP_LOGON_ID: int +ACCESS_MIN_MS_ACE_TYPE: int +ACCESS_ALLOWED_ACE_TYPE: int +ACCESS_DENIED_ACE_TYPE: int +SYSTEM_AUDIT_ACE_TYPE: int +SYSTEM_ALARM_ACE_TYPE: int +ACCESS_MAX_MS_V2_ACE_TYPE: int +ACCESS_ALLOWED_COMPOUND_ACE_TYPE: int +ACCESS_MAX_MS_V3_ACE_TYPE: int +ACCESS_MIN_MS_OBJECT_ACE_TYPE: int +ACCESS_ALLOWED_OBJECT_ACE_TYPE: int +ACCESS_DENIED_OBJECT_ACE_TYPE: int +SYSTEM_AUDIT_OBJECT_ACE_TYPE: int +SYSTEM_ALARM_OBJECT_ACE_TYPE: int +ACCESS_MAX_MS_OBJECT_ACE_TYPE: int +ACCESS_MAX_MS_V4_ACE_TYPE: int +ACCESS_MAX_MS_ACE_TYPE: int +ACCESS_ALLOWED_CALLBACK_ACE_TYPE: int +ACCESS_DENIED_CALLBACK_ACE_TYPE: int +ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE: int +ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE: int +SYSTEM_AUDIT_CALLBACK_ACE_TYPE: int +SYSTEM_ALARM_CALLBACK_ACE_TYPE: int +SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE: int +SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE: int +SYSTEM_MANDATORY_LABEL_ACE_TYPE: int +ACCESS_MAX_MS_V5_ACE_TYPE: int +OBJECT_INHERIT_ACE: int +CONTAINER_INHERIT_ACE: int +NO_PROPAGATE_INHERIT_ACE: int +INHERIT_ONLY_ACE: int +VALID_INHERIT_FLAGS: int +SUCCESSFUL_ACCESS_ACE_FLAG: int +FAILED_ACCESS_ACE_FLAG: int +SE_OWNER_DEFAULTED: int +SE_GROUP_DEFAULTED: int +SE_DACL_PRESENT: int +SE_DACL_DEFAULTED: int +SE_SACL_PRESENT: int +SE_SACL_DEFAULTED: int +SE_SELF_RELATIVE: int +SE_PRIVILEGE_ENABLED_BY_DEFAULT: int +SE_PRIVILEGE_ENABLED: int +SE_PRIVILEGE_USED_FOR_ACCESS: int +PRIVILEGE_SET_ALL_NECESSARY: int +SE_CREATE_TOKEN_NAME: str +SE_ASSIGNPRIMARYTOKEN_NAME: str +SE_LOCK_MEMORY_NAME: str +SE_INCREASE_QUOTA_NAME: str +SE_UNSOLICITED_INPUT_NAME: str +SE_MACHINE_ACCOUNT_NAME: str +SE_TCB_NAME: str +SE_SECURITY_NAME: str +SE_TAKE_OWNERSHIP_NAME: str +SE_LOAD_DRIVER_NAME: str +SE_SYSTEM_PROFILE_NAME: str +SE_SYSTEMTIME_NAME: str +SE_PROF_SINGLE_PROCESS_NAME: str +SE_INC_BASE_PRIORITY_NAME: str +SE_CREATE_PAGEFILE_NAME: str +SE_CREATE_PERMANENT_NAME: str +SE_BACKUP_NAME: str +SE_RESTORE_NAME: str +SE_SHUTDOWN_NAME: str +SE_DEBUG_NAME: str +SE_AUDIT_NAME: str +SE_SYSTEM_ENVIRONMENT_NAME: str +SE_CHANGE_NOTIFY_NAME: str +SE_REMOTE_SHUTDOWN_NAME: str +SecurityAnonymous: int +SecurityIdentification: int +SecurityImpersonation: int +SecurityDelegation: int +SECURITY_MAX_IMPERSONATION_LEVEL: int +DEFAULT_IMPERSONATION_LEVEL: int +TOKEN_ASSIGN_PRIMARY: int +TOKEN_DUPLICATE: int +TOKEN_IMPERSONATE: int +TOKEN_QUERY: int +TOKEN_QUERY_SOURCE: int +TOKEN_ADJUST_PRIVILEGES: int +TOKEN_ADJUST_GROUPS: int +TOKEN_ADJUST_DEFAULT: int +TOKEN_ALL_ACCESS: int +TOKEN_READ: int +TOKEN_WRITE: int +TOKEN_EXECUTE: int +SidTypeUser: int +SidTypeGroup: int +SidTypeDomain: int +SidTypeAlias: int +SidTypeWellKnownGroup: int +SidTypeDeletedAccount: int +SidTypeInvalid: int +SidTypeUnknown: int +SidTypeComputer: int +SidTypeLabel: int +TokenPrimary: int +TokenImpersonation: int +TokenUser: int +TokenGroups: int +TokenPrivileges: int +TokenOwner: int +TokenPrimaryGroup: int +TokenDefaultDacl: int +TokenSource: int +TokenType: int +TokenImpersonationLevel: int +TokenStatistics: int +TokenRestrictedSids: int +TokenSessionId: int +TokenGroupsAndPrivileges: int +TokenSessionReference: int +TokenSandBoxInert: int +TokenAuditPolicy: int +TokenOrigin: int +TokenElevationType: int +TokenLinkedToken: int +TokenElevation: int +TokenHasRestrictions: int +TokenAccessInformation: int +TokenVirtualizationAllowed: int +TokenVirtualizationEnabled: int +TokenIntegrityLevel: int +TokenUIAccess: int +TokenMandatoryPolicy: int +TokenLogonSid: int +DS_BEHAVIOR_WIN2000: int +DS_BEHAVIOR_WIN2003_WITH_MIXED_DOMAINS: int +DS_BEHAVIOR_WIN2003: int +DS_SYNCED_EVENT_NAME: str +ACTRL_DS_OPEN: int +ACTRL_DS_CREATE_CHILD: int +ACTRL_DS_DELETE_CHILD: int +ACTRL_DS_SELF: int +ACTRL_DS_READ_PROP: int +ACTRL_DS_WRITE_PROP: int +ACTRL_DS_DELETE_TREE: int +ACTRL_DS_CONTROL_ACCESS: int +NTDSAPI_BIND_ALLOW_DELEGATION: int +DS_REPSYNC_ASYNCHRONOUS_OPERATION: int +DS_REPSYNC_WRITEABLE: int +DS_REPSYNC_PERIODIC: int +DS_REPSYNC_INTERSITE_MESSAGING: int +DS_REPSYNC_ALL_SOURCES: int +DS_REPSYNC_FULL: int +DS_REPSYNC_URGENT: int +DS_REPSYNC_NO_DISCARD: int +DS_REPSYNC_FORCE: int +DS_REPSYNC_ADD_REFERENCE: int +DS_REPSYNC_NEVER_COMPLETED: int +DS_REPSYNC_TWO_WAY: int +DS_REPSYNC_NEVER_NOTIFY: int +DS_REPSYNC_INITIAL: int +DS_REPSYNC_USE_COMPRESSION: int +DS_REPSYNC_ABANDONED: int +DS_REPSYNC_INITIAL_IN_PROGRESS: int +DS_REPSYNC_PARTIAL_ATTRIBUTE_SET: int +DS_REPSYNC_REQUEUE: int +DS_REPSYNC_NOTIFICATION: int +DS_REPSYNC_ASYNCHRONOUS_REPLICA: int +DS_REPSYNC_CRITICAL: int +DS_REPSYNC_FULL_IN_PROGRESS: int +DS_REPSYNC_PREEMPTED: int +DS_REPADD_ASYNCHRONOUS_OPERATION: int +DS_REPADD_WRITEABLE: int +DS_REPADD_INITIAL: int +DS_REPADD_PERIODIC: int +DS_REPADD_INTERSITE_MESSAGING: int +DS_REPADD_ASYNCHRONOUS_REPLICA: int +DS_REPADD_DISABLE_NOTIFICATION: int +DS_REPADD_DISABLE_PERIODIC: int +DS_REPADD_USE_COMPRESSION: int +DS_REPADD_NEVER_NOTIFY: int +DS_REPADD_TWO_WAY: int +DS_REPADD_CRITICAL: int +DS_REPDEL_ASYNCHRONOUS_OPERATION: int +DS_REPDEL_WRITEABLE: int +DS_REPDEL_INTERSITE_MESSAGING: int +DS_REPDEL_IGNORE_ERRORS: int +DS_REPDEL_LOCAL_ONLY: int +DS_REPDEL_NO_SOURCE: int +DS_REPDEL_REF_OK: int +DS_REPMOD_ASYNCHRONOUS_OPERATION: int +DS_REPMOD_WRITEABLE: int +DS_REPMOD_UPDATE_FLAGS: int +DS_REPMOD_UPDATE_ADDRESS: int +DS_REPMOD_UPDATE_SCHEDULE: int +DS_REPMOD_UPDATE_RESULT: int +DS_REPMOD_UPDATE_TRANSPORT: int +DS_REPUPD_ASYNCHRONOUS_OPERATION: int +DS_REPUPD_WRITEABLE: int +DS_REPUPD_ADD_REFERENCE: int +DS_REPUPD_DELETE_REFERENCE: int +DS_INSTANCETYPE_IS_NC_HEAD: int +DS_INSTANCETYPE_NC_IS_WRITEABLE: int +DS_INSTANCETYPE_NC_COMING: int +DS_INSTANCETYPE_NC_GOING: int +NTDSDSA_OPT_IS_GC: int +NTDSDSA_OPT_DISABLE_INBOUND_REPL: int +NTDSDSA_OPT_DISABLE_OUTBOUND_REPL: int +NTDSDSA_OPT_DISABLE_NTDSCONN_XLATE: int +NTDSCONN_OPT_IS_GENERATED: int +NTDSCONN_OPT_TWOWAY_SYNC: int +NTDSCONN_OPT_OVERRIDE_NOTIFY_DEFAULT: int +NTDSCONN_OPT_USE_NOTIFY: int +NTDSCONN_OPT_DISABLE_INTERSITE_COMPRESSION: int +NTDSCONN_OPT_USER_OWNED_SCHEDULE: int +NTDSCONN_KCC_NO_REASON: int +NTDSCONN_KCC_GC_TOPOLOGY: int +NTDSCONN_KCC_RING_TOPOLOGY: int +NTDSCONN_KCC_MINIMIZE_HOPS_TOPOLOGY: int +NTDSCONN_KCC_STALE_SERVERS_TOPOLOGY: int +NTDSCONN_KCC_OSCILLATING_CONNECTION_TOPOLOGY: int +NTDSCONN_KCC_INTERSITE_GC_TOPOLOGY: int +NTDSCONN_KCC_INTERSITE_TOPOLOGY: int +NTDSCONN_KCC_SERVER_FAILOVER_TOPOLOGY: int +NTDSCONN_KCC_SITE_FAILOVER_TOPOLOGY: int +NTDSCONN_KCC_REDUNDANT_SERVER_TOPOLOGY: int +FRSCONN_PRIORITY_MASK: int +FRSCONN_MAX_PRIORITY: int +NTDSCONN_OPT_IGNORE_SCHEDULE_MASK: int +NTDSSETTINGS_OPT_IS_AUTO_TOPOLOGY_DISABLED: int +NTDSSETTINGS_OPT_IS_TOPL_CLEANUP_DISABLED: int +NTDSSETTINGS_OPT_IS_TOPL_MIN_HOPS_DISABLED: int +NTDSSETTINGS_OPT_IS_TOPL_DETECT_STALE_DISABLED: int +NTDSSETTINGS_OPT_IS_INTER_SITE_AUTO_TOPOLOGY_DISABLED: int +NTDSSETTINGS_OPT_IS_GROUP_CACHING_ENABLED: int +NTDSSETTINGS_OPT_FORCE_KCC_WHISTLER_BEHAVIOR: int +NTDSSETTINGS_OPT_FORCE_KCC_W2K_ELECTION: int +NTDSSETTINGS_OPT_IS_RAND_BH_SELECTION_DISABLED: int +NTDSSETTINGS_OPT_IS_SCHEDULE_HASHING_ENABLED: int +NTDSSETTINGS_OPT_IS_REDUNDANT_SERVER_TOPOLOGY_ENABLED: int +NTDSSETTINGS_DEFAULT_SERVER_REDUNDANCY: int +NTDSTRANSPORT_OPT_IGNORE_SCHEDULES: int +NTDSTRANSPORT_OPT_BRIDGES_REQUIRED: int +NTDSSITECONN_OPT_USE_NOTIFY: int +NTDSSITECONN_OPT_TWOWAY_SYNC: int +NTDSSITECONN_OPT_DISABLE_COMPRESSION: int +NTDSSITELINK_OPT_USE_NOTIFY: int +NTDSSITELINK_OPT_TWOWAY_SYNC: int +NTDSSITELINK_OPT_DISABLE_COMPRESSION: int +GUID_USERS_CONTAINER_A: str +GUID_COMPUTRS_CONTAINER_A: str +GUID_SYSTEMS_CONTAINER_A: str +GUID_DOMAIN_CONTROLLERS_CONTAINER_A: str +GUID_INFRASTRUCTURE_CONTAINER_A: str +GUID_DELETED_OBJECTS_CONTAINER_A: str +GUID_LOSTANDFOUND_CONTAINER_A: str +GUID_FOREIGNSECURITYPRINCIPALS_CONTAINER_A: str +GUID_PROGRAM_DATA_CONTAINER_A: str +GUID_MICROSOFT_PROGRAM_DATA_CONTAINER_A: str +GUID_NTDS_QUOTAS_CONTAINER_A: str +GUID_USERS_CONTAINER_BYTE: str +GUID_COMPUTRS_CONTAINER_BYTE: str +GUID_SYSTEMS_CONTAINER_BYTE: str +GUID_DOMAIN_CONTROLLERS_CONTAINER_BYTE: str +GUID_INFRASTRUCTURE_CONTAINER_BYTE: str +GUID_DELETED_OBJECTS_CONTAINER_BYTE: str +GUID_LOSTANDFOUND_CONTAINER_BYTE: str +GUID_FOREIGNSECURITYPRINCIPALS_CONTAINER_BYTE: str +GUID_PROGRAM_DATA_CONTAINER_BYTE: str +GUID_MICROSOFT_PROGRAM_DATA_CONTAINER_BYTE: str +GUID_NTDS_QUOTAS_CONTAINER_BYTE: str +DS_REPSYNCALL_NO_OPTIONS: int +DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE: int +DS_REPSYNCALL_SYNC_ADJACENT_SERVERS_ONLY: int +DS_REPSYNCALL_ID_SERVERS_BY_DN: int +DS_REPSYNCALL_DO_NOT_SYNC: int +DS_REPSYNCALL_SKIP_INITIAL_CHECK: int +DS_REPSYNCALL_PUSH_CHANGES_OUTWARD: int +DS_REPSYNCALL_CROSS_SITE_BOUNDARIES: int +DS_ROLE_SCHEMA_OWNER: int +DS_ROLE_DOMAIN_OWNER: int +DS_ROLE_PDC_OWNER: int +DS_ROLE_RID_OWNER: int +DS_ROLE_INFRASTRUCTURE_OWNER: int +DS_SCHEMA_GUID_NOT_FOUND: int +DS_SCHEMA_GUID_ATTR: int +DS_SCHEMA_GUID_ATTR_SET: int +DS_SCHEMA_GUID_CLASS: int +DS_SCHEMA_GUID_CONTROL_RIGHT: int +DS_KCC_FLAG_ASYNC_OP: int +DS_KCC_FLAG_DAMPED: int +DS_EXIST_ADVISORY_MODE: int +DS_REPL_INFO_FLAG_IMPROVE_LINKED_ATTRS: int +DS_REPL_NBR_WRITEABLE: int +DS_REPL_NBR_SYNC_ON_STARTUP: int +DS_REPL_NBR_DO_SCHEDULED_SYNCS: int +DS_REPL_NBR_USE_ASYNC_INTERSITE_TRANSPORT: int +DS_REPL_NBR_TWO_WAY_SYNC: int +DS_REPL_NBR_RETURN_OBJECT_PARENTS: int +DS_REPL_NBR_FULL_SYNC_IN_PROGRESS: int +DS_REPL_NBR_FULL_SYNC_NEXT_PACKET: int +DS_REPL_NBR_NEVER_SYNCED: int +DS_REPL_NBR_PREEMPTED: int +DS_REPL_NBR_IGNORE_CHANGE_NOTIFICATIONS: int +DS_REPL_NBR_DISABLE_SCHEDULED_SYNC: int +DS_REPL_NBR_COMPRESS_CHANGES: int +DS_REPL_NBR_NO_CHANGE_NOTIFICATIONS: int +DS_REPL_NBR_PARTIAL_ATTRIBUTE_SET: int +DS_REPL_NBR_MODIFIABLE_MASK: int +DS_UNKNOWN_NAME: int +DS_FQDN_1779_NAME: int +DS_NT4_ACCOUNT_NAME: int +DS_DISPLAY_NAME: int +DS_UNIQUE_ID_NAME: int +DS_CANONICAL_NAME: int +DS_USER_PRINCIPAL_NAME: int +DS_CANONICAL_NAME_EX: int +DS_SERVICE_PRINCIPAL_NAME: int +DS_SID_OR_SID_HISTORY_NAME: int +DS_DNS_DOMAIN_NAME: int +DS_DOMAIN_SIMPLE_NAME: int +DS_ENTERPRISE_SIMPLE_NAME: int +DS_NAME_NO_FLAGS: int +DS_NAME_FLAG_SYNTACTICAL_ONLY: int +DS_NAME_FLAG_EVAL_AT_DC: int +DS_NAME_FLAG_GCVERIFY: int +DS_NAME_FLAG_TRUST_REFERRAL: int +DS_NAME_NO_ERROR: int +DS_NAME_ERROR_RESOLVING: int +DS_NAME_ERROR_NOT_FOUND: int +DS_NAME_ERROR_NOT_UNIQUE: int +DS_NAME_ERROR_NO_MAPPING: int +DS_NAME_ERROR_DOMAIN_ONLY: int +DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING: int +DS_NAME_ERROR_TRUST_REFERRAL: int +DS_SPN_DNS_HOST: int +DS_SPN_DN_HOST: int +DS_SPN_NB_HOST: int +DS_SPN_DOMAIN: int +DS_SPN_NB_DOMAIN: int +DS_SPN_SERVICE: int +DS_SPN_ADD_SPN_OP: int +DS_SPN_REPLACE_SPN_OP: int +DS_SPN_DELETE_SPN_OP: int +DS_FORCE_REDISCOVERY: int +DS_DIRECTORY_SERVICE_REQUIRED: int +DS_DIRECTORY_SERVICE_PREFERRED: int +DS_GC_SERVER_REQUIRED: int +DS_PDC_REQUIRED: int +DS_BACKGROUND_ONLY: int +DS_IP_REQUIRED: int +DS_KDC_REQUIRED: int +DS_TIMESERV_REQUIRED: int +DS_WRITABLE_REQUIRED: int +DS_GOOD_TIMESERV_PREFERRED: int +DS_AVOID_SELF: int +DS_ONLY_LDAP_NEEDED: int +DS_IS_FLAT_NAME: int +DS_IS_DNS_NAME: int +DS_RETURN_DNS_NAME: int +DS_RETURN_FLAT_NAME: int +DSGETDC_VALID_FLAGS: int +DS_INET_ADDRESS: int +DS_NETBIOS_ADDRESS: int +DS_PDC_FLAG: int +DS_GC_FLAG: int +DS_LDAP_FLAG: int +DS_DS_FLAG: int +DS_KDC_FLAG: int +DS_TIMESERV_FLAG: int +DS_CLOSEST_FLAG: int +DS_WRITABLE_FLAG: int +DS_GOOD_TIMESERV_FLAG: int +DS_NDNC_FLAG: int +DS_PING_FLAGS: int +DS_DNS_CONTROLLER_FLAG: int +DS_DNS_DOMAIN_FLAG: int +DS_DNS_FOREST_FLAG: int +DS_DOMAIN_IN_FOREST: int +DS_DOMAIN_DIRECT_OUTBOUND: int +DS_DOMAIN_TREE_ROOT: int +DS_DOMAIN_PRIMARY: int +DS_DOMAIN_NATIVE_MODE: int +DS_DOMAIN_DIRECT_INBOUND: int +DS_DOMAIN_VALID_FLAGS: int +DS_GFTI_UPDATE_TDO: int +DS_GFTI_VALID_FLAGS: int +DS_ONLY_DO_SITE_NAME: int +DS_NOTIFY_AFTER_SITE_RECORDS: int +DS_OPEN_VALID_OPTION_FLAGS: int +DS_OPEN_VALID_FLAGS: int +SI_EDIT_PERMS: int +SI_EDIT_OWNER: int +SI_EDIT_AUDITS: int +SI_CONTAINER: int +SI_READONLY: int +SI_ADVANCED: int +SI_RESET: int +SI_OWNER_READONLY: int +SI_EDIT_PROPERTIES: int +SI_OWNER_RECURSE: int +SI_NO_ACL_PROTECT: int +SI_NO_TREE_APPLY: int +SI_PAGE_TITLE: int +SI_SERVER_IS_DC: int +SI_RESET_DACL_TREE: int +SI_RESET_SACL_TREE: int +SI_OBJECT_GUID: int +SI_EDIT_EFFECTIVE: int +SI_RESET_DACL: int +SI_RESET_SACL: int +SI_RESET_OWNER: int +SI_NO_ADDITIONAL_PERMISSION: int +SI_MAY_WRITE: int +SI_EDIT_ALL: int +SI_AUDITS_ELEVATION_REQUIRED: int +SI_VIEW_ONLY: int +SI_OWNER_ELEVATION_REQUIRED: int +SI_PERMS_ELEVATION_REQUIRED: int +SI_ACCESS_SPECIFIC: int +SI_ACCESS_GENERAL: int +SI_ACCESS_CONTAINER: int +SI_ACCESS_PROPERTY: int +SI_PAGE_PERM: int +SI_PAGE_ADVPERM: int +SI_PAGE_AUDIT: int +SI_PAGE_OWNER: int +SI_PAGE_EFFECTIVE: int +PSPCB_SI_INITDIALOG: int +ACTRL_DS_LIST: int +ACTRL_DS_LIST_OBJECT: int +CFSTR_ACLUI_SID_INFO_LIST: str +DS_LIST_ACCOUNT_OBJECT_FOR_SERVER: int +DS_LIST_DNS_HOST_NAME_FOR_SERVER: int +DS_LIST_DSA_OBJECT_FOR_SERVER: int +FILE_LIST_DIRECTORY: int diff --git a/stubs/pywin32/win32/lib/sspicon.pyi b/stubs/pywin32/win32/lib/sspicon.pyi index a09a88bc048a..978a4370bd58 100644 --- a/stubs/pywin32/win32/lib/sspicon.pyi +++ b/stubs/pywin32/win32/lib/sspicon.pyi @@ -1,459 +1,457 @@ -from typing import Final - -ISSP_LEVEL: Final = 32 -ISSP_MODE: Final = 1 +ISSP_LEVEL: int +ISSP_MODE: int def SEC_SUCCESS(Status: int) -> bool: ... -SECPKG_FLAG_INTEGRITY: Final = 1 -SECPKG_FLAG_PRIVACY: Final = 2 -SECPKG_FLAG_TOKEN_ONLY: Final = 4 -SECPKG_FLAG_DATAGRAM: Final = 8 -SECPKG_FLAG_CONNECTION: Final = 16 -SECPKG_FLAG_MULTI_REQUIRED: Final = 32 -SECPKG_FLAG_CLIENT_ONLY: Final = 64 -SECPKG_FLAG_EXTENDED_ERROR: Final = 128 -SECPKG_FLAG_IMPERSONATION: Final = 256 -SECPKG_FLAG_ACCEPT_WIN32_NAME: Final = 512 -SECPKG_FLAG_STREAM: Final = 1024 -SECPKG_FLAG_NEGOTIABLE: Final = 2048 -SECPKG_FLAG_GSS_COMPATIBLE: Final = 4096 -SECPKG_FLAG_LOGON: Final = 8192 -SECPKG_FLAG_ASCII_BUFFERS: Final = 16384 -SECPKG_FLAG_FRAGMENT: Final = 32768 -SECPKG_FLAG_MUTUAL_AUTH: Final = 65536 -SECPKG_FLAG_DELEGATION: Final = 131072 -SECPKG_FLAG_READONLY_WITH_CHECKSUM: Final = 262144 -SECPKG_ID_NONE: Final = 65535 -SECBUFFER_VERSION: Final = 0 -SECBUFFER_EMPTY: Final = 0 -SECBUFFER_DATA: Final = 1 -SECBUFFER_TOKEN: Final = 2 -SECBUFFER_PKG_PARAMS: Final = 3 -SECBUFFER_MISSING: Final = 4 -SECBUFFER_EXTRA: Final = 5 -SECBUFFER_STREAM_TRAILER: Final = 6 -SECBUFFER_STREAM_HEADER: Final = 7 -SECBUFFER_NEGOTIATION_INFO: Final = 8 -SECBUFFER_PADDING: Final = 9 -SECBUFFER_STREAM: Final = 10 -SECBUFFER_MECHLIST: Final = 11 -SECBUFFER_MECHLIST_SIGNATURE: Final = 12 -SECBUFFER_TARGET: Final = 13 -SECBUFFER_CHANNEL_BINDINGS: Final = 14 -SECBUFFER_ATTRMASK: Final = -268435456 -SECBUFFER_READONLY: Final = -2147483648 -SECBUFFER_READONLY_WITH_CHECKSUM: Final = 268435456 -SECBUFFER_RESERVED: Final = 1610612736 -SECURITY_NATIVE_DREP: Final = 16 -SECURITY_NETWORK_DREP: Final = 0 -SECPKG_CRED_INBOUND: Final = 1 -SECPKG_CRED_OUTBOUND: Final = 2 -SECPKG_CRED_BOTH: Final = 3 -SECPKG_CRED_DEFAULT: Final = 4 -SECPKG_CRED_RESERVED: Final = -268435456 -ISC_REQ_DELEGATE: Final = 1 -ISC_REQ_MUTUAL_AUTH: Final = 2 -ISC_REQ_REPLAY_DETECT: Final = 4 -ISC_REQ_SEQUENCE_DETECT: Final = 8 -ISC_REQ_CONFIDENTIALITY: Final = 16 -ISC_REQ_USE_SESSION_KEY: Final = 32 -ISC_REQ_PROMPT_FOR_CREDS: Final = 64 -ISC_REQ_USE_SUPPLIED_CREDS: Final = 128 -ISC_REQ_ALLOCATE_MEMORY: Final = 256 -ISC_REQ_USE_DCE_STYLE: Final = 512 -ISC_REQ_DATAGRAM: Final = 1024 -ISC_REQ_CONNECTION: Final = 2048 -ISC_REQ_CALL_LEVEL: Final = 4096 -ISC_REQ_FRAGMENT_SUPPLIED: Final = 8192 -ISC_REQ_EXTENDED_ERROR: Final = 16384 -ISC_REQ_STREAM: Final = 32768 -ISC_REQ_INTEGRITY: Final = 65536 -ISC_REQ_IDENTIFY: Final = 131072 -ISC_REQ_NULL_SESSION: Final = 262144 -ISC_REQ_MANUAL_CRED_VALIDATION: Final = 524288 -ISC_REQ_RESERVED1: Final = 1048576 -ISC_REQ_FRAGMENT_TO_FIT: Final = 2097152 -ISC_REQ_HTTP: Final = 0x10000000 -ISC_RET_DELEGATE: Final = 1 -ISC_RET_MUTUAL_AUTH: Final = 2 -ISC_RET_REPLAY_DETECT: Final = 4 -ISC_RET_SEQUENCE_DETECT: Final = 8 -ISC_RET_CONFIDENTIALITY: Final = 16 -ISC_RET_USE_SESSION_KEY: Final = 32 -ISC_RET_USED_COLLECTED_CREDS: Final = 64 -ISC_RET_USED_SUPPLIED_CREDS: Final = 128 -ISC_RET_ALLOCATED_MEMORY: Final = 256 -ISC_RET_USED_DCE_STYLE: Final = 512 -ISC_RET_DATAGRAM: Final = 1024 -ISC_RET_CONNECTION: Final = 2048 -ISC_RET_INTERMEDIATE_RETURN: Final = 4096 -ISC_RET_CALL_LEVEL: Final = 8192 -ISC_RET_EXTENDED_ERROR: Final = 16384 -ISC_RET_STREAM: Final = 32768 -ISC_RET_INTEGRITY: Final = 65536 -ISC_RET_IDENTIFY: Final = 131072 -ISC_RET_NULL_SESSION: Final = 262144 -ISC_RET_MANUAL_CRED_VALIDATION: Final = 524288 -ISC_RET_RESERVED1: Final = 1048576 -ISC_RET_FRAGMENT_ONLY: Final = 2097152 -ASC_REQ_DELEGATE: Final = 1 -ASC_REQ_MUTUAL_AUTH: Final = 2 -ASC_REQ_REPLAY_DETECT: Final = 4 -ASC_REQ_SEQUENCE_DETECT: Final = 8 -ASC_REQ_CONFIDENTIALITY: Final = 16 -ASC_REQ_USE_SESSION_KEY: Final = 32 -ASC_REQ_ALLOCATE_MEMORY: Final = 256 -ASC_REQ_USE_DCE_STYLE: Final = 512 -ASC_REQ_DATAGRAM: Final = 1024 -ASC_REQ_CONNECTION: Final = 2048 -ASC_REQ_CALL_LEVEL: Final = 4096 -ASC_REQ_EXTENDED_ERROR: Final = 32768 -ASC_REQ_STREAM: Final = 65536 -ASC_REQ_INTEGRITY: Final = 131072 -ASC_REQ_LICENSING: Final = 262144 -ASC_REQ_IDENTIFY: Final = 524288 -ASC_REQ_ALLOW_NULL_SESSION: Final = 1048576 -ASC_REQ_ALLOW_NON_USER_LOGONS: Final = 2097152 -ASC_REQ_ALLOW_CONTEXT_REPLAY: Final = 4194304 -ASC_REQ_FRAGMENT_TO_FIT: Final = 8388608 -ASC_REQ_FRAGMENT_SUPPLIED: Final = 8192 -ASC_REQ_NO_TOKEN: Final = 16777216 -ASC_RET_DELEGATE: Final = 1 -ASC_RET_MUTUAL_AUTH: Final = 2 -ASC_RET_REPLAY_DETECT: Final = 4 -ASC_RET_SEQUENCE_DETECT: Final = 8 -ASC_RET_CONFIDENTIALITY: Final = 16 -ASC_RET_USE_SESSION_KEY: Final = 32 -ASC_RET_ALLOCATED_MEMORY: Final = 256 -ASC_RET_USED_DCE_STYLE: Final = 512 -ASC_RET_DATAGRAM: Final = 1024 -ASC_RET_CONNECTION: Final = 2048 -ASC_RET_CALL_LEVEL: Final = 8192 -ASC_RET_THIRD_LEG_FAILED: Final = 16384 -ASC_RET_EXTENDED_ERROR: Final = 32768 -ASC_RET_STREAM: Final = 65536 -ASC_RET_INTEGRITY: Final = 131072 -ASC_RET_LICENSING: Final = 262144 -ASC_RET_IDENTIFY: Final = 524288 -ASC_RET_NULL_SESSION: Final = 1048576 -ASC_RET_ALLOW_NON_USER_LOGONS: Final = 2097152 -ASC_RET_ALLOW_CONTEXT_REPLAY: Final = 4194304 -ASC_RET_FRAGMENT_ONLY: Final = 8388608 -SECPKG_CRED_ATTR_NAMES: Final = 1 -SECPKG_ATTR_SIZES: Final = 0 -SECPKG_ATTR_NAMES: Final = 1 -SECPKG_ATTR_LIFESPAN: Final = 2 -SECPKG_ATTR_DCE_INFO: Final = 3 -SECPKG_ATTR_STREAM_SIZES: Final = 4 -SECPKG_ATTR_KEY_INFO: Final = 5 -SECPKG_ATTR_AUTHORITY: Final = 6 -SECPKG_ATTR_PROTO_INFO: Final = 7 -SECPKG_ATTR_PASSWORD_EXPIRY: Final = 8 -SECPKG_ATTR_SESSION_KEY: Final = 9 -SECPKG_ATTR_PACKAGE_INFO: Final = 10 -SECPKG_ATTR_USER_FLAGS: Final = 11 -SECPKG_ATTR_NEGOTIATION_INFO: Final = 12 -SECPKG_ATTR_NATIVE_NAMES: Final = 13 -SECPKG_ATTR_FLAGS: Final = 14 -SECPKG_ATTR_USE_VALIDATED: Final = 15 -SECPKG_ATTR_CREDENTIAL_NAME: Final = 16 -SECPKG_ATTR_TARGET_INFORMATION: Final = 17 -SECPKG_ATTR_ACCESS_TOKEN: Final = 18 -SECPKG_ATTR_TARGET: Final = 19 -SECPKG_ATTR_AUTHENTICATION_ID: Final = 20 -SECPKG_ATTR_REMOTE_CERT_CONTEXT: Final = 83 -SECPKG_ATTR_LOCAL_CERT_CONTEXT: Final = 84 -SECPKG_ATTR_ROOT_STORE: Final = 85 -SECPKG_ATTR_SUPPORTED_ALGS: Final = 86 -SECPKG_ATTR_CIPHER_STRENGTHS: Final = 87 -SECPKG_ATTR_SUPPORTED_PROTOCOLS: Final = 88 -SECPKG_ATTR_ISSUER_LIST_EX: Final = 89 -SECPKG_ATTR_CONNECTION_INFO: Final = 90 -SECPKG_ATTR_EAP_KEY_BLOCK: Final = 91 -SECPKG_ATTR_MAPPED_CRED_ATTR: Final = 92 -SECPKG_ATTR_SESSION_INFO: Final = 93 -SECPKG_ATTR_APP_DATA: Final = 94 -SECPKG_NEGOTIATION_COMPLETE: Final = 0 -SECPKG_NEGOTIATION_OPTIMISTIC: Final = 1 -SECPKG_NEGOTIATION_IN_PROGRESS: Final = 2 -SECPKG_NEGOTIATION_DIRECT: Final = 3 -SECPKG_NEGOTIATION_TRY_MULTICRED: Final = 4 -SECPKG_CONTEXT_EXPORT_RESET_NEW: Final = 1 -SECPKG_CONTEXT_EXPORT_DELETE_OLD: Final = 2 -SECQOP_WRAP_NO_ENCRYPT: Final = -2147483647 -SECURITY_ENTRYPOINT_ANSIW: Final = "InitSecurityInterfaceW" -SECURITY_ENTRYPOINT_ANSIA: Final = "InitSecurityInterfaceA" -SECURITY_ENTRYPOINT16: Final = "INITSECURITYINTERFACEA" -SECURITY_ENTRYPOINT: Final = SECURITY_ENTRYPOINT16 -SECURITY_ENTRYPOINT_ANSI: Final = SECURITY_ENTRYPOINT16 -SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION: Final = 1 -SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_2: Final = 2 -SASL_OPTION_SEND_SIZE: Final = 1 -SASL_OPTION_RECV_SIZE: Final = 2 -SASL_OPTION_AUTHZ_STRING: Final = 3 -SASL_OPTION_AUTHZ_PROCESSING: Final = 4 -SEC_WINNT_AUTH_IDENTITY_ANSI: Final = 1 -SEC_WINNT_AUTH_IDENTITY_UNICODE: Final = 2 -SEC_WINNT_AUTH_IDENTITY_VERSION: Final = 512 -SEC_WINNT_AUTH_IDENTITY_MARSHALLED: Final = 4 -SEC_WINNT_AUTH_IDENTITY_ONLY: Final = 8 -SECPKG_OPTIONS_TYPE_UNKNOWN: Final = 0 -SECPKG_OPTIONS_TYPE_LSA: Final = 1 -SECPKG_OPTIONS_TYPE_SSPI: Final = 2 -SECPKG_OPTIONS_PERMANENT: Final = 1 -SEC_E_INSUFFICIENT_MEMORY: Final = -2146893056 -SEC_E_INVALID_HANDLE: Final = -2146893055 -SEC_E_UNSUPPORTED_FUNCTION: Final = -2146893054 -SEC_E_TARGET_UNKNOWN: Final = -2146893053 -SEC_E_INTERNAL_ERROR: Final = -2146893052 -SEC_E_SECPKG_NOT_FOUND: Final = -2146893051 -SEC_E_NOT_OWNER: Final = -2146893050 -SEC_E_CANNOT_INSTALL: Final = -2146893049 -SEC_E_INVALID_TOKEN: Final = -2146893048 -SEC_E_CANNOT_PACK: Final = -2146893047 -SEC_E_QOP_NOT_SUPPORTED: Final = -2146893046 -SEC_E_NO_IMPERSONATION: Final = -2146893045 -SEC_E_LOGON_DENIED: Final = -2146893044 -SEC_E_UNKNOWN_CREDENTIALS: Final = -2146893043 -SEC_E_NO_CREDENTIALS: Final = -2146893042 -SEC_E_MESSAGE_ALTERED: Final = -2146893041 -SEC_E_OUT_OF_SEQUENCE: Final = -2146893040 -SEC_E_NO_AUTHENTICATING_AUTHORITY: Final = -2146893039 -SEC_I_CONTINUE_NEEDED: Final = 590610 -SEC_I_COMPLETE_NEEDED: Final = 590611 -SEC_I_COMPLETE_AND_CONTINUE: Final = 590612 -SEC_I_LOCAL_LOGON: Final = 590613 -SEC_E_BAD_PKGID: Final = -2146893034 -SEC_E_CONTEXT_EXPIRED: Final = -2146893033 -SEC_I_CONTEXT_EXPIRED: Final = 590615 -SEC_E_INCOMPLETE_MESSAGE: Final = -2146893032 -SEC_E_INCOMPLETE_CREDENTIALS: Final = -2146893024 -SEC_E_BUFFER_TOO_SMALL: Final = -2146893023 -SEC_I_INCOMPLETE_CREDENTIALS: Final = 590624 -SEC_I_RENEGOTIATE: Final = 590625 -SEC_E_WRONG_PRINCIPAL: Final = -2146893022 -SEC_I_NO_LSA_CONTEXT: Final = 590627 -SEC_E_TIME_SKEW: Final = -2146893020 -SEC_E_UNTRUSTED_ROOT: Final = -2146893019 -SEC_E_ILLEGAL_MESSAGE: Final = -2146893018 -SEC_E_CERT_UNKNOWN: Final = -2146893017 -SEC_E_CERT_EXPIRED: Final = -2146893016 -SEC_E_ENCRYPT_FAILURE: Final = -2146893015 -SEC_E_DECRYPT_FAILURE: Final = -2146893008 -SEC_E_ALGORITHM_MISMATCH: Final = -2146893007 -SEC_E_SECURITY_QOS_FAILED: Final = -2146893006 -SEC_E_UNFINISHED_CONTEXT_DELETED: Final = -2146893005 -SEC_E_NO_TGT_REPLY: Final = -2146893004 -SEC_E_NO_IP_ADDRESSES: Final = -2146893003 -SEC_E_WRONG_CREDENTIAL_HANDLE: Final = -2146893002 -SEC_E_CRYPTO_SYSTEM_INVALID: Final = -2146893001 -SEC_E_MAX_REFERRALS_EXCEEDED: Final = -2146893000 -SEC_E_MUST_BE_KDC: Final = -2146892999 -SEC_E_STRONG_CRYPTO_NOT_SUPPORTED: Final = -2146892998 -SEC_E_TOO_MANY_PRINCIPALS: Final = -2146892997 -SEC_E_NO_PA_DATA: Final = -2146892996 -SEC_E_PKINIT_NAME_MISMATCH: Final = -2146892995 -SEC_E_SMARTCARD_LOGON_REQUIRED: Final = -2146892994 -SEC_E_SHUTDOWN_IN_PROGRESS: Final = -2146892993 -SEC_E_KDC_INVALID_REQUEST: Final = -2146892992 -SEC_E_KDC_UNABLE_TO_REFER: Final = -2146892991 -SEC_E_KDC_UNKNOWN_ETYPE: Final = -2146892990 -SEC_E_UNSUPPORTED_PREAUTH: Final = -2146892989 -SEC_E_DELEGATION_REQUIRED: Final = -2146892987 -SEC_E_BAD_BINDINGS: Final = -2146892986 -SEC_E_MULTIPLE_ACCOUNTS: Final = -2146892985 -SEC_E_NO_KERB_KEY: Final = -2146892984 -ERROR_IPSEC_QM_POLICY_EXISTS: Final = 13000 -ERROR_IPSEC_QM_POLICY_NOT_FOUND: Final = 13001 -ERROR_IPSEC_QM_POLICY_IN_USE: Final = 13002 -ERROR_IPSEC_MM_POLICY_EXISTS: Final = 13003 -ERROR_IPSEC_MM_POLICY_NOT_FOUND: Final = 13004 -ERROR_IPSEC_MM_POLICY_IN_USE: Final = 13005 -ERROR_IPSEC_MM_FILTER_EXISTS: Final = 13006 -ERROR_IPSEC_MM_FILTER_NOT_FOUND: Final = 13007 -ERROR_IPSEC_TRANSPORT_FILTER_EXISTS: Final = 13008 -ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND: Final = 13009 -ERROR_IPSEC_MM_AUTH_EXISTS: Final = 13010 -ERROR_IPSEC_MM_AUTH_NOT_FOUND: Final = 13011 -ERROR_IPSEC_MM_AUTH_IN_USE: Final = 13012 -ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND: Final = 13013 -ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND: Final = 13014 -ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND: Final = 13015 -ERROR_IPSEC_TUNNEL_FILTER_EXISTS: Final = 13016 -ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND: Final = 13017 -ERROR_IPSEC_MM_FILTER_PENDING_DELETION: Final = 13018 -ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION: Final = 13019 -ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION: Final = 13020 -ERROR_IPSEC_MM_POLICY_PENDING_DELETION: Final = 13021 -ERROR_IPSEC_MM_AUTH_PENDING_DELETION: Final = 13022 -ERROR_IPSEC_QM_POLICY_PENDING_DELETION: Final = 13023 -WARNING_IPSEC_MM_POLICY_PRUNED: Final = 13024 -WARNING_IPSEC_QM_POLICY_PRUNED: Final = 13025 -ERROR_IPSEC_IKE_NEG_STATUS_BEGIN: Final = 13800 -ERROR_IPSEC_IKE_AUTH_FAIL: Final = 13801 -ERROR_IPSEC_IKE_ATTRIB_FAIL: Final = 13802 -ERROR_IPSEC_IKE_NEGOTIATION_PENDING: Final = 13803 -ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR: Final = 13804 -ERROR_IPSEC_IKE_TIMED_OUT: Final = 13805 -ERROR_IPSEC_IKE_NO_CERT: Final = 13806 -ERROR_IPSEC_IKE_SA_DELETED: Final = 13807 -ERROR_IPSEC_IKE_SA_REAPED: Final = 13808 -ERROR_IPSEC_IKE_MM_ACQUIRE_DROP: Final = 13809 -ERROR_IPSEC_IKE_QM_ACQUIRE_DROP: Final = 13810 -ERROR_IPSEC_IKE_QUEUE_DROP_MM: Final = 13811 -ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM: Final = 13812 -ERROR_IPSEC_IKE_DROP_NO_RESPONSE: Final = 13813 -ERROR_IPSEC_IKE_MM_DELAY_DROP: Final = 13814 -ERROR_IPSEC_IKE_QM_DELAY_DROP: Final = 13815 -ERROR_IPSEC_IKE_ERROR: Final = 13816 -ERROR_IPSEC_IKE_CRL_FAILED: Final = 13817 -ERROR_IPSEC_IKE_INVALID_KEY_USAGE: Final = 13818 -ERROR_IPSEC_IKE_INVALID_CERT_TYPE: Final = 13819 -ERROR_IPSEC_IKE_NO_PRIVATE_KEY: Final = 13820 -ERROR_IPSEC_IKE_DH_FAIL: Final = 13822 -ERROR_IPSEC_IKE_INVALID_HEADER: Final = 13824 -ERROR_IPSEC_IKE_NO_POLICY: Final = 13825 -ERROR_IPSEC_IKE_INVALID_SIGNATURE: Final = 13826 -ERROR_IPSEC_IKE_KERBEROS_ERROR: Final = 13827 -ERROR_IPSEC_IKE_NO_PUBLIC_KEY: Final = 13828 -ERROR_IPSEC_IKE_PROCESS_ERR: Final = 13829 -ERROR_IPSEC_IKE_PROCESS_ERR_SA: Final = 13830 -ERROR_IPSEC_IKE_PROCESS_ERR_PROP: Final = 13831 -ERROR_IPSEC_IKE_PROCESS_ERR_TRANS: Final = 13832 -ERROR_IPSEC_IKE_PROCESS_ERR_KE: Final = 13833 -ERROR_IPSEC_IKE_PROCESS_ERR_ID: Final = 13834 -ERROR_IPSEC_IKE_PROCESS_ERR_CERT: Final = 13835 -ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ: Final = 13836 -ERROR_IPSEC_IKE_PROCESS_ERR_HASH: Final = 13837 -ERROR_IPSEC_IKE_PROCESS_ERR_SIG: Final = 13838 -ERROR_IPSEC_IKE_PROCESS_ERR_NONCE: Final = 13839 -ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY: Final = 13840 -ERROR_IPSEC_IKE_PROCESS_ERR_DELETE: Final = 13841 -ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR: Final = 13842 -ERROR_IPSEC_IKE_INVALID_PAYLOAD: Final = 13843 -ERROR_IPSEC_IKE_LOAD_SOFT_SA: Final = 13844 -ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN: Final = 13845 -ERROR_IPSEC_IKE_INVALID_COOKIE: Final = 13846 -ERROR_IPSEC_IKE_NO_PEER_CERT: Final = 13847 -ERROR_IPSEC_IKE_PEER_CRL_FAILED: Final = 13848 -ERROR_IPSEC_IKE_POLICY_CHANGE: Final = 13849 -ERROR_IPSEC_IKE_NO_MM_POLICY: Final = 13850 -ERROR_IPSEC_IKE_NOTCBPRIV: Final = 13851 -ERROR_IPSEC_IKE_SECLOADFAIL: Final = 13852 -ERROR_IPSEC_IKE_FAILSSPINIT: Final = 13853 -ERROR_IPSEC_IKE_FAILQUERYSSP: Final = 13854 -ERROR_IPSEC_IKE_SRVACQFAIL: Final = 13855 -ERROR_IPSEC_IKE_SRVQUERYCRED: Final = 13856 -ERROR_IPSEC_IKE_GETSPIFAIL: Final = 13857 -ERROR_IPSEC_IKE_INVALID_FILTER: Final = 13858 -ERROR_IPSEC_IKE_OUT_OF_MEMORY: Final = 13859 -ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED: Final = 13860 -ERROR_IPSEC_IKE_INVALID_POLICY: Final = 13861 -ERROR_IPSEC_IKE_UNKNOWN_DOI: Final = 13862 -ERROR_IPSEC_IKE_INVALID_SITUATION: Final = 13863 -ERROR_IPSEC_IKE_DH_FAILURE: Final = 13864 -ERROR_IPSEC_IKE_INVALID_GROUP: Final = 13865 -ERROR_IPSEC_IKE_ENCRYPT: Final = 13866 -ERROR_IPSEC_IKE_DECRYPT: Final = 13867 -ERROR_IPSEC_IKE_POLICY_MATCH: Final = 13868 -ERROR_IPSEC_IKE_UNSUPPORTED_ID: Final = 13869 -ERROR_IPSEC_IKE_INVALID_HASH: Final = 13870 -ERROR_IPSEC_IKE_INVALID_HASH_ALG: Final = 13871 -ERROR_IPSEC_IKE_INVALID_HASH_SIZE: Final = 13872 -ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG: Final = 13873 -ERROR_IPSEC_IKE_INVALID_AUTH_ALG: Final = 13874 -ERROR_IPSEC_IKE_INVALID_SIG: Final = 13875 -ERROR_IPSEC_IKE_LOAD_FAILED: Final = 13876 -ERROR_IPSEC_IKE_RPC_DELETE: Final = 13877 -ERROR_IPSEC_IKE_BENIGN_REINIT: Final = 13878 -ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY: Final = 13879 -ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN: Final = 13881 -ERROR_IPSEC_IKE_MM_LIMIT: Final = 13882 -ERROR_IPSEC_IKE_NEGOTIATION_DISABLED: Final = 13883 -ERROR_IPSEC_IKE_NEG_STATUS_END: Final = 13884 -CRYPT_E_MSG_ERROR: Final = -2146889727 -CRYPT_E_UNKNOWN_ALGO: Final = -2146889726 -CRYPT_E_OID_FORMAT: Final = -2146889725 -CRYPT_E_INVALID_MSG_TYPE: Final = -2146889724 -CRYPT_E_UNEXPECTED_ENCODING: Final = -2146889723 -CRYPT_E_AUTH_ATTR_MISSING: Final = -2146889722 -CRYPT_E_HASH_VALUE: Final = -2146889721 -CRYPT_E_INVALID_INDEX: Final = -2146889720 -CRYPT_E_ALREADY_DECRYPTED: Final = -2146889719 -CRYPT_E_NOT_DECRYPTED: Final = -2146889718 -CRYPT_E_RECIPIENT_NOT_FOUND: Final = -2146889717 -CRYPT_E_CONTROL_TYPE: Final = -2146889716 -CRYPT_E_ISSUER_SERIALNUMBER: Final = -2146889715 -CRYPT_E_SIGNER_NOT_FOUND: Final = -2146889714 -CRYPT_E_ATTRIBUTES_MISSING: Final = -2146889713 -CRYPT_E_STREAM_MSG_NOT_READY: Final = -2146889712 -CRYPT_E_STREAM_INSUFFICIENT_DATA: Final = -2146889711 -CRYPT_I_NEW_PROTECTION_REQUIRED: Final = 593938 -CRYPT_E_BAD_LEN: Final = -2146885631 -CRYPT_E_BAD_ENCODE: Final = -2146885630 -CRYPT_E_FILE_ERROR: Final = -2146885629 -CRYPT_E_NOT_FOUND: Final = -2146885628 -CRYPT_E_EXISTS: Final = -2146885627 -CRYPT_E_NO_PROVIDER: Final = -2146885626 -CRYPT_E_SELF_SIGNED: Final = -2146885625 -CRYPT_E_DELETED_PREV: Final = -2146885624 -CRYPT_E_NO_MATCH: Final = -2146885623 -CRYPT_E_UNEXPECTED_MSG_TYPE: Final = -2146885622 -CRYPT_E_NO_KEY_PROPERTY: Final = -2146885621 -CRYPT_E_NO_DECRYPT_CERT: Final = -2146885620 -CRYPT_E_BAD_MSG: Final = -2146885619 -CRYPT_E_NO_SIGNER: Final = -2146885618 -CRYPT_E_PENDING_CLOSE: Final = -2146885617 -CRYPT_E_REVOKED: Final = -2146885616 -CRYPT_E_NO_REVOCATION_DLL: Final = -2146885615 -CRYPT_E_NO_REVOCATION_CHECK: Final = -2146885614 -CRYPT_E_REVOCATION_OFFLINE: Final = -2146885613 -CRYPT_E_NOT_IN_REVOCATION_DATABASE: Final = -2146885612 -CRYPT_E_INVALID_NUMERIC_STRING: Final = -2146885600 -CRYPT_E_INVALID_PRINTABLE_STRING: Final = -2146885599 -CRYPT_E_INVALID_IA5_STRING: Final = -2146885598 -CRYPT_E_INVALID_X500_STRING: Final = -2146885597 -CRYPT_E_NOT_CHAR_STRING: Final = -2146885596 -CRYPT_E_FILERESIZED: Final = -2146885595 -CRYPT_E_SECURITY_SETTINGS: Final = -2146885594 -CRYPT_E_NO_VERIFY_USAGE_DLL: Final = -2146885593 -CRYPT_E_NO_VERIFY_USAGE_CHECK: Final = -2146885592 -CRYPT_E_VERIFY_USAGE_OFFLINE: Final = -2146885591 -CRYPT_E_NOT_IN_CTL: Final = -2146885590 -CRYPT_E_NO_TRUSTED_SIGNER: Final = -2146885589 -CRYPT_E_MISSING_PUBKEY_PARA: Final = -2146885588 -CRYPT_E_OSS_ERROR: Final = -2146881536 -KerbDebugRequestMessage: Final = 0 -KerbQueryTicketCacheMessage: Final = 1 -KerbChangeMachinePasswordMessage: Final = 2 -KerbVerifyPacMessage: Final = 3 -KerbRetrieveTicketMessage: Final = 4 -KerbUpdateAddressesMessage: Final = 5 -KerbPurgeTicketCacheMessage: Final = 6 -KerbChangePasswordMessage: Final = 7 -KerbRetrieveEncodedTicketMessage: Final = 8 -KerbDecryptDataMessage: Final = 9 -KerbAddBindingCacheEntryMessage: Final = 10 -KerbSetPasswordMessage: Final = 11 -KerbSetPasswordExMessage: Final = 12 -KerbVerifyCredentialsMessage: Final = 13 -KerbQueryTicketCacheExMessage: Final = 14 -KerbPurgeTicketCacheExMessage: Final = 15 -KerbRefreshSmartcardCredentialsMessage: Final = 16 -KerbAddExtraCredentialsMessage: Final = 17 -KerbQuerySupplementalCredentialsMessage: Final = 18 -MsV1_0Lm20ChallengeRequest: Final = 0 -MsV1_0Lm20GetChallengeResponse: Final = 1 -MsV1_0EnumerateUsers: Final = 2 -MsV1_0GetUserInfo: Final = 3 -MsV1_0ReLogonUsers: Final = 4 -MsV1_0ChangePassword: Final = 5 -MsV1_0ChangeCachedPassword: Final = 6 -MsV1_0GenericPassthrough: Final = 7 -MsV1_0CacheLogon: Final = 8 -MsV1_0SubAuth: Final = 9 -MsV1_0DeriveCredential: Final = 10 -MsV1_0CacheLookup: Final = 11 -MsV1_0SetProcessOption: Final = 12 -SEC_E_OK: Final = 0 +SECPKG_FLAG_INTEGRITY: int +SECPKG_FLAG_PRIVACY: int +SECPKG_FLAG_TOKEN_ONLY: int +SECPKG_FLAG_DATAGRAM: int +SECPKG_FLAG_CONNECTION: int +SECPKG_FLAG_MULTI_REQUIRED: int +SECPKG_FLAG_CLIENT_ONLY: int +SECPKG_FLAG_EXTENDED_ERROR: int +SECPKG_FLAG_IMPERSONATION: int +SECPKG_FLAG_ACCEPT_WIN32_NAME: int +SECPKG_FLAG_STREAM: int +SECPKG_FLAG_NEGOTIABLE: int +SECPKG_FLAG_GSS_COMPATIBLE: int +SECPKG_FLAG_LOGON: int +SECPKG_FLAG_ASCII_BUFFERS: int +SECPKG_FLAG_FRAGMENT: int +SECPKG_FLAG_MUTUAL_AUTH: int +SECPKG_FLAG_DELEGATION: int +SECPKG_FLAG_READONLY_WITH_CHECKSUM: int +SECPKG_ID_NONE: int +SECBUFFER_VERSION: int +SECBUFFER_EMPTY: int +SECBUFFER_DATA: int +SECBUFFER_TOKEN: int +SECBUFFER_PKG_PARAMS: int +SECBUFFER_MISSING: int +SECBUFFER_EXTRA: int +SECBUFFER_STREAM_TRAILER: int +SECBUFFER_STREAM_HEADER: int +SECBUFFER_NEGOTIATION_INFO: int +SECBUFFER_PADDING: int +SECBUFFER_STREAM: int +SECBUFFER_TARGET: int +SECBUFFER_CHANNEL_BINDINGS: int +SECBUFFER_ATTRMASK: int +SECBUFFER_READONLY: int +SECBUFFER_READONLY_WITH_CHECKSUM: int +SECBUFFER_RESERVED: int +SECURITY_NATIVE_DREP: int +SECURITY_NETWORK_DREP: int +SECPKG_CRED_INBOUND: int +SECPKG_CRED_OUTBOUND: int +SECPKG_CRED_BOTH: int +SECPKG_CRED_DEFAULT: int +SECPKG_CRED_RESERVED: int +ISC_REQ_DELEGATE: int +ISC_REQ_MUTUAL_AUTH: int +ISC_REQ_REPLAY_DETECT: int +ISC_REQ_SEQUENCE_DETECT: int +ISC_REQ_CONFIDENTIALITY: int +ISC_REQ_USE_SESSION_KEY: int +ISC_REQ_PROMPT_FOR_CREDS: int +ISC_REQ_USE_SUPPLIED_CREDS: int +ISC_REQ_ALLOCATE_MEMORY: int +ISC_REQ_USE_DCE_STYLE: int +ISC_REQ_DATAGRAM: int +ISC_REQ_CONNECTION: int +ISC_REQ_CALL_LEVEL: int +ISC_REQ_FRAGMENT_SUPPLIED: int +ISC_REQ_EXTENDED_ERROR: int +ISC_REQ_STREAM: int +ISC_REQ_INTEGRITY: int +ISC_REQ_IDENTIFY: int +ISC_REQ_NULL_SESSION: int +ISC_REQ_MANUAL_CRED_VALIDATION: int +ISC_REQ_RESERVED1: int +ISC_REQ_FRAGMENT_TO_FIT: int +ISC_REQ_HTTP: int +ISC_RET_DELEGATE: int +ISC_RET_MUTUAL_AUTH: int +ISC_RET_REPLAY_DETECT: int +ISC_RET_SEQUENCE_DETECT: int +ISC_RET_CONFIDENTIALITY: int +ISC_RET_USE_SESSION_KEY: int +ISC_RET_USED_COLLECTED_CREDS: int +ISC_RET_USED_SUPPLIED_CREDS: int +ISC_RET_ALLOCATED_MEMORY: int +ISC_RET_USED_DCE_STYLE: int +ISC_RET_DATAGRAM: int +ISC_RET_CONNECTION: int +ISC_RET_INTERMEDIATE_RETURN: int +ISC_RET_CALL_LEVEL: int +ISC_RET_EXTENDED_ERROR: int +ISC_RET_STREAM: int +ISC_RET_INTEGRITY: int +ISC_RET_IDENTIFY: int +ISC_RET_NULL_SESSION: int +ISC_RET_MANUAL_CRED_VALIDATION: int +ISC_RET_RESERVED1: int +ISC_RET_FRAGMENT_ONLY: int +ASC_REQ_DELEGATE: int +ASC_REQ_MUTUAL_AUTH: int +ASC_REQ_REPLAY_DETECT: int +ASC_REQ_SEQUENCE_DETECT: int +ASC_REQ_CONFIDENTIALITY: int +ASC_REQ_USE_SESSION_KEY: int +ASC_REQ_ALLOCATE_MEMORY: int +ASC_REQ_USE_DCE_STYLE: int +ASC_REQ_DATAGRAM: int +ASC_REQ_CONNECTION: int +ASC_REQ_CALL_LEVEL: int +ASC_REQ_EXTENDED_ERROR: int +ASC_REQ_STREAM: int +ASC_REQ_INTEGRITY: int +ASC_REQ_LICENSING: int +ASC_REQ_IDENTIFY: int +ASC_REQ_ALLOW_NULL_SESSION: int +ASC_REQ_ALLOW_NON_USER_LOGONS: int +ASC_REQ_ALLOW_CONTEXT_REPLAY: int +ASC_REQ_FRAGMENT_TO_FIT: int +ASC_REQ_FRAGMENT_SUPPLIED: int +ASC_REQ_NO_TOKEN: int +ASC_RET_DELEGATE: int +ASC_RET_MUTUAL_AUTH: int +ASC_RET_REPLAY_DETECT: int +ASC_RET_SEQUENCE_DETECT: int +ASC_RET_CONFIDENTIALITY: int +ASC_RET_USE_SESSION_KEY: int +ASC_RET_ALLOCATED_MEMORY: int +ASC_RET_USED_DCE_STYLE: int +ASC_RET_DATAGRAM: int +ASC_RET_CONNECTION: int +ASC_RET_CALL_LEVEL: int +ASC_RET_THIRD_LEG_FAILED: int +ASC_RET_EXTENDED_ERROR: int +ASC_RET_STREAM: int +ASC_RET_INTEGRITY: int +ASC_RET_LICENSING: int +ASC_RET_IDENTIFY: int +ASC_RET_NULL_SESSION: int +ASC_RET_ALLOW_NON_USER_LOGONS: int +ASC_RET_ALLOW_CONTEXT_REPLAY: int +ASC_RET_FRAGMENT_ONLY: int +SECPKG_CRED_ATTR_NAMES: int +SECPKG_ATTR_SIZES: int +SECPKG_ATTR_NAMES: int +SECPKG_ATTR_LIFESPAN: int +SECPKG_ATTR_DCE_INFO: int +SECPKG_ATTR_STREAM_SIZES: int +SECPKG_ATTR_KEY_INFO: int +SECPKG_ATTR_AUTHORITY: int +SECPKG_ATTR_PROTO_INFO: int +SECPKG_ATTR_PASSWORD_EXPIRY: int +SECPKG_ATTR_SESSION_KEY: int +SECPKG_ATTR_PACKAGE_INFO: int +SECPKG_ATTR_USER_FLAGS: int +SECPKG_ATTR_NEGOTIATION_INFO: int +SECPKG_ATTR_NATIVE_NAMES: int +SECPKG_ATTR_FLAGS: int +SECPKG_ATTR_USE_VALIDATED: int +SECPKG_ATTR_CREDENTIAL_NAME: int +SECPKG_ATTR_TARGET_INFORMATION: int +SECPKG_ATTR_ACCESS_TOKEN: int +SECPKG_ATTR_TARGET: int +SECPKG_ATTR_AUTHENTICATION_ID: int +SECPKG_ATTR_REMOTE_CERT_CONTEXT: int +SECPKG_ATTR_LOCAL_CERT_CONTEXT: int +SECPKG_ATTR_ROOT_STORE: int +SECPKG_ATTR_SUPPORTED_ALGS: int +SECPKG_ATTR_CIPHER_STRENGTHS: int +SECPKG_ATTR_SUPPORTED_PROTOCOLS: int +SECPKG_ATTR_CONNECTION_INFO: int +SECPKG_ATTR_EAP_KEY_BLOCK: int +SECPKG_ATTR_MAPPED_CRED_ATTR: int +SECPKG_ATTR_SESSION_INFO: int +SECPKG_ATTR_APP_DATA: int +SECPKG_NEGOTIATION_COMPLETE: int +SECPKG_NEGOTIATION_OPTIMISTIC: int +SECPKG_NEGOTIATION_IN_PROGRESS: int +SECPKG_NEGOTIATION_DIRECT: int +SECPKG_NEGOTIATION_TRY_MULTICRED: int +SECPKG_CONTEXT_EXPORT_RESET_NEW: int +SECPKG_CONTEXT_EXPORT_DELETE_OLD: int +SECQOP_WRAP_NO_ENCRYPT: int +SECURITY_ENTRYPOINT_ANSIW: str +SECURITY_ENTRYPOINT_ANSIA: str +SECURITY_ENTRYPOINT16: str +SECURITY_ENTRYPOINT: str +SECURITY_ENTRYPOINT_ANSI: str +SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION: int +SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_2: int +SASL_OPTION_SEND_SIZE: int +SASL_OPTION_RECV_SIZE: int +SASL_OPTION_AUTHZ_STRING: int +SASL_OPTION_AUTHZ_PROCESSING: int +SEC_WINNT_AUTH_IDENTITY_ANSI: int +SEC_WINNT_AUTH_IDENTITY_UNICODE: int +SEC_WINNT_AUTH_IDENTITY_VERSION: int +SEC_WINNT_AUTH_IDENTITY_MARSHALLED: int +SEC_WINNT_AUTH_IDENTITY_ONLY: int +SECPKG_OPTIONS_TYPE_UNKNOWN: int +SECPKG_OPTIONS_TYPE_LSA: int +SECPKG_OPTIONS_TYPE_SSPI: int +SECPKG_OPTIONS_PERMANENT: int +SEC_E_INSUFFICIENT_MEMORY: int +SEC_E_INVALID_HANDLE: int +SEC_E_UNSUPPORTED_FUNCTION: int +SEC_E_TARGET_UNKNOWN: int +SEC_E_INTERNAL_ERROR: int +SEC_E_SECPKG_NOT_FOUND: int +SEC_E_NOT_OWNER: int +SEC_E_CANNOT_INSTALL: int +SEC_E_INVALID_TOKEN: int +SEC_E_CANNOT_PACK: int +SEC_E_QOP_NOT_SUPPORTED: int +SEC_E_NO_IMPERSONATION: int +SEC_E_LOGON_DENIED: int +SEC_E_UNKNOWN_CREDENTIALS: int +SEC_E_NO_CREDENTIALS: int +SEC_E_MESSAGE_ALTERED: int +SEC_E_OUT_OF_SEQUENCE: int +SEC_E_NO_AUTHENTICATING_AUTHORITY: int +SEC_I_CONTINUE_NEEDED: int +SEC_I_COMPLETE_NEEDED: int +SEC_I_COMPLETE_AND_CONTINUE: int +SEC_I_LOCAL_LOGON: int +SEC_E_BAD_PKGID: int +SEC_E_CONTEXT_EXPIRED: int +SEC_I_CONTEXT_EXPIRED: int +SEC_E_BUFFER_TOO_SMALL: int +SEC_I_RENEGOTIATE: int +SEC_E_WRONG_PRINCIPAL: int +SEC_I_NO_LSA_CONTEXT: int +SEC_E_TIME_SKEW: int +SEC_E_UNTRUSTED_ROOT: int +SEC_E_ILLEGAL_MESSAGE: int +SEC_E_CERT_UNKNOWN: int +SEC_E_CERT_EXPIRED: int +SEC_E_ENCRYPT_FAILURE: int +SEC_E_DECRYPT_FAILURE: int +SEC_E_ALGORITHM_MISMATCH: int +SEC_E_SECURITY_QOS_FAILED: int +SEC_E_UNFINISHED_CONTEXT_DELETED: int +SEC_E_NO_TGT_REPLY: int +SEC_E_NO_IP_ADDRESSES: int +SEC_E_WRONG_CREDENTIAL_HANDLE: int +SEC_E_CRYPTO_SYSTEM_INVALID: int +SEC_E_MAX_REFERRALS_EXCEEDED: int +SEC_E_MUST_BE_KDC: int +SEC_E_STRONG_CRYPTO_NOT_SUPPORTED: int +SEC_E_TOO_MANY_PRINCIPALS: int +SEC_E_NO_PA_DATA: int +SEC_E_PKINIT_NAME_MISMATCH: int +SEC_E_SMARTCARD_LOGON_REQUIRED: int +SEC_E_SHUTDOWN_IN_PROGRESS: int +SEC_E_KDC_INVALID_REQUEST: int +SEC_E_KDC_UNABLE_TO_REFER: int +SEC_E_KDC_UNKNOWN_ETYPE: int +SEC_E_UNSUPPORTED_PREAUTH: int +SEC_E_DELEGATION_REQUIRED: int +SEC_E_BAD_BINDINGS: int +SEC_E_MULTIPLE_ACCOUNTS: int +SEC_E_NO_KERB_KEY: int +ERROR_IPSEC_QM_POLICY_EXISTS: int +ERROR_IPSEC_QM_POLICY_NOT_FOUND: int +ERROR_IPSEC_QM_POLICY_IN_USE: int +ERROR_IPSEC_MM_POLICY_EXISTS: int +ERROR_IPSEC_MM_POLICY_NOT_FOUND: int +ERROR_IPSEC_MM_POLICY_IN_USE: int +ERROR_IPSEC_MM_FILTER_EXISTS: int +ERROR_IPSEC_MM_FILTER_NOT_FOUND: int +ERROR_IPSEC_TRANSPORT_FILTER_EXISTS: int +ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND: int +ERROR_IPSEC_MM_AUTH_EXISTS: int +ERROR_IPSEC_MM_AUTH_NOT_FOUND: int +ERROR_IPSEC_MM_AUTH_IN_USE: int +ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND: int +ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND: int +ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND: int +ERROR_IPSEC_TUNNEL_FILTER_EXISTS: int +ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND: int +ERROR_IPSEC_MM_FILTER_PENDING_DELETION: int +ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION: int +ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION: int +ERROR_IPSEC_MM_POLICY_PENDING_DELETION: int +ERROR_IPSEC_MM_AUTH_PENDING_DELETION: int +ERROR_IPSEC_QM_POLICY_PENDING_DELETION: int +WARNING_IPSEC_MM_POLICY_PRUNED: int +WARNING_IPSEC_QM_POLICY_PRUNED: int +ERROR_IPSEC_IKE_NEG_STATUS_BEGIN: int +ERROR_IPSEC_IKE_AUTH_FAIL: int +ERROR_IPSEC_IKE_ATTRIB_FAIL: int +ERROR_IPSEC_IKE_NEGOTIATION_PENDING: int +ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR: int +ERROR_IPSEC_IKE_TIMED_OUT: int +ERROR_IPSEC_IKE_NO_CERT: int +ERROR_IPSEC_IKE_SA_DELETED: int +ERROR_IPSEC_IKE_SA_REAPED: int +ERROR_IPSEC_IKE_MM_ACQUIRE_DROP: int +ERROR_IPSEC_IKE_QM_ACQUIRE_DROP: int +ERROR_IPSEC_IKE_QUEUE_DROP_MM: int +ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM: int +ERROR_IPSEC_IKE_DROP_NO_RESPONSE: int +ERROR_IPSEC_IKE_MM_DELAY_DROP: int +ERROR_IPSEC_IKE_QM_DELAY_DROP: int +ERROR_IPSEC_IKE_ERROR: int +ERROR_IPSEC_IKE_CRL_FAILED: int +ERROR_IPSEC_IKE_INVALID_KEY_USAGE: int +ERROR_IPSEC_IKE_INVALID_CERT_TYPE: int +ERROR_IPSEC_IKE_NO_PRIVATE_KEY: int +ERROR_IPSEC_IKE_DH_FAIL: int +ERROR_IPSEC_IKE_INVALID_HEADER: int +ERROR_IPSEC_IKE_NO_POLICY: int +ERROR_IPSEC_IKE_INVALID_SIGNATURE: int +ERROR_IPSEC_IKE_KERBEROS_ERROR: int +ERROR_IPSEC_IKE_NO_PUBLIC_KEY: int +ERROR_IPSEC_IKE_PROCESS_ERR: int +ERROR_IPSEC_IKE_PROCESS_ERR_SA: int +ERROR_IPSEC_IKE_PROCESS_ERR_PROP: int +ERROR_IPSEC_IKE_PROCESS_ERR_TRANS: int +ERROR_IPSEC_IKE_PROCESS_ERR_KE: int +ERROR_IPSEC_IKE_PROCESS_ERR_ID: int +ERROR_IPSEC_IKE_PROCESS_ERR_CERT: int +ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ: int +ERROR_IPSEC_IKE_PROCESS_ERR_HASH: int +ERROR_IPSEC_IKE_PROCESS_ERR_SIG: int +ERROR_IPSEC_IKE_PROCESS_ERR_NONCE: int +ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY: int +ERROR_IPSEC_IKE_PROCESS_ERR_DELETE: int +ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR: int +ERROR_IPSEC_IKE_INVALID_PAYLOAD: int +ERROR_IPSEC_IKE_LOAD_SOFT_SA: int +ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN: int +ERROR_IPSEC_IKE_INVALID_COOKIE: int +ERROR_IPSEC_IKE_NO_PEER_CERT: int +ERROR_IPSEC_IKE_PEER_CRL_FAILED: int +ERROR_IPSEC_IKE_POLICY_CHANGE: int +ERROR_IPSEC_IKE_NO_MM_POLICY: int +ERROR_IPSEC_IKE_NOTCBPRIV: int +ERROR_IPSEC_IKE_SECLOADFAIL: int +ERROR_IPSEC_IKE_FAILSSPINIT: int +ERROR_IPSEC_IKE_FAILQUERYSSP: int +ERROR_IPSEC_IKE_SRVACQFAIL: int +ERROR_IPSEC_IKE_SRVQUERYCRED: int +ERROR_IPSEC_IKE_GETSPIFAIL: int +ERROR_IPSEC_IKE_INVALID_FILTER: int +ERROR_IPSEC_IKE_OUT_OF_MEMORY: int +ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED: int +ERROR_IPSEC_IKE_INVALID_POLICY: int +ERROR_IPSEC_IKE_UNKNOWN_DOI: int +ERROR_IPSEC_IKE_INVALID_SITUATION: int +ERROR_IPSEC_IKE_DH_FAILURE: int +ERROR_IPSEC_IKE_INVALID_GROUP: int +ERROR_IPSEC_IKE_ENCRYPT: int +ERROR_IPSEC_IKE_DECRYPT: int +ERROR_IPSEC_IKE_POLICY_MATCH: int +ERROR_IPSEC_IKE_UNSUPPORTED_ID: int +ERROR_IPSEC_IKE_INVALID_HASH: int +ERROR_IPSEC_IKE_INVALID_HASH_ALG: int +ERROR_IPSEC_IKE_INVALID_HASH_SIZE: int +ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG: int +ERROR_IPSEC_IKE_INVALID_AUTH_ALG: int +ERROR_IPSEC_IKE_INVALID_SIG: int +ERROR_IPSEC_IKE_LOAD_FAILED: int +ERROR_IPSEC_IKE_RPC_DELETE: int +ERROR_IPSEC_IKE_BENIGN_REINIT: int +ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY: int +ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN: int +ERROR_IPSEC_IKE_MM_LIMIT: int +ERROR_IPSEC_IKE_NEGOTIATION_DISABLED: int +ERROR_IPSEC_IKE_NEG_STATUS_END: int +CRYPT_E_MSG_ERROR: int +CRYPT_E_UNKNOWN_ALGO: int +CRYPT_E_OID_FORMAT: int +CRYPT_E_INVALID_MSG_TYPE: int +CRYPT_E_UNEXPECTED_ENCODING: int +CRYPT_E_AUTH_ATTR_MISSING: int +CRYPT_E_HASH_VALUE: int +CRYPT_E_INVALID_INDEX: int +CRYPT_E_ALREADY_DECRYPTED: int +CRYPT_E_NOT_DECRYPTED: int +CRYPT_E_RECIPIENT_NOT_FOUND: int +CRYPT_E_CONTROL_TYPE: int +CRYPT_E_ISSUER_SERIALNUMBER: int +CRYPT_E_SIGNER_NOT_FOUND: int +CRYPT_E_ATTRIBUTES_MISSING: int +CRYPT_E_STREAM_MSG_NOT_READY: int +CRYPT_E_STREAM_INSUFFICIENT_DATA: int +CRYPT_I_NEW_PROTECTION_REQUIRED: int +CRYPT_E_BAD_LEN: int +CRYPT_E_BAD_ENCODE: int +CRYPT_E_FILE_ERROR: int +CRYPT_E_NOT_FOUND: int +CRYPT_E_EXISTS: int +CRYPT_E_NO_PROVIDER: int +CRYPT_E_SELF_SIGNED: int +CRYPT_E_DELETED_PREV: int +CRYPT_E_NO_MATCH: int +CRYPT_E_UNEXPECTED_MSG_TYPE: int +CRYPT_E_NO_KEY_PROPERTY: int +CRYPT_E_NO_DECRYPT_CERT: int +CRYPT_E_BAD_MSG: int +CRYPT_E_NO_SIGNER: int +CRYPT_E_PENDING_CLOSE: int +CRYPT_E_REVOKED: int +CRYPT_E_NO_REVOCATION_DLL: int +CRYPT_E_NO_REVOCATION_CHECK: int +CRYPT_E_REVOCATION_OFFLINE: int +CRYPT_E_NOT_IN_REVOCATION_DATABASE: int +CRYPT_E_INVALID_NUMERIC_STRING: int +CRYPT_E_INVALID_PRINTABLE_STRING: int +CRYPT_E_INVALID_IA5_STRING: int +CRYPT_E_INVALID_X500_STRING: int +CRYPT_E_NOT_CHAR_STRING: int +CRYPT_E_FILERESIZED: int +CRYPT_E_SECURITY_SETTINGS: int +CRYPT_E_NO_VERIFY_USAGE_DLL: int +CRYPT_E_NO_VERIFY_USAGE_CHECK: int +CRYPT_E_VERIFY_USAGE_OFFLINE: int +CRYPT_E_NOT_IN_CTL: int +CRYPT_E_NO_TRUSTED_SIGNER: int +CRYPT_E_MISSING_PUBKEY_PARA: int +CRYPT_E_OSS_ERROR: int +KerbDebugRequestMessage: int +KerbQueryTicketCacheMessage: int +KerbChangeMachinePasswordMessage: int +KerbVerifyPacMessage: int +KerbRetrieveTicketMessage: int +KerbUpdateAddressesMessage: int +KerbPurgeTicketCacheMessage: int +KerbChangePasswordMessage: int +KerbRetrieveEncodedTicketMessage: int +KerbDecryptDataMessage: int +KerbAddBindingCacheEntryMessage: int +KerbSetPasswordMessage: int +KerbSetPasswordExMessage: int +KerbVerifyCredentialsMessage: int +KerbQueryTicketCacheExMessage: int +KerbPurgeTicketCacheExMessage: int +KerbRefreshSmartcardCredentialsMessage: int +KerbAddExtraCredentialsMessage: int +KerbQuerySupplementalCredentialsMessage: int +MsV1_0Lm20ChallengeRequest: int +MsV1_0Lm20GetChallengeResponse: int +MsV1_0EnumerateUsers: int +MsV1_0GetUserInfo: int +MsV1_0ReLogonUsers: int +MsV1_0ChangePassword: int +MsV1_0ChangeCachedPassword: int +MsV1_0GenericPassthrough: int +MsV1_0CacheLogon: int +MsV1_0SubAuth: int +MsV1_0DeriveCredential: int +MsV1_0CacheLookup: int +MsV1_0SetProcessOption: int +SEC_E_OK: int +SECBUFFER_MECHLIST: int +SECBUFFER_MECHLIST_SIGNATURE: int +SECPKG_ATTR_ISSUER_LIST_EX: int +SEC_E_INCOMPLETE_CREDENTIALS: int +SEC_E_INCOMPLETE_MESSAGE: int +SEC_I_INCOMPLETE_CREDENTIALS: int diff --git a/stubs/pywin32/win32/lib/win2kras.pyi b/stubs/pywin32/win32/lib/win2kras.pyi index 455d2763b253..ecb1da748f7e 100644 --- a/stubs/pywin32/win32/lib/win2kras.pyi +++ b/stubs/pywin32/win32/lib/win2kras.pyi @@ -1 +1,34 @@ -from win32.win32ras import * +RASEAPF_Logon: int +RASEAPF_NonInteractive: int +RASEAPF_Preview: int + +def GetEapUserIdentity(phoneBook: str | None, entry: str, flags: int, hwnd=None, /): ... + +RASCS_AllDevicesConnected: int +RASCS_AuthAck: int +RASCS_AuthCallback: int +RASCS_AuthChangePassword: int +RASCS_AuthLinkSpeed: int +RASCS_AuthNotify: int +RASCS_AuthProject: int +RASCS_AuthRetry: int +RASCS_Authenticate: int +RASCS_Authenticated: int +RASCS_CallbackComplete: int +RASCS_CallbackSetByCaller: int +RASCS_ConnectDevice: int +RASCS_Connected: int +RASCS_DeviceConnected: int +RASCS_Disconnected: int +RASCS_Interactive: int +RASCS_LogonNetwork: int +RASCS_OpenPort: int +RASCS_PasswordExpired: int +RASCS_PortOpened: int +RASCS_PrepareForCallback: int +RASCS_Projected: int +RASCS_ReAuthenticate: int +RASCS_RetryAuthentication: int +RASCS_StartAuthentication: int +RASCS_WaitForCallback: int +RASCS_WaitForModemReset: int diff --git a/stubs/pywin32/win32/lib/win32cryptcon.pyi b/stubs/pywin32/win32/lib/win32cryptcon.pyi index 7a3dca662ebb..c3865abff621 100644 --- a/stubs/pywin32/win32/lib/win32cryptcon.pyi +++ b/stubs/pywin32/win32/lib/win32cryptcon.pyi @@ -1,1792 +1,1790 @@ -from typing import Final - def GET_ALG_CLASS(x: int) -> int: ... def GET_ALG_TYPE(x: int) -> int: ... def GET_ALG_SID(x: int) -> int: ... -ALG_CLASS_ANY: Final = 0 -ALG_CLASS_SIGNATURE: Final = 0x2000 -ALG_CLASS_MSG_ENCRYPT: Final = 0x4000 -ALG_CLASS_DATA_ENCRYPT: Final = 0x6000 -ALG_CLASS_HASH: Final = 0x8000 -ALG_CLASS_KEY_EXCHANGE: Final = 0xA000 -ALG_CLASS_ALL: Final = 0xE000 -ALG_TYPE_ANY: Final = 0x0000 -ALG_TYPE_DSS: Final = 0x0200 -ALG_TYPE_RSA: Final = 0x0400 -ALG_TYPE_BLOCK: Final = 0x0600 -ALG_TYPE_STREAM: Final = 0x0800 -ALG_TYPE_DH: Final = 0x0A00 -ALG_TYPE_SECURECHANNEL: Final = 0x0C00 -ALG_SID_ANY: Final = 0 -ALG_SID_RSA_ANY: Final = 0 -ALG_SID_RSA_PKCS: Final = 1 -ALG_SID_RSA_MSATWORK: Final = 2 -ALG_SID_RSA_ENTRUST: Final = 3 -ALG_SID_RSA_PGP: Final = 4 -ALG_SID_DSS_ANY: Final = 0 -ALG_SID_DSS_PKCS: Final = 1 -ALG_SID_DSS_DMS: Final = 2 -ALG_SID_DES: Final = 1 -ALG_SID_3DES: Final = 3 -ALG_SID_DESX: Final = 4 -ALG_SID_IDEA: Final = 5 -ALG_SID_CAST: Final = 6 -ALG_SID_SAFERSK64: Final = 7 -ALG_SID_SAFERSK128: Final = 8 -ALG_SID_3DES_112: Final = 9 -ALG_SID_CYLINK_MEK: Final = 12 -ALG_SID_RC5: Final = 13 -ALG_SID_AES_128: Final = 14 -ALG_SID_AES_192: Final = 15 -ALG_SID_AES_256: Final = 16 -ALG_SID_AES: Final = 17 -ALG_SID_SKIPJACK: Final = 10 -ALG_SID_TEK: Final = 11 -CRYPT_MODE_CBCI: Final = 6 -CRYPT_MODE_CFBP: Final = 7 -CRYPT_MODE_OFBP: Final = 8 -CRYPT_MODE_CBCOFM: Final = 9 -CRYPT_MODE_CBCOFMI: Final = 10 -ALG_SID_RC2: Final = 2 -ALG_SID_RC4: Final = 1 -ALG_SID_SEAL: Final = 2 -ALG_SID_DH_SANDF: Final = 1 -ALG_SID_DH_EPHEM: Final = 2 -ALG_SID_AGREED_KEY_ANY: Final = 3 -ALG_SID_KEA: Final = 4 -ALG_SID_MD2: Final = 1 -ALG_SID_MD4: Final = 2 -ALG_SID_MD5: Final = 3 -ALG_SID_SHA: Final = 4 -ALG_SID_SHA1: Final = 4 -ALG_SID_MAC: Final = 5 -ALG_SID_RIPEMD: Final = 6 -ALG_SID_RIPEMD160: Final = 7 -ALG_SID_SSL3SHAMD5: Final = 8 -ALG_SID_HMAC: Final = 9 -ALG_SID_TLS1PRF: Final = 10 -ALG_SID_HASH_REPLACE_OWF: Final = 11 -ALG_SID_SHA_256: Final = 12 -ALG_SID_SHA_384: Final = 13 -ALG_SID_SHA_512: Final = 14 -ALG_SID_SSL3_MASTER: Final = 1 -ALG_SID_SCHANNEL_MASTER_HASH: Final = 2 -ALG_SID_SCHANNEL_MAC_KEY: Final = 3 -ALG_SID_PCT1_MASTER: Final = 4 -ALG_SID_SSL2_MASTER: Final = 5 -ALG_SID_TLS1_MASTER: Final = 6 -ALG_SID_SCHANNEL_ENC_KEY: Final = 7 -ALG_SID_EXAMPLE: Final = 80 -CALG_MD2: Final = 0x8001 -CALG_MD4: Final = 0x8002 -CALG_MD5: Final = 0x8003 -CALG_SHA: Final = 0x8004 -CALG_SHA1: Final = 0x8004 -CALG_MAC: Final = 0x8005 -CALG_RSA_SIGN: Final = 0x2400 -CALG_DSS_SIGN: Final = 0x2200 -CALG_NO_SIGN: Final = 0x2000 -CALG_RSA_KEYX: Final = 0xA400 -CALG_DES: Final = 0x6601 -CALG_3DES_112: Final = 0x6609 -CALG_3DES: Final = 0x6603 -CALG_DESX: Final = 0x6604 -CALG_RC2: Final = 0x6602 -CALG_RC4: Final = 0x6801 -CALG_SEAL: Final = 0x6802 -CALG_DH_SF: Final = 0xAA01 -CALG_DH_EPHEM: Final = 0xAA02 -CALG_AGREEDKEY_ANY: Final = 0xAA03 -CALG_KEA_KEYX: Final = 0xAA04 -CALG_HUGHES_MD5: Final = 0xA003 -CALG_SKIPJACK: Final = 0x660A -CALG_TEK: Final = 0x660B -CALG_CYLINK_MEK: Final = 0x660C -CALG_SSL3_SHAMD5: Final = 0x8008 -CALG_SSL3_MASTER: Final = 0x4C01 -CALG_SCHANNEL_MASTER_HASH: Final = 0x4C02 -CALG_SCHANNEL_MAC_KEY: Final = 0x4C03 -CALG_SCHANNEL_ENC_KEY: Final = 0x4C07 -CALG_PCT1_MASTER: Final = 0x4C04 -CALG_SSL2_MASTER: Final = 0x4C05 -CALG_TLS1_MASTER: Final = 0x4C06 -CALG_RC5: Final = 0x660D -CALG_HMAC: Final = 0x8009 -CALG_TLS1PRF: Final = 0x800A -CALG_HASH_REPLACE_OWF: Final = 0x800B -CALG_AES_128: Final = 0x660E -CALG_AES_192: Final = 0x660F -CALG_AES_256: Final = 0x6610 -CALG_AES: Final = 0x6611 -CALG_SHA_256: Final = 0x800C -CALG_SHA_384: Final = 0x800D -CALG_SHA_512: Final = 0x800E -CRYPT_VERIFYCONTEXT: Final = -268435456 -CRYPT_NEWKEYSET: Final = 0x00000008 -CRYPT_DELETEKEYSET: Final = 0x00000010 -CRYPT_MACHINE_KEYSET: Final = 0x00000020 -CRYPT_SILENT: Final = 0x00000040 -CRYPT_EXPORTABLE: Final = 0x00000001 -CRYPT_USER_PROTECTED: Final = 0x00000002 -CRYPT_CREATE_SALT: Final = 0x00000004 -CRYPT_UPDATE_KEY: Final = 0x00000008 -CRYPT_NO_SALT: Final = 0x00000010 -CRYPT_PREGEN: Final = 0x00000040 -CRYPT_RECIPIENT: Final = 0x00000010 -CRYPT_INITIATOR: Final = 0x00000040 -CRYPT_ONLINE: Final = 0x00000080 -CRYPT_SF: Final = 0x00000100 -CRYPT_CREATE_IV: Final = 0x00000200 -CRYPT_KEK: Final = 0x00000400 -CRYPT_DATA_KEY: Final = 0x00000800 -CRYPT_VOLATILE: Final = 0x00001000 -CRYPT_SGCKEY: Final = 0x00002000 -CRYPT_ARCHIVABLE: Final = 0x00004000 -RSA1024BIT_KEY: Final = 0x04000000 -CRYPT_SERVER: Final = 0x00000400 -KEY_LENGTH_MASK: Final = -65536 -CRYPT_Y_ONLY: Final = 0x00000001 -CRYPT_SSL2_FALLBACK: Final = 0x00000002 -CRYPT_DESTROYKEY: Final = 0x00000004 -CRYPT_OAEP: Final = 0x00000040 -CRYPT_BLOB_VER3: Final = 0x00000080 -CRYPT_IPSEC_HMAC_KEY: Final = 0x00000100 -CRYPT_DECRYPT_RSA_NO_PADDING_CHECK: Final = 0x00000020 -CRYPT_SECRETDIGEST: Final = 0x00000001 -CRYPT_OWF_REPL_LM_HASH: Final = 0x00000001 -CRYPT_LITTLE_ENDIAN: Final = 0x00000001 -CRYPT_NOHASHOID: Final = 0x00000001 -CRYPT_TYPE2_FORMAT: Final = 0x00000002 -CRYPT_X931_FORMAT: Final = 0x00000004 -CRYPT_MACHINE_DEFAULT: Final = 0x00000001 -CRYPT_USER_DEFAULT: Final = 0x00000002 -CRYPT_DELETE_DEFAULT: Final = 0x00000004 -SIMPLEBLOB: Final = 0x1 -PUBLICKEYBLOB: Final = 0x6 -PRIVATEKEYBLOB: Final = 0x7 -PLAINTEXTKEYBLOB: Final = 0x8 -OPAQUEKEYBLOB: Final = 0x9 -PUBLICKEYBLOBEX: Final = 0xA -SYMMETRICWRAPKEYBLOB: Final = 0xB -AT_KEYEXCHANGE: Final = 1 -AT_SIGNATURE: Final = 2 -CRYPT_USERDATA: Final = 1 -KP_IV: Final = 1 -KP_SALT: Final = 2 -KP_PADDING: Final = 3 -KP_MODE: Final = 4 -KP_MODE_BITS: Final = 5 -KP_PERMISSIONS: Final = 6 -KP_ALGID: Final = 7 -KP_BLOCKLEN: Final = 8 -KP_KEYLEN: Final = 9 -KP_SALT_EX: Final = 10 -KP_P: Final = 11 -KP_G: Final = 12 -KP_Q: Final = 13 -KP_X: Final = 14 -KP_Y: Final = 15 -KP_RA: Final = 16 -KP_RB: Final = 17 -KP_INFO: Final = 18 -KP_EFFECTIVE_KEYLEN: Final = 19 -KP_SCHANNEL_ALG: Final = 20 -KP_CLIENT_RANDOM: Final = 21 -KP_SERVER_RANDOM: Final = 22 -KP_RP: Final = 23 -KP_PRECOMP_MD5: Final = 24 -KP_PRECOMP_SHA: Final = 25 -KP_CERTIFICATE: Final = 26 -KP_CLEAR_KEY: Final = 27 -KP_PUB_EX_LEN: Final = 28 -KP_PUB_EX_VAL: Final = 29 -KP_KEYVAL: Final = 30 -KP_ADMIN_PIN: Final = 31 -KP_KEYEXCHANGE_PIN: Final = 32 -KP_SIGNATURE_PIN: Final = 33 -KP_PREHASH: Final = 34 -KP_ROUNDS: Final = 35 -KP_OAEP_PARAMS: Final = 36 -KP_CMS_KEY_INFO: Final = 37 -KP_CMS_DH_KEY_INFO: Final = 38 -KP_PUB_PARAMS: Final = 39 -KP_VERIFY_PARAMS: Final = 40 -KP_HIGHEST_VERSION: Final = 41 -KP_GET_USE_COUNT: Final = 42 -PKCS5_PADDING: Final = 1 -RANDOM_PADDING: Final = 2 -ZERO_PADDING: Final = 3 -CRYPT_MODE_CBC: Final = 1 -CRYPT_MODE_ECB: Final = 2 -CRYPT_MODE_OFB: Final = 3 -CRYPT_MODE_CFB: Final = 4 -CRYPT_MODE_CTS: Final = 5 -CRYPT_ENCRYPT: Final = 0x0001 -CRYPT_DECRYPT: Final = 0x0002 -CRYPT_EXPORT: Final = 0x0004 -CRYPT_READ: Final = 0x0008 -CRYPT_WRITE: Final = 0x0010 -CRYPT_MAC: Final = 0x0020 -CRYPT_EXPORT_KEY: Final = 0x0040 -CRYPT_IMPORT_KEY: Final = 0x0080 -CRYPT_ARCHIVE: Final = 0x0100 -HP_ALGID: Final = 0x0001 -HP_HASHVAL: Final = 0x0002 -HP_HASHSIZE: Final = 0x0004 -HP_HMAC_INFO: Final = 0x0005 -HP_TLS1PRF_LABEL: Final = 0x0006 -HP_TLS1PRF_SEED: Final = 0x0007 -CRYPT_FAILED: Final = 0 -CRYPT_SUCCEED: Final = 1 +ALG_CLASS_ANY: int +ALG_CLASS_SIGNATURE: int +ALG_CLASS_MSG_ENCRYPT: int +ALG_CLASS_DATA_ENCRYPT: int +ALG_CLASS_HASH: int +ALG_CLASS_KEY_EXCHANGE: int +ALG_CLASS_ALL: int +ALG_TYPE_ANY: int +ALG_TYPE_DSS: int +ALG_TYPE_RSA: int +ALG_TYPE_BLOCK: int +ALG_TYPE_STREAM: int +ALG_TYPE_DH: int +ALG_TYPE_SECURECHANNEL: int +ALG_SID_ANY: int +ALG_SID_RSA_ANY: int +ALG_SID_RSA_PKCS: int +ALG_SID_RSA_MSATWORK: int +ALG_SID_RSA_ENTRUST: int +ALG_SID_RSA_PGP: int +ALG_SID_DSS_ANY: int +ALG_SID_DSS_PKCS: int +ALG_SID_DSS_DMS: int +ALG_SID_DES: int +ALG_SID_3DES: int +ALG_SID_DESX: int +ALG_SID_IDEA: int +ALG_SID_CAST: int +ALG_SID_SAFERSK64: int +ALG_SID_SAFERSK128: int +ALG_SID_3DES_112: int +ALG_SID_CYLINK_MEK: int +ALG_SID_RC5: int +ALG_SID_AES_128: int +ALG_SID_AES_192: int +ALG_SID_AES_256: int +ALG_SID_AES: int +ALG_SID_SKIPJACK: int +ALG_SID_TEK: int +CRYPT_MODE_CBCI: int +CRYPT_MODE_CFBP: int +CRYPT_MODE_OFBP: int +CRYPT_MODE_CBCOFM: int +CRYPT_MODE_CBCOFMI: int +ALG_SID_RC2: int +ALG_SID_RC4: int +ALG_SID_SEAL: int +ALG_SID_DH_SANDF: int +ALG_SID_DH_EPHEM: int +ALG_SID_AGREED_KEY_ANY: int +ALG_SID_KEA: int +ALG_SID_MD2: int +ALG_SID_MD4: int +ALG_SID_MD5: int +ALG_SID_SHA: int +ALG_SID_SHA1: int +ALG_SID_MAC: int +ALG_SID_RIPEMD: int +ALG_SID_RIPEMD160: int +ALG_SID_SSL3SHAMD5: int +ALG_SID_HMAC: int +ALG_SID_TLS1PRF: int +ALG_SID_HASH_REPLACE_OWF: int +ALG_SID_SHA_256: int +ALG_SID_SHA_384: int +ALG_SID_SHA_512: int +ALG_SID_SSL3_MASTER: int +ALG_SID_SCHANNEL_MASTER_HASH: int +ALG_SID_SCHANNEL_MAC_KEY: int +ALG_SID_PCT1_MASTER: int +ALG_SID_SSL2_MASTER: int +ALG_SID_TLS1_MASTER: int +ALG_SID_SCHANNEL_ENC_KEY: int +ALG_SID_EXAMPLE: int +CALG_MD2: int +CALG_MD4: int +CALG_MD5: int +CALG_SHA: int +CALG_SHA1: int +CALG_MAC: int +CALG_RSA_SIGN: int +CALG_DSS_SIGN: int +CALG_NO_SIGN: int +CALG_RSA_KEYX: int +CALG_DES: int +CALG_3DES_112: int +CALG_3DES: int +CALG_DESX: int +CALG_RC2: int +CALG_RC4: int +CALG_SEAL: int +CALG_DH_SF: int +CALG_DH_EPHEM: int +CALG_AGREEDKEY_ANY: int +CALG_KEA_KEYX: int +CALG_HUGHES_MD5: int +CALG_SKIPJACK: int +CALG_TEK: int +CALG_CYLINK_MEK: int +CALG_SSL3_SHAMD5: int +CALG_SSL3_MASTER: int +CALG_SCHANNEL_MASTER_HASH: int +CALG_SCHANNEL_MAC_KEY: int +CALG_SCHANNEL_ENC_KEY: int +CALG_PCT1_MASTER: int +CALG_SSL2_MASTER: int +CALG_TLS1_MASTER: int +CALG_RC5: int +CALG_HMAC: int +CALG_TLS1PRF: int +CALG_HASH_REPLACE_OWF: int +CALG_AES_128: int +CALG_AES_192: int +CALG_AES_256: int +CALG_AES: int +CALG_SHA_256: int +CALG_SHA_384: int +CALG_SHA_512: int +CRYPT_VERIFYCONTEXT: int +CRYPT_NEWKEYSET: int +CRYPT_DELETEKEYSET: int +CRYPT_MACHINE_KEYSET: int +CRYPT_SILENT: int +CRYPT_EXPORTABLE: int +CRYPT_USER_PROTECTED: int +CRYPT_CREATE_SALT: int +CRYPT_UPDATE_KEY: int +CRYPT_NO_SALT: int +CRYPT_PREGEN: int +CRYPT_RECIPIENT: int +CRYPT_INITIATOR: int +CRYPT_ONLINE: int +CRYPT_SF: int +CRYPT_CREATE_IV: int +CRYPT_KEK: int +CRYPT_DATA_KEY: int +CRYPT_VOLATILE: int +CRYPT_SGCKEY: int +CRYPT_ARCHIVABLE: int +RSA1024BIT_KEY: int +CRYPT_SERVER: int +KEY_LENGTH_MASK: int +CRYPT_Y_ONLY: int +CRYPT_SSL2_FALLBACK: int +CRYPT_DESTROYKEY: int +CRYPT_OAEP: int +CRYPT_BLOB_VER3: int +CRYPT_IPSEC_HMAC_KEY: int +CRYPT_DECRYPT_RSA_NO_PADDING_CHECK: int +CRYPT_SECRETDIGEST: int +CRYPT_OWF_REPL_LM_HASH: int +CRYPT_LITTLE_ENDIAN: int +CRYPT_NOHASHOID: int +CRYPT_TYPE2_FORMAT: int +CRYPT_X931_FORMAT: int +CRYPT_MACHINE_DEFAULT: int +CRYPT_USER_DEFAULT: int +CRYPT_DELETE_DEFAULT: int +SIMPLEBLOB: int +PUBLICKEYBLOB: int +PRIVATEKEYBLOB: int +PLAINTEXTKEYBLOB: int +OPAQUEKEYBLOB: int +PUBLICKEYBLOBEX: int +SYMMETRICWRAPKEYBLOB: int +AT_KEYEXCHANGE: int +AT_SIGNATURE: int +CRYPT_USERDATA: int +KP_IV: int +KP_SALT: int +KP_PADDING: int +KP_MODE: int +KP_MODE_BITS: int +KP_PERMISSIONS: int +KP_ALGID: int +KP_BLOCKLEN: int +KP_KEYLEN: int +KP_SALT_EX: int +KP_P: int +KP_G: int +KP_Q: int +KP_X: int +KP_Y: int +KP_RA: int +KP_RB: int +KP_INFO: int +KP_EFFECTIVE_KEYLEN: int +KP_SCHANNEL_ALG: int +KP_CLIENT_RANDOM: int +KP_SERVER_RANDOM: int +KP_RP: int +KP_PRECOMP_MD5: int +KP_PRECOMP_SHA: int +KP_CERTIFICATE: int +KP_CLEAR_KEY: int +KP_PUB_EX_LEN: int +KP_PUB_EX_VAL: int +KP_KEYVAL: int +KP_ADMIN_PIN: int +KP_KEYEXCHANGE_PIN: int +KP_SIGNATURE_PIN: int +KP_PREHASH: int +KP_ROUNDS: int +KP_OAEP_PARAMS: int +KP_CMS_KEY_INFO: int +KP_CMS_DH_KEY_INFO: int +KP_PUB_PARAMS: int +KP_VERIFY_PARAMS: int +KP_HIGHEST_VERSION: int +KP_GET_USE_COUNT: int +PKCS5_PADDING: int +RANDOM_PADDING: int +ZERO_PADDING: int +CRYPT_MODE_CBC: int +CRYPT_MODE_ECB: int +CRYPT_MODE_OFB: int +CRYPT_MODE_CFB: int +CRYPT_MODE_CTS: int +CRYPT_ENCRYPT: int +CRYPT_DECRYPT: int +CRYPT_EXPORT: int +CRYPT_READ: int +CRYPT_WRITE: int +CRYPT_MAC: int +CRYPT_EXPORT_KEY: int +CRYPT_IMPORT_KEY: int +CRYPT_ARCHIVE: int +HP_ALGID: int +HP_HASHVAL: int +HP_HASHSIZE: int +HP_HMAC_INFO: int +HP_TLS1PRF_LABEL: int +HP_TLS1PRF_SEED: int +CRYPT_FAILED: int +CRYPT_SUCCEED: int def RCRYPT_SUCCEEDED(rt: int) -> bool: ... def RCRYPT_FAILED(rt: int) -> bool: ... -PP_ENUMALGS: Final = 1 -PP_ENUMCONTAINERS: Final = 2 -PP_IMPTYPE: Final = 3 -PP_NAME: Final = 4 -PP_VERSION: Final = 5 -PP_CONTAINER: Final = 6 -PP_CHANGE_PASSWORD: Final = 7 -PP_KEYSET_SEC_DESCR: Final = 8 -PP_CERTCHAIN: Final = 9 -PP_KEY_TYPE_SUBTYPE: Final = 10 -PP_PROVTYPE: Final = 16 -PP_KEYSTORAGE: Final = 17 -PP_APPLI_CERT: Final = 18 -PP_SYM_KEYSIZE: Final = 19 -PP_SESSION_KEYSIZE: Final = 20 -PP_UI_PROMPT: Final = 21 -PP_ENUMALGS_EX: Final = 22 -PP_ENUMMANDROOTS: Final = 25 -PP_ENUMELECTROOTS: Final = 26 -PP_KEYSET_TYPE: Final = 27 -PP_ADMIN_PIN: Final = 31 -PP_KEYEXCHANGE_PIN: Final = 32 -PP_SIGNATURE_PIN: Final = 33 -PP_SIG_KEYSIZE_INC: Final = 34 -PP_KEYX_KEYSIZE_INC: Final = 35 -PP_UNIQUE_CONTAINER: Final = 36 -PP_SGC_INFO: Final = 37 -PP_USE_HARDWARE_RNG: Final = 38 -PP_KEYSPEC: Final = 39 -PP_ENUMEX_SIGNING_PROT: Final = 40 -PP_CRYPT_COUNT_KEY_USE: Final = 41 -CRYPT_FIRST: Final = 1 -CRYPT_NEXT: Final = 2 -CRYPT_SGC_ENUM: Final = 4 -CRYPT_IMPL_HARDWARE: Final = 1 -CRYPT_IMPL_SOFTWARE: Final = 2 -CRYPT_IMPL_MIXED: Final = 3 -CRYPT_IMPL_UNKNOWN: Final = 4 -CRYPT_IMPL_REMOVABLE: Final = 8 -CRYPT_SEC_DESCR: Final = 0x00000001 -CRYPT_PSTORE: Final = 0x00000002 -CRYPT_UI_PROMPT: Final = 0x00000004 -CRYPT_FLAG_PCT1: Final = 0x0001 -CRYPT_FLAG_SSL2: Final = 0x0002 -CRYPT_FLAG_SSL3: Final = 0x0004 -CRYPT_FLAG_TLS1: Final = 0x0008 -CRYPT_FLAG_IPSEC: Final = 0x0010 -CRYPT_FLAG_SIGNING: Final = 0x0020 -CRYPT_SGC: Final = 0x0001 -CRYPT_FASTSGC: Final = 0x0002 -PP_CLIENT_HWND: Final = 1 -PP_CONTEXT_INFO: Final = 11 -PP_KEYEXCHANGE_KEYSIZE: Final = 12 -PP_SIGNATURE_KEYSIZE: Final = 13 -PP_KEYEXCHANGE_ALG: Final = 14 -PP_SIGNATURE_ALG: Final = 15 -PP_DELETEKEY: Final = 24 -PROV_RSA_FULL: Final = 1 -PROV_RSA_SIG: Final = 2 -PROV_DSS: Final = 3 -PROV_FORTEZZA: Final = 4 -PROV_MS_EXCHANGE: Final = 5 -PROV_SSL: Final = 6 -PROV_RSA_SCHANNEL: Final = 12 -PROV_DSS_DH: Final = 13 -PROV_EC_ECDSA_SIG: Final = 14 -PROV_EC_ECNRA_SIG: Final = 15 -PROV_EC_ECDSA_FULL: Final = 16 -PROV_EC_ECNRA_FULL: Final = 17 -PROV_DH_SCHANNEL: Final = 18 -PROV_SPYRUS_LYNKS: Final = 20 -PROV_RNG: Final = 21 -PROV_INTEL_SEC: Final = 22 -PROV_REPLACE_OWF: Final = 23 -PROV_RSA_AES: Final = 24 -MS_DEF_PROV_A: Final = "Microsoft Base Cryptographic Provider v1.0" -MS_DEF_PROV: Final = MS_DEF_PROV_A -MS_ENHANCED_PROV_A: Final = "Microsoft Enhanced Cryptographic Provider v1.0" -MS_ENHANCED_PROV: Final = MS_ENHANCED_PROV_A -MS_STRONG_PROV_A: Final = "Microsoft Strong Cryptographic Provider" -MS_STRONG_PROV: Final = MS_STRONG_PROV_A -MS_DEF_RSA_SIG_PROV_A: Final = "Microsoft RSA Signature Cryptographic Provider" -MS_DEF_RSA_SIG_PROV: Final = MS_DEF_RSA_SIG_PROV_A -MS_DEF_RSA_SCHANNEL_PROV_A: Final = "Microsoft RSA SChannel Cryptographic Provider" -MS_DEF_RSA_SCHANNEL_PROV: Final = MS_DEF_RSA_SCHANNEL_PROV_A -MS_DEF_DSS_PROV_A: Final = "Microsoft Base DSS Cryptographic Provider" -MS_DEF_DSS_PROV: Final = MS_DEF_DSS_PROV_A -MS_DEF_DSS_DH_PROV_A: Final[str] -MS_DEF_DSS_DH_PROV: Final = MS_DEF_DSS_DH_PROV_A -MS_ENH_DSS_DH_PROV_A: Final[str] -MS_ENH_DSS_DH_PROV: Final = MS_ENH_DSS_DH_PROV_A -MS_DEF_DH_SCHANNEL_PROV_A: Final = "Microsoft DH SChannel Cryptographic Provider" -MS_DEF_DH_SCHANNEL_PROV: Final = MS_DEF_DH_SCHANNEL_PROV_A -MS_SCARD_PROV_A: Final = "Microsoft Base Smart Card Crypto Provider" -MS_SCARD_PROV: Final = MS_SCARD_PROV_A -MS_ENH_RSA_AES_PROV_A: Final[str] -MS_ENH_RSA_AES_PROV: Final = MS_ENH_RSA_AES_PROV_A -MAXUIDLEN: Final = 64 -EXPO_OFFLOAD_REG_VALUE: Final = "ExpoOffload" -EXPO_OFFLOAD_FUNC_NAME: Final = "OffloadModExpo" -szKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS: Final = "Software\\Policies\\Microsoft\\Cryptography" -szFORCE_KEY_PROTECTION: Final = "ForceKeyProtection" -dwFORCE_KEY_PROTECTION_DISABLED: Final = 0x0 -dwFORCE_KEY_PROTECTION_USER_SELECT: Final = 0x1 -dwFORCE_KEY_PROTECTION_HIGH: Final = 0x2 -szKEY_CACHE_ENABLED: Final = "CachePrivateKeys" -szKEY_CACHE_SECONDS: Final = "PrivateKeyLifetimeSeconds" -CUR_BLOB_VERSION: Final = 2 -SCHANNEL_MAC_KEY: Final = 0x00000000 -SCHANNEL_ENC_KEY: Final = 0x00000001 -INTERNATIONAL_USAGE: Final = 0x00000001 -szOID_RSA: Final = "1.2.840.113549" -szOID_PKCS: Final = "1.2.840.113549.1" -szOID_RSA_HASH: Final = "1.2.840.113549.2" -szOID_RSA_ENCRYPT: Final = "1.2.840.113549.3" -szOID_PKCS_1: Final = "1.2.840.113549.1.1" -szOID_PKCS_2: Final = "1.2.840.113549.1.2" -szOID_PKCS_3: Final = "1.2.840.113549.1.3" -szOID_PKCS_4: Final = "1.2.840.113549.1.4" -szOID_PKCS_5: Final = "1.2.840.113549.1.5" -szOID_PKCS_6: Final = "1.2.840.113549.1.6" -szOID_PKCS_7: Final = "1.2.840.113549.1.7" -szOID_PKCS_8: Final = "1.2.840.113549.1.8" -szOID_PKCS_9: Final = "1.2.840.113549.1.9" -szOID_PKCS_10: Final = "1.2.840.113549.1.10" -szOID_PKCS_12: Final = "1.2.840.113549.1.12" -szOID_RSA_RSA: Final = "1.2.840.113549.1.1.1" -szOID_RSA_MD2RSA: Final = "1.2.840.113549.1.1.2" -szOID_RSA_MD4RSA: Final = "1.2.840.113549.1.1.3" -szOID_RSA_MD5RSA: Final = "1.2.840.113549.1.1.4" -szOID_RSA_SHA1RSA: Final = "1.2.840.113549.1.1.5" -szOID_RSA_SETOAEP_RSA: Final = "1.2.840.113549.1.1.6" -szOID_RSA_DH: Final = "1.2.840.113549.1.3.1" -szOID_RSA_data: Final = "1.2.840.113549.1.7.1" -szOID_RSA_signedData: Final = "1.2.840.113549.1.7.2" -szOID_RSA_envelopedData: Final = "1.2.840.113549.1.7.3" -szOID_RSA_signEnvData: Final = "1.2.840.113549.1.7.4" -szOID_RSA_digestedData: Final = "1.2.840.113549.1.7.5" -szOID_RSA_hashedData: Final = "1.2.840.113549.1.7.5" -szOID_RSA_encryptedData: Final = "1.2.840.113549.1.7.6" -szOID_RSA_emailAddr: Final = "1.2.840.113549.1.9.1" -szOID_RSA_unstructName: Final = "1.2.840.113549.1.9.2" -szOID_RSA_contentType: Final = "1.2.840.113549.1.9.3" -szOID_RSA_messageDigest: Final = "1.2.840.113549.1.9.4" -szOID_RSA_signingTime: Final = "1.2.840.113549.1.9.5" -szOID_RSA_counterSign: Final = "1.2.840.113549.1.9.6" -szOID_RSA_challengePwd: Final = "1.2.840.113549.1.9.7" -szOID_RSA_unstructAddr: Final = "1.2.840.113549.1.9.8" -szOID_RSA_extCertAttrs: Final = "1.2.840.113549.1.9.9" -szOID_RSA_certExtensions: Final = "1.2.840.113549.1.9.14" -szOID_RSA_SMIMECapabilities: Final = "1.2.840.113549.1.9.15" -szOID_RSA_preferSignedData: Final = "1.2.840.113549.1.9.15.1" -szOID_RSA_SMIMEalg: Final = "1.2.840.113549.1.9.16.3" -szOID_RSA_SMIMEalgESDH: Final = "1.2.840.113549.1.9.16.3.5" -szOID_RSA_SMIMEalgCMS3DESwrap: Final = "1.2.840.113549.1.9.16.3.6" -szOID_RSA_SMIMEalgCMSRC2wrap: Final = "1.2.840.113549.1.9.16.3.7" -szOID_RSA_MD2: Final = "1.2.840.113549.2.2" -szOID_RSA_MD4: Final = "1.2.840.113549.2.4" -szOID_RSA_MD5: Final = "1.2.840.113549.2.5" -szOID_RSA_RC2CBC: Final = "1.2.840.113549.3.2" -szOID_RSA_RC4: Final = "1.2.840.113549.3.4" -szOID_RSA_DES_EDE3_CBC: Final = "1.2.840.113549.3.7" -szOID_RSA_RC5_CBCPad: Final = "1.2.840.113549.3.9" -szOID_ANSI_X942: Final = "1.2.840.10046" -szOID_ANSI_X942_DH: Final = "1.2.840.10046.2.1" -szOID_X957: Final = "1.2.840.10040" -szOID_X957_DSA: Final = "1.2.840.10040.4.1" -szOID_X957_SHA1DSA: Final = "1.2.840.10040.4.3" -szOID_DS: Final = "2.5" -szOID_DSALG: Final = "2.5.8" -szOID_DSALG_CRPT: Final = "2.5.8.1" -szOID_DSALG_HASH: Final = "2.5.8.2" -szOID_DSALG_SIGN: Final = "2.5.8.3" -szOID_DSALG_RSA: Final = "2.5.8.1.1" -szOID_OIW: Final = "1.3.14" -szOID_OIWSEC: Final = "1.3.14.3.2" -szOID_OIWSEC_md4RSA: Final = "1.3.14.3.2.2" -szOID_OIWSEC_md5RSA: Final = "1.3.14.3.2.3" -szOID_OIWSEC_md4RSA2: Final = "1.3.14.3.2.4" -szOID_OIWSEC_desECB: Final = "1.3.14.3.2.6" -szOID_OIWSEC_desCBC: Final = "1.3.14.3.2.7" -szOID_OIWSEC_desOFB: Final = "1.3.14.3.2.8" -szOID_OIWSEC_desCFB: Final = "1.3.14.3.2.9" -szOID_OIWSEC_desMAC: Final = "1.3.14.3.2.10" -szOID_OIWSEC_rsaSign: Final = "1.3.14.3.2.11" -szOID_OIWSEC_dsa: Final = "1.3.14.3.2.12" -szOID_OIWSEC_shaDSA: Final = "1.3.14.3.2.13" -szOID_OIWSEC_mdc2RSA: Final = "1.3.14.3.2.14" -szOID_OIWSEC_shaRSA: Final = "1.3.14.3.2.15" -szOID_OIWSEC_dhCommMod: Final = "1.3.14.3.2.16" -szOID_OIWSEC_desEDE: Final = "1.3.14.3.2.17" -szOID_OIWSEC_sha: Final = "1.3.14.3.2.18" -szOID_OIWSEC_mdc2: Final = "1.3.14.3.2.19" -szOID_OIWSEC_dsaComm: Final = "1.3.14.3.2.20" -szOID_OIWSEC_dsaCommSHA: Final = "1.3.14.3.2.21" -szOID_OIWSEC_rsaXchg: Final = "1.3.14.3.2.22" -szOID_OIWSEC_keyHashSeal: Final = "1.3.14.3.2.23" -szOID_OIWSEC_md2RSASign: Final = "1.3.14.3.2.24" -szOID_OIWSEC_md5RSASign: Final = "1.3.14.3.2.25" -szOID_OIWSEC_sha1: Final = "1.3.14.3.2.26" -szOID_OIWSEC_dsaSHA1: Final = "1.3.14.3.2.27" -szOID_OIWSEC_dsaCommSHA1: Final = "1.3.14.3.2.28" -szOID_OIWSEC_sha1RSASign: Final = "1.3.14.3.2.29" -szOID_OIWDIR: Final = "1.3.14.7.2" -szOID_OIWDIR_CRPT: Final = "1.3.14.7.2.1" -szOID_OIWDIR_HASH: Final = "1.3.14.7.2.2" -szOID_OIWDIR_SIGN: Final = "1.3.14.7.2.3" -szOID_OIWDIR_md2: Final = "1.3.14.7.2.2.1" -szOID_OIWDIR_md2RSA: Final = "1.3.14.7.2.3.1" -szOID_INFOSEC: Final = "2.16.840.1.101.2.1" -szOID_INFOSEC_sdnsSignature: Final = "2.16.840.1.101.2.1.1.1" -szOID_INFOSEC_mosaicSignature: Final = "2.16.840.1.101.2.1.1.2" -szOID_INFOSEC_sdnsConfidentiality: Final = "2.16.840.1.101.2.1.1.3" -szOID_INFOSEC_mosaicConfidentiality: Final = "2.16.840.1.101.2.1.1.4" -szOID_INFOSEC_sdnsIntegrity: Final = "2.16.840.1.101.2.1.1.5" -szOID_INFOSEC_mosaicIntegrity: Final = "2.16.840.1.101.2.1.1.6" -szOID_INFOSEC_sdnsTokenProtection: Final = "2.16.840.1.101.2.1.1.7" -szOID_INFOSEC_mosaicTokenProtection: Final = "2.16.840.1.101.2.1.1.8" -szOID_INFOSEC_sdnsKeyManagement: Final = "2.16.840.1.101.2.1.1.9" -szOID_INFOSEC_mosaicKeyManagement: Final = "2.16.840.1.101.2.1.1.10" -szOID_INFOSEC_sdnsKMandSig: Final = "2.16.840.1.101.2.1.1.11" -szOID_INFOSEC_mosaicKMandSig: Final = "2.16.840.1.101.2.1.1.12" -szOID_INFOSEC_SuiteASignature: Final = "2.16.840.1.101.2.1.1.13" -szOID_INFOSEC_SuiteAConfidentiality: Final = "2.16.840.1.101.2.1.1.14" -szOID_INFOSEC_SuiteAIntegrity: Final = "2.16.840.1.101.2.1.1.15" -szOID_INFOSEC_SuiteATokenProtection: Final = "2.16.840.1.101.2.1.1.16" -szOID_INFOSEC_SuiteAKeyManagement: Final = "2.16.840.1.101.2.1.1.17" -szOID_INFOSEC_SuiteAKMandSig: Final = "2.16.840.1.101.2.1.1.18" -szOID_INFOSEC_mosaicUpdatedSig: Final = "2.16.840.1.101.2.1.1.19" -szOID_INFOSEC_mosaicKMandUpdSig: Final = "2.16.840.1.101.2.1.1.20" -szOID_INFOSEC_mosaicUpdatedInteg: Final = "2.16.840.1.101.2.1.1.21" -szOID_COMMON_NAME: Final = "2.5.4.3" -szOID_SUR_NAME: Final = "2.5.4.4" -szOID_DEVICE_SERIAL_NUMBER: Final = "2.5.4.5" -szOID_COUNTRY_NAME: Final = "2.5.4.6" -szOID_LOCALITY_NAME: Final = "2.5.4.7" -szOID_STATE_OR_PROVINCE_NAME: Final = "2.5.4.8" -szOID_STREET_ADDRESS: Final = "2.5.4.9" -szOID_ORGANIZATION_NAME: Final = "2.5.4.10" -szOID_ORGANIZATIONAL_UNIT_NAME: Final = "2.5.4.11" -szOID_TITLE: Final = "2.5.4.12" -szOID_DESCRIPTION: Final = "2.5.4.13" -szOID_SEARCH_GUIDE: Final = "2.5.4.14" -szOID_BUSINESS_CATEGORY: Final = "2.5.4.15" -szOID_POSTAL_ADDRESS: Final = "2.5.4.16" -szOID_POSTAL_CODE: Final = "2.5.4.17" -szOID_POST_OFFICE_BOX: Final = "2.5.4.18" -szOID_PHYSICAL_DELIVERY_OFFICE_NAME: Final = "2.5.4.19" -szOID_TELEPHONE_NUMBER: Final = "2.5.4.20" -szOID_TELEX_NUMBER: Final = "2.5.4.21" -szOID_TELETEXT_TERMINAL_IDENTIFIER: Final = "2.5.4.22" -szOID_FACSIMILE_TELEPHONE_NUMBER: Final = "2.5.4.23" -szOID_X21_ADDRESS: Final = "2.5.4.24" -szOID_INTERNATIONAL_ISDN_NUMBER: Final = "2.5.4.25" -szOID_REGISTERED_ADDRESS: Final = "2.5.4.26" -szOID_DESTINATION_INDICATOR: Final = "2.5.4.27" -szOID_PREFERRED_DELIVERY_METHOD: Final = "2.5.4.28" -szOID_PRESENTATION_ADDRESS: Final = "2.5.4.29" -szOID_SUPPORTED_APPLICATION_CONTEXT: Final = "2.5.4.30" -szOID_MEMBER: Final = "2.5.4.31" -szOID_OWNER: Final = "2.5.4.32" -szOID_ROLE_OCCUPANT: Final = "2.5.4.33" -szOID_SEE_ALSO: Final = "2.5.4.34" -szOID_USER_PASSWORD: Final = "2.5.4.35" -szOID_USER_CERTIFICATE: Final = "2.5.4.36" -szOID_CA_CERTIFICATE: Final = "2.5.4.37" -szOID_AUTHORITY_REVOCATION_LIST: Final = "2.5.4.38" -szOID_CERTIFICATE_REVOCATION_LIST: Final = "2.5.4.39" -szOID_CROSS_CERTIFICATE_PAIR: Final = "2.5.4.40" -szOID_GIVEN_NAME: Final = "2.5.4.42" -szOID_INITIALS: Final = "2.5.4.43" -szOID_DN_QUALIFIER: Final = "2.5.4.46" -szOID_DOMAIN_COMPONENT: Final = "0.9.2342.19200300.100.1.25" -szOID_PKCS_12_FRIENDLY_NAME_ATTR: Final = "1.2.840.113549.1.9.20" -szOID_PKCS_12_LOCAL_KEY_ID: Final = "1.2.840.113549.1.9.21" -szOID_PKCS_12_KEY_PROVIDER_NAME_ATTR: Final = "1.3.6.1.4.1.311.17.1" -szOID_LOCAL_MACHINE_KEYSET: Final = "1.3.6.1.4.1.311.17.2" -szOID_KEYID_RDN: Final = "1.3.6.1.4.1.311.10.7.1" -CERT_RDN_ANY_TYPE: Final = 0 -CERT_RDN_ENCODED_BLOB: Final = 1 -CERT_RDN_OCTET_STRING: Final = 2 -CERT_RDN_NUMERIC_STRING: Final = 3 -CERT_RDN_PRINTABLE_STRING: Final = 4 -CERT_RDN_TELETEX_STRING: Final = 5 -CERT_RDN_T61_STRING: Final = 5 -CERT_RDN_VIDEOTEX_STRING: Final = 6 -CERT_RDN_IA5_STRING: Final = 7 -CERT_RDN_GRAPHIC_STRING: Final = 8 -CERT_RDN_VISIBLE_STRING: Final = 9 -CERT_RDN_ISO646_STRING: Final = 9 -CERT_RDN_GENERAL_STRING: Final = 10 -CERT_RDN_UNIVERSAL_STRING: Final = 11 -CERT_RDN_INT4_STRING: Final = 11 -CERT_RDN_BMP_STRING: Final = 12 -CERT_RDN_UNICODE_STRING: Final = 12 -CERT_RDN_UTF8_STRING: Final = 13 -CERT_RDN_TYPE_MASK: Final = 0x000000FF -CERT_RDN_FLAGS_MASK: Final = -16777216 -CERT_RDN_ENABLE_T61_UNICODE_FLAG: Final = -2147483648 -CERT_RDN_ENABLE_UTF8_UNICODE_FLAG: Final = 0x20000000 -CERT_RDN_DISABLE_CHECK_TYPE_FLAG: Final = 0x40000000 -CERT_RDN_DISABLE_IE4_UTF8_FLAG: Final = 0x01000000 -CERT_RSA_PUBLIC_KEY_OBJID: Final = szOID_RSA_RSA -CERT_DEFAULT_OID_PUBLIC_KEY_SIGN: Final = szOID_RSA_RSA -CERT_DEFAULT_OID_PUBLIC_KEY_XCHG: Final = szOID_RSA_RSA -CERT_V1: Final = 0 -CERT_V2: Final = 1 -CERT_V3: Final = 2 -CERT_INFO_VERSION_FLAG: Final = 1 -CERT_INFO_SERIAL_NUMBER_FLAG: Final = 2 -CERT_INFO_SIGNATURE_ALGORITHM_FLAG: Final = 3 -CERT_INFO_ISSUER_FLAG: Final = 4 -CERT_INFO_NOT_BEFORE_FLAG: Final = 5 -CERT_INFO_NOT_AFTER_FLAG: Final = 6 -CERT_INFO_SUBJECT_FLAG: Final = 7 -CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG: Final = 8 -CERT_INFO_ISSUER_UNIQUE_ID_FLAG: Final = 9 -CERT_INFO_SUBJECT_UNIQUE_ID_FLAG: Final = 10 -CERT_INFO_EXTENSION_FLAG: Final = 11 -CRL_V1: Final = 0 -CRL_V2: Final = 1 -CERT_REQUEST_V1: Final = 0 -CERT_KEYGEN_REQUEST_V1: Final = 0 -CTL_V1: Final = 0 -CERT_ENCODING_TYPE_MASK: Final = 0x0000FFFF -CMSG_ENCODING_TYPE_MASK: Final = -65536 +PP_ENUMALGS: int +PP_ENUMCONTAINERS: int +PP_IMPTYPE: int +PP_NAME: int +PP_VERSION: int +PP_CONTAINER: int +PP_CHANGE_PASSWORD: int +PP_KEYSET_SEC_DESCR: int +PP_CERTCHAIN: int +PP_KEY_TYPE_SUBTYPE: int +PP_PROVTYPE: int +PP_KEYSTORAGE: int +PP_APPLI_CERT: int +PP_SYM_KEYSIZE: int +PP_SESSION_KEYSIZE: int +PP_UI_PROMPT: int +PP_ENUMALGS_EX: int +PP_ENUMMANDROOTS: int +PP_ENUMELECTROOTS: int +PP_KEYSET_TYPE: int +PP_ADMIN_PIN: int +PP_KEYEXCHANGE_PIN: int +PP_SIGNATURE_PIN: int +PP_SIG_KEYSIZE_INC: int +PP_KEYX_KEYSIZE_INC: int +PP_UNIQUE_CONTAINER: int +PP_SGC_INFO: int +PP_USE_HARDWARE_RNG: int +PP_KEYSPEC: int +PP_ENUMEX_SIGNING_PROT: int +PP_CRYPT_COUNT_KEY_USE: int +CRYPT_FIRST: int +CRYPT_NEXT: int +CRYPT_SGC_ENUM: int +CRYPT_IMPL_HARDWARE: int +CRYPT_IMPL_SOFTWARE: int +CRYPT_IMPL_MIXED: int +CRYPT_IMPL_UNKNOWN: int +CRYPT_IMPL_REMOVABLE: int +CRYPT_SEC_DESCR: int +CRYPT_PSTORE: int +CRYPT_UI_PROMPT: int +CRYPT_FLAG_PCT1: int +CRYPT_FLAG_SSL2: int +CRYPT_FLAG_SSL3: int +CRYPT_FLAG_TLS1: int +CRYPT_FLAG_IPSEC: int +CRYPT_FLAG_SIGNING: int +CRYPT_SGC: int +CRYPT_FASTSGC: int +PP_CLIENT_HWND: int +PP_CONTEXT_INFO: int +PP_KEYEXCHANGE_KEYSIZE: int +PP_SIGNATURE_KEYSIZE: int +PP_KEYEXCHANGE_ALG: int +PP_SIGNATURE_ALG: int +PP_DELETEKEY: int +PROV_RSA_FULL: int +PROV_RSA_SIG: int +PROV_DSS: int +PROV_FORTEZZA: int +PROV_MS_EXCHANGE: int +PROV_SSL: int +PROV_RSA_SCHANNEL: int +PROV_DSS_DH: int +PROV_EC_ECDSA_SIG: int +PROV_EC_ECNRA_SIG: int +PROV_EC_ECDSA_FULL: int +PROV_EC_ECNRA_FULL: int +PROV_DH_SCHANNEL: int +PROV_SPYRUS_LYNKS: int +PROV_RNG: int +PROV_INTEL_SEC: int +PROV_REPLACE_OWF: int +PROV_RSA_AES: int +MS_DEF_PROV_A: str +MS_DEF_PROV: str +MS_ENHANCED_PROV_A: str +MS_ENHANCED_PROV: str +MS_STRONG_PROV_A: str +MS_STRONG_PROV: str +MS_DEF_RSA_SIG_PROV_A: str +MS_DEF_RSA_SIG_PROV: str +MS_DEF_RSA_SCHANNEL_PROV_A: str +MS_DEF_RSA_SCHANNEL_PROV: str +MS_DEF_DSS_PROV_A: str +MS_DEF_DSS_PROV: str +MS_DEF_DSS_DH_PROV_A: str +MS_DEF_DSS_DH_PROV: str +MS_ENH_DSS_DH_PROV_A: str +MS_ENH_DSS_DH_PROV: str +MS_DEF_DH_SCHANNEL_PROV_A: str +MS_DEF_DH_SCHANNEL_PROV: str +MS_SCARD_PROV_A: str +MS_SCARD_PROV: str +MS_ENH_RSA_AES_PROV_A: str +MS_ENH_RSA_AES_PROV: str +MAXUIDLEN: int +EXPO_OFFLOAD_REG_VALUE: str +EXPO_OFFLOAD_FUNC_NAME: str +szKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS: str +szFORCE_KEY_PROTECTION: str +dwFORCE_KEY_PROTECTION_DISABLED: int +dwFORCE_KEY_PROTECTION_USER_SELECT: int +dwFORCE_KEY_PROTECTION_HIGH: int +szKEY_CACHE_ENABLED: str +szKEY_CACHE_SECONDS: str +CUR_BLOB_VERSION: int +SCHANNEL_MAC_KEY: int +SCHANNEL_ENC_KEY: int +INTERNATIONAL_USAGE: int +szOID_RSA: str +szOID_PKCS: str +szOID_RSA_HASH: str +szOID_RSA_ENCRYPT: str +szOID_PKCS_1: str +szOID_PKCS_2: str +szOID_PKCS_3: str +szOID_PKCS_4: str +szOID_PKCS_5: str +szOID_PKCS_6: str +szOID_PKCS_7: str +szOID_PKCS_8: str +szOID_PKCS_9: str +szOID_PKCS_10: str +szOID_PKCS_12: str +szOID_RSA_RSA: str +szOID_RSA_MD2RSA: str +szOID_RSA_MD4RSA: str +szOID_RSA_MD5RSA: str +szOID_RSA_SHA1RSA: str +szOID_RSA_SETOAEP_RSA: str +szOID_RSA_DH: str +szOID_RSA_data: str +szOID_RSA_signedData: str +szOID_RSA_envelopedData: str +szOID_RSA_signEnvData: str +szOID_RSA_digestedData: str +szOID_RSA_hashedData: str +szOID_RSA_encryptedData: str +szOID_RSA_emailAddr: str +szOID_RSA_unstructName: str +szOID_RSA_contentType: str +szOID_RSA_messageDigest: str +szOID_RSA_signingTime: str +szOID_RSA_counterSign: str +szOID_RSA_challengePwd: str +szOID_RSA_unstructAddr: str +szOID_RSA_extCertAttrs: str +szOID_RSA_certExtensions: str +szOID_RSA_SMIMECapabilities: str +szOID_RSA_preferSignedData: str +szOID_RSA_SMIMEalg: str +szOID_RSA_SMIMEalgESDH: str +szOID_RSA_SMIMEalgCMS3DESwrap: str +szOID_RSA_SMIMEalgCMSRC2wrap: str +szOID_RSA_MD2: str +szOID_RSA_MD4: str +szOID_RSA_MD5: str +szOID_RSA_RC2CBC: str +szOID_RSA_RC4: str +szOID_RSA_DES_EDE3_CBC: str +szOID_RSA_RC5_CBCPad: str +szOID_ANSI_X942: str +szOID_ANSI_X942_DH: str +szOID_X957: str +szOID_X957_DSA: str +szOID_X957_SHA1DSA: str +szOID_DS: str +szOID_DSALG: str +szOID_DSALG_CRPT: str +szOID_DSALG_HASH: str +szOID_DSALG_SIGN: str +szOID_DSALG_RSA: str +szOID_OIW: str +szOID_OIWSEC: str +szOID_OIWSEC_md4RSA: str +szOID_OIWSEC_md5RSA: str +szOID_OIWSEC_md4RSA2: str +szOID_OIWSEC_desECB: str +szOID_OIWSEC_desCBC: str +szOID_OIWSEC_desOFB: str +szOID_OIWSEC_desCFB: str +szOID_OIWSEC_desMAC: str +szOID_OIWSEC_rsaSign: str +szOID_OIWSEC_dsa: str +szOID_OIWSEC_shaDSA: str +szOID_OIWSEC_mdc2RSA: str +szOID_OIWSEC_shaRSA: str +szOID_OIWSEC_dhCommMod: str +szOID_OIWSEC_desEDE: str +szOID_OIWSEC_sha: str +szOID_OIWSEC_mdc2: str +szOID_OIWSEC_dsaComm: str +szOID_OIWSEC_dsaCommSHA: str +szOID_OIWSEC_rsaXchg: str +szOID_OIWSEC_keyHashSeal: str +szOID_OIWSEC_md2RSASign: str +szOID_OIWSEC_md5RSASign: str +szOID_OIWSEC_sha1: str +szOID_OIWSEC_dsaSHA1: str +szOID_OIWSEC_dsaCommSHA1: str +szOID_OIWSEC_sha1RSASign: str +szOID_OIWDIR: str +szOID_OIWDIR_CRPT: str +szOID_OIWDIR_HASH: str +szOID_OIWDIR_SIGN: str +szOID_OIWDIR_md2: str +szOID_OIWDIR_md2RSA: str +szOID_INFOSEC: str +szOID_INFOSEC_sdnsSignature: str +szOID_INFOSEC_mosaicSignature: str +szOID_INFOSEC_sdnsConfidentiality: str +szOID_INFOSEC_mosaicConfidentiality: str +szOID_INFOSEC_sdnsIntegrity: str +szOID_INFOSEC_mosaicIntegrity: str +szOID_INFOSEC_sdnsTokenProtection: str +szOID_INFOSEC_mosaicTokenProtection: str +szOID_INFOSEC_sdnsKeyManagement: str +szOID_INFOSEC_mosaicKeyManagement: str +szOID_INFOSEC_sdnsKMandSig: str +szOID_INFOSEC_mosaicKMandSig: str +szOID_INFOSEC_SuiteASignature: str +szOID_INFOSEC_SuiteAConfidentiality: str +szOID_INFOSEC_SuiteAIntegrity: str +szOID_INFOSEC_SuiteATokenProtection: str +szOID_INFOSEC_SuiteAKeyManagement: str +szOID_INFOSEC_SuiteAKMandSig: str +szOID_INFOSEC_mosaicUpdatedSig: str +szOID_INFOSEC_mosaicKMandUpdSig: str +szOID_INFOSEC_mosaicUpdatedInteg: str +szOID_COMMON_NAME: str +szOID_SUR_NAME: str +szOID_DEVICE_SERIAL_NUMBER: str +szOID_COUNTRY_NAME: str +szOID_LOCALITY_NAME: str +szOID_STATE_OR_PROVINCE_NAME: str +szOID_STREET_ADDRESS: str +szOID_ORGANIZATION_NAME: str +szOID_ORGANIZATIONAL_UNIT_NAME: str +szOID_TITLE: str +szOID_DESCRIPTION: str +szOID_SEARCH_GUIDE: str +szOID_BUSINESS_CATEGORY: str +szOID_POSTAL_ADDRESS: str +szOID_POSTAL_CODE: str +szOID_POST_OFFICE_BOX: str +szOID_PHYSICAL_DELIVERY_OFFICE_NAME: str +szOID_TELEPHONE_NUMBER: str +szOID_TELEX_NUMBER: str +szOID_TELETEXT_TERMINAL_IDENTIFIER: str +szOID_FACSIMILE_TELEPHONE_NUMBER: str +szOID_X21_ADDRESS: str +szOID_INTERNATIONAL_ISDN_NUMBER: str +szOID_REGISTERED_ADDRESS: str +szOID_DESTINATION_INDICATOR: str +szOID_PREFERRED_DELIVERY_METHOD: str +szOID_PRESENTATION_ADDRESS: str +szOID_SUPPORTED_APPLICATION_CONTEXT: str +szOID_MEMBER: str +szOID_OWNER: str +szOID_ROLE_OCCUPANT: str +szOID_SEE_ALSO: str +szOID_USER_PASSWORD: str +szOID_USER_CERTIFICATE: str +szOID_CA_CERTIFICATE: str +szOID_CROSS_CERTIFICATE_PAIR: str +szOID_GIVEN_NAME: str +szOID_INITIALS: str +szOID_DN_QUALIFIER: str +szOID_DOMAIN_COMPONENT: str +szOID_PKCS_12_FRIENDLY_NAME_ATTR: str +szOID_PKCS_12_LOCAL_KEY_ID: str +szOID_PKCS_12_KEY_PROVIDER_NAME_ATTR: str +szOID_LOCAL_MACHINE_KEYSET: str +szOID_KEYID_RDN: str +CERT_RDN_ANY_TYPE: int +CERT_RDN_ENCODED_BLOB: int +CERT_RDN_OCTET_STRING: int +CERT_RDN_NUMERIC_STRING: int +CERT_RDN_PRINTABLE_STRING: int +CERT_RDN_TELETEX_STRING: int +CERT_RDN_T61_STRING: int +CERT_RDN_VIDEOTEX_STRING: int +CERT_RDN_IA5_STRING: int +CERT_RDN_GRAPHIC_STRING: int +CERT_RDN_VISIBLE_STRING: int +CERT_RDN_ISO646_STRING: int +CERT_RDN_GENERAL_STRING: int +CERT_RDN_UNIVERSAL_STRING: int +CERT_RDN_INT4_STRING: int +CERT_RDN_BMP_STRING: int +CERT_RDN_UNICODE_STRING: int +CERT_RDN_UTF8_STRING: int +CERT_RDN_TYPE_MASK: int +CERT_RDN_FLAGS_MASK: int +CERT_RDN_ENABLE_T61_UNICODE_FLAG: int +CERT_RDN_ENABLE_UTF8_UNICODE_FLAG: int +CERT_RDN_DISABLE_CHECK_TYPE_FLAG: int +CERT_RDN_DISABLE_IE4_UTF8_FLAG: int +CERT_RSA_PUBLIC_KEY_OBJID: str +CERT_DEFAULT_OID_PUBLIC_KEY_SIGN: str +CERT_DEFAULT_OID_PUBLIC_KEY_XCHG: str +CERT_V1: int +CERT_V2: int +CERT_V3: int +CERT_INFO_VERSION_FLAG: int +CERT_INFO_SERIAL_NUMBER_FLAG: int +CERT_INFO_SIGNATURE_ALGORITHM_FLAG: int +CERT_INFO_ISSUER_FLAG: int +CERT_INFO_NOT_BEFORE_FLAG: int +CERT_INFO_NOT_AFTER_FLAG: int +CERT_INFO_SUBJECT_FLAG: int +CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG: int +CERT_INFO_ISSUER_UNIQUE_ID_FLAG: int +CERT_INFO_SUBJECT_UNIQUE_ID_FLAG: int +CERT_INFO_EXTENSION_FLAG: int +CRL_V1: int +CRL_V2: int +CERT_REQUEST_V1: int +CERT_KEYGEN_REQUEST_V1: int +CTL_V1: int +CERT_ENCODING_TYPE_MASK: int +CMSG_ENCODING_TYPE_MASK: int def GET_CERT_ENCODING_TYPE(X: int) -> int: ... def GET_CMSG_ENCODING_TYPE(X: int) -> int: ... -CRYPT_ASN_ENCODING: Final = 0x00000001 -CRYPT_NDR_ENCODING: Final = 0x00000002 -X509_ASN_ENCODING: Final = 0x00000001 -X509_NDR_ENCODING: Final = 0x00000002 -PKCS_7_ASN_ENCODING: Final = 0x00010000 -PKCS_7_NDR_ENCODING: Final = 0x00020000 -CRYPT_FORMAT_STR_MULTI_LINE: Final = 0x0001 -CRYPT_FORMAT_STR_NO_HEX: Final = 0x0010 -CRYPT_FORMAT_SIMPLE: Final = 0x0001 -CRYPT_FORMAT_X509: Final = 0x0002 -CRYPT_FORMAT_OID: Final = 0x0004 -CRYPT_FORMAT_RDN_SEMICOLON: Final = 0x0100 -CRYPT_FORMAT_RDN_CRLF: Final = 0x0200 -CRYPT_FORMAT_RDN_UNQUOTE: Final = 0x0400 -CRYPT_FORMAT_RDN_REVERSE: Final = 0x0800 -CRYPT_FORMAT_COMMA: Final = 0x1000 -CRYPT_FORMAT_SEMICOLON: Final = CRYPT_FORMAT_RDN_SEMICOLON -CRYPT_FORMAT_CRLF: Final = CRYPT_FORMAT_RDN_CRLF -CRYPT_ENCODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: Final = 0x8 -CRYPT_ENCODE_ALLOC_FLAG: Final = 0x8000 -CRYPT_UNICODE_NAME_ENCODE_ENABLE_T61_UNICODE_FLAG: Final = CERT_RDN_ENABLE_T61_UNICODE_FLAG -CRYPT_UNICODE_NAME_ENCODE_ENABLE_UTF8_UNICODE_FLAG: Final = CERT_RDN_ENABLE_UTF8_UNICODE_FLAG -CRYPT_UNICODE_NAME_ENCODE_DISABLE_CHECK_TYPE_FLAG: Final = CERT_RDN_DISABLE_CHECK_TYPE_FLAG -CRYPT_SORTED_CTL_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: Final = 0x10000 -CRYPT_DECODE_NOCOPY_FLAG: Final = 0x1 -CRYPT_DECODE_TO_BE_SIGNED_FLAG: Final = 0x2 -CRYPT_DECODE_SHARE_OID_STRING_FLAG: Final = 0x4 -CRYPT_DECODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: Final = 0x8 -CRYPT_DECODE_ALLOC_FLAG: Final = 0x8000 -CRYPT_UNICODE_NAME_DECODE_DISABLE_IE4_UTF8_FLAG: Final = CERT_RDN_DISABLE_IE4_UTF8_FLAG -CRYPT_ENCODE_DECODE_NONE: Final = 0 -X509_CERT: Final = 1 -X509_CERT_TO_BE_SIGNED: Final = 2 -X509_CERT_CRL_TO_BE_SIGNED: Final = 3 -X509_CERT_REQUEST_TO_BE_SIGNED: Final = 4 -X509_EXTENSIONS: Final = 5 -X509_NAME_VALUE: Final = 6 -X509_NAME: Final = 7 -X509_PUBLIC_KEY_INFO: Final = 8 -X509_AUTHORITY_KEY_ID: Final = 9 -X509_KEY_ATTRIBUTES: Final = 10 -X509_KEY_USAGE_RESTRICTION: Final = 11 -X509_ALTERNATE_NAME: Final = 12 -X509_BASIC_CONSTRAINTS: Final = 13 -X509_KEY_USAGE: Final = 14 -X509_BASIC_CONSTRAINTS2: Final = 15 -X509_CERT_POLICIES: Final = 16 -PKCS_UTC_TIME: Final = 17 -PKCS_TIME_REQUEST: Final = 18 -RSA_CSP_PUBLICKEYBLOB: Final = 19 -X509_UNICODE_NAME: Final = 20 -X509_KEYGEN_REQUEST_TO_BE_SIGNED: Final = 21 -PKCS_ATTRIBUTE: Final = 22 -PKCS_CONTENT_INFO_SEQUENCE_OF_ANY: Final = 23 -X509_UNICODE_NAME_VALUE: Final = 24 -X509_ANY_STRING: Final = X509_NAME_VALUE -X509_UNICODE_ANY_STRING: Final = X509_UNICODE_NAME_VALUE -X509_OCTET_STRING: Final = 25 -X509_BITS: Final = 26 -X509_INTEGER: Final = 27 -X509_MULTI_BYTE_INTEGER: Final = 28 -X509_ENUMERATED: Final = 29 -X509_CHOICE_OF_TIME: Final = 30 -X509_AUTHORITY_KEY_ID2: Final = 31 -X509_AUTHORITY_INFO_ACCESS: Final = 32 -X509_SUBJECT_INFO_ACCESS: Final = X509_AUTHORITY_INFO_ACCESS -X509_CRL_REASON_CODE: Final = X509_ENUMERATED -PKCS_CONTENT_INFO: Final = 33 -X509_SEQUENCE_OF_ANY: Final = 34 -X509_CRL_DIST_POINTS: Final = 35 -X509_ENHANCED_KEY_USAGE: Final = 36 -PKCS_CTL: Final = 37 -X509_MULTI_BYTE_UINT: Final = 38 -X509_DSS_PUBLICKEY: Final = X509_MULTI_BYTE_UINT -X509_DSS_PARAMETERS: Final = 39 -X509_DSS_SIGNATURE: Final = 40 -PKCS_RC2_CBC_PARAMETERS: Final = 41 -PKCS_SMIME_CAPABILITIES: Final = 42 -X509_QC_STATEMENTS_EXT: Final = 42 -PKCS_RSA_PRIVATE_KEY: Final = 43 -PKCS_PRIVATE_KEY_INFO: Final = 44 -PKCS_ENCRYPTED_PRIVATE_KEY_INFO: Final = 45 -X509_PKIX_POLICY_QUALIFIER_USERNOTICE: Final = 46 -X509_DH_PUBLICKEY: Final = X509_MULTI_BYTE_UINT -X509_DH_PARAMETERS: Final = 47 -PKCS_ATTRIBUTES: Final = 48 -PKCS_SORTED_CTL: Final = 49 -X509_ECC_SIGNATURE: Final = 47 -X942_DH_PARAMETERS: Final = 50 -X509_BITS_WITHOUT_TRAILING_ZEROES: Final = 51 -X942_OTHER_INFO: Final = 52 -X509_CERT_PAIR: Final = 53 -X509_ISSUING_DIST_POINT: Final = 54 -X509_NAME_CONSTRAINTS: Final = 55 -X509_POLICY_MAPPINGS: Final = 56 -X509_POLICY_CONSTRAINTS: Final = 57 -X509_CROSS_CERT_DIST_POINTS: Final = 58 -CMC_DATA: Final = 59 -CMC_RESPONSE: Final = 60 -CMC_STATUS: Final = 61 -CMC_ADD_EXTENSIONS: Final = 62 -CMC_ADD_ATTRIBUTES: Final = 63 -X509_CERTIFICATE_TEMPLATE: Final = 64 -OCSP_SIGNED_REQUEST: Final = 65 -OCSP_REQUEST: Final = 66 -OCSP_RESPONSE: Final = 67 -OCSP_BASIC_SIGNED_RESPONSE: Final = 68 -OCSP_BASIC_RESPONSE: Final = 69 -X509_LOGOTYPE_EXT: Final = 70 -X509_BIOMETRIC_EXT: Final = 71 -CNG_RSA_PUBLIC_KEY_BLOB: Final = 72 -X509_OBJECT_IDENTIFIER: Final = 73 -X509_ALGORITHM_IDENTIFIER: Final = 74 -PKCS_RSA_SSA_PSS_PARAMETERS: Final = 75 -PKCS_RSAES_OAEP_PARAMETERS: Final = 76 -ECC_CMS_SHARED_INFO: Final = 77 -TIMESTAMP_REQUEST: Final = 78 -TIMESTAMP_RESPONSE: Final = 79 -TIMESTAMP_INFO: Final = 80 -X509_CERT_BUNDLE: Final = 81 -PKCS7_SIGNER_INFO: Final = 500 -CMS_SIGNER_INFO: Final = 501 -szOID_AUTHORITY_KEY_IDENTIFIER: Final = "2.5.29.1" -szOID_KEY_ATTRIBUTES: Final = "2.5.29.2" -szOID_CERT_POLICIES_95: Final = "2.5.29.3" -szOID_KEY_USAGE_RESTRICTION: Final = "2.5.29.4" -szOID_SUBJECT_ALT_NAME: Final = "2.5.29.7" -szOID_ISSUER_ALT_NAME: Final = "2.5.29.8" -szOID_BASIC_CONSTRAINTS: Final = "2.5.29.10" -szOID_KEY_USAGE: Final = "2.5.29.15" -szOID_PRIVATEKEY_USAGE_PERIOD: Final = "2.5.29.16" -szOID_BASIC_CONSTRAINTS2: Final = "2.5.29.19" -szOID_CERT_POLICIES: Final = "2.5.29.32" -szOID_ANY_CERT_POLICY: Final = "2.5.29.32.0" -szOID_AUTHORITY_KEY_IDENTIFIER2: Final = "2.5.29.35" -szOID_SUBJECT_KEY_IDENTIFIER: Final = "2.5.29.14" -szOID_SUBJECT_ALT_NAME2: Final = "2.5.29.17" -szOID_ISSUER_ALT_NAME2: Final = "2.5.29.18" -szOID_CRL_REASON_CODE: Final = "2.5.29.21" -szOID_REASON_CODE_HOLD: Final = "2.5.29.23" -szOID_CRL_DIST_POINTS: Final = "2.5.29.31" -szOID_ENHANCED_KEY_USAGE: Final = "2.5.29.37" -szOID_CRL_NUMBER: Final = "2.5.29.20" -szOID_DELTA_CRL_INDICATOR: Final = "2.5.29.27" -szOID_ISSUING_DIST_POINT: Final = "2.5.29.28" -szOID_FRESHEST_CRL: Final = "2.5.29.46" -szOID_NAME_CONSTRAINTS: Final = "2.5.29.30" -szOID_POLICY_MAPPINGS: Final = "2.5.29.33" -szOID_LEGACY_POLICY_MAPPINGS: Final = "2.5.29.5" -szOID_POLICY_CONSTRAINTS: Final = "2.5.29.36" -szOID_RENEWAL_CERTIFICATE: Final = "1.3.6.1.4.1.311.13.1" -szOID_ENROLLMENT_NAME_VALUE_PAIR: Final = "1.3.6.1.4.1.311.13.2.1" -szOID_ENROLLMENT_CSP_PROVIDER: Final = "1.3.6.1.4.1.311.13.2.2" -szOID_OS_VERSION: Final = "1.3.6.1.4.1.311.13.2.3" -szOID_ENROLLMENT_AGENT: Final = "1.3.6.1.4.1.311.20.2.1" -szOID_PKIX: Final = "1.3.6.1.5.5.7" -szOID_PKIX_PE: Final = "1.3.6.1.5.5.7.1" -szOID_AUTHORITY_INFO_ACCESS: Final = "1.3.6.1.5.5.7.1.1" -szOID_CERT_EXTENSIONS: Final = "1.3.6.1.4.1.311.2.1.14" -szOID_NEXT_UPDATE_LOCATION: Final = "1.3.6.1.4.1.311.10.2" -szOID_REMOVE_CERTIFICATE: Final = "1.3.6.1.4.1.311.10.8.1" -szOID_CROSS_CERT_DIST_POINTS: Final = "1.3.6.1.4.1.311.10.9.1" -szOID_CTL: Final = "1.3.6.1.4.1.311.10.1" -szOID_SORTED_CTL: Final = "1.3.6.1.4.1.311.10.1.1" -szOID_SERIALIZED: Final = "1.3.6.1.4.1.311.10.3.3.1" -szOID_NT_PRINCIPAL_NAME: Final = "1.3.6.1.4.1.311.20.2.3" -szOID_PRODUCT_UPDATE: Final = "1.3.6.1.4.1.311.31.1" -szOID_ANY_APPLICATION_POLICY: Final = "1.3.6.1.4.1.311.10.12.1" -szOID_AUTO_ENROLL_CTL_USAGE: Final = "1.3.6.1.4.1.311.20.1" -szOID_ENROLL_CERTTYPE_EXTENSION: Final = "1.3.6.1.4.1.311.20.2" -szOID_CERT_MANIFOLD: Final = "1.3.6.1.4.1.311.20.3" -szOID_CERTSRV_CA_VERSION: Final = "1.3.6.1.4.1.311.21.1" -szOID_CERTSRV_PREVIOUS_CERT_HASH: Final = "1.3.6.1.4.1.311.21.2" -szOID_CRL_VIRTUAL_BASE: Final = "1.3.6.1.4.1.311.21.3" -szOID_CRL_NEXT_PUBLISH: Final = "1.3.6.1.4.1.311.21.4" -szOID_KP_CA_EXCHANGE: Final = "1.3.6.1.4.1.311.21.5" -szOID_KP_KEY_RECOVERY_AGENT: Final = "1.3.6.1.4.1.311.21.6" -szOID_CERTIFICATE_TEMPLATE: Final = "1.3.6.1.4.1.311.21.7" -szOID_ENTERPRISE_OID_ROOT: Final = "1.3.6.1.4.1.311.21.8" -szOID_RDN_DUMMY_SIGNER: Final = "1.3.6.1.4.1.311.21.9" -szOID_APPLICATION_CERT_POLICIES: Final = "1.3.6.1.4.1.311.21.10" -szOID_APPLICATION_POLICY_MAPPINGS: Final = "1.3.6.1.4.1.311.21.11" -szOID_APPLICATION_POLICY_CONSTRAINTS: Final = "1.3.6.1.4.1.311.21.12" -szOID_ARCHIVED_KEY_ATTR: Final = "1.3.6.1.4.1.311.21.13" -szOID_CRL_SELF_CDP: Final = "1.3.6.1.4.1.311.21.14" -szOID_REQUIRE_CERT_CHAIN_POLICY: Final = "1.3.6.1.4.1.311.21.15" -szOID_ARCHIVED_KEY_CERT_HASH: Final = "1.3.6.1.4.1.311.21.16" -szOID_ISSUED_CERT_HASH: Final = "1.3.6.1.4.1.311.21.17" -szOID_DS_EMAIL_REPLICATION: Final = "1.3.6.1.4.1.311.21.19" -szOID_REQUEST_CLIENT_INFO: Final = "1.3.6.1.4.1.311.21.20" -szOID_ENCRYPTED_KEY_HASH: Final = "1.3.6.1.4.1.311.21.21" -szOID_CERTSRV_CROSSCA_VERSION: Final = "1.3.6.1.4.1.311.21.22" -szOID_NTDS_REPLICATION: Final = "1.3.6.1.4.1.311.25.1" -szOID_SUBJECT_DIR_ATTRS: Final = "2.5.29.9" -szOID_PKIX_KP: Final = "1.3.6.1.5.5.7.3" -szOID_PKIX_KP_SERVER_AUTH: Final = "1.3.6.1.5.5.7.3.1" -szOID_PKIX_KP_CLIENT_AUTH: Final = "1.3.6.1.5.5.7.3.2" -szOID_PKIX_KP_CODE_SIGNING: Final = "1.3.6.1.5.5.7.3.3" -szOID_PKIX_KP_EMAIL_PROTECTION: Final = "1.3.6.1.5.5.7.3.4" -szOID_PKIX_KP_IPSEC_END_SYSTEM: Final = "1.3.6.1.5.5.7.3.5" -szOID_PKIX_KP_IPSEC_TUNNEL: Final = "1.3.6.1.5.5.7.3.6" -szOID_PKIX_KP_IPSEC_USER: Final = "1.3.6.1.5.5.7.3.7" -szOID_PKIX_KP_TIMESTAMP_SIGNING: Final = "1.3.6.1.5.5.7.3.8" -szOID_IPSEC_KP_IKE_INTERMEDIATE: Final = "1.3.6.1.5.5.8.2.2" -szOID_KP_CTL_USAGE_SIGNING: Final = "1.3.6.1.4.1.311.10.3.1" -szOID_KP_TIME_STAMP_SIGNING: Final = "1.3.6.1.4.1.311.10.3.2" -szOID_SERVER_GATED_CRYPTO: Final = "1.3.6.1.4.1.311.10.3.3" -szOID_SGC_NETSCAPE: Final = "2.16.840.1.113730.4.1" -szOID_KP_EFS: Final = "1.3.6.1.4.1.311.10.3.4" -szOID_EFS_RECOVERY: Final = "1.3.6.1.4.1.311.10.3.4.1" -szOID_WHQL_CRYPTO: Final = "1.3.6.1.4.1.311.10.3.5" -szOID_NT5_CRYPTO: Final = "1.3.6.1.4.1.311.10.3.6" -szOID_OEM_WHQL_CRYPTO: Final = "1.3.6.1.4.1.311.10.3.7" -szOID_EMBEDDED_NT_CRYPTO: Final = "1.3.6.1.4.1.311.10.3.8" -szOID_ROOT_LIST_SIGNER: Final = "1.3.6.1.4.1.311.10.3.9" -szOID_KP_QUALIFIED_SUBORDINATION: Final = "1.3.6.1.4.1.311.10.3.10" -szOID_KP_KEY_RECOVERY: Final = "1.3.6.1.4.1.311.10.3.11" -szOID_KP_DOCUMENT_SIGNING: Final = "1.3.6.1.4.1.311.10.3.12" -szOID_KP_LIFETIME_SIGNING: Final = "1.3.6.1.4.1.311.10.3.13" -szOID_KP_MOBILE_DEVICE_SOFTWARE: Final = "1.3.6.1.4.1.311.10.3.14" -szOID_DRM: Final = "1.3.6.1.4.1.311.10.5.1" -szOID_DRM_INDIVIDUALIZATION: Final = "1.3.6.1.4.1.311.10.5.2" -szOID_LICENSES: Final = "1.3.6.1.4.1.311.10.6.1" -szOID_LICENSE_SERVER: Final = "1.3.6.1.4.1.311.10.6.2" -szOID_KP_SMARTCARD_LOGON: Final = "1.3.6.1.4.1.311.20.2.2" -szOID_YESNO_TRUST_ATTR: Final = "1.3.6.1.4.1.311.10.4.1" -szOID_PKIX_POLICY_QUALIFIER_CPS: Final = "1.3.6.1.5.5.7.2.1" -szOID_PKIX_POLICY_QUALIFIER_USERNOTICE: Final = "1.3.6.1.5.5.7.2.2" -szOID_CERT_POLICIES_95_QUALIFIER1: Final = "2.16.840.1.113733.1.7.1.1" -CERT_UNICODE_RDN_ERR_INDEX_MASK: Final = 0x3FF -CERT_UNICODE_RDN_ERR_INDEX_SHIFT: Final = 22 -CERT_UNICODE_ATTR_ERR_INDEX_MASK: Final = 0x003F -CERT_UNICODE_ATTR_ERR_INDEX_SHIFT: Final = 16 -CERT_UNICODE_VALUE_ERR_INDEX_MASK: Final = 0x0000FFFF -CERT_UNICODE_VALUE_ERR_INDEX_SHIFT: Final = 0 -CERT_DIGITAL_SIGNATURE_KEY_USAGE: Final = 0x80 -CERT_NON_REPUDIATION_KEY_USAGE: Final = 0x40 -CERT_KEY_ENCIPHERMENT_KEY_USAGE: Final = 0x20 -CERT_DATA_ENCIPHERMENT_KEY_USAGE: Final = 0x10 -CERT_KEY_AGREEMENT_KEY_USAGE: Final = 0x08 -CERT_KEY_CERT_SIGN_KEY_USAGE: Final = 0x04 -CERT_OFFLINE_CRL_SIGN_KEY_USAGE: Final = 0x02 -CERT_CRL_SIGN_KEY_USAGE: Final = 0x02 -CERT_ENCIPHER_ONLY_KEY_USAGE: Final = 0x01 -CERT_DECIPHER_ONLY_KEY_USAGE: Final = 0x80 -CERT_ALT_NAME_OTHER_NAME: Final = 1 -CERT_ALT_NAME_RFC822_NAME: Final = 2 -CERT_ALT_NAME_DNS_NAME: Final = 3 -CERT_ALT_NAME_X400_ADDRESS: Final = 4 -CERT_ALT_NAME_DIRECTORY_NAME: Final = 5 -CERT_ALT_NAME_EDI_PARTY_NAME: Final = 6 -CERT_ALT_NAME_URL: Final = 7 -CERT_ALT_NAME_IP_ADDRESS: Final = 8 -CERT_ALT_NAME_REGISTERED_ID: Final = 9 -CERT_ALT_NAME_ENTRY_ERR_INDEX_MASK: Final = 0xFF -CERT_ALT_NAME_ENTRY_ERR_INDEX_SHIFT: Final = 16 -CERT_ALT_NAME_VALUE_ERR_INDEX_MASK: Final = 0x0000FFFF -CERT_ALT_NAME_VALUE_ERR_INDEX_SHIFT: Final = 0 -CERT_CA_SUBJECT_FLAG: Final = 0x80 -CERT_END_ENTITY_SUBJECT_FLAG: Final = 0x40 -szOID_PKIX_ACC_DESCR: Final = "1.3.6.1.5.5.7.48" -szOID_PKIX_OCSP: Final = "1.3.6.1.5.5.7.48.1" -szOID_PKIX_CA_ISSUERS: Final = "1.3.6.1.5.5.7.48.2" -CRL_REASON_UNSPECIFIED: Final = 0 -CRL_REASON_KEY_COMPROMISE: Final = 1 -CRL_REASON_CA_COMPROMISE: Final = 2 -CRL_REASON_AFFILIATION_CHANGED: Final = 3 -CRL_REASON_SUPERSEDED: Final = 4 -CRL_REASON_CESSATION_OF_OPERATION: Final = 5 -CRL_REASON_CERTIFICATE_HOLD: Final = 6 -CRL_REASON_REMOVE_FROM_CRL: Final = 8 -CRL_DIST_POINT_NO_NAME: Final = 0 -CRL_DIST_POINT_FULL_NAME: Final = 1 -CRL_DIST_POINT_ISSUER_RDN_NAME: Final = 2 -CRL_REASON_UNUSED_FLAG: Final = 0x80 -CRL_REASON_KEY_COMPROMISE_FLAG: Final = 0x40 -CRL_REASON_CA_COMPROMISE_FLAG: Final = 0x20 -CRL_REASON_AFFILIATION_CHANGED_FLAG: Final = 0x10 -CRL_REASON_SUPERSEDED_FLAG: Final = 0x08 -CRL_REASON_CESSATION_OF_OPERATION_FLAG: Final = 0x04 -CRL_REASON_CERTIFICATE_HOLD_FLAG: Final = 0x02 -CRL_DIST_POINT_ERR_INDEX_MASK: Final = 0x7F -CRL_DIST_POINT_ERR_INDEX_SHIFT: Final = 24 -CRL_DIST_POINT_ERR_CRL_ISSUER_BIT: Final = -2147483648 -CROSS_CERT_DIST_POINT_ERR_INDEX_MASK: Final = 0xFF -CROSS_CERT_DIST_POINT_ERR_INDEX_SHIFT: Final = 24 -CERT_EXCLUDED_SUBTREE_BIT: Final = -2147483648 -SORTED_CTL_EXT_FLAGS_OFFSET: Final = 0 -SORTED_CTL_EXT_COUNT_OFFSET: Final = 4 -SORTED_CTL_EXT_MAX_COLLISION_OFFSET: Final = 8 -SORTED_CTL_EXT_HASH_BUCKET_OFFSET: Final = 12 -SORTED_CTL_EXT_HASHED_SUBJECT_IDENTIFIER_FLAG: Final = 0x1 -CERT_DSS_R_LEN: Final = 20 -CERT_DSS_S_LEN: Final = 20 -CERT_DSS_SIGNATURE_LEN: Final = 40 -CERT_MAX_ASN_ENCODED_DSS_SIGNATURE_LEN: Final = 48 -CRYPT_X942_COUNTER_BYTE_LENGTH: Final = 4 -CRYPT_X942_KEY_LENGTH_BYTE_LENGTH: Final = 4 -CRYPT_X942_PUB_INFO_BYTE_LENGTH: Final = 64.0 -CRYPT_RC2_40BIT_VERSION: Final = 160 -CRYPT_RC2_56BIT_VERSION: Final = 52 -CRYPT_RC2_64BIT_VERSION: Final = 120 -CRYPT_RC2_128BIT_VERSION: Final = 58 -szOID_VERISIGN_PRIVATE_6_9: Final = "2.16.840.1.113733.1.6.9" -szOID_VERISIGN_ONSITE_JURISDICTION_HASH: Final = "2.16.840.1.113733.1.6.11" -szOID_VERISIGN_BITSTRING_6_13: Final = "2.16.840.1.113733.1.6.13" -szOID_VERISIGN_ISS_STRONG_CRYPTO: Final = "2.16.840.1.113733.1.8.1" -szOID_NETSCAPE: Final = "2.16.840.1.113730" -szOID_NETSCAPE_CERT_EXTENSION: Final = "2.16.840.1.113730.1" -szOID_NETSCAPE_CERT_TYPE: Final = "2.16.840.1.113730.1.1" -szOID_NETSCAPE_BASE_URL: Final = "2.16.840.1.113730.1.2" -szOID_NETSCAPE_REVOCATION_URL: Final = "2.16.840.1.113730.1.3" -szOID_NETSCAPE_CA_REVOCATION_URL: Final = "2.16.840.1.113730.1.4" -szOID_NETSCAPE_CERT_RENEWAL_URL: Final = "2.16.840.1.113730.1.7" -szOID_NETSCAPE_CA_POLICY_URL: Final = "2.16.840.1.113730.1.8" -szOID_NETSCAPE_SSL_SERVER_NAME: Final = "2.16.840.1.113730.1.12" -szOID_NETSCAPE_COMMENT: Final = "2.16.840.1.113730.1.13" -szOID_NETSCAPE_DATA_TYPE: Final = "2.16.840.1.113730.2" -szOID_NETSCAPE_CERT_SEQUENCE: Final = "2.16.840.1.113730.2.5" -NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE: Final = 0x80 -NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE: Final = 0x40 -NETSCAPE_SMIME_CERT_TYPE: Final = 0x20 -NETSCAPE_SIGN_CERT_TYPE: Final = 0x10 -NETSCAPE_SSL_CA_CERT_TYPE: Final = 0x04 -NETSCAPE_SMIME_CA_CERT_TYPE: Final = 0x02 -NETSCAPE_SIGN_CA_CERT_TYPE: Final = 0x01 -szOID_CT_PKI_DATA: Final = "1.3.6.1.5.5.7.12.2" -szOID_CT_PKI_RESPONSE: Final = "1.3.6.1.5.5.7.12.3" -szOID_PKIX_NO_SIGNATURE: Final = "1.3.6.1.5.5.7.6.2" -szOID_CMC: Final = "1.3.6.1.5.5.7.7" -szOID_CMC_STATUS_INFO: Final = "1.3.6.1.5.5.7.7.1" -szOID_CMC_IDENTIFICATION: Final = "1.3.6.1.5.5.7.7.2" -szOID_CMC_IDENTITY_PROOF: Final = "1.3.6.1.5.5.7.7.3" -szOID_CMC_DATA_RETURN: Final = "1.3.6.1.5.5.7.7.4" -szOID_CMC_TRANSACTION_ID: Final = "1.3.6.1.5.5.7.7.5" -szOID_CMC_SENDER_NONCE: Final = "1.3.6.1.5.5.7.7.6" -szOID_CMC_RECIPIENT_NONCE: Final = "1.3.6.1.5.5.7.7.7" -szOID_CMC_ADD_EXTENSIONS: Final = "1.3.6.1.5.5.7.7.8" -szOID_CMC_ENCRYPTED_POP: Final = "1.3.6.1.5.5.7.7.9" -szOID_CMC_DECRYPTED_POP: Final = "1.3.6.1.5.5.7.7.10" -szOID_CMC_LRA_POP_WITNESS: Final = "1.3.6.1.5.5.7.7.11" -szOID_CMC_GET_CERT: Final = "1.3.6.1.5.5.7.7.15" -szOID_CMC_GET_CRL: Final = "1.3.6.1.5.5.7.7.16" -szOID_CMC_REVOKE_REQUEST: Final = "1.3.6.1.5.5.7.7.17" -szOID_CMC_REG_INFO: Final = "1.3.6.1.5.5.7.7.18" -szOID_CMC_RESPONSE_INFO: Final = "1.3.6.1.5.5.7.7.19" -szOID_CMC_QUERY_PENDING: Final = "1.3.6.1.5.5.7.7.21" -szOID_CMC_ID_POP_LINK_RANDOM: Final = "1.3.6.1.5.5.7.7.22" -szOID_CMC_ID_POP_LINK_WITNESS: Final = "1.3.6.1.5.5.7.7.23" -szOID_CMC_ID_CONFIRM_CERT_ACCEPTANCE: Final = "1.3.6.1.5.5.7.7.24" -szOID_CMC_ADD_ATTRIBUTES: Final = "1.3.6.1.4.1.311.10.10.1" -CMC_TAGGED_CERT_REQUEST_CHOICE: Final = 1 -CMC_OTHER_INFO_NO_CHOICE: Final = 0 -CMC_OTHER_INFO_FAIL_CHOICE: Final = 1 -CMC_OTHER_INFO_PEND_CHOICE: Final = 2 -CMC_STATUS_SUCCESS: Final = 0 -CMC_STATUS_FAILED: Final = 2 -CMC_STATUS_PENDING: Final = 3 -CMC_STATUS_NO_SUPPORT: Final = 4 -CMC_STATUS_CONFIRM_REQUIRED: Final = 5 -CMC_FAIL_BAD_ALG: Final = 0 -CMC_FAIL_BAD_MESSAGE_CHECK: Final = 1 -CMC_FAIL_BAD_REQUEST: Final = 2 -CMC_FAIL_BAD_TIME: Final = 3 -CMC_FAIL_BAD_CERT_ID: Final = 4 -CMC_FAIL_UNSUPORTED_EXT: Final = 5 -CMC_FAIL_MUST_ARCHIVE_KEYS: Final = 6 -CMC_FAIL_BAD_IDENTITY: Final = 7 -CMC_FAIL_POP_REQUIRED: Final = 8 -CMC_FAIL_POP_FAILED: Final = 9 -CMC_FAIL_NO_KEY_REUSE: Final = 10 -CMC_FAIL_INTERNAL_CA_ERROR: Final = 11 -CMC_FAIL_TRY_LATER: Final = 12 -CRYPT_OID_ENCODE_OBJECT_FUNC: Final = "CryptDllEncodeObject" -CRYPT_OID_DECODE_OBJECT_FUNC: Final = "CryptDllDecodeObject" -CRYPT_OID_ENCODE_OBJECT_EX_FUNC: Final = "CryptDllEncodeObjectEx" -CRYPT_OID_DECODE_OBJECT_EX_FUNC: Final = "CryptDllDecodeObjectEx" -CRYPT_OID_CREATE_COM_OBJECT_FUNC: Final = "CryptDllCreateCOMObject" -CRYPT_OID_VERIFY_REVOCATION_FUNC: Final = "CertDllVerifyRevocation" -CRYPT_OID_VERIFY_CTL_USAGE_FUNC: Final = "CertDllVerifyCTLUsage" -CRYPT_OID_FORMAT_OBJECT_FUNC: Final = "CryptDllFormatObject" -CRYPT_OID_FIND_OID_INFO_FUNC: Final = "CryptDllFindOIDInfo" -CRYPT_OID_FIND_LOCALIZED_NAME_FUNC: Final = "CryptDllFindLocalizedName" -CRYPT_OID_REGPATH: Final = "Software\\Microsoft\\Cryptography\\OID" -CRYPT_OID_REG_ENCODING_TYPE_PREFIX: Final = "EncodingType " -CRYPT_OID_REG_DLL_VALUE_NAME: Final = "Dll" -CRYPT_OID_REG_FUNC_NAME_VALUE_NAME: Final = "FuncName" -CRYPT_OID_REG_FUNC_NAME_VALUE_NAME_A: Final = "FuncName" -CRYPT_OID_REG_FLAGS_VALUE_NAME: Final = "CryptFlags" -CRYPT_DEFAULT_OID: Final = "DEFAULT" -CRYPT_INSTALL_OID_FUNC_BEFORE_FLAG: Final = 1 -CRYPT_GET_INSTALLED_OID_FUNC_FLAG: Final = 0x1 -CRYPT_REGISTER_FIRST_INDEX: Final = 0 -CRYPT_REGISTER_LAST_INDEX: Final = -1 -CRYPT_MATCH_ANY_ENCODING_TYPE: Final = -1 -CRYPT_HASH_ALG_OID_GROUP_ID: Final = 1 -CRYPT_ENCRYPT_ALG_OID_GROUP_ID: Final = 2 -CRYPT_PUBKEY_ALG_OID_GROUP_ID: Final = 3 -CRYPT_SIGN_ALG_OID_GROUP_ID: Final = 4 -CRYPT_RDN_ATTR_OID_GROUP_ID: Final = 5 -CRYPT_EXT_OR_ATTR_OID_GROUP_ID: Final = 6 -CRYPT_ENHKEY_USAGE_OID_GROUP_ID: Final = 7 -CRYPT_POLICY_OID_GROUP_ID: Final = 8 -CRYPT_TEMPLATE_OID_GROUP_ID: Final = 9 -CRYPT_LAST_OID_GROUP_ID: Final = 9 -CRYPT_FIRST_ALG_OID_GROUP_ID: Final = CRYPT_HASH_ALG_OID_GROUP_ID -CRYPT_LAST_ALG_OID_GROUP_ID: Final = CRYPT_SIGN_ALG_OID_GROUP_ID -CRYPT_OID_INHIBIT_SIGNATURE_FORMAT_FLAG: Final = 0x1 -CRYPT_OID_USE_PUBKEY_PARA_FOR_PKCS7_FLAG: Final = 0x2 -CRYPT_OID_NO_NULL_ALGORITHM_PARA_FLAG: Final = 0x4 -CRYPT_OID_INFO_OID_KEY: Final = 1 -CRYPT_OID_INFO_NAME_KEY: Final = 2 -CRYPT_OID_INFO_ALGID_KEY: Final = 3 -CRYPT_OID_INFO_SIGN_KEY: Final = 4 -CRYPT_INSTALL_OID_INFO_BEFORE_FLAG: Final = 1 -CRYPT_LOCALIZED_NAME_ENCODING_TYPE: Final = 0 -CRYPT_LOCALIZED_NAME_OID: Final = "LocalizedNames" -szOID_PKCS_7_DATA: Final = "1.2.840.113549.1.7.1" -szOID_PKCS_7_SIGNED: Final = "1.2.840.113549.1.7.2" -szOID_PKCS_7_ENVELOPED: Final = "1.2.840.113549.1.7.3" -szOID_PKCS_7_SIGNEDANDENVELOPED: Final = "1.2.840.113549.1.7.4" -szOID_PKCS_7_DIGESTED: Final = "1.2.840.113549.1.7.5" -szOID_PKCS_7_ENCRYPTED: Final = "1.2.840.113549.1.7.6" -szOID_PKCS_9_CONTENT_TYPE: Final = "1.2.840.113549.1.9.3" -szOID_PKCS_9_MESSAGE_DIGEST: Final = "1.2.840.113549.1.9.4" -CMSG_DATA: Final = 1 -CMSG_SIGNED: Final = 2 -CMSG_ENVELOPED: Final = 3 -CMSG_SIGNED_AND_ENVELOPED: Final = 4 -CMSG_HASHED: Final = 5 -CMSG_ENCRYPTED: Final = 6 -CMSG_ALL_FLAGS: Final = -1 -CMSG_DATA_FLAG: Final = 2 -CMSG_SIGNED_FLAG: Final = 4 -CMSG_ENVELOPED_FLAG: Final = 8 -CMSG_SIGNED_AND_ENVELOPED_FLAG: Final = 16 -CMSG_HASHED_FLAG: Final = 32 -CMSG_ENCRYPTED_FLAG: Final = 64 -CERT_ID_ISSUER_SERIAL_NUMBER: Final = 1 -CERT_ID_KEY_IDENTIFIER: Final = 2 -CERT_ID_SHA1_HASH: Final = 3 -CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE: Final = 1 -CMSG_KEY_AGREE_STATIC_KEY_CHOICE: Final = 2 -CMSG_MAIL_LIST_HANDLE_KEY_CHOICE: Final = 1 -CMSG_KEY_TRANS_RECIPIENT: Final = 1 -CMSG_KEY_AGREE_RECIPIENT: Final = 2 -CMSG_MAIL_LIST_RECIPIENT: Final = 3 -CMSG_SP3_COMPATIBLE_ENCRYPT_FLAG: Final = -2147483648 -CMSG_RC4_NO_SALT_FLAG: Final = 0x40000000 -CMSG_INDEFINITE_LENGTH: Final = -1 -CMSG_BARE_CONTENT_FLAG: Final = 0x00000001 -CMSG_LENGTH_ONLY_FLAG: Final = 0x00000002 -CMSG_DETACHED_FLAG: Final = 0x00000004 -CMSG_AUTHENTICATED_ATTRIBUTES_FLAG: Final = 0x00000008 -CMSG_CONTENTS_OCTETS_FLAG: Final = 0x00000010 -CMSG_MAX_LENGTH_FLAG: Final = 0x00000020 -CMSG_CMS_ENCAPSULATED_CONTENT_FLAG: Final = 0x00000040 -CMSG_CRYPT_RELEASE_CONTEXT_FLAG: Final = 0x00008000 -CMSG_TYPE_PARAM: Final = 1 -CMSG_CONTENT_PARAM: Final = 2 -CMSG_BARE_CONTENT_PARAM: Final = 3 -CMSG_INNER_CONTENT_TYPE_PARAM: Final = 4 -CMSG_SIGNER_COUNT_PARAM: Final = 5 -CMSG_SIGNER_INFO_PARAM: Final = 6 -CMSG_SIGNER_CERT_INFO_PARAM: Final = 7 -CMSG_SIGNER_HASH_ALGORITHM_PARAM: Final = 8 -CMSG_SIGNER_AUTH_ATTR_PARAM: Final = 9 -CMSG_SIGNER_UNAUTH_ATTR_PARAM: Final = 10 -CMSG_CERT_COUNT_PARAM: Final = 11 -CMSG_CERT_PARAM: Final = 12 -CMSG_CRL_COUNT_PARAM: Final = 13 -CMSG_CRL_PARAM: Final = 14 -CMSG_ENVELOPE_ALGORITHM_PARAM: Final = 15 -CMSG_RECIPIENT_COUNT_PARAM: Final = 17 -CMSG_RECIPIENT_INDEX_PARAM: Final = 18 -CMSG_RECIPIENT_INFO_PARAM: Final = 19 -CMSG_HASH_ALGORITHM_PARAM: Final = 20 -CMSG_HASH_DATA_PARAM: Final = 21 -CMSG_COMPUTED_HASH_PARAM: Final = 22 -CMSG_ENCRYPT_PARAM: Final = 26 -CMSG_ENCRYPTED_DIGEST: Final = 27 -CMSG_ENCODED_SIGNER: Final = 28 -CMSG_ENCODED_MESSAGE: Final = 29 -CMSG_VERSION_PARAM: Final = 30 -CMSG_ATTR_CERT_COUNT_PARAM: Final = 31 -CMSG_ATTR_CERT_PARAM: Final = 32 -CMSG_CMS_RECIPIENT_COUNT_PARAM: Final = 33 -CMSG_CMS_RECIPIENT_INDEX_PARAM: Final = 34 -CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM: Final = 35 -CMSG_CMS_RECIPIENT_INFO_PARAM: Final = 36 -CMSG_UNPROTECTED_ATTR_PARAM: Final = 37 -CMSG_SIGNER_CERT_ID_PARAM: Final = 38 -CMSG_CMS_SIGNER_INFO_PARAM: Final = 39 -CMSG_SIGNED_DATA_V1: Final = 1 -CMSG_SIGNED_DATA_V3: Final = 3 -CMSG_SIGNED_DATA_PKCS_1_5_VERSION: Final = CMSG_SIGNED_DATA_V1 -CMSG_SIGNED_DATA_CMS_VERSION: Final = CMSG_SIGNED_DATA_V3 -CMSG_SIGNER_INFO_V1: Final = 1 -CMSG_SIGNER_INFO_V3: Final = 3 -CMSG_SIGNER_INFO_PKCS_1_5_VERSION: Final = CMSG_SIGNER_INFO_V1 -CMSG_SIGNER_INFO_CMS_VERSION: Final = CMSG_SIGNER_INFO_V3 -CMSG_HASHED_DATA_V0: Final = 0 -CMSG_HASHED_DATA_V2: Final = 2 -CMSG_HASHED_DATA_PKCS_1_5_VERSION: Final = CMSG_HASHED_DATA_V0 -CMSG_HASHED_DATA_CMS_VERSION: Final = CMSG_HASHED_DATA_V2 -CMSG_ENVELOPED_DATA_V0: Final = 0 -CMSG_ENVELOPED_DATA_V2: Final = 2 -CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION: Final = CMSG_ENVELOPED_DATA_V0 -CMSG_ENVELOPED_DATA_CMS_VERSION: Final = CMSG_ENVELOPED_DATA_V2 -CMSG_KEY_AGREE_ORIGINATOR_CERT: Final = 1 -CMSG_KEY_AGREE_ORIGINATOR_PUBLIC_KEY: Final = 2 -CMSG_ENVELOPED_RECIPIENT_V0: Final = 0 -CMSG_ENVELOPED_RECIPIENT_V2: Final = 2 -CMSG_ENVELOPED_RECIPIENT_V3: Final = 3 -CMSG_ENVELOPED_RECIPIENT_V4: Final = 4 -CMSG_KEY_TRANS_PKCS_1_5_VERSION: Final = CMSG_ENVELOPED_RECIPIENT_V0 -CMSG_KEY_TRANS_CMS_VERSION: Final = CMSG_ENVELOPED_RECIPIENT_V2 -CMSG_KEY_AGREE_VERSION: Final = CMSG_ENVELOPED_RECIPIENT_V3 -CMSG_MAIL_LIST_VERSION: Final = CMSG_ENVELOPED_RECIPIENT_V4 -CMSG_CTRL_VERIFY_SIGNATURE: Final = 1 -CMSG_CTRL_DECRYPT: Final = 2 -CMSG_CTRL_VERIFY_HASH: Final = 5 -CMSG_CTRL_ADD_SIGNER: Final = 6 -CMSG_CTRL_DEL_SIGNER: Final = 7 -CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR: Final = 8 -CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR: Final = 9 -CMSG_CTRL_ADD_CERT: Final = 10 -CMSG_CTRL_DEL_CERT: Final = 11 -CMSG_CTRL_ADD_CRL: Final = 12 -CMSG_CTRL_DEL_CRL: Final = 13 -CMSG_CTRL_ADD_ATTR_CERT: Final = 14 -CMSG_CTRL_DEL_ATTR_CERT: Final = 15 -CMSG_CTRL_KEY_TRANS_DECRYPT: Final = 16 -CMSG_CTRL_KEY_AGREE_DECRYPT: Final = 17 -CMSG_CTRL_MAIL_LIST_DECRYPT: Final = 18 -CMSG_CTRL_VERIFY_SIGNATURE_EX: Final = 19 -CMSG_CTRL_ADD_CMS_SIGNER_INFO: Final = 20 -CMSG_VERIFY_SIGNER_PUBKEY: Final = 1 -CMSG_VERIFY_SIGNER_CERT: Final = 2 -CMSG_VERIFY_SIGNER_CHAIN: Final = 3 -CMSG_VERIFY_SIGNER_NULL: Final = 4 -CMSG_OID_GEN_ENCRYPT_KEY_FUNC: Final = "CryptMsgDllGenEncryptKey" -CMSG_OID_EXPORT_ENCRYPT_KEY_FUNC: Final = "CryptMsgDllExportEncryptKey" -CMSG_OID_IMPORT_ENCRYPT_KEY_FUNC: Final = "CryptMsgDllImportEncryptKey" -CMSG_CONTENT_ENCRYPT_PAD_ENCODED_LEN_FLAG: Final = 0x00000001 -CMSG_DEFAULT_INSTALLABLE_FUNC_OID: Final = 1 -CMSG_CONTENT_ENCRYPT_FREE_PARA_FLAG: Final = 0x00000001 -CMSG_CONTENT_ENCRYPT_RELEASE_CONTEXT_FLAG: Final = 0x00008000 -CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC: Final = "CryptMsgDllGenContentEncryptKey" -CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG: Final = 0x00000001 -CMSG_OID_EXPORT_KEY_TRANS_FUNC: Final = "CryptMsgDllExportKeyTrans" -CMSG_KEY_AGREE_ENCRYPT_FREE_PARA_FLAG: Final = 0x00000001 -CMSG_KEY_AGREE_ENCRYPT_FREE_MATERIAL_FLAG: Final = 0x00000002 -CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_ALG_FLAG: Final = 0x00000004 -CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_PARA_FLAG: Final = 0x00000008 -CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_BITS_FLAG: Final = 0x00000010 -CMSG_OID_EXPORT_KEY_AGREE_FUNC: Final = "CryptMsgDllExportKeyAgree" -CMSG_MAIL_LIST_ENCRYPT_FREE_PARA_FLAG: Final = 0x00000001 -CMSG_OID_EXPORT_MAIL_LIST_FUNC: Final = "CryptMsgDllExportMailList" -CMSG_OID_IMPORT_KEY_TRANS_FUNC: Final = "CryptMsgDllImportKeyTrans" -CMSG_OID_IMPORT_KEY_AGREE_FUNC: Final = "CryptMsgDllImportKeyAgree" -CMSG_OID_IMPORT_MAIL_LIST_FUNC: Final = "CryptMsgDllImportMailList" -CERT_KEY_PROV_HANDLE_PROP_ID: Final = 1 -CERT_KEY_PROV_INFO_PROP_ID: Final = 2 -CERT_SHA1_HASH_PROP_ID: Final = 3 -CERT_MD5_HASH_PROP_ID: Final = 4 -CERT_HASH_PROP_ID: Final = CERT_SHA1_HASH_PROP_ID -CERT_KEY_CONTEXT_PROP_ID: Final = 5 -CERT_KEY_SPEC_PROP_ID: Final = 6 -CERT_IE30_RESERVED_PROP_ID: Final = 7 -CERT_PUBKEY_HASH_RESERVED_PROP_ID: Final = 8 -CERT_ENHKEY_USAGE_PROP_ID: Final = 9 -CERT_CTL_USAGE_PROP_ID: Final = CERT_ENHKEY_USAGE_PROP_ID -CERT_NEXT_UPDATE_LOCATION_PROP_ID: Final = 10 -CERT_FRIENDLY_NAME_PROP_ID: Final = 11 -CERT_PVK_FILE_PROP_ID: Final = 12 -CERT_DESCRIPTION_PROP_ID: Final = 13 -CERT_ACCESS_STATE_PROP_ID: Final = 14 -CERT_SIGNATURE_HASH_PROP_ID: Final = 15 -CERT_SMART_CARD_DATA_PROP_ID: Final = 16 -CERT_EFS_PROP_ID: Final = 17 -CERT_FORTEZZA_DATA_PROP_ID: Final = 18 -CERT_ARCHIVED_PROP_ID: Final = 19 -CERT_KEY_IDENTIFIER_PROP_ID: Final = 20 -CERT_AUTO_ENROLL_PROP_ID: Final = 21 -CERT_PUBKEY_ALG_PARA_PROP_ID: Final = 22 -CERT_CROSS_CERT_DIST_POINTS_PROP_ID: Final = 23 -CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID: Final = 24 -CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID: Final = 25 -CERT_ENROLLMENT_PROP_ID: Final = 26 -CERT_DATE_STAMP_PROP_ID: Final = 27 -CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: Final = 28 -CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: Final = 29 -CERT_EXTENDED_ERROR_INFO_PROP_ID: Final = 30 -CERT_RENEWAL_PROP_ID: Final = 64 -CERT_ARCHIVED_KEY_HASH_PROP_ID: Final = 65 -CERT_AUTO_ENROLL_RETRY_PROP_ID: Final = 66 -CERT_AIA_URL_RETRIEVED_PROP_ID: Final = 67 -CERT_AUTHORITY_INFO_ACCESS_PROP_ID: Final = 68 -CERT_BACKED_UP_PROP_ID: Final = 69 -CERT_OCSP_RESPONSE_PROP_ID: Final = 70 -CERT_REQUEST_ORIGINATOR_PROP_ID: Final = 71 -CERT_SOURCE_LOCATION_PROP_ID: Final = 72 -CERT_SOURCE_URL_PROP_ID: Final = 73 -CERT_NEW_KEY_PROP_ID: Final = 74 -CERT_OCSP_CACHE_PREFIX_PROP_ID: Final = 75 -CERT_SMART_CARD_ROOT_INFO_PROP_ID: Final = 76 -CERT_NO_AUTO_EXPIRE_CHECK_PROP_ID: Final = 77 -CERT_NCRYPT_KEY_HANDLE_PROP_ID: Final = 78 -CERT_HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_PROP_ID: Final = 79 -CERT_SUBJECT_INFO_ACCESS_PROP_ID: Final = 80 -CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: Final = 81 -CERT_CA_DISABLE_CRL_PROP_ID: Final = 82 -CERT_ROOT_PROGRAM_CERT_POLICIES_PROP_ID: Final = 83 -CERT_ROOT_PROGRAM_NAME_CONSTRAINTS_PROP_ID: Final = 84 -CERT_SUBJECT_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: Final = 85 -CERT_SUBJECT_DISABLE_CRL_PROP_ID: Final = 86 -CERT_CEP_PROP_ID: Final = 87 -CERT_SIGN_HASH_CNG_ALG_PROP_ID: Final = 89 -CERT_SCARD_PIN_ID_PROP_ID: Final = 90 -CERT_SCARD_PIN_INFO_PROP_ID: Final = 91 -CERT_FIRST_RESERVED_PROP_ID: Final = 92 -CERT_LAST_RESERVED_PROP_ID: Final = 0x00007FFF -CERT_FIRST_USER_PROP_ID: Final = 0x00008000 -CERT_LAST_USER_PROP_ID: Final = 0x0000FFFF -szOID_CERT_PROP_ID_PREFIX: Final = "1.3.6.1.4.1.311.10.11." -szOID_CERT_KEY_IDENTIFIER_PROP_ID: Final = "1.3.6.1.4.1.311.10.11.20" -szOID_CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: Final = "1.3.6.1.4.1.311.10.11.28" -szOID_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: Final = "1.3.6.1.4.1.311.10.11.29" -CERT_ACCESS_STATE_WRITE_PERSIST_FLAG: Final = 0x1 -CERT_ACCESS_STATE_SYSTEM_STORE_FLAG: Final = 0x2 -CERT_ACCESS_STATE_LM_SYSTEM_STORE_FLAG: Final = 0x4 -CERT_SET_KEY_PROV_HANDLE_PROP_ID: Final = 0x00000001 -CERT_SET_KEY_CONTEXT_PROP_ID: Final = 0x00000001 -sz_CERT_STORE_PROV_MEMORY: Final = "Memory" -sz_CERT_STORE_PROV_FILENAME_W: Final = "File" -sz_CERT_STORE_PROV_FILENAME: Final = sz_CERT_STORE_PROV_FILENAME_W -sz_CERT_STORE_PROV_SYSTEM_W: Final = "System" -sz_CERT_STORE_PROV_SYSTEM: Final = sz_CERT_STORE_PROV_SYSTEM_W -sz_CERT_STORE_PROV_PKCS7: Final = "PKCS7" -sz_CERT_STORE_PROV_SERIALIZED: Final = "Serialized" -sz_CERT_STORE_PROV_COLLECTION: Final = "Collection" -sz_CERT_STORE_PROV_SYSTEM_REGISTRY_W: Final = "SystemRegistry" -sz_CERT_STORE_PROV_SYSTEM_REGISTRY: Final = sz_CERT_STORE_PROV_SYSTEM_REGISTRY_W -sz_CERT_STORE_PROV_PHYSICAL_W: Final = "Physical" -sz_CERT_STORE_PROV_PHYSICAL: Final = sz_CERT_STORE_PROV_PHYSICAL_W -sz_CERT_STORE_PROV_SMART_CARD_W: Final = "SmartCard" -sz_CERT_STORE_PROV_SMART_CARD: Final = sz_CERT_STORE_PROV_SMART_CARD_W -sz_CERT_STORE_PROV_LDAP_W: Final = "Ldap" -sz_CERT_STORE_PROV_LDAP: Final = sz_CERT_STORE_PROV_LDAP_W -CERT_STORE_SIGNATURE_FLAG: Final = 0x00000001 -CERT_STORE_TIME_VALIDITY_FLAG: Final = 0x00000002 -CERT_STORE_REVOCATION_FLAG: Final = 0x00000004 -CERT_STORE_NO_CRL_FLAG: Final = 0x00010000 -CERT_STORE_NO_ISSUER_FLAG: Final = 0x00020000 -CERT_STORE_BASE_CRL_FLAG: Final = 0x00000100 -CERT_STORE_DELTA_CRL_FLAG: Final = 0x00000200 -CERT_STORE_NO_CRYPT_RELEASE_FLAG: Final = 0x00000001 -CERT_STORE_SET_LOCALIZED_NAME_FLAG: Final = 0x00000002 -CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG: Final = 0x00000004 -CERT_STORE_DELETE_FLAG: Final = 0x00000010 -CERT_STORE_UNSAFE_PHYSICAL_FLAG: Final = 0x00000020 -CERT_STORE_SHARE_STORE_FLAG: Final = 0x00000040 -CERT_STORE_SHARE_CONTEXT_FLAG: Final = 0x00000080 -CERT_STORE_MANIFOLD_FLAG: Final = 0x00000100 -CERT_STORE_ENUM_ARCHIVED_FLAG: Final = 0x00000200 -CERT_STORE_UPDATE_KEYID_FLAG: Final = 0x00000400 -CERT_STORE_BACKUP_RESTORE_FLAG: Final = 0x00000800 -CERT_STORE_READONLY_FLAG: Final = 0x00008000 -CERT_STORE_OPEN_EXISTING_FLAG: Final = 0x00004000 -CERT_STORE_CREATE_NEW_FLAG: Final = 0x00002000 -CERT_STORE_MAXIMUM_ALLOWED_FLAG: Final = 0x00001000 -CERT_SYSTEM_STORE_MASK: Final = -65536 -CERT_SYSTEM_STORE_RELOCATE_FLAG: Final = -2147483648 -CERT_SYSTEM_STORE_UNPROTECTED_FLAG: Final = 0x40000000 -CERT_SYSTEM_STORE_LOCATION_MASK: Final = 0x00FF0000 -CERT_SYSTEM_STORE_LOCATION_SHIFT: Final = 16 -CERT_SYSTEM_STORE_CURRENT_USER_ID: Final = 1 -CERT_SYSTEM_STORE_LOCAL_MACHINE_ID: Final = 2 -CERT_SYSTEM_STORE_CURRENT_SERVICE_ID: Final = 4 -CERT_SYSTEM_STORE_SERVICES_ID: Final = 5 -CERT_SYSTEM_STORE_USERS_ID: Final = 6 -CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID: Final = 7 -CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID: Final = 8 -CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID: Final = 9 -CERT_SYSTEM_STORE_CURRENT_USER: Final = 65536 -CERT_SYSTEM_STORE_LOCAL_MACHINE: Final = 131072 -CERT_SYSTEM_STORE_CURRENT_SERVICE: Final = 262144 -CERT_SYSTEM_STORE_SERVICES: Final = 327680 -CERT_SYSTEM_STORE_USERS: Final = 393216 -CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY: Final = 458752 -CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY: Final = 524288 -CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE: Final = 589824 -CERT_PROT_ROOT_DISABLE_CURRENT_USER_FLAG: Final = 0x1 -CERT_PROT_ROOT_INHIBIT_ADD_AT_INIT_FLAG: Final = 0x2 -CERT_PROT_ROOT_INHIBIT_PURGE_LM_FLAG: Final = 0x4 -CERT_PROT_ROOT_DISABLE_LM_AUTH_FLAG: Final = 0x8 -CERT_PROT_ROOT_ONLY_LM_GPT_FLAG: Final = 0x8 -CERT_PROT_ROOT_DISABLE_NT_AUTH_REQUIRED_FLAG: Final = 0x10 -CERT_PROT_ROOT_DISABLE_NOT_DEFINED_NAME_CONSTRAINT_FLAG: Final = 0x20 -CERT_TRUST_PUB_ALLOW_TRUST_MASK: Final = 0x00000003 -CERT_TRUST_PUB_ALLOW_END_USER_TRUST: Final = 0x00000000 -CERT_TRUST_PUB_ALLOW_MACHINE_ADMIN_TRUST: Final = 0x00000001 -CERT_TRUST_PUB_ALLOW_ENTERPRISE_ADMIN_TRUST: Final = 0x00000002 -CERT_TRUST_PUB_CHECK_PUBLISHER_REV_FLAG: Final = 0x00000100 -CERT_TRUST_PUB_CHECK_TIMESTAMP_REV_FLAG: Final = 0x00000200 -CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_UNTRUSTED_ROOT_LOGGING_FLAG: Final = 0x1 -CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_PARTIAL_CHAIN_LOGGING_FLAG: Final = 0x2 -CERT_AUTH_ROOT_AUTO_UPDATE_ROOT_DIR_URL_VALUE_NAME: Final = "RootDirUrl" -CERT_AUTH_ROOT_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME: Final = "SyncDeltaTime" -CERT_AUTH_ROOT_AUTO_UPDATE_FLAGS_VALUE_NAME: Final = "Flags" -CERT_AUTH_ROOT_CTL_FILENAME: Final = "authroot.stl" -CERT_AUTH_ROOT_CTL_FILENAME_A: Final = "authroot.stl" -CERT_AUTH_ROOT_CAB_FILENAME: Final = "authrootstl.cab" -CERT_AUTH_ROOT_SEQ_FILENAME: Final = "authrootseq.txt" -CERT_AUTH_ROOT_CERT_EXT: Final = ".crt" -CERT_GROUP_POLICY_SYSTEM_STORE_REGPATH: Final = r"Software\Policies\Microsoft\SystemCertificates" -CERT_EFSBLOB_REGPATH: Final = r"Software\Policies\Microsoft\SystemCertificates\EFS" -CERT_EFSBLOB_VALUE_NAME: Final = "EFSBlob" -CERT_PROT_ROOT_FLAGS_REGPATH: Final[str] -CERT_PROT_ROOT_FLAGS_VALUE_NAME: Final = "Flags" -CERT_TRUST_PUB_SAFER_GROUP_POLICY_REGPATH: Final[str] -CERT_LOCAL_MACHINE_SYSTEM_STORE_REGPATH: Final = r"Software\Microsoft\SystemCertificates" -CERT_TRUST_PUB_SAFER_LOCAL_MACHINE_REGPATH: Final[str] -CERT_TRUST_PUB_AUTHENTICODE_FLAGS_VALUE_NAME: Final = "AuthenticodeFlags" -CERT_OCM_SUBCOMPONENTS_LOCAL_MACHINE_REGPATH: Final[str] -CERT_OCM_SUBCOMPONENTS_ROOT_AUTO_UPDATE_VALUE_NAME: Final = r"RootAutoUpdate" -CERT_DISABLE_ROOT_AUTO_UPDATE_REGPATH: Final[str] -CERT_DISABLE_ROOT_AUTO_UPDATE_VALUE_NAME: Final = "DisableRootAutoUpdate" -CERT_AUTH_ROOT_AUTO_UPDATE_LOCAL_MACHINE_REGPATH: Final[str] -CERT_REGISTRY_STORE_REMOTE_FLAG: Final = 0x10000 -CERT_REGISTRY_STORE_SERIALIZED_FLAG: Final = 0x20000 -CERT_REGISTRY_STORE_CLIENT_GPT_FLAG: Final = -2147483648 -CERT_REGISTRY_STORE_LM_GPT_FLAG: Final = 0x01000000 -CERT_REGISTRY_STORE_ROAMING_FLAG: Final = 0x40000 -CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG: Final = 0x80000 -CERT_IE_DIRTY_FLAGS_REGPATH: Final = r"Software\Microsoft\Cryptography\IEDirtyFlags" -CERT_FILE_STORE_COMMIT_ENABLE_FLAG: Final = 0x10000 -CERT_LDAP_STORE_SIGN_FLAG: Final = 0x10000 -CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG: Final = 0x20000 -CERT_LDAP_STORE_OPENED_FLAG: Final = 0x40000 -CERT_LDAP_STORE_UNBIND_FLAG: Final = 0x80000 -CRYPT_OID_OPEN_STORE_PROV_FUNC: Final = "CertDllOpenStoreProv" -CERT_STORE_PROV_EXTERNAL_FLAG: Final = 0x1 -CERT_STORE_PROV_DELETED_FLAG: Final = 0x2 -CERT_STORE_PROV_NO_PERSIST_FLAG: Final = 0x4 -CERT_STORE_PROV_SYSTEM_STORE_FLAG: Final = 0x8 -CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG: Final = 0x10 -CERT_STORE_PROV_CLOSE_FUNC: Final = 0 -CERT_STORE_PROV_READ_CERT_FUNC: Final = 1 -CERT_STORE_PROV_WRITE_CERT_FUNC: Final = 2 -CERT_STORE_PROV_DELETE_CERT_FUNC: Final = 3 -CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC: Final = 4 -CERT_STORE_PROV_READ_CRL_FUNC: Final = 5 -CERT_STORE_PROV_WRITE_CRL_FUNC: Final = 6 -CERT_STORE_PROV_DELETE_CRL_FUNC: Final = 7 -CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC: Final = 8 -CERT_STORE_PROV_READ_CTL_FUNC: Final = 9 -CERT_STORE_PROV_WRITE_CTL_FUNC: Final = 10 -CERT_STORE_PROV_DELETE_CTL_FUNC: Final = 11 -CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC: Final = 12 -CERT_STORE_PROV_CONTROL_FUNC: Final = 13 -CERT_STORE_PROV_FIND_CERT_FUNC: Final = 14 -CERT_STORE_PROV_FREE_FIND_CERT_FUNC: Final = 15 -CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC: Final = 16 -CERT_STORE_PROV_FIND_CRL_FUNC: Final = 17 -CERT_STORE_PROV_FREE_FIND_CRL_FUNC: Final = 18 -CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC: Final = 19 -CERT_STORE_PROV_FIND_CTL_FUNC: Final = 20 -CERT_STORE_PROV_FREE_FIND_CTL_FUNC: Final = 21 -CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC: Final = 22 -CERT_STORE_PROV_WRITE_ADD_FLAG: Final = 0x1 -CERT_STORE_SAVE_AS_STORE: Final = 1 -CERT_STORE_SAVE_AS_PKCS7: Final = 2 -CERT_STORE_SAVE_TO_FILE: Final = 1 -CERT_STORE_SAVE_TO_MEMORY: Final = 2 -CERT_STORE_SAVE_TO_FILENAME_A: Final = 3 -CERT_STORE_SAVE_TO_FILENAME_W: Final = 4 -CERT_STORE_SAVE_TO_FILENAME: Final = CERT_STORE_SAVE_TO_FILENAME_W -CERT_CLOSE_STORE_FORCE_FLAG: Final = 0x00000001 -CERT_CLOSE_STORE_CHECK_FLAG: Final = 0x00000002 -CERT_COMPARE_MASK: Final = 0xFFFF -CERT_COMPARE_SHIFT: Final = 16 -CERT_COMPARE_ANY: Final = 0 -CERT_COMPARE_SHA1_HASH: Final = 1 -CERT_COMPARE_NAME: Final = 2 -CERT_COMPARE_ATTR: Final = 3 -CERT_COMPARE_MD5_HASH: Final = 4 -CERT_COMPARE_PROPERTY: Final = 5 -CERT_COMPARE_PUBLIC_KEY: Final = 6 -CERT_COMPARE_HASH: Final = CERT_COMPARE_SHA1_HASH -CERT_COMPARE_NAME_STR_A: Final = 7 -CERT_COMPARE_NAME_STR_W: Final = 8 -CERT_COMPARE_KEY_SPEC: Final = 9 -CERT_COMPARE_ENHKEY_USAGE: Final = 10 -CERT_COMPARE_CTL_USAGE: Final = CERT_COMPARE_ENHKEY_USAGE -CERT_COMPARE_SUBJECT_CERT: Final = 11 -CERT_COMPARE_ISSUER_OF: Final = 12 -CERT_COMPARE_EXISTING: Final = 13 -CERT_COMPARE_SIGNATURE_HASH: Final = 14 -CERT_COMPARE_KEY_IDENTIFIER: Final = 15 -CERT_COMPARE_CERT_ID: Final = 16 -CERT_COMPARE_CROSS_CERT_DIST_POINTS: Final = 17 -CERT_COMPARE_PUBKEY_MD5_HASH: Final = 18 -CERT_FIND_ANY: Final = 0x00000000 -CERT_FIND_SHA1_HASH: Final = 0x00010000 -CERT_FIND_MD5_HASH: Final = 0x00040000 -CERT_FIND_SIGNATURE_HASH: Final = 0x000E0000 -CERT_FIND_KEY_IDENTIFIER: Final = 0x000F0000 -CERT_FIND_HASH: Final = CERT_FIND_SHA1_HASH -CERT_FIND_PROPERTY: Final = 0x00050000 -CERT_FIND_PUBLIC_KEY: Final = 0x00060000 -CERT_FIND_SUBJECT_NAME: Final = 0x00020007 -CERT_FIND_SUBJECT_ATTR: Final = 0x00030007 -CERT_FIND_ISSUER_NAME: Final = 0x00020004 -CERT_FIND_ISSUER_ATTR: Final = 0x00030004 -CERT_FIND_SUBJECT_STR_A: Final = 0x00070007 -CERT_FIND_SUBJECT_STR_W: Final = 0x00080007 -CERT_FIND_SUBJECT_STR: Final = CERT_FIND_SUBJECT_STR_W -CERT_FIND_ISSUER_STR_A: Final = 0x00070004 -CERT_FIND_ISSUER_STR_W: Final = 0x00080004 -CERT_FIND_ISSUER_STR: Final = CERT_FIND_ISSUER_STR_W -CERT_FIND_KEY_SPEC: Final = 0x00090000 -CERT_FIND_ENHKEY_USAGE: Final = 0x000A0000 -CERT_FIND_CTL_USAGE: Final = CERT_FIND_ENHKEY_USAGE -CERT_FIND_SUBJECT_CERT: Final = 0x000B0000 -CERT_FIND_ISSUER_OF: Final = 0x000C0000 -CERT_FIND_EXISTING: Final = 0x000D0000 -CERT_FIND_CERT_ID: Final = 0x00100000 -CERT_FIND_CROSS_CERT_DIST_POINTS: Final = 0x00110000 -CERT_FIND_PUBKEY_MD5_HASH: Final = 0x00120000 -CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG: Final = 0x1 -CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG: Final = 0x2 -CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG: Final = 0x4 -CERT_FIND_NO_ENHKEY_USAGE_FLAG: Final = 0x8 -CERT_FIND_OR_ENHKEY_USAGE_FLAG: Final = 0x10 -CERT_FIND_VALID_ENHKEY_USAGE_FLAG: Final = 0x20 -CERT_FIND_OPTIONAL_CTL_USAGE_FLAG: Final = CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG -CERT_FIND_EXT_ONLY_CTL_USAGE_FLAG: Final = CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG -CERT_FIND_PROP_ONLY_CTL_USAGE_FLAG: Final = CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG -CERT_FIND_NO_CTL_USAGE_FLAG: Final = CERT_FIND_NO_ENHKEY_USAGE_FLAG -CERT_FIND_OR_CTL_USAGE_FLAG: Final = CERT_FIND_OR_ENHKEY_USAGE_FLAG -CERT_FIND_VALID_CTL_USAGE_FLAG: Final = CERT_FIND_VALID_ENHKEY_USAGE_FLAG -CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG: Final = -2147483648 -CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG: Final = 0x40000000 -CTL_ENTRY_FROM_PROP_CHAIN_FLAG: Final = 0x1 -CRL_FIND_ANY: Final = 0 -CRL_FIND_ISSUED_BY: Final = 1 -CRL_FIND_EXISTING: Final = 2 -CRL_FIND_ISSUED_FOR: Final = 3 -CRL_FIND_ISSUED_BY_AKI_FLAG: Final = 0x1 -CRL_FIND_ISSUED_BY_SIGNATURE_FLAG: Final = 0x2 -CRL_FIND_ISSUED_BY_DELTA_FLAG: Final = 0x4 -CRL_FIND_ISSUED_BY_BASE_FLAG: Final = 0x8 -CERT_STORE_ADD_NEW: Final = 1 -CERT_STORE_ADD_USE_EXISTING: Final = 2 -CERT_STORE_ADD_REPLACE_EXISTING: Final = 3 -CERT_STORE_ADD_ALWAYS: Final = 4 -CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES: Final = 5 -CERT_STORE_ADD_NEWER: Final = 6 -CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES: Final = 7 -CERT_STORE_CERTIFICATE_CONTEXT: Final = 1 -CERT_STORE_CRL_CONTEXT: Final = 2 -CERT_STORE_CTL_CONTEXT: Final = 3 -CERT_STORE_ALL_CONTEXT_FLAG: Final = -1 -CERT_STORE_CERTIFICATE_CONTEXT_FLAG: Final = 2 -CERT_STORE_CRL_CONTEXT_FLAG: Final = 4 -CERT_STORE_CTL_CONTEXT_FLAG: Final = 8 -CTL_ANY_SUBJECT_TYPE: Final = 1 -CTL_CERT_SUBJECT_TYPE: Final = 2 -CTL_FIND_ANY: Final = 0 -CTL_FIND_SHA1_HASH: Final = 1 -CTL_FIND_MD5_HASH: Final = 2 -CTL_FIND_USAGE: Final = 3 -CTL_FIND_SUBJECT: Final = 4 -CTL_FIND_EXISTING: Final = 5 -CTL_FIND_NO_LIST_ID_CBDATA: Final = -1 -CTL_FIND_SAME_USAGE_FLAG: Final = 0x1 -CERT_STORE_CTRL_RESYNC: Final = 1 -CERT_STORE_CTRL_NOTIFY_CHANGE: Final = 2 -CERT_STORE_CTRL_COMMIT: Final = 3 -CERT_STORE_CTRL_AUTO_RESYNC: Final = 4 -CERT_STORE_CTRL_CANCEL_NOTIFY: Final = 5 -CERT_STORE_CTRL_INHIBIT_DUPLICATE_HANDLE_FLAG: Final = 0x1 -CERT_STORE_CTRL_COMMIT_FORCE_FLAG: Final = 0x1 -CERT_STORE_CTRL_COMMIT_CLEAR_FLAG: Final = 0x2 -CERT_STORE_LOCALIZED_NAME_PROP_ID: Final = 0x1000 -CERT_CREATE_CONTEXT_NOCOPY_FLAG: Final = 0x1 -CERT_CREATE_CONTEXT_SORTED_FLAG: Final = 0x2 -CERT_CREATE_CONTEXT_NO_HCRYPTMSG_FLAG: Final = 0x4 -CERT_CREATE_CONTEXT_NO_ENTRY_FLAG: Final = 0x8 -CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG: Final = 0x1 -CERT_PHYSICAL_STORE_OPEN_DISABLE_FLAG: Final = 0x2 -CERT_PHYSICAL_STORE_REMOTE_OPEN_DISABLE_FLAG: Final = 0x4 -CERT_PHYSICAL_STORE_INSERT_COMPUTER_NAME_ENABLE_FLAG: Final = 0x8 -CERT_PHYSICAL_STORE_PREDEFINED_ENUM_FLAG: Final = 0x1 -CERT_PHYSICAL_STORE_DEFAULT_NAME: Final = ".Default" -CERT_PHYSICAL_STORE_GROUP_POLICY_NAME: Final = ".GroupPolicy" -CERT_PHYSICAL_STORE_LOCAL_MACHINE_NAME: Final = ".LocalMachine" -CERT_PHYSICAL_STORE_DS_USER_CERTIFICATE_NAME: Final = ".UserCertificate" -CERT_PHYSICAL_STORE_LOCAL_MACHINE_GROUP_POLICY_NAME: Final = ".LocalMachineGroupPolicy" -CERT_PHYSICAL_STORE_ENTERPRISE_NAME: Final = ".Enterprise" -CERT_PHYSICAL_STORE_AUTH_ROOT_NAME: Final = ".AuthRoot" -CERT_PHYSICAL_STORE_SMART_CARD_NAME: Final = ".SmartCard" -CRYPT_OID_OPEN_SYSTEM_STORE_PROV_FUNC: Final = "CertDllOpenSystemStoreProv" -CRYPT_OID_REGISTER_SYSTEM_STORE_FUNC: Final = "CertDllRegisterSystemStore" -CRYPT_OID_UNREGISTER_SYSTEM_STORE_FUNC: Final = "CertDllUnregisterSystemStore" -CRYPT_OID_ENUM_SYSTEM_STORE_FUNC: Final = "CertDllEnumSystemStore" -CRYPT_OID_REGISTER_PHYSICAL_STORE_FUNC: Final = "CertDllRegisterPhysicalStore" -CRYPT_OID_UNREGISTER_PHYSICAL_STORE_FUNC: Final = "CertDllUnregisterPhysicalStore" -CRYPT_OID_ENUM_PHYSICAL_STORE_FUNC: Final = "CertDllEnumPhysicalStore" -CRYPT_OID_SYSTEM_STORE_LOCATION_VALUE_NAME: Final = "SystemStoreLocation" -CMSG_TRUSTED_SIGNER_FLAG: Final = 0x1 -CMSG_SIGNER_ONLY_FLAG: Final = 0x2 -CMSG_USE_SIGNER_INDEX_FLAG: Final = 0x4 -CMSG_CMS_ENCAPSULATED_CTL_FLAG: Final = 0x00008000 -CMSG_ENCODE_SORTED_CTL_FLAG: Final = 0x1 -CMSG_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: Final = 0x2 -CERT_VERIFY_INHIBIT_CTL_UPDATE_FLAG: Final = 0x1 -CERT_VERIFY_TRUSTED_SIGNERS_FLAG: Final = 0x2 -CERT_VERIFY_NO_TIME_CHECK_FLAG: Final = 0x4 -CERT_VERIFY_ALLOW_MORE_USAGE_FLAG: Final = 0x8 -CERT_VERIFY_UPDATED_CTL_FLAG: Final = 0x1 -CERT_CONTEXT_REVOCATION_TYPE: Final = 1 -CERT_VERIFY_REV_CHAIN_FLAG: Final = 0x00000001 -CERT_VERIFY_CACHE_ONLY_BASED_REVOCATION: Final = 0x00000002 -CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG: Final = 0x00000004 -CERT_UNICODE_IS_RDN_ATTRS_FLAG: Final = 0x1 -CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG: Final = 0x2 -CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB: Final = 1 -CRYPT_VERIFY_CERT_SIGN_SUBJECT_CERT: Final = 2 -CRYPT_VERIFY_CERT_SIGN_SUBJECT_CRL: Final = 3 -CRYPT_VERIFY_CERT_SIGN_ISSUER_PUBKEY: Final = 1 -CRYPT_VERIFY_CERT_SIGN_ISSUER_CERT: Final = 2 -CRYPT_VERIFY_CERT_SIGN_ISSUER_CHAIN: Final = 3 -CRYPT_VERIFY_CERT_SIGN_ISSUER_NULL: Final = 4 -CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG: Final = 0x00000001 -CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG: Final = 0x00000002 -CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID: Final = 1 -CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID: Final = 2 -CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_FUNC: Final = "CryptDllExportPublicKeyInfoEx" -CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_FUNC: Final = "CryptDllImportPublicKeyInfoEx" -CRYPT_ACQUIRE_CACHE_FLAG: Final = 0x00000001 -CRYPT_ACQUIRE_USE_PROV_INFO_FLAG: Final = 0x00000002 -CRYPT_ACQUIRE_COMPARE_KEY_FLAG: Final = 0x00000004 -CRYPT_ACQUIRE_SILENT_FLAG: Final = 0x00000040 -CRYPT_FIND_USER_KEYSET_FLAG: Final = 0x00000001 -CRYPT_FIND_MACHINE_KEYSET_FLAG: Final = 0x00000002 -CRYPT_FIND_SILENT_KEYSET_FLAG: Final = 0x00000040 -CRYPT_OID_IMPORT_PRIVATE_KEY_INFO_FUNC: Final = "CryptDllImportPrivateKeyInfoEx" -CRYPT_OID_EXPORT_PRIVATE_KEY_INFO_FUNC: Final = "CryptDllExportPrivateKeyInfoEx" -CRYPT_DELETE_KEYSET: Final = CRYPT_DELETEKEYSET -CERT_SIMPLE_NAME_STR: Final = 1 -CERT_OID_NAME_STR: Final = 2 -CERT_X500_NAME_STR: Final = 3 -CERT_NAME_STR_SEMICOLON_FLAG: Final = 0x40000000 -CERT_NAME_STR_NO_PLUS_FLAG: Final = 0x20000000 -CERT_NAME_STR_NO_QUOTING_FLAG: Final = 0x10000000 -CERT_NAME_STR_CRLF_FLAG: Final = 0x08000000 -CERT_NAME_STR_COMMA_FLAG: Final = 0x04000000 -CERT_NAME_STR_REVERSE_FLAG: Final = 0x02000000 -CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG: Final = 0x00010000 -CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG: Final = 0x00020000 -CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG: Final = 0x00040000 -CERT_NAME_EMAIL_TYPE: Final = 1 -CERT_NAME_RDN_TYPE: Final = 2 -CERT_NAME_ATTR_TYPE: Final = 3 -CERT_NAME_SIMPLE_DISPLAY_TYPE: Final = 4 -CERT_NAME_FRIENDLY_DISPLAY_TYPE: Final = 5 -CERT_NAME_DNS_TYPE: Final = 6 -CERT_NAME_URL_TYPE: Final = 7 -CERT_NAME_UPN_TYPE: Final = 8 -CERT_NAME_ISSUER_FLAG: Final = 0x1 -CERT_NAME_DISABLE_IE4_UTF8_FLAG: Final = 0x00010000 -CRYPT_MESSAGE_BARE_CONTENT_OUT_FLAG: Final = 0x00000001 -CRYPT_MESSAGE_ENCAPSULATED_CONTENT_OUT_FLAG: Final = 0x00000002 -CRYPT_MESSAGE_KEYID_SIGNER_FLAG: Final = 0x00000004 -CRYPT_MESSAGE_SILENT_KEYSET_FLAG: Final = 0x00000040 -CRYPT_MESSAGE_KEYID_RECIPIENT_FLAG: Final = 0x4 -CERT_QUERY_OBJECT_FILE: Final = 0x00000001 -CERT_QUERY_OBJECT_BLOB: Final = 0x00000002 -CERT_QUERY_CONTENT_CERT: Final = 1 -CERT_QUERY_CONTENT_CTL: Final = 2 -CERT_QUERY_CONTENT_CRL: Final = 3 -CERT_QUERY_CONTENT_SERIALIZED_STORE: Final = 4 -CERT_QUERY_CONTENT_SERIALIZED_CERT: Final = 5 -CERT_QUERY_CONTENT_SERIALIZED_CTL: Final = 6 -CERT_QUERY_CONTENT_SERIALIZED_CRL: Final = 7 -CERT_QUERY_CONTENT_PKCS7_SIGNED: Final = 8 -CERT_QUERY_CONTENT_PKCS7_UNSIGNED: Final = 9 -CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED: Final = 10 -CERT_QUERY_CONTENT_PKCS10: Final = 11 -CERT_QUERY_CONTENT_PFX: Final = 12 -CERT_QUERY_CONTENT_CERT_PAIR: Final = 13 -CERT_QUERY_CONTENT_FLAG_CERT: Final = 0x00000002 -CERT_QUERY_CONTENT_FLAG_CTL: Final = 0x00000004 -CERT_QUERY_CONTENT_FLAG_CRL: Final = 0x00000008 -CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE: Final = 0x00000010 -CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT: Final = 0x00000020 -CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL: Final = 0x00000040 -CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL: Final = 0x00000080 -CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED: Final = 0x00000100 -CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED: Final = 0x00000200 -CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED: Final = 0x00000400 -CERT_QUERY_CONTENT_FLAG_PKCS10: Final = 0x00000800 -CERT_QUERY_CONTENT_FLAG_PFX: Final = 0x00001000 -CERT_QUERY_CONTENT_FLAG_CERT_PAIR: Final = 0x00002000 -CERT_QUERY_CONTENT_FLAG_ALL: Final = 0x00003FFE -CERT_QUERY_FORMAT_BINARY: Final = 1 -CERT_QUERY_FORMAT_BASE64_ENCODED: Final = 2 -CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED: Final = 3 -CERT_QUERY_FORMAT_FLAG_BINARY: Final = 0x00000002 -CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED: Final = 0x00000004 -CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED: Final = 0x00000008 -CERT_QUERY_FORMAT_FLAG_ALL: Final = 0x0000000E -CREDENTIAL_OID_PASSWORD_CREDENTIALS_A: Final = 1 -CREDENTIAL_OID_PASSWORD_CREDENTIALS_W: Final = 2 -CREDENTIAL_OID_PASSWORD_CREDENTIALS: Final = CREDENTIAL_OID_PASSWORD_CREDENTIALS_W -SCHEME_OID_RETRIEVE_ENCODED_OBJECT_FUNC: Final = "SchemeDllRetrieveEncodedObject" -SCHEME_OID_RETRIEVE_ENCODED_OBJECTW_FUNC: Final = "SchemeDllRetrieveEncodedObjectW" -CONTEXT_OID_CREATE_OBJECT_CONTEXT_FUNC: Final = "ContextDllCreateObjectContext" -CONTEXT_OID_CERTIFICATE: Final = 1 -CONTEXT_OID_CRL: Final = 2 -CONTEXT_OID_CTL: Final = 3 -CONTEXT_OID_PKCS7: Final = 4 -CONTEXT_OID_CAPI2_ANY: Final = 5 -CONTEXT_OID_OCSP_RESP: Final = 6 -CRYPT_RETRIEVE_MULTIPLE_OBJECTS: Final = 0x00000001 -CRYPT_CACHE_ONLY_RETRIEVAL: Final = 0x00000002 -CRYPT_WIRE_ONLY_RETRIEVAL: Final = 0x00000004 -CRYPT_DONT_CACHE_RESULT: Final = 0x00000008 -CRYPT_ASYNC_RETRIEVAL: Final = 0x00000010 -CRYPT_STICKY_CACHE_RETRIEVAL: Final = 0x00001000 -CRYPT_LDAP_SCOPE_BASE_ONLY_RETRIEVAL: Final = 0x00002000 -CRYPT_OFFLINE_CHECK_RETRIEVAL: Final = 0x00004000 -CRYPT_LDAP_INSERT_ENTRY_ATTRIBUTE: Final = 0x00008000 -CRYPT_LDAP_SIGN_RETRIEVAL: Final = 0x00010000 -CRYPT_NO_AUTH_RETRIEVAL: Final = 0x00020000 -CRYPT_LDAP_AREC_EXCLUSIVE_RETRIEVAL: Final = 0x00040000 -CRYPT_AIA_RETRIEVAL: Final = 0x00080000 -CRYPT_VERIFY_CONTEXT_SIGNATURE: Final = 0x00000020 -CRYPT_VERIFY_DATA_HASH: Final = 0x00000040 -CRYPT_KEEP_TIME_VALID: Final = 0x00000080 -CRYPT_DONT_VERIFY_SIGNATURE: Final = 0x00000100 -CRYPT_DONT_CHECK_TIME_VALIDITY: Final = 0x00000200 -CRYPT_CHECK_FRESHNESS_TIME_VALIDITY: Final = 0x00000400 -CRYPT_ACCUMULATIVE_TIMEOUT: Final = 0x00000800 -CRYPT_PARAM_ASYNC_RETRIEVAL_COMPLETION: Final = 1 -CRYPT_PARAM_CANCEL_ASYNC_RETRIEVAL: Final = 2 -CRYPT_GET_URL_FROM_PROPERTY: Final = 0x00000001 -CRYPT_GET_URL_FROM_EXTENSION: Final = 0x00000002 -CRYPT_GET_URL_FROM_UNAUTH_ATTRIBUTE: Final = 0x00000004 -CRYPT_GET_URL_FROM_AUTH_ATTRIBUTE: Final = 0x00000008 -URL_OID_GET_OBJECT_URL_FUNC: Final = "UrlDllGetObjectUrl" -TIME_VALID_OID_GET_OBJECT_FUNC: Final = "TimeValidDllGetObject" -TIME_VALID_OID_FLUSH_OBJECT_FUNC: Final = "TimeValidDllFlushObject" -TIME_VALID_OID_GET_CTL: Final = 1 -TIME_VALID_OID_GET_CRL: Final = 2 -TIME_VALID_OID_GET_CRL_FROM_CERT: Final = 3 -TIME_VALID_OID_GET_FRESHEST_CRL_FROM_CERT: Final = 4 -TIME_VALID_OID_GET_FRESHEST_CRL_FROM_CRL: Final = 5 -TIME_VALID_OID_FLUSH_CTL: Final = 1 -TIME_VALID_OID_FLUSH_CRL: Final = 2 -TIME_VALID_OID_FLUSH_CRL_FROM_CERT: Final = 3 -TIME_VALID_OID_FLUSH_FRESHEST_CRL_FROM_CERT: Final = 4 -TIME_VALID_OID_FLUSH_FRESHEST_CRL_FROM_CRL: Final = 5 -CRYPTPROTECT_PROMPT_ON_UNPROTECT: Final = 0x1 -CRYPTPROTECT_PROMPT_ON_PROTECT: Final = 0x2 -CRYPTPROTECT_PROMPT_RESERVED: Final = 0x04 -CRYPTPROTECT_PROMPT_STRONG: Final = 0x08 -CRYPTPROTECT_PROMPT_REQUIRE_STRONG: Final = 0x10 -CRYPTPROTECT_UI_FORBIDDEN: Final = 0x1 -CRYPTPROTECT_LOCAL_MACHINE: Final = 0x4 -CRYPTPROTECT_CRED_SYNC: Final = 0x8 -CRYPTPROTECT_AUDIT: Final = 0x10 -CRYPTPROTECT_NO_RECOVERY: Final = 0x20 -CRYPTPROTECT_VERIFY_PROTECTION: Final = 0x40 -CRYPTPROTECT_CRED_REGENERATE: Final = 0x80 -CRYPTPROTECT_FIRST_RESERVED_FLAGVAL: Final = 0x0FFFFFFF -CRYPTPROTECT_LAST_RESERVED_FLAGVAL: Final = -1 -CRYPTPROTECTMEMORY_BLOCK_SIZE: Final = 16 -CRYPTPROTECTMEMORY_SAME_PROCESS: Final = 0x00 -CRYPTPROTECTMEMORY_CROSS_PROCESS: Final = 0x01 -CRYPTPROTECTMEMORY_SAME_LOGON: Final = 0x02 -CERT_CREATE_SELFSIGN_NO_SIGN: Final = 1 -CERT_CREATE_SELFSIGN_NO_KEY_INFO: Final = 2 -CRYPT_KEYID_MACHINE_FLAG: Final = 0x00000020 -CRYPT_KEYID_ALLOC_FLAG: Final = 0x00008000 -CRYPT_KEYID_DELETE_FLAG: Final = 0x00000010 -CRYPT_KEYID_SET_NEW_FLAG: Final = 0x00002000 -CERT_CHAIN_MAX_AIA_URL_COUNT_IN_CERT_DEFAULT: Final = 5 -CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_COUNT_PER_CHAIN_DEFAULT: Final = 10 -CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_BYTE_COUNT_DEFAULT: Final = 100000 -CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_CERT_COUNT_DEFAULT: Final = 10 -CERT_CHAIN_CACHE_END_CERT: Final = 0x00000001 -CERT_CHAIN_THREAD_STORE_SYNC: Final = 0x00000002 -CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL: Final = 0x00000004 -CERT_CHAIN_USE_LOCAL_MACHINE_STORE: Final = 0x00000008 -CERT_CHAIN_ENABLE_CACHE_AUTO_UPDATE: Final = 0x00000010 -CERT_CHAIN_ENABLE_SHARE_STORE: Final = 0x00000020 -CERT_TRUST_NO_ERROR: Final = 0x00000000 -CERT_TRUST_IS_NOT_TIME_VALID: Final = 0x00000001 -CERT_TRUST_IS_NOT_TIME_NESTED: Final = 0x00000002 -CERT_TRUST_IS_REVOKED: Final = 0x00000004 -CERT_TRUST_IS_NOT_SIGNATURE_VALID: Final = 0x00000008 -CERT_TRUST_IS_NOT_VALID_FOR_USAGE: Final = 0x00000010 -CERT_TRUST_IS_UNTRUSTED_ROOT: Final = 0x00000020 -CERT_TRUST_REVOCATION_STATUS_UNKNOWN: Final = 0x00000040 -CERT_TRUST_IS_CYCLIC: Final = 0x00000080 -CERT_TRUST_INVALID_EXTENSION: Final = 0x00000100 -CERT_TRUST_INVALID_POLICY_CONSTRAINTS: Final = 0x00000200 -CERT_TRUST_INVALID_BASIC_CONSTRAINTS: Final = 0x00000400 -CERT_TRUST_INVALID_NAME_CONSTRAINTS: Final = 0x00000800 -CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT: Final = 0x00001000 -CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT: Final = 0x00002000 -CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT: Final = 0x00004000 -CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT: Final = 0x00008000 -CERT_TRUST_IS_OFFLINE_REVOCATION: Final = 0x01000000 -CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY: Final = 0x02000000 -CERT_TRUST_IS_PARTIAL_CHAIN: Final = 0x00010000 -CERT_TRUST_CTL_IS_NOT_TIME_VALID: Final = 0x00020000 -CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID: Final = 0x00040000 -CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE: Final = 0x00080000 -CERT_TRUST_HAS_EXACT_MATCH_ISSUER: Final = 0x00000001 -CERT_TRUST_HAS_KEY_MATCH_ISSUER: Final = 0x00000002 -CERT_TRUST_HAS_NAME_MATCH_ISSUER: Final = 0x00000004 -CERT_TRUST_IS_SELF_SIGNED: Final = 0x00000008 -CERT_TRUST_HAS_PREFERRED_ISSUER: Final = 0x00000100 -CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY: Final = 0x00000200 -CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS: Final = 0x00000400 -CERT_TRUST_IS_COMPLEX_CHAIN: Final = 0x00010000 -USAGE_MATCH_TYPE_AND: Final = 0x00000000 -USAGE_MATCH_TYPE_OR: Final = 0x00000001 -CERT_CHAIN_REVOCATION_CHECK_END_CERT: Final = 0x10000000 -CERT_CHAIN_REVOCATION_CHECK_CHAIN: Final = 0x20000000 -CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT: Final = 0x40000000 -CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY: Final = -2147483648 -CERT_CHAIN_REVOCATION_ACCUMULATIVE_TIMEOUT: Final = 0x08000000 -CERT_CHAIN_DISABLE_PASS1_QUALITY_FILTERING: Final = 0x00000040 -CERT_CHAIN_RETURN_LOWER_QUALITY_CONTEXTS: Final = 0x00000080 -CERT_CHAIN_DISABLE_AUTH_ROOT_AUTO_UPDATE: Final = 0x00000100 -CERT_CHAIN_TIMESTAMP_TIME: Final = 0x00000200 -REVOCATION_OID_CRL_REVOCATION: Final = 1 -CERT_CHAIN_FIND_BY_ISSUER: Final = 1 -CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG: Final = 0x0001 -CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG: Final = 0x0002 -CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG: Final = 0x0004 -CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG: Final = 0x0008 -CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG: Final = 0x4000 -CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG: Final = 0x8000 -CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG: Final = 0x00000001 -CERT_CHAIN_POLICY_IGNORE_CTL_NOT_TIME_VALID_FLAG: Final = 0x00000002 -CERT_CHAIN_POLICY_IGNORE_NOT_TIME_NESTED_FLAG: Final = 0x00000004 -CERT_CHAIN_POLICY_IGNORE_INVALID_BASIC_CONSTRAINTS_FLAG: Final = 0x00000008 -CERT_CHAIN_POLICY_IGNORE_ALL_NOT_TIME_VALID_FLAGS: Final = 0x00000007 -CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG: Final = 0x00000010 -CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG: Final = 0x00000020 -CERT_CHAIN_POLICY_IGNORE_INVALID_NAME_FLAG: Final = 0x00000040 -CERT_CHAIN_POLICY_IGNORE_INVALID_POLICY_FLAG: Final = 0x00000080 -CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG: Final = 0x00000100 -CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG: Final = 0x00000200 -CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG: Final = 0x00000400 -CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG: Final = 0x00000800 -CERT_CHAIN_POLICY_IGNORE_ALL_REV_UNKNOWN_FLAGS: Final = 0x00000F00 -CERT_CHAIN_POLICY_ALLOW_TESTROOT_FLAG: Final = 0x00008000 -CERT_CHAIN_POLICY_TRUST_TESTROOT_FLAG: Final = 0x00004000 -CRYPT_OID_VERIFY_CERTIFICATE_CHAIN_POLICY_FUNC: Final = "CertDllVerifyCertificateChainPolicy" -AUTHTYPE_CLIENT: Final = 1 -AUTHTYPE_SERVER: Final = 2 -BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_CA_FLAG: Final = -2147483648 -BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_END_ENTITY_FLAG: Final = 0x40000000 -MICROSOFT_ROOT_CERT_CHAIN_POLICY_ENABLE_TEST_ROOT_FLAG: Final = 0x00010000 -CRYPT_STRING_BASE64HEADER: Final = 0x00000000 -CRYPT_STRING_BASE64: Final = 0x00000001 -CRYPT_STRING_BINARY: Final = 0x00000002 -CRYPT_STRING_BASE64REQUESTHEADER: Final = 0x00000003 -CRYPT_STRING_HEX: Final = 0x00000004 -CRYPT_STRING_HEXASCII: Final = 0x00000005 -CRYPT_STRING_BASE64_ANY: Final = 0x00000006 -CRYPT_STRING_ANY: Final = 0x00000007 -CRYPT_STRING_HEX_ANY: Final = 0x00000008 -CRYPT_STRING_BASE64X509CRLHEADER: Final = 0x00000009 -CRYPT_STRING_HEXADDR: Final = 0x0000000A -CRYPT_STRING_HEXASCIIADDR: Final = 0x0000000B -CRYPT_STRING_NOCR: Final = -2147483648 -CRYPT_USER_KEYSET: Final = 0x00001000 -PKCS12_IMPORT_RESERVED_MASK: Final = -65536 -REPORT_NO_PRIVATE_KEY: Final = 0x0001 -REPORT_NOT_ABLE_TO_EXPORT_PRIVATE_KEY: Final = 0x0002 -EXPORT_PRIVATE_KEYS: Final = 0x0004 -PKCS12_EXPORT_RESERVED_MASK: Final = -65536 -CERT_STORE_PROV_MSG: Final = 1 -CERT_STORE_PROV_MEMORY: Final = 2 -CERT_STORE_PROV_FILE: Final = 3 -CERT_STORE_PROV_REG: Final = 4 -CERT_STORE_PROV_PKCS7: Final = 5 -CERT_STORE_PROV_SERIALIZED: Final = 6 -CERT_STORE_PROV_FILENAME: Final = 8 -CERT_STORE_PROV_SYSTEM: Final = 10 -CERT_STORE_PROV_COLLECTION: Final = 11 -CERT_STORE_PROV_SYSTEM_REGISTRY: Final = 13 -CERT_STORE_PROV_PHYSICAL: Final = 14 -CERT_STORE_PROV_SMART_CARD: Final = 15 -CERT_STORE_PROV_LDAP: Final = 16 -URL_OID_CERTIFICATE_ISSUER: Final = 1 -URL_OID_CERTIFICATE_CRL_DIST_POINT: Final = 2 -URL_OID_CTL_ISSUER: Final = 3 -URL_OID_CTL_NEXT_UPDATE: Final = 4 -URL_OID_CRL_ISSUER: Final = 5 -URL_OID_CERTIFICATE_FRESHEST_CRL: Final = 6 -URL_OID_CRL_FRESHEST_CRL: Final = 7 -URL_OID_CROSS_CERT_DIST_POINT: Final = 8 -URL_OID_CERTIFICATE_OCSP: Final = 9 -URL_OID_CERTIFICATE_OCSP_AND_CRL_DIST_POINT: Final = 10 -URL_OID_CERTIFICATE_CRL_DIST_POINT_AND_OCSP: Final = 11 -URL_OID_CROSS_CERT_SUBJECT_INFO_ACCESS: Final = 12 -URL_OID_CERTIFICATE_ONLY_OCSP: Final = 13 +CRYPT_ASN_ENCODING: int +CRYPT_NDR_ENCODING: int +X509_ASN_ENCODING: int +X509_NDR_ENCODING: int +PKCS_7_ASN_ENCODING: int +PKCS_7_NDR_ENCODING: int +CRYPT_FORMAT_STR_MULTI_LINE: int +CRYPT_FORMAT_STR_NO_HEX: int +CRYPT_FORMAT_SIMPLE: int +CRYPT_FORMAT_X509: int +CRYPT_FORMAT_OID: int +CRYPT_FORMAT_RDN_SEMICOLON: int +CRYPT_FORMAT_RDN_CRLF: int +CRYPT_FORMAT_RDN_UNQUOTE: int +CRYPT_FORMAT_RDN_REVERSE: int +CRYPT_FORMAT_COMMA: int +CRYPT_FORMAT_SEMICOLON: int +CRYPT_FORMAT_CRLF: int +CRYPT_ENCODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: int +CRYPT_ENCODE_ALLOC_FLAG: int +CRYPT_UNICODE_NAME_ENCODE_ENABLE_T61_UNICODE_FLAG: int +CRYPT_UNICODE_NAME_ENCODE_ENABLE_UTF8_UNICODE_FLAG: int +CRYPT_UNICODE_NAME_ENCODE_DISABLE_CHECK_TYPE_FLAG: int +CRYPT_SORTED_CTL_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: int +CRYPT_DECODE_NOCOPY_FLAG: int +CRYPT_DECODE_TO_BE_SIGNED_FLAG: int +CRYPT_DECODE_SHARE_OID_STRING_FLAG: int +CRYPT_DECODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: int +CRYPT_DECODE_ALLOC_FLAG: int +CRYPT_UNICODE_NAME_DECODE_DISABLE_IE4_UTF8_FLAG: int +CRYPT_ENCODE_DECODE_NONE: int +X509_CERT: int +X509_CERT_TO_BE_SIGNED: int +X509_CERT_CRL_TO_BE_SIGNED: int +X509_CERT_REQUEST_TO_BE_SIGNED: int +X509_EXTENSIONS: int +X509_NAME_VALUE: int +X509_NAME: int +X509_PUBLIC_KEY_INFO: int +X509_AUTHORITY_KEY_ID: int +X509_KEY_ATTRIBUTES: int +X509_KEY_USAGE_RESTRICTION: int +X509_ALTERNATE_NAME: int +X509_BASIC_CONSTRAINTS: int +X509_KEY_USAGE: int +X509_BASIC_CONSTRAINTS2: int +X509_CERT_POLICIES: int +PKCS_UTC_TIME: int +PKCS_TIME_REQUEST: int +RSA_CSP_PUBLICKEYBLOB: int +X509_UNICODE_NAME: int +X509_KEYGEN_REQUEST_TO_BE_SIGNED: int +PKCS_ATTRIBUTE: int +PKCS_CONTENT_INFO_SEQUENCE_OF_ANY: int +X509_UNICODE_NAME_VALUE: int +X509_ANY_STRING: int +X509_UNICODE_ANY_STRING: int +X509_OCTET_STRING: int +X509_BITS: int +X509_INTEGER: int +X509_MULTI_BYTE_INTEGER: int +X509_ENUMERATED: int +X509_CHOICE_OF_TIME: int +X509_AUTHORITY_KEY_ID2: int +X509_AUTHORITY_INFO_ACCESS: int +X509_SUBJECT_INFO_ACCESS: int +X509_CRL_REASON_CODE: int +PKCS_CONTENT_INFO: int +X509_SEQUENCE_OF_ANY: int +X509_CRL_DIST_POINTS: int +X509_ENHANCED_KEY_USAGE: int +PKCS_CTL: int +X509_MULTI_BYTE_UINT: int +X509_DSS_PUBLICKEY: int +X509_DSS_PARAMETERS: int +X509_DSS_SIGNATURE: int +PKCS_RC2_CBC_PARAMETERS: int +PKCS_SMIME_CAPABILITIES: int +X509_QC_STATEMENTS_EXT: int +PKCS_RSA_PRIVATE_KEY: int +PKCS_PRIVATE_KEY_INFO: int +PKCS_ENCRYPTED_PRIVATE_KEY_INFO: int +X509_PKIX_POLICY_QUALIFIER_USERNOTICE: int +X509_DH_PUBLICKEY: int +X509_DH_PARAMETERS: int +PKCS_ATTRIBUTES: int +PKCS_SORTED_CTL: int +X509_ECC_SIGNATURE: int +X942_DH_PARAMETERS: int +X509_BITS_WITHOUT_TRAILING_ZEROES: int +X942_OTHER_INFO: int +X509_CERT_PAIR: int +X509_ISSUING_DIST_POINT: int +X509_NAME_CONSTRAINTS: int +X509_POLICY_MAPPINGS: int +X509_POLICY_CONSTRAINTS: int +X509_CROSS_CERT_DIST_POINTS: int +CMC_DATA: int +CMC_RESPONSE: int +CMC_STATUS: int +CMC_ADD_EXTENSIONS: int +CMC_ADD_ATTRIBUTES: int +X509_CERTIFICATE_TEMPLATE: int +OCSP_SIGNED_REQUEST: int +OCSP_REQUEST: int +OCSP_RESPONSE: int +OCSP_BASIC_SIGNED_RESPONSE: int +OCSP_BASIC_RESPONSE: int +X509_LOGOTYPE_EXT: int +X509_BIOMETRIC_EXT: int +CNG_RSA_PUBLIC_KEY_BLOB: int +X509_OBJECT_IDENTIFIER: int +X509_ALGORITHM_IDENTIFIER: int +PKCS_RSA_SSA_PSS_PARAMETERS: int +PKCS_RSAES_OAEP_PARAMETERS: int +ECC_CMS_SHARED_INFO: int +TIMESTAMP_REQUEST: int +TIMESTAMP_RESPONSE: int +TIMESTAMP_INFO: int +X509_CERT_BUNDLE: int +PKCS7_SIGNER_INFO: int +CMS_SIGNER_INFO: int +szOID_AUTHORITY_KEY_IDENTIFIER: str +szOID_KEY_ATTRIBUTES: str +szOID_CERT_POLICIES_95: str +szOID_KEY_USAGE_RESTRICTION: str +szOID_SUBJECT_ALT_NAME: str +szOID_ISSUER_ALT_NAME: str +szOID_BASIC_CONSTRAINTS: str +szOID_KEY_USAGE: str +szOID_PRIVATEKEY_USAGE_PERIOD: str +szOID_BASIC_CONSTRAINTS2: str +szOID_CERT_POLICIES: str +szOID_ANY_CERT_POLICY: str +szOID_AUTHORITY_KEY_IDENTIFIER2: str +szOID_SUBJECT_KEY_IDENTIFIER: str +szOID_SUBJECT_ALT_NAME2: str +szOID_ISSUER_ALT_NAME2: str +szOID_CRL_REASON_CODE: str +szOID_REASON_CODE_HOLD: str +szOID_CRL_DIST_POINTS: str +szOID_ENHANCED_KEY_USAGE: str +szOID_CRL_NUMBER: str +szOID_DELTA_CRL_INDICATOR: str +szOID_ISSUING_DIST_POINT: str +szOID_FRESHEST_CRL: str +szOID_NAME_CONSTRAINTS: str +szOID_POLICY_MAPPINGS: str +szOID_LEGACY_POLICY_MAPPINGS: str +szOID_POLICY_CONSTRAINTS: str +szOID_RENEWAL_CERTIFICATE: str +szOID_ENROLLMENT_NAME_VALUE_PAIR: str +szOID_ENROLLMENT_CSP_PROVIDER: str +szOID_OS_VERSION: str +szOID_ENROLLMENT_AGENT: str +szOID_PKIX: str +szOID_PKIX_PE: str +szOID_AUTHORITY_INFO_ACCESS: str +szOID_CERT_EXTENSIONS: str +szOID_NEXT_UPDATE_LOCATION: str +szOID_REMOVE_CERTIFICATE: str +szOID_CROSS_CERT_DIST_POINTS: str +szOID_CTL: str +szOID_SORTED_CTL: str +szOID_SERIALIZED: str +szOID_NT_PRINCIPAL_NAME: str +szOID_PRODUCT_UPDATE: str +szOID_ANY_APPLICATION_POLICY: str +szOID_AUTO_ENROLL_CTL_USAGE: str +szOID_ENROLL_CERTTYPE_EXTENSION: str +szOID_CERT_MANIFOLD: str +szOID_CERTSRV_CA_VERSION: str +szOID_CERTSRV_PREVIOUS_CERT_HASH: str +szOID_CRL_VIRTUAL_BASE: str +szOID_CRL_NEXT_PUBLISH: str +szOID_KP_CA_EXCHANGE: str +szOID_KP_KEY_RECOVERY_AGENT: str +szOID_CERTIFICATE_TEMPLATE: str +szOID_ENTERPRISE_OID_ROOT: str +szOID_RDN_DUMMY_SIGNER: str +szOID_APPLICATION_CERT_POLICIES: str +szOID_APPLICATION_POLICY_MAPPINGS: str +szOID_APPLICATION_POLICY_CONSTRAINTS: str +szOID_ARCHIVED_KEY_ATTR: str +szOID_CRL_SELF_CDP: str +szOID_REQUIRE_CERT_CHAIN_POLICY: str +szOID_ARCHIVED_KEY_CERT_HASH: str +szOID_ISSUED_CERT_HASH: str +szOID_DS_EMAIL_REPLICATION: str +szOID_REQUEST_CLIENT_INFO: str +szOID_ENCRYPTED_KEY_HASH: str +szOID_CERTSRV_CROSSCA_VERSION: str +szOID_NTDS_REPLICATION: str +szOID_SUBJECT_DIR_ATTRS: str +szOID_PKIX_KP: str +szOID_PKIX_KP_SERVER_AUTH: str +szOID_PKIX_KP_CLIENT_AUTH: str +szOID_PKIX_KP_CODE_SIGNING: str +szOID_PKIX_KP_EMAIL_PROTECTION: str +szOID_PKIX_KP_IPSEC_END_SYSTEM: str +szOID_PKIX_KP_IPSEC_TUNNEL: str +szOID_PKIX_KP_IPSEC_USER: str +szOID_PKIX_KP_TIMESTAMP_SIGNING: str +szOID_IPSEC_KP_IKE_INTERMEDIATE: str +szOID_KP_CTL_USAGE_SIGNING: str +szOID_KP_TIME_STAMP_SIGNING: str +szOID_SERVER_GATED_CRYPTO: str +szOID_SGC_NETSCAPE: str +szOID_KP_EFS: str +szOID_EFS_RECOVERY: str +szOID_WHQL_CRYPTO: str +szOID_NT5_CRYPTO: str +szOID_OEM_WHQL_CRYPTO: str +szOID_EMBEDDED_NT_CRYPTO: str +szOID_KP_QUALIFIED_SUBORDINATION: str +szOID_KP_KEY_RECOVERY: str +szOID_KP_DOCUMENT_SIGNING: str +szOID_KP_LIFETIME_SIGNING: str +szOID_KP_MOBILE_DEVICE_SOFTWARE: str +szOID_DRM: str +szOID_DRM_INDIVIDUALIZATION: str +szOID_LICENSES: str +szOID_LICENSE_SERVER: str +szOID_KP_SMARTCARD_LOGON: str +szOID_YESNO_TRUST_ATTR: str +szOID_PKIX_POLICY_QUALIFIER_CPS: str +szOID_PKIX_POLICY_QUALIFIER_USERNOTICE: str +szOID_CERT_POLICIES_95_QUALIFIER1: str +CERT_UNICODE_RDN_ERR_INDEX_MASK: int +CERT_UNICODE_RDN_ERR_INDEX_SHIFT: int +CERT_UNICODE_ATTR_ERR_INDEX_MASK: int +CERT_UNICODE_ATTR_ERR_INDEX_SHIFT: int +CERT_UNICODE_VALUE_ERR_INDEX_MASK: int +CERT_UNICODE_VALUE_ERR_INDEX_SHIFT: int +CERT_DIGITAL_SIGNATURE_KEY_USAGE: int +CERT_NON_REPUDIATION_KEY_USAGE: int +CERT_KEY_ENCIPHERMENT_KEY_USAGE: int +CERT_DATA_ENCIPHERMENT_KEY_USAGE: int +CERT_KEY_AGREEMENT_KEY_USAGE: int +CERT_KEY_CERT_SIGN_KEY_USAGE: int +CERT_OFFLINE_CRL_SIGN_KEY_USAGE: int +CERT_CRL_SIGN_KEY_USAGE: int +CERT_ENCIPHER_ONLY_KEY_USAGE: int +CERT_DECIPHER_ONLY_KEY_USAGE: int +CERT_ALT_NAME_OTHER_NAME: int +CERT_ALT_NAME_RFC822_NAME: int +CERT_ALT_NAME_DNS_NAME: int +CERT_ALT_NAME_X400_ADDRESS: int +CERT_ALT_NAME_DIRECTORY_NAME: int +CERT_ALT_NAME_EDI_PARTY_NAME: int +CERT_ALT_NAME_URL: int +CERT_ALT_NAME_IP_ADDRESS: int +CERT_ALT_NAME_REGISTERED_ID: int +CERT_ALT_NAME_ENTRY_ERR_INDEX_MASK: int +CERT_ALT_NAME_ENTRY_ERR_INDEX_SHIFT: int +CERT_ALT_NAME_VALUE_ERR_INDEX_MASK: int +CERT_ALT_NAME_VALUE_ERR_INDEX_SHIFT: int +CERT_CA_SUBJECT_FLAG: int +CERT_END_ENTITY_SUBJECT_FLAG: int +szOID_PKIX_ACC_DESCR: str +szOID_PKIX_OCSP: str +szOID_PKIX_CA_ISSUERS: str +CRL_REASON_UNSPECIFIED: int +CRL_REASON_KEY_COMPROMISE: int +CRL_REASON_CA_COMPROMISE: int +CRL_REASON_AFFILIATION_CHANGED: int +CRL_REASON_SUPERSEDED: int +CRL_REASON_CESSATION_OF_OPERATION: int +CRL_REASON_CERTIFICATE_HOLD: int +CRL_REASON_REMOVE_FROM_CRL: int +CRL_DIST_POINT_NO_NAME: int +CRL_DIST_POINT_FULL_NAME: int +CRL_DIST_POINT_ISSUER_RDN_NAME: int +CRL_REASON_UNUSED_FLAG: int +CRL_REASON_KEY_COMPROMISE_FLAG: int +CRL_REASON_CA_COMPROMISE_FLAG: int +CRL_REASON_AFFILIATION_CHANGED_FLAG: int +CRL_REASON_SUPERSEDED_FLAG: int +CRL_REASON_CESSATION_OF_OPERATION_FLAG: int +CRL_REASON_CERTIFICATE_HOLD_FLAG: int +CRL_DIST_POINT_ERR_INDEX_MASK: int +CRL_DIST_POINT_ERR_INDEX_SHIFT: int +CRL_DIST_POINT_ERR_CRL_ISSUER_BIT: int +CROSS_CERT_DIST_POINT_ERR_INDEX_MASK: int +CROSS_CERT_DIST_POINT_ERR_INDEX_SHIFT: int +CERT_EXCLUDED_SUBTREE_BIT: int +SORTED_CTL_EXT_FLAGS_OFFSET: int +SORTED_CTL_EXT_COUNT_OFFSET: int +SORTED_CTL_EXT_MAX_COLLISION_OFFSET: int +SORTED_CTL_EXT_HASH_BUCKET_OFFSET: int +SORTED_CTL_EXT_HASHED_SUBJECT_IDENTIFIER_FLAG: int +CERT_DSS_R_LEN: int +CERT_DSS_S_LEN: int +CERT_DSS_SIGNATURE_LEN: int +CERT_MAX_ASN_ENCODED_DSS_SIGNATURE_LEN: int +CRYPT_X942_COUNTER_BYTE_LENGTH: int +CRYPT_X942_KEY_LENGTH_BYTE_LENGTH: int +CRYPT_X942_PUB_INFO_BYTE_LENGTH: float +CRYPT_RC2_40BIT_VERSION: int +CRYPT_RC2_56BIT_VERSION: int +CRYPT_RC2_64BIT_VERSION: int +CRYPT_RC2_128BIT_VERSION: int +szOID_VERISIGN_PRIVATE_6_9: str +szOID_VERISIGN_ONSITE_JURISDICTION_HASH: str +szOID_VERISIGN_BITSTRING_6_13: str +szOID_VERISIGN_ISS_STRONG_CRYPTO: str +szOID_NETSCAPE: str +szOID_NETSCAPE_CERT_EXTENSION: str +szOID_NETSCAPE_CERT_TYPE: str +szOID_NETSCAPE_BASE_URL: str +szOID_NETSCAPE_REVOCATION_URL: str +szOID_NETSCAPE_CA_REVOCATION_URL: str +szOID_NETSCAPE_CERT_RENEWAL_URL: str +szOID_NETSCAPE_CA_POLICY_URL: str +szOID_NETSCAPE_SSL_SERVER_NAME: str +szOID_NETSCAPE_COMMENT: str +szOID_NETSCAPE_DATA_TYPE: str +szOID_NETSCAPE_CERT_SEQUENCE: str +NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE: int +NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE: int +NETSCAPE_SMIME_CERT_TYPE: int +NETSCAPE_SIGN_CERT_TYPE: int +NETSCAPE_SSL_CA_CERT_TYPE: int +NETSCAPE_SMIME_CA_CERT_TYPE: int +NETSCAPE_SIGN_CA_CERT_TYPE: int +szOID_CT_PKI_DATA: str +szOID_CT_PKI_RESPONSE: str +szOID_PKIX_NO_SIGNATURE: str +szOID_CMC: str +szOID_CMC_STATUS_INFO: str +szOID_CMC_IDENTIFICATION: str +szOID_CMC_IDENTITY_PROOF: str +szOID_CMC_DATA_RETURN: str +szOID_CMC_TRANSACTION_ID: str +szOID_CMC_SENDER_NONCE: str +szOID_CMC_RECIPIENT_NONCE: str +szOID_CMC_ADD_EXTENSIONS: str +szOID_CMC_ENCRYPTED_POP: str +szOID_CMC_DECRYPTED_POP: str +szOID_CMC_LRA_POP_WITNESS: str +szOID_CMC_GET_CERT: str +szOID_CMC_GET_CRL: str +szOID_CMC_REVOKE_REQUEST: str +szOID_CMC_REG_INFO: str +szOID_CMC_RESPONSE_INFO: str +szOID_CMC_QUERY_PENDING: str +szOID_CMC_ID_POP_LINK_RANDOM: str +szOID_CMC_ID_POP_LINK_WITNESS: str +szOID_CMC_ID_CONFIRM_CERT_ACCEPTANCE: str +szOID_CMC_ADD_ATTRIBUTES: str +CMC_TAGGED_CERT_REQUEST_CHOICE: int +CMC_OTHER_INFO_NO_CHOICE: int +CMC_OTHER_INFO_FAIL_CHOICE: int +CMC_OTHER_INFO_PEND_CHOICE: int +CMC_STATUS_SUCCESS: int +CMC_STATUS_FAILED: int +CMC_STATUS_PENDING: int +CMC_STATUS_NO_SUPPORT: int +CMC_STATUS_CONFIRM_REQUIRED: int +CMC_FAIL_BAD_ALG: int +CMC_FAIL_BAD_MESSAGE_CHECK: int +CMC_FAIL_BAD_REQUEST: int +CMC_FAIL_BAD_TIME: int +CMC_FAIL_BAD_CERT_ID: int +CMC_FAIL_UNSUPORTED_EXT: int +CMC_FAIL_MUST_ARCHIVE_KEYS: int +CMC_FAIL_BAD_IDENTITY: int +CMC_FAIL_POP_REQUIRED: int +CMC_FAIL_POP_FAILED: int +CMC_FAIL_NO_KEY_REUSE: int +CMC_FAIL_INTERNAL_CA_ERROR: int +CMC_FAIL_TRY_LATER: int +CRYPT_OID_ENCODE_OBJECT_FUNC: str +CRYPT_OID_DECODE_OBJECT_FUNC: str +CRYPT_OID_ENCODE_OBJECT_EX_FUNC: str +CRYPT_OID_DECODE_OBJECT_EX_FUNC: str +CRYPT_OID_CREATE_COM_OBJECT_FUNC: str +CRYPT_OID_VERIFY_REVOCATION_FUNC: str +CRYPT_OID_VERIFY_CTL_USAGE_FUNC: str +CRYPT_OID_FORMAT_OBJECT_FUNC: str +CRYPT_OID_FIND_OID_INFO_FUNC: str +CRYPT_OID_FIND_LOCALIZED_NAME_FUNC: str +CRYPT_OID_REGPATH: str +CRYPT_OID_REG_ENCODING_TYPE_PREFIX: str +CRYPT_OID_REG_DLL_VALUE_NAME: str +CRYPT_OID_REG_FUNC_NAME_VALUE_NAME: str +CRYPT_OID_REG_FUNC_NAME_VALUE_NAME_A: str +CRYPT_OID_REG_FLAGS_VALUE_NAME: str +CRYPT_DEFAULT_OID: str +CRYPT_INSTALL_OID_FUNC_BEFORE_FLAG: int +CRYPT_GET_INSTALLED_OID_FUNC_FLAG: int +CRYPT_REGISTER_FIRST_INDEX: int +CRYPT_REGISTER_LAST_INDEX: int +CRYPT_MATCH_ANY_ENCODING_TYPE: int +CRYPT_HASH_ALG_OID_GROUP_ID: int +CRYPT_ENCRYPT_ALG_OID_GROUP_ID: int +CRYPT_PUBKEY_ALG_OID_GROUP_ID: int +CRYPT_SIGN_ALG_OID_GROUP_ID: int +CRYPT_RDN_ATTR_OID_GROUP_ID: int +CRYPT_EXT_OR_ATTR_OID_GROUP_ID: int +CRYPT_ENHKEY_USAGE_OID_GROUP_ID: int +CRYPT_POLICY_OID_GROUP_ID: int +CRYPT_TEMPLATE_OID_GROUP_ID: int +CRYPT_LAST_OID_GROUP_ID: int +CRYPT_FIRST_ALG_OID_GROUP_ID: int +CRYPT_LAST_ALG_OID_GROUP_ID: int +CRYPT_OID_INHIBIT_SIGNATURE_FORMAT_FLAG: int +CRYPT_OID_USE_PUBKEY_PARA_FOR_PKCS7_FLAG: int +CRYPT_OID_NO_NULL_ALGORITHM_PARA_FLAG: int +CRYPT_OID_INFO_OID_KEY: int +CRYPT_OID_INFO_NAME_KEY: int +CRYPT_OID_INFO_ALGID_KEY: int +CRYPT_OID_INFO_SIGN_KEY: int +CRYPT_INSTALL_OID_INFO_BEFORE_FLAG: int +CRYPT_LOCALIZED_NAME_ENCODING_TYPE: int +CRYPT_LOCALIZED_NAME_OID: str +szOID_PKCS_7_DATA: str +szOID_PKCS_7_SIGNED: str +szOID_PKCS_7_ENVELOPED: str +szOID_PKCS_7_SIGNEDANDENVELOPED: str +szOID_PKCS_7_DIGESTED: str +szOID_PKCS_7_ENCRYPTED: str +szOID_PKCS_9_CONTENT_TYPE: str +szOID_PKCS_9_MESSAGE_DIGEST: str +CMSG_DATA: int +CMSG_SIGNED: int +CMSG_ENVELOPED: int +CMSG_SIGNED_AND_ENVELOPED: int +CMSG_HASHED: int +CMSG_ENCRYPTED: int +CMSG_ALL_FLAGS: int +CMSG_DATA_FLAG: int +CMSG_SIGNED_FLAG: int +CMSG_ENVELOPED_FLAG: int +CMSG_SIGNED_AND_ENVELOPED_FLAG: int +CMSG_HASHED_FLAG: int +CMSG_ENCRYPTED_FLAG: int +CERT_ID_ISSUER_SERIAL_NUMBER: int +CERT_ID_KEY_IDENTIFIER: int +CERT_ID_SHA1_HASH: int +CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE: int +CMSG_KEY_AGREE_STATIC_KEY_CHOICE: int +CMSG_KEY_TRANS_RECIPIENT: int +CMSG_KEY_AGREE_RECIPIENT: int +CMSG_SP3_COMPATIBLE_ENCRYPT_FLAG: int +CMSG_RC4_NO_SALT_FLAG: int +CMSG_INDEFINITE_LENGTH: int +CMSG_BARE_CONTENT_FLAG: int +CMSG_LENGTH_ONLY_FLAG: int +CMSG_DETACHED_FLAG: int +CMSG_AUTHENTICATED_ATTRIBUTES_FLAG: int +CMSG_CONTENTS_OCTETS_FLAG: int +CMSG_MAX_LENGTH_FLAG: int +CMSG_CMS_ENCAPSULATED_CONTENT_FLAG: int +CMSG_CRYPT_RELEASE_CONTEXT_FLAG: int +CMSG_TYPE_PARAM: int +CMSG_CONTENT_PARAM: int +CMSG_BARE_CONTENT_PARAM: int +CMSG_INNER_CONTENT_TYPE_PARAM: int +CMSG_SIGNER_COUNT_PARAM: int +CMSG_SIGNER_INFO_PARAM: int +CMSG_SIGNER_CERT_INFO_PARAM: int +CMSG_SIGNER_HASH_ALGORITHM_PARAM: int +CMSG_SIGNER_AUTH_ATTR_PARAM: int +CMSG_SIGNER_UNAUTH_ATTR_PARAM: int +CMSG_CERT_COUNT_PARAM: int +CMSG_CERT_PARAM: int +CMSG_CRL_COUNT_PARAM: int +CMSG_CRL_PARAM: int +CMSG_ENVELOPE_ALGORITHM_PARAM: int +CMSG_RECIPIENT_COUNT_PARAM: int +CMSG_RECIPIENT_INDEX_PARAM: int +CMSG_RECIPIENT_INFO_PARAM: int +CMSG_HASH_ALGORITHM_PARAM: int +CMSG_HASH_DATA_PARAM: int +CMSG_COMPUTED_HASH_PARAM: int +CMSG_ENCRYPT_PARAM: int +CMSG_ENCRYPTED_DIGEST: int +CMSG_ENCODED_SIGNER: int +CMSG_ENCODED_MESSAGE: int +CMSG_VERSION_PARAM: int +CMSG_ATTR_CERT_COUNT_PARAM: int +CMSG_ATTR_CERT_PARAM: int +CMSG_CMS_RECIPIENT_COUNT_PARAM: int +CMSG_CMS_RECIPIENT_INDEX_PARAM: int +CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM: int +CMSG_CMS_RECIPIENT_INFO_PARAM: int +CMSG_UNPROTECTED_ATTR_PARAM: int +CMSG_SIGNER_CERT_ID_PARAM: int +CMSG_CMS_SIGNER_INFO_PARAM: int +CMSG_SIGNED_DATA_V1: int +CMSG_SIGNED_DATA_V3: int +CMSG_SIGNED_DATA_PKCS_1_5_VERSION: int +CMSG_SIGNED_DATA_CMS_VERSION: int +CMSG_SIGNER_INFO_V1: int +CMSG_SIGNER_INFO_V3: int +CMSG_SIGNER_INFO_PKCS_1_5_VERSION: int +CMSG_SIGNER_INFO_CMS_VERSION: int +CMSG_HASHED_DATA_V0: int +CMSG_HASHED_DATA_V2: int +CMSG_HASHED_DATA_PKCS_1_5_VERSION: int +CMSG_HASHED_DATA_CMS_VERSION: int +CMSG_ENVELOPED_DATA_V0: int +CMSG_ENVELOPED_DATA_V2: int +CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION: int +CMSG_ENVELOPED_DATA_CMS_VERSION: int +CMSG_KEY_AGREE_ORIGINATOR_CERT: int +CMSG_KEY_AGREE_ORIGINATOR_PUBLIC_KEY: int +CMSG_ENVELOPED_RECIPIENT_V0: int +CMSG_ENVELOPED_RECIPIENT_V2: int +CMSG_ENVELOPED_RECIPIENT_V3: int +CMSG_ENVELOPED_RECIPIENT_V4: int +CMSG_KEY_TRANS_PKCS_1_5_VERSION: int +CMSG_KEY_TRANS_CMS_VERSION: int +CMSG_KEY_AGREE_VERSION: int +CMSG_CTRL_VERIFY_SIGNATURE: int +CMSG_CTRL_DECRYPT: int +CMSG_CTRL_VERIFY_HASH: int +CMSG_CTRL_ADD_SIGNER: int +CMSG_CTRL_DEL_SIGNER: int +CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR: int +CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR: int +CMSG_CTRL_ADD_CERT: int +CMSG_CTRL_DEL_CERT: int +CMSG_CTRL_ADD_CRL: int +CMSG_CTRL_DEL_CRL: int +CMSG_CTRL_ADD_ATTR_CERT: int +CMSG_CTRL_DEL_ATTR_CERT: int +CMSG_CTRL_KEY_TRANS_DECRYPT: int +CMSG_CTRL_KEY_AGREE_DECRYPT: int +CMSG_CTRL_VERIFY_SIGNATURE_EX: int +CMSG_CTRL_ADD_CMS_SIGNER_INFO: int +CMSG_VERIFY_SIGNER_PUBKEY: int +CMSG_VERIFY_SIGNER_CERT: int +CMSG_VERIFY_SIGNER_CHAIN: int +CMSG_VERIFY_SIGNER_NULL: int +CMSG_OID_GEN_ENCRYPT_KEY_FUNC: str +CMSG_OID_EXPORT_ENCRYPT_KEY_FUNC: str +CMSG_OID_IMPORT_ENCRYPT_KEY_FUNC: str +CMSG_CONTENT_ENCRYPT_PAD_ENCODED_LEN_FLAG: int +CMSG_DEFAULT_INSTALLABLE_FUNC_OID: int +CMSG_CONTENT_ENCRYPT_FREE_PARA_FLAG: int +CMSG_CONTENT_ENCRYPT_RELEASE_CONTEXT_FLAG: int +CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC: str +CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG: int +CMSG_OID_EXPORT_KEY_TRANS_FUNC: str +CMSG_KEY_AGREE_ENCRYPT_FREE_PARA_FLAG: int +CMSG_KEY_AGREE_ENCRYPT_FREE_MATERIAL_FLAG: int +CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_ALG_FLAG: int +CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_PARA_FLAG: int +CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_BITS_FLAG: int +CMSG_OID_EXPORT_KEY_AGREE_FUNC: str +CMSG_OID_IMPORT_KEY_TRANS_FUNC: str +CMSG_OID_IMPORT_KEY_AGREE_FUNC: str +CERT_KEY_PROV_HANDLE_PROP_ID: int +CERT_KEY_PROV_INFO_PROP_ID: int +CERT_SHA1_HASH_PROP_ID: int +CERT_MD5_HASH_PROP_ID: int +CERT_HASH_PROP_ID: int +CERT_KEY_CONTEXT_PROP_ID: int +CERT_KEY_SPEC_PROP_ID: int +CERT_IE30_RESERVED_PROP_ID: int +CERT_PUBKEY_HASH_RESERVED_PROP_ID: int +CERT_ENHKEY_USAGE_PROP_ID: int +CERT_CTL_USAGE_PROP_ID: int +CERT_NEXT_UPDATE_LOCATION_PROP_ID: int +CERT_FRIENDLY_NAME_PROP_ID: int +CERT_PVK_FILE_PROP_ID: int +CERT_DESCRIPTION_PROP_ID: int +CERT_ACCESS_STATE_PROP_ID: int +CERT_SIGNATURE_HASH_PROP_ID: int +CERT_SMART_CARD_DATA_PROP_ID: int +CERT_EFS_PROP_ID: int +CERT_FORTEZZA_DATA_PROP_ID: int +CERT_ARCHIVED_PROP_ID: int +CERT_KEY_IDENTIFIER_PROP_ID: int +CERT_AUTO_ENROLL_PROP_ID: int +CERT_PUBKEY_ALG_PARA_PROP_ID: int +CERT_CROSS_CERT_DIST_POINTS_PROP_ID: int +CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID: int +CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID: int +CERT_ENROLLMENT_PROP_ID: int +CERT_DATE_STAMP_PROP_ID: int +CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: int +CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: int +CERT_EXTENDED_ERROR_INFO_PROP_ID: int +CERT_RENEWAL_PROP_ID: int +CERT_ARCHIVED_KEY_HASH_PROP_ID: int +CERT_AUTO_ENROLL_RETRY_PROP_ID: int +CERT_AIA_URL_RETRIEVED_PROP_ID: int +CERT_AUTHORITY_INFO_ACCESS_PROP_ID: int +CERT_BACKED_UP_PROP_ID: int +CERT_OCSP_RESPONSE_PROP_ID: int +CERT_REQUEST_ORIGINATOR_PROP_ID: int +CERT_SOURCE_LOCATION_PROP_ID: int +CERT_SOURCE_URL_PROP_ID: int +CERT_NEW_KEY_PROP_ID: int +CERT_OCSP_CACHE_PREFIX_PROP_ID: int +CERT_SMART_CARD_ROOT_INFO_PROP_ID: int +CERT_NO_AUTO_EXPIRE_CHECK_PROP_ID: int +CERT_NCRYPT_KEY_HANDLE_PROP_ID: int +CERT_HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_PROP_ID: int +CERT_SUBJECT_INFO_ACCESS_PROP_ID: int +CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: int +CERT_CA_DISABLE_CRL_PROP_ID: int +CERT_ROOT_PROGRAM_CERT_POLICIES_PROP_ID: int +CERT_ROOT_PROGRAM_NAME_CONSTRAINTS_PROP_ID: int +CERT_SUBJECT_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: int +CERT_SUBJECT_DISABLE_CRL_PROP_ID: int +CERT_CEP_PROP_ID: int +CERT_SIGN_HASH_CNG_ALG_PROP_ID: int +CERT_SCARD_PIN_ID_PROP_ID: int +CERT_SCARD_PIN_INFO_PROP_ID: int +CERT_FIRST_RESERVED_PROP_ID: int +CERT_LAST_RESERVED_PROP_ID: int +CERT_FIRST_USER_PROP_ID: int +CERT_LAST_USER_PROP_ID: int +szOID_CERT_PROP_ID_PREFIX: str +szOID_CERT_KEY_IDENTIFIER_PROP_ID: str +szOID_CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: str +szOID_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: str +CERT_ACCESS_STATE_WRITE_PERSIST_FLAG: int +CERT_ACCESS_STATE_SYSTEM_STORE_FLAG: int +CERT_ACCESS_STATE_LM_SYSTEM_STORE_FLAG: int +CERT_SET_KEY_PROV_HANDLE_PROP_ID: int +CERT_SET_KEY_CONTEXT_PROP_ID: int +sz_CERT_STORE_PROV_MEMORY: str +sz_CERT_STORE_PROV_FILENAME_W: str +sz_CERT_STORE_PROV_FILENAME: str +sz_CERT_STORE_PROV_SYSTEM_W: str +sz_CERT_STORE_PROV_SYSTEM: str +sz_CERT_STORE_PROV_PKCS7: str +sz_CERT_STORE_PROV_SERIALIZED: str +sz_CERT_STORE_PROV_COLLECTION: str +sz_CERT_STORE_PROV_SYSTEM_REGISTRY_W: str +sz_CERT_STORE_PROV_SYSTEM_REGISTRY: str +sz_CERT_STORE_PROV_PHYSICAL_W: str +sz_CERT_STORE_PROV_PHYSICAL: str +sz_CERT_STORE_PROV_SMART_CARD_W: str +sz_CERT_STORE_PROV_SMART_CARD: str +sz_CERT_STORE_PROV_LDAP_W: str +sz_CERT_STORE_PROV_LDAP: str +CERT_STORE_SIGNATURE_FLAG: int +CERT_STORE_TIME_VALIDITY_FLAG: int +CERT_STORE_REVOCATION_FLAG: int +CERT_STORE_NO_CRL_FLAG: int +CERT_STORE_NO_ISSUER_FLAG: int +CERT_STORE_BASE_CRL_FLAG: int +CERT_STORE_DELTA_CRL_FLAG: int +CERT_STORE_NO_CRYPT_RELEASE_FLAG: int +CERT_STORE_SET_LOCALIZED_NAME_FLAG: int +CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG: int +CERT_STORE_DELETE_FLAG: int +CERT_STORE_UNSAFE_PHYSICAL_FLAG: int +CERT_STORE_SHARE_STORE_FLAG: int +CERT_STORE_SHARE_CONTEXT_FLAG: int +CERT_STORE_MANIFOLD_FLAG: int +CERT_STORE_ENUM_ARCHIVED_FLAG: int +CERT_STORE_UPDATE_KEYID_FLAG: int +CERT_STORE_BACKUP_RESTORE_FLAG: int +CERT_STORE_READONLY_FLAG: int +CERT_STORE_OPEN_EXISTING_FLAG: int +CERT_STORE_CREATE_NEW_FLAG: int +CERT_STORE_MAXIMUM_ALLOWED_FLAG: int +CERT_SYSTEM_STORE_MASK: int +CERT_SYSTEM_STORE_RELOCATE_FLAG: int +CERT_SYSTEM_STORE_UNPROTECTED_FLAG: int +CERT_SYSTEM_STORE_LOCATION_MASK: int +CERT_SYSTEM_STORE_LOCATION_SHIFT: int +CERT_SYSTEM_STORE_CURRENT_USER_ID: int +CERT_SYSTEM_STORE_LOCAL_MACHINE_ID: int +CERT_SYSTEM_STORE_CURRENT_SERVICE_ID: int +CERT_SYSTEM_STORE_SERVICES_ID: int +CERT_SYSTEM_STORE_USERS_ID: int +CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID: int +CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID: int +CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID: int +CERT_SYSTEM_STORE_CURRENT_USER: int +CERT_SYSTEM_STORE_LOCAL_MACHINE: int +CERT_SYSTEM_STORE_CURRENT_SERVICE: int +CERT_SYSTEM_STORE_SERVICES: int +CERT_SYSTEM_STORE_USERS: int +CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY: int +CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY: int +CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE: int +CERT_PROT_ROOT_DISABLE_CURRENT_USER_FLAG: int +CERT_PROT_ROOT_INHIBIT_ADD_AT_INIT_FLAG: int +CERT_PROT_ROOT_INHIBIT_PURGE_LM_FLAG: int +CERT_PROT_ROOT_DISABLE_LM_AUTH_FLAG: int +CERT_PROT_ROOT_ONLY_LM_GPT_FLAG: int +CERT_PROT_ROOT_DISABLE_NT_AUTH_REQUIRED_FLAG: int +CERT_PROT_ROOT_DISABLE_NOT_DEFINED_NAME_CONSTRAINT_FLAG: int +CERT_TRUST_PUB_ALLOW_TRUST_MASK: int +CERT_TRUST_PUB_ALLOW_END_USER_TRUST: int +CERT_TRUST_PUB_ALLOW_MACHINE_ADMIN_TRUST: int +CERT_TRUST_PUB_ALLOW_ENTERPRISE_ADMIN_TRUST: int +CERT_TRUST_PUB_CHECK_PUBLISHER_REV_FLAG: int +CERT_TRUST_PUB_CHECK_TIMESTAMP_REV_FLAG: int +CERT_AUTH_ROOT_AUTO_UPDATE_LOCAL_MACHINE_REGPATH: str +CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_UNTRUSTED_ROOT_LOGGING_FLAG: int +CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_PARTIAL_CHAIN_LOGGING_FLAG: int +CERT_AUTH_ROOT_AUTO_UPDATE_ROOT_DIR_URL_VALUE_NAME: str +CERT_AUTH_ROOT_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME: str +CERT_AUTH_ROOT_AUTO_UPDATE_FLAGS_VALUE_NAME: str +CERT_AUTH_ROOT_CTL_FILENAME: str +CERT_AUTH_ROOT_CTL_FILENAME_A: str +CERT_AUTH_ROOT_CAB_FILENAME: str +CERT_AUTH_ROOT_SEQ_FILENAME: str +CERT_AUTH_ROOT_CERT_EXT: str +CERT_GROUP_POLICY_SYSTEM_STORE_REGPATH: str +CERT_EFSBLOB_REGPATH: str +CERT_EFSBLOB_VALUE_NAME: str +CERT_PROT_ROOT_FLAGS_REGPATH: str +CERT_PROT_ROOT_FLAGS_VALUE_NAME: str +CERT_TRUST_PUB_SAFER_GROUP_POLICY_REGPATH: str +CERT_LOCAL_MACHINE_SYSTEM_STORE_REGPATH: str +CERT_TRUST_PUB_SAFER_LOCAL_MACHINE_REGPATH: str +CERT_TRUST_PUB_AUTHENTICODE_FLAGS_VALUE_NAME: str +CERT_OCM_SUBCOMPONENTS_LOCAL_MACHINE_REGPATH: str +CERT_OCM_SUBCOMPONENTS_ROOT_AUTO_UPDATE_VALUE_NAME: str +CERT_DISABLE_ROOT_AUTO_UPDATE_REGPATH: str +CERT_DISABLE_ROOT_AUTO_UPDATE_VALUE_NAME: str +CERT_REGISTRY_STORE_REMOTE_FLAG: int +CERT_REGISTRY_STORE_SERIALIZED_FLAG: int +CERT_REGISTRY_STORE_CLIENT_GPT_FLAG: int +CERT_REGISTRY_STORE_LM_GPT_FLAG: int +CERT_REGISTRY_STORE_ROAMING_FLAG: int +CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG: int +CERT_IE_DIRTY_FLAGS_REGPATH: str +CERT_FILE_STORE_COMMIT_ENABLE_FLAG: int +CERT_LDAP_STORE_SIGN_FLAG: int +CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG: int +CERT_LDAP_STORE_OPENED_FLAG: int +CERT_LDAP_STORE_UNBIND_FLAG: int +CRYPT_OID_OPEN_STORE_PROV_FUNC: str +CERT_STORE_PROV_EXTERNAL_FLAG: int +CERT_STORE_PROV_DELETED_FLAG: int +CERT_STORE_PROV_NO_PERSIST_FLAG: int +CERT_STORE_PROV_SYSTEM_STORE_FLAG: int +CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG: int +CERT_STORE_PROV_CLOSE_FUNC: int +CERT_STORE_PROV_READ_CERT_FUNC: int +CERT_STORE_PROV_WRITE_CERT_FUNC: int +CERT_STORE_PROV_DELETE_CERT_FUNC: int +CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC: int +CERT_STORE_PROV_READ_CRL_FUNC: int +CERT_STORE_PROV_WRITE_CRL_FUNC: int +CERT_STORE_PROV_DELETE_CRL_FUNC: int +CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC: int +CERT_STORE_PROV_READ_CTL_FUNC: int +CERT_STORE_PROV_WRITE_CTL_FUNC: int +CERT_STORE_PROV_DELETE_CTL_FUNC: int +CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC: int +CERT_STORE_PROV_CONTROL_FUNC: int +CERT_STORE_PROV_FIND_CERT_FUNC: int +CERT_STORE_PROV_FREE_FIND_CERT_FUNC: int +CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC: int +CERT_STORE_PROV_FIND_CRL_FUNC: int +CERT_STORE_PROV_FREE_FIND_CRL_FUNC: int +CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC: int +CERT_STORE_PROV_FIND_CTL_FUNC: int +CERT_STORE_PROV_FREE_FIND_CTL_FUNC: int +CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC: int +CERT_STORE_PROV_WRITE_ADD_FLAG: int +CERT_STORE_SAVE_AS_STORE: int +CERT_STORE_SAVE_AS_PKCS7: int +CERT_STORE_SAVE_TO_FILE: int +CERT_STORE_SAVE_TO_MEMORY: int +CERT_STORE_SAVE_TO_FILENAME_A: int +CERT_STORE_SAVE_TO_FILENAME_W: int +CERT_STORE_SAVE_TO_FILENAME: int +CERT_CLOSE_STORE_FORCE_FLAG: int +CERT_CLOSE_STORE_CHECK_FLAG: int +CERT_COMPARE_MASK: int +CERT_COMPARE_SHIFT: int +CERT_COMPARE_ANY: int +CERT_COMPARE_SHA1_HASH: int +CERT_COMPARE_NAME: int +CERT_COMPARE_ATTR: int +CERT_COMPARE_MD5_HASH: int +CERT_COMPARE_PROPERTY: int +CERT_COMPARE_PUBLIC_KEY: int +CERT_COMPARE_HASH: int +CERT_COMPARE_NAME_STR_A: int +CERT_COMPARE_NAME_STR_W: int +CERT_COMPARE_KEY_SPEC: int +CERT_COMPARE_ENHKEY_USAGE: int +CERT_COMPARE_CTL_USAGE: int +CERT_COMPARE_SUBJECT_CERT: int +CERT_COMPARE_ISSUER_OF: int +CERT_COMPARE_EXISTING: int +CERT_COMPARE_SIGNATURE_HASH: int +CERT_COMPARE_KEY_IDENTIFIER: int +CERT_COMPARE_CERT_ID: int +CERT_COMPARE_CROSS_CERT_DIST_POINTS: int +CERT_COMPARE_PUBKEY_MD5_HASH: int +CERT_FIND_ANY: int +CERT_FIND_SHA1_HASH: int +CERT_FIND_MD5_HASH: int +CERT_FIND_SIGNATURE_HASH: int +CERT_FIND_KEY_IDENTIFIER: int +CERT_FIND_HASH: int +CERT_FIND_PROPERTY: int +CERT_FIND_PUBLIC_KEY: int +CERT_FIND_SUBJECT_NAME: int +CERT_FIND_SUBJECT_ATTR: int +CERT_FIND_ISSUER_NAME: int +CERT_FIND_ISSUER_ATTR: int +CERT_FIND_SUBJECT_STR_A: int +CERT_FIND_SUBJECT_STR_W: int +CERT_FIND_SUBJECT_STR: int +CERT_FIND_ISSUER_STR_A: int +CERT_FIND_ISSUER_STR_W: int +CERT_FIND_ISSUER_STR: int +CERT_FIND_KEY_SPEC: int +CERT_FIND_ENHKEY_USAGE: int +CERT_FIND_CTL_USAGE: int +CERT_FIND_SUBJECT_CERT: int +CERT_FIND_ISSUER_OF: int +CERT_FIND_EXISTING: int +CERT_FIND_CERT_ID: int +CERT_FIND_CROSS_CERT_DIST_POINTS: int +CERT_FIND_PUBKEY_MD5_HASH: int +CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG: int +CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG: int +CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG: int +CERT_FIND_NO_ENHKEY_USAGE_FLAG: int +CERT_FIND_OR_ENHKEY_USAGE_FLAG: int +CERT_FIND_VALID_ENHKEY_USAGE_FLAG: int +CERT_FIND_OPTIONAL_CTL_USAGE_FLAG: int +CERT_FIND_EXT_ONLY_CTL_USAGE_FLAG: int +CERT_FIND_PROP_ONLY_CTL_USAGE_FLAG: int +CERT_FIND_NO_CTL_USAGE_FLAG: int +CERT_FIND_OR_CTL_USAGE_FLAG: int +CERT_FIND_VALID_CTL_USAGE_FLAG: int +CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG: int +CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG: int +CTL_ENTRY_FROM_PROP_CHAIN_FLAG: int +CRL_FIND_ANY: int +CRL_FIND_ISSUED_BY: int +CRL_FIND_EXISTING: int +CRL_FIND_ISSUED_FOR: int +CRL_FIND_ISSUED_BY_AKI_FLAG: int +CRL_FIND_ISSUED_BY_SIGNATURE_FLAG: int +CRL_FIND_ISSUED_BY_DELTA_FLAG: int +CRL_FIND_ISSUED_BY_BASE_FLAG: int +CERT_STORE_ADD_NEW: int +CERT_STORE_ADD_USE_EXISTING: int +CERT_STORE_ADD_REPLACE_EXISTING: int +CERT_STORE_ADD_ALWAYS: int +CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES: int +CERT_STORE_ADD_NEWER: int +CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES: int +CERT_STORE_CERTIFICATE_CONTEXT: int +CERT_STORE_CRL_CONTEXT: int +CERT_STORE_CTL_CONTEXT: int +CERT_STORE_ALL_CONTEXT_FLAG: int +CERT_STORE_CERTIFICATE_CONTEXT_FLAG: int +CERT_STORE_CRL_CONTEXT_FLAG: int +CERT_STORE_CTL_CONTEXT_FLAG: int +CTL_ANY_SUBJECT_TYPE: int +CTL_CERT_SUBJECT_TYPE: int +CTL_FIND_ANY: int +CTL_FIND_SHA1_HASH: int +CTL_FIND_MD5_HASH: int +CTL_FIND_USAGE: int +CTL_FIND_SUBJECT: int +CTL_FIND_EXISTING: int +CTL_FIND_SAME_USAGE_FLAG: int +CERT_STORE_CTRL_RESYNC: int +CERT_STORE_CTRL_NOTIFY_CHANGE: int +CERT_STORE_CTRL_COMMIT: int +CERT_STORE_CTRL_AUTO_RESYNC: int +CERT_STORE_CTRL_CANCEL_NOTIFY: int +CERT_STORE_CTRL_INHIBIT_DUPLICATE_HANDLE_FLAG: int +CERT_STORE_CTRL_COMMIT_FORCE_FLAG: int +CERT_STORE_CTRL_COMMIT_CLEAR_FLAG: int +CERT_STORE_LOCALIZED_NAME_PROP_ID: int +CERT_CREATE_CONTEXT_NOCOPY_FLAG: int +CERT_CREATE_CONTEXT_SORTED_FLAG: int +CERT_CREATE_CONTEXT_NO_HCRYPTMSG_FLAG: int +CERT_CREATE_CONTEXT_NO_ENTRY_FLAG: int +CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG: int +CERT_PHYSICAL_STORE_OPEN_DISABLE_FLAG: int +CERT_PHYSICAL_STORE_REMOTE_OPEN_DISABLE_FLAG: int +CERT_PHYSICAL_STORE_INSERT_COMPUTER_NAME_ENABLE_FLAG: int +CERT_PHYSICAL_STORE_PREDEFINED_ENUM_FLAG: int +CERT_PHYSICAL_STORE_DEFAULT_NAME: str +CERT_PHYSICAL_STORE_GROUP_POLICY_NAME: str +CERT_PHYSICAL_STORE_LOCAL_MACHINE_NAME: str +CERT_PHYSICAL_STORE_DS_USER_CERTIFICATE_NAME: str +CERT_PHYSICAL_STORE_LOCAL_MACHINE_GROUP_POLICY_NAME: str +CERT_PHYSICAL_STORE_ENTERPRISE_NAME: str +CERT_PHYSICAL_STORE_AUTH_ROOT_NAME: str +CERT_PHYSICAL_STORE_SMART_CARD_NAME: str +CRYPT_OID_OPEN_SYSTEM_STORE_PROV_FUNC: str +CRYPT_OID_REGISTER_SYSTEM_STORE_FUNC: str +CRYPT_OID_UNREGISTER_SYSTEM_STORE_FUNC: str +CRYPT_OID_ENUM_SYSTEM_STORE_FUNC: str +CRYPT_OID_REGISTER_PHYSICAL_STORE_FUNC: str +CRYPT_OID_UNREGISTER_PHYSICAL_STORE_FUNC: str +CRYPT_OID_ENUM_PHYSICAL_STORE_FUNC: str +CRYPT_OID_SYSTEM_STORE_LOCATION_VALUE_NAME: str +CMSG_TRUSTED_SIGNER_FLAG: int +CMSG_SIGNER_ONLY_FLAG: int +CMSG_USE_SIGNER_INDEX_FLAG: int +CMSG_CMS_ENCAPSULATED_CTL_FLAG: int +CMSG_ENCODE_SORTED_CTL_FLAG: int +CMSG_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: int +CERT_VERIFY_INHIBIT_CTL_UPDATE_FLAG: int +CERT_VERIFY_TRUSTED_SIGNERS_FLAG: int +CERT_VERIFY_NO_TIME_CHECK_FLAG: int +CERT_VERIFY_ALLOW_MORE_USAGE_FLAG: int +CERT_VERIFY_UPDATED_CTL_FLAG: int +CERT_CONTEXT_REVOCATION_TYPE: int +CERT_VERIFY_REV_CHAIN_FLAG: int +CERT_VERIFY_CACHE_ONLY_BASED_REVOCATION: int +CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG: int +CERT_UNICODE_IS_RDN_ATTRS_FLAG: int +CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG: int +CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB: int +CRYPT_VERIFY_CERT_SIGN_SUBJECT_CERT: int +CRYPT_VERIFY_CERT_SIGN_SUBJECT_CRL: int +CRYPT_VERIFY_CERT_SIGN_ISSUER_PUBKEY: int +CRYPT_VERIFY_CERT_SIGN_ISSUER_CERT: int +CRYPT_VERIFY_CERT_SIGN_ISSUER_CHAIN: int +CRYPT_VERIFY_CERT_SIGN_ISSUER_NULL: int +CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG: int +CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG: int +CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID: int +CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID: int +CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_FUNC: str +CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_FUNC: str +CRYPT_ACQUIRE_CACHE_FLAG: int +CRYPT_ACQUIRE_USE_PROV_INFO_FLAG: int +CRYPT_ACQUIRE_COMPARE_KEY_FLAG: int +CRYPT_ACQUIRE_SILENT_FLAG: int +CRYPT_FIND_USER_KEYSET_FLAG: int +CRYPT_FIND_MACHINE_KEYSET_FLAG: int +CRYPT_FIND_SILENT_KEYSET_FLAG: int +CRYPT_OID_IMPORT_PRIVATE_KEY_INFO_FUNC: str +CRYPT_OID_EXPORT_PRIVATE_KEY_INFO_FUNC: str +CRYPT_DELETE_KEYSET: int +CERT_SIMPLE_NAME_STR: int +CERT_OID_NAME_STR: int +CERT_X500_NAME_STR: int +CERT_NAME_STR_SEMICOLON_FLAG: int +CERT_NAME_STR_NO_PLUS_FLAG: int +CERT_NAME_STR_NO_QUOTING_FLAG: int +CERT_NAME_STR_CRLF_FLAG: int +CERT_NAME_STR_COMMA_FLAG: int +CERT_NAME_STR_REVERSE_FLAG: int +CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG: int +CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG: int +CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG: int +CERT_NAME_EMAIL_TYPE: int +CERT_NAME_RDN_TYPE: int +CERT_NAME_ATTR_TYPE: int +CERT_NAME_SIMPLE_DISPLAY_TYPE: int +CERT_NAME_FRIENDLY_DISPLAY_TYPE: int +CERT_NAME_DNS_TYPE: int +CERT_NAME_URL_TYPE: int +CERT_NAME_UPN_TYPE: int +CERT_NAME_ISSUER_FLAG: int +CERT_NAME_DISABLE_IE4_UTF8_FLAG: int +CRYPT_MESSAGE_BARE_CONTENT_OUT_FLAG: int +CRYPT_MESSAGE_ENCAPSULATED_CONTENT_OUT_FLAG: int +CRYPT_MESSAGE_KEYID_SIGNER_FLAG: int +CRYPT_MESSAGE_SILENT_KEYSET_FLAG: int +CRYPT_MESSAGE_KEYID_RECIPIENT_FLAG: int +CERT_QUERY_OBJECT_FILE: int +CERT_QUERY_OBJECT_BLOB: int +CERT_QUERY_CONTENT_CERT: int +CERT_QUERY_CONTENT_CTL: int +CERT_QUERY_CONTENT_CRL: int +CERT_QUERY_CONTENT_SERIALIZED_STORE: int +CERT_QUERY_CONTENT_SERIALIZED_CERT: int +CERT_QUERY_CONTENT_SERIALIZED_CTL: int +CERT_QUERY_CONTENT_SERIALIZED_CRL: int +CERT_QUERY_CONTENT_PKCS7_SIGNED: int +CERT_QUERY_CONTENT_PKCS7_UNSIGNED: int +CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED: int +CERT_QUERY_CONTENT_PKCS10: int +CERT_QUERY_CONTENT_PFX: int +CERT_QUERY_CONTENT_CERT_PAIR: int +CERT_QUERY_CONTENT_FLAG_CERT: int +CERT_QUERY_CONTENT_FLAG_CTL: int +CERT_QUERY_CONTENT_FLAG_CRL: int +CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE: int +CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT: int +CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL: int +CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL: int +CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED: int +CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED: int +CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED: int +CERT_QUERY_CONTENT_FLAG_PKCS10: int +CERT_QUERY_CONTENT_FLAG_PFX: int +CERT_QUERY_CONTENT_FLAG_CERT_PAIR: int +CERT_QUERY_CONTENT_FLAG_ALL: int +CERT_QUERY_FORMAT_BINARY: int +CERT_QUERY_FORMAT_BASE64_ENCODED: int +CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED: int +CERT_QUERY_FORMAT_FLAG_BINARY: int +CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED: int +CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED: int +CERT_QUERY_FORMAT_FLAG_ALL: int +CREDENTIAL_OID_PASSWORD_CREDENTIALS_A: int +CREDENTIAL_OID_PASSWORD_CREDENTIALS_W: int +CREDENTIAL_OID_PASSWORD_CREDENTIALS: int +SCHEME_OID_RETRIEVE_ENCODED_OBJECT_FUNC: str +SCHEME_OID_RETRIEVE_ENCODED_OBJECTW_FUNC: str +CONTEXT_OID_CREATE_OBJECT_CONTEXT_FUNC: str +CONTEXT_OID_CERTIFICATE: int +CONTEXT_OID_CRL: int +CONTEXT_OID_CTL: int +CONTEXT_OID_PKCS7: int +CONTEXT_OID_CAPI2_ANY: int +CONTEXT_OID_OCSP_RESP: int +CRYPT_RETRIEVE_MULTIPLE_OBJECTS: int +CRYPT_CACHE_ONLY_RETRIEVAL: int +CRYPT_WIRE_ONLY_RETRIEVAL: int +CRYPT_DONT_CACHE_RESULT: int +CRYPT_ASYNC_RETRIEVAL: int +CRYPT_STICKY_CACHE_RETRIEVAL: int +CRYPT_LDAP_SCOPE_BASE_ONLY_RETRIEVAL: int +CRYPT_OFFLINE_CHECK_RETRIEVAL: int +CRYPT_LDAP_INSERT_ENTRY_ATTRIBUTE: int +CRYPT_LDAP_SIGN_RETRIEVAL: int +CRYPT_NO_AUTH_RETRIEVAL: int +CRYPT_LDAP_AREC_EXCLUSIVE_RETRIEVAL: int +CRYPT_AIA_RETRIEVAL: int +CRYPT_VERIFY_CONTEXT_SIGNATURE: int +CRYPT_VERIFY_DATA_HASH: int +CRYPT_KEEP_TIME_VALID: int +CRYPT_DONT_VERIFY_SIGNATURE: int +CRYPT_DONT_CHECK_TIME_VALIDITY: int +CRYPT_CHECK_FRESHNESS_TIME_VALIDITY: int +CRYPT_ACCUMULATIVE_TIMEOUT: int +CRYPT_PARAM_ASYNC_RETRIEVAL_COMPLETION: int +CRYPT_PARAM_CANCEL_ASYNC_RETRIEVAL: int +CRYPT_GET_URL_FROM_PROPERTY: int +CRYPT_GET_URL_FROM_EXTENSION: int +CRYPT_GET_URL_FROM_UNAUTH_ATTRIBUTE: int +CRYPT_GET_URL_FROM_AUTH_ATTRIBUTE: int +URL_OID_GET_OBJECT_URL_FUNC: str +TIME_VALID_OID_GET_OBJECT_FUNC: str +TIME_VALID_OID_FLUSH_OBJECT_FUNC: str +TIME_VALID_OID_GET_CTL: int +TIME_VALID_OID_GET_CRL: int +TIME_VALID_OID_GET_CRL_FROM_CERT: int +TIME_VALID_OID_GET_FRESHEST_CRL_FROM_CERT: int +TIME_VALID_OID_GET_FRESHEST_CRL_FROM_CRL: int +TIME_VALID_OID_FLUSH_CTL: int +TIME_VALID_OID_FLUSH_CRL: int +TIME_VALID_OID_FLUSH_CRL_FROM_CERT: int +TIME_VALID_OID_FLUSH_FRESHEST_CRL_FROM_CERT: int +TIME_VALID_OID_FLUSH_FRESHEST_CRL_FROM_CRL: int +CRYPTPROTECT_PROMPT_ON_UNPROTECT: int +CRYPTPROTECT_PROMPT_ON_PROTECT: int +CRYPTPROTECT_PROMPT_RESERVED: int +CRYPTPROTECT_PROMPT_STRONG: int +CRYPTPROTECT_PROMPT_REQUIRE_STRONG: int +CRYPTPROTECT_UI_FORBIDDEN: int +CRYPTPROTECT_LOCAL_MACHINE: int +CRYPTPROTECT_CRED_SYNC: int +CRYPTPROTECT_AUDIT: int +CRYPTPROTECT_NO_RECOVERY: int +CRYPTPROTECT_VERIFY_PROTECTION: int +CRYPTPROTECT_CRED_REGENERATE: int +CRYPTPROTECT_FIRST_RESERVED_FLAGVAL: int +CRYPTPROTECT_LAST_RESERVED_FLAGVAL: int +CRYPTPROTECTMEMORY_BLOCK_SIZE: int +CRYPTPROTECTMEMORY_SAME_PROCESS: int +CRYPTPROTECTMEMORY_CROSS_PROCESS: int +CRYPTPROTECTMEMORY_SAME_LOGON: int +CERT_CREATE_SELFSIGN_NO_SIGN: int +CERT_CREATE_SELFSIGN_NO_KEY_INFO: int +CRYPT_KEYID_MACHINE_FLAG: int +CRYPT_KEYID_ALLOC_FLAG: int +CRYPT_KEYID_DELETE_FLAG: int +CRYPT_KEYID_SET_NEW_FLAG: int +CERT_CHAIN_MAX_AIA_URL_COUNT_IN_CERT_DEFAULT: int +CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_COUNT_PER_CHAIN_DEFAULT: int +CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_BYTE_COUNT_DEFAULT: int +CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_CERT_COUNT_DEFAULT: int +CERT_CHAIN_CACHE_END_CERT: int +CERT_CHAIN_THREAD_STORE_SYNC: int +CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL: int +CERT_CHAIN_USE_LOCAL_MACHINE_STORE: int +CERT_CHAIN_ENABLE_CACHE_AUTO_UPDATE: int +CERT_CHAIN_ENABLE_SHARE_STORE: int +CERT_TRUST_NO_ERROR: int +CERT_TRUST_IS_NOT_TIME_VALID: int +CERT_TRUST_IS_NOT_TIME_NESTED: int +CERT_TRUST_IS_REVOKED: int +CERT_TRUST_IS_NOT_SIGNATURE_VALID: int +CERT_TRUST_IS_NOT_VALID_FOR_USAGE: int +CERT_TRUST_IS_UNTRUSTED_ROOT: int +CERT_TRUST_REVOCATION_STATUS_UNKNOWN: int +CERT_TRUST_IS_CYCLIC: int +CERT_TRUST_INVALID_EXTENSION: int +CERT_TRUST_INVALID_POLICY_CONSTRAINTS: int +CERT_TRUST_INVALID_BASIC_CONSTRAINTS: int +CERT_TRUST_INVALID_NAME_CONSTRAINTS: int +CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT: int +CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT: int +CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT: int +CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT: int +CERT_TRUST_IS_OFFLINE_REVOCATION: int +CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY: int +CERT_TRUST_IS_PARTIAL_CHAIN: int +CERT_TRUST_CTL_IS_NOT_TIME_VALID: int +CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID: int +CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE: int +CERT_TRUST_HAS_EXACT_MATCH_ISSUER: int +CERT_TRUST_HAS_KEY_MATCH_ISSUER: int +CERT_TRUST_HAS_NAME_MATCH_ISSUER: int +CERT_TRUST_IS_SELF_SIGNED: int +CERT_TRUST_HAS_PREFERRED_ISSUER: int +CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY: int +CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS: int +CERT_TRUST_IS_COMPLEX_CHAIN: int +USAGE_MATCH_TYPE_AND: int +USAGE_MATCH_TYPE_OR: int +CERT_CHAIN_REVOCATION_CHECK_END_CERT: int +CERT_CHAIN_REVOCATION_CHECK_CHAIN: int +CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT: int +CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY: int +CERT_CHAIN_REVOCATION_ACCUMULATIVE_TIMEOUT: int +CERT_CHAIN_DISABLE_PASS1_QUALITY_FILTERING: int +CERT_CHAIN_RETURN_LOWER_QUALITY_CONTEXTS: int +CERT_CHAIN_DISABLE_AUTH_ROOT_AUTO_UPDATE: int +CERT_CHAIN_TIMESTAMP_TIME: int +REVOCATION_OID_CRL_REVOCATION: int +CERT_CHAIN_FIND_BY_ISSUER: int +CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG: int +CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG: int +CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG: int +CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG: int +CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG: int +CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG: int +CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG: int +CERT_CHAIN_POLICY_IGNORE_CTL_NOT_TIME_VALID_FLAG: int +CERT_CHAIN_POLICY_IGNORE_NOT_TIME_NESTED_FLAG: int +CERT_CHAIN_POLICY_IGNORE_INVALID_BASIC_CONSTRAINTS_FLAG: int +CERT_CHAIN_POLICY_IGNORE_ALL_NOT_TIME_VALID_FLAGS: int +CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG: int +CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG: int +CERT_CHAIN_POLICY_IGNORE_INVALID_NAME_FLAG: int +CERT_CHAIN_POLICY_IGNORE_INVALID_POLICY_FLAG: int +CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG: int +CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG: int +CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG: int +CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG: int +CERT_CHAIN_POLICY_IGNORE_ALL_REV_UNKNOWN_FLAGS: int +CERT_CHAIN_POLICY_ALLOW_TESTROOT_FLAG: int +CERT_CHAIN_POLICY_TRUST_TESTROOT_FLAG: int +CRYPT_OID_VERIFY_CERTIFICATE_CHAIN_POLICY_FUNC: str +AUTHTYPE_CLIENT: int +AUTHTYPE_SERVER: int +BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_CA_FLAG: int +BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_END_ENTITY_FLAG: int +MICROSOFT_ROOT_CERT_CHAIN_POLICY_ENABLE_TEST_ROOT_FLAG: int +CRYPT_STRING_BASE64HEADER: int +CRYPT_STRING_BASE64: int +CRYPT_STRING_BINARY: int +CRYPT_STRING_BASE64REQUESTHEADER: int +CRYPT_STRING_HEX: int +CRYPT_STRING_HEXASCII: int +CRYPT_STRING_BASE64_ANY: int +CRYPT_STRING_ANY: int +CRYPT_STRING_HEX_ANY: int +CRYPT_STRING_BASE64X509CRLHEADER: int +CRYPT_STRING_HEXADDR: int +CRYPT_STRING_HEXASCIIADDR: int +CRYPT_STRING_NOCR: int +CRYPT_USER_KEYSET: int +PKCS12_IMPORT_RESERVED_MASK: int +REPORT_NO_PRIVATE_KEY: int +REPORT_NOT_ABLE_TO_EXPORT_PRIVATE_KEY: int +EXPORT_PRIVATE_KEYS: int +PKCS12_EXPORT_RESERVED_MASK: int +CERT_STORE_PROV_MSG: int +CERT_STORE_PROV_MEMORY: int +CERT_STORE_PROV_FILE: int +CERT_STORE_PROV_REG: int +CERT_STORE_PROV_PKCS7: int +CERT_STORE_PROV_SERIALIZED: int +CERT_STORE_PROV_FILENAME: int +CERT_STORE_PROV_SYSTEM: int +CERT_STORE_PROV_COLLECTION: int +CERT_STORE_PROV_SYSTEM_REGISTRY: int +CERT_STORE_PROV_PHYSICAL: int +CERT_STORE_PROV_SMART_CARD: int +CERT_STORE_PROV_LDAP: int +URL_OID_CERTIFICATE_ISSUER: int +URL_OID_CERTIFICATE_CRL_DIST_POINT: int +URL_OID_CTL_ISSUER: int +URL_OID_CTL_NEXT_UPDATE: int +URL_OID_CRL_ISSUER: int +URL_OID_CERTIFICATE_FRESHEST_CRL: int +URL_OID_CRL_FRESHEST_CRL: int +URL_OID_CROSS_CERT_DIST_POINT: int +URL_OID_CERTIFICATE_OCSP: int +URL_OID_CERTIFICATE_OCSP_AND_CRL_DIST_POINT: int +URL_OID_CERTIFICATE_CRL_DIST_POINT_AND_OCSP: int +URL_OID_CROSS_CERT_SUBJECT_INFO_ACCESS: int +URL_OID_CERTIFICATE_ONLY_OCSP: int +CMSG_CTRL_MAIL_LIST_DECRYPT: int +CMSG_MAIL_LIST_ENCRYPT_FREE_PARA_FLAG: int +CMSG_MAIL_LIST_HANDLE_KEY_CHOICE: int +CMSG_MAIL_LIST_RECIPIENT: int +CMSG_MAIL_LIST_VERSION: int +CMSG_OID_EXPORT_MAIL_LIST_FUNC: str +CMSG_OID_IMPORT_MAIL_LIST_FUNC: str +CTL_FIND_NO_LIST_ID_CBDATA: int +szOID_AUTHORITY_REVOCATION_LIST: str +szOID_CERTIFICATE_REVOCATION_LIST: str +szOID_ROOT_LIST_SIGNER: str diff --git a/stubs/pywin32/win32/lib/win32inetcon.pyi b/stubs/pywin32/win32/lib/win32inetcon.pyi index 85c2963d16a9..10e562a2c50d 100644 --- a/stubs/pywin32/win32/lib/win32inetcon.pyi +++ b/stubs/pywin32/win32/lib/win32inetcon.pyi @@ -1,991 +1,989 @@ -from typing import Final - -INTERNET_INVALID_PORT_NUMBER: Final = 0 -INTERNET_DEFAULT_PORT: Final = 0 -INTERNET_DEFAULT_FTP_PORT: Final = 21 -INTERNET_DEFAULT_GOPHER_PORT: Final = 70 -INTERNET_DEFAULT_HTTP_PORT: Final = 80 -INTERNET_DEFAULT_HTTPS_PORT: Final = 443 -INTERNET_DEFAULT_SOCKS_PORT: Final = 1080 -INTERNET_MAX_HOST_NAME_LENGTH: Final = 256 -INTERNET_MAX_USER_NAME_LENGTH: Final = 128 -INTERNET_MAX_PASSWORD_LENGTH: Final = 128 -INTERNET_MAX_PORT_NUMBER_LENGTH: Final = 5 -INTERNET_MAX_PORT_NUMBER_VALUE: Final = 65535 -INTERNET_MAX_PATH_LENGTH: Final = 2048 -INTERNET_MAX_SCHEME_LENGTH: Final = 32 -INTERNET_KEEP_ALIVE_ENABLED: Final = 1 -INTERNET_KEEP_ALIVE_DISABLED: Final = 0 -INTERNET_REQFLAG_FROM_CACHE: Final = 0x00000001 -INTERNET_REQFLAG_ASYNC: Final = 0x00000002 -INTERNET_REQFLAG_VIA_PROXY: Final = 0x00000004 -INTERNET_REQFLAG_NO_HEADERS: Final = 0x00000008 -INTERNET_REQFLAG_PASSIVE: Final = 0x00000010 -INTERNET_REQFLAG_CACHE_WRITE_DISABLED: Final = 0x00000040 -INTERNET_REQFLAG_NET_TIMEOUT: Final = 0x00000080 -INTERNET_FLAG_RELOAD: Final = -2147483648 -INTERNET_FLAG_RAW_DATA: Final = 0x40000000 -INTERNET_FLAG_EXISTING_CONNECT: Final = 0x20000000 -INTERNET_FLAG_ASYNC: Final = 0x10000000 -INTERNET_FLAG_PASSIVE: Final = 0x08000000 -INTERNET_FLAG_NO_CACHE_WRITE: Final = 0x04000000 -INTERNET_FLAG_DONT_CACHE: Final = INTERNET_FLAG_NO_CACHE_WRITE -INTERNET_FLAG_MAKE_PERSISTENT: Final = 0x02000000 -INTERNET_FLAG_FROM_CACHE: Final = 0x01000000 -INTERNET_FLAG_OFFLINE: Final = INTERNET_FLAG_FROM_CACHE -INTERNET_FLAG_SECURE: Final = 0x00800000 -INTERNET_FLAG_KEEP_CONNECTION: Final = 0x00400000 -INTERNET_FLAG_NO_AUTO_REDIRECT: Final = 0x00200000 -INTERNET_FLAG_READ_PREFETCH: Final = 0x00100000 -INTERNET_FLAG_NO_COOKIES: Final = 0x00080000 -INTERNET_FLAG_NO_AUTH: Final = 0x00040000 -INTERNET_FLAG_RESTRICTED_ZONE: Final = 0x00020000 -INTERNET_FLAG_CACHE_IF_NET_FAIL: Final = 0x00010000 -INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP: Final = 0x00008000 -INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS: Final = 0x00004000 -INTERNET_FLAG_IGNORE_CERT_DATE_INVALID: Final = 0x00002000 -INTERNET_FLAG_IGNORE_CERT_CN_INVALID: Final = 0x00001000 -INTERNET_FLAG_RESYNCHRONIZE: Final = 0x00000800 -INTERNET_FLAG_HYPERLINK: Final = 0x00000400 -INTERNET_FLAG_NO_UI: Final = 0x00000200 -INTERNET_FLAG_PRAGMA_NOCACHE: Final = 0x00000100 -INTERNET_FLAG_CACHE_ASYNC: Final = 0x00000080 -INTERNET_FLAG_FORMS_SUBMIT: Final = 0x00000040 -INTERNET_FLAG_FWD_BACK: Final = 0x00000020 -INTERNET_FLAG_NEED_FILE: Final = 0x00000010 -INTERNET_FLAG_MUST_CACHE_REQUEST: Final = INTERNET_FLAG_NEED_FILE -SECURITY_INTERNET_MASK: Final = 0x0000F000 -INTERNET_ERROR_MASK_INSERT_CDROM: Final = 0x1 -INTERNET_ERROR_MASK_COMBINED_SEC_CERT: Final = 0x2 -INTERNET_ERROR_MASK_NEED_MSN_SSPI_PKG: Final = 0x4 -INTERNET_ERROR_MASK_LOGIN_FAILURE_DISPLAY_ENTITY_BODY: Final = 0x8 -WININET_API_FLAG_ASYNC: Final = 0x00000001 -WININET_API_FLAG_SYNC: Final = 0x00000004 -WININET_API_FLAG_USE_CONTEXT: Final = 0x00000008 -INTERNET_NO_CALLBACK: Final = 0 -IDSI_FLAG_KEEP_ALIVE: Final = 0x00000001 -IDSI_FLAG_SECURE: Final = 0x00000002 -IDSI_FLAG_PROXY: Final = 0x00000004 -IDSI_FLAG_TUNNEL: Final = 0x00000008 -INTERNET_PER_CONN_FLAGS: Final = 1 -INTERNET_PER_CONN_PROXY_SERVER: Final = 2 -INTERNET_PER_CONN_PROXY_BYPASS: Final = 3 -INTERNET_PER_CONN_AUTOCONFIG_URL: Final = 4 -INTERNET_PER_CONN_AUTODISCOVERY_FLAGS: Final = 5 -INTERNET_PER_CONN_AUTOCONFIG_SECONDARY_URL: Final = 6 -INTERNET_PER_CONN_AUTOCONFIG_RELOAD_DELAY_MINS: Final = 7 -INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_TIME: Final = 8 -INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_URL: Final = 9 -PROXY_TYPE_DIRECT: Final = 0x00000001 -PROXY_TYPE_PROXY: Final = 0x00000002 -PROXY_TYPE_AUTO_PROXY_URL: Final = 0x00000004 -PROXY_TYPE_AUTO_DETECT: Final = 0x00000008 -AUTO_PROXY_FLAG_USER_SET: Final = 0x00000001 -AUTO_PROXY_FLAG_ALWAYS_DETECT: Final = 0x00000002 -AUTO_PROXY_FLAG_DETECTION_RUN: Final = 0x00000004 -AUTO_PROXY_FLAG_MIGRATED: Final = 0x00000008 -AUTO_PROXY_FLAG_DONT_CACHE_PROXY_RESULT: Final = 0x00000010 -AUTO_PROXY_FLAG_CACHE_INIT_RUN: Final = 0x00000020 -AUTO_PROXY_FLAG_DETECTION_SUSPECT: Final = 0x00000040 -ISO_FORCE_DISCONNECTED: Final = 0x00000001 -INTERNET_RFC1123_FORMAT: Final = 0 -INTERNET_RFC1123_BUFSIZE: Final = 30 -ICU_ESCAPE: Final = -2147483648 -ICU_ESCAPE_AUTHORITY: Final = 0x00002000 -ICU_REJECT_USERPWD: Final = 0x00004000 -ICU_USERNAME: Final = 0x40000000 -ICU_NO_ENCODE: Final = 0x20000000 -ICU_DECODE: Final = 0x10000000 -ICU_NO_META: Final = 0x08000000 -ICU_ENCODE_SPACES_ONLY: Final = 0x04000000 -ICU_BROWSER_MODE: Final = 0x02000000 -ICU_ENCODE_PERCENT: Final = 0x00001000 -INTERNET_OPEN_TYPE_PRECONFIG: Final = 0 -INTERNET_OPEN_TYPE_DIRECT: Final = 1 -INTERNET_OPEN_TYPE_PROXY: Final = 3 -INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY: Final = 4 -PRE_CONFIG_INTERNET_ACCESS: Final = INTERNET_OPEN_TYPE_PRECONFIG -LOCAL_INTERNET_ACCESS: Final = INTERNET_OPEN_TYPE_DIRECT -CERN_PROXY_INTERNET_ACCESS: Final = INTERNET_OPEN_TYPE_PROXY -INTERNET_SERVICE_FTP: Final = 1 -INTERNET_SERVICE_GOPHER: Final = 2 -INTERNET_SERVICE_HTTP: Final = 3 -IRF_ASYNC: Final = WININET_API_FLAG_ASYNC -IRF_SYNC: Final = WININET_API_FLAG_SYNC -IRF_USE_CONTEXT: Final = WININET_API_FLAG_USE_CONTEXT -IRF_NO_WAIT: Final = 0x00000008 -ISO_GLOBAL: Final = 0x00000001 -ISO_REGISTRY: Final = 0x00000002 -ISO_VALID_FLAGS: Final = 0x00000003 -INTERNET_OPTION_CALLBACK: Final = 1 -INTERNET_OPTION_CONNECT_TIMEOUT: Final = 2 -INTERNET_OPTION_CONNECT_RETRIES: Final = 3 -INTERNET_OPTION_CONNECT_BACKOFF: Final = 4 -INTERNET_OPTION_SEND_TIMEOUT: Final = 5 -INTERNET_OPTION_CONTROL_SEND_TIMEOUT: Final = INTERNET_OPTION_SEND_TIMEOUT -INTERNET_OPTION_RECEIVE_TIMEOUT: Final = 6 -INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT: Final = INTERNET_OPTION_RECEIVE_TIMEOUT -INTERNET_OPTION_DATA_SEND_TIMEOUT: Final = 7 -INTERNET_OPTION_DATA_RECEIVE_TIMEOUT: Final = 8 -INTERNET_OPTION_HANDLE_TYPE: Final = 9 -INTERNET_OPTION_LISTEN_TIMEOUT: Final = 11 -INTERNET_OPTION_READ_BUFFER_SIZE: Final = 12 -INTERNET_OPTION_WRITE_BUFFER_SIZE: Final = 13 -INTERNET_OPTION_ASYNC_ID: Final = 15 -INTERNET_OPTION_ASYNC_PRIORITY: Final = 16 -INTERNET_OPTION_PARENT_HANDLE: Final = 21 -INTERNET_OPTION_KEEP_CONNECTION: Final = 22 -INTERNET_OPTION_REQUEST_FLAGS: Final = 23 -INTERNET_OPTION_EXTENDED_ERROR: Final = 24 -INTERNET_OPTION_OFFLINE_MODE: Final = 26 -INTERNET_OPTION_CACHE_STREAM_HANDLE: Final = 27 -INTERNET_OPTION_USERNAME: Final = 28 -INTERNET_OPTION_PASSWORD: Final = 29 -INTERNET_OPTION_ASYNC: Final = 30 -INTERNET_OPTION_SECURITY_FLAGS: Final = 31 -INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT: Final = 32 -INTERNET_OPTION_DATAFILE_NAME: Final = 33 -INTERNET_OPTION_URL: Final = 34 -INTERNET_OPTION_SECURITY_CERTIFICATE: Final = 35 -INTERNET_OPTION_SECURITY_KEY_BITNESS: Final = 36 -INTERNET_OPTION_REFRESH: Final = 37 -INTERNET_OPTION_PROXY: Final = 38 -INTERNET_OPTION_SETTINGS_CHANGED: Final = 39 -INTERNET_OPTION_VERSION: Final = 40 -INTERNET_OPTION_USER_AGENT: Final = 41 -INTERNET_OPTION_END_BROWSER_SESSION: Final = 42 -INTERNET_OPTION_PROXY_USERNAME: Final = 43 -INTERNET_OPTION_PROXY_PASSWORD: Final = 44 -INTERNET_OPTION_CONTEXT_VALUE: Final = 45 -INTERNET_OPTION_CONNECT_LIMIT: Final = 46 -INTERNET_OPTION_SECURITY_SELECT_CLIENT_CERT: Final = 47 -INTERNET_OPTION_POLICY: Final = 48 -INTERNET_OPTION_DISCONNECTED_TIMEOUT: Final = 49 -INTERNET_OPTION_CONNECTED_STATE: Final = 50 -INTERNET_OPTION_IDLE_STATE: Final = 51 -INTERNET_OPTION_OFFLINE_SEMANTICS: Final = 52 -INTERNET_OPTION_SECONDARY_CACHE_KEY: Final = 53 -INTERNET_OPTION_CALLBACK_FILTER: Final = 54 -INTERNET_OPTION_CONNECT_TIME: Final = 55 -INTERNET_OPTION_SEND_THROUGHPUT: Final = 56 -INTERNET_OPTION_RECEIVE_THROUGHPUT: Final = 57 -INTERNET_OPTION_REQUEST_PRIORITY: Final = 58 -INTERNET_OPTION_HTTP_VERSION: Final = 59 -INTERNET_OPTION_RESET_URLCACHE_SESSION: Final = 60 -INTERNET_OPTION_ERROR_MASK: Final = 62 -INTERNET_OPTION_FROM_CACHE_TIMEOUT: Final = 63 -INTERNET_OPTION_BYPASS_EDITED_ENTRY: Final = 64 -INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO: Final = 67 -INTERNET_OPTION_CODEPAGE: Final = 68 -INTERNET_OPTION_CACHE_TIMESTAMPS: Final = 69 -INTERNET_OPTION_DISABLE_AUTODIAL: Final = 70 -INTERNET_OPTION_MAX_CONNS_PER_SERVER: Final = 73 -INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER: Final = 74 -INTERNET_OPTION_PER_CONNECTION_OPTION: Final = 75 -INTERNET_OPTION_DIGEST_AUTH_UNLOAD: Final = 76 -INTERNET_OPTION_IGNORE_OFFLINE: Final = 77 -INTERNET_OPTION_IDENTITY: Final = 78 -INTERNET_OPTION_REMOVE_IDENTITY: Final = 79 -INTERNET_OPTION_ALTER_IDENTITY: Final = 80 -INTERNET_OPTION_SUPPRESS_BEHAVIOR: Final = 81 -INTERNET_OPTION_AUTODIAL_MODE: Final = 82 -INTERNET_OPTION_AUTODIAL_CONNECTION: Final = 83 -INTERNET_OPTION_CLIENT_CERT_CONTEXT: Final = 84 -INTERNET_OPTION_AUTH_FLAGS: Final = 85 -INTERNET_OPTION_COOKIES_3RD_PARTY: Final = 86 -INTERNET_OPTION_DISABLE_PASSPORT_AUTH: Final = 87 -INTERNET_OPTION_SEND_UTF8_SERVERNAME_TO_PROXY: Final = 88 -INTERNET_OPTION_EXEMPT_CONNECTION_LIMIT: Final = 89 -INTERNET_OPTION_ENABLE_PASSPORT_AUTH: Final = 90 -INTERNET_OPTION_HIBERNATE_INACTIVE_WORKER_THREADS: Final = 91 -INTERNET_OPTION_ACTIVATE_WORKER_THREADS: Final = 92 -INTERNET_OPTION_RESTORE_WORKER_THREAD_DEFAULTS: Final = 93 -INTERNET_OPTION_SOCKET_SEND_BUFFER_LENGTH: Final = 94 -INTERNET_OPTION_PROXY_SETTINGS_CHANGED: Final = 95 -INTERNET_FIRST_OPTION: Final = INTERNET_OPTION_CALLBACK -INTERNET_LAST_OPTION: Final = INTERNET_OPTION_PROXY_SETTINGS_CHANGED -INTERNET_PRIORITY_FOREGROUND: Final = 1000 -INTERNET_HANDLE_TYPE_INTERNET: Final = 1 -INTERNET_HANDLE_TYPE_CONNECT_FTP: Final = 2 -INTERNET_HANDLE_TYPE_CONNECT_GOPHER: Final = 3 -INTERNET_HANDLE_TYPE_CONNECT_HTTP: Final = 4 -INTERNET_HANDLE_TYPE_FTP_FIND: Final = 5 -INTERNET_HANDLE_TYPE_FTP_FIND_HTML: Final = 6 -INTERNET_HANDLE_TYPE_FTP_FILE: Final = 7 -INTERNET_HANDLE_TYPE_FTP_FILE_HTML: Final = 8 -INTERNET_HANDLE_TYPE_GOPHER_FIND: Final = 9 -INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML: Final = 10 -INTERNET_HANDLE_TYPE_GOPHER_FILE: Final = 11 -INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML: Final = 12 -INTERNET_HANDLE_TYPE_HTTP_REQUEST: Final = 13 -INTERNET_HANDLE_TYPE_FILE_REQUEST: Final = 14 -AUTH_FLAG_DISABLE_NEGOTIATE: Final = 0x00000001 -AUTH_FLAG_ENABLE_NEGOTIATE: Final = 0x00000002 -SECURITY_FLAG_SECURE: Final = 0x00000001 -SECURITY_FLAG_STRENGTH_WEAK: Final = 0x10000000 -SECURITY_FLAG_STRENGTH_MEDIUM: Final = 0x40000000 -SECURITY_FLAG_STRENGTH_STRONG: Final = 0x20000000 -SECURITY_FLAG_UNKNOWNBIT: Final = -2147483648 -SECURITY_FLAG_FORTEZZA: Final = 0x08000000 -SECURITY_FLAG_NORMALBITNESS: Final = SECURITY_FLAG_STRENGTH_WEAK -SECURITY_FLAG_SSL: Final = 0x00000002 -SECURITY_FLAG_SSL3: Final = 0x00000004 -SECURITY_FLAG_PCT: Final = 0x00000008 -SECURITY_FLAG_PCT4: Final = 0x00000010 -SECURITY_FLAG_IETFSSL4: Final = 0x00000020 -SECURITY_FLAG_40BIT: Final = SECURITY_FLAG_STRENGTH_WEAK -SECURITY_FLAG_128BIT: Final = SECURITY_FLAG_STRENGTH_STRONG -SECURITY_FLAG_56BIT: Final = SECURITY_FLAG_STRENGTH_MEDIUM -SECURITY_FLAG_IGNORE_REVOCATION: Final = 0x00000080 -SECURITY_FLAG_IGNORE_UNKNOWN_CA: Final = 0x00000100 -SECURITY_FLAG_IGNORE_WRONG_USAGE: Final = 0x00000200 -SECURITY_FLAG_IGNORE_CERT_CN_INVALID: Final = INTERNET_FLAG_IGNORE_CERT_CN_INVALID -SECURITY_FLAG_IGNORE_CERT_DATE_INVALID: Final = INTERNET_FLAG_IGNORE_CERT_DATE_INVALID -SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE: Final = 0x00000200 -SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS: Final = INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS -SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP: Final = INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP -SECURITY_SET_MASK: Final = 0x00003380 -AUTODIAL_MODE_NEVER: Final = 1 -AUTODIAL_MODE_ALWAYS: Final = 2 -AUTODIAL_MODE_NO_NETWORK_PRESENT: Final = 4 -INTERNET_STATUS_RESOLVING_NAME: Final = 10 -INTERNET_STATUS_NAME_RESOLVED: Final = 11 -INTERNET_STATUS_CONNECTING_TO_SERVER: Final = 20 -INTERNET_STATUS_CONNECTED_TO_SERVER: Final = 21 -INTERNET_STATUS_SENDING_REQUEST: Final = 30 -INTERNET_STATUS_REQUEST_SENT: Final = 31 -INTERNET_STATUS_RECEIVING_RESPONSE: Final = 40 -INTERNET_STATUS_RESPONSE_RECEIVED: Final = 41 -INTERNET_STATUS_CTL_RESPONSE_RECEIVED: Final = 42 -INTERNET_STATUS_PREFETCH: Final = 43 -INTERNET_STATUS_CLOSING_CONNECTION: Final = 50 -INTERNET_STATUS_CONNECTION_CLOSED: Final = 51 -INTERNET_STATUS_HANDLE_CREATED: Final = 60 -INTERNET_STATUS_HANDLE_CLOSING: Final = 70 -INTERNET_STATUS_DETECTING_PROXY: Final = 80 -INTERNET_STATUS_REQUEST_COMPLETE: Final = 100 -INTERNET_STATUS_REDIRECT: Final = 110 -INTERNET_STATUS_INTERMEDIATE_RESPONSE: Final = 120 -INTERNET_STATUS_USER_INPUT_REQUIRED: Final = 140 -INTERNET_STATUS_STATE_CHANGE: Final = 200 -INTERNET_STATUS_COOKIE_SENT: Final = 320 -INTERNET_STATUS_COOKIE_RECEIVED: Final = 321 -INTERNET_STATUS_PRIVACY_IMPACTED: Final = 324 -INTERNET_STATUS_P3P_HEADER: Final = 325 -INTERNET_STATUS_P3P_POLICYREF: Final = 326 -INTERNET_STATUS_COOKIE_HISTORY: Final = 327 -INTERNET_STATE_CONNECTED: Final = 0x00000001 -INTERNET_STATE_DISCONNECTED: Final = 0x00000002 -INTERNET_STATE_DISCONNECTED_BY_USER: Final = 0x00000010 -INTERNET_STATE_IDLE: Final = 0x00000100 -INTERNET_STATE_BUSY: Final = 0x00000200 -FTP_TRANSFER_TYPE_UNKNOWN: Final = 0x00000000 -FTP_TRANSFER_TYPE_ASCII: Final = 0x00000001 -FTP_TRANSFER_TYPE_BINARY: Final = 0x00000002 -FTP_TRANSFER_TYPE_MASK: Final = 0x00000003 -MAX_GOPHER_DISPLAY_TEXT: Final = 128 -MAX_GOPHER_SELECTOR_TEXT: Final = 256 -MAX_GOPHER_HOST_NAME: Final = INTERNET_MAX_HOST_NAME_LENGTH -MAX_GOPHER_LOCATOR_LENGTH: Final = 653 -GOPHER_TYPE_TEXT_FILE: Final = 0x00000001 -GOPHER_TYPE_DIRECTORY: Final = 0x00000002 -GOPHER_TYPE_CSO: Final = 0x00000004 -GOPHER_TYPE_ERROR: Final = 0x00000008 -GOPHER_TYPE_MAC_BINHEX: Final = 0x00000010 -GOPHER_TYPE_DOS_ARCHIVE: Final = 0x00000020 -GOPHER_TYPE_UNIX_UUENCODED: Final = 0x00000040 -GOPHER_TYPE_INDEX_SERVER: Final = 0x00000080 -GOPHER_TYPE_TELNET: Final = 0x00000100 -GOPHER_TYPE_BINARY: Final = 0x00000200 -GOPHER_TYPE_REDUNDANT: Final = 0x00000400 -GOPHER_TYPE_TN3270: Final = 0x00000800 -GOPHER_TYPE_GIF: Final = 0x00001000 -GOPHER_TYPE_IMAGE: Final = 0x00002000 -GOPHER_TYPE_BITMAP: Final = 0x00004000 -GOPHER_TYPE_MOVIE: Final = 0x00008000 -GOPHER_TYPE_SOUND: Final = 0x00010000 -GOPHER_TYPE_HTML: Final = 0x00020000 -GOPHER_TYPE_PDF: Final = 0x00040000 -GOPHER_TYPE_CALENDAR: Final = 0x00080000 -GOPHER_TYPE_INLINE: Final = 0x00100000 -GOPHER_TYPE_UNKNOWN: Final = 0x20000000 -GOPHER_TYPE_ASK: Final = 0x40000000 -GOPHER_TYPE_GOPHER_PLUS: Final = -2147483648 -GOPHER_TYPE_FILE_MASK: Final = 0x001FF271 -MAX_GOPHER_CATEGORY_NAME: Final = 128 -MAX_GOPHER_ATTRIBUTE_NAME: Final = 128 -MIN_GOPHER_ATTRIBUTE_LENGTH: Final = 256 -GOPHER_ATTRIBUTE_ID_BASE: Final = -0x54333400 -GOPHER_CATEGORY_ID_ALL: Final = -0x543333FF -GOPHER_CATEGORY_ID_INFO: Final = -0x543333FE -GOPHER_CATEGORY_ID_ADMIN: Final = -0x543333FD -GOPHER_CATEGORY_ID_VIEWS: Final = -0x543333FC -GOPHER_CATEGORY_ID_ABSTRACT: Final = -0x543333FB -GOPHER_CATEGORY_ID_VERONICA: Final = -0x543333FA -GOPHER_CATEGORY_ID_ASK: Final = -0x543333F9 -GOPHER_CATEGORY_ID_UNKNOWN: Final = -0x543333F8 -GOPHER_ATTRIBUTE_ID_ALL: Final = -0x543333F7 -GOPHER_ATTRIBUTE_ID_ADMIN: Final = -0x543333F6 -GOPHER_ATTRIBUTE_ID_MOD_DATE: Final = -0x543333F5 -GOPHER_ATTRIBUTE_ID_TTL: Final = -0x543333F4 -GOPHER_ATTRIBUTE_ID_SCORE: Final = -0x543333F3 -GOPHER_ATTRIBUTE_ID_RANGE: Final = -0x543333F2 -GOPHER_ATTRIBUTE_ID_SITE: Final = -0x543333F1 -GOPHER_ATTRIBUTE_ID_ORG: Final = -0x543333F0 -GOPHER_ATTRIBUTE_ID_LOCATION: Final = -0x543333EF -GOPHER_ATTRIBUTE_ID_GEOG: Final = -0x543333EE -GOPHER_ATTRIBUTE_ID_TIMEZONE: Final = -0x543333ED -GOPHER_ATTRIBUTE_ID_PROVIDER: Final = -0x543333EC -GOPHER_ATTRIBUTE_ID_VERSION: Final = -0x543333EB -GOPHER_ATTRIBUTE_ID_ABSTRACT: Final = -0x543333EA -GOPHER_ATTRIBUTE_ID_VIEW: Final = -0x543333E9 -GOPHER_ATTRIBUTE_ID_TREEWALK: Final = -0x543333E8 -GOPHER_ATTRIBUTE_ID_UNKNOWN: Final = -0x543333E7 -HTTP_MAJOR_VERSION: Final = 1 -HTTP_MINOR_VERSION: Final = 0 -HTTP_VERSIONA: Final = "HTTP/1.0" -HTTP_VERSION: Final = HTTP_VERSIONA -HTTP_QUERY_MIME_VERSION: Final = 0 -HTTP_QUERY_CONTENT_TYPE: Final = 1 -HTTP_QUERY_CONTENT_TRANSFER_ENCODING: Final = 2 -HTTP_QUERY_CONTENT_ID: Final = 3 -HTTP_QUERY_CONTENT_DESCRIPTION: Final = 4 -HTTP_QUERY_CONTENT_LENGTH: Final = 5 -HTTP_QUERY_CONTENT_LANGUAGE: Final = 6 -HTTP_QUERY_ALLOW: Final = 7 -HTTP_QUERY_PUBLIC: Final = 8 -HTTP_QUERY_DATE: Final = 9 -HTTP_QUERY_EXPIRES: Final = 10 -HTTP_QUERY_LAST_MODIFIED: Final = 11 -HTTP_QUERY_MESSAGE_ID: Final = 12 -HTTP_QUERY_URI: Final = 13 -HTTP_QUERY_DERIVED_FROM: Final = 14 -HTTP_QUERY_COST: Final = 15 -HTTP_QUERY_LINK: Final = 16 -HTTP_QUERY_PRAGMA: Final = 17 -HTTP_QUERY_VERSION: Final = 18 -HTTP_QUERY_STATUS_CODE: Final = 19 -HTTP_QUERY_STATUS_TEXT: Final = 20 -HTTP_QUERY_RAW_HEADERS: Final = 21 -HTTP_QUERY_RAW_HEADERS_CRLF: Final = 22 -HTTP_QUERY_CONNECTION: Final = 23 -HTTP_QUERY_ACCEPT: Final = 24 -HTTP_QUERY_ACCEPT_CHARSET: Final = 25 -HTTP_QUERY_ACCEPT_ENCODING: Final = 26 -HTTP_QUERY_ACCEPT_LANGUAGE: Final = 27 -HTTP_QUERY_AUTHORIZATION: Final = 28 -HTTP_QUERY_CONTENT_ENCODING: Final = 29 -HTTP_QUERY_FORWARDED: Final = 30 -HTTP_QUERY_FROM: Final = 31 -HTTP_QUERY_IF_MODIFIED_SINCE: Final = 32 -HTTP_QUERY_LOCATION: Final = 33 -HTTP_QUERY_ORIG_URI: Final = 34 -HTTP_QUERY_REFERER: Final = 35 -HTTP_QUERY_RETRY_AFTER: Final = 36 -HTTP_QUERY_SERVER: Final = 37 -HTTP_QUERY_TITLE: Final = 38 -HTTP_QUERY_USER_AGENT: Final = 39 -HTTP_QUERY_WWW_AUTHENTICATE: Final = 40 -HTTP_QUERY_PROXY_AUTHENTICATE: Final = 41 -HTTP_QUERY_ACCEPT_RANGES: Final = 42 -HTTP_QUERY_SET_COOKIE: Final = 43 -HTTP_QUERY_COOKIE: Final = 44 -HTTP_QUERY_REQUEST_METHOD: Final = 45 -HTTP_QUERY_REFRESH: Final = 46 -HTTP_QUERY_CONTENT_DISPOSITION: Final = 47 -HTTP_QUERY_AGE: Final = 48 -HTTP_QUERY_CACHE_CONTROL: Final = 49 -HTTP_QUERY_CONTENT_BASE: Final = 50 -HTTP_QUERY_CONTENT_LOCATION: Final = 51 -HTTP_QUERY_CONTENT_MD5: Final = 52 -HTTP_QUERY_CONTENT_RANGE: Final = 53 -HTTP_QUERY_ETAG: Final = 54 -HTTP_QUERY_HOST: Final = 55 -HTTP_QUERY_IF_MATCH: Final = 56 -HTTP_QUERY_IF_NONE_MATCH: Final = 57 -HTTP_QUERY_IF_RANGE: Final = 58 -HTTP_QUERY_IF_UNMODIFIED_SINCE: Final = 59 -HTTP_QUERY_MAX_FORWARDS: Final = 60 -HTTP_QUERY_PROXY_AUTHORIZATION: Final = 61 -HTTP_QUERY_RANGE: Final = 62 -HTTP_QUERY_TRANSFER_ENCODING: Final = 63 -HTTP_QUERY_UPGRADE: Final = 64 -HTTP_QUERY_VARY: Final = 65 -HTTP_QUERY_VIA: Final = 66 -HTTP_QUERY_WARNING: Final = 67 -HTTP_QUERY_EXPECT: Final = 68 -HTTP_QUERY_PROXY_CONNECTION: Final = 69 -HTTP_QUERY_UNLESS_MODIFIED_SINCE: Final = 70 -HTTP_QUERY_ECHO_REQUEST: Final = 71 -HTTP_QUERY_ECHO_REPLY: Final = 72 -HTTP_QUERY_ECHO_HEADERS: Final = 73 -HTTP_QUERY_ECHO_HEADERS_CRLF: Final = 74 -HTTP_QUERY_PROXY_SUPPORT: Final = 75 -HTTP_QUERY_AUTHENTICATION_INFO: Final = 76 -HTTP_QUERY_PASSPORT_URLS: Final = 77 -HTTP_QUERY_PASSPORT_CONFIG: Final = 78 -HTTP_QUERY_MAX: Final = 78 -HTTP_QUERY_CUSTOM: Final = 65535 -HTTP_QUERY_FLAG_REQUEST_HEADERS: Final = -2147483648 -HTTP_QUERY_FLAG_SYSTEMTIME: Final = 0x40000000 -HTTP_QUERY_FLAG_NUMBER: Final = 0x20000000 -HTTP_QUERY_FLAG_COALESCE: Final = 0x10000000 -HTTP_QUERY_MODIFIER_FLAGS_MASK: Final = -0x10000000 -HTTP_QUERY_HEADER_MASK: Final = 0xFFFFFFF -HTTP_STATUS_CONTINUE: Final = 100 -HTTP_STATUS_SWITCH_PROTOCOLS: Final = 101 -HTTP_STATUS_OK: Final = 200 -HTTP_STATUS_CREATED: Final = 201 -HTTP_STATUS_ACCEPTED: Final = 202 -HTTP_STATUS_PARTIAL: Final = 203 -HTTP_STATUS_NO_CONTENT: Final = 204 -HTTP_STATUS_RESET_CONTENT: Final = 205 -HTTP_STATUS_PARTIAL_CONTENT: Final = 206 -HTTP_STATUS_WEBDAV_MULTI_STATUS: Final = 207 -HTTP_STATUS_AMBIGUOUS: Final = 300 -HTTP_STATUS_MOVED: Final = 301 -HTTP_STATUS_REDIRECT: Final = 302 -HTTP_STATUS_REDIRECT_METHOD: Final = 303 -HTTP_STATUS_NOT_MODIFIED: Final = 304 -HTTP_STATUS_USE_PROXY: Final = 305 -HTTP_STATUS_REDIRECT_KEEP_VERB: Final = 307 -HTTP_STATUS_BAD_REQUEST: Final = 400 -HTTP_STATUS_DENIED: Final = 401 -HTTP_STATUS_PAYMENT_REQ: Final = 402 -HTTP_STATUS_FORBIDDEN: Final = 403 -HTTP_STATUS_NOT_FOUND: Final = 404 -HTTP_STATUS_BAD_METHOD: Final = 405 -HTTP_STATUS_NONE_ACCEPTABLE: Final = 406 -HTTP_STATUS_PROXY_AUTH_REQ: Final = 407 -HTTP_STATUS_REQUEST_TIMEOUT: Final = 408 -HTTP_STATUS_CONFLICT: Final = 409 -HTTP_STATUS_GONE: Final = 410 -HTTP_STATUS_LENGTH_REQUIRED: Final = 411 -HTTP_STATUS_PRECOND_FAILED: Final = 412 -HTTP_STATUS_REQUEST_TOO_LARGE: Final = 413 -HTTP_STATUS_URI_TOO_LONG: Final = 414 -HTTP_STATUS_UNSUPPORTED_MEDIA: Final = 415 -HTTP_STATUS_RETRY_WITH: Final = 449 -HTTP_STATUS_SERVER_ERROR: Final = 500 -HTTP_STATUS_NOT_SUPPORTED: Final = 501 -HTTP_STATUS_BAD_GATEWAY: Final = 502 -HTTP_STATUS_SERVICE_UNAVAIL: Final = 503 -HTTP_STATUS_GATEWAY_TIMEOUT: Final = 504 -HTTP_STATUS_VERSION_NOT_SUP: Final = 505 -HTTP_STATUS_FIRST: Final = HTTP_STATUS_CONTINUE -HTTP_STATUS_LAST: Final = HTTP_STATUS_VERSION_NOT_SUP -HTTP_ADDREQ_INDEX_MASK: Final = 0x0000FFFF -HTTP_ADDREQ_FLAGS_MASK: Final = -65536 -HTTP_ADDREQ_FLAG_ADD_IF_NEW: Final = 0x10000000 -HTTP_ADDREQ_FLAG_ADD: Final = 0x20000000 -HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA: Final = 0x40000000 -HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON: Final = 0x01000000 -HTTP_ADDREQ_FLAG_COALESCE: Final = HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA -HTTP_ADDREQ_FLAG_REPLACE: Final = -2147483648 -HSR_ASYNC: Final = WININET_API_FLAG_ASYNC -HSR_SYNC: Final = WININET_API_FLAG_SYNC -HSR_USE_CONTEXT: Final = WININET_API_FLAG_USE_CONTEXT -HSR_INITIATE: Final = 0x00000008 -HSR_DOWNLOAD: Final = 0x00000010 -HSR_CHUNKED: Final = 0x00000020 -INTERNET_COOKIE_IS_SECURE: Final = 0x01 -INTERNET_COOKIE_IS_SESSION: Final = 0x02 -INTERNET_COOKIE_THIRD_PARTY: Final = 0x10 -INTERNET_COOKIE_PROMPT_REQUIRED: Final = 0x20 -INTERNET_COOKIE_EVALUATE_P3P: Final = 0x40 -INTERNET_COOKIE_APPLY_P3P: Final = 0x80 -INTERNET_COOKIE_P3P_ENABLED: Final = 0x100 -INTERNET_COOKIE_IS_RESTRICTED: Final = 0x200 -INTERNET_COOKIE_IE6: Final = 0x400 -INTERNET_COOKIE_IS_LEGACY: Final = 0x800 -FLAG_ICC_FORCE_CONNECTION: Final = 0x00000001 -FLAGS_ERROR_UI_FILTER_FOR_ERRORS: Final = 0x01 -FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS: Final = 0x02 -FLAGS_ERROR_UI_FLAGS_GENERATE_DATA: Final = 0x04 -FLAGS_ERROR_UI_FLAGS_NO_UI: Final = 0x08 -FLAGS_ERROR_UI_SERIALIZE_DIALOGS: Final = 0x10 -INTERNET_ERROR_BASE: Final = 12000 -ERROR_INTERNET_OUT_OF_HANDLES: Final = 12001 -ERROR_INTERNET_TIMEOUT: Final = 12002 -ERROR_INTERNET_EXTENDED_ERROR: Final = 12003 -ERROR_INTERNET_INTERNAL_ERROR: Final = 12004 -ERROR_INTERNET_INVALID_URL: Final = 12005 -ERROR_INTERNET_UNRECOGNIZED_SCHEME: Final = 12006 -ERROR_INTERNET_NAME_NOT_RESOLVED: Final = 12007 -ERROR_INTERNET_PROTOCOL_NOT_FOUND: Final = 12008 -ERROR_INTERNET_INVALID_OPTION: Final = 12009 -ERROR_INTERNET_BAD_OPTION_LENGTH: Final = 12010 -ERROR_INTERNET_OPTION_NOT_SETTABLE: Final = 12011 -ERROR_INTERNET_SHUTDOWN: Final = 12012 -ERROR_INTERNET_INCORRECT_USER_NAME: Final = 12013 -ERROR_INTERNET_INCORRECT_PASSWORD: Final = 12014 -ERROR_INTERNET_LOGIN_FAILURE: Final = 12015 -ERROR_INTERNET_INVALID_OPERATION: Final = 12016 -ERROR_INTERNET_OPERATION_CANCELLED: Final = 12017 -ERROR_INTERNET_INCORRECT_HANDLE_TYPE: Final = 12018 -ERROR_INTERNET_INCORRECT_HANDLE_STATE: Final = 12019 -ERROR_INTERNET_NOT_PROXY_REQUEST: Final = 12020 -ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND: Final = 12021 -ERROR_INTERNET_BAD_REGISTRY_PARAMETER: Final = 12022 -ERROR_INTERNET_NO_DIRECT_ACCESS: Final = 12023 -ERROR_INTERNET_NO_CONTEXT: Final = 12024 -ERROR_INTERNET_NO_CALLBACK: Final = 12025 -ERROR_INTERNET_REQUEST_PENDING: Final = 12026 -ERROR_INTERNET_INCORRECT_FORMAT: Final = 12027 -ERROR_INTERNET_ITEM_NOT_FOUND: Final = 12028 -ERROR_INTERNET_CANNOT_CONNECT: Final = 12029 -ERROR_INTERNET_CONNECTION_ABORTED: Final = 12030 -ERROR_INTERNET_CONNECTION_RESET: Final = 12031 -ERROR_INTERNET_FORCE_RETRY: Final = 12032 -ERROR_INTERNET_INVALID_PROXY_REQUEST: Final = 12033 -ERROR_INTERNET_NEED_UI: Final = 12034 -ERROR_INTERNET_HANDLE_EXISTS: Final = 12036 -ERROR_INTERNET_SEC_CERT_DATE_INVALID: Final = 12037 -ERROR_INTERNET_SEC_CERT_CN_INVALID: Final = 12038 -ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR: Final = 12039 -ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR: Final = 12040 -ERROR_INTERNET_MIXED_SECURITY: Final = 12041 -ERROR_INTERNET_CHG_POST_IS_NON_SECURE: Final = 12042 -ERROR_INTERNET_POST_IS_NON_SECURE: Final = 12043 -ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED: Final = 12044 -ERROR_INTERNET_INVALID_CA: Final = 12045 -ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP: Final = 12046 -ERROR_INTERNET_ASYNC_THREAD_FAILED: Final = 12047 -ERROR_INTERNET_REDIRECT_SCHEME_CHANGE: Final = 12048 -ERROR_INTERNET_DIALOG_PENDING: Final = 12049 -ERROR_INTERNET_RETRY_DIALOG: Final = 12050 -ERROR_INTERNET_HTTPS_HTTP_SUBMIT_REDIR: Final = 12052 -ERROR_INTERNET_INSERT_CDROM: Final = 12053 -ERROR_INTERNET_FORTEZZA_LOGIN_NEEDED: Final = 12054 -ERROR_INTERNET_SEC_CERT_ERRORS: Final = 12055 -ERROR_INTERNET_SEC_CERT_NO_REV: Final = 12056 -ERROR_INTERNET_SEC_CERT_REV_FAILED: Final = 12057 -ERROR_FTP_TRANSFER_IN_PROGRESS: Final = 12110 -ERROR_FTP_DROPPED: Final = 12111 -ERROR_FTP_NO_PASSIVE_MODE: Final = 12112 -ERROR_GOPHER_PROTOCOL_ERROR: Final = 12130 -ERROR_GOPHER_NOT_FILE: Final = 12131 -ERROR_GOPHER_DATA_ERROR: Final = 12132 -ERROR_GOPHER_END_OF_DATA: Final = 12133 -ERROR_GOPHER_INVALID_LOCATOR: Final = 12134 -ERROR_GOPHER_INCORRECT_LOCATOR_TYPE: Final = 12135 -ERROR_GOPHER_NOT_GOPHER_PLUS: Final = 12136 -ERROR_GOPHER_ATTRIBUTE_NOT_FOUND: Final = 12137 -ERROR_GOPHER_UNKNOWN_LOCATOR: Final = 12138 -ERROR_HTTP_HEADER_NOT_FOUND: Final = 12150 -ERROR_HTTP_DOWNLEVEL_SERVER: Final = 12151 -ERROR_HTTP_INVALID_SERVER_RESPONSE: Final = 12152 -ERROR_HTTP_INVALID_HEADER: Final = 12153 -ERROR_HTTP_INVALID_QUERY_REQUEST: Final = 12154 -ERROR_HTTP_HEADER_ALREADY_EXISTS: Final = 12155 -ERROR_HTTP_REDIRECT_FAILED: Final = 12156 -ERROR_INTERNET_SECURITY_CHANNEL_ERROR: Final = 12157 -ERROR_INTERNET_UNABLE_TO_CACHE_FILE: Final = 12158 -ERROR_INTERNET_TCPIP_NOT_INSTALLED: Final = 12159 -ERROR_HTTP_NOT_REDIRECTED: Final = 12160 -ERROR_HTTP_COOKIE_NEEDS_CONFIRMATION: Final = 12161 -ERROR_HTTP_COOKIE_DECLINED: Final = 12162 -ERROR_INTERNET_DISCONNECTED: Final = 12163 -ERROR_INTERNET_SERVER_UNREACHABLE: Final = 12164 -ERROR_INTERNET_PROXY_SERVER_UNREACHABLE: Final = 12165 -ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT: Final = 12166 -ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT: Final = 12167 -ERROR_HTTP_REDIRECT_NEEDS_CONFIRMATION: Final = 12168 -ERROR_INTERNET_SEC_INVALID_CERT: Final = 12169 -ERROR_INTERNET_SEC_CERT_REVOKED: Final = 12170 -ERROR_INTERNET_FAILED_DUETOSECURITYCHECK: Final = 12171 -ERROR_INTERNET_NOT_INITIALIZED: Final = 12172 -ERROR_INTERNET_NEED_MSN_SSPI_PKG: Final = 12173 -ERROR_INTERNET_LOGIN_FAILURE_DISPLAY_ENTITY_BODY: Final = 12174 -INTERNET_ERROR_LAST: Final = ERROR_INTERNET_LOGIN_FAILURE_DISPLAY_ENTITY_BODY -NORMAL_CACHE_ENTRY: Final = 0x00000001 -STICKY_CACHE_ENTRY: Final = 0x00000004 -EDITED_CACHE_ENTRY: Final = 0x00000008 -TRACK_OFFLINE_CACHE_ENTRY: Final = 0x00000010 -TRACK_ONLINE_CACHE_ENTRY: Final = 0x00000020 -SPARSE_CACHE_ENTRY: Final = 0x00010000 -COOKIE_CACHE_ENTRY: Final = 0x00100000 -URLHISTORY_CACHE_ENTRY: Final = 0x00200000 -URLCACHE_FIND_DEFAULT_FILTER: Final = 0x300035 -CACHEGROUP_ATTRIBUTE_GET_ALL: Final = -1 -CACHEGROUP_ATTRIBUTE_BASIC: Final = 0x00000001 -CACHEGROUP_ATTRIBUTE_FLAG: Final = 0x00000002 -CACHEGROUP_ATTRIBUTE_TYPE: Final = 0x00000004 -CACHEGROUP_ATTRIBUTE_QUOTA: Final = 0x00000008 -CACHEGROUP_ATTRIBUTE_GROUPNAME: Final = 0x00000010 -CACHEGROUP_ATTRIBUTE_STORAGE: Final = 0x00000020 -CACHEGROUP_FLAG_NONPURGEABLE: Final = 0x00000001 -CACHEGROUP_FLAG_GIDONLY: Final = 0x00000004 -CACHEGROUP_FLAG_FLUSHURL_ONDELETE: Final = 0x00000002 -CACHEGROUP_SEARCH_ALL: Final = 0x00000000 -CACHEGROUP_SEARCH_BYURL: Final = 0x00000001 -CACHEGROUP_TYPE_INVALID: Final = 0x00000001 -CACHEGROUP_READWRITE_MASK: Final = 60 -GROUPNAME_MAX_LENGTH: Final = 120 -GROUP_OWNER_STORAGE_SIZE: Final = 4 -CACHE_ENTRY_ATTRIBUTE_FC: Final = 0x00000004 -CACHE_ENTRY_HITRATE_FC: Final = 0x00000010 -CACHE_ENTRY_MODTIME_FC: Final = 0x00000040 -CACHE_ENTRY_EXPTIME_FC: Final = 0x00000080 -CACHE_ENTRY_ACCTIME_FC: Final = 0x00000100 -CACHE_ENTRY_SYNCTIME_FC: Final = 0x00000200 -CACHE_ENTRY_HEADERINFO_FC: Final = 0x00000400 -CACHE_ENTRY_EXEMPT_DELTA_FC: Final = 0x00000800 -INTERNET_CACHE_GROUP_ADD: Final = 0 -INTERNET_CACHE_GROUP_REMOVE: Final = 1 -INTERNET_DIAL_FORCE_PROMPT: Final = 0x2000 -INTERNET_DIAL_SHOW_OFFLINE: Final = 0x4000 -INTERNET_DIAL_UNATTENDED: Final = 0x8000 -INTERENT_GOONLINE_REFRESH: Final = 0x00000001 -INTERENT_GOONLINE_MASK: Final = 0x00000001 -INTERNET_AUTODIAL_FORCE_ONLINE: Final = 1 -INTERNET_AUTODIAL_FORCE_UNATTENDED: Final = 2 -INTERNET_AUTODIAL_FAILIFSECURITYCHECK: Final = 4 -INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT: Final = 8 -INTERNET_AUTODIAL_FLAGS_MASK: Final = 15 -PROXY_AUTO_DETECT_TYPE_DHCP: Final = 1 -PROXY_AUTO_DETECT_TYPE_DNS_A: Final = 2 -INTERNET_CONNECTION_MODEM: Final = 0x01 -INTERNET_CONNECTION_LAN: Final = 0x02 -INTERNET_CONNECTION_PROXY: Final = 0x04 -INTERNET_CONNECTION_MODEM_BUSY: Final = 0x08 -INTERNET_RAS_INSTALLED: Final = 0x10 -INTERNET_CONNECTION_OFFLINE: Final = 0x20 -INTERNET_CONNECTION_CONFIGURED: Final = 0x40 -INTERNET_CUSTOMDIAL_CONNECT: Final = 0 -INTERNET_CUSTOMDIAL_UNATTENDED: Final = 1 -INTERNET_CUSTOMDIAL_DISCONNECT: Final = 2 -INTERNET_CUSTOMDIAL_SHOWOFFLINE: Final = 4 -INTERNET_CUSTOMDIAL_SAFE_FOR_UNATTENDED: Final = 1 -INTERNET_CUSTOMDIAL_WILL_SUPPLY_STATE: Final = 2 -INTERNET_CUSTOMDIAL_CAN_HANGUP: Final = 4 -INTERNET_DIALSTATE_DISCONNECTED: Final = 1 -INTERNET_IDENTITY_FLAG_PRIVATE_CACHE: Final = 0x01 -INTERNET_IDENTITY_FLAG_SHARED_CACHE: Final = 0x02 -INTERNET_IDENTITY_FLAG_CLEAR_DATA: Final = 0x04 -INTERNET_IDENTITY_FLAG_CLEAR_COOKIES: Final = 0x08 -INTERNET_IDENTITY_FLAG_CLEAR_HISTORY: Final = 0x10 -INTERNET_IDENTITY_FLAG_CLEAR_CONTENT: Final = 0x20 -INTERNET_SUPPRESS_RESET_ALL: Final = 0x00 -INTERNET_SUPPRESS_COOKIE_POLICY: Final = 0x01 -INTERNET_SUPPRESS_COOKIE_POLICY_RESET: Final = 0x02 -PRIVACY_TEMPLATE_NO_COOKIES: Final = 0 -PRIVACY_TEMPLATE_HIGH: Final = 1 -PRIVACY_TEMPLATE_MEDIUM_HIGH: Final = 2 -PRIVACY_TEMPLATE_MEDIUM: Final = 3 -PRIVACY_TEMPLATE_MEDIUM_LOW: Final = 4 -PRIVACY_TEMPLATE_LOW: Final = 5 -PRIVACY_TEMPLATE_CUSTOM: Final = 100 -PRIVACY_TEMPLATE_ADVANCED: Final = 101 -PRIVACY_TEMPLATE_MAX: Final = PRIVACY_TEMPLATE_LOW -PRIVACY_TYPE_FIRST_PARTY: Final = 0 -PRIVACY_TYPE_THIRD_PARTY: Final = 1 -WINHTTP_FLAG_ASYNC: Final = 0x10000000 -WINHTTP_FLAG_SECURE: Final = 0x00800000 -WINHTTP_FLAG_ESCAPE_PERCENT: Final = 0x00000004 -WINHTTP_FLAG_NULL_CODEPAGE: Final = 0x00000008 -WINHTTP_FLAG_BYPASS_PROXY_CACHE: Final = 0x00000100 -WINHTTP_FLAG_REFRESH: Final = WINHTTP_FLAG_BYPASS_PROXY_CACHE -WINHTTP_FLAG_ESCAPE_DISABLE: Final = 0x00000040 -WINHTTP_FLAG_ESCAPE_DISABLE_QUERY: Final = 0x00000080 -INTERNET_SCHEME_HTTP: Final = 1 -INTERNET_SCHEME_HTTPS: Final = 2 -WINHTTP_AUTOPROXY_AUTO_DETECT: Final = 0x00000001 -WINHTTP_AUTOPROXY_CONFIG_URL: Final = 0x00000002 -WINHTTP_AUTOPROXY_RUN_INPROCESS: Final = 0x00010000 -WINHTTP_AUTOPROXY_RUN_OUTPROCESS_ONLY: Final = 0x00020000 -WINHTTP_AUTO_DETECT_TYPE_DHCP: Final = 0x00000001 -WINHTTP_AUTO_DETECT_TYPE_DNS_A: Final = 0x00000002 -WINHTTP_TIME_FORMAT_BUFSIZE: Final = 62 -WINHTTP_ACCESS_TYPE_DEFAULT_PROXY: Final = 0 -WINHTTP_ACCESS_TYPE_NO_PROXY: Final = 1 -WINHTTP_ACCESS_TYPE_NAMED_PROXY: Final = 3 -WINHTTP_OPTION_CALLBACK: Final = 1 -WINHTTP_OPTION_RESOLVE_TIMEOUT: Final = 2 -WINHTTP_OPTION_CONNECT_TIMEOUT: Final = 3 -WINHTTP_OPTION_CONNECT_RETRIES: Final = 4 -WINHTTP_OPTION_SEND_TIMEOUT: Final = 5 -WINHTTP_OPTION_RECEIVE_TIMEOUT: Final = 6 -WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT: Final = 7 -WINHTTP_OPTION_HANDLE_TYPE: Final = 9 -WINHTTP_OPTION_READ_BUFFER_SIZE: Final = 12 -WINHTTP_OPTION_WRITE_BUFFER_SIZE: Final = 13 -WINHTTP_OPTION_PARENT_HANDLE: Final = 21 -WINHTTP_OPTION_EXTENDED_ERROR: Final = 24 -WINHTTP_OPTION_SECURITY_FLAGS: Final = 31 -WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT: Final = 32 -WINHTTP_OPTION_URL: Final = 34 -WINHTTP_OPTION_SECURITY_KEY_BITNESS: Final = 36 -WINHTTP_OPTION_PROXY: Final = 38 -WINHTTP_OPTION_USER_AGENT: Final = 41 -WINHTTP_OPTION_CONTEXT_VALUE: Final = 45 -WINHTTP_OPTION_CLIENT_CERT_CONTEXT: Final = 47 -WINHTTP_OPTION_REQUEST_PRIORITY: Final = 58 -WINHTTP_OPTION_HTTP_VERSION: Final = 59 -WINHTTP_OPTION_DISABLE_FEATURE: Final = 63 -WINHTTP_OPTION_CODEPAGE: Final = 68 -WINHTTP_OPTION_MAX_CONNS_PER_SERVER: Final = 73 -WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER: Final = 74 -WINHTTP_OPTION_AUTOLOGON_POLICY: Final = 77 -WINHTTP_OPTION_SERVER_CERT_CONTEXT: Final = 78 -WINHTTP_OPTION_ENABLE_FEATURE: Final = 79 -WINHTTP_OPTION_WORKER_THREAD_COUNT: Final = 80 -WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT: Final = 81 -WINHTTP_OPTION_PASSPORT_COBRANDING_URL: Final = 82 -WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH: Final = 83 -WINHTTP_OPTION_SECURE_PROTOCOLS: Final = 84 -WINHTTP_OPTION_ENABLETRACING: Final = 85 -WINHTTP_OPTION_PASSPORT_SIGN_OUT: Final = 86 -WINHTTP_OPTION_PASSPORT_RETURN_URL: Final = 87 -WINHTTP_OPTION_REDIRECT_POLICY: Final = 88 -WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS: Final = 89 -WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE: Final = 90 -WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE: Final = 91 -WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE: Final = 92 -WINHTTP_OPTION_CONNECTION_INFO: Final = 93 -WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST: Final = 94 -WINHTTP_OPTION_SPN: Final = 96 -WINHTTP_OPTION_GLOBAL_PROXY_CREDS: Final = 97 -WINHTTP_OPTION_GLOBAL_SERVER_CREDS: Final = 98 -WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT: Final = 99 -WINHTTP_OPTION_REJECT_USERPWD_IN_URL: Final = 100 -WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS: Final = 101 -WINHTTP_LAST_OPTION: Final = WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS -WINHTTP_OPTION_USERNAME: Final = 0x1000 -WINHTTP_OPTION_PASSWORD: Final = 0x1001 -WINHTTP_OPTION_PROXY_USERNAME: Final = 0x1002 -WINHTTP_OPTION_PROXY_PASSWORD: Final = 0x1003 -WINHTTP_CONNS_PER_SERVER_UNLIMITED: Final = -1 -WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM: Final = 0 -WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW: Final = 1 -WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH: Final = 2 -WINHTTP_AUTOLOGON_SECURITY_LEVEL_DEFAULT: Final = WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM -WINHTTP_OPTION_REDIRECT_POLICY_NEVER: Final = 0 -WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP: Final = 1 -WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS: Final = 2 -WINHTTP_OPTION_REDIRECT_POLICY_LAST: Final = WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS -WINHTTP_OPTION_REDIRECT_POLICY_DEFAULT: Final = WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP -WINHTTP_DISABLE_PASSPORT_AUTH: Final = 0x00000000 -WINHTTP_ENABLE_PASSPORT_AUTH: Final = 0x10000000 -WINHTTP_DISABLE_PASSPORT_KEYRING: Final = 0x20000000 -WINHTTP_ENABLE_PASSPORT_KEYRING: Final = 0x40000000 -WINHTTP_DISABLE_COOKIES: Final = 0x00000001 -WINHTTP_DISABLE_REDIRECTS: Final = 0x00000002 -WINHTTP_DISABLE_AUTHENTICATION: Final = 0x00000004 -WINHTTP_DISABLE_KEEP_ALIVE: Final = 0x00000008 -WINHTTP_ENABLE_SSL_REVOCATION: Final = 0x00000001 -WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION: Final = 0x00000002 -WINHTTP_DISABLE_SPN_SERVER_PORT: Final = 0x00000000 -WINHTTP_ENABLE_SPN_SERVER_PORT: Final = 0x00000001 -WINHTTP_OPTION_SPN_MASK: Final = WINHTTP_ENABLE_SPN_SERVER_PORT -WINHTTP_HANDLE_TYPE_SESSION: Final = 1 -WINHTTP_HANDLE_TYPE_CONNECT: Final = 2 -WINHTTP_HANDLE_TYPE_REQUEST: Final = 3 -WINHTTP_AUTH_SCHEME_BASIC: Final = 0x00000001 -WINHTTP_AUTH_SCHEME_NTLM: Final = 0x00000002 -WINHTTP_AUTH_SCHEME_PASSPORT: Final = 0x00000004 -WINHTTP_AUTH_SCHEME_DIGEST: Final = 0x00000008 -WINHTTP_AUTH_SCHEME_NEGOTIATE: Final = 0x00000010 -WINHTTP_AUTH_TARGET_SERVER: Final = 0x00000000 -WINHTTP_AUTH_TARGET_PROXY: Final = 0x00000001 -WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED: Final = 0x00000001 -WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CERT: Final = 0x00000002 -WINHTTP_CALLBACK_STATUS_FLAG_CERT_REVOKED: Final = 0x00000004 -WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA: Final = 0x00000008 -WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID: Final = 0x00000010 -WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID: Final = 0x00000020 -WINHTTP_CALLBACK_STATUS_FLAG_CERT_WRONG_USAGE: Final = 0x00000040 -WINHTTP_CALLBACK_STATUS_FLAG_SECURITY_CHANNEL_ERROR: Final = -2147483648 -WINHTTP_FLAG_SECURE_PROTOCOL_SSL2: Final = 0x00000008 -WINHTTP_FLAG_SECURE_PROTOCOL_SSL3: Final = 0x00000020 -WINHTTP_FLAG_SECURE_PROTOCOL_TLS1: Final = 0x00000080 -WINHTTP_FLAG_SECURE_PROTOCOL_ALL: Final = 0x000000A8 -WINHTTP_CALLBACK_STATUS_RESOLVING_NAME: Final = 0x00000001 -WINHTTP_CALLBACK_STATUS_NAME_RESOLVED: Final = 0x00000002 -WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER: Final = 0x00000004 -WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER: Final = 0x00000008 -WINHTTP_CALLBACK_STATUS_SENDING_REQUEST: Final = 0x00000010 -WINHTTP_CALLBACK_STATUS_REQUEST_SENT: Final = 0x00000020 -WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE: Final = 0x00000040 -WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED: Final = 0x00000080 -WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION: Final = 0x00000100 -WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED: Final = 0x00000200 -WINHTTP_CALLBACK_STATUS_HANDLE_CREATED: Final = 0x00000400 -WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING: Final = 0x00000800 -WINHTTP_CALLBACK_STATUS_DETECTING_PROXY: Final = 0x00001000 -WINHTTP_CALLBACK_STATUS_REDIRECT: Final = 0x00004000 -WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE: Final = 0x00008000 -WINHTTP_CALLBACK_STATUS_SECURE_FAILURE: Final = 0x00010000 -WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE: Final = 0x00020000 -WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE: Final = 0x00040000 -WINHTTP_CALLBACK_STATUS_READ_COMPLETE: Final = 0x00080000 -WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE: Final = 0x00100000 -WINHTTP_CALLBACK_STATUS_REQUEST_ERROR: Final = 0x00200000 -WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE: Final = 0x00400000 -API_RECEIVE_RESPONSE: Final = 1 -API_QUERY_DATA_AVAILABLE: Final = 2 -API_READ_DATA: Final = 3 -API_WRITE_DATA: Final = 4 -API_SEND_REQUEST: Final = 5 -WINHTTP_CALLBACK_FLAG_RESOLVE_NAME: Final = 3 -WINHTTP_CALLBACK_FLAG_CONNECT_TO_SERVER: Final = 12 -WINHTTP_CALLBACK_FLAG_SEND_REQUEST: Final = 48 -WINHTTP_CALLBACK_FLAG_RECEIVE_RESPONSE: Final = 192 -WINHTTP_CALLBACK_FLAG_CLOSE_CONNECTION: Final = 768 -WINHTTP_CALLBACK_FLAG_HANDLES: Final = 3072 -WINHTTP_CALLBACK_FLAG_DETECTING_PROXY: Final = WINHTTP_CALLBACK_STATUS_DETECTING_PROXY -WINHTTP_CALLBACK_FLAG_REDIRECT: Final = WINHTTP_CALLBACK_STATUS_REDIRECT -WINHTTP_CALLBACK_FLAG_INTERMEDIATE_RESPONSE: Final = WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE -WINHTTP_CALLBACK_FLAG_SECURE_FAILURE: Final = WINHTTP_CALLBACK_STATUS_SECURE_FAILURE -WINHTTP_CALLBACK_FLAG_SENDREQUEST_COMPLETE: Final = WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE -WINHTTP_CALLBACK_FLAG_HEADERS_AVAILABLE: Final = WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE -WINHTTP_CALLBACK_FLAG_DATA_AVAILABLE: Final = WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE -WINHTTP_CALLBACK_FLAG_READ_COMPLETE: Final = WINHTTP_CALLBACK_STATUS_READ_COMPLETE -WINHTTP_CALLBACK_FLAG_WRITE_COMPLETE: Final = WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE -WINHTTP_CALLBACK_FLAG_REQUEST_ERROR: Final = WINHTTP_CALLBACK_STATUS_REQUEST_ERROR -WINHTTP_CALLBACK_FLAG_ALL_COMPLETIONS: Final = 0x007E0000 -WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS: Final = -1 -WINHTTP_QUERY_MIME_VERSION: Final = 0 -WINHTTP_QUERY_CONTENT_TYPE: Final = 1 -WINHTTP_QUERY_CONTENT_TRANSFER_ENCODING: Final = 2 -WINHTTP_QUERY_CONTENT_ID: Final = 3 -WINHTTP_QUERY_CONTENT_DESCRIPTION: Final = 4 -WINHTTP_QUERY_CONTENT_LENGTH: Final = 5 -WINHTTP_QUERY_CONTENT_LANGUAGE: Final = 6 -WINHTTP_QUERY_ALLOW: Final = 7 -WINHTTP_QUERY_PUBLIC: Final = 8 -WINHTTP_QUERY_DATE: Final = 9 -WINHTTP_QUERY_EXPIRES: Final = 10 -WINHTTP_QUERY_LAST_MODIFIED: Final = 11 -WINHTTP_QUERY_MESSAGE_ID: Final = 12 -WINHTTP_QUERY_URI: Final = 13 -WINHTTP_QUERY_DERIVED_FROM: Final = 14 -WINHTTP_QUERY_COST: Final = 15 -WINHTTP_QUERY_LINK: Final = 16 -WINHTTP_QUERY_PRAGMA: Final = 17 -WINHTTP_QUERY_VERSION: Final = 18 -WINHTTP_QUERY_STATUS_CODE: Final = 19 -WINHTTP_QUERY_STATUS_TEXT: Final = 20 -WINHTTP_QUERY_RAW_HEADERS: Final = 21 -WINHTTP_QUERY_RAW_HEADERS_CRLF: Final = 22 -WINHTTP_QUERY_CONNECTION: Final = 23 -WINHTTP_QUERY_ACCEPT: Final = 24 -WINHTTP_QUERY_ACCEPT_CHARSET: Final = 25 -WINHTTP_QUERY_ACCEPT_ENCODING: Final = 26 -WINHTTP_QUERY_ACCEPT_LANGUAGE: Final = 27 -WINHTTP_QUERY_AUTHORIZATION: Final = 28 -WINHTTP_QUERY_CONTENT_ENCODING: Final = 29 -WINHTTP_QUERY_FORWARDED: Final = 30 -WINHTTP_QUERY_FROM: Final = 31 -WINHTTP_QUERY_IF_MODIFIED_SINCE: Final = 32 -WINHTTP_QUERY_LOCATION: Final = 33 -WINHTTP_QUERY_ORIG_URI: Final = 34 -WINHTTP_QUERY_REFERER: Final = 35 -WINHTTP_QUERY_RETRY_AFTER: Final = 36 -WINHTTP_QUERY_SERVER: Final = 37 -WINHTTP_QUERY_TITLE: Final = 38 -WINHTTP_QUERY_USER_AGENT: Final = 39 -WINHTTP_QUERY_WWW_AUTHENTICATE: Final = 40 -WINHTTP_QUERY_PROXY_AUTHENTICATE: Final = 41 -WINHTTP_QUERY_ACCEPT_RANGES: Final = 42 -WINHTTP_QUERY_SET_COOKIE: Final = 43 -WINHTTP_QUERY_COOKIE: Final = 44 -WINHTTP_QUERY_REQUEST_METHOD: Final = 45 -WINHTTP_QUERY_REFRESH: Final = 46 -WINHTTP_QUERY_CONTENT_DISPOSITION: Final = 47 -WINHTTP_QUERY_AGE: Final = 48 -WINHTTP_QUERY_CACHE_CONTROL: Final = 49 -WINHTTP_QUERY_CONTENT_BASE: Final = 50 -WINHTTP_QUERY_CONTENT_LOCATION: Final = 51 -WINHTTP_QUERY_CONTENT_MD5: Final = 52 -WINHTTP_QUERY_CONTENT_RANGE: Final = 53 -WINHTTP_QUERY_ETAG: Final = 54 -WINHTTP_QUERY_HOST: Final = 55 -WINHTTP_QUERY_IF_MATCH: Final = 56 -WINHTTP_QUERY_IF_NONE_MATCH: Final = 57 -WINHTTP_QUERY_IF_RANGE: Final = 58 -WINHTTP_QUERY_IF_UNMODIFIED_SINCE: Final = 59 -WINHTTP_QUERY_MAX_FORWARDS: Final = 60 -WINHTTP_QUERY_PROXY_AUTHORIZATION: Final = 61 -WINHTTP_QUERY_RANGE: Final = 62 -WINHTTP_QUERY_TRANSFER_ENCODING: Final = 63 -WINHTTP_QUERY_UPGRADE: Final = 64 -WINHTTP_QUERY_VARY: Final = 65 -WINHTTP_QUERY_VIA: Final = 66 -WINHTTP_QUERY_WARNING: Final = 67 -WINHTTP_QUERY_EXPECT: Final = 68 -WINHTTP_QUERY_PROXY_CONNECTION: Final = 69 -WINHTTP_QUERY_UNLESS_MODIFIED_SINCE: Final = 70 -WINHTTP_QUERY_PROXY_SUPPORT: Final = 75 -WINHTTP_QUERY_AUTHENTICATION_INFO: Final = 76 -WINHTTP_QUERY_PASSPORT_URLS: Final = 77 -WINHTTP_QUERY_PASSPORT_CONFIG: Final = 78 -WINHTTP_QUERY_MAX: Final = 78 -WINHTTP_QUERY_CUSTOM: Final = 65535 -WINHTTP_QUERY_FLAG_REQUEST_HEADERS: Final = -2147483648 -WINHTTP_QUERY_FLAG_SYSTEMTIME: Final = 0x40000000 -WINHTTP_QUERY_FLAG_NUMBER: Final = 0x20000000 -WINHTTP_ADDREQ_INDEX_MASK: Final = 0x0000FFFF -WINHTTP_ADDREQ_FLAGS_MASK: Final = -65536 -WINHTTP_ADDREQ_FLAG_ADD_IF_NEW: Final = 0x10000000 -WINHTTP_ADDREQ_FLAG_ADD: Final = 0x20000000 -WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA: Final = 0x40000000 -WINHTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON: Final = 0x01000000 -WINHTTP_ADDREQ_FLAG_COALESCE: Final = WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA -WINHTTP_ADDREQ_FLAG_REPLACE: Final = -2147483648 -WINHTTP_IGNORE_REQUEST_TOTAL_LENGTH: Final = 0 -WINHTTP_ERROR_BASE: Final = 12000 -ERROR_WINHTTP_OUT_OF_HANDLES: Final = 12001 -ERROR_WINHTTP_TIMEOUT: Final = 12002 -ERROR_WINHTTP_INTERNAL_ERROR: Final = 12004 -ERROR_WINHTTP_INVALID_URL: Final = 12005 -ERROR_WINHTTP_UNRECOGNIZED_SCHEME: Final = 12006 -ERROR_WINHTTP_NAME_NOT_RESOLVED: Final = 12007 -ERROR_WINHTTP_INVALID_OPTION: Final = 12009 -ERROR_WINHTTP_OPTION_NOT_SETTABLE: Final = 12011 -ERROR_WINHTTP_SHUTDOWN: Final = 12012 -ERROR_WINHTTP_LOGIN_FAILURE: Final = 12015 -ERROR_WINHTTP_OPERATION_CANCELLED: Final = 12017 -ERROR_WINHTTP_INCORRECT_HANDLE_TYPE: Final = 12018 -ERROR_WINHTTP_INCORRECT_HANDLE_STATE: Final = 12019 -ERROR_WINHTTP_CANNOT_CONNECT: Final = 12029 -ERROR_WINHTTP_CONNECTION_ERROR: Final = 12030 -ERROR_WINHTTP_RESEND_REQUEST: Final = 12032 -ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED: Final = 12044 -ERROR_WINHTTP_CANNOT_CALL_BEFORE_OPEN: Final = 12100 -ERROR_WINHTTP_CANNOT_CALL_BEFORE_SEND: Final = 12101 -ERROR_WINHTTP_CANNOT_CALL_AFTER_SEND: Final = 12102 -ERROR_WINHTTP_CANNOT_CALL_AFTER_OPEN: Final = 12103 -ERROR_WINHTTP_HEADER_NOT_FOUND: Final = 12150 -ERROR_WINHTTP_INVALID_SERVER_RESPONSE: Final = 12152 -ERROR_WINHTTP_INVALID_HEADER: Final = 12153 -ERROR_WINHTTP_INVALID_QUERY_REQUEST: Final = 12154 -ERROR_WINHTTP_HEADER_ALREADY_EXISTS: Final = 12155 -ERROR_WINHTTP_REDIRECT_FAILED: Final = 12156 -ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT: Final = 12166 -ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT: Final = 12167 -ERROR_WINHTTP_NOT_INITIALIZED: Final = 12172 -ERROR_WINHTTP_SECURE_FAILURE: Final = 12175 -ERROR_WINHTTP_SECURE_CERT_DATE_INVALID: Final = 12037 -ERROR_WINHTTP_SECURE_CERT_CN_INVALID: Final = 12038 -ERROR_WINHTTP_SECURE_INVALID_CA: Final = 12045 -ERROR_WINHTTP_SECURE_CERT_REV_FAILED: Final = 12057 -ERROR_WINHTTP_SECURE_CHANNEL_ERROR: Final = 12157 -ERROR_WINHTTP_SECURE_INVALID_CERT: Final = 12169 -ERROR_WINHTTP_SECURE_CERT_REVOKED: Final = 12170 -ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR: Final = 12178 -ERROR_WINHTTP_SECURE_CERT_WRONG_USAGE: Final = 12179 -ERROR_WINHTTP_AUTODETECTION_FAILED: Final = 12180 -ERROR_WINHTTP_HEADER_COUNT_EXCEEDED: Final = 12181 -ERROR_WINHTTP_HEADER_SIZE_OVERFLOW: Final = 12182 -ERROR_WINHTTP_CHUNKED_ENCODING_HEADER_SIZE_OVERFLOW: Final = 12183 -ERROR_WINHTTP_RESPONSE_DRAIN_OVERFLOW: Final = 12184 -ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY: Final = 12185 -ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY: Final = 12186 -WINHTTP_ERROR_LAST: Final = 12186 -WINHTTP_NO_PROXY_NAME: Final = None -WINHTTP_NO_PROXY_BYPASS: Final = None -WINHTTP_NO_REFERER: Final = None -WINHTTP_DEFAULT_ACCEPT_TYPES: Final = None -WINHTTP_NO_ADDITIONAL_HEADERS: Final = None -WINHTTP_NO_REQUEST_DATA: Final = None +INTERNET_INVALID_PORT_NUMBER: int +INTERNET_DEFAULT_FTP_PORT: int +INTERNET_DEFAULT_GOPHER_PORT: int +INTERNET_DEFAULT_HTTP_PORT: int +INTERNET_DEFAULT_HTTPS_PORT: int +INTERNET_DEFAULT_SOCKS_PORT: int +INTERNET_MAX_HOST_NAME_LENGTH: int +INTERNET_MAX_USER_NAME_LENGTH: int +INTERNET_MAX_PASSWORD_LENGTH: int +INTERNET_MAX_PORT_NUMBER_LENGTH: int +INTERNET_MAX_PORT_NUMBER_VALUE: int +INTERNET_MAX_PATH_LENGTH: int +INTERNET_MAX_SCHEME_LENGTH: int +INTERNET_KEEP_ALIVE_ENABLED: int +INTERNET_KEEP_ALIVE_DISABLED: int +INTERNET_REQFLAG_FROM_CACHE: int +INTERNET_REQFLAG_ASYNC: int +INTERNET_REQFLAG_VIA_PROXY: int +INTERNET_REQFLAG_NO_HEADERS: int +INTERNET_REQFLAG_PASSIVE: int +INTERNET_REQFLAG_CACHE_WRITE_DISABLED: int +INTERNET_REQFLAG_NET_TIMEOUT: int +INTERNET_FLAG_RELOAD: int +INTERNET_FLAG_RAW_DATA: int +INTERNET_FLAG_EXISTING_CONNECT: int +INTERNET_FLAG_ASYNC: int +INTERNET_FLAG_PASSIVE: int +INTERNET_FLAG_NO_CACHE_WRITE: int +INTERNET_FLAG_DONT_CACHE: int +INTERNET_FLAG_MAKE_PERSISTENT: int +INTERNET_FLAG_FROM_CACHE: int +INTERNET_FLAG_OFFLINE: int +INTERNET_FLAG_SECURE: int +INTERNET_FLAG_KEEP_CONNECTION: int +INTERNET_FLAG_NO_AUTO_REDIRECT: int +INTERNET_FLAG_READ_PREFETCH: int +INTERNET_FLAG_NO_COOKIES: int +INTERNET_FLAG_NO_AUTH: int +INTERNET_FLAG_RESTRICTED_ZONE: int +INTERNET_FLAG_CACHE_IF_NET_FAIL: int +INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP: int +INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS: int +INTERNET_FLAG_IGNORE_CERT_DATE_INVALID: int +INTERNET_FLAG_IGNORE_CERT_CN_INVALID: int +INTERNET_FLAG_RESYNCHRONIZE: int +INTERNET_FLAG_HYPERLINK: int +INTERNET_FLAG_NO_UI: int +INTERNET_FLAG_PRAGMA_NOCACHE: int +INTERNET_FLAG_CACHE_ASYNC: int +INTERNET_FLAG_FORMS_SUBMIT: int +INTERNET_FLAG_FWD_BACK: int +INTERNET_FLAG_NEED_FILE: int +INTERNET_FLAG_MUST_CACHE_REQUEST: int +SECURITY_INTERNET_MASK: int +INTERNET_ERROR_MASK_INSERT_CDROM: int +INTERNET_ERROR_MASK_COMBINED_SEC_CERT: int +INTERNET_ERROR_MASK_NEED_MSN_SSPI_PKG: int +INTERNET_ERROR_MASK_LOGIN_FAILURE_DISPLAY_ENTITY_BODY: int +WININET_API_FLAG_ASYNC: int +WININET_API_FLAG_SYNC: int +WININET_API_FLAG_USE_CONTEXT: int +INTERNET_NO_CALLBACK: int +IDSI_FLAG_KEEP_ALIVE: int +IDSI_FLAG_SECURE: int +IDSI_FLAG_PROXY: int +IDSI_FLAG_TUNNEL: int +INTERNET_PER_CONN_FLAGS: int +INTERNET_PER_CONN_PROXY_SERVER: int +INTERNET_PER_CONN_PROXY_BYPASS: int +INTERNET_PER_CONN_AUTOCONFIG_URL: int +INTERNET_PER_CONN_AUTODISCOVERY_FLAGS: int +INTERNET_PER_CONN_AUTOCONFIG_SECONDARY_URL: int +INTERNET_PER_CONN_AUTOCONFIG_RELOAD_DELAY_MINS: int +INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_TIME: int +INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_URL: int +PROXY_TYPE_DIRECT: int +PROXY_TYPE_PROXY: int +PROXY_TYPE_AUTO_PROXY_URL: int +PROXY_TYPE_AUTO_DETECT: int +AUTO_PROXY_FLAG_USER_SET: int +AUTO_PROXY_FLAG_ALWAYS_DETECT: int +AUTO_PROXY_FLAG_DETECTION_RUN: int +AUTO_PROXY_FLAG_MIGRATED: int +AUTO_PROXY_FLAG_DONT_CACHE_PROXY_RESULT: int +AUTO_PROXY_FLAG_CACHE_INIT_RUN: int +AUTO_PROXY_FLAG_DETECTION_SUSPECT: int +ISO_FORCE_DISCONNECTED: int +INTERNET_RFC1123_FORMAT: int +INTERNET_RFC1123_BUFSIZE: int +ICU_ESCAPE: int +ICU_USERNAME: int +ICU_NO_ENCODE: int +ICU_DECODE: int +ICU_NO_META: int +ICU_ENCODE_SPACES_ONLY: int +ICU_BROWSER_MODE: int +ICU_ENCODE_PERCENT: int +INTERNET_OPEN_TYPE_PRECONFIG: int +INTERNET_OPEN_TYPE_DIRECT: int +INTERNET_OPEN_TYPE_PROXY: int +INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY: int +PRE_CONFIG_INTERNET_ACCESS: int +LOCAL_INTERNET_ACCESS: int +CERN_PROXY_INTERNET_ACCESS: int +INTERNET_SERVICE_FTP: int +INTERNET_SERVICE_GOPHER: int +INTERNET_SERVICE_HTTP: int +IRF_ASYNC: int +IRF_SYNC: int +IRF_USE_CONTEXT: int +IRF_NO_WAIT: int +ISO_GLOBAL: int +ISO_REGISTRY: int +ISO_VALID_FLAGS: int +INTERNET_OPTION_CALLBACK: int +INTERNET_OPTION_CONNECT_TIMEOUT: int +INTERNET_OPTION_CONNECT_RETRIES: int +INTERNET_OPTION_CONNECT_BACKOFF: int +INTERNET_OPTION_SEND_TIMEOUT: int +INTERNET_OPTION_CONTROL_SEND_TIMEOUT: int +INTERNET_OPTION_RECEIVE_TIMEOUT: int +INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT: int +INTERNET_OPTION_DATA_SEND_TIMEOUT: int +INTERNET_OPTION_DATA_RECEIVE_TIMEOUT: int +INTERNET_OPTION_HANDLE_TYPE: int +INTERNET_OPTION_READ_BUFFER_SIZE: int +INTERNET_OPTION_WRITE_BUFFER_SIZE: int +INTERNET_OPTION_ASYNC_ID: int +INTERNET_OPTION_ASYNC_PRIORITY: int +INTERNET_OPTION_PARENT_HANDLE: int +INTERNET_OPTION_KEEP_CONNECTION: int +INTERNET_OPTION_REQUEST_FLAGS: int +INTERNET_OPTION_EXTENDED_ERROR: int +INTERNET_OPTION_OFFLINE_MODE: int +INTERNET_OPTION_CACHE_STREAM_HANDLE: int +INTERNET_OPTION_USERNAME: int +INTERNET_OPTION_PASSWORD: int +INTERNET_OPTION_ASYNC: int +INTERNET_OPTION_SECURITY_FLAGS: int +INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT: int +INTERNET_OPTION_DATAFILE_NAME: int +INTERNET_OPTION_URL: int +INTERNET_OPTION_SECURITY_CERTIFICATE: int +INTERNET_OPTION_SECURITY_KEY_BITNESS: int +INTERNET_OPTION_REFRESH: int +INTERNET_OPTION_PROXY: int +INTERNET_OPTION_SETTINGS_CHANGED: int +INTERNET_OPTION_VERSION: int +INTERNET_OPTION_USER_AGENT: int +INTERNET_OPTION_END_BROWSER_SESSION: int +INTERNET_OPTION_PROXY_USERNAME: int +INTERNET_OPTION_PROXY_PASSWORD: int +INTERNET_OPTION_CONTEXT_VALUE: int +INTERNET_OPTION_CONNECT_LIMIT: int +INTERNET_OPTION_SECURITY_SELECT_CLIENT_CERT: int +INTERNET_OPTION_POLICY: int +INTERNET_OPTION_DISCONNECTED_TIMEOUT: int +INTERNET_OPTION_CONNECTED_STATE: int +INTERNET_OPTION_IDLE_STATE: int +INTERNET_OPTION_OFFLINE_SEMANTICS: int +INTERNET_OPTION_SECONDARY_CACHE_KEY: int +INTERNET_OPTION_CALLBACK_FILTER: int +INTERNET_OPTION_CONNECT_TIME: int +INTERNET_OPTION_SEND_THROUGHPUT: int +INTERNET_OPTION_RECEIVE_THROUGHPUT: int +INTERNET_OPTION_REQUEST_PRIORITY: int +INTERNET_OPTION_HTTP_VERSION: int +INTERNET_OPTION_RESET_URLCACHE_SESSION: int +INTERNET_OPTION_ERROR_MASK: int +INTERNET_OPTION_FROM_CACHE_TIMEOUT: int +INTERNET_OPTION_BYPASS_EDITED_ENTRY: int +INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO: int +INTERNET_OPTION_CODEPAGE: int +INTERNET_OPTION_CACHE_TIMESTAMPS: int +INTERNET_OPTION_DISABLE_AUTODIAL: int +INTERNET_OPTION_MAX_CONNS_PER_SERVER: int +INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER: int +INTERNET_OPTION_PER_CONNECTION_OPTION: int +INTERNET_OPTION_DIGEST_AUTH_UNLOAD: int +INTERNET_OPTION_IGNORE_OFFLINE: int +INTERNET_OPTION_IDENTITY: int +INTERNET_OPTION_REMOVE_IDENTITY: int +INTERNET_OPTION_ALTER_IDENTITY: int +INTERNET_OPTION_SUPPRESS_BEHAVIOR: int +INTERNET_OPTION_AUTODIAL_MODE: int +INTERNET_OPTION_AUTODIAL_CONNECTION: int +INTERNET_OPTION_CLIENT_CERT_CONTEXT: int +INTERNET_OPTION_AUTH_FLAGS: int +INTERNET_OPTION_COOKIES_3RD_PARTY: int +INTERNET_OPTION_DISABLE_PASSPORT_AUTH: int +INTERNET_OPTION_SEND_UTF8_SERVERNAME_TO_PROXY: int +INTERNET_OPTION_EXEMPT_CONNECTION_LIMIT: int +INTERNET_OPTION_ENABLE_PASSPORT_AUTH: int +INTERNET_OPTION_HIBERNATE_INACTIVE_WORKER_THREADS: int +INTERNET_OPTION_ACTIVATE_WORKER_THREADS: int +INTERNET_OPTION_RESTORE_WORKER_THREAD_DEFAULTS: int +INTERNET_OPTION_SOCKET_SEND_BUFFER_LENGTH: int +INTERNET_OPTION_PROXY_SETTINGS_CHANGED: int +INTERNET_FIRST_OPTION: int +INTERNET_LAST_OPTION: int +INTERNET_PRIORITY_FOREGROUND: int +INTERNET_HANDLE_TYPE_INTERNET: int +INTERNET_HANDLE_TYPE_CONNECT_FTP: int +INTERNET_HANDLE_TYPE_CONNECT_GOPHER: int +INTERNET_HANDLE_TYPE_CONNECT_HTTP: int +INTERNET_HANDLE_TYPE_FTP_FIND: int +INTERNET_HANDLE_TYPE_FTP_FIND_HTML: int +INTERNET_HANDLE_TYPE_FTP_FILE: int +INTERNET_HANDLE_TYPE_FTP_FILE_HTML: int +INTERNET_HANDLE_TYPE_GOPHER_FIND: int +INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML: int +INTERNET_HANDLE_TYPE_GOPHER_FILE: int +INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML: int +INTERNET_HANDLE_TYPE_HTTP_REQUEST: int +INTERNET_HANDLE_TYPE_FILE_REQUEST: int +AUTH_FLAG_DISABLE_NEGOTIATE: int +AUTH_FLAG_ENABLE_NEGOTIATE: int +SECURITY_FLAG_SECURE: int +SECURITY_FLAG_STRENGTH_WEAK: int +SECURITY_FLAG_STRENGTH_MEDIUM: int +SECURITY_FLAG_STRENGTH_STRONG: int +SECURITY_FLAG_UNKNOWNBIT: int +SECURITY_FLAG_FORTEZZA: int +SECURITY_FLAG_NORMALBITNESS: int +SECURITY_FLAG_SSL: int +SECURITY_FLAG_SSL3: int +SECURITY_FLAG_PCT: int +SECURITY_FLAG_PCT4: int +SECURITY_FLAG_IETFSSL4: int +SECURITY_FLAG_40BIT: int +SECURITY_FLAG_128BIT: int +SECURITY_FLAG_56BIT: int +SECURITY_FLAG_IGNORE_REVOCATION: int +SECURITY_FLAG_IGNORE_UNKNOWN_CA: int +SECURITY_FLAG_IGNORE_WRONG_USAGE: int +SECURITY_FLAG_IGNORE_CERT_CN_INVALID: int +SECURITY_FLAG_IGNORE_CERT_DATE_INVALID: int +SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS: int +SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP: int +SECURITY_SET_MASK: int +AUTODIAL_MODE_NEVER: int +AUTODIAL_MODE_ALWAYS: int +AUTODIAL_MODE_NO_NETWORK_PRESENT: int +INTERNET_STATUS_RESOLVING_NAME: int +INTERNET_STATUS_NAME_RESOLVED: int +INTERNET_STATUS_CONNECTING_TO_SERVER: int +INTERNET_STATUS_CONNECTED_TO_SERVER: int +INTERNET_STATUS_SENDING_REQUEST: int +INTERNET_STATUS_REQUEST_SENT: int +INTERNET_STATUS_RECEIVING_RESPONSE: int +INTERNET_STATUS_RESPONSE_RECEIVED: int +INTERNET_STATUS_CTL_RESPONSE_RECEIVED: int +INTERNET_STATUS_PREFETCH: int +INTERNET_STATUS_CLOSING_CONNECTION: int +INTERNET_STATUS_CONNECTION_CLOSED: int +INTERNET_STATUS_HANDLE_CREATED: int +INTERNET_STATUS_HANDLE_CLOSING: int +INTERNET_STATUS_DETECTING_PROXY: int +INTERNET_STATUS_REQUEST_COMPLETE: int +INTERNET_STATUS_REDIRECT: int +INTERNET_STATUS_INTERMEDIATE_RESPONSE: int +INTERNET_STATUS_USER_INPUT_REQUIRED: int +INTERNET_STATUS_STATE_CHANGE: int +INTERNET_STATUS_COOKIE_SENT: int +INTERNET_STATUS_COOKIE_RECEIVED: int +INTERNET_STATUS_PRIVACY_IMPACTED: int +INTERNET_STATUS_P3P_HEADER: int +INTERNET_STATUS_P3P_POLICYREF: int +INTERNET_STATUS_COOKIE_HISTORY: int +INTERNET_STATE_CONNECTED: int +INTERNET_STATE_DISCONNECTED: int +INTERNET_STATE_DISCONNECTED_BY_USER: int +INTERNET_STATE_IDLE: int +INTERNET_STATE_BUSY: int +FTP_TRANSFER_TYPE_UNKNOWN: int +FTP_TRANSFER_TYPE_ASCII: int +FTP_TRANSFER_TYPE_BINARY: int +FTP_TRANSFER_TYPE_MASK: int +MAX_GOPHER_DISPLAY_TEXT: int +MAX_GOPHER_SELECTOR_TEXT: int +MAX_GOPHER_HOST_NAME: int +MAX_GOPHER_LOCATOR_LENGTH: int +GOPHER_TYPE_TEXT_FILE: int +GOPHER_TYPE_DIRECTORY: int +GOPHER_TYPE_CSO: int +GOPHER_TYPE_ERROR: int +GOPHER_TYPE_MAC_BINHEX: int +GOPHER_TYPE_DOS_ARCHIVE: int +GOPHER_TYPE_UNIX_UUENCODED: int +GOPHER_TYPE_INDEX_SERVER: int +GOPHER_TYPE_TELNET: int +GOPHER_TYPE_BINARY: int +GOPHER_TYPE_REDUNDANT: int +GOPHER_TYPE_TN3270: int +GOPHER_TYPE_GIF: int +GOPHER_TYPE_IMAGE: int +GOPHER_TYPE_BITMAP: int +GOPHER_TYPE_MOVIE: int +GOPHER_TYPE_SOUND: int +GOPHER_TYPE_HTML: int +GOPHER_TYPE_PDF: int +GOPHER_TYPE_CALENDAR: int +GOPHER_TYPE_INLINE: int +GOPHER_TYPE_UNKNOWN: int +GOPHER_TYPE_ASK: int +GOPHER_TYPE_GOPHER_PLUS: int +GOPHER_TYPE_FILE_MASK: int +MAX_GOPHER_CATEGORY_NAME: int +MAX_GOPHER_ATTRIBUTE_NAME: int +MIN_GOPHER_ATTRIBUTE_LENGTH: int +GOPHER_ATTRIBUTE_ID_BASE: int +GOPHER_CATEGORY_ID_ALL: int +GOPHER_CATEGORY_ID_INFO: int +GOPHER_CATEGORY_ID_ADMIN: int +GOPHER_CATEGORY_ID_VIEWS: int +GOPHER_CATEGORY_ID_ABSTRACT: int +GOPHER_CATEGORY_ID_VERONICA: int +GOPHER_CATEGORY_ID_ASK: int +GOPHER_CATEGORY_ID_UNKNOWN: int +GOPHER_ATTRIBUTE_ID_ALL: int +GOPHER_ATTRIBUTE_ID_ADMIN: int +GOPHER_ATTRIBUTE_ID_MOD_DATE: int +GOPHER_ATTRIBUTE_ID_TTL: int +GOPHER_ATTRIBUTE_ID_SCORE: int +GOPHER_ATTRIBUTE_ID_RANGE: int +GOPHER_ATTRIBUTE_ID_SITE: int +GOPHER_ATTRIBUTE_ID_ORG: int +GOPHER_ATTRIBUTE_ID_LOCATION: int +GOPHER_ATTRIBUTE_ID_GEOG: int +GOPHER_ATTRIBUTE_ID_TIMEZONE: int +GOPHER_ATTRIBUTE_ID_PROVIDER: int +GOPHER_ATTRIBUTE_ID_VERSION: int +GOPHER_ATTRIBUTE_ID_ABSTRACT: int +GOPHER_ATTRIBUTE_ID_VIEW: int +GOPHER_ATTRIBUTE_ID_TREEWALK: int +GOPHER_ATTRIBUTE_ID_UNKNOWN: int +HTTP_MAJOR_VERSION: int +HTTP_MINOR_VERSION: int +HTTP_VERSIONA: str +HTTP_VERSION: str +HTTP_QUERY_MIME_VERSION: int +HTTP_QUERY_CONTENT_TYPE: int +HTTP_QUERY_CONTENT_TRANSFER_ENCODING: int +HTTP_QUERY_CONTENT_ID: int +HTTP_QUERY_CONTENT_DESCRIPTION: int +HTTP_QUERY_CONTENT_LENGTH: int +HTTP_QUERY_CONTENT_LANGUAGE: int +HTTP_QUERY_ALLOW: int +HTTP_QUERY_PUBLIC: int +HTTP_QUERY_DATE: int +HTTP_QUERY_EXPIRES: int +HTTP_QUERY_LAST_MODIFIED: int +HTTP_QUERY_MESSAGE_ID: int +HTTP_QUERY_URI: int +HTTP_QUERY_DERIVED_FROM: int +HTTP_QUERY_COST: int +HTTP_QUERY_LINK: int +HTTP_QUERY_PRAGMA: int +HTTP_QUERY_VERSION: int +HTTP_QUERY_STATUS_CODE: int +HTTP_QUERY_STATUS_TEXT: int +HTTP_QUERY_RAW_HEADERS: int +HTTP_QUERY_RAW_HEADERS_CRLF: int +HTTP_QUERY_CONNECTION: int +HTTP_QUERY_ACCEPT: int +HTTP_QUERY_ACCEPT_CHARSET: int +HTTP_QUERY_ACCEPT_ENCODING: int +HTTP_QUERY_ACCEPT_LANGUAGE: int +HTTP_QUERY_AUTHORIZATION: int +HTTP_QUERY_CONTENT_ENCODING: int +HTTP_QUERY_FORWARDED: int +HTTP_QUERY_FROM: int +HTTP_QUERY_IF_MODIFIED_SINCE: int +HTTP_QUERY_LOCATION: int +HTTP_QUERY_ORIG_URI: int +HTTP_QUERY_REFERER: int +HTTP_QUERY_RETRY_AFTER: int +HTTP_QUERY_SERVER: int +HTTP_QUERY_TITLE: int +HTTP_QUERY_USER_AGENT: int +HTTP_QUERY_WWW_AUTHENTICATE: int +HTTP_QUERY_PROXY_AUTHENTICATE: int +HTTP_QUERY_ACCEPT_RANGES: int +HTTP_QUERY_SET_COOKIE: int +HTTP_QUERY_COOKIE: int +HTTP_QUERY_REQUEST_METHOD: int +HTTP_QUERY_REFRESH: int +HTTP_QUERY_CONTENT_DISPOSITION: int +HTTP_QUERY_AGE: int +HTTP_QUERY_CACHE_CONTROL: int +HTTP_QUERY_CONTENT_BASE: int +HTTP_QUERY_CONTENT_LOCATION: int +HTTP_QUERY_CONTENT_MD5: int +HTTP_QUERY_CONTENT_RANGE: int +HTTP_QUERY_ETAG: int +HTTP_QUERY_HOST: int +HTTP_QUERY_IF_MATCH: int +HTTP_QUERY_IF_NONE_MATCH: int +HTTP_QUERY_IF_RANGE: int +HTTP_QUERY_IF_UNMODIFIED_SINCE: int +HTTP_QUERY_MAX_FORWARDS: int +HTTP_QUERY_PROXY_AUTHORIZATION: int +HTTP_QUERY_RANGE: int +HTTP_QUERY_TRANSFER_ENCODING: int +HTTP_QUERY_UPGRADE: int +HTTP_QUERY_VARY: int +HTTP_QUERY_VIA: int +HTTP_QUERY_WARNING: int +HTTP_QUERY_EXPECT: int +HTTP_QUERY_PROXY_CONNECTION: int +HTTP_QUERY_UNLESS_MODIFIED_SINCE: int +HTTP_QUERY_ECHO_REQUEST: int +HTTP_QUERY_ECHO_REPLY: int +HTTP_QUERY_ECHO_HEADERS: int +HTTP_QUERY_ECHO_HEADERS_CRLF: int +HTTP_QUERY_PROXY_SUPPORT: int +HTTP_QUERY_AUTHENTICATION_INFO: int +HTTP_QUERY_PASSPORT_URLS: int +HTTP_QUERY_PASSPORT_CONFIG: int +HTTP_QUERY_MAX: int +HTTP_QUERY_CUSTOM: int +HTTP_QUERY_FLAG_REQUEST_HEADERS: int +HTTP_QUERY_FLAG_SYSTEMTIME: int +HTTP_QUERY_FLAG_NUMBER: int +HTTP_QUERY_FLAG_COALESCE: int +HTTP_QUERY_MODIFIER_FLAGS_MASK: int +HTTP_QUERY_HEADER_MASK: int +HTTP_STATUS_CONTINUE: int +HTTP_STATUS_SWITCH_PROTOCOLS: int +HTTP_STATUS_OK: int +HTTP_STATUS_CREATED: int +HTTP_STATUS_ACCEPTED: int +HTTP_STATUS_PARTIAL: int +HTTP_STATUS_NO_CONTENT: int +HTTP_STATUS_RESET_CONTENT: int +HTTP_STATUS_PARTIAL_CONTENT: int +HTTP_STATUS_AMBIGUOUS: int +HTTP_STATUS_MOVED: int +HTTP_STATUS_REDIRECT: int +HTTP_STATUS_REDIRECT_METHOD: int +HTTP_STATUS_NOT_MODIFIED: int +HTTP_STATUS_USE_PROXY: int +HTTP_STATUS_REDIRECT_KEEP_VERB: int +HTTP_STATUS_BAD_REQUEST: int +HTTP_STATUS_DENIED: int +HTTP_STATUS_PAYMENT_REQ: int +HTTP_STATUS_FORBIDDEN: int +HTTP_STATUS_NOT_FOUND: int +HTTP_STATUS_BAD_METHOD: int +HTTP_STATUS_NONE_ACCEPTABLE: int +HTTP_STATUS_PROXY_AUTH_REQ: int +HTTP_STATUS_REQUEST_TIMEOUT: int +HTTP_STATUS_CONFLICT: int +HTTP_STATUS_GONE: int +HTTP_STATUS_LENGTH_REQUIRED: int +HTTP_STATUS_PRECOND_FAILED: int +HTTP_STATUS_REQUEST_TOO_LARGE: int +HTTP_STATUS_URI_TOO_LONG: int +HTTP_STATUS_UNSUPPORTED_MEDIA: int +HTTP_STATUS_RETRY_WITH: int +HTTP_STATUS_SERVER_ERROR: int +HTTP_STATUS_NOT_SUPPORTED: int +HTTP_STATUS_BAD_GATEWAY: int +HTTP_STATUS_SERVICE_UNAVAIL: int +HTTP_STATUS_GATEWAY_TIMEOUT: int +HTTP_STATUS_VERSION_NOT_SUP: int +HTTP_STATUS_FIRST: int +HTTP_STATUS_LAST: int +HTTP_ADDREQ_INDEX_MASK: int +HTTP_ADDREQ_FLAGS_MASK: int +HTTP_ADDREQ_FLAG_ADD_IF_NEW: int +HTTP_ADDREQ_FLAG_ADD: int +HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA: int +HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON: int +HTTP_ADDREQ_FLAG_COALESCE: int +HTTP_ADDREQ_FLAG_REPLACE: int +HSR_ASYNC: int +HSR_SYNC: int +HSR_USE_CONTEXT: int +HSR_INITIATE: int +HSR_DOWNLOAD: int +HSR_CHUNKED: int +INTERNET_COOKIE_IS_SECURE: int +INTERNET_COOKIE_IS_SESSION: int +INTERNET_COOKIE_THIRD_PARTY: int +INTERNET_COOKIE_PROMPT_REQUIRED: int +INTERNET_COOKIE_EVALUATE_P3P: int +INTERNET_COOKIE_APPLY_P3P: int +INTERNET_COOKIE_P3P_ENABLED: int +INTERNET_COOKIE_IS_RESTRICTED: int +INTERNET_COOKIE_IE6: int +INTERNET_COOKIE_IS_LEGACY: int +FLAG_ICC_FORCE_CONNECTION: int +FLAGS_ERROR_UI_FILTER_FOR_ERRORS: int +FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS: int +FLAGS_ERROR_UI_FLAGS_GENERATE_DATA: int +FLAGS_ERROR_UI_FLAGS_NO_UI: int +FLAGS_ERROR_UI_SERIALIZE_DIALOGS: int +INTERNET_ERROR_BASE: int +ERROR_INTERNET_OUT_OF_HANDLES: int +ERROR_INTERNET_TIMEOUT: int +ERROR_INTERNET_EXTENDED_ERROR: int +ERROR_INTERNET_INTERNAL_ERROR: int +ERROR_INTERNET_INVALID_URL: int +ERROR_INTERNET_UNRECOGNIZED_SCHEME: int +ERROR_INTERNET_NAME_NOT_RESOLVED: int +ERROR_INTERNET_PROTOCOL_NOT_FOUND: int +ERROR_INTERNET_INVALID_OPTION: int +ERROR_INTERNET_BAD_OPTION_LENGTH: int +ERROR_INTERNET_OPTION_NOT_SETTABLE: int +ERROR_INTERNET_SHUTDOWN: int +ERROR_INTERNET_INCORRECT_USER_NAME: int +ERROR_INTERNET_INCORRECT_PASSWORD: int +ERROR_INTERNET_LOGIN_FAILURE: int +ERROR_INTERNET_INVALID_OPERATION: int +ERROR_INTERNET_OPERATION_CANCELLED: int +ERROR_INTERNET_INCORRECT_HANDLE_TYPE: int +ERROR_INTERNET_INCORRECT_HANDLE_STATE: int +ERROR_INTERNET_NOT_PROXY_REQUEST: int +ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND: int +ERROR_INTERNET_BAD_REGISTRY_PARAMETER: int +ERROR_INTERNET_NO_DIRECT_ACCESS: int +ERROR_INTERNET_NO_CONTEXT: int +ERROR_INTERNET_NO_CALLBACK: int +ERROR_INTERNET_REQUEST_PENDING: int +ERROR_INTERNET_INCORRECT_FORMAT: int +ERROR_INTERNET_ITEM_NOT_FOUND: int +ERROR_INTERNET_CANNOT_CONNECT: int +ERROR_INTERNET_CONNECTION_ABORTED: int +ERROR_INTERNET_CONNECTION_RESET: int +ERROR_INTERNET_FORCE_RETRY: int +ERROR_INTERNET_INVALID_PROXY_REQUEST: int +ERROR_INTERNET_NEED_UI: int +ERROR_INTERNET_HANDLE_EXISTS: int +ERROR_INTERNET_SEC_CERT_DATE_INVALID: int +ERROR_INTERNET_SEC_CERT_CN_INVALID: int +ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR: int +ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR: int +ERROR_INTERNET_MIXED_SECURITY: int +ERROR_INTERNET_CHG_POST_IS_NON_SECURE: int +ERROR_INTERNET_POST_IS_NON_SECURE: int +ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED: int +ERROR_INTERNET_INVALID_CA: int +ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP: int +ERROR_INTERNET_ASYNC_THREAD_FAILED: int +ERROR_INTERNET_REDIRECT_SCHEME_CHANGE: int +ERROR_INTERNET_DIALOG_PENDING: int +ERROR_INTERNET_RETRY_DIALOG: int +ERROR_INTERNET_HTTPS_HTTP_SUBMIT_REDIR: int +ERROR_INTERNET_INSERT_CDROM: int +ERROR_INTERNET_FORTEZZA_LOGIN_NEEDED: int +ERROR_INTERNET_SEC_CERT_ERRORS: int +ERROR_INTERNET_SEC_CERT_NO_REV: int +ERROR_INTERNET_SEC_CERT_REV_FAILED: int +ERROR_FTP_TRANSFER_IN_PROGRESS: int +ERROR_FTP_DROPPED: int +ERROR_FTP_NO_PASSIVE_MODE: int +ERROR_GOPHER_PROTOCOL_ERROR: int +ERROR_GOPHER_NOT_FILE: int +ERROR_GOPHER_DATA_ERROR: int +ERROR_GOPHER_END_OF_DATA: int +ERROR_GOPHER_INVALID_LOCATOR: int +ERROR_GOPHER_INCORRECT_LOCATOR_TYPE: int +ERROR_GOPHER_NOT_GOPHER_PLUS: int +ERROR_GOPHER_ATTRIBUTE_NOT_FOUND: int +ERROR_GOPHER_UNKNOWN_LOCATOR: int +ERROR_HTTP_HEADER_NOT_FOUND: int +ERROR_HTTP_DOWNLEVEL_SERVER: int +ERROR_HTTP_INVALID_SERVER_RESPONSE: int +ERROR_HTTP_INVALID_HEADER: int +ERROR_HTTP_INVALID_QUERY_REQUEST: int +ERROR_HTTP_HEADER_ALREADY_EXISTS: int +ERROR_HTTP_REDIRECT_FAILED: int +ERROR_HTTP_NOT_REDIRECTED: int +ERROR_HTTP_COOKIE_NEEDS_CONFIRMATION: int +ERROR_HTTP_COOKIE_DECLINED: int +ERROR_HTTP_REDIRECT_NEEDS_CONFIRMATION: int +ERROR_INTERNET_SECURITY_CHANNEL_ERROR: int +ERROR_INTERNET_UNABLE_TO_CACHE_FILE: int +ERROR_INTERNET_TCPIP_NOT_INSTALLED: int +ERROR_INTERNET_DISCONNECTED: int +ERROR_INTERNET_SERVER_UNREACHABLE: int +ERROR_INTERNET_PROXY_SERVER_UNREACHABLE: int +ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT: int +ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT: int +ERROR_INTERNET_SEC_INVALID_CERT: int +ERROR_INTERNET_SEC_CERT_REVOKED: int +ERROR_INTERNET_FAILED_DUETOSECURITYCHECK: int +ERROR_INTERNET_NOT_INITIALIZED: int +ERROR_INTERNET_NEED_MSN_SSPI_PKG: int +ERROR_INTERNET_LOGIN_FAILURE_DISPLAY_ENTITY_BODY: int +INTERNET_ERROR_LAST: int +NORMAL_CACHE_ENTRY: int +STICKY_CACHE_ENTRY: int +EDITED_CACHE_ENTRY: int +TRACK_OFFLINE_CACHE_ENTRY: int +TRACK_ONLINE_CACHE_ENTRY: int +SPARSE_CACHE_ENTRY: int +COOKIE_CACHE_ENTRY: int +URLHISTORY_CACHE_ENTRY: int +URLCACHE_FIND_DEFAULT_FILTER: int +CACHEGROUP_ATTRIBUTE_GET_ALL: int +CACHEGROUP_ATTRIBUTE_BASIC: int +CACHEGROUP_ATTRIBUTE_FLAG: int +CACHEGROUP_ATTRIBUTE_TYPE: int +CACHEGROUP_ATTRIBUTE_QUOTA: int +CACHEGROUP_ATTRIBUTE_GROUPNAME: int +CACHEGROUP_ATTRIBUTE_STORAGE: int +CACHEGROUP_FLAG_NONPURGEABLE: int +CACHEGROUP_FLAG_GIDONLY: int +CACHEGROUP_FLAG_FLUSHURL_ONDELETE: int +CACHEGROUP_SEARCH_ALL: int +CACHEGROUP_SEARCH_BYURL: int +CACHEGROUP_TYPE_INVALID: int +CACHEGROUP_READWRITE_MASK: int +GROUPNAME_MAX_LENGTH: int +GROUP_OWNER_STORAGE_SIZE: int +CACHE_ENTRY_ATTRIBUTE_FC: int +CACHE_ENTRY_HITRATE_FC: int +CACHE_ENTRY_MODTIME_FC: int +CACHE_ENTRY_EXPTIME_FC: int +CACHE_ENTRY_ACCTIME_FC: int +CACHE_ENTRY_SYNCTIME_FC: int +CACHE_ENTRY_HEADERINFO_FC: int +CACHE_ENTRY_EXEMPT_DELTA_FC: int +INTERNET_CACHE_GROUP_ADD: int +INTERNET_CACHE_GROUP_REMOVE: int +INTERNET_DIAL_FORCE_PROMPT: int +INTERNET_DIAL_SHOW_OFFLINE: int +INTERNET_DIAL_UNATTENDED: int +INTERENT_GOONLINE_REFRESH: int +INTERENT_GOONLINE_MASK: int +INTERNET_AUTODIAL_FORCE_ONLINE: int +INTERNET_AUTODIAL_FORCE_UNATTENDED: int +INTERNET_AUTODIAL_FAILIFSECURITYCHECK: int +INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT: int +INTERNET_AUTODIAL_FLAGS_MASK: int +PROXY_AUTO_DETECT_TYPE_DHCP: int +PROXY_AUTO_DETECT_TYPE_DNS_A: int +INTERNET_CONNECTION_MODEM: int +INTERNET_CONNECTION_LAN: int +INTERNET_CONNECTION_PROXY: int +INTERNET_CONNECTION_MODEM_BUSY: int +INTERNET_RAS_INSTALLED: int +INTERNET_CONNECTION_OFFLINE: int +INTERNET_CONNECTION_CONFIGURED: int +INTERNET_CUSTOMDIAL_CONNECT: int +INTERNET_CUSTOMDIAL_UNATTENDED: int +INTERNET_CUSTOMDIAL_DISCONNECT: int +INTERNET_CUSTOMDIAL_SHOWOFFLINE: int +INTERNET_CUSTOMDIAL_SAFE_FOR_UNATTENDED: int +INTERNET_CUSTOMDIAL_WILL_SUPPLY_STATE: int +INTERNET_CUSTOMDIAL_CAN_HANGUP: int +INTERNET_DIALSTATE_DISCONNECTED: int +INTERNET_IDENTITY_FLAG_PRIVATE_CACHE: int +INTERNET_IDENTITY_FLAG_SHARED_CACHE: int +INTERNET_IDENTITY_FLAG_CLEAR_DATA: int +INTERNET_IDENTITY_FLAG_CLEAR_COOKIES: int +INTERNET_IDENTITY_FLAG_CLEAR_HISTORY: int +INTERNET_IDENTITY_FLAG_CLEAR_CONTENT: int +INTERNET_SUPPRESS_RESET_ALL: int +INTERNET_SUPPRESS_COOKIE_POLICY: int +INTERNET_SUPPRESS_COOKIE_POLICY_RESET: int +PRIVACY_TEMPLATE_NO_COOKIES: int +PRIVACY_TEMPLATE_HIGH: int +PRIVACY_TEMPLATE_MEDIUM_HIGH: int +PRIVACY_TEMPLATE_MEDIUM: int +PRIVACY_TEMPLATE_MEDIUM_LOW: int +PRIVACY_TEMPLATE_LOW: int +PRIVACY_TEMPLATE_CUSTOM: int +PRIVACY_TEMPLATE_ADVANCED: int +PRIVACY_TEMPLATE_MAX: int +PRIVACY_TYPE_FIRST_PARTY: int +PRIVACY_TYPE_THIRD_PARTY: int +INTERNET_DEFAULT_PORT: int +WINHTTP_FLAG_ASYNC: int +WINHTTP_FLAG_SECURE: int +WINHTTP_FLAG_ESCAPE_PERCENT: int +WINHTTP_FLAG_NULL_CODEPAGE: int +WINHTTP_FLAG_BYPASS_PROXY_CACHE: int +WINHTTP_FLAG_REFRESH: int +WINHTTP_FLAG_ESCAPE_DISABLE: int +WINHTTP_FLAG_ESCAPE_DISABLE_QUERY: int +SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE: int +INTERNET_SCHEME_HTTP: int +INTERNET_SCHEME_HTTPS: int +WINHTTP_AUTOPROXY_AUTO_DETECT: int +WINHTTP_AUTOPROXY_CONFIG_URL: int +WINHTTP_AUTOPROXY_RUN_INPROCESS: int +WINHTTP_AUTOPROXY_RUN_OUTPROCESS_ONLY: int +WINHTTP_AUTO_DETECT_TYPE_DHCP: int +WINHTTP_AUTO_DETECT_TYPE_DNS_A: int +WINHTTP_TIME_FORMAT_BUFSIZE: int +ICU_ESCAPE_AUTHORITY: int +ICU_REJECT_USERPWD: int +WINHTTP_ACCESS_TYPE_DEFAULT_PROXY: int +WINHTTP_ACCESS_TYPE_NO_PROXY: int +WINHTTP_ACCESS_TYPE_NAMED_PROXY: int +WINHTTP_OPTION_CALLBACK: int +WINHTTP_OPTION_RESOLVE_TIMEOUT: int +WINHTTP_OPTION_CONNECT_TIMEOUT: int +WINHTTP_OPTION_CONNECT_RETRIES: int +WINHTTP_OPTION_SEND_TIMEOUT: int +WINHTTP_OPTION_RECEIVE_TIMEOUT: int +WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT: int +WINHTTP_OPTION_HANDLE_TYPE: int +WINHTTP_OPTION_READ_BUFFER_SIZE: int +WINHTTP_OPTION_WRITE_BUFFER_SIZE: int +WINHTTP_OPTION_PARENT_HANDLE: int +WINHTTP_OPTION_EXTENDED_ERROR: int +WINHTTP_OPTION_SECURITY_FLAGS: int +WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT: int +WINHTTP_OPTION_URL: int +WINHTTP_OPTION_SECURITY_KEY_BITNESS: int +WINHTTP_OPTION_PROXY: int +WINHTTP_OPTION_USER_AGENT: int +WINHTTP_OPTION_CONTEXT_VALUE: int +WINHTTP_OPTION_CLIENT_CERT_CONTEXT: int +WINHTTP_OPTION_REQUEST_PRIORITY: int +WINHTTP_OPTION_HTTP_VERSION: int +WINHTTP_OPTION_DISABLE_FEATURE: int +WINHTTP_OPTION_CODEPAGE: int +WINHTTP_OPTION_MAX_CONNS_PER_SERVER: int +WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER: int +WINHTTP_OPTION_AUTOLOGON_POLICY: int +WINHTTP_OPTION_SERVER_CERT_CONTEXT: int +WINHTTP_OPTION_ENABLE_FEATURE: int +WINHTTP_OPTION_WORKER_THREAD_COUNT: int +WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT: int +WINHTTP_OPTION_PASSPORT_COBRANDING_URL: int +WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH: int +WINHTTP_OPTION_SECURE_PROTOCOLS: int +WINHTTP_OPTION_ENABLETRACING: int +WINHTTP_OPTION_PASSPORT_SIGN_OUT: int +WINHTTP_OPTION_PASSPORT_RETURN_URL: int +WINHTTP_OPTION_REDIRECT_POLICY: int +WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS: int +WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE: int +WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE: int +WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE: int +WINHTTP_OPTION_CONNECTION_INFO: int +WINHTTP_OPTION_SPN: int +WINHTTP_OPTION_GLOBAL_PROXY_CREDS: int +WINHTTP_OPTION_GLOBAL_SERVER_CREDS: int +WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT: int +WINHTTP_OPTION_REJECT_USERPWD_IN_URL: int +WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS: int +WINHTTP_LAST_OPTION: int +WINHTTP_OPTION_USERNAME: int +WINHTTP_OPTION_PASSWORD: int +WINHTTP_OPTION_PROXY_USERNAME: int +WINHTTP_OPTION_PROXY_PASSWORD: int +WINHTTP_CONNS_PER_SERVER_UNLIMITED: int +WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM: int +WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW: int +WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH: int +WINHTTP_AUTOLOGON_SECURITY_LEVEL_DEFAULT: int +WINHTTP_OPTION_REDIRECT_POLICY_NEVER: int +WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP: int +WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS: int +WINHTTP_OPTION_REDIRECT_POLICY_LAST: int +WINHTTP_OPTION_REDIRECT_POLICY_DEFAULT: int +WINHTTP_DISABLE_PASSPORT_AUTH: int +WINHTTP_ENABLE_PASSPORT_AUTH: int +WINHTTP_DISABLE_PASSPORT_KEYRING: int +WINHTTP_ENABLE_PASSPORT_KEYRING: int +WINHTTP_DISABLE_COOKIES: int +WINHTTP_DISABLE_REDIRECTS: int +WINHTTP_DISABLE_AUTHENTICATION: int +WINHTTP_DISABLE_KEEP_ALIVE: int +WINHTTP_ENABLE_SSL_REVOCATION: int +WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION: int +WINHTTP_DISABLE_SPN_SERVER_PORT: int +WINHTTP_ENABLE_SPN_SERVER_PORT: int +WINHTTP_OPTION_SPN_MASK: int +WINHTTP_HANDLE_TYPE_SESSION: int +WINHTTP_HANDLE_TYPE_CONNECT: int +WINHTTP_HANDLE_TYPE_REQUEST: int +WINHTTP_AUTH_SCHEME_BASIC: int +WINHTTP_AUTH_SCHEME_NTLM: int +WINHTTP_AUTH_SCHEME_PASSPORT: int +WINHTTP_AUTH_SCHEME_DIGEST: int +WINHTTP_AUTH_SCHEME_NEGOTIATE: int +WINHTTP_AUTH_TARGET_SERVER: int +WINHTTP_AUTH_TARGET_PROXY: int +WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED: int +WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CERT: int +WINHTTP_CALLBACK_STATUS_FLAG_CERT_REVOKED: int +WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA: int +WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID: int +WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID: int +WINHTTP_CALLBACK_STATUS_FLAG_CERT_WRONG_USAGE: int +WINHTTP_CALLBACK_STATUS_FLAG_SECURITY_CHANNEL_ERROR: int +WINHTTP_FLAG_SECURE_PROTOCOL_SSL2: int +WINHTTP_FLAG_SECURE_PROTOCOL_SSL3: int +WINHTTP_FLAG_SECURE_PROTOCOL_TLS1: int +WINHTTP_FLAG_SECURE_PROTOCOL_ALL: int +WINHTTP_CALLBACK_STATUS_RESOLVING_NAME: int +WINHTTP_CALLBACK_STATUS_NAME_RESOLVED: int +WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER: int +WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER: int +WINHTTP_CALLBACK_STATUS_SENDING_REQUEST: int +WINHTTP_CALLBACK_STATUS_REQUEST_SENT: int +WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE: int +WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED: int +WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION: int +WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED: int +WINHTTP_CALLBACK_STATUS_HANDLE_CREATED: int +WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING: int +WINHTTP_CALLBACK_STATUS_DETECTING_PROXY: int +WINHTTP_CALLBACK_STATUS_REDIRECT: int +WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE: int +WINHTTP_CALLBACK_STATUS_SECURE_FAILURE: int +WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE: int +WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE: int +WINHTTP_CALLBACK_STATUS_READ_COMPLETE: int +WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE: int +WINHTTP_CALLBACK_STATUS_REQUEST_ERROR: int +WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE: int +API_RECEIVE_RESPONSE: int +API_QUERY_DATA_AVAILABLE: int +API_READ_DATA: int +API_WRITE_DATA: int +API_SEND_REQUEST: int +WINHTTP_CALLBACK_FLAG_RESOLVE_NAME: int +WINHTTP_CALLBACK_FLAG_CONNECT_TO_SERVER: int +WINHTTP_CALLBACK_FLAG_SEND_REQUEST: int +WINHTTP_CALLBACK_FLAG_RECEIVE_RESPONSE: int +WINHTTP_CALLBACK_FLAG_CLOSE_CONNECTION: int +WINHTTP_CALLBACK_FLAG_HANDLES: int +WINHTTP_CALLBACK_FLAG_DETECTING_PROXY: int +WINHTTP_CALLBACK_FLAG_REDIRECT: int +WINHTTP_CALLBACK_FLAG_INTERMEDIATE_RESPONSE: int +WINHTTP_CALLBACK_FLAG_SECURE_FAILURE: int +WINHTTP_CALLBACK_FLAG_SENDREQUEST_COMPLETE: int +WINHTTP_CALLBACK_FLAG_HEADERS_AVAILABLE: int +WINHTTP_CALLBACK_FLAG_DATA_AVAILABLE: int +WINHTTP_CALLBACK_FLAG_READ_COMPLETE: int +WINHTTP_CALLBACK_FLAG_WRITE_COMPLETE: int +WINHTTP_CALLBACK_FLAG_REQUEST_ERROR: int +WINHTTP_CALLBACK_FLAG_ALL_COMPLETIONS: int +WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS: int +WINHTTP_QUERY_MIME_VERSION: int +WINHTTP_QUERY_CONTENT_TYPE: int +WINHTTP_QUERY_CONTENT_TRANSFER_ENCODING: int +WINHTTP_QUERY_CONTENT_ID: int +WINHTTP_QUERY_CONTENT_DESCRIPTION: int +WINHTTP_QUERY_CONTENT_LENGTH: int +WINHTTP_QUERY_CONTENT_LANGUAGE: int +WINHTTP_QUERY_ALLOW: int +WINHTTP_QUERY_PUBLIC: int +WINHTTP_QUERY_DATE: int +WINHTTP_QUERY_EXPIRES: int +WINHTTP_QUERY_LAST_MODIFIED: int +WINHTTP_QUERY_MESSAGE_ID: int +WINHTTP_QUERY_URI: int +WINHTTP_QUERY_DERIVED_FROM: int +WINHTTP_QUERY_COST: int +WINHTTP_QUERY_LINK: int +WINHTTP_QUERY_PRAGMA: int +WINHTTP_QUERY_VERSION: int +WINHTTP_QUERY_STATUS_CODE: int +WINHTTP_QUERY_STATUS_TEXT: int +WINHTTP_QUERY_RAW_HEADERS: int +WINHTTP_QUERY_RAW_HEADERS_CRLF: int +WINHTTP_QUERY_CONNECTION: int +WINHTTP_QUERY_ACCEPT: int +WINHTTP_QUERY_ACCEPT_CHARSET: int +WINHTTP_QUERY_ACCEPT_ENCODING: int +WINHTTP_QUERY_ACCEPT_LANGUAGE: int +WINHTTP_QUERY_AUTHORIZATION: int +WINHTTP_QUERY_CONTENT_ENCODING: int +WINHTTP_QUERY_FORWARDED: int +WINHTTP_QUERY_FROM: int +WINHTTP_QUERY_IF_MODIFIED_SINCE: int +WINHTTP_QUERY_LOCATION: int +WINHTTP_QUERY_ORIG_URI: int +WINHTTP_QUERY_REFERER: int +WINHTTP_QUERY_RETRY_AFTER: int +WINHTTP_QUERY_SERVER: int +WINHTTP_QUERY_TITLE: int +WINHTTP_QUERY_USER_AGENT: int +WINHTTP_QUERY_WWW_AUTHENTICATE: int +WINHTTP_QUERY_PROXY_AUTHENTICATE: int +WINHTTP_QUERY_ACCEPT_RANGES: int +WINHTTP_QUERY_SET_COOKIE: int +WINHTTP_QUERY_COOKIE: int +WINHTTP_QUERY_REQUEST_METHOD: int +WINHTTP_QUERY_REFRESH: int +WINHTTP_QUERY_CONTENT_DISPOSITION: int +WINHTTP_QUERY_AGE: int +WINHTTP_QUERY_CACHE_CONTROL: int +WINHTTP_QUERY_CONTENT_BASE: int +WINHTTP_QUERY_CONTENT_LOCATION: int +WINHTTP_QUERY_CONTENT_MD5: int +WINHTTP_QUERY_CONTENT_RANGE: int +WINHTTP_QUERY_ETAG: int +WINHTTP_QUERY_HOST: int +WINHTTP_QUERY_IF_MATCH: int +WINHTTP_QUERY_IF_NONE_MATCH: int +WINHTTP_QUERY_IF_RANGE: int +WINHTTP_QUERY_IF_UNMODIFIED_SINCE: int +WINHTTP_QUERY_MAX_FORWARDS: int +WINHTTP_QUERY_PROXY_AUTHORIZATION: int +WINHTTP_QUERY_RANGE: int +WINHTTP_QUERY_TRANSFER_ENCODING: int +WINHTTP_QUERY_UPGRADE: int +WINHTTP_QUERY_VARY: int +WINHTTP_QUERY_VIA: int +WINHTTP_QUERY_WARNING: int +WINHTTP_QUERY_EXPECT: int +WINHTTP_QUERY_PROXY_CONNECTION: int +WINHTTP_QUERY_UNLESS_MODIFIED_SINCE: int +WINHTTP_QUERY_PROXY_SUPPORT: int +WINHTTP_QUERY_AUTHENTICATION_INFO: int +WINHTTP_QUERY_PASSPORT_URLS: int +WINHTTP_QUERY_PASSPORT_CONFIG: int +WINHTTP_QUERY_MAX: int +WINHTTP_QUERY_CUSTOM: int +WINHTTP_QUERY_FLAG_REQUEST_HEADERS: int +WINHTTP_QUERY_FLAG_SYSTEMTIME: int +WINHTTP_QUERY_FLAG_NUMBER: int +HTTP_STATUS_WEBDAV_MULTI_STATUS: int +WINHTTP_ADDREQ_INDEX_MASK: int +WINHTTP_ADDREQ_FLAGS_MASK: int +WINHTTP_ADDREQ_FLAG_ADD_IF_NEW: int +WINHTTP_ADDREQ_FLAG_ADD: int +WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA: int +WINHTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON: int +WINHTTP_ADDREQ_FLAG_COALESCE: int +WINHTTP_ADDREQ_FLAG_REPLACE: int +WINHTTP_IGNORE_REQUEST_TOTAL_LENGTH: int +WINHTTP_ERROR_BASE: int +ERROR_WINHTTP_OUT_OF_HANDLES: int +ERROR_WINHTTP_TIMEOUT: int +ERROR_WINHTTP_INTERNAL_ERROR: int +ERROR_WINHTTP_INVALID_URL: int +ERROR_WINHTTP_UNRECOGNIZED_SCHEME: int +ERROR_WINHTTP_NAME_NOT_RESOLVED: int +ERROR_WINHTTP_INVALID_OPTION: int +ERROR_WINHTTP_OPTION_NOT_SETTABLE: int +ERROR_WINHTTP_SHUTDOWN: int +ERROR_WINHTTP_LOGIN_FAILURE: int +ERROR_WINHTTP_OPERATION_CANCELLED: int +ERROR_WINHTTP_INCORRECT_HANDLE_TYPE: int +ERROR_WINHTTP_INCORRECT_HANDLE_STATE: int +ERROR_WINHTTP_CANNOT_CONNECT: int +ERROR_WINHTTP_CONNECTION_ERROR: int +ERROR_WINHTTP_RESEND_REQUEST: int +ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED: int +ERROR_WINHTTP_CANNOT_CALL_BEFORE_OPEN: int +ERROR_WINHTTP_CANNOT_CALL_BEFORE_SEND: int +ERROR_WINHTTP_CANNOT_CALL_AFTER_SEND: int +ERROR_WINHTTP_CANNOT_CALL_AFTER_OPEN: int +ERROR_WINHTTP_HEADER_NOT_FOUND: int +ERROR_WINHTTP_INVALID_SERVER_RESPONSE: int +ERROR_WINHTTP_INVALID_HEADER: int +ERROR_WINHTTP_INVALID_QUERY_REQUEST: int +ERROR_WINHTTP_HEADER_ALREADY_EXISTS: int +ERROR_WINHTTP_REDIRECT_FAILED: int +ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR: int +ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT: int +ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT: int +ERROR_WINHTTP_NOT_INITIALIZED: int +ERROR_WINHTTP_SECURE_FAILURE: int +ERROR_WINHTTP_SECURE_CERT_DATE_INVALID: int +ERROR_WINHTTP_SECURE_CERT_CN_INVALID: int +ERROR_WINHTTP_SECURE_INVALID_CA: int +ERROR_WINHTTP_SECURE_CERT_REV_FAILED: int +ERROR_WINHTTP_SECURE_CHANNEL_ERROR: int +ERROR_WINHTTP_SECURE_INVALID_CERT: int +ERROR_WINHTTP_SECURE_CERT_REVOKED: int +ERROR_WINHTTP_SECURE_CERT_WRONG_USAGE: int +ERROR_WINHTTP_AUTODETECTION_FAILED: int +ERROR_WINHTTP_HEADER_COUNT_EXCEEDED: int +ERROR_WINHTTP_HEADER_SIZE_OVERFLOW: int +ERROR_WINHTTP_CHUNKED_ENCODING_HEADER_SIZE_OVERFLOW: int +ERROR_WINHTTP_RESPONSE_DRAIN_OVERFLOW: int +ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY: int +ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY: int +WINHTTP_ERROR_LAST: int +WINHTTP_NO_PROXY_NAME: None +WINHTTP_NO_PROXY_BYPASS: None +WINHTTP_NO_REFERER: None +WINHTTP_DEFAULT_ACCEPT_TYPES: None +WINHTTP_NO_ADDITIONAL_HEADERS: None +WINHTTP_NO_REQUEST_DATA: None +INTERNET_OPTION_LISTEN_TIMEOUT: int +WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST: int diff --git a/stubs/pywin32/win32/lib/win32netcon.pyi b/stubs/pywin32/win32/lib/win32netcon.pyi index cbe32eeb8acf..0538f443f18d 100644 --- a/stubs/pywin32/win32/lib/win32netcon.pyi +++ b/stubs/pywin32/win32/lib/win32netcon.pyi @@ -1,573 +1,571 @@ -from typing import Final - -CNLEN: Final = 15 -LM20_CNLEN: Final = 15 -DNLEN: Final = CNLEN -LM20_DNLEN: Final = LM20_CNLEN -UNCLEN: Final = 17 -LM20_UNCLEN: Final = 17 -NNLEN: Final = 80 -LM20_NNLEN: Final = 12 -RMLEN: Final = 98 -LM20_RMLEN: Final = 30 -SNLEN: Final = 80 -LM20_SNLEN: Final = 15 -STXTLEN: Final = 256 -LM20_STXTLEN: Final = 63 -PATHLEN: Final = 256 -LM20_PATHLEN: Final = 256 -DEVLEN: Final = 80 -LM20_DEVLEN: Final = 8 -EVLEN: Final = 16 -UNLEN: Final = 256 -LM20_UNLEN: Final = 20 -GNLEN: Final = UNLEN -LM20_GNLEN: Final = LM20_UNLEN -PWLEN: Final = 256 -LM20_PWLEN: Final = 14 -SHPWLEN: Final = 8 -CLTYPE_LEN: Final = 12 -MAXCOMMENTSZ: Final = 256 -LM20_MAXCOMMENTSZ: Final = 48 -QNLEN: Final = NNLEN -LM20_QNLEN: Final = LM20_NNLEN -ALERTSZ: Final = 128 -NETBIOS_NAME_LEN: Final = 16 -CRYPT_KEY_LEN: Final = 7 -CRYPT_TXT_LEN: Final = 8 -ENCRYPTED_PWLEN: Final = 16 -SESSION_PWLEN: Final = 24 -SESSION_CRYPT_KLEN: Final = 21 -PARMNUM_ALL: Final = 0 -PARM_ERROR_NONE: Final = 0 -PARMNUM_BASE_INFOLEVEL: Final = 1000 -NULL: Final = 0 -PLATFORM_ID_DOS: Final = 300 -PLATFORM_ID_OS2: Final = 400 -PLATFORM_ID_NT: Final = 500 -PLATFORM_ID_OSF: Final = 600 -PLATFORM_ID_VMS: Final = 700 -MAX_LANMAN_MESSAGE_ID: Final = 5799 -UF_SCRIPT: Final = 1 -UF_ACCOUNTDISABLE: Final = 2 -UF_HOMEDIR_REQUIRED: Final = 8 -UF_LOCKOUT: Final = 16 -UF_PASSWD_NOTREQD: Final = 32 -UF_PASSWD_CANT_CHANGE: Final = 64 -UF_TEMP_DUPLICATE_ACCOUNT: Final = 256 -UF_NORMAL_ACCOUNT: Final = 512 -UF_INTERDOMAIN_TRUST_ACCOUNT: Final = 2048 -UF_WORKSTATION_TRUST_ACCOUNT: Final = 4096 -UF_SERVER_TRUST_ACCOUNT: Final = 8192 -UF_MACHINE_ACCOUNT_MASK: Final = 14336 -UF_ACCOUNT_TYPE_MASK: Final = 15104 -UF_DONT_EXPIRE_PASSWD: Final = 65536 -UF_MNS_LOGON_ACCOUNT: Final = 131072 -UF_SETTABLE_BITS: Final = 211835 -FILTER_TEMP_DUPLICATE_ACCOUNT: Final = 1 -FILTER_NORMAL_ACCOUNT: Final = 2 -FILTER_INTERDOMAIN_TRUST_ACCOUNT: Final = 8 -FILTER_WORKSTATION_TRUST_ACCOUNT: Final = 16 -FILTER_SERVER_TRUST_ACCOUNT: Final = 32 -LG_INCLUDE_INDIRECT: Final = 1 -AF_OP_PRINT: Final = 1 -AF_OP_COMM: Final = 2 -AF_OP_SERVER: Final = 4 -AF_OP_ACCOUNTS: Final = 8 -AF_SETTABLE_BITS: Final = 15 -UAS_ROLE_STANDALONE: Final = 0 -UAS_ROLE_MEMBER: Final = 1 -UAS_ROLE_BACKUP: Final = 2 -UAS_ROLE_PRIMARY: Final = 3 -USER_NAME_PARMNUM: Final = 1 -USER_PASSWORD_PARMNUM: Final = 3 -USER_PASSWORD_AGE_PARMNUM: Final = 4 -USER_PRIV_PARMNUM: Final = 5 -USER_HOME_DIR_PARMNUM: Final = 6 -USER_COMMENT_PARMNUM: Final = 7 -USER_FLAGS_PARMNUM: Final = 8 -USER_SCRIPT_PATH_PARMNUM: Final = 9 -USER_AUTH_FLAGS_PARMNUM: Final = 10 -USER_FULL_NAME_PARMNUM: Final = 11 -USER_USR_COMMENT_PARMNUM: Final = 12 -USER_PARMS_PARMNUM: Final = 13 -USER_WORKSTATIONS_PARMNUM: Final = 14 -USER_LAST_LOGON_PARMNUM: Final = 15 -USER_LAST_LOGOFF_PARMNUM: Final = 16 -USER_ACCT_EXPIRES_PARMNUM: Final = 17 -USER_MAX_STORAGE_PARMNUM: Final = 18 -USER_UNITS_PER_WEEK_PARMNUM: Final = 19 -USER_LOGON_HOURS_PARMNUM: Final = 20 -USER_PAD_PW_COUNT_PARMNUM: Final = 21 -USER_NUM_LOGONS_PARMNUM: Final = 22 -USER_LOGON_SERVER_PARMNUM: Final = 23 -USER_COUNTRY_CODE_PARMNUM: Final = 24 -USER_CODE_PAGE_PARMNUM: Final = 25 -USER_PRIMARY_GROUP_PARMNUM: Final = 51 -USER_PROFILE: Final = 52 -USER_PROFILE_PARMNUM: Final = 52 -USER_HOME_DIR_DRIVE_PARMNUM: Final = 53 -USER_NAME_INFOLEVEL: Final = 1001 -USER_PASSWORD_INFOLEVEL: Final = 1003 -USER_PASSWORD_AGE_INFOLEVEL: Final = 1004 -USER_PRIV_INFOLEVEL: Final = 1005 -USER_HOME_DIR_INFOLEVEL: Final = 1006 -USER_COMMENT_INFOLEVEL: Final = 1007 -USER_FLAGS_INFOLEVEL: Final = 1008 -USER_SCRIPT_PATH_INFOLEVEL: Final = 1009 -USER_AUTH_FLAGS_INFOLEVEL: Final = 1010 -USER_FULL_NAME_INFOLEVEL: Final = 1011 -USER_USR_COMMENT_INFOLEVEL: Final = 1012 -USER_PARMS_INFOLEVEL: Final = 1013 -USER_WORKSTATIONS_INFOLEVEL: Final = 1014 -USER_LAST_LOGON_INFOLEVEL: Final = 1015 -USER_LAST_LOGOFF_INFOLEVEL: Final = 1016 -USER_ACCT_EXPIRES_INFOLEVEL: Final = 1017 -USER_MAX_STORAGE_INFOLEVEL: Final = 1018 -USER_UNITS_PER_WEEK_INFOLEVEL: Final = 1019 -USER_LOGON_HOURS_INFOLEVEL: Final = 1020 -USER_PAD_PW_COUNT_INFOLEVEL: Final = 1021 -USER_NUM_LOGONS_INFOLEVEL: Final = 1022 -USER_LOGON_SERVER_INFOLEVEL: Final = 1023 -USER_COUNTRY_CODE_INFOLEVEL: Final = 1024 -USER_CODE_PAGE_INFOLEVEL: Final = 1025 -USER_PRIMARY_GROUP_INFOLEVEL: Final = 1051 -USER_HOME_DIR_DRIVE_INFOLEVEL: Final = 1053 -NULL_USERSETINFO_PASSWD: Final = " " -UNITS_PER_DAY: Final = 24 -UNITS_PER_WEEK: Final = 168 -USER_PRIV_MASK: Final = 3 -USER_PRIV_GUEST: Final = 0 -USER_PRIV_USER: Final = 1 -USER_PRIV_ADMIN: Final = 2 -MAX_PASSWD_LEN: Final = PWLEN -DEF_MIN_PWLEN: Final = 6 -DEF_PWUNIQUENESS: Final = 5 -DEF_MAX_PWHIST: Final = 8 -DEF_MAX_BADPW: Final = 0 -VALIDATED_LOGON: Final = 0 -PASSWORD_EXPIRED: Final = 2 -NON_VALIDATED_LOGON: Final = 3 -VALID_LOGOFF: Final = 1 -MODALS_MIN_PASSWD_LEN_PARMNUM: Final = 1 -MODALS_MAX_PASSWD_AGE_PARMNUM: Final = 2 -MODALS_MIN_PASSWD_AGE_PARMNUM: Final = 3 -MODALS_FORCE_LOGOFF_PARMNUM: Final = 4 -MODALS_PASSWD_HIST_LEN_PARMNUM: Final = 5 -MODALS_ROLE_PARMNUM: Final = 6 -MODALS_PRIMARY_PARMNUM: Final = 7 -MODALS_DOMAIN_NAME_PARMNUM: Final = 8 -MODALS_DOMAIN_ID_PARMNUM: Final = 9 -MODALS_LOCKOUT_DURATION_PARMNUM: Final = 10 -MODALS_LOCKOUT_OBSERVATION_WINDOW_PARMNUM: Final = 11 -MODALS_LOCKOUT_THRESHOLD_PARMNUM: Final = 12 -MODALS_MIN_PASSWD_LEN_INFOLEVEL: Final = 1001 -MODALS_MAX_PASSWD_AGE_INFOLEVEL: Final = 1002 -MODALS_MIN_PASSWD_AGE_INFOLEVEL: Final = 1003 -MODALS_FORCE_LOGOFF_INFOLEVEL: Final = 1004 -MODALS_PASSWD_HIST_LEN_INFOLEVEL: Final = 1005 -MODALS_ROLE_INFOLEVEL: Final = 1006 -MODALS_PRIMARY_INFOLEVEL: Final = 1007 -MODALS_DOMAIN_NAME_INFOLEVEL: Final = 1008 -MODALS_DOMAIN_ID_INFOLEVEL: Final = 1009 -GROUPIDMASK: Final = 32768 -GROUP_ALL_PARMNUM: Final = 0 -GROUP_NAME_PARMNUM: Final = 1 -GROUP_COMMENT_PARMNUM: Final = 2 -GROUP_ATTRIBUTES_PARMNUM: Final = 3 -GROUP_ALL_INFOLEVEL: Final = 1000 -GROUP_NAME_INFOLEVEL: Final = 1001 -GROUP_COMMENT_INFOLEVEL: Final = 1002 -GROUP_ATTRIBUTES_INFOLEVEL: Final = 1003 -LOCALGROUP_NAME_PARMNUM: Final = 1 -LOCALGROUP_COMMENT_PARMNUM: Final = 2 -MAXPERMENTRIES: Final = 64 -ACCESS_NONE: Final = 0 -ACCESS_READ: Final = 1 -ACCESS_WRITE: Final = 2 -ACCESS_CREATE: Final = 4 -ACCESS_EXEC: Final = 8 -ACCESS_DELETE: Final = 16 -ACCESS_ATRIB: Final = 32 -ACCESS_PERM: Final = 64 -ACCESS_GROUP: Final = 32768 -ACCESS_AUDIT: Final = 1 -ACCESS_SUCCESS_OPEN: Final = 16 -ACCESS_SUCCESS_WRITE: Final = 32 -ACCESS_SUCCESS_DELETE: Final = 64 -ACCESS_SUCCESS_ACL: Final = 128 -ACCESS_SUCCESS_MASK: Final = 240 -ACCESS_FAIL_OPEN: Final = 256 -ACCESS_FAIL_WRITE: Final = 512 -ACCESS_FAIL_DELETE: Final = 1024 -ACCESS_FAIL_ACL: Final = 2048 -ACCESS_FAIL_MASK: Final = 3840 -ACCESS_FAIL_SHIFT: Final = 4 -ACCESS_RESOURCE_NAME_PARMNUM: Final = 1 -ACCESS_ATTR_PARMNUM: Final = 2 -ACCESS_COUNT_PARMNUM: Final = 3 -ACCESS_ACCESS_LIST_PARMNUM: Final = 4 -ACCESS_RESOURCE_NAME_INFOLEVEL: Final = 1001 -ACCESS_ATTR_INFOLEVEL: Final = 1002 -ACCESS_COUNT_INFOLEVEL: Final = 1003 -ACCESS_ACCESS_LIST_INFOLEVEL: Final = 1004 -ACCESS_LETTERS: Final = "RWCXDAP " -NETLOGON_CONTROL_QUERY: Final = 1 -NETLOGON_CONTROL_REPLICATE: Final = 2 -NETLOGON_CONTROL_SYNCHRONIZE: Final = 3 -NETLOGON_CONTROL_PDC_REPLICATE: Final = 4 -NETLOGON_CONTROL_REDISCOVER: Final = 5 -NETLOGON_CONTROL_TC_QUERY: Final = 6 -NETLOGON_CONTROL_TRANSPORT_NOTIFY: Final = 7 -NETLOGON_CONTROL_FIND_USER: Final = 8 -NETLOGON_CONTROL_UNLOAD_NETLOGON_DLL: Final = 65531 -NETLOGON_CONTROL_BACKUP_CHANGE_LOG: Final = 65532 -NETLOGON_CONTROL_TRUNCATE_LOG: Final = 65533 -NETLOGON_CONTROL_SET_DBFLAG: Final = 65534 -NETLOGON_CONTROL_BREAKPOINT: Final = 65535 -NETLOGON_REPLICATION_NEEDED: Final = 1 -NETLOGON_REPLICATION_IN_PROGRESS: Final = 2 -NETLOGON_FULL_SYNC_REPLICATION: Final = 4 -NETLOGON_REDO_NEEDED: Final = 8 +CNLEN: int +LM20_CNLEN: int +DNLEN: int +LM20_DNLEN: int +UNCLEN: int +LM20_UNCLEN: int +NNLEN: int +LM20_NNLEN: int +RMLEN: int +LM20_RMLEN: int +SNLEN: int +LM20_SNLEN: int +STXTLEN: int +LM20_STXTLEN: int +PATHLEN: int +LM20_PATHLEN: int +DEVLEN: int +LM20_DEVLEN: int +EVLEN: int +UNLEN: int +LM20_UNLEN: int +GNLEN: int +LM20_GNLEN: int +PWLEN: int +LM20_PWLEN: int +SHPWLEN: int +CLTYPE_LEN: int +MAXCOMMENTSZ: int +LM20_MAXCOMMENTSZ: int +QNLEN: int +LM20_QNLEN: int +ALERTSZ: int +NETBIOS_NAME_LEN: int +CRYPT_KEY_LEN: int +CRYPT_TXT_LEN: int +ENCRYPTED_PWLEN: int +SESSION_PWLEN: int +SESSION_CRYPT_KLEN: int +PARMNUM_ALL: int +PARM_ERROR_NONE: int +PARMNUM_BASE_INFOLEVEL: int +NULL: int +PLATFORM_ID_DOS: int +PLATFORM_ID_OS2: int +PLATFORM_ID_NT: int +PLATFORM_ID_OSF: int +PLATFORM_ID_VMS: int +MAX_LANMAN_MESSAGE_ID: int +UF_SCRIPT: int +UF_ACCOUNTDISABLE: int +UF_HOMEDIR_REQUIRED: int +UF_LOCKOUT: int +UF_PASSWD_NOTREQD: int +UF_PASSWD_CANT_CHANGE: int +UF_TEMP_DUPLICATE_ACCOUNT: int +UF_NORMAL_ACCOUNT: int +UF_INTERDOMAIN_TRUST_ACCOUNT: int +UF_WORKSTATION_TRUST_ACCOUNT: int +UF_SERVER_TRUST_ACCOUNT: int +UF_MACHINE_ACCOUNT_MASK: int +UF_ACCOUNT_TYPE_MASK: int +UF_DONT_EXPIRE_PASSWD: int +UF_MNS_LOGON_ACCOUNT: int +UF_SETTABLE_BITS: int +FILTER_TEMP_DUPLICATE_ACCOUNT: int +FILTER_NORMAL_ACCOUNT: int +FILTER_INTERDOMAIN_TRUST_ACCOUNT: int +FILTER_WORKSTATION_TRUST_ACCOUNT: int +FILTER_SERVER_TRUST_ACCOUNT: int +LG_INCLUDE_INDIRECT: int +AF_OP_PRINT: int +AF_OP_COMM: int +AF_OP_SERVER: int +AF_OP_ACCOUNTS: int +AF_SETTABLE_BITS: int +UAS_ROLE_STANDALONE: int +UAS_ROLE_MEMBER: int +UAS_ROLE_BACKUP: int +UAS_ROLE_PRIMARY: int +USER_NAME_PARMNUM: int +USER_PASSWORD_PARMNUM: int +USER_PASSWORD_AGE_PARMNUM: int +USER_PRIV_PARMNUM: int +USER_HOME_DIR_PARMNUM: int +USER_COMMENT_PARMNUM: int +USER_FLAGS_PARMNUM: int +USER_SCRIPT_PATH_PARMNUM: int +USER_AUTH_FLAGS_PARMNUM: int +USER_FULL_NAME_PARMNUM: int +USER_USR_COMMENT_PARMNUM: int +USER_PARMS_PARMNUM: int +USER_WORKSTATIONS_PARMNUM: int +USER_LAST_LOGON_PARMNUM: int +USER_LAST_LOGOFF_PARMNUM: int +USER_ACCT_EXPIRES_PARMNUM: int +USER_MAX_STORAGE_PARMNUM: int +USER_UNITS_PER_WEEK_PARMNUM: int +USER_LOGON_HOURS_PARMNUM: int +USER_PAD_PW_COUNT_PARMNUM: int +USER_NUM_LOGONS_PARMNUM: int +USER_LOGON_SERVER_PARMNUM: int +USER_COUNTRY_CODE_PARMNUM: int +USER_CODE_PAGE_PARMNUM: int +USER_PRIMARY_GROUP_PARMNUM: int +USER_PROFILE: int +USER_PROFILE_PARMNUM: int +USER_HOME_DIR_DRIVE_PARMNUM: int +USER_NAME_INFOLEVEL: int +USER_PASSWORD_INFOLEVEL: int +USER_PASSWORD_AGE_INFOLEVEL: int +USER_PRIV_INFOLEVEL: int +USER_HOME_DIR_INFOLEVEL: int +USER_COMMENT_INFOLEVEL: int +USER_FLAGS_INFOLEVEL: int +USER_SCRIPT_PATH_INFOLEVEL: int +USER_AUTH_FLAGS_INFOLEVEL: int +USER_FULL_NAME_INFOLEVEL: int +USER_USR_COMMENT_INFOLEVEL: int +USER_PARMS_INFOLEVEL: int +USER_WORKSTATIONS_INFOLEVEL: int +USER_LAST_LOGON_INFOLEVEL: int +USER_LAST_LOGOFF_INFOLEVEL: int +USER_ACCT_EXPIRES_INFOLEVEL: int +USER_MAX_STORAGE_INFOLEVEL: int +USER_UNITS_PER_WEEK_INFOLEVEL: int +USER_LOGON_HOURS_INFOLEVEL: int +USER_PAD_PW_COUNT_INFOLEVEL: int +USER_NUM_LOGONS_INFOLEVEL: int +USER_LOGON_SERVER_INFOLEVEL: int +USER_COUNTRY_CODE_INFOLEVEL: int +USER_CODE_PAGE_INFOLEVEL: int +USER_PRIMARY_GROUP_INFOLEVEL: int +USER_HOME_DIR_DRIVE_INFOLEVEL: int +NULL_USERSETINFO_PASSWD: str +UNITS_PER_DAY: int +UNITS_PER_WEEK: int +USER_PRIV_MASK: int +USER_PRIV_GUEST: int +USER_PRIV_USER: int +USER_PRIV_ADMIN: int +MAX_PASSWD_LEN: int +DEF_MIN_PWLEN: int +DEF_PWUNIQUENESS: int +DEF_MAX_PWHIST: int +DEF_MAX_BADPW: int +VALIDATED_LOGON: int +PASSWORD_EXPIRED: int +NON_VALIDATED_LOGON: int +VALID_LOGOFF: int +MODALS_MIN_PASSWD_LEN_PARMNUM: int +MODALS_MAX_PASSWD_AGE_PARMNUM: int +MODALS_MIN_PASSWD_AGE_PARMNUM: int +MODALS_FORCE_LOGOFF_PARMNUM: int +MODALS_PASSWD_HIST_LEN_PARMNUM: int +MODALS_ROLE_PARMNUM: int +MODALS_PRIMARY_PARMNUM: int +MODALS_DOMAIN_NAME_PARMNUM: int +MODALS_DOMAIN_ID_PARMNUM: int +MODALS_LOCKOUT_DURATION_PARMNUM: int +MODALS_LOCKOUT_OBSERVATION_WINDOW_PARMNUM: int +MODALS_LOCKOUT_THRESHOLD_PARMNUM: int +MODALS_MIN_PASSWD_LEN_INFOLEVEL: int +MODALS_MAX_PASSWD_AGE_INFOLEVEL: int +MODALS_MIN_PASSWD_AGE_INFOLEVEL: int +MODALS_FORCE_LOGOFF_INFOLEVEL: int +MODALS_PASSWD_HIST_LEN_INFOLEVEL: int +MODALS_ROLE_INFOLEVEL: int +MODALS_PRIMARY_INFOLEVEL: int +MODALS_DOMAIN_NAME_INFOLEVEL: int +MODALS_DOMAIN_ID_INFOLEVEL: int +GROUPIDMASK: int +GROUP_ALL_PARMNUM: int +GROUP_NAME_PARMNUM: int +GROUP_COMMENT_PARMNUM: int +GROUP_ATTRIBUTES_PARMNUM: int +GROUP_ALL_INFOLEVEL: int +GROUP_NAME_INFOLEVEL: int +GROUP_COMMENT_INFOLEVEL: int +GROUP_ATTRIBUTES_INFOLEVEL: int +LOCALGROUP_NAME_PARMNUM: int +LOCALGROUP_COMMENT_PARMNUM: int +MAXPERMENTRIES: int +ACCESS_NONE: int +ACCESS_READ: int +ACCESS_WRITE: int +ACCESS_CREATE: int +ACCESS_EXEC: int +ACCESS_DELETE: int +ACCESS_ATRIB: int +ACCESS_PERM: int +ACCESS_GROUP: int +ACCESS_AUDIT: int +ACCESS_SUCCESS_OPEN: int +ACCESS_SUCCESS_WRITE: int +ACCESS_SUCCESS_DELETE: int +ACCESS_SUCCESS_ACL: int +ACCESS_SUCCESS_MASK: int +ACCESS_FAIL_OPEN: int +ACCESS_FAIL_WRITE: int +ACCESS_FAIL_DELETE: int +ACCESS_FAIL_ACL: int +ACCESS_FAIL_MASK: int +ACCESS_FAIL_SHIFT: int +ACCESS_RESOURCE_NAME_PARMNUM: int +ACCESS_ATTR_PARMNUM: int +ACCESS_COUNT_PARMNUM: int +ACCESS_RESOURCE_NAME_INFOLEVEL: int +ACCESS_ATTR_INFOLEVEL: int +ACCESS_COUNT_INFOLEVEL: int +ACCESS_LETTERS: str +NETLOGON_CONTROL_QUERY: int +NETLOGON_CONTROL_REPLICATE: int +NETLOGON_CONTROL_SYNCHRONIZE: int +NETLOGON_CONTROL_PDC_REPLICATE: int +NETLOGON_CONTROL_REDISCOVER: int +NETLOGON_CONTROL_TC_QUERY: int +NETLOGON_CONTROL_TRANSPORT_NOTIFY: int +NETLOGON_CONTROL_FIND_USER: int +NETLOGON_CONTROL_UNLOAD_NETLOGON_DLL: int +NETLOGON_CONTROL_BACKUP_CHANGE_LOG: int +NETLOGON_CONTROL_TRUNCATE_LOG: int +NETLOGON_CONTROL_SET_DBFLAG: int +NETLOGON_CONTROL_BREAKPOINT: int +NETLOGON_REPLICATION_NEEDED: int +NETLOGON_REPLICATION_IN_PROGRESS: int +NETLOGON_FULL_SYNC_REPLICATION: int +NETLOGON_REDO_NEEDED: int def TEXT(x: str) -> str: ... -MAX_PREFERRED_LENGTH: Final = -1 -PARM_ERROR_UNKNOWN: Final = -1 -MESSAGE_FILENAME: Final = "NETMSG" -OS2MSG_FILENAME: Final = "BASE" -HELP_MSG_FILENAME: Final = "NETH" -BACKUP_MSG_FILENAME: Final = "BAK.MSG" -TIMEQ_FOREVER: Final = -1 -USER_MAXSTORAGE_UNLIMITED: Final = -1 -USER_NO_LOGOFF: Final = -1 -DEF_MAX_PWAGE: Final = TIMEQ_FOREVER -DEF_MIN_PWAGE: Final = 0 -DEF_FORCE_LOGOFF: Final = -1 -ONE_DAY: Final = 86400 -GROUP_SPECIALGRP_USERS: Final = "USERS" -GROUP_SPECIALGRP_ADMINS: Final = "ADMINS" -GROUP_SPECIALGRP_GUESTS: Final = "GUESTS" -GROUP_SPECIALGRP_LOCAL: Final = "LOCAL" -ACCESS_ALL: Final = 127 -SV_PLATFORM_ID_OS2: Final = 400 -SV_PLATFORM_ID_NT: Final = 500 -MAJOR_VERSION_MASK: Final = 15 -SV_TYPE_WORKSTATION: Final = 1 -SV_TYPE_SERVER: Final = 2 -SV_TYPE_SQLSERVER: Final = 4 -SV_TYPE_DOMAIN_CTRL: Final = 8 -SV_TYPE_DOMAIN_BAKCTRL: Final = 16 -SV_TYPE_TIME_SOURCE: Final = 32 -SV_TYPE_AFP: Final = 64 -SV_TYPE_NOVELL: Final = 128 -SV_TYPE_DOMAIN_MEMBER: Final = 256 -SV_TYPE_PRINTQ_SERVER: Final = 512 -SV_TYPE_DIALIN_SERVER: Final = 1024 -SV_TYPE_XENIX_SERVER: Final = 2048 -SV_TYPE_SERVER_UNIX: Final = SV_TYPE_XENIX_SERVER -SV_TYPE_NT: Final = 4096 -SV_TYPE_WFW: Final = 8192 -SV_TYPE_SERVER_MFPN: Final = 16384 -SV_TYPE_SERVER_NT: Final = 32768 -SV_TYPE_POTENTIAL_BROWSER: Final = 65536 -SV_TYPE_BACKUP_BROWSER: Final = 131072 -SV_TYPE_MASTER_BROWSER: Final = 262144 -SV_TYPE_DOMAIN_MASTER: Final = 524288 -SV_TYPE_SERVER_OSF: Final = 1048576 -SV_TYPE_SERVER_VMS: Final = 2097152 -SV_TYPE_WINDOWS: Final = 4194304 -SV_TYPE_DFS: Final = 8388608 -SV_TYPE_CLUSTER_NT: Final = 16777216 -SV_TYPE_DCE: Final = 268435456 -SV_TYPE_ALTERNATE_XPORT: Final = 536870912 -SV_TYPE_LOCAL_LIST_ONLY: Final = 1073741824 -SV_TYPE_DOMAIN_ENUM: Final = -2147483648 -SV_TYPE_ALL: Final = -1 -SV_NODISC: Final = -1 -SV_USERSECURITY: Final = 1 -SV_SHARESECURITY: Final = 0 -SV_HIDDEN: Final = 1 -SV_VISIBLE: Final = 0 -SV_PLATFORM_ID_PARMNUM: Final = 101 -SV_NAME_PARMNUM: Final = 102 -SV_VERSION_MAJOR_PARMNUM: Final = 103 -SV_VERSION_MINOR_PARMNUM: Final = 104 -SV_TYPE_PARMNUM: Final = 105 -SV_COMMENT_PARMNUM: Final = 5 -SV_USERS_PARMNUM: Final = 107 -SV_DISC_PARMNUM: Final = 10 -SV_HIDDEN_PARMNUM: Final = 16 -SV_ANNOUNCE_PARMNUM: Final = 17 -SV_ANNDELTA_PARMNUM: Final = 18 -SV_USERPATH_PARMNUM: Final = 112 -SV_ULIST_MTIME_PARMNUM: Final = 401 -SV_GLIST_MTIME_PARMNUM: Final = 402 -SV_ALIST_MTIME_PARMNUM: Final = 403 -SV_ALERTS_PARMNUM: Final = 11 -SV_SECURITY_PARMNUM: Final = 405 -SV_NUMADMIN_PARMNUM: Final = 406 -SV_LANMASK_PARMNUM: Final = 407 -SV_GUESTACC_PARMNUM: Final = 408 -SV_CHDEVQ_PARMNUM: Final = 410 -SV_CHDEVJOBS_PARMNUM: Final = 411 -SV_CONNECTIONS_PARMNUM: Final = 412 -SV_SHARES_PARMNUM: Final = 413 -SV_OPENFILES_PARMNUM: Final = 414 -SV_SESSREQS_PARMNUM: Final = 417 -SV_ACTIVELOCKS_PARMNUM: Final = 419 -SV_NUMREQBUF_PARMNUM: Final = 420 -SV_NUMBIGBUF_PARMNUM: Final = 422 -SV_NUMFILETASKS_PARMNUM: Final = 423 -SV_ALERTSCHED_PARMNUM: Final = 37 -SV_ERRORALERT_PARMNUM: Final = 38 -SV_LOGONALERT_PARMNUM: Final = 39 -SV_ACCESSALERT_PARMNUM: Final = 40 -SV_DISKALERT_PARMNUM: Final = 41 -SV_NETIOALERT_PARMNUM: Final = 42 -SV_MAXAUDITSZ_PARMNUM: Final = 43 -SV_SRVHEURISTICS_PARMNUM: Final = 431 -SV_SESSOPENS_PARMNUM: Final = 501 -SV_SESSVCS_PARMNUM: Final = 502 -SV_OPENSEARCH_PARMNUM: Final = 503 -SV_SIZREQBUF_PARMNUM: Final = 504 -SV_INITWORKITEMS_PARMNUM: Final = 505 -SV_MAXWORKITEMS_PARMNUM: Final = 506 -SV_RAWWORKITEMS_PARMNUM: Final = 507 -SV_IRPSTACKSIZE_PARMNUM: Final = 508 -SV_MAXRAWBUFLEN_PARMNUM: Final = 509 -SV_SESSUSERS_PARMNUM: Final = 510 -SV_SESSCONNS_PARMNUM: Final = 511 -SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM: Final = 512 -SV_MAXPAGEDMEMORYUSAGE_PARMNUM: Final = 513 -SV_ENABLESOFTCOMPAT_PARMNUM: Final = 514 -SV_ENABLEFORCEDLOGOFF_PARMNUM: Final = 515 -SV_TIMESOURCE_PARMNUM: Final = 516 -SV_ACCEPTDOWNLEVELAPIS_PARMNUM: Final = 517 -SV_LMANNOUNCE_PARMNUM: Final = 518 -SV_DOMAIN_PARMNUM: Final = 519 -SV_MAXCOPYREADLEN_PARMNUM: Final = 520 -SV_MAXCOPYWRITELEN_PARMNUM: Final = 521 -SV_MINKEEPSEARCH_PARMNUM: Final = 522 -SV_MAXKEEPSEARCH_PARMNUM: Final = 523 -SV_MINKEEPCOMPLSEARCH_PARMNUM: Final = 524 -SV_MAXKEEPCOMPLSEARCH_PARMNUM: Final = 525 -SV_THREADCOUNTADD_PARMNUM: Final = 526 -SV_NUMBLOCKTHREADS_PARMNUM: Final = 527 -SV_SCAVTIMEOUT_PARMNUM: Final = 528 -SV_MINRCVQUEUE_PARMNUM: Final = 529 -SV_MINFREEWORKITEMS_PARMNUM: Final = 530 -SV_XACTMEMSIZE_PARMNUM: Final = 531 -SV_THREADPRIORITY_PARMNUM: Final = 532 -SV_MAXMPXCT_PARMNUM: Final = 533 -SV_OPLOCKBREAKWAIT_PARMNUM: Final = 534 -SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM: Final = 535 -SV_ENABLEOPLOCKS_PARMNUM: Final = 536 -SV_ENABLEOPLOCKFORCECLOSE_PARMNUM: Final = 537 -SV_ENABLEFCBOPENS_PARMNUM: Final = 538 -SV_ENABLERAW_PARMNUM: Final = 539 -SV_ENABLESHAREDNETDRIVES_PARMNUM: Final = 540 -SV_MINFREECONNECTIONS_PARMNUM: Final = 541 -SV_MAXFREECONNECTIONS_PARMNUM: Final = 542 -SV_INITSESSTABLE_PARMNUM: Final = 543 -SV_INITCONNTABLE_PARMNUM: Final = 544 -SV_INITFILETABLE_PARMNUM: Final = 545 -SV_INITSEARCHTABLE_PARMNUM: Final = 546 -SV_ALERTSCHEDULE_PARMNUM: Final = 547 -SV_ERRORTHRESHOLD_PARMNUM: Final = 548 -SV_NETWORKERRORTHRESHOLD_PARMNUM: Final = 549 -SV_DISKSPACETHRESHOLD_PARMNUM: Final = 550 -SV_MAXLINKDELAY_PARMNUM: Final = 552 -SV_MINLINKTHROUGHPUT_PARMNUM: Final = 553 -SV_LINKINFOVALIDTIME_PARMNUM: Final = 554 -SV_SCAVQOSINFOUPDATETIME_PARMNUM: Final = 555 -SV_MAXWORKITEMIDLETIME_PARMNUM: Final = 556 -SV_MAXRAWWORKITEMS_PARMNUM: Final = 557 -SV_PRODUCTTYPE_PARMNUM: Final = 560 -SV_SERVERSIZE_PARMNUM: Final = 561 -SV_CONNECTIONLESSAUTODISC_PARMNUM: Final = 562 -SV_SHARINGVIOLATIONRETRIES_PARMNUM: Final = 563 -SV_SHARINGVIOLATIONDELAY_PARMNUM: Final = 564 -SV_MAXGLOBALOPENSEARCH_PARMNUM: Final = 565 -SV_REMOVEDUPLICATESEARCHES_PARMNUM: Final = 566 -SV_LOCKVIOLATIONRETRIES_PARMNUM: Final = 567 -SV_LOCKVIOLATIONOFFSET_PARMNUM: Final = 568 -SV_LOCKVIOLATIONDELAY_PARMNUM: Final = 569 -SV_MDLREADSWITCHOVER_PARMNUM: Final = 570 -SV_CACHEDOPENLIMIT_PARMNUM: Final = 571 -SV_CRITICALTHREADS_PARMNUM: Final = 572 -SV_RESTRICTNULLSESSACCESS_PARMNUM: Final = 573 -SV_ENABLEWFW311DIRECTIPX_PARMNUM: Final = 574 -SV_OTHERQUEUEAFFINITY_PARMNUM: Final = 575 -SV_QUEUESAMPLESECS_PARMNUM: Final = 576 -SV_BALANCECOUNT_PARMNUM: Final = 577 -SV_PREFERREDAFFINITY_PARMNUM: Final = 578 -SV_MAXFREERFCBS_PARMNUM: Final = 579 -SV_MAXFREEMFCBS_PARMNUM: Final = 580 -SV_MAXFREELFCBS_PARMNUM: Final = 581 -SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM: Final = 582 -SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM: Final = 583 -SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM: Final = 584 -SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM: Final = 585 -SV_MAXTHREADSPERQUEUE_PARMNUM: Final = 586 -SV_CACHEDDIRECTORYLIMIT_PARMNUM: Final = 587 -SV_MAXCOPYLENGTH_PARMNUM: Final = 588 -SV_ENABLEBULKTRANSFER_PARMNUM: Final = 589 -SV_ENABLECOMPRESSION_PARMNUM: Final = 590 -SV_AUTOSHAREWKS_PARMNUM: Final = 591 -SV_AUTOSHARESERVER_PARMNUM: Final = 592 -SV_ENABLESECURITYSIGNATURE_PARMNUM: Final = 593 -SV_REQUIRESECURITYSIGNATURE_PARMNUM: Final = 594 -SV_MINCLIENTBUFFERSIZE_PARMNUM: Final = 595 -SV_CONNECTIONNOSESSIONSTIMEOUT_PARMNUM: Final = 596 -SVI1_NUM_ELEMENTS: Final = 5 -SVI2_NUM_ELEMENTS: Final = 40 -SVI3_NUM_ELEMENTS: Final = 44 -SW_AUTOPROF_LOAD_MASK: Final = 1 -SW_AUTOPROF_SAVE_MASK: Final = 2 -SV_MAX_SRV_HEUR_LEN: Final = 32 -SV_USERS_PER_LICENSE: Final = 5 -SVTI2_REMAP_PIPE_NAMES: Final = 2 -SHARE_NETNAME_PARMNUM: Final = 1 -SHARE_TYPE_PARMNUM: Final = 3 -SHARE_REMARK_PARMNUM: Final = 4 -SHARE_PERMISSIONS_PARMNUM: Final = 5 -SHARE_MAX_USES_PARMNUM: Final = 6 -SHARE_CURRENT_USES_PARMNUM: Final = 7 -SHARE_PATH_PARMNUM: Final = 8 -SHARE_PASSWD_PARMNUM: Final = 9 -SHARE_FILE_SD_PARMNUM: Final = 501 -SHI1_NUM_ELEMENTS: Final = 4 -SHI2_NUM_ELEMENTS: Final = 10 -STYPE_DISKTREE: Final = 0 -STYPE_PRINTQ: Final = 1 -STYPE_DEVICE: Final = 2 -STYPE_IPC: Final = 3 -STYPE_SPECIAL: Final = -2147483648 -SHI1005_FLAGS_DFS: Final = 1 -SHI1005_FLAGS_DFS_ROOT: Final = 2 -COW_PERMACHINE: Final = 4 -COW_PERUSER: Final = 8 -CSC_CACHEABLE: Final = 16 -CSC_NOFLOWOPS: Final = 32 -CSC_AUTO_INWARD: Final = 64 -CSC_AUTO_OUTWARD: Final = 128 -SHI1005_VALID_FLAGS_SET: Final = 252 -SHI1007_VALID_FLAGS_SET: Final = SHI1005_VALID_FLAGS_SET -SESS_GUEST: Final = 1 -SESS_NOENCRYPTION: Final = 2 -SESI1_NUM_ELEMENTS: Final = 8 -SESI2_NUM_ELEMENTS: Final = 9 -PERM_FILE_READ: Final = 1 -PERM_FILE_WRITE: Final = 2 -PERM_FILE_CREATE: Final = 4 -WNNC_NET_MSNET: Final = 65536 -WNNC_NET_LANMAN: Final = 131072 -WNNC_NET_NETWARE: Final = 196608 -WNNC_NET_VINES: Final = 262144 -WNNC_NET_10NET: Final = 327680 -WNNC_NET_LOCUS: Final = 393216 -WNNC_NET_SUN_PC_NFS: Final = 458752 -WNNC_NET_LANSTEP: Final = 524288 -WNNC_NET_9TILES: Final = 589824 -WNNC_NET_LANTASTIC: Final = 655360 -WNNC_NET_AS400: Final = 720896 -WNNC_NET_FTP_NFS: Final = 786432 -WNNC_NET_PATHWORKS: Final = 851968 -WNNC_NET_LIFENET: Final = 917504 -WNNC_NET_POWERLAN: Final = 983040 -WNNC_NET_BWNFS: Final = 1048576 -WNNC_NET_COGENT: Final = 1114112 -WNNC_NET_FARALLON: Final = 1179648 -WNNC_NET_APPLETALK: Final = 1245184 -WNNC_NET_INTERGRAPH: Final = 1310720 -WNNC_NET_SYMFONET: Final = 1376256 -WNNC_NET_CLEARCASE: Final = 1441792 -WNNC_NET_FRONTIER: Final = 1507328 -WNNC_NET_BMC: Final = 1572864 -WNNC_NET_DCE: Final = 1638400 -WNNC_NET_DECORB: Final = 2097152 -WNNC_NET_PROTSTOR: Final = 2162688 -WNNC_NET_FJ_REDIR: Final = 2228224 -WNNC_NET_DISTINCT: Final = 2293760 -WNNC_NET_TWINS: Final = 2359296 -WNNC_NET_RDR2SAMPLE: Final = 2424832 -RESOURCE_CONNECTED: Final = 1 -RESOURCE_GLOBALNET: Final = 2 -RESOURCE_REMEMBERED: Final = 3 -RESOURCE_RECENT: Final = 4 -RESOURCE_CONTEXT: Final = 5 -RESOURCETYPE_ANY: Final = 0 -RESOURCETYPE_DISK: Final = 1 -RESOURCETYPE_PRINT: Final = 2 -RESOURCETYPE_RESERVED: Final = 8 -RESOURCETYPE_UNKNOWN: Final = -1 -RESOURCEUSAGE_CONNECTABLE: Final = 1 -RESOURCEUSAGE_CONTAINER: Final = 2 -RESOURCEUSAGE_NOLOCALDEVICE: Final = 4 -RESOURCEUSAGE_SIBLING: Final = 8 -RESOURCEUSAGE_ATTACHED: Final = 16 -RESOURCEUSAGE_ALL: Final = 19 -RESOURCEUSAGE_RESERVED: Final = -2147483648 -RESOURCEDISPLAYTYPE_GENERIC: Final = 0 -RESOURCEDISPLAYTYPE_DOMAIN: Final = 1 -RESOURCEDISPLAYTYPE_SERVER: Final = 2 -RESOURCEDISPLAYTYPE_SHARE: Final = 3 -RESOURCEDISPLAYTYPE_FILE: Final = 4 -RESOURCEDISPLAYTYPE_GROUP: Final = 5 -RESOURCEDISPLAYTYPE_NETWORK: Final = 6 -RESOURCEDISPLAYTYPE_ROOT: Final = 7 -RESOURCEDISPLAYTYPE_SHAREADMIN: Final = 8 -RESOURCEDISPLAYTYPE_DIRECTORY: Final = 9 -RESOURCEDISPLAYTYPE_TREE: Final = 10 -RESOURCEDISPLAYTYPE_NDSCONTAINER: Final = 11 -NETPROPERTY_PERSISTENT: Final = 1 -CONNECT_UPDATE_PROFILE: Final = 1 -CONNECT_UPDATE_RECENT: Final = 2 -CONNECT_TEMPORARY: Final = 4 -CONNECT_INTERACTIVE: Final = 8 -CONNECT_PROMPT: Final = 16 -CONNECT_NEED_DRIVE: Final = 32 -CONNECT_REFCOUNT: Final = 64 -CONNECT_REDIRECT: Final = 128 -CONNECT_LOCALDRIVE: Final = 256 -CONNECT_CURRENT_MEDIA: Final = 512 -CONNECT_DEFERRED: Final = 1024 -CONNECT_RESERVED: Final = -16777216 -CONNDLG_RO_PATH: Final = 1 -CONNDLG_CONN_POINT: Final = 2 -CONNDLG_USE_MRU: Final = 4 -CONNDLG_HIDE_BOX: Final = 8 -CONNDLG_PERSIST: Final = 16 -CONNDLG_NOT_PERSIST: Final = 32 -DISC_UPDATE_PROFILE: Final = 1 -DISC_NO_FORCE: Final = 64 -UNIVERSAL_NAME_INFO_LEVEL: Final = 1 -REMOTE_NAME_INFO_LEVEL: Final = 2 -WNFMT_MULTILINE: Final = 1 -WNFMT_ABBREVIATED: Final = 2 -WNFMT_INENUM: Final = 16 -WNFMT_CONNECTION: Final = 32 -NETINFO_DLL16: Final = 1 -NETINFO_DISKRED: Final = 4 -NETINFO_PRINTERRED: Final = 8 -RP_LOGON: Final = 1 -RP_INIFILE: Final = 2 -PP_DISPLAYERRORS: Final = 1 -WNCON_FORNETCARD: Final = 1 -WNCON_NOTROUTED: Final = 2 -WNCON_SLOWLINK: Final = 4 -WNCON_DYNAMIC: Final = 8 -NetSetupUnknown: Final = 0 -NetSetupMachine: Final = 1 -NetSetupWorkgroup: Final = 2 -NetSetupDomain: Final = 3 -NetSetupNonExistentDomain: Final = 4 -NetSetupDnsMachine: Final = 5 -NetSetupUnknownStatus: Final = 0 -NetSetupUnjoined: Final = 1 -NetSetupWorkgroupName: Final = 2 -NetSetupDomainName: Final = 3 -NetValidateAuthentication: Final = 1 -NetValidatePasswordChange: Final = 2 -NetValidatePasswordReset: Final = 3 +MAX_PREFERRED_LENGTH: int +PARM_ERROR_UNKNOWN: int +MESSAGE_FILENAME: str +OS2MSG_FILENAME: str +HELP_MSG_FILENAME: str +BACKUP_MSG_FILENAME: str +TIMEQ_FOREVER: int +USER_MAXSTORAGE_UNLIMITED: int +USER_NO_LOGOFF: int +DEF_MAX_PWAGE: int +DEF_MIN_PWAGE: int +DEF_FORCE_LOGOFF: int +ONE_DAY: int +GROUP_SPECIALGRP_USERS: str +GROUP_SPECIALGRP_ADMINS: str +GROUP_SPECIALGRP_GUESTS: str +GROUP_SPECIALGRP_LOCAL: str +ACCESS_ALL: int +SV_PLATFORM_ID_OS2: int +SV_PLATFORM_ID_NT: int +MAJOR_VERSION_MASK: int +SV_TYPE_WORKSTATION: int +SV_TYPE_SERVER: int +SV_TYPE_SQLSERVER: int +SV_TYPE_DOMAIN_CTRL: int +SV_TYPE_DOMAIN_BAKCTRL: int +SV_TYPE_TIME_SOURCE: int +SV_TYPE_AFP: int +SV_TYPE_NOVELL: int +SV_TYPE_DOMAIN_MEMBER: int +SV_TYPE_PRINTQ_SERVER: int +SV_TYPE_DIALIN_SERVER: int +SV_TYPE_XENIX_SERVER: int +SV_TYPE_SERVER_UNIX: int +SV_TYPE_NT: int +SV_TYPE_WFW: int +SV_TYPE_SERVER_MFPN: int +SV_TYPE_SERVER_NT: int +SV_TYPE_POTENTIAL_BROWSER: int +SV_TYPE_BACKUP_BROWSER: int +SV_TYPE_MASTER_BROWSER: int +SV_TYPE_DOMAIN_MASTER: int +SV_TYPE_SERVER_OSF: int +SV_TYPE_SERVER_VMS: int +SV_TYPE_WINDOWS: int +SV_TYPE_DFS: int +SV_TYPE_CLUSTER_NT: int +SV_TYPE_DCE: int +SV_TYPE_ALTERNATE_XPORT: int +SV_TYPE_DOMAIN_ENUM: int +SV_TYPE_ALL: int +SV_NODISC: int +SV_USERSECURITY: int +SV_SHARESECURITY: int +SV_HIDDEN: int +SV_VISIBLE: int +SV_PLATFORM_ID_PARMNUM: int +SV_NAME_PARMNUM: int +SV_VERSION_MAJOR_PARMNUM: int +SV_VERSION_MINOR_PARMNUM: int +SV_TYPE_PARMNUM: int +SV_COMMENT_PARMNUM: int +SV_USERS_PARMNUM: int +SV_DISC_PARMNUM: int +SV_HIDDEN_PARMNUM: int +SV_ANNOUNCE_PARMNUM: int +SV_ANNDELTA_PARMNUM: int +SV_USERPATH_PARMNUM: int +SV_ALERTS_PARMNUM: int +SV_SECURITY_PARMNUM: int +SV_NUMADMIN_PARMNUM: int +SV_LANMASK_PARMNUM: int +SV_GUESTACC_PARMNUM: int +SV_CHDEVQ_PARMNUM: int +SV_CHDEVJOBS_PARMNUM: int +SV_CONNECTIONS_PARMNUM: int +SV_SHARES_PARMNUM: int +SV_OPENFILES_PARMNUM: int +SV_SESSREQS_PARMNUM: int +SV_ACTIVELOCKS_PARMNUM: int +SV_NUMREQBUF_PARMNUM: int +SV_NUMBIGBUF_PARMNUM: int +SV_NUMFILETASKS_PARMNUM: int +SV_ALERTSCHED_PARMNUM: int +SV_ERRORALERT_PARMNUM: int +SV_LOGONALERT_PARMNUM: int +SV_ACCESSALERT_PARMNUM: int +SV_DISKALERT_PARMNUM: int +SV_NETIOALERT_PARMNUM: int +SV_MAXAUDITSZ_PARMNUM: int +SV_SRVHEURISTICS_PARMNUM: int +SV_SESSOPENS_PARMNUM: int +SV_SESSVCS_PARMNUM: int +SV_OPENSEARCH_PARMNUM: int +SV_SIZREQBUF_PARMNUM: int +SV_INITWORKITEMS_PARMNUM: int +SV_MAXWORKITEMS_PARMNUM: int +SV_RAWWORKITEMS_PARMNUM: int +SV_IRPSTACKSIZE_PARMNUM: int +SV_MAXRAWBUFLEN_PARMNUM: int +SV_SESSUSERS_PARMNUM: int +SV_SESSCONNS_PARMNUM: int +SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM: int +SV_MAXPAGEDMEMORYUSAGE_PARMNUM: int +SV_ENABLESOFTCOMPAT_PARMNUM: int +SV_ENABLEFORCEDLOGOFF_PARMNUM: int +SV_TIMESOURCE_PARMNUM: int +SV_ACCEPTDOWNLEVELAPIS_PARMNUM: int +SV_LMANNOUNCE_PARMNUM: int +SV_DOMAIN_PARMNUM: int +SV_MAXCOPYREADLEN_PARMNUM: int +SV_MAXCOPYWRITELEN_PARMNUM: int +SV_MINKEEPSEARCH_PARMNUM: int +SV_MAXKEEPSEARCH_PARMNUM: int +SV_MINKEEPCOMPLSEARCH_PARMNUM: int +SV_MAXKEEPCOMPLSEARCH_PARMNUM: int +SV_THREADCOUNTADD_PARMNUM: int +SV_NUMBLOCKTHREADS_PARMNUM: int +SV_SCAVTIMEOUT_PARMNUM: int +SV_MINRCVQUEUE_PARMNUM: int +SV_MINFREEWORKITEMS_PARMNUM: int +SV_XACTMEMSIZE_PARMNUM: int +SV_THREADPRIORITY_PARMNUM: int +SV_MAXMPXCT_PARMNUM: int +SV_OPLOCKBREAKWAIT_PARMNUM: int +SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM: int +SV_ENABLEOPLOCKS_PARMNUM: int +SV_ENABLEOPLOCKFORCECLOSE_PARMNUM: int +SV_ENABLEFCBOPENS_PARMNUM: int +SV_ENABLERAW_PARMNUM: int +SV_ENABLESHAREDNETDRIVES_PARMNUM: int +SV_MINFREECONNECTIONS_PARMNUM: int +SV_MAXFREECONNECTIONS_PARMNUM: int +SV_INITSESSTABLE_PARMNUM: int +SV_INITCONNTABLE_PARMNUM: int +SV_INITFILETABLE_PARMNUM: int +SV_INITSEARCHTABLE_PARMNUM: int +SV_ALERTSCHEDULE_PARMNUM: int +SV_ERRORTHRESHOLD_PARMNUM: int +SV_NETWORKERRORTHRESHOLD_PARMNUM: int +SV_DISKSPACETHRESHOLD_PARMNUM: int +SV_MAXLINKDELAY_PARMNUM: int +SV_MINLINKTHROUGHPUT_PARMNUM: int +SV_LINKINFOVALIDTIME_PARMNUM: int +SV_SCAVQOSINFOUPDATETIME_PARMNUM: int +SV_MAXWORKITEMIDLETIME_PARMNUM: int +SV_MAXRAWWORKITEMS_PARMNUM: int +SV_PRODUCTTYPE_PARMNUM: int +SV_SERVERSIZE_PARMNUM: int +SV_CONNECTIONLESSAUTODISC_PARMNUM: int +SV_SHARINGVIOLATIONRETRIES_PARMNUM: int +SV_SHARINGVIOLATIONDELAY_PARMNUM: int +SV_MAXGLOBALOPENSEARCH_PARMNUM: int +SV_REMOVEDUPLICATESEARCHES_PARMNUM: int +SV_LOCKVIOLATIONRETRIES_PARMNUM: int +SV_LOCKVIOLATIONOFFSET_PARMNUM: int +SV_LOCKVIOLATIONDELAY_PARMNUM: int +SV_MDLREADSWITCHOVER_PARMNUM: int +SV_CACHEDOPENLIMIT_PARMNUM: int +SV_CRITICALTHREADS_PARMNUM: int +SV_RESTRICTNULLSESSACCESS_PARMNUM: int +SV_ENABLEWFW311DIRECTIPX_PARMNUM: int +SV_OTHERQUEUEAFFINITY_PARMNUM: int +SV_QUEUESAMPLESECS_PARMNUM: int +SV_BALANCECOUNT_PARMNUM: int +SV_PREFERREDAFFINITY_PARMNUM: int +SV_MAXFREERFCBS_PARMNUM: int +SV_MAXFREEMFCBS_PARMNUM: int +SV_MAXFREELFCBS_PARMNUM: int +SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM: int +SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM: int +SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM: int +SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM: int +SV_MAXTHREADSPERQUEUE_PARMNUM: int +SV_CACHEDDIRECTORYLIMIT_PARMNUM: int +SV_MAXCOPYLENGTH_PARMNUM: int +SV_ENABLEBULKTRANSFER_PARMNUM: int +SV_ENABLECOMPRESSION_PARMNUM: int +SV_AUTOSHAREWKS_PARMNUM: int +SV_AUTOSHARESERVER_PARMNUM: int +SV_ENABLESECURITYSIGNATURE_PARMNUM: int +SV_REQUIRESECURITYSIGNATURE_PARMNUM: int +SV_MINCLIENTBUFFERSIZE_PARMNUM: int +SV_CONNECTIONNOSESSIONSTIMEOUT_PARMNUM: int +SVI1_NUM_ELEMENTS: int +SVI2_NUM_ELEMENTS: int +SVI3_NUM_ELEMENTS: int +SW_AUTOPROF_LOAD_MASK: int +SW_AUTOPROF_SAVE_MASK: int +SV_MAX_SRV_HEUR_LEN: int +SV_USERS_PER_LICENSE: int +SVTI2_REMAP_PIPE_NAMES: int +SHARE_NETNAME_PARMNUM: int +SHARE_TYPE_PARMNUM: int +SHARE_REMARK_PARMNUM: int +SHARE_PERMISSIONS_PARMNUM: int +SHARE_MAX_USES_PARMNUM: int +SHARE_CURRENT_USES_PARMNUM: int +SHARE_PATH_PARMNUM: int +SHARE_PASSWD_PARMNUM: int +SHARE_FILE_SD_PARMNUM: int +SHI1_NUM_ELEMENTS: int +SHI2_NUM_ELEMENTS: int +STYPE_DISKTREE: int +STYPE_PRINTQ: int +STYPE_DEVICE: int +STYPE_IPC: int +STYPE_SPECIAL: int +SHI1005_FLAGS_DFS: int +SHI1005_FLAGS_DFS_ROOT: int +COW_PERMACHINE: int +COW_PERUSER: int +CSC_CACHEABLE: int +CSC_NOFLOWOPS: int +CSC_AUTO_INWARD: int +CSC_AUTO_OUTWARD: int +SHI1005_VALID_FLAGS_SET: int +SHI1007_VALID_FLAGS_SET: int +SESS_GUEST: int +SESS_NOENCRYPTION: int +SESI1_NUM_ELEMENTS: int +SESI2_NUM_ELEMENTS: int +PERM_FILE_READ: int +PERM_FILE_WRITE: int +PERM_FILE_CREATE: int +WNNC_NET_MSNET: int +WNNC_NET_LANMAN: int +WNNC_NET_NETWARE: int +WNNC_NET_VINES: int +WNNC_NET_10NET: int +WNNC_NET_LOCUS: int +WNNC_NET_SUN_PC_NFS: int +WNNC_NET_LANSTEP: int +WNNC_NET_9TILES: int +WNNC_NET_LANTASTIC: int +WNNC_NET_AS400: int +WNNC_NET_FTP_NFS: int +WNNC_NET_PATHWORKS: int +WNNC_NET_LIFENET: int +WNNC_NET_POWERLAN: int +WNNC_NET_BWNFS: int +WNNC_NET_COGENT: int +WNNC_NET_FARALLON: int +WNNC_NET_APPLETALK: int +WNNC_NET_INTERGRAPH: int +WNNC_NET_SYMFONET: int +WNNC_NET_CLEARCASE: int +WNNC_NET_FRONTIER: int +WNNC_NET_BMC: int +WNNC_NET_DCE: int +WNNC_NET_DECORB: int +WNNC_NET_PROTSTOR: int +WNNC_NET_FJ_REDIR: int +WNNC_NET_DISTINCT: int +WNNC_NET_TWINS: int +WNNC_NET_RDR2SAMPLE: int +RESOURCE_CONNECTED: int +RESOURCE_GLOBALNET: int +RESOURCE_REMEMBERED: int +RESOURCE_RECENT: int +RESOURCE_CONTEXT: int +RESOURCETYPE_ANY: int +RESOURCETYPE_DISK: int +RESOURCETYPE_PRINT: int +RESOURCETYPE_RESERVED: int +RESOURCETYPE_UNKNOWN: int +RESOURCEUSAGE_CONNECTABLE: int +RESOURCEUSAGE_CONTAINER: int +RESOURCEUSAGE_NOLOCALDEVICE: int +RESOURCEUSAGE_SIBLING: int +RESOURCEUSAGE_ATTACHED: int +RESOURCEUSAGE_ALL: int +RESOURCEUSAGE_RESERVED: int +RESOURCEDISPLAYTYPE_GENERIC: int +RESOURCEDISPLAYTYPE_DOMAIN: int +RESOURCEDISPLAYTYPE_SERVER: int +RESOURCEDISPLAYTYPE_SHARE: int +RESOURCEDISPLAYTYPE_FILE: int +RESOURCEDISPLAYTYPE_GROUP: int +RESOURCEDISPLAYTYPE_NETWORK: int +RESOURCEDISPLAYTYPE_ROOT: int +RESOURCEDISPLAYTYPE_SHAREADMIN: int +RESOURCEDISPLAYTYPE_DIRECTORY: int +RESOURCEDISPLAYTYPE_TREE: int +RESOURCEDISPLAYTYPE_NDSCONTAINER: int +NETPROPERTY_PERSISTENT: int +CONNECT_UPDATE_PROFILE: int +CONNECT_UPDATE_RECENT: int +CONNECT_TEMPORARY: int +CONNECT_INTERACTIVE: int +CONNECT_PROMPT: int +CONNECT_NEED_DRIVE: int +CONNECT_REFCOUNT: int +CONNECT_REDIRECT: int +CONNECT_LOCALDRIVE: int +CONNECT_CURRENT_MEDIA: int +CONNECT_DEFERRED: int +CONNECT_RESERVED: int +CONNDLG_RO_PATH: int +CONNDLG_CONN_POINT: int +CONNDLG_USE_MRU: int +CONNDLG_HIDE_BOX: int +CONNDLG_PERSIST: int +CONNDLG_NOT_PERSIST: int +DISC_UPDATE_PROFILE: int +DISC_NO_FORCE: int +UNIVERSAL_NAME_INFO_LEVEL: int +REMOTE_NAME_INFO_LEVEL: int +WNFMT_MULTILINE: int +WNFMT_ABBREVIATED: int +WNFMT_INENUM: int +WNFMT_CONNECTION: int +NETINFO_DLL16: int +NETINFO_DISKRED: int +NETINFO_PRINTERRED: int +RP_LOGON: int +RP_INIFILE: int +PP_DISPLAYERRORS: int +WNCON_FORNETCARD: int +WNCON_NOTROUTED: int +WNCON_SLOWLINK: int +WNCON_DYNAMIC: int +NetSetupUnknown: int +NetSetupMachine: int +NetSetupWorkgroup: int +NetSetupDomain: int +NetSetupNonExistentDomain: int +NetSetupDnsMachine: int +NetSetupUnknownStatus: int +NetSetupUnjoined: int +NetSetupWorkgroupName: int +NetSetupDomainName: int +NetValidateAuthentication: int +NetValidatePasswordChange: int +NetValidatePasswordReset: int +ACCESS_ACCESS_LIST_INFOLEVEL: int +ACCESS_ACCESS_LIST_PARMNUM: int +SV_ALIST_MTIME_PARMNUM: int +SV_GLIST_MTIME_PARMNUM: int +SV_TYPE_LOCAL_LIST_ONLY: int +SV_ULIST_MTIME_PARMNUM: int diff --git a/stubs/pywin32/win32/lib/winioctlcon.pyi b/stubs/pywin32/win32/lib/winioctlcon.pyi index 1811b24aef2e..49028ceb8a9b 100644 --- a/stubs/pywin32/win32/lib/winioctlcon.pyi +++ b/stubs/pywin32/win32/lib/winioctlcon.pyi @@ -1,662 +1,661 @@ -from typing import Final - import _win32typing -from ntsecuritycon import FILE_READ_DATA as FILE_READ_DATA, FILE_WRITE_DATA as FILE_WRITE_DATA def CTL_CODE(DeviceType: int, Function: int, Method: int, Access: int) -> int: ... def DEVICE_TYPE_FROM_CTL_CODE(ctrlCode: int) -> int: ... -FILE_DEVICE_BEEP: Final = 0x00000001 -FILE_DEVICE_CD_ROM: Final = 0x00000002 -FILE_DEVICE_CD_ROM_FILE_SYSTEM: Final = 0x00000003 -FILE_DEVICE_CONTROLLER: Final = 0x00000004 -FILE_DEVICE_DATALINK: Final = 0x00000005 -FILE_DEVICE_DFS: Final = 0x00000006 -FILE_DEVICE_DISK: Final = 0x00000007 -FILE_DEVICE_DISK_FILE_SYSTEM: Final = 0x00000008 -FILE_DEVICE_FILE_SYSTEM: Final = 0x00000009 -FILE_DEVICE_INPORT_PORT: Final = 0x0000000A -FILE_DEVICE_KEYBOARD: Final = 0x0000000B -FILE_DEVICE_MAILSLOT: Final = 0x0000000C -FILE_DEVICE_MIDI_IN: Final = 0x0000000D -FILE_DEVICE_MIDI_OUT: Final = 0x0000000E -FILE_DEVICE_MOUSE: Final = 0x0000000F -FILE_DEVICE_MULTI_UNC_PROVIDER: Final = 0x00000010 -FILE_DEVICE_NAMED_PIPE: Final = 0x00000011 -FILE_DEVICE_NETWORK: Final = 0x00000012 -FILE_DEVICE_NETWORK_BROWSER: Final = 0x00000013 -FILE_DEVICE_NETWORK_FILE_SYSTEM: Final = 0x00000014 -FILE_DEVICE_NULL: Final = 0x00000015 -FILE_DEVICE_PARALLEL_PORT: Final = 0x00000016 -FILE_DEVICE_PHYSICAL_NETCARD: Final = 0x00000017 -FILE_DEVICE_PRINTER: Final = 0x00000018 -FILE_DEVICE_SCANNER: Final = 0x00000019 -FILE_DEVICE_SERIAL_MOUSE_PORT: Final = 0x0000001A -FILE_DEVICE_SERIAL_PORT: Final = 0x0000001B -FILE_DEVICE_SCREEN: Final = 0x0000001C -FILE_DEVICE_SOUND: Final = 0x0000001D -FILE_DEVICE_STREAMS: Final = 0x0000001E -FILE_DEVICE_TAPE: Final = 0x0000001F -FILE_DEVICE_TAPE_FILE_SYSTEM: Final = 0x00000020 -FILE_DEVICE_TRANSPORT: Final = 0x00000021 -FILE_DEVICE_UNKNOWN: Final = 0x00000022 -FILE_DEVICE_VIDEO: Final = 0x00000023 -FILE_DEVICE_VIRTUAL_DISK: Final = 0x00000024 -FILE_DEVICE_WAVE_IN: Final = 0x00000025 -FILE_DEVICE_WAVE_OUT: Final = 0x00000026 -FILE_DEVICE_8042_PORT: Final = 0x00000027 -FILE_DEVICE_NETWORK_REDIRECTOR: Final = 0x00000028 -FILE_DEVICE_BATTERY: Final = 0x00000029 -FILE_DEVICE_BUS_EXTENDER: Final = 0x0000002A -FILE_DEVICE_MODEM: Final = 0x0000002B -FILE_DEVICE_VDM: Final = 0x0000002C -FILE_DEVICE_MASS_STORAGE: Final = 0x0000002D -FILE_DEVICE_SMB: Final = 0x0000002E -FILE_DEVICE_KS: Final = 0x0000002F -FILE_DEVICE_CHANGER: Final = 0x00000030 -FILE_DEVICE_SMARTCARD: Final = 0x00000031 -FILE_DEVICE_ACPI: Final = 0x00000032 -FILE_DEVICE_DVD: Final = 0x00000033 -FILE_DEVICE_FULLSCREEN_VIDEO: Final = 0x00000034 -FILE_DEVICE_DFS_FILE_SYSTEM: Final = 0x00000035 -FILE_DEVICE_DFS_VOLUME: Final = 0x00000036 -FILE_DEVICE_SERENUM: Final = 0x00000037 -FILE_DEVICE_TERMSRV: Final = 0x00000038 -FILE_DEVICE_KSEC: Final = 0x00000039 -FILE_DEVICE_FIPS: Final = 0x0000003A -FILE_DEVICE_INFINIBAND: Final = 0x0000003B -METHOD_BUFFERED: Final = 0 -METHOD_IN_DIRECT: Final = 1 -METHOD_OUT_DIRECT: Final = 2 -METHOD_NEITHER: Final = 3 -METHOD_DIRECT_TO_HARDWARE: Final = METHOD_IN_DIRECT -METHOD_DIRECT_FROM_HARDWARE: Final = METHOD_OUT_DIRECT -FILE_ANY_ACCESS: Final = 0 -FILE_SPECIAL_ACCESS: Final = FILE_ANY_ACCESS -FILE_READ_ACCESS: Final = 0x0001 -FILE_WRITE_ACCESS: Final = 0x0002 -IOCTL_STORAGE_BASE: Final = FILE_DEVICE_MASS_STORAGE -RECOVERED_WRITES_VALID: Final = 0x00000001 -UNRECOVERED_WRITES_VALID: Final = 0x00000002 -RECOVERED_READS_VALID: Final = 0x00000004 -UNRECOVERED_READS_VALID: Final = 0x00000008 -WRITE_COMPRESSION_INFO_VALID: Final = 0x00000010 -READ_COMPRESSION_INFO_VALID: Final = 0x00000020 -TAPE_RETURN_STATISTICS: Final = 0 -TAPE_RETURN_ENV_INFO: Final = 1 -TAPE_RESET_STATISTICS: Final = 2 -MEDIA_ERASEABLE: Final = 0x00000001 -MEDIA_WRITE_ONCE: Final = 0x00000002 -MEDIA_READ_ONLY: Final = 0x00000004 -MEDIA_READ_WRITE: Final = 0x00000008 -MEDIA_WRITE_PROTECTED: Final = 0x00000100 -MEDIA_CURRENTLY_MOUNTED: Final = 0x80000000 -IOCTL_DISK_BASE: Final = FILE_DEVICE_DISK -PARTITION_ENTRY_UNUSED: Final = 0x00 -PARTITION_FAT_12: Final = 0x01 -PARTITION_XENIX_1: Final = 0x02 -PARTITION_XENIX_2: Final = 0x03 -PARTITION_FAT_16: Final = 0x04 -PARTITION_EXTENDED: Final = 0x05 -PARTITION_HUGE: Final = 0x06 -PARTITION_IFS: Final = 0x07 -PARTITION_OS2BOOTMGR: Final = 0x0A -PARTITION_FAT32: Final = 0x0B -PARTITION_FAT32_XINT13: Final = 0x0C -PARTITION_XINT13: Final = 0x0E -PARTITION_XINT13_EXTENDED: Final = 0x0F -PARTITION_PREP: Final = 0x41 -PARTITION_LDM: Final = 0x42 -PARTITION_UNIX: Final = 0x63 -VALID_NTFT: Final = 0xC0 -PARTITION_NTFT: Final = 0x80 -GPT_ATTRIBUTE_PLATFORM_REQUIRED: Final = 0x00000001 -GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER: Final[int] -GPT_BASIC_DATA_ATTRIBUTE_HIDDEN: Final[int] -GPT_BASIC_DATA_ATTRIBUTE_SHADOW_COPY: Final[int] -GPT_BASIC_DATA_ATTRIBUTE_READ_ONLY: Final[int] -HIST_NO_OF_BUCKETS: Final = 24 -DISK_LOGGING_START: Final = 0 -DISK_LOGGING_STOP: Final = 1 -DISK_LOGGING_DUMP: Final = 2 -DISK_BINNING: Final = 3 -CAP_ATA_ID_CMD: Final = 1 -CAP_ATAPI_ID_CMD: Final = 2 -CAP_SMART_CMD: Final = 4 -ATAPI_ID_CMD: Final = 0xA1 -ID_CMD: Final = 0xEC -SMART_CMD: Final = 0xB0 -SMART_CYL_LOW: Final = 0x4F -SMART_CYL_HI: Final = 0xC2 -SMART_NO_ERROR: Final = 0 -SMART_IDE_ERROR: Final = 1 -SMART_INVALID_FLAG: Final = 2 -SMART_INVALID_COMMAND: Final = 3 -SMART_INVALID_BUFFER: Final = 4 -SMART_INVALID_DRIVE: Final = 5 -SMART_INVALID_IOCTL: Final = 6 -SMART_ERROR_NO_MEM: Final = 7 -SMART_INVALID_REGISTER: Final = 8 -SMART_NOT_SUPPORTED: Final = 9 -SMART_NO_IDE_DEVICE: Final = 10 -SMART_OFFLINE_ROUTINE_OFFLINE: Final = 0 -SMART_SHORT_SELFTEST_OFFLINE: Final = 1 -SMART_EXTENDED_SELFTEST_OFFLINE: Final = 2 -SMART_ABORT_OFFLINE_SELFTEST: Final = 127 -SMART_SHORT_SELFTEST_CAPTIVE: Final = 129 -SMART_EXTENDED_SELFTEST_CAPTIVE: Final = 130 -READ_ATTRIBUTE_BUFFER_SIZE: Final = 512 -IDENTIFY_BUFFER_SIZE: Final = 512 -READ_THRESHOLD_BUFFER_SIZE: Final = 512 -SMART_LOG_SECTOR_SIZE: Final = 512 -READ_ATTRIBUTES: Final = 0xD0 -READ_THRESHOLDS: Final = 0xD1 -ENABLE_DISABLE_AUTOSAVE: Final = 0xD2 -SAVE_ATTRIBUTE_VALUES: Final = 0xD3 -EXECUTE_OFFLINE_DIAGS: Final = 0xD4 -SMART_READ_LOG: Final = 0xD5 -SMART_WRITE_LOG: Final = 0xD6 -ENABLE_SMART: Final = 0xD8 -DISABLE_SMART: Final = 0xD9 -RETURN_SMART_STATUS: Final = 0xDA -ENABLE_DISABLE_AUTO_OFFLINE: Final = 0xDB -IOCTL_CHANGER_BASE: Final = FILE_DEVICE_CHANGER -MAX_VOLUME_ID_SIZE: Final = 36 -MAX_VOLUME_TEMPLATE_SIZE: Final = 40 -VENDOR_ID_LENGTH: Final = 8 -PRODUCT_ID_LENGTH: Final = 16 -REVISION_LENGTH: Final = 4 -SERIAL_NUMBER_LENGTH: Final = 32 -CHANGER_BAR_CODE_SCANNER_INSTALLED: Final = 0x00000001 -CHANGER_INIT_ELEM_STAT_WITH_RANGE: Final = 0x00000002 -CHANGER_CLOSE_IEPORT: Final = 0x00000004 -CHANGER_OPEN_IEPORT: Final = 0x00000008 -CHANGER_STATUS_NON_VOLATILE: Final = 0x00000010 -CHANGER_EXCHANGE_MEDIA: Final = 0x00000020 -CHANGER_CLEANER_SLOT: Final = 0x00000040 -CHANGER_LOCK_UNLOCK: Final = 0x00000080 -CHANGER_CARTRIDGE_MAGAZINE: Final = 0x00000100 -CHANGER_MEDIUM_FLIP: Final = 0x00000200 -CHANGER_POSITION_TO_ELEMENT: Final = 0x00000400 -CHANGER_REPORT_IEPORT_STATE: Final = 0x00000800 -CHANGER_STORAGE_DRIVE: Final = 0x00001000 -CHANGER_STORAGE_IEPORT: Final = 0x00002000 -CHANGER_STORAGE_SLOT: Final = 0x00004000 -CHANGER_STORAGE_TRANSPORT: Final = 0x00008000 -CHANGER_DRIVE_CLEANING_REQUIRED: Final = 0x00010000 -CHANGER_PREDISMOUNT_EJECT_REQUIRED: Final = 0x00020000 -CHANGER_CLEANER_ACCESS_NOT_VALID: Final = 0x00040000 -CHANGER_PREMOUNT_EJECT_REQUIRED: Final = 0x00080000 -CHANGER_VOLUME_IDENTIFICATION: Final = 0x00100000 -CHANGER_VOLUME_SEARCH: Final = 0x00200000 -CHANGER_VOLUME_ASSERT: Final = 0x00400000 -CHANGER_VOLUME_REPLACE: Final = 0x00800000 -CHANGER_VOLUME_UNDEFINE: Final = 0x01000000 -CHANGER_SERIAL_NUMBER_VALID: Final = 0x04000000 -CHANGER_DEVICE_REINITIALIZE_CAPABLE: Final = 0x08000000 -CHANGER_KEYPAD_ENABLE_DISABLE: Final = 0x10000000 -CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS: Final = 0x20000000 -CHANGER_RESERVED_BIT: Final = 0x80000000 -CHANGER_PREDISMOUNT_ALIGN_TO_SLOT: Final = 0x80000001 -CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE: Final = 0x80000002 -CHANGER_CLEANER_AUTODISMOUNT: Final = 0x80000004 -CHANGER_TRUE_EXCHANGE_CAPABLE: Final = 0x80000008 -CHANGER_SLOTS_USE_TRAYS: Final = 0x80000010 -CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR: Final = 0x80000020 -CHANGER_CLEANER_OPS_NOT_SUPPORTED: Final = 0x80000040 -CHANGER_IEPORT_USER_CONTROL_OPEN: Final = 0x80000080 -CHANGER_IEPORT_USER_CONTROL_CLOSE: Final = 0x80000100 -CHANGER_MOVE_EXTENDS_IEPORT: Final = 0x80000200 -CHANGER_MOVE_RETRACTS_IEPORT: Final = 0x80000400 -CHANGER_TO_TRANSPORT: Final = 0x01 -CHANGER_TO_SLOT: Final = 0x02 -CHANGER_TO_IEPORT: Final = 0x04 -CHANGER_TO_DRIVE: Final = 0x08 -LOCK_UNLOCK_IEPORT: Final = 0x01 -LOCK_UNLOCK_DOOR: Final = 0x02 -LOCK_UNLOCK_KEYPAD: Final = 0x04 -LOCK_ELEMENT: Final = 0 -UNLOCK_ELEMENT: Final = 1 -EXTEND_IEPORT: Final = 2 -RETRACT_IEPORT: Final = 3 -ELEMENT_STATUS_FULL: Final = 0x00000001 -ELEMENT_STATUS_IMPEXP: Final = 0x00000002 -ELEMENT_STATUS_EXCEPT: Final = 0x00000004 -ELEMENT_STATUS_ACCESS: Final = 0x00000008 -ELEMENT_STATUS_EXENAB: Final = 0x00000010 -ELEMENT_STATUS_INENAB: Final = 0x00000020 -ELEMENT_STATUS_PRODUCT_DATA: Final = 0x00000040 -ELEMENT_STATUS_LUN_VALID: Final = 0x00001000 -ELEMENT_STATUS_ID_VALID: Final = 0x00002000 -ELEMENT_STATUS_NOT_BUS: Final = 0x00008000 -ELEMENT_STATUS_INVERT: Final = 0x00400000 -ELEMENT_STATUS_SVALID: Final = 0x00800000 -ELEMENT_STATUS_PVOLTAG: Final = 0x10000000 -ELEMENT_STATUS_AVOLTAG: Final = 0x20000000 -ERROR_LABEL_UNREADABLE: Final = 0x00000001 -ERROR_LABEL_QUESTIONABLE: Final = 0x00000002 -ERROR_SLOT_NOT_PRESENT: Final = 0x00000004 -ERROR_DRIVE_NOT_INSTALLED: Final = 0x00000008 -ERROR_TRAY_MALFUNCTION: Final = 0x00000010 -ERROR_INIT_STATUS_NEEDED: Final = 0x00000011 -ERROR_UNHANDLED_ERROR: Final = 0xFFFFFFFF -SEARCH_ALL: Final = 0x0 -SEARCH_PRIMARY: Final = 0x1 -SEARCH_ALTERNATE: Final = 0x2 -SEARCH_ALL_NO_SEQ: Final = 0x4 -SEARCH_PRI_NO_SEQ: Final = 0x5 -SEARCH_ALT_NO_SEQ: Final = 0x6 -ASSERT_PRIMARY: Final = 0x8 -ASSERT_ALTERNATE: Final = 0x9 -REPLACE_PRIMARY: Final = 0xA -REPLACE_ALTERNATE: Final = 0xB -UNDEFINE_PRIMARY: Final = 0xC -UNDEFINE_ALTERNATE: Final = 0xD -USN_PAGE_SIZE: Final = 0x1000 -USN_REASON_DATA_OVERWRITE: Final = 0x00000001 -USN_REASON_DATA_EXTEND: Final = 0x00000002 -USN_REASON_DATA_TRUNCATION: Final = 0x00000004 -USN_REASON_NAMED_DATA_OVERWRITE: Final = 0x00000010 -USN_REASON_NAMED_DATA_EXTEND: Final = 0x00000020 -USN_REASON_NAMED_DATA_TRUNCATION: Final = 0x00000040 -USN_REASON_FILE_CREATE: Final = 0x00000100 -USN_REASON_FILE_DELETE: Final = 0x00000200 -USN_REASON_EA_CHANGE: Final = 0x00000400 -USN_REASON_SECURITY_CHANGE: Final = 0x00000800 -USN_REASON_RENAME_OLD_NAME: Final = 0x00001000 -USN_REASON_RENAME_NEW_NAME: Final = 0x00002000 -USN_REASON_INDEXABLE_CHANGE: Final = 0x00004000 -USN_REASON_BASIC_INFO_CHANGE: Final = 0x00008000 -USN_REASON_HARD_LINK_CHANGE: Final = 0x00010000 -USN_REASON_COMPRESSION_CHANGE: Final = 0x00020000 -USN_REASON_ENCRYPTION_CHANGE: Final = 0x00040000 -USN_REASON_OBJECT_ID_CHANGE: Final = 0x00080000 -USN_REASON_REPARSE_POINT_CHANGE: Final = 0x00100000 -USN_REASON_STREAM_CHANGE: Final = 0x00200000 -USN_REASON_TRANSACTED_CHANGE: Final = 0x00400000 -USN_REASON_CLOSE: Final = 0x80000000 -USN_DELETE_FLAG_DELETE: Final = 0x00000001 -USN_DELETE_FLAG_NOTIFY: Final = 0x00000002 -USN_DELETE_VALID_FLAGS: Final = 0x00000003 -USN_SOURCE_DATA_MANAGEMENT: Final = 0x00000001 -USN_SOURCE_AUXILIARY_DATA: Final = 0x00000002 -USN_SOURCE_REPLICATION_MANAGEMENT: Final = 0x00000004 -MARK_HANDLE_PROTECT_CLUSTERS: Final = 1 -MARK_HANDLE_TXF_SYSTEM_LOG: Final = 4 -MARK_HANDLE_NOT_TXF_SYSTEM_LOG: Final = 8 -VOLUME_IS_DIRTY: Final = 0x00000001 -VOLUME_UPGRADE_SCHEDULED: Final = 0x00000002 -VOLUME_SESSION_OPEN: Final = 4 -FILE_PREFETCH_TYPE_FOR_CREATE: Final = 1 -FILE_PREFETCH_TYPE_FOR_DIRENUM: Final = 2 -FILE_PREFETCH_TYPE_FOR_CREATE_EX: Final = 3 -FILE_PREFETCH_TYPE_FOR_DIRENUM_EX: Final = 4 -FILE_PREFETCH_TYPE_MAX: Final = 4 -FILESYSTEM_STATISTICS_TYPE_NTFS: Final = 1 -FILESYSTEM_STATISTICS_TYPE_FAT: Final = 2 -FILE_SET_ENCRYPTION: Final = 0x00000001 -FILE_CLEAR_ENCRYPTION: Final = 0x00000002 -STREAM_SET_ENCRYPTION: Final = 0x00000003 -STREAM_CLEAR_ENCRYPTION: Final = 0x00000004 -MAXIMUM_ENCRYPTION_VALUE: Final = 0x00000004 -ENCRYPTION_FORMAT_DEFAULT: Final = 0x01 -COMPRESSION_FORMAT_SPARSE: Final = 0x4000 -COPYFILE_SIS_LINK: Final = 0x0001 -COPYFILE_SIS_REPLACE: Final = 0x0002 -COPYFILE_SIS_FLAGS: Final = 0x0003 -WMI_DISK_GEOMETRY_GUID: Final[_win32typing.PyIID] -GUID_DEVINTERFACE_CDROM: Final[_win32typing.PyIID] -GUID_DEVINTERFACE_FLOPPY: Final[_win32typing.PyIID] -GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR: Final[_win32typing.PyIID] -GUID_DEVINTERFACE_COMPORT: Final[_win32typing.PyIID] -GUID_DEVINTERFACE_DISK: Final[_win32typing.PyIID] -GUID_DEVINTERFACE_STORAGEPORT: Final[_win32typing.PyIID] -GUID_DEVINTERFACE_CDCHANGER: Final[_win32typing.PyIID] -GUID_DEVINTERFACE_PARTITION: Final[_win32typing.PyIID] -GUID_DEVINTERFACE_VOLUME: Final[_win32typing.PyIID] -GUID_DEVINTERFACE_WRITEONCEDISK: Final[_win32typing.PyIID] -GUID_DEVINTERFACE_TAPE: Final[_win32typing.PyIID] -GUID_DEVINTERFACE_MEDIUMCHANGER: Final[_win32typing.PyIID] -GUID_SERENUM_BUS_ENUMERATOR: Final = GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR -GUID_CLASS_COMPORT: Final = GUID_DEVINTERFACE_COMPORT -DiskClassGuid: Final = GUID_DEVINTERFACE_DISK -CdRomClassGuid: Final = GUID_DEVINTERFACE_CDROM -PartitionClassGuid: Final = GUID_DEVINTERFACE_PARTITION -TapeClassGuid: Final = GUID_DEVINTERFACE_TAPE -WriteOnceDiskClassGuid: Final = GUID_DEVINTERFACE_WRITEONCEDISK -VolumeClassGuid: Final = GUID_DEVINTERFACE_VOLUME -MediumChangerClassGuid: Final = GUID_DEVINTERFACE_MEDIUMCHANGER -FloppyClassGuid: Final = GUID_DEVINTERFACE_FLOPPY -CdChangerClassGuid: Final = GUID_DEVINTERFACE_CDCHANGER -StoragePortClassGuid: Final = GUID_DEVINTERFACE_STORAGEPORT -IOCTL_STORAGE_CHECK_VERIFY: Final = 2967552 -IOCTL_STORAGE_CHECK_VERIFY2: Final[int] -IOCTL_STORAGE_MEDIA_REMOVAL: Final[int] -IOCTL_STORAGE_EJECT_MEDIA: Final[int] -IOCTL_STORAGE_LOAD_MEDIA: Final[int] -IOCTL_STORAGE_LOAD_MEDIA2: Final[int] -IOCTL_STORAGE_RESERVE: Final[int] -IOCTL_STORAGE_RELEASE: Final[int] -IOCTL_STORAGE_FIND_NEW_DEVICES: Final[int] -IOCTL_STORAGE_EJECTION_CONTROL: Final[int] -IOCTL_STORAGE_MCN_CONTROL: Final[int] -IOCTL_STORAGE_GET_MEDIA_TYPES: Final[int] -IOCTL_STORAGE_GET_MEDIA_TYPES_EX: Final[int] -IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER: Final[int] -IOCTL_STORAGE_GET_HOTPLUG_INFO: Final[int] -IOCTL_STORAGE_SET_HOTPLUG_INFO: Final[int] -IOCTL_STORAGE_RESET_BUS: Final[int] -IOCTL_STORAGE_RESET_DEVICE: Final[int] -IOCTL_STORAGE_BREAK_RESERVATION: Final[int] -IOCTL_STORAGE_GET_DEVICE_NUMBER: Final[int] -IOCTL_STORAGE_PREDICT_FAILURE: Final[int] -IOCTL_DISK_GET_DRIVE_GEOMETRY: Final[int] -IOCTL_DISK_GET_PARTITION_INFO: Final[int] -IOCTL_DISK_SET_PARTITION_INFO: Final[int] -IOCTL_DISK_GET_DRIVE_LAYOUT: Final[int] -IOCTL_DISK_SET_DRIVE_LAYOUT: Final[int] -IOCTL_DISK_VERIFY: Final[int] -IOCTL_DISK_FORMAT_TRACKS: Final[int] -IOCTL_DISK_REASSIGN_BLOCKS: Final[int] -IOCTL_DISK_PERFORMANCE: Final[int] -IOCTL_DISK_IS_WRITABLE: Final[int] -IOCTL_DISK_LOGGING: Final[int] -IOCTL_DISK_FORMAT_TRACKS_EX: Final[int] -IOCTL_DISK_HISTOGRAM_STRUCTURE: Final[int] -IOCTL_DISK_HISTOGRAM_DATA: Final[int] -IOCTL_DISK_HISTOGRAM_RESET: Final[int] -IOCTL_DISK_REQUEST_STRUCTURE: Final[int] -IOCTL_DISK_REQUEST_DATA: Final[int] -IOCTL_DISK_PERFORMANCE_OFF: Final[int] -IOCTL_DISK_CONTROLLER_NUMBER: Final[int] -SMART_GET_VERSION: Final[int] -SMART_SEND_DRIVE_COMMAND: Final[int] -SMART_RCV_DRIVE_DATA: Final[int] -IOCTL_DISK_GET_PARTITION_INFO_EX: Final[int] -IOCTL_DISK_SET_PARTITION_INFO_EX: Final[int] -IOCTL_DISK_GET_DRIVE_LAYOUT_EX: Final[int] -IOCTL_DISK_SET_DRIVE_LAYOUT_EX: Final[int] -IOCTL_DISK_CREATE_DISK: Final[int] -IOCTL_DISK_GET_LENGTH_INFO: Final[int] -IOCTL_DISK_GET_DRIVE_GEOMETRY_EX: Final[int] -IOCTL_DISK_REASSIGN_BLOCKS_EX: Final[int] -IOCTL_DISK_UPDATE_DRIVE_SIZE: Final[int] -IOCTL_DISK_GROW_PARTITION: Final[int] -IOCTL_DISK_GET_CACHE_INFORMATION: Final[int] -IOCTL_DISK_SET_CACHE_INFORMATION: Final[int] -OBSOLETE_IOCTL_STORAGE_RESET_BUS: Final[int] -OBSOLETE_IOCTL_STORAGE_RESET_DEVICE: Final[int] -OBSOLETE_DISK_GET_WRITE_CACHE_STATE: Final[int] -IOCTL_DISK_GET_WRITE_CACHE_STATE: Final = OBSOLETE_DISK_GET_WRITE_CACHE_STATE -IOCTL_DISK_DELETE_DRIVE_LAYOUT: Final[int] -IOCTL_DISK_UPDATE_PROPERTIES: Final[int] -IOCTL_DISK_FORMAT_DRIVE: Final[int] -IOCTL_DISK_SENSE_DEVICE: Final[int] -IOCTL_DISK_CHECK_VERIFY: Final[int] -IOCTL_DISK_MEDIA_REMOVAL: Final[int] -IOCTL_DISK_EJECT_MEDIA: Final[int] -IOCTL_DISK_LOAD_MEDIA: Final[int] -IOCTL_DISK_RESERVE: Final[int] -IOCTL_DISK_RELEASE: Final[int] -IOCTL_DISK_FIND_NEW_DEVICES: Final[int] -IOCTL_DISK_GET_MEDIA_TYPES: Final[int] -DISK_HISTOGRAM_SIZE: Final = 72 -HISTOGRAM_BUCKET_SIZE: Final = 8 -IOCTL_CHANGER_GET_PARAMETERS: Final[int] -IOCTL_CHANGER_GET_STATUS: Final[int] -IOCTL_CHANGER_GET_PRODUCT_DATA: Final[int] -IOCTL_CHANGER_SET_ACCESS: Final[int] -IOCTL_CHANGER_GET_ELEMENT_STATUS: Final[int] -IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS: Final[int] -IOCTL_CHANGER_SET_POSITION: Final[int] -IOCTL_CHANGER_EXCHANGE_MEDIUM: Final[int] -IOCTL_CHANGER_MOVE_MEDIUM: Final[int] -IOCTL_CHANGER_REINITIALIZE_TRANSPORT: Final[int] -IOCTL_CHANGER_QUERY_VOLUME_TAGS: Final[int] -IOCTL_SERIAL_LSRMST_INSERT: Final[int] -IOCTL_SERENUM_EXPOSE_HARDWARE: Final[int] -IOCTL_SERENUM_REMOVE_HARDWARE: Final[int] -IOCTL_SERENUM_PORT_DESC: Final[int] -IOCTL_SERENUM_GET_PORT_NAME: Final[int] -SERIAL_LSRMST_ESCAPE: Final = 0x00 -SERIAL_LSRMST_LSR_DATA: Final = 0x01 -SERIAL_LSRMST_LSR_NODATA: Final = 0x02 -SERIAL_LSRMST_MST: Final = 0x03 -SERIAL_IOC_FCR_FIFO_ENABLE: Final = 0x00000001 -SERIAL_IOC_FCR_RCVR_RESET: Final = 0x00000002 -SERIAL_IOC_FCR_XMIT_RESET: Final = 0x00000004 -SERIAL_IOC_FCR_DMA_MODE: Final = 0x00000008 -SERIAL_IOC_FCR_RES1: Final = 0x00000010 -SERIAL_IOC_FCR_RES2: Final = 0x00000020 -SERIAL_IOC_FCR_RCVR_TRIGGER_LSB: Final = 0x00000040 -SERIAL_IOC_FCR_RCVR_TRIGGER_MSB: Final = 0x00000080 -SERIAL_IOC_MCR_DTR: Final = 0x00000001 -SERIAL_IOC_MCR_RTS: Final = 0x00000002 -SERIAL_IOC_MCR_OUT1: Final = 0x00000004 -SERIAL_IOC_MCR_OUT2: Final = 0x00000008 -SERIAL_IOC_MCR_LOOP: Final = 0x00000010 -FSCTL_REQUEST_OPLOCK_LEVEL_1: Final[int] -FSCTL_REQUEST_OPLOCK_LEVEL_2: Final[int] -FSCTL_REQUEST_BATCH_OPLOCK: Final[int] -FSCTL_OPLOCK_BREAK_ACKNOWLEDGE: Final[int] -FSCTL_OPBATCH_ACK_CLOSE_PENDING: Final[int] -FSCTL_OPLOCK_BREAK_NOTIFY: Final[int] -FSCTL_LOCK_VOLUME: Final[int] -FSCTL_UNLOCK_VOLUME: Final[int] -FSCTL_DISMOUNT_VOLUME: Final[int] -FSCTL_IS_VOLUME_MOUNTED: Final[int] -FSCTL_IS_PATHNAME_VALID: Final[int] -FSCTL_MARK_VOLUME_DIRTY: Final[int] -FSCTL_QUERY_RETRIEVAL_POINTERS: Final[int] -FSCTL_GET_COMPRESSION: Final[int] -FSCTL_SET_COMPRESSION: Final[int] -FSCTL_MARK_AS_SYSTEM_HIVE: Final[int] -FSCTL_OPLOCK_BREAK_ACK_NO_2: Final[int] -FSCTL_INVALIDATE_VOLUMES: Final[int] -FSCTL_QUERY_FAT_BPB: Final[int] -FSCTL_REQUEST_FILTER_OPLOCK: Final[int] -FSCTL_FILESYSTEM_GET_STATISTICS: Final[int] -FSCTL_GET_NTFS_VOLUME_DATA: Final[int] -FSCTL_GET_NTFS_FILE_RECORD: Final[int] -FSCTL_GET_VOLUME_BITMAP: Final[int] -FSCTL_GET_RETRIEVAL_POINTERS: Final[int] -FSCTL_MOVE_FILE: Final[int] -FSCTL_IS_VOLUME_DIRTY: Final[int] -FSCTL_ALLOW_EXTENDED_DASD_IO: Final[int] -FSCTL_FIND_FILES_BY_SID: Final[int] -FSCTL_SET_OBJECT_ID: Final[int] -FSCTL_GET_OBJECT_ID: Final[int] -FSCTL_DELETE_OBJECT_ID: Final[int] -FSCTL_SET_REPARSE_POINT: Final[int] -FSCTL_GET_REPARSE_POINT: Final[int] -FSCTL_DELETE_REPARSE_POINT: Final[int] -FSCTL_ENUM_USN_DATA: Final[int] -FSCTL_SECURITY_ID_CHECK: Final[int] -FSCTL_READ_USN_JOURNAL: Final[int] -FSCTL_SET_OBJECT_ID_EXTENDED: Final[int] -FSCTL_CREATE_OR_GET_OBJECT_ID: Final[int] -FSCTL_SET_SPARSE: Final[int] -FSCTL_SET_ZERO_DATA: Final[int] -FSCTL_QUERY_ALLOCATED_RANGES: Final[int] -FSCTL_SET_ENCRYPTION: Final[int] -FSCTL_ENCRYPTION_FSCTL_IO: Final[int] -FSCTL_WRITE_RAW_ENCRYPTED: Final[int] -FSCTL_READ_RAW_ENCRYPTED: Final[int] -FSCTL_CREATE_USN_JOURNAL: Final[int] -FSCTL_READ_FILE_USN_DATA: Final[int] -FSCTL_WRITE_USN_CLOSE_RECORD: Final[int] -FSCTL_EXTEND_VOLUME: Final[int] -FSCTL_QUERY_USN_JOURNAL: Final[int] -FSCTL_DELETE_USN_JOURNAL: Final[int] -FSCTL_MARK_HANDLE: Final[int] -FSCTL_SIS_COPYFILE: Final[int] -FSCTL_SIS_LINK_FILES: Final[int] -FSCTL_HSM_MSG: Final[int] -FSCTL_HSM_DATA: Final[int] -FSCTL_RECALL_FILE: Final[int] -FSCTL_READ_FROM_PLEX: Final[int] -FSCTL_FILE_PREFETCH: Final[int] -FSCTL_MAKE_MEDIA_COMPATIBLE: Final[int] -FSCTL_SET_DEFECT_MANAGEMENT: Final[int] -FSCTL_QUERY_SPARING_INFO: Final[int] -FSCTL_QUERY_ON_DISK_VOLUME_INFO: Final[int] -FSCTL_SET_VOLUME_COMPRESSION_STATE: Final[int] -FSCTL_TXFS_MODIFY_RM: Final[int] -FSCTL_TXFS_QUERY_RM_INFORMATION: Final[int] -FSCTL_TXFS_ROLLFORWARD_REDO: Final[int] -FSCTL_TXFS_ROLLFORWARD_UNDO: Final[int] -FSCTL_TXFS_START_RM: Final[int] -FSCTL_TXFS_SHUTDOWN_RM: Final[int] -FSCTL_TXFS_READ_BACKUP_INFORMATION: Final[int] -FSCTL_TXFS_WRITE_BACKUP_INFORMATION: Final[int] -FSCTL_TXFS_CREATE_SECONDARY_RM: Final[int] -FSCTL_TXFS_GET_METADATA_INFO: Final[int] -FSCTL_TXFS_GET_TRANSACTED_VERSION: Final[int] -FSCTL_TXFS_CREATE_MINIVERSION: Final[int] -FSCTL_TXFS_TRANSACTION_ACTIVE: Final[int] -FSCTL_SET_ZERO_ON_DEALLOCATION: Final[int] -FSCTL_SET_REPAIR: Final[int] -FSCTL_GET_REPAIR: Final[int] -FSCTL_WAIT_FOR_REPAIR: Final[int] -FSCTL_INITIATE_REPAIR: Final[int] -FSCTL_CSC_INTERNAL: Final[int] -FSCTL_SHRINK_VOLUME: Final[int] -FSCTL_SET_SHORT_NAME_BEHAVIOR: Final[int] -FSCTL_DFSR_SET_GHOST_HANDLE_STATE: Final[int] -FSCTL_TXFS_LIST_TRANSACTION_LOCKED_FILES: Final[int] -FSCTL_TXFS_LIST_TRANSACTIONS: Final[int] -FSCTL_QUERY_PAGEFILE_ENCRYPTION: Final[int] -IOCTL_VOLUME_BASE: Final = 86 -IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS: Final[int] -IOCTL_VOLUME_ONLINE: Final[int] -IOCTL_VOLUME_OFFLINE: Final[int] -IOCTL_VOLUME_IS_CLUSTERED: Final[int] -IOCTL_VOLUME_GET_GPT_ATTRIBUTES: Final[int] -DDS_4mm: Final = 32 -MiniQic: Final = 33 -Travan: Final = 34 -QIC: Final = 35 -MP_8mm: Final = 36 -AME_8mm: Final = 37 -AIT1_8mm: Final = 38 -DLT: Final = 39 -NCTP: Final = 40 -IBM_3480: Final = 41 -IBM_3490E: Final = 42 -IBM_Magstar_3590: Final = 43 -IBM_Magstar_MP: Final = 44 -STK_DATA_D3: Final = 45 -SONY_DTF: Final = 46 -DV_6mm: Final = 47 -DMI: Final = 48 -SONY_D2: Final = 49 -CLEANER_CARTRIDGE: Final = 50 -CD_ROM: Final = 51 -CD_R: Final = 52 -CD_RW: Final = 53 -DVD_ROM: Final = 54 -DVD_R: Final = 55 -DVD_RW: Final = 56 -MO_3_RW: Final = 57 -MO_5_WO: Final = 58 -MO_5_RW: Final = 59 -MO_5_LIMDOW: Final = 60 -PC_5_WO: Final = 61 -PC_5_RW: Final = 62 -PD_5_RW: Final = 63 -ABL_5_WO: Final = 64 -PINNACLE_APEX_5_RW: Final = 65 -SONY_12_WO: Final = 66 -PHILIPS_12_WO: Final = 67 -HITACHI_12_WO: Final = 68 -CYGNET_12_WO: Final = 69 -KODAK_14_WO: Final = 70 -MO_NFR_525: Final = 71 -NIKON_12_RW: Final = 72 -IOMEGA_ZIP: Final = 73 -IOMEGA_JAZ: Final = 74 -SYQUEST_EZ135: Final = 75 -SYQUEST_EZFLYER: Final = 76 -SYQUEST_SYJET: Final = 77 -AVATAR_F2: Final = 78 -MP2_8mm: Final = 79 -DST_S: Final = 80 -DST_M: Final = 81 -DST_L: Final = 82 -VXATape_1: Final = 83 -VXATape_2: Final = 84 -STK_9840: Final = 85 -LTO_Ultrium: Final = 86 -LTO_Accelis: Final = 87 -DVD_RAM: Final = 88 -AIT_8mm: Final = 89 -ADR_1: Final = 90 -ADR_2: Final = 91 -STK_9940: Final = 92 -BusTypeUnknown: Final = 0 -BusTypeScsi: Final = 1 -BusTypeAtapi: Final = 2 -BusTypeAta: Final = 3 -BusType1394: Final = 4 -BusTypeSsa: Final = 5 -BusTypeFibre: Final = 6 -BusTypeUsb: Final = 7 -BusTypeRAID: Final = 8 -BusTypeiScsi: Final = 9 -BusTypeSas: Final = 10 -BusTypeSata: Final = 11 -BusTypeMaxReserved: Final = 127 -Unknown: Final = 0 -F5_1Pt2_512: Final = 1 -F3_1Pt44_512: Final = 2 -F3_2Pt88_512: Final = 3 -F3_20Pt8_512: Final = 4 -F3_720_512: Final = 5 -F5_360_512: Final = 6 -F5_320_512: Final = 7 -F5_320_1024: Final = 8 -F5_180_512: Final = 9 -F5_160_512: Final = 10 -RemovableMedia: Final = 11 -FixedMedia: Final = 12 -F3_120M_512: Final = 13 -F3_640_512: Final = 14 -F5_640_512: Final = 15 -F5_720_512: Final = 16 -F3_1Pt2_512: Final = 17 -F3_1Pt23_1024: Final = 18 -F5_1Pt23_1024: Final = 19 -F3_128Mb_512: Final = 20 -F3_230Mb_512: Final = 21 -F8_256_128: Final = 22 -F3_200Mb_512: Final = 23 -F3_240M_512: Final = 24 -F3_32M_512: Final = 25 -PARTITION_STYLE_MBR: Final = 0 -PARTITION_STYLE_GPT: Final = 1 -PARTITION_STYLE_RAW: Final = 2 -DetectNone: Final = 0 -DetectInt13: Final = 1 -DetectExInt13: Final = 2 -EqualPriority: Final = 0 -KeepPrefetchedData: Final = 1 -KeepReadData: Final = 2 -DiskWriteCacheNormal: Final = 0 -DiskWriteCacheForceDisable: Final = 1 -DiskWriteCacheDisableNotSupported: Final = 2 -RequestSize: Final = 0 -RequestLocation: Final = 1 -DeviceProblemNone: Final = 0 -DeviceProblemHardware: Final = 1 -DeviceProblemCHMError: Final = 2 -DeviceProblemDoorOpen: Final = 3 -DeviceProblemCalibrationError: Final = 4 -DeviceProblemTargetFailure: Final = 5 -DeviceProblemCHMMoveError: Final = 6 -DeviceProblemCHMZeroError: Final = 7 -DeviceProblemCartridgeInsertError: Final = 8 -DeviceProblemPositionError: Final = 9 -DeviceProblemSensorError: Final = 10 -DeviceProblemCartridgeEjectError: Final = 11 -DeviceProblemGripperError: Final = 12 -DeviceProblemDriveError: Final = 13 +FILE_DEVICE_BEEP: int +FILE_DEVICE_CD_ROM: int +FILE_DEVICE_CD_ROM_FILE_SYSTEM: int +FILE_DEVICE_CONTROLLER: int +FILE_DEVICE_DATALINK: int +FILE_DEVICE_DFS: int +FILE_DEVICE_DISK: int +FILE_DEVICE_DISK_FILE_SYSTEM: int +FILE_DEVICE_FILE_SYSTEM: int +FILE_DEVICE_INPORT_PORT: int +FILE_DEVICE_KEYBOARD: int +FILE_DEVICE_MAILSLOT: int +FILE_DEVICE_MIDI_IN: int +FILE_DEVICE_MIDI_OUT: int +FILE_DEVICE_MOUSE: int +FILE_DEVICE_MULTI_UNC_PROVIDER: int +FILE_DEVICE_NAMED_PIPE: int +FILE_DEVICE_NETWORK: int +FILE_DEVICE_NETWORK_BROWSER: int +FILE_DEVICE_NETWORK_FILE_SYSTEM: int +FILE_DEVICE_NULL: int +FILE_DEVICE_PARALLEL_PORT: int +FILE_DEVICE_PHYSICAL_NETCARD: int +FILE_DEVICE_PRINTER: int +FILE_DEVICE_SCANNER: int +FILE_DEVICE_SERIAL_MOUSE_PORT: int +FILE_DEVICE_SERIAL_PORT: int +FILE_DEVICE_SCREEN: int +FILE_DEVICE_SOUND: int +FILE_DEVICE_STREAMS: int +FILE_DEVICE_TAPE: int +FILE_DEVICE_TAPE_FILE_SYSTEM: int +FILE_DEVICE_TRANSPORT: int +FILE_DEVICE_UNKNOWN: int +FILE_DEVICE_VIDEO: int +FILE_DEVICE_VIRTUAL_DISK: int +FILE_DEVICE_WAVE_IN: int +FILE_DEVICE_WAVE_OUT: int +FILE_DEVICE_8042_PORT: int +FILE_DEVICE_NETWORK_REDIRECTOR: int +FILE_DEVICE_BATTERY: int +FILE_DEVICE_BUS_EXTENDER: int +FILE_DEVICE_MODEM: int +FILE_DEVICE_VDM: int +FILE_DEVICE_MASS_STORAGE: int +FILE_DEVICE_SMB: int +FILE_DEVICE_KS: int +FILE_DEVICE_CHANGER: int +FILE_DEVICE_SMARTCARD: int +FILE_DEVICE_ACPI: int +FILE_DEVICE_DVD: int +FILE_DEVICE_FULLSCREEN_VIDEO: int +FILE_DEVICE_DFS_FILE_SYSTEM: int +FILE_DEVICE_DFS_VOLUME: int +FILE_DEVICE_SERENUM: int +FILE_DEVICE_TERMSRV: int +FILE_DEVICE_KSEC: int +FILE_DEVICE_FIPS: int +FILE_DEVICE_INFINIBAND: int +METHOD_BUFFERED: int +METHOD_IN_DIRECT: int +METHOD_OUT_DIRECT: int +METHOD_NEITHER: int +METHOD_DIRECT_TO_HARDWARE: int +METHOD_DIRECT_FROM_HARDWARE: int +FILE_ANY_ACCESS: int +FILE_SPECIAL_ACCESS: int +FILE_READ_ACCESS: int +FILE_WRITE_ACCESS: int +IOCTL_STORAGE_BASE: int +RECOVERED_WRITES_VALID: int +UNRECOVERED_WRITES_VALID: int +RECOVERED_READS_VALID: int +UNRECOVERED_READS_VALID: int +WRITE_COMPRESSION_INFO_VALID: int +READ_COMPRESSION_INFO_VALID: int +TAPE_RETURN_STATISTICS: int +TAPE_RETURN_ENV_INFO: int +TAPE_RESET_STATISTICS: int +MEDIA_ERASEABLE: int +MEDIA_WRITE_ONCE: int +MEDIA_READ_ONLY: int +MEDIA_READ_WRITE: int +MEDIA_WRITE_PROTECTED: int +MEDIA_CURRENTLY_MOUNTED: int +IOCTL_DISK_BASE: int +PARTITION_ENTRY_UNUSED: int +PARTITION_FAT_12: int +PARTITION_XENIX_1: int +PARTITION_XENIX_2: int +PARTITION_FAT_16: int +PARTITION_EXTENDED: int +PARTITION_HUGE: int +PARTITION_IFS: int +PARTITION_OS2BOOTMGR: int +PARTITION_FAT32: int +PARTITION_FAT32_XINT13: int +PARTITION_XINT13: int +PARTITION_XINT13_EXTENDED: int +PARTITION_PREP: int +PARTITION_LDM: int +PARTITION_UNIX: int +VALID_NTFT: int +PARTITION_NTFT: int +GPT_ATTRIBUTE_PLATFORM_REQUIRED: int +GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER: int +GPT_BASIC_DATA_ATTRIBUTE_HIDDEN: int +GPT_BASIC_DATA_ATTRIBUTE_SHADOW_COPY: int +GPT_BASIC_DATA_ATTRIBUTE_READ_ONLY: int +HIST_NO_OF_BUCKETS: int +DISK_LOGGING_START: int +DISK_LOGGING_STOP: int +DISK_LOGGING_DUMP: int +DISK_BINNING: int +CAP_ATA_ID_CMD: int +CAP_ATAPI_ID_CMD: int +CAP_SMART_CMD: int +ATAPI_ID_CMD: int +ID_CMD: int +SMART_CMD: int +SMART_CYL_LOW: int +SMART_CYL_HI: int +SMART_NO_ERROR: int +SMART_IDE_ERROR: int +SMART_INVALID_FLAG: int +SMART_INVALID_COMMAND: int +SMART_INVALID_BUFFER: int +SMART_INVALID_DRIVE: int +SMART_INVALID_IOCTL: int +SMART_ERROR_NO_MEM: int +SMART_INVALID_REGISTER: int +SMART_NOT_SUPPORTED: int +SMART_NO_IDE_DEVICE: int +SMART_OFFLINE_ROUTINE_OFFLINE: int +SMART_SHORT_SELFTEST_OFFLINE: int +SMART_EXTENDED_SELFTEST_OFFLINE: int +SMART_ABORT_OFFLINE_SELFTEST: int +SMART_SHORT_SELFTEST_CAPTIVE: int +SMART_EXTENDED_SELFTEST_CAPTIVE: int +READ_ATTRIBUTE_BUFFER_SIZE: int +IDENTIFY_BUFFER_SIZE: int +READ_THRESHOLD_BUFFER_SIZE: int +SMART_LOG_SECTOR_SIZE: int +READ_ATTRIBUTES: int +READ_THRESHOLDS: int +ENABLE_DISABLE_AUTOSAVE: int +SAVE_ATTRIBUTE_VALUES: int +EXECUTE_OFFLINE_DIAGS: int +SMART_READ_LOG: int +SMART_WRITE_LOG: int +ENABLE_SMART: int +DISABLE_SMART: int +RETURN_SMART_STATUS: int +ENABLE_DISABLE_AUTO_OFFLINE: int +IOCTL_CHANGER_BASE: int +MAX_VOLUME_ID_SIZE: int +MAX_VOLUME_TEMPLATE_SIZE: int +VENDOR_ID_LENGTH: int +PRODUCT_ID_LENGTH: int +REVISION_LENGTH: int +SERIAL_NUMBER_LENGTH: int +CHANGER_BAR_CODE_SCANNER_INSTALLED: int +CHANGER_INIT_ELEM_STAT_WITH_RANGE: int +CHANGER_CLOSE_IEPORT: int +CHANGER_OPEN_IEPORT: int +CHANGER_STATUS_NON_VOLATILE: int +CHANGER_EXCHANGE_MEDIA: int +CHANGER_CLEANER_SLOT: int +CHANGER_LOCK_UNLOCK: int +CHANGER_CARTRIDGE_MAGAZINE: int +CHANGER_MEDIUM_FLIP: int +CHANGER_POSITION_TO_ELEMENT: int +CHANGER_REPORT_IEPORT_STATE: int +CHANGER_STORAGE_DRIVE: int +CHANGER_STORAGE_IEPORT: int +CHANGER_STORAGE_SLOT: int +CHANGER_STORAGE_TRANSPORT: int +CHANGER_DRIVE_CLEANING_REQUIRED: int +CHANGER_PREDISMOUNT_EJECT_REQUIRED: int +CHANGER_CLEANER_ACCESS_NOT_VALID: int +CHANGER_PREMOUNT_EJECT_REQUIRED: int +CHANGER_VOLUME_IDENTIFICATION: int +CHANGER_VOLUME_SEARCH: int +CHANGER_VOLUME_ASSERT: int +CHANGER_VOLUME_REPLACE: int +CHANGER_VOLUME_UNDEFINE: int +CHANGER_SERIAL_NUMBER_VALID: int +CHANGER_DEVICE_REINITIALIZE_CAPABLE: int +CHANGER_KEYPAD_ENABLE_DISABLE: int +CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS: int +CHANGER_RESERVED_BIT: int +CHANGER_PREDISMOUNT_ALIGN_TO_SLOT: int +CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE: int +CHANGER_CLEANER_AUTODISMOUNT: int +CHANGER_TRUE_EXCHANGE_CAPABLE: int +CHANGER_SLOTS_USE_TRAYS: int +CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR: int +CHANGER_CLEANER_OPS_NOT_SUPPORTED: int +CHANGER_IEPORT_USER_CONTROL_OPEN: int +CHANGER_IEPORT_USER_CONTROL_CLOSE: int +CHANGER_MOVE_EXTENDS_IEPORT: int +CHANGER_MOVE_RETRACTS_IEPORT: int +CHANGER_TO_TRANSPORT: int +CHANGER_TO_SLOT: int +CHANGER_TO_IEPORT: int +CHANGER_TO_DRIVE: int +LOCK_UNLOCK_IEPORT: int +LOCK_UNLOCK_DOOR: int +LOCK_UNLOCK_KEYPAD: int +LOCK_ELEMENT: int +UNLOCK_ELEMENT: int +EXTEND_IEPORT: int +RETRACT_IEPORT: int +ELEMENT_STATUS_FULL: int +ELEMENT_STATUS_IMPEXP: int +ELEMENT_STATUS_EXCEPT: int +ELEMENT_STATUS_ACCESS: int +ELEMENT_STATUS_EXENAB: int +ELEMENT_STATUS_INENAB: int +ELEMENT_STATUS_PRODUCT_DATA: int +ELEMENT_STATUS_LUN_VALID: int +ELEMENT_STATUS_ID_VALID: int +ELEMENT_STATUS_NOT_BUS: int +ELEMENT_STATUS_INVERT: int +ELEMENT_STATUS_SVALID: int +ELEMENT_STATUS_PVOLTAG: int +ELEMENT_STATUS_AVOLTAG: int +ERROR_LABEL_UNREADABLE: int +ERROR_LABEL_QUESTIONABLE: int +ERROR_SLOT_NOT_PRESENT: int +ERROR_DRIVE_NOT_INSTALLED: int +ERROR_TRAY_MALFUNCTION: int +ERROR_INIT_STATUS_NEEDED: int +ERROR_UNHANDLED_ERROR: int +SEARCH_ALL: int +SEARCH_PRIMARY: int +SEARCH_ALTERNATE: int +SEARCH_ALL_NO_SEQ: int +SEARCH_PRI_NO_SEQ: int +SEARCH_ALT_NO_SEQ: int +ASSERT_PRIMARY: int +ASSERT_ALTERNATE: int +REPLACE_PRIMARY: int +REPLACE_ALTERNATE: int +UNDEFINE_PRIMARY: int +UNDEFINE_ALTERNATE: int +USN_PAGE_SIZE: int +USN_REASON_DATA_OVERWRITE: int +USN_REASON_DATA_EXTEND: int +USN_REASON_DATA_TRUNCATION: int +USN_REASON_NAMED_DATA_OVERWRITE: int +USN_REASON_NAMED_DATA_EXTEND: int +USN_REASON_NAMED_DATA_TRUNCATION: int +USN_REASON_FILE_CREATE: int +USN_REASON_FILE_DELETE: int +USN_REASON_EA_CHANGE: int +USN_REASON_SECURITY_CHANGE: int +USN_REASON_RENAME_OLD_NAME: int +USN_REASON_RENAME_NEW_NAME: int +USN_REASON_INDEXABLE_CHANGE: int +USN_REASON_BASIC_INFO_CHANGE: int +USN_REASON_HARD_LINK_CHANGE: int +USN_REASON_COMPRESSION_CHANGE: int +USN_REASON_ENCRYPTION_CHANGE: int +USN_REASON_OBJECT_ID_CHANGE: int +USN_REASON_REPARSE_POINT_CHANGE: int +USN_REASON_STREAM_CHANGE: int +USN_REASON_TRANSACTED_CHANGE: int +USN_REASON_CLOSE: int +USN_DELETE_FLAG_DELETE: int +USN_DELETE_FLAG_NOTIFY: int +USN_DELETE_VALID_FLAGS: int +USN_SOURCE_DATA_MANAGEMENT: int +USN_SOURCE_AUXILIARY_DATA: int +USN_SOURCE_REPLICATION_MANAGEMENT: int +MARK_HANDLE_PROTECT_CLUSTERS: int +MARK_HANDLE_TXF_SYSTEM_LOG: int +MARK_HANDLE_NOT_TXF_SYSTEM_LOG: int +VOLUME_IS_DIRTY: int +VOLUME_UPGRADE_SCHEDULED: int +VOLUME_SESSION_OPEN: int +FILE_PREFETCH_TYPE_FOR_CREATE: int +FILE_PREFETCH_TYPE_FOR_DIRENUM: int +FILE_PREFETCH_TYPE_FOR_CREATE_EX: int +FILE_PREFETCH_TYPE_FOR_DIRENUM_EX: int +FILE_PREFETCH_TYPE_MAX: int +FILESYSTEM_STATISTICS_TYPE_NTFS: int +FILESYSTEM_STATISTICS_TYPE_FAT: int +FILE_SET_ENCRYPTION: int +FILE_CLEAR_ENCRYPTION: int +STREAM_SET_ENCRYPTION: int +STREAM_CLEAR_ENCRYPTION: int +MAXIMUM_ENCRYPTION_VALUE: int +ENCRYPTION_FORMAT_DEFAULT: int +COMPRESSION_FORMAT_SPARSE: int +COPYFILE_SIS_LINK: int +COPYFILE_SIS_REPLACE: int +COPYFILE_SIS_FLAGS: int +WMI_DISK_GEOMETRY_GUID: _win32typing.PyIID +GUID_DEVINTERFACE_CDROM: _win32typing.PyIID +GUID_DEVINTERFACE_FLOPPY: _win32typing.PyIID +GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR: _win32typing.PyIID +GUID_DEVINTERFACE_COMPORT: _win32typing.PyIID +GUID_DEVINTERFACE_DISK: _win32typing.PyIID +GUID_DEVINTERFACE_STORAGEPORT: _win32typing.PyIID +GUID_DEVINTERFACE_CDCHANGER: _win32typing.PyIID +GUID_DEVINTERFACE_PARTITION: _win32typing.PyIID +GUID_DEVINTERFACE_VOLUME: _win32typing.PyIID +GUID_DEVINTERFACE_WRITEONCEDISK: _win32typing.PyIID +GUID_DEVINTERFACE_TAPE: _win32typing.PyIID +GUID_DEVINTERFACE_MEDIUMCHANGER: _win32typing.PyIID +GUID_SERENUM_BUS_ENUMERATOR: int +GUID_CLASS_COMPORT: int +DiskClassGuid: int +CdRomClassGuid: int +PartitionClassGuid: int +TapeClassGuid: int +WriteOnceDiskClassGuid: int +VolumeClassGuid: int +MediumChangerClassGuid: int +FloppyClassGuid: int +CdChangerClassGuid: int +StoragePortClassGuid: int +IOCTL_STORAGE_CHECK_VERIFY: int +IOCTL_STORAGE_CHECK_VERIFY2: int +IOCTL_STORAGE_MEDIA_REMOVAL: int +IOCTL_STORAGE_EJECT_MEDIA: int +IOCTL_STORAGE_LOAD_MEDIA: int +IOCTL_STORAGE_LOAD_MEDIA2: int +IOCTL_STORAGE_RESERVE: int +IOCTL_STORAGE_RELEASE: int +IOCTL_STORAGE_FIND_NEW_DEVICES: int +IOCTL_STORAGE_EJECTION_CONTROL: int +IOCTL_STORAGE_MCN_CONTROL: int +IOCTL_STORAGE_GET_MEDIA_TYPES: int +IOCTL_STORAGE_GET_MEDIA_TYPES_EX: int +IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER: int +IOCTL_STORAGE_GET_HOTPLUG_INFO: int +IOCTL_STORAGE_SET_HOTPLUG_INFO: int +IOCTL_STORAGE_RESET_BUS: int +IOCTL_STORAGE_RESET_DEVICE: int +IOCTL_STORAGE_BREAK_RESERVATION: int +IOCTL_STORAGE_GET_DEVICE_NUMBER: int +IOCTL_STORAGE_PREDICT_FAILURE: int +IOCTL_DISK_GET_DRIVE_GEOMETRY: int +IOCTL_DISK_GET_PARTITION_INFO: int +IOCTL_DISK_SET_PARTITION_INFO: int +IOCTL_DISK_GET_DRIVE_LAYOUT: int +IOCTL_DISK_SET_DRIVE_LAYOUT: int +IOCTL_DISK_VERIFY: int +IOCTL_DISK_FORMAT_TRACKS: int +IOCTL_DISK_REASSIGN_BLOCKS: int +IOCTL_DISK_PERFORMANCE: int +IOCTL_DISK_IS_WRITABLE: int +IOCTL_DISK_LOGGING: int +IOCTL_DISK_FORMAT_TRACKS_EX: int +IOCTL_DISK_HISTOGRAM_STRUCTURE: int +IOCTL_DISK_HISTOGRAM_DATA: int +IOCTL_DISK_HISTOGRAM_RESET: int +IOCTL_DISK_REQUEST_STRUCTURE: int +IOCTL_DISK_REQUEST_DATA: int +IOCTL_DISK_PERFORMANCE_OFF: int +IOCTL_DISK_CONTROLLER_NUMBER: int +SMART_GET_VERSION: int +SMART_SEND_DRIVE_COMMAND: int +SMART_RCV_DRIVE_DATA: int +IOCTL_DISK_GET_PARTITION_INFO_EX: int +IOCTL_DISK_SET_PARTITION_INFO_EX: int +IOCTL_DISK_GET_DRIVE_LAYOUT_EX: int +IOCTL_DISK_SET_DRIVE_LAYOUT_EX: int +IOCTL_DISK_CREATE_DISK: int +IOCTL_DISK_GET_LENGTH_INFO: int +IOCTL_DISK_GET_DRIVE_GEOMETRY_EX: int +IOCTL_DISK_REASSIGN_BLOCKS_EX: int +IOCTL_DISK_UPDATE_DRIVE_SIZE: int +IOCTL_DISK_GROW_PARTITION: int +IOCTL_DISK_GET_CACHE_INFORMATION: int +IOCTL_DISK_SET_CACHE_INFORMATION: int +OBSOLETE_IOCTL_STORAGE_RESET_BUS: int +OBSOLETE_IOCTL_STORAGE_RESET_DEVICE: int +OBSOLETE_DISK_GET_WRITE_CACHE_STATE: int +IOCTL_DISK_GET_WRITE_CACHE_STATE: int +IOCTL_DISK_DELETE_DRIVE_LAYOUT: int +IOCTL_DISK_UPDATE_PROPERTIES: int +IOCTL_DISK_FORMAT_DRIVE: int +IOCTL_DISK_SENSE_DEVICE: int +IOCTL_DISK_CHECK_VERIFY: int +IOCTL_DISK_MEDIA_REMOVAL: int +IOCTL_DISK_EJECT_MEDIA: int +IOCTL_DISK_LOAD_MEDIA: int +IOCTL_DISK_RESERVE: int +IOCTL_DISK_RELEASE: int +IOCTL_DISK_FIND_NEW_DEVICES: int +IOCTL_DISK_GET_MEDIA_TYPES: int +DISK_HISTOGRAM_SIZE: int +HISTOGRAM_BUCKET_SIZE: int +IOCTL_CHANGER_GET_PARAMETERS: int +IOCTL_CHANGER_GET_STATUS: int +IOCTL_CHANGER_GET_PRODUCT_DATA: int +IOCTL_CHANGER_SET_ACCESS: int +IOCTL_CHANGER_GET_ELEMENT_STATUS: int +IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS: int +IOCTL_CHANGER_SET_POSITION: int +IOCTL_CHANGER_EXCHANGE_MEDIUM: int +IOCTL_CHANGER_MOVE_MEDIUM: int +IOCTL_CHANGER_REINITIALIZE_TRANSPORT: int +IOCTL_CHANGER_QUERY_VOLUME_TAGS: int +IOCTL_SERIAL_LSRMST_INSERT: int +IOCTL_SERENUM_EXPOSE_HARDWARE: int +IOCTL_SERENUM_REMOVE_HARDWARE: int +IOCTL_SERENUM_PORT_DESC: int +IOCTL_SERENUM_GET_PORT_NAME: int +SERIAL_LSRMST_ESCAPE: int +SERIAL_LSRMST_LSR_DATA: int +SERIAL_LSRMST_LSR_NODATA: int +SERIAL_LSRMST_MST: int +SERIAL_IOC_FCR_FIFO_ENABLE: int +SERIAL_IOC_FCR_RCVR_RESET: int +SERIAL_IOC_FCR_XMIT_RESET: int +SERIAL_IOC_FCR_DMA_MODE: int +SERIAL_IOC_FCR_RES1: int +SERIAL_IOC_FCR_RES2: int +SERIAL_IOC_FCR_RCVR_TRIGGER_LSB: int +SERIAL_IOC_FCR_RCVR_TRIGGER_MSB: int +SERIAL_IOC_MCR_DTR: int +SERIAL_IOC_MCR_RTS: int +SERIAL_IOC_MCR_OUT1: int +SERIAL_IOC_MCR_OUT2: int +SERIAL_IOC_MCR_LOOP: int +FSCTL_REQUEST_OPLOCK_LEVEL_1: int +FSCTL_REQUEST_OPLOCK_LEVEL_2: int +FSCTL_REQUEST_BATCH_OPLOCK: int +FSCTL_OPLOCK_BREAK_ACKNOWLEDGE: int +FSCTL_OPBATCH_ACK_CLOSE_PENDING: int +FSCTL_OPLOCK_BREAK_NOTIFY: int +FSCTL_LOCK_VOLUME: int +FSCTL_UNLOCK_VOLUME: int +FSCTL_DISMOUNT_VOLUME: int +FSCTL_IS_VOLUME_MOUNTED: int +FSCTL_IS_PATHNAME_VALID: int +FSCTL_MARK_VOLUME_DIRTY: int +FSCTL_QUERY_RETRIEVAL_POINTERS: int +FSCTL_GET_COMPRESSION: int +FSCTL_SET_COMPRESSION: int +FSCTL_MARK_AS_SYSTEM_HIVE: int +FSCTL_OPLOCK_BREAK_ACK_NO_2: int +FSCTL_INVALIDATE_VOLUMES: int +FSCTL_QUERY_FAT_BPB: int +FSCTL_REQUEST_FILTER_OPLOCK: int +FSCTL_FILESYSTEM_GET_STATISTICS: int +FSCTL_GET_NTFS_VOLUME_DATA: int +FSCTL_GET_NTFS_FILE_RECORD: int +FSCTL_GET_VOLUME_BITMAP: int +FSCTL_GET_RETRIEVAL_POINTERS: int +FSCTL_MOVE_FILE: int +FSCTL_IS_VOLUME_DIRTY: int +FSCTL_ALLOW_EXTENDED_DASD_IO: int +FSCTL_FIND_FILES_BY_SID: int +FSCTL_SET_OBJECT_ID: int +FSCTL_GET_OBJECT_ID: int +FSCTL_DELETE_OBJECT_ID: int +FSCTL_SET_REPARSE_POINT: int +FSCTL_GET_REPARSE_POINT: int +FSCTL_DELETE_REPARSE_POINT: int +FSCTL_ENUM_USN_DATA: int +FSCTL_SECURITY_ID_CHECK: int +FSCTL_READ_USN_JOURNAL: int +FSCTL_SET_OBJECT_ID_EXTENDED: int +FSCTL_CREATE_OR_GET_OBJECT_ID: int +FSCTL_SET_SPARSE: int +FSCTL_SET_ZERO_DATA: int +FSCTL_QUERY_ALLOCATED_RANGES: int +FSCTL_SET_ENCRYPTION: int +FSCTL_ENCRYPTION_FSCTL_IO: int +FSCTL_WRITE_RAW_ENCRYPTED: int +FSCTL_READ_RAW_ENCRYPTED: int +FSCTL_CREATE_USN_JOURNAL: int +FSCTL_READ_FILE_USN_DATA: int +FSCTL_WRITE_USN_CLOSE_RECORD: int +FSCTL_EXTEND_VOLUME: int +FSCTL_QUERY_USN_JOURNAL: int +FSCTL_DELETE_USN_JOURNAL: int +FSCTL_MARK_HANDLE: int +FSCTL_SIS_COPYFILE: int +FSCTL_SIS_LINK_FILES: int +FSCTL_HSM_MSG: int +FSCTL_HSM_DATA: int +FSCTL_RECALL_FILE: int +FSCTL_READ_FROM_PLEX: int +FSCTL_FILE_PREFETCH: int +FSCTL_MAKE_MEDIA_COMPATIBLE: int +FSCTL_SET_DEFECT_MANAGEMENT: int +FSCTL_QUERY_SPARING_INFO: int +FSCTL_QUERY_ON_DISK_VOLUME_INFO: int +FSCTL_SET_VOLUME_COMPRESSION_STATE: int +FSCTL_TXFS_MODIFY_RM: int +FSCTL_TXFS_QUERY_RM_INFORMATION: int +FSCTL_TXFS_ROLLFORWARD_REDO: int +FSCTL_TXFS_ROLLFORWARD_UNDO: int +FSCTL_TXFS_START_RM: int +FSCTL_TXFS_SHUTDOWN_RM: int +FSCTL_TXFS_READ_BACKUP_INFORMATION: int +FSCTL_TXFS_WRITE_BACKUP_INFORMATION: int +FSCTL_TXFS_CREATE_SECONDARY_RM: int +FSCTL_TXFS_GET_METADATA_INFO: int +FSCTL_TXFS_GET_TRANSACTED_VERSION: int +FSCTL_TXFS_CREATE_MINIVERSION: int +FSCTL_TXFS_TRANSACTION_ACTIVE: int +FSCTL_SET_ZERO_ON_DEALLOCATION: int +FSCTL_SET_REPAIR: int +FSCTL_GET_REPAIR: int +FSCTL_WAIT_FOR_REPAIR: int +FSCTL_INITIATE_REPAIR: int +FSCTL_CSC_INTERNAL: int +FSCTL_SHRINK_VOLUME: int +FSCTL_SET_SHORT_NAME_BEHAVIOR: int +FSCTL_DFSR_SET_GHOST_HANDLE_STATE: int +FSCTL_QUERY_PAGEFILE_ENCRYPTION: int +IOCTL_VOLUME_BASE: int +IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS: int +IOCTL_VOLUME_ONLINE: int +IOCTL_VOLUME_OFFLINE: int +IOCTL_VOLUME_IS_CLUSTERED: int +IOCTL_VOLUME_GET_GPT_ATTRIBUTES: int +DDS_4mm: int +MiniQic: int +Travan: int +QIC: int +MP_8mm: int +AME_8mm: int +AIT1_8mm: int +DLT: int +NCTP: int +IBM_3480: int +IBM_3490E: int +IBM_Magstar_3590: int +IBM_Magstar_MP: int +STK_DATA_D3: int +SONY_DTF: int +DV_6mm: int +DMI: int +SONY_D2: int +CLEANER_CARTRIDGE: int +CD_ROM: int +CD_R: int +CD_RW: int +DVD_ROM: int +DVD_R: int +DVD_RW: int +MO_3_RW: int +MO_5_WO: int +MO_5_RW: int +MO_5_LIMDOW: int +PC_5_WO: int +PC_5_RW: int +PD_5_RW: int +ABL_5_WO: int +PINNACLE_APEX_5_RW: int +SONY_12_WO: int +PHILIPS_12_WO: int +HITACHI_12_WO: int +CYGNET_12_WO: int +KODAK_14_WO: int +MO_NFR_525: int +NIKON_12_RW: int +IOMEGA_ZIP: int +IOMEGA_JAZ: int +SYQUEST_EZ135: int +SYQUEST_EZFLYER: int +SYQUEST_SYJET: int +AVATAR_F2: int +MP2_8mm: int +DST_S: int +DST_M: int +DST_L: int +VXATape_1: int +VXATape_2: int +STK_9840: int +LTO_Ultrium: int +LTO_Accelis: int +DVD_RAM: int +AIT_8mm: int +ADR_1: int +ADR_2: int +STK_9940: int +BusTypeUnknown: int +BusTypeScsi: int +BusTypeAtapi: int +BusTypeAta: int +BusType1394: int +BusTypeSsa: int +BusTypeFibre: int +BusTypeUsb: int +BusTypeRAID: int +BusTypeiScsi: int +BusTypeSas: int +BusTypeSata: int +BusTypeMaxReserved: int +Unknown: int +F5_1Pt2_512: int +F3_1Pt44_512: int +F3_2Pt88_512: int +F3_20Pt8_512: int +F3_720_512: int +F5_360_512: int +F5_320_512: int +F5_320_1024: int +F5_180_512: int +F5_160_512: int +RemovableMedia: int +FixedMedia: int +F3_120M_512: int +F3_640_512: int +F5_640_512: int +F5_720_512: int +F3_1Pt2_512: int +F3_1Pt23_1024: int +F5_1Pt23_1024: int +F3_128Mb_512: int +F3_230Mb_512: int +F8_256_128: int +F3_200Mb_512: int +F3_240M_512: int +F3_32M_512: int +PARTITION_STYLE_MBR: int +PARTITION_STYLE_GPT: int +PARTITION_STYLE_RAW: int +DetectNone: int +DetectInt13: int +DetectExInt13: int +EqualPriority: int +KeepPrefetchedData: int +KeepReadData: int +DiskWriteCacheNormal: int +DiskWriteCacheForceDisable: int +DiskWriteCacheDisableNotSupported: int +RequestSize: int +RequestLocation: int +DeviceProblemNone: int +DeviceProblemHardware: int +DeviceProblemCHMError: int +DeviceProblemDoorOpen: int +DeviceProblemCalibrationError: int +DeviceProblemTargetFailure: int +DeviceProblemCHMMoveError: int +DeviceProblemCHMZeroError: int +DeviceProblemCartridgeInsertError: int +DeviceProblemPositionError: int +DeviceProblemSensorError: int +DeviceProblemCartridgeEjectError: int +DeviceProblemGripperError: int +DeviceProblemDriveError: int +FILE_READ_DATA: int +FILE_WRITE_DATA: int +FSCTL_TXFS_LIST_TRANSACTIONS: int +FSCTL_TXFS_LIST_TRANSACTION_LOCKED_FILES: int diff --git a/stubs/pywin32/win32/lib/winnt.pyi b/stubs/pywin32/win32/lib/winnt.pyi index eea472c68c3b..f1ec8493ccc6 100644 --- a/stubs/pywin32/win32/lib/winnt.pyi +++ b/stubs/pywin32/win32/lib/winnt.pyi @@ -1,1134 +1,1134 @@ -from typing import Final +from _typeshed import Incomplete -APPLICATION_ERROR_MASK: Final = 536870912 -ERROR_SEVERITY_SUCCESS: Final = 0 -ERROR_SEVERITY_INFORMATIONAL: Final = 1073741824 -ERROR_SEVERITY_WARNING: Final = -2147483648 -ERROR_SEVERITY_ERROR: Final = -1073741824 -MINCHAR: Final = 128 -MAXCHAR: Final = 127 -MINSHORT: Final = 32768 -MAXSHORT: Final = 32767 -MINLONG: Final = -2147483648 -MAXLONG: Final = 2147483647 -MAXBYTE: Final = 255 -MAXWORD: Final = 65535 -MAXDWORD: Final = -1 -LANG_NEUTRAL: Final = 0 -LANG_AFRIKAANS: Final = 54 -LANG_ALBANIAN: Final = 28 -LANG_ARABIC: Final = 1 -LANG_BASQUE: Final = 45 -LANG_BELARUSIAN: Final = 35 -LANG_BULGARIAN: Final = 2 -LANG_CATALAN: Final = 3 -LANG_CHINESE: Final = 4 -LANG_CROATIAN: Final = 26 -LANG_CZECH: Final = 5 -LANG_DANISH: Final = 6 -LANG_DUTCH: Final = 19 -LANG_ENGLISH: Final = 9 -LANG_ESTONIAN: Final = 37 -LANG_FAEROESE: Final = 56 -LANG_FARSI: Final = 41 -LANG_FINNISH: Final = 11 -LANG_FRENCH: Final = 12 -LANG_GERMAN: Final = 7 -LANG_GREEK: Final = 8 -LANG_HEBREW: Final = 13 -LANG_HINDI: Final = 57 -LANG_HUNGARIAN: Final = 14 -LANG_ICELANDIC: Final = 15 -LANG_INDONESIAN: Final = 33 -LANG_ITALIAN: Final = 16 -LANG_JAPANESE: Final = 17 -LANG_KOREAN: Final = 18 -LANG_LATVIAN: Final = 38 -LANG_LITHUANIAN: Final = 39 -LANG_MACEDONIAN: Final = 47 -LANG_MALAY: Final = 62 -LANG_NORWEGIAN: Final = 20 -LANG_POLISH: Final = 21 -LANG_PORTUGUESE: Final = 22 -LANG_ROMANIAN: Final = 24 -LANG_RUSSIAN: Final = 25 -LANG_SERBIAN: Final = 26 -LANG_SLOVAK: Final = 27 -LANG_SLOVENIAN: Final = 36 -LANG_SPANISH: Final = 10 -LANG_SWAHILI: Final = 65 -LANG_SWEDISH: Final = 29 -LANG_THAI: Final = 30 -LANG_TURKISH: Final = 31 -LANG_UKRAINIAN: Final = 34 -LANG_VIETNAMESE: Final = 42 -SUBLANG_NEUTRAL: Final = 0 -SUBLANG_DEFAULT: Final = 1 -SUBLANG_SYS_DEFAULT: Final = 2 -SUBLANG_ARABIC_SAUDI_ARABIA: Final = 1 -SUBLANG_ARABIC_IRAQ: Final = 2 -SUBLANG_ARABIC_EGYPT: Final = 3 -SUBLANG_ARABIC_LIBYA: Final = 4 -SUBLANG_ARABIC_ALGERIA: Final = 5 -SUBLANG_ARABIC_MOROCCO: Final = 6 -SUBLANG_ARABIC_TUNISIA: Final = 7 -SUBLANG_ARABIC_OMAN: Final = 8 -SUBLANG_ARABIC_YEMEN: Final = 9 -SUBLANG_ARABIC_SYRIA: Final = 10 -SUBLANG_ARABIC_JORDAN: Final = 11 -SUBLANG_ARABIC_LEBANON: Final = 12 -SUBLANG_ARABIC_KUWAIT: Final = 13 -SUBLANG_ARABIC_UAE: Final = 14 -SUBLANG_ARABIC_BAHRAIN: Final = 15 -SUBLANG_ARABIC_QATAR: Final = 16 -SUBLANG_CHINESE_TRADITIONAL: Final = 1 -SUBLANG_CHINESE_SIMPLIFIED: Final = 2 -SUBLANG_CHINESE_HONGKONG: Final = 3 -SUBLANG_CHINESE_SINGAPORE: Final = 4 -SUBLANG_CHINESE_MACAU: Final = 5 -SUBLANG_DUTCH: Final = 1 -SUBLANG_DUTCH_BELGIAN: Final = 2 -SUBLANG_ENGLISH_US: Final = 1 -SUBLANG_ENGLISH_UK: Final = 2 -SUBLANG_ENGLISH_AUS: Final = 3 -SUBLANG_ENGLISH_CAN: Final = 4 -SUBLANG_ENGLISH_NZ: Final = 5 -SUBLANG_ENGLISH_EIRE: Final = 6 -SUBLANG_ENGLISH_SOUTH_AFRICA: Final = 7 -SUBLANG_ENGLISH_JAMAICA: Final = 8 -SUBLANG_ENGLISH_CARIBBEAN: Final = 9 -SUBLANG_ENGLISH_BELIZE: Final = 10 -SUBLANG_ENGLISH_TRINIDAD: Final = 11 -SUBLANG_ENGLISH_ZIMBABWE: Final = 12 -SUBLANG_ENGLISH_PHILIPPINES: Final = 13 -SUBLANG_FRENCH: Final = 1 -SUBLANG_FRENCH_BELGIAN: Final = 2 -SUBLANG_FRENCH_CANADIAN: Final = 3 -SUBLANG_FRENCH_SWISS: Final = 4 -SUBLANG_FRENCH_LUXEMBOURG: Final = 5 -SUBLANG_FRENCH_MONACO: Final = 6 -SUBLANG_GERMAN: Final = 1 -SUBLANG_GERMAN_SWISS: Final = 2 -SUBLANG_GERMAN_AUSTRIAN: Final = 3 -SUBLANG_GERMAN_LUXEMBOURG: Final = 4 -SUBLANG_GERMAN_LIECHTENSTEIN: Final = 5 -SUBLANG_ITALIAN: Final = 1 -SUBLANG_ITALIAN_SWISS: Final = 2 -SUBLANG_KOREAN: Final = 1 -SUBLANG_KOREAN_JOHAB: Final = 2 -SUBLANG_LITHUANIAN: Final = 1 -SUBLANG_LITHUANIAN_CLASSIC: Final = 2 -SUBLANG_MALAY_MALAYSIA: Final = 1 -SUBLANG_MALAY_BRUNEI_DARUSSALAM: Final = 2 -SUBLANG_NORWEGIAN_BOKMAL: Final = 1 -SUBLANG_NORWEGIAN_NYNORSK: Final = 2 -SUBLANG_PORTUGUESE: Final = 2 -SUBLANG_PORTUGUESE_BRAZILIAN: Final = 1 -SUBLANG_SERBIAN_LATIN: Final = 2 -SUBLANG_SERBIAN_CYRILLIC: Final = 3 -SUBLANG_SPANISH: Final = 1 -SUBLANG_SPANISH_MEXICAN: Final = 2 -SUBLANG_SPANISH_MODERN: Final = 3 -SUBLANG_SPANISH_GUATEMALA: Final = 4 -SUBLANG_SPANISH_COSTA_RICA: Final = 5 -SUBLANG_SPANISH_PANAMA: Final = 6 -SUBLANG_SPANISH_DOMINICAN_REPUBLIC: Final = 7 -SUBLANG_SPANISH_VENEZUELA: Final = 8 -SUBLANG_SPANISH_COLOMBIA: Final = 9 -SUBLANG_SPANISH_PERU: Final = 10 -SUBLANG_SPANISH_ARGENTINA: Final = 11 -SUBLANG_SPANISH_ECUADOR: Final = 12 -SUBLANG_SPANISH_CHILE: Final = 13 -SUBLANG_SPANISH_URUGUAY: Final = 14 -SUBLANG_SPANISH_PARAGUAY: Final = 15 -SUBLANG_SPANISH_BOLIVIA: Final = 16 -SUBLANG_SPANISH_EL_SALVADOR: Final = 17 -SUBLANG_SPANISH_HONDURAS: Final = 18 -SUBLANG_SPANISH_NICARAGUA: Final = 19 -SUBLANG_SPANISH_PUERTO_RICO: Final = 20 -SUBLANG_SWEDISH: Final = 1 -SUBLANG_SWEDISH_FINLAND: Final = 2 -SORT_DEFAULT: Final = 0 -SORT_JAPANESE_XJIS: Final = 0 -SORT_JAPANESE_UNICODE: Final = 1 -SORT_CHINESE_BIG5: Final = 0 -SORT_CHINESE_PRCP: Final = 0 -SORT_CHINESE_UNICODE: Final = 1 -SORT_CHINESE_PRC: Final = 2 -SORT_KOREAN_KSC: Final = 0 -SORT_KOREAN_UNICODE: Final = 1 -SORT_GERMAN_PHONE_BOOK: Final = 1 +APPLICATION_ERROR_MASK: int +ERROR_SEVERITY_SUCCESS: int +ERROR_SEVERITY_INFORMATIONAL: int +ERROR_SEVERITY_WARNING: int +ERROR_SEVERITY_ERROR: int +MINCHAR: int +MAXCHAR: int +MINSHORT: int +MAXSHORT: int +MINLONG: int +MAXLONG: int +MAXBYTE: int +MAXWORD: int +MAXDWORD: int +LANG_NEUTRAL: int +LANG_AFRIKAANS: int +LANG_ALBANIAN: int +LANG_ARABIC: int +LANG_BASQUE: int +LANG_BELARUSIAN: int +LANG_BULGARIAN: int +LANG_CATALAN: int +LANG_CHINESE: int +LANG_CROATIAN: int +LANG_CZECH: int +LANG_DANISH: int +LANG_DUTCH: int +LANG_ENGLISH: int +LANG_ESTONIAN: int +LANG_FAEROESE: int +LANG_FARSI: int +LANG_FINNISH: int +LANG_FRENCH: int +LANG_GERMAN: int +LANG_GREEK: int +LANG_HEBREW: int +LANG_HINDI: int +LANG_HUNGARIAN: int +LANG_ICELANDIC: int +LANG_INDONESIAN: int +LANG_ITALIAN: int +LANG_JAPANESE: int +LANG_KOREAN: int +LANG_LATVIAN: int +LANG_LITHUANIAN: int +LANG_MACEDONIAN: int +LANG_MALAY: int +LANG_NORWEGIAN: int +LANG_POLISH: int +LANG_PORTUGUESE: int +LANG_ROMANIAN: int +LANG_RUSSIAN: int +LANG_SERBIAN: int +LANG_SLOVAK: int +LANG_SLOVENIAN: int +LANG_SPANISH: int +LANG_SWAHILI: int +LANG_SWEDISH: int +LANG_THAI: int +LANG_TURKISH: int +LANG_UKRAINIAN: int +LANG_VIETNAMESE: int +SUBLANG_NEUTRAL: int +SUBLANG_DEFAULT: int +SUBLANG_SYS_DEFAULT: int +SUBLANG_ARABIC_SAUDI_ARABIA: int +SUBLANG_ARABIC_IRAQ: int +SUBLANG_ARABIC_EGYPT: int +SUBLANG_ARABIC_LIBYA: int +SUBLANG_ARABIC_ALGERIA: int +SUBLANG_ARABIC_MOROCCO: int +SUBLANG_ARABIC_TUNISIA: int +SUBLANG_ARABIC_OMAN: int +SUBLANG_ARABIC_YEMEN: int +SUBLANG_ARABIC_SYRIA: int +SUBLANG_ARABIC_JORDAN: int +SUBLANG_ARABIC_LEBANON: int +SUBLANG_ARABIC_KUWAIT: int +SUBLANG_ARABIC_UAE: int +SUBLANG_ARABIC_BAHRAIN: int +SUBLANG_ARABIC_QATAR: int +SUBLANG_CHINESE_TRADITIONAL: int +SUBLANG_CHINESE_SIMPLIFIED: int +SUBLANG_CHINESE_HONGKONG: int +SUBLANG_CHINESE_SINGAPORE: int +SUBLANG_CHINESE_MACAU: int +SUBLANG_DUTCH: int +SUBLANG_DUTCH_BELGIAN: int +SUBLANG_ENGLISH_US: int +SUBLANG_ENGLISH_UK: int +SUBLANG_ENGLISH_AUS: int +SUBLANG_ENGLISH_CAN: int +SUBLANG_ENGLISH_NZ: int +SUBLANG_ENGLISH_EIRE: int +SUBLANG_ENGLISH_SOUTH_AFRICA: int +SUBLANG_ENGLISH_JAMAICA: int +SUBLANG_ENGLISH_CARIBBEAN: int +SUBLANG_ENGLISH_BELIZE: int +SUBLANG_ENGLISH_TRINIDAD: int +SUBLANG_ENGLISH_ZIMBABWE: int +SUBLANG_ENGLISH_PHILIPPINES: int +SUBLANG_FRENCH: int +SUBLANG_FRENCH_BELGIAN: int +SUBLANG_FRENCH_CANADIAN: int +SUBLANG_FRENCH_SWISS: int +SUBLANG_FRENCH_LUXEMBOURG: int +SUBLANG_FRENCH_MONACO: int +SUBLANG_GERMAN: int +SUBLANG_GERMAN_SWISS: int +SUBLANG_GERMAN_AUSTRIAN: int +SUBLANG_GERMAN_LUXEMBOURG: int +SUBLANG_GERMAN_LIECHTENSTEIN: int +SUBLANG_ITALIAN: int +SUBLANG_ITALIAN_SWISS: int +SUBLANG_KOREAN: int +SUBLANG_KOREAN_JOHAB: int +SUBLANG_LITHUANIAN: int +SUBLANG_LITHUANIAN_CLASSIC: int +SUBLANG_MALAY_MALAYSIA: int +SUBLANG_MALAY_BRUNEI_DARUSSALAM: int +SUBLANG_NORWEGIAN_BOKMAL: int +SUBLANG_NORWEGIAN_NYNORSK: int +SUBLANG_PORTUGUESE: int +SUBLANG_PORTUGUESE_BRAZILIAN: int +SUBLANG_SERBIAN_LATIN: int +SUBLANG_SERBIAN_CYRILLIC: int +SUBLANG_SPANISH: int +SUBLANG_SPANISH_MEXICAN: int +SUBLANG_SPANISH_MODERN: int +SUBLANG_SPANISH_GUATEMALA: int +SUBLANG_SPANISH_COSTA_RICA: int +SUBLANG_SPANISH_PANAMA: int +SUBLANG_SPANISH_DOMINICAN_REPUBLIC: int +SUBLANG_SPANISH_VENEZUELA: int +SUBLANG_SPANISH_COLOMBIA: int +SUBLANG_SPANISH_PERU: int +SUBLANG_SPANISH_ARGENTINA: int +SUBLANG_SPANISH_ECUADOR: int +SUBLANG_SPANISH_CHILE: int +SUBLANG_SPANISH_URUGUAY: int +SUBLANG_SPANISH_PARAGUAY: int +SUBLANG_SPANISH_BOLIVIA: int +SUBLANG_SPANISH_EL_SALVADOR: int +SUBLANG_SPANISH_HONDURAS: int +SUBLANG_SPANISH_NICARAGUA: int +SUBLANG_SPANISH_PUERTO_RICO: int +SUBLANG_SWEDISH: int +SUBLANG_SWEDISH_FINLAND: int +SORT_DEFAULT: int +SORT_JAPANESE_XJIS: int +SORT_JAPANESE_UNICODE: int +SORT_CHINESE_BIG5: int +SORT_CHINESE_PRCP: int +SORT_CHINESE_UNICODE: int +SORT_CHINESE_PRC: int +SORT_KOREAN_KSC: int +SORT_KOREAN_UNICODE: int +SORT_GERMAN_PHONE_BOOK: int -def PRIMARYLANGID(lgid: int) -> int: ... -def SUBLANGID(lgid: int) -> int: ... +def PRIMARYLANGID(lgid): ... +def SUBLANGID(lgid): ... -NLS_VALID_LOCALE_MASK: Final = 1048575 +NLS_VALID_LOCALE_MASK: int -def LANGIDFROMLCID(lcid: int) -> int: ... -def SORTIDFROMLCID(lcid: int) -> int: ... +def LANGIDFROMLCID(lcid): ... +def SORTIDFROMLCID(lcid): ... -MAXIMUM_WAIT_OBJECTS: Final = 64 -MAXIMUM_SUSPEND_COUNT: Final = MAXCHAR -EXCEPTION_NONCONTINUABLE: Final = 1 -EXCEPTION_MAXIMUM_PARAMETERS: Final = 15 -PROCESS_TERMINATE: Final = 1 -PROCESS_CREATE_THREAD: Final = 2 -PROCESS_VM_OPERATION: Final = 8 -PROCESS_VM_READ: Final = 16 -PROCESS_VM_WRITE: Final = 32 -PROCESS_DUP_HANDLE: Final = 64 -PROCESS_CREATE_PROCESS: Final = 128 -PROCESS_SET_QUOTA: Final = 256 -PROCESS_SET_INFORMATION: Final = 512 -PROCESS_QUERY_INFORMATION: Final = 1024 -PROCESS_SUSPEND_RESUME: Final = 2048 -PROCESS_QUERY_LIMITED_INFORMATION: Final = 4096 -PROCESS_SET_LIMITED_INFORMATION: Final = 8192 -MAXIMUM_PROCESSORS: Final = 32 -THREAD_TERMINATE: Final = 1 -THREAD_SUSPEND_RESUME: Final = 2 -THREAD_GET_CONTEXT: Final = 8 -THREAD_SET_CONTEXT: Final = 16 -THREAD_SET_INFORMATION: Final = 32 -THREAD_QUERY_INFORMATION: Final = 64 -THREAD_SET_THREAD_TOKEN: Final = 128 -THREAD_IMPERSONATE: Final = 256 -THREAD_DIRECT_IMPERSONATION: Final = 512 -THREAD_SET_LIMITED_INFORMATION: Final = 1024 -THREAD_QUERY_LIMITED_INFORMATION: Final = 2048 -THREAD_RESUME: Final = 4096 -JOB_OBJECT_ASSIGN_PROCESS: Final = 1 -JOB_OBJECT_SET_ATTRIBUTES: Final = 2 -JOB_OBJECT_QUERY: Final = 4 -JOB_OBJECT_TERMINATE: Final = 8 -TLS_MINIMUM_AVAILABLE: Final = 64 -THREAD_BASE_PRIORITY_LOWRT: Final = 15 -THREAD_BASE_PRIORITY_MAX: Final = 2 -THREAD_BASE_PRIORITY_MIN: Final = -2 -THREAD_BASE_PRIORITY_IDLE: Final = -15 -JOB_OBJECT_LIMIT_WORKINGSET: Final = 1 -JOB_OBJECT_LIMIT_PROCESS_TIME: Final = 2 -JOB_OBJECT_LIMIT_JOB_TIME: Final = 4 -JOB_OBJECT_LIMIT_ACTIVE_PROCESS: Final = 8 -JOB_OBJECT_LIMIT_AFFINITY: Final = 16 -JOB_OBJECT_LIMIT_PRIORITY_CLASS: Final = 32 -JOB_OBJECT_LIMIT_VALID_FLAGS: Final = 63 -EVENT_MODIFY_STATE: Final = 2 -MUTANT_QUERY_STATE: Final = 1 -SEMAPHORE_MODIFY_STATE: Final = 2 -TIME_ZONE_ID_UNKNOWN: Final = 0 -TIME_ZONE_ID_STANDARD: Final = 1 -TIME_ZONE_ID_DAYLIGHT: Final = 2 -PROCESSOR_INTEL_386: Final = 386 -PROCESSOR_INTEL_486: Final = 486 -PROCESSOR_INTEL_PENTIUM: Final = 586 -PROCESSOR_MIPS_R4000: Final = 4000 -PROCESSOR_ALPHA_21064: Final = 21064 -PROCESSOR_HITACHI_SH3: Final = 10003 -PROCESSOR_HITACHI_SH3E: Final = 10004 -PROCESSOR_HITACHI_SH4: Final = 10005 -PROCESSOR_MOTOROLA_821: Final = 821 -PROCESSOR_ARM_7TDMI: Final = 70001 -PROCESSOR_ARCHITECTURE_INTEL: Final = 0 -PROCESSOR_ARCHITECTURE_MIPS: Final = 1 -PROCESSOR_ARCHITECTURE_ALPHA: Final = 2 -PROCESSOR_ARCHITECTURE_PPC: Final = 3 -PROCESSOR_ARCHITECTURE_SH: Final = 4 -PROCESSOR_ARCHITECTURE_ARM: Final = 5 -PROCESSOR_ARCHITECTURE_IA64: Final = 6 -PROCESSOR_ARCHITECTURE_ALPHA64: Final = 7 -PROCESSOR_ARCHITECTURE_MSIL: Final = 8 -PROCESSOR_ARCHITECTURE_AMD64: Final = 9 -PROCESSOR_ARCHITECTURE_IA32_ON_WIN64: Final = 10 -PROCESSOR_ARCHITECTURE_UNKNOWN: Final = 65535 -PF_FLOATING_POINT_PRECISION_ERRATA: Final = 0 -PF_FLOATING_POINT_EMULATED: Final = 1 -PF_COMPARE_EXCHANGE_DOUBLE: Final = 2 -PF_MMX_INSTRUCTIONS_AVAILABLE: Final = 3 -PF_PPC_MOVEMEM_64BIT_OK: Final = 4 -PF_ALPHA_BYTE_INSTRUCTIONS: Final = 5 -SECTION_QUERY: Final = 1 -SECTION_MAP_WRITE: Final = 2 -SECTION_MAP_READ: Final = 4 -SECTION_MAP_EXECUTE: Final = 8 -SECTION_EXTEND_SIZE: Final = 16 -PAGE_NOACCESS: Final = 1 -PAGE_READONLY: Final = 2 -PAGE_READWRITE: Final = 4 -PAGE_WRITECOPY: Final = 8 -PAGE_EXECUTE: Final = 16 -PAGE_EXECUTE_READ: Final = 32 -PAGE_EXECUTE_READWRITE: Final = 64 -PAGE_EXECUTE_WRITECOPY: Final = 128 -PAGE_GUARD: Final = 256 -PAGE_NOCACHE: Final = 512 -MEM_COMMIT: Final = 4096 -MEM_RESERVE: Final = 8192 -MEM_DECOMMIT: Final = 16384 -MEM_RELEASE: Final = 32768 -MEM_FREE: Final = 65536 -MEM_PRIVATE: Final = 131072 -MEM_MAPPED: Final = 262144 -MEM_RESET: Final = 524288 -MEM_TOP_DOWN: Final = 1048576 -MEM_4MB_PAGES: Final = -2147483648 -SEC_FILE: Final = 8388608 -SEC_IMAGE: Final = 16777216 -SEC_VLM: Final = 33554432 -SEC_RESERVE: Final = 67108864 -SEC_COMMIT: Final = 134217728 -SEC_NOCACHE: Final = 268435456 -MEM_IMAGE: Final = SEC_IMAGE -FILE_READ_DATA: Final = 1 -FILE_LIST_DIRECTORY: Final = 1 -FILE_WRITE_DATA: Final = 2 -FILE_ADD_FILE: Final = 2 -FILE_APPEND_DATA: Final = 4 -FILE_ADD_SUBDIRECTORY: Final = 4 -FILE_CREATE_PIPE_INSTANCE: Final = 4 -FILE_READ_EA: Final = 8 -FILE_WRITE_EA: Final = 16 -FILE_EXECUTE: Final = 32 -FILE_TRAVERSE: Final = 32 -FILE_DELETE_CHILD: Final = 64 -FILE_READ_ATTRIBUTES: Final = 128 -FILE_WRITE_ATTRIBUTES: Final = 256 -FILE_SHARE_READ: Final = 1 -FILE_SHARE_WRITE: Final = 2 -FILE_SHARE_DELETE: Final = 4 -FILE_ATTRIBUTE_READONLY: Final = 1 -FILE_ATTRIBUTE_HIDDEN: Final = 2 -FILE_ATTRIBUTE_SYSTEM: Final = 4 -FILE_ATTRIBUTE_DIRECTORY: Final = 16 -FILE_ATTRIBUTE_ARCHIVE: Final = 32 -FILE_ATTRIBUTE_DEVICE: Final = 64 -FILE_ATTRIBUTE_NORMAL: Final = 128 -FILE_ATTRIBUTE_TEMPORARY: Final = 256 -FILE_ATTRIBUTE_SPARSE_FILE: Final = 512 -FILE_ATTRIBUTE_REPARSE_POINT: Final = 1024 -FILE_ATTRIBUTE_COMPRESSED: Final = 2048 -FILE_ATTRIBUTE_OFFLINE: Final = 4096 -FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: Final = 8192 -FILE_ATTRIBUTE_ENCRYPTED: Final = 16384 -FILE_ATTRIBUTE_VIRTUAL: Final = 65536 -FILE_NOTIFY_CHANGE_FILE_NAME: Final = 1 -FILE_NOTIFY_CHANGE_DIR_NAME: Final = 2 -FILE_NOTIFY_CHANGE_ATTRIBUTES: Final = 4 -FILE_NOTIFY_CHANGE_SIZE: Final = 8 -FILE_NOTIFY_CHANGE_LAST_WRITE: Final = 16 -FILE_NOTIFY_CHANGE_LAST_ACCESS: Final = 32 -FILE_NOTIFY_CHANGE_CREATION: Final = 64 -FILE_NOTIFY_CHANGE_SECURITY: Final = 256 -FILE_ACTION_ADDED: Final = 1 -FILE_ACTION_REMOVED: Final = 2 -FILE_ACTION_MODIFIED: Final = 3 -FILE_ACTION_RENAMED_OLD_NAME: Final = 4 -FILE_ACTION_RENAMED_NEW_NAME: Final = 5 -FILE_CASE_SENSITIVE_SEARCH: Final = 1 -FILE_CASE_PRESERVED_NAMES: Final = 2 -FILE_UNICODE_ON_DISK: Final = 4 -FILE_PERSISTENT_ACLS: Final = 8 -FILE_FILE_COMPRESSION: Final = 16 -FILE_VOLUME_QUOTAS: Final = 32 -FILE_SUPPORTS_SPARSE_FILES: Final = 64 -FILE_SUPPORTS_REPARSE_POINTS: Final = 128 -FILE_SUPPORTS_REMOTE_STORAGE: Final = 256 -FILE_VOLUME_IS_COMPRESSED: Final = 32768 -FILE_SUPPORTS_OBJECT_IDS: Final = 65536 -FILE_SUPPORTS_ENCRYPTION: Final = 131072 -MAXIMUM_REPARSE_DATA_BUFFER_SIZE: Final = 16384 -IO_REPARSE_TAG_RESERVED_ZERO: Final = 0 -IO_REPARSE_TAG_RESERVED_ONE: Final = 1 -IO_REPARSE_TAG_SYMBOLIC_LINK: Final = 2 -IO_REPARSE_TAG_NSS: Final = 5 -IO_REPARSE_TAG_FILTER_MANAGER: Final = -2147483637 -IO_REPARSE_TAG_DFS: Final = -2147483638 -IO_REPARSE_TAG_SIS: Final = -2147483641 -IO_REPARSE_TAG_MOUNT_POINT: Final = -1610612733 -IO_REPARSE_TAG_HSM: Final = -1073741820 -IO_REPARSE_TAG_NSSRECOVER: Final = 8 -IO_REPARSE_TAG_RESERVED_MS_RANGE: Final = 256 -IO_REPARSE_TAG_RESERVED_RANGE: Final = IO_REPARSE_TAG_RESERVED_ONE -IO_COMPLETION_MODIFY_STATE: Final = 2 -DUPLICATE_CLOSE_SOURCE: Final = 1 -DUPLICATE_SAME_ACCESS: Final = 2 -DELETE: Final = 65536 -READ_CONTROL: Final = 131072 -WRITE_DAC: Final = 262144 -WRITE_OWNER: Final = 524288 -SYNCHRONIZE: Final = 1048576 -STANDARD_RIGHTS_REQUIRED: Final = 983040 -STANDARD_RIGHTS_READ: Final = READ_CONTROL -STANDARD_RIGHTS_WRITE: Final = READ_CONTROL -STANDARD_RIGHTS_EXECUTE: Final = READ_CONTROL -STANDARD_RIGHTS_ALL: Final = 2031616 -SPECIFIC_RIGHTS_ALL: Final = 65535 -IO_COMPLETION_ALL_ACCESS: Final = 2031619 -ACCESS_SYSTEM_SECURITY: Final = 16777216 -MAXIMUM_ALLOWED: Final = 33554432 -GENERIC_READ: Final = -2147483648 -GENERIC_WRITE: Final = 1073741824 -GENERIC_EXECUTE: Final = 536870912 -GENERIC_ALL: Final = 268435456 -SID_REVISION: Final = 1 -SID_MAX_SUB_AUTHORITIES: Final = 15 -SID_RECOMMENDED_SUB_AUTHORITIES: Final = 1 -SidTypeUser: Final = 1 -SidTypeGroup: Final = 2 -SidTypeDomain: Final = 3 -SidTypeAlias: Final = 4 -SidTypeWellKnownGroup: Final = 5 -SidTypeDeletedAccount: Final = 6 -SidTypeInvalid: Final = 7 -SidTypeUnknown: Final = 8 -SECURITY_NULL_RID: Final = 0 -SECURITY_WORLD_RID: Final = 0 -SECURITY_LOCAL_RID: Final = 0x00000000 -SECURITY_CREATOR_OWNER_RID: Final = 0 -SECURITY_CREATOR_GROUP_RID: Final = 1 -SECURITY_CREATOR_OWNER_SERVER_RID: Final = 2 -SECURITY_CREATOR_GROUP_SERVER_RID: Final = 3 -SECURITY_DIALUP_RID: Final = 1 -SECURITY_NETWORK_RID: Final = 2 -SECURITY_BATCH_RID: Final = 3 -SECURITY_INTERACTIVE_RID: Final = 4 -SECURITY_SERVICE_RID: Final = 6 -SECURITY_ANONYMOUS_LOGON_RID: Final = 7 -SECURITY_PROXY_RID: Final = 8 -SECURITY_SERVER_LOGON_RID: Final = 9 -SECURITY_PRINCIPAL_SELF_RID: Final = 10 -SECURITY_AUTHENTICATED_USER_RID: Final = 11 -SECURITY_LOGON_IDS_RID: Final = 5 -SECURITY_LOGON_IDS_RID_COUNT: Final = 3 -SECURITY_LOCAL_SYSTEM_RID: Final = 18 -SECURITY_NT_NON_UNIQUE: Final = 21 -SECURITY_BUILTIN_DOMAIN_RID: Final = 32 -DOMAIN_USER_RID_ADMIN: Final = 500 -DOMAIN_USER_RID_GUEST: Final = 501 -DOMAIN_GROUP_RID_ADMINS: Final = 512 -DOMAIN_GROUP_RID_USERS: Final = 513 -DOMAIN_GROUP_RID_GUESTS: Final = 514 -DOMAIN_ALIAS_RID_ADMINS: Final = 544 -DOMAIN_ALIAS_RID_USERS: Final = 545 -DOMAIN_ALIAS_RID_GUESTS: Final = 546 -DOMAIN_ALIAS_RID_POWER_USERS: Final = 547 -DOMAIN_ALIAS_RID_ACCOUNT_OPS: Final = 548 -DOMAIN_ALIAS_RID_SYSTEM_OPS: Final = 549 -DOMAIN_ALIAS_RID_PRINT_OPS: Final = 550 -DOMAIN_ALIAS_RID_BACKUP_OPS: Final = 551 -DOMAIN_ALIAS_RID_REPLICATOR: Final = 552 -SE_GROUP_MANDATORY: Final = 1 -SE_GROUP_ENABLED_BY_DEFAULT: Final = 2 -SE_GROUP_ENABLED: Final = 4 -SE_GROUP_OWNER: Final = 8 -SE_GROUP_LOGON_ID: Final = -1073741824 -ACL_REVISION: Final = 2 -ACL_REVISION_DS: Final = 4 -ACL_REVISION1: Final = 1 -ACL_REVISION2: Final = 2 -ACL_REVISION3: Final = 3 -ACL_REVISION4: Final = 4 -MAX_ACL_REVISION: Final = ACL_REVISION4 -ACCESS_MIN_MS_ACE_TYPE: Final = 0 -ACCESS_ALLOWED_ACE_TYPE: Final = 0 -ACCESS_DENIED_ACE_TYPE: Final = 1 -SYSTEM_AUDIT_ACE_TYPE: Final = 2 -SYSTEM_ALARM_ACE_TYPE: Final = 3 -ACCESS_MAX_MS_V2_ACE_TYPE: Final = 3 -ACCESS_ALLOWED_COMPOUND_ACE_TYPE: Final = 4 -ACCESS_MAX_MS_V3_ACE_TYPE: Final = 4 -ACCESS_MIN_MS_OBJECT_ACE_TYPE: Final = 5 -ACCESS_ALLOWED_OBJECT_ACE_TYPE: Final = 5 -ACCESS_DENIED_OBJECT_ACE_TYPE: Final = 6 -SYSTEM_AUDIT_OBJECT_ACE_TYPE: Final = 7 -SYSTEM_ALARM_OBJECT_ACE_TYPE: Final = 8 -ACCESS_MAX_MS_OBJECT_ACE_TYPE: Final = 8 -ACCESS_MAX_MS_V4_ACE_TYPE: Final = 8 -ACCESS_MAX_MS_ACE_TYPE: Final = 8 -ACCESS_ALLOWED_CALLBACK_ACE_TYPE: Final = 9 -ACCESS_DENIED_CALLBACK_ACE_TYPE: Final = 10 -ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE: Final = 11 -ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE: Final = 12 -SYSTEM_AUDIT_CALLBACK_ACE_TYPE: Final = 13 -SYSTEM_ALARM_CALLBACK_ACE_TYPE: Final = 14 -SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE: Final = 15 -SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE: Final = 16 -SYSTEM_MANDATORY_LABEL_ACE_TYPE: Final = 17 -ACCESS_MAX_MS_V5_ACE_TYPE: Final = 17 -OBJECT_INHERIT_ACE: Final = 1 -CONTAINER_INHERIT_ACE: Final = 2 -NO_PROPAGATE_INHERIT_ACE: Final = 4 -INHERIT_ONLY_ACE: Final = 8 -INHERITED_ACE: Final = 16 -VALID_INHERIT_FLAGS: Final = 31 -SUCCESSFUL_ACCESS_ACE_FLAG: Final = 64 -FAILED_ACCESS_ACE_FLAG: Final = 128 -ACE_OBJECT_TYPE_PRESENT: Final = 1 -ACE_INHERITED_OBJECT_TYPE_PRESENT: Final = 2 -SECURITY_DESCRIPTOR_REVISION: Final = 1 -SECURITY_DESCRIPTOR_REVISION1: Final = 1 -SECURITY_DESCRIPTOR_MIN_LENGTH: Final = 20 -SE_OWNER_DEFAULTED: Final = 1 -SE_GROUP_DEFAULTED: Final = 2 -SE_DACL_PRESENT: Final = 4 -SE_DACL_DEFAULTED: Final = 8 -SE_SACL_PRESENT: Final = 16 -SE_SACL_DEFAULTED: Final = 32 -SE_DACL_AUTO_INHERIT_REQ: Final = 256 -SE_SACL_AUTO_INHERIT_REQ: Final = 512 -SE_DACL_AUTO_INHERITED: Final = 1024 -SE_SACL_AUTO_INHERITED: Final = 2048 -SE_DACL_PROTECTED: Final = 4096 -SE_SACL_PROTECTED: Final = 8192 -SE_SELF_RELATIVE: Final = 32768 -ACCESS_OBJECT_GUID: Final = 0 -ACCESS_PROPERTY_SET_GUID: Final = 1 -ACCESS_PROPERTY_GUID: Final = 2 -ACCESS_MAX_LEVEL: Final = 4 -AUDIT_ALLOW_NO_PRIVILEGE: Final = 1 -ACCESS_DS_SOURCE_A: Final = "Directory Service" -ACCESS_DS_OBJECT_TYPE_NAME_A: Final = "Directory Service Object" -SE_PRIVILEGE_ENABLED_BY_DEFAULT: Final = 1 -SE_PRIVILEGE_ENABLED: Final = 2 -SE_PRIVILEGE_USED_FOR_ACCESS: Final = -2147483648 -PRIVILEGE_SET_ALL_NECESSARY: Final = 1 -SE_CREATE_TOKEN_NAME: Final = "SeCreateTokenPrivilege" -SE_ASSIGNPRIMARYTOKEN_NAME: Final = "SeAssignPrimaryTokenPrivilege" -SE_LOCK_MEMORY_NAME: Final = "SeLockMemoryPrivilege" -SE_INCREASE_QUOTA_NAME: Final = "SeIncreaseQuotaPrivilege" -SE_UNSOLICITED_INPUT_NAME: Final = "SeUnsolicitedInputPrivilege" -SE_MACHINE_ACCOUNT_NAME: Final = "SeMachineAccountPrivilege" -SE_TCB_NAME: Final = "SeTcbPrivilege" -SE_SECURITY_NAME: Final = "SeSecurityPrivilege" -SE_TAKE_OWNERSHIP_NAME: Final = "SeTakeOwnershipPrivilege" -SE_LOAD_DRIVER_NAME: Final = "SeLoadDriverPrivilege" -SE_SYSTEM_PROFILE_NAME: Final = "SeSystemProfilePrivilege" -SE_SYSTEMTIME_NAME: Final = "SeSystemtimePrivilege" -SE_PROF_SINGLE_PROCESS_NAME: Final = "SeProfileSingleProcessPrivilege" -SE_INC_BASE_PRIORITY_NAME: Final = "SeIncreaseBasePriorityPrivilege" -SE_CREATE_PAGEFILE_NAME: Final = "SeCreatePagefilePrivilege" -SE_CREATE_PERMANENT_NAME: Final = "SeCreatePermanentPrivilege" -SE_BACKUP_NAME: Final = "SeBackupPrivilege" -SE_RESTORE_NAME: Final = "SeRestorePrivilege" -SE_SHUTDOWN_NAME: Final = "SeShutdownPrivilege" -SE_DEBUG_NAME: Final = "SeDebugPrivilege" -SE_AUDIT_NAME: Final = "SeAuditPrivilege" -SE_SYSTEM_ENVIRONMENT_NAME: Final = "SeSystemEnvironmentPrivilege" -SE_CHANGE_NOTIFY_NAME: Final = "SeChangeNotifyPrivilege" -SE_REMOTE_SHUTDOWN_NAME: Final = "SeRemoteShutdownPrivilege" -TOKEN_ASSIGN_PRIMARY: Final = 1 -TOKEN_DUPLICATE: Final = 2 -TOKEN_IMPERSONATE: Final = 4 -TOKEN_QUERY: Final = 8 -TOKEN_QUERY_SOURCE: Final = 16 -TOKEN_ADJUST_PRIVILEGES: Final = 32 -TOKEN_ADJUST_GROUPS: Final = 64 -TOKEN_ADJUST_DEFAULT: Final = 128 -TOKEN_ALL_ACCESS: Final = 983295 -TOKEN_READ: Final = 131080 -TOKEN_WRITE: Final = 131296 -TOKEN_EXECUTE: Final = STANDARD_RIGHTS_EXECUTE -TOKEN_SOURCE_LENGTH: Final = 8 -TokenPrimary: Final = 1 -TokenImpersonation: Final = 2 -TokenUser: Final = 1 -TokenGroups: Final = 2 -TokenPrivileges: Final = 3 -TokenOwner: Final = 4 -TokenPrimaryGroup: Final = 5 -TokenDefaultDacl: Final = 6 -TokenSource: Final = 7 -TokenType: Final = 8 -TokenImpersonationLevel: Final = 9 -TokenStatistics: Final = 10 -TokenRestrictedSids: Final = 11 -TokenSessionId: Final = 12 -TokenGroupsAndPrivileges: Final = 13 -TokenSessionReference: Final = 14 -TokenSandBoxInert: Final = 15 -TokenAuditPolicy: Final = 16 -TokenOrigin: Final = 17 -TokenElevationType: Final = 18 -TokenLinkedToken: Final = 19 -TokenElevation: Final = 20 -TokenHasRestrictions: Final = 21 -TokenAccessInformation: Final = 22 -TokenVirtualizationAllowed: Final = 23 -TokenVirtualizationEnabled: Final = 24 -TokenIntegrityLevel: Final = 25 -TokenUIAccess: Final = 26 -TokenMandatoryPolicy: Final = 27 -TokenLogonSid: Final = 28 -OWNER_SECURITY_INFORMATION: Final = 0x00000001 -GROUP_SECURITY_INFORMATION: Final = 0x00000002 -DACL_SECURITY_INFORMATION: Final = 0x00000004 -SACL_SECURITY_INFORMATION: Final = 0x00000008 -LABEL_SECURITY_INFORMATION: Final = 0x00000010 -IMAGE_DOS_SIGNATURE: Final = 23117 -IMAGE_OS2_SIGNATURE: Final = 17742 -IMAGE_OS2_SIGNATURE_LE: Final = 17740 -IMAGE_VXD_SIGNATURE: Final = 17740 -IMAGE_NT_SIGNATURE: Final = 17744 -IMAGE_SIZEOF_FILE_HEADER: Final = 20 -IMAGE_FILE_RELOCS_STRIPPED: Final = 1 -IMAGE_FILE_EXECUTABLE_IMAGE: Final = 2 -IMAGE_FILE_LINE_NUMS_STRIPPED: Final = 4 -IMAGE_FILE_LOCAL_SYMS_STRIPPED: Final = 8 -IMAGE_FILE_AGGRESIVE_WS_TRIM: Final = 16 -IMAGE_FILE_LARGE_ADDRESS_AWARE: Final = 32 -IMAGE_FILE_BYTES_REVERSED_LO: Final = 128 -IMAGE_FILE_32BIT_MACHINE: Final = 256 -IMAGE_FILE_DEBUG_STRIPPED: Final = 512 -IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP: Final = 1024 -IMAGE_FILE_NET_RUN_FROM_SWAP: Final = 2048 -IMAGE_FILE_SYSTEM: Final = 4096 -IMAGE_FILE_DLL: Final = 8192 -IMAGE_FILE_UP_SYSTEM_ONLY: Final = 16384 -IMAGE_FILE_BYTES_REVERSED_HI: Final = 32768 -IMAGE_FILE_MACHINE_UNKNOWN: Final = 0 -IMAGE_FILE_MACHINE_I386: Final = 332 -IMAGE_FILE_MACHINE_R3000: Final = 354 -IMAGE_FILE_MACHINE_R4000: Final = 358 -IMAGE_FILE_MACHINE_R10000: Final = 360 -IMAGE_FILE_MACHINE_WCEMIPSV2: Final = 361 -IMAGE_FILE_MACHINE_ALPHA: Final = 388 -IMAGE_FILE_MACHINE_POWERPC: Final = 496 -IMAGE_FILE_MACHINE_SH3: Final = 418 -IMAGE_FILE_MACHINE_SH3E: Final = 420 -IMAGE_FILE_MACHINE_SH4: Final = 422 -IMAGE_FILE_MACHINE_ARM: Final = 448 -IMAGE_NUMBEROF_DIRECTORY_ENTRIES: Final = 16 -IMAGE_SIZEOF_ROM_OPTIONAL_HEADER: Final = 56 -IMAGE_SIZEOF_STD_OPTIONAL_HEADER: Final = 28 -IMAGE_SIZEOF_NT_OPTIONAL_HEADER: Final = 224 -IMAGE_NT_OPTIONAL_HDR_MAGIC: Final = 267 -IMAGE_ROM_OPTIONAL_HDR_MAGIC: Final = 263 -IMAGE_SUBSYSTEM_UNKNOWN: Final = 0 -IMAGE_SUBSYSTEM_NATIVE: Final = 1 -IMAGE_SUBSYSTEM_WINDOWS_GUI: Final = 2 -IMAGE_SUBSYSTEM_WINDOWS_CUI: Final = 3 -IMAGE_SUBSYSTEM_WINDOWS_CE_GUI: Final = 4 -IMAGE_SUBSYSTEM_OS2_CUI: Final = 5 -IMAGE_SUBSYSTEM_POSIX_CUI: Final = 7 -IMAGE_SUBSYSTEM_RESERVED8: Final = 8 -IMAGE_DLLCHARACTERISTICS_WDM_DRIVER: Final = 8192 -IMAGE_DIRECTORY_ENTRY_EXPORT: Final = 0 -IMAGE_DIRECTORY_ENTRY_IMPORT: Final = 1 -IMAGE_DIRECTORY_ENTRY_RESOURCE: Final = 2 -IMAGE_DIRECTORY_ENTRY_EXCEPTION: Final = 3 -IMAGE_DIRECTORY_ENTRY_SECURITY: Final = 4 -IMAGE_DIRECTORY_ENTRY_BASERELOC: Final = 5 -IMAGE_DIRECTORY_ENTRY_DEBUG: Final = 6 -IMAGE_DIRECTORY_ENTRY_COPYRIGHT: Final = 7 -IMAGE_DIRECTORY_ENTRY_GLOBALPTR: Final = 8 -IMAGE_DIRECTORY_ENTRY_TLS: Final = 9 -IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG: Final = 10 -IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT: Final = 11 -IMAGE_DIRECTORY_ENTRY_IAT: Final = 12 -IMAGE_SIZEOF_SHORT_NAME: Final = 8 -IMAGE_SIZEOF_SECTION_HEADER: Final = 40 -IMAGE_SCN_TYPE_NO_PAD: Final = 8 -IMAGE_SCN_CNT_CODE: Final = 32 -IMAGE_SCN_CNT_INITIALIZED_DATA: Final = 64 -IMAGE_SCN_CNT_UNINITIALIZED_DATA: Final = 128 -IMAGE_SCN_LNK_OTHER: Final = 256 -IMAGE_SCN_LNK_INFO: Final = 512 -IMAGE_SCN_LNK_REMOVE: Final = 2048 -IMAGE_SCN_LNK_COMDAT: Final = 4096 -IMAGE_SCN_MEM_FARDATA: Final = 32768 -IMAGE_SCN_MEM_PURGEABLE: Final = 131072 -IMAGE_SCN_MEM_16BIT: Final = 131072 -IMAGE_SCN_MEM_LOCKED: Final = 262144 -IMAGE_SCN_MEM_PRELOAD: Final = 524288 -IMAGE_SCN_ALIGN_1BYTES: Final = 1048576 -IMAGE_SCN_ALIGN_2BYTES: Final = 2097152 -IMAGE_SCN_ALIGN_4BYTES: Final = 3145728 -IMAGE_SCN_ALIGN_8BYTES: Final = 4194304 -IMAGE_SCN_ALIGN_16BYTES: Final = 5242880 -IMAGE_SCN_ALIGN_32BYTES: Final = 6291456 -IMAGE_SCN_ALIGN_64BYTES: Final = 7340032 -IMAGE_SCN_LNK_NRELOC_OVFL: Final = 16777216 -IMAGE_SCN_MEM_DISCARDABLE: Final = 33554432 -IMAGE_SCN_MEM_NOT_CACHED: Final = 67108864 -IMAGE_SCN_MEM_NOT_PAGED: Final = 134217728 -IMAGE_SCN_MEM_SHARED: Final = 268435456 -IMAGE_SCN_MEM_EXECUTE: Final = 536870912 -IMAGE_SCN_MEM_READ: Final = 1073741824 -IMAGE_SCN_MEM_WRITE: Final = -2147483648 -IMAGE_SCN_SCALE_INDEX: Final = 1 -IMAGE_SIZEOF_SYMBOL: Final = 18 -IMAGE_SYM_TYPE_NULL: Final = 0 -IMAGE_SYM_TYPE_VOID: Final = 1 -IMAGE_SYM_TYPE_CHAR: Final = 2 -IMAGE_SYM_TYPE_SHORT: Final = 3 -IMAGE_SYM_TYPE_INT: Final = 4 -IMAGE_SYM_TYPE_LONG: Final = 5 -IMAGE_SYM_TYPE_FLOAT: Final = 6 -IMAGE_SYM_TYPE_DOUBLE: Final = 7 -IMAGE_SYM_TYPE_STRUCT: Final = 8 -IMAGE_SYM_TYPE_UNION: Final = 9 -IMAGE_SYM_TYPE_ENUM: Final = 10 -IMAGE_SYM_TYPE_MOE: Final = 11 -IMAGE_SYM_TYPE_BYTE: Final = 12 -IMAGE_SYM_TYPE_WORD: Final = 13 -IMAGE_SYM_TYPE_UINT: Final = 14 -IMAGE_SYM_TYPE_DWORD: Final = 15 -IMAGE_SYM_TYPE_PCODE: Final = 32768 -IMAGE_SYM_DTYPE_NULL: Final = 0 -IMAGE_SYM_DTYPE_POINTER: Final = 1 -IMAGE_SYM_DTYPE_FUNCTION: Final = 2 -IMAGE_SYM_DTYPE_ARRAY: Final = 3 -IMAGE_SYM_CLASS_NULL: Final = 0 -IMAGE_SYM_CLASS_AUTOMATIC: Final = 1 -IMAGE_SYM_CLASS_EXTERNAL: Final = 2 -IMAGE_SYM_CLASS_STATIC: Final = 3 -IMAGE_SYM_CLASS_REGISTER: Final = 4 -IMAGE_SYM_CLASS_EXTERNAL_DEF: Final = 5 -IMAGE_SYM_CLASS_LABEL: Final = 6 -IMAGE_SYM_CLASS_UNDEFINED_LABEL: Final = 7 -IMAGE_SYM_CLASS_MEMBER_OF_STRUCT: Final = 8 -IMAGE_SYM_CLASS_ARGUMENT: Final = 9 -IMAGE_SYM_CLASS_STRUCT_TAG: Final = 10 -IMAGE_SYM_CLASS_MEMBER_OF_UNION: Final = 11 -IMAGE_SYM_CLASS_UNION_TAG: Final = 12 -IMAGE_SYM_CLASS_TYPE_DEFINITION: Final = 13 -IMAGE_SYM_CLASS_UNDEFINED_STATIC: Final = 14 -IMAGE_SYM_CLASS_ENUM_TAG: Final = 15 -IMAGE_SYM_CLASS_MEMBER_OF_ENUM: Final = 16 -IMAGE_SYM_CLASS_REGISTER_PARAM: Final = 17 -IMAGE_SYM_CLASS_BIT_FIELD: Final = 18 -IMAGE_SYM_CLASS_FAR_EXTERNAL: Final = 68 -IMAGE_SYM_CLASS_BLOCK: Final = 100 -IMAGE_SYM_CLASS_FUNCTION: Final = 101 -IMAGE_SYM_CLASS_END_OF_STRUCT: Final = 102 -IMAGE_SYM_CLASS_FILE: Final = 103 -IMAGE_SYM_CLASS_SECTION: Final = 104 -IMAGE_SYM_CLASS_WEAK_EXTERNAL: Final = 105 -N_BTMASK: Final = 15 -N_TMASK: Final = 48 -N_TMASK1: Final = 192 -N_TMASK2: Final = 240 -N_BTSHFT: Final = 4 -N_TSHIFT: Final = 2 +MAXIMUM_WAIT_OBJECTS: int +MAXIMUM_SUSPEND_COUNT: int +EXCEPTION_NONCONTINUABLE: int +EXCEPTION_MAXIMUM_PARAMETERS: int +PROCESS_TERMINATE: int +PROCESS_CREATE_THREAD: int +PROCESS_VM_OPERATION: int +PROCESS_VM_READ: int +PROCESS_VM_WRITE: int +PROCESS_DUP_HANDLE: int +PROCESS_CREATE_PROCESS: int +PROCESS_SET_QUOTA: int +PROCESS_SET_INFORMATION: int +PROCESS_QUERY_INFORMATION: int +PROCESS_SUSPEND_RESUME: int +PROCESS_QUERY_LIMITED_INFORMATION: int +PROCESS_SET_LIMITED_INFORMATION: int +MAXIMUM_PROCESSORS: int +THREAD_TERMINATE: int +THREAD_SUSPEND_RESUME: int +THREAD_GET_CONTEXT: int +THREAD_SET_CONTEXT: int +THREAD_SET_INFORMATION: int +THREAD_QUERY_INFORMATION: int +THREAD_SET_THREAD_TOKEN: int +THREAD_IMPERSONATE: int +THREAD_DIRECT_IMPERSONATION: int +THREAD_SET_LIMITED_INFORMATION: int +THREAD_QUERY_LIMITED_INFORMATION: int +THREAD_RESUME: int +JOB_OBJECT_ASSIGN_PROCESS: int +JOB_OBJECT_SET_ATTRIBUTES: int +JOB_OBJECT_QUERY: int +JOB_OBJECT_TERMINATE: int +TLS_MINIMUM_AVAILABLE: int +THREAD_BASE_PRIORITY_LOWRT: int +THREAD_BASE_PRIORITY_MAX: int +THREAD_BASE_PRIORITY_MIN: int +THREAD_BASE_PRIORITY_IDLE: int +JOB_OBJECT_LIMIT_WORKINGSET: int +JOB_OBJECT_LIMIT_PROCESS_TIME: int +JOB_OBJECT_LIMIT_JOB_TIME: int +JOB_OBJECT_LIMIT_ACTIVE_PROCESS: int +JOB_OBJECT_LIMIT_AFFINITY: int +JOB_OBJECT_LIMIT_PRIORITY_CLASS: int +JOB_OBJECT_LIMIT_VALID_FLAGS: int +EVENT_MODIFY_STATE: int +MUTANT_QUERY_STATE: int +SEMAPHORE_MODIFY_STATE: int +TIME_ZONE_ID_UNKNOWN: int +TIME_ZONE_ID_STANDARD: int +TIME_ZONE_ID_DAYLIGHT: int +PROCESSOR_INTEL_386: int +PROCESSOR_INTEL_486: int +PROCESSOR_INTEL_PENTIUM: int +PROCESSOR_MIPS_R4000: int +PROCESSOR_ALPHA_21064: int +PROCESSOR_HITACHI_SH3: int +PROCESSOR_HITACHI_SH3E: int +PROCESSOR_HITACHI_SH4: int +PROCESSOR_MOTOROLA_821: int +PROCESSOR_ARM_7TDMI: int +PROCESSOR_ARCHITECTURE_INTEL: int +PROCESSOR_ARCHITECTURE_MIPS: int +PROCESSOR_ARCHITECTURE_ALPHA: int +PROCESSOR_ARCHITECTURE_PPC: int +PROCESSOR_ARCHITECTURE_SH: int +PROCESSOR_ARCHITECTURE_ARM: int +PROCESSOR_ARCHITECTURE_IA64: int +PROCESSOR_ARCHITECTURE_ALPHA64: int +PROCESSOR_ARCHITECTURE_MSIL: int +PROCESSOR_ARCHITECTURE_AMD64: int +PROCESSOR_ARCHITECTURE_IA32_ON_WIN64: int +PROCESSOR_ARCHITECTURE_UNKNOWN: int +PF_FLOATING_POINT_PRECISION_ERRATA: int +PF_FLOATING_POINT_EMULATED: int +PF_COMPARE_EXCHANGE_DOUBLE: int +PF_MMX_INSTRUCTIONS_AVAILABLE: int +PF_PPC_MOVEMEM_64BIT_OK: int +PF_ALPHA_BYTE_INSTRUCTIONS: int +SECTION_QUERY: int +SECTION_MAP_WRITE: int +SECTION_MAP_READ: int +SECTION_MAP_EXECUTE: int +SECTION_EXTEND_SIZE: int +PAGE_NOACCESS: int +PAGE_READONLY: int +PAGE_READWRITE: int +PAGE_WRITECOPY: int +PAGE_EXECUTE: int +PAGE_EXECUTE_READ: int +PAGE_EXECUTE_READWRITE: int +PAGE_EXECUTE_WRITECOPY: int +PAGE_GUARD: int +PAGE_NOCACHE: int +MEM_COMMIT: int +MEM_RESERVE: int +MEM_DECOMMIT: int +MEM_RELEASE: int +MEM_FREE: int +MEM_PRIVATE: int +MEM_MAPPED: int +MEM_RESET: int +MEM_TOP_DOWN: int +MEM_4MB_PAGES: int +SEC_FILE: int +SEC_IMAGE: int +SEC_VLM: int +SEC_RESERVE: int +SEC_COMMIT: int +SEC_NOCACHE: int +MEM_IMAGE: int +FILE_READ_DATA: int +FILE_LIST_DIRECTORY: int +FILE_WRITE_DATA: int +FILE_ADD_FILE: int +FILE_APPEND_DATA: int +FILE_ADD_SUBDIRECTORY: int +FILE_CREATE_PIPE_INSTANCE: int +FILE_READ_EA: int +FILE_WRITE_EA: int +FILE_EXECUTE: int +FILE_TRAVERSE: int +FILE_DELETE_CHILD: int +FILE_READ_ATTRIBUTES: int +FILE_WRITE_ATTRIBUTES: int +FILE_SHARE_READ: int +FILE_SHARE_WRITE: int +FILE_SHARE_DELETE: int +FILE_ATTRIBUTE_READONLY: int +FILE_ATTRIBUTE_HIDDEN: int +FILE_ATTRIBUTE_SYSTEM: int +FILE_ATTRIBUTE_DIRECTORY: int +FILE_ATTRIBUTE_ARCHIVE: int +FILE_ATTRIBUTE_DEVICE: int +FILE_ATTRIBUTE_NORMAL: int +FILE_ATTRIBUTE_TEMPORARY: int +FILE_ATTRIBUTE_SPARSE_FILE: int +FILE_ATTRIBUTE_REPARSE_POINT: int +FILE_ATTRIBUTE_COMPRESSED: int +FILE_ATTRIBUTE_OFFLINE: int +FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: int +FILE_ATTRIBUTE_ENCRYPTED: int +FILE_ATTRIBUTE_VIRTUAL: int +FILE_NOTIFY_CHANGE_FILE_NAME: int +FILE_NOTIFY_CHANGE_DIR_NAME: int +FILE_NOTIFY_CHANGE_ATTRIBUTES: int +FILE_NOTIFY_CHANGE_SIZE: int +FILE_NOTIFY_CHANGE_LAST_WRITE: int +FILE_NOTIFY_CHANGE_LAST_ACCESS: int +FILE_NOTIFY_CHANGE_CREATION: int +FILE_NOTIFY_CHANGE_SECURITY: int +FILE_ACTION_ADDED: int +FILE_ACTION_REMOVED: int +FILE_ACTION_MODIFIED: int +FILE_ACTION_RENAMED_OLD_NAME: int +FILE_ACTION_RENAMED_NEW_NAME: int +FILE_CASE_SENSITIVE_SEARCH: int +FILE_CASE_PRESERVED_NAMES: int +FILE_UNICODE_ON_DISK: int +FILE_PERSISTENT_ACLS: int +FILE_FILE_COMPRESSION: int +FILE_VOLUME_QUOTAS: int +FILE_SUPPORTS_SPARSE_FILES: int +FILE_SUPPORTS_REPARSE_POINTS: int +FILE_SUPPORTS_REMOTE_STORAGE: int +FILE_VOLUME_IS_COMPRESSED: int +FILE_SUPPORTS_OBJECT_IDS: int +FILE_SUPPORTS_ENCRYPTION: int +MAXIMUM_REPARSE_DATA_BUFFER_SIZE: Incomplete +IO_REPARSE_TAG_RESERVED_ZERO: int +IO_REPARSE_TAG_RESERVED_ONE: int +IO_REPARSE_TAG_SYMBOLIC_LINK: int +IO_REPARSE_TAG_NSS: int +IO_REPARSE_TAG_FILTER_MANAGER: int +IO_REPARSE_TAG_DFS: int +IO_REPARSE_TAG_SIS: int +IO_REPARSE_TAG_MOUNT_POINT: int +IO_REPARSE_TAG_HSM: int +IO_REPARSE_TAG_NSSRECOVER: int +IO_REPARSE_TAG_RESERVED_MS_RANGE: int +IO_REPARSE_TAG_RESERVED_RANGE: int +IO_COMPLETION_MODIFY_STATE: int +DUPLICATE_CLOSE_SOURCE: int +DUPLICATE_SAME_ACCESS: int +DELETE: int +READ_CONTROL: int +WRITE_DAC: int +WRITE_OWNER: int +SYNCHRONIZE: int +STANDARD_RIGHTS_REQUIRED: int +STANDARD_RIGHTS_READ: int +STANDARD_RIGHTS_WRITE: int +STANDARD_RIGHTS_EXECUTE: int +STANDARD_RIGHTS_ALL: int +SPECIFIC_RIGHTS_ALL: int +IO_COMPLETION_ALL_ACCESS: Incomplete +ACCESS_SYSTEM_SECURITY: int +MAXIMUM_ALLOWED: int +GENERIC_READ: int +GENERIC_WRITE: int +GENERIC_EXECUTE: int +GENERIC_ALL: int +SID_REVISION: int +SID_MAX_SUB_AUTHORITIES: int +SID_RECOMMENDED_SUB_AUTHORITIES: int +SidTypeUser: int +SidTypeGroup: int +SidTypeDomain: int +SidTypeAlias: int +SidTypeWellKnownGroup: int +SidTypeDeletedAccount: int +SidTypeInvalid: int +SidTypeUnknown: int +SECURITY_NULL_RID: int +SECURITY_WORLD_RID: int +SECURITY_LOCAL_RID: int +SECURITY_CREATOR_OWNER_RID: int +SECURITY_CREATOR_GROUP_RID: int +SECURITY_CREATOR_OWNER_SERVER_RID: int +SECURITY_CREATOR_GROUP_SERVER_RID: int +SECURITY_DIALUP_RID: int +SECURITY_NETWORK_RID: int +SECURITY_BATCH_RID: int +SECURITY_INTERACTIVE_RID: int +SECURITY_SERVICE_RID: int +SECURITY_ANONYMOUS_LOGON_RID: int +SECURITY_PROXY_RID: int +SECURITY_SERVER_LOGON_RID: int +SECURITY_PRINCIPAL_SELF_RID: int +SECURITY_AUTHENTICATED_USER_RID: int +SECURITY_LOGON_IDS_RID: int +SECURITY_LOGON_IDS_RID_COUNT: int +SECURITY_LOCAL_SYSTEM_RID: int +SECURITY_NT_NON_UNIQUE: int +SECURITY_BUILTIN_DOMAIN_RID: int +DOMAIN_USER_RID_ADMIN: int +DOMAIN_USER_RID_GUEST: int +DOMAIN_GROUP_RID_ADMINS: int +DOMAIN_GROUP_RID_USERS: int +DOMAIN_GROUP_RID_GUESTS: int +DOMAIN_ALIAS_RID_ADMINS: int +DOMAIN_ALIAS_RID_USERS: int +DOMAIN_ALIAS_RID_GUESTS: int +DOMAIN_ALIAS_RID_POWER_USERS: int +DOMAIN_ALIAS_RID_ACCOUNT_OPS: int +DOMAIN_ALIAS_RID_SYSTEM_OPS: int +DOMAIN_ALIAS_RID_PRINT_OPS: int +DOMAIN_ALIAS_RID_BACKUP_OPS: int +DOMAIN_ALIAS_RID_REPLICATOR: int +SE_GROUP_MANDATORY: int +SE_GROUP_ENABLED_BY_DEFAULT: int +SE_GROUP_ENABLED: int +SE_GROUP_OWNER: int +SE_GROUP_LOGON_ID: int +ACL_REVISION: int +ACL_REVISION_DS: int +ACL_REVISION1: int +ACL_REVISION2: int +ACL_REVISION3: int +ACL_REVISION4: int +MAX_ACL_REVISION: int +ACCESS_MIN_MS_ACE_TYPE: int +ACCESS_ALLOWED_ACE_TYPE: int +ACCESS_DENIED_ACE_TYPE: int +SYSTEM_AUDIT_ACE_TYPE: int +SYSTEM_ALARM_ACE_TYPE: int +ACCESS_MAX_MS_V2_ACE_TYPE: int +ACCESS_ALLOWED_COMPOUND_ACE_TYPE: int +ACCESS_MAX_MS_V3_ACE_TYPE: int +ACCESS_MIN_MS_OBJECT_ACE_TYPE: int +ACCESS_ALLOWED_OBJECT_ACE_TYPE: int +ACCESS_DENIED_OBJECT_ACE_TYPE: int +SYSTEM_AUDIT_OBJECT_ACE_TYPE: int +SYSTEM_ALARM_OBJECT_ACE_TYPE: int +ACCESS_MAX_MS_OBJECT_ACE_TYPE: int +ACCESS_MAX_MS_V4_ACE_TYPE: int +ACCESS_MAX_MS_ACE_TYPE: int +ACCESS_ALLOWED_CALLBACK_ACE_TYPE: int +ACCESS_DENIED_CALLBACK_ACE_TYPE: int +ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE: int +ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE: int +SYSTEM_AUDIT_CALLBACK_ACE_TYPE: int +SYSTEM_ALARM_CALLBACK_ACE_TYPE: int +SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE: int +SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE: int +SYSTEM_MANDATORY_LABEL_ACE_TYPE: int +ACCESS_MAX_MS_V5_ACE_TYPE: int +OBJECT_INHERIT_ACE: int +CONTAINER_INHERIT_ACE: int +NO_PROPAGATE_INHERIT_ACE: int +INHERIT_ONLY_ACE: int +INHERITED_ACE: int +VALID_INHERIT_FLAGS: int +SUCCESSFUL_ACCESS_ACE_FLAG: int +FAILED_ACCESS_ACE_FLAG: int +ACE_OBJECT_TYPE_PRESENT: int +ACE_INHERITED_OBJECT_TYPE_PRESENT: int +SECURITY_DESCRIPTOR_REVISION: int +SECURITY_DESCRIPTOR_REVISION1: int +SECURITY_DESCRIPTOR_MIN_LENGTH: int +SE_OWNER_DEFAULTED: int +SE_GROUP_DEFAULTED: int +SE_DACL_PRESENT: int +SE_DACL_DEFAULTED: int +SE_SACL_PRESENT: int +SE_SACL_DEFAULTED: int +SE_DACL_AUTO_INHERIT_REQ: int +SE_SACL_AUTO_INHERIT_REQ: int +SE_DACL_AUTO_INHERITED: int +SE_SACL_AUTO_INHERITED: int +SE_DACL_PROTECTED: int +SE_SACL_PROTECTED: int +SE_SELF_RELATIVE: int +ACCESS_OBJECT_GUID: int +ACCESS_PROPERTY_SET_GUID: int +ACCESS_PROPERTY_GUID: int +ACCESS_MAX_LEVEL: int +AUDIT_ALLOW_NO_PRIVILEGE: int +ACCESS_DS_SOURCE_A: str +ACCESS_DS_OBJECT_TYPE_NAME_A: str +SE_PRIVILEGE_ENABLED_BY_DEFAULT: int +SE_PRIVILEGE_ENABLED: int +SE_PRIVILEGE_USED_FOR_ACCESS: int +PRIVILEGE_SET_ALL_NECESSARY: int +SE_CREATE_TOKEN_NAME: str +SE_ASSIGNPRIMARYTOKEN_NAME: str +SE_LOCK_MEMORY_NAME: str +SE_INCREASE_QUOTA_NAME: str +SE_UNSOLICITED_INPUT_NAME: str +SE_MACHINE_ACCOUNT_NAME: str +SE_TCB_NAME: str +SE_SECURITY_NAME: str +SE_TAKE_OWNERSHIP_NAME: str +SE_LOAD_DRIVER_NAME: str +SE_SYSTEM_PROFILE_NAME: str +SE_SYSTEMTIME_NAME: str +SE_PROF_SINGLE_PROCESS_NAME: str +SE_INC_BASE_PRIORITY_NAME: str +SE_CREATE_PAGEFILE_NAME: str +SE_CREATE_PERMANENT_NAME: str +SE_BACKUP_NAME: str +SE_RESTORE_NAME: str +SE_SHUTDOWN_NAME: str +SE_DEBUG_NAME: str +SE_AUDIT_NAME: str +SE_SYSTEM_ENVIRONMENT_NAME: str +SE_CHANGE_NOTIFY_NAME: str +SE_REMOTE_SHUTDOWN_NAME: str +TOKEN_ASSIGN_PRIMARY: int +TOKEN_DUPLICATE: int +TOKEN_IMPERSONATE: int +TOKEN_QUERY: int +TOKEN_QUERY_SOURCE: int +TOKEN_ADJUST_PRIVILEGES: int +TOKEN_ADJUST_GROUPS: int +TOKEN_ADJUST_DEFAULT: int +TOKEN_ALL_ACCESS: Incomplete +TOKEN_READ: Incomplete +TOKEN_WRITE: Incomplete +TOKEN_EXECUTE: int +TOKEN_SOURCE_LENGTH: int +TokenPrimary: int +TokenImpersonation: int +TokenUser: int +TokenGroups: int +TokenPrivileges: int +TokenOwner: int +TokenPrimaryGroup: int +TokenDefaultDacl: int +TokenSource: int +TokenType: int +TokenImpersonationLevel: int +TokenStatistics: int +TokenRestrictedSids: int +TokenSessionId: int +TokenGroupsAndPrivileges: int +TokenSessionReference: int +TokenSandBoxInert: int +TokenAuditPolicy: int +TokenOrigin: int +TokenElevationType: int +TokenLinkedToken: int +TokenElevation: int +TokenHasRestrictions: int +TokenAccessInformation: int +TokenVirtualizationAllowed: int +TokenVirtualizationEnabled: int +TokenIntegrityLevel: int +TokenUIAccess: int +TokenMandatoryPolicy: int +TokenLogonSid: int +OWNER_SECURITY_INFORMATION: int +GROUP_SECURITY_INFORMATION: int +DACL_SECURITY_INFORMATION: int +SACL_SECURITY_INFORMATION: int +LABEL_SECURITY_INFORMATION: int +IMAGE_DOS_SIGNATURE: int +IMAGE_OS2_SIGNATURE: int +IMAGE_OS2_SIGNATURE_LE: int +IMAGE_VXD_SIGNATURE: int +IMAGE_NT_SIGNATURE: int +IMAGE_SIZEOF_FILE_HEADER: int +IMAGE_FILE_RELOCS_STRIPPED: int +IMAGE_FILE_EXECUTABLE_IMAGE: int +IMAGE_FILE_LINE_NUMS_STRIPPED: int +IMAGE_FILE_LOCAL_SYMS_STRIPPED: int +IMAGE_FILE_AGGRESIVE_WS_TRIM: int +IMAGE_FILE_LARGE_ADDRESS_AWARE: int +IMAGE_FILE_BYTES_REVERSED_LO: int +IMAGE_FILE_32BIT_MACHINE: int +IMAGE_FILE_DEBUG_STRIPPED: int +IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP: int +IMAGE_FILE_NET_RUN_FROM_SWAP: int +IMAGE_FILE_SYSTEM: int +IMAGE_FILE_DLL: int +IMAGE_FILE_UP_SYSTEM_ONLY: int +IMAGE_FILE_BYTES_REVERSED_HI: int +IMAGE_FILE_MACHINE_UNKNOWN: int +IMAGE_FILE_MACHINE_I386: int +IMAGE_FILE_MACHINE_R3000: int +IMAGE_FILE_MACHINE_R4000: int +IMAGE_FILE_MACHINE_R10000: int +IMAGE_FILE_MACHINE_WCEMIPSV2: int +IMAGE_FILE_MACHINE_ALPHA: int +IMAGE_FILE_MACHINE_POWERPC: int +IMAGE_FILE_MACHINE_SH3: int +IMAGE_FILE_MACHINE_SH3E: int +IMAGE_FILE_MACHINE_SH4: int +IMAGE_FILE_MACHINE_ARM: int +IMAGE_NUMBEROF_DIRECTORY_ENTRIES: int +IMAGE_SIZEOF_ROM_OPTIONAL_HEADER: int +IMAGE_SIZEOF_STD_OPTIONAL_HEADER: int +IMAGE_SIZEOF_NT_OPTIONAL_HEADER: int +IMAGE_NT_OPTIONAL_HDR_MAGIC: int +IMAGE_ROM_OPTIONAL_HDR_MAGIC: int +IMAGE_SUBSYSTEM_UNKNOWN: int +IMAGE_SUBSYSTEM_NATIVE: int +IMAGE_SUBSYSTEM_WINDOWS_GUI: int +IMAGE_SUBSYSTEM_WINDOWS_CUI: int +IMAGE_SUBSYSTEM_WINDOWS_CE_GUI: int +IMAGE_SUBSYSTEM_OS2_CUI: int +IMAGE_SUBSYSTEM_POSIX_CUI: int +IMAGE_SUBSYSTEM_RESERVED8: int +IMAGE_DLLCHARACTERISTICS_WDM_DRIVER: int +IMAGE_DIRECTORY_ENTRY_EXPORT: int +IMAGE_DIRECTORY_ENTRY_IMPORT: int +IMAGE_DIRECTORY_ENTRY_RESOURCE: int +IMAGE_DIRECTORY_ENTRY_EXCEPTION: int +IMAGE_DIRECTORY_ENTRY_SECURITY: int +IMAGE_DIRECTORY_ENTRY_BASERELOC: int +IMAGE_DIRECTORY_ENTRY_DEBUG: int +IMAGE_DIRECTORY_ENTRY_COPYRIGHT: int +IMAGE_DIRECTORY_ENTRY_GLOBALPTR: int +IMAGE_DIRECTORY_ENTRY_TLS: int +IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG: int +IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT: int +IMAGE_DIRECTORY_ENTRY_IAT: int +IMAGE_SIZEOF_SHORT_NAME: int +IMAGE_SIZEOF_SECTION_HEADER: int +IMAGE_SCN_TYPE_NO_PAD: int +IMAGE_SCN_CNT_CODE: int +IMAGE_SCN_CNT_INITIALIZED_DATA: int +IMAGE_SCN_CNT_UNINITIALIZED_DATA: int +IMAGE_SCN_LNK_OTHER: int +IMAGE_SCN_LNK_INFO: int +IMAGE_SCN_LNK_REMOVE: int +IMAGE_SCN_LNK_COMDAT: int +IMAGE_SCN_MEM_FARDATA: int +IMAGE_SCN_MEM_PURGEABLE: int +IMAGE_SCN_MEM_16BIT: int +IMAGE_SCN_MEM_LOCKED: int +IMAGE_SCN_MEM_PRELOAD: int +IMAGE_SCN_ALIGN_1BYTES: int +IMAGE_SCN_ALIGN_2BYTES: int +IMAGE_SCN_ALIGN_4BYTES: int +IMAGE_SCN_ALIGN_8BYTES: int +IMAGE_SCN_ALIGN_16BYTES: int +IMAGE_SCN_ALIGN_32BYTES: int +IMAGE_SCN_ALIGN_64BYTES: int +IMAGE_SCN_LNK_NRELOC_OVFL: int +IMAGE_SCN_MEM_DISCARDABLE: int +IMAGE_SCN_MEM_NOT_CACHED: int +IMAGE_SCN_MEM_NOT_PAGED: int +IMAGE_SCN_MEM_SHARED: int +IMAGE_SCN_MEM_EXECUTE: int +IMAGE_SCN_MEM_READ: int +IMAGE_SCN_MEM_WRITE: int +IMAGE_SCN_SCALE_INDEX: int +IMAGE_SIZEOF_SYMBOL: int +IMAGE_SYM_TYPE_NULL: int +IMAGE_SYM_TYPE_VOID: int +IMAGE_SYM_TYPE_CHAR: int +IMAGE_SYM_TYPE_SHORT: int +IMAGE_SYM_TYPE_INT: int +IMAGE_SYM_TYPE_LONG: int +IMAGE_SYM_TYPE_FLOAT: int +IMAGE_SYM_TYPE_DOUBLE: int +IMAGE_SYM_TYPE_STRUCT: int +IMAGE_SYM_TYPE_UNION: int +IMAGE_SYM_TYPE_ENUM: int +IMAGE_SYM_TYPE_MOE: int +IMAGE_SYM_TYPE_BYTE: int +IMAGE_SYM_TYPE_WORD: int +IMAGE_SYM_TYPE_UINT: int +IMAGE_SYM_TYPE_DWORD: int +IMAGE_SYM_TYPE_PCODE: int +IMAGE_SYM_DTYPE_NULL: int +IMAGE_SYM_DTYPE_POINTER: int +IMAGE_SYM_DTYPE_FUNCTION: int +IMAGE_SYM_DTYPE_ARRAY: int +IMAGE_SYM_CLASS_NULL: int +IMAGE_SYM_CLASS_AUTOMATIC: int +IMAGE_SYM_CLASS_EXTERNAL: int +IMAGE_SYM_CLASS_STATIC: int +IMAGE_SYM_CLASS_REGISTER: int +IMAGE_SYM_CLASS_EXTERNAL_DEF: int +IMAGE_SYM_CLASS_LABEL: int +IMAGE_SYM_CLASS_UNDEFINED_LABEL: int +IMAGE_SYM_CLASS_MEMBER_OF_STRUCT: int +IMAGE_SYM_CLASS_ARGUMENT: int +IMAGE_SYM_CLASS_STRUCT_TAG: int +IMAGE_SYM_CLASS_MEMBER_OF_UNION: int +IMAGE_SYM_CLASS_UNION_TAG: int +IMAGE_SYM_CLASS_TYPE_DEFINITION: int +IMAGE_SYM_CLASS_UNDEFINED_STATIC: int +IMAGE_SYM_CLASS_ENUM_TAG: int +IMAGE_SYM_CLASS_MEMBER_OF_ENUM: int +IMAGE_SYM_CLASS_REGISTER_PARAM: int +IMAGE_SYM_CLASS_BIT_FIELD: int +IMAGE_SYM_CLASS_FAR_EXTERNAL: int +IMAGE_SYM_CLASS_BLOCK: int +IMAGE_SYM_CLASS_FUNCTION: int +IMAGE_SYM_CLASS_END_OF_STRUCT: int +IMAGE_SYM_CLASS_FILE: int +IMAGE_SYM_CLASS_SECTION: int +IMAGE_SYM_CLASS_WEAK_EXTERNAL: int +N_BTMASK: int +N_TMASK: int +N_TMASK1: int +N_TMASK2: int +N_BTSHFT: int +N_TSHIFT: int -def BTYPE(x: int) -> int: ... -def ISPTR(x: int) -> bool: ... -def ISFCN(x: int) -> bool: ... -def ISARY(x: int) -> bool: ... -def INCREF(x: int) -> int: ... -def DECREF(x: int) -> int: ... +def BTYPE(x): ... +def ISPTR(x): ... +def ISFCN(x): ... +def ISARY(x): ... +def INCREF(x): ... +def DECREF(x): ... -IMAGE_SIZEOF_AUX_SYMBOL: Final = 18 -IMAGE_COMDAT_SELECT_NODUPLICATES: Final = 1 -IMAGE_COMDAT_SELECT_ANY: Final = 2 -IMAGE_COMDAT_SELECT_SAME_SIZE: Final = 3 -IMAGE_COMDAT_SELECT_EXACT_MATCH: Final = 4 -IMAGE_COMDAT_SELECT_ASSOCIATIVE: Final = 5 -IMAGE_COMDAT_SELECT_LARGEST: Final = 6 -IMAGE_COMDAT_SELECT_NEWEST: Final = 7 -IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY: Final = 1 -IMAGE_WEAK_EXTERN_SEARCH_LIBRARY: Final = 2 -IMAGE_WEAK_EXTERN_SEARCH_ALIAS: Final = 3 -IMAGE_SIZEOF_RELOCATION: Final = 10 -IMAGE_REL_I386_ABSOLUTE: Final = 0 -IMAGE_REL_I386_DIR16: Final = 1 -IMAGE_REL_I386_REL16: Final = 2 -IMAGE_REL_I386_DIR32: Final = 6 -IMAGE_REL_I386_DIR32NB: Final = 7 -IMAGE_REL_I386_SEG12: Final = 9 -IMAGE_REL_I386_SECTION: Final = 10 -IMAGE_REL_I386_SECREL: Final = 11 -IMAGE_REL_I386_REL32: Final = 20 -IMAGE_REL_MIPS_ABSOLUTE: Final = 0 -IMAGE_REL_MIPS_REFHALF: Final = 1 -IMAGE_REL_MIPS_REFWORD: Final = 2 -IMAGE_REL_MIPS_JMPADDR: Final = 3 -IMAGE_REL_MIPS_REFHI: Final = 4 -IMAGE_REL_MIPS_REFLO: Final = 5 -IMAGE_REL_MIPS_GPREL: Final = 6 -IMAGE_REL_MIPS_LITERAL: Final = 7 -IMAGE_REL_MIPS_SECTION: Final = 10 -IMAGE_REL_MIPS_SECREL: Final = 11 -IMAGE_REL_MIPS_SECRELLO: Final = 12 -IMAGE_REL_MIPS_SECRELHI: Final = 13 -IMAGE_REL_MIPS_REFWORDNB: Final = 34 -IMAGE_REL_MIPS_PAIR: Final = 37 -IMAGE_REL_ALPHA_ABSOLUTE: Final = 0 -IMAGE_REL_ALPHA_REFLONG: Final = 1 -IMAGE_REL_ALPHA_REFQUAD: Final = 2 -IMAGE_REL_ALPHA_GPREL32: Final = 3 -IMAGE_REL_ALPHA_LITERAL: Final = 4 -IMAGE_REL_ALPHA_LITUSE: Final = 5 -IMAGE_REL_ALPHA_GPDISP: Final = 6 -IMAGE_REL_ALPHA_BRADDR: Final = 7 -IMAGE_REL_ALPHA_HINT: Final = 8 -IMAGE_REL_ALPHA_INLINE_REFLONG: Final = 9 -IMAGE_REL_ALPHA_REFHI: Final = 10 -IMAGE_REL_ALPHA_REFLO: Final = 11 -IMAGE_REL_ALPHA_PAIR: Final = 12 -IMAGE_REL_ALPHA_MATCH: Final = 13 -IMAGE_REL_ALPHA_SECTION: Final = 14 -IMAGE_REL_ALPHA_SECREL: Final = 15 -IMAGE_REL_ALPHA_REFLONGNB: Final = 16 -IMAGE_REL_ALPHA_SECRELLO: Final = 17 -IMAGE_REL_ALPHA_SECRELHI: Final = 18 -IMAGE_REL_PPC_ABSOLUTE: Final = 0 -IMAGE_REL_PPC_ADDR64: Final = 1 -IMAGE_REL_PPC_ADDR32: Final = 2 -IMAGE_REL_PPC_ADDR24: Final = 3 -IMAGE_REL_PPC_ADDR16: Final = 4 -IMAGE_REL_PPC_ADDR14: Final = 5 -IMAGE_REL_PPC_REL24: Final = 6 -IMAGE_REL_PPC_REL14: Final = 7 -IMAGE_REL_PPC_TOCREL16: Final = 8 -IMAGE_REL_PPC_TOCREL14: Final = 9 -IMAGE_REL_PPC_ADDR32NB: Final = 10 -IMAGE_REL_PPC_SECREL: Final = 11 -IMAGE_REL_PPC_SECTION: Final = 12 -IMAGE_REL_PPC_IFGLUE: Final = 13 -IMAGE_REL_PPC_IMGLUE: Final = 14 -IMAGE_REL_PPC_SECREL16: Final = 15 -IMAGE_REL_PPC_REFHI: Final = 16 -IMAGE_REL_PPC_REFLO: Final = 17 -IMAGE_REL_PPC_PAIR: Final = 18 -IMAGE_REL_PPC_SECRELLO: Final = 19 -IMAGE_REL_PPC_SECRELHI: Final = 20 -IMAGE_REL_PPC_TYPEMASK: Final = 255 -IMAGE_REL_PPC_NEG: Final = 256 -IMAGE_REL_PPC_BRTAKEN: Final = 512 -IMAGE_REL_PPC_BRNTAKEN: Final = 1024 -IMAGE_REL_PPC_TOCDEFN: Final = 2048 -IMAGE_REL_SH3_ABSOLUTE: Final = 0 -IMAGE_REL_SH3_DIRECT16: Final = 1 -IMAGE_REL_SH3_DIRECT32: Final = 2 -IMAGE_REL_SH3_DIRECT8: Final = 3 -IMAGE_REL_SH3_DIRECT8_WORD: Final = 4 -IMAGE_REL_SH3_DIRECT8_LONG: Final = 5 -IMAGE_REL_SH3_DIRECT4: Final = 6 -IMAGE_REL_SH3_DIRECT4_WORD: Final = 7 -IMAGE_REL_SH3_DIRECT4_LONG: Final = 8 -IMAGE_REL_SH3_PCREL8_WORD: Final = 9 -IMAGE_REL_SH3_PCREL8_LONG: Final = 10 -IMAGE_REL_SH3_PCREL12_WORD: Final = 11 -IMAGE_REL_SH3_STARTOF_SECTION: Final = 12 -IMAGE_REL_SH3_SIZEOF_SECTION: Final = 13 -IMAGE_REL_SH3_SECTION: Final = 14 -IMAGE_REL_SH3_SECREL: Final = 15 -IMAGE_REL_SH3_DIRECT32_NB: Final = 16 -IMAGE_SIZEOF_LINENUMBER: Final = 6 -IMAGE_SIZEOF_BASE_RELOCATION: Final = 8 -IMAGE_REL_BASED_ABSOLUTE: Final = 0 -IMAGE_REL_BASED_HIGH: Final = 1 -IMAGE_REL_BASED_LOW: Final = 2 -IMAGE_REL_BASED_HIGHLOW: Final = 3 -IMAGE_REL_BASED_HIGHADJ: Final = 4 -IMAGE_REL_BASED_MIPS_JMPADDR: Final = 5 -IMAGE_REL_BASED_SECTION: Final = 6 -IMAGE_REL_BASED_REL32: Final = 7 -IMAGE_ARCHIVE_START_SIZE: Final = 8 -IMAGE_ARCHIVE_START: Final = "!\n" -IMAGE_ARCHIVE_END: Final = "`\n" -IMAGE_ARCHIVE_PAD: Final = "\n" -IMAGE_ARCHIVE_LINKER_MEMBER: Final = "/ " -IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR: Final = 60 -IMAGE_ORDINAL_FLAG: Final = -2147483648 +IMAGE_SIZEOF_AUX_SYMBOL: int +IMAGE_COMDAT_SELECT_NODUPLICATES: int +IMAGE_COMDAT_SELECT_ANY: int +IMAGE_COMDAT_SELECT_SAME_SIZE: int +IMAGE_COMDAT_SELECT_EXACT_MATCH: int +IMAGE_COMDAT_SELECT_ASSOCIATIVE: int +IMAGE_COMDAT_SELECT_LARGEST: int +IMAGE_COMDAT_SELECT_NEWEST: int +IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY: int +IMAGE_WEAK_EXTERN_SEARCH_LIBRARY: int +IMAGE_WEAK_EXTERN_SEARCH_ALIAS: int +IMAGE_SIZEOF_RELOCATION: int +IMAGE_REL_I386_ABSOLUTE: int +IMAGE_REL_I386_DIR16: int +IMAGE_REL_I386_REL16: int +IMAGE_REL_I386_DIR32: int +IMAGE_REL_I386_DIR32NB: int +IMAGE_REL_I386_SEG12: int +IMAGE_REL_I386_SECTION: int +IMAGE_REL_I386_SECREL: int +IMAGE_REL_I386_REL32: int +IMAGE_REL_MIPS_ABSOLUTE: int +IMAGE_REL_MIPS_REFHALF: int +IMAGE_REL_MIPS_REFWORD: int +IMAGE_REL_MIPS_JMPADDR: int +IMAGE_REL_MIPS_REFHI: int +IMAGE_REL_MIPS_REFLO: int +IMAGE_REL_MIPS_GPREL: int +IMAGE_REL_MIPS_LITERAL: int +IMAGE_REL_MIPS_SECTION: int +IMAGE_REL_MIPS_SECREL: int +IMAGE_REL_MIPS_SECRELLO: int +IMAGE_REL_MIPS_SECRELHI: int +IMAGE_REL_MIPS_REFWORDNB: int +IMAGE_REL_MIPS_PAIR: int +IMAGE_REL_ALPHA_ABSOLUTE: int +IMAGE_REL_ALPHA_REFLONG: int +IMAGE_REL_ALPHA_REFQUAD: int +IMAGE_REL_ALPHA_GPREL32: int +IMAGE_REL_ALPHA_LITERAL: int +IMAGE_REL_ALPHA_LITUSE: int +IMAGE_REL_ALPHA_GPDISP: int +IMAGE_REL_ALPHA_BRADDR: int +IMAGE_REL_ALPHA_HINT: int +IMAGE_REL_ALPHA_INLINE_REFLONG: int +IMAGE_REL_ALPHA_REFHI: int +IMAGE_REL_ALPHA_REFLO: int +IMAGE_REL_ALPHA_PAIR: int +IMAGE_REL_ALPHA_MATCH: int +IMAGE_REL_ALPHA_SECTION: int +IMAGE_REL_ALPHA_SECREL: int +IMAGE_REL_ALPHA_REFLONGNB: int +IMAGE_REL_ALPHA_SECRELLO: int +IMAGE_REL_ALPHA_SECRELHI: int +IMAGE_REL_PPC_ABSOLUTE: int +IMAGE_REL_PPC_ADDR64: int +IMAGE_REL_PPC_ADDR32: int +IMAGE_REL_PPC_ADDR24: int +IMAGE_REL_PPC_ADDR16: int +IMAGE_REL_PPC_ADDR14: int +IMAGE_REL_PPC_REL24: int +IMAGE_REL_PPC_REL14: int +IMAGE_REL_PPC_TOCREL16: int +IMAGE_REL_PPC_TOCREL14: int +IMAGE_REL_PPC_ADDR32NB: int +IMAGE_REL_PPC_SECREL: int +IMAGE_REL_PPC_SECTION: int +IMAGE_REL_PPC_IFGLUE: int +IMAGE_REL_PPC_IMGLUE: int +IMAGE_REL_PPC_SECREL16: int +IMAGE_REL_PPC_REFHI: int +IMAGE_REL_PPC_REFLO: int +IMAGE_REL_PPC_PAIR: int +IMAGE_REL_PPC_SECRELLO: int +IMAGE_REL_PPC_SECRELHI: int +IMAGE_REL_PPC_TYPEMASK: int +IMAGE_REL_PPC_NEG: int +IMAGE_REL_PPC_BRTAKEN: int +IMAGE_REL_PPC_BRNTAKEN: int +IMAGE_REL_PPC_TOCDEFN: int +IMAGE_REL_SH3_ABSOLUTE: int +IMAGE_REL_SH3_DIRECT16: int +IMAGE_REL_SH3_DIRECT32: int +IMAGE_REL_SH3_DIRECT8: int +IMAGE_REL_SH3_DIRECT8_WORD: int +IMAGE_REL_SH3_DIRECT8_LONG: int +IMAGE_REL_SH3_DIRECT4: int +IMAGE_REL_SH3_DIRECT4_WORD: int +IMAGE_REL_SH3_DIRECT4_LONG: int +IMAGE_REL_SH3_PCREL8_WORD: int +IMAGE_REL_SH3_PCREL8_LONG: int +IMAGE_REL_SH3_PCREL12_WORD: int +IMAGE_REL_SH3_STARTOF_SECTION: int +IMAGE_REL_SH3_SIZEOF_SECTION: int +IMAGE_REL_SH3_SECTION: int +IMAGE_REL_SH3_SECREL: int +IMAGE_REL_SH3_DIRECT32_NB: int +IMAGE_SIZEOF_LINENUMBER: int +IMAGE_SIZEOF_BASE_RELOCATION: int +IMAGE_REL_BASED_ABSOLUTE: int +IMAGE_REL_BASED_HIGH: int +IMAGE_REL_BASED_LOW: int +IMAGE_REL_BASED_HIGHLOW: int +IMAGE_REL_BASED_HIGHADJ: int +IMAGE_REL_BASED_MIPS_JMPADDR: int +IMAGE_REL_BASED_SECTION: int +IMAGE_REL_BASED_REL32: int +IMAGE_ARCHIVE_START_SIZE: int +IMAGE_ARCHIVE_START: str +IMAGE_ARCHIVE_END: str +IMAGE_ARCHIVE_PAD: str +IMAGE_ARCHIVE_LINKER_MEMBER: str +IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR: int +IMAGE_ORDINAL_FLAG: int -def IMAGE_SNAP_BY_ORDINAL(Ordinal: int) -> bool: ... -def IMAGE_ORDINAL(Ordinal: int) -> int: ... +def IMAGE_SNAP_BY_ORDINAL(Ordinal): ... +def IMAGE_ORDINAL(Ordinal): ... -IMAGE_RESOURCE_NAME_IS_STRING: Final = -2147483648 -IMAGE_RESOURCE_DATA_IS_DIRECTORY: Final = -2147483648 -IMAGE_DEBUG_TYPE_UNKNOWN: Final = 0 -IMAGE_DEBUG_TYPE_COFF: Final = 1 -IMAGE_DEBUG_TYPE_CODEVIEW: Final = 2 -IMAGE_DEBUG_TYPE_FPO: Final = 3 -IMAGE_DEBUG_TYPE_MISC: Final = 4 -IMAGE_DEBUG_TYPE_EXCEPTION: Final = 5 -IMAGE_DEBUG_TYPE_FIXUP: Final = 6 -IMAGE_DEBUG_TYPE_OMAP_TO_SRC: Final = 7 -IMAGE_DEBUG_TYPE_OMAP_FROM_SRC: Final = 8 -IMAGE_DEBUG_TYPE_BORLAND: Final = 9 -FRAME_FPO: Final = 0 -FRAME_TRAP: Final = 1 -FRAME_TSS: Final = 2 -FRAME_NONFPO: Final = 3 -SIZEOF_RFPO_DATA: Final = 16 -IMAGE_DEBUG_MISC_EXENAME: Final = 1 -IMAGE_SEPARATE_DEBUG_SIGNATURE: Final = 18756 -IMAGE_SEPARATE_DEBUG_FLAGS_MASK: Final = 32768 -IMAGE_SEPARATE_DEBUG_MISMATCH: Final = 32768 -NULL: Final = 0 -HEAP_NO_SERIALIZE: Final = 1 -HEAP_GROWABLE: Final = 2 -HEAP_GENERATE_EXCEPTIONS: Final = 4 -HEAP_ZERO_MEMORY: Final = 8 -HEAP_REALLOC_IN_PLACE_ONLY: Final = 16 -HEAP_TAIL_CHECKING_ENABLED: Final = 32 -HEAP_FREE_CHECKING_ENABLED: Final = 64 -HEAP_DISABLE_COALESCE_ON_FREE: Final = 128 -HEAP_CREATE_ALIGN_16: Final = 65536 -HEAP_CREATE_ENABLE_TRACING: Final = 131072 -HEAP_MAXIMUM_TAG: Final = 4095 -HEAP_PSEUDO_TAG_FLAG: Final = 32768 -HEAP_TAG_SHIFT: Final = 16 -IS_TEXT_UNICODE_ASCII16: Final = 1 -IS_TEXT_UNICODE_REVERSE_ASCII16: Final = 16 -IS_TEXT_UNICODE_STATISTICS: Final = 2 -IS_TEXT_UNICODE_REVERSE_STATISTICS: Final = 32 -IS_TEXT_UNICODE_CONTROLS: Final = 4 -IS_TEXT_UNICODE_REVERSE_CONTROLS: Final = 64 -IS_TEXT_UNICODE_SIGNATURE: Final = 8 -IS_TEXT_UNICODE_REVERSE_SIGNATURE: Final = 128 -IS_TEXT_UNICODE_ILLEGAL_CHARS: Final = 256 -IS_TEXT_UNICODE_ODD_LENGTH: Final = 512 -IS_TEXT_UNICODE_DBCS_LEADBYTE: Final = 1024 -IS_TEXT_UNICODE_NULL_BYTES: Final = 4096 -IS_TEXT_UNICODE_UNICODE_MASK: Final = 15 -IS_TEXT_UNICODE_REVERSE_MASK: Final = 240 -IS_TEXT_UNICODE_NOT_UNICODE_MASK: Final = 3840 -IS_TEXT_UNICODE_NOT_ASCII_MASK: Final = 61440 -COMPRESSION_FORMAT_NONE: Final = 0 -COMPRESSION_FORMAT_DEFAULT: Final = 1 -COMPRESSION_FORMAT_LZNT1: Final = 2 -COMPRESSION_ENGINE_STANDARD: Final = 0 -COMPRESSION_ENGINE_MAXIMUM: Final = 256 -MESSAGE_RESOURCE_UNICODE: Final = 1 -RTL_CRITSECT_TYPE: Final = 0 -RTL_RESOURCE_TYPE: Final = 1 -SEF_DACL_AUTO_INHERIT: Final = 1 -SEF_SACL_AUTO_INHERIT: Final = 2 -SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT: Final = 4 -SEF_AVOID_PRIVILEGE_CHECK: Final = 8 -DLL_PROCESS_ATTACH: Final = 1 -DLL_THREAD_ATTACH: Final = 2 -DLL_THREAD_DETACH: Final = 3 -DLL_PROCESS_DETACH: Final = 0 -EVENTLOG_SEQUENTIAL_READ: Final = 0x0001 -EVENTLOG_SEEK_READ: Final = 0x0002 -EVENTLOG_FORWARDS_READ: Final = 0x0004 -EVENTLOG_BACKWARDS_READ: Final = 0x0008 -EVENTLOG_SUCCESS: Final = 0x0000 -EVENTLOG_ERROR_TYPE: Final = 1 -EVENTLOG_WARNING_TYPE: Final = 2 -EVENTLOG_INFORMATION_TYPE: Final = 4 -EVENTLOG_AUDIT_SUCCESS: Final = 8 -EVENTLOG_AUDIT_FAILURE: Final = 16 -EVENTLOG_START_PAIRED_EVENT: Final = 1 -EVENTLOG_END_PAIRED_EVENT: Final = 2 -EVENTLOG_END_ALL_PAIRED_EVENTS: Final = 4 -EVENTLOG_PAIRED_EVENT_ACTIVE: Final = 8 -EVENTLOG_PAIRED_EVENT_INACTIVE: Final = 16 -KEY_QUERY_VALUE: Final = 1 -KEY_SET_VALUE: Final = 2 -KEY_CREATE_SUB_KEY: Final = 4 -KEY_ENUMERATE_SUB_KEYS: Final = 8 -KEY_NOTIFY: Final = 16 -KEY_CREATE_LINK: Final = 32 -KEY_READ: Final = 0x00020019 -KEY_WRITE: Final = 0x00020006 -KEY_EXECUTE: Final = 0x00020019 -KEY_ALL_ACCESS: Final = 0x000F003F -REG_OPTION_RESERVED: Final = 0 -REG_OPTION_NON_VOLATILE: Final = 0 -REG_OPTION_VOLATILE: Final = 1 -REG_OPTION_CREATE_LINK: Final = 2 -REG_OPTION_BACKUP_RESTORE: Final = 4 -REG_OPTION_OPEN_LINK: Final = 8 -REG_LEGAL_OPTION: Final = 15 -REG_CREATED_NEW_KEY: Final = 1 -REG_OPENED_EXISTING_KEY: Final = 2 -REG_STANDARD_FORMAT: Final = 1 -REG_LATEST_FORMAT: Final = 2 -REG_NO_COMPRESSION: Final = 4 -REG_WHOLE_HIVE_VOLATILE: Final = 1 -REG_REFRESH_HIVE: Final = 2 -REG_NO_LAZY_FLUSH: Final = 4 -REG_FORCE_RESTORE: Final = 8 -REG_NOTIFY_CHANGE_NAME: Final = 1 -REG_NOTIFY_CHANGE_ATTRIBUTES: Final = 2 -REG_NOTIFY_CHANGE_LAST_SET: Final = 4 -REG_NOTIFY_CHANGE_SECURITY: Final = 8 -REG_LEGAL_CHANGE_FILTER: Final = 15 -REG_NONE: Final = 0 -REG_SZ: Final = 1 -REG_EXPAND_SZ: Final = 2 -REG_BINARY: Final = 3 -REG_DWORD: Final = 4 -REG_DWORD_LITTLE_ENDIAN: Final = 4 -REG_DWORD_BIG_ENDIAN: Final = 5 -REG_LINK: Final = 6 -REG_MULTI_SZ: Final = 7 -REG_RESOURCE_LIST: Final = 8 -REG_FULL_RESOURCE_DESCRIPTOR: Final = 9 -REG_RESOURCE_REQUIREMENTS_LIST: Final = 10 -SERVICE_KERNEL_DRIVER: Final = 1 -SERVICE_FILE_SYSTEM_DRIVER: Final = 2 -SERVICE_ADAPTER: Final = 4 -SERVICE_RECOGNIZER_DRIVER: Final = 8 -SERVICE_DRIVER: Final = 11 -SERVICE_WIN32_OWN_PROCESS: Final = 16 -SERVICE_WIN32_SHARE_PROCESS: Final = 32 -SERVICE_WIN32: Final = 48 -SERVICE_INTERACTIVE_PROCESS: Final = 256 -SERVICE_TYPE_ALL: Final = 319 -SERVICE_BOOT_START: Final = 0 -SERVICE_SYSTEM_START: Final = 1 -SERVICE_AUTO_START: Final = 2 -SERVICE_DEMAND_START: Final = 3 -SERVICE_DISABLED: Final = 4 -SERVICE_ERROR_IGNORE: Final = 0 -SERVICE_ERROR_NORMAL: Final = 1 -SERVICE_ERROR_SEVERE: Final = 2 -SERVICE_ERROR_CRITICAL: Final = 3 -TAPE_ERASE_SHORT: Final = 0 -TAPE_ERASE_LONG: Final = 1 -TAPE_LOAD: Final = 0 -TAPE_UNLOAD: Final = 1 -TAPE_TENSION: Final = 2 -TAPE_LOCK: Final = 3 -TAPE_UNLOCK: Final = 4 -TAPE_FORMAT: Final = 5 -TAPE_SETMARKS: Final = 0 -TAPE_FILEMARKS: Final = 1 -TAPE_SHORT_FILEMARKS: Final = 2 -TAPE_LONG_FILEMARKS: Final = 3 -TAPE_ABSOLUTE_POSITION: Final = 0 -TAPE_LOGICAL_POSITION: Final = 1 -TAPE_PSEUDO_LOGICAL_POSITION: Final = 2 -TAPE_REWIND: Final = 0 -TAPE_ABSOLUTE_BLOCK: Final = 1 -TAPE_LOGICAL_BLOCK: Final = 2 -TAPE_PSEUDO_LOGICAL_BLOCK: Final = 3 -TAPE_SPACE_END_OF_DATA: Final = 4 -TAPE_SPACE_RELATIVE_BLOCKS: Final = 5 -TAPE_SPACE_FILEMARKS: Final = 6 -TAPE_SPACE_SEQUENTIAL_FMKS: Final = 7 -TAPE_SPACE_SETMARKS: Final = 8 -TAPE_SPACE_SEQUENTIAL_SMKS: Final = 9 -TAPE_DRIVE_FIXED: Final = 1 -TAPE_DRIVE_SELECT: Final = 2 -TAPE_DRIVE_INITIATOR: Final = 4 -TAPE_DRIVE_ERASE_SHORT: Final = 16 -TAPE_DRIVE_ERASE_LONG: Final = 32 -TAPE_DRIVE_ERASE_BOP_ONLY: Final = 64 -TAPE_DRIVE_ERASE_IMMEDIATE: Final = 128 -TAPE_DRIVE_TAPE_CAPACITY: Final = 256 -TAPE_DRIVE_TAPE_REMAINING: Final = 512 -TAPE_DRIVE_FIXED_BLOCK: Final = 1024 -TAPE_DRIVE_VARIABLE_BLOCK: Final = 2048 -TAPE_DRIVE_WRITE_PROTECT: Final = 4096 -TAPE_DRIVE_EOT_WZ_SIZE: Final = 8192 -TAPE_DRIVE_ECC: Final = 65536 -TAPE_DRIVE_COMPRESSION: Final = 131072 -TAPE_DRIVE_PADDING: Final = 262144 -TAPE_DRIVE_REPORT_SMKS: Final = 524288 -TAPE_DRIVE_GET_ABSOLUTE_BLK: Final = 1048576 -TAPE_DRIVE_GET_LOGICAL_BLK: Final = 2097152 -TAPE_DRIVE_SET_EOT_WZ_SIZE: Final = 4194304 -TAPE_DRIVE_EJECT_MEDIA: Final = 16777216 -TAPE_DRIVE_RESERVED_BIT: Final = -2147483648 -TAPE_DRIVE_LOAD_UNLOAD: Final = -2147483647 -TAPE_DRIVE_TENSION: Final = -2147483646 -TAPE_DRIVE_LOCK_UNLOCK: Final = -2147483644 -TAPE_DRIVE_REWIND_IMMEDIATE: Final = -2147483640 -TAPE_DRIVE_SET_BLOCK_SIZE: Final = -2147483632 -TAPE_DRIVE_LOAD_UNLD_IMMED: Final = -2147483616 -TAPE_DRIVE_TENSION_IMMED: Final = -2147483584 -TAPE_DRIVE_LOCK_UNLK_IMMED: Final = -2147483520 -TAPE_DRIVE_SET_ECC: Final = -2147483392 -TAPE_DRIVE_SET_COMPRESSION: Final = -2147483136 -TAPE_DRIVE_SET_PADDING: Final = -2147482624 -TAPE_DRIVE_SET_REPORT_SMKS: Final = -2147481600 -TAPE_DRIVE_ABSOLUTE_BLK: Final = -2147479552 -TAPE_DRIVE_ABS_BLK_IMMED: Final = -2147475456 -TAPE_DRIVE_LOGICAL_BLK: Final = -2147467264 -TAPE_DRIVE_LOG_BLK_IMMED: Final = -2147450880 -TAPE_DRIVE_END_OF_DATA: Final = -2147418112 -TAPE_DRIVE_RELATIVE_BLKS: Final = -2147352576 -TAPE_DRIVE_FILEMARKS: Final = -2147221504 -TAPE_DRIVE_SEQUENTIAL_FMKS: Final = -2146959360 -TAPE_DRIVE_SETMARKS: Final = -2146435072 -TAPE_DRIVE_SEQUENTIAL_SMKS: Final = -2145386496 -TAPE_DRIVE_REVERSE_POSITION: Final = -2143289344 -TAPE_DRIVE_SPACE_IMMEDIATE: Final = -2139095040 -TAPE_DRIVE_WRITE_SETMARKS: Final = -2130706432 -TAPE_DRIVE_WRITE_FILEMARKS: Final = -2113929216 -TAPE_DRIVE_WRITE_SHORT_FMKS: Final = -2080374784 -TAPE_DRIVE_WRITE_LONG_FMKS: Final = -2013265920 -TAPE_DRIVE_WRITE_MARK_IMMED: Final = -1879048192 -TAPE_DRIVE_FORMAT: Final = -1610612736 -TAPE_DRIVE_FORMAT_IMMEDIATE: Final = -1073741824 -TAPE_DRIVE_HIGH_FEATURES: Final = -2147483648 -TAPE_FIXED_PARTITIONS: Final = 0 -TAPE_SELECT_PARTITIONS: Final = 1 -TAPE_INITIATOR_PARTITIONS: Final = 2 -TRANSACTIONMANAGER_QUERY_INFORMATION: Final = 0x0001 -TRANSACTIONMANAGER_SET_INFORMATION: Final = 0x0002 -TRANSACTIONMANAGER_RECOVER: Final = 0x0004 -TRANSACTIONMANAGER_RENAME: Final = 0x0008 -TRANSACTIONMANAGER_CREATE_RM: Final = 0x0010 -TRANSACTIONMANAGER_BIND_TRANSACTION: Final = 0x0020 -TRANSACTIONMANAGER_GENERIC_READ: Final = 0x20001 -TRANSACTIONMANAGER_GENERIC_WRITE: Final = 0x2001E -TRANSACTIONMANAGER_GENERIC_EXECUTE: Final = STANDARD_RIGHTS_EXECUTE -TRANSACTIONMANAGER_ALL_ACCESS: Final = 0xF003F -TRANSACTION_QUERY_INFORMATION: Final = 0x0001 -TRANSACTION_SET_INFORMATION: Final = 0x0002 -TRANSACTION_ENLIST: Final = 0x0004 -TRANSACTION_COMMIT: Final = 0x0008 -TRANSACTION_ROLLBACK: Final = 0x0010 -TRANSACTION_PROPAGATE: Final = 0x0020 -TRANSACTION_SAVEPOINT: Final = 0x0040 -TRANSACTION_MARSHALL: Final = TRANSACTION_QUERY_INFORMATION -TRANSACTION_GENERIC_READ: Final = 0x120001 -TRANSACTION_GENERIC_WRITE: Final = 0x12007E -TRANSACTION_GENERIC_EXECUTE: Final = 0x120018 -TRANSACTION_ALL_ACCESS: Final = 0x1F007F -TRANSACTION_RESOURCE_MANAGER_RIGHTS: Final = 0x120037 -RESOURCEMANAGER_QUERY_INFORMATION: Final = 0x0001 -RESOURCEMANAGER_SET_INFORMATION: Final = 0x0002 -RESOURCEMANAGER_RECOVER: Final = 0x0004 -RESOURCEMANAGER_ENLIST: Final = 0x0008 -RESOURCEMANAGER_GET_NOTIFICATION: Final = 0x0010 -RESOURCEMANAGER_REGISTER_PROTOCOL: Final = 0x0020 -RESOURCEMANAGER_COMPLETE_PROPAGATION: Final = 0x0040 -RESOURCEMANAGER_GENERIC_READ: Final = 0x120001 -RESOURCEMANAGER_GENERIC_WRITE: Final = 0x12007E -RESOURCEMANAGER_GENERIC_EXECUTE: Final = 0x12005C -RESOURCEMANAGER_ALL_ACCESS: Final = 0x1F007F -ENLISTMENT_QUERY_INFORMATION: Final = 0x0001 -ENLISTMENT_SET_INFORMATION: Final = 0x0002 -ENLISTMENT_RECOVER: Final = 0x0004 -ENLISTMENT_SUBORDINATE_RIGHTS: Final = 0x0008 -ENLISTMENT_SUPERIOR_RIGHTS: Final = 0x0010 -ENLISTMENT_GENERIC_READ: Final = 0x20001 -ENLISTMENT_GENERIC_WRITE: Final = 0x2001E -ENLISTMENT_GENERIC_EXECUTE: Final = 0x2001C -ENLISTMENT_ALL_ACCESS: Final = 0xF001F -TransactionOutcomeUndetermined: Final = 1 -TransactionOutcomeCommitted: Final = 2 -TransactionOutcomeAborted: Final = 3 -TransactionStateNormal: Final = 1 -TransactionStateIndoubt: Final = 2 -TransactionStateCommittedNotify: Final = 3 -TransactionBasicInformation: Final = 0 -TransactionPropertiesInformation: Final = 1 -TransactionEnlistmentInformation: Final = 2 -TransactionFullInformation: Final = 3 -TransactionManagerBasicInformation: Final = 0 -TransactionManagerLogInformation: Final = 1 -TransactionManagerLogPathInformation: Final = 2 -TransactionManagerOnlineProbeInformation: Final = 3 -ResourceManagerBasicInformation: Final = 0 -ResourceManagerCompletionInformation: Final = 1 -ResourceManagerFullInformation: Final = 2 -ResourceManagerNameInformation: Final = 3 -EnlistmentBasicInformation: Final = 0 -EnlistmentRecoveryInformation: Final = 1 -EnlistmentFullInformation: Final = 2 -EnlistmentNameInformation: Final = 3 -KTMOBJECT_TRANSACTION: Final = 0 -KTMOBJECT_TRANSACTION_MANAGER: Final = 1 -KTMOBJECT_RESOURCE_MANAGER: Final = 2 -KTMOBJECT_ENLISTMENT: Final = 3 -KTMOBJECT_INVALID: Final = 4 +IMAGE_RESOURCE_NAME_IS_STRING: int +IMAGE_RESOURCE_DATA_IS_DIRECTORY: int +IMAGE_DEBUG_TYPE_UNKNOWN: int +IMAGE_DEBUG_TYPE_COFF: int +IMAGE_DEBUG_TYPE_CODEVIEW: int +IMAGE_DEBUG_TYPE_FPO: int +IMAGE_DEBUG_TYPE_MISC: int +IMAGE_DEBUG_TYPE_EXCEPTION: int +IMAGE_DEBUG_TYPE_FIXUP: int +IMAGE_DEBUG_TYPE_OMAP_TO_SRC: int +IMAGE_DEBUG_TYPE_OMAP_FROM_SRC: int +IMAGE_DEBUG_TYPE_BORLAND: int +FRAME_FPO: int +FRAME_TRAP: int +FRAME_TSS: int +FRAME_NONFPO: int +SIZEOF_RFPO_DATA: int +IMAGE_DEBUG_MISC_EXENAME: int +IMAGE_SEPARATE_DEBUG_SIGNATURE: int +IMAGE_SEPARATE_DEBUG_FLAGS_MASK: int +IMAGE_SEPARATE_DEBUG_MISMATCH: int +NULL: int +HEAP_NO_SERIALIZE: int +HEAP_GROWABLE: int +HEAP_GENERATE_EXCEPTIONS: int +HEAP_ZERO_MEMORY: int +HEAP_REALLOC_IN_PLACE_ONLY: int +HEAP_TAIL_CHECKING_ENABLED: int +HEAP_FREE_CHECKING_ENABLED: int +HEAP_DISABLE_COALESCE_ON_FREE: int +HEAP_CREATE_ALIGN_16: int +HEAP_CREATE_ENABLE_TRACING: int +HEAP_MAXIMUM_TAG: int +HEAP_PSEUDO_TAG_FLAG: int +HEAP_TAG_SHIFT: int +IS_TEXT_UNICODE_ASCII16: int +IS_TEXT_UNICODE_REVERSE_ASCII16: int +IS_TEXT_UNICODE_STATISTICS: int +IS_TEXT_UNICODE_REVERSE_STATISTICS: int +IS_TEXT_UNICODE_CONTROLS: int +IS_TEXT_UNICODE_REVERSE_CONTROLS: int +IS_TEXT_UNICODE_SIGNATURE: int +IS_TEXT_UNICODE_REVERSE_SIGNATURE: int +IS_TEXT_UNICODE_ILLEGAL_CHARS: int +IS_TEXT_UNICODE_ODD_LENGTH: int +IS_TEXT_UNICODE_DBCS_LEADBYTE: int +IS_TEXT_UNICODE_NULL_BYTES: int +IS_TEXT_UNICODE_UNICODE_MASK: int +IS_TEXT_UNICODE_REVERSE_MASK: int +IS_TEXT_UNICODE_NOT_UNICODE_MASK: int +IS_TEXT_UNICODE_NOT_ASCII_MASK: int +COMPRESSION_FORMAT_NONE: int +COMPRESSION_FORMAT_DEFAULT: int +COMPRESSION_FORMAT_LZNT1: int +COMPRESSION_ENGINE_STANDARD: int +COMPRESSION_ENGINE_MAXIMUM: int +MESSAGE_RESOURCE_UNICODE: int +RTL_CRITSECT_TYPE: int +RTL_RESOURCE_TYPE: int +SEF_DACL_AUTO_INHERIT: int +SEF_SACL_AUTO_INHERIT: int +SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT: int +SEF_AVOID_PRIVILEGE_CHECK: int +DLL_PROCESS_ATTACH: int +DLL_THREAD_ATTACH: int +DLL_THREAD_DETACH: int +DLL_PROCESS_DETACH: int +EVENTLOG_SEQUENTIAL_READ: int +EVENTLOG_SEEK_READ: int +EVENTLOG_FORWARDS_READ: int +EVENTLOG_BACKWARDS_READ: int +EVENTLOG_SUCCESS: int +EVENTLOG_ERROR_TYPE: int +EVENTLOG_WARNING_TYPE: int +EVENTLOG_INFORMATION_TYPE: int +EVENTLOG_AUDIT_SUCCESS: int +EVENTLOG_AUDIT_FAILURE: int +EVENTLOG_START_PAIRED_EVENT: int +EVENTLOG_END_PAIRED_EVENT: int +EVENTLOG_END_ALL_PAIRED_EVENTS: int +EVENTLOG_PAIRED_EVENT_ACTIVE: int +EVENTLOG_PAIRED_EVENT_INACTIVE: int +KEY_QUERY_VALUE: int +KEY_SET_VALUE: int +KEY_CREATE_SUB_KEY: int +KEY_ENUMERATE_SUB_KEYS: int +KEY_NOTIFY: int +KEY_CREATE_LINK: int +KEY_READ: Incomplete +KEY_WRITE: Incomplete +KEY_EXECUTE: Incomplete +KEY_ALL_ACCESS: Incomplete +REG_OPTION_RESERVED: int +REG_OPTION_NON_VOLATILE: int +REG_OPTION_VOLATILE: int +REG_OPTION_CREATE_LINK: int +REG_OPTION_BACKUP_RESTORE: int +REG_OPTION_OPEN_LINK: int +REG_LEGAL_OPTION: Incomplete +REG_CREATED_NEW_KEY: int +REG_OPENED_EXISTING_KEY: int +REG_STANDARD_FORMAT: int +REG_LATEST_FORMAT: int +REG_NO_COMPRESSION: int +REG_WHOLE_HIVE_VOLATILE: int +REG_REFRESH_HIVE: int +REG_NO_LAZY_FLUSH: int +REG_FORCE_RESTORE: int +REG_NOTIFY_CHANGE_NAME: int +REG_NOTIFY_CHANGE_ATTRIBUTES: int +REG_NOTIFY_CHANGE_LAST_SET: int +REG_NOTIFY_CHANGE_SECURITY: int +REG_LEGAL_CHANGE_FILTER: Incomplete +REG_NONE: int +REG_SZ: int +REG_EXPAND_SZ: int +REG_BINARY: int +REG_DWORD: int +REG_DWORD_LITTLE_ENDIAN: int +REG_DWORD_BIG_ENDIAN: int +REG_LINK: int +REG_MULTI_SZ: int +REG_RESOURCE_LIST: int +REG_FULL_RESOURCE_DESCRIPTOR: int +REG_RESOURCE_REQUIREMENTS_LIST: int +SERVICE_KERNEL_DRIVER: int +SERVICE_FILE_SYSTEM_DRIVER: int +SERVICE_ADAPTER: int +SERVICE_RECOGNIZER_DRIVER: int +SERVICE_DRIVER: Incomplete +SERVICE_WIN32_OWN_PROCESS: int +SERVICE_WIN32_SHARE_PROCESS: int +SERVICE_WIN32: Incomplete +SERVICE_INTERACTIVE_PROCESS: int +SERVICE_TYPE_ALL: Incomplete +SERVICE_BOOT_START: int +SERVICE_SYSTEM_START: int +SERVICE_AUTO_START: int +SERVICE_DEMAND_START: int +SERVICE_DISABLED: int +SERVICE_ERROR_IGNORE: int +SERVICE_ERROR_NORMAL: int +SERVICE_ERROR_SEVERE: int +SERVICE_ERROR_CRITICAL: int +TAPE_ERASE_SHORT: int +TAPE_ERASE_LONG: int +TAPE_LOAD: int +TAPE_UNLOAD: int +TAPE_TENSION: int +TAPE_LOCK: int +TAPE_UNLOCK: int +TAPE_FORMAT: int +TAPE_SETMARKS: int +TAPE_FILEMARKS: int +TAPE_SHORT_FILEMARKS: int +TAPE_LONG_FILEMARKS: int +TAPE_ABSOLUTE_POSITION: int +TAPE_LOGICAL_POSITION: int +TAPE_PSEUDO_LOGICAL_POSITION: int +TAPE_REWIND: int +TAPE_ABSOLUTE_BLOCK: int +TAPE_LOGICAL_BLOCK: int +TAPE_PSEUDO_LOGICAL_BLOCK: int +TAPE_SPACE_END_OF_DATA: int +TAPE_SPACE_RELATIVE_BLOCKS: int +TAPE_SPACE_FILEMARKS: int +TAPE_SPACE_SEQUENTIAL_FMKS: int +TAPE_SPACE_SETMARKS: int +TAPE_SPACE_SEQUENTIAL_SMKS: int +TAPE_DRIVE_FIXED: int +TAPE_DRIVE_SELECT: int +TAPE_DRIVE_INITIATOR: int +TAPE_DRIVE_ERASE_SHORT: int +TAPE_DRIVE_ERASE_LONG: int +TAPE_DRIVE_ERASE_BOP_ONLY: int +TAPE_DRIVE_ERASE_IMMEDIATE: int +TAPE_DRIVE_TAPE_CAPACITY: int +TAPE_DRIVE_TAPE_REMAINING: int +TAPE_DRIVE_FIXED_BLOCK: int +TAPE_DRIVE_VARIABLE_BLOCK: int +TAPE_DRIVE_WRITE_PROTECT: int +TAPE_DRIVE_EOT_WZ_SIZE: int +TAPE_DRIVE_ECC: int +TAPE_DRIVE_COMPRESSION: int +TAPE_DRIVE_PADDING: int +TAPE_DRIVE_REPORT_SMKS: int +TAPE_DRIVE_GET_ABSOLUTE_BLK: int +TAPE_DRIVE_GET_LOGICAL_BLK: int +TAPE_DRIVE_SET_EOT_WZ_SIZE: int +TAPE_DRIVE_EJECT_MEDIA: int +TAPE_DRIVE_RESERVED_BIT: int +TAPE_DRIVE_LOAD_UNLOAD: int +TAPE_DRIVE_TENSION: int +TAPE_DRIVE_LOCK_UNLOCK: int +TAPE_DRIVE_REWIND_IMMEDIATE: int +TAPE_DRIVE_SET_BLOCK_SIZE: int +TAPE_DRIVE_LOAD_UNLD_IMMED: int +TAPE_DRIVE_TENSION_IMMED: int +TAPE_DRIVE_LOCK_UNLK_IMMED: int +TAPE_DRIVE_SET_ECC: int +TAPE_DRIVE_SET_COMPRESSION: int +TAPE_DRIVE_SET_PADDING: int +TAPE_DRIVE_SET_REPORT_SMKS: int +TAPE_DRIVE_ABSOLUTE_BLK: int +TAPE_DRIVE_ABS_BLK_IMMED: int +TAPE_DRIVE_LOGICAL_BLK: int +TAPE_DRIVE_LOG_BLK_IMMED: int +TAPE_DRIVE_END_OF_DATA: int +TAPE_DRIVE_RELATIVE_BLKS: int +TAPE_DRIVE_FILEMARKS: int +TAPE_DRIVE_SEQUENTIAL_FMKS: int +TAPE_DRIVE_SETMARKS: int +TAPE_DRIVE_SEQUENTIAL_SMKS: int +TAPE_DRIVE_REVERSE_POSITION: int +TAPE_DRIVE_SPACE_IMMEDIATE: int +TAPE_DRIVE_WRITE_SETMARKS: int +TAPE_DRIVE_WRITE_FILEMARKS: int +TAPE_DRIVE_WRITE_SHORT_FMKS: int +TAPE_DRIVE_WRITE_LONG_FMKS: int +TAPE_DRIVE_WRITE_MARK_IMMED: int +TAPE_DRIVE_FORMAT: int +TAPE_DRIVE_FORMAT_IMMEDIATE: int +TAPE_DRIVE_HIGH_FEATURES: int +TAPE_FIXED_PARTITIONS: int +TAPE_SELECT_PARTITIONS: int +TAPE_INITIATOR_PARTITIONS: int +TRANSACTIONMANAGER_QUERY_INFORMATION: int +TRANSACTIONMANAGER_SET_INFORMATION: int +TRANSACTIONMANAGER_RECOVER: int +TRANSACTIONMANAGER_RENAME: int +TRANSACTIONMANAGER_CREATE_RM: int +TRANSACTIONMANAGER_BIND_TRANSACTION: int +TRANSACTIONMANAGER_GENERIC_READ: Incomplete +TRANSACTIONMANAGER_GENERIC_WRITE: Incomplete +TRANSACTIONMANAGER_GENERIC_EXECUTE: int +TRANSACTIONMANAGER_ALL_ACCESS: Incomplete +TRANSACTION_QUERY_INFORMATION: int +TRANSACTION_SET_INFORMATION: int +TRANSACTION_ENLIST: int +TRANSACTION_COMMIT: int +TRANSACTION_ROLLBACK: int +TRANSACTION_PROPAGATE: int +TRANSACTION_SAVEPOINT: int +TRANSACTION_MARSHALL: int +TRANSACTION_GENERIC_READ: Incomplete +TRANSACTION_GENERIC_WRITE: Incomplete +TRANSACTION_GENERIC_EXECUTE: Incomplete +TRANSACTION_ALL_ACCESS: Incomplete +TRANSACTION_RESOURCE_MANAGER_RIGHTS: Incomplete +RESOURCEMANAGER_QUERY_INFORMATION: int +RESOURCEMANAGER_SET_INFORMATION: int +RESOURCEMANAGER_RECOVER: int +RESOURCEMANAGER_ENLIST: int +RESOURCEMANAGER_GET_NOTIFICATION: int +RESOURCEMANAGER_REGISTER_PROTOCOL: int +RESOURCEMANAGER_COMPLETE_PROPAGATION: int +RESOURCEMANAGER_GENERIC_READ: Incomplete +RESOURCEMANAGER_GENERIC_WRITE: Incomplete +RESOURCEMANAGER_GENERIC_EXECUTE: Incomplete +RESOURCEMANAGER_ALL_ACCESS: Incomplete +ENLISTMENT_QUERY_INFORMATION: int +ENLISTMENT_SET_INFORMATION: int +ENLISTMENT_RECOVER: int +ENLISTMENT_SUBORDINATE_RIGHTS: int +ENLISTMENT_SUPERIOR_RIGHTS: int +ENLISTMENT_GENERIC_READ: Incomplete +ENLISTMENT_GENERIC_WRITE: Incomplete +ENLISTMENT_GENERIC_EXECUTE: Incomplete +ENLISTMENT_ALL_ACCESS: Incomplete +TransactionOutcomeUndetermined: int +TransactionOutcomeCommitted: int +TransactionOutcomeAborted: int +TransactionStateNormal: int +TransactionStateIndoubt: int +TransactionStateCommittedNotify: int +TransactionBasicInformation: int +TransactionPropertiesInformation: int +TransactionEnlistmentInformation: int +TransactionFullInformation: int +TransactionManagerBasicInformation: int +TransactionManagerLogInformation: int +TransactionManagerLogPathInformation: int +TransactionManagerOnlineProbeInformation: int +ResourceManagerBasicInformation: int +ResourceManagerCompletionInformation: int +ResourceManagerFullInformation: int +ResourceManagerNameInformation: int +EnlistmentBasicInformation: int +EnlistmentRecoveryInformation: int +EnlistmentFullInformation: int +EnlistmentNameInformation: int +KTMOBJECT_TRANSACTION: int +KTMOBJECT_TRANSACTION_MANAGER: int +KTMOBJECT_RESOURCE_MANAGER: int +KTMOBJECT_ENLISTMENT: int +KTMOBJECT_INVALID: int diff --git a/stubs/pywin32/win32/lib/winperf.pyi b/stubs/pywin32/win32/lib/winperf.pyi index e1ad6c0e7dbe..bcda5bf33e26 100644 --- a/stubs/pywin32/win32/lib/winperf.pyi +++ b/stubs/pywin32/win32/lib/winperf.pyi @@ -1,73 +1,73 @@ -from typing import Final +from _typeshed import Incomplete -PERF_DATA_VERSION: Final = 1 -PERF_DATA_REVISION: Final = 1 -PERF_NO_INSTANCES: Final = -1 -PERF_SIZE_DWORD: Final = 0x00000000 -PERF_SIZE_LARGE: Final = 0x00000100 -PERF_SIZE_ZERO: Final = 0x00000200 -PERF_SIZE_VARIABLE_LEN: Final = 0x00000300 -PERF_TYPE_NUMBER: Final = 0x00000000 -PERF_TYPE_COUNTER: Final = 0x00000400 -PERF_TYPE_TEXT: Final = 0x00000800 -PERF_TYPE_ZERO: Final = 0x00000C00 -PERF_NUMBER_HEX: Final = 0x00000000 -PERF_NUMBER_DECIMAL: Final = 0x00010000 -PERF_NUMBER_DEC_1000: Final = 0x00020000 -PERF_COUNTER_VALUE: Final = 0x00000000 -PERF_COUNTER_RATE: Final = 0x00010000 -PERF_COUNTER_FRACTION: Final = 0x00020000 -PERF_COUNTER_BASE: Final = 0x00030000 -PERF_COUNTER_ELAPSED: Final = 0x00040000 -PERF_COUNTER_QUEUELEN: Final = 0x00050000 -PERF_COUNTER_HISTOGRAM: Final = 0x00060000 -PERF_TEXT_UNICODE: Final = 0x00000000 -PERF_TEXT_ASCII: Final = 0x00010000 -PERF_TIMER_TICK: Final = 0x00000000 -PERF_TIMER_100NS: Final = 0x00100000 -PERF_OBJECT_TIMER: Final = 0x00200000 -PERF_DELTA_COUNTER: Final = 0x00400000 -PERF_DELTA_BASE: Final = 0x00800000 -PERF_INVERSE_COUNTER: Final = 0x01000000 -PERF_MULTI_COUNTER: Final = 0x02000000 -PERF_DISPLAY_NO_SUFFIX: Final = 0x00000000 -PERF_DISPLAY_PER_SEC: Final = 0x10000000 -PERF_DISPLAY_PERCENT: Final = 0x20000000 -PERF_DISPLAY_SECONDS: Final = 0x30000000 -PERF_DISPLAY_NOSHOW: Final = 0x40000000 -PERF_COUNTER_COUNTER: Final = 0x10410400 -PERF_COUNTER_TIMER: Final = 0x20410500 -PERF_COUNTER_QUEUELEN_TYPE: Final = 0x00450400 -PERF_COUNTER_LARGE_QUEUELEN_TYPE: Final = 0x00450500 -PERF_COUNTER_BULK_COUNT: Final = 0x10410500 -PERF_COUNTER_TEXT: Final = 0x00000B00 -PERF_COUNTER_RAWCOUNT: Final = 0x00010000 -PERF_COUNTER_LARGE_RAWCOUNT: Final = 0x00010100 -PERF_COUNTER_RAWCOUNT_HEX: Final = 0x00000000 -PERF_COUNTER_LARGE_RAWCOUNT_HEX: Final = 0x00000100 -PERF_SAMPLE_FRACTION: Final = 0x20C20400 -PERF_SAMPLE_COUNTER: Final = 0x00410400 -PERF_COUNTER_NODATA: Final = 0x40000200 -PERF_COUNTER_TIMER_INV: Final = 0x21410500 -PERF_SAMPLE_BASE: Final = 0x40030401 -PERF_AVERAGE_TIMER: Final = 0x30020400 -PERF_AVERAGE_BASE: Final = 0x40030402 -PERF_AVERAGE_BULK: Final = 0x40020500 -PERF_100NSEC_TIMER: Final = 0x20510500 -PERF_100NSEC_TIMER_INV: Final = 0x21510500 -PERF_COUNTER_MULTI_TIMER: Final = 0x22410500 -PERF_COUNTER_MULTI_TIMER_INV: Final = 0x23410500 -PERF_COUNTER_MULTI_BASE: Final = 0x42030500 -PERF_100NSEC_MULTI_TIMER: Final = 0x22510500 -PERF_100NSEC_MULTI_TIMER_INV: Final = 0x23510500 -PERF_RAW_FRACTION: Final = 0x20020400 -PERF_RAW_BASE: Final = 0x40030403 -PERF_ELAPSED_TIME: Final = 0x30240500 -PERF_COUNTER_HISTOGRAM_TYPE: Final = -0x80000000 -PERF_COUNTER_DELTA: Final = 0x00400400 -PERF_COUNTER_LARGE_DELTA: Final = 0x00400500 -PERF_DETAIL_NOVICE: Final = 100 -PERF_DETAIL_ADVANCED: Final = 200 -PERF_DETAIL_EXPERT: Final = 300 -PERF_DETAIL_WIZARD: Final = 400 -PERF_NO_UNIQUE_ID: Final = -1 +PERF_DATA_VERSION: int +PERF_DATA_REVISION: int +PERF_NO_INSTANCES: int +PERF_SIZE_DWORD: int +PERF_SIZE_LARGE: int +PERF_SIZE_ZERO: int +PERF_SIZE_VARIABLE_LEN: int +PERF_TYPE_NUMBER: int +PERF_TYPE_COUNTER: int +PERF_TYPE_TEXT: int +PERF_TYPE_ZERO: int +PERF_NUMBER_HEX: int +PERF_NUMBER_DECIMAL: int +PERF_NUMBER_DEC_1000: int +PERF_COUNTER_VALUE: int +PERF_COUNTER_RATE: int +PERF_COUNTER_FRACTION: int +PERF_COUNTER_BASE: int +PERF_COUNTER_ELAPSED: int +PERF_COUNTER_QUEUELEN: int +PERF_COUNTER_HISTOGRAM: int +PERF_TEXT_UNICODE: int +PERF_TEXT_ASCII: int +PERF_TIMER_TICK: int +PERF_TIMER_100NS: int +PERF_OBJECT_TIMER: int +PERF_DELTA_COUNTER: int +PERF_DELTA_BASE: int +PERF_INVERSE_COUNTER: int +PERF_MULTI_COUNTER: int +PERF_DISPLAY_NO_SUFFIX: int +PERF_DISPLAY_PER_SEC: int +PERF_DISPLAY_PERCENT: int +PERF_DISPLAY_SECONDS: int +PERF_DISPLAY_NOSHOW: int +PERF_COUNTER_COUNTER: Incomplete +PERF_COUNTER_TIMER: Incomplete +PERF_COUNTER_QUEUELEN_TYPE: Incomplete +PERF_COUNTER_LARGE_QUEUELEN_TYPE: Incomplete +PERF_COUNTER_BULK_COUNT: Incomplete +PERF_COUNTER_TEXT: Incomplete +PERF_COUNTER_RAWCOUNT: Incomplete +PERF_COUNTER_LARGE_RAWCOUNT: Incomplete +PERF_COUNTER_RAWCOUNT_HEX: Incomplete +PERF_COUNTER_LARGE_RAWCOUNT_HEX: Incomplete +PERF_SAMPLE_FRACTION: Incomplete +PERF_SAMPLE_COUNTER: Incomplete +PERF_COUNTER_NODATA: Incomplete +PERF_COUNTER_TIMER_INV: Incomplete +PERF_SAMPLE_BASE: Incomplete +PERF_AVERAGE_TIMER: Incomplete +PERF_AVERAGE_BASE: Incomplete +PERF_AVERAGE_BULK: Incomplete +PERF_100NSEC_TIMER: Incomplete +PERF_100NSEC_TIMER_INV: Incomplete +PERF_COUNTER_MULTI_TIMER: Incomplete +PERF_COUNTER_MULTI_TIMER_INV: Incomplete +PERF_COUNTER_MULTI_BASE: Incomplete +PERF_100NSEC_MULTI_TIMER: Incomplete +PERF_100NSEC_MULTI_TIMER_INV: Incomplete +PERF_RAW_FRACTION: Incomplete +PERF_RAW_BASE: Incomplete +PERF_ELAPSED_TIME: Incomplete +PERF_COUNTER_HISTOGRAM_TYPE: int +PERF_COUNTER_DELTA: Incomplete +PERF_COUNTER_LARGE_DELTA: Incomplete +PERF_DETAIL_NOVICE: int +PERF_DETAIL_ADVANCED: int +PERF_DETAIL_EXPERT: int +PERF_DETAIL_WIZARD: int +PERF_NO_UNIQUE_ID: int diff --git a/stubs/pywin32/win32/win32api.pyi b/stubs/pywin32/win32/win32api.pyi index 9f6d9bee2e52..2023030f3215 100644 --- a/stubs/pywin32/win32/win32api.pyi +++ b/stubs/pywin32/win32/win32api.pyi @@ -279,7 +279,7 @@ def SetFileAttributes(pathName: str, attrs, /): ... def SetLastError(errVal: int, /): ... def SetSysColors(Elements, RgbValues, /) -> None: ... def SetLocalTime(SystemTime: TimeType, /) -> None: ... -def SetSystemTime(year, month, dayOfWeek, day, hour, minute, second, milliseconds, /): ... +def SetSystemTime(year, month, dayOfWeek, day, hour, minute, second, millseconds, /): ... def SetClassLong(hwnd: int, offset, val, /): ... @deprecated("This function is obsolete, use `win32api.SetClassLong` instead.") def SetClassWord(hwnd: int, offset, val, /): ... diff --git a/stubs/pywin32/win32/win32crypt.pyi b/stubs/pywin32/win32/win32crypt.pyi index b4fbf288f672..3bde0ede1ac6 100644 --- a/stubs/pywin32/win32/win32crypt.pyi +++ b/stubs/pywin32/win32/win32crypt.pyi @@ -1,173 +1,107 @@ -from _typeshed import Incomplete, ReadableBuffer -from collections.abc import Iterable, Sequence -from typing import Literal, overload +from _typeshed import Incomplete import _win32typing def CryptProtectData( - DataIn: ReadableBuffer, - DataDescr: str | None = None, - OptionalEntropy: bytes | None = None, - Reserved: None = None, - PromptStruct: ( - tuple[int] - | tuple[int, int | _win32typing.PyHANDLE | None] - | tuple[int, int | _win32typing.PyHANDLE | None, str | None] - | None - ) = None, - Flags: int = 0, -) -> bytes: ... + DataIn, + DataDescr: str | None = ..., + OptionalEntropy: Incomplete | None = ..., + Reserved: Incomplete | None = ..., + PromptStruct: _win32typing.PyCRYPTPROTECT_PROMPTSTRUCT | None = ..., + Flags: int = ..., +): ... def CryptUnprotectData( - DataIn: ReadableBuffer, - OptionalEntropy: bytes | None = None, - Reserved: None = None, - PromptStruct: ( - tuple[int] - | tuple[int, int | _win32typing.PyHANDLE | None] - | tuple[int, int | _win32typing.PyHANDLE | None, str | None] - | None - ) = None, - Flags: int = 0, -) -> tuple[str, bytes]: ... -def CryptEnumProviders() -> list[tuple[str, int]]: ... -def CryptEnumProviderTypes() -> list[tuple[str | None, int]]: ... -def CryptGetDefaultProvider(ProvType: int, Flags: int) -> str: ... -def CryptSetProviderEx(ProvName: str | None, ProvType: int, Flags: int) -> None: ... -def CryptAcquireContext( - Container: str | None, Provider: str | None, ProvType: int, Flags: int -) -> _win32typing.PyCRYPTPROV | None: ... -def CryptFindLocalizedName(CryptName: str) -> str | None: ... -def CertEnumSystemStore( - Flags: int, SystemStoreLocationPara: str | Sequence[int | _win32typing.PyHANDLE | None | str] | None = None -) -> list[str]: ... -def CertEnumSystemStoreLocation(Flags: int = 0) -> list[str]: ... -def CertEnumPhysicalStore(SystemStore: str, Flags: int) -> list[str]: ... -def CertRegisterSystemStore(SystemStore: str | Sequence[int | _win32typing.PyHANDLE | None | str], Flags: int) -> None: ... -def CertUnregisterSystemStore(SystemStore: str, Flags: int) -> None: ... + DataIn, + OptionalEntropy: Incomplete | None = ..., + Reserved: Incomplete | None = ..., + PromptStruct: _win32typing.PyCRYPTPROTECT_PROMPTSTRUCT | None = ..., + Flags: int = ..., +) -> tuple[Incomplete, Incomplete]: ... +def CryptEnumProviders() -> list[tuple[str, Incomplete]]: ... +def CryptEnumProviderTypes() -> list[tuple[str, Incomplete]]: ... +def CryptGetDefaultProvider(ProvType, Flags) -> str: ... +def CryptSetProviderEx(ProvName: str, ProvType, Flags) -> None: ... +def CryptAcquireContext(Container: str, Provider: str, ProvType, Flags) -> _win32typing.PyCRYPTPROV: ... +def CryptFindLocalizedName(CryptName: str) -> str: ... +def CertEnumSystemStore(Flags, SystemStoreLocationPara: Incomplete | None = ...) -> list[Incomplete]: ... +def CertEnumSystemStoreLocation(Flags: int = ...) -> list[Incomplete]: ... +def CertEnumPhysicalStore(SystemStore: str, Flags) -> list[Incomplete]: ... +def CertRegisterSystemStore(SystemStore: str, Flags) -> None: ... +def CertUnregisterSystemStore(SystemStore: str, Flags) -> None: ... def CertOpenStore( - StoreProvider: int, - MsgAndCertEncodingType: int, - CryptProv: _win32typing.PyCRYPTPROV | None, - Flags: int, - Para: str | Sequence[int | _win32typing.PyHANDLE | None | str] | None, -) -> _win32typing.PyCERTSTORE | None: ... -def CertOpenSystemStore(SubsystemProtocol: str, Prov: _win32typing.PyCRYPTPROV | None = None) -> _win32typing.PyCERTSTORE: ... - -@overload -def CryptFindOIDInfo(KeyType: Literal[1], Key: bytes, GroupId: int = 0) -> _win32typing.OIDInfo: ... -@overload -def CryptFindOIDInfo(KeyType: Literal[2], Key: str, GroupId: int = 0) -> _win32typing.OIDInfo: ... -@overload -def CryptFindOIDInfo(KeyType: Literal[3], Key: int, GroupId: int = 0) -> _win32typing.OIDInfo: ... -@overload -def CryptFindOIDInfo(KeyType: Literal[4], Key: tuple[int, int], GroupId: int = 0) -> _win32typing.OIDInfo: ... - -def CertAlgIdToOID(AlgId: int) -> bytes | None: ... -def CertOIDToAlgId(ObjId: str) -> int: ... -def CryptGetKeyIdentifierProperty( - KeyIdentifier: ReadableBuffer, PropId: int = 2, Flags: int = 0, ComputerName: str | None = None -) -> _win32typing.ProveInfo: ... + StoreProvider, MsgAndCertEncodingType, CryptProv: _win32typing.PyCRYPTPROV, Flags, Para: Incomplete | None +) -> _win32typing.PyCERTSTORE: ... +def CertOpenSystemStore(SubsystemProtocol: str, Prov: _win32typing.PyCRYPTPROV | None = ...) -> _win32typing.PyCERTSTORE: ... +def CryptFindOIDInfo(KeyType, Key, GroupId: int = ...): ... +def CertAlgIdToOID(AlgId) -> str: ... +def CertOIDToAlgId(ObjId: str): ... +def CryptGetKeyIdentifierProperty(KeyIdentifier: str, PropId=..., Flags: int = ..., ComputerName: str | None = ...): ... def CryptEnumKeyIdentifierProperties( - KeyIdentifier: ReadableBuffer | None = None, PropId: int = 0, Flags: int = 0, ComputerName: str | None = None -) -> list[_win32typing.KeyIdentifier]: ... -def CryptEnumOIDInfo(GroupId: int = 0) -> list[_win32typing.OIDInfo]: ... + KeyIdentifier: str | None = ..., PropId: int = ..., Flags: int = ..., ComputerName: str | None = ... +): ... +def CryptEnumOIDInfo(GroupId: int = ...): ... def CertAddSerializedElementToStore( - CertStore: _win32typing.PyCERTSTORE | None, - Element: ReadableBuffer, - AddDisposition: int, - ContextTypeFlags: int = 2, - Flags: int = 0, -) -> _win32typing.PyCERT_CONTEXT | _win32typing.PyCTL_CONTEXT | None: ... - -@overload -def CryptQueryObject( - ObjectType: Literal[1], - Object: ReadableBuffer, - ExpectedContentTypeFlags: int = 0x00003FFE, - ExpectedFormatTypeFlags: int = 0x0000000E, - Flags: int = 0, -) -> _win32typing.QueryObject: ... -@overload -def CryptQueryObject( - ObjectType: Literal[2], - Object: str, - ExpectedContentTypeFlags: int = 0x00003FFE, - ExpectedFormatTypeFlags: int = 0x0000000E, - Flags: int = 0, -) -> _win32typing.QueryObject: ... - + CertStore: _win32typing.PyCERTSTORE, Element, AddDisposition, ContextTypeFlags=..., Flags: int = ... +) -> _win32typing.PyCERT_CONTEXT: ... +def CryptQueryObject(ObjectType, Object, ExpectedContentTypeFlags=..., ExpectedFormatTypeFlags=..., Flags: int = ...): ... def CryptDecodeMessage( - EncodedBlob: ReadableBuffer, - DecryptPara: _win32typing.DecryptMessagePara, - VerifyPara: _win32typing.VerifyMessagePara | None = None, - MsgTypeFlags: int = -1, - SignerIndex: int = 0, - PrevInnerContentType: int = 0, - ReturnData: bool | Literal[0, 1] = True, -) -> _win32typing.DecodeMessage: ... + EncodedBlob, + DecryptPara, + VerifyPara: Incomplete | None = ..., + MsgTypeFlags=..., + SignerIndex: int = ..., + PrevInnerContentType: int = ..., + ReturnData: bool = ..., +): ... def CryptEncryptMessage( - EncryptPara: _win32typing.EncryptMessagePara, - RecipientCert: Iterable[_win32typing.PyCERT_CONTEXT] | None, - ToBeEncrypted: ReadableBuffer, -) -> bytes: ... + EncryptPara: _win32typing.PyCRYPT_ENCRYPT_MESSAGE_PARA, RecipientCert: tuple[_win32typing.PyCERT_CONTEXT, ...], ToBeEncrypted +): ... def CryptDecryptMessage( - DecryptPara: _win32typing.DecryptMessagePara, EncryptedBlob: ReadableBuffer -) -> tuple[bytes, _win32typing.PyCERT_CONTEXT]: ... + DecryptPara: _win32typing.PyCRYPT_DECRYPT_MESSAGE_PARA, EncryptedBlob +) -> tuple[Incomplete, _win32typing.PyCERT_CONTEXT]: ... def CryptSignAndEncryptMessage( - SignPara: _win32typing.SignMessagePara, - EncryptPara: _win32typing.EncryptMessagePara, - RecipientCert: Iterable[_win32typing.PyCERT_CONTEXT] | None, - ToBeSignedAndEncrypted: ReadableBuffer, -) -> bytes: ... + SignPara: _win32typing.PyCRYPT_SIGN_MESSAGE_PARA, + EncryptPara: _win32typing.PyCRYPT_ENCRYPT_MESSAGE_PARA, + RecipientCert: tuple[_win32typing.PyCERT_CONTEXT, ...], + ToBeSignedAndEncrypted, +): ... def CryptVerifyMessageSignature( - SignedBlob: ReadableBuffer, - SignerIndex: int = 0, - VerifyPara: _win32typing.VerifyMessagePara | None = None, - ReturnData: bool | Literal[0, 1] = False, -) -> _win32typing.VerifyMessageSignature: ... + SignedBlob, SignerIndex: int = ..., VerifyPara: _win32typing.PyCRYPT_VERIFY_MESSAGE_PARA | None = ..., ReturnData: bool = ... +) -> tuple[_win32typing.PyCERT_CONTEXT, Incomplete]: ... def CryptGetMessageCertificates( - SignedBlob: ReadableBuffer, - MsgAndCertEncodingType: int = ..., - CryptProv: _win32typing.PyCRYPTPROV | None = None, - Flags: int = 0, + SignedBlob, MsgAndCertEncodingType=..., CryptProv: _win32typing.PyCRYPTPROV | None = ..., Flags: int = ... ) -> _win32typing.PyCERTSTORE: ... -def CryptGetMessageSignerCount(SignedBlob: ReadableBuffer, MsgEncodingType: int = ...) -> int: ... +def CryptGetMessageSignerCount(SignedBlob, MsgEncodingType=...): ... def CryptSignMessage( - SignPara: _win32typing.SignMessagePara, ToBeSigned: Iterable[Incomplete], DetachedSignature: bool | Literal[0, 1] = False -) -> bytes: ... + SignPara: _win32typing.PyCRYPT_SIGN_MESSAGE_PARA, ToBeSigned: tuple[Incomplete, ...], DetachedSignature: bool = ... +): ... def CryptVerifyDetachedMessageSignature( - SignerIndex: int, - DetachedSignBlob: ReadableBuffer, - ToBeSigned: Iterable[Incomplete], - VerifyPara: _win32typing.VerifyMessagePara | None = None, + SignerIndex, + DetachedSignBlob, + ToBeSigned: tuple[Incomplete, ...], + VerifyPara: _win32typing.PyCRYPT_VERIFY_MESSAGE_PARA | None = ..., ) -> _win32typing.PyCERT_CONTEXT: ... def CryptDecryptAndVerifyMessageSignature( - EncryptedBlob: ReadableBuffer, - DecryptPara: _win32typing.DecryptMessagePara, - VerifyPara: _win32typing.VerifyMessagePara | None = None, - SignerIndex: int = 0, -) -> _win32typing.DecryptAndVerifyMessageSignature: ... + EncryptedBlob, + DecryptPara: _win32typing.PyCRYPT_DECRYPT_MESSAGE_PARA, + VerifyPara: _win32typing.PyCRYPT_VERIFY_MESSAGE_PARA | None = ..., + SignerIndex: int = ..., +): ... def CryptEncodeObjectEx( - StructType: int | bytes, - StructInfo: Iterable[int | bytes] | _win32typing.CryptBitBlob, - Flags: int = 0, - CertEncodingType: int = ..., - EncodePara: None = None, -) -> bytes: ... -def CryptDecodeObjectEx( - StructType: int | bytes, Encoded: ReadableBuffer, Flags: int = 0, CertEncodingType: int = ..., DecodePara: None = None + StructType, StructInfo=..., Flags: int = ..., CertEncodingType=..., EncodePara: Incomplete | None = ... ): ... -def CertNameToStr(Name: ReadableBuffer, StrType: int = 1, CertEncodingType: int = 0x00000001) -> str: ... +def CryptDecodeObjectEx(StructType, Encoded, Flags: int = ..., CertEncodingType=..., DecodePara: Incomplete | None = ...): ... +def CertNameToStr(Name, StrType, CertEncodingType): ... def CryptFormatObject( - StructType: int | bytes, - Encoded: ReadableBuffer, - FormatStrType: int = 0, - CertEncodingType: int = 0x00000001, - FormatType: int = 0, - FormatStruct: None = None, -) -> str: ... -def PFXImportCertStore(PFX: ReadableBuffer, Password: str | None, Flags: int) -> _win32typing.PyCERTSTORE: ... -def PFXVerifyPassword(PFX: ReadableBuffer, Password: str | None, Flags: int) -> bool: ... -def PFXIsPFXBlob(PFX: ReadableBuffer) -> bool: ... -def CryptBinaryToString(Binary: ReadableBuffer, Flags: int) -> str: ... -def CryptStringToBinary(String: str, Flags: int) -> tuple[bytes, int, int]: ... + StructType, + Encoded, + FormatStrType: int = ..., + CertEncodingType=..., + FormatType: int = ..., + FormatStruct: Incomplete | None = ..., +): ... +def PFXImportCertStore(PFX, Password, Flags) -> _win32typing.PyCERTSTORE: ... +def PFXVerifyPassword(PFX, Password, Flags): ... +def PFXIsPFXBlob(PFX): ... +def CryptBinaryToString(Binary, Flags): ... +def CryptStringToBinary(String, Flags) -> tuple[Incomplete, Incomplete, Incomplete]: ... diff --git a/stubs/pywin32/win32/win32ras.pyi b/stubs/pywin32/win32/win32ras.pyi index 0dfce818c08f..f27777dd2493 100644 --- a/stubs/pywin32/win32/win32ras.pyi +++ b/stubs/pywin32/win32/win32ras.pyi @@ -1,60 +1,56 @@ from _typeshed import Incomplete -from collections.abc import Callable, Iterable -from typing import Final, Literal import _win32typing from win32.lib.pywintypes import error as error -def CreatePhonebookEntry(hWnd: int | _win32typing.PyHANDLE | None, fileName: str = ..., /) -> None: ... +def CreatePhonebookEntry(hWnd: int, fileName: str | None = ..., /) -> None: ... def Dial( - dialExtensions: _win32typing.PyRASDIALEXTENSIONS | None, - fileName: str | None, - RasDialParams: Iterable[str], - callback: int | Callable[..., Incomplete] | None, - /, -) -> tuple[int, int]: ... -def EditPhonebookEntry(hWnd: int | _win32typing.PyHANDLE | None, fileName: str | None, entryName: str, /) -> None: ... -def EnumConnections() -> list[tuple[int, str, str, str]]: ... -def EnumEntries(reserved: str | None = None, fileName: str | None = None, /) -> tuple[str, ...]: ... -def GetConnectStatus(hrasconn: int | _win32typing.PyHANDLE | None, /) -> tuple[int, int, str, str]: ... -def GetEapUserIdentity( - phoneBook: str | None, entry: str, flags: int, hwnd: int | _win32typing.PyHANDLE | None = None, / -) -> _win32typing.PyRASEAPUSERIDENTITY | None: ... -def GetEntryDialParams(fileName: str | None, entryName: str, /) -> tuple[tuple[str, str, str, str, str, str], bool]: ... -def GetErrorString(error: int, /) -> str: ... -def HangUp(hras: int | _win32typing.PyHANDLE | None, /) -> None: ... -def IsHandleValid(hras: int | _win32typing.PyHANDLE | None, /) -> bool: ... -def SetEntryDialParams(fileName: str | None, RasDialParams: Iterable[str], bSavePassword: bool | Literal[0, 1], /) -> None: ... -def RASDIALEXTENSIONS() -> _win32typing.PyRASDIALEXTENSIONS: ... + dialExtensions, fileName: str, RasDialParams: _win32typing.RASDIALPARAMS, callback, / +) -> tuple[Incomplete, Incomplete]: ... +def EditPhonebookEntry(hWnd: int, fileName: str, entryName: str | None = ..., /) -> None: ... +def EnumConnections(): ... +def EnumEntries(reserved: str | None = ..., fileName: str | None = ..., /) -> None: ... +def GetConnectStatus(hrasconn, /) -> tuple[Incomplete, Incomplete, str, str]: ... +def GetEntryDialParams( + fileName: str, entryName: str, / +) -> tuple[tuple[Incomplete, Incomplete, Incomplete, Incomplete, Incomplete, Incomplete], bool]: ... +def GetErrorString(error, /) -> str: ... +def HangUp(hras, /) -> None: ... +def IsHandleValid(hras: int | None, /) -> bool: ... +def SetEntryDialParams(fileName: str, RasDialParams, bSavePassword, /) -> None: ... +def RASDIALEXTENSIONS() -> _win32typing.RASDIALEXTENSIONS: ... -RASCS_OpenPort: Final[int] -RASCS_PortOpened: Final[int] -RASCS_ConnectDevice: Final[int] -RASCS_DeviceConnected: Final[int] -RASCS_AllDevicesConnected: Final[int] -RASCS_Authenticate: Final[int] -RASCS_AuthNotify: Final[int] -RASCS_AuthRetry: Final[int] -RASCS_AuthCallback: Final[int] -RASCS_AuthChangePassword: Final[int] -RASCS_AuthProject: Final[int] -RASCS_AuthLinkSpeed: Final[int] -RASCS_AuthAck: Final[int] -RASCS_ReAuthenticate: Final[int] -RASCS_Authenticated: Final[int] -RASCS_PrepareForCallback: Final[int] -RASCS_WaitForModemReset: Final[int] -RASCS_WaitForCallback: Final[int] -RASCS_Projected: Final[int] -RASCS_StartAuthentication: Final[int] -RASCS_CallbackComplete: Final[int] -RASCS_LogonNetwork: Final[int] -RASCS_Interactive: Final[int] -RASCS_RetryAuthentication: Final[int] -RASCS_CallbackSetByCaller: Final[int] -RASCS_PasswordExpired: Final[int] -RASCS_Connected: Final[int] -RASCS_Disconnected: Final[int] -RASEAPF_NonInteractive: Final[int] -RASEAPF_Logon: Final[int] -RASEAPF_Preview: Final[int] +RASCS_AllDevicesConnected: int +RASCS_AuthAck: int +RASCS_AuthCallback: int +RASCS_AuthChangePassword: int +RASCS_Authenticate: int +RASCS_Authenticated: int +RASCS_AuthLinkSpeed: int +RASCS_AuthNotify: int +RASCS_AuthProject: int +RASCS_AuthRetry: int +RASCS_CallbackComplete: int +RASCS_CallbackSetByCaller: int +RASCS_ConnectDevice: int +RASCS_Connected: int +RASCS_DeviceConnected: int +RASCS_Disconnected: int +RASCS_Interactive: int +RASCS_LogonNetwork: int +RASCS_OpenPort: int +RASCS_PasswordExpired: int +RASCS_PortOpened: int +RASCS_PrepareForCallback: int +RASCS_Projected: int +RASCS_ReAuthenticate: int +RASCS_RetryAuthentication: int +RASCS_StartAuthentication: int +RASCS_WaitForCallback: int +RASCS_WaitForModemReset: int + +def GetEapUserIdentity(phoneBook: str | None, entry: str, flags: int, hwnd: _win32typing.PyHANDLE | int | None = None, /): ... + +RASEAPF_Logon: int +RASEAPF_NonInteractive: int +RASEAPF_Preview: int diff --git a/stubs/rasterio/@tests/stubtest_allowlist.txt b/stubs/rasterio/@tests/stubtest_allowlist.txt index 4b4577f911be..ce1edb64708e 100644 --- a/stubs/rasterio/@tests/stubtest_allowlist.txt +++ b/stubs/rasterio/@tests/stubtest_allowlist.txt @@ -1,5 +1,6 @@ # Stubs-only helper modules with no runtime counterpart. rasterio\._typing +rasterio\._affine_types # Stubs-only type aliases referenced in signatures only. rasterio\.merge\.MethodFunction diff --git a/stubs/rasterio/METADATA.toml b/stubs/rasterio/METADATA.toml index 5aafc6e390ad..9988aeddf71d 100644 --- a/stubs/rasterio/METADATA.toml +++ b/stubs/rasterio/METADATA.toml @@ -1,4 +1,7 @@ -version = "1.5.1" +version = "1.5.*" upstream-repository = "https://github.com/rasterio/rasterio" requires-python = ">=3.12" -dependencies = ["numpy>=2", "click>=8", "affine>=3"] +dependencies = ["numpy>=2", "click>=8"] + +[tool.stubtest] +stubtest-dependencies = ["rasterio==1.5.*"] diff --git a/stubs/rasterio/rasterio/_affine_types.pyi b/stubs/rasterio/rasterio/_affine_types.pyi new file mode 100644 index 000000000000..bf462c70813f --- /dev/null +++ b/stubs/rasterio/rasterio/_affine_types.pyi @@ -0,0 +1,4 @@ +# Swap to `from affine import Affine as Affine` once affine ships `py.typed` (v3). +from typing import Any, TypeAlias + +Affine: TypeAlias = Any diff --git a/stubs/rasterio/rasterio/_base.pyi b/stubs/rasterio/rasterio/_base.pyi index 503fc835e84f..8a7b76903797 100644 --- a/stubs/rasterio/rasterio/_base.pyi +++ b/stubs/rasterio/rasterio/_base.pyi @@ -5,7 +5,7 @@ from types import TracebackType from typing import Any, Final from typing_extensions import Self, deprecated -from affine import Affine as Affine +from rasterio._affine_types import Affine from rasterio._path import _ParsedPath, _UnparsedPath from rasterio._typing import Colormap, CRSInput, _OpenOption from rasterio.control import GroundControlPoint @@ -55,7 +55,6 @@ class DatasetBase: def start(self) -> None: ... def stop(self) -> None: ... def close(self) -> None: ... - def __del__(self) -> None: ... @property def closed(self) -> bool: ... @property diff --git a/stubs/rasterio/rasterio/_io.pyi b/stubs/rasterio/rasterio/_io.pyi index bd0ce16ba759..671d0067b07f 100644 --- a/stubs/rasterio/rasterio/_io.pyi +++ b/stubs/rasterio/rasterio/_io.pyi @@ -4,8 +4,8 @@ from typing import Any, BinaryIO, Final from typing_extensions import Self, deprecated import numpy as np -from affine import Affine as Affine from numpy.typing import DTypeLike, NDArray +from rasterio._affine_types import Affine from rasterio._base import DatasetBase from rasterio._path import _ParsedPath, _UnparsedPath from rasterio._typing import Colormap, CRSInput, Indexes, NumType, ShapeND, WindowInput, _GDALOption, _OpenOption diff --git a/stubs/rasterio/rasterio/_typing.pyi b/stubs/rasterio/rasterio/_typing.pyi index a1011123b397..974afc3a8369 100644 --- a/stubs/rasterio/rasterio/_typing.pyi +++ b/stubs/rasterio/rasterio/_typing.pyi @@ -16,19 +16,13 @@ class _SupportsGeoInterface(Protocol): @property def __geo_interface__(self) -> Mapping[str, Any]: ... -@type_check_only -class _SupportsToWkt(Protocol): - def to_wkt(self) -> str: ... - # A GeoJSON-like mapping, or any object exposing one through the # `__geo_interface__` protocol (e.g. shapely / geopandas geometries). # The runtime unwraps `__geo_interface__` before use, so both forms are # accepted anywhere a geometry is expected. Geometry: TypeAlias = Mapping[str, Any] | _SupportsGeoInterface # noqa: Y047 Colormap: TypeAlias = dict[int, tuple[int, int, int] | tuple[int, int, int, int]] -# A WKT / PROJ string, an EPSG code, a PROJ dict, or any object exposing -# `to_wkt` (e.g. a pyproj CRS). `CRS.from_user_input` normalizes all of them. -CRSInput: TypeAlias = str | int | dict[str, str] | CRS | _SupportsToWkt +CRSInput: TypeAlias = str | dict[str, str] | CRS FileOrBytes: TypeAlias = BinaryIO | bytes Indexes: TypeAlias = int | Sequence[int] NumType: TypeAlias = int | float diff --git a/stubs/rasterio/rasterio/_warp.pyi b/stubs/rasterio/rasterio/_warp.pyi index a50b4e37564f..b98484b6fd62 100644 --- a/stubs/rasterio/rasterio/_warp.pyi +++ b/stubs/rasterio/rasterio/_warp.pyi @@ -1,15 +1,14 @@ from collections.abc import Sequence -from typing import Any, Final, overload -from typing_extensions import deprecated +from typing import Any, Final -from affine import Affine as Affine from numpy.typing import DTypeLike, NDArray -from rasterio._io import DatasetReaderBase, DatasetWriterBase +from rasterio._affine_types import Affine +from rasterio._io import DatasetReaderBase from rasterio._typing import CRSInput, Geometry, Indexes, ShapeND, WindowInput, _GDALOption, _NestedScalar from rasterio.control import GroundControlPoint from rasterio.crs import CRS -from rasterio.dtypes import dtype_ranges as dtype_ranges from rasterio.enums import Resampling +from rasterio.io import DatasetReader from rasterio.rpc import RPC SUPPORTED_RESAMPLING: Final[list[Resampling]] @@ -68,7 +67,7 @@ def _suggested_proxy_vrt_doc( ) -> str: ... class WarpedVRTReaderBase(DatasetReaderBase): - src_dataset: DatasetReaderBase + src_dataset: DatasetReader src_crs: CRS src_transform: Affine | None resampling: Resampling @@ -78,15 +77,9 @@ class WarpedVRTReaderBase(DatasetReaderBase): working_dtype: DTypeLike | None warp_extras: dict[str, _GDALOption] - @overload - @deprecated( - "Source datasets opened in modes other than 'r' emit a " - "RasterioDeprecationWarning and will be disallowed in a future rasterio " - "release; reopen the dataset read-only before wrapping it." - ) def __init__( self, - src_dataset: DatasetWriterBase, + src_dataset: DatasetReader, src_crs: CRSInput | None = None, crs: CRSInput | None = None, resampling: Resampling = ..., @@ -105,29 +98,6 @@ class WarpedVRTReaderBase(DatasetReaderBase): dtype: DTypeLike | None = None, **warp_extras: _GDALOption, ) -> None: ... - @overload - def __init__( - self, - src_dataset: DatasetReaderBase, - src_crs: CRSInput | None = None, - crs: CRSInput | None = None, - resampling: Resampling = ..., - tolerance: float = 0.125, - src_nodata: float | None = ..., - nodata: float | None = ..., - width: int | None = None, - height: int | None = None, - src_transform: Affine | None = None, - transform: Affine | None = None, - init_dest_nodata: bool = True, - src_alpha: int = 0, - dst_alpha: int = 0, - add_alpha: bool = False, - warp_mem_limit: int = 0, - dtype: DTypeLike | None = None, - **warp_extras: _GDALOption, - ) -> None: ... - def read( # type: ignore[override] self, indexes: Indexes | None = None, diff --git a/stubs/rasterio/rasterio/errors.pyi b/stubs/rasterio/rasterio/errors.pyi index 6e7425eb4fa7..c883864c3f86 100644 --- a/stubs/rasterio/rasterio/errors.pyi +++ b/stubs/rasterio/rasterio/errors.pyi @@ -16,7 +16,6 @@ class NodataShadowWarning(UserWarning): ... class NotGeoreferencedWarning(UserWarning): ... class TransformWarning(UserWarning): ... class RPCError(ValueError): ... -class InvalidShapeError(RasterioError, ValueError): ... class ShapeSkipWarning(UserWarning): ... class GDALBehaviorChangeException(RuntimeError): ... class GDALOptionNotImplementedError(RasterioError): ... diff --git a/stubs/rasterio/rasterio/features.pyi b/stubs/rasterio/rasterio/features.pyi index 303ca1f3de5e..d3689801f08e 100644 --- a/stubs/rasterio/rasterio/features.pyi +++ b/stubs/rasterio/rasterio/features.pyi @@ -5,8 +5,8 @@ from typing import Any, Final, overload from typing_extensions import deprecated import numpy as np -from affine import Affine as Affine from numpy.typing import DTypeLike, NDArray +from rasterio._affine_types import Affine from rasterio._typing import Geometry as Geometry from rasterio.enums import MergeAlg as MergeAlg from rasterio.io import DatasetReaderBase diff --git a/stubs/rasterio/rasterio/io.pyi b/stubs/rasterio/rasterio/io.pyi index c4308f98628a..ad52b80ed0a7 100644 --- a/stubs/rasterio/rasterio/io.pyi +++ b/stubs/rasterio/rasterio/io.pyi @@ -3,8 +3,8 @@ from types import TracebackType from typing import Any, Final from typing_extensions import Self, deprecated -from affine import Affine as Affine from numpy.typing import DTypeLike +from rasterio._affine_types import Affine from rasterio._filepath import FilePathBase as FilePathBase from rasterio._io import ( BufferedDatasetWriterBase as BufferedDatasetWriterBase, diff --git a/stubs/rasterio/rasterio/mask.pyi b/stubs/rasterio/rasterio/mask.pyi index e0259b0c1d42..016f621c567f 100644 --- a/stubs/rasterio/rasterio/mask.pyi +++ b/stubs/rasterio/rasterio/mask.pyi @@ -2,8 +2,8 @@ import logging from collections.abc import Iterable from typing import Any, Final -from affine import Affine as Affine from numpy.typing import NDArray +from rasterio._affine_types import Affine from rasterio._typing import Geometry from rasterio.errors import WindowError as WindowError from rasterio.features import geometry_mask as geometry_mask, geometry_window as geometry_window diff --git a/stubs/rasterio/rasterio/merge.pyi b/stubs/rasterio/rasterio/merge.pyi index e9713eb21dcb..d9d767d53c2e 100644 --- a/stubs/rasterio/rasterio/merge.pyi +++ b/stubs/rasterio/rasterio/merge.pyi @@ -4,8 +4,8 @@ from collections.abc import Callable, Sequence from typing import Any, Final, Literal, TypeAlias, overload from typing_extensions import deprecated -from affine import Affine as Affine from numpy.typing import DTypeLike, NDArray +from rasterio._affine_types import Affine from rasterio.enums import Resampling from rasterio.io import DatasetReaderBase diff --git a/stubs/rasterio/rasterio/plot.pyi b/stubs/rasterio/rasterio/plot.pyi index a407bb686479..80815180dac1 100644 --- a/stubs/rasterio/rasterio/plot.pyi +++ b/stubs/rasterio/rasterio/plot.pyi @@ -2,8 +2,8 @@ import logging from collections.abc import Mapping, Sequence from typing import Any, Final, Literal -from affine import Affine as Affine from numpy.typing import NDArray +from rasterio._affine_types import Affine from rasterio.io import DatasetReader as DatasetReader from rasterio.transform import guard_transform as guard_transform @@ -25,7 +25,7 @@ def show( title: str | None = None, transform: Affine | None = None, percent_range: tuple[float, float] | None = None, - adjust: bool = False, + adjust: bool = True, **kwargs: Any, ) -> Any: ... def plotting_extent( diff --git a/stubs/rasterio/rasterio/serde.pyi b/stubs/rasterio/rasterio/serde.pyi deleted file mode 100644 index fa06f4908611..000000000000 --- a/stubs/rasterio/rasterio/serde.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from functools import singledispatch - -@singledispatch -def to_json(obj: object) -> object: ... diff --git a/stubs/rasterio/rasterio/stack.pyi b/stubs/rasterio/rasterio/stack.pyi index 307ffa1a5b64..68680ffe9b1e 100644 --- a/stubs/rasterio/rasterio/stack.pyi +++ b/stubs/rasterio/rasterio/stack.pyi @@ -3,8 +3,8 @@ import os from collections.abc import Sequence from typing import Any, Final -from affine import Affine as Affine from numpy.typing import DTypeLike, NDArray +from rasterio._affine_types import Affine from rasterio.enums import Resampling from rasterio.io import DatasetReaderBase diff --git a/stubs/rasterio/rasterio/transform.pyi b/stubs/rasterio/rasterio/transform.pyi index 7a365f1a66d5..f6aae2f7f098 100644 --- a/stubs/rasterio/rasterio/transform.pyi +++ b/stubs/rasterio/rasterio/transform.pyi @@ -2,7 +2,7 @@ from collections.abc import Callable, Sequence from typing import Final, Literal, TypeAlias, overload from typing_extensions import Self, deprecated -from affine import Affine as Affine +from rasterio._affine_types import Affine as Affine from rasterio._transform import GCPTransformerBase, RPCTransformerBase from rasterio._typing import _GDALOption from rasterio.control import GroundControlPoint diff --git a/stubs/rasterio/rasterio/warp.pyi b/stubs/rasterio/rasterio/warp.pyi index ffd58099a02f..09e4a86ca08d 100644 --- a/stubs/rasterio/rasterio/warp.pyi +++ b/stubs/rasterio/rasterio/warp.pyi @@ -3,8 +3,8 @@ from collections.abc import Mapping, Sequence from typing import Any, Final, TypeAlias, overload from typing_extensions import deprecated -from affine import Affine as Affine from numpy.typing import ArrayLike, NDArray +from rasterio._affine_types import Affine from rasterio._typing import CRSInput, Geometry, _GDALOption from rasterio.control import GroundControlPoint from rasterio.enums import Resampling @@ -60,7 +60,6 @@ def reproject( resampling: Resampling = ..., num_threads: int = 1, init_dest_nodata: bool = True, - tolerance: float = 0.125, warp_mem_limit: int = 0, src_geoloc_array: NDArray[Any] | None = None, **kwargs: _GDALOption, diff --git a/stubs/rasterio/rasterio/windows.pyi b/stubs/rasterio/rasterio/windows.pyi index c5c80b9861f9..bead643d3f08 100644 --- a/stubs/rasterio/rasterio/windows.pyi +++ b/stubs/rasterio/rasterio/windows.pyi @@ -2,8 +2,8 @@ from collections.abc import Callable, Sequence from typing import Any, TypeAlias, overload from typing_extensions import Self, deprecated -from affine import Affine as Affine from numpy.typing import NDArray +from rasterio._affine_types import Affine from rasterio.errors import RasterioDeprecationWarning as RasterioDeprecationWarning, WindowError as WindowError _Bounds: TypeAlias = tuple[float, float, float, float] diff --git a/stubs/regex/METADATA.toml b/stubs/regex/METADATA.toml index 4348aa29e22c..26ff2e9225a9 100644 --- a/stubs/regex/METADATA.toml +++ b/stubs/regex/METADATA.toml @@ -1,2 +1,2 @@ -version = "2026.9.10" +version = "2026.7.19" upstream-repository = "https://github.com/mrabarnett/mrab-regex" diff --git a/stubs/regex/regex/_main.pyi b/stubs/regex/regex/_main.pyi index 0e38ec3cad27..2a77bafd9fa0 100644 --- a/stubs/regex/regex/_main.pyi +++ b/stubs/regex/regex/_main.pyi @@ -746,8 +746,8 @@ class Match(Generic[AnyStr]): def capturesdict(self) -> dict[str, list[AnyStr]]: ... def detach_string(self) -> None: ... - def allcaptures(self) -> tuple[list[AnyStr], ...]: ... - def allspans(self) -> tuple[list[tuple[int, int]], ...]: ... + def allcaptures(self) -> tuple[list[AnyStr]]: ... + def allspans(self) -> tuple[list[tuple[int, int]]]: ... @overload def __getitem__(self, key: Literal[0], /) -> AnyStr: ... diff --git a/stubs/reportlab/@tests/stubtest_allowlist.txt b/stubs/reportlab/@tests/stubtest_allowlist.txt index 2b0026f6730c..037ecc58aece 100644 --- a/stubs/reportlab/@tests/stubtest_allowlist.txt +++ b/stubs/reportlab/@tests/stubtest_allowlist.txt @@ -19,7 +19,7 @@ reportlab.pdfbase.ttfonts.shapeFragWord # to get less noise from derived classes that don't have these parameters reportlab\.platypus\.(doctemplate\.|flowables\.)?[A-Za-z_]+\.drawOn -# similarly the wrap/split methods use inconsistent names for their +# similary the wrap/split methods use inconsistent names for their # parameters, so we decided to make them positional-only reportlab.graphics.shapes.Drawing.wrap reportlab\.platypus\.(doctemplate\.|flowables\.|tableofcontents\.)?[A-Za-z_]+\.split @@ -43,7 +43,7 @@ reportlab.platypus.flowables._ContainerSpace.getSpaceBefore # we've decided to just get rid of the argument in the stub entirely reportlab.platypus.frames.Frame.drawBoundary -# this is just a case-insensitive version of dict and changes in parameter +# this is just a case-insenstive version of dict and changes in parameter # names and them changing from positional-only to keyword or positional # is entirely untintentional, for simplicity we assume these methods # work the same as in the base class, there is only one exception diff --git a/stubs/reportlab/METADATA.toml b/stubs/reportlab/METADATA.toml index 76eaaf6e7ca3..a01438bb6bca 100644 --- a/stubs/reportlab/METADATA.toml +++ b/stubs/reportlab/METADATA.toml @@ -1,4 +1,4 @@ -version = "5.0.0" +version = "4.5.1" # GitHub mirror of https://hg.reportlab.com/hg-public/reportlab/file upstream-repository = "https://github.com/MrBitBucket/reportlab-mirror" diff --git a/stubs/reportlab/reportlab/lib/__init__.pyi b/stubs/reportlab/reportlab/lib/__init__.pyi index f2c66be57c66..88939e7e7871 100644 --- a/stubs/reportlab/reportlab/lib/__init__.pyi +++ b/stubs/reportlab/reportlab/lib/__init__.pyi @@ -1,4 +1,4 @@ from typing import Final __version__: Final[str] -RL_DEBUG: Final[bool] # initialised based on env +RL_DEBUG: Final[bool] # initalized based on env diff --git a/stubs/reportlab/reportlab/lib/rparsexml.pyi b/stubs/reportlab/reportlab/lib/rparsexml.pyi index bbfc9002a478..5feac4c061e5 100644 --- a/stubs/reportlab/reportlab/lib/rparsexml.pyi +++ b/stubs/reportlab/reportlab/lib/rparsexml.pyi @@ -2,6 +2,7 @@ from _typeshed import FileDescriptorOrPath, Unused from collections.abc import Iterable from typing import Final, type_check_only +RequirePyRXP: int simpleparse: int @type_check_only diff --git a/stubs/reportlab/reportlab/platypus/flowables.pyi b/stubs/reportlab/reportlab/platypus/flowables.pyi index d3d0da2ed876..893d705c3b0d 100644 --- a/stubs/reportlab/reportlab/platypus/flowables.pyi +++ b/stubs/reportlab/reportlab/platypus/flowables.pyi @@ -66,7 +66,7 @@ _NestedFlowable: TypeAlias = Flowable | Sequence[_NestedFlowable] @type_check_only class _StyledFlowableFactory(Protocol): - # NOTE: We leave style at Any so people can specify a specific property set + # NOTE: We leave style at Any so people can specify a specifc property set def __call__(self, value: str, /, *, style: Any) -> Flowable: ... class TraceInfo: @@ -147,7 +147,7 @@ class Image(Flowable): def __init__( self, # TODO: I think this might also accept a PIL.Image and other - # kinds of path representations, should be kept in sync + # kinds of path represenations, should be kept in sync # with reportlab.lib.utils.ImageReader, except for the # potential PIL.Image shortcut filename: str | SupportsRead[bytes] | Incomplete, diff --git a/stubs/requests-oauthlib/requests_oauthlib/oauth1_session.pyi b/stubs/requests-oauthlib/requests_oauthlib/oauth1_session.pyi index b7222d75de27..fcbfdb73cfb3 100644 --- a/stubs/requests-oauthlib/requests_oauthlib/oauth1_session.pyi +++ b/stubs/requests-oauthlib/requests_oauthlib/oauth1_session.pyi @@ -1,6 +1,6 @@ from _typeshed import Incomplete from logging import Logger -from typing import Any, TypeAlias, TypedDict, type_check_only +from typing import TypeAlias, TypedDict, type_check_only import requests from oauthlib.oauth1 import Client @@ -48,12 +48,9 @@ class OAuth1Session(requests.Session): client_class: type[Client] | None = None, force_include_body: bool = False, *, - decoding: str | None = "utf-8", - realm=None, encoding: str = "utf-8", nonce=None, timestamp=None, - **kwargs: Any, # passed to client_class's __init__ ) -> None: ... @property diff --git a/stubs/requests/requests/hooks.pyi b/stubs/requests/requests/hooks.pyi index 73bef16cda1c..f706016ca386 100644 --- a/stubs/requests/requests/hooks.pyi +++ b/stubs/requests/requests/hooks.pyi @@ -1,6 +1,6 @@ from typing import Any -HOOKS: list[str] +HOOKS: Any -def default_hooks() -> dict[str, list[Any]]: ... +def default_hooks(): ... def dispatch_hook(key, hooks, hook_data, **kwargs): ... diff --git a/stubs/requests/requests/models.pyi b/stubs/requests/requests/models.pyi index 0a598e596df7..0e85e09a6a8f 100644 --- a/stubs/requests/requests/models.pyi +++ b/stubs/requests/requests/models.pyi @@ -45,10 +45,10 @@ super_len = utils.super_len to_native_string = utils.to_native_string codes = status_codes.codes -REDIRECT_STATI: tuple[int, ...] -DEFAULT_REDIRECT_LIMIT: int -CONTENT_CHUNK_SIZE: int -ITER_CHUNK_SIZE: int +REDIRECT_STATI: Incomplete +DEFAULT_REDIRECT_LIMIT: Incomplete +CONTENT_CHUNK_SIZE: Incomplete +ITER_CHUNK_SIZE: Incomplete class RequestEncodingMixin: @property @@ -164,6 +164,6 @@ class Response: **kwds: Any, ) -> Any: ... @property - def links(self) -> dict[str, dict[str, str]]: ... + def links(self) -> dict[Incomplete, Incomplete]: ... def raise_for_status(self) -> None: ... def close(self) -> None: ... diff --git a/stubs/requests/requests/utils.pyi b/stubs/requests/requests/utils.pyi index 87b608d7245b..ecd3536463cf 100644 --- a/stubs/requests/requests/utils.pyi +++ b/stubs/requests/requests/utils.pyi @@ -1,5 +1,5 @@ import sys -from _typeshed import StrOrBytesPath +from _typeshed import Incomplete, StrOrBytesPath from collections.abc import Generator, Iterable, Mapping from contextlib import _GeneratorContextManager from io import BufferedWriter @@ -15,7 +15,7 @@ CaseInsensitiveDict = structures.CaseInsensitiveDict InvalidURL = exceptions.InvalidURL NETRC_FILES: tuple[str, str] -DEFAULT_CA_BUNDLE_PATH: str +DEFAULT_CA_BUNDLE_PATH: Incomplete DEFAULT_PORTS: dict[str, int] DEFAULT_ACCEPT_ENCODING: str @@ -48,7 +48,7 @@ def is_ipv4_address(string_ip: str) -> bool: ... def is_valid_cidr(string_network: str) -> bool: ... def set_environ(env_name: str, value: None) -> _GeneratorContextManager[None]: ... def should_bypass_proxies(url: _Uri, no_proxy: str | None) -> bool: ... -def get_environ_proxies(url: _Uri, no_proxy: Iterable[str] | None = None) -> dict[str, str]: ... +def get_environ_proxies(url: _Uri, no_proxy: Iterable[str] | None = None) -> dict[Incomplete, Incomplete]: ... def select_proxy(url: _Uri, proxies: Mapping[str, str] | None) -> str | None: ... def resolve_proxies( request: Request | PreparedRequest, proxies: dict[str, str] | None, trust_env: bool = True diff --git a/stubs/setuptools/@tests/stubtest_allowlist.txt b/stubs/setuptools/@tests/stubtest_allowlist.txt index f1daacd06921..ec19bc003004 100644 --- a/stubs/setuptools/@tests/stubtest_allowlist.txt +++ b/stubs/setuptools/@tests/stubtest_allowlist.txt @@ -1,6 +1,9 @@ # Is a functools.partial, so stubtest says "is not a function" setuptools._distutils._modified.newer_pairwise_group +# Runtime initializes to None, but this really should never be None when used +setuptools._distutils.compilers.C.base.Compiler.compiler_type + # Dynamically created in __init__ setuptools._distutils.dist.Distribution.get_name setuptools._distutils.dist.Distribution.get_version @@ -34,6 +37,7 @@ setuptools._distutils.command.install.INSTALL_SCHEMES setuptools._distutils.command.install.SCHEME_KEYS setuptools._distutils.command.install.WINDOWS_SCHEME setuptools._distutils.command.install_lib.PYTHON_SOURCE_EXTENSION +setuptools._distutils.dir_util.SkipRepeatAbsolutePaths.instance setuptools._distutils.dist.fix_help_options setuptools._distutils.extension.read_setup_file setuptools._distutils.filelist.findall @@ -49,10 +53,10 @@ setuptools._distutils.sysconfig.parse_config_h setuptools._distutils.sysconfig.parse_makefile setuptools._distutils.sysconfig.project_base setuptools._distutils.sysconfig.python_build +setuptools._distutils.util.MACOSX_VERSION_VAR # Missing submodules from setuptools._distutils # (Many of these may be implementation details, -# in an already private vendored module, # but they can be added if people ask for them) setuptools._distutils.command.__all__ setuptools._distutils.command.bdist_dumb @@ -62,12 +66,11 @@ setuptools._distutils.command.clean setuptools._distutils.command.config setuptools._distutils.command.install_egg_info setuptools._distutils.command.install_headers -setuptools._distutils.compat.* +setuptools._distutils.compat.numpy +setuptools._distutils.compat.py39 setuptools._distutils.core setuptools._distutils.debug -setuptools._distutils.dir_util setuptools._distutils.fancy_getopt -setuptools._distutils.file_util setuptools._distutils.log setuptools._distutils.text_file setuptools._distutils.version.Version._cmp # abstract method @@ -82,3 +85,4 @@ distutils\..+ setuptools.config._validate_pyproject.* setuptools.compat.* setuptools.command.build_py.build_py.existing_egg_info_dir +.+?\.tests.* diff --git a/stubs/setuptools/METADATA.toml b/stubs/setuptools/METADATA.toml index f7ba41591377..2354f4fa48e2 100644 --- a/stubs/setuptools/METADATA.toml +++ b/stubs/setuptools/METADATA.toml @@ -1,4 +1,4 @@ -version = "84.0.*" +version = "83.0.*" upstream-repository = "https://github.com/pypa/setuptools" extra-description = """\ Given that `pkg_resources` is typed since `setuptools >= 71.1`, \ @@ -11,9 +11,6 @@ ci-platforms = ["linux", "win32"] stubtest-dependencies = ["more_itertools", "tomli"] # Stubtest fails on trying to run mypy on the source files rather than our stubs -[mypy-tests.distutils1] +[mypy-tests.distutils] module-name = "setuptools._distutils.compilers.C.*" values = { ignore_errors = true } -[mypy-tests.distutils2] -module-name = "setuptools._distutils.compilers.platform.detect" -values = { ignore_errors = true } diff --git a/stubs/setuptools/distutils/compat/__init__.pyi b/stubs/setuptools/distutils/compat/__init__.pyi new file mode 100644 index 000000000000..bbcbf9cc1f7a --- /dev/null +++ b/stubs/setuptools/distutils/compat/__init__.pyi @@ -0,0 +1 @@ +from setuptools._distutils.compat import * diff --git a/stubs/setuptools/distutils/compilers/errors.pyi b/stubs/setuptools/distutils/compilers/errors.pyi deleted file mode 100644 index ab573602be36..000000000000 --- a/stubs/setuptools/distutils/compilers/errors.pyi +++ /dev/null @@ -1 +0,0 @@ -from setuptools._distutils.compilers.errors import * diff --git a/stubs/setuptools/distutils/compilers/platform/detect.pyi b/stubs/setuptools/distutils/compilers/platform/detect.pyi deleted file mode 100644 index aaf32add0a26..000000000000 --- a/stubs/setuptools/distutils/compilers/platform/detect.pyi +++ /dev/null @@ -1 +0,0 @@ -from setuptools._distutils.compilers.platform.detect import * diff --git a/stubs/setuptools/distutils/compilers/platform/macos.pyi b/stubs/setuptools/distutils/compilers/platform/macos.pyi deleted file mode 100644 index 5d87f38778dd..000000000000 --- a/stubs/setuptools/distutils/compilers/platform/macos.pyi +++ /dev/null @@ -1 +0,0 @@ -from setuptools._distutils.compilers.platform.macos import * diff --git a/stubs/setuptools/setuptools/_distutils/ccompiler.pyi b/stubs/setuptools/setuptools/_distutils/ccompiler.pyi index f63dfd6e9ec4..cbb794e101a0 100644 --- a/stubs/setuptools/setuptools/_distutils/ccompiler.pyi +++ b/stubs/setuptools/setuptools/_distutils/ccompiler.pyi @@ -1,5 +1,5 @@ from .compilers.C import base -from .compilers.C.base import gen_lib_options, gen_preprocess_options, get_default_compiler, new_compiler +from .compilers.C.base import gen_lib_options, gen_preprocess_options, get_default_compiler, new_compiler, show_compilers from .compilers.C.errors import CompileError, LinkError __all__ = [ @@ -13,5 +13,3 @@ __all__ = [ ] CCompiler = base.Compiler - -def show_compilers() -> None: ... diff --git a/stubs/setuptools/setuptools/_distutils/cmd.pyi b/stubs/setuptools/setuptools/_distutils/cmd.pyi index 272bf0ba7c0c..879a0858d97d 100644 --- a/stubs/setuptools/setuptools/_distutils/cmd.pyi +++ b/stubs/setuptools/setuptools/_distutils/cmd.pyi @@ -1,7 +1,7 @@ from _typeshed import BytesPath, StrOrBytesPath, StrPath, Unused from abc import abstractmethod -from collections.abc import Callable, Sequence -from typing import Any, ClassVar, TypeVar, overload +from collections.abc import Callable, MutableSequence, Sequence +from typing import Any, ClassVar, Literal, TypeVar, overload from typing_extensions import TypeVarTuple, Unpack from .dist import Distribution @@ -20,10 +20,6 @@ class Command: list[tuple[str, str, str]] | list[tuple[str, str | None, str]] ] - verbose: bool - force: bool | None - help: bool - finalized: bool def __init__(self, dist: Distribution) -> None: ... def ensure_finalized(self) -> None: ... @abstractmethod @@ -93,7 +89,10 @@ class Command: @overload def move_file(self, src: BytesPath, dst: _BytesPathT, level: Unused = 1) -> _BytesPathT | bytes: ... - def spawn(self, cmd: Sequence[StrOrBytesPath], search_path: Unused = True, level: Unused = 1) -> None: ... + @overload + def spawn(self, cmd: Sequence[StrOrBytesPath], search_path: Literal[False], level: Unused = 1) -> None: ... + @overload + def spawn(self, cmd: MutableSequence[bytes | StrPath], search_path: Literal[True] = True, level: Unused = 1) -> None: ... @overload def make_archive( diff --git a/stubs/setuptools/setuptools/_distutils/command/build_ext.pyi b/stubs/setuptools/setuptools/_distutils/command/build_ext.pyi index 91a7ba47b1db..a37eb6d17c55 100644 --- a/stubs/setuptools/setuptools/_distutils/command/build_ext.pyi +++ b/stubs/setuptools/setuptools/_distutils/command/build_ext.pyi @@ -2,7 +2,6 @@ from _typeshed import Incomplete, Unused from collections.abc import Callable from typing import ClassVar -from ..ccompiler import CCompiler from ..cmd import Command from ..extension import Extension @@ -12,27 +11,27 @@ class build_ext(Command): user_options: ClassVar[list[tuple[str, str | None, str]]] boolean_options: ClassVar[list[str]] help_options: ClassVar[list[tuple[str, str | None, str, Callable[[], Unused]]]] - extensions: list[Extension] | None - build_lib: str - plat_name: str - build_temp: str + extensions: Incomplete + build_lib: Incomplete + plat_name: Incomplete + build_temp: Incomplete inplace: bool - package: str | None - include_dirs: list[str] + package: Incomplete + include_dirs: Incomplete define: Incomplete undef: Incomplete - libraries: list[str] - library_dirs: list[str] - rpath: list[str] + libraries: Incomplete + library_dirs: Incomplete + rpath: Incomplete link_objects: Incomplete debug: Incomplete - force: bool | None - compiler: str | CCompiler | None + force: Incomplete + compiler: Incomplete swig: Incomplete swig_cpp: Incomplete - swig_opts: list[str] + swig_opts: Incomplete user: Incomplete - parallel: int | None + parallel: Incomplete def initialize_options(self) -> None: ... def finalize_options(self) -> None: ... def run(self) -> None: ... diff --git a/stubs/setuptools/setuptools/_distutils/command/install.pyi b/stubs/setuptools/setuptools/_distutils/command/install.pyi index 02d63c8f7518..77d083545d05 100644 --- a/stubs/setuptools/setuptools/_distutils/command/install.pyi +++ b/stubs/setuptools/setuptools/_distutils/command/install.pyi @@ -13,8 +13,8 @@ class install(Command): exec_prefix: Incomplete home: str | None user: bool - install_base: str | None - install_platbase: str | None + install_base: Incomplete + install_platbase: Incomplete root: str | None install_purelib: str | None install_platlib: str | None diff --git a/stubs/setuptools/setuptools/_distutils/compat/__init__.pyi b/stubs/setuptools/setuptools/_distutils/compat/__init__.pyi new file mode 100644 index 000000000000..7325c194f699 --- /dev/null +++ b/stubs/setuptools/setuptools/_distutils/compat/__init__.pyi @@ -0,0 +1,6 @@ +from collections.abc import Iterable +from typing import TypeVar + +_IterableT = TypeVar("_IterableT", bound=Iterable[str]) + +def consolidate_linker_args(args: _IterableT) -> _IterableT | str: ... diff --git a/stubs/setuptools/setuptools/_distutils/compilers/C/base.pyi b/stubs/setuptools/setuptools/_distutils/compilers/C/base.pyi index 05fb8399721e..041c2ef772c0 100644 --- a/stubs/setuptools/setuptools/_distutils/compilers/C/base.pyi +++ b/stubs/setuptools/setuptools/_distutils/compilers/C/base.pyi @@ -1,5 +1,5 @@ from _typeshed import BytesPath, Incomplete, StrOrBytesPath, StrPath, Unused -from collections.abc import Callable, Iterable, Sequence +from collections.abc import Callable, Iterable, MutableSequence, Sequence from subprocess import _ENV from typing import ClassVar, Final, Literal, TypeAlias, TypeVar, overload from typing_extensions import TypeVarTuple, Unpack, deprecated @@ -11,7 +11,6 @@ _Ts = TypeVarTuple("_Ts") class Compiler: compiler_type: ClassVar[str] - description: ClassVar[str] executables: ClassVar[dict[str, Incomplete]] # Subclasses that rely on the standard filename generation methods @@ -73,8 +72,6 @@ class Compiler: def library_dir_option(self, dir: str) -> str: ... def library_option(self, lib: str) -> str: ... def runtime_library_dir_option(self, dir: str) -> str | list[str]: ... - def initialize(self, plat_name: str | None = None) -> None: ... - def configure_system(self) -> None: ... def set_executables(self, **kwargs: str) -> None: ... def set_executable(self, key: str, value) -> None: ... def compile( @@ -187,8 +184,14 @@ class Compiler: def execute( self, func: Callable[[Unpack[_Ts]], Unused], args: tuple[Unpack[_Ts]], msg: str | None = None, level: int = 1 ) -> None: ... - def call(self, cmd: Sequence[StrOrBytesPath], *, env: _ENV | None = None, **kwargs) -> None: ... - def spawn(self, cmd: Sequence[StrOrBytesPath], *, env: _ENV | None = None, **kwargs) -> None: ... + + @overload + def spawn(self, cmd: Sequence[StrOrBytesPath], *, search_path: Literal[False], env: _ENV | None = None) -> None: ... + @overload + def spawn( + self, cmd: MutableSequence[bytes | StrPath], *, search_path: Literal[True] = True, env: _ENV | None = None + ) -> None: ... + def mkpath(self, name: str, mode: int = 0o777) -> None: ... @overload @@ -205,7 +208,6 @@ def get_default_compiler(osname: str | None = None, platform: str | None = None) compiler_class: dict[str, tuple[str, str, str]] def show_compilers() -> None: ... -def get_compilers() -> dict[str, type[Compiler]]: ... def new_compiler( plat: str | None = None, compiler: str | None = None, verbose: bool = False, force: bool = False ) -> Compiler: ... diff --git a/stubs/setuptools/setuptools/_distutils/compilers/C/cygwin.pyi b/stubs/setuptools/setuptools/_distutils/compilers/C/cygwin.pyi index 62469a25df49..14fd3bdc641c 100644 --- a/stubs/setuptools/setuptools/_distutils/compilers/C/cygwin.pyi +++ b/stubs/setuptools/setuptools/_distutils/compilers/C/cygwin.pyi @@ -11,7 +11,6 @@ def get_msvcr() -> list[str]: ... class Compiler(unix.Compiler): compiler_type: ClassVar[str] - description: ClassVar[str] obj_extension: ClassVar[str] static_lib_extension: ClassVar[str] shared_lib_extension: ClassVar[str] @@ -56,9 +55,7 @@ class Compiler(unix.Compiler): class MinGW32Compiler(Compiler): compiler_type: ClassVar[str] - description: ClassVar[str] def __init__(self, verbose: bool = False, force: bool = False) -> None: ... - def configure_system(self) -> None: ... def runtime_library_dir_option(self, dir: str) -> Never: ... CONFIG_H_OK: Final = "ok" diff --git a/stubs/setuptools/setuptools/_distutils/compilers/C/errors.pyi b/stubs/setuptools/setuptools/_distutils/compilers/C/errors.pyi index 280e85790683..5c3cf1e9f0c6 100644 --- a/stubs/setuptools/setuptools/_distutils/compilers/C/errors.pyi +++ b/stubs/setuptools/setuptools/_distutils/compilers/C/errors.pyi @@ -1,6 +1,6 @@ -from ..errors import Error - +class Error(Exception): ... class PreprocessError(Error): ... class CompileError(Error): ... class LibError(Error): ... class LinkError(Error): ... +class UnknownFileType(Error): ... diff --git a/stubs/setuptools/setuptools/_distutils/compilers/C/msvc.pyi b/stubs/setuptools/setuptools/_distutils/compilers/C/msvc.pyi index 5631b5ca4f56..ef06b85f4d74 100644 --- a/stubs/setuptools/setuptools/_distutils/compilers/C/msvc.pyi +++ b/stubs/setuptools/setuptools/_distutils/compilers/C/msvc.pyi @@ -1,4 +1,4 @@ -from _typeshed import StrOrBytesPath +from _typeshed import StrPath from collections.abc import Sequence from typing import ClassVar, Final @@ -7,8 +7,6 @@ from . import base PLAT_SPEC_TO_RUNTIME: Final[dict[str, str]] class Compiler(base.Compiler): - compiler_type: ClassVar[str] - description: ClassVar[str] src_extensions: ClassVar[list[str]] res_extension: ClassVar[str] obj_extension: ClassVar[str] @@ -22,4 +20,4 @@ class Compiler(base.Compiler): def initialize(self, plat_name: str | None = None) -> None: ... @property def out_extensions(self) -> dict[str, str]: ... - def call(self, cmd: Sequence[StrOrBytesPath], *, env=None, **kwargs) -> None: ... + def spawn(self, cmd: Sequence[bytes | StrPath]): ... # type: ignore[override] # Less params diff --git a/stubs/setuptools/setuptools/_distutils/compilers/C/unix.pyi b/stubs/setuptools/setuptools/_distutils/compilers/C/unix.pyi index 7b54ecbdcac8..2e78f191dd55 100644 --- a/stubs/setuptools/setuptools/_distutils/compilers/C/unix.pyi +++ b/stubs/setuptools/setuptools/_distutils/compilers/C/unix.pyi @@ -3,8 +3,6 @@ from typing import ClassVar from . import base class Compiler(base.Compiler): - compiler_type: ClassVar[str] - description: ClassVar[str] src_extensions: ClassVar[list[str]] obj_extension: ClassVar[str] static_lib_extension: ClassVar[str] @@ -15,5 +13,4 @@ class Compiler(base.Compiler): shared_lib_format: ClassVar[str] dylib_lib_format: ClassVar[str] xcode_stub_lib_format: ClassVar[str] - def configure_system(self) -> None: ... def runtime_library_dir_option(self, dir: str) -> str | list[str]: ... # type: ignore[override] diff --git a/stubs/setuptools/setuptools/_distutils/compilers/C/zos.pyi b/stubs/setuptools/setuptools/_distutils/compilers/C/zos.pyi index 1db69f4cdca8..d948cbbf8056 100644 --- a/stubs/setuptools/setuptools/_distutils/compilers/C/zos.pyi +++ b/stubs/setuptools/setuptools/_distutils/compilers/C/zos.pyi @@ -5,8 +5,6 @@ from typing import ClassVar, Literal from . import unix class Compiler(unix.Compiler): - compiler_type: ClassVar[str] - description: ClassVar[str] src_extensions: ClassVar[list[str]] zos_compiler: Literal["ibm-openxl", "ibm-xlclang", "ibm-xlc"] def __init__(self, verbose: bool = False, force: bool = False) -> None: ... diff --git a/stubs/setuptools/setuptools/_distutils/compilers/errors.pyi b/stubs/setuptools/setuptools/_distutils/compilers/errors.pyi deleted file mode 100644 index 287be1b8200d..000000000000 --- a/stubs/setuptools/setuptools/_distutils/compilers/errors.pyi +++ /dev/null @@ -1,3 +0,0 @@ -class Error(Exception): ... -class UnknownFileType(Error): ... -class PlatformError(Error): ... diff --git a/stubs/setuptools/setuptools/_distutils/compilers/platform/detect.pyi b/stubs/setuptools/setuptools/_distutils/compilers/platform/detect.pyi deleted file mode 100644 index 1b890d82eadf..000000000000 --- a/stubs/setuptools/setuptools/_distutils/compilers/platform/detect.pyi +++ /dev/null @@ -1,3 +0,0 @@ -def get_host_platform() -> str: ... -def get_platform() -> str: ... -def is_mingw() -> bool: ... diff --git a/stubs/setuptools/setuptools/_distutils/compilers/platform/macos.pyi b/stubs/setuptools/setuptools/_distutils/compilers/platform/macos.pyi deleted file mode 100644 index 22da842310bb..000000000000 --- a/stubs/setuptools/setuptools/_distutils/compilers/platform/macos.pyi +++ /dev/null @@ -1,11 +0,0 @@ -from collections.abc import Mapping -from typing import Any, Final, TypeVar - -_MappingT = TypeVar("_MappingT", bound=Mapping[Any, Any]) - -VERSION_VAR: Final = "MACOSX_DEPLOYMENT_TARGET" - -def customize_compiler(config_vars) -> None: ... -def _target_ver_from_syscfg(): ... -def target_ver() -> str | None: ... -def inject_ver(env: _MappingT | None) -> _MappingT | dict[str, str | int] | None: ... diff --git a/stubs/setuptools/setuptools/_distutils/dist.pyi b/stubs/setuptools/setuptools/_distutils/dist.pyi index fe8c517c3a46..664c33f71a46 100644 --- a/stubs/setuptools/setuptools/_distutils/dist.pyi +++ b/stubs/setuptools/setuptools/_distutils/dist.pyi @@ -1,5 +1,5 @@ from _typeshed import Incomplete, StrOrBytesPath, StrPath, SupportsWrite -from collections.abc import Iterable, Mapping, MutableMapping +from collections.abc import Iterable, MutableMapping from re import Pattern from typing import IO, ClassVar, Literal, TypeAlias, TypeVar, overload @@ -81,16 +81,16 @@ class Distribution: dist_files: list[tuple[str, str, str]] packages: list[str] | None package_data: dict[str, list[str]] - package_dir: Mapping[str, str] | None + package_dir: dict[str, str] | None py_modules: list[str] | None - libraries: list[tuple[str, dict[str, Incomplete]]] | None - headers: list[str] | None + libraries: Incomplete + headers: Incomplete ext_modules: list[Extension] | None - ext_package: str | None - include_dirs: list[str] | None + ext_package: Incomplete + include_dirs: Incomplete extra_path: Incomplete - scripts: list[str] | None - data_files: list[tuple[str, list[str]]] | None + scripts: Incomplete + data_files: list[str | tuple[Incomplete, ...]] | None password: str command_obj: dict[str, Command] have_run: dict[str, bool] diff --git a/stubs/setuptools/setuptools/_distutils/errors.pyi b/stubs/setuptools/setuptools/_distutils/errors.pyi index 76960eb1ac25..79eb7f7baa0f 100644 --- a/stubs/setuptools/setuptools/_distutils/errors.pyi +++ b/stubs/setuptools/setuptools/_distutils/errors.pyi @@ -1,36 +1,15 @@ from .compilers.C.errors import ( CompileError as CompileError, + Error as _Error, LibError as LibError, LinkError as LinkError, PreprocessError as PreprocessError, + UnknownFileType as _UnknownFileType, ) -from .compilers.errors import Error as _Error, UnknownFileType as _UnknownFileType CCompilerError = _Error UnknownFileError = _UnknownFileType -__all__ = [ - "CCompilerError", - "CompileError", - "DistutilsArgError", - "DistutilsByteCompileError", - "DistutilsClassError", - "DistutilsError", - "DistutilsExecError", - "DistutilsFileError", - "DistutilsGetoptError", - "DistutilsInternalError", - "DistutilsModuleError", - "DistutilsOptionError", - "DistutilsPlatformError", - "DistutilsSetupError", - "DistutilsTemplateError", - "LibError", - "LinkError", - "PreprocessError", - "UnknownFileError", -] - class DistutilsError(Exception): ... class DistutilsModuleError(DistutilsError): ... class DistutilsClassError(DistutilsError): ... diff --git a/stubs/setuptools/setuptools/_distutils/extension.pyi b/stubs/setuptools/setuptools/_distutils/extension.pyi index a1711fb8bcb9..1aee26696a94 100644 --- a/stubs/setuptools/setuptools/_distutils/extension.pyi +++ b/stubs/setuptools/setuptools/_distutils/extension.pyi @@ -1,23 +1,39 @@ from _typeshed import StrPath from collections.abc import Iterable -from dataclasses import dataclass -@dataclass() class Extension: name: str - sources: Iterable[StrPath] - include_dirs: list[str] = ... - define_macros: list[tuple[str, str | None]] = ... - undef_macros: list[str] = ... - library_dirs: list[str] = ... - libraries: list[str] = ... - runtime_library_dirs: list[str] = ... - extra_objects: list[str] = ... - extra_compile_args: list[str] = ... - extra_link_args: list[str] = ... - export_symbols: list[str] = ... - swig_opts: list[str] = ... - depends: list[str] = ... - language: str | None = None - optional: bool = False - def __post_init__(self): ... + sources: list[str] + include_dirs: list[str] + define_macros: list[tuple[str, str | None]] + undef_macros: list[str] + library_dirs: list[str] + libraries: list[str] + runtime_library_dirs: list[str] + extra_objects: list[str] + extra_compile_args: list[str] + extra_link_args: list[str] + export_symbols: list[str] + swig_opts: list[str] + depends: list[str] + language: str | None + optional: bool | None + def __init__( + self, + name: str, + sources: Iterable[StrPath], + include_dirs: list[str] | None = None, + define_macros: list[tuple[str, str | None]] | None = None, + undef_macros: list[str] | None = None, + library_dirs: list[str] | None = None, + libraries: list[str] | None = None, + runtime_library_dirs: list[str] | None = None, + extra_objects: list[str] | None = None, + extra_compile_args: list[str] | None = None, + extra_link_args: list[str] | None = None, + export_symbols: list[str] | None = None, + swig_opts: list[str] | None = None, + depends: list[str] | None = None, + language: str | None = None, + optional: bool | None = None, + ) -> None: ... diff --git a/stubs/setuptools/setuptools/_distutils/filelist.pyi b/stubs/setuptools/setuptools/_distutils/filelist.pyi index c9e063474d18..39c3e77d79fc 100644 --- a/stubs/setuptools/setuptools/_distutils/filelist.pyi +++ b/stubs/setuptools/setuptools/_distutils/filelist.pyi @@ -19,7 +19,7 @@ class FileList: @overload def include_pattern( - self, pattern: str | None, anchor: bool = True, prefix: str | None = None, is_regex: Literal[False] = False + self, pattern: str, anchor: bool = True, prefix: str | None = None, is_regex: Literal[False] = False ) -> bool: ... @overload def include_pattern( @@ -30,7 +30,7 @@ class FileList: @overload def exclude_pattern( - self, pattern: str | None, anchor: bool = True, prefix: str | None = None, is_regex: Literal[False] = False + self, pattern: str, anchor: bool = True, prefix: str | None = None, is_regex: Literal[False] = False ) -> bool: ... @overload def exclude_pattern( diff --git a/stubs/setuptools/setuptools/_distutils/spawn.pyi b/stubs/setuptools/setuptools/_distutils/spawn.pyi index 60e386c2fce2..c76535e0bf5e 100644 --- a/stubs/setuptools/setuptools/_distutils/spawn.pyi +++ b/stubs/setuptools/setuptools/_distutils/spawn.pyi @@ -1,6 +1,15 @@ -from _typeshed import StrOrBytesPath -from collections.abc import Sequence +from _typeshed import StrOrBytesPath, StrPath, Unused +from collections.abc import MutableSequence, Sequence from subprocess import _ENV +from typing import Literal, overload + +@overload +def spawn( + cmd: Sequence[StrOrBytesPath], search_path: Literal[False], verbose: Unused = False, env: _ENV | None = None +) -> None: ... +@overload +def spawn( + cmd: MutableSequence[bytes | StrPath], search_path: Literal[True] = True, verbose: Unused = False, env: _ENV | None = None +) -> None: ... -def spawn(cmd: Sequence[StrOrBytesPath], *, env: _ENV | None = None, **kwargs) -> None: ... def find_executable(executable: str, path: str | None = None) -> str | None: ... diff --git a/stubs/setuptools/setuptools/_distutils/sysconfig.pyi b/stubs/setuptools/setuptools/_distutils/sysconfig.pyi index 50df58168ab0..e3b0292ef39b 100644 --- a/stubs/setuptools/setuptools/_distutils/sysconfig.pyi +++ b/stubs/setuptools/setuptools/_distutils/sysconfig.pyi @@ -15,7 +15,7 @@ def get_config_var(name: str) -> int | str | None: ... @overload def get_config_vars() -> dict[str, str | int]: ... @overload -def get_config_vars(arg: str, /, *args: str) -> list[str | int | None]: ... +def get_config_vars(arg: str, /, *args: str) -> list[str | int]: ... def get_config_h_filename() -> str: ... def get_makefile_filename() -> str: ... diff --git a/stubs/setuptools/setuptools/_distutils/util.pyi b/stubs/setuptools/setuptools/_distutils/util.pyi index ac4c1f849842..1f9ef45e5ab8 100644 --- a/stubs/setuptools/setuptools/_distutils/util.pyi +++ b/stubs/setuptools/setuptools/_distutils/util.pyi @@ -1,22 +1,17 @@ -from _typeshed import StrPath, Unused +from _typeshed import GenericPath, StrPath, Unused from collections.abc import Callable, Iterable, Mapping -from typing import Literal +from typing import AnyStr, Literal from typing_extensions import TypeVarTuple, Unpack -from .compilers.platform import detect, macos - _Ts = TypeVarTuple("_Ts") -get_host_platform = detect.get_host_platform -get_platform = detect.get_platform -is_mingw = detect.is_mingw -MACOSX_VERSION_VAR = macos.VERSION_VAR -get_macosx_target_ver = macos.target_ver -get_macosx_target_ver_from_syscfg = macos._target_ver_from_syscfg - +def get_host_platform() -> str: ... +def get_platform() -> str: ... +def get_macosx_target_ver_from_syscfg(): ... +def get_macosx_target_ver(): ... def split_version(s: str) -> list[int]: ... def convert_path(pathname: StrPath) -> str: ... -def change_root(new_root: StrPath, pathname: StrPath) -> str: ... +def change_root(new_root: GenericPath[AnyStr], pathname: GenericPath[AnyStr]) -> AnyStr: ... def check_environ() -> None: ... def subst_vars(s: str, local_vars: Mapping[str, object]) -> str: ... def grok_environment_error(exc: object, prefix: str = "error: ") -> str: ... @@ -35,4 +30,5 @@ def byte_compile( direct: bool | None = None, ) -> None: ... def rfc822_escape(header: str) -> str: ... +def is_mingw() -> bool: ... def is_freethreaded() -> bool: ... diff --git a/stubs/setuptools/setuptools/command/bdist_egg.pyi b/stubs/setuptools/setuptools/command/bdist_egg.pyi index 9c25dcc1799c..dc921dde8c8a 100644 --- a/stubs/setuptools/setuptools/command/bdist_egg.pyi +++ b/stubs/setuptools/setuptools/command/bdist_egg.pyi @@ -1,16 +1,15 @@ from _typeshed import GenericPath, Incomplete, StrPath from collections.abc import Iterator from types import CodeType -from typing import ClassVar, Final, Literal, TypeVar +from typing import AnyStr, ClassVar, Final, Literal, TypeVar from zipfile import _ZipFileMode from .. import Command _StrPathT = TypeVar("_StrPathT", bound=StrPath) -_StrOrBytesT = TypeVar("_StrOrBytesT", str, bytes) def strip_module(filename): ... -def sorted_walk(dir: GenericPath[_StrOrBytesT]) -> Iterator[tuple[_StrOrBytesT, list[_StrOrBytesT], list[_StrOrBytesT]]]: ... +def sorted_walk(dir: GenericPath[AnyStr]) -> Iterator[tuple[AnyStr, list[AnyStr], list[AnyStr]]]: ... def write_stub(resource, pyfile) -> None: ... class bdist_egg(Command): diff --git a/stubs/setuptools/setuptools/glob.pyi b/stubs/setuptools/setuptools/glob.pyi index a89dadc475f7..e5d6431bbe95 100644 --- a/stubs/setuptools/setuptools/glob.pyi +++ b/stubs/setuptools/setuptools/glob.pyi @@ -1,9 +1,5 @@ -from collections.abc import Iterator -from typing import TypeVar - -_StrOrBytesT = TypeVar("_StrOrBytesT", str, bytes) __all__ = ["glob", "iglob", "escape"] -def glob(pathname: _StrOrBytesT, recursive: bool = False) -> list[_StrOrBytesT]: ... -def iglob(pathname: _StrOrBytesT, recursive: bool = False) -> Iterator[_StrOrBytesT]: ... +def glob(pathname, recursive: bool = False): ... +def iglob(pathname, recursive: bool = False): ... def escape(pathname): ... diff --git a/stubs/tensorflow/tensorflow/core/framework/graph_debug_info_pb2.pyi b/stubs/tensorflow/tensorflow/core/framework/graph_debug_info_pb2.pyi index cbf9b620bc19..2c3f6761f1ef 100644 --- a/stubs/tensorflow/tensorflow/core/framework/graph_debug_info_pb2.pyi +++ b/stubs/tensorflow/tensorflow/core/framework/graph_debug_info_pb2.pyi @@ -174,7 +174,7 @@ class GraphDebugInfo(google.protobuf.message.Message): syntax: op.name '@' func_name For ops in the top-level graph, the func_name is the empty string and hence - the `@` may be omitted. + the `@` may be ommitted. Note that op names are restricted to a small number of characters which exclude '@', making it impossible to collide keys of this form. Function names accept a much wider set of characters. diff --git a/stubs/titlecase/@tests/stubtest_allowlist.txt b/stubs/titlecase/@tests/stubtest_allowlist.txt deleted file mode 100644 index a283eb12159b..000000000000 --- a/stubs/titlecase/@tests/stubtest_allowlist.txt +++ /dev/null @@ -1,2 +0,0 @@ -# typing the tests would present a requiremnt of effort with zero gain for the end user -titlecase.tests diff --git a/stubs/titlecase/METADATA.toml b/stubs/titlecase/METADATA.toml deleted file mode 100644 index 9928c8163ede..000000000000 --- a/stubs/titlecase/METADATA.toml +++ /dev/null @@ -1,3 +0,0 @@ -version = "2.4.*" -upstream-repository = "https://github.com/ppannuto/python-titlecase" -dependencies = ["types-regex"] diff --git a/stubs/titlecase/titlecase/__init__.pyi b/stubs/titlecase/titlecase/__init__.pyi deleted file mode 100644 index 440dd637180b..000000000000 --- a/stubs/titlecase/titlecase/__init__.pyi +++ /dev/null @@ -1,49 +0,0 @@ -import logging -import re -from typing import Final, Protocol, TypeAlias, overload, type_check_only -from typing_extensions import LiteralString - -import regex - -_Pattern: TypeAlias = re.Pattern[str] | regex.Pattern[str] - -__all__ = ["titlecase"] -__version__: Final[str] -logger: Final[logging.Logger] - -REGEX_AVAILABLE: Final[bool] - -SMALL: Final[str] -PUNCT: Final[str] - -SMALL_WORDS: _Pattern -SMALL_FIRST: _Pattern -SMALL_LAST: _Pattern -SUBPHRASE: _Pattern - -MAC_MC: Final[_Pattern] -MR_MRS_MS_DR: Final[_Pattern] -INLINE_PERIOD: Final[_Pattern] -UC_ELSEWHERE: Final[_Pattern] -CAPFIRST: Final[_Pattern] -APOS_SECOND: Final[_Pattern] -UC_INITIALS: Final[_Pattern] - -@type_check_only -class _CallbackProtocol(Protocol): - def __call__(self, word: str, /, *, all_caps: bool) -> str | None: ... - -class Immutable: ... -class ImmutableString(str, Immutable): ... -class ImmutableBytes(bytes, Immutable): ... - -@overload -def set_small_word_list() -> None: ... -@overload -def set_small_word_list(small: str) -> None: ... - -def titlecase( - text: str, callback: _CallbackProtocol | None = None, small_first_last: bool = True, preserve_blank_lines: bool = False -) -> LiteralString: ... -def create_wordlist_filter_from_file(file_path: str | None) -> _CallbackProtocol: ... -def cmd() -> None: ... diff --git a/stubs/tqdm/tqdm/contrib/concurrent.pyi b/stubs/tqdm/tqdm/contrib/concurrent.pyi index a90f6b85f9ff..44622ae76d36 100644 --- a/stubs/tqdm/tqdm/contrib/concurrent.pyi +++ b/stubs/tqdm/tqdm/contrib/concurrent.pyi @@ -66,7 +66,7 @@ class _TqdmProcessKwargs(_TqdmKwargs, total=False): @type_check_only class _TqdmThreadKwargs(_TqdmKwargs, total=False): thread_name_prefix: str | None - # Not technically for threading, but just a signature difference: + # Not techically for threading, but just a signature difference: lock_name: str @contextmanager diff --git a/stubs/tqdm/tqdm/utils.pyi b/stubs/tqdm/tqdm/utils.pyi index b9b0cc92a271..14f58e9def9e 100644 --- a/stubs/tqdm/tqdm/utils.pyi +++ b/stubs/tqdm/tqdm/utils.pyi @@ -54,9 +54,5 @@ class CallbackIOWrapper(ObjectWrapper): def disp_len(data: str) -> int: ... def disp_trim(data: str, length: int) -> str: ... def envwrap( - name: str, - app: str = "", - types: Mapping[str, Callable[[Incomplete], Incomplete]] | None = None, - is_method: bool = False, - convert_config: bool = True, + name: str, app: str = "", types: Mapping[str, Callable[[Incomplete], Incomplete]] | None = None, is_method: bool = False ) -> Callable[[Callable[_P, _R]], Callable[_P, _R]]: ... diff --git a/stubs/uWSGI/uwsgi.pyi b/stubs/uWSGI/uwsgi.pyi index 1830e762d770..987a8b6a98eb 100644 --- a/stubs/uWSGI/uwsgi.pyi +++ b/stubs/uWSGI/uwsgi.pyi @@ -110,7 +110,7 @@ def snmp_decr_counter64(oid_num: int, decrement: int, /) -> _TrueOrNone: ... def snmp_decr_gauge(oid_num: int, decrement: int, /) -> _TrueOrNone: ... @overload -def send_to_spooler(message_dict: dict[bytes, bytes], /) -> bytes | None: ... +def send_to_spooler(mesage_dict: dict[bytes, bytes], /) -> bytes | None: ... @overload def send_to_spooler( *, spooler: bytes = ..., priority: bytes = ..., at: bytes = ..., body: bytes = ..., **kwargs: bytes @@ -163,11 +163,11 @@ def mule_get_msg(signals: bool = True, farms: bool = True, buffer_size: int = 65 def mule_id() -> int: ... @overload -def mule_msg(message: str | bytes | ReadOnlyBuffer, /) -> bool: ... +def mule_msg(mesage: str | bytes | ReadOnlyBuffer, /) -> bool: ... @overload -def mule_msg(message: str | bytes | ReadOnlyBuffer, mule_id: int, /) -> bool: ... +def mule_msg(mesage: str | bytes | ReadOnlyBuffer, mule_id: int, /) -> bool: ... @overload -def mule_msg(message: str | bytes | ReadOnlyBuffer, farm_name: str, /) -> bool: ... +def mule_msg(mesage: str | bytes | ReadOnlyBuffer, farm_name: str, /) -> bool: ... def offload(filename: str, len: int = 0, /) -> Literal[b""]: ... def parsefile(filename: str, /) -> dict[bytes, bytes] | None: ... diff --git a/stubs/webencodings/@tests/stubtest_allowlist.txt b/stubs/webencodings/@tests/stubtest_allowlist.txt new file mode 100644 index 000000000000..a7af9d8760da --- /dev/null +++ b/stubs/webencodings/@tests/stubtest_allowlist.txt @@ -0,0 +1,2 @@ +# Tests should not be part of the stubs +webencodings.tests diff --git a/stubs/webencodings/METADATA.toml b/stubs/webencodings/METADATA.toml index 0df49ecd99fb..af406126c763 100644 --- a/stubs/webencodings/METADATA.toml +++ b/stubs/webencodings/METADATA.toml @@ -1,2 +1,2 @@ -version = "0.6.*" -upstream-repository = "https://github.com/CourtBouillon/webencodings" +version = "0.5.*" +upstream-repository = "https://github.com/gsnedders/python-webencodings" diff --git a/stubs/webencodings/webencodings/__init__.pyi b/stubs/webencodings/webencodings/__init__.pyi index 16c92fb23b7a..c9f078493786 100644 --- a/stubs/webencodings/webencodings/__init__.pyi +++ b/stubs/webencodings/webencodings/__init__.pyi @@ -3,7 +3,6 @@ from collections.abc import Iterable, Iterator from typing import Final VERSION: Final[str] -__version__: Final[str] PYTHON_NAMES: Final[dict[str, str]] CACHE: dict[str, Encoding] diff --git a/stubs/webencodings/webencodings/custom.pyi b/stubs/webencodings/webencodings/custom.pyi deleted file mode 100644 index d74042a7cf47..000000000000 --- a/stubs/webencodings/webencodings/custom.pyi +++ /dev/null @@ -1,48 +0,0 @@ -import codecs -from _codecs import _DecodeCharMap, _EncodeCharMap, _EncodingMap -from _typeshed import ReadableBuffer -from typing import ClassVar, Final, Literal - -class Codec(codecs.Codec): - encoding_table: ClassVar[_EncodeCharMap | Literal[""] | None] - decoding_table: ClassVar[_DecodeCharMap | None] - def encode(self, input: str, errors: str = "strict") -> tuple[bytes, int]: ... - def decode(self, input: bytes, errors: str = "strict") -> tuple[str, int]: ... - -class IncrementalEncoder(codecs.IncrementalEncoder): - encoding_table: ClassVar[_EncodeCharMap | Literal[""] | None] - def encode(self, input: str, final: bool = False) -> bytes: ... - -class IncrementalDecoder(codecs.IncrementalDecoder): - decoding_table: ClassVar[_DecodeCharMap | None] - def decode(self, input: ReadableBuffer, final: bool = False) -> str: ... - -class StreamWriter(Codec, codecs.StreamWriter): ... -class StreamReader(Codec, codecs.StreamReader): ... - -user_decoding_table: Final[str] -user_encoding_table: Final[_EncodingMap] - -class UserCodec(Codec): - decoding_table: ClassVar[_DecodeCharMap] - encoding_table: ClassVar[_EncodeCharMap] - -class UserIncrementalEncoder(IncrementalEncoder): - encoding_table: ClassVar[_EncodeCharMap] - -class UserIncrementalDecoder(IncrementalDecoder): - decoding_table: ClassVar[_DecodeCharMap] - -user_codec_info: Final[codecs.CodecInfo] - -class ReplacementCodec(Codec): - decoding_table: ClassVar[_DecodeCharMap] - encoding_table: ClassVar[Literal[""]] - -class ReplacementIncrementalEncoder(IncrementalEncoder): - encoding_table: ClassVar[Literal[""]] - -class ReplacementIncrementalDecoder(IncrementalDecoder): - decoding_table: ClassVar[_DecodeCharMap] - -replacement_codec_info: Final[codecs.CodecInfo] diff --git a/stubs/webencodings/webencodings/mklabels.pyi b/stubs/webencodings/webencodings/mklabels.pyi new file mode 100644 index 000000000000..839692415fbd --- /dev/null +++ b/stubs/webencodings/webencodings/mklabels.pyi @@ -0,0 +1,5 @@ +from typing import AnyStr +from urllib.request import Request + +def assert_lower(string: AnyStr) -> AnyStr: ... +def generate(url: str | Request) -> str: ... diff --git a/stubs/webencodings/webencodings/x_user_defined.pyi b/stubs/webencodings/webencodings/x_user_defined.pyi new file mode 100644 index 000000000000..bb67491c8606 --- /dev/null +++ b/stubs/webencodings/webencodings/x_user_defined.pyi @@ -0,0 +1,21 @@ +import codecs +from _codecs import _CharMap +from _typeshed import ReadableBuffer +from typing import Final + +class Codec(codecs.Codec): + def encode(self, input: str, errors: str = "strict") -> tuple[bytes, int]: ... + def decode(self, input: bytes, errors: str = "strict") -> tuple[str, int]: ... + +class IncrementalEncoder(codecs.IncrementalEncoder): + def encode(self, input: str, final: bool = False) -> bytes: ... + +class IncrementalDecoder(codecs.IncrementalDecoder): + def decode(self, input: ReadableBuffer, final: bool = False) -> str: ... + +class StreamWriter(Codec, codecs.StreamWriter): ... +class StreamReader(Codec, codecs.StreamReader): ... + +codec_info: Final[codecs.CodecInfo] +decoding_table: Final[str] +encoding_table: Final[_CharMap] diff --git a/stubs/yt-dlp/METADATA.toml b/stubs/yt-dlp/METADATA.toml index a2cd50aa82d2..d29f3acb0729 100644 --- a/stubs/yt-dlp/METADATA.toml +++ b/stubs/yt-dlp/METADATA.toml @@ -1,2 +1,2 @@ -version = "2026.8.19" +version = "2026.7.4" upstream-repository = "https://github.com/yt-dlp/yt-dlp" diff --git a/stubs/yt-dlp/yt_dlp/YoutubeDL.pyi b/stubs/yt-dlp/yt_dlp/YoutubeDL.pyi index c146326af19b..1fafc135d3cb 100644 --- a/stubs/yt-dlp/yt_dlp/YoutubeDL.pyi +++ b/stubs/yt-dlp/yt_dlp/YoutubeDL.pyi @@ -11,7 +11,7 @@ from yt_dlp.cookies import YoutubeDLCookieJar from yt_dlp.networking import RequestDirector, RequestHandler, Response from yt_dlp.utils import Namespace -from . import _YoutubeDLOptions +from . import _Params from .extractor.common import InfoExtractor, _InfoDict from .postprocessor.common import PostProcessor from .utils._utils import _ProgressState @@ -19,11 +19,11 @@ from .utils._utils import _ProgressState _FormatSelector: TypeAlias = Callable[[Mapping[str, Any]], Iterator[Any]] class YoutubeDL: - params: _YoutubeDLOptions + params: _Params cache: Cache format_selector: _FormatSelector archive: set[str] - def __init__(self, params: _YoutubeDLOptions | None = None, auto_init: bool = True) -> None: ... + def __init__(self, params: _Params | None = None, auto_init: bool = True) -> None: ... def warn_if_short_id(self, argv: list[str]) -> None: ... def add_info_extractor(self, ie: InfoExtractor) -> None: ... def get_info_extractor(self, ie_key: str) -> InfoExtractor: ... diff --git a/stubs/yt-dlp/yt_dlp/__init__.pyi b/stubs/yt-dlp/yt_dlp/__init__.pyi index 43da256dbd0e..3cb378a9a436 100644 --- a/stubs/yt-dlp/yt_dlp/__init__.pyi +++ b/stubs/yt-dlp/yt_dlp/__init__.pyi @@ -63,7 +63,7 @@ _ProgressTemplate = TypedDict( ) @type_check_only -class _YoutubeDLOptions(TypedDict, total=False): +class _Params(TypedDict, total=False): usenetrc: bool | None netrc_location: str | None netrc_cmd: str | None @@ -245,7 +245,7 @@ class _ParsedOptions(NamedTuple): parser: optparse.OptionParser options: optparse.Values urls: Collection[str] - ydl_opts: _YoutubeDLOptions + ydl_opts: _Params def parse_options(argv: Collection[str] | None = None) -> _ParsedOptions: ... def main(argv: list[str] | None = None) -> int: ... diff --git a/stubs/yt-dlp/yt_dlp/extractor/common.pyi b/stubs/yt-dlp/yt_dlp/extractor/common.pyi index 6fc58a1c1d93..6922f697c4ee 100644 --- a/stubs/yt-dlp/yt_dlp/extractor/common.pyi +++ b/stubs/yt-dlp/yt_dlp/extractor/common.pyi @@ -909,8 +909,6 @@ class InfoExtractor: def _cookies_passed(self) -> bool: ... def _mark_watched(self, *args: Any, **kwargs: Any) -> Any: ... # Not implemented here. @staticmethod - def _generate_blockbuster_headers(*, min_headers: int = 2, max_headers: int = 8) -> dict[str, str]: ... - @staticmethod def _generic_id(url: str) -> str: ... def _generic_title(self, url: str = "", webpage: str = "", *, default: str | None = None) -> str | None: ... def _extract_chapters_helper( diff --git a/stubs/yt-dlp/yt_dlp/utils/__init__.pyi b/stubs/yt-dlp/yt_dlp/utils/__init__.pyi index 1a76d24540fe..a33675e077b3 100644 --- a/stubs/yt-dlp/yt_dlp/utils/__init__.pyi +++ b/stubs/yt-dlp/yt_dlp/utils/__init__.pyi @@ -1,4 +1,3 @@ from ._deprecated import * -from ._legacy import * from ._utils import * from .traversal import * diff --git a/stubs/yt-dlp/yt_dlp/utils/_deprecated.pyi b/stubs/yt-dlp/yt_dlp/utils/_deprecated.pyi index 4e642d1cf802..5f20b62a2fb0 100644 --- a/stubs/yt-dlp/yt_dlp/utils/_deprecated.pyi +++ b/stubs/yt-dlp/yt_dlp/utils/_deprecated.pyi @@ -12,9 +12,5 @@ def intlist_to_bytes(xs: list[int]) -> bytes: ... def jwt_encode_hs256(payload_data: Any, key: str, headers: Mapping[str, Any] = {}) -> bytes: ... # Passed to json.dumps(). @deprecated("Use `yt_dlp.utils.make_parent_dirs` instead.") def make_dir(path: PathLike[AnyStr], to_screen: Callable[[str], Any] | None = None) -> bool: ... -@deprecated("Do not use.") -def number_of_digits(number: int) -> int: ... -@deprecated("Use `str(uuid.uuid4())` instead.") -def random_uuidv4() -> str: ... compiled_regex_type: type[re.Pattern[Any]] diff --git a/stubs/yt-dlp/yt_dlp/utils/_legacy.pyi b/stubs/yt-dlp/yt_dlp/utils/_legacy.pyi index b37674b7f218..8f1891cc02e3 100644 --- a/stubs/yt-dlp/yt_dlp/utils/_legacy.pyi +++ b/stubs/yt-dlp/yt_dlp/utils/_legacy.pyi @@ -6,7 +6,6 @@ from http.client import HTTPResponse from http.cookiejar import CookieJar from subprocess import Popen from typing import Any, AnyStr, TypeVar -from typing_extensions import deprecated has_certifi: bool has_websockets: bool @@ -53,13 +52,8 @@ def make_HTTPS_handler( def process_communicate_or_kill( p: Popen[Any], *args: Any, **kwargs: Any # args/kwargs passed to Popen.__init__(). ) -> tuple[AnyStr, AnyStr]: ... -@deprecated("Do not use.") def encodeFilename(s: str, for_subprocess: Unused = False) -> bytes: ... -@deprecated("Do not use.") def decodeFilename(b: bytes, for_subprocess: Unused = False) -> str: ... -@deprecated("Do not use.") def decodeArgument(b: _T) -> _T: ... -@deprecated("Do not use.") def decodeOption(optval: AnyStr) -> str: ... -@deprecated("Use `str` instead.") def error_to_compat_str(err: Any) -> str: ... # Calls str(err). diff --git a/stubs/yt-dlp/yt_dlp/utils/_utils.pyi b/stubs/yt-dlp/yt_dlp/utils/_utils.pyi index 93530c593a0f..ea5d96e131ea 100644 --- a/stubs/yt-dlp/yt_dlp/utils/_utils.pyi +++ b/stubs/yt-dlp/yt_dlp/utils/_utils.pyi @@ -30,7 +30,7 @@ from xml.etree import ElementTree as ET from yt_dlp.networking import Response -from .. import _YoutubeDLOptions +from .. import _Params from ..extractor.common import InfoExtractor, _InfoDict from ..globals import WINDOWS_VT_MODE as WINDOWS_VT_MODE from ..options import _YoutubeDLOptionParser @@ -516,16 +516,16 @@ def parse_dfxp_time_expr(time_expr: str | None) -> int | None: ... def srt_subtitles_timecode(seconds: float) -> str: ... def ass_subtitles_timecode(seconds: float) -> str: ... def dfxp2srt(dfxp_data: bytes) -> str: ... -def cli_option(params: _YoutubeDLOptions, command_option: str, param: str, separator: str | None = None) -> Any: ... +def cli_option(params: _Params, command_option: str, param: str, separator: str | None = None) -> Any: ... def cli_bool_option( - params: _YoutubeDLOptions, + params: _Params, command_option: str, param: bool | None, true_value: str = "true", false_value: str = "false", separator: str | None = None, ) -> Any: ... -def cli_valueless_option(params: _YoutubeDLOptions, command_option: str, param: str, expected_value: bool = True) -> Any: ... +def cli_valueless_option(params: _Params, command_option: str, param: str, expected_value: bool = True) -> Any: ... def cli_configuration_args(argdict: dict[str, Any], keys: Iterable[str], default: Any = [], use_compat: bool = True) -> Any: ... class ISO639Utils: @@ -573,6 +573,7 @@ def format_field( func: Callable[[Any], Any] = ..., ) -> str: ... def clean_podcast_url(url: str) -> str: ... +def random_uuidv4() -> str: ... def make_parent_dirs(path: PathLike[AnyStr]) -> None: ... def get_executable_path() -> str: ... def get_user_config_dirs(package_name: str) -> Iterator[str]: ... @@ -585,6 +586,7 @@ def jwt_decode_hs256(jwt: str) -> Any: ... # Returns json.loads() output. def supports_terminal_sequences(stream: IO[Any]) -> bool: ... def windows_enable_vt_mode() -> None: ... def remove_terminal_sequences(string: str) -> str: ... +def number_of_digits(number: int) -> int: ... def join_nonempty(*values: str, delim: str = "-", from_dict: Mapping[str, Any] | None = None) -> str: ... def scale_thumbnails_to_max_format_width( formats: Iterable[Mapping[str, Any]], thumbnails: Iterable[Mapping[str, Any]], url_width_re: str | Pattern[str] @@ -673,8 +675,8 @@ class FormatSorter: ytdl_default: tuple[str, ...] settings: dict[str, Any] ydl: YoutubeDL - def __init__(self, ydl: YoutubeDL, field_preference: _YoutubeDLOptions) -> None: ... - def evaluate_params(self, params: _YoutubeDLOptions, sort_extractor: Collection[str]) -> None: ... + def __init__(self, ydl: YoutubeDL, field_preference: _Params) -> None: ... + def evaluate_params(self, params: _Params, sort_extractor: Collection[str]) -> None: ... def print_verbose_info(self, write_debug: Callable[..., None]) -> None: ... def calculate_preference(self, format: dict[str, Any]) -> tuple[int, ...]: ... diff --git a/tests/stubtest_third_party.py b/tests/stubtest_third_party.py index e74258d2b0c2..91d46678b54d 100755 --- a/tests/stubtest_third_party.py +++ b/tests/stubtest_third_party.py @@ -12,13 +12,24 @@ from pathlib import Path from shutil import rmtree from textwrap import dedent +from time import time from typing_extensions import Never -from ts_utils.formatter import StatusLineFormatter from ts_utils.metadata import NoSuchStubError, get_recursive_requirements, read_metadata from ts_utils.mypy import mypy_configuration_from_distribution, temporary_mypy_config_file from ts_utils.paths import STUBS_PATH, allowlists_path, tests_path -from ts_utils.utils import PYTHON_VERSION, allowlist_stubtest_arguments, get_mypy_req +from ts_utils.utils import ( + PYTHON_VERSION, + allowlist_stubtest_arguments, + colored, + get_mypy_req, + print_divider, + print_error, + print_info, + print_success_msg, + print_time, + print_warning, +) def run_stubtest(dist: Path, *, verbose: bool = False, ci_platforms_only: bool = False, keep_tmp_dir: bool = False) -> bool: @@ -26,190 +37,188 @@ def run_stubtest(dist: Path, *, verbose: bool = False, ci_platforms_only: bool = dist_name = dist.name metadata = read_metadata(dist_name) + print(f"{dist_name}... ", end="", flush=True) - with StatusLineFormatter(dist_name, timed=True) as formatter: - stubtest_settings = metadata.stubtest_settings - if stubtest_settings.skip: - formatter.warning("skipping (skip = true)") - return True + t = time() - if stubtest_settings.supported_platforms is not None and sys.platform not in stubtest_settings.supported_platforms: - formatter.warning("skipping (platform not supported)") - return True + stubtest_settings = metadata.stubtest_settings + if stubtest_settings.skip: + print(colored("skipping (skip = true)", "yellow")) + return True - if ci_platforms_only and sys.platform not in stubtest_settings.ci_platforms: - formatter.warning("skipping (platform skipped in CI)") - return True + if stubtest_settings.supported_platforms is not None and sys.platform not in stubtest_settings.supported_platforms: + print(colored("skipping (platform not supported)", "yellow")) + return True - if not metadata.requires_python.contains(PYTHON_VERSION): - formatter.warning(f"skipping (requires Python {metadata.requires_python})") - return True + if ci_platforms_only and sys.platform not in stubtest_settings.ci_platforms: + print(colored("skipping (platform skipped in CI)", "yellow")) + return True - tmp = tempfile.mkdtemp(prefix="stubtest-") # TODO: Python 3.12: Use TemporaryDirectory - venv_dir = Path(tmp) + if not metadata.requires_python.contains(PYTHON_VERSION): + print(colored(f"skipping (requires Python {metadata.requires_python})", "yellow")) + return True + + tmp = tempfile.mkdtemp(prefix="stubtest-") # TODO: Python 3.12: Use TemporaryDirectory + venv_dir = Path(tmp) + try: try: - try: - subprocess.run(["uv", "venv", venv_dir, "--seed"], capture_output=True, check=True) - except subprocess.CalledProcessError as e: - formatter.command_error("fail (could not create a virtualenv)", e) - return False - if sys.platform == "win32": - pip_exe = str(venv_dir / "Scripts" / "pip.exe") - python_exe = str(venv_dir / "Scripts" / "python.exe") - else: - pip_exe = str(venv_dir / "bin" / "pip") - python_exe = str(venv_dir / "bin" / "python") - dist_extras = ", ".join(stubtest_settings.extras) - dist_req = f"{dist_name}[{dist_extras}]{metadata.version_spec}" - - requirements = get_recursive_requirements(dist_name) - - # We need stubtest to be able to import the package, so install mypy into the venv - # Hopefully mypy continues to not need too many dependencies - # TODO: Maybe find a way to cache these in CI - dists_to_install = [dist_req, get_mypy_req()] - # Internal requirements are added to MYPYPATH - dists_to_install.extend(str(r) for r in requirements.external_pkgs) - dists_to_install.extend(stubtest_settings.stubtest_dependencies) - - # Since the "gdb" Python package is available only inside GDB, it is not - # possible to install it through pip, so stub tests cannot install it. + subprocess.run(["uv", "venv", venv_dir, "--seed"], capture_output=True, check=True) + except subprocess.CalledProcessError as e: + print_command_failure("Failed to create a virtualenv (likely a bug in uv?)", e) + return False + if sys.platform == "win32": + pip_exe = str(venv_dir / "Scripts" / "pip.exe") + python_exe = str(venv_dir / "Scripts" / "python.exe") + else: + pip_exe = str(venv_dir / "bin" / "pip") + python_exe = str(venv_dir / "bin" / "python") + dist_extras = ", ".join(stubtest_settings.extras) + dist_req = f"{dist_name}[{dist_extras}]{metadata.version_spec}" + + requirements = get_recursive_requirements(dist_name) + + # We need stubtest to be able to import the package, so install mypy into the venv + # Hopefully mypy continues to not need too many dependencies + # TODO: Maybe find a way to cache these in CI + dists_to_install = [dist_req, get_mypy_req()] + # Internal requirements are added to MYPYPATH + dists_to_install.extend(str(r) for r in requirements.external_pkgs) + dists_to_install.extend(stubtest_settings.stubtest_dependencies) + + # Since the "gdb" Python package is available only inside GDB, it is not + # possible to install it through pip, so stub tests cannot install it. + if dist_name == "gdb": + dists_to_install[:] = dists_to_install[1:] + + pip_cmd = [pip_exe, "install", *dists_to_install] + try: + subprocess.run(pip_cmd, check=True, capture_output=True) + except subprocess.CalledProcessError as e: + print_command_failure("Failed to install", e) + return False + + mypy_configuration = mypy_configuration_from_distribution(dist_name) + with temporary_mypy_config_file(mypy_configuration, stubtest_settings) as temp: + ignore_missing_stub = ["--ignore-missing-stub"] if stubtest_settings.ignore_missing_stub else [] + packages_to_check = [d.name for d in dist.iterdir() if d.is_dir() and d.name.isidentifier()] + modules_to_check = [d.stem for d in dist.iterdir() if d.is_file() and d.suffix == ".pyi"] + stubtest_cmd = [ + python_exe, + "-m", + "mypy.stubtest", + "--mypy-config-file", + temp.name, + "--show-traceback", + "--strict-type-check-only", + # Use --custom-typeshed-dir in case we make linked changes to stdlib or _typeshed + "--custom-typeshed-dir", + str(dist.parent.parent), + *ignore_missing_stub, + *packages_to_check, + *modules_to_check, + *allowlist_stubtest_arguments(dist_name), + ] + + stubs_dir = dist.parent + mypypath_items = [str(dist)] + [str(stubs_dir / pkg.name) for pkg in requirements.typeshed_pkgs] + mypypath = os.pathsep.join(mypypath_items) + # For packages that need a display, we need to pass at least $DISPLAY + # to stubtest. $DISPLAY is set by xvfb-run in CI. + # + # It seems that some other environment variables are needed too, + # because the CI fails if we pass only os.environ["DISPLAY"]. I didn't + # "bisect" to see which variables are actually needed. + stubtest_env = os.environ | { + "MYPYPATH": mypypath, + "MYPY_FORCE_COLOR": "1", + # Prevent stubtest crash due to special unicode character + # https://github.com/python/mypy/issues/19071 + "PYTHONUTF8": "1", + } + + # Perform some black magic in order to run stubtest inside uWSGI + if dist_name == "uWSGI": + if not setup_uwsgi_stubtest_command(dist, venv_dir, stubtest_cmd): + return False + if dist_name == "gdb": - dists_to_install[:] = dists_to_install[1:] + if not setup_gdb_stubtest_command(venv_dir, stubtest_cmd): + return False - pip_cmd = [pip_exe, "install", *dists_to_install] - # Some packages read environment variables at build time, e.g. to - # opt out of CPU-specific compiler flags. See `install-environment` - # in CONTRIBUTING.md. - pip_env = os.environ | stubtest_settings.install_environment try: - subprocess.run(pip_cmd, env=pip_env, check=True, capture_output=True) + subprocess.run(stubtest_cmd, env=stubtest_env, check=True, capture_output=True) except subprocess.CalledProcessError as e: - formatter.command_error("fail (pip install)", e) - return False - - mypy_configuration = mypy_configuration_from_distribution(dist_name) - with temporary_mypy_config_file(mypy_configuration, stubtest_settings) as temp: - ignore_missing_stub = ["--ignore-missing-stub"] if stubtest_settings.ignore_missing_stub else [] - packages_to_check = [d.name for d in dist.iterdir() if d.is_dir() and d.name.isidentifier()] - modules_to_check = [d.stem for d in dist.iterdir() if d.is_file() and d.suffix == ".pyi"] - stubtest_cmd = [ - python_exe, - "-m", - "mypy.stubtest", - "--mypy-config-file", - temp.name, - "--show-traceback", - "--strict-type-check-only", - # Use --custom-typeshed-dir in case we make linked changes to stdlib or _typeshed - "--custom-typeshed-dir", - str(dist.parent.parent), - *ignore_missing_stub, - *packages_to_check, - *modules_to_check, - *allowlist_stubtest_arguments(dist_name), - ] - - stubs_dir = dist.parent - mypypath_items = [str(dist)] + [str(stubs_dir / pkg.name) for pkg in requirements.typeshed_pkgs] - mypypath = os.pathsep.join(mypypath_items) - # For packages that need a display, we need to pass at least $DISPLAY - # to stubtest. $DISPLAY is set by xvfb-run in CI. - # - # It seems that some other environment variables are needed too, - # because the CI fails if we pass only os.environ["DISPLAY"]. I didn't - # "bisect" to see which variables are actually needed. - stubtest_env = os.environ | { - "MYPYPATH": mypypath, - "MYPY_FORCE_COLOR": "1", - # Prevent stubtest crash due to special unicode character - # https://github.com/python/mypy/issues/19071 - "PYTHONUTF8": "1", - } - - # Perform some black magic in order to run stubtest inside uWSGI - if dist_name == "uWSGI": - if not setup_uwsgi_stubtest_command(dist, venv_dir, stubtest_cmd, formatter): - return False - - if dist_name == "gdb": - if not setup_gdb_stubtest_command(venv_dir, stubtest_cmd, formatter): - return False - - try: - subprocess.run(stubtest_cmd, env=stubtest_env, check=True, capture_output=True) - except subprocess.CalledProcessError as e: - formatter.error(f"failed with exit code {e.returncode}") - - formatter.append_divider() - formatter.append_output("Commands run:") - print_commands(formatter, pip_cmd, stubtest_cmd, mypypath) - - formatter.append_divider() - formatter.append_output("Command output:") - formatter.command_output(e) - - formatter.append_divider() - ret = subprocess.run([sys.executable, "-VV"], capture_output=True, check=False) - formatter.command_output(ret) - - formatter.append_output("Ran with the following environment:") - ret = subprocess.run([pip_exe, "freeze", "--all"], capture_output=True, check=False) - formatter.command_output(ret) - if keep_tmp_dir: - formatter.append_output(f"Path to virtual environment: {venv_dir}") - - formatter.append_divider() - main_allowlist_path = allowlists_path(dist_name) / "stubtest_allowlist.txt" - if main_allowlist_path.exists(): - formatter.append_hint( - f'To fix "unused allowlist" errors, remove the corresponding entries from {main_allowlist_path}' - ) - else: - formatter.append_hint( - f"Re-running stubtest with --generate-allowlist.\nAdd the following to {main_allowlist_path}:" - ) - ret = subprocess.run( - [*stubtest_cmd, "--generate-allowlist"], env=stubtest_env, capture_output=True, check=False - ) - formatter.command_output(ret) - - formatter.append_divider() - formatter.append_output(f"Upstream repository: {metadata.upstream_repository}") - formatter.append_output( - f"Typeshed source code: https://github.com/python/typeshed/tree/main/stubs/{dist.name}" + print_time(time() - t) + print_error(f"failed with exit code {e.returncode}") + + print_divider() + print("Commands run:") + print_commands(pip_cmd, stubtest_cmd, mypypath) + + print_divider() + print("Command output:\n") + print_command_output(e) + + print_divider() + print("Python version: ", end="", flush=True) + ret = subprocess.run([sys.executable, "-VV"], capture_output=True, check=False) + print_command_output(ret) + + print("\nRan with the following environment:") + ret = subprocess.run([pip_exe, "freeze", "--all"], capture_output=True, check=False) + print_command_output(ret) + if keep_tmp_dir: + print("Path to virtual environment:", venv_dir, flush=True) + + print_divider() + main_allowlist_path = allowlists_path(dist_name) / "stubtest_allowlist.txt" + if main_allowlist_path.exists(): + print(f'To fix "unused allowlist" errors, remove the corresponding entries from {main_allowlist_path}') + print() + else: + print(f"Re-running stubtest with --generate-allowlist.\nAdd the following to {main_allowlist_path}:") + ret = subprocess.run( + [*stubtest_cmd, "--generate-allowlist"], env=stubtest_env, capture_output=True, check=False ) + print_command_output(ret) - return False - else: - formatter.success("success") + print_divider() + print(f"Upstream repository: {metadata.upstream_repository}") + print(f"Typeshed source code: https://github.com/python/typeshed/tree/main/stubs/{dist.name}") - if sys.platform not in stubtest_settings.ci_platforms: - formatter.append_warning(f"Note: {dist_name} is not currently tested on {sys.platform} in typeshed's CI") + print_divider() - if keep_tmp_dir: - formatter.append_output(f"Virtual environment kept at: {venv_dir}") + return False + else: + print_time(time() - t) + print_success_msg() - finally: - if not keep_tmp_dir: - rmtree(venv_dir) + if sys.platform not in stubtest_settings.ci_platforms: + print_warning(f"Note: {dist_name} is not currently tested on {sys.platform} in typeshed's CI") - if verbose: - print_commands(formatter, pip_cmd, stubtest_cmd, mypypath) + if keep_tmp_dir: + print_info(f"Virtual environment kept at: {venv_dir}") + + finally: + if not keep_tmp_dir: + rmtree(venv_dir) + + if verbose: + print_commands(pip_cmd, stubtest_cmd, mypypath) return True -def setup_gdb_stubtest_command(venv_dir: Path, stubtest_cmd: list[str], formatter: StatusLineFormatter) -> bool: +def setup_gdb_stubtest_command(venv_dir: Path, stubtest_cmd: list[str]) -> bool: """ Use wrapper scripts to run stubtest inside gdb. The wrapper script is used to pass the arguments to the gdb script. """ if sys.platform == "win32": - formatter.error("gdb is not supported on Windows") + print_error("gdb is not supported on Windows") return False - if not gdb_version_check(formatter): + if not gdb_version_check(): return False gdb_script = venv_dir / "gdb_stubtest.py" @@ -275,26 +284,25 @@ def setup_gdb_stubtest_command(venv_dir: Path, stubtest_cmd: list[str], formatte return True -def gdb_version_check(formatter: StatusLineFormatter) -> bool: +def gdb_version_check() -> bool: try: gdb_version_output = subprocess.check_output(["gdb", "--version"], text=True, stderr=subprocess.STDOUT) except FileNotFoundError: - formatter.error("fail (gdb is not installed)") + print_error("gdb is not installed") return False if "Python scripting is not supported in this copy of GDB" in gdb_version_output: - formatter.error("fail (GDB version does not support Python scripting)") + print_error("Python scripting is not supported in this copy of GDB") return False m = re.search(r"GNU gdb\s+.*?(\d+\.\d+(\.[\da-z-]+)+)", gdb_version_output) if m is None: - formatter.error("failed to determine gdb version") - formatter.append_output(gdb_version_output) + print_error("Failed to determine gdb version:\n" + gdb_version_output) return False gdb_version = m.group(1) - formatter.append_output(f"GDB version: {gdb_version}") + print(f"({gdb_version}) ", end="", flush=True) return True -def setup_uwsgi_stubtest_command(dist: Path, venv_dir: Path, stubtest_cmd: list[str], formatter: StatusLineFormatter) -> bool: +def setup_uwsgi_stubtest_command(dist: Path, venv_dir: Path, stubtest_cmd: list[str]) -> bool: """Perform some black magic in order to run stubtest inside uWSGI. We have to write the exit code from stubtest to a surrogate file @@ -311,7 +319,7 @@ def setup_uwsgi_stubtest_command(dist: Path, venv_dir: Path, stubtest_cmd: list[ uwsgi_ini = tests_path(dist.name) / "uwsgi.ini" if sys.platform == "win32": - formatter.error("uWSGI is not supported on Windows") + print_error("uWSGI is not supported on Windows") return False uwsgi_script = venv_dir / "uwsgi_stubtest.py" @@ -366,9 +374,22 @@ def setup_uwsgi_stubtest_command(dist: Path, venv_dir: Path, stubtest_cmd: list[ return True -def print_commands(formatter: StatusLineFormatter, pip_cmd: list[str], stubtest_cmd: list[str], mypypath: str) -> None: - formatter.append_output(" ".join(pip_cmd)) - formatter.append_output(f"MYPYPATH={mypypath}" + " " + " ".join(stubtest_cmd)) +def print_commands(pip_cmd: list[str], stubtest_cmd: list[str], mypypath: str) -> None: + print() + print(" ".join(pip_cmd)) + print(f"MYPYPATH={mypypath}", " ".join(stubtest_cmd)) + + +def print_command_failure(message: str, e: subprocess.CalledProcessError) -> None: + print_error("fail") + print() + print(message) + print_command_output(e) + + +def print_command_output(e: subprocess.CalledProcessError | subprocess.CompletedProcess[bytes]) -> None: + print(e.stdout.decode(), end="") + print(e.stderr.decode(), end="") def main() -> Never: