Skip to main content

Conan recipe user interface

Project description

cruiz

Conan recipe user interface

Written by Mark Final.

main action workflow

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:

  1. 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)
  2. Ensure latest pip and wheel are being used. python -m pip install -U pip wheel

  3. Install cruiz and its dependencies

    • From your local clone:
      • pip install -r requirements.txt
      • pip install --no-build-isolation -e .
  4. Run from any directory

    • From your Python environment shell, cruiz or python -m cruiz

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:

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.

Project details


Download files

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

Source Distribution

cruiz-1.4.1.tar.gz (312.0 kB view details)

Uploaded Source

Built Distribution

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

cruiz-1.4.1-py3-none-any.whl (472.9 kB view details)

Uploaded Python 3

File details

Details for the file cruiz-1.4.1.tar.gz.

File metadata

  • Download URL: cruiz-1.4.1.tar.gz
  • Upload date:
  • Size: 312.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cruiz-1.4.1.tar.gz
Algorithm Hash digest
SHA256 b1f30d2d379e79e5fec9315622798208dcc2a01a696c06cafe82063f9f7cb4a6
MD5 89b4416e8f9f47ad4f9094073d0a4fb7
BLAKE2b-256 55b1e53043027dadc1a22139e69f5ef87f4a817b4a2a12966bf1882895979600

See more details on using hashes here.

File details

Details for the file cruiz-1.4.1-py3-none-any.whl.

File metadata

  • Download URL: cruiz-1.4.1-py3-none-any.whl
  • Upload date:
  • Size: 472.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cruiz-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0d6a710d40a9023071a2f9f087d93551c185e15337fee95d5b1016e323ca383b
MD5 350828f2473f545c52b813173f3a28a3
BLAKE2b-256 07ad3b51a785d3ce5096995428e7d34c823178c424427c7afa3b141a7a5bbb2a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page