Skip to main content

A blazingly fast Language Server Protocol implementation for pytest

Project description

pytest-language-server 🔥

CI Security Audit PyPI version Downloads Crates.io License: MIT Python Version

A blazingly fast Language Server Protocol (LSP) implementation for pytest, built with Rust, with full support for fixture discovery, go to definition, code completion, find references, hover documentation, diagnostics, and more!

pytest-language-server demo

Table of Contents

Features

Built with AI, maintained with care 🤖

This project was built with the help of AI coding agents, but carefully reviewed to ensure correctness, reliability, security and performance. If you find any issues, please open an issue or submit a pull request!

🎯 Go to Definition

Jump directly to fixture definitions from anywhere they're used:

  • Local fixtures in the same file
  • Fixtures in conftest.py files
  • Third-party fixtures from pytest plugins (pytest-mock, pytest-asyncio, etc.)
  • Respects pytest's fixture shadowing/priority rules

🔧 Go to Implementation

Jump to the yield statement in generator fixtures:

  • Generator fixtures: Navigates to where yield produces the fixture value
  • Teardown navigation: Useful for reviewing fixture cleanup logic
  • Non-generator fallback: Falls back to definition for simple return-based fixtures

Example:

@pytest.fixture
def database():
    conn = connect()
    yield conn      # <-- Go to Implementation jumps here
    conn.close()    # Teardown code after yield

🔗 Call Hierarchy

Explore fixture dependencies with Call Hierarchy support:

  • Incoming Calls: See which tests and fixtures depend on a fixture
  • Outgoing Calls: See which fixtures a fixture depends on
  • Works with your editor's "Show Call Hierarchy" command
  • Helps understand complex fixture dependency chains
@pytest.fixture
def database():        # <-- Call Hierarchy shows:
    ...                #     Incoming: test_query, test_insert (tests using this)
                       #     Outgoing: connection (fixtures this depends on)

✨ Code Completion

Smart auto-completion for pytest fixtures:

  • Context-aware: Only triggers inside test functions and fixture functions
  • Hierarchy-respecting: Suggests fixtures based on pytest's priority rules (same file > conftest.py > third-party)
  • Rich information: Shows fixture source file and docstring
  • No duplicates: Automatically filters out shadowed fixtures
  • Works everywhere: Completions available in both function parameters and function bodies
  • Supports both sync and async functions

🔍 Find References

Find all usages of a fixture across your entire test suite:

  • Works from fixture definitions or usage sites
  • Character-position aware (distinguishes between fixture name and parameters)
  • Shows references in all test files
  • Correctly handles fixture overriding and hierarchies
  • LSP spec compliant: Always includes the current position in results

📚 Hover Documentation

View fixture information on hover:

  • Fixture signature
  • Source file location
  • Docstring (with proper formatting and dedenting)
  • Markdown support in docstrings

📑 Document Symbols

Navigate fixtures within a file using the document outline:

  • File outline view: See all fixtures defined in the current file (Cmd+Shift+O / Ctrl+Shift+O)
  • Breadcrumb navigation: Shows fixture hierarchy in editor breadcrumbs
  • Return type display: Shows fixture return types when available
  • Sorted by position: Fixtures appear in definition order

🔎 Workspace Symbols

Search for fixtures across your entire workspace:

  • Global search: Find any fixture by name (Cmd+T / Ctrl+T)
  • Fuzzy matching: Case-insensitive substring search
  • File context: Shows which file each fixture is defined in
  • Fast lookup: Instant results from in-memory fixture database

🔢 Code Lens

See fixture usage counts directly in your editor:

  • Usage count: Shows "N usages" above each fixture definition
  • Click to navigate: Clicking the lens shows all references (find-references integration)
  • Real-time updates: Counts update as you add/remove fixture usages
  • Local fixtures only: Only shows lenses for project fixtures, not third-party

🏷️ Inlay Hints

