I'm currently working on something where data is produced, with a fair amount of processing, within SQL server, that I ultimately need to manipulate within Python to complete the task.  It seems to me I have a couple different options:
(1)  Run the SQL code from within Python, manipulate output
(2)  Create an SP in SSMS, run the SP from within Python, manipulate output
(3)  ?
The second seems cleanest, but I wonder if there's a better way to achieve my objective without needing to create a stored procedure every time I need SQL data in Python.  Copying the entirety of the SQL code into Python seems similarly kludgy, particularly for larger or complex queries.  
For those with more experience working between the two:  can you offer any suggestions on workflow?
There is no silver bullet.
It really depends on the specifics of what you're doing. What amount of data are we talking? Is it even feasible to stream it all over the network, through Python, and back? How much more load can the database server handle? How complex are the manipulations you consider doing in Python? How proficient are you and your team in SQL, and in Python?
I've seen both approaches in production, and one slight advantage that sometimes gets overlooked is that when you have all the SQL nicely formatted inside your Python program, it's automatically under some Version Control, and you can check who edited what last and is thus to blame for the latest SNAFU ;-)
Suggestions on workflow between SQL Server and Python