Installation¶
The latest stable code can be installed from PyPI with:
$ python3 -m pip install pybel
The most recent code can be installed from the source on GitHub with:
$ python3 -m pip install git+https://github.com/pybel/pybel.git
For developers, the repository can be cloned from GitHub and installed in editable mode with:
$ git clone https://github.com/pybel/pybel.git
$ cd pybel
$ python3 -m pip install -e .
Extras¶
The setup.py
makes use of the extras_require
argument of setuptools.setup()
in order to make some heavy
packages that support special features of PyBEL optional to install, in order to make the installation more lean by
default. A single extra can be installed from PyPI like python3 -m pip install pybel[neo4j]
or multiple can
be installed using a list like python3 -m pip install pybel[neo4j,indra]
. Likewise, for developer
installation, extras can be installed in editable mode with python3 -m pip install -e .[neo4j]
or multiple can
be installed using a list like python3 -m pip install -e .[neo4j,indra]
. The available extras are:
neo4j¶
This extension installs the py2neo
package to support upload and download to Neo4j databases.
See also
indra¶
This extra installs support for indra
, the integrated network dynamical reasoner and assembler. Because it also
represents biology in BEL-like statements, many statements from PyBEL can be converted to INDRA, and visa-versa. This
package also enables the import of BioPAX, SBML, and SBGN into BEL.
See also
pybel.from_indra_pickle()
pybel.to_indra()
jupyter¶
This extra installs support for visualizing BEL graphs in Jupyter notebooks.
See also
pybel.io.jupyter.to_html()
pybel.io.jupyter.to_jupyter()
Caveats¶
PyBEL extends the
networkx
for its core data structure. Many of the graphical aspects ofnetworkx
depend onmatplotlib
, which is an optional dependency.If
HTMLlib5
is installed, the test that’s supposed to fail on a web page being missing actually tries to parse it as RDFa, and doesn’t fail. Disregard this.
Upgrading¶
During the current development cycle, programmatic access to the definition and graph caches might become unstable. If you have any problems working with the database, try removing it with one of the following commands:
Running
pybel manage drop
(unix)Running
python3 -m pybel manage drop
(windows)Removing the folder
~/.pybel
PyBEL will build a new database and populate it on the next run.