Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
326894c
pypi and conda distribution meta files
mjirik May 11, 2016
610b953
Bump version: 1.0.0 → 1.0.1
mjirik May 11, 2016
a34ad1e
callback function
mjirik May 12, 2016
f985563
Bump version: 1.0.1 → 1.0.2
mjirik May 12, 2016
cc8e65b
install notes
mjirik May 24, 2016
03c3ec5
fixed join path on windows
mjirik Jun 7, 2016
6a5e6b0
test added
mjirik Jun 7, 2016
2f41f09
Bump version: 1.0.2 → 1.0.3
mjirik Jun 7, 2016
7a79daf
convert os.sep to '/'
mjirik Jun 7, 2016
410c613
Merge remote-tracking branch 'origin/master'
mjirik Jun 7, 2016
a619cf3
Bump version: 1.0.3 → 1.0.4
mjirik Jun 7, 2016
09107e1
cleaning tests
mjirik Jun 7, 2016
d86de23
Merge branch 'master' of github.com:mjirik/sftpsync-py
mjirik Jun 8, 2016
480366d
test different separator
mjirik Jun 8, 2016
6e39512
Bump version: 1.0.4 → 1.0.5
mjirik Jun 8, 2016
d2f2916
full path test
mjirik Jun 8, 2016
83ed8d5
Merge remote-tracking branch 'origin/master'
mjirik Jun 8, 2016
106eab4
logging in test
mjirik Jun 8, 2016
3a0ffa5
logger message for joined paths
mjirik Jun 8, 2016
65d4f54
Bump version: 1.0.5 → 1.0.6
mjirik Jun 8, 2016
4556c3e
allways use slash instead of backslash
mjirik Jun 8, 2016
5d91aa1
Bump version: 1.0.6 → 1.0.7
mjirik Jun 8, 2016
0f5c182
fix upload
mjirik Jun 11, 2016
0a74e1d
logger make relative
mjirik Jun 11, 2016
948a420
check if relative is required
mjirik Jun 11, 2016
22bdad7
fix ident
mjirik Jun 11, 2016
66b00bb
Bump version: 1.0.7 → 1.0.8
mjirik Jun 11, 2016
618e4a4
use sftpserver package to run local sftp server
mjirik Aug 31, 2016
c196e0c
Fix exception SyntaxError
Mar 29, 2017
10af9fa
Merge pull request #1 from dotoscat/master
mjirik Mar 30, 2017
87b33a2
Sync file permissions
Oct 30, 2017
b789184
Close connections in unit tests
Oct 30, 2017
8c9cf68
Merge pull request #2 from grantramsay/feat/sync-file-permissions
mjirik Oct 31, 2017
30a247e
Do not set folder permissions for directories that are out of scope
Nov 2, 2017
68f29f4
Merge pull request #3 from grantramsay/fix/permission-denied
mjirik Nov 2, 2017
a8b52f7
Bump version: 1.0.8 → 1.0.9
mjirik Dec 3, 2017
0d3639f
Bump version: 1.0.9 → 1.0.10
mjirik Apr 18, 2018
c139c27
fix windows path starting with 'C:/'
mjirik Apr 18, 2018
77202c5
Bump version: 1.0.10 → 1.0.11
mjirik Apr 18, 2018
2431916
Bump version: 1.0.11 → 1.0.12
mjirik May 3, 2018
22e6bf0
moved meta.yml
mjirik Aug 15, 2019
8fce205
conda recipe update
mjirik Aug 15, 2019
0568c2a
Bump version: 1.0.12 → 1.0.13
mjirik Aug 15, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .condarc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
channels:
- default
# - mjirik
83 changes: 83 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
language: python
os: linux
# Ubuntu 14.04 Trusty support
sudo: required
# dist: trusty
# install new cmake
#addons:
# apt:
# packages:
# - cmake
# sources:
# - kalakris-cmake
env:
# - CONDA_PYTHON_VERSION=2.7
- CONDA_PYTHON_VERSION=3.6
- CONDA_PYTHON_VERSION=3.7

matrix:
allow_failures:
- env: CONDA_PYTHON_VERSION=2.7
- env: CONDA_PYTHON_VERSION=3.7
fast_finish: true
# virtualenv:
# system_site_packages: true
before_script:
# GUI
- "export DISPLAY=:99.0"
before_script:
# GUI
- "export DISPLAY=:99.0"
# - "sh -e /etc/init.d/xvfb start"
# - sleep 3 # give xvfb sume time to start

before_install:
- sudo apt-get update
- sudo apt-get install -qq cmake libinsighttoolkit3-dev libpng12-dev libgdcm2-dev

- wget http://home.zcu.cz/~mjirik/lisa/install/install_conda.sh && source install_conda.sh
# We do this conditionally because it saves us some downloading if the
# version is the same.
# - if [[ "$CONDA_PYTHON_VERSION" == "2.7" ]]; then
# echo "python 2"
# else
# echo "python 3"
# fi
- hash -r
- conda config --set always_yes yes --set changeps1 no
- conda config --add channels mjirik
- conda config --add channels conda-forge
- conda update -q conda
# Useful for debugging any issues with conda
- conda info -a

# command to install dependencies
install:

