Skip to content

qniapp/qni

Repository files navigation

Qni

Welcome to the Qni repository. Qni is a quantum computer simulator that runs in your browser.

Qni is largely inspired by Craig Gidney's Quirk, a pioneer in quantum circuit simulators. Qni inherits Quirk's features, such as live programming of quantum circuits and circuit bookmarks, and extends them based on modern web technologies such as CSS responsive design and Web Components standards. This makes it possible to enjoy quantum circuit programming on smartphones and embed "live" quantum circuits in any web page.

Contents

This repository is a monorepo containing three packages:

  • packages/common contains the source for the @qni/common package. This is a common library used by other Qni packages.
  • packages/simulator contains the source for the @qni/simulator package. This is a quantum computer simulator implementation in TypeScript. It is usually called by the browser's ServiceWorker thread and runs asynchronously.
  • packages/elements contains the source for the @qni/elements package. This is a custom web component library for rendering quantum circuits. It is used by @qni/www as well as several other projects.

And two apps:

And two supporting directories at the repository root:

  • html contains the generated static site artifact for the GitHub Pages deployment of the tutorial site.
  • docs contains agent-facing Markdown docs such as specs and implementation plans.

And one example:

Local setup

This repository is being migrated toward the following toolchain baseline:

  • Node.js 20.20.2
  • Ruby 4.0.2
  • pnpm 10.33.0

If you use mise, the repository root now pins those versions for local work. The production Heroku app qni-quantum deploys the Rails app from apps/www, and the repository-wide Ruby version policy is being aligned with that production target. The monorepo now uses pnpm for workspace installs and root orchestration, and Lerna is being removed in favor of native pnpm scripts.

Bootstrap the local toolchain with:

./scripts/install-local-build-env.sh

Run the local full build with:

./scripts/full-build-local.sh

Getting Help & Contributing Back

Find a bug? Head over to our issue tracker and we'll do our best to help. We love pull requests, too!

License

Qni is MIT-licensed open-source software from TIS Inc.


© 2022 TIS Inc.

About

Quantum live-programming app that runs in your browser.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors