Skip to main content

Energy inference and EV charging ETA utilities (SoC-based).

Project description

stroomer

Utilities for appliance inference and EV charging ETA (SoC-based).

Usage

Appliance inference

from stroomer import StroomerPredictor

p = StroomerPredictor()
# daya per unit (W)
p.set_appliances({
    "Lampu": 10,
    "Kipas": 50,
    "TV": 100,
    "Kulkas": 150,
    "AC": 1000
})

# Opsional: batasi jumlah masuk akal (mis. lampu maksimal 20 unit)
p.set_max_counts({
    "Lampu": 20,
    "Kipas": 2,
    "TV": 2,
    "Kulkas": 2,
    "AC": 1
})

out = p.predict(power=180)  # misal terbaca 180 W total
print(out)
# Kemungkinan output:
# {
#   "on": {"Lampu": 3, "Kipas": 1},  # 3*10 + 1*50 = 80 W (contoh) -> akan dicari kombinasi terdekat ke 180
#   "target_power": 180.0,
#   "predicted_total": 180.0,
#   "relative_error": 0.0
# }

Charging ETA (SoC-based)

from stroomer import ChargingTimePredictor
eta = ChargingTimePredictor(capacity_kwh=50, target_soc=90, efficiency=0.92)
print(eta.predict(power=8000, SoC=30))
# -> {"FinishDuration":"03:14","FinishTime":"2025-08-18T13:25:00+00:00"}

Dev

pip install -U build twine pytest
pip install -e .
pytest -q
python -m build

Deploy

rm -rf dist/ build/ rm -rf src/stroomer.egg-info python3.11 -m build python3.11 -m twine upload dist/*

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

stroomer-0.1.2.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

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

stroomer-0.1.2-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file stroomer-0.1.2.tar.gz.

File metadata

  • Download URL: stroomer-0.1.2.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.3

File hashes

Hashes for stroomer-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f4cda555657bc7ecb8510ba7265809cf56181229c156d10c23163d3c6ae76fa3
MD5 cc817d340a201460606bd0608f811ff6
BLAKE2b-256 33ef9d8261fabfa8039723a9cb9700a39b4c7ec75ad0f36bdad6bc40bfc2d993

See more details on using hashes here.

File details

Details for the file stroomer-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: stroomer-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.3

File hashes

Hashes for stroomer-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6812f74a64f7db4b4e5c9c84900795f2e504088e2358a519d33d1d230f1e2f32
MD5 eca53a3b0a95e60c9e0176d40ae17eaf
BLAKE2b-256 b8b90bf8ea896c6a7831bb9369ef67f235a575e26e378f02b1bfae61e9940cdb

See more details on using hashes here.

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