Popularity
1.0
Growing
Activity
0.0
Stable
9
2
2
Programming language: Go
License: Apache License 2.0
Latest version: v0.3.1
ltsv alternatives and similar packages
Based on the "Specific Formats" category.
Alternatively, view ltsv alternatives based on common mentions on social networks and blogs.
-
bluemonday
bluemonday: a fast golang HTML sanitizer (inspired by the OWASP Java HTML Sanitizer) to scrub user generated content of XSS -
omniparser
omniparser: a native Golang ETL streaming parser and transform library for CSV, JSON, XML, EDI, text, etc. -
html-to-markdown
⚙️ Convert HTML to Markdown. Even works with entire websites and can be extended through rules. -
mxj
Decode / encode XML to/from map[string]interface{} (or JSON); extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages. -
go-pkg-rss
DISCONTINUED. This package reads RSS and Atom feeds and provides a caching mechanism that adheres to the feed specs. -
goq
A declarative struct-tag-based HTML unmarshaling or scraping package for Go built on top of the goquery library -
go-pkg-xmlx
DISCONTINUED. Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions. -
github_flavored_markdown
GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links. -
pagser
Pagser is a simple, extensible, configurable parse and deserialize html page to struct based on goquery and struct tags for golang crawler -
csvplus
csvplus extends the standard Go encoding/csv package with fluent interface, lazy stream operations, indices and joins.
InfluxDB - Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
Promo
www.influxdata.com
Do you think we are missing an alternative of ltsv or a related project?
Popular Comparisons
README
ltsv
High performance LTSV (Labeled Tab Separeted Value) parser for Go.
About LTSV: http://ltsv.org/
Labeled Tab-separated Values (LTSV) format is a variant of
Tab-separated Values (TSV). Each record in a LTSV file is represented
as a single line. Each field is separated by TAB and has a label and
a value. The label and the value have been separated by ':'. With
the LTSV format, you can parse each line by spliting with TAB (like
original TSV format) easily, and extend any fields with unique labels
in no particular order.
Installation
go get github.com/Wing924/ltsv
Examples
package main
import (
"fmt"
"github.com/Wing924/ltsv"
)
func main() {
line := []byte("foo:123\tbar:456")
record, err := ltsv.ParseLineAsMap(line, nil)
if err != nil {
panic(err)
}
fmt.Printf("%#v", record) // map[string]string{"foo":"123", "bar":"456"}
}
Benchmarks
Benchmark against
- Songmu/go-ltsv: 635% faster
- ymotongpoo/goltsv: 365% faster
- najeira/ltsv: 782% faster
Source code: bench/line_test.go.
Result
$ go test -bench . -benchmem
goos: darwin
goarch: amd64
pkg: github.com/Wing924/ltsv/bench
Benchmark_line_Wing924_ltsv-4 2000000 626 ns/op 224 B/op 17 allocs/op
Benchmark_line_Wing924_ltsv_strict-4 2000000 788 ns/op 224 B/op 17 allocs/op
Benchmark_line_Songmu_goltsv-4 300000 3975 ns/op 1841 B/op 32 allocs/op
Benchmark_line_ymotongpoo_goltsv-4 500000 2286 ns/op 5793 B/op 17 allocs/op
Benchmark_line_najeira_ltsv-4 300000 4896 ns/op 5529 B/op 26 allocs/op
PASS
ok github.com/Wing924/ltsv/bench 8.245s
*Note that all licence references and agreements mentioned in the ltsv README section above
are relevant to that project's source code only.