Skip to main content

HeyTelecom Banner

📱 HeyTelecom Python Library

"I just want my usage data" Edition 🚀

Quick Install | Getting Started | Features | Contributing

PyPI Python Version License


Automate your Hey! Telecom account. Get usage, invoices, and more without lifting a finger.


📦 Quick Install

For the Pythonistas 🐍:

pip install heytelecom

🏠 Home Assistant Integration

This whole project was basically an excuse to get my data into Home Assistant.

How it works now:

  1. The Library: Pure Python — no browser, no heavy dependencies. Just requests + OAuth2.
  2. The Integration: A lightweight HA component that talks to the library and creates sensors.

🛠️ Getting Started

It's super simple. Just tell it who you are, and it does the rest.

from heytelecom import HeyTelecomClient

# Let the robot do the work 🤖
with HeyTelecomClient(email="your@email.com", password="your_password") as client:
    client.login() # Knock knock 🚪
    
    # Gimme the data!
    account_data = client.get_account_data()
    
    print(f"You have {len(account_data.products)} products.")
    print(f"Latest invoice: €{account_data.billing.latest_invoice.amount_eur} (Ouch? 💸)")

🤖 How it Works

  1. The Setup: We use requests (plain HTTP) — no browser needed. Just OAuth2 with PKCE, exactly like the web app does.
  2. The Login: Authenticates via the same OIDC flow the browser uses — email/password → BFF auth endpoint → authorization code → access token.
  3. The Grab: Calls the same BFF JSON APIs the web app uses to get products, usage, and invoices.
  4. The Result: You get nice, clean Python objects to play with. No more parsing HTML yourself!

✨ Features

  • Auto Login: Handles the OAuth2/PKCE auth flow automatically.
  • Token Refresh: Re-authenticates transparently when the access token expires.
  • Product Info: Mobile, Internet, whatever you got.
  • Usage Stats: Data, Calls, SMS. Know when to stop scrolling TikTok.
  • Invoices: Track your latest invoice status.

📖 The Story (or "Why?")

So, here's the tea. I wanted to integrate my mobile usage into my dashboard. I checked for an API. Crickets.

The official API is not public, but I reverse-engineered the web app's traffic using a HAR capture (see the research folder). The e-care portal uses standard OAuth2/PKCE + a set of BFF JSON endpoints, so I rebuilt the whole flow with plain HTTP requests — no browser required.

Now I can graph my data usage and feel guilty about it in real-time.


🤝 Contributing

Found a bug? Want to add a feature? PRs are welcome! Let's make this thing better together. 🎉


Made with ❤️ and a lot of debugging.

Download files

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

Source Distribution

heytelecom-0.2.0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

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

heytelecom-0.2.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file heytelecom-0.2.0.tar.gz.

File metadata

  • Download URL: heytelecom-0.2.0.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for heytelecom-0.2.0.tar.gz
Algorithm Hash digest
SHA256 778169cd6704de147769a516824f1d9c3dbd3d6d8fab547e738834cd1afa6eeb
MD5 772eb8c8004a2274cc0a09530fd787fd
BLAKE2b-256 da5eb519bd90c61148290c6d38099f0f4152214c50e4ec658436707e4851eee8

See more details on using hashes here.

Provenance

The following attestation bundles were made for heytelecom-0.2.0.tar.gz:

Publisher: publish.yml on MauroDruwel/HeyTelecom

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

File details

Details for the file heytelecom-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: heytelecom-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for heytelecom-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d3ef7935da35c763d7df582060dfd3583f8c8a6ed8a70334e014330c8ac90fd3
MD5 0d219dfebf980f0e69a8cb33dbc8abb4
BLAKE2b-256 770e2ad7b8f96ecebfb78b4386bcaca6976980bcb46212a12adfa2db560a87e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for heytelecom-0.2.0-py3-none-any.whl:

Publisher: publish.yml on MauroDruwel/HeyTelecom

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

Release history Release notifications | RSS feed

0.2.2

2 files

0.2.1

2 files

This release

0.2.0 This release

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page