Nathan McDonald

11 papers B 2Journal 8Unranked 1
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Nathan McDonald, Colyn Seeley, Christian Brazeau
2025 J jnl
CoRR
William Gebhardt, Alexander G. Ororbia, Nathan McDonald, Clare Thiem, Jack Lombardi
2024 B conf
IJCNN
Nathan McDonald, Anthony Dematteo
2024 J jnl
CoRR
Nathan McDonald, Anthony Dematteo
2024 J jnl
CoRR
Nathan McDonald
2023 J jnl
CoRR
Nathan McDonald
2021 conf
ISQED
Kangjun Bai, Clare Thiem, Nathan McDonald, Lisa Loomis, Yang Yi
2019 J jnl
Nat. Mach. Intell.
Zhongrui Wang, Can Li, Peng Lin, Mingyi Rao, Yongyang Nie, Wenhao Song, Qinru Qiu, Yunning Li, Peng Yan, John Paul Strachan, Ning Ge, Nathan McDonald, Qing Wu, Miao Hu, Huaqiang Wu, R. Stanley Williams, Qiangfei Xia, J. Joshua Yang
2018 J jnl
CoRR
Lisa Loomis, Nathan McDonald, Cory E. Merkel
2018 J jnl
ACM J. Emerg. Technol. Comput. Syst.
Lisa Loomis, Nathan McDonald, Cory E. Merkel
2017 B conf
IJCNN
Nathan McDonald
docs/linting.md
← Index docs/linting.md markdown
# Code Linting Guide

## Installation

```bash
pip install flake8 pylint black isort
```

## Quick Usage

### Check Code Quality
```bash
# Comprehensive analysis (recommended)
pylint redb/

# Quick style check
flake8 redb/

# Format code
black redb/

# Sort imports
isort redb/
```

### Check Only (No Changes)
```bash
black --check redb/
isort --check-only redb/
```

## Configuration

The project uses `pyproject.toml` for configuration. Key settings:

- **Line length**: 120 characters
- **Pylint**: Disabled overly strict warnings (docstrings, naming conventions)
- **Black**: Compatible with isort
- **Flake8**: Ignores common style issues

## Security-Focused Linting

For security analysis, install additional tools:

```bash
pip install pylint-security bandit
```

Run security checks:
```bash
# Pylint with security plugin
pylint --load-plugins=pylint_security redb/

# Bandit (security-focused)
bandit -r redb/
```

## Recommended Workflow

1. **Development**: Use `flake8` for quick feedback
2. **Pre-commit**: Run `pylint` for comprehensive analysis
3. **Formatting**: Use `black` and `isort` before commits
4. **Security**: Run `bandit` periodically

## IDE Integration

Most IDEs support these tools:
- **VS Code**: Install Python extension, configure linting
- **PyCharm**: Built-in support for all tools
- **Vim/Neovim**: Use ALE or similar plugins