looker-sdk 24.2.0__py3-none-any.whl → 25.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,5 +20,5 @@
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
21
  # THE SOFTWARE.
22
22
 
23
- sdk_version = "24.2"
23
+ sdk_version = "25.0"
24
24
  environment_prefix = "LOOKERSDK"
looker_sdk/version.py CHANGED
@@ -20,4 +20,4 @@
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
21
  # THE SOFTWARE.
22
22
 
23
- __version__ = "24.2.0"
23
+ __version__ = "25.0.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: looker-sdk
3
- Version: 24.2.0
3
+ Version: 25.0.0
4
4
  Summary: Looker REST API
5
5
  Home-page: https://pypi.python.org/pypi/looker_sdk
6
6
  Author: Looker Data Sciences, Inc.
@@ -9,10 +9,10 @@ Keywords: Looker,Looker API,looker_sdk,Looker API 4.0
9
9
  Requires-Python: >=3.6
10
10
  Description-Content-Type: text/x-rst
11
11
  License-File: LICENSE.txt
12
- Requires-Dist: requests >=2.22
13
- Requires-Dist: typing-extensions >=4.1.1
14
- Requires-Dist: attrs >=20.1.0 ; python_version >= "3.7"
15
- Requires-Dist: cattrs >=1.3 ; python_version >= "3.7"
12
+ Requires-Dist: requests>=2.22
13
+ Requires-Dist: typing-extensions>=4.1.1
14
+ Requires-Dist: attrs>=20.1.0; python_version >= "3.7"
15
+ Requires-Dist: cattrs>=1.3; python_version >= "3.7"
16
16
 
17
17
  ===========
18
18
  Looker SDK
@@ -1,9 +1,9 @@
1
1
  looker_sdk/__init__.py,sha256=0UOw2v-BP1bNoBIIm-BnyKUpGQB3Zx-JZRmpYyLiIuY,2589
2
- looker_sdk/error.py,sha256=pBhLKh99WNBiz99O___ERcmC-aB89XGe5uQAHKwQ94c,1941
2
+ looker_sdk/error.py,sha256=XTKuy1zEyhSVd-VCWHKB2zVjj0X7VUzVwq9y9L22Bo0,4941
3
3
  looker_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- looker_sdk/version.py,sha256=IsxnWc-urtenbKPSRL8Ojh5y98vsbEzP-PQDf3uAPX8,1155
4
+ looker_sdk/version.py,sha256=4B8Xj6LFthmnrTSPjgleLaaulpUiS-BKNpjR_Ls-epk,1155
5
5
  looker_sdk/rtl/__init__.py,sha256=hgj6CO_Du2XcJ4bRYbhaVS3dvLxjCqPQDR8KwD9IPTQ,1132
6
- looker_sdk/rtl/api_methods.py,sha256=k3PJMu8iDtn8GRhMPllnNV5W2j8v9YbLx0ZKXVYPCD8,8468
6
+ looker_sdk/rtl/api_methods.py,sha256=J-dm7UMyJajsJDCB0JMpGUmp80I8oPMs7cggdIaCWng,8862
7
7
  looker_sdk/rtl/api_settings.py,sha256=0QbmNhfgjBJNnr1CNEMxCHoiu908jT8amAtSAha1xS8,6953
8
8
  looker_sdk/rtl/auth_session.py,sha256=lLhj7dZfBOtzqUYeAds8x-7DOkp1q-hEWKzw9heqetA,13064
9
9
  looker_sdk/rtl/auth_token.py,sha256=dRHNmwZPczYZ1KhRQbfye60rpGhHQN8TSofprMOjG3A,3635
@@ -14,12 +14,10 @@ looker_sdk/rtl/requests_transport.py,sha256=2lckuJyjeySAuAn7v-RA_xTjjWe53uCCLSWg
14
14
  looker_sdk/rtl/serialize.py,sha256=Arm26aGLOhW-uUW4qgV1tTna83A3gNMYcF9YwRvf0gQ,4418
15
15
  looker_sdk/rtl/transport.py,sha256=zNCaGmmJBtF87iLS6xtSTwiyEXP0BDdMJafPn0_tIrk,3911
16
16
  looker_sdk/sdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- looker_sdk/sdk/constants.py,sha256=tX_oaNye7IOcfmXaRTQWMOjgurF6XGb2LJ3-oam6XWs,1186
