Skip to main content

Predictive utility pole failure analysis and maintenance optimization platform

Project description

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

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

Get Started | View Examples | API Reference

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

polerisk-1.1.0.tar.gz (145.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

polerisk-1.1.0-py3-none-any.whl (180.3 kB view details)

Uploaded Python 3

File details

Details for the file polerisk-1.1.0.tar.gz.

File metadata

  • Download URL: polerisk-1.1.0.tar.gz
  • Upload date:
  • Size: 145.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for polerisk-1.1.0.tar.gz
Algorithm Hash digest
SHA256 4009bc2b14be19d2e2050934e9ce7c5b8c4c90a4c871d2fbe5a7efd05f6e29e9
MD5 c7fc6dcdded8b0a56cdb7938074f81a9
BLAKE2b-256 8534308a399360de202d2225882457db96e1517c97c7276119ba1118d46e44e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for polerisk-1.1.0.tar.gz:

Publisher: publish.yml on kylejones200/PoleRisk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polerisk-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: polerisk-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 180.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for polerisk-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 737e0e87981cebd6dea89b0a07aefd02359371b407a39901369c1827563c596a
MD5 3838db85b01ec7c8132f2b904bb0c904
BLAKE2b-256 d721e962ddc0e92d8f9d9491139e17caeeca9e624b8d9bcc48ed4f2bd5caddcc

See more details on using hashes here.

Provenance

The following attestation bundles were made for polerisk-1.1.0-py3-none-any.whl:

Publisher: publish.yml on kylejones200/PoleRisk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page