Git Product home page Git Product logo

qiskit-metapackage's Introduction

Qiskit Metapackage (ARCHIVED)

⚠️ NOTE ⚠️
Since August 2023, this repository is archived as all the qiskit PyPI metapackage infrastructure and documentation was moved to Qiskit/qiskit (formerly Qiskit/qiskit-terra). See RFC0011 for details.

License Build Status Downloads DOI

Qiskit is an open-source SDK for working with quantum computers at the level of circuits, algorithms, and application modules.

Installation

The best way of installing qiskit is by using pip:

$ pip install qiskit

See install Qiskit for detailed instructions, how to use virtual environments, and build from source standalone versions of the individual Qiskit elements and components.

Qiskit Packaging

The Qiskit project used to be made up of many components. However, it is now only comprised of the Qiskit Terra project and the Qiskit meta-package contained in this repository only installs that.

Using quantum services

If you are interested in using quantum services, you can check out the Providers page for the list of available providers that Qiskit supports.

Contribution Guidelines

If you'd like to contribute to Qiskit, please take a look at our contribution guidelines. This project adheres to Qiskit's code of conduct. By participating, you are expected to uphold this code.

We use GitHub issues for tracking requests and bugs. Please use our Slack for discussion and simple questions. For questions that are more suited for a forum we use the Qiskit tag in the Stack Exchange.

Next Steps

Now you're set up and ready to check out our Qiskit Tutorials repository.

Authors and Citation

Qiskit is the work of many people who contribute to the project at different levels. If you use Qiskit, please cite as per the included BibTeX file.

License

Apache License 2.0

qiskit-metapackage's People

Contributors

1ucian0 avatar atilag avatar cryoris avatar dcmckayibm avatar delapuente avatar derivation avatar diego-plan9 avatar eric-arellano avatar garrison avatar huangjunye avatar hushaohan avatar itoko avatar jakelishman avatar javabster avatar jaygambetta avatar jyu00 avatar kdk avatar kevinhartman avatar lcapelluto avatar lerongil avatar manoelmarques avatar mtreinish avatar nonhermitian avatar omarcostahamido avatar paniash avatar qiskit-bot avatar rafeyiqbalrahman avatar sooluthomas avatar travis-s-ibm avatar woodsp-ibm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qiskit-metapackage's Issues

IndexError occurs when installing qiskit 0.7.2 with pip 19.0.2

Informations

  • Qiskit version: 0.7.2
  • Python version: 3.6.7
  • Operating system: Ubuntu 18.10, macOS High Sierra
  • pip version: 19.0.2

What is the current behavior?

IndexError occurs when installing qiskit 0.7.2 with pip 19.0.2. pip <= 19.0.1 does not have this issue.

Steps to reproduce the problem

Run the following commands.

$ python -m venv test
$ source test/bin/activate
$ pip install -U pip wheel setuptools
$ pip install qiskit

Get the following result.

Building wheels for collected packages: qiskit
  Building wheel for qiskit (setup.py) ... done
Exception:
Traceback (most recent call last):
  File "/home/ima/envs/test/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 179, in main
    status = self.run(options, args)
  File "/home/ima/envs/test/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 355, in run
    session=session, autobuilding=True
  File "/home/ima/envs/test/lib/python3.6/site-packages/pip/_internal/wheel.py", line 980, in build
    python_tag=python_tag,
  File "/home/ima/envs/test/lib/python3.6/site-packages/pip/_internal/wheel.py", line 813, in _build_one
    python_tag=python_tag)
  File "/home/ima/envs/test/lib/python3.6/site-packages/pip/_internal/wheel.py", line 821, in _build_one_inside_env
    wheel_path = builder(req, temp_dir.path, python_tag=python_tag)
  File "/home/ima/envs/test/lib/python3.6/site-packages/pip/_internal/wheel.py", line 898, in _build_one_legacy
    return os.path.join(tempd, sorted(os.listdir(tempd))[0])
IndexError: list index out of range

Update(Feb 13): I confirmed that the same errors occurs on mac as well.

Update(Feb 14): I confirmed that pip==19.0.2 causes the error; pip<=19.0.1 has no problem.
pypa/pip@61fd802 seems cause it.

What is the expected behavior?

Install without error.

Suggested solutions

Use pip==19.0.1 for a while. I recommend the following workaround to create a new environment for a while.

$ python -m venv test
$ source test/bin/activate
$ pip install -U pip==19.0.1 wheel setuptools
$ pip install qiskit

Include qiskit aqua and qiskit-chemistry in mega

We need to start making the plan to include qiskit aqua and qiskit chemistry into the default package.

