Contributing to pandas
Whether you are a novice or experienced software developer, all contributions and suggestions are welcome!
Our main contributing guide can be found in this repo or on the website. If you do not want to read it in its entirety, we will summarize the main ways in which you can contribute and point to relevant sections of that document for further information.
If you are looking to contribute to the pandas codebase, the best place to start is the GitHub "issues" tab. This is also a great place for filing bug reports and making suggestions for ways in which we can improve the code and documentation.
If you notice a bug in the code or documentation, or have suggestions for how we can improve either, feel free to create an issue on the GitHub "issues" tab using GitHub's "issue" form. The form contains some questions that will help us best address your issue. For more information regarding how to file issues against pandas, please refer to the "Bug reports and enhancement requests" section.
Contributing to the Codebase
The code is hosted on GitHub, so you will need to use Git to clone the project and make changes to the codebase. Once you have obtained a copy of the code, you should create a development environment that is separate from your existing Python environment so that you can make and test changes without compromising your own work environment. For more information, please refer to the "Working with the code" section.
Before submitting your changes for review, make sure to check that your changes do not break any tests. You can find more information about our test suites in the "Test-driven development/code writing" section. We also have guidelines regarding coding style that will be enforced during testing, which can be found in the "Code standards" section.
Once your changes are ready to be submitted, make sure to push your changes to GitHub before creating a pull request. Details about how to do that can be found in the "Contributing your changes to pandas" section. We will review your changes, and you will most likely be asked to make additional changes before it is finally ready to merge. However, once it's ready, we will merge it, and you will have successfully contributed to the codebase!