Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
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
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