Skip to main content

A lightweight, modular Python framework for job queuing, scheduling, and automation around LinuxCNC

Project description

cnckit

A lightweight, modular Python framework for job queuing, scheduling, and automation around LinuxCNC.

Overview

cnckit provides a minimal core with optional integration modules, allowing you to adopt only the functionality you need. From simple local job queues to remote monitoring, API-based control, and more.

Features

Core (dependency-free):

  • Job queue with FIFO/LIFO/priority ordering
  • Scheduler with start/stop/pause controls
  • Machine state abstraction over LinuxCNC
  • Event callbacks for job lifecycle
  • Simulation mode for development

Optional Integrations:

  • REST API for remote monitoring
  • MQTT for messaging and automation
  • WebSocket real-time streaming
  • Robot interfaces (ROS2, TCP)

Quick Start

from cnckit.core import Machine, JobQueue, Scheduler

machine = Machine(simulate=True)  # or Machine() for real LinuxCNC
queue = JobQueue()
scheduler = Scheduler(machine, queue)

queue.add("part1.ngc")
queue.add("part2.ngc", priority=10)

scheduler.run_forever()

Installation

pip install cnckit

With optional integrations:

pip install cnckit[api]      # REST API
pip install cnckit[mqtt]     # MQTT
pip install cnckit[all]      # Everything

Documentation

Development

git clone https://github.com/jkkicks/cnckit.git
cd cnckit
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest

See Contributing for guidelines.

License

MIT

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

cnckit-0.1.0.tar.gz (34.9 kB view details)

Uploaded Source

Built Distribution

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

cnckit-0.1.0-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file cnckit-0.1.0.tar.gz.

File metadata

  • Download URL: cnckit-0.1.0.tar.gz
  • Upload date:
  • Size: 34.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cnckit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 92fb0c17650f8b97ce1e631eeaf55a026e208f48c4f024e7f23402853723d4f4
MD5 702f364776831d1aeb3e6afe63035bd3
BLAKE2b-256 39ad2a0ddedfeb1f66d1d3ca3bce1dd6ef60945e5f1950a7813b2f66000a5f96

See more details on using hashes here.

Provenance

The following attestation bundles were made for cnckit-0.1.0.tar.gz:

Publisher: release-please.yml on jkkicks/cnckit

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

File details

Details for the file cnckit-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cnckit-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cnckit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a9d709afba136a737ee8aa902dc7277760401d10d2bd80aa0f3d5ba2f5dba94a
MD5 3ea7a1b2c45838a91e4ce85a28bd9a8b
BLAKE2b-256 7cdb05daabba48030c0458e9102fc4771796109aac36eead79c168d7a957c17e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cnckit-0.1.0-py3-none-any.whl:

Publisher: release-please.yml on jkkicks/cnckit

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