Skip to content

Conversation

@mattsta
Copy link
Contributor

@mattsta mattsta commented Nov 7, 2025

Reviews / checks welcome.

I ran this against live API usage and the new tick fields appear to work without crashing anything so far (though, I can't get all of them to populate correctly because the server-side tick mappings aren't the client-request tick mappings, and I don't see a true client tick map population list anywhere).

Will update/integrate these refactors if no bad reports come back after a couple days.

Also refactors some handling to use the more modern O(1) setting
patterns.

Adds missing tick types present in the current IBKR ibapi client we
hadn't updated internally in a while.

Currently untested, but looks good so far. Some specific data types or
data extraction formats may need to be adjusted when we test against
live data.

Fixes #182
Fixes #182
Also removes obsolete import guard since Python 3.9+ guarantees zoneinfo
exists.

Fixes #188
This wasn't a global problem and only triggered edge cases for people
developing with too much (unnecessary?) complexity, but now we don't
cache the event loop and instead request the live event loop each time.

This is technically about 10x slower than using a cached event loop
reader, but the difference is just +20ns slower if we ask python to
lookup the active event loop each time vs using it cached on first
access forever.

Fixes #160
Fixes #186
Fixes #159
We are currently Python 3.10 minimum, so use Python 3.10 syntax
everywhere.
Lots of warnings are just from notebooks which we can ignore due to
import issues. Others are smaller things we fixed in-place.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants