#### Python: "lamindb"

A data framework for biology.

Installation:

 pip install lamindb

If you just want to *read* data from a LaminDB instance, use "DB":

 import lamindb as ln

 db = ln.DB("laminlabs/cellxgene")

To *write* data, connect to a writable instance:

 lamin login
 lamin connect account/name

You can create an instance at lamin.ai and invite collaborators. If
you prefer to work with a local database (no login required), run:

 lamin init --storage ./quickstart-data --modules bionty

LaminDB will then auto-connect upon import and you can then create &
save objects like this:

 import lamindb as ln
 # → connected lamindb: account/instance

 ln.Artifact("./my_dataset.parquet", key="datasets/my_dataset.parquet").save()

### Lineage

Track inputs, outputs, parameters, and environments of notebooks,
scripts, and functions.

| --- | --- |
| "track"([ | Track a run of a notebook or script. |
| transform, |
| project, |
| space, |
| branch, |
| ...]) |
| --- | --- |
| "finish"( | Finish the run of a notebook or script. |
| [ignore_n |
| on_consec |
| utive]) |
| --- | --- |
| "flow"([u | Use "@flow()" to track a function as a workflow. |
| id, globa |
| l_run, tr |
| ack_arg_a |
| liases]) |
| --- | --- |
| "step"([u | Use "@step()" to track a function as a step. |
| id]) |
| --- | --- |

* lamindb.track

  * "track()"

* lamindb.finish

  * "finish()"

* lamindb.flow

  * "flow()"

* lamindb.step

  * "step()"

### Artifacts

The central "Artifact" registry holds files, folders & arrays across
any number of storage locations.

| --- | --- |
| "Artifact | Datasets & models stored as files, folders, or arrays. |
| "() |
| --- | --- |

* lamindb.Artifact

  * "Artifact"

 * "Artifact.features"

 * "Artifact.labels"

 * "Artifact.transform"

 * "Artifact.overwrite_versions"

 * "Artifact.path"

 * "Artifact.uid"

 * "Artifact.key"

 * "Artifact.description"

 * "Artifact.suffix"

 * "Artifact.kind"

 * "Artifact.otype"

 * "Artifact.size"

 * "Artifact.hash"

 * "Artifact.n_files"

 * "Artifact.n_observations"

 * "Artifact.extra_data"

 * "Artifact.storage"

 * "Artifact.schema"

 * "Artifact.input_of_runs"

 * "Artifact.recreating_runs"

 * "Artifact.schemas"

 * "Artifact.json_values"

 * "Artifact.artifacts"

 * "Artifact.linked_in_records"

 * "Artifact.users"

 * "Artifact.runs"

 * "Artifact.linked_by_runs"

 * "Artifact.ulabels"

 * "Artifact.linked_by_artifacts"

 * "Artifact.collections"

 * "Artifact.records"

 * "Artifact.references"

 * "Artifact.projects"

 * "Artifact.ablocks"

 * "Artifact.get()"

 * "Artifact.filter()"

 * "Artifact.from_lazy()"

 * "Artifact.from_dataframe()"

 * "Artifact.from_anndata()"

 * "Artifact.from_mudata()"

 * "Artifact.from_spatialdata()"

 * "Artifact.from_tiledbsoma()"

 * "Artifact.from_dir()"

 * "Artifact.replace()"

 * "Artifact.open()"

 * "Artifact.load()"

 * "Artifact.cache()"

 * "Artifact.delete()"

 * "Artifact.save()"

 * "Artifact.view_lineage()"

All other registries link to "Artifact" to provide context for
finding, querying, validating, and managing artifacts. Here is an
overview of the core data model:

[image]

### Transforms & runs

Data transformations and their executions.

| --- | --- |
| "Transfor | Data transformations such as scripts, notebooks, functions, or pipelines. |
| m"() |
| --- | --- |
| "Run"() | Runs of transforms such as the executions of a script. |
| --- | --- |

* lamindb.Transform

  * "Transform"

 * "Transform.latest_run"

 * "Transform.uid"

 * "Transform.key"

 * "Transform.description"

 * "Transform.kind"

 * "Transform.source_code"

 * "Transform.hash"

 * "Transform.reference"

 * "Transform.reference_type"

 * "Transform.environment"

 * "Transform.plan"

 * "Transform.updated_at"

 * "Transform.ulabels"

 * "Transform.linked_in_records"

 * "Transform.predecessors"

 * "Transform.runs"

 * "Transform.successors"

 * "Transform.records"

 * "Transform.references"

 * "Transform.projects"

 * "Transform.ablocks"

 * "Transform.from_path()"

 * "Transform.from_git()"

 * "Transform.view_lineage()"

* lamindb.Run

  * "Run"

 * "Run.status"

 * "Run.features"

 * "Run.uid"

 * "Run.name"

 * "Run.description"

 * "Run.entrypoint"

 * "Run.started_at"

 * "Run.finished_at"

 * "Run.params"

 * "Run.extra_data"

 * "Run.reference"

 * "Run.reference_type"

 * "Run.cli_args"

 * "Run.created_at"

 * "Run.transform"

 * "Run.report"

 * "Run.environment"

 * "Run.plan"

 * "Run.created_by"

 * "Run.initiated_by_run"

 * "Run.json_values"

 * "Run.ulabels"

 * "Run.linked_in_records"

 * "Run.artifacts"

 * "Run.linked_artifacts"

 * "Run.initiated_runs"

 * "Run.values_artifact"

 * "Run.output_transforms"

 * "Run.output_artifacts"

 * "Run.input_artifacts"

 * "Run.recreated_artifacts"

 * "Run.output_collections"

 * "Run.input_collections"

 * "Run.recreated_collections"

 * "Run.output_records"

 * "Run.input_records"

 * "Run.records"

 * "Run.projects"

 * "Run.ablocks"

 * "Run.filter()"

 * "Run.query_output_artifacts()"

