lamindb 1.11.2__tar.gz → 1.11.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lamindb-1.11.2 → lamindb-1.11.3}/PKG-INFO +3 -3
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/__init__.py +1 -1
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/schema.py +17 -5
- {lamindb-1.11.2 → lamindb-1.11.3}/pyproject.toml +2 -2
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_schema.py +6 -3
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/curators/test_curators_examples.py +5 -5
- {lamindb-1.11.2 → lamindb-1.11.3}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/.github/ISSUE_TEMPLATE/enhancement.yml +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/.github/ISSUE_TEMPLATE/usage_question.yml +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/.github/workflows/build.yml +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/.github/workflows/doc-changes.yml +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/.gitignore +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/.gitmodules +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/.pre-commit-config.yaml +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/CONTRIBUTING.md +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/LICENSE +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/README.md +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/api.md +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/arrays.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/bio-registries.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/bionty.md +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/changelog.md +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/clinicore.md +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/curate.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/acid.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/curate-any.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/delete.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/idempotency.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/import-modules.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/keep-artifacts-local.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/pydantic-pandera.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/reference-field.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/search.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/setup.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/symbol-mapping.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/test_notebooks.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/track-run-inputs.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/validate-fields.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq/visibility.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/faq.md +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/guide.md +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/includes/installation.md +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/index.md +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/lamindb.md +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/query-search.md +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/registries.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/curate_anndata_flexible.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/curate_anndata_uns.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/curate_dataframe_attrs.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/curate_dataframe_external_features.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/curate_dataframe_flexible.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/curate_dataframe_minimal_errors.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/curate_mudata.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/curate_soma_experiment.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/curate_spatialdata.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/define_mini_immuno_features_labels.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/define_mini_immuno_schema_flexible.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/define_schema_anndata_ensembl_gene_ids_and_valid_features_in_obs.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/define_schema_anndata_uns.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/define_schema_df_metadata.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/define_schema_spatialdata.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/define_valid_features.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/run_track_and_finish.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/run_track_with_params.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/run_workflow.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/save_mini_immuno_datasets.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/scripts/synced_with_git.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/storage/add-replace-cache.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/storage/anndata-accessor.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/storage/test-files/iris.data +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/storage/test_notebooks.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/storage/upload.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/storage/vitessce.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/storage.md +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/test_notebooks.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/track.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/transfer.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/docs/wetlab.md +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/_finish.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/_tracked.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/_view.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/base/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/base/dtypes.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/base/fields.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/base/ids.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/base/types.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/base/uids.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/base/users.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/_compat.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/_context.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/_mapped_collection.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/_settings.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/_sync_git.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/_track_environment.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/exceptions.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/loaders.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/storage/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/storage/_anndata_accessor.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/storage/_backed_access.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/storage/_polars_lazy_df.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/storage/_pyarrow_dataset.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/storage/_spatialdata_accessor.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/storage/_tiledbsoma.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/storage/_valid_suffixes.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/storage/_zarr.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/storage/objects.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/storage/paths.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/subsettings/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/subsettings/_annotation_settings.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/subsettings/_creation_settings.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/core/types.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/curators/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/curators/_legacy.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/curators/core.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/errors.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/cellxgene/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/cellxgene/_cellxgene.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/cellxgene/cellxgene_schema_versions.csv +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/croissant/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/croissant/mini_immuno.anndata.zarr_metadata.json +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/datasets/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/datasets/_core.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/datasets/_fake.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/datasets/_small.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/datasets/mini_immuno.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/fixtures/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/fixtures/sheets.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/schemas/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/schemas/_anndata.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/schemas/_simple.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/integrations/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/integrations/_croissant.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/integrations/_vitessce.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0069_squashed.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0070_lamindbv1_migrate_data.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0071_lamindbv1_migrate_schema.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0072_remove_user__branch_code_remove_user_aux_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0073_merge_ourprojects.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0074_lamindbv1_part4.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0075_lamindbv1_part5.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0076_lamindbv1_part6.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0077_lamindbv1_part6b.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0078_lamindbv1_part6c.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0079_alter_rundata_value_json_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0080_polish_lamindbv1.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0081_revert_textfield_collection.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0082_alter_feature_dtype.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0083_alter_feature_is_type_alter_flextable_is_type_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0084_alter_schemafeature_feature_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0085_alter_feature_is_type_alter_flextable_is_type_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0086_various.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0087_rename__schemas_m2m_artifact_feature_sets_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0088_schema_components.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0089_subsequent_runs.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0090_runproject_project_runs.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0091_alter_featurevalue_options_alter_space_options_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0092_alter_artifactfeaturevalue_artifact_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0093_alter_schemacomponent_unique_together.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0094_writeloglock_writelogmigrationstate_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0095_remove_rundata_flextable.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0096_remove_artifact__param_values_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0097_remove_schemaparam_param_remove_paramvalue_param_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0098_alter_feature_type_alter_project_type_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0099_alter_writelog_seqno.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0100_branch_alter_artifact__branch_code_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0101_alter_artifact_hash_alter_feature_name_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0102_remove_writelog_branch_code_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0103_remove_writelog_migration_state_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0104_alter_branch_uid.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0105_record_unique_name.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0106_transfer_data_migration.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0107_add_schema_to_record.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0108_remove_record_sheet_remove_sheetproject_sheet_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0109_record_input_of_runs_alter_record_run_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0110_rename_values_artifacts_record_linked_artifacts.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0111_remove_record__sort_order.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0112_alter_recordartifact_feature_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0113_lower_case_branch_and_space_names.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0114_alter_run__status_code.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0115_alter_space_uid.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0116_remove_artifact_unique_artifact_storage_key_hash_and_more.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0117_fix_artifact_storage_hash_unique_constraints.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0118_alter_recordproject_value_projectrecord.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0119_rename_records_project_linked_in_records.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0119_squashed.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0120_add_record_fk_constraint.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0121_recorduser.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/_describe.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/_django.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/_feature_manager.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/_from_values.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/_is_versioned.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/_label_manager.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/_relations.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/artifact.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/artifact_set.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/can_curate.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/collection.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/feature.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/has_parents.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/project.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/query_manager.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/query_set.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/record.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/run.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/save.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/sqlrecord.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/storage.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/transform.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/models/ulabel.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/py.typed +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/setup/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/setup/_switch.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/setup/core/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/setup/errors/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/lamindb/setup/types/__init__.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/noxfile.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/conftest.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/_dataset_fixtures.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/conftest.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/notebooks/basic-r-notebook.Rmd.cleaned.html +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/notebooks/basic-r-notebook.Rmd.html +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/notebooks/duplicate/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/notebooks/no-title.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/scripts/duplicate1/script-to-test-versioning.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/scripts/duplicate2/script-to-test-versioning.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/scripts/duplicate3/script-to-test-versioning.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/scripts/duplicate4/script-to-test-versioning.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/scripts/duplicate5/script-to-test-versioning.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/scripts/script-to-test-filename-change.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/scripts/script-to-test-versioning.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_artifact.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_artifact_folders.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_can_curate.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_collection.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_data.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_db.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_delete.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_describe_and_df_calls.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_dtype.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_feature.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_feature_label_manager.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_from_values.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_has_parents.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_integrity.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_load.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_manager.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_models.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_notebooks.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_queryset.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_run.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_save.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_search.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_settings.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_sqlrecord.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_storage.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_track.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_tracked.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_transform.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_ulabel.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_versioning.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_view.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/core/test_visibility.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/curators/conftest.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/curators/test_cat_managers.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/curators/test_curate_from_croissant.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/curators/test_curators_general.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/curators/test_curators_multivalue.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/curators/test_cxg_curator.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/curators/test_dataframe_curators_accounting_example.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/curators/test_records.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/permissions/conftest.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/permissions/jwt_utils.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/permissions/scripts/check_lamin_dev.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/permissions/scripts/clean_lamin_dev.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/permissions/scripts/setup_access.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/permissions/scripts/setup_instance.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/permissions/test_permissions.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/storage/conftest.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/storage/test_artifact_storage.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/storage/test_artifact_zarr.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/storage/test_cache.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/storage/test_connect_reconnect.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/storage/test_storage_lifecycle.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/storage/test_streaming.py +0 -0
- {lamindb-1.11.2 → lamindb-1.11.3}/tests/storage/test_transfer.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: lamindb
|
3
|
-
Version: 1.11.
|
3
|
+
Version: 1.11.3
|
4
4
|
Summary: A data framework for biology.
|
5
5
|
Author-email: Lamin Labs <open-source@lamin.ai>
|
6
6
|
Requires-Python: >=3.10,<3.14
|
@@ -10,8 +10,8 @@ Classifier: Programming Language :: Python :: 3.11
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.12
|
11
11
|
Classifier: Programming Language :: Python :: 3.13
|
12
12
|
Requires-Dist: lamin_utils==0.15.0
|
13
|
-
Requires-Dist: lamin_cli==1.7.
|
14
|
-
Requires-Dist: lamindb_setup[aws]==1.10.
|
13
|
+
Requires-Dist: lamin_cli==1.7.2
|
14
|
+
Requires-Dist: lamindb_setup[aws]==1.10.2
|
15
15
|
Requires-Dist: bionty>=1.7a1
|
16
16
|
Requires-Dist: wetlab>=1.5a1
|
17
17
|
Requires-Dist: nbproject==0.11.1
|
@@ -258,6 +258,12 @@ class Schema(SQLRecord, CanCurate, TracksRun):
|
|
258
258
|
|
259
259
|
Composite schemas can have multiple slots, e.g., for an `AnnData`, one schema for slot `obs` and another one for `var`.
|
260
260
|
|
261
|
+
To create a schema, one of the following must be passed:
|
262
|
+
- `features`: A list of :class:`~lamindb.Feature` records, e.g., `[Feature(...), Feature(...)]`.
|
263
|
+
- `itype`: A registry field, e.g., `Feature` or `bionty.Gene.ensembl_gene_id`, to constrain feature identifiers to be valid identifiers of the registry.
|
264
|
+
- `slots`: A dictionary mapping slot names to :class:`~lamindb.Schema` objects, e.g., `{"obs": Schema(...), "var": Schema(...), "obsm": Schema(...)}`.
|
265
|
+
- `is_type=True`: To create a schema type, e.g., `ln.Schema(name="ProteinPanel", is_type=True)`.
|
266
|
+
|
261
267
|
Args:
|
262
268
|
features: `list[SQLRecord] | list[tuple[Feature, dict]] | None = None` Feature
|
263
269
|
records, e.g., `[Feature(...), Feature(...)]` or Features with their config, e.g., `[Feature(...).with_config(optional=True)]`.
|
@@ -565,6 +571,10 @@ class Schema(SQLRecord, CanCurate, TracksRun):
|
|
565
571
|
coerce_dtype=coerce_dtype,
|
566
572
|
n_features=n_features,
|
567
573
|
)
|
574
|
+
if not features and not slots and not is_type and not itype:
|
575
|
+
raise InvalidArgument(
|
576
|
+
"Please pass features or slots or itype or set is_type=True"
|
577
|
+
)
|
568
578
|
if not is_type:
|
569
579
|
schema = (
|
570
580
|
Schema.objects.using(using)
|
@@ -1211,12 +1221,14 @@ def get_type_str(dtype: str | None) -> str | None:
|
|
1211
1221
|
return type_str
|
1212
1222
|
|
1213
1223
|
|
1214
|
-
def _get_related_name(self: Schema) -> str:
|
1224
|
+
def _get_related_name(self: Schema) -> str | None:
|
1215
1225
|
related_models = dict_related_model_to_related_name(self, instance=self._state.db)
|
1216
|
-
|
1217
|
-
|
1218
|
-
|
1219
|
-
|
1226
|
+
if self.itype:
|
1227
|
+
related_name = related_models.get(
|
1228
|
+
parse_cat_dtype(self.itype, is_itype=True)["registry_str"]
|
1229
|
+
)
|
1230
|
+
return related_name
|
1231
|
+
return None
|
1220
1232
|
|
1221
1233
|
|
1222
1234
|
class SchemaFeature(BaseSQLRecord, IsLink):
|
@@ -17,8 +17,8 @@ classifiers = [
|
|
17
17
|
dependencies = [
|
18
18
|
# Lamin PINNED packages
|
19
19
|
"lamin_utils==0.15.0",
|
20
|
-
"lamin_cli==1.7.
|
21
|
-
"lamindb_setup[aws]==1.10.
|
20
|
+
"lamin_cli==1.7.2",
|
21
|
+
"lamindb_setup[aws]==1.10.2",
|
22
22
|
# Lamin OPTIONAL packages, included to avoid users forgetting about passing extras,
|
23
23
|
# which has happened very often these past years
|
24
24
|
# these are small packages with few dependencies
|
@@ -3,7 +3,7 @@ import lamindb as ln
|
|
3
3
|
import pandas as pd
|
4
4
|
import pytest
|
5
5
|
from django.db.utils import IntegrityError
|
6
|
-
from lamindb.errors import FieldValidationError, ValidationError
|
6
|
+
from lamindb.errors import FieldValidationError, InvalidArgument, ValidationError
|
7
7
|
from lamindb.models.schema import get_related_name, validate_features
|
8
8
|
|
9
9
|
|
@@ -548,7 +548,7 @@ def test_schema_already_saved_aux():
|
|
548
548
|
|
549
549
|
|
550
550
|
def test_schema_not_saved_describe():
|
551
|
-
schema = ln.Schema()
|
551
|
+
schema = ln.Schema(name="NotSavedSchema", is_type=True)
|
552
552
|
with pytest.raises(ValueError) as e:
|
553
553
|
schema.describe()
|
554
554
|
assert "Schema must be saved before describing" in str(e.value)
|
@@ -561,7 +561,10 @@ def test_schema_is_type():
|
|
561
561
|
assert BioSample.hash is None
|
562
562
|
assert BioSample.type == Sample
|
563
563
|
assert BioSample.is_type
|
564
|
-
|
564
|
+
# create a schema without any features or slots or itype or is_type=True
|
565
|
+
with pytest.raises(InvalidArgument) as e:
|
566
|
+
ln.Schema(name="TechSample", type=Sample)
|
567
|
+
assert "Please pass features or slots or itype or set is_type=True" in str(e.value)
|
565
568
|
# clean up
|
566
569
|
BioSample.delete(permanent=True)
|
567
570
|
Sample.delete(permanent=True)
|
@@ -941,14 +941,15 @@ def test_tiledbsoma_curator(clean_soma_files):
|
|
941
941
|
)
|
942
942
|
|
943
943
|
# Test with invalid dataset
|
944
|
-
with pytest.raises(ln.errors.InvalidArgument):
|
944
|
+
with pytest.raises(ln.errors.InvalidArgument) as e:
|
945
945
|
ln.curators.TiledbsomaExperimentCurator(adata, soma_schema)
|
946
|
+
assert "dataset must be SOMAExperiment-like." in str(e.value)
|
946
947
|
|
947
948
|
# Test with invalid schema
|
948
|
-
min_schema = ln.Schema(features=[]).save()
|
949
949
|
with tiledbsoma.Experiment.open("small_dataset.tiledbsoma") as experiment:
|
950
|
-
with pytest.raises(ln.errors.InvalidArgument):
|
951
|
-
ln.curators.TiledbsomaExperimentCurator(experiment, schema=
|
950
|
+
with pytest.raises(ln.errors.InvalidArgument) as e:
|
951
|
+
ln.curators.TiledbsomaExperimentCurator(experiment, schema=var_schema)
|
952
|
+
assert "Schema otype must be 'tiledbsoma'." in str(e.value)
|
952
953
|
|
953
954
|
with tiledbsoma.Experiment.open("small_dataset.tiledbsoma") as experiment:
|
954
955
|
curator = ln.curators.TiledbsomaExperimentCurator(experiment, soma_schema)
|
@@ -994,7 +995,6 @@ def test_tiledbsoma_curator(clean_soma_files):
|
|
994
995
|
# Clean up
|
995
996
|
shutil.rmtree(typo_soma_path)
|
996
997
|
artifact.delete(permanent=True)
|
997
|
-
min_schema.delete(permanent=True)
|
998
998
|
soma_schema.delete(permanent=True)
|
999
999
|
var_schema.delete(permanent=True)
|
1000
1000
|
obs_schema.delete(permanent=True)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{lamindb-1.11.2 → lamindb-1.11.3}/lamindb/examples/croissant/mini_immuno.anndata.zarr_metadata.json
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0079_alter_rundata_value_json_and_more.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0084_alter_schemafeature_feature_and_more.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0093_alter_schemacomponent_unique_together.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0096_remove_artifact__param_values_and_more.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{lamindb-1.11.2 → lamindb-1.11.3}/lamindb/migrations/0102_remove_writelog_branch_code_and_more.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|