0.1.1
Sync with instagrapi 2.4.4. First published release of the 2.4.4 sync (0.1.0 filename was globally reserved on PyPI from a prior deletion).
Highlights
- Full upstream sync with instagrapi 2.4.4: every mixin, infrastructure module, and the StoryBuilder ported file-by-file.
- 3 new mixins:
captcha(opt-in handler interface),explore,fundraiser. Explore and fundraiser are wired intoClient; captcha is opt-in (matches upstream). - Constructor improvements:
deepcopy(settings)for caller-isolation,Optionaltyping throughout, instance-levelloggerviaDEFAULT_LOGGER(overridable per-Client). - Auth/session hardening: clear stale cookies / IG-U-RUR / sessionid on relogin, isolate default client settings state, harden numeric private/contact-form challenge choices, preserve SMS choice across challenge follow-ups.
- Media/uploads:
overwriteflag on media downloads, hardened configure response handling, cutout sticker support (create + video), resource cleanup on errors across story / direct / album / reel uploads. - Direct messages: handle incomplete direct XMA shares,
generic_xmafield onDirectMessageandReplyMessage. - Renamed internal
reqwests.py→httpx_ext.pyfor clarity (it's an httpx shim, not a requests-compat layer). - Tests ported wholesale from upstream and async-converted (
unittest.IsolatedAsyncioTestCase). 218 collected; 11 upstream regression classes that mock requests.Session/urllib3 internals are skipped — they need per-test rewrites with AsyncMock + httpx equivalents (follow-up).
aiograpi-specific divergences preserved
GraphQLRequestMixin(no upstream counterpart)- httpx-style single-string
.proxyattribute (vs upstream's requests-styleproxiesdict) - No
urllib3.disable_warnings(httpx-incompatible)
Install
pip install aiograpi==0.1.1