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.7.2.tar.gz (2.7 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.7.2-py3-none-win_amd64.whl (2.9 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

pytest_language_server-0.7.2-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.7.2-py3-none-musllinux_1_2_i686.whl (3.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

pytest_language_server-0.7.2-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.7.2-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.7.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

pytest_language_server-0.7.2-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.7.2-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.7.2-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.7.2-py3-none-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

pytest_language_server-0.7.2-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.7.2.tar.gz.

File metadata

  • Download URL: pytest_language_server-0.7.2.tar.gz
  • Upload date:
  • Size: 2.7 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.7.2.tar.gz
Algorithm Hash digest
SHA256 5c24f063d4b4aab37c70babd0a13664a0ad747a9e398b4872dbc90ed168e7ccf
MD5 0b76177cea6687981106812dc49ebf4e
BLAKE2b-256 c40d44a411b5146a9cf3e1ab2731834e94e44969a2ad65b989a228ae9f39c655

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.7.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b0d51c9dcbb863a0517526be3a9fd561063878d1990a5a802fa9e01454b815cf
MD5 cb384d052b7ae2d6915495880f0fd95d
BLAKE2b-256 bb4e6ab7c6b95842b8436323b83a691964a049ae889857c5de37cf87b591b937

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.7.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 1f4d9f0b28c1945953ea1a569fa27bdaa3b4e2e86105016ea66a61bdb759271e
MD5 a8e821fa529f2f4da48630e49efe8c08
BLAKE2b-256 d49bc20931d3ab82e71f1a9f9b341a42bde90895b283f0619f35df990fe00cca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.7.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 57d85de85ec06591f50394f1704f52d88f1db6d1c0b5c1b150f602681263959a
MD5 7f2d535a19b7de98d0491db1593d37be
BLAKE2b-256 1b968a4a8325229f779898119030c716be425905df96e50bb46d2782f04d6c7f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.7.2-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f0077f739c52584a9cd7426d65b183ce4933f9d931d1f355e82a73eeaaa3069e
MD5 ad9a8a346dc8670eea9085e05691942b
BLAKE2b-256 a8a86acef12b6c999da687dc5382dc17371f20e747f0a75c0ab54f57aa5edae2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.7.2-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 7a059c6541ab25797cef4be4b0517c78b4594b6599e3b91cebc40c429a802139
MD5 46279c1fcf0255d2599276fa9bb1b3bd
BLAKE2b-256 3bdf6c920d6c9cedef7c263ab4f3a771db8ae4569ff31034b45c25a8e50d62dc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.7.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 aea1af1e0964d5b68fa75aa0e8139d6b7cebc1147b94c255b8715e6aaa386abc
MD5 b48eeebcb2ccf82d42ed0e7b4d0d7336
BLAKE2b-256 5ad9421f65f73c37d8d159e5e5545b725785d1897461eff3aaa5e3955be4b6ca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.7.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f3053bf01bd1b4852da3d62f3922a6052c3fdd2af0ed8643fd90ed861d59128b
MD5 83ed2eb62e3a12069f66cf7d108f1aa8
BLAKE2b-256 9967d13960d9e913bdbf3c3ab9fbd618b23e98a6547ad933ea700c834bf8a42f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.7.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 bf013f0f37257f13525a5eb753772a349f88b8125b5c9f1ba110187d70735429
MD5 b9a1330c19ecf0b528017c610b706c1d
BLAKE2b-256 c149f591c2caeecaf958c4a59c7bcf81d0315b052a8a5b9cdfdfdefc6f83af9f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.7.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 0c69fe451a0c5bea77ddf42ebb4ced16f87d3cac300f80bc72786867793dc037
MD5 835a05fc5cf1ae4a9d9706fca67fa8c0
BLAKE2b-256 4db8fce17a2548138178b5d5ef659da350cb50ae2882912743332d2abbaeb4a7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.7.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1502ab43465719afea99c59d2fd9677a03dc7bba4fa1851a4728badfa81ec673
MD5 6fc8a4ee1cacdcb40b20778d91e00f87
BLAKE2b-256 efd71ea80dd086dba077b5c918075956e1759b6560760afcdf42751ac75053cf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.7.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 83c0d206d1cf8dd8c1b63082e63397138dc5741e3802d072932d8fdd422ca8d5
MD5 80c1cdc0f13488402bb5688030c1c23f
BLAKE2b-256 ad77d685877fd06447b5c01ce640280acd1b48b557cf7315ff0794ba896db975

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.7.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 94546b2fb9ef274b597559fa9994b169d8222645140396864b30b23346cf7daf
MD5 04e2bb8adaaec72e9bc35b8369b81acc
BLAKE2b-256 98250625b53d6039afcd427d343490032363fbd8d4382bf3a6b3eb55b9e595ca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.7.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9348e208081eca8adbfccbfaf9e714bf5ca7df179c4363f6b2354c41b9fa9dd1
MD5 b09b560c78ae54348091fe5420874f47
BLAKE2b-256 cbebe61f176c82268323acdfe9949cd1ed109a3317de1b4153f288ffc8937f4a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pytest_language_server-0.7.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 58a102ca0b1c5291de21d4e2c568e9e82c9b1c8320c57ae9bb2cb6fd05e56b93
MD5 3e02e452108a03c8cb2bb0c24295e74f
BLAKE2b-256 e1e5950bd9f1c99274e689080d463ad3dd3e50eebe327a0687dfd386e8ff33a6

See more details on using hashes here.

Provenance

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