Skip to content

Commit

Permalink
fix toml and yml files (#58)
Browse files Browse the repository at this point in the history
* updating julia dependencies

* version bumping

* Release 0.5.0 (#54)

* Update LICENSE

* small correction in README.md

* 25-update-tests-so-tests-can-succeeds, updated test, but will be overhauled later

* Use setuptools-scm in pyproject.toml

* Create requirements-test.txt

* version bump after hotfix

* Move test requirements to pyproject section

* Specify sub-modules as well.

Ensure a clear configuration and remove guessing for setuptools

* Updated gitignore

Ignore whl files and __pycache__

* Remove pyc cache

* Ignore pycache dir as a whole

* version bump and tag

* Creating new device inside snowflurry_device.py

* Adding entry point to pyproject.toml and importing class in __init__.py

* create pluggin that communicates directly to thunderhead

This pluggin does not communicate with snowflurry. It makes api calls directly to Thunderhead instead.

it features:
- a module to create, list and get jobs by id using API calls
- a module translate the pennylane tape into a request body that's readable by the api
- a module to decompose the pennylane circuit in native gates
- a module that uses VF2 to find a subcircuit in the machine's connectivity where the circuit's graph can be read
- a module that reduces the circuit size using circuit equivalences.

to do :
- the optimization still needs work. The circuit is still not as optimized as the snowflurry transpiled one.
- the VF2 module should use networkx instead of the handmade version.
- the wiring module should include cases where the circuit graph cannot be handled by the machine's connectivity. (use swaps)

* changes to graph util

* add transpiler passes mimicking qiskit

* refactoring and name change

* swap routing works for 7 qubit GHZ

* create pluggin that communicates directly to thunderhead

This pluggin does not communicate with snowflurry. It makes api calls directly to Thunderhead instead.

it features:
- a module to create, list and get jobs by id using API calls
- a module translate the pennylane tape into a request body that's readable by the api
- a module to decompose the pennylane circuit in native gates
- a module that uses VF2 to find a subcircuit in the machine's connectivity where the circuit's graph can be read
- a module that reduces the circuit size using circuit equivalences.

to do :
- the optimization still needs work. The circuit is still not as optimized as the snowflurry transpiled one.
- the VF2 module should use networkx instead of the handmade version.
- the wiring module should include cases where the circuit graph cannot be handled by the machine's connectivity. (use swaps)

* added bernstein varizani

* continue cleaning up. add conversion of ry to rx and rz

* rebuilding all the lost stuff from the rebase

* finish re-adding changes + add modulability feature

* sf-cq transpiling cmoparison via qiskit + cleanup

* ajout de doc, circuits de test, debug tools

* api call to get broken qubits and couplers + cleanup

* doc, cleaning and tests

- tests for placement and routing
- add doc here and there
- remove unused imports and files

* add tests for decomp and optimization
- also added changes to transpiler to make transpilation more efficient
- added gates to the base decomposition
- added test circuit

* spring cleanup

- use dotenv instead of hardcoded credentials
- move api utility in its own file
- change a couple of function and file names for coherence
- move circuit dict creation in job __init__ method
- monarq data with benchmark and connectivity
- fetching of benchmarking information is now done in machine_graph()
- put qubit fidelity acceptance values in dotenv
- add dynamic doc comments to a couple of places
- update test device with new features
- move imports out of functions
- add imags wire mapping

* some cleanup

* change device name, move api stuff in api folder

* correct import in init file

* remove unneeded files

* add dotenv info to readme

* added unit test and tools for experimenting
- created a "bad device" that has a snowflurriesque transpiler
- changed boolean labels into enum configurations
- moved dotenv access outside of build_benchmark method
- created a "noisy device" that adds noise on operations
- moved attributes around in test device
- refactored transpiler
- add error handling in placement if circuit is too big
- transpiler_config file
- created a noisy transform
- created method for finding biggest group of nodes
- added placement and routing tests

* add .env to gitignore

* start working on client and behaviour data objects
- refactor transpiler config enums
- create client data object and specializations

* apiadapater singleton and parameter objects

* add plotting utils and transpiler integration tests

* add tests, jupyters and user documentation

* inline doc

* rename calculqc device to monarq device

* reformatting with MarkdownLint

* changed two sentences

* cleanup, refactor, add steps list for transpiling

* changes post-transpiler refactor

* changes to make devices init map

* bugs and refactors
- move api utility to utility folder
- remove sample measurement
- add docstrings
- expand measurements without wires specified

* device now has preprocessing and postprocessing stages

separate base steps in two subclasses : PreProcStep and PostProcStep
add error mitigation as an example of PostProcStep

* update documentation

* translate unittests to pytests

* ajout de documentation sur mitigation d'erreurs

* bug counts() with wires set in device

* add __init__ files and decouple doc

* change transpiler name to preprocessing

* added doc and preset configs

* warning message about transpiling "a la mitaine"

* remove debug prints

* update doc + put slowly changing nw ops in cache

* finish storing unchanging demanding values in cache

* update docstring and user doc, placement and routing prioritized on fidelities

* make sure documentation works

* added .coverage to .gitignore

* update doc + start what's next document

* update doc

* Creating new device inside snowflurry_device.py

* Adding entry point to pyproject.toml and importing class in __init__.py

* create pluggin that communicates directly to thunderhead

This pluggin does not communicate with snowflurry. It makes api calls directly to Thunderhead instead.

it features:
- a module to create, list and get jobs by id using API calls
- a module translate the pennylane tape into a request body that's readable by the api
- a module to decompose the pennylane circuit in native gates
- a module that uses VF2 to find a subcircuit in the machine's connectivity where the circuit's graph can be read
- a module that reduces the circuit size using circuit equivalences.

to do :
- the optimization still needs work. The circuit is still not as optimized as the snowflurry transpiled one.
- the VF2 module should use networkx instead of the handmade version.
- the wiring module should include cases where the circuit graph cannot be handled by the machine's connectivity. (use swaps)

* changes to graph util

* add transpiler passes mimicking qiskit

* refactoring and name change

* swap routing works for 7 qubit GHZ

* create pluggin that communicates directly to thunderhead

This pluggin does not communicate with snowflurry. It makes api calls directly to Thunderhead instead.

it features:
- a module to create, list and get jobs by id using API calls
- a module translate the pennylane tape into a request body that's readable by the api
- a module to decompose the pennylane circuit in native gates
- a module that uses VF2 to find a subcircuit in the machine's connectivity where the circuit's graph can be read
- a module that reduces the circuit size using circuit equivalences.

to do :
- the optimization still needs work. The circuit is still not as optimized as the snowflurry transpiled one.
- the VF2 module should use networkx instead of the handmade version.
- the wiring module should include cases where the circuit graph cannot be handled by the machine's connectivity. (use swaps)

* added bernstein varizani

* continue cleaning up. add conversion of ry to rx and rz

* rebuilding all the lost stuff from the rebase

* finish re-adding changes + add modulability feature

* sf-cq transpiling cmoparison via qiskit + cleanup

* ajout de doc, circuits de test, debug tools

* api call to get broken qubits and couplers + cleanup

* doc, cleaning and tests

- tests for placement and routing
- add doc here and there
- remove unused imports and files

* add tests for decomp and optimization
- also added changes to transpiler to make transpilation more efficient
- added gates to the base decomposition
- added test circuit

* spring cleanup

- use dotenv instead of hardcoded credentials
- move api utility in its own file
- change a couple of function and file names for coherence
- move circuit dict creation in job __init__ method
- monarq data with benchmark and connectivity
- fetching of benchmarking information is now done in machine_graph()
- put qubit fidelity acceptance values in dotenv
- add dynamic doc comments to a couple of places
- update test device with new features
- move imports out of functions
- add imags wire mapping

* some cleanup

* change device name, move api stuff in api folder

* correct import in init file

* remove unneeded files

* add dotenv info to readme

* added unit test and tools for experimenting
- created a "bad device" that has a snowflurriesque transpiler
- changed boolean labels into enum configurations
- moved dotenv access outside of build_benchmark method
- created a "noisy device" that adds noise on operations
- moved attributes around in test device
- refactored transpiler
- add error handling in placement if circuit is too big
- transpiler_config file
- created a noisy transform
- created method for finding biggest group of nodes
- added placement and routing tests

* add .env to gitignore

* start working on client and behaviour data objects
- refactor transpiler config enums
- create client data object and specializations

* apiadapater singleton and parameter objects

* add plotting utils and transpiler integration tests

* add tests, jupyters and user documentation

* inline doc

* rename calculqc device to monarq device

* cleanup, refactor, add steps list for transpiling

* reformatting with MarkdownLint

* changed two sentences

* changes post-transpiler refactor

* changes to make devices init map

* bugs and refactors
- move api utility to utility folder
- remove sample measurement
- add docstrings
- expand measurements without wires specified

* device now has preprocessing and postprocessing stages

separate base steps in two subclasses : PreProcStep and PostProcStep
add error mitigation as an example of PostProcStep

* update documentation

* translate unittests to pytests

* ajout de documentation sur mitigation d'erreurs

* bug counts() with wires set in device

* add __init__ files and decouple doc

* change transpiler name to preprocessing

* added doc and preset configs

* warning message about transpiling "a la mitaine"

* remove debug prints

* update doc + put slowly changing nw ops in cache

* finish storing unchanging demanding values in cache

* update docstring and user doc, placement and routing prioritized on fidelities

* make sure documentation works

* update doc + start what's next document

* update doc

* update test file

* re-add env to gitignore

* add .vs folder to gitignore

* make sure not to use benchmark when not required

* more docstring + __init__ files everywhere for pylance

* add fake device using noise model from Kim (not working perfectly)

* separate qubit, coupler, decoherence and relaxation + docstring

* docstring + name change for fake monarq device

* add tests for api + configs

* add unit tests
- native decomp functions
- monarq data functions
- monarq device functions

* add tests to commute and merge

* converted test_pennylaneConverter.py

* print steps + python310 + remove ipynbs

* python310

* fix execution config

* add tests + increase testability

* converted prexisting rudimentary tests to pytest and updated .gitignore

* certains tests steps

* add tests for gate noise simulation step + api changes

* update tests to add unconsidered edge cases

* fix preprocessor + add ibu readout mitigation step

* converted test_pennylaneConverter.py

* rebase refactor/isolate-sf-device onto feature/thunderhead_plugin

* removing julia update from init file

* extended test suite for PennylaneConverter

* isolated imports related to julia, forcing instantiation of PennylaneConverter to even interact with Julia

* removed unused import that caused errors after isolating snowflurry

* add tests for utilities + fix for zero division

* tests + change default config to use ismags

* remove test script

* add docstring to magic methods in configs

* added tofix comment in test file

* enlever des prints

* PR comment addressing
- remove old monarq device class
- mark pydoc generator as WIP
- mark are_matrices_equivalent as TOFIX

* change name of class that caused issues in tests

* change repo name to pennylane_calculquebec

* add xfail markers on tests that fail

* update pyproject with new name and configs

* change description

* updated version for github actions

* Split the action in 2 jobs, the relase-on-pypi job only being executed if the build job completes successfully

* updated trigger for python-publish.yml and created python-publish-testpypi.yml to test deployment

* replace snowflurry with calculquebec in doc and toml

* Feature/cleanup doc (#47)

* update pyproject with new name and configs

* change description

* change repo name to pennylane_calculquebec

* cleanup doc folder

- move in depth documentation in the for_developer folder
- move puml in asset folder

* nromalize client name accross doc

* change repo name to pennylane_calculquebec

* cleanup doc folder

- move in depth documentation in the for_developer folder
- move puml in asset folder

* nromalize client name accross doc

* fix version and toml + update doc

* refonte readme (#48)

* refonte readme

- change texts to better represent current plugin alignments
- add table of contents
- add reference to the Wiki and other docs
- change project structure picture
- change pennylane_snowflurry to pennylane_calculquebec

* Update README.md

* Update README.md

* change -- for **

* coquille ligne 94

* remove dead code and move sample/test code (#49)

* remove dead code and move sample/test code

* retirer code commenté

* repair test

* improve naming, comments and docstring (#50)

* improve naming, comments and docstring

* change find_closest_wire so its more readable

* fix magic number in graph utility

* rename variables in kmp algo

* replace myqubits for chosen_qubits

* make a function name and docstring clearer in placement

* delete whats_next file (#51)

* add more context to docstrings (#52)

* remove pennylane deprecation warning (#53)

* fix version in getting_started (#55)

---------

Co-authored-by: Antoine Lemelin <[email protected]>
Co-authored-by: Scirelgar <[email protected]>
Co-authored-by: Charles Coulombe <[email protected]>
Co-authored-by: Charles Coulombe <[email protected]>

* Update python-publish-testpypi.yml

* change license classifier in toml

* Update python-publish.yml

* bump version to 0.5.1

* Update python-publish-testpypi.yml

* change license classifier in toml

---------

Co-authored-by: Scirelgar <[email protected]>
Co-authored-by: Antoine Lemelin <[email protected]>
Co-authored-by: Charles Coulombe <[email protected]>
Co-authored-by: Charles Coulombe <[email protected]>
  • Loading branch information
5 people authored Dec 19, 2024
1 parent 8f80c04 commit 18513b7
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 3 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/python-publish-testpypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,4 @@ jobs:
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
url: https://test.pypi.org/legacy/
repository-url: https://test.pypi.org/legacy/
1 change: 1 addition & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
name: Upload Python Package to PyPI

on:
workflow_dispatch:
release:
types: [published]

Expand Down
2 changes: 1 addition & 1 deletion pennylane_calculquebec/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@
"""


__version__ = "0.5.0"
__version__ = "0.5.1"
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Creative Commons",
"License :: OSI Approved :: Common Public License",
"Natural Language :: English",
"Operating System :: POSIX",
"Operating System :: MacOS :: MacOS X",
Expand Down

0 comments on commit 18513b7

Please sign in to comment.