Permalink
Browse files

[packaging] Make loader dependencies optional

- Unless users are interested in working with particular data sources, there
  is no reason for them to install the dependencies for every single
  loader
- This is an experiment in providing a convenient installation mechanism
  for full VisiData functionality
  • Loading branch information...
anjakefala committed Dec 5, 2017
1 parent f87466c commit 3744b50a823d771cc9b926b99c0fd6474b750cde
Showing with 20 additions and 17 deletions.
  1. +10 −1 README.md
  2. +5 −1 circle.yml
  3. +4 −1 setup.py
  4. +0 −13 tox.ini
  5. +1 −1 visidata/loaders/shp.py
View
@@ -7,14 +7,23 @@ A terminal interface for exploring and arranging tabular data.
- Linux or OS/X
- Python 3.4+
- python-dateutil
- other modules may be required for opening particular data sources
- other [modules may be required](https://github.com/saulpw/visidata/blob/stable/requirements.txt) for opening particular data sources
- for a breakdown, see [supported sources](http://visidata.org/man/) in the VisiData manpage
## Install
To install base VisiData (includes support for csv/tsv/fixed/json/sqlite/graphs):
```
$ pip3 install visidata
```
To install dependencies for all remaining loaders:
```
pip3 install "visidata[full]"
```
## Run
```
View
@@ -2,6 +2,10 @@ machine:
post:
- pyenv global 3.4.4 3.5.3
dependencies:
pre:
- pip3 install -r requirements.txt
test:
override:
- tox
- ./test.sh
View
@@ -7,7 +7,10 @@
setup(name='visidata',
version=__version__,
install_requires='python-dateutil openpyxl xlrd h5py psycopg2 pyshp mapbox-vector-tile'.split(),
install_requires=['python-dateutil'],
extras_require={
'full': 'openpyxl xlrd h5py psycopg2 pyshp mapbox-vector-tile'.split()
},
description='curses interface for exploring and arranging tabular data',
long_description=open('README.md').read(),
author='Saul Pwanson',
View
13 tox.ini

This file was deleted.

Oops, something went wrong.
View
@@ -1,5 +1,4 @@
from visidata import *
import shapefile
def open_shp(p):
@@ -35,6 +34,7 @@ class ShapeSheet(Sheet):
]
@async
def reload(self):
import shapefile
sf = shapefile.Reader(self.source.resolve())
self.columns += [
Column(fname, getter=lambda col,row,i=i: row.record[i], type=shptype(ftype, declen))

0 comments on commit 3744b50

Please sign in to comment.