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.
- rowan-python-0.0.4/PKG-INFO +32 -0
- rowan-python-0.0.4/README.md +17 -0
- {rowan-python-0.0.2 → rowan-python-0.0.4}/pyproject.toml +1 -1
- {rowan-python-0.0.2 → rowan-python-0.0.4}/rowan/client.py +27 -11
- rowan-python-0.0.4/rowan_python.egg-info/PKG-INFO +32 -0
- rowan-python-0.0.2/PKG-INFO +0 -82
- rowan-python-0.0.2/README.md +0 -67
- rowan-python-0.0.2/rowan_python.egg-info/PKG-INFO +0 -82
- {rowan-python-0.0.2 → rowan-python-0.0.4}/LICENSE +0 -0
- {rowan-python-0.0.2 → rowan-python-0.0.4}/rowan/__init__.py +0 -0
- {rowan-python-0.0.2 → rowan-python-0.0.4}/rowan/utils.py +0 -0
- {rowan-python-0.0.2 → rowan-python-0.0.4}/rowan_python.egg-info/SOURCES.txt +0 -0
- {rowan-python-0.0.2 → rowan-python-0.0.4}/rowan_python.egg-info/dependency_links.txt +0 -0
- {rowan-python-0.0.2 → rowan-python-0.0.4}/rowan_python.egg-info/requires.txt +0 -0
- {rowan-python-0.0.2 → rowan-python-0.0.4}/rowan_python.egg-info/top_level.txt +0 -0
- {rowan-python-0.0.2 → rowan-python-0.0.4}/setup.cfg +0 -0
|
@@ -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
|
+
[](https://pypi.python.org/pypi/rowan-python)
|
|
19
|
+
[](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
|
+
[](https://pypi.python.org/pypi/rowan-python)
|
|
4
|
+
[](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*
|
|
@@ -59,12 +59,13 @@ class Client:
|
|
|
59
59
|
},
|
|
60
60
|
)
|
|
61
61
|
|
|
62
|
-
elif type
|
|
62
|
+
elif type in ["pka", "conformers", "tautomers"]:
|
|
63
63
|
response = client.post(
|
|
64
|
-
f"{API_URL}/
|
|
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
|
|
100
|
-
response = client.get(f"{API_URL}/
|
|
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
|
-
|
|
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
|
|
119
|
-
response = client.get(f"{API_URL}/
|
|
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
|
-
|
|
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
|
|
134
|
-
response = client.post(f"{API_URL}/
|
|
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
|
|
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
|
+
[](https://pypi.python.org/pypi/rowan-python)
|
|
19
|
+
[](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*
|
rowan-python-0.0.2/PKG-INFO
DELETED
|
@@ -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
|
-
[](https://pypi.python.org/pypi/rowan-python)
|
|
19
|
-
[](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*
|
rowan-python-0.0.2/README.md
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# Rowan Python Library
|
|
2
|
-
|
|
3
|
-
[](https://pypi.python.org/pypi/rowan-python)
|
|
4
|
-
[](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
|
-
[](https://pypi.python.org/pypi/rowan-python)
|
|
19
|
-
[](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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|