{"id":33147774,"url":"https://github.com/deepentropy/ibapi","last_synced_at":"2026-05-23T00:02:51.008Z","repository":{"id":324253885,"uuid":"1096534318","full_name":"deepentropy/ibapi","owner":"deepentropy","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-14T22:07:51.000Z","size":693,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-15T15:49:00.505Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deepentropy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-14T15:09:40.000Z","updated_at":"2025-11-14T22:02:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/deepentropy/ibapi","commit_stats":null,"previous_names":["deepentropy/ibapi-python","deepentropy/ibapi"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/deepentropy/ibapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepentropy%2Fibapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepentropy%2Fibapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepentropy%2Fibapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepentropy%2Fibapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deepentropy","download_url":"https://codeload.github.com/deepentropy/ibapi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepentropy%2Fibapi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284580579,"owners_count":27029575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-15T02:00:06.050Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-11-15T15:49:02.175Z","updated_at":"2025-12-25T20:14:54.790Z","avatar_url":"https://github.com/deepentropy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ibapi\n\nAutomated publisher for the Interactive Brokers TWS API Python client on PyPI.\n\n[![PyPI Latest](https://img.shields.io/pypi/v/ibapi-latest?label=latest)](https://pypi.org/project/ibapi-latest/)\n[![PyPI Stable](https://img.shields.io/pypi/v/ibapi-stable?label=stable)](https://pypi.org/project/ibapi-stable/)\n[![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)\n[![License](https://img.shields.io/badge/license-IB%20API%20Non--Commercial-blue.svg)](LICENSE)\n\n## 📦 Installation\n\n**Two packages available on PyPI:**\n\n### Latest Version (Recommended)\n```bash\npip install ibapi-latest\n```\n\n### Stable Version\n```bash\npip install ibapi-stable\n```\n\nYou can also install a specific version:\n```bash\npip install ibapi-latest==10.40.01\npip install ibapi-stable==10.37.02\n```\n\n## 🚀 Usage\n\n```python\nfrom ibapi.client import EClient\nfrom ibapi.wrapper import EWrapper\nfrom ibapi.contract import Contract\n\nclass IBApp(EWrapper, EClient):\n    def __init__(self):\n        EClient.__init__(self, self)\n\napp = IBApp()\napp.connect(\"127.0.0.1\", 7497, clientId=1)\napp.run()\n```\n\nFor complete examples and documentation, visit the [official IB API documentation](https://ibkrcampus.com/ibkr-api-page/).\n\n## 📋 About This Package\n\nThis is an **unofficial** automated publisher for the Interactive Brokers TWS API Python client. The source code is from Interactive Brokers' official TWS API distribution, packaged and published to PyPI for easy installation.\n\n\u003e **⚠️ DISCLAIMER**\n\u003e\n\u003e This package is **NOT officially affiliated with, endorsed by, or supported by Interactive Brokers LLC**. It is an independent community project that automates the packaging and distribution of the official IB API source code.\n\u003e\n\u003e - The IB API source code is proprietary to Interactive Brokers and is licensed under the [TWS API Non-Commercial License](LICENSE)\n\u003e - This automation tool is provided \"as is\" without any warranties\n\u003e - For official support, please contact [Interactive Brokers](https://www.interactivebrokers.com/en/support/contact.php)\n\u003e - Trading involves risk. Use at your own discretion.\n\n### Two PyPI Packages\n\n- **`ibapi-latest`**: The newest IB API version (from `main` branch)\n- **`ibapi-stable`**: Previous IB API versions (from `stable` branch)\n\nBoth packages are automatically updated weekly when new IB API versions are released.\n\n## 🏗️ Project Structure\n\n```\nibapi/\n├── .github/\n│   └── workflows/           # GitHub Actions for automation\n│       ├── update-ibapi-latest.yml   # Latest version publisher\n│       └── update-ibapi-stable.yml   # Stable version publisher\n├── scripts/                 # Automation scripts\n│   ├── get_download_url.py  # Fetch IB API download URLs\n│   ├── update_ibapi.py      # Download and commit IB API\n│   └── check_and_update.py  # Orchestrator (legacy)\n├── ibapi/                   # IB API Python client (auto-updated)\n│   └── ibapi/\n│       ├── client.py\n│       ├── wrapper.py\n│       └── ...\n├── pyproject.toml           # Package configuration\n└── README.md\n```\n\n## 🔄 How It Works\n\n### Automated Workflow\n\n1. **Weekly Check**: GitHub Actions runs every Monday at 9:00 AM UTC\n2. **Version Detection**: Scrapes https://interactivebrokers.github.io/ for new versions\n3. **Download \u0026 Extract**: Downloads the TWS API zip and extracts the Python client\n4. **Auto-Fix**: Automatically fixes version strings and package configuration\n5. **Build \u0026 Publish**: Builds the package and publishes to PyPI\n6. **Tag \u0026 Release**: Creates git tags and GitHub releases\n\n### Version Management\n\n- Versions follow IB's format: `10.40.01`, `10.37.02`, etc.\n- Git tags: `v10.40.01`, `v10.37.02`, etc.\n- PyPI packages:\n  - Latest: `ibapi-latest==10.40.01`\n  - Stable: `ibapi-stable==10.37.02`\n\n## 📝 License\n\nThis project has a **dual license structure**:\n\n### IB API Source Code (`ibapi/` directory)\n\nThe Interactive Brokers TWS API source code is proprietary software owned by Interactive Brokers LLC and is licensed under the **[TWS API Non-Commercial License](LICENSE)**.\n\n**Key restrictions:**\n- ✅ Use for personal trading and account management\n- ✅ Develop internal proprietary tools for your own IB account\n- ❌ **NOT permitted**: Selling software to third parties\n- ❌ **NOT permitted**: Distributing software to generate indirect financial benefit (e.g., commissions)\n- ⚠️ **Requires**: Active Interactive Brokers account\n\n**For commercial use**, contact Interactive Brokers at: opensource@interactivebrokers.com\n\n**Full license text**: See [LICENSE](LICENSE) file\n\n### Automation Scripts (`scripts/` directory, workflows)\n\nThe automation tooling that packages and publishes the IB API is licensed under the **MIT License**.\n\nSee the [LICENSE](LICENSE) file for complete details.\n\n## 🔗 Links\n\n- **PyPI Packages**:\n  - Latest: https://pypi.org/project/ibapi-latest/\n  - Stable: https://pypi.org/project/ibapi-stable/\n- **Official IB API**: https://interactivebrokers.github.io/tws-api\n- **Documentation**: https://ibkrcampus.com/ibkr-api-page/\n- **GitHub Repository**: https://github.com/yourusername/ibapi\n\n## 🐛 Support\n\nFor issues with:\n- **The IB API itself**: Contact [Interactive Brokers](https://www.interactivebrokers.com/en/support/contact.php)\n- **This package/automation**: Open an [issue on GitHub](https://github.com/yourusername/ibapi/issues)\n\n## ⚙️ Configuration\n\nThe package configuration is in `pyproject.toml`:\n\n```toml\n[project]\nname = \"ibapi\"\ndynamic = [\"version\"]  # Version from ibapi.__version__\ndependencies = [\"protobuf==5.29.3\"]\n\n[tool.setuptools]\npackages = [\"ibapi\", \"ibapi.protobuf\"]\npackage-dir = {\"\" = \"ibapi\"}  # Maps ibapi/ibapi/* to ibapi/*\n```\n\nThis ensures imports work as expected:\n```python\nfrom ibapi.client import EClient  # Not from ibapi.ibapi.client\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepentropy%2Fibapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeepentropy%2Fibapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepentropy%2Fibapi/lists"}