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.
Files changed (33) hide show
  1. azulene_studio-0.5.0/API_Reference.md +155 -0
  2. azulene_studio-0.5.0/Job_Types.md +666 -0
  3. azulene_studio-0.5.0/LICENSE +1 -0
  4. azulene_studio-0.5.0/MANIFEST.in +11 -0
  5. azulene_studio-0.5.0/PKG-INFO +1058 -0
  6. azulene_studio-0.5.0/Quickstart.md +374 -0
  7. azulene_studio-0.5.0/README.md +1040 -0
  8. azulene_studio-0.5.0/azulene/__init__.py +14 -0
  9. azulene_studio-0.5.0/azulene/auth.py +394 -0
  10. azulene_studio-0.5.0/azulene/config.py +137 -0
  11. azulene_studio-0.5.0/azulene/examples/__init__.py +346 -0
  12. azulene_studio-0.5.0/azulene/examples/data/4W52_t4_lysozyme_benzene.pdb +1908 -0
  13. azulene_studio-0.5.0/azulene/examples/data/benzene_bound_pose.sdf +18 -0
  14. azulene_studio-0.5.0/azulene/examples/data/fkb_model_0_2.pdb +841 -0
  15. azulene_studio-0.5.0/azulene/examples/data/input_dmso.txt +10 -0
  16. azulene_studio-0.5.0/azulene/examples/data/toluene.sdf +36 -0
  17. azulene_studio-0.5.0/azulene/jobs.py +947 -0
  18. azulene_studio-0.5.0/azulene/main.py +68 -0
  19. azulene_studio-0.5.0/azulene/oauth.py +162 -0
  20. azulene_studio-0.5.0/azulene/py.typed +0 -0
  21. azulene_studio-0.5.0/azulene/storage_helpers.py +110 -0
  22. azulene_studio-0.5.0/azulene/upgrade.py +108 -0
  23. azulene_studio-0.5.0/azulene/utils.py +1 -0
  24. azulene_studio-0.5.0/azulene_studio.egg-info/PKG-INFO +1058 -0
  25. azulene_studio-0.5.0/azulene_studio.egg-info/SOURCES.txt +31 -0
  26. azulene_studio-0.5.0/azulene_studio.egg-info/dependency_links.txt +1 -0
  27. azulene_studio-0.5.0/azulene_studio.egg-info/entry_points.txt +4 -0
  28. azulene_studio-0.5.0/azulene_studio.egg-info/requires.txt +7 -0
  29. azulene_studio-0.5.0/azulene_studio.egg-info/top_level.txt +2 -0
  30. azulene_studio-0.5.0/opal/__init__.py +43 -0
  31. azulene_studio-0.5.0/opal/main.py +12 -0
  32. azulene_studio-0.5.0/pyproject.toml +49 -0
  33. 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**