### Records, labels, features & schemas

Create labels and manage flexible records, e.g., for samples or
donors.

| --- | --- |
| "Record"() | Flexible records with markdown notes, dynamic registries, and sheets. |
| --- | --- |
| "ULabel"() | Simple universal labels. |
| --- | --- |

* lamindb.Record

  * "Record"

 * "Record.features"

 * "Record.is_sheet"

 * "Record.uid"

 * "Record.name"

 * "Record.description"

 * "Record.reference"

 * "Record.reference_type"

 * "Record.extra_data"

 * "Record.type"

 * "Record.schema"

 * "Record.parents"

 * "Record.input_of_runs"

 * "Record.artifacts"

 * "Record.runs"

 * "Record.transforms"

 * "Record.collections"

 * "Record.records"

 * "Record.children"

 * "Record.references"

 * "Record.projects"

 * "Record.ablocks"

 * "Record.linked_records"

 * "Record.linked_users"

 * "Record.linked_runs"

 * "Record.linked_transforms"

 * "Record.linked_ulabels"

 * "Record.linked_artifacts"

 * "Record.linked_collections"

 * "Record.linked_in_records"

 * "Record.linked_references"

 * "Record.linked_projects"

 * "Record.values_json"

 * "Record.values_record"

 * "Record.values_ulabel"

 * "Record.values_user"

 * "Record.values_run"

 * "Record.values_artifact"

 * "Record.values_collection"

 * "Record.values_transform"

 * "Record.values_reference"

 * "Record.values_project"

 * "Record.from_dataframe()"

 * "Record.save()"

 * "Record.query_parents()"

 * "Record.query_children()"

 * "Record.query_records()"

 * "Record.to_dataframe()"

 * "Record.to_artifact()"

* lamindb.ULabel

  * "ULabel"

 * "ULabel.uid"

 * "ULabel.name"

 * "ULabel.description"

 * "ULabel.reference"

 * "ULabel.reference_type"

 * "ULabel.type"

 * "ULabel.parents"

 * "ULabel.artifacts"

 * "ULabel.linked_in_records"

 * "ULabel.branches"

 * "ULabel.runs"

 * "ULabel.transforms"

 * "ULabel.ulabels"

 * "ULabel.children"

 * "ULabel.collections"

 * "ULabel.projects"

 * "ULabel.ablocks"

 * "ULabel.query_ulabels()"

Define features & schemas to validate artifacts & records.

| --- | --- |
| "Feature" | Measurable properties such as columns of a sheet. |
| () |
| --- | --- |
| "Schema"() | Schemas of datasets such as column sets of dataframes. |
| --- | --- |

* lamindb.Feature

  * "Feature"

 * "Feature.dtype_as_str"

 * "Feature.dtype_as_object"

 * "Feature.uid"

 * "Feature.name"

 * "Feature.unit"

 * "Feature.description"

 * "Feature.array_rank"

 * "Feature.array_size"

 * "Feature.array_shape"

 * "Feature.synonyms"

 * "Feature.default_value"

 * "Feature.nullable"

 * "Feature.coerce"

 * "Feature.type"

 * "Feature.schemas"

 * "Feature.features"

 * "Feature.values"

 * "Feature.projects"

 * "Feature.ablocks"

 * "Feature.from_dataframe()"

 * "Feature.from_dict()"

 * "Feature.is_null()"

 * "Feature.query_features()"

 * "Feature.save()"

 * "Feature.with_config()"

* lamindb.Schema

  * "Schema"

 * "Schema.members"

 * "Schema.dtype"

 * "Schema.index"

 * "Schema.slots"

 * "Schema.optionals"

 * "Schema.uid"

 * "Schema.name"

 * "Schema.description"

 * "Schema.n_members"

 * "Schema.coerce"

 * "Schema.flexible"

 * "Schema.itype"

 * "Schema.otype"

 * "Schema.hash"

 * "Schema.minimal_set"

 * "Schema.ordered_set"

 * "Schema.maximal_set"

 * "Schema.type"

 * "Schema.components"

 * "Schema.features"

 * "Schema.schemas"

 * "Schema.composites"

 * "Schema.validated_artifacts"

 * "Schema.artifacts"

 * "Schema.records"

 * "Schema.projects"

 * "Schema.ablocks"

 * "Schema.from_values()"

 * "Schema.from_dataframe()"

 * "Schema.query_schemas()"

 * "Schema.save()"

 * "Schema.add_optional_features()"

 * "Schema.remove_optional_features()"

 * "Schema.describe()"

### Managing operations

| --- | --- |
| "Project" | Projects to label artifacts, transforms, records, and runs. |
| () |
| --- | --- |
| "Storage" | Storage locations of artifacts such as local directories or S3 buckets. |
| () |
| --- | --- |
| "User"() | Users. |
| --- | --- |
| "Branch"() | Branches for change management with archive and trash states. |
| --- | --- |
| "Space"() | Spaces for access permissions. |
| --- | --- |
| "Collecti | Versioned collections of artifacts. |
| on"() |
| --- | --- |
| "Referenc | References such as internal studies, papers, documents, or URLs. |
| e"() |
| --- | --- |

