Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 11, 2023

Bumps pyiron-atomistics from 0.3.10 to 0.3.11.

Release notes

Sourced from pyiron-atomistics's releases.

pyiron_atomistics-0.3.11

What's Changed

Full Changelog: pyiron/pyiron_atomistics@pyiron_atomistics-0.3.10...pyiron_atomistics-0.3.11

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Dec 11, 2023
@github-actions
Copy link

Binder 👈 Launch a binder notebook on branch pyiron/pyiron_workflow/dependabot/pip/pyiron-atomistics-0.3.11

@liamhuber liamhuber closed this Dec 11, 2023
@liamhuber liamhuber reopened this Dec 11, 2023
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Dec 11, 2023

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

Bumps [pyiron-atomistics](https://github.com/pyiron/pyiron_atomistics) from 0.3.10 to 0.3.11.
- [Release notes](https://github.com/pyiron/pyiron_atomistics/releases)
- [Changelog](https://github.com/pyiron/pyiron_atomistics/blob/main/CHANGELOG.md)
- [Commits](pyiron/pyiron_atomistics@pyiron_atomistics-0.3.10...pyiron_atomistics-0.3.11)

---
updated-dependencies:
- dependency-name: pyiron-atomistics
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/pip/pyiron-atomistics-0.3.11 branch from c67a2ce to fa9c15e Compare December 11, 2023 22:19
@codacy-production
Copy link

codacy-production bot commented Dec 11, 2023

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
+0.00% (target: -1.00%)
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (92c849c) 2448 2080 84.97%
Head commit (fa9c15e) 2448 (+0) 2080 (+0) 84.97% (+0.00%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#130) 0 0 ∅ (not applicable)

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

You may notice some variations in coverage metrics with the latest Coverage engine update. For more details, visit the documentation

@coveralls
Copy link

coveralls commented Dec 11, 2023

Pull Request Test Coverage Report for Build 7200297293

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 89.916%

Totals Coverage Status
Change from base Build 7174046181: 0.0%
Covered Lines: 4405
Relevant Lines: 4899

💛 - Coveralls

@liamhuber liamhuber closed this Dec 13, 2023
@liamhuber liamhuber reopened this Dec 13, 2023
@liamhuber liamhuber merged commit cb6e34e into main Dec 13, 2023
@liamhuber liamhuber deleted the dependabot/pip/pyiron-atomistics-0.3.11 branch December 13, 2023 19:55
liamhuber added a commit that referenced this pull request Aug 14, 2025
* Update yml files

* Update conf file

* run black

* run ruff

* define __all__

* run ruff fix

* Configure ruff

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Use more descriptive names

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Remove unused import

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Switch providers

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update badges

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

---------

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Co-authored-by: liamhuber <liamhuber@greyhavensolutions.com>
liamhuber added a commit that referenced this pull request Aug 14, 2025
* Forgot to add the parser

* run black

* Make input and output plural to be in agreement with the pyiron_workflow definitions

* small bugfixes

* add one test

* update definition of connection

* bugfix

* another programming error worth a harakiri

* make sure that the triples are tuples

* bugfix

* set default values

* convert object to URIRef only if it is not already one

* typo

* There are arbitrary values that cannot work with if

* allow triples in triple

* update semantikon version

* separate out triple parser

* bugfix and add tests

* make it possible to give custom predicates

* experiment: use sameAs instead of comesFrom

* implement inherit properties

* make inherit properties a public function

* add restriction parser

* run black

* add reasoner

* Replace [] by None

* implement validator

* Do not inherit type

* calculate number of iterations automatically

* increase number of inheritances

* Define each label as a named individual

* Name change in order to avoid confusion

* Change triple and restriction plural

* Bugfix due to pointing to data

* run black

* Remove named individual because apparently it's implied

* write workflow parser

* Replace EX by NS because I guess EX stands for example

* append workflow name

* add namespace everywhere

* restore dot

* codacy

* Add activity and entity

* current state

* Use pyiron namespace

* Add type hints

* replace value by node

* add test

* add docstring

* run black

* Add URIRef to uri just in case

* Create pyiron specific namespace

* Add tests

* Break apart parsing and business

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Be explicit about what's missing

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Implement restriction validator and Placeholder

* Remove Any because it's not used anymore

* I don't really understand but this silences mypy

* run black

* Replace Placeholder by None

* run black

* remove var_name because it's never used and anyway appears in the key

* Add test

* Add additional node for the values

* run black

* Small bugfix

* Correct tests

* run black

* Remove units in string

* change definition of tag

* I stop in this state now because some functions are too complex

* change definition of tag

* refactor tag

* not repeat if

* Refactor

* replace identifier by str

* Store it in the current state

* add subpropertyof

* Use subclass instead

* Add sub class parsing

* Add warning

* another one

* Remove dependence on semantikon

* Current state

* Update meta_to_dict

* run black

* define variables

* rename outputs

* bugfix

* I'm a loss

* I'm a total loss

* make ontology optional

* Make ontology trickle down

* run black

* Add check missing items

* Move it to workflow parser and add tests

* Add comments

* Run black

* Replace nodes by dicts

* Move parsing to a separate function

* Move parsing to a separate function

* Depend on semantikon

* Update header

* run black

* Check whether the owner is the same node

* Remove workflow_to_dict

* Remove all the unused stuff

* run black

* Add with values and with default

* Add docstring

* Correct imports

* Correct path for Macro

* Correct SNS name

* Liam's suggestion

* Update Actions (#130)

* Update yml files

* Update conf file

* run black

* run ruff

* define __all__

* run ruff fix

* Configure ruff

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Use more descriptive names

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Remove unused import

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Switch providers

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update badges

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

---------

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Co-authored-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update pyiron_ontology/parser.py

* Update pyiron_ontology/parser.py

* Update parser.py

* Update parser.py

* Update parser.py

* replace data_edges by edges

* typo

---------

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Co-authored-by: samwaseda <o.waseda@mpie.de>
Co-authored-by: Sam Dareska <37879103+samwaseda@users.noreply.github.com>
Co-authored-by: Sam Waseda <waseda@mpie.de>
liamhuber added a commit that referenced this pull request Aug 14, 2025
* Update yml files

* Update conf file

* run black

* run ruff

* define __all__

* run ruff fix

* Configure ruff

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Use more descriptive names

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Remove unused import

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Switch providers

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update badges

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

---------

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Co-authored-by: liamhuber <liamhuber@greyhavensolutions.com>
liamhuber added a commit that referenced this pull request Sep 4, 2025
* add tests

* Make input and output plural to be in agreement with the pyiron_workflow definitions

* add one test

* bugfix and add tests

* one more test for a full triple

* adjust line length

* be more specific about the number of triples in tests

* Add tests (but not working right now)

* Add wrong analysis

* Codacy

* Change triple and restriction plural

* Add tests

* run black

* Replace EX by NS because I guess EX stands for example

* restore dot

* Add tests

* run black

* current state

* Use pyiron namespace

* Make it clear that the predicate is just for parsing and does not have a meaning

* add test

* Add tests

* Codacy

* add tests for place holder

* Replace Placeholder by None

* Add test

* add error messages

* Add a sparql query test

* run black

* Correct tests

* Simplify test

* Add tests

* run black

* Add error message

* Move the location of _is_semantikon_class

* Add sub class parsing

* bugfix

* run black

* Remove dependence on semantikon

* run black

* reduce lines

* Add test

* Move it to workflow parser and add tests

* Another black

* Depend on semantikon

* Correct tests

* Add macro tests

* Remove workflow_to_dict

* Simplify test

* Simplify more tests

* Test with reasoner

* remove unused inherit_properties

* Update pyiron_workflow

* name space

* Liam's suggestion

* Correct errors

* Update Actions (#130)

* Update yml files

* Update conf file

* run black

* run ruff

* define __all__

* run ruff fix

* Configure ruff

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Use more descriptive names

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Remove unused import

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Switch providers

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update badges

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

---------

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Co-authored-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update test_parser.py

* replace typing by metadata

* ruff sort

* Update tests

* Update syntax and remove unused lines

* Remove unnecessary imports

* Remove redundant get_graph

* typo

* Explore ontology tools with pyiron_workflow

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* [dependabot skip] Update env file

* Downgrade pandas

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* [dependabot skip] Update env file

* Read the inequality, Huber

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* [dependabot skip] Update env file

* git-copy pyiron_ontology.parser  (#745)

* Forgot to add the parser

* run black

* Make input and output plural to be in agreement with the pyiron_workflow definitions

* small bugfixes

* add one test

* update definition of connection

* bugfix

* another programming error worth a harakiri

* make sure that the triples are tuples

* bugfix

* set default values

* convert object to URIRef only if it is not already one

* typo

* There are arbitrary values that cannot work with if

* allow triples in triple

* update semantikon version

* separate out triple parser

* bugfix and add tests

* make it possible to give custom predicates

* experiment: use sameAs instead of comesFrom

* implement inherit properties

* make inherit properties a public function

* add restriction parser

* run black

* add reasoner

* Replace [] by None

* implement validator

* Do not inherit type

* calculate number of iterations automatically

* increase number of inheritances

* Define each label as a named individual

* Name change in order to avoid confusion

* Change triple and restriction plural

* Bugfix due to pointing to data

* run black

* Remove named individual because apparently it's implied

* write workflow parser

* Replace EX by NS because I guess EX stands for example

* append workflow name

* add namespace everywhere

* restore dot

* codacy

* Add activity and entity

* current state

* Use pyiron namespace

* Add type hints

* replace value by node

* add test

* add docstring

* run black

* Add URIRef to uri just in case

* Create pyiron specific namespace

* Add tests

* Break apart parsing and business

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Be explicit about what's missing

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Implement restriction validator and Placeholder

* Remove Any because it's not used anymore

* I don't really understand but this silences mypy

* run black

* Replace Placeholder by None

* run black

* remove var_name because it's never used and anyway appears in the key

* Add test

* Add additional node for the values

* run black

* Small bugfix

* Correct tests

* run black

* Remove units in string

* change definition of tag

* I stop in this state now because some functions are too complex

* change definition of tag

* refactor tag

* not repeat if

* Refactor

* replace identifier by str

* Store it in the current state

* add subpropertyof

* Use subclass instead

* Add sub class parsing

* Add warning

* another one

* Remove dependence on semantikon

* Current state

* Update meta_to_dict

* run black

* define variables

* rename outputs

* bugfix

* I'm a loss

* I'm a total loss

* make ontology optional

* Make ontology trickle down

* run black

* Add check missing items

* Move it to workflow parser and add tests

* Add comments

* Run black

* Replace nodes by dicts

* Move parsing to a separate function

* Move parsing to a separate function

* Depend on semantikon

* Update header

* run black

* Check whether the owner is the same node

* Remove workflow_to_dict

* Remove all the unused stuff

* run black

* Add with values and with default

* Add docstring

* Correct imports

* Correct path for Macro

* Correct SNS name

* Liam's suggestion

* Update Actions (#130)

* Update yml files

* Update conf file

* run black

* run ruff

* define __all__

* run ruff fix

* Configure ruff

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Use more descriptive names

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Remove unused import

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Switch providers

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update badges

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

---------

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Co-authored-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update pyiron_ontology/parser.py

* Update pyiron_ontology/parser.py

* Update parser.py

* Update parser.py

* Update parser.py

* replace data_edges by edges

* typo

---------

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Co-authored-by: samwaseda <o.waseda@mpie.de>
Co-authored-by: Sam Dareska <37879103+samwaseda@users.noreply.github.com>
Co-authored-by: Sam Waseda <waseda@mpie.de>

* Update imports

And re-run notebook. And exclude the new file from mpyp. @samwaseda, mypy does not like your file XP

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update dependencies

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Bump graphviz lower bound

To accommodate semantikon

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update imports

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Rename test

To match renamed module

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Edit tests

Mostly just for import scopes

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update imports

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Validate ontology at connection time

Not working with restrictions yet

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Draft connection suggestion

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update notebook

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Add a back door to turn off the feature

Since it's pretty janky atm

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Fix docstring hint

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Add a node-class suggester

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Modify candidate graph subgraph IO

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Close match

pycharm is still not behaving nicely with this though

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update notebook

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Fail on connection in test

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Make knowledge mypy compliant

At least when we're non-strict

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Remove unused import

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Don't write recovery file

We know and expect a failure, don't clutter the file system

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Move the import short-circuit

Over to a special method in the knowledge module

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Adapt sleep times

It turns out `semantikon.ontology` has a heavy import overhead

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Add a known issue to the demo notebook

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Refine overheads

Based on results from main branch

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Delay imports

Until they're strictly needed. It's bad form, but it saves graphs that are _not_ ontologically annotated a bunch of import time

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Revert test timing

The tests in question don't use ontologies, so the original formulation is fine again.

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update notebook comment

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Revert is_composite

Since `semantikon.ontology` imports slowly, we break the circular import inside the `channels` module anyhow

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Fail cleanly for unknown node types

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Rename argument

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Narrow hint

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Adapt export for non-functions

This is to capture `@u` working on non-functions. It doesn't really make sense for dataclasses, and we don't decorate for- and while- loops or other transformers, so only handling it in the function case should be fine.

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Destroy, then connect

First disconnect and remove macros' single-use UI nodes _before_ using their single-connections as new input value receivers. This is a benign change for most use cases, but critical for avoiding double-receiving edges when doing ontological validation of macro creation.

This would (will!) all be much easier once `pyiron_workflow` adopts the `flowrep` pattern of single-sources for inputs and putting the single available connection and being a value receiver on the same footing.

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Extend notebook

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Re-execute notebook

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update concluding comments

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Ontologically validate value reception

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update notebook

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update ontology term

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Walk the recipe to the relevant parent node

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Make error more informative

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update and re-run notebook

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Catch unit failures

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Document unit usage

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Ontologically decorate dataclass nodes

By allowing semantikon.metadata.u kwargs as decorator arguments to apply to the output channel

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Fix recipe/lexical path mismatch

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update notebook

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Verify custom labels are ok

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Bump semantikon

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Reference what you can from the api

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Give better feedback in connection errors

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Re-execute notebook

To display more informative messages

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Rebase exception class

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Encode pizza example in unit tests

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Express bad value receivers as connection errors

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Test restrictions and subgraph negotiation

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Add an integration test

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Rename notebook

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update notebook

With a nicer header, and to remove the boring subgraph negotiation example which is fine just in the unit tests

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Fail cleanly when validating outside a graph

I.e. for node networks with no parent workflow or macro

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Test units (non)inheritance

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Adapt suggestion

for validation raising errors instead of returning False

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Don't suggest connected inputs

They're already connected! We only allow one connection

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Refactor value receiver validation

In anticpation of needing a two-step process for suggestion tools

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Refactor for regular connections

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Use a dataclass

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Use a helper method

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Rename method

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Refactor suggestions

I'm struggling to get them playing nicely with graphs that validate with missing triples (e.g. because of some unconnected node interacting with the workflow IO)

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Don't suggest circular connections

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Allow suggestions for connected input

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Test for unrelated problems

#733 (comment)
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Refactor: change signature

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Include the root name

In the path information

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Validate based on involvement

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Extend the test

To guarantee that we're investigating the invovlement of _channels_ and not of _nodes_

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Don't suggest for already-connected inputs

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Directly manipulate execution digraph

Instead of adding a real connection to the workflow graph

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* 🐛 fix validation

There is still code duplication here with the testing that happens in the channels module, but we can deal with that later

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Only check for downstream involvement

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Scope involvement for macros

We need the path to the URI ref. Also, for units we look at the _upstream_ part!

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Allow connection suggestions to come from a corpus of nodes

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Just call the connection suggester to suggest classes

It might be slower, but for the time being let's shoot for stability

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Remove duplicate code

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Rename method and change default

To be public and false now that we use it elsewhere

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Draft tests for the suggestions

Everything they print now makes sense to me, they just need to be converted to real tests

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Add early stopping

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Make exceptions more specific

I find this makes it easier to reliably test against them. Including the standard type (ValueError) here means they can also reasonably be caught in generic ways.

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Test suggest_connections

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Refactor suggestion collections in tests

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Test node suggestions

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Test corpus argument

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Test multiple channels

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Extend demo

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Fix newly introduced typos and rerun notebook

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

* Update module docstring

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>

---------

Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Co-authored-by: samwaseda <o.waseda@mpie.de>
Co-authored-by: Sam Dareska <37879103+samwaseda@users.noreply.github.com>
Co-authored-by: pyiron-runner <pyiron@mpie.de>
Co-authored-by: Sam Waseda <waseda@mpie.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants