ngapp 0.0.2.dev2236__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.
ngapp/__init__.py ADDED
@@ -0,0 +1,39 @@
1
+ from . import file
2
+ from ._version import __version__
3
+ from .app import (
4
+ AccessLevel,
5
+ AccessLevelConfig,
6
+ App,
7
+ AppAccessConfig,
8
+ AppConfig,
9
+ BaseModel,
10
+ ComputeEnvironment,
11
+ asset,
12
+ loadModel,
13
+ register_application,
14
+ )
15
+ from .utils import (
16
+ load_image,
17
+ read_file,
18
+ read_file_binary,
19
+ set_directory,
20
+ time_now,
21
+ write_file,
22
+ zip_directory,
23
+ )
24
+
25
+ __all__ = [
26
+ "AccessLevel",
27
+ "AccessLevelConfig",
28
+ "BaseModel",
29
+ "file",
30
+ "loadModel",
31
+ "load_image",
32
+ "read_file",
33
+ "read_file_binary",
34
+ "register_application",
35
+ "set_directory",
36
+ "time_now",
37
+ "write_file",
38
+ "zip_directory",
39
+ ]
ngapp/_version.py ADDED
@@ -0,0 +1,21 @@
1
+ # file generated by setuptools-scm
2
+ # don't change, don't track in version control
3
+
4
+ __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
5
+
6
+ TYPE_CHECKING = False
7
+ if TYPE_CHECKING:
8
+ from typing import Tuple
9
+ from typing import Union
10
+
11
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
12
+ else:
13
+ VERSION_TUPLE = object
14
+
15
+ version: str
16
+ __version__: str
17
+ __version_tuple__: VERSION_TUPLE
18
+ version_tuple: VERSION_TUPLE
19
+
20
+ __version__ = version = '0.0.2.dev2236'
21
+ __version_tuple__ = version_tuple = (0, 0, 2, 'dev2236')
ngapp/api.py ADDED
@@ -0,0 +1,64 @@
1
+ import certifi
2
+ import orjson
3
+ import urllib3
4
+
5
+ _CONTENT_TYPES = {
6
+ bytes: "application/octet-stream",
7
+ str: "text/plain",
8
+ }
9
+
10
+
11
+ def _request(method, url, data):
12
+ from .utils import get_environment
13
+
14
+ env = get_environment()
15
+
16
+ if data is None:
17
+ data = data or {}
18
+ content_type = _CONTENT_TYPES.get(type(data), "application/json")
19
+
20
+ if content_type == "application/json":
21
+ data = orjson.dumps(data, option=orjson.OPT_SERIALIZE_NUMPY)
22
+
23
+ if isinstance(data, str):
24
+ data = data.encode("utf-8")
25
+
26
+ url = env.backend_api_url + url
27
+ headers = {
28
+ "Content-type": content_type,
29
+ "Authorization": env.backend_api_token,
30
+ "X-Client-Id": env.backend_api_client_id,
31
+ }
32
+ http = urllib3.PoolManager(cert_reqs="CERT_REQUIRED", ca_certs=certifi.where())
33
+ response = http.request(method, url, headers=headers, body=data)
34
+ content_type = response.headers.get("content-type", "")
35
+ data = response.data
36
+ if "application/json" in content_type:
37
+ data = orjson.loads(response.data)
38
+ if "text/" in content_type:
39
+ data = response.data.decode("utf-8")
40
+ if response.status >= 400:
41
+ raise RuntimeError(
42
+ f"Request failed: {response.status}, {url}, {data}", url, data
43
+ )
44
+ return data
45
+
46
+
47
+ def encode_url_params(**kwargs):
48
+ return "&".join(f"{k}={v}" for k, v in kwargs.items())
49
+
50
+
51
+ def get(url, data=None):
52
+ return _request("GET", url, data)
53
+
54
+
55
+ def post(url, data):
56
+ return _request("POST", url, data)
57
+
58
+
59
+ def put(url, data):
60
+ return _request("PUT", url, data)
61
+
62
+
63
+ def delete(url, data=None):
64
+ return _request("DELETE", url, data)