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

This version

0.6.2

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.2.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.2-cp314-cp314t-win_amd64.whl (177.0 kB view details)

Uploaded CPython 3.14tWindows x86-64

nnsight-0.6.2-cp314-cp314t-win32.whl (176.6 kB view details)

Uploaded CPython 3.14tWindows x86

nnsight-0.6.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (183.1 kB view details)

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

nnsight-0.6.2-cp314-cp314t-macosx_11_0_arm64.whl (174.8 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

nnsight-0.6.2-cp314-cp314-win_amd64.whl (176.9 kB view details)

Uploaded CPython 3.14Windows x86-64

nnsight-0.6.2-cp314-cp314-win32.whl (176.5 kB view details)

Uploaded CPython 3.14Windows x86

nnsight-0.6.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (182.3 kB view details)

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

nnsight-0.6.2-cp314-cp314-macosx_11_0_arm64.whl (174.7 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nnsight-0.6.2-cp313-cp313-win_amd64.whl (176.8 kB view details)

Uploaded CPython 3.13Windows x86-64

nnsight-0.6.2-cp313-cp313-win32.whl (176.4 kB view details)

Uploaded CPython 3.13Windows x86

nnsight-0.6.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (182.2 kB view details)

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

nnsight-0.6.2-cp313-cp313-macosx_11_0_arm64.whl (174.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nnsight-0.6.2-cp312-cp312-win_amd64.whl (176.8 kB view details)

Uploaded CPython 3.12Windows x86-64

nnsight-0.6.2-cp312-cp312-win32.whl (176.4 kB view details)

Uploaded CPython 3.12Windows x86

nnsight-0.6.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (182.2 kB view details)

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

nnsight-0.6.2-cp312-cp312-macosx_11_0_arm64.whl (174.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nnsight-0.6.2-cp311-cp311-win_amd64.whl (176.8 kB view details)

Uploaded CPython 3.11Windows x86-64

nnsight-0.6.2-cp311-cp311-win32.whl (176.4 kB view details)

Uploaded CPython 3.11Windows x86

nnsight-0.6.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (181.8 kB view details)

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

nnsight-0.6.2-cp311-cp311-macosx_11_0_arm64.whl (174.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

nnsight-0.6.2-cp310-cp310-win_amd64.whl (176.8 kB view details)

Uploaded CPython 3.10Windows x86-64

nnsight-0.6.2-cp310-cp310-win32.whl (176.4 kB view details)

Uploaded CPython 3.10Windows x86

nnsight-0.6.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (181.8 kB view details)

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

nnsight-0.6.2-cp310-cp310-macosx_11_0_arm64.whl (174.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: nnsight-0.6.2.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.2.tar.gz
Algorithm Hash digest
SHA256 3fd2497fdea533f8ed5eedad1881195d0e16a52ea16f7839c18d6b06a9be7efd
MD5 c212f066e5a530759f8f9f974ab60670
BLAKE2b-256 d21ca2ca5a1b6c1e2f388141b94805ad2941f7587becb1c8e0c65897ad181b6a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nnsight-0.6.2-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 177.0 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.2-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 c96d4453486431803fbeef6a145f4f0969280f4caeabd8227e5fadf9c7d389c0
MD5 fdc2278ba400379e7bfbc09a6c225930
BLAKE2b-256 e8e13771df1e8374872068e694de9fdf2f16aa37bd0139620b5bff318e34590f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nnsight-0.6.2-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 176.6 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.2-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 a50b811fe827a753396eadca24be676954e12b177bb9fa5c6b99bc1aaa03d35f
MD5 a31d761d3ae9a9dbfe06538acbad01d8
BLAKE2b-256 37fd3f7d8f199bf72a9e7ec600faae7baccf0f809a8f5317123fe5b2c67547bd

See more details on using hashes here.

File details

Details for the file nnsight-0.6.2-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.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 51759bf9de520e8007b8a716f79ce0579afb354599f287915afa030bedeb0047
MD5 b7fd3d0c6b48a301177de3968e7dd0e7
BLAKE2b-256 adad516382dd8b3cc7a14f2df3a9313c99e53688a58788bf70fe730e2ea91885

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nnsight-0.6.2-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba58072bac3d06289bdf1e1e5107133cdc38f42f4447b5eb44bc7c8042e577c1
MD5 0a8c8ae47ea94aee7ac0b09c623ab08e
BLAKE2b-256 d01792b94b0996fb0f9e9857f9eb0445afdcbde9288dda936a6f0a9b6e1a1435

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nnsight-0.6.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 176.9 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.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c5d0714057e658910bbfa74d96bdb88d5b6029b9725097009288fb737f175ab1
MD5 7061d847f9c11b45c01fa519b6fae737
BLAKE2b-256 a6ab6cacab23cce3fbc34be7132d15f11a3a94259c8d814902384e17007f3abc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nnsight-0.6.2-cp314-cp314-win32.whl
  • Upload date:
  • Size: 176.5 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.2-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 790b736a13c62204a6b93f8548d40fed1c5114067010f38637137d4317204b77
MD5 9098cc1478d28c40f4c6ec8ee8e798de
BLAKE2b-256 828de0275cca9f507c59aab92943206e7edfc824345904b9a95dcee4ec463deb

See more details on using hashes here.

File details

Details for the file nnsight-0.6.2-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.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 e310aec2bafeffea0485300325644b0ca18349fe82d7576d31e21771b215fd90
MD5 1345403054f41b97a729c325d8425d75
BLAKE2b-256 f97e37b5ec6e31c4a3a547e000cc48410aa0a8c0705224db57b87ccced86a284

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nnsight-0.6.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c421c969ed072669354bcda3e51c4014139a7a6e8d297732de0a341c45935859
MD5 8415ab543d9b0ddf39554ae19310a9ab
BLAKE2b-256 3c501a38892f0278e20bce8b11e4df6663825a17bd3c2e7c66e4f94fa361331d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nnsight-0.6.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 176.8 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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 43519f0cfa3edfc441611b7566597999741d0d4d012867bd32b1eeb913ea59d4
MD5 0edd6e2c373ac96627f4033ad7920e0f
BLAKE2b-256 8d451b2e8bc1a0cef24bba563d7e963e255f1c0f68e66b8f79ef1016bab9184f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nnsight-0.6.2-cp313-cp313-win32.whl
  • Upload date:
  • Size: 176.4 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.2-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 0c9faf80fc4d01c032bac1d9d379c6addc7fdda3d56dbe6c3901764f7516190b
MD5 bb1afb00208bb1856cbee7de722de4eb
BLAKE2b-256 7251f75573bcb78cdaf2f3d440aec540687f7be2a016f3645dc01490ca676528

See more details on using hashes here.

File details

Details for the file nnsight-0.6.2-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.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 745ac81b0d190d53ac6297909426cecb89820981f7802d6c49f1178bc7c2dd97
MD5 8043a51bb8b1b6a699a1b2b98cac72ef
BLAKE2b-256 3203ccbcbfff2c3f634140a02a8467fc93cf34b2fb4e84842970d6d59ca4f0de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nnsight-0.6.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d6db3ecf548e06ccd845bdc35dfdb459e6c1d5b7065b77015be454b8e3d3070b
MD5 43b0c585ce793eff006ad23938735041
BLAKE2b-256 c81c50c45a5f6b2cae5a46f2738c2a481285026604df2de198d2601b64d7e70f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nnsight-0.6.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 176.8 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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 59d004b7e5f1e1267025e6b881f02afefdb78cdfc95459fd75406af5a894c4f1
MD5 8143c1b3cf61704e966b83d515887adb
BLAKE2b-256 3d691fb458ae9dc2ed5c125bd705429b6c2094030c51354cb2cf1c581bbf806d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nnsight-0.6.2-cp312-cp312-win32.whl
  • Upload date:
  • Size: 176.4 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.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 b91d501e41b47c00fb64b56811b8c393ea1189409ef29e4716b096c8fbbdf300
MD5 6fa93fad892c8bd709ba161477724532
BLAKE2b-256 c22c1741eedb38944d9fbbc91d57b79f5b8cb79b445137a81ecb504620958fbb

See more details on using hashes here.

File details

Details for the file nnsight-0.6.2-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.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 2e87fc21987980b19c6c412dfcb31c10e83f1aa742ddf7743561e6ad5f06f7be
MD5 d6a3dacccaaddb6d8536f79b909a8417
BLAKE2b-256 16e3425f588c87dbdba9629303215edc7ae17dde9a2fe20b07a0fc1b77b079dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nnsight-0.6.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25d948278c91f30a1366b1e0aab77967da823a575ca4ca94f48c322210524ed1
MD5 52594d7eaa4f0663ea75225bbc49817f
BLAKE2b-256 bfbc6fb34b318e12a4661f6c5b733836adab841158eba287b24f1ba775a3f80e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nnsight-0.6.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 176.8 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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 45f823bbaa9426c96fcbd1e53140120e12ac8a7f36bdb4778e5c9d476c8aafa7
MD5 d1c5caa2b192d97bace8334386b3f824
BLAKE2b-256 6d805642b85a6a5db8ec40f59c3dee7678e892496ef5edb24b9773935d978bb4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nnsight-0.6.2-cp311-cp311-win32.whl
  • Upload date:
  • Size: 176.4 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.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 80501fbeac9c06380a4b80d3867bf15d86cf17bdef4dd97d59240f371f896746
MD5 68e2a29022a29918cf70e9647a469f24
BLAKE2b-256 91e89bb82fe1e370445a0cabddda1ecc5242e42c08fbf7c7db620ee3983cb4ce

See more details on using hashes here.

File details

Details for the file nnsight-0.6.2-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.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 882d66f464304dc3a3e27a433c497e07b19d6c26a723ad384ca94aff8876873e
MD5 367d2718842f8282d3293c4ca9961055
BLAKE2b-256 769b4ee7a513ad6b39bb648adf63cd6ec479f5d326c7eff2621bb7fa10045865

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nnsight-0.6.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 44a7e5df41f006c606250693b9d40e1dd68d9589f688fcd50b56c6dd45235f04
MD5 67b813e8fafca5f601e9d67bd6597f4b
BLAKE2b-256 ef23619c112cd644ef5cccfe07164faa7fcafa4d7a2c788426e4e802cb4de2ce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nnsight-0.6.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 176.8 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.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d5c933480a73a72fed5017956b08974c218f87e264dd3c693ee293db041b5aa2
MD5 058cddbf158221ae254d7d6995010662
BLAKE2b-256 ce2e9e8a98662fff5bed63c5c031456e0c90c4a31ccbaabab514cadd28b69334

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nnsight-0.6.2-cp310-cp310-win32.whl
  • Upload date:
  • Size: 176.4 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.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 973e0a32b5fbe3b897581c8b0e39891b9daa551fbe25ebb2278110083a5b29aa
MD5 9873ccd4c1fca8c798bbbc58da057858
BLAKE2b-256 235044d4c3913d69001b1559c20edf37000fe20dc965d10d2b1c82d2d029611d

See more details on using hashes here.

File details

Details for the file nnsight-0.6.2-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.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 8bdf928cdcbb3ac83f3366cf9c04dbd3f46632006e4596c368ca57c63d4efa77
MD5 85d0559eb1674d2ebd3dd81569207d6e
BLAKE2b-256 95180ccbb1a71c3719568557a13cb6cb0ce9e8dec542b91af86c9caf2f17dd77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nnsight-0.6.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf5975f024c36d29a3542a9f18934bc58e7aafcc7769896eaa38cdab742f2e8c
MD5 9cb857cfbc069c8c51e2020d476893f9
BLAKE2b-256 3bd3074233c3c9a3dca820ef8fc74ab9b785cb0cf42bc313186cfe5fd27b2eb4

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