There are many things to discuss.

  • Structure of package. I suggest it goes qiskit.aqua.blah and qiskit.aqua.chemistry.

  • the GUI and should not be part of the default so it needs to move to another repo

  • do we make an execution for aqua look and feel like qiskit terra

write a script that gets the list of authors

I think we need to have a file that check all the repositories for contributors and puts them together as a list in a file that is linked to in the readme rather than just linking to contributors to this repo.

Add theme to documentation

What is the expected behavior?

Currently the documentation uses the default theme - we should spice it up and bring it in line with the qiskit.org overall design.

A first step would be to move the theme from terra - it might be a bit too specific (ie tied to terra quirks) at the moment, but we can start from it and tweak further. I'm self-assigning, but might need frontend help at some point.

Qiskit is failing when updating to 0.7 from previous versions

The root cause of Qiskit/qiskit#1599 is as follows:

When upgrading, pip resolves the dependency tree of a package so that dependencies are installed before dependants. Finally, it installs the target package. During any of these installations, if there is a previous version of the package, pip first uninstalls the previous version, then it installs the new one.

When uninstalling a package, pip reads a record file listing all the files belonging to that package. Previous qiskit included all Terra files (now belonging to the qiskit-terra) and those get removed from the file system. Indeed, pip does not check if the files being removed belong to other packages.

Misleading indentation of some TOC entries

Some items/levels in the TOC are shown with the wrong indentation, hindering readability - for example:

toc

In the screenshot, the Terra organization entry is visually at the same level as Overview, but the real hierarchy is:

Qiskit Terra
    Overview
        Terra Organization
    The Quantum Circuit
    ...

Pinging @Borjagodoy - can you double check the relevant parts of the theme for the TOC? Please note that there might be other oddities potentially related, such as the indentation for an "entry that has subentries" vs the intentation for an "entry that has no subentries".

Also, it seems the original theme already had the collapsing/expanding functionality baked in by default (on the sample site, with some circles around the arrows and no extra changes) - can you evaluate if we can reuse it directly, instead of tuning the html and CSS?

Qiskit doesn't build on IBM i PASE (libperfstat is AIX-only)

Informations

  • Qiskit version: 0.7.1
  • Python version: 3.6.7
  • Operating system: IBM i 7.3 PASE

What is the current behavior?

building 'psutil._psutil_aix' extension
creating build/temp.os400-powerpc64-3.6
creating build/temp.os400-powerpc64-3.6/psutil
creating build/temp.os400-powerpc64-3.6/psutil/arch
creating build/temp.os400-powerpc64-3.6/psutil/arch/aix
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -O2 -g -maix64 -O2 -g -maix64 -DPSUTIL_POSIX=1 -DPSUTIL_VERSION=548 -DPSUTIL_AIX=1 -I/home/JWOEHR/work/QISKit/envs/qiskit-0.7/include -I/QOpenSys/pkgs/include/python3.6m -c psutil/_psutil_common.c -o build/temp.os400-powerpc64-3.6/psutil/_psutil_common.o
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -O2 -g -maix64 -O2 -g -maix64 -DPSUTIL_POSIX=1 -DPSUTIL_VERSION=548 -DPSUTIL_AIX=1 -I/home/JWOEHR/work/QISKit/envs/qiskit-0.7/include -I/QOpenSys/pkgs/include/python3.6m -c psutil/_psutil_posix.c -o build/temp.os400-powerpc64-3.6/psutil/_psutil_posix.o
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -O2 -g -maix64 -O2 -g -maix64 -DPSUTIL_POSIX=1 -DPSUTIL_VERSION=548 -DPSUTIL_AIX=1 -I/home/JWOEHR/work/QISKit/envs/qiskit-0.7/include -I/QOpenSys/pkgs/include/python3.6m -c psutil/_psutil_aix.c -o build/temp.os400-powerpc64-3.6/psutil/_psutil_aix.o
psutil/_psutil_aix.c:48:25: fatal error: libperfstat.h: No such file or directory
#include <libperfstat.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1

Steps to reproduce the problem

pip install qiskit

What is the expected behavior?

That it build as it does on other platforms

Suggested solutions

Modify to be more IBM i PASE-aware which differs somewhat from the AIX environment which PASE is derived from.

community projects

In documentation, I want to make a file that has a list of community projects using qiskit.

The file should be
docs/community_qiskit.rst

and it would have a list of projects using qiskit to do cool things.

This would have so far (thanks @akarazeev to maintaining this project as a community project)

https://github.com/akarazeev/qiskit-slack-bot

I am sure there are more projects that we should highlight.

Publish both stable and development documentation

What is the expected behavior?

From #39:

allow keeping both the "stable" documentation (the one relevant to published packages) and the "master" (the one for more bleeding edge users) available (and maybe older versions too?).

