terrangraph 1.0.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.
@@ -0,0 +1,263 @@
1
+ Metadata-Version: 2.4
2
+ Name: terrangraph
3
+ Version: 1.0.0
4
+ Summary: A graph-based framework for geotechnical site representation and subsurface intelligence
5
+ Author-email: Wang Lai <wanglai@imust.edu.cn>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/wanglai25/terrangraph
8
+ Project-URL: Source, https://github.com/wanglai25/terrangraph
9
+ Project-URL: Issues, https://github.com/wanglai25/terrangraph/issues
10
+ Keywords: geotechnical,subsurface,graph-learning,graph-neural-networks,site-characterization,representation-learning
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Science/Research
13
+ Classifier: Topic :: Scientific/Engineering
14
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
15
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3 :: Only
18
+ Classifier: Programming Language :: Python :: 3.8
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Operating System :: OS Independent
23
+ Requires-Python: >=3.8
24
+ Description-Content-Type: text/markdown
25
+ Requires-Dist: numpy>=1.20
26
+ Requires-Dist: pandas>=1.0
27
+ Requires-Dist: scipy>=1.5
28
+ Requires-Dist: scikit-learn>=0.24
29
+ Requires-Dist: tqdm>=4.40
30
+ Provides-Extra: ml
31
+ Requires-Dist: torch>=1.9; extra == "ml"
32
+ Requires-Dist: torch-geometric>=2.0; extra == "ml"
33
+ Provides-Extra: viz
34
+ Requires-Dist: matplotlib>=3.0; extra == "viz"
35
+ Requires-Dist: pyvista>=0.30; extra == "viz"
36
+ Requires-Dist: pillow>=8.0; extra == "viz"
37
+ Provides-Extra: all
38
+ Requires-Dist: torch>=1.9; extra == "all"
39
+ Requires-Dist: torch-geometric>=2.0; extra == "all"
40
+ Requires-Dist: matplotlib>=3.0; extra == "all"
41
+ Requires-Dist: pyvista>=0.30; extra == "all"
42
+ Requires-Dist: pillow>=8.0; extra == "all"
43
+
44
+ # TerranGraph: A Graph-Based Framework for Geotechnical Site Representation
45
+
46
+ <p align="center">
47
+ <img src="assets/banner.png" alt="TerranGraph banner" width="100%">
48
+ </p>
49
+
50
+ <p align="center">
51
+ <b>TerranGraph — A unified graph learning framework for subsurface intelligence.</b>
52
+ </p>
53
+
54
+ <p align="center">
55
+ <a href="https://pypi.org/project/terrangraph/">
56
+ <img src="https://img.shields.io/pypi/v/terrangraph.svg" alt="PyPI version">
57
+ </a>
58
+ <a href="https://pypi.org/project/terrangraph/">
59
+ <img src="https://img.shields.io/pypi/pyversions/terrangraph.svg" alt="Python version">
60
+ </a>
61
+ <a href="https://opensource.org/licenses/MIT">
62
+ <img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT">
63
+ </a>
64
+ </p>
65
+
66
+ TerranGraph is a Python framework for geotechnical site representation, learning, and visualization. It integrates multi-source data processing, spatial graph construction, graph neural networks, and 3D visualization into a single workflow for subsurface modeling and prediction.
67
+
68
+ ---
69
+
70
+ ## Overview
71
+
72
+ TerranGraph follows an end-to-end workflow:
73
+
74
+ **Geotechnical Data → Spatial Graph → Representation Learning → Prediction → Visualization**
75
+
76
+ Designed for subsurface modeling and site characterization, TerranGraph bridges geotechnical data and graph-based intelligence.
77
+
78
+ ---
79
+
80
+ ## Features
81
+
82
+ - **Multi-source data integration** for Excel and CSV geotechnical datasets
83
+ - **Spatial graph construction** from borehole logs and spatial coordinates
84
+ - **Graph neural networks** for site representation learning and prediction
85
+ - **3D visualization** with PyVista for subsurface modeling and cross-section analysis
86
+ - **Interactive GUI** based on PyQt5 for workflow exploration
87
+ - **Scalable training** with PyTorch and optional GPU acceleration
88
+ - **Model export** to standard 3D formats such as PLY, OBJ, and STL
89
+
90
+ ---
91
+
92
+ ## Installation
93
+
94
+ Install the lightweight core package:
95
+
96
+ ```bash
97
+ pip install terrangraph
98
+ ```
99
+
100
+ Install with graph learning support:
101
+
102
+ ```bash
103
+ pip install terrangraph[ml]
104
+ ```
105
+
106
+ Install with visualization support:
107
+
108
+ ```bash
109
+ pip install terrangraph[viz]
110
+ ```
111
+
112
+ Install full features:
113
+
114
+ ```bash
115
+ pip install terrangraph[all]
116
+ ```
117
+
118
+ ## Quick Start
119
+
120
+ ```python
121
+ from terrangraph import DataHandler, GeoModel, GeoVisualizer
122
+
123
+ # Load geotechnical data
124
+ handler = DataHandler()
125
+ unique_types, num_classes = handler.load_data("your_dataset.xlsx")
126
+
127
+ # Preprocess and align coordinates
128
+ rect = handler.compute_mbr()
129
+ bounds = handler.align_coordinates(x_res=10, y_res=2, z_res=1)
130
+ params_dict = handler.create_param_dict()
131
+
132
+ # Construct spatial graph
133
+ coords, labels, edges = handler.generate_grid(bounds, r=2)
134
+
135
+ # Train graph neural network
136
+ model = GeoModel()
137
+ model.prepare_data(coords, labels, edges)
138
+ model.build_model(
139
+ num_classes=num_classes,
140
+ hidden_size=48,
141
+ gcn_layers=3,
142
+ mlp_layers=3,
143
+ dropout=0.2
144
+ )
145
+ history = model.train(epochs=100, lr=3e-3)
146
+
147
+ # Prediction and visualization
148
+ predictions, probabilities = model.predict()
149
+ visualizer = GeoVisualizer()
150
+ mesh = visualizer.create_model(coords, predictions)
151
+ visualizer.show_model(mesh)
152
+ ```
153
+
154
+ ## Input Data Format
155
+
156
+ The input dataset should include:
157
+
158
+ - `X`, `Y`, `Z`: spatial coordinates
159
+ - `Soil/Rock Type`: soil or rock type classification
160
+ - `Borehole ID`: borehole identifier (optional)
161
+ - `Borehole Type`: borehole category (optional)
162
+
163
+ Additional geotechnical parameters (e.g., strength, density, CPT measurements, etc.) can be incorporated for extended modeling tasks.
164
+
165
+ ## Use Cases
166
+
167
+ TerranGraph can be used for:
168
+
169
+ - 3D subsurface modeling
170
+ - Borehole-based site characterization
171
+ - Graph-based representation learning of geotechnical data
172
+ - Similarity-based site comparison and clustering
173
+ - Data-driven prediction of soil and rock properties
174
+
175
+ ## Project Structure
176
+
177
+ ```text
178
+ terrangraph/
179
+ ├── src/
180
+ │ └── terrangraph/
181
+ │ ├── __init__.py # Package exports
182
+ │ ├── cli.py # Command-line interface
183
+ │ └── core/
184
+ │ ├── __init__.py
185
+ │ ├── data_handler.py # Data loading and preprocessing
186
+ │ ├── geo_model.py # Graph neural network models
187
+ │ └── visualizer.py # 3D visualization (PyVista)
188
+
189
+ ├── assets/ # Logo and banner images
190
+ ├── docs/ # Documentation files
191
+ ├── CHANGELOG.md # Version history
192
+ ├── LICENSE # License
193
+ ├── pyproject.toml # Package configuration
194
+ └── README.md # Project documentation
195
+ ```
196
+
197
+ ## Examples
198
+
199
+ See the [examples/](examples/) directory:
200
+
201
+ - `basic_usage.py`: basic workflow
202
+ - `advanced_visualization.py`: advanced visualization
203
+ - `batch_processing.py`: batch processing
204
+ - `custom_model.py`: custom GNN architectures
205
+
206
+ ## Documentation
207
+
208
+ - [Installation Guide](docs/installation.md)
209
+ - [API Reference](docs/api.md)
210
+ - [User Tutorial](docs/tutorial.md)
211
+ - [Developer Guide](docs/development.md)
212
+
213
+ ## System Requirements
214
+
215
+ - Python 3.8+
216
+ - 8GB RAM minimum (16GB recommended)
217
+ - CUDA-compatible GPU (required for `ml`)
218
+ - OpenGL support for 3D visualization (required for `viz`)
219
+
220
+ ## Roadmap
221
+
222
+ ### Current Capabilities
223
+
224
+ - [x] Graph-based geotechnical site representation
225
+ - [x] Spatial graph construction from borehole data
226
+ - [x] GNN-based prediction framework
227
+ - [x] 3D subsurface visualization (PyVista)
228
+
229
+ ### Next Steps
230
+
231
+ - [ ] Integration of additional geotechnical parameters (e.g., CPT, strength, density)
232
+ - [ ] Integration of real-time monitoring data (e.g., tunneling operation data)
233
+ - [ ] Contrastive learning for site similarity analysis
234
+ - [ ] Support for large-scale geotechnical datasets
235
+ - [ ] Probabilistic modeling and uncertainty quantification
236
+
237
+ ## Contributing
238
+
239
+ Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
240
+
241
+ ## License
242
+
243
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
244
+
245
+ ## Citation
246
+
247
+ If you use TerranGraph in your research, please cite:
248
+
249
+ ```bibtex
250
+ @software{wang2026terrangraph,
251
+ author = {Wang, Lai},
252
+ title = {TerranGraph: A Graph-Based Framework for Geotechnical Site Representation},
253
+ year = {2026},
254
+ version = {1.0.0},
255
+ url = {https://github.com/wanglai25/terrangraph}
256
+ }
257
+ ```
258
+
259
+ ## Support
260
+
261
+ - Email: <wanglai@imust.edu.cn>
262
+ - Issues: [GitHub Issues](https://github.com/wanglai25/terrangraph/issues)
263
+ - Discussions: [GitHub Discussions](https://github.com/wanglai25/terrangraph/discussions)
@@ -0,0 +1,220 @@
1
+ # TerranGraph: A Graph-Based Framework for Geotechnical Site Representation
2
+
3
+ <p align="center">
4
+ <img src="assets/banner.png" alt="TerranGraph banner" width="100%">
5
+ </p>
6
+
7
+ <p align="center">
8
+ <b>TerranGraph — A unified graph learning framework for subsurface intelligence.</b>
9
+ </p>
10
+
11
+ <p align="center">
12
+ <a href="https://pypi.org/project/terrangraph/">
13
+ <img src="https://img.shields.io/pypi/v/terrangraph.svg" alt="PyPI version">
14
+ </a>
15
+ <a href="https://pypi.org/project/terrangraph/">
16
+ <img src="https://img.shields.io/pypi/pyversions/terrangraph.svg" alt="Python version">
17
+ </a>
18
+ <a href="https://opensource.org/licenses/MIT">
19
+ <img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT">
20
+ </a>
21
+ </p>
22
+
23
+ TerranGraph is a Python framework for geotechnical site representation, learning, and visualization. It integrates multi-source data processing, spatial graph construction, graph neural networks, and 3D visualization into a single workflow for subsurface modeling and prediction.
24
+
25
+ ---
26
+
27
+ ## Overview
28
+
29
+ TerranGraph follows an end-to-end workflow:
30
+
31
+ **Geotechnical Data → Spatial Graph → Representation Learning → Prediction → Visualization**
32
+
33
+ Designed for subsurface modeling and site characterization, TerranGraph bridges geotechnical data and graph-based intelligence.
34
+
35
+ ---
36
+
37
+ ## Features
38
+
39
+ - **Multi-source data integration** for Excel and CSV geotechnical datasets
40
+ - **Spatial graph construction** from borehole logs and spatial coordinates
41
+ - **Graph neural networks** for site representation learning and prediction
42
+ - **3D visualization** with PyVista for subsurface modeling and cross-section analysis
43
+ - **Interactive GUI** based on PyQt5 for workflow exploration
44
+ - **Scalable training** with PyTorch and optional GPU acceleration
45
+ - **Model export** to standard 3D formats such as PLY, OBJ, and STL
46
+
47
+ ---
48
+
49
+ ## Installation
50
+
51
+ Install the lightweight core package:
52
+
53
+ ```bash
54
+ pip install terrangraph
55
+ ```
56
+
57
+ Install with graph learning support:
58
+
59
+ ```bash
60
+ pip install terrangraph[ml]
61
+ ```
62
+
63
+ Install with visualization support:
64
+
65
+ ```bash
66
+ pip install terrangraph[viz]
67
+ ```
68
+
69
+ Install full features:
70
+
71
+ ```bash
72
+ pip install terrangraph[all]
73
+ ```
74
+
75
+ ## Quick Start
76
+
77
+ ```python
78
+ from terrangraph import DataHandler, GeoModel, GeoVisualizer
79
+
80
+ # Load geotechnical data
81
+ handler = DataHandler()
82
+ unique_types, num_classes = handler.load_data("your_dataset.xlsx")
83
+
84
+ # Preprocess and align coordinates
85
+ rect = handler.compute_mbr()
86
+ bounds = handler.align_coordinates(x_res=10, y_res=2, z_res=1)
87
+ params_dict = handler.create_param_dict()
88
+
89
+ # Construct spatial graph
90
+ coords, labels, edges = handler.generate_grid(bounds, r=2)
91
+
92
+ # Train graph neural network
93
+ model = GeoModel()
94
+ model.prepare_data(coords, labels, edges)
95
+ model.build_model(
96
+ num_classes=num_classes,
97
+ hidden_size=48,
98
+ gcn_layers=3,
99
+ mlp_layers=3,
100
+ dropout=0.2
101
+ )
102
+ history = model.train(epochs=100, lr=3e-3)
103
+
104
+ # Prediction and visualization
105
+ predictions, probabilities = model.predict()
106
+ visualizer = GeoVisualizer()
107
+ mesh = visualizer.create_model(coords, predictions)
108
+ visualizer.show_model(mesh)
109
+ ```
110
+
111
+ ## Input Data Format
112
+
113
+ The input dataset should include:
114
+
115
+ - `X`, `Y`, `Z`: spatial coordinates
116
+ - `Soil/Rock Type`: soil or rock type classification
117
+ - `Borehole ID`: borehole identifier (optional)
118
+ - `Borehole Type`: borehole category (optional)
119
+
120
+ Additional geotechnical parameters (e.g., strength, density, CPT measurements, etc.) can be incorporated for extended modeling tasks.
121
+
122
+ ## Use Cases
123
+
124
+ TerranGraph can be used for:
125
+
126
+ - 3D subsurface modeling
127
+ - Borehole-based site characterization
128
+ - Graph-based representation learning of geotechnical data
129
+ - Similarity-based site comparison and clustering
130
+ - Data-driven prediction of soil and rock properties
131
+
132
+ ## Project Structure
133
+
134
+ ```text
135
+ terrangraph/
136
+ ├── src/
137
+ │ └── terrangraph/
138
+ │ ├── __init__.py # Package exports
139
+ │ ├── cli.py # Command-line interface
140
+ │ └── core/
141
+ │ ├── __init__.py
142
+ │ ├── data_handler.py # Data loading and preprocessing
143
+ │ ├── geo_model.py # Graph neural network models
144
+ │ └── visualizer.py # 3D visualization (PyVista)
145
+
146
+ ├── assets/ # Logo and banner images
147
+ ├── docs/ # Documentation files
148
+ ├── CHANGELOG.md # Version history
149
+ ├── LICENSE # License
150
+ ├── pyproject.toml # Package configuration
151
+ └── README.md # Project documentation
152
+ ```
153
+
154
+ ## Examples
155
+
156
+ See the [examples/](examples/) directory:
157
+
158
+ - `basic_usage.py`: basic workflow
159
+ - `advanced_visualization.py`: advanced visualization
160
+ - `batch_processing.py`: batch processing
161
+ - `custom_model.py`: custom GNN architectures
162
+
163
+ ## Documentation
164
+
165
+ - [Installation Guide](docs/installation.md)
166
+ - [API Reference](docs/api.md)
167
+ - [User Tutorial](docs/tutorial.md)
168
+ - [Developer Guide](docs/development.md)
169
+
170
+ ## System Requirements
171
+
172
+ - Python 3.8+
173
+ - 8GB RAM minimum (16GB recommended)
174
+ - CUDA-compatible GPU (required for `ml`)
175
+ - OpenGL support for 3D visualization (required for `viz`)
176
+
177
+ ## Roadmap
178
+
179
+ ### Current Capabilities
180
+
181
+ - [x] Graph-based geotechnical site representation
182
+ - [x] Spatial graph construction from borehole data
183
+ - [x] GNN-based prediction framework
184
+ - [x] 3D subsurface visualization (PyVista)
185
+
186
+ ### Next Steps
187
+
188
+ - [ ] Integration of additional geotechnical parameters (e.g., CPT, strength, density)
189
+ - [ ] Integration of real-time monitoring data (e.g., tunneling operation data)
190
+ - [ ] Contrastive learning for site similarity analysis
191
+ - [ ] Support for large-scale geotechnical datasets
192
+ - [ ] Probabilistic modeling and uncertainty quantification
193
+
194
+ ## Contributing
195
+
196
+ Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
197
+
198
+ ## License
199
+
200
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
201
+
202
+ ## Citation
203
+
204
+ If you use TerranGraph in your research, please cite:
205
+
206
+ ```bibtex
207
+ @software{wang2026terrangraph,
208
+ author = {Wang, Lai},
209
+ title = {TerranGraph: A Graph-Based Framework for Geotechnical Site Representation},
210
+ year = {2026},
211
+ version = {1.0.0},
212
+ url = {https://github.com/wanglai25/terrangraph}
213
+ }
214
+ ```
215
+
216
+ ## Support
217
+
218
+ - Email: <wanglai@imust.edu.cn>
219
+ - Issues: [GitHub Issues](https://github.com/wanglai25/terrangraph/issues)
220
+ - Discussions: [GitHub Discussions](https://github.com/wanglai25/terrangraph/discussions)
@@ -0,0 +1,86 @@
1
+ [build-system]
2
+ requires = ["setuptools>=77", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "terrangraph"
7
+ dynamic = ["version"]
8
+ description = "A graph-based framework for geotechnical site representation and subsurface intelligence"
9
+ readme = { file = "README.md", content-type = "text/markdown" }
10
+ license = "MIT"
11
+ license-files = ["LICENSE"]
12
+ authors = [
13
+ { name = "Wang Lai", email = "wanglai@imust.edu.cn" },
14
+ ]
15
+
16
+ classifiers = [
17
+ "Development Status :: 4 - Beta",
18
+ "Intended Audience :: Science/Research",
19
+ "Topic :: Scientific/Engineering",
20
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
21
+ "Topic :: Scientific/Engineering :: Information Analysis",
22
+ "Programming Language :: Python :: 3",
23
+ "Programming Language :: Python :: 3 :: Only",
24
+ "Programming Language :: Python :: 3.8",
25
+ "Programming Language :: Python :: 3.9",
26
+ "Programming Language :: Python :: 3.10",
27
+ "Programming Language :: Python :: 3.11",
28
+ "Operating System :: OS Independent",
29
+ ]
30
+
31
+ keywords = [
32
+ "geotechnical",
33
+ "subsurface",
34
+ "graph-learning",
35
+ "graph-neural-networks",
36
+ "site-characterization",
37
+ "representation-learning",
38
+ ]
39
+
40
+ requires-python = ">=3.8"
41
+
42
+ dependencies = [
43
+ "numpy>=1.20",
44
+ "pandas>=1.0",
45
+ "scipy>=1.5",
46
+ "scikit-learn>=0.24",
47
+ "tqdm>=4.40",
48
+ ]
49
+
50
+ [project.optional-dependencies]
51
+
52
+ ml = [
53
+ "torch>=1.9",
54
+ "torch-geometric>=2.0",
55
+ ]
56
+
57
+ viz = [
58
+ "matplotlib>=3.0",
59
+ "pyvista>=0.30",
60
+ "pillow>=8.0",
61
+ ]
62
+
63
+ # full install
64
+ all = [
65
+ "torch>=1.9",
66
+ "torch-geometric>=2.0",
67
+ "matplotlib>=3.0",
68
+ "pyvista>=0.30",
69
+ "pillow>=8.0",
70
+ ]
71
+
72
+ [project.urls]
73
+ Homepage = "https://github.com/wanglai25/terrangraph"
74
+ Source = "https://github.com/wanglai25/terrangraph"
75
+ Issues = "https://github.com/wanglai25/terrangraph/issues"
76
+
77
+ [project.scripts]
78
+ terrangraph = "terrangraph.cli:main"
79
+
80
+ [tool.setuptools]
81
+ package-dir = { "" = "src" }
82
+ packages = { find = { where = ["src"], include = ["terrangraph*"] } }
83
+ include-package-data = true
84
+
85
+ [tool.setuptools.dynamic]
86
+ version = { attr = "terrangraph.__version__" }
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,69 @@
1
+ """
2
+ TerranGraph - Graph-Based Geotechnical Site Representation
3
+ ========================================================
4
+
5
+ TerranGraph is a Python framework for graph-based learning of geotechnical site
6
+ representation and subsurface modeling. It integrates multi-source geotechnical
7
+ data processing, spatial graph construction, graph neural networks, and 3D
8
+ visualization into a unified workflow for subsurface characterization and prediction.
9
+
10
+ Main Components:
11
+ - DataHandler: Data loading and preprocessing for geotechnical data
12
+ - GeoModel: Graph neural network modeling for site representation learning
13
+ - GeoVisualizer: 3D visualization using PyVista
14
+ - CLI: Command-line interface for workflow execution
15
+ - GUI: PyQt5-based interactive interface (optional)
16
+
17
+ Example:
18
+ >>> from terrangraph import DataHandler, GeoModel, GeoVisualizer
19
+ >>>
20
+ >>> # Load and process data
21
+ >>> handler = DataHandler()
22
+ >>> handler.load_data("geotechnical_data.xlsx")
23
+ >>>
24
+ >>> # Generate spatial graph
25
+ >>> coords, labels, edges = handler.generate_grid()
26
+ >>>
27
+ >>> # Train model
28
+ >>> model = GeoModel()
29
+ >>> model.prepare_data(coords, labels, edges)
30
+ >>> model.build_model(num_classes=5)
31
+ >>> model.train(epochs=100)
32
+ >>>
33
+ >>> # Visualize results
34
+ >>> visualizer = GeoVisualizer()
35
+ >>> predictions, _ = model.predict()
36
+ >>> mesh = visualizer.create_model(coords, predictions)
37
+ >>> visualizer.show_model(mesh)
38
+ """
39
+
40
+ __version__ = "1.0.0"
41
+ __author__ = "Wang Lai"
42
+ __email__ = "wanglai@imust.edu.cn"
43
+ __license__ = "MIT"
44
+
45
+ # Core components
46
+ from .core.data_handler import DataHandler
47
+ from .core.geo_model import GeoModel, GNN
48
+ from .core.visualizer import GeoVisualizer
49
+
50
+ # Command line interface
51
+ from .cli import main as cli_main
52
+
53
+ # Public API
54
+ __all__ = [
55
+ # Version info
56
+ '__version__', '__author__', '__email__', '__license__',
57
+
58
+ # Core classes
59
+ 'DataHandler', 'GeoModel', 'GNN', 'GeoVisualizer',
60
+
61
+ # Utilities
62
+ 'validate_data_format', 'estimate_memory_usage', 'optimize_parameters',
63
+
64
+ # CLI
65
+ 'cli_main',
66
+
67
+ # GUI availability
68
+ 'GUI_AVAILABLE',
69
+ ]