Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
time-series-library-js
Advanced tools
A library for managing and processing time series data.
Compile:
$ tsc
Run tests:
$ npm test
See how to use the code? Take a look in the unit test file (even though it is quite abstract)
If you like it: Call me.
If you hate it: Call me.
Believe it or not, a lot of software is struggling with processing time series data correctly. The lack of good libraries results in every software application trying to implement its own version of time series processing.
The complexity with time series data can be seen from multiple perspective:
The problem is that this is not easy to do this.
The objective of the time series library is to make time series analysis easy.
The solution aim to solve the following use cases:
This was not a light decision. It has long been obvious to me that it must be possible to process time series data close to where the data is. Since time series data is often stored in historians and databases, this meant that the processing naturally needed to happen inside or close to the databases.
Time series data is not just in the databases; it is everywhere. Time series data can be found in close-to-real-time buffers near the sensors, in aggregation of extracted data from multiple sources, and not at least in the analytics notebooks that data scientists use. There was a need for a language that could be run everywhere. TypeScript/JavaScript was selected because:
There is no other language that can achieve all this. One exception may be WebAssembly (Wasm) which is faster and can be compiled from almost anything, but this ecosystem still needs to mature.
The following is included:
There is also some experimental work on TimeSeriesSegments, this is likely to change.
The library is built on the following approaches:
Here is an example of how to use the library:
let testPeriod1 = new TimeSeriesPath('number', InterpolationMethod.linear),
testPeriod2 = new TimeSeriesPath('number', InterpolationMethod.linear),
testPeriod3 = new TimeSeriesPath('number', InterpolationMethod.linear); // Create some time series objects
testPeriod1.setTimeVector(
Array.from(Array(arrayLength).keys()),
Array.from(Array(arrayLength).keys()),
Array.from({ length: arrayLength }, (_v, _k) => 0)
); // Set the time series data (typically from externally, this is just a sample)
testPeriod2 = testPeriod1.resample(Array.from({ length: arrayLength * 2 }, (_v, k) => k / 2)); // Perform a resample to a given array of timestamps
testPeriod3 = testPeriod1.add(testPeriod2); // Add testPeriod1 and testPeriod2. Store the result in testPeriod3
The approach allows chaining for people who count the number of lines of code
resultPeriod = testPeriod1.setTimeVector(...).resample(...).add(testPeriod2).divide(testPeriod3.subtract(testPeriod2));
More time series objects:
More methods:
Sample User Experience:
What problems are you looking to solve?
FAQs
A library for managing and processing time series data.
The npm package time-series-library-js receives a total of 0 weekly downloads. As such, time-series-library-js popularity was classified as not popular.
We found that time-series-library-js demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.