https://github.com/nexus-main/nexus
Extensible user interface for your time-series data lake with REST API support.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.8%) to scientific vocabulary
Repository
Extensible user interface for your time-series data lake with REST API support.
Basic Info
Statistics
- Stars: 7
- Watchers: 1
- Forks: 4
- Open Issues: 174
- Releases: 57
Metadata Files
README.md
Nexus
Nexus is an extensible user interface for your time-series data lake with REST API support. It allows the end users access to any kind of equidistant and one-dimensional time-series data. Nexus relies on data sources which are able to read the underlying data format (e.g. a certain file format, databases, other Nexus instances, ...). Please check out the current ecosystem to see which data sources are available. That document also shows the three distinct ways to create a new data source.
Nexus allows streaming data directly into the UI or into Python, C# or Matlab clients. Additionally, Nexus supports exporting the data into a specific file format. Supported formats are CSV, HDF5, Matlab (v7.3) and Famos. Like for data sources, it is possible to create and register new custom data writers.
Usage
The main elements presented in Nexus are called catalogs. These catalogs are often equivalent to a measurement campaign. Within a catalog, there are resources (e.g. channels of a data acquisition device) which comprise a unique name, arbitrary properties (metadata) and one or more representations. A representation defines the sample period (e.g. 100 ms) and optional parameters of the associated resource.

Individual catalog items are identified by their resource path. For the resource T1 of catalog /SAMPLE/LOCAL the path identifying the 1 s representation is equal to /SAMPLE/LOCAL/T1/1_s.
Aggregation
In case you need aggregated data, in the UI, simply select a sample period larger than the original sample period. If you already had selected a catalog item and you change the sample period, it will become red. The UI offers you to select an appropriate aggregation method as shown on the right. When you select a sample period of 10 min and the Mean aggregation method, the resource path becomes /SAMPLE/LOCAL/T1/10_min_mean.

When you copy the path from within the UI, the path is suffixed like this: /SAMPLE/LOCAL/T1/10_min_mean#base=1_s. The base parameter is only relevant when there are multiple representations per resource so that Nexus knows which representation to use for aggregation.
[!Note] Data will be aggregated on the fly but the results will be cached, so it is much faster the next time you request the same piece of data. A set of preselected data will aggregated on every night to further speed-up the access.
Visualization
To visualize data, select one or more resources and edit the settings on the left to your needs. When the settings are valid, the button Visualize will be become available. Click on that button to load and plot the requested data.

Export
If you prefer to export the data as .csv files or to other formats for further processing, please adjust the settings on the right to your liking. If the settings are valid, the button on the lower right will be enabled. A click on that button starts the export process. The progress will be indicated by a circle which fills itself from 0% to 100%. When the export was successful, you will be able to click on that button to download the data. You can run multiple exports at the same time.
Personal Access Tokens
Both clients - Python and Matlab - require that you create a token which authenticates your script or application against Nexus.
You get this token in the Nexus UI's user menu as shown below. Once you have the token, you need to copy it into the scripts shown below (replace the <token> placeholder).
Tokens cannot access any catalogs by default (except public catalogs). Enter the catalog path the token needs access to as shown in the screenshot. This value is a regex pattern so you can cover more complex scenarios as well.

