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 create your branch from
master
. Set up your environment and runpre-commit install
once. - 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
) - 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").
Our continuous integration suite will run only fast tests before merging. We also
have a number of slow, more thorough tests which run nightly. You can additionally
run these by adding [long]
into any of your commit messages. (A full list of
test triggers may be found in .circleci/triggers.py
)
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.