pypsbuilder 2.5.2__tar.gz → 2.6.1__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.
- pypsbuilder-2.6.1/.github/dependabot.yml +6 -0
- pypsbuilder-2.6.1/.github/workflows/release.yml +32 -0
- pypsbuilder-2.6.1/.github/workflows/testing.yml +43 -0
- pypsbuilder-2.6.1/.github/workflows/testrelease.yml +33 -0
- pypsbuilder-2.6.1/.gitignore +66 -0
- pypsbuilder-2.6.1/.pre-commit-config.yaml +28 -0
- pypsbuilder-2.6.1/.readthedocs.yaml +24 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/CHANGELOG.md +10 -2
- pypsbuilder-2.6.1/PKG-INFO +158 -0
- pypsbuilder-2.6.1/README.md +82 -0
- pypsbuilder-2.6.1/codecov.yml +10 -0
- pypsbuilder-2.6.1/docs/_static/theme_overrides.css +13 -0
- pypsbuilder-2.6.1/docs/api/pypsbuilder.psclasses.Dogmin.rst +31 -0
- pypsbuilder-2.6.1/docs/api/pypsbuilder.psclasses.InvPoint.rst +34 -0
- pypsbuilder-2.6.1/docs/api/pypsbuilder.psclasses.PTsection.rst +41 -0
- pypsbuilder-2.6.1/docs/api/pypsbuilder.psclasses.PXsection.rst +41 -0
- pypsbuilder-2.6.1/docs/api/pypsbuilder.psclasses.TCResult.rst +30 -0
- pypsbuilder-2.6.1/docs/api/pypsbuilder.psclasses.TCResultSet.rst +35 -0
- pypsbuilder-2.6.1/docs/api/pypsbuilder.psclasses.TXsection.rst +41 -0
- pypsbuilder-2.6.1/docs/api/pypsbuilder.psclasses.UniLine.rst +36 -0
- pypsbuilder-2.6.1/docs/api/pypsbuilder.psexplorer.PTPS.rst +80 -0
- pypsbuilder-2.6.1/docs/api/pypsbuilder.psexplorer.PXPS.rst +77 -0
- pypsbuilder-2.6.1/docs/api/pypsbuilder.psexplorer.TXPS.rst +77 -0
- pypsbuilder-2.6.1/docs/api/pypsbuilder.tcapi.TC34API.rst +58 -0
- pypsbuilder-2.6.1/docs/api/pypsbuilder.tcapi.TC35API.rst +57 -0
- pypsbuilder-2.6.1/docs/api.rst +104 -0
- pypsbuilder-2.6.1/docs/authors.rst +12 -0
- pypsbuilder-2.6.1/docs/command-line.rst +168 -0
- pypsbuilder-2.6.1/docs/conf.py +172 -0
- pypsbuilder-2.6.1/docs/images/create_environment.png +0 -0
- pypsbuilder-2.6.1/docs/images/crossing.png +0 -0
- pypsbuilder-2.6.1/docs/images/delta.png +0 -0
- pypsbuilder-2.6.1/docs/images/install_locally.png +0 -0
- pypsbuilder-2.6.1/docs/images/invsearch.png +0 -0
- pypsbuilder-2.6.1/docs/images/isopleths_1.png +0 -0
- pypsbuilder-2.6.1/docs/images/isopleths_2.png +0 -0
- pypsbuilder-2.6.1/docs/images/modes.png +0 -0
- pypsbuilder-2.6.1/docs/images/psbuilder_areas.png +0 -0
- pypsbuilder-2.6.1/docs/images/psbuilder_dogmin.png +0 -0
- pypsbuilder-2.6.1/docs/images/psbuilder_finished.png +0 -0
- pypsbuilder-2.6.1/docs/images/psbuilder_highlight.png +0 -0
- pypsbuilder-2.6.1/docs/images/psbuilder_init.png +0 -0
- pypsbuilder-2.6.1/docs/images/psbuilder_inv.png +0 -0
- pypsbuilder-2.6.1/docs/images/psbuilder_modes.png +0 -0
- pypsbuilder-2.6.1/docs/images/psbuilder_uni.png +0 -0
- pypsbuilder-2.6.1/docs/images/psiso_alm.png +0 -0
- pypsbuilder-2.6.1/docs/images/psiso_labelkey.png +0 -0
- pypsbuilder-2.6.1/docs/images/psiso_mode.png +0 -0
- pypsbuilder-2.6.1/docs/images/psiso_other.png +0 -0
- pypsbuilder-2.6.1/docs/images/psshow_out.png +0 -0
- pypsbuilder-2.6.1/docs/images/ptpath.png +0 -0
- pypsbuilder-2.6.1/docs/images/show_data.png +0 -0
- pypsbuilder-2.6.1/docs/images/show_grid.png +0 -0
- pypsbuilder-2.6.1/docs/images/show_label.png +0 -0
- pypsbuilder-2.6.1/docs/images/show_out.png +0 -0
- pypsbuilder-2.6.1/docs/images/show_plain.png +0 -0
- pypsbuilder-2.6.1/docs/images/status.png +0 -0
- pypsbuilder-2.6.1/docs/index.rst +47 -0
- pypsbuilder-2.6.1/docs/psbuilders-tutorial.rst +238 -0
- pypsbuilder-2.6.1/docs/psexplorer-tutorial.rst +250 -0
- pypsbuilder-2.6.1/docs/readme.rst +1 -0
- pypsbuilder-2.6.1/environment.yml +15 -0
- pypsbuilder-2.6.1/examples/avgpelite/tc-avgpelite.txt +211 -0
- pypsbuilder-2.6.1/examples/avgpelite/tc-ds62.txt +2494 -0
- pypsbuilder-2.6.1/examples/avgpelite/tc-mp50MnNCKFMASHTO.txt +2072 -0
- pypsbuilder-2.6.1/examples/avgpelite/tc-prefs.txt +9 -0
- pypsbuilder-2.6.1/examples/avgpelite_34/tc-6axmn.txt +2559 -0
- pypsbuilder-2.6.1/examples/avgpelite_34/tc-avgpelite.txt +1138 -0
- pypsbuilder-2.6.1/examples/avgpelite_34/tc-ds62.txt +2494 -0
- pypsbuilder-2.6.1/examples/avgpelite_34/tc-prefs.txt +13 -0
- pypsbuilder-2.6.1/examples/outputs/inv1-ic.txt +111 -0
- pypsbuilder-2.6.1/examples/outputs/inv1-log.txt +104 -0
- pypsbuilder-2.6.1/examples/outputs/inv2-ic.txt +114 -0
- pypsbuilder-2.6.1/examples/outputs/inv2-log.txt +104 -0
- pypsbuilder-2.6.1/examples/outputs/inv3-ic.txt +99 -0
- pypsbuilder-2.6.1/examples/outputs/inv3-log.txt +94 -0
- pypsbuilder-2.6.1/examples/outputs/uni1-ic.txt +3663 -0
- pypsbuilder-2.6.1/examples/outputs/uni1-log.txt +1706 -0
- pypsbuilder-2.6.1/examples/outputs/uni2-ic.txt +4896 -0
- pypsbuilder-2.6.1/examples/outputs/uni2-log.txt +2096 -0
- pypsbuilder-2.6.1/examples/outputs/uni3-ic.txt +3069 -0
- pypsbuilder-2.6.1/examples/outputs/uni3-log.txt +1297 -0
- pypsbuilder-2.6.1/notebooks/pypsbuilder.ipynb +566 -0
- pypsbuilder-2.6.1/pyproject.toml +66 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/__init__.py +2 -3
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/psbuilders.py +1130 -442
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/psclasses.py +125 -37
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/psexplorer.py +434 -139
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/tcapi.py +235 -66
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/tcinit.py +15 -11
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/tests/test_pclasses.py +15 -13
- pypsbuilder-2.6.1/pypsbuilder/ui/compile_ui.sh +10 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/ui_addinv.py +15 -17
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/ui_adduni.py +15 -17
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/ui_ptbuilder.py +184 -193
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/ui_pxbuilder.py +180 -189
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/ui_txbuilder.py +180 -189
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/ui_uniguess.py +11 -13
- pypsbuilder-2.5.2/PKG-INFO +0 -94
- pypsbuilder-2.5.2/README.md +0 -61
- pypsbuilder-2.5.2/pyproject.toml +0 -67
- pypsbuilder-2.5.2/pypsbuilder/tests/__init__.py +0 -0
- pypsbuilder-2.5.2/pypsbuilder/ui/compile_ui.sh +0 -9
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/AUTHORS.md +0 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/CONTRIBUTING.md +0 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/LICENSE +0 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/images/ptbuilder.png +0 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/images/pxbuilder.png +0 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/images/pypsbuilder.png +0 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/images/txbuilder.png +0 -0
- {pypsbuilder-2.5.2/pypsbuilder/images → pypsbuilder-2.6.1/pypsbuilder/tests}/__init__.py +0 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/ui/addinv.ui +0 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/ui/adduni.ui +0 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/ui/ptbuilder.ui +0 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/ui/pxbuilder.ui +0 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/ui/txbuilder.ui +0 -0
- {pypsbuilder-2.5.2 → pypsbuilder-2.6.1}/pypsbuilder/ui/uniguess.ui +0 -0
|
@@ -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,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
All notable pypsbuilder changes.
|
|
3
3
|
|
|
4
|
-
## [2.
|
|
5
|
-
|
|
4
|
+
## [2.6.1] - master
|
|
5
|
+
### Added
|
|
6
|
+
- Both PyQt5 and PyQt6 are supported and need to be specified as
|
|
7
|
+
extra option during installation
|
|
8
|
+
|
|
9
|
+
## [2.6.0] - 2025-01-23
|
|
10
|
+
Initial PyQt6 release
|
|
11
|
+
|
|
12
|
+
## [2.5.3] - 2024-12-18
|
|
13
|
+
Latest version using PyQt5 only
|
|
6
14
|
|
|
7
15
|
## [2.5.0] - 2024-12-13
|
|
8
16
|
### Fixed
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pypsbuilder
|
|
3
|
+
Version: 2.6.1
|
|
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: qtpy
|
|
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: pyqt6; extra == 'dev'
|
|
57
|
+
Requires-Dist: pytest; extra == 'dev'
|
|
58
|
+
Requires-Dist: pytest-cov; extra == 'dev'
|
|
59
|
+
Requires-Dist: sphinx; extra == 'dev'
|
|
60
|
+
Requires-Dist: sphinx-mdinclude; extra == 'dev'
|
|
61
|
+
Requires-Dist: sphinx-rtd-theme; extra == 'dev'
|
|
62
|
+
Provides-Extra: docs
|
|
63
|
+
Requires-Dist: sphinx; extra == 'docs'
|
|
64
|
+
Requires-Dist: sphinx-mdinclude; extra == 'docs'
|
|
65
|
+
Requires-Dist: sphinx-rtd-theme; extra == 'docs'
|
|
66
|
+
Provides-Extra: jupyter
|
|
67
|
+
Requires-Dist: jupyterlab; extra == 'jupyter'
|
|
68
|
+
Provides-Extra: pyqt5
|
|
69
|
+
Requires-Dist: pyqt5; extra == 'pyqt5'
|
|
70
|
+
Provides-Extra: pyqt6
|
|
71
|
+
Requires-Dist: pyqt6; extra == 'pyqt6'
|
|
72
|
+
Provides-Extra: tests
|
|
73
|
+
Requires-Dist: pytest; extra == 'tests'
|
|
74
|
+
Requires-Dist: pytest-cov; extra == 'tests'
|
|
75
|
+
Description-Content-Type: text/markdown
|
|
76
|
+
|
|
77
|
+
# pypsbuilder
|
|
78
|
+
|
|
79
|
+
[](https://pypi.org/project/pypsbuilder/)
|
|
80
|
+
[](https://github.com/ondrolexa/pypsbuilder)
|
|
81
|
+
[](https://pypsbuilder.readthedocs.io/en/latest/?badge=latest)
|
|
82
|
+
|
|
83
|
+
Not that simplistic THERMOCALC front-end for constructing and visualizations of P-T, T-X and P-X pseudosections
|
|
84
|
+
|
|
85
|
+
## How to install
|
|
86
|
+
|
|
87
|
+
It is strongly suggested to install **pypsbuilder** into separate environment. You can create
|
|
88
|
+
Python virtual environment. For Linux and macOS use:
|
|
89
|
+
|
|
90
|
+
python -m venv pyps
|
|
91
|
+
source pyps/bin/activate
|
|
92
|
+
|
|
93
|
+
for Windows use PowerShell:
|
|
94
|
+
|
|
95
|
+
py -m venv pyps
|
|
96
|
+
pyps\Scripts\activate
|
|
97
|
+
|
|
98
|
+
> [!NOTE]
|
|
99
|
+
> On Microsoft Windows, it may be required to enable the activate script by setting the execution policy for the user.
|
|
100
|
+
> You can do this by issuing the following PowerShell command:
|
|
101
|
+
> ```
|
|
102
|
+
> PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
|
103
|
+
> ```
|
|
104
|
+
|
|
105
|
+
and install **pypsbuilder** using pip within the environment:
|
|
106
|
+
|
|
107
|
+
pip install pypsbuilder[pyqt6]
|
|
108
|
+
|
|
109
|
+
Providing jupyter option, JupyterLab will be also installed:
|
|
110
|
+
|
|
111
|
+
pip install pypsbuilder[pyqt6,jupyter]
|
|
112
|
+
|
|
113
|
+
## I'm using conda or mamba to manage environments
|
|
114
|
+
|
|
115
|
+
If you have already have conda or mamba installed, you can create environment with:
|
|
116
|
+
|
|
117
|
+
conda create -n pyps numpy matplotlib scipy networkx shapely pyqt tqdm jupyterlab
|
|
118
|
+
|
|
119
|
+
or
|
|
120
|
+
|
|
121
|
+
mamba create -n pyps numpy matplotlib scipy networkx shapely pyqt tqdm jupyterlab
|
|
122
|
+
|
|
123
|
+
Then activate the new environment:
|
|
124
|
+
|
|
125
|
+
conda activate pyps
|
|
126
|
+
|
|
127
|
+
or
|
|
128
|
+
|
|
129
|
+
mamba activate pyps
|
|
130
|
+
|
|
131
|
+
and install with pip. Note that PyQt6 is not yet available in conda repositories,
|
|
132
|
+
so we need to use the pyqt5 version:
|
|
133
|
+
|
|
134
|
+
pip install pypsbuilder[pyqt5]
|
|
135
|
+
|
|
136
|
+
> [!NOTE]
|
|
137
|
+
> If you encounter errors during install, try to install without upgrading dependencies:
|
|
138
|
+
> ```
|
|
139
|
+
> pip install --no-deps pypsbuilder[pyqt5]
|
|
140
|
+
> ```
|
|
141
|
+
|
|
142
|
+
#### Upgrade existing installation
|
|
143
|
+
|
|
144
|
+
To upgrade an already installed **pypsbuilder** to the latest release:
|
|
145
|
+
|
|
146
|
+
pip install --upgrade pypsbuilder
|
|
147
|
+
|
|
148
|
+
or to the latest master version:
|
|
149
|
+
|
|
150
|
+
pip install --upgrade https://github.com/ondrolexa/pypsbuilder/archive/master.zip
|
|
151
|
+
|
|
152
|
+
## Documentation and tutorials
|
|
153
|
+
|
|
154
|
+
Check documentation and tutorials on RTD [https://pypsbuilder.readthedocs.io/en/latest/](https://pypsbuilder.readthedocs.io/en/latest/)
|
|
155
|
+
|
|
156
|
+
## License
|
|
157
|
+
|
|
158
|
+
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,82 @@
|
|
|
1
|
+
# pypsbuilder
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/pypsbuilder/)
|
|
4
|
+
[](https://github.com/ondrolexa/pypsbuilder)
|
|
5
|
+
[](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[pyqt6]
|
|
32
|
+
|
|
33
|
+
Providing jupyter option, JupyterLab will be also installed:
|
|
34
|
+
|
|
35
|
+
pip install pypsbuilder[pyqt6,jupyter]
|
|
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 pyqt5 version:
|
|
57
|
+
|
|
58
|
+
pip install pypsbuilder[pyqt5]
|
|
59
|
+
|
|
60
|
+
> [!NOTE]
|
|
61
|
+
> If you encounter errors during install, try to install without upgrading dependencies:
|
|
62
|
+
> ```
|
|
63
|
+
> pip install --no-deps pypsbuilder[pyqt5]
|
|
64
|
+
> ```
|
|
65
|
+
|
|
66
|
+
#### Upgrade existing installation
|
|
67
|
+
|
|
68
|
+
To upgrade an already installed **pypsbuilder** to the latest release:
|
|
69
|
+
|
|
70
|
+
pip install --upgrade pypsbuilder
|
|
71
|
+
|
|
72
|
+
or to the latest master version:
|
|
73
|
+
|
|
74
|
+
pip install --upgrade https://github.com/ondrolexa/pypsbuilder/archive/master.zip
|
|
75
|
+
|
|
76
|
+
## Documentation and tutorials
|
|
77
|
+
|
|
78
|
+
Check documentation and tutorials on RTD [https://pypsbuilder.readthedocs.io/en/latest/](https://pypsbuilder.readthedocs.io/en/latest/)
|
|
79
|
+
|
|
80
|
+
## License
|
|
81
|
+
|
|
82
|
+
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,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
|
+
|