polerisk
Predictive utility pole failure analysis and maintenance optimization platform
What You Get
polerisk provides comprehensive tools for analyzing utility pole health, predicting failures, and optimizing maintenance schedules. Built for utility companies, infrastructure managers, and risk analysts who need data-driven insights for pole management.
Key Capabilities
🔍 Risk Assessment
- Analyze pole condition and failure probability
- Multi-factor risk scoring (age, material, weather exposure, load)
- Historical failure pattern analysis
- Predictive maintenance scheduling
📊 Data-Driven Insights
- Statistical analysis of pole populations
- Geospatial visualization of risk hotspots
- Time series analysis for degradation patterns
- Cost-benefit analysis for maintenance prioritization
🤖 Machine Learning Models
- Failure prediction models
- Anomaly detection for unusual deterioration
- Risk clustering and pattern recognition
- Custom model training on your data
📈 Reporting & Visualization
- Interactive dashboards
- Exportable reports (PDF, CSV, HTML)
- Map-based visualizations
- Custom analytics for your KPIs
Installation
pip install polerisk
Optional Packages
Install additional capabilities based on your needs:
# For enhanced performance
pip install polerisk[performance]
# For machine learning features
pip install polerisk[ml]
# For web dashboard
pip install polerisk[web]
# For cloud deployment
pip install polerisk[cloud]
# Install everything
pip install polerisk[all]
Quick Start
import polerisk
# Load your pole data
poles = polerisk.load_data('pole_inventory.csv')
# Assess risk for all poles
risk_assessment = polerisk.assess_risk(poles)
# Get high-risk poles
high_risk = risk_assessment[risk_assessment['risk_score'] > 0.7]
# Generate maintenance schedule
schedule = polerisk.optimize_maintenance(
high_risk,
budget=100000,
time_horizon='1year'
)
# Export results
schedule.to_csv('maintenance_plan.csv')
polerisk.generate_report(schedule, output='report.html')
Core Features
Risk Analysis
# Calculate failure probability
risk_scores = polerisk.calculate_risk(
poles,
factors=['age', 'material', 'weather_exposure', 'load'],
weights='auto' # or specify custom weights
)
# Identify critical infrastructure
critical = polerisk.identify_critical_poles(
poles,
criteria=['customer_impact', 'replacement_cost', 'failure_risk']
)
Predictive Modeling
# Train a failure prediction model
model = polerisk.train_model(
historical_data,
target='failure_within_year',
model_type='random_forest'
)
# Predict failures
predictions = model.predict(current_poles)
# Evaluate model performance
metrics = model.evaluate(test_data)
print(f"Accuracy: {metrics['accuracy']:.2%}")
Geospatial Analysis
# Create risk heat map
risk_map = polerisk.create_risk_map(
poles,
base_map='openstreetmap',
cluster_radius=5 # km
)
# Export interactive map
risk_map.save('pole_risk_map.html')
# Find poles in high-risk zones
zones = polerisk.identify_risk_zones(poles, threshold=0.8)
Maintenance Optimization
# Optimize maintenance schedule
optimal_plan = polerisk.optimize_maintenance(
poles,
budget=500000,
constraints={
'max_poles_per_month': 100,
'min_risk_threshold': 0.6,
'region_balance': True
}
)
# Calculate ROI
roi = polerisk.calculate_roi(
optimal_plan,
avoided_failures=estimated_failures,
failure_cost=avg_failure_cost
)
Data Requirements
polerisk works with standard pole inventory data:
Minimum Required Fields:
- Pole ID
- Location (latitude/longitude or address)
- Installation date or age
- Material type
Recommended Fields for Better Analysis:
- Inspection history
- Maintenance records
- Load data
- Weather exposure
- Soil conditions
- Previous failures
Supported Data Formats:
- CSV, Excel
- JSON, GeoJSON
- Shapefiles
- SQL databases
- REST APIs
Use Cases
Utility Companies
- Reduce unexpected outages by 40-60%
- Optimize maintenance budgets
- Prioritize inspections based on risk
- Comply with regulatory requirements
Infrastructure Managers
- Long-term asset planning
- Capital expenditure optimization
- Risk-based decision making
- Performance benchmarking
Risk Analysts
- Portfolio-level risk assessment
- Scenario analysis and modeling
- Cost-benefit analysis
- Regulatory reporting
Performance
- Analyze 100,000+ poles in seconds
- Real-time risk scoring
- Parallel processing for large datasets
- Cloud-scalable architecture
Support
- 📚 Documentation: polerisk.readthedocs.io
- 🐛 Issues: github.com/kylejones200/polerisk/issues
- 💬 Discussions: github.com/kylejones200/polerisk/discussions
- 📧 Contact: kyletjones@gmail.com
Requirements
- Python 3.12 or higher
- Standard data science libraries (automatically installed)
License
MIT License - Free for commercial and personal use.
Ready to optimize your pole maintenance?
pip install polerisk
Metadata
Release files for polerisk 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| polerisk-1.1.0.tar.gz | 145.0 kB | With provenance | Details for polerisk-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| polerisk-1.1.0-py3-none-any.whl | Python 3 | none | any | Details for polerisk-1.1.0-py3-none-any.whl |
Total release size: 325.3 kB
Release files / polerisk-1.1.0.tar.gz
| Download URL | polerisk-1.1.0.tar.gz |
|---|---|
| Size | 145.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4009bc2b14be19d2e2050934e9ce7c5b8c4c90a4c871d2fbe5a7efd05f6e29e9
|
|
BLAKE2b-256 checksum How to use checksums |
8534308a399360de202d2225882457db96e1517c97c7276119ba1118d46e44e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 20, 2025.
Transparency logRelease files / polerisk-1.1.0-py3-none-any.whl
| Download URL | polerisk-1.1.0-py3-none-any.whl |
|---|---|
| Size | 180.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
737e0e87981cebd6dea89b0a07aefd02359371b407a39901369c1827563c596a
|
|
BLAKE2b-256 checksum How to use checksums |
d721e962ddc0e92d8f9d9491139e17caeeca9e624b8d9bcc48ed4f2bd5caddcc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 20, 2025.
Transparency logSecurity for polerisk 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for polerisk-1.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 20, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.