* lamindb.Project

  * "Project"

 * "Project.uid"

 * "Project.name"

 * "Project.description"

 * "Project.abbr"

 * "Project.url"

 * "Project.start_date"

 * "Project.end_date"

 * "Project.type"

 * "Project.parents"

 * "Project.predecessors"

 * "Project.artifacts"

 * "Project.transforms"

 * "Project.runs"

 * "Project.ulabels"

 * "Project.features"

 * "Project.schemas"

 * "Project.linked_in_records"

 * "Project.records"

 * "Project.collections"

 * "Project.references"

 * "Project.blocks"

 * "Project.users"

 * "Project.branches"

 * "Project.projects"

 * "Project.children"

 * "Project.successors"

 * "Project.ablocks"

 * "Project.query_projects()"

* lamindb.Storage

  * "Storage"

 * "Storage.host"

 * "Storage.path"

 * "Storage.uid"

 * "Storage.root"

 * "Storage.description"

 * "Storage.type"

 * "Storage.region"

 * "Storage.instance_uid"

 * "Storage.artifacts"

 * "Storage.save()"

 * "Storage.delete()"

* lamindb.User

  * "User"

 * "User.uid"

 * "User.handle"

 * "User.name"

 * "User.created_at"

 * "User.updated_at"

 * "User.linked_in_records"

 * "User.artifacts"

 * "User.branches"

 * "User.created_runs"

 * "User.created_transforms"

 * "User.created_artifacts"

 * "User.projects"

* lamindb.Branch

  * "Branch"

 * "Branch.status"

 * "Branch.notes"

 * "Branch.name"

 * "Branch.uid"

 * "Branch.description"

 * "Branch.created_at"

 * "Branch.space"

 * "Branch.created_by"

 * "Branch.users"

 * "Branch.ulabels"

 * "Branch.projects"

 * "Branch.ablocks"

* lamindb.Space

  * "Space"

 * "Space.name"

 * "Space.uid"

 * "Space.description"

 * "Space.created_at"

 * "Space.created_by"

 * "Space.ablocks"

* lamindb.Collection

  * "Collection"

 * "Collection.transform"

 * "Collection.name"

 * "Collection.ordered_artifacts"

 * "Collection.data_artifact"

 * "Collection.uid"

 * "Collection.key"

 * "Collection.description"

 * "Collection.hash"

 * "Collection.reference"

 * "Collection.reference_type"

 * "Collection.meta_artifact"

 * "Collection.ulabels"

 * "Collection.input_of_runs"

 * "Collection.recreating_runs"

 * "Collection.artifacts"

 * "Collection.linked_in_records"

 * "Collection.records"

 * "Collection.references"

 * "Collection.projects"

 * "Collection.ablocks"

 * "Collection.get()"

 * "Collection.append()"

 * "Collection.open()"

 * "Collection.mapped()"

 * "Collection.cache()"

 * "Collection.load()"

 * "Collection.save()"

 * "Collection.restore()"

 * "Collection.view_lineage()"

* lamindb.Reference

  * "Reference"

 * "Reference.uid"

 * "Reference.name"

 * "Reference.description"

 * "Reference.abbr"

 * "Reference.url"

 * "Reference.pubmed_id"

 * "Reference.doi"

 * "Reference.text"

 * "Reference.date"

 * "Reference.type"

 * "Reference.artifacts"

 * "Reference.transforms"

 * "Reference.collections"

 * "Reference.linked_in_records"

 * "Reference.records"

 * "Reference.references"

 * "Reference.projects"

 * "Reference.query_references()"

### Basic utilities

Connecting, viewing database content, accessing settings & run
context.

| --- | --- |
| "DB"(inst | Query any registry of any instance. |
| ance) |
| --- | --- |
| "connect" | Connect the default database. |
| ([instanc |
| e]) |
| --- | --- |
| "view"(*[, | View metadata. |
| limit, |
| modules, |
| registrie |
| s, df]) |
| --- | --- |
| "save"(re | Bulk save objects. |
| cords[, i |
| gnore_con |
| flicts, b |
| atch_size |
| ]) |
| --- | --- |
| "UPath"(* | Path-like access to files. |
| args[, |
| protocol, |
| chain_par |
| ser]) |
| --- | --- |
| "settings" | Global live settings ("Settings"). |
| --- | --- |
| "context" | Global run context ("Context"). |
| --- | --- |

* lamindb.DB

  * "DB"

 * "DB.Artifact"

 * "DB.Collection"

 * "DB.Transform"

 * "DB.Run"

 * "DB.User"

 * "DB.Storage"

 * "DB.Feature"

 * "DB.ULabel"

 * "DB.Record"

 * "DB.Schema"

 * "DB.Project"

 * "DB.Reference"

 * "DB.Branch"

 * "DB.Space"

 * "DB.bionty"

 * "DB.pertdb"

 * "DB.view()"

* lamindb.connect

  * "connect()"

* lamindb.view

  * "view()"

* lamindb.save

  * "save()"

