Skip to main content

Package for interpreting and manipulating the internals of deep learning models.

Project description

nnsight

Interpret and manipulate the internals of deep learning models

Documentation | GitHub | Discord | Forum | Twitter | Paper

Ask DeepWiki


About

nnsight is a Python library that enables interpreting and intervening on the internals of deep learning models. It provides a clean, Pythonic interface for:

  • Accessing activations at any layer during forward passes
  • Modifying activations to study causal effects
  • Computing gradients with respect to intermediate values
  • Batching interventions across multiple inputs efficiently

Originally developed in the NDIF team at Northeastern University, nnsight supports local execution on any PyTorch model and remote execution on large models via the NDIF infrastructure.

📖 For a deeper technical understanding of nnsight's internals (tracing, interleaving, the Envoy system, etc.), see NNsight.md.


Installation

pip install nnsight

Agents

Inform LLM agents how to use nnsight using one of these methods:

Skills Repository

Claude Code

# Open Claude Code terminal
claude

# Add the marketplace (one time)
/plugin marketplace add https://github.com/ndif-team/skills.git

# Install all skills
/plugin install nnsight@skills

OpenAI Codex

# Open OpenAI Codex terminal
codex

# Install skills
skill-installer install https://github.com/ndif-team/skills.git

Context7 MCP

Alternatively, use Context7 to provide up-to-date nnsight documentation directly to your LLM. Add use context7 to your prompts or configure it in your MCP client:

{
  "mcpServers": {
    "context7": {
      "url": "https://mcp.context7.com/mcp"
    }
  }
}

See the Context7 README for full installation instructions across different IDEs.

Documentation Files

You can also add our documentation files directly to your agent's context:

  • CLAUDE.md — Comprehensive guide for AI agents working with nnsight
  • NNsight.md — Deep technical documentation on nnsight's internals

Quick Start

from nnsight import LanguageModel

model = LanguageModel('openai-community/gpt2', device_map='auto', dispatch=True)

with model.trace('The Eiffel Tower is in the city of'):
    # Intervene on activations (must access in execution order!)
    model.transformer.h[0].output[0][:] = 0
    
    # Access and save hidden states from a later layer
    hidden_states = model.transformer.h[-1].output[0].save()
    
    # Get model output
    output = model.output.save()

print(model.tokenizer.decode(output.logits.argmax(dim=-1)[0]))

💡 Tip: Always call .save() on values you want to access after the trace exits. Without .save(), values are garbage collected. You can also use nnsight.save(value) as an alternative.

Accessing Activations

with model.trace("The Eiffel Tower is in the city of"):
    # Access attention output
    attn_output = model.transformer.h[0].attn.output[0].save()
    
    # Access MLP output
    mlp_output = model.transformer.h[0].mlp.output.save()

    # Access any layer's output (access in execution order)
    layer_output = model.transformer.h[5].output[0].save()
    
    # Access final logits
    logits = model.lm_head.output.save()

Note: GPT-2 transformer layers return tuples where index 0 contains the hidden states.

Modifying Activations

In-Place Modification

with model.trace("Hello"):
    # Zero out all activations
    model.transformer.h[0].output[0][:] = 0
    
    # Modify specific positions
    model.transformer.h[0].output[0][:, -1, :] = 0  # Last token only

Replacement

with model.trace("Hello"):
    # Add noise to activations
    hs = model.transformer.h[-1].mlp.output.clone()
    noise = 0.01 * torch.randn(hs.shape)
    model.transformer.h[-1].mlp.output = hs + noise
    
    result = model.transformer.h[-1].mlp.output.save()

Batching with Invokers

Process multiple inputs in one forward pass. Each invoke runs its code in a separate worker thread:

  • Threads execute serially (no race conditions)
  • Each thread waits for values via .output, .input, etc.
  • Invokes run in the order they're defined
  • Cross-invoke references work because threads run sequentially
  • Within an invoke, access modules in execution order only
with model.trace() as tracer:
    # First invoke: worker thread 1
    with tracer.invoke("The Eiffel Tower is in"):
        embeddings = model.transformer.wte.output  # Thread waits here
        output1 = model.lm_head.output.save()
    
    # Second invoke: worker thread 2 (runs after thread 1 completes)
    with tracer.invoke("_ _ _ _ _ _"):
        model.transformer.wte.output = embeddings  # Uses value from thread 1
        output2 = model.lm_head.output.save()

