azulene-studio 0.5.0__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.
- azulene_studio-0.5.0/API_Reference.md +155 -0
- azulene_studio-0.5.0/Job_Types.md +666 -0
- azulene_studio-0.5.0/LICENSE +1 -0
- azulene_studio-0.5.0/MANIFEST.in +11 -0
- azulene_studio-0.5.0/PKG-INFO +1058 -0
- azulene_studio-0.5.0/Quickstart.md +374 -0
- azulene_studio-0.5.0/README.md +1040 -0
- azulene_studio-0.5.0/azulene/__init__.py +14 -0
- azulene_studio-0.5.0/azulene/auth.py +394 -0
- azulene_studio-0.5.0/azulene/config.py +137 -0
- azulene_studio-0.5.0/azulene/examples/__init__.py +346 -0
- azulene_studio-0.5.0/azulene/examples/data/4W52_t4_lysozyme_benzene.pdb +1908 -0
- azulene_studio-0.5.0/azulene/examples/data/benzene_bound_pose.sdf +18 -0
- azulene_studio-0.5.0/azulene/examples/data/fkb_model_0_2.pdb +841 -0
- azulene_studio-0.5.0/azulene/examples/data/input_dmso.txt +10 -0
- azulene_studio-0.5.0/azulene/examples/data/toluene.sdf +36 -0
- azulene_studio-0.5.0/azulene/jobs.py +947 -0
- azulene_studio-0.5.0/azulene/main.py +68 -0
- azulene_studio-0.5.0/azulene/oauth.py +162 -0
- azulene_studio-0.5.0/azulene/py.typed +0 -0
- azulene_studio-0.5.0/azulene/storage_helpers.py +110 -0
- azulene_studio-0.5.0/azulene/upgrade.py +108 -0
- azulene_studio-0.5.0/azulene/utils.py +1 -0
- azulene_studio-0.5.0/azulene_studio.egg-info/PKG-INFO +1058 -0
- azulene_studio-0.5.0/azulene_studio.egg-info/SOURCES.txt +31 -0
- azulene_studio-0.5.0/azulene_studio.egg-info/dependency_links.txt +1 -0
- azulene_studio-0.5.0/azulene_studio.egg-info/entry_points.txt +4 -0
- azulene_studio-0.5.0/azulene_studio.egg-info/requires.txt +7 -0
- azulene_studio-0.5.0/azulene_studio.egg-info/top_level.txt +2 -0
- azulene_studio-0.5.0/opal/__init__.py +43 -0
- azulene_studio-0.5.0/opal/main.py +12 -0
- azulene_studio-0.5.0/pyproject.toml +49 -0
- azulene_studio-0.5.0/setup.cfg +4 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# Azulene Studio
|
|
2
|
+
|
|
3
|
+
## How to download Azulene Studio
|
|
4
|
+
|
|
5
|
+
```shellscript
|
|
6
|
+
pip install azulene-studio
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## CLI Commands (macOS, Linux, Windows)
|
|
10
|
+
|
|
11
|
+
```shellscript
|
|
12
|
+
# Auth
|
|
13
|
+
python -m azulene.main login
|
|
14
|
+
# then it asks:
|
|
15
|
+
# Your email: example@gmail.com
|
|
16
|
+
# Your password: (hidden)
|
|
17
|
+
|
|
18
|
+
python -m azulene.main whoami
|
|
19
|
+
python -m azulene.main logout
|
|
20
|
+
|
|
21
|
+
# Jobs
|
|
22
|
+
python -m azulene.main jobs submit --job-type xtb_calculation --input-data '{"numbers":[1,1], "positions":[[0,0,0],[0.74,0,0]]}'
|
|
23
|
+
python -m azulene.main jobs submit-batch-jobs --job-type generate_conformers --input-data "[{\"smiles\": \"CCO\", \"num_conformers\": 5}, {\"smiles\": \"CCCO\", \"num_conformers\": 3}, {\"smiles\": \"CCcndO\", \"num_conformers\": 2}]"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
python -m azulene.main jobs cancel --job-id abc123
|
|
27
|
+
python -m azulene.main jobs get --job-id abc123
|
|
28
|
+
|
|
29
|
+
python -m azulene.main jobs get-jobs # last 5 jobs
|
|
30
|
+
python -m azulene.main jobs get-jobs --all # all jobs
|
|
31
|
+
python -m azulene.main jobs get-jobs --limit 10 # last 10 jobs
|
|
32
|
+
python -m azulene.main jobs get-jobs --job-type generate_conformers --status completed
|
|
33
|
+
python -m azulene.main jobs get-jobs --start-date 2025-12-01T00:00:00Z --end-date 2025-12-05T00:00:00Z
|
|
34
|
+
|
|
35
|
+
python -m azulene.main jobs check-running-jobs
|
|
36
|
+
python -m azulene.main jobs get-job-types
|
|
37
|
+
python -m azulene.main jobs check-health
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### **Help Commands**
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
python -m azulene.main --help
|
|
45
|
+
|
|
46
|
+
python -m azulene.main jobs --help
|
|
47
|
+
|
|
48
|
+
python -m azulene.main jobs submit --help
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### **Auth Commands**
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Log in
|
|
55
|
+
python -m azulene.main login
|
|
56
|
+
# then it asks:
|
|
57
|
+
# Your email: (hidden)
|
|
58
|
+
# Your password: (hidden)
|
|
59
|
+
|
|
60
|
+
# Who am I (get current user info)
|
|
61
|
+
python -m azulene.main whoami
|
|
62
|
+
|
|
63
|
+
# Log out
|
|
64
|
+
python -m azulene.main logout
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### **Job Commands**
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Submit a job (CMD)
|
|
73
|
+
python -m azulene.main jobs submit --job-type generate_conformers --input-data "{\"smiles\": \"CCO\", \"num_conformers\": 5}"
|
|
74
|
+
|
|
75
|
+
# Submit a job (Git Bash / WSL / Linux / macOS)
|
|
76
|
+
python -m azulene.main jobs submit --job-type generate_conformers --input-data '{"smiles": "CCO", "num_conformers": 5}'
|
|
77
|
+
|
|
78
|
+
# Submit a job (Powershell)
|
|
79
|
+
python -m azulene.main jobs submit --job-type generate_conformers --input-data '{\"smiles\": \"CCO\", \"num_conformers\": 5}'
|
|
80
|
+
|
|
81
|
+
# List all jobs
|
|
82
|
+
python -m azulene.main jobs get-jobs
|
|
83
|
+
|
|
84
|
+
# Get a specific job by ID
|
|
85
|
+
python -m azulene.main jobs get --job-id YOUR_JOB_ID
|
|
86
|
+
|
|
87
|
+
# Cancel a job by ID
|
|
88
|
+
python -m azulene.main jobs cancel --job-id YOUR_JOB_ID
|
|
89
|
+
|
|
90
|
+
# Poll modal for job status/results
|
|
91
|
+
python -m azulene.main jobs check-running-jobs
|
|
92
|
+
|
|
93
|
+
# Health check
|
|
94
|
+
python -m azulene.main jobs check-health
|
|
95
|
+
|
|
96
|
+
# Get available job types
|
|
97
|
+
python -m azulene.main jobs get-job-types
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
## Examples of Using the Library in Python
|
|
104
|
+
|
|
105
|
+
```shellscript
|
|
106
|
+
from azulene import auth, jobs
|
|
107
|
+
|
|
108
|
+
# 1. Log in
|
|
109
|
+
auth.login(email="test@example.com", password="pass123")
|
|
110
|
+
|
|
111
|
+
# Log in (more secure)
|
|
112
|
+
email = os.getenv("AZULENE_EMAIL")
|
|
113
|
+
password = os.getenv("AZULENE_PASSWORD")
|
|
114
|
+
auth.login(email, password)
|
|
115
|
+
|
|
116
|
+
# 2. Who am I
|
|
117
|
+
print(auth.whoami())
|
|
118
|
+
|
|
119
|
+
# 3. Submit a job
|
|
120
|
+
jobs.submit(job_type="generate_conformers",input_data={"smiles": "CCO", "num_conformers": 5}) # dict
|
|
121
|
+
# jobs.submit(job_type="generate_conformers",input_data='{"smiles": "CCO", "num_conformers": 5}') # str
|
|
122
|
+
|
|
123
|
+
# 4. List all jobs
|
|
124
|
+
print(jobs.get_jobs())
|
|
125
|
+
|
|
126
|
+
# 5. Get a specific job
|
|
127
|
+
print(jobs.get(job_id="YOUR_JOB_ID"))
|
|
128
|
+
|
|
129
|
+
# 6. Cancel a job
|
|
130
|
+
print(jobs.cancel(job_id="YOUR_JOB_ID"))
|
|
131
|
+
|
|
132
|
+
# 7. Poll job statuses
|
|
133
|
+
jobs.poll()
|
|
134
|
+
|
|
135
|
+
# 8. Health check
|
|
136
|
+
print(jobs.check_health())
|
|
137
|
+
|
|
138
|
+
# 9. Get job types
|
|
139
|
+
print(jobs.get_job_types())
|
|
140
|
+
|
|
141
|
+
# 10. Log out
|
|
142
|
+
auth.logout()
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
### Tips
|
|
147
|
+
|
|
148
|
+
* Wrap JSON input in single quotes (`'{"key": "value"}'`) and escape double quotes on Windows if needed.
|
|
149
|
+
* Replace `YOUR_JOB_ID` with actual returned IDs from `list-all` or `submit`.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
**All Rights Reserved**
|