Skip to content

RattleyCooper/PyCharmSync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyCharmSync

A simple tool for uploading changed project files to a remote host, automatically.

Paid versions of PyCharm can be set up to upload project files as you change them locally. PyCharmSync aims to do just that using the sshpass and the scp command on Unix based machines.

PyCharmSync will watch a project directory, track the files in the directory and then upload the changed versions automatically based on settings set in an .env file in your root project directory.

Install

pip install PyCharmSync

.env Example

Here are some settings for a project named project_name on a raspberry pi. The .env file should be consumable by configparser.ConfigParser

[SSH]
HOST = 10.0.0.200
USER = pi
PASS = raspberry
PROJECT_ROOT = /home/pi/project_name

The settings laid out above would map to the following command:

sshpass -p "PASS" scp FILEPATH USER@HOST:PROJECT_ROOT

or

sshpass -p "raspberry" scp /home/user/project_name/some_file.py pi@10.0.0.200:/home/pi/project_name

Usage Example

Once you have your .env file configured in your project's root directory all you need to do is import ProjectSync from PyCharmSync and then run it's main method:

from PyCharmSync import ProjectSync

ProjectSync.main()

If you need to use a custom config file:

from PyCharmSync import ProjectSync
from configparser import ConfigParser

path_to_custom_config_file = '.remote'

config = ConfigParser()
config.read(path_to_custom_config_file)

ProjectSync.config = config
ProjectSync.main()

If you are not running the main method from your project's root directory you need to pass a cwd to the main method.

from PyCharmSync import ProjectSync

ProjectSync.main('/home/user/project_name')

About

PyCharmSync is a simple tool for uploading changed project files to a remote host, about as soon as they change.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages