Create a Project on Qollab
Choose how a project starts, complete its Project Card and files, then publish an immutable version.

A Qollab project starts as a private draft with a Project Card, source files and a runtime configuration.
You need a free Qollab account with a username, and you need to be signed in. Sign in or sign up before you start.
Start a new project
Open + New Project from the top navigation. You can also choose New Project from the account menu or Add Project from the Projects page. Each entry opens Create New Project.

Choose the starting files
- Enter a Project Title.
- Add a Project description of no more than 240 characters.
- Optionally choose Select Template (Optional) to start from a template.
- Under Project shape, choose Python / Qiskit, JS / Qiskit wrapper or Upload your own files.
- Select Create.
Python / Qiskit starts with main.py and requirements.txt. JS / Qiskit wrapper starts with index.html, main.js, main.css and requirements.txt. Upload your own files accepts individual files, a folder or an archive. A top-level main.py makes the upload run as Python. Top-level index.html and main.js make it run as JS. Without either entry point, the upload card warns you and Run stays disabled until you add one.

Selecting Create confirms the linked terms and opens the private draft in edit mode.
Complete the Project Card
The Project Card tab contains the project title, optional thumbnail and write-up. The write-up accepts Markdown and has Write, Preview and math controls. The sidebar contains Contributors, Tags, About, Project Versions, Project Website and Repositories. Select the pencil beside the title to rename the project. Qollab saves these edits automatically.

Check the project files
The Code tab contains the project file tree and editor. A new Python / Qiskit project includes main.py and requirements.txt. You can create, rename, remove and upload files from the file tree.

The current main.py starter builds a Bell state above this run function. The listing is an exact excerpt from the starter:
from qiskit.providers.jobstatus import JobStatus
import time
def main(shots: int = 100, excludeLowProbabilityValues: bool = True, lowProbabilityThreshold: float = 0.05):
# Submit the job for execution
job = backend.run(circuit, shots=shots)
# Poll for status till the job is done
while True:
status = job.status()
print(f"Job status is {status}")
match status:
case JobStatus.DONE:
break
case JobStatus.ERROR:
raise Exception(job.result())
time.sleep(10)
# Get values to probabilities map
counts = job.result().get_counts()
if excludeLowProbabilityValues:
shotsThreshold = shots * lowProbabilityThreshold
# Filter noise
counts = {bits: cnt for bits, cnt in counts.items() if cnt > shotsThreshold}
print(f"Counts for {shots} shots: {counts}")
The three parameters become Shots, Exclude Low Probability Values and Low Probability Threshold under Run settings in the Select QPU dialog.
Publish a version
Select Publish in the project header. Enter a Version name, add optional Release notes, choose a visibility option and select Publish Version. A published version is an immutable snapshot. Later edits remain in the draft until you publish another version.

A project with a public default version can show the Discussions tab when discussions are enabled. A draft with no public version remains private.
Stay in the loop.
Get the latest tutorials, demos, and project showcases straight to your inbox. No noise, just the good stuff.
Enable JavaScript to sign up.
Qollab updates only. Unsubscribe any time. Privacy Policy.