E127: method chaining
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 5.2k
- Forks
- 754
- PR merge metrics
- No merged PRs in 30d
Description
I use method chaining in pandas very often, for example
import pandas as pd
df = (pd.read_csv('very/long/path/to/file/abcdefghijklmnopqrstuvwxyz.csv',
index_col='bar', encoding='utf-8')
.drop(labels='baz', axis=1))
in which I indent the lines according to the first dot . after pd.
Now sometimes, this works:

but also sometimes it doesn't, for example when the first part exceeds into a new line:

Any idea what's going wrong here?
I am using Spyder 4.0.0 | Python 3.7.3 64-bit | Windows 10
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the two method-chaining examples with pycodestyle and compare the E127 results, using the repository's single Python implementation as the entry point. Trace how indentation is determined when the first chained expression wraps, then add coverage and make the reported behavior consistent for both examples.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100