Advice for Python development/debugging set-up?

I am trying various things to set-up a Python development environment for the BrickPi. Currently I have PyCharm running on an Ubuntu PC, and am exporting the Pi filesystem with NFS or SSHFS. I have installed the BrickPi package on the PC as well. When I need a console on the Pi, I SSH from the PC. It looks like PyCharm has the capability to run a program remotely, via SSH, but only with the paid version of the program.

Would you like to share what you are doing to program/debug the BrickPi in Python? What works for you?

I have a RPi 3 and run the Idle or Geany IDEs on the RPi. I either hook up a mouse/kb/monitor directly to the RPi, or SSH from my Windows 10 desktop.
The direct connection is more satisfying, the SSH is more necessary when testing a mobile robot.
I’m pretty sure at one stage I was running the free PyCharm from Windows 10, with the ability to edit and compile on Windows, then download into the RPi.

I make use of Samba. That way I can use my PC tools but the files get saved on the Pi directly.
Here’s a video on how to use Samba https://youtu.be/CEYwYqkAPfA
It’s already set up for you if you use Raspbian for Robots, you just need to finish the setup on your PC.
Once that is done, the Pi becomes an external drive from Window’s point of view and you can load/save normally.

I ran across another tool. Use Vnc instead of SSH to connect in to a headless RPi - its much faster. Here’s a link to the latest MagPi with an article on it . Here’s a link to finish off the VNC Server installation for our version of Raspian. Here’s a link to force a reasonable screen resolution if your connecting to a headless RPi.

VNC and its little brother noVNC are both installed by default on Raspbian for Robots, although the server is TightVncServer and not RealVNC server…
These are some of the many tools that come pre-installed on the Dexter image. (Samba is another one)

Currently I ssh into the raspberry pi and run vim on it. If I wanted to develop for BrickPi, which I will, I would use virtualenv to run the modified BrickPi module isolated. I also use git directly on the raspberry pi. Works great.