Skip to main content

pypsbuilder

PyPI - Version Testing Documentation Status

Not that simplistic THERMOCALC front-end for constructing and visualizations of P-T, T-X and P-X pseudosections

How to install

Using uv (recommended)

If you don't already have uv installed, see the installation instructions.

Create an isolated environment and install pypsbuilder into it. You should choose the UI framework using option pyqt5 or pyqt6:

uv venv
uv pip install pypsbuilder[pyqt6]

JupyterLab could also be installed providing the lab option:

uv pip install pypsbuilder[pyqt6,lab]

Using pip and venv

It is strongly suggested to install pypsbuilder into separate environment. You can create Python virtual environment. For Linux and macOS use:

python -m venv .venv
source .venv/bin/activate

for Windows use Command Prompt or PowerShell:

python -m venv .venv
.venv\Scripts\activate

or, if you will got error 'python' is not recognized as an internal or external command, try:

py -m venv .venv
.venv\Scripts\activate

[!NOTE] On Microsoft Windows, it may be required to set the execution policy in PowerShell for the user. You can do this by issuing the following PowerShell command:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

and install pypsbuilder using pip within the environment. You should choose the UI framework using option pyqt5 or pyqt6:

pip install pypsbuilder[pyqt6]

JupyterLab could also be installed providing the lab option:

pip install pypsbuilder[pyqt6,lab]

I'm using conda or mamba to manage environments

If you have already have conda or mamba installed, you can create environment with:

conda create -n pyps python=3.12.8 matplotlib shapely pyqt tqdm scikit-image qtpy jupyterlab

or

mamba create -n pyps python=3.12.8 matplotlib shapely pyqt tqdm scikit-image qtpy jupyterlab

Then activate the new environment:

conda activate pyps

or

mamba activate pyps

and install with pip. As PyQt is already installed with mamba/conda, we will install pypsbuilder without UI framework:

pip install pypsbuilder

[!NOTE] If you encounter errors during install, try to install without upgrading dependencies:

pip install --no-deps pypsbuilder

Upgrade existing installation

To upgrade an already installed pypsbuilder to the latest release:

uv pip install --upgrade pypsbuilder[pyqt6]

Contributing / development install

Clone the repository and install with uv:

uv sync --group dev

This installs pypsbuilder in editable mode with UI, notebook, test and docs extras plus dev tooling (ruff, pre-commit).

Running tests

Run the full test suite (must be run from the repo root, since tests reference ./examples/outputs with a relative path):

uv run pytest
uv run pytest --cov --cov-report=xml

Run a single test:

uv run pytest pypsbuilder/tests/test_pclasses.py::test_parse_ini1

Formatting and linting

pypsbuilder uses ruff for both formatting and linting:

uv run ruff format pypsbuilder
uv run ruff check pypsbuilder

pre-commit hooks

Formatting, linting and the test suite also run automatically via pre-commit:

uv run pre-commit install
uv run pre-commit run --all-files

Building the package

uv build

Rebuilding Qt UI modules

After editing a .ui file in Qt Designer, regenerate the corresponding ui_*.py module (requires pyuic6):

cd pypsbuilder/ui && ./compile_ui.sh

The script rewrites each generated file's PyQt6 imports to qtpy imports, so the app stays usable with either pyqt5 or pyqt6.

Documentation and tutorials

Check documentation and tutorials on RTD https://pypsbuilder.readthedocs.io/en/latest/

License

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypsbuilder-2.6.8.tar.gz (5.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pypsbuilder-2.6.8-py3-none-any.whl (193.4 kB view details)

Uploaded Python 3

File details

Details for the file pypsbuilder-2.6.8.tar.gz.

File metadata

  • Download URL: pypsbuilder-2.6.8.tar.gz
  • Upload date:
  • Size: 5.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pypsbuilder-2.6.8.tar.gz
Algorithm Hash digest
SHA256 90b498c5cd8c48f6a9af25e91aeae74118f973300599ed73b625039b37108155
MD5 6dc270385614fd6daa0a1c7cd3450a49
BLAKE2b-256 55d8cbbb5d8017546ab4cc4b8166bb5ef520b3b77db945eb0552f1a85548bac8

See more details on using hashes here.

File details

Details for the file pypsbuilder-2.6.8-py3-none-any.whl.

File metadata

  • Download URL: pypsbuilder-2.6.8-py3-none-any.whl
  • Upload date:
  • Size: 193.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pypsbuilder-2.6.8-py3-none-any.whl
Algorithm Hash digest
SHA256 1e047fd853a2de3f13d81a58346f8aa7b7a3f38f2c5cf77a3de8fcc0f1de68de
MD5 ffae4bddf3e469c4fd0fba88fdd08a3a
BLAKE2b-256 323e4e2b3b9a1d33578355cbd5d312f0877567a26f3bf2bd5c10b10168428eb2

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.6.8 This release

2 files

2.6.7

2 files

2.6.6

2 files

2.6.5

2 files

2.6.4

2 files

2.6.3

2 files

2.6.2

2 files

2.6.1

2 files

2.6.0

2 files

2.5.3

1 file

2.5.2

2 files

2.5.1

2 files

2.5.0

2 files

2.4.2

2 files

2.4.1

2 files

2.4.0

2 files

2.3.6

2 files

2.3.5

2 files

2.3.4

2 files

2.3.3

2 files

2.3.2

2 files

2.3.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page