Skip to content

General-purpose SDKs

jquil

Maintained by QCHackers

A Java library for quantum programming using Quil.

JavaApache-2.0
jquil illustration

Resource snapshot

Category

General-purpose SDKs

Stars

16

Last pushed

Jul 23, 2018Updated 8y ago

Open issues

0

What it is

jquil is maintained by QCHackers and sits in the General-purpose SDKs lane of the open-source quantum map.

A Java library for quantum programming using Quil.

Last verified by Qtangl generator on May 27, 2026

Who it's for

Developers who want a broad entry point for building circuits, experimenting with algorithms, and integrating quantum workflows into larger applications.

What you can build or learn

  • Prototype end-to-end circuit workflows without committing to a niche backend too early.
  • Learn how the project represents circuits, gates, jobs, and results.
  • Compare how a major ecosystem frames practical quantum development.

License

Apache-2.0

SPDX identifier detected from the repository metadata or license files.

Repository README

Preview from the project README.

Rendered as Markdown inside a scrollable preview. Long READMEs stay contained; expand or open on GitHub for the full document.

~150 words · about 1 min readOpen on GitHub

jquil

Contact: vtomole@iastate.edu

Installation

  1. Open ~/.jquilconfig.properties and enter your Forest User Id and API key:

    user_id=<YOUR USER ID>
    api_key=<YOUR API KEY>
    

You can get an API key from Rigetti Forest if you don't have one.

Hello World

The Hello World of quantum programming is preparing and measuring the Bell state. Let's do that!

WavefunctionSimulator wvfsim = new WavefunctionSimulator();
	
Program p = new Program(g.H(0),
			g.CNOT(0,1));   

System.out.println("Bell state " +  Wavefunction.bra_ket(wvfsim.wavefunction(p)));         

These qubits are entangled. The result will be

Bell state 0.71|00> + 0.71|11>

This Bell pair will always measure to the same values.

p.measure(0,0);
p.measure(1,1);
	
System.out.println("Bell state after measurement " + QVMConnection.run(p, Arrays.asList(0, 1)));

If one qubit measures to 1, the other will be 1 and vice versa.

Check out jgrove for more quantum programs.

jquil as a library

compile 'org.qchackers.jquil:api:0.0.1' to use jquil in your programs.

Read on GitHub

Activity

Latest release

—

Watchers

5

Python support

—

Learn digest

Get monthly updates when library entries change.

Monthly digest: new library entries, updated flagships, and one editorial pick.

Related resources

Keep exploring nearby tools.

quantumlib

Cirq

Python framework for creating, editing, and running Noisy Intermediate-Scale Quantum (NISQ) circuits.

PythonApache-2.0Flagship

4,971 stars · Updated 3mo ago

XanaduAI

pennylane

PennyLane is an open-source quantum software platform for quantum computing, quantum machine learning, and quantum chemistry.

PythonApache-2.0FlagshipQtangl relevant

3,229 stars · Updated 3mo ago

QISKit

qiskit

Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.

PythonApache-2.0FlagshipQtangl relevant

7,412 stars · Updated 3mo ago

Qiskit

qiskit-terra

Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.

PythonApache-2.0

7,412 stars · Updated 3mo ago

Microsoft

QuantumKatas

Tutorials and programming exercises for learning Q# and quantum computing

Jupyter NotebookMITFlagshipArchive

4,862 stars · Updated 2y ago

QuantumBFS

Yao.jl

Extensible, Efficient Quantum Algorithm Design for Humans.

JuliaApache-2.0Flagship

1,032 stars · Updated 3mo ago