* lamindb.UPath

  * "UPath"

 * "UPath.parts"

 * "UPath.anchor"

 * "UPath.parent"

 * "UPath.parents"

 * "UPath.info"

 * "UPath.drive"

 * "UPath.root"

 * "UPath.modified"

 * "UPath.from_uri()"

 * "UPath.cwd()"

 * "UPath.home()"

 * "UPath.from_auth()"

 * "UPath.with_segments()"

 * "UPath.with_name()"

 * "UPath.joinpath()"

 * "UPath.iterdir()"

 * "UPath.readlink()"

 * "UPath.copy()"

 * "UPath.copy_into()"

 * "UPath.move()"

 * "UPath.move_into()"

 * "UPath.symlink_to()"

 * "UPath.mkdir()"

 * "UPath.open()"

 * "UPath.stat()"

 * "UPath.lstat()"

 * "UPath.chmod()"

 * "UPath.exists()"

 * "UPath.is_dir()"

 * "UPath.is_file()"

 * "UPath.is_mount()"

 * "UPath.is_symlink()"

 * "UPath.is_junction()"

 * "UPath.is_block_device()"

 * "UPath.is_char_device()"

 * "UPath.is_fifo()"

 * "UPath.is_socket()"

 * "UPath.is_reserved()"

 * "UPath.expanduser()"

 * "UPath.glob()"

 * "UPath.rglob()"

 * "UPath.owner()"

 * "UPath.group()"

 * "UPath.absolute()"

 * "UPath.is_absolute()"

 * "UPath.resolve()"

 * "UPath.touch()"

 * "UPath.lchmod()"

 * "UPath.unlink()"

 * "UPath.rmdir()"

 * "UPath.rename()"

 * "UPath.replace()"

 * "UPath.as_uri()"

 * "UPath.as_posix()"

 * "UPath.samefile()"

 * "UPath.relative_to()"

 * "UPath.is_relative_to()"

 * "UPath.hardlink_to()"

 * "UPath.full_match()"

 * "UPath.match()"

 * "UPath.synchronize_to()"

 * "UPath.upload_from()"

 * "UPath.to_url()"

 * "UPath.download_to()"

 * "UPath.view_tree()"

* lamindb.settings

  * "settings"

* lamindb.context

  * "context"

### Curators and integrations

| --- | --- |
| "curators" | Curators. |
| --- | --- |
| "integrat | Integrations. |
| ions" |
| --- | --- |

* lamindb.curators

  * High-level curators

 * "DataFrameCurator"

 * "DataFrameCurator.cat"

 * "DataFrameCurator.standardize()"

 * "DataFrameCurator.validate()"

 * "DataFrameCurator.save_artifact()"

 * "AnnDataCurator"

 * "MuDataCurator"

 * "SpatialDataCurator"

 * "TiledbsomaExperimentCurator"

  * Low-level module

 * lamindb.curators.core

 * "Curator"

 * "Curator.validate()"

 * "Curator.save_artifact()"

 * "SlotsCurator"

 * "SlotsCurator.slots"

 * "SlotsCurator.validate()"

 * "SlotsCurator.save_artifact()"

 * "ComponentCurator"

 * "ComponentCurator.cat"

 * "ComponentCurator.standardize()"

 * "ComponentCurator.validate()"

 * "CatVector"

 * "CatVector.values"

 * "CatVector.is_validated"

 * "CatVector.validate()"

 * "CatVector.standardize()"

 * "CatVector.add_new()"

 * "CatLookup"

 * "DataFrameCatManager"

 * "DataFrameCatManager.non_validated"

 * "DataFrameCatManager.categoricals"

 * "DataFrameCatManager.lookup()"

 * "DataFrameCatManager.validate()"

 * "DataFrameCatManager.standardize()"

 * "DataFrameCatManager.add_new_from()"

* lamindb.integrations

  * Modules

 * lamindb.integrations.lightning

 * Main API

 * "Checkpoint"

 * "Checkpoint.base_prefix"

 * "Checkpoint.checkpoint_key_prefix"

 * "Checkpoint.setup()"

 * "Checkpoint.resolve_artifact_storage_uri()"

 * "Checkpoint.resolve_artifact_key()"

 * "Checkpoint.save_checkpoint_artifact()"

 * "Checkpoint.save_config_artifact()"

 * "Checkpoint.save_hparams_artifact()"

 * "save_lightning_features()"

 * Auxiliary classes

 * "ArtifactPublishingModelCheckpoint"

 * "ArtifactPublishingModelCheckpoint.last_checkpoint_artifa
 ct"

 * "ArtifactPublishingModelCheckpoint.last_config_artifact"

 * "ArtifactPublishingModelCheckpoint.last_hparams_artifact"

 * "ArtifactPublishingModelCheckpoint.last_artifact_event"

 * "ArtifactPublishingModelCheckpoint.get_last_artifact()"

 * "ArtifactPublishingModelCheckpoint.add_artifact_observer(
 )"

 * "ArtifactPublishingModelCheckpoint.remove_artifact_observ
 er()"

 * "ArtifactPublishingModelCheckpoint.resolve_artifact_stora
 ge_uri()"

 * "ArtifactPublishingModelCheckpoint.resolve_artifact_key()"

 * "ArtifactPublishingModelCheckpoint.on_artifact_saved()"

 * "ArtifactPublishingModelCheckpoint.on_artifact_removed()"

 * "ArtifactPublishingModelCheckpoint.save_checkpoint_artifa
 ct()"

 * "ArtifactPublishingModelCheckpoint.save_config_artifact()"

 * "ArtifactPublishingModelCheckpoint.save_hparams_artifact(
 )"

 * "SaveConfigCallback"

 * "SaveConfigCallback.setup()"

 * "ArtifactSavedEvent"

 * "ArtifactRemovedEvent"

 * "ArtifactRemovedEvent.artifact"

 * "ArtifactRemovedEvent.storage_uri"

  * Functions

 * "save_vitessce_config()"

 * "save_tiledbsoma_experiment()"

 * "curate_from_croissant()"

