Package: votable-cli
votable-cliorVOTCliA command-line to read and convertVOTablesfrom/to XML, JSON, TOML and YAML.StatusThelibrarythis CLI
is based on is in an early stage of development.
We are (reasonably) open to changes in the various format, e.g.:we could flag attributes with a '@' prefixwe could use upper case elements tag nameswe could remove the 's' suffix in elements arrayswe could change thepos_infosname for something else...More testing is required, especially the bit type and arrays.
Please, provide us with VOTable examples!To-Do listSupportCDATAinTDtagsUse the iterator to implement streaming transformations between DATATABLE/BINARY/BINARY2.Also implement streaming conversion to CSVInstallFrom pypi for python usersVOTable cli is available inpypi,
you can thus install thevotexecutable usingpip:pipinstallvotable-cli
vot--helpDebian packageDownload the lastvotable-cli_vxx_yyy.debcorresponding to your architecture
(x86_64_muslhas the most chances to fit your needs)
from thegithub release page.Install the.debby clicking on it or using the command line:sudodpkg-ivotable-cli_vxx_yyy.deb
sudoapt-getinstall-fThen you can use the tool:vot
manvotYou can uninstall using, e.g.:sudodpkg-r$(dpkg-fvotable-cli_vxx_yyy.debPackage)Pre-compile binaries for MacOS, Linux and WindowsDownload the lastvot-vxx_yyy.tar.gzcorresponding to your architecture
from thegithub release page.
You probably want ot use:Linux:vot-vxx-x86_64-unknown-linux-musl.tar.gzMacOS:vot-vxx-x86_64-apple-darwin.tar.gzWindows:vot-vxx-.zipWARNING: for linux, usemuslinstead ofgnu(high chances of uncompatibility in the latter case)The tar contains a single executable binary file.tarxzvfvot-vxx-yyy.tar.gz
./votCompile from source codeInstall rust(and check that~/.cargo/bin/is in your path),
or update the Rust compiler with:rustupupdateClone thevotable lib rustproject:gitclonehttps://github.com/cds-astro/cds-votable-rustInstall from usingcargo:cargoinstall--pathcrates/cliHelp message>vot--help
Command-linetoconvertIVOAVOTablesinXML,JSON,YAMLandTOML

Usage:vot[OPTIONS]<INPUT_FMT><OUTPUT_FMT>

Arguments:<INPUT_FMT>Formatoftheinputdocument('xml','json','yaml'or'toml')<OUTPUT_FMT>Formatoftheoutputdocument('xml','xml-td','xml-bin','xml-bin2','json','yaml'or'toml')Options:-i,--input<FILE>Inputfile(elsereadfromstdin)-o,--output<FILE>Outputfile(elsewritetostdout)-p,--prettyPrettyprint(forJSONandTOML)-h,--helpPrinthelp-V,--versionPrintversionExample>timevotxmlxml-iVII.vot>xml.1.vot
real0m0,009s
user0m0,001s
sys0m0,009s

>timevotxmltoml--pretty-iVII.vot|vottomljson|votjsonxml>xml.2.vot
real0m0,022s
user0m0,018s
sys0m0,012s

>diffxml.1.votxml.2.votLog messagesYou can adapt thelevelof log messages using
the environement variableRUST_LOGwith one of the following value:error,warn,info,debug,traceandoff.E.g.:RUST_LOG="trace"votxmlxml--inputVII.votSeeenv_loggerfor more details.LicenseLike most projects in Rust, this project is licensed under either ofApache License, Version 2.0, (LICENSE-APACHEorhttp://www.apache.org/licenses/LICENSE-2.0)MIT license (LICENSE-MITorhttp://opensource.org/licenses/MIT)at your option.ContributionUnless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in this project by you, as defined in the Apache-2.0 license,
shall be dual licensed as above, without any additional terms or conditions.