Python
Load
The following Jupyter Notebooks show how to load the data directly into Python’s memory:
Export
The following Jupyter Notebooks export the data into a .csv file, downloads it as .zip file including the license (if available) and extracts the data to your local disk:
Matlab
This script loads the data directly into Matlab’s memory
This script exports the data into a
.csvfile, downloads it as.zipfile including the license (if available) and extracts the data to your local disk
Develop
bash
git clone https://github.com/nexus-main/nexus
cd nexus
(cd src/Nexus && libman restore)
dotnet workload restore
dotnet run --project src/Nexus/Nexus.csproj
In a browser, navigate to http://localhost:5000.
[!Note] A more comprehensive documentation follows soon. In the meantime, if you are interested in how to setup Nexus and it's data sources, please open a new issue describing your use case.
:sparkles: Supported by code contributions from Fraunhofer IWES
Owner
- Name: nexus-main
- Login: nexus-main
- Kind: organization
- Repositories: 2
- Profile: https://github.com/nexus-main
GitHub Events
Total
- Create event: 35
- Issues event: 121
- Release event: 21
- Watch event: 3
- Delete event: 14
- Issue comment event: 19
- Push event: 186
- Pull request event: 8
Last Year
- Create event: 35
- Issues event: 121
- Release event: 21
- Watch event: 3
- Delete event: 14
- Issue comment event: 19
- Push event: 186
- Pull request event: 8
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 72
- Total pull requests: 1
- Average time to close issues: 3 months
- Average time to close pull requests: about 22 hours
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 0.03
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 67
- Pull requests: 1
- Average time to close issues: 4 days
- Average time to close pull requests: about 22 hours
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.03
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Apollo3zehn (145)
- Conundraah (3)
Pull Request Authors
- Apollo3zehn (11)
- Conundraah (10)
- joe97z (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 6
-
Total downloads:
- nuget 31,958 total
-
Total dependent packages: 3
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 198
- Total maintainers: 1
nuget.org: nexus.packagemanagement
Type definitions to implement the package management for the Nexus system.
- Homepage: https://nexus-main.github.io/Nexus
- License: MIT
-
Latest release: 2.0.0-beta.42
published over 1 year ago
Rankings
nuget.org: nexus.sources.transform
A data source to transform Nexus catalog properties like resources names and group memberships.
- Homepage: https://nexus-main.github.io/Nexus
- License: MIT
-
Latest release: 2.0.0-beta.47
published over 1 year ago
Rankings
nuget.org: nexus.extensibility
Type definitions to implement data sources and data writers for the Nexus system.
- Homepage: https://nexus-main.github.io/Nexus
- License: MIT
-
Latest release: 1.0.6
published over 3 years ago
Rankings
Maintainers (1)
nuget.org: nexus.api
Client for the Nexus system.
- Homepage: https://nexus-main.github.io/Nexus
- License: MIT
-
Latest release: 1.0.6
published over 3 years ago
Rankings
Maintainers (1)
nuget.org: nexus.remoting
Type definitions to implement data sources and data writers for the Nexus system.
- Homepage: https://nexus-main.github.io/Nexus
- License: MIT
-
Latest release: 1.0.5
published over 3 years ago
Rankings
Maintainers (1)
nuget.org: nexus.sources.structuredfile
This package makes a base class available to simplify reading structured data files into Nexus.
- Homepage: https://nexus-main.github.io/Nexus
- License: MIT
-
Latest release: 1.0.1
published over 3 years ago
Rankings
Maintainers (1)
Dependencies
- JamesIves/github-pages-deploy-action v4 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/setup-python v3 composite
- actions/upload-artifact v3 composite
- docker/login-action v1 composite
- docker/setup-buildx-action v1 composite
- softprops/action-gh-release v1 composite
- mcr.microsoft.com/dotnet/aspnet 6.0 build
- Microsoft.EntityFrameworkCore.Tools 6.0.0 development
- MathNet.Numerics 4.15.0
- Microsoft.AspNetCore.Authentication.Cookies 2.2.0
- Microsoft.AspNetCore.Authentication.JwtBearer 6.0.0
- Microsoft.AspNetCore.Authentication.OpenIdConnect 6.0.0
- Microsoft.AspNetCore.Components.WebAssembly.Server 6.0.0
- Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer 5.0.0
- Microsoft.EntityFrameworkCore.InMemory 6.0.2
- Microsoft.EntityFrameworkCore.Sqlite 6.0.0
- NSwag.AspNetCore 13.15.10
- OpenIddict 3.1.1
- OpenIddict.AspNetCore 3.1.1
- OpenIddict.EntityFrameworkCore 3.1.1
- Serilog.AspNetCore 5.0.0
- Serilog.Enrichers.ClientInfo 1.1.4
- Serilog.Enrichers.CorrelationId 3.0.1
- Serilog.Enrichers.Environment 2.2.0
- Serilog.Expressions 3.3.0
- Serilog.Sinks.Grafana.Loki 7.1.0
- Serilog.Sinks.Seq 5.1.1
- SharpZipLib 1.3.3
- StreamJsonRpc 2.9.85
- System.IO.Pipelines 6.0.0
- Microsoft.OpenApi.Readers 1.2.3
- Microsoft.AspNetCore.Components.Authorization 6.0.0
- Microsoft.AspNetCore.Components.WebAssembly 6.0.0
- Microsoft.AspNetCore.Components.WebAssembly.DevServer 6.0.0
- SkiaSharp 2.88.0-preview.232
- SkiaSharp.Views.Blazor 2.88.0-preview.232
- Microsoft.Extensions.Logging 6.0.0
- xunit.runner.visualstudio 2.4.3 development
- Microsoft.NET.Test.Sdk 17.0.0
- Moq 4.16.1
- Serilog.AspNetCore 5.0.0
- xunit 2.4.1
- xunit.runner.visualstudio 2.4.3 development
- Microsoft.NET.Test.Sdk 17.0.0
- Moq 4.16.1
- xunit 2.4.1
- xunit.runner.visualstudio 2.4.3 development
- Microsoft.Extensions.Logging.Abstractions 6.0.0
- Microsoft.NET.Test.Sdk 17.0.0
- Moq 4.16.1
- xunit 2.4.1
- httpx >=0.22.0