GithubHelp home page GithubHelp logo

test-mass-forker-org-1 / iqsharp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from microsoft/iqsharp

0.0 0.0 0.0 3.36 MB

Microsoft's IQ# Server.

Home Page: https://docs.microsoft.com/quantum

License: MIT License

JavaScript 0.05% Python 9.91% C# 81.18% PowerShell 3.03% TypeScript 2.89% Jupyter Notebook 0.75% Dockerfile 0.66% Q# 1.52%

iqsharp's Introduction

Microsoft Quantum Development Kit: IQ# Kernel

Welcome to the Microsoft Quantum Development Kit!

This repository contains the IQ# kernel for the Quantum Development Kit. This kernel provides Q# support for the Jupyter platform, as well as the backend used by the Python client for Q#.

  • src/Core/: Core of the IQ# kernel.
  • src/Kernel/: Assembly used to interoperate between Jupyter and the rest of the IQ# kernel.
  • src/Python/: Python package for accessing IQ#.
  • src/Tests/: Unit tests for IQ#.
  • src/Tool/: .NET Core Global Tool used to install and launch IQ#.
  • src/Web/: Provides a RESTful API into IQ#.

New to Quantum?

See the introduction to quantum computing provided with the Quantum Development Kit.

Getting Started

The Jupyter kernel provided in this repository is built using .NET Core (2.2 or later) and the compiler infrastructure provided with the Quantum Development Kit. Please see the getting started guide for how to get up and running.

You may also visit the microsoft/quantum repository, which offers a wide variety of samples on how to use this kernel to run Q# in Jupyter Notebooks, or from Python.

Building IQ# from Source

To obtain prerequisites, ensure that Node.js is installed, and then run npm install from the src/Kernel/ folder:

cd src/Kernel/
npm install

To build IQ# from Visual Studio 2017 or later, please use the iqsharp.sln solution file. To build using the .NET Core SDK, please run dotnet build iqsharp.sln.

In either case, the IQ# kernel can be installed by using dotnet run:

cd src/Tool/
dotnet run -- install

Optionally, you can install IQ# in development mode, which instructs the Jupyter platform to rebuild IQ# whenever a new kernel is started:

cd src/Tool/
dotnet run -- install --develop

This can cause some issues, especially when running multiple instances of IQ#, such that we recommend against using development mode in general usage.

Note that when building IQ# from source, this repository is configured so that .NET Core will automatically look at the Quantum Development Kit prerelease feed in addition to any other feeds you may have configured.

Using IQ# as a Container

This repository provides a Dockerfile that includes the .NET Core SDK, Python, Jupyter Notebook, and the IQ# kernel.

The image built from this Dockerfile is hosted on the Microsoft Container Registry as the quantum/iqsharp-base repository. The iqsharp-base image can be used, for instance, to quickly enable using Binder with Q#-language repositories, or as a base image for Visual Studio Code Development Containers.

To use the iqsharp-base image in your own Dockerfile, make sure to begin your Dockerfile with a FROM line that points to the Microsoft Container Registry:

FROM mcr.microsoft.com/quantum/iqsharp-base:latest

To use the iqsharp-base image as a development container for Visual Studio Code, add a .devcontainer folder that points to the Microsoft Container Registry:

{
    "image": "mcr.microsoft.com/quantum/iqsharp-base:latest",
    "extensions": [
        "quantum.quantum-devkit-vscode",
        "ms-vscode.csharp"
    ]
}

In either case, you can also use a Quantum Development Kit version number (0.8 or later) in place of latest to point to a specific version.

Build Status

branch status
main Build Status

Feedback

If you have feedback about IQ#, please let us know by filing a new issue! If you have feedback about some other part of the Microsoft Quantum Development Kit, please see the contribution guide for more information.

Legal and Licensing

Telemetry

By default, IQ# collects information about the runtime performance of IQ#. To opt-out of sending telemetry, create an environment variable called IQSHARP_TELEMETRY_OPT_OUT set to a value of 1 before starting IQ#. The telemetry we collect falls under the Microsoft Privacy Statement.

Data Collection

The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

For more details, please see CONTRIBUTING.md, or the contribution guide.

iqsharp's People

Contributors

vxfield avatar cgranade avatar scottcarda-ms avatar ricardo-espinoza avatar rmshaffer avatar anpaz avatar anjbur avatar reemeela2121 avatar warren-jones avatar bamarsha avatar swernli avatar xinyi-joffre avatar israelmiles avatar msoeken avatar bettinaheim avatar kuzminrobin avatar dependabot[bot] avatar cesarzc avatar codingupastorm avatar theroughcode avatar geduardo avatar bradben avatar manvi-agrawal avatar tcnickolas avatar msftgits avatar microsoftopensource avatar pradeepvairamani avatar crazy4pi314 avatar avasch01 avatar msquantumdocs avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.