-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
💄 Create a more intuitive artifact.describe()
#2221
Comments
Here is a first draft building on @chaichontat's proposal: https://lamin.ai/laminlabs/lamindata/transform/A4EupIQ7dEWx0000 Decided against the below approaches: Will keep iterating tomorrow. |
Codefrom rich.tree import Tree from rich.text import Text from rich.table import Table, Column def highlight_time(iso: str): Define consistent column widthsNAME_WIDTH = 25 Main artifact treeartifact = Tree(Text("Artifact – h5ad", style="bold"), guide_style="dim") general = artifact.add(Text("General", style="bold green")) Labels as a branch of artifactlabels = artifact.add(Text("Labels", style="bold red")) Features as a branch of artifactfeatures = artifact.add(Text("Features", style="dark_orange bold")) Create combined tables for each feature group that include the headerdef create_feature_table(name: str, type_info: str, data: list) -> Table: External featuresexternal_data = [ Obs featuresobs_data = [ Var featuresvar_data = [ Print the complete treefrom rich import print |
A few options. Design (1) is essentially the same as the last iteration yesterday night. Source: https://lamin.ai/laminlabs/lamindata/transform/A4EupIQ7dEWx0001
|
Be careful with so many colors. They can render pretty differently on different terminals. The brighter or darker they are, the higher the risk that they will be unreadable. The dark red and dark blue that I see here are risky IMO. Generally, the biggest win for me would be https://laminlabs.slack.com/archives/C04FPE8V01W/p1729856432777079 because even now, I think that the output is nothing but confusing. Especially to people that are new to lamin. |
I'm not sure. The name
|
That's an interesting take and I'm surprised to see us misaligned on such a fundamental topic! To me, the dataset/artifact is the data on S3. The artifact object in LaminDB is a wrapper around it that contextualizes the metadata of that dataset/artifact. So, an artifact object in lamindb is not the artifact, it's just a wrapper. Of course in casual language you wouldn't make that difference, but it's important that we use the same finegrained definitions. The problem with the term |
Can you take this @sunnyosun? First thing would be to refactor all data gathering logic and separate it from the "printing logic". I already did this for the whole features part in my last PR with Claude's help:
It'll be easy for the "labels" part. |
Done here: #2225 |
artifact.describe()
artifact.describe()
@chaichontat proposed the below in early February:
Internal Slack ref.
More internal Slack refs on this topic:
The text was updated successfully, but these errors were encountered: