Skip to content

WIP/ DOC: Move 'For Developers' content from wiki to contributing docs. #30232 #30406

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 34 additions & 2 deletions doc/source/development/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -569,8 +569,40 @@ do not make sudden changes to the code that could have the potential to break
a lot of user code as a result, that is, we need it to be as *backwards compatible*
as possible to avoid mass breakages.

Additional standards are outlined on the `code style wiki
page <https://github.com/pandas-dev/pandas/wiki/Code-Style-and-Conventions>`_.
Cross-compatible code
---------------------

It's important to write code that will be compatible with most recent version of
Python 3.

Python 2/3 Compatibility
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

only py3.6+ is supported, so I think we can remove this too

~~~~~~~~~~~~~~~~~~~~~~~~

* After `v0.25.0 <https://github.com/pandas-dev/pandas/releases/tag/v0.25.0>`_
we have stopped supporting Python 2.
* ``callable`` - was first removed from Python 3.0 then brought back in python
3.2.

Imports (aim for absolute)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can remove all but this section. (retain as subsection of Code Standards)

~~~~~~~~~~~~~~~~~~~~~~~~~~

In Python 3, everything is an absolute import, so doing something like: ``import
string`` will import the string module rather than ``string.py`` in the same directory.
As much as possible, you should try to write out absolute imports that show the
whole import chain from toplevel pandas. In test code, it might be easier to just
reference local variables with relative imports (that start with ``.``) for clarity,
but in other code better to be explicit.

::

# cross compatible and preferred
import pandas.core.common as com

# may FAIL in Python 3
import common
Comment on lines +601 to +602
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could remove this


# okay in test code
from .common import test_base

Optional dependencies
---------------------
Expand Down