cdxml-toolkit 0.5.2__tar.gz → 0.5.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.
- {cdxml_toolkit-0.5.2/cdxml_toolkit.egg-info → cdxml_toolkit-0.5.4}/PKG-INFO +7 -4
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/README.md +5 -1
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/naming/mol_builder.py +14 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4/cdxml_toolkit.egg-info}/PKG-INFO +7 -4
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/pyproject.toml +2 -3
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_mol_builder.py +18 -5
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/LICENSE +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/NOTICE.md +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/_jre/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/_jre/temurin-21-jre-win-x64.zip +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/deterministic/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/deterministic/discover_experiment_files.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/deterministic/lab_book_formatter.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/deterministic/lcms_file_categorizer.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/deterministic/lcms_identifier.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/deterministic/mass_resolver.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/deterministic/multi_lcms_analyzer.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/deterministic/procedure_writer.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/extract_nmr.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/format_procedure_entry.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/lcms_analyzer.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/parse_analysis_file.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/cdxml_builder.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/cdxml_utils.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/chemdraw/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/chemdraw/_chemscript_server.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/chemdraw/cdx_converter.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/chemdraw/cdxml_to_image.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/chemdraw/cdxml_to_image_rdkit.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/chemdraw/chemscript_bridge.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/constants.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/coord_normalizer.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/deterministic_pipeline/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/deterministic_pipeline/legacy/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/deterministic_pipeline/legacy/eln_cdx_cleanup.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/deterministic_pipeline/legacy/eln_enrichment.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/deterministic_pipeline/legacy/scheme_aligner.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/deterministic_pipeline/legacy/scheme_polisher.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/deterministic_pipeline/legacy/scheme_polisher_v2.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/deterministic_pipeline/scheme_reader_audit.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/deterministic_pipeline/scheme_reader_verify.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/image/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/image/reaction_from_image.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/image/structure_from_image.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/layout/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/layout/alignment.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/layout/reaction_cleanup.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/layout/scheme_merger.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/mcp_server/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/mcp_server/__main__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/mcp_server/server.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/naming/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/naming/aligned_namer.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/naming/name_decomposer.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/naming/reactions_datamol.json +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/office/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/office/doc_from_template.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/office/ole_embedder.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/office/ole_extractor.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/perception/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/perception/compound_search.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/perception/eln_csv_parser.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/perception/rdf_parser.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/perception/reactant_heuristic.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/perception/reaction_parser.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/perception/scheme_reader.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/perception/scheme_refine.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/perception/scheme_segmenter.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/perception/spatial_assignment.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/rdkit_utils.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/render/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/render/auto_layout.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/render/compact_parser.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/render/parser.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/render/render_scheme.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/render/renderer.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/render/schema.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/render/scheme_maker.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/render/scheme_yaml_writer.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/resolve/__init__.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/resolve/cas_resolver.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/resolve/chemscanner_abbreviations.json +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/resolve/condensed_formula.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/resolve/jre_manager.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/resolve/reagent_abbreviations.json +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/resolve/reagent_db.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/resolve/superatom_data.json +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/resolve/superatom_table.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/text_formatting.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit.egg-info/SOURCES.txt +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit.egg-info/dependency_links.txt +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit.egg-info/entry_points.txt +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit.egg-info/requires.txt +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit.egg-info/top_level.txt +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/setup.cfg +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_builder.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_cdxml_utils.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_condensed_formula.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_constants.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_merge_yaml.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_rdkit_utils.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_reaction_parser.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_reagent_db.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_scheme_maker.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_scheme_reader.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_smoke.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_smoke_extended.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_spatial_assignment.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_superatom_table.py +0 -0
- {cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/tests/test_text_formatting.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cdxml-toolkit
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.4
|
|
4
4
|
Summary: MCP server and Python toolkit for perception, rendering, and analysis of molecules and reaction schemes in ChemDraw CDXML.
|
|
5
5
|
Author: Hiu Fung Kevin Lee
|
|
6
6
|
License-Expression: MIT
|
|
@@ -11,13 +11,12 @@ Classifier: Development Status :: 4 - Beta
|
|
|
11
11
|
Classifier: Intended Audience :: Science/Research
|
|
12
12
|
Classifier: Topic :: Scientific/Engineering :: Chemistry
|
|
13
13
|
Classifier: Programming Language :: Python :: 3
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
16
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
17
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.13
|
|
19
18
|
Classifier: Operating System :: Microsoft :: Windows
|
|
20
|
-
Requires-Python:
|
|
19
|
+
Requires-Python: <3.14,>=3.10
|
|
21
20
|
Description-Content-Type: text/markdown
|
|
22
21
|
License-File: LICENSE
|
|
23
22
|
License-File: NOTICE.md
|
|
@@ -154,9 +153,13 @@ Expected: 2 tool calls (resolve_name, draw_molecule), produces an aspirin CDXML
|
|
|
154
153
|
|
|
155
154
|
## Installation
|
|
156
155
|
|
|
157
|
-
**Prerequisites:** Windows with ChemDraw (ChemOffice 2015+) and ChemScript installed.
|
|
156
|
+
**Prerequisites:** Windows with ChemDraw (ChemOffice 2015+) and ChemScript installed. Python 3.10–3.13 (3.14 is not yet supported by TensorFlow/DECIMER).
|
|
158
157
|
|
|
159
158
|
```bash
|
|
159
|
+
# Create a conda environment with a supported Python version
|
|
160
|
+
conda create -n cdxml python=3.12 pip -y
|
|
161
|
+
conda activate cdxml
|
|
162
|
+
|
|
160
163
|
# From PyPI (recommended)
|
|
161
164
|
pip install cdxml-toolkit
|
|
162
165
|
|
|
@@ -108,9 +108,13 @@ Expected: 2 tool calls (resolve_name, draw_molecule), produces an aspirin CDXML
|
|
|
108
108
|
|
|
109
109
|
## Installation
|
|
110
110
|
|
|
111
|
-
**Prerequisites:** Windows with ChemDraw (ChemOffice 2015+) and ChemScript installed.
|
|
111
|
+
**Prerequisites:** Windows with ChemDraw (ChemOffice 2015+) and ChemScript installed. Python 3.10–3.13 (3.14 is not yet supported by TensorFlow/DECIMER).
|
|
112
112
|
|
|
113
113
|
```bash
|
|
114
|
+
# Create a conda environment with a supported Python version
|
|
115
|
+
conda create -n cdxml python=3.12 pip -y
|
|
116
|
+
conda activate cdxml
|
|
117
|
+
|
|
114
118
|
# From PyPI (recommended)
|
|
115
119
|
pip install cdxml-toolkit
|
|
116
120
|
|
|
@@ -350,6 +350,20 @@ def _try_validate(name: str, use_network: bool = True) -> Optional[str]:
|
|
|
350
350
|
if smi:
|
|
351
351
|
return smi
|
|
352
352
|
|
|
353
|
+
# OPSIN fallback (offline IUPAC name resolution, bundled JRE)
|
|
354
|
+
try:
|
|
355
|
+
from cdxml_toolkit.resolve.jre_manager import ensure_java_on_path
|
|
356
|
+
if ensure_java_on_path():
|
|
357
|
+
import warnings
|
|
358
|
+
from py2opsin import py2opsin as _py2opsin
|
|
359
|
+
with warnings.catch_warnings():
|
|
360
|
+
warnings.simplefilter("ignore", RuntimeWarning)
|
|
361
|
+
smi = _py2opsin(name)
|
|
362
|
+
if smi and Chem.MolFromSmiles(smi):
|
|
363
|
+
return _rdkit_canonical(smi)
|
|
364
|
+
except (ImportError, FileNotFoundError):
|
|
365
|
+
pass
|
|
366
|
+
|
|
353
367
|
# PubChem fallback (for common names)
|
|
354
368
|
if use_network:
|
|
355
369
|
try:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cdxml-toolkit
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.4
|
|
4
4
|
Summary: MCP server and Python toolkit for perception, rendering, and analysis of molecules and reaction schemes in ChemDraw CDXML.
|
|
5
5
|
Author: Hiu Fung Kevin Lee
|
|
6
6
|
License-Expression: MIT
|
|
@@ -11,13 +11,12 @@ Classifier: Development Status :: 4 - Beta
|
|
|
11
11
|
Classifier: Intended Audience :: Science/Research
|
|
12
12
|
Classifier: Topic :: Scientific/Engineering :: Chemistry
|
|
13
13
|
Classifier: Programming Language :: Python :: 3
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
16
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
17
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.13
|
|
19
18
|
Classifier: Operating System :: Microsoft :: Windows
|
|
20
|
-
Requires-Python:
|
|
19
|
+
Requires-Python: <3.14,>=3.10
|
|
21
20
|
Description-Content-Type: text/markdown
|
|
22
21
|
License-File: LICENSE
|
|
23
22
|
License-File: NOTICE.md
|
|
@@ -154,9 +153,13 @@ Expected: 2 tool calls (resolve_name, draw_molecule), produces an aspirin CDXML
|
|
|
154
153
|
|
|
155
154
|
## Installation
|
|
156
155
|
|
|
157
|
-
**Prerequisites:** Windows with ChemDraw (ChemOffice 2015+) and ChemScript installed.
|
|
156
|
+
**Prerequisites:** Windows with ChemDraw (ChemOffice 2015+) and ChemScript installed. Python 3.10–3.13 (3.14 is not yet supported by TensorFlow/DECIMER).
|
|
158
157
|
|
|
159
158
|
```bash
|
|
159
|
+
# Create a conda environment with a supported Python version
|
|
160
|
+
conda create -n cdxml python=3.12 pip -y
|
|
161
|
+
conda activate cdxml
|
|
162
|
+
|
|
160
163
|
# From PyPI (recommended)
|
|
161
164
|
pip install cdxml-toolkit
|
|
162
165
|
|
|
@@ -4,11 +4,11 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "cdxml-toolkit"
|
|
7
|
-
version = "0.5.
|
|
7
|
+
version = "0.5.4"
|
|
8
8
|
description = "MCP server and Python toolkit for perception, rendering, and analysis of molecules and reaction schemes in ChemDraw CDXML."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
11
|
-
requires-python = ">=3.
|
|
11
|
+
requires-python = ">=3.10,<3.14"
|
|
12
12
|
authors = [
|
|
13
13
|
{name = "Hiu Fung Kevin Lee"},
|
|
14
14
|
]
|
|
@@ -17,7 +17,6 @@ classifiers = [
|
|
|
17
17
|
"Intended Audience :: Science/Research",
|
|
18
18
|
"Topic :: Scientific/Engineering :: Chemistry",
|
|
19
19
|
"Programming Language :: Python :: 3",
|
|
20
|
-
"Programming Language :: Python :: 3.9",
|
|
21
20
|
"Programming Language :: Python :: 3.10",
|
|
22
21
|
"Programming Language :: Python :: 3.11",
|
|
23
22
|
"Programming Language :: Python :: 3.12",
|
|
@@ -26,21 +26,34 @@ from cdxml_toolkit.naming.mol_builder import (
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
# ---------------------------------------------------------------------------
|
|
29
|
-
# Helper: check if
|
|
29
|
+
# Helper: check if a name-to-structure backend is available
|
|
30
30
|
# ---------------------------------------------------------------------------
|
|
31
31
|
|
|
32
|
-
def
|
|
32
|
+
def _name_resolver_available():
|
|
33
|
+
"""Return True if ChemScript or OPSIN can resolve IUPAC names."""
|
|
34
|
+
# Try ChemScript first
|
|
33
35
|
try:
|
|
34
36
|
from cdxml_toolkit.chemdraw.chemscript_bridge import ChemScriptBridge
|
|
35
37
|
ChemScriptBridge()
|
|
36
38
|
return True
|
|
37
39
|
except Exception:
|
|
38
|
-
|
|
40
|
+
pass
|
|
41
|
+
# Try OPSIN (bundled offline fallback)
|
|
42
|
+
try:
|
|
43
|
+
from cdxml_toolkit.resolve.jre_manager import ensure_java_on_path
|
|
44
|
+
if ensure_java_on_path():
|
|
45
|
+
from py2opsin import py2opsin as _py2opsin
|
|
46
|
+
smi = _py2opsin("benzene")
|
|
47
|
+
if smi:
|
|
48
|
+
return True
|
|
49
|
+
except Exception:
|
|
50
|
+
pass
|
|
51
|
+
return False
|
|
39
52
|
|
|
40
53
|
|
|
41
54
|
needs_chemscript = pytest.mark.skipif(
|
|
42
|
-
not
|
|
43
|
-
reason="ChemScript
|
|
55
|
+
not _name_resolver_available(),
|
|
56
|
+
reason="No name resolver available (neither ChemScript nor OPSIN)",
|
|
44
57
|
)
|
|
45
58
|
|
|
46
59
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/deterministic/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/deterministic/lcms_identifier.py
RENAMED
|
File without changes
|
{cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/deterministic/mass_resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/deterministic/procedure_writer.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/analysis/format_procedure_entry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/deterministic_pipeline/__init__.py
RENAMED
|
File without changes
|
{cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/deterministic_pipeline/legacy/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/resolve/chemscanner_abbreviations.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdxml_toolkit-0.5.2 → cdxml_toolkit-0.5.4}/cdxml_toolkit/resolve/reagent_abbreviations.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|