What are some good references for preprocessing and analysis of the P300 response from EEG data in Python? I have just started to work on problems in neuroscience on my own.  I sought to analyze the P300 response from EEG data because I was trying to understand a Kaggle.com challenge that used it.  I found a few available datasets online, a couple of which were from BCI competitions, but have not been able to successfully separate the signals with the P300 response from those without the response.  So far, I have subtracted the average of a channel from the channel and run a bandpass filter on the data. This seems to produce good looking data, but looking for the associated event related potential (ERP) leads to inclusive results.

It appears that the data from the BCI competition may not be easy to analyze, but it is the most documented P300 response with available data that I can find.  That said, some of the techniques used involve mathematical functions such as principal component analysis (PCA), linear discriminant analysis (LDA), and T-weights to find the signal and classify and analyze it.  I am aware of references available for these mathematical techniques but not in the context of neuroscience.

Furthermore, I am aware that there are some EEG analysis toolboxes for Python, but it is more important for me to understand the data than to feed it through a black box.  Also, I have found these toolboxes rather undocumented.
I don't exactly what it is you are after, but if you are looking for other analyzing techniques, you should try Independent Component Analysis (ICA). I have heard (but I do not have references) that ICA is better than PCA analyses. 

A very neat (and free) Matlab toolbox that has this function is FieldTrip (http://www.fieldtriptoolbox.org/). It is a nicely documented toolbox, including an easy to follow walk through and multiple tutorials, starting from reading in the EEG data, all the way to statistical analyses. FieldTrip is probably your best bet in finding the P300 differences, and still understanding what happens with the data (since you have to specify everything yourself).