# - sudo apt-get install -qq $(< apt_requirements.txt)
- conda create --yes -n travis pip nose coveralls python=$CONDA_PYTHON_VERSION
- source activate travis
# - Install dependencies
- conda install --yes -c SimpleITK -c luispedro -c mjirik --file requirements_conda.txt
- conda install --yes pip nose coveralls pytest pytest-cov
# - pip install -r requirements_pip.txt
# - "echo $LD_LIBRARY_PATH"
# - "pip install -r requirements.txt"
# - 'mkdir build'
# - "cd build"
# - "cmake .."
# - "cmake --build ."
# - "sudo make install"
# - pip install .
# - "cd .."
# - 'echo "include /usr/local/lib" | sudo tee -a /etc/ld.so.conf'
# - 'sudo ldconfig -v'
# - conda list -e
# - python -m io3d.datasets -l 3Dircadb1.1 jatra_5mm exp_small sliver_training_001 io3d_sample_data head volumetrie
# command to run tests
# script: nosetests -v --with-coverage --cover-package=sftpsync

script:
- python -m pytest --cov=sftpsync/
after_success:
- coveralls
8 changes: 8 additions & 0 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,11 @@ Example:
dst = '/mnt/sdcard/data/'

sftp.sync(src, dst, download=False, delete=True)


Install:

pip install sftpsync

or
conda install -c mjirik sftpsync
2 changes: 2 additions & 0 deletions conda-recipe/bld.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
"%PYTHON%" setup.py install
if errorlevel 1 exit 1
3 changes: 3 additions & 0 deletions conda-recipe/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

$PYTHON setup.py install
68 changes: 68 additions & 0 deletions conda-recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package:
name: sftpsync
version: "1.0.13"

source:
# this is used for build from git hub
git_rev: 1.0.13
git_url: https://github.com/mjirik/sftpsync-py.git

# this is used for pypi
# fn: io3d-1.0.130.tar.gz
# url: https://pypi.python.org/packages/source/i/io3d/io3d-1.0.130.tar.gz
# md5: a3ce512c4c97ac2410e6dcc96a801bd8
# patches:
# List any patch files here
# - fix.patch

# build:
# noarch_python: True
# preserve_egg_dir: True
# entry_points:
# Put any entry points (scripts to be generated automatically) here. The
# syntax is module:function. For example
#
# - io3d = io3d:main
#
# Would create an entry point called io3d that calls io3d.main()


# If this is a new build for the same version, increment the build
# number. If you do not include this key, it defaults to 0.
# number: 1

requirements:
build:
- python
- setuptools
- paramiko

run:
- python
- paramiko

test:
# Python imports
imports:
- sftpsync

# commands:
# You can put test commands to be run here. Use this to test that the
# entry points work.


# You can also put a file called run_test.py in the recipe that will be run
# at test time.

# requires:
# Put any additional test requirements here. For example
# - nose

about:
home: https://github.com/mjirik/sftpsync-py
license: s
summary: 'Sync files and directories over SSH'

# See
# http://docs.continuum.io/conda/build.html for
# more information about meta.yaml
13 changes: 13 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[bumpversion]
current_version = 1.0.13
files = setup.py conda-recipe/meta.yaml
commit = True
tag = True
tag_name = {new_version}

[tool:pytest]
addopts = -m "not interactive and not slow"
markers =
interactive: marks interactive tests
slow: marks slow tests

83 changes: 83 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Fallowing command is used to upload to pipy
# python setup.py register sdist upload
from setuptools import setup, find_packages
# Always prefer setuptools over distutils
from os import path

here = path.abspath(path.dirname(__file__))
setup(
name='sftpsync',
description='Sync files and directories over SSH',
# Versions should comply with PEP440. For a discussion on single-sourcing
# the version across setup.py and the project code, see
# http://packaging.python.org/en/latest/tutorial.html#version
version='1.0.13',
url='https://github.com/mjirik/sftpsync',
author='Jerome Clerc',
author_email='',
license='',

# See https://pypi.python.org/pypi?%3Aaction=list_classifiers
classifiers=[
# How mature is this project? Common values are
# 3 - Alpha
# 4 - Beta
# 5 - Production/Stable
'Development Status :: 3 - Alpha',

# Indicate who your project is intended for
'Intended Audience :: Developers',
# 'Topic :: Scientific/Engineering :: Bio-Informatics',

# Pick your license as you wish (should match "license" above)
# 'License :: OSI Approved :: BSD License',

# Specify the Python versions you support here. In particular, ensure
# that you indicate whether you support Python 2, Python 3 or both.
# 'Programming Language :: Python :: 2',
# 'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
# 'Programming Language :: Python :: 3',
# 'Programming Language :: Python :: 3.2',
# 'Programming Language :: Python :: 3.3',
# 'Programming Language :: Python :: 3.4',
],

# What does your project relate to?
keywords='sftp sync',

# You can just specify the packages manually here if your project is
# simple. Or you can use find_packages().
packages=find_packages(exclude=['dist', 'docs', 'tests*']),

# List run-time dependencies here. These will be installed by pip when
# your project is installed. For an analysis of "install_requires" vs pip's
# requirements files see:
# https://packaging.python.org/en/latest/technical.html#install-requires-vs-requirements-files
install_requires=['paramiko'],
# 'SimpleITK'], # Removed becaouse of errors when pip is installing
dependency_links=[],

# If there are data files included in your packages that need to be
# installed, specify them here. If using Python 2.6 or less, then these
# have to be included in MANIFEST.in as well.
# package_data={
# 'sample': ['package_data.dat'],
# },

# Although 'package_data' is the preferred approach, in some case you may
# need to place data files outside of your packages.
# see
# http://docs.python.org/3.4/distutils/setupscript.html#installing-additional-files # noqa
# In this case, 'data_file' will be installed into '<sys.prefix>/my_data'
# data_files=[('my_data', ['data/data_file'])],

# To provide executable scripts, use entry points in preference to the
# "scripts" keyword. Entry points provide cross-platform support and allow
# pip to create the appropriate form of executable for the target platform.
# entry_points={
# 'console_scripts': [
# 'sample=sample:main',
# ],
# },
)
Loading