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.

Demo

pytest-language-server demo

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

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.

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

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.

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.

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

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

Uploaded Python 3Windows x86-64

pytest_language_server-0.9.0-py3-none-win32.whl (2.8 MB view details)

Uploaded Python 3Windows x86

pytest_language_server-0.9.0-py3-none-musllinux_1_2_x86_64.whl (3.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

pytest_language_server-0.9.0-py3-none-musllinux_1_2_i686.whl (3.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

pytest_language_server-0.9.0-py3-none-musllinux_1_2_armv7l.whl (3.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

pytest_language_server-0.9.0-py3-none-musllinux_1_2_aarch64.whl (3.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

pytest_language_server-0.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

pytest_language_server-0.9.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (3.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

pytest_language_server-0.9.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

pytest_language_server-0.9.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (3.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

pytest_language_server-0.9.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

pytest_language_server-0.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

pytest_language_server-0.9.0-py3-none-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

pytest_language_server-0.9.0-py3-none-macosx_10_12_x86_64.whl (3.3 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: pytest_language_server-0.9.0.tar.gz
  • Upload date:
  • Size: 2.8 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.9.0.tar.gz
Algorithm Hash digest
SHA256 429bcacc1c88b30e48120e32795e5e4370168902ee89a9aa5c4f605c2c595127
MD5 b8cdaeb8b685eb7ba19879c344c4ffe9
BLAKE2b-256 d886ea75fb499a41eb55a600a37cc196a60d7973467994ee4ef34ccf163a27ed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.9.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 3e4327f53c8a01efad35136c3666b0babb02358798ab0d1629ff796ba19a9e60
MD5 91b5efb8d226617fb78e3dca96386d34
BLAKE2b-256 2e7924a1abff8e7a4a978c9e2f52d4105b5a55cda9c11600bc3add5ae4369ffc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.9.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 38575ffedc9ba883a261d2fe6e07f5a23421665ae9096cecf91932d98ac608db
MD5 b4fe24dd61d4ae9fdb2bd258dc9c07a6
BLAKE2b-256 3b250d72cf547d974802e1c55568ca9be70490f3e114821cfb6350767f5cded8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.9.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 96e8ed858520217c7c61f51a8341cb563d140504ae51f44588d21dcb376487fe
MD5 a6e7ceb4de666e49473c4c4de238236a
BLAKE2b-256 6a53f459b9e6cdea35952a15923268a0d593a1eb025a19726f86ed91a494adb9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.9.0-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 5c82185d81c09e07b4429cce0962b189f6c44a274070b634b81bd4458017f4fc
MD5 43d9c9798c4f42c92aff9caff16da290
BLAKE2b-256 75d56486ffaa0e62167606db7c091e26a65fd9e2763be2022563d6841508bd08

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.9.0-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 675b7d8b8ec2faf7ec0fea75e02128608815d51bcb7464d1eb1649b57a66a060
MD5 fc790b0cec33d8a6d8fdd81b5e0151c5
BLAKE2b-256 e95551f5f53261f7f472edff73681fc8afcbba4a9491ecfbfa1cf5c4a83c7daf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.9.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 00fa1053b03d5d5ae74a358792e9eddb3aa8c69a5c72e87cb34a95ca764dd159
MD5 a262af35d7134e7916d38df4dc1782cf
BLAKE2b-256 32d867e3596709c2f9775f06b495a4ba3a8e21b6089d7206737d4cef6f680ce8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 02a3eb1ad5abac4949676c7ebd983a0f362dbcb441175b7dd74dccd18d4cdbe2
MD5 9c7c5fd22ba7054ff3ae64e5fb35e931
BLAKE2b-256 9f1de76e2067e931e0a9c93d1645e83c96ce36d3f73852236ac61fc5e5680e0c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.9.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 5cb0c8177df66c521ca803d62922d26dcd14a44c3da89c5e10c0edea822dd277
MD5 bdf8fc2243b5588f55987f47dbc2df90
BLAKE2b-256 75f903cf569ddf140e48fe7baf8d76ce3ad7edd9b177e132e0b4dfdeeebc960f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.9.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 8601d05c5d51165fbf544b1899594e1c8c31d1beb095816294f5946f92d527f6
MD5 d75b01befc54ce8622771188721f2bd8
BLAKE2b-256 798c180755d200d1b3b7d415426edc1c93d529c602958720d131ed0ab11756cc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.9.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f5ec0250ba8400a8e1ecb9dc2fe21431ff8ab6bed458ebee67dea236e7dec943
MD5 6fee85bcb67938bfb092c0702f69fe6a
BLAKE2b-256 f81b54f7a62170eaa51895cff003c4b24936668d2a59c70c5cadf6a8914f7829

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.9.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 2a0ee8a9615aadd61bf4ae9ba0421753a5008ff3e08fed546ea9411ea15a0c09
MD5 c41e5072f466ef953b7c3d6b72a7cec5
BLAKE2b-256 f6fff31128142d26212c6deff0dfba9cd2b516853614ec0c9123f922c31dd0c2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4926ffd1c3dc357a26d4c53b54577fe2b616ce633bc4c36db5226fceec3cbdd1
MD5 59f8a05b9b3cc948d93a4296c4658f5d
BLAKE2b-256 383a9cb89961899e5c02576cb09ad5c9bc77bd2ccd47c55894f3e4c852ca55e5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.9.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 22f3b66719d10864d2dcf3ddf31d594d597b0e48d9863b353a1b4a555bdea60c
MD5 b878fcea027c37ee452c143708b6409a
BLAKE2b-256 7b014c05f638bb4d34658e02c5812287a8f23e512366229851530da56aefd0aa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.9.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3438643894f0d9a74099ce6c301d2e1f405330dd1fc9f9fae6e8840f2bdad63e
MD5 e373e6c99c01aeae9ad0b81098926aa0
BLAKE2b-256 a53ea1aff6e67d497fa44e5cd294c7c57b05ca0f5d1fcad6c92e8ca1e7008e01

See more details on using hashes here.

Provenance

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