rustat-python-api 0.3.4__tar.gz → 0.4.1__tar.gz

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.
Files changed (18) hide show
  1. {rustat-python-api-0.3.4/rustat_python_api.egg-info → rustat-python-api-0.4.1}/PKG-INFO +1 -1
  2. rustat-python-api-0.4.1/rustat_python_api/__init__.py +4 -0
  3. rustat-python-api-0.4.1/rustat_python_api/models_api.py +58 -0
  4. {rustat-python-api-0.3.4 → rustat-python-api-0.4.1/rustat_python_api.egg-info}/PKG-INFO +1 -1
  5. {rustat-python-api-0.3.4 → rustat-python-api-0.4.1}/rustat_python_api.egg-info/SOURCES.txt +1 -0
  6. {rustat-python-api-0.3.4 → rustat-python-api-0.4.1}/setup.py +1 -1
  7. rustat-python-api-0.3.4/rustat_python_api/__init__.py +0 -3
  8. {rustat-python-api-0.3.4 → rustat-python-api-0.4.1}/LICENSE +0 -0
  9. {rustat-python-api-0.3.4 → rustat-python-api-0.4.1}/README.md +0 -0
  10. {rustat-python-api-0.3.4 → rustat-python-api-0.4.1}/pyproject.toml +0 -0
  11. {rustat-python-api-0.3.4 → rustat-python-api-0.4.1}/rustat_python_api/config.py +0 -0
  12. {rustat-python-api-0.3.4 → rustat-python-api-0.4.1}/rustat_python_api/parser.py +0 -0
  13. {rustat-python-api-0.3.4 → rustat-python-api-0.4.1}/rustat_python_api/processing.py +0 -0
  14. {rustat-python-api-0.3.4 → rustat-python-api-0.4.1}/rustat_python_api/urls.py +0 -0
  15. {rustat-python-api-0.3.4 → rustat-python-api-0.4.1}/rustat_python_api.egg-info/dependency_links.txt +0 -0
  16. {rustat-python-api-0.3.4 → rustat-python-api-0.4.1}/rustat_python_api.egg-info/requires.txt +0 -0
  17. {rustat-python-api-0.3.4 → rustat-python-api-0.4.1}/rustat_python_api.egg-info/top_level.txt +0 -0
  18. {rustat-python-api-0.3.4 → rustat-python-api-0.4.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rustat-python-api
3
- Version: 0.3.4
3
+ Version: 0.4.1
4
4
  Summary: A Python wrapper for RuStat API
5
5
  Home-page: https://github.com/dailydaniel/rustat-python-api
6
6
  Author: Daniel Zholkovsky
@@ -0,0 +1,4 @@
1
+ from .parser import RuStatParser
2
+ from .models_api import DynamoLab
3
+
4
+ __all__ = ['RuStatParser', 'DynamoLab']
@@ -0,0 +1,58 @@
1
+ import requests
2
+ import numpy as np
3
+ import pandas as pd
4
+
5
+
6
+ class DynamoLab:
7
+ def __init__(self, host: str = "http://localhost:8000/"):
8
+ self.host = host
9
+
10
+ def get_active_models(self):
11
+ url = self.host + "models"
12
+ response = requests.get(url)
13
+ return response.json()
14
+
15
+ def run_model(
16
+ self,
17
+ model: str,
18
+ data: pd.DataFrame,
19
+ return_type: str = "json",
20
+ inplace: bool = False,
21
+ return_df: bool = False,
22
+ inplace_column: str = None
23
+ ):
24
+ """
25
+ model: str
26
+ The name of the model to run
27
+ return_type: str
28
+ One of: "json", "list", "numpy"
29
+ """
30
+
31
+ url = self.host + "predict"
32
+ csv_string = data.to_csv(index=False)
33
+
34
+ body = {
35
+ "model": model,
36
+ "data": csv_string,
37
+ }
38
+
39
+ response = requests.post(url, json=body)
40
+
41
+ if return_df or inplace:
42
+ if inplace_column is None:
43
+ raise ValueError("inplace_column must be specified if inplace is True")
44
+ if inplace:
45
+ data[inplace_column] = response.json()["prediction"]
46
+ if df:
47
+ df = data.copy()
48
+ df[inplace_column] = response.json()["prediction"]
49
+ return df
50
+
51
+ if return_type == "json":
52
+ return response.json()
53
+ elif return_type == "list":
54
+ return response.json()["prediction"]
55
+ elif return_type == "numpy":
56
+ return np.array(response.json()["prediction"])
57
+ else:
58
+ raise ValueError("return_type must be one of: json, list, numpy")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rustat-python-api
3
- Version: 0.3.4
3
+ Version: 0.4.1
4
4
  Summary: A Python wrapper for RuStat API
5
5
  Home-page: https://github.com/dailydaniel/rustat-python-api
6
6
  Author: Daniel Zholkovsky
@@ -4,6 +4,7 @@ pyproject.toml
4
4
  setup.py
5
5
  rustat_python_api/__init__.py
6
6
  rustat_python_api/config.py
7
+ rustat_python_api/models_api.py
7
8
  rustat_python_api/parser.py
8
9
  rustat_python_api/processing.py
9
10
  rustat_python_api/urls.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='rustat-python-api',
5
- version='0.3.4',
5
+ version='0.4.1',
6
6
  description='A Python wrapper for RuStat API',
7
7
  long_description=open('README.md').read(),
8
8
  long_description_content_type='text/markdown',
@@ -1,3 +0,0 @@
1
- from .parser import RuStatParser
2
-
3
- __all__ = ['RuStatParser']