Skip to main content

🔌 BPDB Smart Meter CLI

PyPI version Python Versions License: MIT Downloads

A Python CLI tool to collect information about Bangladesh Power Development Board (BPDB) prepaid electricity accounts. Get real-time consumer details, recharge history, and manage your smart meter directly from your terminal.

✨ Features

  • 📱 OTP Authentication: Secure login with phone number verification
  • 👤 Consumer Info: Retrieve detailed customer and meter information
  • 🔄 Recharge History: Track your payment and token generation records
  • ⚡ Smart Meter Integration: Direct API integration with BPDB's official endpoints
  • 🚀 Fast & Lightweight: Built with Python and designed for speed
  • 🔒 Secure: Phone number-based authentication with OTP

📦 Installation

From PyPI (Recommended)

pip install bpdb

From Source

git clone https://github.com/mdminhazulhaque/python-bpdb.git
cd python-bpdb
pip install -e .

🚀 Quick Start

After installation, use the bpdb-cli command:

# Get help
bpdb-cli --help

# Send OTP to your phone
bpdb-cli send-otp 01710123456

# Login with OTP
bpdb-cli login 01710123456 123456

# Get consumer information
bpdb-cli consumer-info

📖 Usage

Usage: bpdb-cli [OPTIONS] COMMAND [ARGS]...

  A CLI tool for BPDB Smart Meter management.

Options:
  --help  Show this message and exit.

Commands:
  send-otp       Send OTP to phone number for authentication
  login          Login with phone number and OTP
  consumer-info  Get detailed consumer and meter information
  recharge-info  Get recharge and token generation history

💡 Examples

📱 Send OTP

Send an OTP to your registered phone number:

$ bpdb-cli send-otp 01710123456

Sample Output:

OTP sent to 01710123456

🔐 Login

Login using your phone number and the OTP received:

$ bpdb-cli login 01710123456 123456

Sample Output:

Logged in with phone number 01710123456

👤 Get Consumer Information

Retrieve comprehensive customer and meter details:

$ bpdb-cli consumer-info

Sample Output:

+------------------+--------------------+
|     Division     |      Mymensingh    |
|    Meter Type    |          1P        |
|   Account Type   |   Active (Prepaid) |
|   S&D Division   |   S&D Kishoreganj  |
|  Sanction Load   |          4         |
|  Customer Name   | MD. ABDUL HANNAN   |
| Customer Address |      BOTTIRISH     |
| Tariff Category  |    Tariff : LT-A   |
+------------------+--------------------+

🔄 Get Recharge History

View your recent payment and token generation records:

$ bpdb-cli recharge-info 01710123456 0120100112233

Sample Output:

+---------------------+--------------+-------------+--------------------------+
|        Date         | Gross Amount | Energy Cost |          Tokens          |
+---------------------+--------------+-------------+--------------------------+
| 2024-05-01 16:15:04 |     5000     |   4662.19   | 1111-2222-3333-4444-5555 |
| 2024-10-01 17:47:27 |     5000     |   4281.47   | 1111-2222-3333-4444-5555 |
| 2025-01-01 23:41:46 |     5000     |   4785.47   | 1111-2222-3333-4444-5555 |
+---------------------+--------------+-------------+--------------------------+

🛠️ Development

Prerequisites

  • Python 3.6 or higher
  • pip package manager

Setting up for Development

  1. Clone the repository:
git clone https://github.com/mdminhazulhaque/python-bpdb.git
cd python-bpdb
  1. Create a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install in development mode:
pip install -e .

Dependencies

  • requests - HTTP library for API calls
  • click - Command line interface framework
  • tabulate - Pretty-print tabular data

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

⚠️ Disclaimer

This is an unofficial tool. Use at your own discretion. The authors are not responsible for any issues that may arise from using this tool.

Metadata

Release files for bpdb 1.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bpdb 1.7.0
File Size Uploaded
bpdb-1.7.0.tar.gz 5.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bpdb 1.7.0
File Interpreter ABI Platform
bpdb-1.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.3 kB

Release files / bpdb-1.7.0.tar.gz

Download URL bpdb-1.7.0.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
beabbdfa2654e309acd095f22ac6186cd254aabb31c16abe0ff69bb228f3c7df
BLAKE2b-256 checksum
How to use checksums
08547bdb432b5e689fe2b3ea55fa78dd1349655187757cb757d6989297de1f4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 3, 2026.

Transparency log

Release files / bpdb-1.7.0-py3-none-any.whl

Download URL bpdb-1.7.0-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
141fd2715b54e964f45f6371935626daf860868221320024b62addb923ff67a9
BLAKE2b-256 checksum
How to use checksums
6afbe2e3623b35bdb95d3d3fcbef4243c6460e056fb3a3658ac06c18a092ec57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.7.0 This release

2 release files

1.6.0

2 release files

1.5.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release 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