In order to access CQL3 databases via a thrift API, such as pycassa, the tables must be created using compact storage.
CREATE TABLE my_table (
...
) WITH COMPACT STORAGE;
With regards to the primary keys, from the docs:
Using the compact storage directive prevents you from defining more than one column that is not part of a compound primary key.
Currently you are using a composite partition key but enabling compact storage limits us to using a compound partition key. So you will not have to limit it to a single column, it just has to be part of the compound key. One final reference.