Pycuda is one of the more pythonic way to handle cuda in python as @nluigi suggested.
If you are open to call C/C++ code inside python there is also CUSP:
Cusp is a library for sparse linear algebra and graph computations based on Thrust. Cusp provides a flexible, high-level interface for manipulating sparse matrices and solving sparse linear systems.
This is a template library that I found user friendly and with this you can do with it some heavy task. I use both pycuda and CUSP some time ago for a GPU solver for Navier-Stokes.
There are also other library I cite two:
scikit-cuda provides Python interfaces to many of the functions in the CUDA device/runtime, CUBLAS, CUFFT, and CUSOLVER libraries distributed as part of NVIDIA's CUDA Programming Toolkit, as well as interfaces to select functions in the CULA Dense Toolkit. Both low-level wrapper functions similar to their C counterparts and high-level functions comparable to those in NumPy and Scipy are provided.
PyCULA provides an efficient and simple CUDA GPU environment for python. PyCULA accomplishes this feat by combining the power of driver based PyCUDA with nVidia’s runtime libraries and, most importantly, CULA GPU-LAPACK functionality in a single environment. We aim to hide complications without limiting the enduser.