chemql-python 1.5.0__tar.gz → 1.5.2__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 (40) hide show
  1. {chemql_python-1.5.0/src/chemql_python.egg-info → chemql_python-1.5.2}/PKG-INFO +27 -2
  2. {chemql_python-1.5.0 → chemql_python-1.5.2}/README.md +26 -1
  3. {chemql_python-1.5.0 → chemql_python-1.5.2}/pyproject.toml +3 -1
  4. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/__init__.py +1 -1
  5. chemql_python-1.5.2/src/chemql/codecql.py +924 -0
  6. chemql_python-1.5.2/src/chemql/colors.json +77 -0
  7. {chemql_python-1.5.0 → chemql_python-1.5.2/src/chemql_python.egg-info}/PKG-INFO +27 -2
  8. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql_python.egg-info/SOURCES.txt +3 -0
  9. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql_python.egg-info/entry_points.txt +1 -0
  10. chemql_python-1.5.2/tests/test_codecql.py +156 -0
  11. {chemql_python-1.5.0 → chemql_python-1.5.2}/LICENSE +0 -0
  12. {chemql_python-1.5.0 → chemql_python-1.5.2}/setup.cfg +0 -0
  13. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/__main__.py +0 -0
  14. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/data/BondEnergies.json +0 -0
  15. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/data/MoleculeBonds.json +0 -0
  16. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/data/Molecules.json +0 -0
  17. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/data/PeriodicTableJSON.json +0 -0
  18. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/data/Reactions.json +0 -0
  19. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/data/THIRD_PARTY_LICENSES/PeriodicTableJSON.txt +0 -0
  20. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/data/THIRD_PARTY_LICENSES/RHEA.txt +0 -0
  21. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/html/periodic_table.html +0 -0
  22. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/stdlib/README.md +0 -0
  23. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/stdlib/collections.cql +0 -0
  24. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/stdlib/datetime.cql +0 -0
  25. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/stdlib/decimal.cql +0 -0
  26. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/stdlib/fractions.cql +0 -0
  27. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/stdlib/json.cql +0 -0
  28. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/stdlib/math/statistics.cql +0 -0
  29. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/stdlib/math.cql +0 -0
  30. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/stdlib/pathlib.cql +0 -0
  31. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/stdlib/random.cql +0 -0
  32. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql/stdlib/text.cql +0 -0
  33. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql_python.egg-info/dependency_links.txt +0 -0
  34. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql_python.egg-info/requires.txt +0 -0
  35. {chemql_python-1.5.0 → chemql_python-1.5.2}/src/chemql_python.egg-info/top_level.txt +0 -0
  36. {chemql_python-1.5.0 → chemql_python-1.5.2}/tests/test_external_molecule_lookup.py +0 -0
  37. {chemql_python-1.5.0 → chemql_python-1.5.2}/tests/test_public_api.py +0 -0
  38. {chemql_python-1.5.0 → chemql_python-1.5.2}/tests/test_reactions.py +0 -0
  39. {chemql_python-1.5.0 → chemql_python-1.5.2}/tests/test_stdlib.py +0 -0
  40. {chemql_python-1.5.0 → chemql_python-1.5.2}/tests/test_structured_types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: chemql-python
3
- Version: 1.5.0
3
+ Version: 1.5.2
4
4
  Summary: A chemistry-focused query language and REPL
5
5
  Author-email: Mohammad Rakibul Islam <rakibulofficial1017@gmail.com>
6
6
  Requires-Python: >=3.10
@@ -19,7 +19,7 @@ SQL-inspired syntax, inspect elements and molecules, look up reactions,
19
19
  balance equations, and combine chemistry queries with Python and shell
20
20
  commands.
21
21
 
22
- - **Version:** `1.5.0`
22
+ - **Version:** `1.5.1`
23
23
  - **PyPI distribution:** `chemql-python`
24
24
  - **Python import / CLI name:** `chemql`
25
25
  - **Author:** Mohammad Rakibul Islam
@@ -143,6 +143,31 @@ exit
143
143
  - `list all` shows available sources and fields.
144
144
  - `exit` leaves the prompt.
145
145
 
