Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release version 0.6.0 #402

Merged
merged 13 commits into from
Jun 23, 2021
Merged

Release version 0.6.0 #402

merged 13 commits into from
Jun 23, 2021

Conversation

github-actions[bot]
Copy link
Contributor

Hi @Takishima!

This PR was created in response to a manual trigger of the release workflow here: https://github.com/ProjectQ-Framework/ProjectQ/actions/runs/964311721.
I've updated the changelog and bumped the versions in the manifest files in this commit: a5f9313.

Merging this PR will create a GitHub release and upload any assets that are created as part of the release build.

Takishima and others added 12 commits June 5, 2020 14:14
* added QuantumAdd __init__

* added test for superposition

* quantum addition decomposition added

* quantum addition decomposition added

* quantum adder working

* wrote test for quantum adder

* fixed decomposition rule for quantumaddition

* added subtract quantum

* added comparator

* added conditional add

* fixed conditional add

* added quantum division

* fixed division

* added comments

* additional comments

* fixed multiplication algorithm

* added hash function testing

* pep8

* added complexity information

* adding test

* add comments in python example code

* Update shor.py

* Update shor.py

* Update _factoring_test.py

* Update _constantmath.py

* Update _constantmath.py

* Update _constantmath.py

* Update _constantmath_test.py

* Update _constantmath_test.py

* Update _constantmath_test.py

* Update _constantmath_test.py

* Update _constantmath_test.py

* Update _quantummath.py

* fixed quantum division mathfunction

* add test for math functions in _gates.py

* file _gates_mathtest.py complete

* added tests

* control add quantum

* quantum_division same as QuantumDivision

* added inverse quantum gate

* added get_inverse() to subtract quantum

* fixed error in inversequantum division

* added inverse multiplication

* added gate test

* Cleanup some tests

* Some more rewriting

- Renamed all new gate classes to XXXQuantumGate
- Create gate instances corresponding to each XXXQuantumGate class
- Fixed addition function name in _replace_subtractquantum
- Fixed missing get_inverse() method in MultiplyQuantumGate
- Updated documentation
- Expanded test cases to test both emulation and decomposition of
  XXXQuantum gates

* Fix failing tests for addition and division emulation

* Some more cleanup + update year in license headers

* Some more cleanup

* Remove unneeded function

* Some more code cleanup

* Revert change by commit a3f572b

 - Revert changes made to AddQuantum.get_math_function and
   _InverseAddQuantum.get_math_function

* Minor adjustments to math gate tests

* Fix pytest.ini

* Adding missing __str__ methods

Co-authored-by: Peter-Jan <peter-jan.derks@student.auc.nl>
Co-authored-by: Damien Nguyen <ngn.damien@gmail.com>
* Update .travis.yml configuration

* Only do coveralls for one job

* Fix failing tests

* Tweak Mac OS build

* More tweaks to Mac OS builds

* Fix error with submitting to coveralls.io

* Add .coveragerc

* Add missing revkit dependency to .travis.yml

* Temporarily disable Mac OS and Windows builds

- Disable the builds until the project will be migrated to
  travis-ci.com due to the new credits plans on Travis-CI.
* Add AWS Braket service devices as backends

* Add AWS Braket service devices as backends. Correct a braket in README

* Add AWS Braket service devices as backends. Pass pycodestyle

* AWS Braket service backend. Corrections as per the review

* AWS Braket service backend. Correct test to use approx instead of ==

* AWS Braket service backend. Add tests to raise the coverage

* AWS Braket service backend. Second review adjustments

* Fix import errors when boto3 is not installed + use warnings.warn()

* Fix condition when setting the number of controls

* Minor adjustments in _awsbraket.py

- Better handling of daggered gates
- Some minor code cleanup

* Make sure that unit tests are skipped if boto3 is not installed

* Rapid fix to make sure that tests can be repeated without errors

* Fixes for _awsbraket.py and its associated tests

- Minor code cleanup
- Modify functional tests to work with and without mapper
- Fix issue when repeating some tests more than once
- Add missing test for case where AWS Braket backend is used as a
  compiler engine

