Skip to main content

Python client library for the Monta EV charging API

Project description

Monta

A Python client library for the Monta EV charging API.

API Documentation

For complete API documentation, visit the official Monta API docs: https://docs.public-api.monta.com/reference/home

Requirements

  • Python 3.11 or higher
  • aiohttp
  • async-timeout

Installation

This package is available on PyPI:

pip install monta

Alternatively, install from source with:

python -m pip install .

Usage

Here's a basic example of how to use the Monta API client:

import asyncio
import aiohttp
from monta import MontaApiClient

async def main():
    async with aiohttp.ClientSession() as session:
        # Initialize the client
        client = MontaApiClient(
            client_id="your_client_id",
            client_secret="your_client_secret",
            session=session,
        )

        # Get all charge points
        charge_points = await client.async_get_charge_points()
        for charge_point_id, charge_point in charge_points.items():
            print(f"Charge Point {charge_point_id}: {charge_point.name}")

        # Get a specific charge point with full details
        if charge_points:
            first_charge_point_id = next(iter(charge_points.keys()))
            charge_point = await client.async_get_charge_point(first_charge_point_id)

            # Access location information
            if charge_point.location and charge_point.location.coordinates:
                print(f"Location: {charge_point.location.coordinates.latitude}, "
                      f"{charge_point.location.coordinates.longitude}")

            # Access connector information
            print(f"Available connectors: {[c.name for c in charge_point.connectors]}")

            # Get charges for this charge point
            charges = await client.async_get_charges(first_charge_point_id)
            print(f"Found {len(charges)} charges")

        # Get wallet information
        wallet = await client.async_get_personal_wallet()
        print(f"Wallet balance: {wallet.balance.amount} {wallet.balance.currency.identifier}")

# Run the async function
asyncio.run(main())

Available Methods

  • async_get_charge_points(page, per_page) - Retrieve all available charge points with pagination
  • async_get_charge_point(charge_point_id) - Get a specific charge point by ID with full details
  • async_get_charges(charge_point_id, state, from_date, to_date, page, per_page) - Get charges for a specific charge point
  • async_start_charge(charge_point_id) - Start a charging session
  • async_stop_charge(charge_id) - Stop a charging session
  • async_get_personal_wallet() - Get personal wallet information
  • async_get_wallet_transactions(state, from_date, to_date, page, per_page) - Retrieve wallet transactions

License

See LICENSE file for details.

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

monta-1.0.6.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

monta-1.0.6-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file monta-1.0.6.tar.gz.

File metadata

  • Download URL: monta-1.0.6.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for monta-1.0.6.tar.gz
Algorithm Hash digest
SHA256 78f29cff6f1efa2585c4edde6f13b57edf6ee55857426b88f244f05d3a42d2bf
MD5 2ffacf1250441d233a51dcaecf98ed2f
BLAKE2b-256 61fb0cdbb49eeab954c4021399b1a9f80728e7c48ffdc375c8ab36a1f29f3ba6

See more details on using hashes here.

File details

Details for the file monta-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: monta-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for monta-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 85a0c39d54292256ad1bdf95d3f5eefe330a6bd8a15ad8d0c1702dab176cc313
MD5 3ce7c04b3f52321a2e81661647e78900
BLAKE2b-256 32d566f71a820ca30752087980b162bfa180dcb94b3febf1376867dfe58f6c87

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