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

Shamelessly vibed into existence 🤖✨

This entire LSP implementation was built from scratch in a single AI-assisted coding session. No template. No boilerplate. Just pure vibes and Rust. That's right - a complete, working Language Server Protocol implementation for pytest, vibed into reality through the power of modern AI tooling. Even this message about vibing was vibed into existence.

A blazingly fast Language Server Protocol (LSP) implementation for pytest, built with Rust.

Demo

pytest-language-server demo

Showcasing go-to-definition, code completion, hover documentation, and code actions. Demo also vibed into existence.

Features

🎯 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

✨ 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

💡 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:

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 (with nvim-lspconfig)

require'lspconfig'.pytest_lsp.setup{
  cmd = { "pytest-language-server" },
  filetypes = { "python" },
  root_dir = function(fname)
    return require'lspconfig'.util.root_pattern('pyproject.toml', 'setup.py', 'setup.cfg', 'pytest.ini')(fname)
  end,
}

Zed

Install the extension from the 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 will automatically detect pytest-language-server if it's in your PATH.

VS Code

Install the extension from the marketplace (coming soon) or configure manually:

{
  "pytest-language-server.enable": true,
  "pytest-language-server.path": "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

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+.)

For detailed troubleshooting, see CODE_ACTION_TESTING.md.

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"

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 popular pytest plugins:

  • pytest-mock: mocker, class_mocker
  • pytest-asyncio: event_loop
  • pytest-django: Database fixtures
  • pytest-cov: Coverage fixtures
  • And any other pytest plugin in your environment

Architecture

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

Development

