{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":564021503,"defaultBranch":"main","name":"qiskit-qasm3-import","ownerLogin":"Qiskit","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-11-09T20:33:03.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/30696987?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1710436814.0","currentOid":""},"activityList":{"items":[{"before":"3afada35f1a70a73f29ec4de7821f53fe5ff78ee","after":"6e5b88a38eaced15b07756a748edb38598cbcaf2","ref":"refs/heads/main","pushedAt":"2024-03-14T17:18:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Prepare 0.4.2 release (#31)","shortMessageHtmlLink":"Prepare 0.4.2 release (#31)"}},{"before":"a56e97055d5ee7836351b791c086e9482996a224","after":"3afada35f1a70a73f29ec4de7821f53fe5ff78ee","ref":"refs/heads/main","pushedAt":"2024-03-14T16:47:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Add licence headers (#29)\n\nThis matches other Qiskit projects. They originally weren't in these\r\nfiles because the project wasn't originally going to be managed by the\r\nQiskit organisation, but was just a proof of concept.","shortMessageHtmlLink":"Add licence headers (#29)"}},{"before":"1f8108898249b79e5f7397f65b3c3adcdcf65c95","after":"a56e97055d5ee7836351b791c086e9482996a224","ref":"refs/heads/main","pushedAt":"2024-03-14T16:45:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Fix layout output with hardware qubits (#30)\n\nThis fixes the output of programs that involve hardware qubits to the\r\nform more standard to how Qiskit represents physical circuits. Now, the\r\noutput circuit will have as many qubits as the maximum hardware qubit\r\nexplicitly used, even if the lower qubits are not used. The\r\n`TranspileLayout` will be a mapping of the qubits to their own indices,\r\nto indicate that there were no underlying virtual qubits, but to assist\r\nwith other tools in recognising that the circuit is defined on physical\r\nqubits.\r\n\r\nThe previous handling of hardware qubits created a circuit with only\r\nexplicitly referenced qubits in the circuit, then attempted to convey\r\nthe information about the actual hardware indices via the\r\n`TranspileLayout`. Unfortunately, this was not in a form that was\r\nreadily understandable to other tools, and the model of the \"physical\"\r\ncircuit not directly having its bit indices correspond to the hardware\r\nqubit index was at odds with Qiskit's usual model of physical circuits.","shortMessageHtmlLink":"Fix layout output with hardware qubits (#30)"}},{"before":"4993813da904f75c67f4b6e156097c5395c8aaf3","after":"1f8108898249b79e5f7397f65b3c3adcdcf65c95","ref":"refs/heads/main","pushedAt":"2024-02-12T19:58:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Update Intersphinx for Qiskit (#26)","shortMessageHtmlLink":"Update Intersphinx for Qiskit (#26)"}},{"before":"7c818f6a9f0c4869bcb16b4c3019ecd835e4e642","after":"4993813da904f75c67f4b6e156097c5395c8aaf3","ref":"refs/heads/main","pushedAt":"2023-11-16T11:42:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Prepare 0.4.1 release\n\nThe pin to `qiskit<1.0` prevents this from being used on Qiskit's main\nbranch during its tests. Since this package actually does support\nQiskit 1.0 already, it is safe to relax the pin.","shortMessageHtmlLink":"Prepare 0.4.1 release"}},{"before":"c21310f19f373d9849144b87bab383cf3511d3bf","after":"7c818f6a9f0c4869bcb16b4c3019ecd835e4e642","ref":"refs/heads/main","pushedAt":"2023-11-16T09:06:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Prepare 0.4.0 release (#23)","shortMessageHtmlLink":"Prepare 0.4.0 release (#23)"}},{"before":"c26ca0281f13b819eb631708605e128eef04773f","after":"c21310f19f373d9849144b87bab383cf3511d3bf","ref":"refs/heads/main","pushedAt":"2023-11-15T10:19:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Update dependencies to reflect new Qiskit structure (#21)\n\nThe preferred install path for Qiskit is now the `qiskit` Python\r\npackage, and the \"component\" `qiskit-terra` is no longer preferred and\r\nexpected to be removed with Qiskit 1.0. This updates the dependencies\r\nto refer to the minimum supported version of the `qiskit` package\r\ninstead; the lowest version of that will now install more than is\r\ncompletely required, but all latest versions are correct, and will be\r\ncorrect moving forwards.","shortMessageHtmlLink":"Update dependencies to reflect new Qiskit structure (#21)"}},{"before":"08ff2a8f8a15caae7e044a7e211074ebe0724bb8","after":"c26ca0281f13b819eb631708605e128eef04773f","ref":"refs/heads/main","pushedAt":"2023-11-15T10:12:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Fix test of operation immutability (#22)\n\nQiskit adding the concept of immutable instructions means that we no\r\nlonger hard require all gates to be separate Python objects to be safe\r\nagainst mutation.","shortMessageHtmlLink":"Fix test of operation immutability (#22)"}},{"before":"d3bbc9c6028df6ec587d02ccb569ace147bdb9d4","after":"08ff2a8f8a15caae7e044a7e211074ebe0724bb8","ref":"refs/heads/main","pushedAt":"2023-10-19T20:00:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Prepare 0.3.0 release (#19)","shortMessageHtmlLink":"Prepare 0.3.0 release (#19)"}},{"before":"0d29d02be078cc3f30df7aab98664a23b191e766","after":"d3bbc9c6028df6ec587d02ccb569ace147bdb9d4","ref":"refs/heads/main","pushedAt":"2023-10-19T19:56:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Update Sphinx theme (#18)\n\n* Update Sphinx theme\r\n\r\n* contents directive removed","shortMessageHtmlLink":"Update Sphinx theme (#18)"}},{"before":"b5512ee72aa1344c6af51a36377c825d7b002e77","after":"0d29d02be078cc3f30df7aab98664a23b191e766","ref":"refs/heads/main","pushedAt":"2023-09-15T20:16:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlapeyre","name":"John Lapeyre","path":"/jlapeyre","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1969884?s=80&v=4"},"commit":{"message":"Add support for `!` on scalar `bit` types (#17)","shortMessageHtmlLink":"Add support for ! on scalar bit types (#17)"}},{"before":"f4ae1dcf9932654a85bc3336c9bf7ac7f6216355","after":null,"ref":"refs/heads/add-excalamation","pushedAt":"2023-09-11T10:37:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"}},{"before":null,"after":"f4ae1dcf9932654a85bc3336c9bf7ac7f6216355","ref":"refs/heads/add-excalamation","pushedAt":"2023-09-11T10:36:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Add support for `!` on scalar `bit` types\n\nIt's not 100% clear from the OQ3 spec whether this is permitted, but\nQiskit certainly outputs using this, the IBM QE stack allows this, and\nit generally sensible.","shortMessageHtmlLink":"Add support for ! on scalar bit types"}},{"before":"8c24bdd72e9784d7d8cc883c9fbf049fa7cc43c3","after":"b5512ee72aa1344c6af51a36377c825d7b002e77","ref":"refs/heads/main","pushedAt":"2023-09-11T09:01:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Update openqasm3[parser] requirement (#16)","shortMessageHtmlLink":"Update openqasm3[parser] requirement (#16)"}},{"before":"89a5c51a693128c059e8e822680362e4e8961eab","after":"8c24bdd72e9784d7d8cc883c9fbf049fa7cc43c3","ref":"refs/heads/main","pushedAt":"2023-04-28T15:15:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Prepare 0.2.0 release","shortMessageHtmlLink":"Prepare 0.2.0 release"}},{"before":"4d9542f32ffc8d10199266ad00e2fac7a35557e1","after":null,"ref":"refs/heads/fix-int-float-promotion","pushedAt":"2023-04-28T14:59:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"}},{"before":"b7f4d7be788eaf6cba274c0e974e2846bda17efa","after":"89a5c51a693128c059e8e822680362e4e8961eab","ref":"refs/heads/main","pushedAt":"2023-04-28T14:59:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Fix implicit integer to float promotions in binary operators (#7)\n\n* Fix implicit integer to float promotions in binary operators\r\n\r\nThis permits expressions such as `3 * pi / 4`; the OpenQASM 3\r\nspecification defers to the C promotion rules, which allow this.\r\nPreviously they were incorrectly forbidden by this converter.\r\n\r\n* Fix lint","shortMessageHtmlLink":"Fix implicit integer to float promotions in binary operators (#7)"}},{"before":"f9747e34e541e80e0ca83f4e81e66fcd1dca3f95","after":"4d9542f32ffc8d10199266ad00e2fac7a35557e1","ref":"refs/heads/fix-int-float-promotion","pushedAt":"2023-04-28T14:50:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Fix lint","shortMessageHtmlLink":"Fix lint"}},{"before":"94d515c74ef9817b1615aaf3f3262c305c65a2dc","after":"f9747e34e541e80e0ca83f4e81e66fcd1dca3f95","ref":"refs/heads/fix-int-float-promotion","pushedAt":"2023-04-28T14:38:13.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'ibm/main' into fix-int-float-promotion","shortMessageHtmlLink":"Merge remote-tracking branch 'ibm/main' into fix-int-float-promotion"}},{"before":"246e999573c0d7a2162b779d9525b8b5b79c3cf0","after":"b7f4d7be788eaf6cba274c0e974e2846bda17efa","ref":"refs/heads/main","pushedAt":"2023-04-28T14:34:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jakelishman","name":"Jake Lishman","path":"/jakelishman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5968590?s=80&v=4"},"commit":{"message":"Add support for physical qubits (#2)\n\n* Add support for physical qubits\r\n\r\n* Remove unneeded check for param equal to None in ValueResolver.visit\r\n\r\n* Split tests into separate functions\r\n\r\n* Remove exploratory method\r\n\r\n* Remove commented out cruft in OQ code\r\n\r\n* Move AddressingMode\r\n\r\n* Add HardwareQubit\r\n\r\n* Simplify generating layout at end of conversion\r\n\r\n* Find and fix wrong calls to resolve_condition\r\n\r\n* Store all relevant state in ValueResolver\r\n\r\n* Remove cruft\r\n\r\n* Fix linter errors\r\n\r\n* Reject HW qubit in gate body\r\n\r\n* Also test generated layout when in hw qubit addressing mode.\r\n\r\n* Add tests for HW qubits in nested scopes\r\n\r\n* Test that hardware qubits are incorrectly treated local in local scope\r\n\r\nThis needs to be fixed. For now, we include a test that requires the\r\nbroken behavior.\r\n\r\n* Update a test for code changes\r\n\r\n* Fix small review items\r\n\r\n* Remove commented out unused code\r\n* Disable too-many-lines globally\r\n* auto-Document HardwareQubits\r\n* Use Enum in AddressingMode\r\n\r\n* Remove quotes from \"State\" and import State into file\r\n\r\n* Move State from converter.py to state.py\r\n\r\n* Fix lint errors\r\n\r\n* Add clarifying inline comment\r\n\r\n* Implement class SymbolTable\r\n\r\nUse SymbolTable class with an API rather than just using a simple dict\r\n\r\n* Fix search order for symbols\r\n\r\ntests_convert.py now works.\r\nBut things before API change are hardcoded in other tests.\r\n\r\n* Fix bugs and lint complaints\r\n\r\n* Add doc strings, comments, and small adjustments to SymbolTable API\r\n\r\n* Test that gate params shadow global symbol\r\n\r\n* Add test that parameter may shadow builtin symbol\r\n\r\n* Add test that input variable may shadow builtin symbol\r\n\r\n* Add some doc strings\r\n* Clean up API in a class\r\n\r\n* Remove obsolete comment\r\n\r\n* Improve doc strings in SymbolTable\r\n\r\n* Small DRY improvement\r\n\r\n* Make ConverVisitor.convert return the state containing the circuit\r\n\r\nPreviously, it returned just the circuit. This does not change the public\r\nAPI. But it allows the developer to examine the state after convesion.\r\n\r\n* Update docstring to reflect change in class structure\r\n\r\n* Fix docstring so that sphinx build succeeds\r\n\r\n* Update src/qiskit_qasm3_import/converter.py\r\n\r\nCo-authored-by: Jake Lishman \r\n\r\n* Modify SymbolTable.insert to accept only single symbols, not lists\r\n\r\n* Update doc string for previous commit\r\n\r\n* Reflow lines to 100 characters\r\n\r\n* Rename _type to type\r\n\r\n* reformat with black\r\n\r\nrevert attempt at wrapping doc string without wrapping the displayed string.\r\n\r\n* Include unused argument rather than disabling arguments-differ\r\n\r\n* Remove use of walrus operator\r\n\r\n* Test `Enum` with `is` rather than ==\r\n\r\n* Remove test involving invalid identifier $q\r\n\r\n* Test hardware qubit use after introduction in a previous local scope\r\n\r\n* Test detect mixed addressing mode if HW qubit first referenced in local scope\r\n\r\n* Test that user defined gate can be defined and used in HW mode\r\n\r\n* Simplify nested conditionals in handling identifiers\r\n\r\n* Replace `==` with `is` in another comparison of Enum\r\n\r\n* Implement stack-like SymbolTable\r\n\r\n* Fix broken layout for physical qubits\r\n\r\n* Move _STDGATES where it belongs\r\n\r\n* Move hardware_qubit_map to converter.py\r\n\r\n* Change parens to make logic in conditional easier to read\r\n\r\n* Remove useless check for missing global symbol table\r\n\r\n* Change identifer init_inner to _init_inner\r\n\r\n* Fix incorrect init of State in test_conditions.py\r\n\r\n* Remove asserts used in debugging\r\n\r\n* Prepend underscores to private variable names\r\n\r\n* Add some documentation\r\n\r\n* Add tests for behavior of SymbolTable and start fixing\r\n\r\n* Run black, and add test file to repo\r\n\r\n* Add missing file for real this time\r\n\r\n* Add more informative __repr__ for two classes\r\n\r\n* Implement SymbolTables\r\n\r\nUse a stack instead of a recursive structure for managing nested symbol tables.\r\n\r\n* Add a couple of comments\r\n\r\n* Run black\r\n\r\n* Refactor class State\r\n\r\n* Remove PhysicalQubitInGateError and refactor _check_visible\r\n\r\n* Improve error message\r\n\r\n* Improve performance of AddressingMode\r\n\r\nThis change increases performance by a factor of 1.5 or 2.\r\nSetting when already set takes about 65ns vs 120ns.\r\nProbably not a bottleneck at the moment.\r\n\r\n---------\r\n\r\nCo-authored-by: Jake Lishman ","shortMessageHtmlLink":"Add support for physical qubits (#2)"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEFevd8AA","startCursor":null,"endCursor":null}},"title":"Activity ยท Qiskit/qiskit-qasm3-import"}