Giter Club home page Giter Club logo

UDon2 logo

Prepare your UD trees to be served!

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).

pre-commit Build Status Downloads

📝 The development is on hiatus until February 2024

Documentation

Our online documentation is available at https://udon2.github.io/

Dealing with unsupported Python versions

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).

Using Docker

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:

  1. 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 called udon2:latest with Python 3.9 and UDon2 0.1.0 pre-installed. You can run docker images and see if you have such image listed (its size should be 922MB).
  2. 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 run sh 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!

Contributing

Please check our contribution guidelines.

Citing

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}
}

udon2's Projects

udon2 icon udon2

A package for manipulating Universal Dependencies trees

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.