* Minor adjustments to _awsbraket_boto3_client.py and related tests

- Tweak user messages slightly
- Add test to cover missing execution paths

* Remove mapper in Jupyter notebook

* Cleanup tests for _awsbraket.py + remove unneeded catch of TypeError

* Adjust .coveragerc

* Cleanup tests for _awsbraket_boto3_client.py

* Fix erroneous license header

* Mention installing ProjectQ with the 'braket' extra in README

* Remove unneeded call to is_available in AWSBraketBackend + ...

... improve basic functional test.

* Re-indent _awsbraket_boto3_client.py

* Some more cleanup for _awsbraket.py

* Some more cleanup for _awsbraket_boto3_client.py

* Remove trivial mapper in default setup for AWS Braket backend

* Fix test failure

Co-authored-by: Damien Nguyen <ngn.damien@gmail.com>
* Adding support for GitHub actions

* Add workflow to upload to PyPi on GitHub releases submission

* Add dependabot configuration file

* Clang-Tidy and generation of requirement file for setup.py

* Add support for pre-commit hooks and formatting workflow

* Remove .pylintrc, .coveragerc and pytest.ini in favour of setup.cfg

* Fix Clang-Tidy warnings

* Fix flake8 warnings

* Modify MANIFEST.in

* Fix some issues with the documentation generation

* Fix awsbraket tests to avoid running if boto3 is not installed

* Remove Python2 compatibility code

* Apply changes from pre-commit-hooks

* Run Black on whole project

* Run remove-tabs on whole project

* Fix flake8 issues

* Fix some warnings occurring while running the test suite

* Add pyproject.toml

* Adapt GitHub Action to use pyproject.toml

* Add .editorconfig

* Use setuptools-scm

* Add GitHub Actions for creating new releases

* Add CHANGELOG.md

* Update pre-commit hooks

* Update license headers of files with non-trivial changes

* Add setup.cfg and pyproject.toml to MANIFEST.in

* Change output name of version file

* Move parameters for check-manifest into pyproject.toml

* Address most comments (mostly merging strings)

* Effects of running black and flake8 with new settings

* Remove __div__ and __idiv__ usage in tests for QubitOperator

* Fix typo

* Fix build issues on Clang docker images

* Make installation verbose on CI

* Fix bug with classical simulator and negative bit shifts

* Update flaky for GCC CI builds

* Remove unneeded qubit allocation in meta.Loop tests
* Bump joerick/cibuildwheel from 1.11.0 to 1.11.1

Bumps [joerick/cibuildwheel](https://github.com/joerick/cibuildwheel) from 1.11.0 to 1.11.1.
- [Release notes](https://github.com/joerick/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](pypa/cibuildwheel@v1.11.0...v1.11.1)

---
updated-dependencies:
- dependency-name: joerick/cibuildwheel
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update CHANGELOG

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damien Nguyen <ngn.damien@gmail.com>
* Add a backend for IonQ.

* Update projectq/setups/ionq.py

Thanks for the correction!

Co-authored-by: Nguyen Damien <ngn.damien@gmail.com>

* Update docstring to match return type.

* Fix copyright header years, imports, docstring.

* Fix comment

* Fix measurement mappings and result parsing.

* Fix some bad logic with result probability mappings.
* Fix some erroneous test cases.
* Fix example code.
* Ensure qubits are "deallocated" and reset after job submit.
* Drop dependency on mappers in favor of API response mappings.
* Add better error handling for API/http errors.
* Fix tests.

* Update example notebook.

* Fix qubit mapping.

* Use a dedicated qubit mapper instead of bashing self.main_engine.
* Update backend, add tests, to reflect new mapper.

* Use response.registers instead of echoing metadata.

* Fix get_probability after register updates

* Fixes after rebase, use metadata to remamp qubit IDs on response

* Lint/CI/Format/Changelog fixes

* Always make sure to give a result, even if it's not likely

* Missed formatter issues

Co-authored-by: Nguyen Damien <ngn.damien@gmail.com>
* Init

* Apply control through compute engine. Added Enum class

* Apply control through compute engine. Added Enum class

* Apply control through compute engine, added enum class

* Fix small bug due to wrong default value, clean up output

* abolished decomp

* Revert "abolished decomp"

This reverts commit 36743a1.

* Apply Control through decomposition. Added Test Files

* Fix a few issues with new control state

- Address inconsistency with qubit state ordering when using integers
  as input control state
- Add canonical_ctrl_state function to centralise functionality
- Fix some file encoding
- Fix tests

* Update examples/control_tester.py

* Add some missing license headers and fix some tests

* Add missing docstring

* Cleanup some code in AQT and IBM backends

* Some code cleanup in _simulator.py

* Change autoreplacer priority for control. Added Additional test for autoreplacer. Added check for canonical ctrl state func.

* Update projectq/setups/default.py

* Update projectq/setups/decompositions/cnu2toffoliandcu.py

* Update projectq/setups/decompositions/cnu2toffoliandcu.py

* Cleanup code in _replacer.py

* Tweak some of the unit tests + add comments

* Add more tests for canonical_ctrl_state and has_negative_control

* Short pass of reformatting using black

* Bug fixing for rebasing

* Reformat files. Improve control_tester examples. Update change log

* Dummy change to trigger CI with new state

* Use pytest-mock for awsbraket client testing

* Fix Linter warnings

* Use pytest-mock also for awsbraket backend tests

* Fix missing tests in backends and added support for IonQ

* Fix linter warning

* Add support for AWSBraketBackend

* Fix small typo

* Use backported mock instead of unittest.mock

* Sort requirements_tests.txt

* Fix a bunch of errors that happens at program exit

 Monkeypatching or patching of external may unload the patch before
 the MainEngine calls the last flush operations which would then call
 the original API although unwanted.

Co-authored-by: Damien Nguyen <ngn.damien@gmail.com>
* Bump thomaseizinger/create-pull-request from 1.0.0 to 1.1.0

Bumps [thomaseizinger/create-pull-request](https://github.com/thomaseizinger/create-pull-request) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/thomaseizinger/create-pull-request/releases)
- [Changelog](https://github.com/thomaseizinger/create-pull-request/blob/master/CHANGELOG.md)
- [Commits](thomaseizinger/create-pull-request@1.0.0...1.1.0)

---
updated-dependencies:
- dependency-name: thomaseizinger/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update CHANGELOG

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damien Nguyen <ngn.damien@gmail.com>
@coveralls
Copy link

coveralls commented Jun 23, 2021

Pull Request Test Coverage Report for Build 964691726

  • 2614 of 2614 (100.0%) changed or added relevant lines in 116 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.2%) to 100.0%

Totals Coverage Status
Change from base Build 1560: 0.2%
Covered Lines: 6918
Relevant Lines: 6918

💛 - Coveralls

@Takishima Takishima force-pushed the release/0.6.0 branch 3 times, most recently from 9ab4254 to 955a1cc Compare June 23, 2021 13:52
Takishima
Takishima previously approved these changes Jun 23, 2021
- Fix some minor issues prior to releasing

  + Fixed pyproject.toml sections for pylint
  + Fixed constant warning messages if braket extra is not installed
  + Fixed file ignore list for check-manifest
  + Fixed issue with version in GitHub Actions
  + Added `setup_require` section to setup.cfg
  + Added new extra for testing (will eventually replace requirements_tests.txt)
  + Update pre-commit config to run black before linters
  + Update badges in README
  + Update configuration for pylint and pytest in pyproject.toml
  + Restructure and update CHANGELOG

- Enable pylint in pre-commit hooks
- Apply changes based on running pylint
- Rename `m` parameter of the LocalOptimizer to `cache_size`
- Gracious exit in case of failure in the MainEngine constructor
- Remove requirements_tests.txt and improve gen_reqfile setup command
- Remove docs/requirements.txt and add .readthedocs.yaml
- Remove all assert statements in non-test code
- Reinstate flaky test for phase estimation decomposition
@Takishima Takishima merged commit 76f4809 into master Jun 23, 2021
@Takishima Takishima deleted the release/0.6.0 branch June 23, 2021 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants