Giter VIP home page Giter VIP logo

llm4pddl's Introduction

llm4pddl

Under development.

Requirements

  • Python 3.8+
  • Tested on MacOS Catalina and Ubuntu 18.04

Instructions For Contributing

First Time

  • (Highly recommended) Make a virtual environment:
    • virtualenv venv
    • source venv/bin/activate
  • Clone this repository with submodules: git clone --recursive https://github.com/Learning-and-Intelligent-Systems/llm4pddl.git
  • Run pip install -e .[develop] to install the main dependencies for development.
    • If you encounter issues with the transformers dependency on MacOS, we recommend doing the following:
      1. Run curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh in terminal.
      2. Restart the terminal.
      3. Run pip install transformers.
    • If problems persist, see huggingface/transformers#2831.
  • Run pip install -e llm4pddl/third_party/pyperplan to install our fork of pyperplan.

Developing

  • After pulling the latest changes, also run git submodule update --init --recursive to make sure that you have any changes to the pyperplan submodule.
  • You can't push directly to master. Make a new branch in this repository (don't use a fork, since that will not properly trigger the checks when you make a PR). When your code is ready for review, make a PR and request reviews from the appropriate people.
  • To merge a PR, you need at least one approval, and you have to pass the 4 checks defined in .github/workflows/llm4pddl.yml, which you can run locally as follows:
    • pytest -s tests/ --cov-config=.coveragerc --cov=llm4pddl/ --cov=tests/ --cov-fail-under=100 --cov-report=term-missing:skip-covered --durations=0
    • mypy .
    • pytest . --pylint -m pylint --pylint-rcfile=.llm4pddl_pylintrc
    • ./run_autoformat.sh
  • The first one is the unit testing check, which verifies that unit tests pass and that code is adequately covered. The "100" means that all lines in every file must be covered.
  • The second one is the static typing check, which uses Mypy to verify type annotations.
  • The third one is the linter check, which runs Pylint with the custom config file .llm4pddl_pylintrc in the root of this repository. Feel free to edit this file as necessary.
  • The fourth one is the autoformatting check, which uses the custom config files .style.yapf and .isort.cfg in the root of this repository.

llm4pddl's People

Contributors

tomsilver avatar reeceshuttle avatar alchemy5 avatar

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.