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

Graph-based pyiron workflows #577

Merged
merged 126 commits into from
Mar 9, 2023
Merged
Show file tree
Hide file tree
Changes from 120 commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
7bd4d78
Make a simple dot-access dictionary
liamhuber Feb 2, 2023
f569432
Copy over your github stuff
liamhuber Feb 2, 2023
ed39838
Aspire to the pseudo example from github
liamhuber Feb 2, 2023
7e4b182
Define io channel interface by tests
liamhuber Feb 2, 2023
eabcb13
Refactor: Rename
liamhuber Feb 2, 2023
ef28e47
Improve type hinting and naming
liamhuber Feb 2, 2023
bd9904c
Refactor: rename
liamhuber Feb 2, 2023
56b5734
Refactor: rename files
liamhuber Feb 2, 2023
b954852
Break apart channel tests
liamhuber Feb 2, 2023
63add00
Allow making multiple connections at once
liamhuber Feb 2, 2023
b8703d9
Give channels names
liamhuber Feb 2, 2023
f17e395
Add some stuff to session
liamhuber Feb 2, 2023
b8791e7
Warn on failed connections
liamhuber Feb 2, 2023
481c84f
Type hint single classes for channel types
liamhuber Feb 2, 2023
4e84ca3
Throw a type error for non-channel connections
liamhuber Feb 2, 2023
9d981ef
Create IO layer that allows assignments as connections
liamhuber Feb 2, 2023
f55b0f7
Channels carry their names now, so dict can become list
liamhuber Feb 2, 2023
328d532
Add QoL method for getting values
liamhuber Feb 2, 2023
d4d2705
Get Node using the new IO
liamhuber Feb 2, 2023
940b78a
Actually instantiate what you type hint
liamhuber Feb 2, 2023
2100b7f
Just use project
liamhuber Feb 2, 2023
0503b8e
Add properties for quickly evaluating connectedness
liamhuber Feb 3, 2023
5422fdd
Make readiness a property only of input
liamhuber Feb 3, 2023
b945dcf
PEP8 rm newline
liamhuber Feb 3, 2023
5c88bcc
Streamline and expand double-definition checks
liamhuber Feb 3, 2023
60dcb9c
Add promises
liamhuber Feb 3, 2023
47340f5
Add type hints
liamhuber Feb 3, 2023
06d01fb
Fix call signature
liamhuber Feb 3, 2023
f3c5f9a
Remove explicit error
liamhuber Feb 3, 2023
4849242
Remove unused code
liamhuber Feb 3, 2023
b577602
Refactor: slide methods
liamhuber Feb 3, 2023
3a6bed4
Don't import what isn't there
liamhuber Feb 3, 2023
9079da1
Make processors and the engine simple callables
liamhuber Feb 3, 2023
8bfe5dd
Streamline defaults
liamhuber Feb 3, 2023
8174e83
Add a promise and option for updating at instantiation
liamhuber Feb 3, 2023
4567b13
Update tests
liamhuber Feb 3, 2023
a763467
Move documentation to the class and expand
liamhuber Feb 3, 2023
2bdb56d
Mix args and kwargs for callable signatures in the tests
liamhuber Feb 3, 2023
d35aef5
Add disconnection methods
liamhuber Feb 3, 2023
ca46bf0
Rough in storage priority
liamhuber Feb 3, 2023
a667805
Allow the specification of input at instantiation
liamhuber Feb 3, 2023
89fbf5b
Make node names optional
liamhuber Feb 3, 2023
0ba5b17
Make channels public
liamhuber Feb 3, 2023
09b8b6b
Draft workflows
liamhuber Feb 3, 2023
9b48bcd
Don't add the same node twice
liamhuber Feb 3, 2023
c3dbf14
Import what you use
liamhuber Feb 3, 2023
8cb4f6f
Make sure node name matches attribute name
liamhuber Feb 3, 2023
f14d076
Add really rough tests
liamhuber Feb 3, 2023
13b7d44
Fix type checking
liamhuber Feb 4, 2023
e3e220e
Document and test initializing connections
liamhuber Feb 4, 2023
962c97a
Add an update method to workflow
liamhuber Feb 4, 2023
15e926e
Add actual content
liamhuber Feb 4, 2023
0e5c304
Add a notebook instead of an integration test
liamhuber Feb 4, 2023
7ef3565
Notebook diff
liamhuber Feb 4, 2023
47e64da
Merge branch 'main' into graph
liamhuber Feb 26, 2023
67bbf45
Refactor rename
liamhuber Feb 26, 2023
ad6491c
Specify everything in init and make the function mandatory
liamhuber Feb 26, 2023
a634d2c
Make pre and post-processors truly optional
liamhuber Feb 26, 2023
2286c6f
Automatically scrape types from annotations
Feb 27, 2023
99d8ed0
Get rid of pre-/post-processing
liamhuber Feb 27, 2023
5cccd08
Remove unused code
liamhuber Feb 27, 2023
346049f
Refactor: rename
liamhuber Feb 27, 2023
1946fb4
Make IO directly iterable
liamhuber Feb 27, 2023
b9cf067
Make channels directly iterable
liamhuber Feb 27, 2023
c8dadd9
Make workflows directly iterable
liamhuber Feb 27, 2023
6ea2c15
Refactor: rename
liamhuber Feb 27, 2023
98d7062
Refactor: rename
liamhuber Feb 27, 2023
849bc2d
Give our iterable classes lengths
liamhuber Feb 27, 2023
334d47f
Expect a tuple of results instead of a dict
liamhuber Feb 27, 2023
52ae447
Combine functions
liamhuber Feb 27, 2023
24d13cd
Get rid of channel templating altogether
liamhuber Feb 27, 2023
872f824
Refactor channel construction
liamhuber Feb 27, 2023
7d13db9
Remove unused import
liamhuber Feb 27, 2023
06b82df
Use the node function to name nodes
liamhuber Feb 27, 2023
9607d4c
Start updating docs
liamhuber Feb 27, 2023
3092ae4
Use typeguard for value validation
liamhuber Mar 3, 2023
429a9b0
Add a method for seeing if a type hint is more specific
liamhuber Mar 3, 2023
da6c52f
Add test for value validation
liamhuber Mar 3, 2023
66c6954
Add test for hint specificity
liamhuber Mar 3, 2023
f82f0d3
Remove test
liamhuber Mar 3, 2023
ce10728
Actually use our functionality when making connections
liamhuber Mar 3, 2023
8b06712
Replace type tuples with unions
liamhuber Mar 3, 2023
a5cc22b
Rename attribute
liamhuber Mar 3, 2023
6a21b70
Add docs to channel
liamhuber Mar 3, 2023
9be6f2a
Add typeguard to dependencies
liamhuber Mar 3, 2023
b77a304
Rework channel building
liamhuber Mar 3, 2023
619f5a7
Add docstring to IO
liamhuber Mar 3, 2023
2ca3abe
Touch up IO
liamhuber Mar 4, 2023
f0cc444
Update node docs to reflect reality
liamhuber Mar 4, 2023
77824e0
Expand node docs
liamhuber Mar 4, 2023
254ce4e
Remove print
liamhuber Mar 4, 2023
5499b81
Just show the channel value as a string rep
liamhuber Mar 5, 2023
ccb9187
Update node examples
liamhuber Mar 5, 2023
9010399
Refactor: rename
liamhuber Mar 5, 2023
dc0b461
Expand IO docs
liamhuber Mar 5, 2023
b12b688
Finish rename
liamhuber Mar 5, 2023
c278685
Control test flow for too-low python versions
liamhuber Mar 5, 2023
9aa7544
Handle initialization of arguments better
liamhuber Mar 5, 2023
850fa88
Make examples more compact
liamhuber Mar 5, 2023
8b00607
Rework the interaction between nodes and workflows
liamhuber Mar 6, 2023
9a9f11a
Test belonging to multiple workflows and better removal
liamhuber Mar 6, 2023
28d95f3
Test disconnection on removal
liamhuber Mar 6, 2023
a39215f
Test workflow io
liamhuber Mar 6, 2023
4a37566
PEP8
liamhuber Mar 6, 2023
5b21a8e
Update the example notebook to highlight all the syntax
liamhuber Mar 6, 2023
0c38f68
Move the type hint stuff over to its own module
liamhuber Mar 6, 2023
909324a
Fix logic and test for fix
liamhuber Mar 6, 2023
2d87ea6
Move type hint tests to their own module
liamhuber Mar 6, 2023
ae34f72
Add notes
liamhuber Mar 6, 2023
d705d6e
Allow users to turn off type checking for connections
liamhuber Mar 6, 2023
9b30242
Add helper methods to change input strictness en masse
liamhuber Mar 6, 2023
5936a29
Debug name iteration and add to docstring
liamhuber Mar 6, 2023
51df6d7
Update node adder docs
liamhuber Mar 6, 2023
fddc767
Add helper methods for seeing channel status in text form
liamhuber Mar 6, 2023
6b0bacd
Merge branch 'main' into graph
liamhuber Mar 6, 2023
56004ff
Update nodes
liamhuber Mar 6, 2023
1737dd2
Use prebuilts in docs and notebook
liamhuber Mar 6, 2023
2d1a54c
Update on connection
liamhuber Mar 7, 2023
f24f3f8
Update example
liamhuber Mar 7, 2023
5fe8dfe
Better representation
Mar 7, 2023
01a4be4
Add tab completion for IO channels
liamhuber Mar 8, 2023
bffa043
PEP8
liamhuber Mar 8, 2023
2ed5974
Add tab completion access for nodes on workflows
liamhuber Mar 8, 2023
8e0ae2c
Get rid of channel_list
liamhuber Mar 8, 2023
e533334
Merge branch 'main' into graph
liamhuber Mar 8, 2023
326b2ee
Add lammps to notebooks env
liamhuber Mar 9, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .ci_support/environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ dependencies:
- moto =4.1.3
- pycp2k =0.2.2
- sqlalchemy <2
- typeguard =2.13.3
Loading