Skip to main content

Python client for L'eau d'Ile-de-France (SEDIF) water consumption data

Project description

pyeauidf

Python client for L'eau d'Île-de-France (SEDIF) water consumption data.

Fetches daily, weekly, or monthly water consumption history directly via the Salesforce Aura API — no browser or Selenium required.

Disclaimer

This integration relies on scraping the SEDIF customer portal. It is not based on an official API, so any change to the website's structure or authentication flow may break it without notice.

This integration was built with the help of Claude (Anthropic).

Home Assistant

A ready-to-use Home Assistant integration built on top of this library is available: ha_eauidf.

Installation

pip install .

Requires Python 3.10+ and requests.

Usage

CLI

# Last 7 days (default)
pyeauidf -u email@example.com -p password

# Custom number of days
pyeauidf -u email@example.com -p password --days 30

# Weekly aggregation
pyeauidf -u email@example.com -p password --days 90 --step weekly

# Credentials via environment variables
export EAUIDF_USERNAME=email@example.com
export EAUIDF_PASSWORD=password
pyeauidf

Python

from pyeauidf import EauIDFClient
from pyeauidf.client import TimeStep
from datetime import date, timedelta

with EauIDFClient("email@example.com", "password") as client:
    client.login()

    # Daily consumption (last 90 days by default)
    records = client.get_daily_consumption()
    for r in records:
        print(f"{r.date:%Y-%m-%d}: {r.consumption_liters:.0f}L")

    # Weekly or monthly
    records = client.get_daily_consumption(time_step=TimeStep.WEEKLY)

    # Custom date range
    records = client.get_daily_consumption(
        start_date=date(2026, 1, 1),
        end_date=date(2026, 3, 1),
    )

Data model

Each ConsumptionRecord contains:

Field Type Description
date datetime Timestamp of the reading
consumption_liters float Water consumed (liters)
meter_reading float Cumulative meter reading (m³)
is_estimated bool Whether the value is estimated

How it works

The library authenticates against the Salesforce Experience Cloud portal that powers L'eau d'Île-de-France, then calls the same Aura API endpoints that the website uses:

  1. Login via LightningLoginFormController
  2. Follow frontdoor.jsp to establish session cookies
  3. Call Apex actions (LTN015_ICL_ContratConsoHisto.getData) for consumption data

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

pyeauidf-0.1.1.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

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

pyeauidf-0.1.1-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file pyeauidf-0.1.1.tar.gz.

File metadata

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

File hashes

Hashes for pyeauidf-0.1.1.tar.gz
Algorithm Hash digest
SHA256 cbc60788aeff75374ed9f2ee15eec22e95f9a1b1816c388f1db4b2fcdd9be27f
MD5 385a48adc0b350c082a0a585250c1acf
BLAKE2b-256 3c97f3920551a6ce2f23b26c27162eaa1a1e76d2e3de95d5b5d2f9e8603f3932

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeauidf-0.1.1.tar.gz:

Publisher: publish.yml on TimoPtr/pyeauidf

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

File details

Details for the file pyeauidf-0.1.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for pyeauidf-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 163fb1ad562b86c66629b5a83fc3107b7fdd3bd8fcbf2bfdc0c6c39d30f37c1c
MD5 062c70a529f27e28c0bd66d80480cfe3
BLAKE2b-256 54c554075f184e9b6e7a271417e3ffc6595959f5e2239c56c533c24bccfcbf3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeauidf-0.1.1-py3-none-any.whl:

Publisher: publish.yml on TimoPtr/pyeauidf

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