146
+ ### Terminal editor
147
+
148
+ Install the package, then open a ChemQL file with the `codecql` command:
149
+
150
+ ``` bash
151
+ codecql script.cql
152
+ ```
153
+
154
+ The editor supports syntax highlighting, direct text editing, word movement
155
+ with `Ctrl`/`Alt`+Arrow, selection with `Shift`+Arrow, internal copy/cut/paste
156
+ with `Ctrl+C`/`Ctrl+X`/`Ctrl+V` (copy also writes to the system clipboard
157
+ when a supported clipboard command is available), word deletion with
158
+ `Ctrl+Backspace`/`Ctrl+Delete`, and terminal bracketed paste. It also supports
159
+ undo (`Ctrl+Z`), redo (`Ctrl+Y`), save (`Ctrl+S`), and quit (`Ctrl+Q`).
160
+ Namespace declarations are highlighted and auto-indented. Its syntax and UI
161
+ colors are configurable in the packaged `chemql/colors.json` file.
162
+
163
+ Press `Ctrl+F` to search; matches highlight as you type. Press Enter or the
164
+ Down Arrow for the next match, Up Arrow for the previous match, and Escape
165
+ to close the search prompt. Searches are literal and case-insensitive by
166
+ default. Prefix a query with `r:` for a case-sensitive regular expression,
167
+ `ri:` for a case-insensitive regular expression, `l:` for case-sensitive
168
+ literal text, or `li:` for case-insensitive literal text. Add `w` to match
169
+ whole words, for example `lwi:cat`.
170
+
146
171
  ## Query language
147
172
 
148
173
  A typical query starts with `search`, a source, optional conditions, and
@@ -6,7 +6,7 @@ SQL-inspired syntax, inspect elements and molecules, look up reactions,
6
6
  balance equations, and combine chemistry queries with Python and shell
7
7
  commands.
8
8
 
9
- - **Version:** `1.5.0`
9
+ - **Version:** `1.5.1`
10
10
  - **PyPI distribution:** `chemql-python`
11
11
  - **Python import / CLI name:** `chemql`
12
12
  - **Author:** Mohammad Rakibul Islam
@@ -130,6 +130,31 @@ exit
130
130
  - `list all` shows available sources and fields.
131
131
  - `exit` leaves the prompt.
132
132
 
133
+ ### Terminal editor
134
+
135
+ Install the package, then open a ChemQL file with the `codecql` command:
136
+
137
+ ``` bash
138
+ codecql script.cql
139
+ ```
140
+
141
+ The editor supports syntax highlighting, direct text editing, word movement
142
+ with `Ctrl`/`Alt`+Arrow, selection with `Shift`+Arrow, internal copy/cut/paste
143
+ with `Ctrl+C`/`Ctrl+X`/`Ctrl+V` (copy also writes to the system clipboard
144
+ when a supported clipboard command is available), word deletion with
145
+ `Ctrl+Backspace`/`Ctrl+Delete`, and terminal bracketed paste. It also supports
146
+ undo (`Ctrl+Z`), redo (`Ctrl+Y`), save (`Ctrl+S`), and quit (`Ctrl+Q`).
147
+ Namespace declarations are highlighted and auto-indented. Its syntax and UI
148
+ colors are configurable in the packaged `chemql/colors.json` file.
149
+
150
+ Press `Ctrl+F` to search; matches highlight as you type. Press Enter or the
151
+ Down Arrow for the next match, Up Arrow for the previous match, and Escape
152
+ to close the search prompt. Searches are literal and case-insensitive by
153
+ default. Prefix a query with `r:` for a case-sensitive regular expression,
154
+ `ri:` for a case-insensitive regular expression, `l:` for case-sensitive
155
+ literal text, or `li:` for case-insensitive literal text. Add `w` to match
156
+ whole words, for example `lwi:cat`.
157
+
133
158
  ## Query language
134
159
 
135
160
  A typical query starts with `search`, a source, optional conditions, and
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "chemql-python"
7
- version = "1.5.0"
7
+ version = "1.5.2"
8
8
  authors = [
9
9
  { name = "Mohammad Rakibul Islam", email = "rakibulofficial1017@gmail.com" }
10
10
  ]
@@ -20,6 +20,7 @@ test = ["pytest>=8.0"]
20
20
 
21
21
  [project.scripts]
22
22
  chemql = "chemql:main"
23
+ codecql = "chemql.codecql:main"
23
24
 
24
25
  [tool.setuptools]
25
26
  package-dir = {"" = "src"}
@@ -29,6 +30,7 @@ where = ["src"]
29
30
 
30
31
  [tool.setuptools.package-data]
31
32
  chemql = [
33
+ "colors.json",
32
34
  "data/*.json",
33
35
  "data/THIRD_PARTY_LICENSES/*.txt",
34
36
  "html/*.html",
@@ -64,7 +64,7 @@ __all__ = [
64
64
  "__version__"
65
65
  ]
66
66
 
67
- __version__ = "1.5.0"
67
+ __version__ = "1.5.2"
68
68
 
69
69
  # Persistent preprocessor/function state for the current ChemQL session.
70
70
  DEFINITIONS = {}