{"id":37063250,"url":"https://github.com/neumond/pybrood","last_synced_at":"2026-01-14T07:04:10.069Z","repository":{"id":62579068,"uuid":"69111101","full_name":"neumond/pybrood","owner":"neumond","description":"Another BWAPI Python binding made with pybind11","archived":false,"fork":false,"pushed_at":"2018-06-16T00:16:42.000Z","size":160,"stargazers_count":15,"open_issues_count":6,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-09-15T02:55:42.794Z","etag":null,"topics":["binding","broodwar","bwapi","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neumond.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-09-24T15:38:28.000Z","updated_at":"2024-12-26T04:48:29.000Z","dependencies_parsed_at":"2022-11-03T20:48:37.146Z","dependency_job_id":null,"html_url":"https://github.com/neumond/pybrood","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/neumond/pybrood","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neumond%2Fpybrood","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neumond%2Fpybrood/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neumond%2Fpybrood/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neumond%2Fpybrood/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neumond","download_url":"https://codeload.github.com/neumond/pybrood/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neumond%2Fpybrood/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28412500,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T05:26:33.345Z","status":"ssl_error","status_checked_at":"2026-01-14T05:21:57.251Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["binding","broodwar","bwapi","python"],"created_at":"2026-01-14T07:04:09.388Z","updated_at":"2026-01-14T07:04:10.061Z","avatar_url":"https://github.com/neumond.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pybrood\n\n[![docs](https://readthedocs.org/projects/pybrood/badge/?version=latest)](http://pybrood.readthedocs.io/en/latest/)\n\nBinding made as from-scratch code generator, outputting msvc project.\n\n## Precompiled installation\n\nRequirements:\n\n- Windows 7 32 bit (just exactly SSCAIT requirement)\n  NOTE: I couldn't successfully run BWAPI injector under Wine, although recently I've been told\n  [it's possible](https://github.com/TorchCraft/TorchCraft/blob/master/docs/user/bwapi_on_linux.md).\n- [Python 3.5](https://www.python.org/ftp/python/3.5.2/python-3.5.2.exe)\n- Installed BWAPI and SC\n\n```\npip install pybrood\n```\n\n## Documentation\n\n[Read the docs](http://pybrood.readthedocs.io/en/latest/)\n\n## Compiling from source\n\nAdditional requirements:\n\n- [Visual C++ build tools](http://landinghub.visualstudio.com/visual-cpp-build-tools) or complete Visual Studio.\n  NOTE: pick the version of compiler/studio considering [build tools used by python](https://wiki.python.org/moin/WindowsCompilers)\n- [BWAPI 4.1.2 sources](https://github.com/bwapi/bwapi/releases/tag/v4.1.2)\n  you need `BWAPI.lib` and `BWAPIClient.lib` built against chosen compiler to link pybrood module\n- Most fresh (dec 2016) [Pybind11 headers](https://github.com/pybind/pybind11)\n\n#### Building BWAPI.lib and BWAPIClient.lib\n\nYou may experience \"access denied\" errors while working directly in \"program files/BWAPI\".\nBetter use separately cloned git repo of BWAPI where you have full access.\n\nFor `msbuild` invocation use special VC++ related cmd shell from Launch menu.\nOtherwise you can use usual cmd shell.\n\n1. Make some changes in bwapi source files first:\n\n   - disable mass file copying in `bwapi/BWAPILIB/BWAPILIB.vcxproj`:\n\n     - line 64: `\u003cPreLinkEvent\u003e` → `\u003c!-- PreLinkEvent\u003e`\n     - line 94: `\u003c/PreLinkEvent\u003e` → `\u003c/PreLinkEvent --\u003e`\n\n   - create file `bwapi/svnrev.h`:\n\n     Figure out revision number:\n\n     ```bash\n     cd bwapi\n     echo $(( $(git rev-list HEAD --count) + 2383 ))\n     ```\n\n     ```cpp\n     static const int SVN_REV = 4708;\n     #include \"starcraftver.h\"\n     ```\n\n     This prevents \"Client and Server are not compatible\" error.\n\n2. Build BWAPI.lib:\n\n   ```\n   cd bwapi\\BWAPILIB\\\n   msbuild /p:PlatformToolset=v140 /p:Configuration=Release /p:Platform=Win32\n   ```\n\n   Output file is `bwapi/lib/BWAPI.lib`.\n\n3. Build BWAPIClient.lib:\n\n   ```\n   cd bwapi\\BWAPIClient\\\n   msbuild /p:PlatformToolset=v140 /p:Configuration=Release /p:Platform=Win32\n   ```\n\n   Output file is `bwapi/lib/BWAPIClient.lib`.\n\n#### Building Pybrood\n\n0. `pip install -r generator/requirements.txt`\n1. Setup paths in [generator/config.py](generator/config.py).\n2. Run the generator `python3.5 -m generator`.\n3. `cd` to freshly generated `output` folder and run `build.bat` (it's just the same msbuild command).\n4. Copy/symlink `output/Release/inner.pyd` into `pybrood` directory.\n   `inner.pyd` is a required submodule of `pybrood`.\n5. Now you should be able to `import pybrood`.\n6. Optionally you can build your local copy of documentation:\n   ```\n   cd output/docs/\n   sphinx-build . -b html _build/html\n   ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneumond%2Fpybrood","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneumond%2Fpybrood","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneumond%2Fpybrood/lists"}