This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Failed to load latest commit information.
Latest commit message
This is Open Source software to create impartial optimally compact district maps for US State Legislatures and Congressional districts. Results can be seen here: http://bdistricting.com/2010/ And with analysis of partisan outcomes models here: https://projects.fivethirtyeight.com/redistricting-maps/#algorithmic-compact DEPENDENCIES: C++ compiler (GCC or CLANG) Java 1.8+ Python 3.6+ Go 1.16+ png library zlib compression library google protocol buffers http://code.google.com/p/protobuf/ BUILDING: There's no ./configure because autoconf is hard. :-( Instead, Makefile includes makeopts/`uname`.pre early on to set variables. See the Darwin and Linux examples. So, if you're lucky, all you have to do is: make all There is no `make install` because this is a tool for an experimenter. The binaries just live here where they're compiled. If you want to leave makeopts/* alone, create a file localvars.make which gets included after that and before anything else. A good place to put your own settings. RUNNING: Setup a python environment: # your Python version may vary, run `python3 --version` to check python3 -m venv ve # this assumes bash or sh-like shell, to source a script into your session . ve/bin/activate pip install -r python/requirements.txt (cd python && pip install -e .) Make a directory, which I traditionally call "data", to hold the Census data, and fetch a state of data into it, run preprocessing: mkdir data ./bin/setupstatedata --data=data CT Run from local data: (cd runner && make) runner/runner -data data -http :8080 The -http argument is optional, but runs a handy HTTP server on that port (e.g. http://localhost:8080/ ) which nicely displays status and results. Lots of other options are available on both ./setupstatedata and runner/runner and there is --help available for them. --- * Setting up protobuf # Here's the cheat sheet for building this quickly. ./configure # then build C and optionally python make make check sudo make install # while Python virtual environment setup above is active: cd ../python python setup.py test python setup.py install DEVELOPMENT: data.txt description of files and data bundles involved in running the system