Skip to content

Commit eff01a5

Browse files
committed
add a contributing.md
1 parent cf256a0 commit eff01a5

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

CONTRIBUTING.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
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

Comments
 (0)