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

Rolling out a Pipeline type system for dispatching on analysis details #218

Closed
SamuelBrand1 opened this issue May 13, 2024 · 4 comments · Fixed by #224
Closed

Rolling out a Pipeline type system for dispatching on analysis details #218

SamuelBrand1 opened this issue May 13, 2024 · 4 comments · Fixed by #224
Labels

Comments

@SamuelBrand1
Copy link
Collaborator

          could we be really fancy and have a pipeline type and then dispatch on standard function names to make it really easy to overload parts of the pipeline? Then to change the analysis you would just change the target type and have a write your own new methods where you wanted?

Originally posted by @seabbs in #217 (comment)

I think this is a really neat idea. I'm not implementing this in PR #217 but I think we should keep this idea going.

@seabbs
Copy link
Collaborator

seabbs commented May 13, 2024

We would want the default to depend on a abstract type right with a specific implementation for our analysis so that others could easily branch off our defaults?

To make this truly generic it would suggest two modules:

  • EpiAwarePipeline: Generic pipeline tools and implementation with an abstract type and default setting
  • RtwithoutRenewalPipeline: Anything specific that we don't want as part of the abstract type (like plotting which probably don't want in the main to be truly generic?

@SamuelBrand1
Copy link
Collaborator Author

We would want the default to depend on a abstract type right with a specific implementation for our analysis so that others could easily branch off our defaults?

To make this truly generic it would suggest two modules:

  • EpiAwarePipeline: Generic pipeline tools and implementation with an abstract type and default setting
  • RtwithoutRenewalPipeline: Anything specific that we don't want as part of the abstract type (like plotting which probably don't want in the main to be truly generic?

I'm pro this idea; but implemented as a dispatch on something like make_pipeline rather than as a module (unless you meant module in the generic language sense?)

@seabbs
Copy link
Collaborator

seabbs commented May 14, 2024

I agree it should be a dispatch for the generic EpiAwarePipeline.

I meant that you would have another module (in the package sense) that would contain the concrete type, any custom methods, and just that is not generic like plotting for the specific examples?

@SamuelBrand1
Copy link
Collaborator Author

Gotcha.

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