Releases: laminlabs/laminr
Releases · laminlabs/laminr
laminr v0.2.0
This release adds support for creating new artifacts in a LaminDB instance.
NEW FUNCTIONALITY
- Add support for more loaders (PR #81).
Currently supported:.csv
,.h5ad
,.html
,.jpg
,.json
,.parquet
,.png
,.rds
,.svg
,.tsv
,.yaml
. - Add a
from_df()
method to theRegistry
class to create new artifacts from data frames (PR #78) - Create
TemporaryRecord
classes for new artifacts before they have been saved to the database (PR #78) - Add a
delete()
method to theRecord
class (PR #78) - Add
track()
andfinish()
methods to theInstance
class (PR #83) - Add a
from_path()
method to theRegistry
class to create new artifacts from paths (PR #85) - Add a
from_anndata()
method to theRegistry
class to create new artifacts fromAnnData
objects (PR #85) - Add RStudio add-in for saving a notebook (PR #90).
MAJOR CHANGES
- Running
connect(slug = NULL)
now connects to the default instance that is allowed to create records.
The default instance must be changed using the Lamin CLI. (PR #78) - User setting are stored in a global option the first time
connect()
is run (PR #78)
MINOR CHANGES
- Adjusted argument order in
Instance$track()
and improved Python error handling (PR #89)
TESTING
- Add a test for creating artifacts from data frames (PR #78).
- Add tests for creating artifacts from paths and
AnnData
objects (PR #85)
DOCUMENTATION
laminr v0.1.0
First CRAN release of the LaminDB API client for R. This release focuses on connecting to a LaminDB instance, fetching an individual record from the instance, and fetching related data for that record.
Features:
- Connect to a LaminDB instance
- Auto-generate modules and classes from the instance schema
- Fetch a record
- Fetch a record's related data
- Fetch record summary table
- Cache S3 artifact
- Load AnnData artifact
For more information, please visit the package website.
NEW FUNCTIONALITY
- Query instance settings from Lamin Hub (PR #8).
- Read user settings from env file created by lamin Python package (PR #2, PR #8).
- Add
to_string()
andprint()
methods to theRecord
class and (incomplete)describe()
method to theArtifact()
class (PR #22). - Add
to_string()
andprint()
methods to remaining classes (PR #31) - Add
InstanceAPI$get_records()
andRegistry$df()
methods (PR #54) - Add a
RelatedRecords
class andRelatedRecords$df()
method (PR #59)
MAJOR CHANGES
-
Refactored the internal class data structures for better modularity and extensibility (PR #8).
-
Added GitHub actions to the project (PR #11):
- Standard R-CMD-check workflow.
- Linting action.
- Commands for roxygenizing (
/document
) and restyling the source code (/style
).
-
Allow unauthenticated users to connect to an instance if they ran
lamin connect <instance>
beforehand (PR #19).
MINOR CHANGES
- Do not complain when foreign keys are not found in a record, but also do not complain when they are (PR #13).
- Define a current user and current instance with lamin-cli prior to testing and generating documentation in the CI (PR #23).
- Add progress bars to
Artifact$cache()
(PR #58) - Remove link tables from object print output (PR #55)
- Improve checking for suggested packages and provide installation instructions if missing (PR #56)
- Add the status code to API error messages (PR #70)
- Adjust colours in print output (PR #69)
- Modify
Registry
print output to separate relational fields by module (PR #71)
TESTING
- Add a simple unit test which queries laminlabs/lamindata (PR #27).
- Added unit test for the InstanceAPI class (PR #30).
- Add a regular expression to the API test for missing records (PR #70)
DOCUMENTATION
- Update
README
with new set up instructions and simplify (PR #14). - Add a
pkgdown
website to the project (PR #13). - Further simplify the
README
, and move the detailed usage description to a separate vignette (PR #13). - Generate vignettes using Quarto (PR #13).
- Add vignette to showcase laminr usage (PR #18).
- Replace all mentions of
lamin load
withlamin connect
(PR #29). - Improve the
README
(PR #29). - Set Python requirements to
lamindb[aws]
for now (PR #33). Will be changed tolamin_cli
once
laminlabs/lamin-cli#90 is solved. - Improve documentation for installing suggested dependencies and what they are required for (PR #56).
- Update the README to give a better overview of the package (PR #67).
- Rename the
usage
vignette tolaminr
and added an overview of the core concepts of LaminDB (PR #67). - Update the
architecture
vignette to relate the class structure of the package to the core concepts (PR #67). - Add a
development
vignette to document the list of current, planned and unplanned functionality (PR #67). - Add vignettes to document registries in the core, bionty, and wetlab modules (PR #67).
BUG FIXES
- Fixed the parsing of the env files in
~/.lamin
due to changes in the lamindb-setup Python package (PR #12). - Return
NULL
when a record's related field is empty (PR #28). - Add alternative error message when no message is returned from the API (PR #30).
- Handle when error detail returned by the API is a list (PR #59)
- Manually install OpenBLAS on macOS (PR #62).
- Switch to Python 3.12 for being able to install scipy on macOS (PR #66).
laminr v0.0.1
Initial POC implementation of the LaminDB API client for R.
Functionality:
- Connect to a LaminDB instance
- Fetch instance schema
- Auto-generate classes from schema
- See available modules and classes
- Get a record
- Get a record's related data
- Cache S3 artifact
- Load AnnData artifact