# Python client for accessing FCA/Stellantis cars cloud API
## Installation
`pip3 install py-uconnect`
## Usage
```python
from py_uconnect import Client
from py_uconnect.brands import BRANDS
# Create client
client = Client('foo@bar.com', 'very_secret', pin='1234', brand=brands.FIAT_EU)
# Fetch the vehicle data into cache
client.refresh()
# List vehicles
vehicles = client.get_vehicles()
for vehicle in vehicles.values():
print(vehicle.to_json(indent=2))
```
This would emit something similar to:
```json
{
"vin": "XXXXXXXXXXXXXXXXXXXX",
"nickname": "500e",
"make": "FIAT",
"model": "Neuer 500",
"year": 2023,
"region": "EMEA",
"ignition_on": false,
"trunk_locked": true,
"odometer": 1841,
"odometer_unit": "km",
"days_to_service": 325,
"distance_to_service": 13159.0,
"distance_to_service_unit": "km",
"distance_to_empty": 134,
"distance_to_empty_unit": "km",
"battery_voltage": 14.875,
"oil_level": null,
"fuel_low": false,
"fuel_amount": null,
"plugged_in": false,
"ev_running": false,
"charging": false,
"charging_level": 0,
"charging_level_preference": 5,
"state_of_charge": 63,
"time_to_fully_charge_l3": 41,
"time_to_fully_charge_l2": 96,
"wheel_front_left_pressure": null,
"wheel_front_left_pressure_unit": "kPa",
"wheel_front_left_pressure_warning": false,
"wheel_front_right_pressure": null,
"wheel_front_right_pressure_unit": "kPa",
"wheel_front_right_pressure_warning": false,
"wheel_rear_left_pressure": null,
"wheel_rear_left_pressure_unit": "kPa",
"wheel_rear_left_pressure_warning": false,
"wheel_rear_right_pressure": null,
"wheel_rear_right_pressure_unit": "kPa",
"wheel_rear_right_pressure_warning": false,
"door_driver_locked": true,
"door_passenger_locked": true,
"door_rear_left_locked": true,
"door_rear_right_locked": true,
"window_driver_closed": true,
"window_passenger_closed": true,
"location": {
"longitude": 1.580266952514648,
"latitude": 1.36115264892578,
"altitude": 0,
"bearing": 0,
"is_approximate": false,
"updated": 1738660203.634
},
"supported_commands": [
"RDL",
"RDU",
"VF",
"ROLIGHTS",
"CNOW",
"DEEPREFRESH",
"ROPRECOND",
"ROTRUNKUNLOCK",
"ROPRECOND_OFF"
]
}
```
Raw data
{
"_id": null,
"home_page": "https://github.com/hass-uconnect/py-uconnect",
"name": "py-uconnect",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "fiat, jeep, dodge, ram, alfa, romeo, maserati, chrysler, api, cloud",
"author": "Olga Novgorodova",
"author_email": "olga@novg.net",
"download_url": "https://files.pythonhosted.org/packages/f4/46/b3b92c9e508ed30d6a70e134699ea1dc9fb52e1d350fe9cfa2908b199e5b/py_uconnect-0.2.5.tar.gz",
"platform": null,
"description": "# Python client for accessing FCA/Stellantis cars cloud API\n\n## Installation\n\n`pip3 install py-uconnect`\n\n## Usage\n\n```python\nfrom py_uconnect import Client\nfrom py_uconnect.brands import BRANDS\n\n# Create client\nclient = Client('foo@bar.com', 'very_secret', pin='1234', brand=brands.FIAT_EU)\n# Fetch the vehicle data into cache\nclient.refresh()\n\n# List vehicles\nvehicles = client.get_vehicles()\nfor vehicle in vehicles.values():\n print(vehicle.to_json(indent=2))\n```\n\nThis would emit something similar to:\n```json\n{\n \"vin\": \"XXXXXXXXXXXXXXXXXXXX\",\n \"nickname\": \"500e\",\n \"make\": \"FIAT\",\n \"model\": \"Neuer 500\",\n \"year\": 2023,\n \"region\": \"EMEA\",\n \"ignition_on\": false,\n \"trunk_locked\": true,\n \"odometer\": 1841,\n \"odometer_unit\": \"km\",\n \"days_to_service\": 325,\n \"distance_to_service\": 13159.0,\n \"distance_to_service_unit\": \"km\",\n \"distance_to_empty\": 134,\n \"distance_to_empty_unit\": \"km\",\n \"battery_voltage\": 14.875,\n \"oil_level\": null,\n \"fuel_low\": false,\n \"fuel_amount\": null,\n \"plugged_in\": false,\n \"ev_running\": false,\n \"charging\": false,\n \"charging_level\": 0,\n \"charging_level_preference\": 5,\n \"state_of_charge\": 63,\n \"time_to_fully_charge_l3\": 41,\n \"time_to_fully_charge_l2\": 96,\n \"wheel_front_left_pressure\": null,\n \"wheel_front_left_pressure_unit\": \"kPa\",\n \"wheel_front_left_pressure_warning\": false,\n \"wheel_front_right_pressure\": null,\n \"wheel_front_right_pressure_unit\": \"kPa\",\n \"wheel_front_right_pressure_warning\": false,\n \"wheel_rear_left_pressure\": null,\n \"wheel_rear_left_pressure_unit\": \"kPa\",\n \"wheel_rear_left_pressure_warning\": false,\n \"wheel_rear_right_pressure\": null,\n \"wheel_rear_right_pressure_unit\": \"kPa\",\n \"wheel_rear_right_pressure_warning\": false,\n \"door_driver_locked\": true,\n \"door_passenger_locked\": true,\n \"door_rear_left_locked\": true,\n \"door_rear_right_locked\": true,\n \"window_driver_closed\": true,\n \"window_passenger_closed\": true,\n \"location\": {\n \"longitude\": 1.580266952514648,\n \"latitude\": 1.36115264892578,\n \"altitude\": 0,\n \"bearing\": 0,\n \"is_approximate\": false,\n \"updated\": 1738660203.634\n },\n \"supported_commands\": [\n \"RDL\",\n \"RDU\",\n \"VF\",\n \"ROLIGHTS\",\n \"CNOW\",\n \"DEEPREFRESH\",\n \"ROPRECOND\",\n \"ROTRUNKUNLOCK\",\n \"ROPRECOND_OFF\"\n ]\n}\n```\n",
"bugtrack_url": null,
"license": "Apache license",
"summary": "Python API Client for FCA/Stellantis cars",
"version": "0.2.5",
"project_urls": {
"Homepage": "https://github.com/hass-uconnect/py-uconnect"
},
"split_keywords": [
"fiat",
" jeep",
" dodge",
" ram",
" alfa",
" romeo",
" maserati",
" chrysler",
" api",
" cloud"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "177109fd59bca45f1421ddfe2392de4da86756883a23141999b6f9b634f7bd71",
"md5": "01157a184073ee8fc1fc63c4e6934aa6",
"sha256": "dcb0a76f11a92b49b6505226d69ecef5126365dec5a52cc94ed0690611abbc11"
},
"downloads": -1,
"filename": "py_uconnect-0.2.5-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "01157a184073ee8fc1fc63c4e6934aa6",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.10",
"size": 15197,
"upload_time": "2025-02-13T14:06:48",
"upload_time_iso_8601": "2025-02-13T14:06:48.441819Z",
"url": "https://files.pythonhosted.org/packages/17/71/09fd59bca45f1421ddfe2392de4da86756883a23141999b6f9b634f7bd71/py_uconnect-0.2.5-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f446b3b92c9e508ed30d6a70e134699ea1dc9fb52e1d350fe9cfa2908b199e5b",
"md5": "f8efd45decf5f9214bda0fd3f5e557fc",
"sha256": "3144a402c2f49f1ea49447af96af03107ba6e68ec751a4e4f10a31c7fa21c3be"
},
"downloads": -1,
"filename": "py_uconnect-0.2.5.tar.gz",
"has_sig": false,
"md5_digest": "f8efd45decf5f9214bda0fd3f5e557fc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 15403,
"upload_time": "2025-02-13T14:06:49",
"upload_time_iso_8601": "2025-02-13T14:06:49.591899Z",
"url": "https://files.pythonhosted.org/packages/f4/46/b3b92c9e508ed30d6a70e134699ea1dc9fb52e1d350fe9cfa2908b199e5b/py_uconnect-0.2.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-13 14:06:49",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hass-uconnect",
"github_project": "py-uconnect",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "boto3",
"specs": [
[
">=",
"1.35.96"
]
]
},
{
"name": "requests",
"specs": [
[
">=",
"2.32.3"
]
]
},
{
"name": "requests-auth-aws-sigv4",
"specs": [
[
">=",
"0.7"
]
]
},
{
"name": "dataclasses_json",
"specs": [
[
">=",
"0.6.7"
]
]
}
],
"lcname": "py-uconnect"
}