Skip to main content

Community developed controller for the Carvera CNC

Project description

Carvera Controller

Community developed version of the Makera Carvera Controller software.

Supported OS

The Controller software works on the following systems:

  • Windows
  • MacOS using Intel CPUs running Ventura (13) or above
  • MacOS using Apple Silicon CPUs running Sonoma (14) or above
  • Linux using x64 CPU running a Linux distribution with Glibc 2.31 or above (eg. Ubuntu 20.04 or higher)
  • Linux using ARM64 CPUs (eg RasPi 3 or above) running a distribution Glibc 2.36 or above (eg. Raspios Bookworm or higher)

Installation

See the assets section of latest release for installation packages for your system.

  • carveracontroller-community-<version>-windows-x64.exe - Standalone Windows binary, without a installer
  • carveracontroller-community-<version>-Intel.dmg - MacOS with Intel CPU
  • carveracontroller-community-<version>-AppleSilicon.dmg - MacOS with Apple CPU (M1 etc)
  • carveracontroller-community-<version>-x86_64.appimage - Linux AppImage for x64 systems
  • carveracontroller-community-<version>-aarch64.appimage - Linux AppImage for ARM64 systems

Alternative Installation: Python Package

It's best to use a one of pre-built packages as they they have frozen versions of tested dependenies, however if you prefer the software can be installed as a Python package. This might allow you to use a unsupported platform (eg raspi 1) provided that the dependencies can be met.

pip install carvera-controller-community

Once installed it can be run via the module

python3 -m carveracontroller

Development Environment Setup

To contribute to this project or set up a local development environment, follow these steps to install dependencies and prepare your environment.

Prerequisites

  • Ensure you have Python installed on your system (preferably version 3.8 or later).
  • Poetry is required for dependency management. Poetry simplifies packaging and simplifies the management of Python dependencies.
  • One of the python dependencies QuickLZ will be compiled by Poetry when installed. Ensure that you have a compiler that Poetry/Pip can use and the Pythong headers. On a debian based Linux system this can be accomplished with sudo apt-get install python3-dev build essential. On Windows installation of (just) the Visual C++ 14.x compiler is required, this can be accomplished with MSBuild tools package.
  • Squashfs-tools is required if building Linux AppImages. On Debian based systems it's provided by the package squashfs-tools. This is only required if packaging for linux.

Installing Poetry

Follow the official installation instructions to install Poetry. The simplest method is via the command line:

curl -sSL https://install.python-poetry.org | python3 -

Once installed, make sure Poetry is in your system's PATH so you can run it from any terminal window. Verify the installation by checking the version:

poetry --version

Setting Up the Development Environment

Once you have Poetry installed, setting up the development environment is straightforward:

  1. Clone the repository:

    git clone https://github.com/Carvera-Community/CarveraController.git
    cd CarveraController
    
  2. Install the project dependencies:

    poetry install
    

    This command will create a virtual environment (if one doesn't already exist) and install all required dependencies as specified in the pyproject.toml file.

  3. Activate the virtual environment (optional, but useful for running scripts directly):

    poetry shell
    

    This step is usually not necessary since poetry run <command> automatically uses the virtual environment, but it can be helpful if you want to run multiple commands without prefixing poetry run.

Running the Project

You can run the Controller software using Poetry's run command without installation. This is handy for iterative development.

poetry run python -m carveracontroller

Local Packaging

The application is packaged using PyInstaller. This tool converts Python applications into a standalone executable, so it can be run on systems without requiring management of a installed Python interpreter or dependent libraries. An build helper script is configured with Poetry and can be run with:

poetry run python scripts/build.py --os os [--no-appimage]

The options for os are windows, macos, or linux. If selecting linux, an appimage is built by default unless --no-appimage is specified.

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

carvera_controller_community-0.2.2.tar.gz (18.1 MB view details)

Uploaded Source

Built Distribution

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

carvera_controller_community-0.2.2-py3-none-any.whl (18.3 MB view details)

Uploaded Python 3

File details

Details for the file carvera_controller_community-0.2.2.tar.gz.

File metadata

File hashes

Hashes for carvera_controller_community-0.2.2.tar.gz
Algorithm Hash digest
SHA256 1eadb71a31ca8c23a98a2ea46730a8a4773aa955bf93086609a09944e9190ec7
MD5 c3bf76d917af8b2df94c1a502d889880
BLAKE2b-256 3e69b42b268b108dacfecb80ceddbf8e92086a9033599cbafe8c9d25361cc6f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for carvera_controller_community-0.2.2.tar.gz:

Publisher: release.yaml on Carvera-Community/Carvera_Controller

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file carvera_controller_community-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for carvera_controller_community-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bf6cd743be17b744044b2816bbebe91488cf3228f67e796a8dc8ebe4018f59ac
MD5 92952e0cf53113489a7615c99377fe54
BLAKE2b-256 0033ff08df2297a81c9bc3babdd1bcea26641494978a8bc49698ade3bc7274b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for carvera_controller_community-0.2.2-py3-none-any.whl:

Publisher: release.yaml on Carvera-Community/Carvera_Controller

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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