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"])