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

Refactor ScheduledCircuit and implement a frozen alternative. #358

Open
nelimee opened this issue Oct 12, 2024 · 0 comments
Open

Refactor ScheduledCircuit and implement a frozen alternative. #358

nelimee opened this issue Oct 12, 2024 · 0 comments
Labels
backend Issue pertaining to the Python backend (tqec package) enhancement New feature or request, may not be in the task flow refactor Requires major updates to code base

Comments

@nelimee
Copy link
Contributor

nelimee commented Oct 12, 2024

Is your feature request related to a problem? Please describe.
The current schedule.py file is quite huge (more than 900 lines) and contains a lot of code. It would be nice to split it into several smaller files, just like what was done with BlockGraph in #340.

At the same time, it would be nice to be able to ensure that some ScheduledCircuit instances will never be mutated. This will allow us to safely implement __hash__ for Plaquette instances for example, and would avoid any kind of bugs due to unwanted in-place changes.

Describe the solution you'd like
Split tqec.circuit.schedule into submodules, e.g.:

  • tqec.circuit.schedule.schedule
  • tqec.circuit.schedule.circuit
  • tqec.circuit.schedule.frozen
  • tqec.circuit.schedule.manipulation
@nelimee nelimee added enhancement New feature or request, may not be in the task flow backend Issue pertaining to the Python backend (tqec package) refactor Requires major updates to code base labels Oct 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Issue pertaining to the Python backend (tqec package) enhancement New feature or request, may not be in the task flow refactor Requires major updates to code base
Projects
None yet
Development

No branches or pull requests

1 participant