tesla-fleet-api 0.7.3__tar.gz → 0.7.5__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. {tesla_fleet_api-0.7.3/tesla_fleet_api.egg-info → tesla_fleet_api-0.7.5}/PKG-INFO +1 -1
  2. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/setup.py +1 -1
  3. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/const.py +1 -1
  4. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/energy.py +2 -2
  5. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/teslafleetapi.py +2 -2
  6. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/teslemetry.py +36 -5
  7. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5/tesla_fleet_api.egg-info}/PKG-INFO +1 -1
  8. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/LICENSE +0 -0
  9. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/README.md +0 -0
  10. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/setup.cfg +0 -0
  11. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/__init__.py +0 -0
  12. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/charging.py +0 -0
  13. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/energyspecific.py +0 -0
  14. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/exceptions.py +0 -0
  15. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/partner.py +0 -0
  16. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/ratecalculator.py +0 -0
  17. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/teslafleetoauth.py +0 -0
  18. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/teslafleetopensource.py +0 -0
  19. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/tessie.py +0 -0
  20. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/user.py +0 -0
  21. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/vehicle.py +0 -0
  22. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api/vehiclespecific.py +0 -0
  23. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api.egg-info/SOURCES.txt +0 -0
  24. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api.egg-info/dependency_links.txt +0 -0
  25. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api.egg-info/requires.txt +0 -0
  26. {tesla_fleet_api-0.7.3 → tesla_fleet_api-0.7.5}/tesla_fleet_api.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tesla_fleet_api
3
- Version: 0.7.3
3
+ Version: 0.7.5
4
4
  Summary: Tesla Fleet API library for Python
5
5
  Home-page: https://github.com/Teslemetry/tesla_fleet_api
6
6
  Author: Brett Adams
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setuptools.setup(
7
7
  name="tesla_fleet_api",
8
- version="0.7.3",
8
+ version="0.7.5",
9
9
  author="Brett Adams",
10
10
  author_email="hello@teslemetry.com",
11
11
  description="Tesla Fleet API library for Python",
@@ -3,7 +3,7 @@
3
3
  from enum import Enum
4
4
  import logging
5
5
 
6
- VERSION = "0.7.3"
6
+ VERSION = "0.7.5"
7
7
  LOGGER = logging.getLogger(__package__)
8
8
  SERVERS = {
9
9
  "na": "https://fleet-api.prd.na.vn.cloud.tesla.com",
@@ -63,7 +63,7 @@ class Energy:
63
63
  return await self._request(
64
64
  Method.GET,
65
65
  f"api/1/energy_sites/{energy_site_id}/telemetry_history",
66
- query={
66
+ params={
67
67
  "kind": kind,
68
68
  "start_date": start_date,
69
69
  "end_date": end_date,
@@ -84,7 +84,7 @@ class Energy:
84
84
  return await self._request(
85
85
  Method.GET,
86
86
  f"api/1/energy_sites/{energy_site_id}/calendar_history",
87
- query={
87
+ params={
88
88
  "kind": kind,
89
89
  "start_date": start_date,
90
90
  "end_date": end_date,
@@ -22,7 +22,7 @@ class TeslaFleetApi:
22
22
  server: str | None = None
23
23
  session: aiohttp.ClientSession
24
24
  headers: dict[str, str]
25
- refresh_hook: Awaitable | None
25
+ refresh_hook: Awaitable | None = None
26
26
 
27
27
  def __init__(
28
28
  self,
@@ -114,7 +114,7 @@ class TeslaFleetApi:
114
114
  headers={
115
115
  "Authorization": f"Bearer {self.access_token}",
116
116
  "Content-Type": "application/json",
117
- "X-Library": f"python tesla_fleet_api ${VERSION}",
117
+ "X-Library": f"python tesla_fleet_api {VERSION}",
118
118
  },
119
119
  json=json,
120
120
  params=params,
@@ -2,12 +2,18 @@ import aiohttp
2
2
  from aiolimiter import AsyncLimiter
3
3
  from typing import Any
4
4
  from .teslafleetapi import TeslaFleetApi
5
+ from .charging import Charging
6
+ from .energy import Energy
7
+ from .partner import Partner
8
+ from .user import User
9
+ from .vehicle import Vehicle
10
+ from .vehiclespecific import VehicleSpecific
11
+
5
12
  from .const import Method, LOGGER, Scope
6
13
 
7
14
  # Rate limit should be global, even if multiple instances are created
8
15
  rate_limit = AsyncLimiter(5, 10)
9
16
 
10
-
11
17
  class Teslemetry(TeslaFleetApi):
12
18
  def __init__(
13
19
  self,
@@ -16,11 +22,11 @@ class Teslemetry(TeslaFleetApi):
16
22
  ):
17
23
  """Initialize the Teslemetry API."""
18
24
  super().__init__(
19
- session,
20
- access_token,
25
+ session=session,
26
+ access_token=access_token,
21
27
  server="https://api.teslemetry.com",
22
- partner_scope=False,
23
28
  user_scope=False,
29
+ partner_scope=False
24
30
  )
25
31
  self.rate_limit = rate_limit
26
32
 
@@ -38,6 +44,14 @@ class Teslemetry(TeslaFleetApi):
38
44
  "api/test",
39
45
  )
40
46
 
47
+ async def userdata(self) -> dict[str, Any]:
48
+ """Get userdata."""
49
+ resp = await self._request(
50
+ Method.GET,
51
+ "api/userdata",
52
+ )
53
+ return resp
54
+
41
55
  async def metadata(self, update_region=True) -> dict[str, Any]:
42
56
  """Get user metadata including scopes."""
43
57
  resp = await self._request(
@@ -49,7 +63,7 @@ class Teslemetry(TeslaFleetApi):
49
63
  self.server = f"https://{self.region}.teslemetry.com"
50
64
  LOGGER.debug("Using server %s", self.server)
51
65
  return resp
52
-
66
+
53
67
  async def scopes(self) -> list[str]:
54
68
  """Get user scopes."""
55
69
  resp = await self.metadata(False)
@@ -61,6 +75,23 @@ class Teslemetry(TeslaFleetApi):
61
75
  assert self.region
62
76
  return self.region
63
77
 
78
+ async def server_side_polling(self, vin: str, value: bool | None = None) -> bool | None:
79
+ """Get or set Auto mode."""
80
+ if value is True:
81
+ return (await self._request(
82
+ Method.POST,
83
+ f"api/auto/{vin}",
84
+ )).get("response")
85
+ if value is False:
86
+ return (await self._request(
87
+ Method.DELETE,
88
+ f"api/auto/{vin}",
89
+ )).get("response")
90
+ return (await self._request(
91
+ Method.GET,
92
+ f"api/auto/{vin}",
93
+ )).get("response")
94
+
64
95
  async def _request(
65
96
  self,
66
97
  method: Method,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tesla_fleet_api
3
- Version: 0.7.3
3
+ Version: 0.7.5
4
4
  Summary: Tesla Fleet API library for Python
5
5
  Home-page: https://github.com/Teslemetry/tesla_fleet_api
6
6
  Author: Brett Adams
File without changes