**This is an old revision of the document!**

# TimEL: Time-serie Expression Language

TimEL is a Java library to parse and evaluate expressions with time-series data:

// Compile the expression Expression<?> expression = TimEL .parse("scale(scale(uniform(1), every(1, \"DAY_OF_YEAR\", \"UTC\")))") .compile(); // Evaluate and print the number of days from epoch Interval interval = Interval.of(Instant.ofEpochMilli(0), Instant.now()); System.out.println(TimEL.evaluate(expression, interval).next());

TimEL's aim is to provide an easy to use - yet powerful language - to model, aggregate and manipulate time-series. With TimEL you can:

**Mix multiple time frames**- for example you can sum daily data with hourly data, or even non-regular data like monthly data;**Express**easily express recurrent quantities, like 10 units every hour;**Autoscale**natively integral values (like consumptions);**Stream**results without the need of having all the operands in memory;**Support**integer, floating point and double expressions;**Extend**: you can define your own types and functions;

TL;DR? Pick a random example in the online console!

TimEL requires Java 8 and will run in any J2SE or J2EE container.

#### Acknowledgements

I wish to thank ej-technologies for providing the TimEL development team with a free JProfiler license, a great Java Profiler.