Installation¶
Install the WFRMLS Python client and set up your development environment for real estate data integration.
๐ฆ Package Installation¶
Using pip (Recommended)¶
Using pip with version constraints¶
# Install specific version
pip install wfrmls==1.3.0
# Install with version range
pip install "wfrmls>=1.2.0,<2.0.0"
Development Installation¶
For contributing to the project or using the latest features:
# Clone the repository
git clone https://github.com/theperrygroup/wfrmls.git
cd wfrmls
# Install in development mode
pip install -e .
# Install with development dependencies
pip install -e ".[dev]"
๐ Python Version Requirements¶
Python Compatibility
- Minimum: Python 3.8
- Recommended: Python 3.10 or higher
- Tested: Python 3.8, 3.9, 3.10, 3.11, 3.12
Checking Your Python Version¶
๐ง Dependencies¶
The client has minimal dependencies for easy integration:
Core Dependencies¶
| Package | Version | Purpose |
|---|---|---|
| requests | โฅ2.25.0 | HTTP client for API requests |
| python-dotenv | โฅ0.19.0 | Environment variable management |
Development Dependencies¶
Development Tools (Optional)
These are only needed if you're contributing to the project:
| Package | Purpose |
|---|---|
| pytest | Testing framework |
| pytest-cov | Coverage reporting |
| black | Code formatting |
| mypy | Type checking |
| flake8 | Linting |
๐ Environment Setup¶
Virtual Environment (Recommended)¶
IDE Configuration¶
VS Code Setup
Recommended VS Code extensions for working with the WFRMLS client:
- Python - Python language support
- Pylance - Advanced Python language server
- Python Docstring Generator - Auto-generate docstrings
- autoDocstring - Smart docstring generation
Create .vscode/settings.json:
โ Verifying Installation¶
Quick Test¶
# Test import
try:
from wfrmls import WFRMLSClient
print("โ
WFRMLS client imported successfully!")
except ImportError as e:
print(f"โ Import failed: {e}")
# Check version
import wfrmls
print(f"๐ฆ Version: {wfrmls.__version__}")
Comprehensive Test¶
from wfrmls import WFRMLSClient
from wfrmls.exceptions import WFRMLSError
def test_installation():
"""Test WFRMLS client installation and basic functionality."""
try:
# Test client creation (without token - should work)
client = WFRMLSClient()
print("โ
Client creation: Success")
# Test available modules
modules = [
'property', 'member', 'office', 'openhouse',
'lookup', 'adu', 'analytics', 'deleted'
]
for module in modules:
if hasattr(client, module):
print(f"โ
Module {module}: Available")
else:
print(f"โ Module {module}: Missing")
print("\n๐ Installation verification complete!")
except Exception as e:
print(f"โ Installation test failed: {e}")
if __name__ == "__main__":
test_installation()
๐ Troubleshooting¶
Common Installation Issues¶
Permission denied error
Problem: ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied
Solutions:
SSL certificate error
Problem: SSL: CERTIFICATE_VERIFY_FAILED
Solutions:
Python version too old
Problem: ERROR: Package 'wfrmls' requires a different Python: 3.7.0 not in '>=3.8'
Solutions:
Module not found after installation
Problem: ModuleNotFoundError: No module named 'wfrmls'
Solutions:
Network Issues¶
Connection timeout during installation
Solutions:
๐ Updating¶
Checking for Updates¶
# Check current version
pip show wfrmls
# Check for newer versions
pip list --outdated | grep wfrmls
Upgrading¶
# Upgrade to latest version
pip install --upgrade wfrmls
# Upgrade with specific constraints
pip install --upgrade "wfrmls>=1.3.0"
๐งน Uninstalling¶
Complete Removal¶
# Uninstall the package
pip uninstall wfrmls
# Remove virtual environment (if used)
rm -rf wfrmls-env
# Remove cached files (optional)
pip cache purge
๐ Next Steps¶
Installation Complete
Great! You've successfully installed the WFRMLS client. Here's what to do next:
Immediate Next Steps: 1. Set up authentication - Configure your API credentials 2. Try the quick start - Make your first API call 3. Explore examples - See real-world usage patterns
For Developers: - Contributing Guide - Set up development environment - Testing Guide - Run tests and quality checks - API Reference - Detailed method documentation
Having issues? Check our troubleshooting guide or open an issue on GitHub.