* update visualization docs
* style
* add width change
* quanum -> quantum
* add coloring to function links
* add otehr visuals
* simplify even more
* more styling
* styling
* a bit softer link color
* add example
* add inline
* Add qiskit-aer and qiskit-ibmq-provider to docs job
Using jupyter-sphinx to build examples in the docs enables us to
actually run examples in the docs and get jupyter output. However, the
module fails by default if there is anything printed to stderr when
executing code. The base qiskit namespace will print a warning if ibmq
and aer are not found on a system (which is to provide cover for python
packaging issues). To avoid these warnings the simplest step is to
install both packages into the venv to avoid a warning. This commit does
just that.
* Repackaging qiskit.backends.aer to qiskit.backends.builtinsimulators
* Moving C++ simulators to legacysimulators package
* Fixing qiskit/__init__.py to support extensible backends
* Fixing tests
* Removing traces of aer name inside the backends package.
* Remove traces of aer from qiskit
* Updating CHANGELOG
* Adding deprecation warning
* Replacing aer with legacysimulators in the build system
* Switch to stestr for test runner
This commit switches the default test runner for qiskit-terra to use
stestr instead of the built-in runner from stdlib unittest. By default
this switches the default mode of execution to be parallel instead of
serial which can lead to significant speed ups in test execution time.
Also the junitxml upload on the appveyor ci is switched to use the
subunit protocol instead of the xunit format. This is because subunit
is used natively by stestr. While we can generate xunit xml in the
same exact format it doesn't work on windows because of the subunit
library bug: https://bugs.launchpad.net/subunit/+bug/1322888 . Once
this bug is fixed we can convert the subunit to xunit xml as part of
the CI job. That being said though, the subunit data contains every
thing and whatever post processing is being done on the xml files
can easily be converted to use the subunit.
Closes#730
* Remove initial check for initializing state
The initializing state for a job is a transient condition. Depending on
how fast the test executes we may or may not be able to catch it during
the execution of the test. When running the test suite in parallel we're
seeing many instances where things execute too quickly and the assert
looking for the initial initializing state is too slow and the api
status has already moved on. This commit fixes this by simply removing
that check from all the tests since it can't be reliably checked.
* Stop writing progress bar to stdout during tests
This commit adjust the parallel_progress bar unit tests to mock out
sys.stdout.write() so we aren't actually writing the progress bar to
stdout during the test run. We're not actually verifying the contents
written to stdout anywhere in the tests and this both pollutes stdout
during a run and also fails when running tests under stestr on windows
ci, likely because of how python-subunit (a external dependency
library of stestr's) internally handles stdout encapsulation. So to
avoid these this commit mocks out the stdout writes and asserts we're at
least calling it. In the future we can adjust these to actually verify
the calls for the proper output. But for right now asserting we're even
calling sys.stdout.write() is an improvement and avoids the issues.
* Fix typos in tox.ini
* Change to per test method parallelization by default
Prior to this commit we were using test class level parallelization (ie
each test class is the minimum unit that gets passed to a worker). This
was done to optimize for the online tests which have expensive class
level constructors which we wouldn't want to run multiple times if the
individual test methods got split across multiple workers. However, this
was hurting the overall performance of the more common case where we
don't make actual api requests. This commit switches us to use per
method parallelization by default and manually switch to per class for
the online tests in CI.
* Revert "Change to per test method parallelization by default"
This reverts commit 0ab794b0a5bc14d23e1820042a70f66b0d68c99b.
* Update appveyor comments for using test_results.xml
This commit updates the comments in the appveyor to refer to the
upstream fix needed to leverage the test_results.xml. It also adds all
the necessary lines to properly generate an xunit xml file and upload
it.
Not having a setup.py causes all sorts of headaches for anyone trying to
use the package from source. Having cmake generate one is kind of absurd
when all it really does is add a version string. There are other ways to
do that (if the burden of updating a version string is too high) in an
automatic fashion (see pbr for an example that uses git tags to
autogenerate the version number). But for right now this just adds the
setup.py back so people will be able to install just the python code
easily, and use tools that expect a python repo to be installable on a
clean checkout without any additional steps.
Revise after the modifications to the C++ simulator, updating the
references for the location of the file (`qiskit/backends/local`
instead of `qiskit/backends`).
Reintroduce the c++ simulator gates, that were commented out in the
process.
separating result from qobj schema, and putting them in qiskit/schema
fixes in jay's office
Adding setup.py ignore to put the fire out
Fixing some bugs
disabling qasm header for extensions/qiskit_simulator
Adding the examples working -- test need to fix the test.
modifying quantumprogram to use backendmanager and its tests to pass
Passing the testquantumprogram
Passing backend now
Style fixes
Fixing some lint errors
Renaming test_backend test_backend_manager
Adding compile test
Small changes
Fix basebackend tests
Also ignore ds_store files
Linting
don't traverse extensions when registering api
add back in job_processor tests
- added string simulator input/output
- Fixed compile bugs on linux
- changed snapshot map to use int key instead of unsigned long long key
- allowed sample shots to compute probability vector in place to save memory
- Updated modified JSON library to version 3.1.1
- Encapsulated multi-partite qubit state vector updates in a
QubitVector class
- Added TensorIndex class used for indexing in the QubitVector class.
- Reworked ideal_backend and qubit_backend to use QubitVector methods
- merged sampleshots_engine into vector_engine
- removed ability to display final and saved quantum states
- added “snapshot” instruction and added ability to display snapshots
of quantum state
- added basic cpp test file for qubit_vector class
- Added auto check to makefile for GCC7 compiler on macOS
* CMake integration:
* Qiskit simulator now builds on/for Linux 64, Win64 and Darwin
* Added support for creating pip distributable packages (sdist
and wheels) for Linux, Windows and MacOS
* Added support for testing and lintering via CMake
* Added Windows lib/dll dependencies for C++ simulator
* Added support for building when installing via Pip from source
distribution, so non-supported platforms have a chance to build
the C++ code
* Documentation updated, but still a WIP.
* Fix .rst formatting issues
* Restore qiskit-simulator latest changes
* Remove garbage file
* CMake integration:
* Added make "doc" target for Sphinx documentation
* Added both sdist and bdist_wheel distribution packages builds
* CMake integration:
* Setup.py.in now generates the correct platform tag for wheels
distribution package
* CMake integration:
* 'make clean' target now removes all custom generated files and
directories.
* Fxied 'make pypi_package' to not include binaries in the source
distribution package (sdist)
* CMake integration: Addressing review comments
* Git-ignoring some autogenerated files
* Changed linter target name to "lint"
* Improved documentation
* CMake integration: Adressing review comments (2)
* Added qiskit/backends/qiskit_simulator to .gitignore
* Changed default path of the simulator to:
1st - The path where the simulator is built by default from the
Makefile
2nd - The path where pip installs simulator binary
* Removed .gitignore entries that are not needed anymore
* Integrate simulator's make clean target into the main Makefile
- fixed bug with local_clifford_simulator calling the qubit simulator
instead
- renamed built local_qiskit_simulator executable to qiskit_simulator
- moved custom simulator gate definitions to folder
qiskit.extensions.qiskitsimulator
- added u0 gate class definition to standard extensions
- merged `exe` and `path` args to `path` for cppsimulator run command
* Relax the pylint output disabling several warnings.
* Reintroduce the linting of qiskit.extensions and qiskit.qasm.node.
* Add a `style` target to the Makefile that performs pycodestyle, and
reduce the verbosity of `lint` by removing the report.
* Update the Travis configuration in order to add a new step that
performs linter and style checks via an environment variable.
* Added japanese doc
* Update Make and structure to allow multiple langs
Update the Makefile "doc" target to build both the English and the
Japanese versions, in separate directories, and the "clean" target to
cleanup the autodoc documentation.
Add a "conf.py" file to the "doc/ja" folder that modifies the relevant
variables, as Sphinx uses that folder as the root document folder when
building the Japanese version.
* Fix missing "install" reference on ja sphinx docs
* Update sphinx doc deploy script for Japanese
Add the Japanese sphinx produced directory to the Github pages deploy
script.
* Fix typo and extra line in Makefile
* starting to fix up the counts online and making to test to checks
* removing error is cleaning values
* fixing the seed error
* fixing the seed
* adding more test for online format
* Merge remote-tracking branch 'QISKit/r0.3' into fixing_return_values
# Conflicts:
# test/python/test_quantumprogram.py
* Merge remote-tracking branch 'QISKit/r0.3' into fixing_return_values
# Conflicts:
# test/python/test_quantumprogram.py
* merging r0.3 changes in
* adding test for online simulator