### Examples, errors & setup

| --- | --- |
| "examples" | Examples. |
| --- | --- |
| "errors" | Errors. |
| --- | --- |
| "setup" | Setup & configure LaminDB. |
| --- | --- |

* lamindb.examples

  * lamindb.examples.schemas

 * "valid_features()"

 * "anndata_ensembl_gene_ids_and_valid_features_in_obs()"

  * lamindb.examples.datasets

 * The mini immuno dataset

 * lamindb.examples.datasets.mini_immuno

 * Datasets

 * "get_dataset1()"

 * "get_dataset2()"

 * Schemas

 * "define_features_labels()"

 * "define_mini_immuno_schema_flexible()"

 * Utilities

 * "save_mini_immuno_datasets()"

 * Small in-memory datasets

 * "anndata_with_obs()"

 * Files

 * "file_fcs()"

 * "file_fcs_alpert19()"

 * "file_tsv_rnaseq_nfcore_salmon_merged_gene_counts()"

 * "file_jpg_paradisi05()"

 * "file_tiff_suo22()"

 * "file_fastq()"

 * "file_bam()"

 * "file_mini_csv()"

 * Directories

 * "dir_scrnaseq_cellranger()"

 * "dir_iris_images()"

 * Dictionary, Dataframe, AnnData, MuData, SpatialData

 * "dict_cellxgene_uns()"

 * "df_iris()"

 * "df_iris_in_meter()"

 * "df_iris_in_meter_study1()"

 * "df_iris_in_meter_study2()"

 * "anndata_mouse_sc_lymph_node()"

 * "anndata_human_immune_cells()"

 * "anndata_pbmc68k_reduced()"

 * "anndata_file_pbmc68k_test()"

 * "anndata_pbmc3k_processed()"

 * "anndata_suo22_Visium10X()"

 * "anndata_visium_mouse_cellxgene()"

 * "mudata_papalexi21_subset()"

 * "schmidt22_crispra_gws_IFNG()"

 * "schmidt22_perturbseq()"

 * "spatialdata_blobs()"

 * Other

 * "fake_bio_notebook_titles()"

  * lamindb.examples.cellxgene

 * "save_cellxgene_defaults()"

 * "create_cellxgene_schema()"

  * lamindb.examples.croissant

 * "mini_immuno()"

  * lamindb.examples.mlflow

 * "save_mlflow_features()"

  * lamindb.examples.wandb

 * "save_wandb_features()"

* lamindb.errors

  * "ObjectDoesNotExist"

  * "MultipleObjectsReturned"

  * "ValidationError"

  * "InvalidArgument"

  * "NotebookNotSaved"

  * "UnknownStorageLocation"

  * "MissingContextUID"

  * "UpdateContext"

  * "IntegrityError"

  * "FieldValidationError"

  * "BlobHashNotFound"

  * "FileNotInDevDir"

  * "BranchAlreadyExists"

* lamindb.setup

  * Basic operations

 * "login()"

 * "logout()"

 * "init()"

 * "disconnect()"

 * "delete()"

  * Change management

 * "switch()"

 * "merge()"

  * Modules & settings

 * lamindb.setup.settings

 * "settings"

 * lamindb.setup.core

 * Settings

 * "SetupSettings"

 * "SetupSettings.modules_warning"

 * "SetupSettings.modules"

 * "SetupSettings.settings_dir"

 * "SetupSettings.auto_connect"

 * "SetupSettings.dev_dir"

 * "SetupSettings.branch"

 * "SetupSettings.space"

 * "SetupSettings.is_connected"

 * "SetupSettings.is_configured"

 * "SetupSettings.private_django_api"

 * "SetupSettings.user"

 * "SetupSettings.instance"

 * "SetupSettings.storage"

 * "SetupSettings.cache_dir"

 * "SetupSettings.paths"

 * "UserSettings"

 * "UserSettings.handle"

 * "UserSettings.email"

 * "UserSettings.api_key"

 * "UserSettings.password"

 * "UserSettings.access_token"

 * "UserSettings.uid"

 * "UserSettings.name"

 * "UserSettings.id"

 * "InstanceSettings"

 * "InstanceSettings.owner"

 * "InstanceSettings.name"

 * "InstanceSettings.keep_artifacts_local"

 * "InstanceSettings.storage"

 * "InstanceSettings.local_storage"

 * "InstanceSettings.slug"

 * "InstanceSettings.git_repo"

 * "InstanceSettings.api_url"

 * "InstanceSettings.ui_url"

 * "InstanceSettings.is_read_only_connection"

 * "InstanceSettings.available_spaces"

 * "InstanceSettings.uid"

 * "InstanceSettings.modules"

 * "InstanceSettings.db"

 * "InstanceSettings.dialect"

 * "InstanceSettings.vendor"

 * "InstanceSettings.is_remote"

 * "InstanceSettings.is_on_hub"

 * "InstanceSettings.is_managed_by_hub"

 * "StorageSettings"

 * "StorageSettings.uid"

 * "StorageSettings.instance_uid"

 * "StorageSettings.record"

 * "StorageSettings.hub_record"

 * "StorageSettings.root"

 * "StorageSettings.root_as_str"

 * "StorageSettings.cache_dir"

 * "StorageSettings.type_is_cloud"

 * "StorageSettings.host"

 * "StorageSettings.region"

 * "StorageSettings.type"

 * "StorageSettings.is_on_hub"

 * "StorageSettings.cloud_to_local()"

 * "StorageSettings.cloud_to_local_no_update()"

 * "StorageSettings.key_to_filepath()"

 * "StorageSettings.local_filepath()"

 * lamindb.setup.django

 * "django()"

 * lamindb.setup.errors

 * "CurrentInstanceNotConfigured"

 * "ModuleWasntConfigured"

 * "StorageAlreadyManaged"

 * "StorageNotEmpty"

 * "InstanceLockedException"

 * "SettingsEnvFileOutdated"

 * "CannotSwitchDefaultInstance"

 * "InstanceNotFoundError"

 * "InstanceNotCreated"

 * "NoAccessTokenError"

 * "NoWriteAccess"

 * lamindb.setup.types

 * "AnyPathStr"

 * "StorageType"

  * Migration management

 * lamindb.setup.migrate

 * "migrate"

 * "migrate.create()"

 * "migrate.deploy()"

 * "migrate.squash()"

 * "migrate.show()"

 * "migrate.defined_migrations()"

 * "migrate.deployed_migrations()"