See fixture return types inline without leaving your code:

  • Type annotations: Shows return types next to fixture parameters (e.g., db: Database)
  • Explicit types only: Only displays hints when fixtures have explicit return type annotations
  • Generator support: Extracts yielded type from Generator[T, None, None] annotations
  • Non-intrusive: Hints appear as subtle inline decorations that don't modify your code

Example:

# With a fixture defined as:
@pytest.fixture
def database() -> Database:
    return Database()

# In your test, you'll see:
def test_example(database):  # Shows ": Database" after "database"
    pass

💡 Code Actions (Quick Fixes)

One-click fixes for common pytest issues:

  • Add missing fixture parameters: Automatically add undeclared fixtures to function signatures
  • Smart insertion: Handles both empty and existing parameter lists
  • Editor integration: Works with any LSP-compatible editor's quick fix menu
  • LSP compliant: Full support for CodeActionKind::QUICKFIX

⚠️ Diagnostics & Quick Fixes

Detect and fix common pytest fixture issues with intelligent code actions:

Fixture Scope Validation:

  • Detects when a broader-scoped fixture depends on a narrower-scoped fixture
  • Example: A session-scoped fixture cannot depend on a function-scoped fixture
  • Warnings show both the fixture's scope and its dependency's scope
  • Prevents hard-to-debug test failures from scope violations

Circular Dependency Detection:

  • Detects when fixtures form circular dependency chains (A → B → C → A)
  • Reports the full cycle path for easy debugging
  • Works across files (conftest.py hierarchies)

Scope mismatch example:

# ⚠️ Scope mismatch! session-scoped fixture depends on function-scoped
@pytest.fixture(scope="session")
def shared_db(temp_dir):  # temp_dir is function-scoped
    return Database(temp_dir)

@pytest.fixture  # Default is function scope
def temp_dir(tmp_path):
    return tmp_path / "test"

Undeclared Fixture Detection:

  • Detects when fixtures are used in function bodies but not declared as parameters
  • Line-aware scoping: Correctly handles local variables assigned later in the function
  • Hierarchy-aware: Only reports fixtures that are actually available in the current file's scope
  • Works in tests and fixtures: Detects undeclared usage in both test functions and fixture functions
  • Excludes built-in names (self, request) and actual local variables

One-Click Quick Fixes:

  • Code actions to automatically add missing fixture parameters
  • Intelligent parameter insertion (handles both empty and existing parameter lists)
  • Works with both single-line and multi-line function signatures
  • Triggered directly from diagnostic warnings

Example:

@pytest.fixture
def user_db():
    return Database()

def test_user(user_db):  # ✅ user_db properly declared
    user = user_db.get_user(1)
    assert user.name == "Alice"

def test_broken():  # ⚠️ Warning: 'user_db' used but not declared
    user = user_db.get_user(1)  # 💡 Quick fix: Add 'user_db' fixture parameter
    assert user.name == "Alice"

How to use quick fixes:

  1. Place cursor on the warning squiggle
  2. Trigger code actions menu (usually Cmd+. or Ctrl+. in most editors)
  3. Select "Add 'fixture_name' fixture parameter"
  4. The parameter is automatically added to your function signature

⚡️ Performance

Built with Rust for maximum performance:

  • Fast workspace scanning with concurrent file processing
  • Efficient AST parsing using rustpython-parser
  • Lock-free data structures with DashMap
  • Minimal memory footprint

Installation

Choose your preferred installation method:

📦 PyPI (Recommended)

The easiest way to install for Python projects:

# Using uv (recommended)
uv tool install pytest-language-server

# Or with pip
pip install pytest-language-server

# Or with pipx (isolated environment)
pipx install pytest-language-server

🍺 Homebrew (macOS/Linux)

Install via Homebrew for system-wide availability:

brew install bellini666/tap/pytest-language-server

To add the tap first:

brew tap bellini666/tap https://github.com/bellini666/pytest-language-server
brew install pytest-language-server

🦀 Cargo (Rust)

Install from crates.io if you have Rust installed:

cargo install pytest-language-server

📥 Pre-built Binaries

Download pre-built binaries from the GitHub Releases page.

Available for:

  • Linux: x86_64, aarch64, armv7 (glibc and musl)
  • macOS: Intel and Apple Silicon
  • Windows: x64 and x86

🔨 From Source

Build from source for development or customization:

git clone https://github.com/bellini666/pytest-language-server
cd pytest-language-server
cargo build --release

The binary will be at target/release/pytest-language-server.

Setup

Neovim

Add this to your config:

vim.lsp.config('pytest_lsp', {
  cmd = { 'pytest-language-server' },
  filetypes = { 'python' },
  root_markers = { 'pyproject.toml', 'setup.py', 'setup.cfg', 'pytest.ini', '.git' },
})

vim.lsp.enable('pytest_lsp')

Zed

Install from the Zed Extensions Marketplace:

  1. Open Zed
  2. Open the command palette (Cmd+Shift+P / Ctrl+Shift+P)
  3. Search for "zed: extensions"
  4. Search for "pytest Language Server"
  5. Click "Install"

The extension downloads platform-specific binaries from GitHub Releases. If you prefer to use your own installation (via pip, cargo, or brew), place pytest-language-server in your PATH.

After installing the extension, you need to enable the language server for Python files. Add the following to your Zed settings.json:

{
  "languages": {
    "Python": {
      "language_servers": ["pyright", "pytest-language-server", "..."]
    }
  }
}

VS Code

The extension includes pre-built binaries - no separate installation required!

Install from the Visual Studio Marketplace:

  1. Open VS Code
  2. Go to Extensions (Cmd+Shift+X / Ctrl+Shift+X)
  3. Search for "pytest Language Server"
  4. Click "Install"

Works out of the box with zero configuration!

IntelliJ IDEA / PyCharm

The plugin includes pre-built binaries - no separate installation required!

Install from the JetBrains Marketplace:

  1. Open PyCharm or IntelliJ IDEA
  2. Go to Settings/Preferences → Plugins
  3. Search for "pytest Language Server"
  4. Click "Install"

Requires PyCharm 2024.2+ or IntelliJ IDEA 2024.2+ with Python plugin.

Emacs

Add this to your config:

