pypsbuilder 2.5.2__tar.gz → 2.6.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 (117) hide show
  1. pypsbuilder-2.6.0/.github/dependabot.yml +6 -0
  2. pypsbuilder-2.6.0/.github/workflows/release.yml +32 -0
  3. pypsbuilder-2.6.0/.github/workflows/testing.yml +43 -0
  4. pypsbuilder-2.6.0/.github/workflows/testrelease.yml +33 -0
  5. pypsbuilder-2.6.0/.gitignore +66 -0
  6. pypsbuilder-2.6.0/.pre-commit-config.yaml +28 -0
  7. pypsbuilder-2.6.0/.readthedocs.yaml +24 -0
  8. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/CHANGELOG.md +5 -2
  9. pypsbuilder-2.6.0/PKG-INFO +159 -0
  10. pypsbuilder-2.6.0/README.md +88 -0
  11. pypsbuilder-2.6.0/codecov.yml +10 -0
  12. pypsbuilder-2.6.0/docs/_static/theme_overrides.css +13 -0
  13. pypsbuilder-2.6.0/docs/api/pypsbuilder.psclasses.Dogmin.rst +31 -0
  14. pypsbuilder-2.6.0/docs/api/pypsbuilder.psclasses.InvPoint.rst +34 -0
  15. pypsbuilder-2.6.0/docs/api/pypsbuilder.psclasses.PTsection.rst +41 -0
  16. pypsbuilder-2.6.0/docs/api/pypsbuilder.psclasses.PXsection.rst +41 -0
  17. pypsbuilder-2.6.0/docs/api/pypsbuilder.psclasses.TCResult.rst +30 -0
  18. pypsbuilder-2.6.0/docs/api/pypsbuilder.psclasses.TCResultSet.rst +35 -0
  19. pypsbuilder-2.6.0/docs/api/pypsbuilder.psclasses.TXsection.rst +41 -0
  20. pypsbuilder-2.6.0/docs/api/pypsbuilder.psclasses.UniLine.rst +36 -0
  21. pypsbuilder-2.6.0/docs/api/pypsbuilder.psexplorer.PTPS.rst +80 -0
  22. pypsbuilder-2.6.0/docs/api/pypsbuilder.psexplorer.PXPS.rst +77 -0
  23. pypsbuilder-2.6.0/docs/api/pypsbuilder.psexplorer.TXPS.rst +77 -0
  24. pypsbuilder-2.6.0/docs/api/pypsbuilder.tcapi.TC34API.rst +58 -0
  25. pypsbuilder-2.6.0/docs/api/pypsbuilder.tcapi.TC35API.rst +57 -0
  26. pypsbuilder-2.6.0/docs/api.rst +104 -0
  27. pypsbuilder-2.6.0/docs/authors.rst +12 -0
  28. pypsbuilder-2.6.0/docs/command-line.rst +168 -0
  29. pypsbuilder-2.6.0/docs/conf.py +172 -0
  30. pypsbuilder-2.6.0/docs/images/create_environment.png +0 -0
  31. pypsbuilder-2.6.0/docs/images/crossing.png +0 -0
  32. pypsbuilder-2.6.0/docs/images/delta.png +0 -0
  33. pypsbuilder-2.6.0/docs/images/install_locally.png +0 -0
  34. pypsbuilder-2.6.0/docs/images/invsearch.png +0 -0
  35. pypsbuilder-2.6.0/docs/images/isopleths_1.png +0 -0
  36. pypsbuilder-2.6.0/docs/images/isopleths_2.png +0 -0
  37. pypsbuilder-2.6.0/docs/images/modes.png +0 -0
  38. pypsbuilder-2.6.0/docs/images/psbuilder_areas.png +0 -0
  39. pypsbuilder-2.6.0/docs/images/psbuilder_dogmin.png +0 -0
  40. pypsbuilder-2.6.0/docs/images/psbuilder_finished.png +0 -0
  41. pypsbuilder-2.6.0/docs/images/psbuilder_highlight.png +0 -0
  42. pypsbuilder-2.6.0/docs/images/psbuilder_init.png +0 -0
  43. pypsbuilder-2.6.0/docs/images/psbuilder_inv.png +0 -0
  44. pypsbuilder-2.6.0/docs/images/psbuilder_modes.png +0 -0
  45. pypsbuilder-2.6.0/docs/images/psbuilder_uni.png +0 -0
  46. pypsbuilder-2.6.0/docs/images/psiso_alm.png +0 -0
  47. pypsbuilder-2.6.0/docs/images/psiso_labelkey.png +0 -0
  48. pypsbuilder-2.6.0/docs/images/psiso_mode.png +0 -0
  49. pypsbuilder-2.6.0/docs/images/psiso_other.png +0 -0
  50. pypsbuilder-2.6.0/docs/images/psshow_out.png +0 -0
  51. pypsbuilder-2.6.0/docs/images/ptpath.png +0 -0
  52. pypsbuilder-2.6.0/docs/images/show_data.png +0 -0
  53. pypsbuilder-2.6.0/docs/images/show_grid.png +0 -0
  54. pypsbuilder-2.6.0/docs/images/show_label.png +0 -0
  55. pypsbuilder-2.6.0/docs/images/show_out.png +0 -0
  56. pypsbuilder-2.6.0/docs/images/show_plain.png +0 -0
  57. pypsbuilder-2.6.0/docs/images/status.png +0 -0
  58. pypsbuilder-2.6.0/docs/index.rst +47 -0
  59. pypsbuilder-2.6.0/docs/psbuilders-tutorial.rst +238 -0
  60. pypsbuilder-2.6.0/docs/psexplorer-tutorial.rst +250 -0
  61. pypsbuilder-2.6.0/docs/readme.rst +1 -0
  62. pypsbuilder-2.6.0/environment.yml +15 -0
  63. pypsbuilder-2.6.0/examples/avgpelite/tc-avgpelite.txt +211 -0
  64. pypsbuilder-2.6.0/examples/avgpelite/tc-ds62.txt +2494 -0
  65. pypsbuilder-2.6.0/examples/avgpelite/tc-mp50MnNCKFMASHTO.txt +2072 -0
  66. pypsbuilder-2.6.0/examples/avgpelite/tc-prefs.txt +9 -0
  67. pypsbuilder-2.6.0/examples/avgpelite_34/tc-6axmn.txt +2559 -0
  68. pypsbuilder-2.6.0/examples/avgpelite_34/tc-avgpelite.txt +1138 -0
  69. pypsbuilder-2.6.0/examples/avgpelite_34/tc-ds62.txt +2494 -0
  70. pypsbuilder-2.6.0/examples/avgpelite_34/tc-prefs.txt +13 -0
  71. pypsbuilder-2.6.0/examples/outputs/inv1-ic.txt +111 -0
  72. pypsbuilder-2.6.0/examples/outputs/inv1-log.txt +104 -0
  73. pypsbuilder-2.6.0/examples/outputs/inv2-ic.txt +114 -0
  74. pypsbuilder-2.6.0/examples/outputs/inv2-log.txt +104 -0
  75. pypsbuilder-2.6.0/examples/outputs/inv3-ic.txt +99 -0
  76. pypsbuilder-2.6.0/examples/outputs/inv3-log.txt +94 -0
  77. pypsbuilder-2.6.0/examples/outputs/uni1-ic.txt +3663 -0
  78. pypsbuilder-2.6.0/examples/outputs/uni1-log.txt +1706 -0
  79. pypsbuilder-2.6.0/examples/outputs/uni2-ic.txt +4896 -0
  80. pypsbuilder-2.6.0/examples/outputs/uni2-log.txt +2096 -0
  81. pypsbuilder-2.6.0/examples/outputs/uni3-ic.txt +3069 -0
  82. pypsbuilder-2.6.0/examples/outputs/uni3-log.txt +1297 -0
  83. pypsbuilder-2.6.0/notebooks/pypsbuilder.ipynb +566 -0
  84. pypsbuilder-2.6.0/pyproject.toml +67 -0
  85. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/__init__.py +2 -3
  86. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/psbuilders.py +1127 -436
  87. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/psclasses.py +125 -37
  88. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/psexplorer.py +434 -139
  89. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/tcapi.py +235 -66
  90. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/tcinit.py +15 -11
  91. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/tests/test_pclasses.py +15 -13
  92. pypsbuilder-2.6.0/pypsbuilder/ui/compile_ui.sh +9 -0
  93. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/ui_addinv.py +15 -17
  94. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/ui_adduni.py +15 -17
  95. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/ui_ptbuilder.py +184 -193
  96. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/ui_pxbuilder.py +180 -189
  97. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/ui_txbuilder.py +180 -189
  98. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/ui_uniguess.py +11 -13
  99. pypsbuilder-2.5.2/PKG-INFO +0 -94
  100. pypsbuilder-2.5.2/README.md +0 -61
  101. pypsbuilder-2.5.2/pyproject.toml +0 -67
  102. pypsbuilder-2.5.2/pypsbuilder/tests/__init__.py +0 -0
  103. pypsbuilder-2.5.2/pypsbuilder/ui/compile_ui.sh +0 -9
  104. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/AUTHORS.md +0 -0
  105. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/CONTRIBUTING.md +0 -0
  106. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/LICENSE +0 -0
  107. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/images/ptbuilder.png +0 -0
  108. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/images/pxbuilder.png +0 -0
  109. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/images/pypsbuilder.png +0 -0
  110. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/images/txbuilder.png +0 -0
  111. {pypsbuilder-2.5.2/pypsbuilder/images → pypsbuilder-2.6.0/pypsbuilder/tests}/__init__.py +0 -0
  112. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/ui/addinv.ui +0 -0
  113. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/ui/adduni.ui +0 -0
  114. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/ui/ptbuilder.ui +0 -0
  115. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/ui/pxbuilder.ui +0 -0
  116. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/ui/txbuilder.ui +0 -0
  117. {pypsbuilder-2.5.2 → pypsbuilder-2.6.0}/pypsbuilder/ui/uniguess.ui +0 -0
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "monthly"
@@ -0,0 +1,32 @@
1
+ name: PyPi Publisher
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ pypi-publisher:
9
+ runs-on: ubuntu-latest
10
+ environment:
11
+ name: pypi
12
+ url: https://pypi.org/p/pypsbuilder
13
+
14
+ permissions:
15
+ id-token: write # IMPORTANT: mandatory for trusted publishing
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ with:
20
+ persist-credentials: false
21
+ - name: Set up Python
22
+ uses: actions/setup-python@v5
23
+ with:
24
+ python-version: "3.x"
25
+ - name: Install dependencies
26
+ run: |
27
+ python -m pip install --upgrade pip
28
+ pip install build
29
+ - name: Build package
30
+ run: python -m build
31
+ - name: Publish distribution 📦 to PyPI
32
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,43 @@
1
+ name: Python testing
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - "**"
7
+ pull_request:
8
+
9
+ jobs:
10
+ build:
11
+ name: Testing on ${{matrix.os}}
12
+ runs-on: ${{matrix.os}}
13
+ strategy:
14
+ matrix:
15
+ os: [ubuntu-latest, macos-latest, windows-latest]
16
+ python-version: ["3.10", "3.11", "3.12"]
17
+
18
+ steps:
19
+ - name: Checkout repository
20
+ uses: actions/checkout@v4
21
+ with:
22
+ # setuptools_scm requires a non-shallow clone of the repository
23
+ fetch-depth: 0
24
+
25
+ - name: Set up Python ${{ matrix.python-version }}
26
+ uses: actions/setup-python@v5
27
+ with:
28
+ python-version: ${{ matrix.python-version }}
29
+
30
+ - name: Install Python package
31
+ run: |
32
+ python -m pip install .[tests]
33
+
34
+ - name: Run Python tests
35
+ run: |
36
+ python -m pytest --cov --cov-report=xml
37
+
38
+ - name: Upload coverage to Codecov
39
+ uses: codecov/codecov-action@v5
40
+ with:
41
+ token: ${{ secrets.CODECOV_TOKEN }}
42
+ fail_ci_if_error: true
43
+ files: ./coverage.xml
@@ -0,0 +1,33 @@
1
+ name: TestPyPi Publisher
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ jobs:
7
+ pypi-publisher:
8
+ runs-on: ubuntu-latest
9
+ environment:
10
+ name: testpypi
11
+ url: https://test.pypi.org/p/pypsbuilder
12
+
13
+ permissions:
14
+ id-token: write # IMPORTANT: mandatory for trusted publishing
15
+
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+ with:
19
+ persist-credentials: false
20
+ - name: Set up Python
21
+ uses: actions/setup-python@v5
22
+ with:
23
+ python-version: "3.x"
24
+ - name: Install dependencies
25
+ run: |
26
+ python -m pip install --upgrade pip
27
+ pip install build
28
+ - name: Build package
29
+ run: python -m build
30
+ - name: Publish distribution 📦 to TestPyPI
31
+ uses: pypa/gh-action-pypi-publish@release/v1
32
+ with:
33
+ repository-url: https://test.pypi.org/legacy/
@@ -0,0 +1,66 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ env/
12
+ build/
13
+ develop-eggs/
14
+ dist/
15
+ downloads/
16
+ eggs/
17
+ .eggs/
18
+ lib/
19
+ lib64/
20
+ parts/
21
+ sdist/
22
+ var/
23
+ *.egg-info/
24
+ .installed.cfg
25
+ *.egg
26
+
27
+ # PyInstaller
28
+ # Usually these files are written by a python script from a template
29
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
30
+ *.manifest
31
+ *.spec
32
+
33
+ # Installer logs
34
+ pip-log.txt
35
+ pip-delete-this-directory.txt
36
+
37
+ # Unit test / coverage reports
38
+ htmlcov/
39
+ .tox/
40
+ .coverage
41
+ .coverage.*
42
+ .cache
43
+ nosetests.xml
44
+ coverage.xml
45
+ *,cover
46
+ .hypothesis/
47
+
48
+ # Translations
49
+ *.mo
50
+ *.pot
51
+
52
+ # Django stuff:
53
+ *.log
54
+
55
+ # Jupyter
56
+ .ipynb_checkpoints
57
+ */.ipynb_checkpoints/*
58
+
59
+ # Sphinx documentation
60
+ docs/_build/
61
+
62
+ # PyBuilder
63
+ target/
64
+
65
+ # venv
66
+ .venv/
@@ -0,0 +1,28 @@
1
+ default_stages: [commit, push]
2
+ repos:
3
+ - repo: https://github.com/psf/black
4
+ rev: 24.8.0
5
+ hooks:
6
+ - id: black
7
+ args: [--line-length=88]
8
+ exclude: ^(venv/|docs/)
9
+ types: ['python']
10
+ - repo: https://github.com/PyCQA/flake8
11
+ rev: 7.1.1
12
+ hooks:
13
+ - id: flake8
14
+ args:
15
+ - --max-line-length=88
16
+ - --ignore=F401,E501,W503,E731,E743,E741,E203
17
+ exclude: ^(venv/|docs/)
18
+ types: ['python']
19
+ - repo: local
20
+ hooks:
21
+ - id: pytest
22
+ name: pytest
23
+ entry: ./.venv/bin/pytest
24
+ language: system
25
+ types: [python]
26
+ pass_filenames: false
27
+ always_run: true
28
+
@@ -0,0 +1,24 @@
1
+ #.readthedocs.yaml
2
+ # Read the Docs configuration file
3
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4
+
5
+ # Required
6
+ version: 2
7
+
8
+ # Build documentation in the docs/ directory with Sphinx
9
+ sphinx:
10
+ configuration: docs/conf.py
11
+
12
+ # Optionally build your docs in additional formats such as PDF and ePub
13
+ formats: all
14
+
15
+ build:
16
+ os: ubuntu-22.04
17
+ tools:
18
+ python: "3.11"
19
+
20
+ # Optionally set the version of Python and requirements required to build your docs
21
+ python:
22
+ install:
23
+ - method: pip
24
+ path: .[docs]
@@ -1,8 +1,11 @@
1
1
  # Changelog
2
2
  All notable pypsbuilder changes.
3
3
 
4
- ## [2.5.0] - 2024-12-13
5
- Fully refactored tp pyproject.toml
4
+ ## [2.6.0] - 2025-01-23
5
+ Initial PyQt6 release
6
+
7
+ ## [2.5.3] - 2024-12-18
8
+ Latest version using PyQt5
6
9
 
7
10
  ## [2.5.0] - 2024-12-13
8
11
  ### Fixed
@@ -0,0 +1,159 @@
1
+ Metadata-Version: 2.4
2
+ Name: pypsbuilder
3
+ Version: 2.6.0
4
+ Summary: THERMOCALC front-end for constructing and analyzing PT pseudosections
5
+ Project-URL: Homepage, https://github.com/ondrolexa/pypsbuilder
6
+ Project-URL: Documentation, https://pypsbuilder.readthedocs.io
7
+ Project-URL: Repository, https://github.com/ondrolexa/pypsbuilder.git
8
+ Project-URL: Issues, https://github.com/ondrolexa/pypsbuilder/issues
9
+ Project-URL: Changelog, https://github.com/ondrolexa/pypsbuilder/blob/master/CHANGELOG.md
10
+ Author-email: Ondrej Lexa <lexa.ondrej@gmail.com>
11
+ Maintainer-email: Ondrej Lexa <lexa.ondrej@gmail.com>
12
+ License: MIT License
13
+
14
+ Simplistic THERMOCALC front-end for constructing PT pseudosections.
15
+ Copyright (c) 2015, Ondrej Lexa
16
+
17
+ Permission is hereby granted, free of charge, to any person obtaining a copy
18
+ of this software and associated documentation files (the "Software"), to deal
19
+ in the Software without restriction, including without limitation the rights
20
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
21
+ copies of the Software, and to permit persons to whom the Software is
22
+ furnished to do so, subject to the following conditions:
23
+
24
+ The above copyright notice and this permission notice shall be included in all
25
+ copies or substantial portions of the Software.
26
+
27
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
28
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
29
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
30
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
31
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
32
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
33
+ SOFTWARE.
34
+ License-File: AUTHORS.md
35
+ License-File: LICENSE
36
+ Keywords: THERMOCALC,petrology
37
+ Classifier: Development Status :: 4 - Beta
38
+ Classifier: Intended Audience :: Science/Research
39
+ Classifier: Programming Language :: Python :: 3
40
+ Classifier: Programming Language :: Python :: 3 :: Only
41
+ Classifier: Programming Language :: Python :: 3.10
42
+ Classifier: Topic :: Scientific/Engineering
43
+ Classifier: Topic :: Utilities
44
+ Requires-Python: >=3.10
45
+ Requires-Dist: matplotlib>=3.8
46
+ Requires-Dist: networkx
47
+ Requires-Dist: numpy
48
+ Requires-Dist: pyqt6
49
+ Requires-Dist: scikit-image
50
+ Requires-Dist: scipy
51
+ Requires-Dist: shapely>=2
52
+ Requires-Dist: tqdm
53
+ Provides-Extra: dev
54
+ Requires-Dist: black; extra == 'dev'
55
+ Requires-Dist: jupyterlab; extra == 'dev'
56
+ Requires-Dist: pytest; extra == 'dev'
57
+ Requires-Dist: pytest-cov; extra == 'dev'
58
+ Requires-Dist: sphinx; extra == 'dev'
59
+ Requires-Dist: sphinx-mdinclude; extra == 'dev'
60
+ Requires-Dist: sphinx-rtd-theme; extra == 'dev'
61
+ Provides-Extra: docs
62
+ Requires-Dist: sphinx; extra == 'docs'
63
+ Requires-Dist: sphinx-mdinclude; extra == 'docs'
64
+ Requires-Dist: sphinx-rtd-theme; extra == 'docs'
65
+ Provides-Extra: extra
66
+ Requires-Dist: jupyterlab; extra == 'extra'
67
+ Provides-Extra: tests
68
+ Requires-Dist: pytest; extra == 'tests'
69
+ Requires-Dist: pytest-cov; extra == 'tests'
70
+ Description-Content-Type: text/markdown
71
+
72
+ # pypsbuilder
73
+
74
+ [![PyPI - Version](https://img.shields.io/pypi/v/pypsbuilder)](https://pypi.org/project/pypsbuilder/)
75
+ [![Testing](https://github.com/ondrolexa/pypsbuilder/actions/workflows/testing.yml/badge.svg?event=push)](https://github.com/ondrolexa/pypsbuilder)
76
+ [![Documentation Status](https://readthedocs.org/projects/polylx/badge/?version=stable)](https://pypsbuilder.readthedocs.io/en/latest/?badge=latest)
77
+
78
+ Not that simplistic THERMOCALC front-end for constructing and visualizations of P-T, T-X and P-X pseudosections
79
+
80
+ ## How to install
81
+
82
+ It is strongly suggested to install **pypsbuilder** into separate environment. You can create
83
+ Python virtual environment. For Linux and macOS use:
84
+
85
+ python -m venv pyps
86
+ source pyps/bin/activate
87
+
88
+ for Windows use PowerShell:
89
+
90
+ py -m venv pyps
91
+ pyps\Scripts\activate
92
+
93
+ > [!NOTE]
94
+ > On Microsoft Windows, it may be required to enable the activate script by setting the execution policy for the user.
95
+ > You can do this by issuing the following PowerShell command:
96
+ > ```
97
+ > PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
98
+ > ```
99
+
100
+ and install **pypsbuilder** using pip within the environment:
101
+
102
+ pip install pypsbuilder
103
+
104
+ Jupyter Lab could be also installed providing extra option:
105
+
106
+ pip install pypsbuilder[extra]
107
+
108
+ ## I'm using conda or mamba to manage environments
109
+
110
+ If you have already have conda or mamba installed, you can create environment with:
111
+
112
+ conda create -n pyps numpy matplotlib scipy networkx shapely pyqt tqdm jupyterlab
113
+
114
+ or
115
+
116
+ mamba create -n pyps numpy matplotlib scipy networkx shapely pyqt tqdm jupyterlab
117
+
118
+ Then activate the new environment:
119
+
120
+ conda activate pyps
121
+
122
+ or
123
+
124
+ mamba activate pyps
125
+
126
+ and install with pip. Note that PyQt6 is not yet available in conda repositories,
127
+ so we need to use the 2.5.3 version:
128
+
129
+ pip install pypsbuilder==2.5.3
130
+
131
+ #### Note for macOS
132
+
133
+ If you have environment created with conda/mamba install the pypsbuilder with:
134
+
135
+ pip install pypsbuilder==2.5.3 --no-deps
136
+
137
+ #### Install master version
138
+
139
+ You can install latest version from master branch on GitHub:
140
+
141
+ pip install https://github.com/ondrolexa/pypsbuilder/archive/master.zip
142
+
143
+ #### Upgrade existing installation
144
+
145
+ To upgrade an already installed **pypsbuilder** to the latest release:
146
+
147
+ pip install --upgrade pypsbuilder
148
+
149
+ or to latest master version:
150
+
151
+ pip install --upgrade https://github.com/ondrolexa/pypsbuilder/archive/master.zip
152
+
153
+ ## Documentation and tutorials
154
+
155
+ Check documentation and tutorials on RTD [https://pypsbuilder.readthedocs.io/en/latest/](https://pypsbuilder.readthedocs.io/en/latest/)
156
+
157
+ ## License
158
+
159
+ pypsbuilder is free software: you can redistribute it and/or modify it under the terms of the MIT License. A copy of this license is provided in ``LICENSE`` file.
@@ -0,0 +1,88 @@
1
+ # pypsbuilder
2
+
3
+ [![PyPI - Version](https://img.shields.io/pypi/v/pypsbuilder)](https://pypi.org/project/pypsbuilder/)
4
+ [![Testing](https://github.com/ondrolexa/pypsbuilder/actions/workflows/testing.yml/badge.svg?event=push)](https://github.com/ondrolexa/pypsbuilder)
5
+ [![Documentation Status](https://readthedocs.org/projects/polylx/badge/?version=stable)](https://pypsbuilder.readthedocs.io/en/latest/?badge=latest)
6
+
7
+ Not that simplistic THERMOCALC front-end for constructing and visualizations of P-T, T-X and P-X pseudosections
8
+
9
+ ## How to install
10
+
11
+ It is strongly suggested to install **pypsbuilder** into separate environment. You can create
12
+ Python virtual environment. For Linux and macOS use:
13
+
14
+ python -m venv pyps
15
+ source pyps/bin/activate
16
+
17
+ for Windows use PowerShell:
18
+
19
+ py -m venv pyps
20
+ pyps\Scripts\activate
21
+
22
+ > [!NOTE]
23
+ > On Microsoft Windows, it may be required to enable the activate script by setting the execution policy for the user.
24
+ > You can do this by issuing the following PowerShell command:
25
+ > ```
26
+ > PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
27
+ > ```
28
+
29
+ and install **pypsbuilder** using pip within the environment:
30
+
31
+ pip install pypsbuilder
32
+
33
+ Jupyter Lab could be also installed providing extra option:
34
+
35
+ pip install pypsbuilder[extra]
36
+
37
+ ## I'm using conda or mamba to manage environments
38
+
39
+ If you have already have conda or mamba installed, you can create environment with:
40
+
41
+ conda create -n pyps numpy matplotlib scipy networkx shapely pyqt tqdm jupyterlab
42
+
43
+ or
44
+
45
+ mamba create -n pyps numpy matplotlib scipy networkx shapely pyqt tqdm jupyterlab
46
+
47
+ Then activate the new environment:
48
+
49
+ conda activate pyps
50
+
51
+ or
52
+
53
+ mamba activate pyps
54
+
55
+ and install with pip. Note that PyQt6 is not yet available in conda repositories,
56
+ so we need to use the 2.5.3 version:
57
+
58
+ pip install pypsbuilder==2.5.3
59
+
60
+ #### Note for macOS
61
+
62
+ If you have environment created with conda/mamba install the pypsbuilder with:
63
+
64
+ pip install pypsbuilder==2.5.3 --no-deps
65
+
66
+ #### Install master version
67
+
68
+ You can install latest version from master branch on GitHub:
69
+
70
+ pip install https://github.com/ondrolexa/pypsbuilder/archive/master.zip
71
+
72
+ #### Upgrade existing installation
73
+
74
+ To upgrade an already installed **pypsbuilder** to the latest release:
75
+
76
+ pip install --upgrade pypsbuilder
77
+
78
+ or to latest master version:
79
+
80
+ pip install --upgrade https://github.com/ondrolexa/pypsbuilder/archive/master.zip
81
+
82
+ ## Documentation and tutorials
83
+
84
+ Check documentation and tutorials on RTD [https://pypsbuilder.readthedocs.io/en/latest/](https://pypsbuilder.readthedocs.io/en/latest/)
85
+
86
+ ## License
87
+
88
+ pypsbuilder is free software: you can redistribute it and/or modify it under the terms of the MIT License. A copy of this license is provided in ``LICENSE`` file.
@@ -0,0 +1,10 @@
1
+ codecov:
2
+ require_ci_to_pass: yes
3
+
4
+ coverage:
5
+ precision: 2
6
+ round: down
7
+ range: "70...100"
8
+
9
+ ignore:
10
+ - "**/tests"
@@ -0,0 +1,13 @@
1
+ /* override table width restrictions */
2
+ @media screen and (min-width: 767px) {
3
+
4
+ .wy-table-responsive table td {
5
+ /* !important prevents the common CSS stylesheets from overriding
6
+ this as on RTD they are loaded after this stylesheet */
7
+ white-space: normal !important;
8
+ }
9
+
10
+ .wy-table-responsive {
11
+ overflow: visible !important;
12
+ }
13
+ }
@@ -0,0 +1,31 @@
1
+ pypsbuilder.psclasses.Dogmin
2
+ ============================
3
+
4
+ .. currentmodule:: pypsbuilder.psclasses
5
+
6
+ .. autoclass:: Dogmin
7
+
8
+
9
+ .. automethod:: __init__
10
+
11
+
12
+ .. rubric:: Methods
13
+
14
+ .. autosummary::
15
+
16
+ ~Dogmin.__init__
17
+ ~Dogmin.annotation
18
+ ~Dogmin.label
19
+ ~Dogmin.ptguess
20
+
21
+
22
+
23
+
24
+
25
+ .. rubric:: Attributes
26
+
27
+ .. autosummary::
28
+
29
+ ~Dogmin.out
30
+
31
+
@@ -0,0 +1,34 @@
1
+ pypsbuilder.psclasses.InvPoint
2
+ ==============================
3
+
4
+ .. currentmodule:: pypsbuilder.psclasses
5
+
6
+ .. autoclass:: InvPoint
7
+
8
+
9
+ .. automethod:: __init__
10
+
11
+
12
+ .. rubric:: Methods
13
+
14
+ .. autosummary::
15
+
16
+ ~InvPoint.__init__
17
+ ~InvPoint.all_unilines
18
+ ~InvPoint.annotation
19
+ ~InvPoint.datakeys
20
+ ~InvPoint.label
21
+ ~InvPoint.ptguess
22
+ ~InvPoint.shape
23
+
24
+
25
+
26
+
27
+
28
+ .. rubric:: Attributes
29
+
30
+ .. autosummary::
31
+
32
+ ~InvPoint.midix
33
+
34
+
@@ -0,0 +1,41 @@
1
+ pypsbuilder.psclasses.PTsection
2
+ ===============================
3
+
4
+ .. currentmodule:: pypsbuilder.psclasses
5
+
6
+ .. autoclass:: PTsection
7
+
8
+
9
+ .. automethod:: __init__
10
+
11
+
12
+ .. rubric:: Methods
13
+
14
+ .. autosummary::
15
+
16
+ ~PTsection.__init__
17
+ ~PTsection.add_dogmin
18
+ ~PTsection.add_inv
19
+ ~PTsection.add_uni
20
+ ~PTsection.cleanup_data
21
+ ~PTsection.create_shapes
22
+ ~PTsection.from_file
23
+ ~PTsection.getidinv
24
+ ~PTsection.getiduni
25
+ ~PTsection.read_file
26
+ ~PTsection.show
27
+ ~PTsection.trim_uni
28
+
29
+
30
+
31
+
32
+
33
+ .. rubric:: Attributes
34
+
35
+ .. autosummary::
36
+
37
+ ~PTsection.range_shapes
38
+ ~PTsection.ratio
39
+ ~PTsection.type
40
+
41
+
@@ -0,0 +1,41 @@
1
+ pypsbuilder.psclasses.PXsection
2
+ ===============================
3
+
4
+ .. currentmodule:: pypsbuilder.psclasses
5
+
6
+ .. autoclass:: PXsection
7
+
8
+
9
+ .. automethod:: __init__
10
+
11
+
12
+ .. rubric:: Methods
13
+
14
+ .. autosummary::
15
+
16
+ ~PXsection.__init__
17
+ ~PXsection.add_dogmin
18
+ ~PXsection.add_inv
19
+ ~PXsection.add_uni
20
+ ~PXsection.cleanup_data
21
+ ~PXsection.create_shapes
22
+ ~PXsection.from_file
23
+ ~PXsection.getidinv
24
+ ~PXsection.getiduni
25
+ ~PXsection.read_file
26
+ ~PXsection.show
27
+ ~PXsection.trim_uni
28
+
29
+
30
+
31
+
32
+
33
+ .. rubric:: Attributes
34
+
35
+ .. autosummary::
36
+
37
+ ~PXsection.range_shapes
38
+ ~PXsection.ratio
39
+ ~PXsection.type
40
+
41
+