{"library":"local-attention","title":"Local Attention","description":"local-attention is a Python library by lucidrains that implements local attention mechanisms with configurable windowing and lookback/lookforward options, primarily for language modeling tasks. It leverages PyTorch for efficient computation and is actively maintained with frequent minor and patch releases.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install local-attention"],"cli":null},"imports":["from local_attention import LocalAttention"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import torch\nfrom local_attention import LocalAttention\n\n# Ensure reproducibility\ntorch.manual_seed(42)\n\n# Define the local attention layer\n# window_size defines the local neighborhood.\n# look_backward=1 means each token looks at (window_size) tokens to its left.\n# look_forward=0 means it does not look at tokens to its right (causal).\nattn = LocalAttention(\n    window_size = 512,\n    look_backward = 1,\n    look_forward = 0,\n    dropout = 0.,\n    causal = True, # Set to True for autoregressive models\n    exact_windowsize = False\n)\n\n# Create a dummy input tensor: (batch, sequence_length, feature_dimension)\n# For example, a batch of 1 sequence, 1024 tokens long, with 512 features per token.\nx = torch.randn(1, 1024, 512)\n\n# Apply local attention\ny = attn(x)\n\nprint(f\"Input shape: {x.shape}\")\nprint(f\"Output shape: {y.shape}\")\n# The output shape should be the same as the input shape\nassert x.shape == y.shape\nprint(\"Local attention applied successfully.\")\n","lang":"python","description":"Initializes a `LocalAttention` module with specified windowing parameters and applies it to a dummy input tensor. This example demonstrates a causal attention setup suitable for autoregressive models.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"1.11.2","pypi_latest":"1.11.2","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":74,"avg_import_s":5.34,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"local-attention","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"local-attention","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":76.2,"import_time_s":3.91,"mem_mb":59.7,"disk_size":"4.6G"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"local-attention","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"local-attention","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":67.2,"import_time_s":6.42,"mem_mb":64.5,"disk_size":"4.7G"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"local-attention","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"local-attention","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":61.8,"import_time_s":7.52,"mem_mb":63.4,"disk_size":"4.7G"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"local-attention","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"local-attention","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":55.3,"import_time_s":5.28,"mem_mb":63.8,"disk_size":"4.7G"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"local-attention","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"local-attention","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":109.4,"import_time_s":3.55,"mem_mb":52.2,"disk_size":"6.4G"}]}}