geometallurgy 0.4.13__tar.gz → 0.4.15__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 (48) hide show
  1. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/LICENSE +21 -21
  2. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/PKG-INFO +2 -3
  3. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/README.md +87 -87
  4. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/__init__.py +11 -11
  5. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/base.py +1133 -1133
  6. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/block_model.py +319 -319
  7. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/config/__init__.py +1 -1
  8. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/config/config_read.py +39 -39
  9. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/config/flowsheet_example_partition.yaml +31 -31
  10. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/config/flowsheet_example_simple.yaml +25 -25
  11. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/config/mc_config.yml +35 -35
  12. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/data/downloader.py +39 -39
  13. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/data/register.csv +12 -12
  14. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/datasets/__init__.py +2 -2
  15. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/datasets/datasets.py +47 -47
  16. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/datasets/downloader.py +40 -40
  17. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/datasets/register.csv +12 -12
  18. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/datasets/sample_data.py +196 -196
  19. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/extras.py +35 -35
  20. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/flowsheet/__init__.py +1 -1
  21. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/flowsheet/flowsheet.py +1216 -1216
  22. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/flowsheet/loader.py +99 -99
  23. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/flowsheet/operation.py +256 -256
  24. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/flowsheet/stream.py +39 -39
  25. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/interval_sample.py +641 -641
  26. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/io.py +379 -379
  27. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/plot.py +147 -147
  28. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/sample.py +28 -28
  29. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/amenability.py +49 -49
  30. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/block_model_converter.py +93 -93
  31. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/components.py +136 -136
  32. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/data.py +49 -49
  33. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/estimates.py +108 -108
  34. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/interp.py +193 -193
  35. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/interp2.py +134 -134
  36. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/layout.py +72 -72
  37. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/moisture.py +61 -61
  38. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/pandas.py +378 -378
  39. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/parallel.py +29 -29
  40. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/partition.py +63 -63
  41. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/size.py +51 -51
  42. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/timer.py +80 -80
  43. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/viz.py +56 -56
  44. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/validate.py.hide +176 -176
  45. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/pyproject.toml +76 -76
  46. geometallurgy-0.4.13/elphick/geomet/utils/output.html +0 -617
  47. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/profile.py +0 -0
  48. {geometallurgy-0.4.13 → geometallurgy-0.4.15}/elphick/geomet/utils/__init__.py +0 -0
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 Greg Elphick
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Greg Elphick
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: geometallurgy
3
- Version: 0.4.13
3
+ Version: 0.4.15
4
4
  Summary: Tools for the geometallurgist
5
5
  Home-page: https://github.com/elphick/geometallurgy
6
6
  Author: Greg
@@ -9,13 +9,12 @@ Requires-Python: >=3.10,<3.13
9
9
  Classifier: Programming Language :: Python :: 3
10
10
  Classifier: Programming Language :: Python :: 3.10
11
11
  Classifier: Programming Language :: Python :: 3.11
12
- Classifier: Programming Language :: Python :: 3.12
13
12
  Provides-Extra: all
14
13
  Provides-Extra: blockmodel
15
14
  Provides-Extra: spatial
16
15
  Provides-Extra: validation
17
16
  Requires-Dist: folium (>=0.16.0,<0.17.0) ; extra == "spatial"
18
- Requires-Dist: omfpandas (>=0.8.1,<0.9.0) ; extra == "blockmodel"
17
+ Requires-Dist: omfpandas (>=0.8.1) ; extra == "blockmodel"
19
18
  Requires-Dist: omfvista (>=0.3.0) ; extra == "blockmodel"
20
19
  Requires-Dist: pandas (>=1.0)
21
20
  Requires-Dist: pandera[io] (>=0.19.3,<0.21.0) ; extra == "validation"
@@ -1,87 +1,87 @@
1
- # Geometallurgy
2
- [![PyPI](https://img.shields.io/pypi/v/geometallurgy.svg?logo=python&logoColor=white)](https://pypi.org/project/geometallurgy/)
3
- [![Run Tests](https://github.com/Elphick/geometallurgy/actions/workflows/poetry_build_and_test.yml/badge.svg?branch=main)](https://github.com/Elphick/geometallurgy/actions/workflows/poetry_build_and_test.yml)
4
- [![Publish Docs](https://github.com/Elphick/geometallurgy/actions/workflows/poetry_sphinx_docs_to_gh_pages.yml/badge.svg?branch=main)](https://github.com/Elphick/geometallurgy/actions/workflows/poetry_sphinx_docs_to_gh_pages.yml)
5
-
6
- Geometallurgy is a python package that allows geoscientists and metallurgists to easily work with, and visualise
7
- mass-compositional data.
8
-
9
- Geoscientific disciples, like Metallurgy, Geometallurgy, Geology, and Mining Engineering, rely on the analysis of
10
- data based on mass, moisture and chemistry. The data is collected from drill-holes, samples, and process streams.
11
- The data is used to model the behaviour of the material in the ground, and the material as it is processed.
12
-
13
- The Geometallurgy package supports the geometallurgical workflow from drill-hole planning and data analysis,
14
- sample fractionation and mass balanced process simulation, through to 3D block model visualisation.
15
- The is designed to handle large datasets and provide the necessary visualisations to support the workflow.
16
- Plots are generally interactive to maximise context and insight. Assurance of data integrity is a key objective.
17
-
18
- The package not only supports individual Samples, but collections of objects that are
19
- mathematically related in a Directional Graph (a.k.a. network or flowsheet).
20
-
21
- This package is a rewrite of the [mass-composition](https://github.com/elphick/mass-composition) package
22
- (based on pandas only instead of pandas/xarray).
23
-
24
- [![example plot](https://elphick.github.io/mass-composition/_static/example_plot.png)](https://elphick.github.io/mass-composition/_static/example_plot.html)
25
-
26
- ## Prerequisites
27
-
28
- Before you begin, ensure you have met the following requirements:
29
- * You have installed the latest version of the mass-composition python package.
30
- * You have a Windows/Linux/Mac machine.
31
- * You have read the [docs](https://elphick.github.io/geometallurgy).
32
-
33
- ## Installing Geometallurgy
34
-
35
- To install Geometallurgy, follow these steps:
36
-
37
- ```
38
- pip install geometallurgy
39
- ```
40
-
41
- Or, if poetry is more your flavour.
42
-
43
- ```
44
- poetry add "geometallurgy"
45
- ```
46
-
47
- ## Using Geometallurgy
48
-
49
- To use GeoMetallurgy to create a Sample object, follow these steps:
50
-
51
- There are some basic requirements that the incoming DataFrame must meet. We'll use a sample DataFrame here.
52
-
53
- ```python
54
- df_data = sample_data()
55
- ```
56
-
57
- Create the object
58
-
59
- ```python
60
- sample = Sample(df_data)
61
- ```
62
-
63
- It is then trivial to calculate the weight average aggregate of the dataset.
64
-
65
- ```python
66
- sample.aggregate()
67
- ```
68
-
69
- Multiple composition analytes can be viewed in a single interactive parallel coordinates plot.
70
-
71
- ```python
72
- sample = Sample(df_data.reset_index().set_index(['DHID', 'interval_from', 'interval_to']),
73
- name=name)
74
-
75
- fig = sample.plot_parallel(color='Fe')
76
- fig
77
- ```
78
-
79
-
80
- Network visualisations and other plots are interactive.
81
-
82
- For full examples, see the [gallery](/auto_examples/examples/index).
83
-
84
- ## License
85
-
86
- This project uses the following license: [MIT](/license/license).
87
-
1
+ # Geometallurgy
2
+ [![PyPI](https://img.shields.io/pypi/v/geometallurgy.svg?logo=python&logoColor=white)](https://pypi.org/project/geometallurgy/)
3
+ [![Run Tests](https://github.com/Elphick/geometallurgy/actions/workflows/poetry_build_and_test.yml/badge.svg?branch=main)](https://github.com/Elphick/geometallurgy/actions/workflows/poetry_build_and_test.yml)
4
+ [![Publish Docs](https://github.com/Elphick/geometallurgy/actions/workflows/poetry_sphinx_docs_to_gh_pages.yml/badge.svg?branch=main)](https://github.com/Elphick/geometallurgy/actions/workflows/poetry_sphinx_docs_to_gh_pages.yml)
5
+
6
+ Geometallurgy is a python package that allows geoscientists and metallurgists to easily work with, and visualise
7
+ mass-compositional data.
8
+
9
+ Geoscientific disciples, like Metallurgy, Geometallurgy, Geology, and Mining Engineering, rely on the analysis of
10
+ data based on mass, moisture and chemistry. The data is collected from drill-holes, samples, and process streams.
11
+ The data is used to model the behaviour of the material in the ground, and the material as it is processed.
12
+
13
+ The Geometallurgy package supports the geometallurgical workflow from drill-hole planning and data analysis,
14
+ sample fractionation and mass balanced process simulation, through to 3D block model visualisation.
15
+ The is designed to handle large datasets and provide the necessary visualisations to support the workflow.
16
+ Plots are generally interactive to maximise context and insight. Assurance of data integrity is a key objective.
17
+
18
+ The package not only supports individual Samples, but collections of objects that are
19
+ mathematically related in a Directional Graph (a.k.a. network or flowsheet).
20
+
21
+ This package is a rewrite of the [mass-composition](https://github.com/elphick/mass-composition) package
22
+ (based on pandas only instead of pandas/xarray).
23
+
24
+ [![example plot](https://elphick.github.io/mass-composition/_static/example_plot.png)](https://elphick.github.io/mass-composition/_static/example_plot.html)
25
+
26
+ ## Prerequisites
27
+
28
+ Before you begin, ensure you have met the following requirements:
29
+ * You have installed the latest version of the mass-composition python package.
30
+ * You have a Windows/Linux/Mac machine.
31
+ * You have read the [docs](https://elphick.github.io/geometallurgy).
32
+
33
+ ## Installing Geometallurgy
34
+
35
+ To install Geometallurgy, follow these steps:
36
+
37
+ ```
38
+ pip install geometallurgy
39
+ ```
40
+
41
+ Or, if poetry is more your flavour.
42
+
43
+ ```
44
+ poetry add "geometallurgy"
45
+ ```
46
+
47
+ ## Using Geometallurgy
48
+
49
+ To use GeoMetallurgy to create a Sample object, follow these steps:
50
+
51
+ There are some basic requirements that the incoming DataFrame must meet. We'll use a sample DataFrame here.
52
+
53
+ ```python
54
+ df_data = sample_data()
55
+ ```
56
+
57
+ Create the object
58
+
59
+ ```python
60
+ sample = Sample(df_data)
61
+ ```
62
+
63
+ It is then trivial to calculate the weight average aggregate of the dataset.
64
+
65
+ ```python
66
+ sample.aggregate()
67
+ ```
68
+
69
+ Multiple composition analytes can be viewed in a single interactive parallel coordinates plot.
70
+
71
+ ```python
72
+ sample = Sample(df_data.reset_index().set_index(['DHID', 'interval_from', 'interval_to']),
73
+ name=name)
74
+
75
+ fig = sample.plot_parallel(color='Fe')
76
+ fig
77
+ ```
78
+
79
+
80
+ Network visualisations and other plots are interactive.
81
+
82
+ For full examples, see the [gallery](/auto_examples/examples/index).
83
+
84
+ ## License
85
+
86
+ This project uses the following license: [MIT](/license/license).
87
+
@@ -1,11 +1,11 @@
1
- from __future__ import annotations
2
- from importlib import metadata
3
-
4
- from .sample import Sample
5
- from .interval_sample import IntervalSample
6
-
7
- try:
8
- __version__ = metadata.version('geometallurgy')
9
- except metadata.PackageNotFoundError:
10
- # Package is not installed
11
- pass
1
+ from __future__ import annotations
2
+ from importlib import metadata
3
+
4
+ from .sample import Sample
5
+ from .interval_sample import IntervalSample
6
+
7
+ try:
8
+ __version__ = metadata.version('geometallurgy')
9
+ except metadata.PackageNotFoundError:
10
+ # Package is not installed
11
+ pass