Skip to content

0.1.1

Choose a tag to compare

@subzeroid subzeroid released this 25 Apr 22:26
· 365 commits to main since this release

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 into Client; captcha is opt-in (matches upstream).
  • Constructor improvements: deepcopy(settings) for caller-isolation, Optional typing throughout, instance-level logger via DEFAULT_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: overwrite flag 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_xma field on DirectMessage and ReplyMessage.
  • Renamed internal reqwests.pyhttpx_ext.py for 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 .proxy attribute (vs upstream's requests-style proxies dict)
  • No urllib3.disable_warnings (httpx-incompatible)

Install

pip install aiograpi==0.1.1