Releases: laminlabs/lamindb
Releases Β· laminlabs/lamindb
Release 1.3.0
See https://docs.lamin.ai/changelog/2025#db-1-3-0
What's Changed
- β¬οΈ Upgrade lamin-cli & bionty & lamin-utils by @Zethson in #2540
- β¨ Add
FeatureManager._add_set_from_spatialdata
by @Zethson in #2539 - β¨ Implement MuDataCurator by @sunnyosun in #2543
- π¨ Integrate SDC
save_artifact
with generalsave_artifact
by @Zethson in #2545 - π Fix permissions test by @Koncopd in #2550
- β¨ Allow to pass synchronization arguments in
Artifact.cache()
by @Koncopd in #2553 - β¬οΈ Python 3.13 support by @Zethson in #2384
- β¨ Add Schema based SpatialDataCurator by @Zethson in #2552
- πΈ Refactor
organism
constraints during validation by @sunnyosun in #2554 - β»οΈ Refactor
CellxGeneAnnDataCatManager
by @sunnyosun in #2555 - β¨ Support CELLxGENE schema 5.2.0 by @sunnyosun in #2556
- β»οΈ Refactor
PertAnnDataCatManager
by @sunnyosun in #2558 - β¬οΈ Upgrade lamind-setup (fine-grained permissions) by @Koncopd in #2559
- π Fix organism requirement by @sunnyosun in #2560
- πΈ Skip
ln.track()
when connected in read-only mode by @falexwolf in #2561 - π Move non-lamindb docs to
lamin-docs
by @falexwolf in #2562 - β¨ Add
lamin get
for artifacts andlamin load
for collections by @falexwolf in #2563 - π Fix uv resolver for spatialdata by @Koncopd in #2564
- π· Move docs from Netlify to Cloudflare by @falexwolf in #2565
- πΈ Add more constructor signatures and specific inherited types by @falexwolf in #2566
- π Clean up curators API docs & the main curator guide by @falexwolf in #2567
- π Re-structure curation guides by @falexwolf in #2568
Full Changelog: 1.2.0...1.3.0
Release 1.2.0
See https://docs.lamin.ai/changelog/2025#db-1-2-0
What's Changed
- πΈ Raise
NotImplementedError
inArtifact.load()
if there is no loader by @Koncopd in #2514 - π¨ When re-creating an
Artifact
, link subsequent runs instead of updating.run
and linking previous runs by @falexwolf in #2515 - β¨ Introduce
Artifact.from_spatialdata()
and re-factor validation ofspatialdata
stores by @Zethson in #2461 - ποΈ Re-structure internal API away from monkey-patching Django models by @falexwolf in #2516
- β Test fine-grained permissions by @Koncopd in #2512
- β»οΈ Re-export link models by @falexwolf in #2523
- π Do not show track warning for read-only connections by @Koncopd in #2527
- πΈ Ignore Dask legacy DataFrame warning by @Zethson in #2525
- β»οΈ Refactor internals of legacy feature logic in
Collection
by @falexwolf in #2528 - β¬οΈ Upgrade Bionty by @Zethson in #2518
- β¨ Enable
ln.track(project="My project")
to auto-link entities to projects by @falexwolf in #2529 - πΈ Introduce
.slots
inSchema
,Curator
, andFeatureManager
to access schemas and curators by dataset slot by @sunnyosun in #2530 - π©Ή Do not overwrite
._state_db
of models when the current instance is passed to.using
by @Koncopd in #2534 - β¨ Add
.load()
for artifacts holdingSpatialData
objects by @Zethson in #2532 - π Fix passing a path manually when no path found by
nbproject
by @Koncopd in #2537 - β¬οΈ Upgrade nbproject by @Koncopd in #2541
- πΈ Do not evaluate filter on feature annotations in
.df(features=True
) by @falexwolf in #2542
Full Changelog: 1.1.1...1.2.0
Release 1.1.1
See https://docs.lamin.ai/changelog/2025#db-1-1-0
What's Changed
- π Fix docs build by @falexwolf in #2481
- π Fix related model field check in .filter by @Koncopd in #2482
- β¨ Write
Artifact.n_observations
inArtifact.from_df()
by @Koncopd in #2484 - β¨ Allow to specify
fsspec
upload options inArtifact.save
by @Koncopd in #2486 - π Automatically add missing columns upon
.standardize()
ifnullable
isTrue
by @falexwolf in #2485 - π Add
endpoint_url
option to docs by @Koncopd in #2487 - π Fix notebook re-run with same hash by @falexwolf in #2489
- π Do not resolve http links when registering by @Koncopd in #2491
- fix typo by @Zethson in #2492
- β¬οΈ Upgrade bionty by @Zethson in #2494
- π Run pip freeze with current python interpreter by @ap-- in #2495
- β¬οΈ Update submodules by @sunnyosun in #2498
- π Fix prettier pre-commit hook by @Koncopd in #2499
- πΈ Raise consistency error if a source path suffix doesn't match the artifact
key
suffix by @falexwolf in #2490 - β¨ Allow to use
Artifact.open()
andArtifact.load()
for.gz
files by @Koncopd in #2506 - β»οΈ Small corrections by @Koncopd in #2509
- π©Ή Force no compression in
Collection.mapped
even for files with.gz
extension by @Koncopd in #2510 - πΈ Better error message upon re-creation of schema with same name and different hash by @falexwolf in #2511
- πΈ Make the
obs
andvar
DataFrameCurator
objects accessible viaAnnDataCurator.slots
by @sunnyosun in #2505
Full Changelog: 1.1.0...1.1.1
Release 1.1.0
See https://docs.lamin.ai/changelog/2025#db-1-1-0
What's Changed
- π§βπ» Enable mypy again by @Zethson in #2382
- π Fix SpatialDataCurator import by @Zethson in #2387
- β¨ Check for corrupted cache in Artifact.load by @Koncopd in #2386
- π Sample level metadata is now optional in SpatialDataCurator & UX improvements by @Zethson in #2391
- β¨ Check for corrupted cache in Artifact.open by @Koncopd in #2395
- β¬οΈ Upgrade lamindb-setup (check instance modules on import) by @Koncopd in #2393
- β¨ Lamin-cli ruff by @Zethson in #2398
- β¨ Require keyword parameters for
Artifact.from_x
methods by @Zethson in #2401 - β¨ Schema-based curators:
DataFrameCurator
by @falexwolf in #2388 - β»οΈ Squash migrations by @falexwolf in #2367
- πΈ Validate existing records in the DB irrespective of whether an ontology
source
is passed or not by @sunnyosun in #2370 - πΈ Improved error message for saving via CLI by @Zethson in #2379
- β¨ Infer n_observations in Artifact.from_anndata by @Koncopd in #2404
- β¬οΈ Remove the bound on storage3 by @Koncopd in #2405
- π Move
CellxGene
Curator
fromcellxgene-lamin
here by @falexwolf in #2403 - πΈ Fix warning about artifacts in trash by @ap-- in #2406
- π Clarify Collection.append by @Koncopd in #2407
- β‘οΈ Safer resolve in check_path_is_child_of_root by @Koncopd in #2409
- πΈ Better user feedback during keyword validation in
Record
constructor by @Zethson in #2402 - π Fix NaN in categorical columns for MappedCollection by @Koncopd in #2411
- π Move
PertCurator
fromwetlab
here and addCellxGene
Curator
test by @falexwolf in #2408 - π¨ Self-contained definition of
CellxGene
schema by @falexwolf in #2412 - π Bulk-rename old-style curators to
CatCurator
by @falexwolf in #2413 - π₯ Eliminate all logic related to
using_key
in curators by @falexwolf in #2414 - β»οΈ Refactor
organism
handling in curators by @falexwolf in #2415 - β»οΈ Re-purpose
BaseCurator
asCurator
and introduceCatCurator
by @falexwolf in #2416 - π¨ Let
Curator.validate()
throw an error by @falexwolf in #2417 - β¨ Schema-based curators:
AnnDataCurator
by @falexwolf in #2418 - β¨ A first version of a
tracked()
function decorator by @falexwolf in #2422 - β¨ Support s3-compatible endpoint urls by @Koncopd in #2420
- πΈ Improve
ln.tracked()
user experience by @falexwolf in #2426 - β»οΈ Explicitly import lamindb in current_run by @Koncopd in #2427
- β¬οΈ Upgrade fsspec packages (s3fs, gcsfs, universal_pathlib) by @Koncopd in #2428
- π Fix
var_index
standardization ofSpatialDataCurator
by @Zethson in #2433 - β¨ Add Artifact.from_tiledbsoma with n_observations by @Koncopd in #2438
- π Allow filtering on np.nan in obs_filter of MappedCollection by @Koncopd in #2443
- π Robuster
var_index
curation ofSpatialDataCurator
by @Zethson in #2444 - π Fix Feature with description idempotency and πΈ improve filter and get error behavior by @Zethson in #2442
- β¨ Allow passing
artifact
toCurator
by @sunnyosun in #2441 - β¬οΈ Upgrade lamindb-setup (explicitly set version_aware and use_listings_cache) by @Koncopd in #2445
- β¬οΈ Update lamindb-setup by @Zethson in #2449
- π Fix dangling folders on upload failures by @Koncopd in #2448
- πΈ Full guarantee of avoiding duplicating
Transform
,Artifact
&Collection
in concurrent runs by @falexwolf in #2432 - πΈ Fix RemovedInDjango60Warning: CheckConstraint.check is deprecated by @Zethson in #2446
- π Fix caching logic in
Artifact.open()
by @Koncopd in #2454 - π Restore
.feature_sets
as aManyToManyField
by @falexwolf in #2453 - β¬οΈ Upgrade lamindb-setup by @Koncopd in #2460
- β»οΈ Squash migrations by @falexwolf in #2457
- β¨ Add
Collection.open()
that returnspyarrow
dataset by @Koncopd in #2462 - β¬οΈ Test purged migrations by @falexwolf in #2464
- πΈ Better error for malformed categorical dtype by @falexwolf in #2465
- β»οΈ Prettify AnnDataCurator implementation by @falexwolf in #2466
- π Rename
CatCurator
toCatManager
by @falexwolf in #2467 - β»οΈ Mark
Schema
fields as non-editable by @falexwolf in #2468 - β¨ In features, enable (1) default values and (2) filters on valid categories by @falexwolf in #2469
- β¨ Add auxiliary field
nullable
toFeature
by @falexwolf in #2471 - π Show
ln.Collection.open()
in arrays.ipynb by @Koncopd in #2472 - πΈ Make new version upon passing existing
key
toCollection
by @falexwolf in #2474 - β¨ Support endpoint_url in operations with tiledbsoma by @Koncopd in #2476
- π¨ A
ManyToMany
betweenSchema.components
and.composites
by @falexwolf in #2473 - β Add pyyaml to dependencies by @Koncopd in #2477
- π Fix
save_tiledbsoma_experiment
for paths with endpoints by @Koncopd in #2478 - π©Ή Ensure backward compat availability of
lamindb.core.exceptions
by @falexwolf in #2479
Full Changelog: 1.0.5...1.1.0
Release 0.77.4
See #2399
Full Changelog: 0.77.3...0.77.4
Release 1.0.5
See https://docs.lamin.ai/changelog/2025#db-1-0-5
What's Changed
- π· Adjust coverage calculation if a job isn't run and prettify
build.yml
by @falexwolf in #2361 - π Fix init (when the instance exists) and connect with migration for cloud sqlite instances by @Koncopd in #2373
- β Update and test replace for folder artifacts by @Koncopd in #2374
- πΈ No longer throw a
NotebookNotSaved
error inln.finish()
but wait for the user or gracefully exit by @falexwolf in #2375 - πΈ Enable users to re-run
ln.finish()
and better resolve multiple users attempting to edit the same notebook draft by @falexwolf in #2376 - π Further fixes and tests for Artifact.replace by @Koncopd in #2377
- πΈ In
ln.finish()
enhance experience of waiting for editor flush (attempt 2) by @falexwolf in #2380 - β Test folder replacement correctly by @Koncopd in #2381
Full Changelog: 1.0.4...1.0.5
Release 1.0.4
See https://docs.lamin.ai/changelog/2025#db-1-0-4
What's Changed
- π Revert
Collection.description
back to unlimited lengthTextField
by @falexwolf in #2369
Full Changelog: 1.0.3...1.0.4
Release 1.0.3
See https://docs.lamin.ai/changelog/2025#db-1-0-3
What's Changed
- π Fix docs build by dropping SpatialData type annotations on central Curator class by @falexwolf in #2364
- πΈ In
ln.track()
, do not update transformdescription
if it isNone
and improve logging in RStudio sessions by @falexwolf in #2365
Full Changelog: 1.0.2...1.0.3
Release 1.0.2
See https://docs.lamin.ai/changelog/2025#db-1-0-2
What's Changed
- π Polish migrations lamindb v1 by @falexwolf in #2363
Full Changelog: 1.0.1...1.0.2
Release 1.0.1
See https://docs.lamin.ai/changelog/2025#db-1-0-0
What's Changed
- π Block non-admin users from integrating lnschema-core by @falexwolf in #2362
Full Changelog: 1.0.0...1.0.1