-
Notifications
You must be signed in to change notification settings - Fork 59
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
Implementation of proposed syntax changes #768
Open
tclose
wants to merge
345
commits into
master
Choose a base branch
from
develop
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
345 commits
Select commit
Hold shift + click to select a range
137965b
reworking docs CI
tclose 2574d8e
touching up docs deps
tclose be5d8b5
more docs deps
tclose 6491756
fixed docs ci
tclose 571ba9c
docs ci touch up
tclose c4d7468
removed restriction on release for docs deploy
tclose 4a8c42d
include ipython in docs deps
tclose 1a6b067
renamed Outputs to TaskOutputs
tclose a8ed05e
finished workflow tutorial and reworked some of the docs structure
tclose 8e88ed2
finished off the workflow tutorial for now
tclose 6f1c8e3
restructuring new docs
tclose 03546ed
more restructuring of new docs
tclose 35641b1
writing getting-starting notebook
tclose ffdfce1
renamed Spec and specification to Def and definition
tclose e317e8e
finished getting-started (apart from debugging) tutorial
tclose 720efdb
imported examples from tutorials
tclose 7a7cffd
touched up errors in first-level-glm
tclose edd682f
reinstated changes to getting-started
tclose f5276b9
touched up getting-started
tclose 8170777
converted two-level glm to new syntax
tclose 02f6a1c
more touching up of documentation
tclose 4502260
finished python task and canonical form tuts
tclose d71542f
added dependencies required for examples
tclose 70edf85
touching up tutorials
tclose 9594e75
renamed spec to definition across the board
tclose 940f004
fixed mrtrix import
tclose e15cb35
finished playing with tutorials for now
tclose 96e0b92
fixed doc dependency
tclose 3495b50
download tags to docs build
tclose ec669e1
more fixes to docs CI
tclose e95e8ff
commented out pydra-mrtrix3 dep for docs until new release
tclose b5b95d3
combined typing and hashing
tclose 1e81774
renamed help_string to help
tclose ac7ab7f
renamed make_task_spec to make_task_def
tclose 7c47eef
touch up docs
tclose 83cbbb6
touching up docs
tclose e6c488f
renamed tutorials to give natural order
tclose 88a05bb
filled out explanation sections with subheadings
tclose efa668a
more docs touch ups
tclose 9f7aa2b
connecting workflow logic to new api syntax
tclose 5cbb4df
added section on workers
tclose f639b21
renamed execution options
tclose 69b72c9
debugging workflow and shell architecture refactoring
tclose abcf93f
moved run into PythonDef
tclose e5c2556
implemented non-asynchronous "debug" worker that avoids async/await f…
tclose 03c7438
touching up typing of tasks to include TaskDef template
tclose 076dc84
debugged getting-started tutorial
tclose c3a144e
debugging workflow execution internals
tclose 6a590e9
moved resolution of lazy fields to point where tasks are initialised
tclose e3418b3
got concurrent futures worker to work
tclose e59d86e
debugging cf worker
tclose 834024e
debugging cf execution within notebooks, implemented byte-code hashin…
tclose 142a58d
added troubleshooting tutorial stub
tclose 544bbc2
touched up getting started tutorial
tclose 7d89bb4
cleaning up new docs
tclose 94cee3e
fixed test import errors
tclose 2d37331
fixing broken unittests pt1
tclose 4da2eef
debugging unittests
tclose 0a32bfa
more debugging of unittests
tclose 4ff7303
fixed up setting of state in workflow constructors
tclose 0e0a02d
changed under_construction so it investigates the call stack instead …
tclose 9c11add
implemented AST based function bytes_repr
tclose b8ba7f8
trimmed some unnecessary attributes from the byte-code based function…
tclose 1cacaa0
debugging test_functions
tclose 2da62fd
debugging test_helpers_file
tclose ff8069f
debugged test_helpers_file
tclose 290bdca
renamed test tasks and workflows to PascalCase
tclose d584074
debugged test_hash and test_typing
tclose e015f8c
fixed test_hash error
tclose 61e6439
debugging test_tasks
tclose 3cc5232
debugging workflows
tclose d2ab96f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] e2337f9
moved telemetry check into submitter from task
tclose 30d0a7c
created pydra.task.testing sub-package
tclose 54dc092
working on troubleshooting tutorial
tclose bf11151
more touch ups to troubleshooting tutorial
tclose dd606f8
debugging new syntax in unittests
tclose db3cd4c
removed python output order attribute
tclose ac80065
finished troubleshooting tutorial for now
tclose 830abb5
finished changes to docs for now. Not all tutorials are working though
tclose 927d4a8
made all outputs and defs slots classes
tclose 9c4d007
fixed up typing errors and made all attributes of lazy fields "privat…
tclose 8415d80
fixed up workflow caching and type hashing
tclose 812d7b4
added nboutput clear to pre-commit
tclose 5c9986c
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 33ef3d4
updated upload/download artifact versions to v4
tclose d7f1b0b
added python kernel install to docs build
tclose bc4b373
added ipykernel to docs deps
tclose e1eae66
updated print_help
tclose 6bb494a
added fileformats-medimage to docs deps
tclose fe41b99
debugging unittests after syntax changes
tclose 8906e8f
debugged test_helpers
tclose d761613
cleaned up print_help
tclose 92cf378
debugging task tests
tclose 6a72657
added definition to Result attributes that need to be cloudpickled
tclose 6ed002f
added module bytes_repr serializer
tclose 151c325
debugged up python, workflow design unittests
tclose b8a0f1d
debugging test_tasks
tclose 8bfbe8c
updated fileformats dependency
tclose 27a0404
fixed support for multi-input objs
tclose d056d53
fixing support for multInputObjs
tclose f0fbb66
handle the formatting of optional types in command_pos_args
tclose 783656e
handle previous errors in update_status
tclose f217502
removed erroneous signature in format_arg
tclose 8969b3f
upped test dependency to alpha versions with updated syntax
tclose 5ee9c68
debugging test_tasks
tclose a368c40
updated tutorial deps
tclose 713939b
debugged test_tasks
tclose d9ce707
added fileformats-extras to doc dependencies
tclose 1c0f42c
added fileformats-extras to tutorial deps
tclose 7f4dc31
dropped py 3.10 from ci matrices
tclose 7352a17
debugged test_state
tclose 7c97e55
added mrtrix to docs build ci
tclose d6ae5ea
moved hooks arguments into single TaskHooks object in run methods
tclose d5a6587
moved mrtrix install into docs build-new
tclose 01d50e2
changed order in docs cd
tclose 128a3e9
added avoid_clashes option to copy_nested_files to ensure names don't…
tclose 6f60ae1
debugged advanced execution tutorial
tclose 6237368
fixed up docs cd
tclose 072fae6
debugging tutorials
tclose 9481f30
added medimage-extras to tutorial deps
tclose b0b45b9
re-implementing docker/singularity environments after refactor
tclose d4ce1d3
fixed up toy environments example, all docs should build now
tclose b55ef24
fixed bug in multi-input typing
tclose 1488ccc
upped fileformats dep versions
tclose 377ab07
debugging environments unittests
tclose dddf8a2
upped requirement on pydra-mrtrix to 3.0.4a17
tclose b9221d7
more dep version changes
tclose c8e25b1
cleaned up deps and added ipywidgets to docs build
tclose dc9e638
upped fileformats dep version
tclose 799a384
added favicon to conf.py
tclose 8c62ea7
relaxed fileformats dep version
tclose bbdf072
setup virtual desktop to accept notifications
tclose 8f1623c
trying to get desktop notifications to work
tclose 76feb69
added additional comment to toymedianThreshold example
tclose de83727
attempting to get virtual desktop notifications to work
tclose 8bae6d3
nbsphinx errors will fail docs build
tclose e99f083
dropped 2nd level GLM as too complex for now
tclose dcecbf3
removed .python-version file
tclose c422033
allow graceful failure of workflows when not debugging
tclose 0b91b95
fixed package name of openneuro-py
tclose 6358b81
removed name attribute from submitter call
tclose f7934eb
renamed default task name that is submitted to "main" (from "task")
tclose 84a8d3a
updated name of GLM example notebook
tclose 099b0f4
fixing up errors in test_shell
tclose 307b52b
added comment
tclose f74ddae
starting to convert test_environments tests to new syntax
tclose 67eadff
debugging test_environments
tclose 8c7fc19
debugged test_environments (except singularity tests)
tclose 3418b0d
updated singularity tests
tclose a67968b
updated __version__ location to inside pydra.engine
tclose ac80cbf
updated github actions version tests
tclose 286a8cb
dropped --pyargs flag in CI test as it doesn't work with namespace pa…
tclose c0bd52c
streamlined test matrices
tclose 63b31b5
reverted ubuntu version to 22.04 for singularity tests
tclose a7876a3
added test_environments to singularity test
tclose 41d9d21
fixed up singularity tests
tclose bd2b158
started implementing singularity tests
tclose e680452
reworked test_singularity for new syntax
tclose 77bcafe
fixes to test_singularity tests
tclose 33e615c
removed mandatory kwarg in test_singularity shell.defines
tclose 1be664f
changed shell.arg to shell.outarg for path_template outputs
tclose f83b57d
cleaning up more test_environment singularity tests
tclose 25eed1f
cleaned up singularity unittests
tclose e8a6aa0
debugging singularity tests
tclose 0c779d2
fixed overzealous validation of path_template
tclose ab23576
made all args to task call kwds
tclose f1a6cb3
working on singularity errors
tclose d8696f2
more debugging of singularity
tclose b30d982
more debugging
tclose bc5397d
attempting to fix singularity tests
tclose b1184d4
fixed up environments import
tclose c8bdd3b
shell.define can take a list of tokens as well as a single string
tclose 2fc135f
debugging docker unittests
tclose a42cc51
test_dockertask tests pass
tclose fdd5e52
fixed initialisation of environment in Submitter
tclose 44d0d67
debugged test_dockertask
tclose 28f1bc5
fixed merge error
tclose 3f397e0
fixed merging error in test_shell
tclose 4080298
debugging unittests
tclose ffeece0
debugged singularity tests
tclose 3b8f818
made imports in pydra.design.* modules absolute
tclose 6aaf1b7
added fileformats-extras to test deps
tclose e6724c1
fetch tags in github actions so installed version is correct
tclose 4b97ed6
Merge pull request #769 from nipype/test_environments
tclose f7021e5
fixed bug in state depth calculation where, single, combined states w…
tclose b2034d5
moved resolved lazy inputs into NodeExecution class from TaskDef
tclose db8f799
finished debugging test_specs
tclose b5a0455
Merge pull request #770 from nipype/test_specs
tclose 33bb999
debugging test_specs
tclose bb75d94
deleted workflow to pick up changes in workflow graph error message a…
tclose a5f6e45
Merge pull request #771 from nipype/test_submitter
tclose bda7ea2
debugging test_task
tclose dfbd989
fixed up remaining test_task tests
tclose 85a3d95
fixed test_task_files
tclose bf22f78
started debugging test_node_tasks
tclose f2bf301
updated tests in test_node_task (most are passing)
tclose 9c7d57e
debugging splitting and combining
tclose e3fe8e0
reverted change to LazyField._get_value
tclose 2e3f5ed
reworking test_shelltask_inputspec
tclose 110bfb5
debugging test_shell_inputspec
tclose d88acfe
debugging requires for bool fields
tclose d199981
reworked test_shelltask to new syntax
tclose 753f0af
removing shelly.result\(\)
tclose 0dba80b
more cleaning of test_shelltask
tclose b60a2fb
fixed error message in missing base class
tclose 76c769b
debugging test_shelltask*
tclose 739e8f3
updating test_workflow to new syntax
tclose 9ba0e42
cleaned up all linting errors and warnings in test_workflow
tclose afe64e1
assert results not errored
tclose cc8646b
added node names
tclose bddb1f1
debugging test_workflow
tclose 35c1594
Merge pull request #772 from nipype/test_task
tclose 75a2983
fixed check for missing fields
tclose 7b3aeb5
fixed splitting of tasks over states where value comes from lazy field
tclose 9344e1c
debugging hashing of function AST
tclose 8a29e1e
debugging optional shell outputs
tclose b33bbdf
debugging shell task tests
tclose 090baa5
debugged 'xor' arg attribute
tclose af65aab
fixed up 'xor' arg functionality
tclose 4a77081
debugged test_shelltask_inputspec
tclose 7f1b259
fixed up issue with optional xor
tclose 2664509
handle empty state arrays, i.e. nodes that don't run any jobs
tclose a52b748
renamed NodeExecution.task to NodeExecution.get_tasks
tclose 9df1191
moved xor into *.define decorators from *.arg fields
tclose 1cc4074
debugging combining states to preserve nested lists over staggered co…
tclose c5da03b
debugging node state operations
tclose 5611651
fixed bug in _set_state
tclose 7b64080
implemented state depth() implementation by handling the RPN represen…
tclose dfa195c
replaced 'after_combine=False' with before_combine=True for state.dep…
tclose 8fa2d94
removed task definition attribute from state
tclose 0b01701
cleaned up comment
tclose 1455c2e
debugging issues with nested output types
tclose 6980cf0
debugging removal of definition from state
tclose a1e3268
debugging test_shelltask
tclose b741563
debugging test_shelltask
tclose 183782b
added pympler to test dependencies
tclose 022c02a
fixed issue in doc-string passing
tclose ee88000
changed additional_args to be MultiInputObj[str] from list[str] type
tclose f62fd0d
debugging test_shelltask, reworking resolve of lazy inputs
tclose da92150
dropped StateIndex object in favour of simple int index
tclose b0db082
debugging shelltask
tclose 3a9e35f
test_shelltask passes
tclose 3287bea
reverted all plugin specifications in test_shelltask to the plugin fi…
tclose 83ac1e8
modified bytes_repr_type so that the module location drops any sub-mo…
tclose 8f593fd
reverted argstr with "..." in them to use field sep (instead of " " h…
tclose c7ad6b2
fixed up list of stdlib modules and is_stdlib
tclose 5295e46
fixed up LazyField._resolve_value to handle combine states after swit…
tclose 128c224
minor fixups
tclose 54bbd47
fixed all unittests outside of test_workflow that were broken in rece…
tclose File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
including the current field was not the case in nipype or the previous version of pydra i believe. reducing this kind of boilerplate would be helpful, and also if
xor
is commutative without specification (a
xorb
impliesb
xora
and should not have to be specified in both places - just one should do the other should be computed). also any checks to make sure xor combinations are valid or invalid (e.g.a
xorb
,b
xorc
,c
xora
)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking it would be better as an argument to the
shell.define
decorator/function, so it would only need to be defined once, and it is really a "task-level" attributeThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so a list of lists? i.e. there could be multiple different
xor
s in a task.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, maybe list[str] | list[list[str]] could be acceptable inputs