quri-parts


Namequri-parts JSON
Version 0.18.1 PyPI version JSON
download
home_pagehttps://github.com/QunaSys/quri-parts
SummaryPlatform-independent quantum computing library
upload_time2024-06-17 06:51:59
maintainerNone
docs_urlNone
authorQURI Parts Authors
requires_python<3.12,>=3.9.8
licenseApache-2.0
keywords quantum quantum computing
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # QURI Parts


QURI Parts is an open source library suite for creating and executing quantum algorithms on various quantum computers and simulators. QURI Parts focuses on the followings:

- **Modularity and extensibility**: It provides small parts with which you can assemble your own algorithms. You can also use ready-made algorithms, customizing their details by replacing sub components easily.
- **Platform independence**: Once you assemble an algorithm with QURI Parts, you can execute it on various quantum computers or simulators without modifying the main algorithm code. Typically you only need to replace a few lines to switch to a different device or simulator.
- **Performance**: When dealing with a simulator, it is often the case that classical computation before and after quantum circuit simulation (such as data preparation and post processing) takes considerable time, spoiling performance of the simulator. We put an emphasis on computational performance and try to get the most out of simulators.


## Covered areas and components

Current QURI Parts covers the following areas, provided as individual components.
Please note that more components will be added in future.
You are also encouraged to propose or author new components as necessary.

- Core components
  - `quri-parts-circuit`: Quantum circuit
      - Gate, circuit, noise etc.
  - `quri-parts-core`: General components
      - Operator, state, estimator, sampler etc.
