Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
da6a7dc
Implement protobuf
gnzsnz Oct 27, 2025
fc67a99
Refactor ticker handling and improve tick data processing
gnzsnz Nov 10, 2025
4573253
disable extremely high volume logging on ticker
gnzsnz Nov 10, 2025
c6787ea
Add IneligibilityReason dataclass and add historical schedule
gnzsnz Nov 10, 2025
f82026a
Changes
gnzsnz Dec 3, 2025
64e22f0
ruff format and checks
gnzsnz Dec 3, 2025
dcffb05
feat(ticker): Enhance Ticker class with additional ETF NAV fields and…
gnzsnz Dec 9, 2025
e40a49c
fix ruff linting
gnzsnz Dec 9, 2025
121ed66
retrofit changes from 2.1.0
gnzsnz Dec 10, 2025
5013f81
Changes
gnzsnz Dec 18, 2025
c564c54
Changes
gnzsnz Dec 19, 2025
b7f1c89
fix ContractDetails
gnzsnz Dec 19, 2025
8e3884a
Changes:
gnzsnz Dec 19, 2025
becd0be
implement requestFAAsync and replaceFA
gnzsnz Dec 29, 2025
57b8d13
Changes
gnzsnz Dec 29, 2025
c71c9e3
Enhance protobuf handling and event management
gnzsnz Dec 30, 2025
04795ce
refactor: streamline logging on warnings.
gnzsnz Dec 31, 2025
0d823ed
refactor: enhance protobuf converters with IBDefaults handling and sa…
gnzsnz Jan 13, 2026
269ef35
Refactor tests and add new test cases for various converters
gnzsnz Jan 13, 2026
5c9b15d
refactor: clean up whitespace and formatting across multiple files
gnzsnz Jan 13, 2026
3b9d9ed
fix: cancel market data request for unknown ticker delivery
gnzsnz Jan 15, 2026
833862c
refactor: update PortfolioItem to use Decimal for position and enhanc…
gnzsnz Jan 17, 2026
3cd7a55
refactor: update Position and PortfolioItem to use Decimal for positi…
gnzsnz Jan 17, 2026
325ef86
refactor: update OrderAllocation to use DECIMAL_NAN for default value…
gnzsnz Jan 18, 2026
d3003a6
refactor: update OrderState to use DECIMAL_NAN for suggestedSize and …
gnzsnz Jan 18, 2026
95f5f92
refactor: update Order class to use DECIMAL_ZERO for totalQuantity an…
gnzsnz Jan 18, 2026
7be5f0e
refactor: use relative imports consistenly in trade_converters.py
gnzsnz Jan 18, 2026
0bd094e
class exec
gnzsnz Jan 18, 2026
c89dd96
refactor: update contract and converters to use Decimal for size fiel…
gnzsnz Jan 18, 2026
c23599e
refactor: add pre-commit configuration and update pyproject.toml for …
gnzsnz Jan 18, 2026
26948f3
refactor: clean up imports and improve code formatting across multipl…
gnzsnz Jan 18, 2026
2f2d7b3
refactor: change order filled and remaining methods to use Decimal fo…
gnzsnz Jan 18, 2026
76aacb4
refactor: remove unnecessary blank lines in documentation files
gnzsnz Jan 18, 2026
e671404
refactor: clean up README and pyproject.toml for improved readability…
gnzsnz Jan 18, 2026
d2d20e0
refactor: change margin and commission fields in OrderState to use fl…
gnzsnz Jan 21, 2026
af6ec95
refactor: removie Decimal type for ETF NAV fields. Set contract field…
gnzsnz Jan 21, 2026
3f25ce2
refactor: set default value for tif in Order class to DAY
gnzsnz Jan 21, 2026
6b97df2
refactor: add coverage configuration to omit specific directories and…
gnzsnz Jan 21, 2026
2d64046
refactor: update OrderStatus fields to use Decimal for consistency an…
gnzsnz Jan 22, 2026
fefb1a7
fix: remove snapshot tickers once returned.
gnzsnz Jan 22, 2026
8f632b3
fix: avoid duplicate ticker creating. wrapper.startTicker should get …
gnzsnz Jan 25, 2026
f177aa4
fix: typing linter warnings.
gnzsnz Jan 30, 2026
4eab720
fix: SoftDollarTiersProto and SoftDollarTierProto (singular) typing.
gnzsnz Jan 30, 2026
55dd092
fix: typing linter warnings in sendMsg call to
gnzsnz Jan 30, 2026
42c2414
fix: typing linter warnings in sendMsg call
gnzsnz Jan 30, 2026
b960601
feat: add Trigger enum
gnzsnz Feb 1, 2026
7a67b31
fix: wrapper.response_bus "pile-up"
gnzsnz Feb 10, 2026
0b4b026
feat: implement _response_single and _response_multi, DRY
gnzsnz Feb 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 11 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ "3.10", "3.11", "3.12", "3.13", "pypy3.10", "pypy3.11" ]
python-version: [ "3.10", "3.11", "3.12", "3.13", "3.14", "pypy3.10", "pypy3.11" ]

