https://github.com/fslaborg/project-template
A dotnet new template for creating streamlined datascience packages
https://github.com/fslaborg/project-template
Last synced: 5 months ago
JSON representation
A dotnet new template for creating streamlined datascience packages
- Host: GitHub
- URL: https://github.com/fslaborg/project-template
- Owner: fslaborg
- License: mit
- Created: 2021-08-03T06:48:45.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-08-03T08:11:56.000Z (almost 5 years ago)
- Last Synced: 2025-10-27T23:54:34.737Z (8 months ago)
- Size: 9.77 KB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# The FsLab project template
A dotnet new template for creating streamlined datascience packages
The aim of this template is to provide a standardized way on how to package F# data science libraries that build on top of the FsLab toolbox.
The type of library this template is designed for typically does the following:
1. Reading data from the user input via [Deedle]() as a data frame. There might be preprocessing/mandatory formatting of the input.
2. Performing the transformations or analysis pipelines the library is designed for:
- If you are for example publishing a new method with this template, write your functions so that they can work with data frame inputs.
- You can either use projects from the FsLab toolbox where adequate or go your own way completely (which might be necessary to make your method work).
3. Return a `Result` type. This central result type is then used in your library for everything after applying the transformations and/or analysis pipelines.
4. Provide functions to write and read `Result` to/from disk
5. Provide functions to visualize `Result` using Plotly.NET
6. Provide documentation using the [fslab documentation template]()
In a more abstract way, here is what a library using this template should be designed to do:

## Library Scope
This template is mostly thought for 'single-purpose' data analysis libraries, e.g. to create a software package to accompany the paper about a method you just published. However, the concept of `IO` -> `Analysis` -> `Result` -> `Visualize/Write` should be pretty expandable to your needs.