# neurons (/docs/query/neurons)

`lite=true` (the default) omits per-neuron weights/bonds, which is far
smaller and what almost every caller wants.

**Category:** Neurons & registration

## Parameters [#parameters]

| Parameter | Type    | Description                                                           |
| --------- | ------- | --------------------------------------------------------------------- |
| `netuid`  | integer | Subnet whose neurons to list.                                         |
| `lite`    | boolean | Omit per-neuron weights/bonds (much smaller; what most callers want). |

## CLI [#cli]

```bash
btcli query neurons --netuid <integer> --lite/--no-lite --json
```

## Python [#python]

Namespace method (autocomplete, signature help):

```python
import bittensor as bt

sub = bt.Subtensor()
result = sub.neurons.neurons(netuid=1, lite=True)
```

Or dispatch by name, as an agent would:

```python
result = sub.read("neurons", netuid=1, lite=True)
```

Async is the same surface awaited: `async with bt.Subtensor() as client:`.

## On-chain implementation [#on-chain-implementation]

* Runtime API [`NeuronInfoRuntimeApi.get_neurons_lite`](/code/pallets/subtensor/src/rpc_info/neuron_info.rs#L209-L225)
* Runtime API [`NeuronInfoRuntimeApi.get_neurons`](/code/pallets/subtensor/src/rpc_info/neuron_info.rs#L58-L74)

Every file is browsable under [/code](/code) exactly as built into the runtime.
