Skip to content

Commit 2375368

Browse files
authored
Merge pull request #534 from Sage-Bionetworks/develop
release 1.8.0 to master
2 parents ac7b2fb + 141a93d commit 2375368

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1425
-836
lines changed

.travis.yml

Lines changed: 70 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,43 @@
1-
sudo: false
1+
sudo: required
22
language: python
33

4-
script:
5-
- python setup.py install
6-
- nosetests -vs tests/unit
7-
- 'if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then nosetests -vs tests/integration; else echo "Skipping integration tests"; fi'
4+
matrix:
5+
include:
6+
- os: linux
7+
python: 2.7.14
8+
env:
9+
# workaround for the dbus-python package installation not being able to find python shared object files for compilation when using virtualenv.
10+
# source: https://github.com/willprice/python-omxplayer-wrapper/pull/101/files
11+
- 'PYTHON_LIBS="-L$(python-config --prefix)/lib $(python-config --libs)"'
12+
- PY_ENABLE_SHARD=0
13+
- os: linux
14+
python: 3.5.3
15+
env:
16+
- 'PYTHON_LIBS="-L$(python-config --prefix)/lib $(python-config --libs)"'
17+
- PY_ENABLE_SHARD=0
18+
- os: linux
19+
python: 3.6.2
20+
env:
21+
- 'PYTHON_LIBS="-L$(python-config --prefix)/lib $(python-config --libs)"'
22+
- PY_ENABLE_SHARD=0
23+
24+
25+
- os: osx
26+
language: generic
27+
env: PY_VERSION=2.7.14
28+
- os: osx
29+
language: generic
30+
env: PY_VERSION=3.5.3
31+
- os: osx
32+
language: generic
33+
env: PY_VERSION=3.6.2
34+
35+
addons:
36+
#This is used for SFTP integration tests
37+
ssh_known_hosts: ec2-54-212-85-156.us-west-2.compute.amazonaws.com
838

9-
before_install: |
39+
before_install:
40+
- |
1041
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
1142
brew update
1243
brew outdated pyenv || brew upgrade pyenv
@@ -19,31 +50,44 @@ before_install: |
1950
pip install nose mock
2051
fi
2152
53+
install:
54+
- |
55+
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
56+
sudo apt-get update
57+
sudo apt-get install gnome-keyring python-gnomekeyring libdbus-glib-1-dev
58+
pip install --no-cache-dir --upgrade --force-reinstall dbus-python
59+
fi
60+
- pip install -U setuptools
61+
- travis_wait pip install pysftp pandas boto3
62+
- python setup.py install
63+
64+
before_script:
65+
- | # decrypt credentials used in tests
2266
if [[ "${TRAVIS_PULL_REQUEST}" = "false" ]]; then
2367
openssl aes-256-cbc -K $encrypted_d17283647768_key -iv $encrypted_d17283647768_iv -in test.synapseConfig.enc -out test.synapseConfig -d
2468
mv test.synapseConfig ~/.synapseConfig
2569
openssl aes-256-cbc -K $encrypted_d17283647768_key -iv $encrypted_d17283647768_iv -in test.awscredentials.enc -out test.awscredentials -d
2670
mkdir -p ~/.aws && mv test.awscredentials ~/.aws/credentials
2771
fi
28-
travis_wait pip install pysftp cython pandas boto3
2972
30-
addons:
31-
ssh_known_hosts: ec2-54-212-85-156.us-west-2.compute.amazonaws.com
3273
33-
matrix:
34-
include:
35-
- os: linux
36-
python: 2.7.14
37-
- os: linux
38-
python: 3.5.3
39-
- os: linux
40-
python: 3.6.2
41-
- os: osx
42-
language: generic
43-
env: PY_VERSION=2.7.14
44-
- os: osx
45-
language: generic
46-
env: PY_VERSION=3.5.3
47-
- os: osx
48-
language: generic
49-
env: PY_VERSION=3.6.2
74+
script:
75+
- nosetests -vs tests/unit
76+
- |
77+
if [ "${TRAVIS_PULL_REQUEST}" = "false" ];then
78+
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
79+
# set up the dbus daemon used to connect to the keyring. create default "login" keyring.
80+
# TODO: once Travis uses Ubuntu Xenial instead of Trusty, remove python-gnomekeyring and just use 'gnome-keyring-daemon --unlock'
81+
eval $(dbus-launch --sh-syntax)
82+
echo -n "hunter2" | eval $(gnome-keyring-daemon --login)
83+
eval $(gnome-keyring-daemon --components=secrets --start)
84+
/usr/bin/python -c "import gnomekeyring;gnomekeyring.create_sync('login', '');";
85+
fi
86+
87+
nosetests -vs tests/integration
88+
else
89+
echo "Skipping integration tests";
90+
fi
91+
92+
93+

appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ test_script:
1818
- ps: |
1919
if ( -Not $env:APPVEYOR_PULL_REQUEST_NUMBER ){
2020
openssl aes-256-cbc -K $env:encrypted_d17283647768_key -iv $env:encrypted_d17283647768_iv -in test.synapseConfig.enc -out test.synapseConfig -d
21-
move test.synapseConfig ${env:userprofile}\\.synapseConfig
21+
move -force test.synapseConfig ${env:userprofile}\\.synapseConfig
2222
openssl aes-256-cbc -K $env:encrypted_d17283647768_key -iv $env:encrypted_d17283647768_iv -in test.awscredentials.enc -out test.awscredentials -d
2323
mkdir ${env:userprofile}\\.aws
2424
move test.awscredentials ${env:userprofile}\\.aws\\credentials

doc/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@
4848
# built documents.
4949
#
5050
# The short X.Y version.
51-
version = '1.7.5'
51+
version = '1.8.0'
5252
# The full version, including alpha/beta/rc tags.
53-
release = '1.7.5'
53+
release = '1.8.0'
5454

5555
# The language for content autogenerated by Sphinx. Refer to documentation
5656
# for a list of supported languages.

release_notes/release-1.8.0.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Release notes - Synapse Python Client - Version 1.8.0
2+
3+
**Install Instructions:** `pip install --upgrade synapseclient` or see [http://docs.synapse.org/python/#installation](http://docs.synapse.org/python/#installation)
4+
**Documentation:** [http://docs.synapse.org/python/](http://docs.synapse.org/python/)
5+
6+
**Release Date:** 7-May-2018
7+
8+
--------------------------------------------------
9+
10+
This release has 2 major changes:
11+
* The client will no longer store your saved credentials in your synapse cache (`~/synapseCache/.session`). The python client now relies on [keyring](https://pypi.org/project/keyring/) to handle credential storage of your Synapse credentials.
12+
13+
* The client also now uses connection pooling, which means that all method calls that connect to Synapse should now be faster.
14+
15+
The remaining changes are bugfixes and cleanup of test code.
16+
17+
18+
Below are the full list of issues addressed by this release:
19+
20+
Bug
21+
---
22+
23+
* \[[SYNPY-654](https://sagebionetworks.jira.com/browse/SYNPY-654)\] \- syn.getColumns does not terminate
24+
* \[[SYNPY-658](https://sagebionetworks.jira.com/browse/SYNPY-658)\] \- Security vunerability on clusters
25+
* \[[SYNPY-689](https://sagebionetworks.jira.com/browse/SYNPY-689)\] \- Wiki's attachments cannot be None
26+
* \[[SYNPY-692](https://sagebionetworks.jira.com/browse/SYNPY-692)\] \- synapseutils.sync.generateManifest() sets contentType incorrectly
27+
* \[[SYNPY-693](https://sagebionetworks.jira.com/browse/SYNPY-693)\] \- synapseutils.sync.generateManifest() UnicodeEncodingError in python 2
28+
29+
Task
30+
----
31+
32+
* \[[SYNPY-617](https://sagebionetworks.jira.com/browse/SYNPY-617)\] \- Remove use of deprecated service to delete table rows
33+
* \[[SYNPY-673](https://sagebionetworks.jira.com/browse/SYNPY-673)\] \- Fix Integration Tests being run on Appveyor
34+
* \[[SYNPY-683](https://sagebionetworks.jira.com/browse/SYNPY-683)\] \- Clean up print()s used in unit/integration tests
35+
36+
Improvement
37+
-----------
38+
39+
* \[[SYNPY-408](https://sagebionetworks.jira.com/browse/SYNPY-408)\] \- Add bettter error messages when /filehandle/batch fails.
40+
* \[[SYNPY-647](https://sagebionetworks.jira.com/browse/SYNPY-647)\] \- Use connection pooling for Python client's requests

setup.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,14 @@
4141
'requests>=1.2',
4242
'six',
4343
'future',
44-
'backports.csv'
44+
'backports.csv',
45+
'keyring',
4546
],
4647
extras_require = {
4748
'pandas': ["pandas"],
4849
'pysftp': ["pysftp>=0.2.8"],
49-
'boto3' : ["boto3"]
50+
'boto3' : ["boto3"],
51+
':sys_platform=="linux2" or sys_platform=="linux"': ['keyrings.alt'],
5052
},
5153
test_suite='nose.collector',
5254
tests_require=['nose', 'mock'],

0 commit comments

Comments
 (0)