### Developer API

| --- | --- |
| "base" | Base library. |
| --- | --- |
| "core" | Core library. |
| --- | --- |
| "models" | Auxiliary models & database library. |
| --- | --- |

* lamindb.base

  * Modules

 * lamindb.base.uids

 * Base generators

 * "base26()"

 * "base62()"

 * "base64()"

 * UID generators

 * "base62_8()"

 * "base62_12()"

 * "base62_16()"

 * "base62_20()"

 * Collision probabilities

 * lamindb.base.types

 * Classes

 * "CanonicalSuffix"

 * "CanonicalSuffix.simple_formats"

 * "CanonicalSuffix.composite_formats"

 * "CanonicalSuffix.encoding_formats"

 * "CanonicalSuffix.from_path()"

 * "CanonicalSuffix.extract_from_path()"

 * Simple types

 * "ArtifactKind"

 * "TransformKind"

 * "BlockKind"

 * "BranchStatus"

 * "RunStatus"

 * "SimpleDtype"

 * "SimpleDtypeStr"

 * "SimpleDvalue"

 * "DtypeStr"

 * Basic types

 * "AnyPathStr"

 * "StrField"

 * "ListLike"

 * "FieldAttr"

 * lamindb.base.fields

 * "CharField"

 * "TextField"

 * "ForeignKey"

 * "BooleanField"

 * "DateField"

 * "DateTimeField"

 * "BigIntegerField"

 * "IntegerField"

 * "OneToOneField"

 * "FloatField"

 * "DecimalField"

 * "BinaryField"

 * "JSONField"

 * "EmailField"

 * "TimeField"

 * "SlugField"

 * "URLField"

 * "UUIDField"

 * "PositiveIntegerField"

 * "PositiveSmallIntegerField"

 * "SmallIntegerField"

 * "GenericIPAddressField"

 * "DurationField"

 * lamindb.base.utils

 * "doc_args()"

 * "deprecated()"

 * "class_and_instance_method()"

 * "strict_classmethod()"

* lamindb.core

  * lamindb.core.Settings

 * "Settings"

 * "Settings.creation"

 * "Settings.annotation"

 * "Settings.track_run_inputs"

 * "Settings.sync_git_repo"

 * "Settings.storage"

 * "Settings.instance_uid"

 * "Settings.cache_dir"

 * "Settings.local_storage"

 * "Settings.verbosity"

  * lamindb.core.subsettings

 * "CreationSettings"

 * "CreationSettings.search_names"

 * "CreationSettings.artifact_skip_size_hash"

 * "CreationSettings.artifact_silence_missing_run_warning"

 * "AnnotationSettings"

 * "AnnotationSettings.n_max_records"

  * lamindb.core.Context

 * "Context"

 * "Context.transform"

 * "Context.description"

 * "Context.uid"

 * "Context.version"

 * "Context.project"

 * "Context.space"

 * "Context.branch"

 * "Context.run"

  * lamindb.core.loaders

 * "SUPPORTED_SUFFIXES"

 * "load_fcs()"

 * "load_tsv()"

 * "load_h5ad()"

 * "load_h5mu()"

 * "load_html()"

 * "load_json()"

 * "load_image()"

 * "load_svg()"

  * lamindb.core.MappedCollection

 * "MappedCollection"

 * "MappedCollection.shape"

 * "MappedCollection.original_shapes"

 * "MappedCollection.closed"

 * "MappedCollection.torch_worker_init_fn()"

 * "MappedCollection.check_vars_sorted()"

 * "MappedCollection.check_vars_non_aligned()"

 * "MappedCollection.get_label_weights()"

 * "MappedCollection.get_merged_labels()"

 * "MappedCollection.get_merged_categories()"

 * "MappedCollection.close()"

  * lamindb.core.storage

 * "AnnDataAccessor"

 * "AnnDataAccessor.closed"

 * "AnnDataAccessor.close()"

 * "AnnDataAccessor.add_column()"

 * "SpatialDataAccessor"

 * "BackedAccessor"

  * lamindb.core.logger

 * "logger"

