@enqoding/node-red-contrib-quantum 1.0.0-quantum-sec.2
Quantum circuit and algorithm nodes for Node-RED 4.x security orchestration workflows
@enqoding/node-red-contrib-quantum
Quantum circuit and algorithm nodes for Node-RED 4.x security orchestration workflows.
Fork status
This repository is an internally maintained fork of the upstream node-red-contrib-quantum project.
- Upstream project:
node-red-quantum/node-red-contrib-quantum - Fork namespace target:
@enqoding/node-red-contrib-quantum - Current fork version:
1.0.0-quantum-sec.1
This fork modernizes the project for Node-RED 4.1.5, Node.js 18+, updated linting and test tooling, current Python/Qiskit compatibility work, and CI validation on Node 18 and 20.
Compatibility matrix
| Component | Supported version |
|---|---|
| Node-RED | 4.1.5 |
| Node.js | >= 18.0.0 |
| Recommended Node.js | 20.x |
| Python | 3.9+ |
| Tested in CI | Node 18, Node 20 |
| Python-backed runtime | local venv created by postinstall |
What is included
This package provides Node-RED nodes for:
- building quantum circuits
- manipulating qubits and registers
- applying common quantum gates
- simulating and visualizing circuit output
- running packaged algorithm nodes such as Grover's and Shor's-related flows
The package currently exposes 27 Node-RED nodes through the node-red package metadata.
Installation
From a local clone
- Install Node.js 18 or later.
- Install Python 3.9 or later.
- Clone this repository.
- From the repository root, run
npm ci.
This installs Node.js dependencies and then runs postinstall, which prepares a local Python virtual environment and installs the required Python packages.
Start Node-RED locally
Run npm run start.
Development commands
npm run lintnpm testnpm run coverage
Python environment
The project uses a repository-local virtual environment created by:
bin/pyvenv.shon Bash-compatible shellsbin/pyvenv.ps1on Windows PowerShell
The Python setup currently installs these packages:
qiskitqiskit-aerqiskit-algorithmsmatplotlibpylatexencqiskit-financeqiskit-optimization
Security considerations
This fork is intended for controlled engineering use inside security orchestration workflows.
Key security expectations:
- use pinned dependencies via
package-lock.json - run regular
npm auditand dependency scanning - validate Python package versions in controlled environments
- review flow inputs carefully before executing Python-backed nodes
- treat IBM Quantum and external service credentials as sensitive secrets
- prefer isolated runtime environments for production deployments
Migration notes from upstream v0.4.0
This fork is not a drop-in runtime upgrade without review.
Notable changes from the upstream baseline include:
- Node-RED target updated from older 1.x assumptions to Node-RED 4.1.5
- Node.js baseline updated to 18+
- ESLint, Mocha, Chai, and Node-RED test helper modernized
- CI added for Node 18 and 20
- Python/Qiskit compatibility behavior updated for current environments
- cross-platform npm scripts updated using
cross-env
Before migrating existing flows from upstream v0.4.0:
- verify the runtime is using Node-RED 4.1.5
- verify Node.js is 18 or 20
- recreate the Python virtual environment
- retest simulator and algorithm flows
- review any IBM Quantum connectivity assumptions
- validate output formatting for Script, Grovers, and Shors-related flows
Known limitations
The fork is functional, but there are important limitations to document:
Shorscurrently uses a compatibility fallback rather than a real modern Qiskit Shor implementation- IBM Quantum related behavior may require additional work depending on upstream API changes
- Python and Qiskit package compatibility should be validated in each deployment environment
- live editor/runtime validation has been completed for Node-RED 4.1.5 on Node.js 20, but should still be repeated in the final target staging environment before release
Testing status
Current local validation baseline:
- lint passes
- test suite passes
- CI passes on Node 18 and Node 20
Live Runtime Validation
The fork has been smoke-tested successfully in a live Node-RED 4.1.5 editor/runtime environment on Node.js 20.
Validated manually:
- all 27 nodes loaded in the palette
quantumcategory displayed 24 nodesquantum algorithmscategory displayed 3 nodes- node edit dialogs opened correctly
- deploy succeeded in the Node-RED editor
- no startup or deploy-time deprecation warnings were observed during this validation
Architecture
See ARCHITECTURE.md for a higher-level description of the quantum-classical flow model, node interaction patterns, and Python execution boundaries.
Contributing
Internal fork maintenance should prefer small, auditable changes with test coverage.
Recommended workflow:
- branch from
master - make focused changes
- run lint and tests locally
- push branch and verify GitHub Actions
- merge only after CI passes
Release and public publishing
This package can be published publicly to npm under the scoped name @enqoding/node-red-contrib-quantum for community use and Node-RED Flow Library listing.
Recommended publish settings:
- access:
public - registry:
https://registry.npmjs.org
Before publishing:
- confirm the package name and version in
package.json - authenticate with npm in the publishing environment
- run
npm ci - run
npm run lint - run
npm test - run
npm pack --dry-run - publish with
npm publish
Notes:
- use scoped public publish settings for the
@enqodingpackage - keep release credentials out of the repository and use environment or CI secrets only
- keep the Shors compatibility fallback limitation documented in release notes and downstream docs
Acknowledgements
This project is based on the original node-red-contrib-quantum work by the upstream authors and contributors.
See AUTHORS and the upstream repository history for original project attribution.