veye is a command line tool and Ruby client for VersionEye. The tool allows you to write scripts for continuous updating and due diligence tasks.
Most endpoints require an API key, which you can get here and i recommend you to use an organization API-key.
VersionEye is a cross-platform search engine and crowdsourcing app for opensource software libraries.
- Take advantage of the extended search to find any library you look for.
- Follow and track your favorite software packages via RSS feed.
- Keep eye out-dated packages.
- Contribute to this crowdsourcing project to make the world a better place for software developers.
$> gem install veye
$> veye
$> veye initconfig
$> veye change_key a124423233
More commands are in Veye/CLI wiki, but i recommend to consult with bin/veye file as not all the attributes and commandline flags are not documented.
$> git clone https://github.com/versioneye/veye.git
$> cd veye
$> bundle
$> bundle exec bin/veye ping
$> gem build veye.gemspec
$> veye help
$> veye ping
It ables to try different version of Rubies, without going to through big install-festival.
$> make build
$> docker run -it --rm -v "$PWD:/usr/src/veye" ruby:2.3 /bin/sh
$> cd /usr/src/veye
$> gem install veye.gem
$> veye
If you see the cant find configfile
error after installing the Veye gem then this means the configuration file is missing and it must be created before it can run any commands.
The Veye uses the configuration file to keep settings and your API Key.
$> veye initconfig
# it creates configuration file for VersionEye CLI
$> cat ~/.veye.rc
:api_key: <add your key>
:server: 127.0.0.1
:port: "3000"
....
Please visit your settings page on VersionEye for the API key and then use command veye change_key
to save your api key.
$> veye change_key abj23j2bj33k14
Success: your key is now saved.
$> veye ping
pong
$> veye search json --lang=r,php --page=2
#you can cancel pagination with --no-pagination argument
$> veye search junit --page 3 --no-pagination
$> veye info --language=PHP --version='3.0.1' symfony/symfony --format=table
All commands support output format flag, that allows you change layout between human friendly display and machine readable formats.
Prettyprint is human readable output with colors to highlight an most important piece of information on a screen. It's designed after other ruby command-line tools.
$> veye search json --format=pretty
CSV is good format for unix command line tools such as awk
$> veye search json --format=csv
JSON output is great, if you're going to manipulate output results with jq. Check out our jq recipes in wiki .
$> veye search json --format=json
It's shows results as a big Excel sheet and works best on bigger screens.
$> veye search json --format=table
This flag formats your results in markdown.
Here's dependencies of demo project formatted as markdown table.
$> veye projects show rubygem_gemfile_lock_1 --format=md
$> veye projects show rubygem_gemfile_lock_1 --format=md > dependencies.md
There will be situation, when VersionEye dont have information about your search, then you will see similar response on commandline:
No results for 'json' with given parameters:
{:q=>"json", :lang=>"python", :page=>1}
Commands that show list of items, always show pagination information by default. You can always cancel this information by using no-pagination
flag and feed data into unix tools.
$> veye search junit --page 3 --no-pagination
You can override your default global options by adding proper keyword and value. For example to overriding a port number:
$> veye --port=4567 search json --lang=php,nodejs
The best place to manage timeouts for a single run is to use commandline flags.
$> veye --timeout=100 --open_timeout=10 ping
NB! unit of timeout is a second and it's doesnt accepts milliseconds. Therefore smallest timeout is 1second and you can use -1 as infinite timeout.
If you want to change timeout settings permanently, then you shall change timeout values in your .veye.rc
file.
There may be a situation when you need to update/re-write saved config file. Then you you can use veye initconfig --force
command to re-write already existing configuration file.
All contributions are welcome - comments, new ideas, help with documentation & help with features;
$> rm test/fixtures/vcr_cassettes/* #if needed
$> VEYE_API_KEY=<YOUR_API_KEY> rake test
$> rake test TEST=test/file_you_changed.rb
$> rubocop lib/your_file.rb
More documentation can be found in the Veye wiki.
The MIT License (MIT)
Copyright: (c) 2016 VersionEye GmbH