aws / aws/aws-cli

Fix CaseInsensitiveDict.copy() regression, setup.py spacing, and Python 3 py2exe imports

Open
#10,492 0 comments 0 reactions 0 assignees View on GitHub
bug investigating p2
Dominant language
Python
Stars
17.3k
Forks
4.6k
Avg merge
1d 2h
Merged PRs (30d)
13

Description

Hey guys,

Just ran into a couple of annoying bugs while messing with the build files and running tests locally.

1. **tests/__init__.py — Broken CaseInsensitiveDict.copy() & Typo**
* The copy() method on CaseInsensitiveDict returns self._store.values() directly, which passes a raw dict-values view. This fails on modern Python 3 runtimes. Wrap it in dict() first: CaseInsensitiveDict(dict(self._store.values())).
* Fixed spelling typo: serializble -> serializable.

2. **setup.py — Spacing Regex & Py2exe Python 3 Imports**
* The version parser regex is too rigid and fails if code formatters change the spacing around the '='. Updated to use \s*=\s*.
* Updated legacy py2exe packages (httplib, HTMLParser, ConfigParser) to their Python 3 equivalents (http.client, html.parser, configparser).

Contributor guide

Open the contributing guide

Research direction

Start with tests/__init__.py and setup.py, then run the existing test suite and inspect the version parsing and py2exe import paths. Verify that CaseInsensitiveDict.copy() returns a usable dictionary on Python 3, the typo is corrected, spacing around '=' is accepted, and the Python 3 imports work.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.