Skip to main content

neuromorphopy

License Documentation PyPI

Neuromorphopy logo

neuromorphopy is a lightweight, standalone Python CLI tool and library for efficiently searching and downloading neuron morphologies from the NeuroMorpho.org archives.

Features

  • Efficient Downloads: Uses asynchronous I/O (httpx + asyncio) for fast, concurrent downloads.
  • Flexible Querying: Search using simple YAML or JSON configuration files.
  • Metadata Management: Automatically cleans and saves neuron metadata to CSV.
  • Smart Validation: Validates search queries against the API schema before execution.
  • Robust: Handles legacy SSL requirements of the NeuroMorpho API automatically.

Installation

neuromorphopy requires Python 3.11 or later.

The best way to install the tool for command-line use is with uv:

# Install the latest release
uv tool install neuromorphopy

# Or install the latest development version from GitHub
uv tool install git+https://github.com/kpeez/neuromorphopy.git

Development Installation

To work on the codebase or run from source:

  1. Clone the repository:

    git clone https://github.com/kpeez/neuromorphopy.git
    cd neuromorphopy
    
  2. Sync dependencies:

    uv sync
    # OR using just
    just install
    

Usage

1. Create a Query File

Define your search criteria in a query.yaml (or .json) file:

filters:
  species: ["mouse", "rat"]
  brain_region: ["neocortex"]
  cell_type: ["pyramidal"]
sort:
  field: "brain_region"
  order: "ascending"

2. Run Commands

Use the neuromorpho command to explore, preview, and download.

Explore Fields: See what fields and values are available for filtering.

# List all filterable fields
neuromorpho fields

# List valid values for a specific field
neuromorpho fields species

Preview Download: Check how many neurons match your query without downloading files.

neuromorpho preview query.yaml

Download Data: Download the SWC morphology files and metadata.

# Download to default ./neurons directory
neuromorpho download query.yaml

# Download to a specific directory with higher concurrency
neuromorpho download query.yaml --output-dir ./data --concurrent 50

# Group downloaded files by species and brain region
neuromorpho download query.yaml --group-by species,brain_region

Documentation

For more detailed usage, see our documentation.

Metadata

Release files for neuromorphopy 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for neuromorphopy 0.3.3
File Size Uploaded
neuromorphopy-0.3.3.tar.gz 766.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for neuromorphopy 0.3.3
File Interpreter ABI Platform
neuromorphopy-0.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 783.7 kB

Release files / neuromorphopy-0.3.3.tar.gz

Download URL neuromorphopy-0.3.3.tar.gz
Size 766.0 kB
Tags Source
SHA-256 checksum
How to use checksums
fc56af2e0f5d8e08586b00591cd9a7bd93fe4ec34cc6f89647b5960505b55805
BLAKE2b-256 checksum
How to use checksums
adaaf1523331c302e6811b1183bc37416847a6837270ce902d25faf01ecd04bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / neuromorphopy-0.3.3-py3-none-any.whl

Download URL neuromorphopy-0.3.3-py3-none-any.whl
Size 17.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b128945eecca126ce999d584b0e540eae9fb640f804df63a2acc97ba0ffff231
BLAKE2b-256 checksum
How to use checksums
780cc706a6368b75ae2ae9d0a1711335635560ad594373c41d99872f403d668d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page