Skip to content
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

Adding first draft of paper #38

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Adding first draft of paper #38

wants to merge 2 commits into from

Conversation

vsoch
Copy link
Owner

@vsoch vsoch commented Jun 3, 2020

Hey @yarikoptic! Just to get you excited, here is the early draft of our paper. We of course can finish this up if/when the datalad/reproman parser is added. In the meantime, do you have ideas for other (possibly non Dartmouth work related executors) that are generally useful in the research workflow space that I might work on?

Signed-off-by: vsoch vsochat@stanford.edu

vsoch added 2 commits June 3, 2020 16:54
Signed-off-by: vsoch <vsochat@stanford.edu>
Signed-off-by: vsoch <vsochat@stanford.edu>
@yarikoptic
Copy link
Contributor

yarikoptic commented Jun 4, 2020

I would've better had us finalize datalad/reproman to possibly make it fit those use cases nicely, and then extend on demand. To my recent tweet a follow up referred me to https://github.com/pipitone/qbatch which also some to address one of the aspects of reproman - running jobs on batch systems (if you really want more ;-))

@yarikoptic
Copy link
Contributor

Ideally there should be no parsing but rather an interface to talk through

@vsoch
Copy link
Owner Author

vsoch commented Jun 4, 2020

Hmm, so queueme (at face value) is intended for the user, issuing a command on the command line, and not the "user developer." But here's an idea, perhaps instead of adding some executor to queueme here, you would import the Queue into datalad,define your custom executor / template, and then control a version of QueueMe from within the python of your software. The executors that are provided in the repo here would need to satisfy having a "scientific user" user case that derives from a command line command.

@vsoch
Copy link
Owner Author

vsoch commented Jun 4, 2020

In other words, if it cannot be triggered from a command line and is mostly an interaction to another python library API, queueme should be imported there and not the other way around. It wouldn't be logical to provide an executor here that isn't accessible by the user via command line.

@yarikoptic
Copy link
Contributor

Yes! That is pretty much what I meant by having cli/python in the original secret issue title. Also then y possibly provide their own actions (pretty much restful callbacks) to be triggered from the dashboard, and possibly even instruct which columns to be displayed etc ;-) that is why I think it would be great for us to chat at some point soon and align with those early ideas. Sorry for being slow with the reviews

@vsoch
Copy link
Owner Author

vsoch commented Jun 6, 2020

hey @yarikoptic ! Good talk yesterday! I figured I could put some thoughts here about the Datalad executor, since I thought about it last night. So - my thinking is that we could have a group of executors built into datalad that are distinguished from those based on a ShellExecutor because they aren't interacted with from a command line. E.g.,:

executors/
   __init__.py
    shell.py        (--- shell executor
    slurm.py      (--- shell executor
    datalad.py   (--- not a shell executor!

And the difference would be that there is no import to the init.py to try to match some random command on the command line to it. Instead, it would be used intentionally, and called from datalad. E.g.,:

from qme.main.executors.datalad import DataladRunExecutor
from qme.main import Queue

result = <do some datalad run thing here?>
task = DataladRunExecutor(result)
queue = Queue()
queue.add_task(task)

Or something like that? You mentioned something about a callback - how are you suggesting that would work?

@vsoch
Copy link
Owner Author

vsoch commented Jun 9, 2022

@yarikoptic I guess you never followed up here - should I close the issue? Worth developing more? Thoughts?

@yarikoptic
Copy link
Contributor

Up to you

@vsoch
Copy link
Owner Author

vsoch commented Jun 9, 2022

I think we'd need a compelling use case = I want to have one but I'm not sure that I do yet 😆

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants