bug fix: registry and parameter handling
This commit is contained in:
parent
037019c1d7
commit
235a44be66
|
@ -19,6 +19,14 @@ Within the virtual environment perform the following :
|
||||||
pip install git+https://github.com/lnyemba/data-transport.git
|
pip install git+https://github.com/lnyemba/data-transport.git
|
||||||
|
|
||||||
|
|
||||||
|
## What's new
|
||||||
|
|
||||||
|
Unlike older versions 2.0 and under, we focus on collaborative environments like jupyter-x servers; apache zeppelin:
|
||||||
|
|
||||||
|
1. Simpler syntax to create reader or writer
|
||||||
|
2. auth-file registry that can be referenced using a label
|
||||||
|
|
||||||
|
|
||||||
## Learn More
|
## Learn More
|
||||||
|
|
||||||
We have available notebooks with sample code to read/write against mongodb, couchdb, Netezza, PostgreSQL, Google Bigquery, Databricks, Microsoft SQL Server, MySQL ... Visit [data-transport homepage](https://healthcareio.the-phi.com/data-transport)
|
We have available notebooks with sample code to read/write against mongodb, couchdb, Netezza, PostgreSQL, Google Bigquery, Databricks, Microsoft SQL Server, MySQL ... Visit [data-transport homepage](https://healthcareio.the-phi.com/data-transport)
|
|
@ -12,3 +12,9 @@ The above copyright notice and this permission notice shall be included in all c
|
||||||
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
__whatsnew__=f"""version {__version__}, focuses on collaborative environments like jupyter-base servers (apache zeppelin; jupyter notebook, jupyterlab, jupyterhub)
|
||||||
|
|
||||||
|
1. simpler syntax to create readers/writers
|
||||||
|
2. auth-file registry that can be referenced using a label
|
||||||
|
"""
|
||||||
|
|
|
@ -22,7 +22,7 @@ from transport import sql, nosql, cloud, other
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
from info import __version__,__author__,__email__,__license__,__app_name__
|
from info import __version__,__author__,__email__,__license__,__app_name__,__whatsnew__
|
||||||
from transport.iowrapper import IWriter, IReader, IETL
|
from transport.iowrapper import IWriter, IReader, IETL
|
||||||
from transport.plugins import PluginLoader
|
from transport.plugins import PluginLoader
|
||||||
from transport import providers
|
from transport import providers
|
||||||
|
@ -38,7 +38,11 @@ def init():
|
||||||
if _provider_name.startswith('__') or _provider_name == 'common':
|
if _provider_name.startswith('__') or _provider_name == 'common':
|
||||||
continue
|
continue
|
||||||
PROVIDERS[_provider_name] = {'module':getattr(_module,_provider_name),'type':_module.__name__}
|
PROVIDERS[_provider_name] = {'module':getattr(_module,_provider_name),'type':_module.__name__}
|
||||||
|
def _getauthfile (path) :
|
||||||
|
f = open(path)
|
||||||
|
_object = json.loads(f.read())
|
||||||
|
f.close()
|
||||||
|
return _object
|
||||||
def instance (**_args):
|
def instance (**_args):
|
||||||
"""
|
"""
|
||||||
This function returns an object of to read or write from a supported database provider/vendor
|
This function returns an object of to read or write from a supported database provider/vendor
|
||||||
|
@ -82,7 +86,8 @@ def instance (**_args):
|
||||||
|
|
||||||
if _info :
|
if _info :
|
||||||
#
|
#
|
||||||
_args = dict(_args,**_info)
|
# _args = dict(_args,**_info)
|
||||||
|
_args = dict(_info,**_args) #-- we can override the registry parameters with our own arguments
|
||||||
|
|
||||||
if 'provider' in _args and _args['provider'] in PROVIDERS :
|
if 'provider' in _args and _args['provider'] in PROVIDERS :
|
||||||
_info = PROVIDERS[_args['provider']]
|
_info = PROVIDERS[_args['provider']]
|
||||||
|
|
|
@ -10,6 +10,11 @@ This class manages data from the registry and allows (read only)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
REGISTRY_PATH=os.sep.join([os.environ['HOME'],'.data-transport'])
|
REGISTRY_PATH=os.sep.join([os.environ['HOME'],'.data-transport'])
|
||||||
|
#
|
||||||
|
# This path can be overriden by an environment variable ...
|
||||||
|
#
|
||||||
|
if 'DATA_TRANSPORT_REGISTRY_PATH' in os.environ :
|
||||||
|
REGISTRY_PATH = os.environ['DATA_TRANSPORT_REGISTRY_PATH']
|
||||||
REGISTRY_FILE= 'transport-registry.json'
|
REGISTRY_FILE= 'transport-registry.json'
|
||||||
|
|
||||||
DATA = {}
|
DATA = {}
|
||||||
|
|
Loading…
Reference in New Issue