Development# Contributing to pandas Where to start? Bug reports and enhancement requests Working with the code Contributing your changes to pandas Tips for a successful pull request Creating a development environment Creating an environment using Docker Creating an environment without Docker Contributing to the documentation About the pandas documentation Updating a pandas docstring How to build the pandas documentation Previewing changes Contributing to the code base Code standards Pre-commit Optional dependencies Backwards compatibility Type hints Testing with continuous integration Test-driven development Running the test suite Running the performance test suite Documenting your code pandas maintenance Roles Tasks Issue triage Closing issues Reviewing pull requests Backporting Cleaning up old issues Cleaning up old pull requests Becoming a pandas maintainer Merging pull requests Benchmark machine Release process Internals Indexing Subclassing pandas data structures Debugging C extensions Using a debugger Checking memory leaks with valgrind Extending pandas Registering custom accessors Extension types Subclassing pandas data structures Plotting backends Developer Storing pandas DataFrame objects in Apache Parquet format Policies Version policy Python support Roadmap Extensibility String data type Consistent missing value handling Apache Arrow interoperability Block manager rewrite Decoupling of indexing and internals Numba-accelerated operations Performance monitoring Roadmap evolution Completed items Developer meetings Minutes Calendar