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

Spec and test #70

Merged
merged 41 commits into from
Nov 11, 2023
Merged

Spec and test #70

merged 41 commits into from
Nov 11, 2023

Conversation

liamhuber
Copy link
Member

@liamhuber liamhuber commented Nov 6, 2023

Update the documentation and testing.

  • Channel
  • IO
  • Node
  • Function
  • Composite
  • Macro
  • Workflow
  • __init__
  • Make a quickstart.ipynb
  • Update the current example to re-phrase it as a deep-dive (or maybe just remove it?)
  • Update the github README

Closes #61
Closes #62

Including introducing new testing classes to directly test for promises made on the base class. In general, I want to head this direction in this PR: be as explicit as possible about the promises the classes make, and then test each of the promises as directly as possible.
Including testing each of the run boolean flags
Copy link

github-actions bot commented Nov 6, 2023

Binder 👈 Launch a binder notebook on branch pyiron/pyiron_workflow/spec_and_test

Being running stops us from being ready, so we don't get all the way to the runtime error but stop at the readiness check
Copy link

github-actions bot commented Nov 6, 2023

Pull Request Test Coverage Report for Build 6832421987

  • 78 of 78 (100.0%) changed or added relevant lines in 5 files are covered.
  • 99 unchanged lines in 7 files lost coverage.
  • Overall coverage increased (+0.4%) to 88.019%

Files with Coverage Reduction New Missed Lines %
workflow.py 3 82.93%
macro.py 5 89.83%
function.py 11 92.44%
channels.py 13 92.23%
io.py 13 90.08%
node.py 23 89.17%
composite.py 31 88.06%
Totals Coverage Status
Change from base Build 6774228126: 0.4%
Covered Lines: 3328
Relevant Lines: 3781

💛 - Coveralls

Copy link

codacy-production bot commented Nov 6, 2023

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
+0.55% (target: -1.00%) 81.11%
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (3732bf8) 1893 1542 81.46%
Head commit (4ec4d72) 1906 (+13) 1563 (+21) 82.00% (+0.55%)

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 (#70) 90 73 81.11%

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

This leans more heavily on the documentation of `attributes` and `methods` as well as `examples` in child classes to highlight the nitty-gritty of implementation, and makes the rest of the docstring shorter and more abstract (but hopefully also clearer)
Which are no longer necessary as long as macros are a walled garden and workflows are parent-most
It should "technically" be public in that it gets accessed from outside its own instance, but it's just part of the plumbing and I don't want it popping up on users' tab-completion lists
@liamhuber liamhuber added the format_black trigger the Black formatting bot label Nov 11, 2023
@liamhuber liamhuber removed the format_black trigger the Black formatting bot label Nov 11, 2023
@liamhuber
Copy link
Member Author

The notebooks failure is actually the same problem that is causing the pyiron_atomistics daily tests to fail:

File /usr/share/miniconda3/envs/my-env/lib/python3.11/site-packages/emmet/core/tasks.py:10
      8 from typing import Any, Dict, List, Optional, Tuple, Type, TypeVar, Union
---> 10 from custodian.vasp.jobs import VaspJob
     11 import numpy as np

ModuleNotFoundError: No module named 'custodian'

My knee-jerk suspicion is that materials project has again inserted a direct dependency into their code without including that dependency directly and the API has gotten out of sync with what conda is actually installing, although just because that happened before doesn't mean it's for sure what's happening now.

Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@liamhuber liamhuber marked this pull request as ready for review November 11, 2023 21:42
But leave it commented out, since the docs are still empty. For the main page I expect this, but I still don't get why the API docs are giving me a 404
@liamhuber liamhuber merged commit 7b02bc0 into main Nov 11, 2023
13 of 15 checks passed
@liamhuber liamhuber deleted the spec_and_test branch November 11, 2023 22:13
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.

Rationalize test suite Add clearer documentation
2 participants