Skip to content
This repository has been archived by the owner on Oct 11, 2018. It is now read-only.
/ go-reader Public archive

Simple library for normalizing the closing of readers and underlying resources.

License

Notifications You must be signed in to change notification settings

spatialcurrent/go-reader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Go Report Card GoDoc license

go-reader

Description

go-reader is a simple library for managing the reading of uncompressed text from underlying resources.

Using cross compilers, this library can also be called by other languages. This library is cross compiled into a Shared Object file (*.so). The Shared Object file can be called by C, C++, and Python on Linux machines. See the examples folder for patterns that you can use. This library is also compiled to pure JavaScript using GopherJS.

Usage

CLI

You can use the command line tool to convert between formats.

Usage: reader -uri URI [-alg [bzip2|gzip|snappy|none]] [-verbose] [-version]
Options:
  -alg string
    	Stream input compression algorithm for nodes, using: bzip2, gzip, snappy, or none. (default "none")
  -aws_access_key_id string
    	Defaults to value of environment variable AWS_ACCESS_KEY_ID
  -aws_default_region string
    	Defaults to value of environment variable AWS_DEFAULT_REGION.
  -aws_secret_access_key string
    	Defaults to value of environment variable AWS_SECRET_ACCESS_KEY.
  -aws_session_token string
    	Defaults to value of environment variable AWS_SESSION_TOKEN.
  -buffer_size int
    	The input reader buffer size (default 4096)
  -hdfs_name_node string
    	Defaults to value of environment variable HDFS_DEFAULT_NAME_NODE.
  -help
    	Print help
  -uri string
    	"stdin" or uri to input file
  -version
    	Prints version to stdout

Go

You can import go-reader as a library with:

import (
  "github.com/spatialcurrent/go-reader/reader"
)
...

See reader in GoDoc for information on how to use Go API.

JavaScript

<html>
  <head>
    <script src="https://...reader.js"></script>
  </head>
  <body>
    <script>
      reader.open(uri, "none", function(text){ ... })
      ...
    </script>
  </body>
</html>

Examples:

TBD

Building

CLI

The command line go-reader program can be built with the scripts/build_cli.sh script.

JavaScript

You can compile go-reader to pure JavaScript with the scripts/build_javascript.sh script.

Shared Object

The scripts/build_so.sh script is used to build a Shared Object (*.go), which can be called by C, C++, and Python on Linux machines.

Changing Destination

The default destination for build artifacts is go-reader/bin, but you can change the destination with a CLI argument. For building on a Chromebook consider saving the artifacts in /usr/local/go/bin, e.g., bash scripts/build_cli.sh /usr/local/go/bin

Contributing

Spatial Current, Inc. is currently accepting pull requests for this repository. We'd love to have your contributions! Please see Contributing.md for how to get started.

License

This work is distributed under the MIT License. See LICENSE file.

About

Simple library for normalizing the closing of readers and underlying resources.

Resources

License

Stars

Watchers

Forks

Packages

No packages published