Aer roadmap

@chriseclectic i put something in for Aer but i don't really like it could you update the Aer section of doc/roadmap.rst

simplify the ibm q provider documentation

between the section install, getting started and running on the real device we explain the same thing three times. Maybe, in the getting started we don't need explanations of setting up real devices but link back to the install and then the running on ibmq we put after the qiskit elements (before the roadmap) as advanced use of the ibm q provider.

bibtex file has duplicate names

Informations

  • Qiskit version:
  • Python version:
  • Operating system:

What is the current behavior?

Hitomi Takahashi and Hitomi Takahashi
Ismael Faro and Ismael Faro Sertage
Peng Liu and Peng Liu
Stefan Woerner and Stefen Worner
Steve Wood and Steve Wood

Steps to reproduce the problem

What is the expected behavior?

Suggested solutions

version info mismatch

Informations

  • Qiskit version: 0.7.1
    • I installed it from PyPI via pip3
  • Python version: 3.6.7
  • Operating system: Ubuntu 18.04

What is the current behavior?

Mismatching version information.

Steps to reproduce the problem

This is in an ipython3 shell:

$ ipython3                                                                                           
Python 3.6.7 (default, Oct 22 2018, 11:32:17)

In [1]: import pkg_resources                                                                                                     
In [2]: pkg_resources.get_distribution("qiskit").version                                                                         
Out[2]: '0.7.1'                                                                                                                  
                                                                                                                                 
In [3]: import qiskit                                                                                                            
In [4]: qiskit.__version__                                                                                                       
Out[4]: '0.7.0'                                                                                                                  

What is the expected behavior?

Both are 0.7.1

Suggested solutions

Fix the qiskit package hosted at PyPI

qiskit documentation

Qiskit documentation

This document summarizes the flow for updating the documentation for Qiskit
that ends up being available at:

https://qiskit.org/documentation/

This is complicated as it needs to draw from multiple places.

https://qiskit.org/documentation/

This is made from the repo Qiskit using the files:

  • /doc/index.rst
  • /doc/overview.rst
  • /doc/install.rst
  • ... rst converstions of the notebooks in qiskit-tutorials/qiskit/basic

Then it should have a link to the following
/terra -> either folder of link to doc generated by terra
/aer -> either folder of link to doc generated by aer
/ignus -> not available yet.
/aqua -> either folder of link to doc generated by aqua
/chemistry -> either folder of link to doc generated by chemistry

https://qiskit.org/documentation/terra

This will be built from Qiskit-terra

  • /doc/index.rst
  • /doc/overview.rst
  • ... rst converstions of the notebooks in qiskit-tutorials/qiskit/terra
  • /doc/CONTRIBUTING
  • /doc/release_history
    -- then auto build of the Terra SDK reference _autodoc/qiskit

https://qiskit.org/documentation/aer

This will be built from Qiskit-aer

  • /doc/index.rst
  • /doc/overview.rst
  • ... rst converstions of the notebooks in qiskit-tutorials/qiskit/aer
  • /doc/CONTRIBUTING
  • /doc/release_history
    -- then auto build of the Aer SDK reference _autodoc/qiskit

https://qiskit.org/documentation/aqua

This will be built from Qiskit-aqua

  • /doc/index.rst
  • /doc/overview.rst
  • /doc/install.rst (this we need until aqua is in qiskit)
  • ... rst converstions of the notebooks in qiskit-tutorials/qiskit/aqua
  • /doc/CONTRIBUTING
  • /doc/release_history
    -- then auto build of the Aqua SDK reference _autodoc/qiskit

https://qiskit.org/documentation/chemistry

This will be built from Qiskit-chemistry

  • /doc/index.rst
  • /doc/overview.rst
  • /doc/install.rst
  • ... rst converstions of the notebooks in qiskit-tutorials/qiskit/aqua/chemistry
  • /doc/CONTRIBUTING
  • /doc/release_history
    -- then auto build of the Chemistry SDK reference _autodoc/qiskit

Flow steps:

  1. update the .rst files in the doc/ folder (or qiskit/ Python docstrings)
    at foo repository.
  2. push to foo repository stable branch (via a PR).
  3. when the CI (Travis) is completed for that merge, it will automatically
    push a commit to the qiskit.org repository with the HTML documentation.
  4. in turn, the CI (Travis) for the qiskit.org repository starts a deploy
    into the server that hosts qiskit.org.
  5. enjoy the new documentation at https://qiskit.org/documentation.

