Skip to main content
InQuantWeTrust logo

Package directory

Python packages for IBKR and research workflows

A neutral reference for official, community, and foundation packages used around Python-based IBKR integration, data analysis, storage, and testing. The goal is to help readers choose deliberately without criticizing any broker, language, or package.

Packages

8

Official

1

Community

4

Foundation

3

How to read this directory

  • This directory is descriptive, not a ranking. Package fit depends on your runtime, support model, and project constraints.
  • Verify current versions, licenses, and release notes before adopting any package in a production workflow.
  • Prefer paper-trading or read-only validation paths before connecting code to accounts that can place orders.

Directory

Package references

Suggest an addition →
OfficialReviewed 2026-06-06

IBKR TWS API Python client

The vendor API client used to communicate with Trader Workstation or IB Gateway from Python when working directly with the IBKR API surface.

IBKROfficialTWSIB GatewayAPI

Use cases

  • Direct access to the TWS or IB Gateway API
  • Low-level examples that match official API concepts
  • Projects that need to stay close to vendor documentation

Maintenance signals

Source: Official vendor APIAPI style: Callback/event orientedReview focus: Match local TWS/Gateway version

Install notes

python -m pip install ibapi
  • IBKR also distributes API files through the official TWS API download; align the installed Python package with the API version documented for your environment.
  • If your team installs from PyPI, record the version and provenance in your project notes so reviews can reproduce the setup.
CommunityReviewed 2026-06-06

ib_async

A community-maintained async-friendly package for IBKR workflows, with an interface familiar to many Python users building event-driven tools.

IBKRPythonAsyncCommunity

Use cases

  • Async applications and services
  • Market data, account data, and order-management tooling that benefits from coroutine-friendly APIs
  • New projects that prefer an actively maintained community layer

Maintenance signals

Maintenance: Active community projectDocs: Dedicated documentation siteAdoption check: Validate examples against your account permissions

Install notes

python -m pip install ib-async
  • Install into a project-specific virtual environment and pin the version once examples become operational.
  • Review release notes before upgrading event-loop or connection-handling code.
CommunityReviewed 2026-06-06

ib_insync

A widely used community package that presents a concise Python interface for IBKR workflows and remains relevant in many existing codebases.

IBKRPythonCommunityLegacy continuity

Use cases

  • Existing projects already built on ib_insync
  • Educational notebooks and concise examples
  • Migration planning when teams need continuity while evaluating alternatives

Maintenance signals

Maintenance: Public repository archivedDocs: ReadTheDocs site availableProject fit: Good for continuity with explicit ownership

Install notes

python -m pip install ib-insync
  • Pin versions for reproducibility, especially when maintaining notebooks, examples, or legacy services.
  • Document ownership for future fixes because the public repository is archived.
FoundationReviewed 2026-06-06

pandas

A core Python data analysis package for tabular research, portfolio reports, exports, and reproducible transformations.

PythonDataResearchReporting

Use cases

  • Portfolio and position tables
  • Historical bar cleaning and resampling
  • CSV, Parquet, and report preparation

Maintenance signals

Maintenance: Established open-source projectDocs: Extensive official docsReview focus: Check dtype and timezone assumptions

Install notes

python -m pip install pandas
  • Install alongside the data readers and file formats your project needs, then pin compatible versions in requirements or lock files.
  • For large datasets, test memory usage and serialization formats before standardizing a workflow.
FoundationReviewed 2026-06-06

NumPy

The foundational array package used throughout the scientific Python ecosystem for numerical computing and vectorized calculations.

PythonNumericalResearchArrays

Use cases

  • Vectorized calculations
  • Numerical features for research models
  • Interoperability with pandas, SciPy, and visualization tools

Maintenance signals

Maintenance: Established open-source projectEcosystem role: Core scientific Python dependencyReview focus: Confirm dtype and precision choices

Install notes

python -m pip install numpy
  • Most data-science stacks install NumPy transitively, but direct projects should still pin compatible versions.
  • Validate numeric precision and missing-value handling when converting between arrays and tabular data.
CommunityReviewed 2026-06-06

Polars

A DataFrame library designed for fast analytical workloads, useful when research datasets or transformations outgrow a simple pandas workflow.

PythonDataFrameAnalyticsPerformance

Use cases

  • Large tabular research datasets
  • Lazy analytical transformations
  • Fast local preprocessing before model or report generation

Maintenance signals

Maintenance: Active community projectDocs: Dedicated documentation siteReview focus: Validate conversions and null handling

Install notes

python -m pip install polars
  • Prototype conversions carefully when moving between pandas and Polars so date, timezone, and null semantics stay explicit.
  • Pin versions for pipelines that depend on lazy query behavior or file-format support.
FoundationReviewed 2026-06-06

Apache Arrow / PyArrow

Python bindings for Apache Arrow, commonly used for columnar data interchange and Parquet-based research storage.

PythonParquetStorageData

Use cases

  • Parquet read/write support
  • Columnar storage for research datasets
  • Interchange between DataFrame libraries

Maintenance signals

Maintenance: Apache projectEcosystem role: Columnar interchange layerReview focus: Confirm file-format compatibility

Install notes

python -m pip install pyarrow
  • Install when your workflow writes Parquet or exchanges columnar data between tools.
  • Check compatibility with your pandas or Polars version before standardizing storage formats.
CommunityReviewed 2026-06-06

pytest

A Python testing framework used to keep package integrations, data transformations, and safety checks reproducible over time.

PythonTestingQualityAutomation

Use cases

  • Regression tests for data pipelines
  • Connection helper tests with mocked sessions
  • Safety checks before publishing snippets or notebooks

Maintenance signals

Maintenance: Active community projectDocs: Extensive official docsReview focus: Avoid tests that depend on live accounts

Install notes

python -m pip install pytest
  • Install as a development dependency and keep tests independent of live broker sessions whenever possible.
  • Use fixtures, mocks, and recorded sample data to validate transformations without exposing private account data.