diff --git a/.circleci/config.yml b/.circleci/config.yml index c6bebc5..49fabb6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 images: python: &python - - image: circleci/buildpack-deps:stretch-browsers + - image: circleci/buildpack-deps machines: win-python: &win-python @@ -62,10 +62,7 @@ utils: conda install -y virtualenv pip install -U pip setuptools wheel conda install -y cython - conda install -c anaconda graphviz=2.50.0 # to be able to import pygraphviz pip install -r requirements.txt -U - #pip install --global-option=build_ext --global-option="-IC:\Program Files\Graphviz\include" --global-option="-LC:\Program Files\Graphviz\lib" pygraphviz - pip install --global-option=build_ext --global-option="-IC:\tools\miniconda3\pkgs\graphviz-2.50.0-hdb8b0d4_0\Library\include" --global-option="-LC:\tools\miniconda3\pkgs\graphviz-2.50.0-hdb8b0d4_0\Library\lib" pygraphviz pip install -r test_requirements.txt -U pip install ".[pytorch]" diff --git a/RELEASE.md b/RELEASE.md index 7547ff0..5ff6c00 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,4 +1,7 @@ # Upcoming release +# Release 0.12.1 +* Unlocking cap on following requirements: networkx, pathos, torch and wrapt + # Release 0.12.0 * Switch to Pyvis for graph visualisation and remove dependency on Graphviz diff --git a/causalnex/__init__.py b/causalnex/__init__.py index 83d986d..18cf8f8 100644 --- a/causalnex/__init__.py +++ b/causalnex/__init__.py @@ -30,6 +30,6 @@ causalnex toolkit for causal reasoning (Bayesian Networks / Inference) """ -__version__ = "0.12.0" +__version__ = "0.12.1" __all__ = ["structure", "discretiser", "evaluation", "inference", "network", "plots"] diff --git a/devel-cpu.Dockerfile b/devel-cpu.Dockerfile index d92043b..25a749d 100644 --- a/devel-cpu.Dockerfile +++ b/devel-cpu.Dockerfile @@ -2,7 +2,7 @@ FROM ubuntu:20.04 ENV DEBIAN_FRONTEND=noninteractive -RUN apt-get update -y && apt install -y python3.8 python3-pip libgraphviz-dev graphviz +RUN apt-get update -y && apt install -y python3.8 python3-pip RUN ln -s $(which python3) /usr/local/bin/python #COPY requirements.txt test_requirements.txt tmp/ COPY . /tmp diff --git a/devel-gpu.Dockerfile b/devel-gpu.Dockerfile index d4392c2..32cc996 100644 --- a/devel-gpu.Dockerfile +++ b/devel-gpu.Dockerfile @@ -2,7 +2,7 @@ FROM nvidia/cuda:11.7.0-base-ubuntu20.04 ENV DEBIAN_FRONTEND=noninteractive -RUN apt-get update -y && apt install -y python3.8 python3-pip libgraphviz-dev graphviz +RUN apt-get update -y && apt install -y python3.8 python3-pip RUN ln -s $(which python3) /usr/local/bin/python # Copy all files to container as intalling .[pytorch] requires setup.py, which requires other files COPY . /tmp diff --git a/doc_requirements.txt b/doc_requirements.txt index 98e7075..d87cac7 100644 --- a/doc_requirements.txt +++ b/doc_requirements.txt @@ -11,10 +11,10 @@ nbstripout==0.3.3 patchy>=1.5, <2.0 pydot>=1.4, <2.0 pygments>=2.6.1, <3.0 -pygraphviz>=1.5, <2.0 recommonmark>=0.5.0, <1.0 sphinx-autodoc-typehints>=1.6.0, <2.0 sphinx-markdown-tables>=0.0.15, <1.0 sphinx>=3.0.4, <4.0 sphinx_copybutton>=0.2.5, <1.0 sphinx_rtd_theme>=0.4.3, <1.0 +tornado>=6.3.2 # not directly required, pinned by Snyk to avoid a vulnerability diff --git a/requirements.txt b/requirements.txt index 967abea..cc0d597 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ ipython>=8.10.0 # Required by Snyk -networkx~=2.5 +networkx>=2.5 numpy>=1.14.2, <1.24 pandas>=1.0, <2.0 -pathos>=0.2.7, <0.3.0 +pathos>=0.2.7 pgmpy>=0.1.14, <0.1.20 pyvis>=0.3.2 scikit-learn>=0.22.0, !=0.22.2.post1, !=0.24.1; python_version < '3.9' @@ -10,6 +10,5 @@ scikit-learn>=0.24.0, !=0.24.1; python_version == '3.9' scikit-learn>=0.25.0; python_version == '3.10' scipy>=1.7 setuptools>=65.5.1 -torch>=1.7, <2.0 +torch>=1.7 wheel>=0.38.0 -wrapt>=1.11.0, <1.13 diff --git a/tests/test_plotting.py b/tests/test_plotting.py index adca13d..0b235ac 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -49,7 +49,7 @@ def test_all_nodes_exist(self): assert all(node in a_graph.get_nodes() for node in ["a", "b", "c"]) def test_all_edges_exist(self): - """All edges in original graph should exist in pygraphviz graph""" + """All edges in original graph should exist in graph""" edges = [(str(a), str(a + b + 1)) for a in range(2) for b in range(3)] sm = StructureModel(edges) a_graph = plot_structure(sm)