-
Notifications
You must be signed in to change notification settings - Fork 15
How to contribute to sparc api ?
SPARC api uses Wrike for the project management. In order to contribute, a developer should reach out to the SPARC team by sending an email to [email protected]
PRs are reviewed by peers. At least one reviewer approval is necessary for a PR to be merged. If you're unsure who to ask for a review, pick at least two people from the contributors list that have contributed recently: https://github.com/nih-sparc/sparc-api/graphs/contributors If you cannot select a reviewer, you probably need to be added to the nih-sparc organization in github. To do so, you can contact [email protected]
- Pass CI, which is setup to run the tests via
nosetests
- Approved by one or more contributors
- Does this code meet the existing project's coding style and/or standards?
- Does the project have the necessary unit and/or integration tests written?
- Is there documentation capturing how to regression test this feature?
- Does this code impact any existing modules and/or tests?
- Are performance benchmarks required?
- How will data flows be validated?
- Does this require any updates to existing architecture designs?
The tests should at a minimum ensure that the acceptance criteria are met and demonstrate it clearly.
We follow Pep8 style guide https://www.python.org/dev/peps/pep-0008/
Code is automatically deployed to staging when merged to master
on Heroku. Staging also shows draft content in Contentful.
Tests can be written in python.
A developer can use the following steps and commands to ensure quality and working code.
- Run locally and ensure the feature works as intended
- Run
black .
andisort
tools to clean your code - Run unit tests via
nosetests
- A feature branch is typically created at the beginning of the work, and a PR is created at the end when ready to be reviewed and merged.
How should github issues be used vs Wrike tickets (especially given the closed Wrike tickets vs the openness of the code itself)
We currently do not use github ticket system. If feedback is provided through github, we will create a ticket in wrike and maintain open communication on the github ticket.
The API documentation for Pennsieve Discover: https://docs.pennsieve.io/reference