Coder Social home page Coder Social logo

Filtering of packages about quilt HOT 4 CLOSED

quiltdata avatar quiltdata commented on May 14, 2024
Filtering of packages

from quilt.

Comments (4)

evamaxfield avatar evamaxfield commented on May 14, 2024

I think this also relates to #495 because I feel a lot of the information that could be retrieved from an inspect() call would be a good base filtering mechanism.

from quilt.

akarve avatar akarve commented on May 14, 2024

We are interested in implementing this feature and would like to gather more examples. The above filters by node_name. More generally, we could support regex matching for node names. What are other examples that you encounter in your workflows? The queries that we need to service will strongly effect the design.

Does it make sense to support the attachment of a metadata field to each node (e.g. a single JSON doc) and then filtering on the same?

from quilt.

evamaxfield avatar evamaxfield commented on May 14, 2024

I thought about this over the weekend and I think my ideal system would be as follows:

Introduce a new keyword to the build.yml file system. 'metadata', works like a 'file' keyword but only accepts json files (json.load() must not return a failure). On construction of the package, you use whatever json is given by this field and inject the attributes like node_name or others found in an inspect() call on that node. An example is below.

If a person provides a metadata file it would look like this.

contents:
   README:
      file: this_is_a_readme.md
      transform: id
   real_file:
      file: actual_file.tiff
      transform: id
      metadata: this_files_meta.json

The above example would append the contents of an inspect() call to the provided metadata.

If a person doesn't provide a metadata file it would look like this.

contents:
   README:
      file: this_is_a_readme.md
      transform: id
   real_file:
      file: actual_file.tiff
      transform: id

The above example would generate a base metadata file that contains the contents of an inspect() call.

Why do I like this system:
It means that not only would people be able to filter on basic quilt node attributes but also allow for custom filtering by the package creator using the same system.

Other things I would really like are things like a number of rows option. Maybe I provide a query but I only want the first 10 that match. More complex would be give me depth_rows so go through each group_node and filter the files present but only return the first 10 for that group_node.

There are some other things but I would like to hear back first on what you think before I go too deep.

from quilt.

akarve avatar akarve commented on May 14, 2024

Quilt 3 packages now provide predicate filtering over package metadata.

from quilt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.