Package for interpreting and manipulating the internals of deep learning models.
Project description
Interpret and manipulate the internals of deep learning models
Documentation | GitHub | Discord | Forum | Twitter | Paper
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:
- llms.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 usennsight.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
with 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()
with tracer.iter[:] as step_idx:
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 separatetracer.invoke():with model.generate("Hello", max_new_tokens=3) as tracer: with tracer.invoke(): # First invoker with tracer.iter[:]: hidden = model.transformer.h[-1].output.save() with tracer.invoke(): # Second invoker - runs after 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:
with model.scan("Hello"):
dim = 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()
with 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:
- Code extraction: When you enter a
with model.trace(...)block, nnsight captures your code (via AST) and immediately exits the block - Thread execution: Your code runs in a separate worker thread
- Value waiting: When you access
.output, the thread waits until the model provides that value - 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 |
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
- llms.md — Comprehensive guide for AI agents working with nnsight
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nnsight-0.5.15.tar.gz.
File metadata
- Download URL: nnsight-0.5.15.tar.gz
- Upload date:
- Size: 181.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35136423893ddb4a4010403742fa9034423632ee6118ada445b728c6e0a2c307
|
|
| MD5 |
4b21ab3a0f0163096ceacddb2bbf4f96
|
|
| BLAKE2b-256 |
2f31818bde691f84296a2a1aff9174cd57839a39cfeb7b18a78c4ed0018a491a
|
File details
Details for the file nnsight-0.5.15-cp314-cp314t-win_amd64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp314-cp314t-win_amd64.whl
- Upload date:
- Size: 99.7 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0430d026d7b624808972eb4c6987f71e0fe2b20519fb5acc115fe51649e6bd4e
|
|
| MD5 |
636df52b295fe7f4b0272560c8e67319
|
|
| BLAKE2b-256 |
1234fe0b7005ad8f88b450b4172c2aabd7512aa9ae32c50f91db3acfd22cb18a
|
File details
Details for the file nnsight-0.5.15-cp314-cp314t-win32.whl.
File metadata
- Download URL: nnsight-0.5.15-cp314-cp314t-win32.whl
- Upload date:
- Size: 99.2 kB
- Tags: CPython 3.14t, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d09c6d4d7a7c9ee6ddbcb291d3803c9c82cb805d49448a336ba87cd8207ca2d9
|
|
| MD5 |
e2677d6b8214bcd715c8f12a874ec076
|
|
| BLAKE2b-256 |
93b8876ec8b9d1f8d6bf609c876edc8b2888c6d1d06ccd78825afb7e85f00f82
|
File details
Details for the file nnsight-0.5.15-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 105.8 kB
- Tags: CPython 3.14t, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05fd23e4e4cebd660a01c74124d48f02aa522363e68ef864a36d65eb02df5f8c
|
|
| MD5 |
6a445f43edd42b17f0c3592fe266ac65
|
|
| BLAKE2b-256 |
71ad568b165d99eb19a23d7c5d70904e87c110b50d9c991f1c6349fae44b4a55
|
File details
Details for the file nnsight-0.5.15-cp314-cp314t-macosx_11_0_arm64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp314-cp314t-macosx_11_0_arm64.whl
- Upload date:
- Size: 97.6 kB
- Tags: CPython 3.14t, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13fe88bf2e535c3752ca79512a2222c4521c724ecad127e325f439284aa77a28
|
|
| MD5 |
9e8a315bfb5e30583422e8f8c707899a
|
|
| BLAKE2b-256 |
61f897b2a530ca707077a5223b8467024980a50b9dd026dc8ab3ef65144cfc2d
|
File details
Details for the file nnsight-0.5.15-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 99.6 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffcb4de303a0e6e4a4856537856ff9cabf90c9e5734ea4cf8958950b2af61677
|
|
| MD5 |
7c8ddb556090d56a53633a44eb3290b8
|
|
| BLAKE2b-256 |
f9c4e523ea891d920d0df58139bf6e4ebf62ebb6a9accd5e8fe34f6b5d1273fa
|
File details
Details for the file nnsight-0.5.15-cp314-cp314-win32.whl.
File metadata
- Download URL: nnsight-0.5.15-cp314-cp314-win32.whl
- Upload date:
- Size: 99.1 kB
- Tags: CPython 3.14, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d60ebb74a0ea188adaafc5df15511d6ad5f54e6b6c36fa7d6636924834851c30
|
|
| MD5 |
22ccb41040e42fbf78b1dfc6889b7483
|
|
| BLAKE2b-256 |
e6bfe1031294ed28910170c4e73f87ad293f80375bb186553367c825171c1408
|
File details
Details for the file nnsight-0.5.15-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 105.0 kB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8681fed0ba0acfe129cdae690402b30efe7985ae6c318a29330f5809d73925d
|
|
| MD5 |
01ab3f6c7110b522719ead53956f2e43
|
|
| BLAKE2b-256 |
fcae77d5be78733958058d947e1c5d7ccb3c57c9a880097826c4a381c1b5bb69
|
File details
Details for the file nnsight-0.5.15-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 97.5 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
820bc03dbc4d251798a7e58ab94ec88c3279c0d7bfeab11f1508bbedfb16bfbf
|
|
| MD5 |
1e79f816b3ac3c1a7ec698c508f5c8df
|
|
| BLAKE2b-256 |
1868f255a5c6679a5d0fc737f4b12e45ae83b5ec9d611f1d44a77c47c22be0d6
|
File details
Details for the file nnsight-0.5.15-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 99.6 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f9c8846dc64b8e528210d07b3269e8b318702128a086432c09e16790eee49ac
|
|
| MD5 |
4480ee704ac37386b032c753e8d1c4ce
|
|
| BLAKE2b-256 |
6edebe10ec2dcd1cd3750355333e23828a1524bd85fbbc775ae54c315164f02d
|
File details
Details for the file nnsight-0.5.15-cp313-cp313-win32.whl.
File metadata
- Download URL: nnsight-0.5.15-cp313-cp313-win32.whl
- Upload date:
- Size: 99.2 kB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
789ca17479e783f44859cf572b04ea4a3229a7d8e02118e6f72f87d18f6ab1b5
|
|
| MD5 |
25bc523fac215377c9f2079a3cb3f063
|
|
| BLAKE2b-256 |
13ad2a55b7239602e3a6f170bcd3675da7c9db56ba53c992369a921488b00dbd
|
File details
Details for the file nnsight-0.5.15-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 105.0 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a25d7fed58eed4ef74e913762b921a0eff48546cbafaab73ef271a4990eaabcd
|
|
| MD5 |
26a11b1c6ecdc458ccbc53913c6bcb38
|
|
| BLAKE2b-256 |
d30324da1a045bfe417944003d69d09e0e9c09248e936e0e6b22074da0dd7141
|
File details
Details for the file nnsight-0.5.15-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 97.5 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7923f3b460056d631e25125585b9ee4f9c1f2adb1d3a53c0783ba7ce0cc31047
|
|
| MD5 |
2cd9ca422a27b51ee564a6e04769e98a
|
|
| BLAKE2b-256 |
5c486a7b4057981248976cee8b03b644af29f83cd891008058779173b4df1605
|
File details
Details for the file nnsight-0.5.15-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 99.6 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0e7626f5fe48f7957dd71a75ce720b4af4ad03a826937679988c2b6107068bf
|
|
| MD5 |
dfdf7ff86ab1aabe5d2b3b83f1020b89
|
|
| BLAKE2b-256 |
5629a20af519c97e1b82fb0080045fa4ad8393968e1f372a774a3f440943f525
|
File details
Details for the file nnsight-0.5.15-cp312-cp312-win32.whl.
File metadata
- Download URL: nnsight-0.5.15-cp312-cp312-win32.whl
- Upload date:
- Size: 99.2 kB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38d2a69229c4e928c28d3d93df407365e41e511418ef1671d538f1b13be29032
|
|
| MD5 |
6f17979bb36f6c54760d0cb3c381f446
|
|
| BLAKE2b-256 |
11fcce14c60200c62a299b3c52c9e3b63a4cdc0b026c027f9e1a6e639c526bc5
|
File details
Details for the file nnsight-0.5.15-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 105.0 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7f94c6c452dd1772bf7bc3db231b992f7b707d733cfde3675feab55d7ade699
|
|
| MD5 |
c7a86477b2a484b54f516e3d460cdf5a
|
|
| BLAKE2b-256 |
d4052ce953929546b76b92e26b8d5e0657c90bd14730030fad5081c0fb68ecbd
|
File details
Details for the file nnsight-0.5.15-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 97.5 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3adf473a84641448750dc8b07fb0c327921560e15d107e897c46fc6844a3e8ad
|
|
| MD5 |
1bf3399dcf4f32177e0f18d5cba409cb
|
|
| BLAKE2b-256 |
3e11926e9a3d141f0b377dfc88b7ce1774804177f6bb1d9f7598fd9f546f0764
|
File details
Details for the file nnsight-0.5.15-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 99.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da8a7733bbfa570024a8b44554d7158128eda514ffb1acaec22f04abf5abc3fa
|
|
| MD5 |
1df9358df28305a21e9f11eaf056f324
|
|
| BLAKE2b-256 |
de83268a9405d13ed38e552d3cc0eaa0827efe4e38e59978de715089724e3e01
|
File details
Details for the file nnsight-0.5.15-cp311-cp311-win32.whl.
File metadata
- Download URL: nnsight-0.5.15-cp311-cp311-win32.whl
- Upload date:
- Size: 99.2 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bc17dc2fe961cf9287ea1cda38b5daa9668951b03f5c52b451a5cc4e7bc7e57
|
|
| MD5 |
69d4fc171bd6cbc0f1f03a2b095ae312
|
|
| BLAKE2b-256 |
c9a013a0f25eee759384ac42dd0d1a92bc7c38b46ea4d9e321156b7c29059997
|
File details
Details for the file nnsight-0.5.15-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 104.6 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1587a27a072aa69aa5d544c5a661936d1e567e66a9b6d730126c48dd94b9fe5a
|
|
| MD5 |
83d0851f01ab0e462d02161bea0d5f7d
|
|
| BLAKE2b-256 |
e5a5e52be797abf4a6bdd60d539ff6fe151adbac31dd9d5b497f18bd394c33f3
|
File details
Details for the file nnsight-0.5.15-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 97.4 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d356b29a37754cfb2b6a474020b8ca78fd2057406ab4aafbb529d2fed6e1c23a
|
|
| MD5 |
e37fb453ea8f461c2a71788dffbaa224
|
|
| BLAKE2b-256 |
4bd34ee86219224ba93ea845b6d42fb13f8c6b78e710dc99336bcb7876737d24
|
File details
Details for the file nnsight-0.5.15-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 99.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8944b52c7c0fc56100d0e631620f962cab3973482817d2b0de6aab55d7224597
|
|
| MD5 |
ca1b8137e9677e2f3b7e456d6f4db083
|
|
| BLAKE2b-256 |
1a125651b809945cd427e7338a433e0f927178037f83da2bf387acf34bf05e4d
|
File details
Details for the file nnsight-0.5.15-cp310-cp310-win32.whl.
File metadata
- Download URL: nnsight-0.5.15-cp310-cp310-win32.whl
- Upload date:
- Size: 99.2 kB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62651545d58570d47d5ed82d18a36139892628255754d96a4eb1199d331f88a2
|
|
| MD5 |
5d4009dff2f3dfdc4ba55559589c2477
|
|
| BLAKE2b-256 |
b7b3691c418528bdd9ffc7a04819c0c76df2156fce642ea755d695908fd1bcfc
|
File details
Details for the file nnsight-0.5.15-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 104.5 kB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbed2b55b3c7ee894ed3e3374e159b76bca295bf083ac0d551adb15499be42b5
|
|
| MD5 |
240f4bc1ed9780cb6c370fde7a49e82f
|
|
| BLAKE2b-256 |
19b2fe004e1e0356034ef2c7b77b2c933dfea250cbe890c825f9fb4a04f7107c
|
File details
Details for the file nnsight-0.5.15-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: nnsight-0.5.15-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 97.4 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
189d98fe8814052bfa31b68f4ac3f029379223f8359ce9190cd1d6a35299dc75
|
|
| MD5 |
e44d3a9a281e8379f80bd54318f74e81
|
|
| BLAKE2b-256 |
79727c169439f569cfce43cd844e0e95d451348e391f52f65fa1b95f48174768
|