Skip to content
This repository was archived by the owner on May 31, 2024. It is now read-only.
This repository was archived by the owner on May 31, 2024. It is now read-only.

User-specified dependencies in runtime environment #615

Description

@bballew

Description

It would be great if there was a way to have the user specify minimal dependencies to be installed in the runtime environment.

Use Case

Specifically for Snakemake, a very common paradigm is to use pandas to read in a tab-separated manifest file and then query the dataframe with lambda functions in rules. In fact, pandas is part of the dependency chain for installing Snakemake via conda. It appears that we don't have access to pandas in the Snakemake container being used by agc. Since Snakemake is based on Python, I could see users wanting access to other Python libraries at runtime, that might not currently be installed in the Snakemake container.

Proposed Solution

  • For my specific situation, adding pandas to the dockerfile and rebuilding would do the trick.
  • For a more generalizable solution, if conda and/or pip is present in the docker container, perhaps we could write out a specification for a runtime environment in a requirements.txt or environment.yaml file. Maybe this file could be referenced in the MANIFEST.json file.
  • Alternatively, I wonder whether we could allow users to specify an alternate container.
  • Finally, if the container is being built from a recipe in this repo, would you consider accepting PRs to judiciously add dependencies?

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions