-
Notifications
You must be signed in to change notification settings - Fork 100
Contribution Review
When contributing to ActivitySim, the set of questions below will be asked of the contribution. Make sure to also review the Development documentation before making a submittal. The automated test system also provides some helpful information where identified.
To submit a contribution for review, issue a pull request with a comment introducing your contribution. The comment should include a brief overview, responses to the questions, and pointers to related information. The entire submittal should ideally be self contained so any additional documentation should be in the pull request as well. The PMC and/or its Contractor will handle the review request, comment on each question, complete the feedback form, and reply to the pull request. If accepted, the commit(s) will be squashed and merged. Its a good idea to setup a pre-submittal meeting to discuss questions and better understand expectations.
- Does it contain all the required elements, including a runnable example, documentation, and tests?
- Does it implement good methods (i.e. is it consistent with good practices in travel modeling)?
- Are the runtimes reasonable and does it provide documentation justifying this claim?
- Does it include non-Python code, such as C/C++? If so, does it compile on any OS and are compilation instructions included?
- Is it licensed with the ActivitySim license that allows the code to be freely distributed and modified and includes attribution so that the ‘provenance’ of the code can be tracked? Does it include an official release of ownership from the funding agency if applicable?
- Does it appropriately interact with the data pipeline (i.e. it doesn't create new ways of managing data)?
- Does it include regression tests to enable checking that consistent results will be returned when updates are made to the framework?
- Does it include sufficient test coverage and test data for existing and new features?
- Any other comments or suggestions for improving the developer experience?
The PMC and/or its Contractor will provide feedback for each review criteria above and tag each submittal category as follows:
Status | Code | Documentation | Tests/Examples |
---|---|---|---|
Accept | |||
Accept but recommend revisions | |||
Do not accept | |||
Abstain |