Sync Modules¶
PyPropertyMe includes optional sync modules for exporting PropertyMe data to external systems.
Available Modules¶
| Module | Use Case | Installation |
|---|---|---|
| Airtable Sync | Custom views, reporting, team collaboration | uv add pypropertyme[airtable] |
| MongoDB Sync | Analytics, AI/ML pipelines, system integrations | uv add pypropertyme[mongodb] |
Architecture¶
Both sync modules follow the same patterns:
- Separate CLI entry points -
pypropertyme-airtableandpypropertyme-mongodb - Upsert logic - Records are created if new, updated if existing
- Stale record refresh - Ensures external systems stay in sync with PropertyMe
- Optional dependencies - Only install what you need
Common Features¶
Tables/Collections¶
Both modules sync these 7 entity types:
| Entity | Airtable Table | MongoDB Collection |
|---|---|---|
| Contacts | Contacts | contacts |
| Members | Members | members |
| Properties | Properties | properties |
| Tenancy Balances | Tenancy Balances | tenancy_balances |
| Jobs | Jobs | jobs |
| Inspections | Inspections | inspections |
| Tasks | Tasks | tasks |
Tenancy Balances
Tenancy Balances is a superset of tenancy data, containing all tenancies (active and closed) plus financial balance information. A separate Tenancies table/collection is not needed.
Stale Record Handling¶
After syncing, records in the external system that weren't included in the PropertyMe sync response are refreshed individually:
- For each stale record, fetch its current state from PropertyMe
- Records that return 404 (deleted) are logged and skipped
- Records that have become archived/closed are updated
This ensures PropertyMe remains the single source of truth.
Choosing a Module¶
Use Airtable When¶
- You need custom views and filters for your team
- Non-technical users need to access and visualize data
- You want to create automations with Airtable integrations
- You need linked records between entities
- Data volume is moderate (Airtable has record limits)
Use MongoDB When¶
- You're building analytics or reporting dashboards
- You need the data for AI/ML pipelines
- You're integrating with other systems via APIs
- You need full-text search capabilities
- Data volume is large or growing
Getting Started¶
Choose your sync module:
- Airtable Sync - Full documentation for Airtable integration
- MongoDB Sync - Full documentation for MongoDB integration