Prompt-less Invokers

Use .invoke() with no arguments to operate on the entire batch:

with model.trace() as tracer:
    with tracer.invoke("Hello"):
        out1 = model.lm_head.output[:, -1].save()
    
    with tracer.invoke(["World", "Test"]):
        out2 = model.lm_head.output[:, -1].save()
    
    # No-arg invoke: operates on ALL 3 inputs
    with tracer.invoke():
        out_all = model.lm_head.output[:, -1].save()  # Shape: [3, vocab]

Multi-Token Generation

Use .generate() for autoregressive generation:

with model.generate("The Eiffel Tower is in", max_new_tokens=3) as tracer:
    output = model.generator.output.save()

print(model.tokenizer.decode(output[0]))
# "The Eiffel Tower is in the city of Paris"

Iterating Over Generation Steps

with model.generate("Hello", max_new_tokens=5) as tracer:
    logits = list().save()
    
    # Iterate over all generation steps
    for step in tracer.iter[:]:
        logits.append(model.lm_head.output[0][-1].argmax(dim=-1))

print(model.tokenizer.batch_decode(logits))

Conditional Interventions Per Step

with model.generate("Hello", max_new_tokens=5) as tracer:
    outputs = list().save()
    
    for step_idx in tracer.iter[:]:
        if step_idx == 2:
            model.transformer.h[0].output[0][:] = 0  # Only on step 2

        outputs.append(model.transformer.h[-1].output[0])

⚠️ Warning: Code after tracer.iter[:] never executes! The unbounded iterator waits forever for more steps. Put post-iteration code in a separate tracer.invoke(). When using multiple invokes, do not pass input to generate() — pass it to the first invoke:

with model.generate(max_new_tokens=3) as tracer:
    with tracer.invoke("Hello"):  # First invoker — pass input here
        for step in tracer.iter[:]:
            hidden = model.transformer.h[-1].output.save()
    with tracer.invoke():  # Second invoker — runs after generation
        final = model.output.save()  # Now works!

Gradients

Gradients are accessed on tensors (not modules), only inside a with tensor.backward(): context:

with model.trace("Hello"):
    hs = model.transformer.h[-1].output[0]
    hs.requires_grad_(True)
    
    logits = model.lm_head.output
    loss = logits.sum()
    
    with loss.backward():
        grad = hs.grad.save()

print(grad.shape)

Model Editing

Create persistent model modifications:

# Create edited model (non-destructive)
with model.edit() as model_edited:
    model.transformer.h[0].output[0][:] = 0

# Original model unchanged
with model.trace("Hello"):
    out1 = model.transformer.h[0].output[0].save()

# Edited model has modification
with model_edited.trace("Hello"):
    out2 = model_edited.transformer.h[0].output[0].save()

assert not torch.all(out1 == 0)
assert torch.all(out2 == 0)

Scanning (Shape Inference)

Get shapes without running the full model. Like all tracing contexts, .save() is required to persist values outside the block:

import nnsight

with model.scan("Hello"):
    dim = nnsight.save(model.transformer.h[0].output[0].shape[-1])

print(dim)  # 768

Caching Activations

Automatically cache outputs from modules:

with model.trace("Hello") as tracer:
    cache = tracer.cache()

# Access cached values
layer0_out = cache['model.transformer.h.0'].output
print(cache.model.transformer.h[0].output[0].shape)

Sessions

Group multiple traces for efficiency:

with model.session() as session:
    with model.trace("Hello"):
        hs1 = model.transformer.h[0].output[0].save()
    
    with model.trace("World"):
        model.transformer.h[0].output[0][:] = hs1  # Use value from first trace
        hs2 = model.transformer.h[0].output[0].save()

Remote Execution (NDIF)

Run on NDIF's remote infrastructure:

from nnsight import CONFIG
CONFIG.set_default_api_key("YOUR_API_KEY")

model = LanguageModel("meta-llama/Meta-Llama-3.1-8B")

with model.trace("Hello", remote=True):
    hidden_states = model.model.layers[-1].output.save()

Check available models at nnsight.net/status

vLLM Integration

High-performance inference with vLLM:

from nnsight.modeling.vllm import VLLM

model = VLLM("gpt2", tensor_parallel_size=1, dispatch=True)

