Python wrapper for The Real Brokerage ReZEN API - Transaction Builder, Transactions, Teams, Agents, and Directory management
Project description
ReZEN Python Client
The official Python client for the ReZEN Real Estate API
Build powerful real estate applications with comprehensive transaction management, agent networking, and team operations. Type-safe, production-ready, and extensively documented.
๐ Quick Start
Install:
pip install rezen
Use:
from rezen import RezenClient
# Initialize client (reads REZEN_API_KEY from environment)
client = RezenClient()
# Search for active teams
teams = client.teams.search_teams(status="ACTIVE")
# Create a transaction
response = client.transaction_builder.create_transaction_builder()
transaction_id = response['id']
# Add property details
client.transaction_builder.update_location_info(transaction_id, {
"address": "123 Main Street",
"city": "San Francisco",
"state": "CA",
"zipCode": "94102"
})
๐ Full Documentation | ๐ Quick Start Guide
โจ Key Features
| Feature | Description |
|---|---|
| ๐ Transaction Management | Complete transaction lifecycle from creation to closing |
| ๐ฅ Agent & Team Operations | Comprehensive search, network analysis, and team management |
| ๐ Type-Safe & Robust | Full type hints, comprehensive error handling, 100% test coverage |
| ๐ Well Documented | Extensive docs with real-world examples and troubleshooting |
| โก Production Ready | Battle-tested with retry logic, rate limiting, and connection pooling |
๐ฏ Use Cases
Real Estate Transaction Processing
- Property listings and transaction creation
- Participant management (buyers, sellers, agents, service providers)
- Financial operations (commissions, payments, escrow)
- Document management and reporting
Agent Network Management
- Agent discovery and search capabilities
- Network analysis with sponsor trees and downlines
- Team management and assignments
- Performance tracking and analytics
System Integration
- CRM integrations for customer management
- Accounting systems for financial tracking
- Workflow automation for process optimization
๐ API Coverage
| API Section | Endpoints | Status |
|---|---|---|
| Transaction Builder | 52 endpoints | โ Complete |
| Transactions | 49 endpoints | โ Complete |
| Agents | 36 endpoints | โ Complete |
| Teams | 2 endpoints | โ Complete |
| Directory | 16 endpoints | โ Complete |
| Total | 155 endpoints | โ Complete |
๐ ๏ธ Installation & Setup
Prerequisites
- Python 3.8 or higher
- ReZEN API key
Install the Package
With pip:
pip install rezen
With poetry:
poetry add rezen
Configure Authentication
Option 1: Environment Variable (Recommended)
export REZEN_API_KEY="your_api_key_here"
Option 2: Direct in Code
client = RezenClient(api_key="your_api_key_here")
Option 3: .env File
# .env
REZEN_API_KEY=your_api_key_here
๐ก Examples
Complete Transaction Workflow
from datetime import datetime, timedelta
from rezen import RezenClient
client = RezenClient()
# Create transaction
response = client.transaction_builder.create_transaction_builder()
transaction_id = response['id']
# Add property details
client.transaction_builder.update_location_info(transaction_id, {
"address": "1234 Elm Street",
"city": "San Francisco",
"state": "CA",
"zipCode": "94102"
})
# Set pricing and timeline
closing_date = (datetime.now() + timedelta(days=45)).strftime("%Y-%m-%d")
client.transaction_builder.update_price_and_date_info(transaction_id, {
"purchase_price": 850000,
"closing_date": closing_date
})
# Add participants
client.transaction_builder.add_buyer(transaction_id, {
"first_name": "Alice",
"last_name": "Johnson",
"email": "alice@email.com"
})
# Submit for processing
client.transaction_builder.submit_transaction(transaction_id)
Agent Network Analysis
from rezen import RezenClient
client = RezenClient()
# Find agents in California
agents = client.agents.search_active_agents(
state_or_province=["CALIFORNIA"],
page_size=50
)
# Analyze agent networks
for agent in agents[:5]:
agent_id = agent['id']
# Get network statistics
network_stats = client.agents.get_network_size_by_tier(agent_id)
front_line = client.agents.get_front_line_agents_info(agent_id)
print(f"Agent {agent['first_name']} {agent['last_name']}:")
print(f" Network tiers: {len(network_stats)}")
print(f" Front line agents: {len(front_line)}")
Directory Management
from rezen import RezenClient
client = RezenClient()
# Search for vendors
vendors = client.directory.search_vendors(
page_number=0,
page_size=20,
roles=["TITLE_ESCROW", "LENDER"]
)
# Create and link contacts
person_data = {
"firstName": "Jane",
"lastName": "Smith",
"emailAddress": "jane@example.com",
"phoneNumber": "555-0123"
}
person = client.directory.create_person(person_data)
client.directory.link_person(person['id'], {"vendorId": "vendor-123"})
๐ Documentation
| Resource | Description |
|---|---|
| ๐ Full Documentation | Complete documentation site |
| ๐ Quick Start | 5-minute setup guide |
| ๐ API Reference | Complete API documentation |
| ๐ก Examples | Real-world usage patterns |
| ๐ง Troubleshooting | Common issues and solutions |
๐๏ธ Architecture
The ReZEN Python client follows modern Python best practices:
RezenClient
โโโ TransactionBuilderClient (52 endpoints)
โโโ TransactionsClient (49 endpoints)
โโโ TeamsClient (2 endpoints)
โโโ AgentsClient (36 endpoints)
โโโ DirectoryClient (16 endpoints)
Design Principles:
- ๐ฏ Simple Interface: Intuitive method names and clear parameters
- ๐ Type Safety: Complete type hints for excellent IDE support
- โก Performance: Efficient session management and connection pooling
- ๐ก๏ธ Reliability: Comprehensive error handling and retry mechanisms
- ๐ Extensible: Clean architecture for easy customization
๐งช Development
Setup Development Environment
# Clone the repository
git clone https://github.com/theperrygroup/rezen.git
cd rezen
# Create virtual environment
python -m venv venv
source venv/bin/activate # Linux/macOS
# or venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements-dev.txt
# Install in development mode
pip install -e .
Run Tests
# Run all tests
pytest
# Run with coverage
pytest --cov=rezen --cov-report=html
# Run specific test file
pytest tests/test_teams.py -v
Code Quality
# Format code
black .
# Sort imports
isort .
# Type checking
mypy rezen/
# Linting
flake8 rezen/
Build Documentation
# Serve documentation locally
mkdocs serve
# Build documentation
mkdocs build
๐ค Contributing
We welcome contributions! Please see our Contributing Guide for details.
Quick Contribution Steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes with tests
- Run the test suite (
pytest) - Submit a pull request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Support
Get Help
- ๐ Documentation: theperrygroup.github.io/rezen
- ๐ฌ GitHub Issues: Report bugs or request features
- ๐ง Email: support@rezen.com
- ๐ Website: rezen.com
Status & Monitoring
- ๐ API Status: status.rezen.com
- ๐ฆ PyPI Package: pypi.org/project/rezen
Ready to build powerful real estate applications? Get Started โ
Built with โค๏ธ by The Perry Group
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rezen-1.5.2.tar.gz.
File metadata
- Download URL: rezen-1.5.2.tar.gz
- Upload date:
- Size: 101.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d1db6b8515bf9e51dc297d42ea6c65139d39f1323869072abc024c857688e1b
|
|
| MD5 |
5066d4da7b971b95c0d74153fb8caabc
|
|
| BLAKE2b-256 |
f2fc01e675324fe59f3665b6c40ad6b8437e6f55f83a1c928e46b7167305095a
|
File details
Details for the file rezen-1.5.2-py3-none-any.whl.
File metadata
- Download URL: rezen-1.5.2-py3-none-any.whl
- Upload date:
- Size: 27.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d61b2e1d2be8976f6b004fcafe51c9ea7fb40e8d0610c9c9375e54a8814d665f
|
|
| MD5 |
854454a24c31a30def706925d4d3fced
|
|
| BLAKE2b-256 |
a6fd640666282af4ef709698530b35b1d00ade38c9cfc084a04c0ce1c7699d22
|