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.2.tar.gz (10.1 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.2-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: monta-1.0.2.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"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.2.tar.gz
Algorithm Hash digest
SHA256 16730a966b2ac15fbbe04187b24f709858a16499c028ec788e144ad120b5e229
MD5 acf0347dfc0183b062f64aa0cf76ac13
BLAKE2b-256 52ae3f2e18f112613dc114f1e5e9b706fdd0d12ea823b5a7f3a8652300ad9aa0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: monta-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c650e6e82dc4523373c8f7bf7bad11c60bf08723210f4e650cfaaa075282365b
MD5 ebbaee6b7241ad0ee763d8e2081c41a9
BLAKE2b-256 9c1dde581833fc0c31e15df4e332166f77e83ae55f76801607c5431c1aacee8d

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