(use-package eglot
  :config
  (add-to-list 'eglot-server-programs
               '((python-mode python-ts-mode) . ("pytest-language-server"))))

Other Editors

Any editor with LSP support can use pytest-language-server. Configure it to run the pytest-language-server command.

Configuration

pyproject.toml

Configure pytest-language-server via your project's pyproject.toml:

[tool.pytest-language-server]
# Glob patterns for files/directories to exclude from scanning
exclude = ["build/**", "dist/**", ".tox/**"]

# Disable specific diagnostics
# Valid codes: "undeclared-fixture", "scope-mismatch", "circular-dependency"
disabled_diagnostics = ["undeclared-fixture"]

# Additional directories to scan for fixtures (planned feature)
fixture_paths = ["fixtures/", "shared/fixtures/"]

# Third-party plugins to skip when scanning venv (planned feature)
skip_plugins = ["pytest-xdist"]

Available Options:

Option Type Description
exclude string[] Glob patterns for paths to exclude from workspace scanning
disabled_diagnostics string[] Diagnostic codes to suppress
fixture_paths string[] Additional fixture directories (planned)
skip_plugins string[] Third-party plugins to skip (planned)

Diagnostic Codes:

  • undeclared-fixture - Fixture used in function body but not declared as parameter
  • scope-mismatch - Broader-scoped fixture depends on narrower-scoped fixture
  • circular-dependency - Circular fixture dependency detected

Logging

Control log verbosity with the RUST_LOG environment variable:

# Minimal logging (default)
RUST_LOG=warn pytest-language-server

# Info level
RUST_LOG=info pytest-language-server

# Debug level (verbose)
RUST_LOG=debug pytest-language-server

# Trace level (very verbose)
RUST_LOG=trace pytest-language-server

Logs are written to stderr, so they won't interfere with LSP communication.

Virtual Environment Detection

The server automatically detects your Python virtual environment:

  1. Checks for .venv/, venv/, or env/ in your project root
  2. Falls back to $VIRTUAL_ENV environment variable
  3. Scans third-party pytest plugins for fixtures

Code Actions / Quick Fixes

Code actions are automatically available on diagnostic warnings. If code actions don't appear in your editor:

  1. Check LSP capabilities: Ensure your editor supports code actions (most modern editors do)
  2. Enable debug logging: Use RUST_LOG=info to see if actions are being created
  3. Verify diagnostics: Code actions only appear where there are warnings
  4. Trigger manually: Use your editor's code action keybinding (Cmd+. / Ctrl+.)

CLI Commands

In addition to the LSP server mode, pytest-language-server provides useful command-line tools:

Fixtures List

View all fixtures in your test suite with a hierarchical tree view:

# List all fixtures
pytest-language-server fixtures list tests/

# Skip unused fixtures
pytest-language-server fixtures list tests/ --skip-unused

# Show only unused fixtures
pytest-language-server fixtures list tests/ --only-unused

The output includes:

  • Color-coded display: Files in cyan, directories in blue, used fixtures in green, unused in gray
  • Usage statistics: Shows how many times each fixture is used
  • Smart filtering: Hides files and directories with no matching fixtures
  • Hierarchical structure: Visualizes fixture organization across conftest.py files

Example output:

Fixtures tree for: /path/to/tests

conftest.py (7 fixtures)
├── another_fixture (used 2 times)
├── cli_runner (used 7 times)
├── database (used 6 times)
├── generator_fixture (used 1 time)
├── iterator_fixture (unused)
├── sample_fixture (used 7 times)
└── shared_resource (used 5 times)
subdir/
└── conftest.py (4 fixtures)
    ├── cli_runner (used 7 times)
    ├── database (used 6 times)
    ├── local_fixture (used 4 times)
    └── sample_fixture (used 7 times)

This command is useful for:

  • Auditing fixture usage across your test suite
  • Finding unused fixtures that can be removed
  • Understanding fixture organization and hierarchy
  • Documentation - visualizing available fixtures for developers

Fixtures Unused

Find unused fixtures in your test suite, with CI-friendly exit codes:

# List unused fixtures (text format)
pytest-language-server fixtures unused tests/

# JSON output for programmatic use
pytest-language-server fixtures unused tests/ --format json

Exit codes:

  • 0: All fixtures are used
  • 1: Unused fixtures found

Example text output:

Found 4 unused fixture(s):

  • iterator_fixture in conftest.py
  • auto_cleanup in utils/conftest.py
  • temp_dir in utils/conftest.py
  • temp_file in utils/conftest.py

Tip: Remove unused fixtures or add tests that use them.

Example JSON output:

[
  {"file": "conftest.py", "fixture": "iterator_fixture"},
  {"file": "utils/conftest.py", "fixture": "auto_cleanup"},
  {"file": "utils/conftest.py", "fixture": "temp_dir"},
  {"file": "utils/conftest.py", "fixture": "temp_file"}
]

This command is ideal for:

  • CI/CD pipelines - fail builds when unused fixtures accumulate
  • Code cleanup - identify dead code in test infrastructure
  • Linting - integrate with pre-commit hooks or quality gates

Supported Fixture Patterns

Decorator Style

@pytest.fixture
def my_fixture():
    """Fixture docstring."""
    return 42

Assignment Style (pytest-mock)

mocker = pytest.fixture()(_mocker)

Async Fixtures

@pytest.fixture
async def async_fixture():
    return await some_async_operation()

Fixture Dependencies

@pytest.fixture
def fixture_a():
    return "a"

@pytest.fixture
def fixture_b(fixture_a):  # Go to definition works on fixture_a
    return fixture_a + "b"

@pytest.mark.usefixtures

@pytest.mark.usefixtures("database", "cache")
class TestWithFixtures:
    def test_something(self):
        pass  # database and cache are available

@pytest.mark.parametrize with indirect

@pytest.fixture
def user(request):
    return User(name=request.param)

# All parameters treated as fixtures
@pytest.mark.parametrize("user", ["alice", "bob"], indirect=True)
def test_user(user):
    pass

# Selective indirect fixtures
@pytest.mark.parametrize("user,value", [("alice", 1)], indirect=["user"])
def test_user_value(user, value):
    pass

Imported Fixtures (from ... import *)

# conftest.py
from .pytest_fixtures import *  # Fixtures from pytest_fixtures.py are available

pytest_plugins Variable

# conftest.py
pytest_plugins = ["myapp.fixtures", "other.fixtures"]

# Also supports single strings, tuples, and annotated assignments:
# pytest_plugins = "myapp.fixtures"
# pytest_plugins = ("myapp.fixtures",)
# pytest_plugins: list[str] = ["myapp.fixtures"]

Fixtures declared in pytest_plugins modules are automatically discovered in conftest.py, test files, and plugin entry point modules. Only static string literals are supported — dynamic values are ignored.

Fixture Priority Rules

pytest-language-server correctly implements pytest's fixture shadowing rules:

  1. Same file: Fixtures defined in the same file have highest priority
  2. Closest conftest.py: Searches parent directories for conftest.py files
  3. Virtual environment: Third-party plugin fixtures

Fixture Overriding

The LSP correctly handles complex fixture overriding scenarios:

# conftest.py (parent)
@pytest.fixture
def cli_runner():
    return "parent runner"

# tests/conftest.py (child)
@pytest.fixture
def cli_runner(cli_runner):  # Overrides parent
    return cli_runner  # Uses parent

# tests/test_example.py
def test_example(cli_runner):  # Uses child
    pass

When using find-references:

  • Clicking on the function name def cli_runner(...) shows references to the child fixture
  • Clicking on the parameter cli_runner(cli_runner) shows references to the parent fixture
  • Character-position aware to distinguish between the two

Supported Third-Party Fixtures

Automatically discovers fixtures from 50+ popular pytest plugins, including:

  • Testing frameworks: pytest-mock, pytest-asyncio, pytest-bdd, pytest-cases
  • Web frameworks: pytest-flask, pytest-django, pytest-aiohttp, pytest-tornado, pytest-sanic, pytest-fastapi
  • HTTP clients: pytest-httpx
  • Databases: pytest-postgresql, pytest-mongodb, pytest-redis, pytest-mysql, pytest-elasticsearch
  • Infrastructure: pytest-docker, pytest-kubernetes, pytest-rabbitmq, pytest-celery
  • Browser testing: pytest-selenium, pytest-playwright, pytest-splinter
  • Performance: pytest-benchmark, pytest-timeout
  • Test data: pytest-factoryboy, pytest-freezegun, pytest-mimesis
  • And many more...

The server automatically scans your virtual environment for any pytest plugin and makes their fixtures available.

Architecture

  • Language: Rust 🦀
  • LSP Framework: tower-lsp-server
  • Parser: rustpython-parser
  • Concurrency: tokio async runtime
  • Data Structures: DashMap for lock-free concurrent access

Development

Prerequisites

  • Rust 1.85+ (2021 edition)
  • Python 3.10+ (for testing)

Building

cargo build --release

Running Tests

cargo test

Logging During Development

RUST_LOG=debug cargo run

Security

Security is a priority. This project includes:

  • Automated dependency vulnerability scanning (cargo-audit)
  • License compliance checking (cargo-deny)
  • Daily security audits in CI/CD
  • Dependency review on pull requests
  • Pre-commit security hooks

See SECURITY.md for our security policy and how to report vulnerabilities.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Development Setup

  1. Install pre-commit hooks:

    pre-commit install
    
  2. Run security checks locally:

    cargo audit
    cargo clippy
    cargo test
    

License

MIT License - see LICENSE file for details.

Acknowledgments

Built with:

Special thanks to the pytest team for creating such an amazing testing framework.


Made with ❤️ and Rust. Blazingly fast 🔥

Built with AI assistance, maintained with care.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytest_language_server-0.21.2.tar.gz (2.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pytest_language_server-0.21.2-py3-none-win_amd64.whl (3.3 MB view details)

Uploaded Python 3Windows x86-64

pytest_language_server-0.21.2-py3-none-win32.whl (3.0 MB view details)

Uploaded Python 3Windows x86

pytest_language_server-0.21.2-py3-none-musllinux_1_2_x86_64.whl (3.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

pytest_language_server-0.21.2-py3-none-musllinux_1_2_i686.whl (3.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

pytest_language_server-0.21.2-py3-none-musllinux_1_2_armv7l.whl (3.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

pytest_language_server-0.21.2-py3-none-musllinux_1_2_aarch64.whl (3.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

pytest_language_server-0.21.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

pytest_language_server-0.21.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (3.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

pytest_language_server-0.21.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

pytest_language_server-0.21.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (4.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

pytest_language_server-0.21.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

pytest_language_server-0.21.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

pytest_language_server-0.21.2-py3-none-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

pytest_language_server-0.21.2-py3-none-macosx_10_12_x86_64.whl (3.6 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file pytest_language_server-0.21.2.tar.gz.

File metadata

  • Download URL: pytest_language_server-0.21.2.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pytest_language_server-0.21.2.tar.gz
Algorithm Hash digest
SHA256 1e32f84808b9261b801fa5360016224868b76a7977947f4fbd2db2ec3a759c64
MD5 ea29ffde2cbc0c6869bdcf3d4c9159db
BLAKE2b-256 11ef688912f57b76d66c8616527b8494d2d2cd05a811569b23fdce125acc779b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2.tar.gz:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_language_server-0.21.2-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.21.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f100899a83b8742687c8570c66bb5de96ffe13a321c7bbd9fa1329c21ce5e8c2
MD5 92df7a709d75ae4e5cb4f2c816d6819e
BLAKE2b-256 dcbb8af593a6a90ffcd2a8da9d44bdd33b28cd5322664fa3f44b4e2089cffd79

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2-py3-none-win_amd64.whl:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_language_server-0.21.2-py3-none-win32.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.21.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 a766c408ca37078d6e55b4f28891fa2cdaa682e6742d67d76c5cefea00e3df68
MD5 2e9d21903d019178e8e6179d51915b54
BLAKE2b-256 a208b8ead9a42ee411fd95f8b5dd8f7069be7c578b1f7c98fa338f9a43588dca

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2-py3-none-win32.whl:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_language_server-0.21.2-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.21.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 73abf7680a88e6ea14f1be331d59bddd0ab9e27c2d2dc133f23bbccf381c5d0b
MD5 89ae29cb6e390c3b2053fe70c93c3f4d
BLAKE2b-256 0be6ee86c3cab845a041f65498dbe759be0e9a8b7bbec35485b05e34d7370a00

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2-py3-none-musllinux_1_2_x86_64.whl:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_language_server-0.21.2-py3-none-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.21.2-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 6389309993c6d47a4a7928d7b1c6beb9a231d49df99038ccc1b213fc4acd4ecc
MD5 7389ff4935eabca883053d01d3c011e1
BLAKE2b-256 fe69b5e64e26b7ffced8478e45db3ef872a9d4060c13ce158a195aba7029bbeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2-py3-none-musllinux_1_2_i686.whl:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_language_server-0.21.2-py3-none-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.21.2-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 2a54d09450c1684891b7e93385d29a313eb79f5fb1c43049818cdcfc74ef0693
MD5 e35a3ed8269ed3518112b5cf2e33c2a3
BLAKE2b-256 0cc36bdcfb4dcfdb23568ded6878e496960a4ddba626b0d84aed842f7fc296c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2-py3-none-musllinux_1_2_armv7l.whl:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_language_server-0.21.2-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.21.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 30a7b5ab6b48dbd686115b7df32a6b615ca422ad82b5d442f9a86e5525fe8587
MD5 ab9a11ca7d0ff79a03d108bfa50487f7
BLAKE2b-256 be5c919e1c506a82c3180809afacb1cd656ea9eda0c5b1c8042274cb76746d5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2-py3-none-musllinux_1_2_aarch64.whl:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_language_server-0.21.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.21.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d6bb440c9deea44e79c01fda1ac8d74b89556f01e5c45c168c9840300b610d5c
MD5 f9908baf6ed48579bbd493839dc846c1
BLAKE2b-256 63005c128feaa12645adf730739026e19469c82cd0645016bc49ac5b32a5eb0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_language_server-0.21.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.21.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 af4ce1492eb830da97786decc1d48e129957a7a6fe6a37b435684d1d279fb066
MD5 dbedb9437d6e7656e717c86c1d6ff25c
BLAKE2b-256 58d3d6936dc83c7eee5b8d489d724a2d7be699fc4ad8fe5fb29eb81dbfa58bcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_language_server-0.21.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.21.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 96502b20b95611d0bd86bf3a3b63d1e95732fcf278ba1d12e9d15733616e0fb5
MD5 f895c02c9f25bb452a643c6464573979
BLAKE2b-256 31df46172d665b69512d54ddd8a5eb245a30fa0f4d602dae73bd2e7827dca1bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_language_server-0.21.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.21.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 35d80f3c832d25ab3daad2498e53d84c3ae07a5c2a93c3ecbb3c5e1fa47363c9
MD5 eeee2d5c2677002284503c45a6c872db
BLAKE2b-256 45ff164862e9fd55bcaa87706e7c9616b99f093c056000347c6a57e703a87c1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_language_server-0.21.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.21.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 6c8ed3f00ca0fde7603939108485138ae8aab35405c8a84f8d78ba8277018093
MD5 24307dc095d108e436d703faa0100b1c
BLAKE2b-256 a62133063b877ba4e7fd34ab978024fc18fa021ec51f66f6bfee0c529d1acb99

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_language_server-0.21.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.21.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 db7b2cb62b4c80e6e1b129315c9b75287d7163a51ab5c2fbb09d9df293eec51b
MD5 894ae1e5a17119c22ad7d441f67f3ca0
BLAKE2b-256 4bc416d2009a565068645748a35490d11f4044cc29412652ddd81b7f27634621

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_language_server-0.21.2-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.21.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d084c893d9e767a2c922eb60a4c46197fdf0cb07d6d089c73b3f2126451b2e68
MD5 d6f8b7a647290390ceab87f14716312b
BLAKE2b-256 18c865acd179fb976538bb1dc3db25ab6bf613a87ea9a991243acf5d00b16f3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_language_server-0.21.2-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.21.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 51fa3cbf687aa5c2639495e94544feb50ee4c5d2d7df4c40051ac8a4f5722772
MD5 31eb07ba756191cde8a71c7e6df607da
BLAKE2b-256 a101068f05bf8dafc2753fca69ca9300a92da8b62f7a47d6335cdfb4504d0d71

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.21.2-py3-none-macosx_10_12_x86_64.whl:

Publisher: release.yml on bellini666/pytest-language-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page