- Platform (device/simulator) support
  - Quantum circuit simulators
      - `quri-parts-qulacs`: [Qulacs](https://github.com/qulacs/qulacs)
      - `quri-parts-stim`: [Stim](https://github.com/quantumlib/Stim)
      - `quri-parts-itensor`: [ITensor](https://github.com/ITensor/ITensors.jl)
      - `quri-parts-tket`: [TKet](https://www.quantinuum.com/developers/tket)
  - Quantum platforms/SDKs
      - `quri-parts-braket`: [Amazon Braket SDK](https://github.com/aws/amazon-braket-sdk-python)
      - `quri-parts-cirq`: [Cirq](https://quantumai.google/cirq) (Only circuit and operator conversion is supported yet)
      - `quri-parts-qiskit`: [Qiskit](https://qiskit.org/)
      - `quri-parts-quantinuum`: [Quantinuum](https://www.quantinuum.com/hardware/)
      - `quri-parts-ionq`: [IONQ](https://ionq.com/docs/)
- Intermediate representation support
  - `quri-parts-openqasm`: [OpenQASM 3.0](https://openqasm.com/)
- `quri-parts-algo`: Algorithms
  - Ansatz, optimizer, error mitigation etc.
- Chemistry
  - `quri-parts-chem`: General concepts
      - Fermion-qubit mapping, electron integrals, ansatz etc.
  - `quri-parts-pyscf`: [PySCF](https://pyscf.org/)
  - Library support
      - `quri-parts-openfermion`: [OpenFermion](https://quantumai.google/openfermion)


## Installation

QURI Parts requires Python 3.9.8 or later.

Use `pip` to install QURI Parts.
Default installation only contains components not depending specific platforms (devices/simulators) or external libraries.
You need to specify *extras* with square brackets (`[]`) to use those platforms and external libraries with QURI Parts:

```
# Default installation, no extras
pip install quri-parts

# Use Qulacs, a quantum circuit simulator
pip install "quri-parts[qulacs]"

# Use Amazon Braket SDK
pip install "quri-parts[braket]"

# Use Qulacs and OpenFermion, a quantum chemistry library for quantum computers
pip install "quri-parts[qulacs,openfermion]"
```

Currently available extras are as follows:

- `qulacs`
- `braket`
- `qiskit`
- `cirq`
- `openfermion`
- `stim`
- `openqasm`
- `itensor`

You can also install individual components (`quri-parts-*`) directly.
In fact, `quri-parts` is a meta package, a convenience method to install those individual components.

### Installation from local source tree

If you check out the QURI Parts repository and want to install from that local source tree, you can use `requirements-local.txt`.
In `requirements-local.txt`, optional components are commented out, so please uncomment them as necessary.

```
pip install -r requirements-local.txt
```


## Documentation and tutorials

Documentation of QURI Parts is available at <https://quri-parts.qunasys.com>.
[Tutorials](https://quri-parts.qunasys.com/tutorials.html) would be a good starting point.

## Release notes

See [Releases page](https://github.com/QunaSys/quri-parts/releases) on GitHub.


## Contribution guidelines

If you are interested in contributing to QURI Parts, please take a look at our [contribution guidelines](CONTRIBUTING.md).


## Authors

QURI Parts developed and maintained by [QunaSys Inc.](https://qunasys.com/en). All contributors can be viewed on [GitHub](https://github.com/QunaSys/quri-parts/graphs/contributors).


## License

QURI Parts is licensed under [Apache License 2.0](https://github.com/QunaSys/quri-parts/blob/main/LICENSE).


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/QunaSys/quri-parts",
    "name": "quri-parts",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.9.8",
    "maintainer_email": null,
    "keywords": "quantum, quantum computing",
    "author": "QURI Parts Authors",
    "author_email": "opensource@qunasys.com",
    "download_url": "https://files.pythonhosted.org/packages/c9/41/2a3b017d908f2b0309d5a913c7d0a1d67b4a52eef7549f04d45b2c0e28f3/quri_parts-0.18.1.tar.gz",
    "platform": null,
    "description": "# QURI Parts\n\n\nQURI Parts is an open source library suite for creating and executing quantum algorithms on various quantum computers and simulators. QURI Parts focuses on the followings:\n\n- **Modularity and extensibility**: It provides small parts with which you can assemble your own algorithms. You can also use ready-made algorithms, customizing their details by replacing sub components easily.\n- **Platform independence**: Once you assemble an algorithm with QURI Parts, you can execute it on various quantum computers or simulators without modifying the main algorithm code. Typically you only need to replace a few lines to switch to a different device or simulator.\n- **Performance**: When dealing with a simulator, it is often the case that classical computation before and after quantum circuit simulation (such as data preparation and post processing) takes considerable time, spoiling performance of the simulator. We put an emphasis on computational performance and try to get the most out of simulators.\n\n\n## Covered areas and components\n\nCurrent QURI Parts covers the following areas, provided as individual components.\nPlease note that more components will be added in future.\nYou are also encouraged to propose or author new components as necessary.\n\n- Core components\n  - `quri-parts-circuit`: Quantum circuit\n      - Gate, circuit, noise etc.\n  - `quri-parts-core`: General components\n      - Operator, state, estimator, sampler etc.\n- Platform (device/simulator) support\n  - Quantum circuit simulators\n      - `quri-parts-qulacs`: [Qulacs](https://github.com/qulacs/qulacs)\n      - `quri-parts-stim`: [Stim](https://github.com/quantumlib/Stim)\n      - `quri-parts-itensor`: [ITensor](https://github.com/ITensor/ITensors.jl)\n      - `quri-parts-tket`: [TKet](https://www.quantinuum.com/developers/tket)\n  - Quantum platforms/SDKs\n      - `quri-parts-braket`: [Amazon Braket SDK](https://github.com/aws/amazon-braket-sdk-python)\n      - `quri-parts-cirq`: [Cirq](https://quantumai.google/cirq) (Only circuit and operator conversion is supported yet)\n      - `quri-parts-qiskit`: [Qiskit](https://qiskit.org/)\n      - `quri-parts-quantinuum`: [Quantinuum](https://www.quantinuum.com/hardware/)\n      - `quri-parts-ionq`: [IONQ](https://ionq.com/docs/)\n- Intermediate representation support\n  - `quri-parts-openqasm`: [OpenQASM 3.0](https://openqasm.com/)\n- `quri-parts-algo`: Algorithms\n  - Ansatz, optimizer, error mitigation etc.\n- Chemistry\n  - `quri-parts-chem`: General concepts\n      - Fermion-qubit mapping, electron integrals, ansatz etc.\n  - `quri-parts-pyscf`: [PySCF](https://pyscf.org/)\n  - Library support\n      - `quri-parts-openfermion`: [OpenFermion](https://quantumai.google/openfermion)\n\n\n## Installation\n\nQURI Parts requires Python 3.9.8 or later.\n\nUse `pip` to install QURI Parts.\nDefault installation only contains components not depending specific platforms (devices/simulators) or external libraries.\nYou need to specify *extras* with square brackets (`[]`) to use those platforms and external libraries with QURI Parts:\n\n```\n# Default installation, no extras\npip install quri-parts\n\n# Use Qulacs, a quantum circuit simulator\npip install \"quri-parts[qulacs]\"\n\n# Use Amazon Braket SDK\npip install \"quri-parts[braket]\"\n\n# Use Qulacs and OpenFermion, a quantum chemistry library for quantum computers\npip install \"quri-parts[qulacs,openfermion]\"\n```\n\nCurrently available extras are as follows:\n\n- `qulacs`\n- `braket`\n- `qiskit`\n- `cirq`\n- `openfermion`\n- `stim`\n- `openqasm`\n- `itensor`\n\nYou can also install individual components (`quri-parts-*`) directly.\nIn fact, `quri-parts` is a meta package, a convenience method to install those individual components.\n\n### Installation from local source tree\n\nIf you check out the QURI Parts repository and want to install from that local source tree, you can use `requirements-local.txt`.\nIn `requirements-local.txt`, optional components are commented out, so please uncomment them as necessary.\n\n```\npip install -r requirements-local.txt\n```\n\n\n## Documentation and tutorials\n\nDocumentation of QURI Parts is available at <https://quri-parts.qunasys.com>.\n[Tutorials](https://quri-parts.qunasys.com/tutorials.html) would be a good starting point.\n\n## Release notes\n\nSee [Releases page](https://github.com/QunaSys/quri-parts/releases) on GitHub.\n\n\n## Contribution guidelines\n\nIf you are interested in contributing to QURI Parts, please take a look at our [contribution guidelines](CONTRIBUTING.md).\n\n\n## Authors\n\nQURI Parts developed and maintained by [QunaSys Inc.](https://qunasys.com/en). All contributors can be viewed on [GitHub](https://github.com/QunaSys/quri-parts/graphs/contributors).\n\n\n## License\n\nQURI Parts is licensed under [Apache License 2.0](https://github.com/QunaSys/quri-parts/blob/main/LICENSE).\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Platform-independent quantum computing library",
    "version": "0.18.1",
    "project_urls": {
        "Documentation": "https://quri-parts.qunasys.com",
        "Homepage": "https://github.com/QunaSys/quri-parts",
        "Repository": "https://github.com/QunaSys/quri-parts"
    },
    "split_keywords": [
        "quantum",
        " quantum computing"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bf58ac74ef4049cfcba6f0c4b8a87fdf15919574867b5cd68680f08ea585ef1c",
                "md5": "f98bb90999400891476e220de4f77a32",
                "sha256": "16c4ba4678d0f78a896d268d434a3e25f500b7fcefd154025959c62c14d34b97"
            },
            "downloads": -1,
            "filename": "quri_parts-0.18.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f98bb90999400891476e220de4f77a32",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.9.8",
            "size": 7623,
            "upload_time": "2024-06-17T06:51:36",
            "upload_time_iso_8601": "2024-06-17T06:51:36.814437Z",
            "url": "https://files.pythonhosted.org/packages/bf/58/ac74ef4049cfcba6f0c4b8a87fdf15919574867b5cd68680f08ea585ef1c/quri_parts-0.18.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c9412a3b017d908f2b0309d5a913c7d0a1d67b4a52eef7549f04d45b2c0e28f3",
                "md5": "31c09fdf73cdb694cf070b05927b4bed",
                "sha256": "96fd39cea24337b77bf103f9d37689862a9a023347aad731f771040624e2523f"
            },
            "downloads": -1,
            "filename": "quri_parts-0.18.1.tar.gz",
            "has_sig": false,
            "md5_digest": "31c09fdf73cdb694cf070b05927b4bed",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.9.8",
            "size": 7754,
            "upload_time": "2024-06-17T06:51:59",
            "upload_time_iso_8601": "2024-06-17T06:51:59.973655Z",
            "url": "https://files.pythonhosted.org/packages/c9/41/2a3b017d908f2b0309d5a913c7d0a1d67b4a52eef7549f04d45b2c0e28f3/quri_parts-0.18.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-17 06:51:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "QunaSys",
    "github_project": "quri-parts",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "quri-parts"
}
        
Elapsed time: 0.28196s