Getting Started
Note
PyLiPD requires the use of Python 3.11 or above
Installation
PyLiPD can be easily installed through PyPI. We recommend using an dedicated Anaconda or Miniconda environment. Then you may install PyLiPD via pip. Installation instructions for Anaconda can be found here.
Creating an environment
Create an environment via the command line:
conda create -n lipd
As of September 2025, we recommend the use of Python 3.11. To install this specific version of Python, use the following:
conda create -n lipd python=3.11
To view a list of available environments:
conda env list
To activate the new environment:
conda activate lipd
To view the list of packages in your environment:
conda list
To remove the environment:
conda remove --name lipd --all
More information about managing conda environments can be found here.
Installing PyLiPD
Once the lipd environment is activated, simply run:
pip install pylipd
This will install the latest official release, which you can view here. To install the latest version, which contains the most up-to-date features, you can install directly from the GitHub source:
pip install git+https://github.com/LinkedEarth/pylipd.git
This version may contain bugs not caught by our continuous integration test suite; if so, please report them via github issues.
If you wish to contribute to PyLiPD, see our contributing guide for complete instructions on building from the git source tree.
Running the test suite
pylipd comes with a set if unit tests. To run these, you need to install pytest in the same environment as pylipd via pip install pytest. To run the tests from a Python terminal, navigate to the tests folder on your computer and run:
pytest
Note
Since some of the tests require the use of the Graph Database, you need to have an internet connection for these tests to run.
Dependencies
pylipd requires the following dependencies:
rdflib
Pandas
doi2bib
pybtex
tqdm
bagit
numpy
bibtexparser
beautifulsoup4
requests
Usage
Loading a local LiPD file
from pylipd.lipd import LiPD
lipd = LiPD()
lipd.load(["MD98_2181.Stott.2007.lpd", "Ant-WAIS-Divide.Severinghaus.2012.lpd", "Asi-TDAXJP.PAGES2k.2013.lpd"])
Loading LiPD data from GraphDB server
from pylipd.lipd import LiPD
lipd = LiPD()
lipd.set_endpoint("https://linkedearth.graphdb.mint.isi.edu/repositories/LiPDVerse-dynamic")
lipd.load_remote_datasets(["MD98_2181.Stott.2007", "Ant-WAIS-Divide.Severinghaus.2012", "Asi-TDAXJP.PAGES2k.2013"])