Questions.
@abdonrd and @diego-plan9 which option is best

  • is it better we push from qiskit-foo to this repo and then when this repo passes it pushes to qiskit.org so that the https://qiskit.org/documentation/foo is just a folder in here
  • option 2 or to have multiple auto ci going to the qiskit.org repo from all the elements and here to make the documentation.
  • option 3 [i like this best] is to remove all documentation from the elements and add it here and then generate from this folder the documentation on the qiskit.org/documentation. In the elements, we just have a readme pointing to this repo.
  • diego can you set up the documentation building and automation in this repo for an overview and install

release history

can we combine the release history in aer and terra and have it after the roadmap

Automate pushing rendered documentation

In a similar way that terra documentation was handled, we should set up the CI and the project so documentation ends up being pushed to qiskit.org. Ideally:

  • allow keeping both the "stable" documentation (the one relevant to published packages) and the "master" (the one for more bleeding edge users) available (and maybe older versions too?).
  • for chapters where the main content is rendered from notebooks, automate their conversion.

visualizing quantum data

I think we need to think about the visualization section. It is really a visualization of quantum data of something. I think this should also go into the qiskit terra section.

What do you think @derivation?

Add information about working with several repositories

Coming from Qiskit/qiskit-ibmq-provider#24 (comment), now that we have several repositories and projects that have dependencies on each other, it would be beneficial to have a slightly more formal set of instructions aimed for developers on how to work with several repositories at the same time, as it is relatively common that working on qiskit-foo master requires using qiskit-bar master and similar scenarios.

Some informal instructions are at Qiskit/qiskit-ibmq-provider#24 and Qiskit/qiskit#1700, but it would be nice to have them in a single place (and also have the input of the other teams - the "oldest" project where such setup is needed is probably aer, so maybe @atilag or @chriseclectic have some documentation somewhere).

@jaygambetta , where do you think this information would be best placed? It should be only for developers - I was thinking that maybe CONTRIBUTING on this repo would make sense, but any other place sounds good too.

Aqua documentation is not being rendered on qiskit.org

Now that the Qiskit Aqua and Qiskit Chemistry documentation has been transferred to this repository, what do we need to do to automatically update the qiskit.org/documentation Web site? Countless users are asking for the documentation to be made available to them.

The .. topic:: directive does not get rendered properly

Based on the template used to render the documentation's RST files in HTML, the .. topic:: directive does not render properly. Consider, for example, the following snippet of RST code:

.. topic:: Extending the Algorithm Library

    Algorithms and many of the components they use have been designed to be
    pluggable. A new algorithm may be developed according to the specific Application Programming
    Interface (API) provided by Aqua, and by simply adding its code to the collection of existing
    algorithms, that new algorithm  will be immediately recognized via dynamic lookup,
    and made available for use within the framework of Aqua.
    Specifically, to develop and deploy any new algorithm, the new algorithm class should derive from
    the ``QuantumAlgorithm`` class.  Along with any supporting  module, for immediate dynamic
    discovery, the new algorithm class can simply be placed in an appropriate folder in the
    ``qiskit_aqua\algorithms`` directory, just like the existing algorithms.  Aqua also allows for
    :ref:`aqua-dynamically-discovered-components`: new components can register themselves
    as Aqua extensions and be dynamically discovered at run time independent of their
    location in the file system.  This is done in order to encourage researchers and
    developers interested in :ref:`aqua-extending` to extend the Aqua framework with their novel
    research contributions.

Using a regular template, this is how the .. topic:: directive above gets rendered:
image

However, using the current template, the .. topic:: directive above does not get rendered in any special way and this is what one gets:
image

Can the current template get augmented to treat the .. topic:: directive as all the other directives? Alternatively, can we use a different template? The Aqua documentation makes extensive use of this directive.

Adding a CODEOWNERS file in .github

Can we add a CODEOWNERS file in .github so that people responsible for a particular element of Aqua can more easily update the relevant documentation?

Makefile pointing to wrong directories for aqua and chem autodoc?

@diego-plan9, can I get a sanity check from you?

Information

  • Qiskit version: latest
  • Python version: 3.7
  • Operating system: macOS 14.6

What is the current behavior?

make doc errors out while looking for Aqua and Chemistry directories

sphinx-apidoc --output docs/autodoc --separate --implicit-namespaces --module-first -d 16
<PATH_QISKIT>/qiskit_aqua
~/.../qiskit-terra/qiskit_aqua is not a directory.
make: *** [autodoc_aqua] Error 1

Steps to reproduce the problem

  1. Clone all of the repos with Qiskit doc in them.
  2. Run make doc

What is the expected behavior?

The Makefile should be pointing to the correct directories using pip show and grep.

Suggested solutions

I've edited the Makefile in a personal fork to make things work, but I'm wary that there's a reason why the Makefile is the way it is today that I'm not aware of, despite it not working for me locally.

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.