Skip to content
This repository has been archived by the owner on Jun 20, 2022. It is now read-only.

Initial release #48

Closed
45 tasks done
jvanstraten opened this issue Apr 11, 2019 · 0 comments · Fixed by #412
Closed
45 tasks done

Initial release #48

jvanstraten opened this issue Apr 11, 2019 · 0 comments · Fixed by #412
Assignees
Milestone

Comments

@jvanstraten
Copy link
Collaborator

jvanstraten commented Apr 11, 2019

Build environment & versioning

  • Continuous integration (Travis)
  • Coverage (kcov, codecov.io)
  • Documentation generation
    • Rust
    • C++ (Doxygen?)
    • Python (?)
    • Auto-upload to github pages
  • Building plugins with external code (QX, libqasm, etc) C/C++ = header only, Rust = just Cargo, Python = n/a
  • Version consistency (there's some TODO's here and there in the code)

Toplevel documentation

  • License
  • Basic readme file
  • Proper readme file (brief explanation of what DQCsim is, build instructions, "where to go from here")
  • Rust "book" with more extensive information about DQCsim as a whole

DQCsim skeleton/framework

  • Code (Rust)
  • Tests/coverage
  • Documentation
  • Examples (?) tests should be good enough since people are unlikely to code Rust plugins anyway

Command-line interface

  • Code (Rust)
  • Tests/coverage (Add tests for cli #50)
  • Documentation (in --long-help)
  • Examples (also in --long-help)

C API

  • Code (Rust)
  • C bindings (generated using cbindgen)
  • Install targets
  • Tests/coverage
  • Documentation (sort of, through dqcsim-api Rust docs)
  • Examples

C++ API (built on top of the C API)

  • Raw API header (generated using cbindgen)
  • Shim code to C++11 (C++)
  • Install targets
  • Tests/coverage
  • Documentation
  • Examples

Python3 API (built on top of the C API)

  • swig header (generated using cbindgen and Python3 conversion script)
  • Python setup script (note: the generated eggs don't include the DQCsim library; it needs to be run from within dqcsim-rs)
  • Shim code to Pythonic interface (Python)
  • Install targets
  • Tests/coverage
  • Documentation
  • Examples (should probably just do this later) did it anyway

Plugins

  • Null plugins (frontend, operator, and backend) for testing
  • Documentation for generating Python frontends directly using OpenQL - sortof, through python frontend documentation
  • QX backend
  • QuantumSim backend
  • Depolarizing channel error model operator
  • cQASM frontend
  • eQASM frontend

(^ plugins will be in different repos, made after first skeleton release)

Finishing up

  • Protect master branch
  • Document release procedure
  • Rename repo to just "dqcsim" and move to QCA github group
  • Powerpoint presentation
  • Present DQCsim to QCA group in a biweekly meeting
@mbrobbel mbrobbel added this to the dqcsim-0.1.0 milestone May 10, 2019
@mbrobbel mbrobbel changed the title TODO list Initial release May 10, 2019
@mbrobbel mbrobbel pinned this issue May 15, 2019
@mbrobbel mbrobbel unpinned this issue Jan 23, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants