A Python library for electric vehicle fleet electrification assessment, adoption modeling, V2G potential analysis, battery degradation modeling, and grid impact assessment.
pip install evrexWith optional dependencies:
pip install evrex[fetch] # OSM, World Bank, IMF data fetchers
pip install evrex[viz] # Matplotlib visualization
pip install evrex[all] # Everythingfrom evrex import (
TransportContext,
EVMacroData,
run_ev_bass_diffusion,
run_ev_tco_parity,
generate_charging_profiles,
compute_v2g_potential,
compute_battery_degradation,
assess_grid_impact,
)
# Define transport context
transport = TransportContext(
fleet_by_category={"light": 5000, "medium": 800, "heavy": 200, "buses": 100},
charging_stations=120,
population=500_000,
)
# Run Bass diffusion adoption model
curve = run_ev_bass_diffusion(transport, base_year=2025, target_year=2050)
print(f"EV penetration by 2050: {curve.penetration[-1]:.1%}")
print(f"Peak charging demand: {curve.peak_charging_mw[-1]:.1f} MW")
# Battery degradation analysis
deg = compute_battery_degradation(v2g_cycles_per_day=0.5, chemistry="LFP")
print(f"Degradation: {deg.total_degradation_pct_per_year:.2f}%/year")
print(f"Break-even V2G rate: ${deg.breakeven_compensation:.0f}/MWh")Four methods for projecting EV fleet evolution:
| Method | Function | Key Drivers |
|---|---|---|
| Logistic | run_ev_logistic_adoption() |
GDP, fuel price, EV cost, infrastructure |
| Bass Diffusion | run_ev_bass_diffusion() |
Innovation (p) and imitation (q) |
| TCO-Parity | run_ev_tco_parity() |
Total cost of ownership comparison |
| Policy-Driven | run_ev_policy_driven() |
ICE bans, emission targets, scrappage |
evrex.core- Adoption models, charging profiles, V2G, degradation, grid impactevrex.data- OSM, World Bank, IMF, IEA (bundled), BNEF (bundled) data
MIT