17
+ looker_sdk/sdk/constants.py,sha256=pYtcc0UoyRO148wO5V_WRp2bxWnqC8e5byMP1kVUEnw,1186
18
18
  looker_sdk/sdk/api40/__init__.py,sha256=Dvx1t9vDBvgEl-p1eeP7ebEC6Q6wb6rASPi7nx3z7dg,18
19
- looker_sdk/sdk/api40/methods.py,sha256=sS2M9ASLWTTT_538NT9vATS9WQdkmUoH0Q6JsxuSWS8,511713
20
- looker_sdk/sdk/api40/models.py,sha256=h-Iyuy0-K-OioCZNTcA9I3r_UQwIyozGMr09FUUGd9w,621915
21
- tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- tests/conftest.py,sha256=ZLymw2rfMVus_CRBbbcxpK3_rEpMJRMQX9A5m2aQgQs,3895
19
+ looker_sdk/sdk/api40/methods.py,sha256=jbG4g9mMQPZRluD_IKBDW4gOJwlWJ-rFGJGG-IlkZZY,520686
20
+ looker_sdk/sdk/api40/models.py,sha256=DhSx60TYcR6dK3oRiXvgHUzHDfUketAhYCiovGAT794,639941
23
21
  tests/integration/__init__.py,sha256=K4tvUu8CgFRwtDhDNixHKDDb8uubXgevQBq8JmZvf8Y,63
24
22
  tests/integration/test_methods.py,sha256=GXeBAxKYLH45YsPDGduRxaoGKBNoxRX1Cxdo4a_2eW8,24977
25
23
  tests/integration/test_netrc.py,sha256=XJAzCh853Q0P6ZY_Cq6CtRHAqlvjGkBItgvxJMQw4Sw,1595
@@ -31,8 +29,8 @@ tests/rtl/test_auth_token.py,sha256=Ep4u0ushHqKiIkGgw-XVn1lSzPeH6pVmDB2bw-MXNAo,
31
29
  tests/rtl/test_requests_transport.py,sha256=mSsxudpAkKe-uSVOIzDrV0XCFlj_ACt6T1yzbUbuwG0,5442
32
30
  tests/rtl/test_serialize.py,sha256=1SC8jigZFFL3mrU2oSTnc2nbDxXve224_r3GaxEeU90,25917
33
31
  tests/rtl/test_transport.py,sha256=tI83LYOeuWEmkngXyRqMjW-pv-ipLPLj4t0hGD8zqL8,1555
