Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
.Net API for the TeaFile File Format. TeaFiles is Time Series Persistence in Flat Files.
C#
branch: master
Failed to load latest commit information.
Examples moved version 1.0.0.35 from codeplex
Lib
TeaFiles.Test moved version 1.0.0.35 from codeplex
TeaFiles TeaFileT.Create overload that allows setting stream ownership
Usage moved version 1.0.0.35 from codeplex
.gitignore Initial commit
Coverage.testsettings moved version 1.0.0.35 from codeplex
License.txt license
Normal.testsettings moved version 1.0.0.35 from codeplex
README.md Update README.md
TeaFiles.Net.sln moved version 1.0.0.35 from codeplex
normal32.testsettings moved version 1.0.0.35 from codeplex

README.md

TeaFiles.Net - Time Series Storage in Files

Use TeaFiles.Net to create, read and write files holding time series data.

Features

  • highest performance
  • very simple
  • versatile - open TeaFiles with C++, C#, Python, R, on any platform

TeaFiles = Binary Data + Header

  • TeaFile is a file format
  • to store time series
  • as binary flat files
  • optional header holds a description of file contents (metadata)
  • including a description of the item type layout (schema)
  • simple format, designed to make API writing very easy
  • http://www.discretelogics.com published the file format and
  • releases APIs for C#, C++, Python under the GPL

Performance

250 Mio Items per seconds cold
465 Mio Items per seconds warm

benchmark results at http://www.discretelogics.com/resources/benchmarks/teafilesbm.htm

Installation

  • Get the NuGet package from nuget.org/packages/TeaFiles.Net or

Documentation

The API class documentation is available online at www.discretelogics.com/doc/teafiles.net

TeaTime product family

TeaFiles are the foundation of the TeaTime product family, the toolset for persistence, visualisation and real time analysis of time series.

Related products:

  • TeaShell - Browse Time Series like Photos
  • TeaHouse - Browse Large Time Series by Chart

Examples

// define time series item type
struct Tick
{
    public Time Time;
    public double Price;
    public int Volume;
}
 // create file and write values
using (var tf = TeaFile<Tick>.Create("acme.tea"))
{
    tf.Write(new Tick { Price = 5, Time = DateTime.Now, Volume = 700 });
    tf.Write(new Tick { Price = 15, Time = DateTime.Now.AddHours(1), Volume = 1700 });
    // ...
}
// sum the prices of all items in the file
using (var tf = TeaFile<Tick>.OpenRead("acme.tea"))
{
    return tf.Items.Sum(item => item.Price);
}
Something went wrong with that request. Please try again.