Installation¶
Requirements¶
Python 3.14 or higher
pip (Python package installer)
Navien Smart Control account
Installing from PyPI¶
The easiest way to install nwp500-python:
pip install nwp500-python
For rich formatting and colors when using the CLI:
pip install nwp500-python[cli]
Installing from Source¶
For development or to get the latest features:
git clone https://github.com/eman/nwp500-python.git
cd nwp500-python
pip install -e .
Development Installation¶
To install with development dependencies (testing, linting, docs):
git clone https://github.com/eman/nwp500-python.git
cd nwp500-python
pip install -e ".[dev]"
Dependencies¶
Core Dependencies¶
The library requires:
aiohttp>=3.13.5- Async HTTP client for REST APIawsiotsdk>=1.29.0- AWS IoT SDK for MQTTpydantic>=2.0.0- Data validation and models
Optional Dependencies¶
For development:
pytest>=7.0.0- Testing frameworkpytest-asyncio>=0.21.0- Async test supportpytest-cov>=4.0.0- Coverage reportingruff>=0.1.0- Fast Python lintermypy>=1.0.0- Static type checkingsphinx>=5.0.0- Documentation generation
Verification¶
Verify the installation:
import nwp500
print(nwp500.__version__)
Or test with a simple script:
from nwp500 import NavienAuthClient, NavienAPIClient
import asyncio
async def test():
async with NavienAuthClient("email@test.com", "pass") as auth:
api = NavienAPIClient(auth)
# This will fail with bad credentials, but proves import works
try:
await api.list_devices()
except Exception as e:
print(f"Library loaded successfully: {type(e).__name__}")
asyncio.run(test())
Troubleshooting¶
ImportError: No module named ‘nwp500’¶
Check that you installed the package:
pip install nwp500-python
If using a virtual environment, activate it first.
SSL/TLS Errors¶
If you get SSL certificate errors:
# macOS
/Applications/Python\ 3.x/Install\ Certificates.command
# Linux (update certificates)
sudo apt-get update && sudo apt-get install ca-certificates
AWS IoT Connection Issues¶
The MQTT client requires the AWS IoT SDK:
pip install awsiotsdk>=1.29.0
Upgrading¶
To upgrade to the latest version:
pip install --upgrade nwp500-python
To upgrade to a specific version:
pip install nwp500-python==X.Y.Z
Next Steps¶
quickstart - Get started with your first script
Configuration - Configure credentials and options
Authentication Client - Learn about authentication