Prerequisites

  • Rust 1.83+ (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. Shamelessly vibed into existence. Blazingly fast. 🔥

When you need a pytest LSP and the vibes are just right.

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.6.0.tar.gz (2.2 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.6.0-py3-none-win_amd64.whl (2.8 MB view details)

Uploaded Python 3Windows x86-64

pytest_language_server-0.6.0-py3-none-win32.whl (2.6 MB view details)

Uploaded Python 3Windows x86

pytest_language_server-0.6.0-py3-none-musllinux_1_2_x86_64.whl (3.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

pytest_language_server-0.6.0-py3-none-musllinux_1_2_i686.whl (3.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

pytest_language_server-0.6.0-py3-none-musllinux_1_2_armv7l.whl (3.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

pytest_language_server-0.6.0-py3-none-musllinux_1_2_aarch64.whl (3.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

pytest_language_server-0.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

pytest_language_server-0.6.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (3.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

pytest_language_server-0.6.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

pytest_language_server-0.6.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (3.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

pytest_language_server-0.6.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

pytest_language_server-0.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

pytest_language_server-0.6.0-py3-none-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

pytest_language_server-0.6.0-py3-none-macosx_10_12_x86_64.whl (3.1 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: pytest_language_server-0.6.0.tar.gz
  • Upload date:
  • Size: 2.2 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.6.0.tar.gz
Algorithm Hash digest
SHA256 6f075e584c9d6f4c74762b736a45e15929fe69b837d6a5fc6d511e86c25ec823
MD5 7263bf316dc0a6e3aeb8b0803048ca12
BLAKE2b-256 57a01c0864f232736ed08a750205b34871a422af908b1fab8195a3c309729a4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0.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.6.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.6.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9247b634164c03c43628555468e0013a453c664c84ffe16b8c865a3e9bb2b7e0
MD5 71327958b6933eee99a9ddd02b3f825a
BLAKE2b-256 1719a4bd359674e4213692fefcc0b109ad2d3faa8a531c3f966f15ba1a95c66c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0-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.6.0-py3-none-win32.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.6.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 b0d41e7faa4e9aad6f4c231f27eecd94dafef309dec2fdbe3d54029c04bf9af2
MD5 169c9f5416f2b110bd101431e1806dc8
BLAKE2b-256 a21ab0c06aa66d8a10eff1e3dd986df3dc50fddf3c263600a05d0d8a07a4c80b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0-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.6.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.6.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e002943eaf40da2157f755ae75cdaff8df15d408928a421074cf0810d6a67e8d
MD5 5dae44466a5cd5d52b24a1912da276f3
BLAKE2b-256 76c8fc686050ef0e7e03120fb0e30046b20ffc31556f3298dc7e53f903c8cb15

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0-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.6.0-py3-none-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.6.0-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c2413e17120176c493e38a9a59d7e7f7ae0175fab4c9ddc2937519a613a63c75
MD5 3a6cab18d7ca4a9ef1334365c97ce392
BLAKE2b-256 7ee727ace1be0950db8fad7eb69960379a6e63a6ceeda5b597f07902e7d1e09c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0-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.6.0-py3-none-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.6.0-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 7f433f250fe0c071ba2e79539fcabe328117eeff0da9598dbd36c04f8acbfe5d
MD5 c50310177f8180693fa9c8cd5f7b2ac5
BLAKE2b-256 35ee1fee4dfd286527560aa7f9394635b60f17838d51db9e37520ef273c447d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0-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.6.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.6.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 776cb954b0836c00c88d0da5f10f7eb084550d0fcb07e5746855fd5e45bf646f
MD5 38f954c1d86526aa47ff35de27116d36
BLAKE2b-256 f648078c5d5bc0bcfb37ba089655a36ad64f47764e37614b0e7212fdd23f1fb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0-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.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e7f600d1d07909caeb7e1462ae67cf520ca4d4f13eb8764c7f6a01060321f0f0
MD5 b693a00f10f19b67f332e4660bf189be
BLAKE2b-256 2cab4dfe9b74c1dd4b9f86d11d9b1342e437146ee2ca66d9b94e8ae5fe501ff2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0-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.6.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.6.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d211cbe4fe2079c8d92aab7009b27e5700b40a35919a35346d72759fef342013
MD5 d9f7d7e9e8f1d76d269b72f37376422c
BLAKE2b-256 56bfd97a2de74f379f56db0e4a2ce439726263c4854cd0bb8b514e2dabc47fa7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0-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.6.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.6.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4960c64d06eb82704bbf0e73ffb2e104d6b285b032078370430a62cf620da26c
MD5 e3b8f779cb76f6e6c2c5cdee25d0654c
BLAKE2b-256 644cda237e320e73cf4642e51a78e0cce7a2fec075ac85577c836d3c921f9266

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0-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.6.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.6.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 bea2f261fec67ae68dd77f1bd35472a868797874c4ce41edb2a8843cae9a462b
MD5 fe101fa92d1f3057b0a269e430d73deb
BLAKE2b-256 082e8ff1203349280e3e906c994f99323cf497511f6017c14c4c6a9561d3abed

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0-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.6.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.6.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 db2da5135bfc6fb8956d39ef84ec47f2489eea666ef5681802a9930c6b84b9db
MD5 6b79de6334fb76d5cfc95e3f9666cd5d
BLAKE2b-256 d400b66499ea2e7f15aae692aeb686ca6cd25e9c8e5f1146b47c6467a594c960

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0-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.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d4979e83927b9e21f0d5b3fd606327d7ac63e4203d52e2b46eded66d87717118
MD5 9ce68552c325da4e8af7bb714a9d1445
BLAKE2b-256 64994f61a76ead78bdf9dc78a2c095e751ee453cd5054466d425a00d41fc1cc9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0-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.6.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.6.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 801bac25fa8eb4ea1e5ee93ad229ed1761a6c67bfc16f34b412430361c6a5411
MD5 4ca23917a6bb4582c246295761a22401
BLAKE2b-256 351e772d078eb22f85880718f776921a166a001c98a47a87a8d667d4b891d7e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0-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.6.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pytest_language_server-0.6.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a7222265dd53e81940ba343e1185b30b93d870cf8b87e172968c3d18666973a3
MD5 80850b981c1ce76f08e7366da4d43c3d
BLAKE2b-256 ce5c9756440110d04f30597c1b542718b5c7755dc862357c58fe39fd61917ec7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_language_server-0.6.0-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