steps:
- uses: actions/checkout@v4
Expand All @@ -18,10 +18,18 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies of dependencies
run: |
pip install pip poetry uv setuptools wheel -U

- name: Install dependencies
run: |
pip install mypy types-dataclasses .
poetry install --with=dev

- name: MyPy static code analysis
run: |
mypy -p ib_async
poetry run mypy --pretty ib_async

- name: Ruff check
run: |
poetry run ruff check
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,7 @@ ib_async.egg-info
poetry.lock
*.csv
*.json
proto/*
**/__pycache__/
#pythonclient/*
.coverage
22 changes: 22 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- id: check-toml
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.13
hooks:
- id: ruff
- id: ruff-format
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.19.1
hooks:
- id: mypy
args: [ --config-file=pyproject.toml ]
exclude: '^ib_async/protobuf/'
19 changes: 16 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -496,26 +496,39 @@ poetry run ruff format
poetry run ruff check --fix
```

### Generate protobuf dependencies

Build protobuf files

Copy `*.proto` files from `twsapi` into `ib_async/proto`, then run:

```bash
poetry run python -m grpc_tools.protoc -I=proto --python_out=ib_async/protobuf --pyi_out=ib_async/protobuf proto/*.proto
#
poetry run python scripts/fix_proto_imports.py
```

### Local Development

1. Clone the repository:

```bash
git clone https://github.com/ib-api-reloaded/ib_async.git
cd ib_async
```

2. Install dependencies:
1. Install dependencies:
```bash
poetry install --with=dev,docs
```

3. Make your changes and run tests:
1. Make your changes and run tests:
```bash
poetry run pytest
poetry run mypy ib_async
```

4. Submit a pull request with:
1. Submit a pull request with:
- Clear description of changes
- Tests for new functionality
- Updated documentation if needed
Expand Down
1 change: 0 additions & 1 deletion docs/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,3 @@ IBC
Watchdog
--------
.. autoclass:: ib_async.ibcontroller.Watchdog

2 changes: 0 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,3 @@ Contents

.. include:: ../README.md
:parser: myst_parser.sphinx_


2 changes: 0 additions & 2 deletions docs/notebooks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,3 @@ Here are some recipe notebooks:
Market depth <https://nbviewer.jupyter.org/github/ib-api-reloaded/ib_async/tree/main/notebooks/market_depth.ipynb>
Ordering <https://nbviewer.jupyter.org/github/ib-api-reloaded/ib_async/tree/main/notebooks/ordering.ipynb>
Scanners <https://nbviewer.jupyter.org/github/ib-api-reloaded/ib_async/tree/main/notebooks/scanners.ipynb>


2 changes: 0 additions & 2 deletions docs/readme.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
.. include:: ../README.md
:parser: myst_parser.sphinx_


10 changes: 1 addition & 9 deletions ib_async/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
from . import util
from .client import Client
from .contract import (
CFD,
Bag,
Bond,
CFD,
ComboLeg,
Commodity,
ContFuture,
Expand Down Expand Up @@ -76,9 +76,6 @@
TickAttrib,
TickAttribBidAsk,
TickAttribLast,
TickByTickAllLast,
TickByTickBidAsk,
TickByTickMidPoint,
TickData,
TradeLogEntry,
WshEventData,
Expand All @@ -93,7 +90,6 @@
OrderComboLeg,
OrderCondition,
OrderState,
OrderStateNumeric,
OrderStatus,
PercentChangeCondition,
PriceCondition,
Expand Down Expand Up @@ -136,7 +132,6 @@
"FlexReport",
"IB",
"IBDefaults",
"OrderStateNumeric",
"IBC",
"Watchdog",
"AccountValue",
Expand Down Expand Up @@ -180,10 +175,7 @@
"TickAttrib",
"TickAttribBidAsk",
"TickAttribLast",
"TickByTickAllLast",
"WshEventData",
"TickByTickBidAsk",
"TickByTickMidPoint",
"TickData",
"TradeLogEntry",
"BracketOrder",
Expand Down
Loading