Skip to main content

Broodwar API binding

Project description



Binding made as from-scratch code generator, outputting msvc project.

Precompiled installation


- Windows 7 32 bit (just exactly SSCAIT requirement)
NOTE: I couldn't successfully run BWAPI injector under Wine,
although recently I've been told
possible <>`__.
- `Python
3.5 <>`__
- Installed BWAPI and SC


pip install pybrood


`Read the docs <>`__

Compiling from source

Additional requirements:

- `Visual C++ build
tools <>`__
or complete Visual Studio.
NOTE: pick the version of compiler/studio considering `build tools
used by python <>`__
- `BWAPI 4.1.2
sources <>`__
you need ``BWAPI.lib`` and ``BWAPIClient.lib`` built against chosen
compiler to link pybrood module
- Most fresh (dec 2016) `Pybind11
headers <>`__

Building BWAPI.lib and BWAPIClient.lib

| You may experience "access denied" errors while working directly in
"program files/BWAPI".
| Better use separately cloned git repo of BWAPI where you have full

| For ``msbuild`` invocation use special VC++ related cmd shell from
Launch menu.
| Otherwise you can use usual cmd shell.

#. Make some changes in bwapi source files first:

- | little fix in ``bwapi/include/BWAPI/SetContainer.h:53``:
| at very end of class add

``SetContainer& operator=(const SetContainer&) = default;``

to get rid of "attempting to reference a deleted function" error.

- disable mass file copying in ``bwapi/BWAPILIB/BWAPILIB.vcxproj``:

- line 64: ``<PreLinkEvent>`` → ``<!-- PreLinkEvent>``

- line 94: ``</PreLinkEvent>`` → ``</PreLinkEvent -->``

- create file ``bwapi/svnrev.h``:

``static const int SVN_REV = 4708; #include "starcraftver.h"``

This prevents "Client and Server are not compatible" error.

#. Build BWAPI.lib:

``cd bwapi\BWAPILIB\ msbuild /p:PlatformToolset=v140 /p:Configuration=Release /p:Platform=Win32``

Output file is ``bwapi/lib/BWAPI.lib``.

#. Build BWAPIClient.lib:

``cd bwapi\BWAPIClient\ msbuild /p:PlatformToolset=v140 /p:Configuration=Release /p:Platform=Win32``

Output file is ``bwapi/lib/BWAPIClient.lib``.

Building Pybrood

#. ``pip install -r generator/requirements.txt``
#. Setup paths in `generator/ <generator/>`__.
#. Run the generator ``python3.5 -m generator``.
#. ``cd`` to freshly generated ``output`` folder and run ``build.bat``
(it's just the same msbuild command).
#. Copy/symlink ``output/Release/inner.pyd`` into ``pybrood`` directory.
``inner.pyd`` is a required submodule of ``pybrood``.
#. Now you should be able to ``import pybrood``.
#. Optionally you can build your local copy of documentation:
``cd output/docs/ sphinx-build . -b html _build/html``

.. |docs| image::

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pybrood-0.9.2-cp36-none-win32.whl (393.6 kB view hashes)

Uploaded CPython 3.6 Windows x86

pybrood-0.9.2-cp35-none-win32.whl (393.6 kB view hashes)

Uploaded CPython 3.5 Windows x86

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page