Comments (2)
@keller-mark Thanks for the suggestion. So I understand the general need, you'd like to be able to use downloadTableColumns
to download to an alternate path than the default cache. Would something like an optional downloadLocation
parameter on downloadTableColumns
similar to syn.get
also satisfy this requirement?
In the meantime, something like the following utility method might be useful as a workaround:
import configparser
import synapseclient
import tempfile
def synapse_custom_cache_dir(cache_dir):
"""Return a new Synapse instance with the given cache directory as its configured cache root"""
config = configparser.RawConfigParser()
config.read(synapseclient.client.CONFIG_FILE)
if not config.has_section('cache'):
config.add_section('cache')
config['cache']['location'] = cache_dir
with tempfile.NamedTemporaryFile(mode='w') as tempconfig:
config.write(tempconfig)
tempconfig.flush()
return synapseclient.Synapse(configPath=tempconfig.name)
Sample usage:
syn = synapse_custom_cache_dir('/path/to/location1')
syn.login()
results = syn.tableQuery('SELECT * FROM syn123 LIMIT 5')
syn.downloadTableColumns(results, ['foo', 'bar'])
syn = synapse_custom_cache_dir('/path/to/location2')
syn.login()
results = syn.tableQuery('SELECT * FROM syn456 LIMIT 5')
syn.downloadTableColumns(results, ['foo', 'bar'])
from synapsepythonclient.
A downloadLocation parameter would be great. Thanks for the workaround.
from synapsepythonclient.
Related Issues (20)
- `FutureWarning` received when reading in a Synapse table as a data frame HOT 1
- synapseclient.core.exceptions.SynapseHTTPError: 403 Client Error: insufficient_scope. Request lacks scope(s) required by this service: modify HOT 1
- Progress stops during the download HOT 3
- Synapse login not the same with `authToken` and `apiKey` HOT 11
- 2.4.0 release doesn't generate easy_path file HOT 7
- Let the user specify the number of allowed threads HOT 1
- Passing a pandas dataframe with a column called "read" breaks the type parsing in as_table_columns() HOT 2
- Synapse Python Client -> Sign Up error -> Timestamp in request is out of date HOT 2
- login error HOT 2
- Feature Request: Filter capability for syncFromSynapse HOT 1
- Endpoint URL not utilized for external S3 resources HOT 3
- Update Entity class to be compatible with the new Dataset entity
- as_table_columns function is mishandling mixed data types HOT 1
- build_table error HOT 1
- utils' `is_synapse_id` does not work as intended HOT 3
- [Feature request] Add `is_synapse_id` to the client
- Caching is not working for function `_queryTableCsv` function HOT 2
- Upgrade to Pandas 2.0
- ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+ HOT 5
- [Bug] unexpected keyword argument 'line_terminator' HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from synapsepythonclient.