.Net API for the TeaFile File Format. TeaFiles is Time Series Persistence in Flat Files.
Switch branches/tags
Nothing to show
Clone or download
thulka Update README.md
removed dead link
Latest commit 938e3fd Aug 9, 2016
Failed to load latest commit information.
Examples moved version from codeplex Feb 21, 2013
Lib moved version from codeplex Feb 21, 2013
TeaFiles.Test moved version from codeplex Feb 21, 2013
Usage moved version from codeplex Feb 21, 2013
Coverage.testsettings moved version from codeplex Feb 21, 2013
Normal.testsettings moved version from codeplex Feb 21, 2013
README.md Update README.md Aug 9, 2016


TeaFiles.Net - Time Series Storage in Files

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


  • 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


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

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


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


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


// 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);