Skip to content

Modernize QBioCode dependencies and make QSage consume QProfiler output directly - #12

Open
thepineapplepirate wants to merge 3 commits into
mainfrom
qiskit-stack-modernization
Open

thepineapplepirate wants to merge 3 commits into
mainfrom
qiskit-stack-modernization

Conversation

@thepineapplepirate

Copy link
Copy Markdown
Collaborator

Description

This PR updates QBioCode for the shared Qiskit 2.x environment used by the Galaxy interactive tools and
simplifies the QSage workflow.

Dependency updates

  • Upgrade Qiskit from 2.2.0 to 2.4.2.
  • Upgrade Qiskit Aer from 0.17.0 to 0.17.2.
  • Upgrade Qiskit Machine Learning from 0.9.0 to 0.9.1.
  • Upgrade IBM Transpiler from 0.11.0 to 0.18.0.
  • Constrain NumPy to >=2,<2.3.
  • Constrain pandas to >=2,<3.
  • Require scikit-learn >=1.6.
  • Require SciPy >=1.14.
  • Require Matplotlib >=3.9.
  • Require tqdm >=4.67.1.
  • Remove the unused qiskit-nature dependency.
  • Align the Conda recipe with the pip requirements and explicitly retain h5py.

QSage improvements

QProfiler already writes the source fields needed to identify datasets, models, embeddings, and iterations.
QSage now derives its bookkeeping metadata automatically when those derived columns are absent:

  • datatype from Dataset
  • model_embed_datatype from model, embeddings, and datatype
  • iteration=1 when no iteration column is present

This allows a raw QProfiler ModelResults.csv to be passed directly to QSage without manually modifying the
DataFrame.

QSage also continues to handle optional model-parameter columns safely when QProfiler was run with or without
parameter tuning.

Notebook updates

The QSage notebook no longer requires the manual metadata-preparation step. It now loads the QProfiler results
directly and documents that QSage performs the normalization internally.

Documentation and packaging

  • Clarify that QProfiler and QSage are part of the standard installation.
  • Keep the apps extra as a backward-compatible alias.
  • Add Conda/Miniforge OpenMP instructions for XGBoost.
  • Update Conda dependency declarations for the modern stack.

Validation

  • QBioCode QSage and dependency-consistency tests pass.
  • QProfiler PQK simulator execution succeeds with Qiskit 2.4.2 and Aer 0.17.2.
  • QSage training succeeds from the raw benchmark CSV without the removed notebook preparation step.
  • QSage generates its trained model, summary CSV, and plots.
  • The updated notebook is valid JSON.

…ation

# Conflicts:
#	MANIFEST.in
#	README.md
#	conda-recipe/meta.yaml
#	docs/source/tutorials/QProfiler/configs/config.yaml
#	docs/source/tutorials/QProfiler/sc_binary_qprofiler.ipynb
#	docs/source/tutorials/Quantum_Projection_Learning/QPL_example.ipynb
#	docs/source/tutorials/Quantum_Projection_Learning/configs/qpl.yaml
#	docs/source/tutorials/Quantum_Projection_Learning/configs/rf.yaml
#	docs/source/tutorials/Quantum_Projection_Learning/configs/xgb.yaml
#	pyproject.toml
#	qbiocode/embeddings/embed.py
#	requirements.txt
#	setup.py
#	tutorial/QProfiler/configs/config.yaml
#	tutorial/Quantum_Projection_Learning/configs/qpl.yaml
#	tutorial/Quantum_Projection_Learning/configs/rf.yaml
#	tutorial/Quantum_Projection_Learning/configs/xgb.yaml
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

This branch has not been deployed

No deployments
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.

2 participants