Metadata-Version: 2.4
Name: bmtool
Version: 0.7.5.1
Summary: BMTool
Home-page: https://github.com/cyneuro/bmtool
Download-URL: 
Author: Neural Engineering Laboratory at the University of Missouri
Author-email: gregglickert@mail.missouri.edu
License: MIT
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: neuron==8.2.4
Requires-Dist: bmtk
Requires-Dist: click
Requires-Dist: clint
Requires-Dist: h5py
Requires-Dist: matplotlib
Requires-Dist: networkx
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: questionary
Requires-Dist: pynmodlt
Requires-Dist: xarray
Requires-Dist: fooof
Requires-Dist: requests
Requires-Dist: pyyaml
Requires-Dist: PyWavelets
Requires-Dist: numba
Requires-Dist: tqdm
Provides-Extra: dev
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: summary

# bmtool
A collection of modules to make developing [Neuron](https://www.neuron.yale.edu/neuron/) and [BMTK](https://alleninstitute.github.io/bmtk/) models easier.

[![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)](https://github.com/cyneuro/bmtool/blob/master/LICENSE)

## In depth documentation and examples can be found [here](https://cyneuro.github.io/bmtool/)

## Getting Started

**Installation**
```bash
pip install bmtool
```
For developers who will be pulling down additional updates to this repository regularly use the following instead.
```bash
git clone https://github.com/cyneuro/bmtool.git
cd bmtool
python setup.py develop
```
Then download updates (from this directory) with
```bash
git pull
```

BMTool provides several modules to simplify the development of computational neuroscience models with NEURON and the Brain Modeling Toolkit (BMTK). It offers functionality for:

- **Single Cell Modeling**: Analyze passive properties, current injection, FI curves, and impedance profiles
- **Synapse Development**: Tools for tuning synaptic properties and gap junctions
- **Network Construction**: Connectors for building complex network structures
- **Visualization**: Plot connection matrices, network positions, and more
- **Simulation Management**: Run simulations on SLURM clusters with parameter sweeps
- **Analysis**: Process simulation results efficiently

## Development

### Code Quality Tools

BMTool now uses modern Python code quality tools to maintain high standards:

- **Ruff**: A fast Python linter for code style and error checking
- **Pyright**: Static type checker to catch type-related bugs early

To install development dependencies in your conda environment:

```bash
# Activate your conda environment
conda activate bmtk

# Install development dependencies
pip install -e ".[dev]"
```

To run the tools:

```bash
# Run Ruff linter
ruff check bmtool/

# Run Ruff with auto-fix
ruff check --fix bmtool/

# Run Pyright type checker
pyright
```
