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

Bug in pywhy_graphs.viz.draw() #114

Open
10 tasks
aryan26roy opened this issue Jul 14, 2024 · 0 comments
Open
10 tasks

Bug in pywhy_graphs.viz.draw() #114

aryan26roy opened this issue Jul 14, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@aryan26roy
Copy link
Collaborator

Checklist

  • I have verified that the issue exists against the main branch.
  • I have read the relevant section in the contribution guide on reporting bugs.
  • I have checked the issues list for similar or identical bug reports.
  • I have checked the pull requests list for existing proposed fixes.
  • I have checked the CHANGELOG and the commit log to find out if the bug was already fixed in the main branch.
  • I have included in the "Description" section below a traceback from any exceptions related to this bug.
  • I have included in the "Related issues or possible duplicates" section beloew all related issues and possible duplicate issues (If there are none, check this box anyway).
  • I have included in the "Environment" section below the name of the operating system and Python version that I was using when I discovered this bug.
  • I have included in the "Environment" section below the output of pip freeze.
  • I have included in the "Steps to reproduce" section below a minimally reproducible example.

Description

Unable to draw this particular PAG.
The bug seems to be coming from viz/draw.py.
When the interpreter gets to line 45, the variable arrowtail has not been initialised.
It seems that there is no branch from lines 34 to 39 for handling the case where 'o->' edge has been provided.

Python traceback:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/aryanroy/Projects/causality/pywhy-graphs/pywhy_graphs/viz/draw.py", line 144, in draw
    dot, found_circle_sibs = _draw_circle_edges(
                             ^^^^^^^^^^^^^^^^^^^
  File "/Users/aryanroy/Projects/causality/pywhy-graphs/pywhy_graphs/viz/draw.py", line 45, in _draw_circle_edges
    arrowtail=arrowtail,
              ^^^^^^^^^
UnboundLocalError: cannot access local variable 'arrowtail' where it is not associated with a value

Related issues or possible duplicates

  • None

Environment

OS: MacOS 14.5 (Sonoma)

Python version:

Output of pip freeze:

accessible-pygments==0.0.5
alabaster==0.7.16
appnope==0.1.3
attrs==23.2.0
Babel==2.15.0
backcall==0.2.0
bandit==1.7.5
beautifulsoup4==4.12.3
black==22.12.0
bleach==6.1.0
causal-learn==0.1.3.8
certifi==2024.7.4
charset-normalizer==3.3.2
clarabel==0.9.0
click==8.1.3
cmake==3.28.1
codespell==2.2.5
contourpy==1.2.1
cvxpy==1.5.2
cycler==0.12.1
Cython==3.0.10
decorator==5.1.1
defusedxml==0.7.1
docutils==0.21.2
dodiscover @ file:///Users/aryanroy/Projects/causality/dodiscover
dowhy @ file:///Users/aryanroy/Projects/causality/dowhy
dunamai==1.18.0
ecos==2.0.14
fastjsonschema==2.20.0
filelock==3.15.4
flake8==5.0.4
fonttools==4.51.0
fsspec==2024.6.1
gitdb==4.0.10
GitPython==3.1.31
graphviz==0.20.1
idna==3.7
imagesize==1.4.1
iniconfig==2.0.0
ipython==7.34.0
isort==5.12.0
jedi==0.18.2
Jinja2==3.1.2
joblib==1.3.1
jsonschema==4.23.0
jsonschema-specifications==2023.12.1
jupyter_client==8.6.2
jupyter_core==5.7.2
jupyterlab_pygments==0.3.0
kiwisolver==1.4.5
latexcodec==3.0.0
markdown-it-py==3.0.0
MarkupSafe==2.1.3
matplotlib==3.8.4
matplotlib-inline==0.1.6
mccabe==0.7.0
mdurl==0.1.2
mistune==3.0.2
mpmath==1.3.0
mypy==0.971
mypy-extensions==1.0.0
nbclient==0.10.0
nbconvert==7.16.4
nbformat==5.10.4
nbsphinx==0.9.4
networkx==3.1
numpy==1.24.4
numpydoc==1.7.0
opt-einsum==3.3.0
osqp==0.6.7.post0
packaging==23.1
pandas==1.5.3
pandocfilters==1.5.1
parso==0.8.3
pastel==0.2.1
pathspec==0.11.1
patsy==0.5.6
pbr==5.11.1
pexpect==4.8.0
pgmpy==0.1.25
pickleshare==0.7.5
pillow==10.3.0
platformdirs==3.8.0
pluggy==1.2.0
poethepoet==0.20.0
poetry-dynamic-versioning==0.25.0
progressbar2==4.2.0
prompt-toolkit==3.0.39
ptyprocess==0.7.0
pybtex==0.24.0
pybtex-docutils==1.0.3
pycodestyle==2.9.1
pydata-sphinx-theme==0.15.4
pydocstyle==6.3.0
pydot==2.0.0
pyflakes==2.5.0
pygam==0.9.0
Pygments==2.15.1
pyparsing==3.1.2
pytest==7.4.0
python-dateutil==2.8.2
python-utils==3.7.0
pytz==2023.3
-e git+ssh://[email protected]/aryan26roy/pywhy-graphs.git@5844e0880672a92247a0324ed45783a4fd8f1ad1#egg=pywhy_graphs
PyYAML==6.0
pyzmq==26.0.3
qdldl==0.1.7.post4
referencing==0.35.1
requests==2.32.3
rich==13.4.2
rpds-py==0.19.0
ruff==0.2.0
scikit-learn==1.3.0
scipy==1.11.1
scs==3.2.6
six==1.16.0
smmap==5.0.0
snowballstemmer==2.2.0
soupsieve==2.5
Sphinx==7.3.7
sphinx-copybutton==0.5.2
sphinx-gallery==0.16.0
sphinx-issues==4.1.0
sphinxcontrib-applehelp==1.0.8
sphinxcontrib-bibtex==2.6.2
sphinxcontrib-devhelp==1.0.6
sphinxcontrib-htmlhelp==2.0.5
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.7
sphinxcontrib-serializinghtml==1.1.10
statsmodels==0.14.2
stevedore==5.1.0
sympy==1.13.0
tabulate==0.9.0
threadpoolctl==3.2.0
tinycss2==1.3.0
tokenize-rt==5.1.0
toml==0.10.2
tomli==2.0.1
tomlkit==0.11.8
torch==2.3.1
tornado==6.4.1
tqdm==4.66.4
traitlets==5.9.0
typing_extensions==4.12.2
urllib3==2.2.2
wcwidth==0.2.6
webencodings==0.5.1

Steps to reproduce

Example source:

from pywhy_graphs.viz import draw
from pywhy_graphs import PAG
pag = PAG()
pag.add_edge("I", "S", pag.directed_edge_name)
pag.add_edge("G", "S", pag.directed_edge_name)
pag.add_edge("G", "L", pag.directed_edge_name)
pag.add_edge("S", "L", pag.directed_edge_name)
pag.add_edge("PSH", "L", pag.directed_edge_name)
pag.add_edge("S", "PSH", pag.circle_edge_name)
pag.add_edge("S", "G", pag.circle_edge_name)
dot_graph = draw(pag)

@aryan26roy aryan26roy added the bug Something isn't working label Jul 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant