|
| 1 | +**Thank you for thinking about contributing something to this Python |
| 2 | +implementation on Graal!** |
| 3 | + |
| 4 | +## First things first |
| 5 | + |
| 6 | +You will need to sign the [Oracle Contributor |
| 7 | +Agreement](http://www.graalvm.org/community/contributors/) for us to be able to |
| 8 | +merge your work. |
| 9 | + |
| 10 | +Please also take some time to review our [code of |
| 11 | +conduct](http://www.graalvm.org/community/conduct/) for contributors. |
| 12 | + |
| 13 | +## How to contribute? |
| 14 | + |
| 15 | +If you want to make a contribution, it's best to open an issue first about the |
| 16 | +area you would like to offer your help with. This implementation is in an early |
| 17 | +state and it will make more sense to work on some areas than others, so before |
| 18 | +you sink work into a pull request that we won't be able to accept, please talk |
| 19 | +to us :) |
| 20 | + |
| 21 | +To get started with development on Python, first make sure you can build at |
| 22 | +least the _truffle_ project in the [Graal](https://github.com/oracle/graal) |
| 23 | +repository with our build tool [mx](https://github.com/graalvm/mx), as well as |
| 24 | +[Sulong](https://github.com/graalvm/sulong). |
| 25 | + |
| 26 | +Once you can build those projects, clone this repository and run |
| 27 | + |
| 28 | + $ mx build |
| 29 | + $ mx python -c "print(42)" |
| 30 | + |
| 31 | +If this prints "42", then everything went fine and you just built and ran |
| 32 | +Python. Note that you don't need GraalVM for this, but then you'll only run |
| 33 | +interpreted, which won't give very good performance (but that might be fine for |
| 34 | +development). |
| 35 | + |
| 36 | +When you make your changes, you can test them with `mx python`. Additionally, |
| 37 | +there are various "gates" that we use on our CI system to check any code that |
| 38 | +goes in. You can run all of these gates using `mx python-gate` or just some by |
| 39 | +using `mx python-gate --tags [TAG]`. Two interesting tags to run that cover most |
| 40 | +things are: |
| 41 | + |
| 42 | +- python-unittest |
| 43 | +- python-graalvm |
| 44 | +- python-license |
0 commit comments