Measuring the polarisation of a single photon typically results in its destruction. We propose, demonstrate, and completely characterise a quantum non-demolition (QND) scheme for realising such a measurement non-destructively. This scheme uses only linear optics and photo-detection of ancillary modes to induce a strong non-linearity at the single photon level, non-deterministically. We vary this QND measurement continuously into the weak regime, and use it to perform a nondestructive test of complementarity in quantum mechanics. Our scheme realises the most advanced general measurement of a qubit: it is non-destructive, can be made in any basis, and with arbitrary strength.At the heart of quantum mechanics is the principle that the very act of measuring a system disturbs it. A quantum non-demolition (QND) scheme seeks to make a measurement such that this inherent back-action feeds only into unwanted observables [1,2]. Such a measurement should satisfy the following criteria [3]: (1) The measurement outcome is correlated with the input; (2) The measurement does not alter the value of the measured observable; and (3) Repeated measurement yields the same result -quantum state preparation (QSP). Originally proposed for gravity wave detectors, most progress in QND has been in the continuous variable (CV) regime, involving measurement of the field quadrature of bright optical beams [3]. Demonstrations at the single photon level have been limited to intra-cavity photons due to the requirement of a strong non-linearity [4,5]. In addition, there has been no complete characterisation of a QND measurement due to a limited capacity to prepare input states, and thus inability to observe all the required correlations.The importance of single-photon measurements has been highlighted by schemes for optical quantum computation that proceed via a measurement induced nonlinearity [6,7]. Such schemes encode quantum information in the state (eg polarisation) of single photonsphotonic qubits. Measurement of single photon properties is traditionally a strong, destructive measurement employing direct photo-detection. However, quantum mechanics allows general measurements [8] that range from strong to arbitrarily weak -one obtains full to negligible information -and can be non-destructive (eg QND). Such general measurements are required [9] for tests of wave-particle duality [10], and other fundamental tests of quantum mechanics [11,12]. They may also find application in: optical quantum computing [7,13]; quantum communication protocols [14]; tests of such protocols [15,16]; nested entanglement pumping [17]; and quantum feedback [18].Here we propose, demonstrate, and completely characterise a scheme for the QND measurement of the polarisation of a free propagating single-photon qubit -a flying qubit. This is achieved non-deterministically by using a measurement induced non-linearity. The measurement can be performed on all possible input states. Eigenstate inputs result in strong correlation with the measurement outcome; coherent superp...