-
-
Notifications
You must be signed in to change notification settings - Fork 287
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #99 from saulpw/develop
v0.99 release
- Loading branch information
Showing
88 changed files
with
2,128 additions
and
1,680 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# VisiData v0.98.1 [![CircleCI](https://circleci.com/gh/saulpw/visidata/tree/stable.svg?style=svg)](https://circleci.com/gh/saulpw/visidata/tree/stable) | ||
# VisiData v0.99 [![CircleCI](https://circleci.com/gh/saulpw/visidata/tree/stable.svg?style=svg)](https://circleci.com/gh/saulpw/visidata/tree/stable) | ||
|
||
A terminal interface for exploring and arranging tabular data. | ||
|
||
|
@@ -7,12 +7,21 @@ A terminal interface for exploring and arranging tabular data. | |
- Linux or OS/X | ||
- Python 3.4+ | ||
- python-dateutil | ||
- 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 | ||
- other modules may be required for opening particular data sources | ||
- see [requirements.txt](https://github.com/saulpw/visidata/blob/stable/requirements.txt) or the [supported sources](http://visidata.org/man/#loaders) in the vd manpage | ||
|
||
## Install | ||
## Installation | ||
|
||
To install VisiData, with loaders for formats supported by the Python standard library (which includes csv, tsv, fixed-width text, json, sqlite and graphs): | ||
There are three options for installing visidata: | ||
- [pip3](https://github.com/saulpw/visidata/tree/stable#install-via-pip3) for users who wish to import visidata into their own code or wish to integrate it into a python virtual environment | ||
- [Homebrew](https://github.com/saulpw/visidata/tree/stable#install-via-brew) on MacOS/X for reliable installation of application components (such as the manpage) | ||
- [apt](https://github.com/saulpw/visidata/tree/stable#install-via-apt) on Linux distributions | ||
|
||
### Install via pip3 | ||
|
||
Best installation method for users who wish to take advantage of VisiData in their own code, or integrate it into a Python3 virtual environment. | ||
|
||
To install VisiData, with loaders for the most common data file formats (including csv, tsv, fixed-width text, json, sqlite, http, html and xls): | ||
|
||
``` | ||
$ pip3 install visidata | ||
|
@@ -24,14 +33,53 @@ To install VisiData, plus external dependencies for all available loaders: | |
pip3 install "visidata[full]" | ||
``` | ||
|
||
### Install via brew | ||
|
||
Ideal for MacOS users who primarily want to engage with VisiData as an application. This is currently the most reliable way to install VisiData's manpage on MacOS. | ||
|
||
``` | ||
brew install saulpw/vd/visidata | ||
``` | ||
|
||
Further instructions available [here](https://github.com/saulpw/homebrew-vd). | ||
|
||
### Install via apt | ||
|
||
Packaged for Linux users who do not wish to wrangle with PyPi or python3-pip. | ||
|
||
Currently, VisiData is undergoing review for integration into the main Debian repository. Until then it is available in our [Debian repo](https://github.com/saulpw/deb-vd). | ||
|
||
Grab our public key | ||
|
||
``` | ||
wget http://visidata.org/devotees.gpg.key | ||
apt-key add devotees.gpg.key | ||
``` | ||
|
||
Add our repository to apt's search list | ||
|
||
``` | ||
sudo apt-get install apt-transport-https | ||
sudo vim /etc/apt/sources.list | ||
deb[arch=amd64] https://raw.githubusercontent.com/saulpw/deb-vd/master sid main | ||
sudo apt-get update | ||
``` | ||
You can then install VisiData by typing: | ||
|
||
``` | ||
sudo apt-get install visidata | ||
``` | ||
|
||
Further instructions available [here](https://github.com/saulpw/deb-vd). | ||
|
||
## Run | ||
|
||
``` | ||
$ vd [<options>] <input> ... | ||
$ <command> | vd [<options>] | ||
``` | ||
|
||
VisiData supports tsv, csv, xlsx, hdf5, sqlite, and more. | ||
VisiData supports tsv, csv, xlsx, hdf5, sqlite, json and more. | ||
Use `-f <filetype>` to force a particular filetype. | ||
|
||
## Documentation | ||
|
@@ -50,21 +98,23 @@ For more detailed information about how you can contribute as a developer, influ | |
|
||
## vdtui | ||
|
||
The core `vdtui.py` can be used to quickly create efficient terminal workflows. | ||
The core `vdtui.py` can be used to quickly create efficient terminal workflows. These have been prototyped as proof of this concept: | ||
|
||
- [vgit](https://github.com/saulpw/vgit): a git interface | ||
- [vsh](http://github.com/saulpw/vsh): a collection of utilities like `vping` and `vtop`. | ||
- [vdgalcon](https://github.com/saulpw/vdgalcon): a port of the classic game [Galactic Conquest](https://www.galcon.com) | ||
|
||
Other workflows should also be created as separate apps using vdtui. These apps can be very small; for example, see the included [viewtsv](bin/viewtsv). | ||
Other workflows should also be created as separate apps using vdtui. These apps can be very small and provide a lot of functionality; for example, see the included [viewtsv](bin/viewtsv). | ||
|
||
|
||
## License | ||
|
||
The innermost core file, `vdtui.py`, is a single-file stand-alone library that provides a solid framework for building text user interface apps. It is distributed under the MIT free software license, and freely available for inclusion in other projects. | ||
|
||
Other VisiData components, including the main `vd` application, addons, loaders, and other code in this repository, are available for reuse under GPLv3. | ||
Other VisiData components, including the main `vd` application, addons, loaders, and other code in this repository, are available for use and distribution under GPLv3. | ||
|
||
## Credits | ||
|
||
VisiData was created by Saul Pwanson `<[email protected]>`. | ||
Thanks to @anjakefala for test and release support, to @databranner for documentation, and to those wonderful users who contribute feedback in any form, for helping to make VisiData the awesome tool that it is. | ||
VisiData was created and developed by Saul Pwanson `<[email protected]>`. | ||
|
||
Thanks to all the [contributors](CONTRIBUTING.md#contributors), and to those wonderful users who provide feedback, for making VisiData the awesome tool that it is. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
# Release process for the next `stable` version | ||
|
||
1. Merge `stable` to `develop` (if necessary) | ||
|
||
2. Ensure `develop` automated tests run correctly with ./test.sh | ||
|
||
3. Verify that documentation/docstrings are up-to-date on features and functionality | ||
|
||
4. Verify that setup.py is up-to-date with requirements. | ||
|
||
5. Set version number to next most reasonable number (v#.#.#) | ||
|
||
a. add to front of CHANGELOG, along with the release date and bullet points of major changes | ||
|
||
b. update version number on README and front page of website | ||
|
||
c. bump version in `__version__` in source code (bin/vd, visidata/vdtui.py) and setup.py | ||
|
||
6. Run ./mkwww.sh to build the manpage and updated website | ||
|
||
7. Push `develop` to testpypi | ||
|
||
a. set up a ~/.pypirc | ||
|
||
``` | ||
[distutils] | ||
index-servers= | ||
pypi | ||
testpypi | ||
[pypi] | ||
repository:https://upload.pypi.org/legacy/ | ||
username: | ||
password: | ||
[testpypi] | ||
repository: https://test.pypi.org/legacy | ||
username: | ||
password: | ||
``` | ||
b. push to testpypi | ||
``` | ||
python3 setup.py sdist | ||
twine upload dist/* -r testpypi | ||
``` | ||
8. Test install from testpypi | ||
a. on virgin instance | ||
b. on mac and linux | ||
c. See if windows works | ||
d. from git clone | ||
``` | ||
pip3 install --extra-index-url https://test.pypi.org/project visidata | ||
``` | ||
9. Merge `develop` to stable | ||
10. Merge `stable` back into other branches | ||
a. if the branch works with minimal conflicts, keep the branch | ||
b. otherwise, clean out the branch | ||
11. Push stable to pypi | ||
``` | ||
twine upload dist/* | ||
``` | ||
12. Test install/upgrade from pypi | ||
a. Build and deploy the website | ||
b. Ask someone else to test install | ||
13. Create a tag `v#.#.#` for that commit | ||
``` | ||
git tag v#.#.# | ||
git push --tags | ||
``` | ||
14. Push code to stable | ||
15. Write up the release notes and post at visidata.org/release/#.# | ||
16. Comb through issues and close the ones that have been solved, referencing the version number | ||
17. Post release notes on r/visidata and tinyletter and have some ice cream | ||
# Homebrew | ||
1. Update the link in url to the new visidata tar.gz file. | ||
2. Download the tarfile and obtain its new sha256 | ||
``` | ||
shasum -a 256 | ||
``` | ||
3. Check each dependency and see if it has been updated. If so, update the url and sha256 for the newest version. | ||
4. Install visidata using `pip3 install visidata --upgrade` and note down all of the new dependencies. | ||
5. Obtain their urls and sha256 and add them to the formula | ||
6. Change their urls from `pypi.python.org` to `files.pythonhosted.org`. | ||
7. Test the formula with `brew install --build-from-source visidata`. Fix as needed. | ||
8. Audit the formula with `brew audit --new-formula visidata` | ||
9. Add and commit the formula. | ||
## Debian | ||
1. Obtain the visidata tar.gz file from pypi | ||
2. tar -xzmf visidata.tar.gz | ||
3. cp visidata.ver.tar.gz visidata_ver.orig.tar.gz | ||
4. cd visidata/ | ||
5. Place there the contents of the debian directory from github.com/saulpw/visidata | ||
6. Update changelog | ||
``` | ||
dch -v version-revision | ||
``` | ||
7. Run debuild. Fix errors as they come up | ||
8. If a package fails to import a module, it must be added to the build dependencies as python3-modules | ||
9. Enter saulpw/deb-vd. | ||
10. Run the command reprepro includeb sid new-vd.deb |
Oops, something went wrong.