cruiz
Conan recipe user interface
Written by Mark Final.
Documentation
See the documentation at Read The Docs.
Prerequisites
- Intel x86_64 platforms:
- Windows 10+
- Linux (CentOS 7.5+/Ubuntu 18+)
- macOS (11.0+)
- ARM platforms:
- macOS (11.0+), Apple silicon
- additional details found here
- Python 3.9-3.13
- Conan 1.x (from 1.17.1 onwards) and 2.x (from 2.0.14 onwards)
All other Python dependencies are installed when the package is installed.
In order to use the dependency graph visualisation, an additional installation of GraphViz is required from https://graphviz.org/download/. Assign the installed location to the preferences.
Conan versions
Cruiz does not depend directly on the Conan package in its UI. Instead, it uses child processes to run Conan APIs, which are dependent on the Conan version installed.
Cruiz does not support multiple Conan versions simultaneously in the same process. Instead, the UI dynamically changes by detecting the Conan version installed at startup. You will therefore see a slightly different UI depending on which Conan you have. Note the Conan version detected is shown on the status bar in the bottom right corner of the UI.
Getting started
If you have cloned this repository, you will need:
-
A Python 3 environment. Make a virtual env if necessary.
python3 -m venv <folder to be the env>- Activate the virtual env with either:
source <folder to be the env>/bin/activate(Linux/macOSX)<folder to be the env>\Scripts\activate.bat(Windows cmd)source <folder to be the env>\Scripts\activate(Windows bash)
- Activate the virtual env with either:
-
Ensure latest pip and wheel are being used.
python -m pip install -U pip wheel -
Install cruiz and its dependencies
- From your local clone:
pip install -r requirements.txtpip install --no-build-isolation -e .
- From your local clone:
-
Run from any directory
- From your Python environment shell,
cruizorpython -m cruiz
- From your Python environment shell,
Step 3 will need to be re-run when the Python dependencies, or the resource files used, change.
Linting
Install linting dependencies with pip install -r requirements_dev.txt.
cruiz uses tox to automate linting. Use tox -e lint.
flake8 is used for lint checks, specifically using black as the formatter.
mypy is used for static type checking and validating type annotations.
Python 3.10+ is highly recommended to run the linting steps.
VisualStudio Code
If using VSCode, a settings file for this Git repository is provided. To enable linting and formatting in the IDE though, you need to install the following extensions:
- https://marketplace.visualstudio.com/items?itemName=ms-python.black-formatter
- https://marketplace.visualstudio.com/items?itemName=ms-python.flake8
- https://marketplace.visualstudio.com/items?itemName=ms-python.mypy-type-checker
Making Python packages
python setup.py sdist for a source distribution. Note that pip installing from a source distribution, or from an archive of the source tree, is not currently supported.
pip wheel --no-deps . for a wheel.
ARM platforms
Below are details of running cruiz on ARM platforms.
macOS
No known restrictions are on this platform.
Windows
Windows ARM is currently not supported, as there are missing PyPi package wheels, e.g. for PySide 6.
Ubuntu
cruiz is runnable on Ubuntu 24.04 ARM, after the following steps are executed to satisfy using features of PySide 6:
- Run
sudo apt install libdouble-conversion3 - Run
sudo apt install libminizip1t64 - Run
cd /usr/lib/aarch64-linux-gnu && sudo ln -s libwebp.so.7 libwebp.so.6 - Run
cd /usr/lib/aarch64-linux-gnu && sudo ln -s libtiff.so.6 libtiff.so.5
Acknowledgements
Many thanks to Foundry and its developers for support, inspiration, and testing in making cruiz.
Metadata
Release files for cruiz 1.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cruiz-1.4.1.tar.gz | 312.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cruiz-1.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 784.9 kB
Release files / cruiz-1.4.1.tar.gz
| Download URL | cruiz-1.4.1.tar.gz |
|---|---|
| Size | 312.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b1f30d2d379e79e5fec9315622798208dcc2a01a696c06cafe82063f9f7cb4a6
|
|
BLAKE2b-256 checksum How to use checksums |
55b1e53043027dadc1a22139e69f5ef87f4a817b4a2a12966bf1882895979600
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Release files / cruiz-1.4.1-py3-none-any.whl
| Download URL | cruiz-1.4.1-py3-none-any.whl |
|---|---|
| Size | 472.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0d6a710d40a9023071a2f9f087d93551c185e15337fee95d5b1016e323ca383b
|
|
BLAKE2b-256 checksum How to use checksums |
07ad3b51a785d3ce5096995428e7d34c823178c424427c7afa3b141a7a5bbb2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|