rowan-python 0.0.2__tar.gz → 0.0.4__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.
@@ -0,0 +1,32 @@
1
+ Metadata-Version: 2.1
2
+ Name: rowan-python
3
+ Version: 0.0.4
4
+ Summary: Rowan Python Library
5
+ Author-email: Corin Wagen <corin@rowansci.com>
6
+ Project-URL: Homepage, https://github.com/rowansci/rowan-client
7
+ Project-URL: Bug Tracker, https://github.com/rowansci/rowan-client/issues
8
+ Requires-Python: >=3.8
9
+ Description-Content-Type: text/markdown
10
+ License-File: LICENSE
11
+ Requires-Dist: cctk>=0.2.18
12
+ Requires-Dist: httpx>=0.25
13
+ Requires-Dist: numpy>=1.24
14
+ Requires-Dist: stjames>=0.0.23
15
+
16
+ # Rowan Python Library
17
+
18
+ [![pypi](https://img.shields.io/pypi/v/rowan-python.svg)](https://pypi.python.org/pypi/rowan-python)
19
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)
20
+
21
+ The Rowan Python library provides convenient access to the Rowan API from applications written in the Python language.
22
+
23
+ ## Documentation
24
+
25
+ The documentation is available [here](https://docs.rowansci.com/python-api).
26
+
27
+
28
+ ## Issues
29
+
30
+ To report issues, please use the "Issues" tab above.
31
+
32
+ *Corin Wagen, 2023*
@@ -0,0 +1,17 @@
1
+ # Rowan Python Library
2
+
3
+ [![pypi](https://img.shields.io/pypi/v/rowan-python.svg)](https://pypi.python.org/pypi/rowan-python)
4
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)
5
+
6
+ The Rowan Python library provides convenient access to the Rowan API from applications written in the Python language.
7
+
8
+ ## Documentation
9
+
10
+ The documentation is available [here](https://docs.rowansci.com/python-api).
11
+
12
+
13
+ ## Issues
14
+
15
+ To report issues, please use the "Issues" tab above.
16
+
17
+ *Corin Wagen, 2023*
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "rowan-python"
3
- version = "0.0.2"
3
+ version = "0.0.4"
4
4
  description = "Rowan Python Library"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.8"
@@ -59,12 +59,13 @@ class Client:
59
59
  },
60
60
  )
61
61
 
62
- elif type == "pka":
62
+ elif type in ["pka", "conformers", "tautomers"]:
63
63
  response = client.post(
64
- f"{API_URL}/pka",
64
+ f"{API_URL}/workflow",
65
65
  headers=self.headers,
66
66
  json={
67
67
  "initial_molecule": molecule.model_dump(mode="json"),
68
+ "workflow_type": type,
68
69
  "name": name,
69
70
  "folder_uuid": folder_uuid,
70
71
  "workflow_data": options,
@@ -96,8 +97,8 @@ class Client:
96
97
  response_dict = response.json()
97
98
  status = response_dict["status"]
98
99
 
99
- elif type == "pka":
100
- response = client.get(f"{API_URL}/pka/{calc_uuid}", headers=self.headers)
100
+ elif type in ["pka", "conformers", "tautomers"]:
101
+ response = client.get(f"{API_URL}/workflow/{calc_uuid}", headers=self.headers)
101
102
  response.raise_for_status()
102
103
  response_dict = response.json()
103
104
  status = response_dict["object_status"]
@@ -110,16 +111,31 @@ class Client:
110
111
  def get(self, calc_uuid: str, type: str = "calculation") -> dict:
111
112
  with httpx.Client() as client:
112
113
  if type == "calculation":
113
- response = client.get(f"{API_URL}/calculation/{calc_uuid}/stjames", headers=self.headers)
114
+ stj_response = client.get(f"{API_URL}/calculation/{calc_uuid}/stjames", headers=self.headers)
115
+ stj_response.raise_for_status()
116
+ stj_dict = stj_response.json()
117
+
118
+ response = client.get(f"{API_URL}/calculation/{calc_uuid}", headers=self.headers)
114
119
  response.raise_for_status()
115
120
  response_dict = response.json()
121
+
122
+ # reformat
123
+ del response_dict["settings"]
124
+ response_dict["data"] = stj_dict
125
+
116
126
  return response_dict
117
127
 
118
- elif type == "pka":
119
- response = client.get(f"{API_URL}/pka/{calc_uuid}", headers=self.headers)
128
+ elif type in ["pka", "conformers", "tautomers"]:
129
+ response = client.get(f"{API_URL}/workflow/{calc_uuid}", headers=self.headers)
120
130
  response.raise_for_status()
121
131
  response_dict = response.json()
122
- return response_dict["object_data"]
132
+
133
+ # reformat
134
+ response_dict["data"] = response_dict["object_data"]
135
+ del response_dict["object_data"]
136
+ del response_dict["status"]
137
+
138
+ return response_dict
123
139
 
124
140
  else:
125
141
  raise ValueError(f"Unknown type ``{type}``!")
@@ -130,8 +146,8 @@ class Client:
130
146
  response = client.post(f"{API_URL}/calculation/{calc_uuid}/stop", headers=self.headers)
131
147
  response.raise_for_status()
132
148
 
133
- elif type == "pka":
134
- response = client.post(f"{API_URL}/pka/{calc_uuid}/stop", headers=self.headers)
149
+ elif type in ["pka", "conformers", "tautomers"]:
150
+ response = client.post(f"{API_URL}/workflow/{calc_uuid}/stop", headers=self.headers)
135
151
  response.raise_for_status()
136
152
 
137
153
  else:
@@ -143,7 +159,7 @@ class Client:
143
159
  response = client.delete(f"{API_URL}/calculation/{calc_uuid}", headers=self.headers)
144
160
  response.raise_for_status()
145
161
 
146
- elif type == "pka":
162
+ elif type in ["pka", "conformers", "tautomers"]:
147
163
  response = client.delete(f"{API_URL}/folder/{calc_uuid}", headers=self.headers)
148
164
  response.raise_for_status()
149
165
 
@@ -0,0 +1,32 @@
1
+ Metadata-Version: 2.1
2
+ Name: rowan-python
3
+ Version: 0.0.4
4
+ Summary: Rowan Python Library
5
+ Author-email: Corin Wagen <corin@rowansci.com>
6
+ Project-URL: Homepage, https://github.com/rowansci/rowan-client
7
+ Project-URL: Bug Tracker, https://github.com/rowansci/rowan-client/issues
8
+ Requires-Python: >=3.8
9
+ Description-Content-Type: text/markdown
10
+ License-File: LICENSE
11
+ Requires-Dist: cctk>=0.2.18
12
+ Requires-Dist: httpx>=0.25
13
+ Requires-Dist: numpy>=1.24
14
+ Requires-Dist: stjames>=0.0.23
15
+
16
+ # Rowan Python Library
17
+
18
+ [![pypi](https://img.shields.io/pypi/v/rowan-python.svg)](https://pypi.python.org/pypi/rowan-python)
19
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)
20
+
21
+ The Rowan Python library provides convenient access to the Rowan API from applications written in the Python language.
22
+
23
+ ## Documentation
24
+
25
+ The documentation is available [here](https://docs.rowansci.com/python-api).
26
+
27
+
28
+ ## Issues
29
+
30
+ To report issues, please use the "Issues" tab above.
31
+
32
+ *Corin Wagen, 2023*
@@ -1,82 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: rowan-python
3
- Version: 0.0.2
4
- Summary: Rowan Python Library
5
- Author-email: Corin Wagen <corin@rowansci.com>
6
- Project-URL: Homepage, https://github.com/rowansci/rowan-client
7
- Project-URL: Bug Tracker, https://github.com/rowansci/rowan-client/issues
8
- Requires-Python: >=3.8
9
- Description-Content-Type: text/markdown
10
- License-File: LICENSE
11
- Requires-Dist: cctk>=0.2.18
12
- Requires-Dist: httpx>=0.25
13
- Requires-Dist: numpy>=1.24
14
- Requires-Dist: stjames>=0.0.23
15
-
16
- # Rowan Python Library
17
-
18
- [![pypi](https://img.shields.io/pypi/v/rowan-python.svg)](https://pypi.python.org/pypi/rowan-python)
19
- [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)
20
-
21
- The Rowan Python library provides convenient access to the Rowan API from applications written in the Python language.
22
-
23
- ## Documentation
24
-
25
- The documentation is available [here](https://docs.rowansci.com).
26
-
27
- ## Installation
28
-
29
- To install, run `pip install rowan-python`.
30
-
31
- ## Usage
32
-
33
- Rowan can be run in either blocking (wait until job is complete) or non-blocking (don't wait) modes.
34
- Both modes require generation of an API key at [labs.rowansci.com](https://labs.rowansci.com/account/api-keys).
35
-
36
- For now, molecules are specified through [*cctk*](https://cctk.rtfd.io). Additional ways to specify molecules will be added in the future.
37
-
38
- Results are returned as dictionaries in the [*stjames*](https://github.com/rowansci/stjames) format.
39
-
40
- ### Blocking
41
- ```
42
- import cctk
43
- import rowan
44
-
45
- rowan.api_key = "rowan-sk..."
46
- client = rowan.Client()
47
-
48
- # load molecule by name (cctk can also load in a variety of file formats)
49
- molecule = cctk.Molecule.new_from_name("cyclobutane")
50
-
51
- # run calculation remotely and return result
52
- result = client.compute(molecule, name="opt cyclobutane", method="b97-3c", tasks=["optimize", "charge"])
53
- print(result)
54
- ```
55
-
56
- ### Non-Blocking
57
- ```
58
- import cctk
59
- import rowan
60
-
61
- rowan.api_key = "rowan-sk..."
62
- client = rowan.Client(blocking=False)
63
-
64
- # load molecule by name (cctk can also load in a variety of file formats)
65
- molecule = cctk.Molecule.new_from_name("cyclobutane")
66
-
67
- # start calculation and return id
68
- calc_id = client.compute(molecule, name="opt cyclobutane", method="b97-3c", tasks=["optimize", "charge"])
69
-
70
- # retrieve result (and status)
71
- result = client.get(calc_id)
72
- print(result)
73
-
74
- # alternately, cancel queued or running calculation
75
- client.stop(calc_id)
76
- ```
77
-
78
- ## Issues
79
-
80
- To report issues, please use the "Issues" tab above.
81
-
82
- *Corin Wagen, 2023*
@@ -1,67 +0,0 @@
1
- # Rowan Python Library
2
-
3
- [![pypi](https://img.shields.io/pypi/v/rowan-python.svg)](https://pypi.python.org/pypi/rowan-python)
4
- [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)
5
-
6
- The Rowan Python library provides convenient access to the Rowan API from applications written in the Python language.
7
-
8
- ## Documentation
9
-
10
- The documentation is available [here](https://docs.rowansci.com).
11
-
12
- ## Installation
13
-
14
- To install, run `pip install rowan-python`.
15
-
16
- ## Usage
17
-
18
- Rowan can be run in either blocking (wait until job is complete) or non-blocking (don't wait) modes.
19
- Both modes require generation of an API key at [labs.rowansci.com](https://labs.rowansci.com/account/api-keys).
20
-
21
- For now, molecules are specified through [*cctk*](https://cctk.rtfd.io). Additional ways to specify molecules will be added in the future.
22
-
23
- Results are returned as dictionaries in the [*stjames*](https://github.com/rowansci/stjames) format.
24
-
25
- ### Blocking
26
- ```
27
- import cctk
28
- import rowan
29
-
30
- rowan.api_key = "rowan-sk..."
31
- client = rowan.Client()
32
-
33
- # load molecule by name (cctk can also load in a variety of file formats)
34
- molecule = cctk.Molecule.new_from_name("cyclobutane")
35
-
36
- # run calculation remotely and return result
37
- result = client.compute(molecule, name="opt cyclobutane", method="b97-3c", tasks=["optimize", "charge"])
38
- print(result)
39
- ```
40
-
41
- ### Non-Blocking
42
- ```
43
- import cctk
44
- import rowan
45
-
46
- rowan.api_key = "rowan-sk..."
47
- client = rowan.Client(blocking=False)
48
-
49
- # load molecule by name (cctk can also load in a variety of file formats)
50
- molecule = cctk.Molecule.new_from_name("cyclobutane")
51
-
52
- # start calculation and return id
53
- calc_id = client.compute(molecule, name="opt cyclobutane", method="b97-3c", tasks=["optimize", "charge"])
54
-
55
- # retrieve result (and status)
56
- result = client.get(calc_id)
57
- print(result)
58
-
59
- # alternately, cancel queued or running calculation
60
- client.stop(calc_id)
61
- ```
62
-
63
- ## Issues
64
-
65
- To report issues, please use the "Issues" tab above.
66
-
67
- *Corin Wagen, 2023*
@@ -1,82 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: rowan-python
3
- Version: 0.0.2
4
- Summary: Rowan Python Library
5
- Author-email: Corin Wagen <corin@rowansci.com>
6
- Project-URL: Homepage, https://github.com/rowansci/rowan-client
7
- Project-URL: Bug Tracker, https://github.com/rowansci/rowan-client/issues
8
- Requires-Python: >=3.8
9
- Description-Content-Type: text/markdown
10
- License-File: LICENSE
11
- Requires-Dist: cctk>=0.2.18
12
- Requires-Dist: httpx>=0.25
13
- Requires-Dist: numpy>=1.24
14
- Requires-Dist: stjames>=0.0.23
15
-
16
- # Rowan Python Library
17
-
18
- [![pypi](https://img.shields.io/pypi/v/rowan-python.svg)](https://pypi.python.org/pypi/rowan-python)
19
- [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)
20
-
21
- The Rowan Python library provides convenient access to the Rowan API from applications written in the Python language.
22
-
23
- ## Documentation
24
-
25
- The documentation is available [here](https://docs.rowansci.com).
26
-
27
- ## Installation
28
-
29
- To install, run `pip install rowan-python`.
30
-
31
- ## Usage
32
-
33
- Rowan can be run in either blocking (wait until job is complete) or non-blocking (don't wait) modes.
34
- Both modes require generation of an API key at [labs.rowansci.com](https://labs.rowansci.com/account/api-keys).
35
-
36
- For now, molecules are specified through [*cctk*](https://cctk.rtfd.io). Additional ways to specify molecules will be added in the future.
37
-
38
- Results are returned as dictionaries in the [*stjames*](https://github.com/rowansci/stjames) format.
39
-
40
- ### Blocking
41
- ```
42
- import cctk
43
- import rowan
44
-
45
- rowan.api_key = "rowan-sk..."
46
- client = rowan.Client()
47
-
48
- # load molecule by name (cctk can also load in a variety of file formats)
49
- molecule = cctk.Molecule.new_from_name("cyclobutane")
50
-
51
- # run calculation remotely and return result
52
- result = client.compute(molecule, name="opt cyclobutane", method="b97-3c", tasks=["optimize", "charge"])
53
- print(result)
54
- ```
55
-
56
- ### Non-Blocking
57
- ```
58
- import cctk
59
- import rowan
60
-
61
- rowan.api_key = "rowan-sk..."
62
- client = rowan.Client(blocking=False)
63
-
64
- # load molecule by name (cctk can also load in a variety of file formats)
65
- molecule = cctk.Molecule.new_from_name("cyclobutane")
66
-
67
- # start calculation and return id
68
- calc_id = client.compute(molecule, name="opt cyclobutane", method="b97-3c", tasks=["optimize", "charge"])
69
-
70
- # retrieve result (and status)
71
- result = client.get(calc_id)
72
- print(result)
73
-
74
- # alternately, cancel queued or running calculation
75
- client.stop(calc_id)
76
- ```
77
-
78
- ## Issues
79
-
80
- To report issues, please use the "Issues" tab above.
81
-
82
- *Corin Wagen, 2023*
File without changes
File without changes