Skip to content

v1.6.2

Choose a tag to compare

@CervezaStallone CervezaStallone released this 08 Dec 14:34
· 18 commits to main since this release

Production Server & Performance Optimization

This release adds a production-ready server and dramatically improves performance for long time ranges.

New Features

Adaptive Downsampling

  • Problem solved: Loading long time ranges (6+ hours) was extremely slow
  • Solution: Intelligent downsampling based on time range:
    • 1-6 hours: 1 minute intervals (~360 points, 98% reduction)
    • 6-24 hours: 5 minute intervals
    • 1-7 days: 15 minute intervals
    • 1 month: 1 hour intervals (~720 points)
    • 3 months: 3 hour intervals
    • 6 months: 6 hour intervals
    • 6 months / years: 1 day intervals

  • Result: Maximum 1000-2000 points for instant rendering
  • Uses pandas
    esample()\ for efficient aggregation
  • Backward compatible - ranges <1 hour remain unchanged

Waitress Production Server

  • Cross-platform WSGI server (Windows/Linux/macOS)
  • Optimized with 8 threads for multi-user support
  • Logging filtered to ERROR level for cleaner output

Improvements

  • Graph Spacing: Increased from 0.06 to 0.10 for better readability
  • Debug Logging: Configurable logging via .env\ (\DEBUG_LOGGING=True)
    • Database query details
    • Downsampling statistics (reduction percentages)

Dependency Updates

  • pandas: 2.2.3 2.3.3
  • numpy: 2.1.3 2.2.6
  • Flask: 3.0.3 3.1.2
  • python-dotenv: 1.0.1 1.2.1
  • waitress: 3.0.1 3.0.2

Security

  • Security updates for urllib3 dependency (via pandas/numpy updates)

Technical Details

Performance Impact Example:

  • 6 hour data: ~18,720 360 points (98.1% reduction)
  • 1 year data: ~27 million 365 points (99.999% reduction)
  • Visual quality preserved - trends fully visible

Breaking Changes: None

Requires:

  • Python 3.10-3.13
  • See
    equirements.txt\ for all dependencies

Installation

git clone https://github.com/CervezaStallone/XY-MD02_WebApp.git
cd XY-MD02_WebApp
python -m venv .venv
.venv\\Scripts\\activate  # Windows
pip install -r requirements.txt
python app.py

Contributors: @dependabot