lasp / lasp/latis-python-client

Define Catalog with actual Datasets

Open
#5 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Instead of datasets being a dictionary of id and title, let's just make it a list of Datasets. (Some day we can also add nested Catalogs.) For the purpose of a convenient view, we can define __str__ on Dataset and/or Catalog to present the id and title.

Dataset is currently constructed with Metadata which eagerly reads dataset metadata from LaTiS. This is not always cheap in latis2. We can get around this by making metadata a function on Dataset so the call is made only if a user specifically asks for it. Some day, we may integrate the dataset metadata with the catalog and this problem will go away. In the mean time, we probably want at least the id and title to be members of a Dataset. We can discuss the naming and whether to use name.

We may want to review the behavior of search in another ticket, but it could use the Dataset.title for now.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Dataset, Catalog, and Metadata definitions, then inspect how search currently uses datasets. Determine how Catalog should store Dataset objects, how metadata access can be deferred, and whether id or name is the appropriate member. Done means the agreed representation supports id and title, preserves convenient display, and leaves search behavior explicitly decided.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.