Skip to main content

Open source library for continuous-variable quantum computation

Project description

Strawberry Fields
GitHub Workflow Status (branch) Codecov coverage CodeFactor Grade Read the Docs PyPI PyPI - Python Version

Strawberry Fields is a full-stack Python library for designing, simulating, and optimizing continuous-variable quantum optical circuits.


  • Execute photonic quantum algorithms directly on Xanadu’s next-generation quantum hardware
  • High-level functions for solving practical problems including graph and network optimization, machine learning, and chemistry
  • Includes a suite of world-class simulators—based on cutting-edge algorithms—to compile and simulate photonic algorithms
  • Train and optimize your quantum programs with our end-to-end differentiable TensorFlow backend
  • Powers the Strawberry Fields Interactive web app, which allows anyone to run a quantum computing simulation via drag and drop


Strawberry Fields requires Python version 3.6, 3.7, or 3.8. Installation of Strawberry Fields, as well as all dependencies, can be done using pip:

pip install strawberryfields

Getting started

To see Strawberry Fields in action immediately, try out our Strawberry Fields Interactive web application. Prepare your initial states, drag and drop gates, and watch your simulation run in real time right in your web browser.

To get started with writing your own Strawberry Fields code, begin with our photonic circuit quickstart guides, before exploring our many tutorials and applications.

Finally, read more about using Strawberry Fields with photonic hardware, including code demonstrations and an overview of Xanadu’s quantum photonic hardware.

Developers can head to the development guide to see how they can contribute to Strawberry Fields.

Contributing to Strawberry Fields

We welcome contributions—simply fork the Strawberry Fields repository, and then make a pull request containing your contribution. All contributors to Strawberry Fields will be listed as authors on the releases.

We also encourage bug reports, suggestions for new features and enhancements, and even links to cool projects or applications built on Strawberry Fields.

See our contributions page and changelog for more details, and then check out some of the Strawberry Fields challenges for some inspiration.


Strawberry Fields is the work of many contributors.

If you are doing research using Strawberry Fields, please cite our papers:

Nathan Killoran, Josh Izaac, Nicolás Quesada, Ville Bergholm, Matthew Amy, and Christian Weedbrook. “Strawberry Fields: A Software Platform for Photonic Quantum Computing”, Quantum, 3, 129 (2019).

Thomas R. Bromley, Juan Miguel Arrazola, Soran Jahangiri, Josh Izaac, Nicolás Quesada, Alain Delgado Gran, Maria Schuld, Jeremy Swinarton, Zeid Zabaneh, and Nathan Killoran. “Applications of Near-Term Photonic Quantum Computers: Software and Algorithms”, Quantum Sci. Technol. 5 034010 (2020).


If you are having issues, please let us know by posting the issue on our Github issue tracker.

We also have a Slack channel and a discussion forum - come join the discussion and chat with our Strawberry Fields team.


Strawberry Fields is free and open source, released under the Apache License, Version 2.0.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for StrawberryFields, version 0.18.0
Filename, size File type Python version Upload date Hashes
Filename, size StrawberryFields-0.18.0-py3-none-any.whl (4.9 MB) File type Wheel Python version py3 Upload date Hashes View
Filename, size StrawberryFields-0.18.0.tar.gz (4.9 MB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page