Releases: domfahey/dex-python
Releases · domfahey/dex-python
v0.3.0 - CLI, Migrations, and Pydantic Hardening
What's New
Unified CLI
New dex command-line interface using Typer:
dex sync incremental- Incremental sync preserving dedup metadatadex sync full- Full sync (destructive)dex duplicate analyze- Generate duplicate analysis reportdex duplicate flag- Flag duplicate candidatesdex duplicate review- Interactive duplicate reviewdex duplicate resolve- Merge confirmed duplicatesdex enrichment backfill- Parse job titles for company/roledex enrichment push- Push enrichment data to API
SQLAlchemy + Alembic Migrations
- SQLAlchemy ORM models matching existing schema
- Alembic migration infrastructure with SQLite batch mode support
- Session management utilities
International Phone Normalization (E.164)
normalize_phone_e164()- Full international phone parsingformat_phone()- Format phones as E.164, national, or international
LinkedIn URL Normalization
normalize_linkedin()- Canonicalize LinkedIn profile URLsfind_linkedin_duplicates()- Find contacts sharing LinkedIn profiles
Pydantic Best Practices Audit
- 50 new test cases for model validation coverage
- Field validators for
birthday_yearanddue_at_date - Type hardening with
LiteralandFieldconstraints __all__export list for all public models
Performance
- Database indexes for
duplicate_group_id,linkedin, andwebsite - Optimized deduplication helper functions
Dependencies Added
typer>=0.12.0for unified CLIsqlalchemy>=2.0.0for ORM modelsalembic>=1.14.0for database migrationsphonenumbers>=8.13.0for international phone parsingunidecode>=1.3.0for unicode→ASCII normalization
Full Changelog: v0.2.0...v0.3.0