Prepare transfer artifacts from a local instance to a cloud instance

!lamin disconnect
 no instance loaded
import lamindb as ln
import bionty as bt
import wetlab as wl
import pandas as pd
! not connected, call: ln.connect('account/name')
ln.setup.init(storage="./test-transfer-to-cloud", modules="bionty,wetlab")
 initialized lamindb: testuser1/test-transfer-to-cloud
artifact = ln.Artifact.from_dataframe(
    pd.DataFrame({"a": [1, 2, 3]}), description="test-transfer-to-cloud"
).save()
features = bt.CellMarker.from_values(
    ["PD1", "CD21"], field=bt.CellMarker.name, organism="human"
).save()
artifact.features._add_schema(ln.Schema(features), slot="var")
organism = bt.Organism.from_source(name="human").save()
artifact.labels.add(organism)
experiment = wl.Experiment(name="experiment-test-transfer-to-cloud").save()
artifact.experiments.add(experiment)
artifact.describe()
! no run & transform got linked, call `ln.track()` & re-run
Artifact .parquet · DataFrame · dataset
├── General
│   ├── description: test-transfer-to-cloud
│   ├── uid: iigBtluzLBnVeABw0000          hash: QAJmQmCCc6r3RI_ces5HcQ
│   ├── size: 1.5 KB                       transform: None
│   ├── space: all                         branch: all
│   ├── created_by: testuser1              created_at: 2025-10-16 13:18:07
│   ├── n_observations: 3
│   └── storage path: /home/runner/work/lamindb/lamindb/docs/storage/test-transfer-to-cloud/iigBtluzLBnVeABw0000
├── Dataset features
│   └── var2                         [bionty.CellMarker]                                                        
PD1                             num                                                                        
CD21                            num                                                                        
└── Labels
    └── .experiments                    wetlab.Experiment                  experiment-test-transfer-to-cloud       
        .organisms                      bionty.Organism                    human                                   
assert artifact.features.slots["var"].members.count() == 2