with model.trace("Hello", temperature=0.0, max_tokens=5) as tracer:
    logits = list().save()
    
    for step in tracer.iter[:]:
        logits.append(model.logits.output)

NNsight for Any PyTorch Model

Use NNsight for arbitrary PyTorch models:

from nnsight import NNsight
import torch

net = torch.nn.Sequential(
    torch.nn.Linear(5, 10),
    torch.nn.Linear(10, 2)
)

model = NNsight(net)

with model.trace(torch.rand(1, 5)):
    layer1_out = model[0].output.save()
    output = model.output.save()

Source Tracing

Access intermediate operations inside a module's forward pass. .source rewrites the forward method to hook into all operations:

# Discover available operations
print(model.transformer.h[0].attn.source)
# Shows forward method with operation names like:
#   attention_interface_0 -> 66  attn_output, attn_weights = attention_interface(...)
#   self_c_proj_0         -> 79  attn_output = self.c_proj(attn_output)

# Access operation values
with model.trace("Hello"):
    attn_out = model.transformer.h[0].attn.source.attention_interface_0.output.save()

Ad-hoc Module Application

Apply modules out of their normal execution order:

with model.trace("The Eiffel Tower is in the city of"):
    # Get intermediate hidden states
    hidden_states = model.transformer.h[-1].output[0]
    
    # Apply lm_head to get "logit lens" view
    logits = model.lm_head(model.transformer.ln_f(hidden_states))
    tokens = logits.argmax(dim=-1).save()

print(model.tokenizer.decode(tokens[0]))

Core Concepts

Deferred Execution with Thread-Based Synchronization

NNsight uses deferred execution with thread-based synchronization:

  1. Code extraction: When you enter a with model.trace(...) block, nnsight captures your code (via AST) and immediately exits the block
  2. Thread execution: Your code runs in a separate worker thread
  3. Value waiting: When you access .output, the thread waits until the model provides that value
  4. Hook-based injection: The model uses PyTorch hooks to provide values to waiting threads
with model.trace("Hello"):
    # Code runs in a worker thread
    # Thread WAITS here until layer output is available
    hs = model.transformer.h[-1].output[0]
    
    # .save() marks the value to persist after the context exits
    hs = hs.save()
    # Alternative: hs = nnsight.save(hs)

# After exiting, hs contains the actual tensor
print(hs.shape)  # torch.Size([1, 2, 768])

Key insight: Your code runs directly. When you access .output, you get the real tensor - your thread just waits for it to be available.

Important: Within an invoke, you must access modules in execution order. Accessing layer 5's output before layer 2's output will cause a deadlock (layer 2 has already been executed).

Key Properties

Every module has these special properties. Accessing them causes the worker thread to wait for the value:

Property Description
.output Module's forward pass output (thread waits)
.input First positional argument to the module
.inputs All inputs as (args_tuple, kwargs_dict)

Note: .grad is accessed on tensors (not modules), only inside a with tensor.backward(): context.

Module Hierarchy

Print the model to see its structure:

print(model)
# GPT2LMHeadModel(
#   (transformer): GPT2Model(
#     (h): ModuleList(
#       (0-11): 12 x GPT2Block(
#         (attn): GPT2Attention(...)
#         (mlp): GPT2MLP(...)
#       )
#     )
#   )
#   (lm_head): Linear(...)
# )

Troubleshooting

Error Cause Fix
OutOfOrderError: Value was missed... Accessed modules in wrong order Access modules in forward-pass execution order
NameError after tracer.iter[:] Code after unbounded iter doesn't run Use separate tracer.invoke() for post-iteration code; pass input to first invoke, not generate()
ValueError: Cannot invoke during an active model execution Passed input to generate() while using multiple invokes Use model.generate(max_new_tokens=N) with no input; pass prompt to first tracer.invoke("Hello")
ValueError: Cannot return output of Envoy... No input provided to trace Provide input: model.trace(input) or use tracer.invoke(input)

For more debugging tips, see the documentation.


More Resources

  • Documentation — Tutorials, guides, and API reference
  • NNsight.md — Deep technical documentation on nnsight's internals
  • CLAUDE.md — Comprehensive guide for AI agents working with nnsight
  • Performance Report — Detailed performance analysis and benchmarks

Citation

If you use nnsight in your research, please cite:

@article{fiottokaufman2024nnsightndifdemocratizingaccess,
      title={NNsight and NDIF: Democratizing Access to Foundation Model Internals}, 
      author={Jaden Fiotto-Kaufman and Alexander R Loftus and Eric Todd and Jannik Brinkmann and Caden Juang and Koyena Pal and Can Rager and Aaron Mueller and Samuel Marks and Arnab Sen Sharma and Francesca Lucchetti and Michael Ripa and Adam Belfki and Nikhil Prakash and Sumeet Multani and Carla Brodley and Arjun Guha and Jonathan Bell and Byron Wallace and David Bau},
      year={2024},
      eprint={2407.14561},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2407.14561}, 
}

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

nnsight-0.6.3.tar.gz (1.3 MB view details)

Uploaded Source

Built Distributions

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

nnsight-0.6.3-cp314-cp314t-win_amd64.whl (178.5 kB view details)

Uploaded CPython 3.14tWindows x86-64

nnsight-0.6.3-cp314-cp314t-win32.whl (178.1 kB view details)

Uploaded CPython 3.14tWindows x86

nnsight-0.6.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (184.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

nnsight-0.6.3-cp314-cp314t-macosx_11_0_arm64.whl (176.3 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

nnsight-0.6.3-cp314-cp314-win_amd64.whl (178.4 kB view details)

Uploaded CPython 3.14Windows x86-64

nnsight-0.6.3-cp314-cp314-win32.whl (178.0 kB view details)

Uploaded CPython 3.14Windows x86

nnsight-0.6.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (183.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

nnsight-0.6.3-cp314-cp314-macosx_11_0_arm64.whl (176.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nnsight-0.6.3-cp313-cp313-win_amd64.whl (178.3 kB view details)

Uploaded CPython 3.13Windows x86-64

nnsight-0.6.3-cp313-cp313-win32.whl (177.9 kB view details)

Uploaded CPython 3.13Windows x86

nnsight-0.6.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (183.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

nnsight-0.6.3-cp313-cp313-macosx_11_0_arm64.whl (176.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nnsight-0.6.3-cp312-cp312-win_amd64.whl (178.3 kB view details)

Uploaded CPython 3.12Windows x86-64

nnsight-0.6.3-cp312-cp312-win32.whl (177.9 kB view details)

Uploaded CPython 3.12Windows x86

nnsight-0.6.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (183.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

nnsight-0.6.3-cp312-cp312-macosx_11_0_arm64.whl (176.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nnsight-0.6.3-cp311-cp311-win_amd64.whl (178.3 kB view details)

Uploaded CPython 3.11Windows x86-64

nnsight-0.6.3-cp311-cp311-win32.whl (177.9 kB view details)

Uploaded CPython 3.11Windows x86

nnsight-0.6.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (183.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

nnsight-0.6.3-cp311-cp311-macosx_11_0_arm64.whl (176.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

nnsight-0.6.3-cp310-cp310-win_amd64.whl (178.3 kB view details)

Uploaded CPython 3.10Windows x86-64

nnsight-0.6.3-cp310-cp310-win32.whl (177.9 kB view details)

Uploaded CPython 3.10Windows x86

nnsight-0.6.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (183.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

nnsight-0.6.3-cp310-cp310-macosx_11_0_arm64.whl (176.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file nnsight-0.6.3.tar.gz.

File metadata

  • Download URL: nnsight-0.6.3.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nnsight-0.6.3.tar.gz
Algorithm Hash digest
SHA256 d9fa2aa0eed3b3335bbe5d7511a5127ccc3c79bafba6275369697b882e2b8249
MD5 8788cf8c610d3d32abab6486524724f6
BLAKE2b-256 a675e2f5c0913b078e08718e92cf51ddf963579dde59485b024052c7d11bd25d

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: nnsight-0.6.3-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 178.5 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nnsight-0.6.3-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 b473c3b6cf50d057213b5d42bb0018116c24838a04c039e39745dd2a2b47ace5
MD5 c6a83ae41d59b73c1af9175212ff2518
BLAKE2b-256 df4fd66a76d2ecb7a309719da1e91becd81b8b7b801e60ec403f7405d21cc424

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp314-cp314t-win32.whl.

File metadata

  • Download URL: nnsight-0.6.3-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 178.1 kB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nnsight-0.6.3-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 d477e2a0bb983b511f118a32d2180882f1345bd73c4e28ab060fb158e1e9b4e0
MD5 f16a2baa0b3198980ba34c4669c806ac
BLAKE2b-256 f90d22a10ff3cbbc0f4a0036da287b303e5e5e789e28b9fe2defc0a14a2701bf

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for nnsight-0.6.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 dfade5095d38dec52c439c738d1c7967abeef8394b242a973ac48a2a6b448217
MD5 20f1c68a9463eeeb2d5664c284f1525a
BLAKE2b-256 f4846e7704256559e2eb54d79c7de290640d5fecd52d3e458e86866d78e8d5ad

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nnsight-0.6.3-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 78b477920b3ecbfd5155126574321edf6b1d994e151a9bede6f9bc86794da8d6
MD5 26cf5c56f11e1f62d60bd06e5b71e8a7
BLAKE2b-256 7c4fd02d99774ad8f779518c328604fe4414cf8e1f6cb3ae911e799280b172f1

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: nnsight-0.6.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 178.4 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nnsight-0.6.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 6bfafeb25841f4bbbcf8445154d3307a05876e7de1a6eaab995e520ebe9ac05f
MD5 22df04dbbd074c1eb1d61aa5187a06df
BLAKE2b-256 3ffb3a02d1e8e9d0a40c9f7ca5468d7aca1a37a82684ad523f4b2c33bc6ff454

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp314-cp314-win32.whl.

File metadata

  • Download URL: nnsight-0.6.3-cp314-cp314-win32.whl
  • Upload date:
  • Size: 178.0 kB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nnsight-0.6.3-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 72c857c19b100feb598ca814bcec3436e091942c97dd6fa4d684ff6c797bbc2b
MD5 bc125d8ac53e30413fa9748f57f555a7
BLAKE2b-256 efcb473396dca499ea007e6f442015349ba89c4a023f72145af58c719c43abc5

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for nnsight-0.6.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 cd1e4eb30640ca581731a6983d4f48504bc13b5cbe5ab3eb10fae232eb3741de
MD5 63a8d618ea18992527e55c3f69be2a84
BLAKE2b-256 c70dff22ecc5a12075de4dda31ea32b88d945351da2669591485928bc3ab6a64

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nnsight-0.6.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 76dce23d21641110efc6b6ec878c3cb21fd86548effe3ed1ba85d53d1a6794a2
MD5 00405eaa3d91d667ef25b845b0422f87
BLAKE2b-256 650c2713448586db6c594a5e4ccb84c137ac0ca83a188ee461a937880d763102

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: nnsight-0.6.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 178.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nnsight-0.6.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2c4b2d6b354c7e8552bd455d090460c38b98cfabee3fccbe079f10839df7b0c2
MD5 f3cc38a944730962c338ae119a11ab3f
BLAKE2b-256 c99748309d97608a921e5450ea6fc568affca8793905772025d98a14d594a129

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp313-cp313-win32.whl.

File metadata

  • Download URL: nnsight-0.6.3-cp313-cp313-win32.whl
  • Upload date:
  • Size: 177.9 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nnsight-0.6.3-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 96af51d141079b514488a36771713783cbc3b68aa2a818e33860b2bf2ba3bdc9
MD5 c61c4880b0fc1c34a8b705f3cf466010
BLAKE2b-256 f78ba79760b3af92a4110e1deabde3a5f39ddfeb585aaf7033323a120a4cc034

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for nnsight-0.6.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 cf078a2bec36f07183b06fbc049ffd617d21770d2ff927fe722e6a374403c81f
MD5 2c2fa6e898f8eb6dbdaf96363692cc3e
BLAKE2b-256 646d8496e6957698b16cf9ad58d68efa8c5b1e24abdab3d306611d7935d560f8

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nnsight-0.6.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c70554b13996d33d46b05caa064de411e29440d356d61dbefecf8e5b8cd8987
MD5 f147ab4710190a8e3d6e6c8cf03f13a8
BLAKE2b-256 43b362404d8019cd68339d3279c95bc993076445532b5879fea5893c9c03f0e6

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: nnsight-0.6.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 178.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nnsight-0.6.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ac77ab7717c886412cf022bbd73c7da60e921200f6857255f1779fc40f3a7deb
MD5 fa3afb1af71577e68f0af123ac9bd998
BLAKE2b-256 878ea6e739011fe6395c11b5570c2397c5a37c976ad541af820f690489864e7a

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp312-cp312-win32.whl.

File metadata

  • Download URL: nnsight-0.6.3-cp312-cp312-win32.whl
  • Upload date:
  • Size: 177.9 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nnsight-0.6.3-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 2c6be467ac7c5d0ecbb196d251ae07cfc176da9b6b2dbe40f6db887f404d97d7
MD5 76075cebcce084d549d358b61a0824de
BLAKE2b-256 0c0b57b48373160978dbb37ff0ece06a6d740922deda15745e7afa20659e46a1

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for nnsight-0.6.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 4ea008fa818a6a0027a260399f8e921264b85d21cc3e97980a2c3e838068356a
MD5 c1ad10984ebf2dc830e64c5d30dffdf2
BLAKE2b-256 4d51e7d148ca030c7b1ff269268b82c918db88c95a7f378cd26b5d5885345fbf

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nnsight-0.6.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f8ab8bb002da985bc0ca550f43b9f978d876269953c09709de32afb9c2378ad
MD5 46388114d07f6c9e8a4197a6e3af2915
BLAKE2b-256 e4816dacc633467d4b91a7b46871f10be7fa83d1648986b0640fc9946d153c05

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: nnsight-0.6.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 178.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nnsight-0.6.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fab48596260c4583b3d7275bd55c00ff9ca22b6191b19996af9f2375819adc51
MD5 883bab147a2111fff34e9e334366b95b
BLAKE2b-256 ea10ab668bf28426a9ca3e7dcb35461b55f60c7dfb2eab97877b211051e3b776

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp311-cp311-win32.whl.

File metadata

  • Download URL: nnsight-0.6.3-cp311-cp311-win32.whl
  • Upload date:
  • Size: 177.9 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nnsight-0.6.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f3c802389cf9667e3b90206f65e88d799057cfff0c72a22edae23adaeb1ac33d
MD5 66a62793c1fab378643a4ef7360bed7a
BLAKE2b-256 0c587d1466761df764f10dc8a5b0ba19cad11ae286e9ed23b08fdcf34c60a80c

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for nnsight-0.6.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 a8db8f216953bb179cdd797f298b1fdd31a9e7b4b8524f94edab8825b3c3df31
MD5 f34487f7eadf2d71385f94b5e0f0bb74
BLAKE2b-256 383ba47ee497024b4938be3c9b3bcd16558ddaac4993690cb77c60bf70d4bc84

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nnsight-0.6.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1939ede45daea2068503fb554f751e026e581a4a68c930b7c2ef7d8a2ad0475d
MD5 474c3faf02a51bbd15f8715c0f6b586d
BLAKE2b-256 3f2f46bc8b0fc859fd97315242cca5e5ca41e573227ae359192d6356f98afc45

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: nnsight-0.6.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 178.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nnsight-0.6.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d924fe730dcd9aec3b9c46c95346234cca41bc56be9a6bb3baad7b516af4c112
MD5 ec0ccc7aba8598c95a6239443cbd2fc5
BLAKE2b-256 f94991f39ee3ce2976ab460c895782a63884e074ef70428bb871e83126b51ad7

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp310-cp310-win32.whl.

File metadata

  • Download URL: nnsight-0.6.3-cp310-cp310-win32.whl
  • Upload date:
  • Size: 177.9 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nnsight-0.6.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 2212c9ef63300163a84288237186a9fa9ac8129ead394943d17aa950266fc8de
MD5 037c08374be1dd2e5dbdd8ae7ef75a2d
BLAKE2b-256 d515e466e7c59145b0cc79d4fe8603dbb451d28b88412a0d926ffc43d536543c

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for nnsight-0.6.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 e14323061c08cc7270fbb1898154a382408ad0abb9f14f63cd837d8d244c3f9c
MD5 d729fcbebe79855072c5e90f074920d1
BLAKE2b-256 872f08f0a6862affc646429d75ea99d153058d04011781223eefe76000fa65c3

See more details on using hashes here.

File details

Details for the file nnsight-0.6.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nnsight-0.6.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d707b46043641ed02acfa0699d71c4dc251460588b09f02735c2db34654e65b8
MD5 41485c682331820624d19b3e54fd1322
BLAKE2b-256 46ec5275fa3020477d1d1d80db3dcbb53e7d5553b476f8eee320b08eff6e19ce

See more details on using hashes here.

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