* lamindb.models

  * Registry basics

 * "BaseSQLRecord"

 * "BaseSQLRecord.filter()"

 * "BaseSQLRecord.get()"

 * "BaseSQLRecord.to_dataframe()"

 * "BaseSQLRecord.search()"

 * "BaseSQLRecord.lookup()"

 * "BaseSQLRecord.connect()"

 * "BaseSQLRecord.save()"

 * "BaseSQLRecord.describe()"

 * "BaseSQLRecord.delete()"

 * "SQLRecord"

 * "SQLRecord.notes"

 * "SQLRecord.is_locked"

 * "SQLRecord.branch"

 * "SQLRecord.created_on"

 * "SQLRecord.space"

 * "SQLRecord.restore()"

 * "SQLRecord.delete()"

 * "Registry"

 * "BasicQuerySet"

 * "BasicQuerySet.filter()"

 * "BasicQuerySet.to_dataframe()"

 * "BasicQuerySet.describe()"

 * "BasicQuerySet.delete()"

 * "BasicQuerySet.to_list()"

 * "BasicQuerySet.first()"

 * "BasicQuerySet.one()"

 * "BasicQuerySet.one_or_none()"

 * "BasicQuerySet.search()"

 * "BasicQuerySet.lookup()"

 * "BasicQuerySet.validate()"

 * "BasicQuerySet.inspect()"

 * "BasicQuerySet.standardize()"

 * "QuerySet"

 * "QuerySet.get()"

 * "QuerySet.filter()"

 * "SQLRecordSettings"

 * "SQLRecordSettings.single_space"

  * Mixins for registries

 * "IsVersioned"

 * "IsVersioned.stem_uid"

 * "IsVersioned.version"

 * "IsVersioned.versions"

 * "HasType"

 * "HasType.settings"

 * "HasType.query_types()"

 * "HasParents"

 * "HasParents.view_parents()"

 * "HasParents.view_children()"

 * "HasParents.query_parents()"

 * "HasParents.query_children()"

 * "CanCurate"

 * "CanCurate.inspect()"

 * "CanCurate.validate()"

 * "CanCurate.from_values()"

 * "CanCurate.standardize()"

 * "CanCurate.add_synonym()"

 * "CanCurate.remove_synonym()"

 * "CanCurate.set_abbr()"

 * "TracksRun"

 * "TracksRun.created_by_id"

 * "TracksRun.created_by"

 * "TracksRun.run_id"

 * "TracksRun.run"

 * "TracksUpdates"

  * Managers

 * "FeatureManager"

 * "FeatureManager.slots"

 * "FeatureManager.describe()"

 * "FeatureManager.get_values()"

 * "FeatureManager.add_values()"

 * "FeatureManager.set_values()"

 * "FeatureManager.remove_values()"

 * "LabelManager"

 * "LabelManager.describe()"

 * "LabelManager.add()"

 * "LabelManager.get()"

 * "LabelManager.add_from()"

 * "QueryManager"

 * "QueryManager.to_list()"

 * "QueryManager.to_dataframe()"

 * "QueryManager.search()"

 * "QueryManager.lookup()"

 * "QueryManager.get_queryset()"

 * "RelatedManager"

 * "RelatedManager.add()"

 * "RelatedManager.set()"

 * "RelatedManager.remove()"

 * "RelatedManager.clear()"

  * Annotations of objects

 * "JsonValue"

 * "JsonValue.value"

 * "JsonValue.hash"

 * "JsonValue.feature"

 * "JsonValue.runs"

 * "JsonValue.artifacts"

 * "JsonValue.get_or_create()"

 * "ArtifactArtifact"

 * "ArtifactArtifact.artifact"

 * "ArtifactArtifact.value"

 * "ArtifactArtifact.feature"

 * "ArtifactJsonValue"

 * "ArtifactJsonValue.artifact"

 * "ArtifactJsonValue.jsonvalue"

 * "ArtifactProject"

 * "ArtifactProject.artifact"

 * "ArtifactProject.project"

 * "ArtifactProject.feature"

 * "ArtifactRecord"

 * "ArtifactRecord.artifact"

 * "ArtifactRecord.record"

 * "ArtifactRecord.feature"

 * "ArtifactReference"

 * "ArtifactReference.artifact"

 * "ArtifactReference.reference"

 * "ArtifactReference.feature"

 * "ArtifactRun"

 * "ArtifactRun.artifact"

 * "ArtifactRun.feature"

 * "ArtifactSchema"

 * "ArtifactSchema.slot"

 * "ArtifactSchema.feature_ref_is_semantic"

 * "ArtifactSchema.artifact"

 * "ArtifactSchema.schema"

 * "ArtifactULabel"

 * "ArtifactULabel.artifact"

 * "ArtifactULabel.ulabel"

 * "ArtifactULabel.feature"

 * "ArtifactUser"

 * "ArtifactUser.artifact"

 * "ArtifactUser.user"

 * "ArtifactUser.feature"

 * "CollectionArtifact"

 * "CollectionArtifact.collection"

 * "CollectionArtifact.artifact"

 * "CollectionProject"

 * "CollectionProject.collection"

 * "CollectionProject.project"

 * "CollectionReference"

 * "CollectionReference.collection"

 * "CollectionReference.reference"

 * "CollectionULabel"

 * "CollectionULabel.collection"

 * "CollectionULabel.ulabel"

 * "CollectionULabel.feature"

 * "CollectionRecord"

 * "CollectionRecord.collection"

 * "CollectionRecord.record"

 * "CollectionRecord.feature"

 * "RunJsonValue"

 * "RunJsonValue.created_at"

 * "RunJsonValue.run"

 * "RunJsonValue.jsonvalue"

 * "RunJsonValue.created_by"

 * "RunProject"

 * "RunProject.created_at"

 * "RunProject.run"

 * "RunProject.project"

 * "RunProject.created_by"

 * "RunULabel"

 * "RunULabel.created_at"

 * "RunULabel.run"

 * "RunULabel.ulabel"

 * "RunULabel.created_by"

 * "RunRecord"

 * "RunRecord.created_at"

 * "RunRecord.run"

 * "RunRecord.record"

 * "RunRecord.feature"

 * "RunRecord.created_by"

 * "TransformProject"

 * "TransformProject.transform"

 * "TransformProject.project"

 * "TransformReference"

 * "TransformReference.transform"

 * "TransformReference.reference"

 * "TransformULabel"

 * "TransformULabel.transform"

 * "TransformULabel.ulabel"

 * "TransformTransform"

 * "TransformTransform.config"

 * "TransformTransform.successor"

 * "TransformTransform.predecessor"

 * "FeatureProject"

 * "FeatureProject.feature"

 * "FeatureProject.project"

 * "BlockProject"

 * "BlockProject.block"

 * "BlockProject.project"

 * "ULabelProject"

 * "ULabelProject.ulabel"

 * "ULabelProject.project"

 * "SchemaProject"

 * "SchemaProject.schema"

 * "SchemaProject.project"

 * "ProjectRecord"

 * "ProjectRecord.project"

 * "ProjectRecord.feature"

 * "ProjectRecord.record"

 * "SchemaComponent"

 * "SchemaComponent.slot"

 * "SchemaComponent.composite"

 * "SchemaComponent.component"

 * "SchemaFeature"

 * "SchemaFeature.schema"

 * "SchemaFeature.feature"

 * "ReferenceRecord"

 * "ReferenceRecord.reference"

 * "ReferenceRecord.feature"

 * "ReferenceRecord.record"

  * Record values

 * "RecordArtifact"

 * "RecordArtifact.record"

 * "RecordArtifact.feature"

 * "RecordArtifact.value"

 * "RecordCollection"

 * "RecordCollection.record"

 * "RecordCollection.feature"

 * "RecordCollection.value"

 * "RecordJson"

 * "RecordJson.value"

 * "RecordJson.record"

 * "RecordJson.feature"

 * "RecordProject"

 * "RecordProject.record"

 * "RecordProject.feature"

 * "RecordProject.value"

 * "RecordRecord"

 * "RecordRecord.record"

 * "RecordRecord.feature"

 * "RecordRecord.value"

 * "RecordReference"

 * "RecordReference.record"

 * "RecordReference.feature"

 * "RecordReference.value"

 * "RecordRun"

 * "RecordRun.record"

 * "RecordRun.feature"

 * "RecordRun.value"

 * "RecordTransform"

 * "RecordTransform.record"

 * "RecordTransform.feature"

 * "RecordTransform.value"

 * "RecordULabel"

 * "RecordULabel.record"

 * "RecordULabel.feature"

 * "RecordULabel.value"

 * "RecordUser"

 * "RecordUser.record"

 * "RecordUser.feature"

 * "RecordUser.value"

 * "TransformRecord"

 * "TransformRecord.transform"

 * "TransformRecord.record"

 * "TransformRecord.feature"

  * Blocks

 * "BaseBlock"

 * "BaseBlock.created_by_id"

 * "BaseBlock.created_by"

 * "Block"

 * "Block.key"

 * "Block.anchor"

 * "Block.projects"

 * "Block.children"

 * "ArtifactBlock"

 * "ArtifactBlock.artifact"

 * "BranchBlock"

 * "BranchBlock.branch"

 * "CollectionBlock"

 * "CollectionBlock.collection"

 * "FeatureBlock"

 * "FeatureBlock.feature"

 * "ProjectBlock"

 * "ProjectBlock.project"

 * "RecordBlock"

 * "RecordBlock.record"

 * "RunBlock"

 * "RunBlock.run"

 * "SchemaBlock"

 * "SchemaBlock.schema"

 * "SpaceBlock"

 * "SpaceBlock.space"

 * "TransformBlock"

 * "TransformBlock.transform"

 * "TransformBlock.line_number"

 * "ULabelBlock"

 * "ULabelBlock.ulabel"

  * Utils

 * "LazyArtifact"

 * "LazyArtifact.path"

 * "LazyArtifact.save()"

 * "InspectResult"

 * "InspectResult.df"

 * "InspectResult.validated"

 * "InspectResult.non_validated"

 * "InspectResult.frac_validated"

 * "InspectResult.n_empty"

 * "InspectResult.n_unique"

 * "InspectResult.synonyms_mapper"

 * "ValidateFields"

 * "SchemaOptionals"

 * "SchemaOptionals.get_uids()"

 * "SchemaOptionals.get()"

 * "SchemaOptionals.set()"

 * "SchemaOptionals.remove()"

 * "SchemaOptionals.add()"

 * "BiontyDB"

 * "PertdbDB"