34
- looker_sdk-24.2.0.dist-info/LICENSE.txt,sha256=N4Rmmbuo5EryYSCXcvjuXL1ZXwyXanRzuGP-dJzwsoE,1094
35
- looker_sdk-24.2.0.dist-info/METADATA,sha256=YIbb-w4JPJs3tr9ZC929OXdeXfdRhhRQLnMC0hu_HfI,7027
36
- looker_sdk-24.2.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
37
- looker_sdk-24.2.0.dist-info/top_level.txt,sha256=tDPNJRQM_A_Oncxlgxwvnzq7hZDWZaadt_nR8DmORTI,17
38
- looker_sdk-24.2.0.dist-info/RECORD,,
32
+ looker_sdk-25.0.0.dist-info/LICENSE.txt,sha256=N4Rmmbuo5EryYSCXcvjuXL1ZXwyXanRzuGP-dJzwsoE,1094
33
+ looker_sdk-25.0.0.dist-info/METADATA,sha256=GVSD4_IQWtgzqgfPZTdIFvgMErXeNAUg-dHiCTuPmJE,7021
34
+ looker_sdk-25.0.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
35
+ looker_sdk-25.0.0.dist-info/top_level.txt,sha256=tDPNJRQM_A_Oncxlgxwvnzq7hZDWZaadt_nR8DmORTI,17
36
+ looker_sdk-25.0.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: bdist_wheel (0.45.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
tests/__init__.py DELETED
File without changes
tests/conftest.py DELETED
@@ -1,133 +0,0 @@
1
- import os.path
2
- import sys
3
- from typing import Dict, List, Union, cast
4
-
5
- import pytest # type: ignore
6
- import yaml
7
-
8
- import looker_sdk # noqa: E402
9
- from looker_sdk.sdk.api40 import methods as methods40
10
- from looker_sdk.sdk.api40 import models as models40 # noqa: E402
11
-
12
- sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
13
-
14
-
15
- @pytest.fixture(scope="session")
16
- def dashboards(_test_data):
17
- return _test_data["dashboards"]
18
-
19
-
20
- @pytest.fixture(scope="session")
21
- def looks(_test_data):
22
- return _test_data["looks"]
23
-
24
-
25
- @pytest.fixture(scope="session")
26
- def queries(_test_data) -> List[Dict[str, str]]:
27
- return _test_data["queries"]
28
-
29
-
30
- @pytest.fixture(scope="session")
31
- def queries_system_activity(_test_data) -> List[Dict[str, str]]:
32
- return _test_data["queries_system_activity"]
33
-
34
-
35
- @pytest.fixture(scope="session")
36
- def users(_test_data) -> List[Dict[str, str]]:
37
- return _test_data["users"]
38
-
39
-
40
- @pytest.fixture(scope="session")
41
- def email_domain(_test_data) -> str:
42
- return _test_data["email_domain"]
43
-
44
-
45
- @pytest.fixture(scope="session")
46
- def string_content_types(_test_data) -> List[str]:
47
- return _test_data["content_types"]["string"]
48
-
49
-
50
- @pytest.fixture(scope="session")
51
- def binary_content_types(_test_data) -> List[str]:
52
- return _test_data["content_types"]["binary"]
53
-
54
-
55
- TTestData = Dict[str, Union[str, List[Dict[str, str]]]]
56
-
57
-
58
- @pytest.fixture(scope="session", name="_test_data")
59
- def _get_test_data() -> TTestData:
60
- with open("../test/data.yml") as f:
61
- test_data = cast(TTestData, yaml.safe_load(f))
62
- test_data["email_domain"] = "@testfoo.com"
63
- return test_data
64
-
65
-
66
- @pytest.fixture(scope="function")
67
- def remove_test_dashboards(sdk40: methods40.Looker40SDK, dashboards):
68
- # Clean up any test dashboards that may exist. We do this at the beginning
69
- # instead of the end of tests in case we want to view the dashboards after the test
70
- for d in dashboards:
71
- search_results = sdk40.search_dashboards(title=d["title"])
72
- if len(search_results) > 0:
73
- for dashboard in search_results:
74
- sdk40.delete_dashboard(cast(str, dashboard.id))
75
-
76
-
77
- @pytest.fixture(scope="function")
78
- def remove_test_looks(sdk40: methods40.Looker40SDK, looks):
79
- for l in looks:
80
- search_results = sdk40.search_looks(title=l["title"])
81
- if len(search_results) > 0:
82
- for look in search_results:
83
- sdk40.delete_look(cast(int, look.id))
84
-
85
-
86
- @pytest.fixture(name="test_users", scope="session")
87
- def create_test_users(
88
- sdk40: methods40.Looker40SDK, users: List[Dict[str, str]], email_domain: str
89
- ):
90
- user_ids: List[int] = []
91
- for u in users:
92
- users = sdk40.search_users(first_name=u["first_name"], last_name=u["last_name"])
93
- if len(users) > 0:
94
- # recover from crashed test, dummy
95
- user = users[0]
96
- user_ids.append(user.id)
97
- else:
98
- user = sdk40.create_user(
99
- models40.WriteUser(first_name=u["first_name"], last_name=u["last_name"])
100
- )
101
-
102
- if user.id:
103
- user_ids.append(user.id)
104
- email = f"{u['first_name']}.{u['last_name']}{email_domain}"
105
- sdk40.create_user_credentials_email(
106
- user.id, models40.WriteCredentialsEmail(email=email)
107
- )
108
-
109
- yield
110
-
111
- for user_id in user_ids:
112
- sdk40.delete_user(user_id)
113
-
114
-
115
- @pytest.fixture(scope="session")
116
- def sdk40(init_sdk):
117
- filename = os.getenv("LOOKERSDK_INI", "../looker.ini")
118
- sdk = looker_sdk.init40(filename)
119
- yield sdk
120
- sdk.auth.logout()
121
-
122
-
123
- @pytest.fixture(scope="session")
124
- def init_sdk():
125
- def _sdk(api_version):
126
- filename = os.getenv("LOOKERSDK_INI", "../looker.ini")
127
- if api_version == 4.0:
128
- sdk = looker_sdk.init40(filename)
129
- elif api_version == 3.1:
130
- sdk = looker_sdk.init31(filename)
131
- return sdk
132
-
133
- return _sdk