Platform Compatibility¶
Networka provides comprehensive cross-platform support, ensuring network engineers can use the same powerful automation tools regardless of their operating system.
Supported Platforms¶
Operating Systems¶
- Linux: All major distributions (Ubuntu, RHEL, CentOS, Debian, etc.)
- macOS: Intel and Apple Silicon (M1/M2/M3) processors
- Windows: Windows 10/11 (x64)
Python Versions¶
- Python 3.11: Full support
- Python 3.12: Full support
- Python 3.13: Full support
Tested configurations¶
CI validates Linux, macOS, and Windows runners across Python 3.11–3.13. For production usage, Linux and macOS are first-class; Windows is best-effort unless using WSL2.
Installation Notes¶
Linux¶
- No additional system dependencies required
- Works with all major package managers (apt, yum, dnf, pacman)
- Container-ready for Docker deployments
Tested configurations¶
CI covers Linux, macOS, and Windows runners across Python 3.11–3.13. For production usage, Linux and macOS are first-class; Windows is best-effort unless using WSL2.
- Scrapli (default transport) is not officially supported on native Windows. It may work via Paramiko or ssh2-python, but the strongly recommended setup is WSL2 (Ubuntu) to provide a POSIX environment.
- Pre-built wheels for all C extensions
- No Visual Studio Build Tools required
-
PowerShell and Command Prompt compatible (best-effort); WSL2 is preferred
-
Scrapli (default transport) is not officially supported on native Windows. It may work via Paramiko or ssh2-python, but the strongly recommended setup is WSL2 (Ubuntu) to provide a POSIX environment.
- PowerShell and Command Prompt are supported on a best-effort basis; prefer WSL2 for a smoother experience.
WSL2 quickstart (recommended)¶
- Enable WSL and install Ubuntu from the Microsoft Store
- Open Ubuntu terminal
- Install uv and git, then install Networka from GitHub:
curl -LsSf https://astral.sh/uv/install.sh | sh
exec $SHELL
uv tool install git+https://github.com/narrowin/networka.git
nw --help
Networking Libraries¶
- scrapli: Multi-vendor SSH automation
Cryptography¶
- cryptography: Modern cryptographic recipes
- bcrypt: Password hashing
- pynacl: Networking and cryptography
Performance¶
Performance notes¶
Performance is comparable across Linux and macOS. On Windows, use WSL2 for best results.
Known Platform Differences¶
Path Handling¶
- Automatic path normalization across platforms
- Windows drive letter support
- POSIX-style paths on Linux/macOS
Terminal Colors¶
- Rich terminal support on all platforms
- Windows Terminal and PowerShell color support
- Graceful fallback for legacy terminals
SSH Key Management¶
- Platform-native SSH key locations
- Windows OpenSSH integration
- macOS Keychain integration available
Troubleshooting¶
Windows-Specific Issues¶
If you encounter permission issues on Windows:
# Run PowerShell as Administrator
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
macOS-Specific Issues¶
For macOS Gatekeeper warnings:
Linux-Specific Issues¶
For older distributions, ensure Python 3.11+ is available:
# Ubuntu/Debian
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.11
# RHEL/CentOS
sudo dnf install python3.11
Performance notes¶
Performance is comparable across Linux and macOS. On Windows, use WSL2 for best results.
Container Support¶
Docker¶
Podman¶
CI/CD Integration¶
Networka is tested across platforms using GitHub Actions:
- Ubuntu runners for Linux testing
- macOS runners for Apple platform testing
- Windows runners for Microsoft platform testing
This ensures every release works reliably across all supported platforms.