UDon2 is a library for manipulating dependency trees in the Universal Dependencies format. Written in C++ with Python bindings through Boost.Python. Pre-compiled for Python 3.7-3.9 on Linux (both i386 and x86_64), Windows (win32 and win_amd64) and macOS (x86_64 only).
Note: Python 3.6 is supported for versions prior to v0.1.0 on Linux only (both i386 and x86_64).
📝 | The development is on hiatus until February 2024 |
---|
Our online documentation is available at https://udon2.github.io/
If your version of Python is currently not supported by UDon2, you could take one of the 2 approaches:
- Building the package from the sources, as described here. The advantage of this method is that you will most probably get a speed boost, compared to the pre-compiled versions on PyPI (see benchmarks to get a feeling for how much boost to expect). This approach is recommended for those people who feel comfortable with compiling stuff from sources.
- Building a Docker container with one of the supported versions of Python and installing UDon2 package there. This is recommended for those who have never compiled anything in their lives. In fact to support this approach, we have provided a number of scripts out of the box (see below).
The first basic requirement is installing Docker. Docker has 2 concepts: images and containers. You can think of images as sort of templates for the kind of development environment you want (in our case the one that has Python and UDon2 installed). Containers are the actual environments that are built from these templates (Docker images). Once you get comfortable with this, the process is pretty simple. You can either go ahead and create your own Docker images and spin your own containers or use the provided helper scripts (in which case, please continue reading).
If you decide to use the helper scripts, please clone this repository first. Then follow these steps:
- Create a Docker image with Python and UDon2 installed. If you run
sh tools/create_udon2_python_image.sh
, this will create a Docker image calledudon2:latest
with Python 3.9 and UDon2 0.1.0 pre-installed. You can rundocker images
and see if you have such image listed (its size should be 922MB). - Now we need to spin the actual container that uses this image. Create a folder for the project that will be using UDon2 and put all the files you need there. Additionally copy
tools/run_udon2_docker.sh
to that folder. Now navigate to that folder and runsh tools/run_udon2_docker.sh
, which should start the docker container and give you access to the bash prompt. The folder from which you ran the shell script, will be available under$HOME/workspace
inside the Docker container. Happy scripting!
Please check our contribution guidelines.
The associated paper is accepted to the Universal Dependencies Workshop 2020 @ COLING 2020. If UDon2 is of any use in your research, please cite the paper.
@inproceedings{kalpakchi2020udon2,
title={UDon2: a library for manipulating Universal Dependencies trees},
author={Kalpakchi, Dmytro and Boye, Johan},
booktitle={Proceedings of the Fourth Workshop on Universal Dependencies (UDW 2020)},
pages={120--125},
year={2020}
}