While we are seeding this project with an initial set of popular tasks and a few models and examples, ongoing contributions from the research community are desired to increase the pool of tasks, models, and baselines.
We actively welcome your pull requests.
- Fork the repo and then clone the forked repository. (See this github guide on forking for more info). If you have already cloned the repo directly and committed changes, follow the steps in the section below
- Create your branch from
main
. Set up your environment and runpre-commit install
once. - Make your changes
- If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Autoformat and lint your code (
bash autoformat.sh
) - (Optional) Ensure the test suite passes. Run
python -m pytest -m unit
. - If you've added a new dataset, you should also run
python -m pytest -m data
. Copy-paste the output into a comment in your PR. - If you haven't already, complete the Contributor License Agreement ("CLA").
- Link CircleCI to your github account if you haven't done so previously (and make sure the CircleCI tests run successfully on the PR after you push your changes).
- Push your changes!
- Once the PR is accepted and CI is passing, we will merge the PR for you.
- Fork the repo
- In your local repo, rename your origin remote to upstream
git remote rename origin upstream
- Point origin to the forked repo (instead of to the original repo)
git remote add origin git@github...<FORK>
- Fetch from the new origin
git fetch origin
- Make your local branch track the remote branch (of the forked repo)
git branch --set-upstream-to origin/main main
In order to accept your pull request, we need you to submit a CLA. You only need to do this once to work on any of Facebook's open source projects.
Complete your CLA here: https://code.facebook.com/cla
We use GitHub issues for general feature discussion, Q&A and public bugs tracking. Please ensure your description is clear and has sufficient instructions to be able to reproduce the issue or understand the problem.
Facebook has a bounty program for the safe disclosure of security bugs. In those cases, please go through the process outlined on that page and do not file a public issue.
We try to follow the PEP style guidelines and encourage you to as well. You
should run the lint_changed.sh
script before you submit.
By contributing to ParlAI, you agree that your contributions will be licensed under the LICENSE file in the root directory of this source tree.