{"id":20012132,"url":"https://github.com/fslaborg/deedle","last_synced_at":"2026-01-24T10:01:16.334Z","repository":{"id":10669150,"uuid":"12904102","full_name":"fslaborg/Deedle","owner":"fslaborg","description":"Easy to use .NET library for data and time series manipulation and for scientific programming","archived":false,"fork":false,"pushed_at":"2024-07-07T21:30:20.000Z","size":39246,"stargazers_count":976,"open_issues_count":112,"forks_count":193,"subscribers_count":64,"default_branch":"master","last_synced_at":"2026-01-14T08:35:45.449Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://fslab.org/Deedle/","language":"F#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fslaborg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-09-17T18:53:34.000Z","updated_at":"2025-12-28T09:45:16.000Z","dependencies_parsed_at":"2024-12-06T08:42:24.851Z","dependency_job_id":null,"html_url":"https://github.com/fslaborg/Deedle","commit_stats":{"total_commits":914,"total_committers":48,"mean_commits":"19.041666666666668","dds":0.5470459518599562,"last_synced_commit":"93c624efea5583c36718287e6ffff191a860cff4"},"previous_names":["bluemountaincapital/deedle","bluemountaincapital/fsharp.dataframe"],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/fslaborg/Deedle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fslaborg%2FDeedle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fslaborg%2FDeedle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fslaborg%2FDeedle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fslaborg%2FDeedle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fslaborg","download_url":"https://codeload.github.com/fslaborg/Deedle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fslaborg%2FDeedle/sbom","scorecard":{"id":412748,"data":{"date":"2025-08-11","repo":{"name":"github.com/fslaborg/Deedle","commit":"93c624efea5583c36718287e6ffff191a860cff4"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.7,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":2,"reason":"Found 4/15 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":0,"reason":"binaries present in source code","details":["Warn: binary detected: lib/FSharp.Compiler.Interactive.Settings.dll:1","Warn: binary detected: tests/Performance/builds/0.9.12/Deedle.dll:1","Warn: binary detected: tests/Performance/builds/0.9.12/FSharp.Data.DesignTime.dll:1","Warn: binary detected: tests/Performance/builds/0.9.12/FSharp.Data.dll:1","Warn: binary detected: tests/Performance/builds/0.9.12/FsCheck.dll:1","Warn: binary detected: tests/Performance/builds/0.9.12/MathNet.Numerics.dll:1","Warn: binary detected: tests/Performance/builds/0.9.12/nunit.framework.dll:1","Warn: binary detected: tests/Performance/builds/1.0.0/Deedle.dll:1","Warn: binary detected: tests/Performance/builds/1.0.0/FSharp.Data.DesignTime.dll:1","Warn: binary detected: tests/Performance/builds/1.0.0/FSharp.Data.dll:1","Warn: binary detected: tests/Performance/builds/1.0.0/FsCheck.dll:1","Warn: binary detected: tests/Performance/builds/1.0.0/MathNet.Numerics.dll:1","Warn: binary detected: tests/Performance/builds/1.0.0/nunit.framework.dll:1","Warn: binary detected: tests/Performance/builds/1.1.1-beta/Deedle.dll:1","Warn: binary detected: tests/Performance/builds/1.1.1-beta/FsCheck.dll:1","Warn: binary detected: tests/Performance/builds/1.1.1-beta/nunit.framework.dll:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/pull-requests.yml:1","Warn: no topLevel permission defined: .github/workflows/push-master.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: BSD 2-Clause \"Simplified\" License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull-requests.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/fslaborg/Deedle/pull-requests.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pull-requests.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/fslaborg/Deedle/pull-requests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull-requests.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/fslaborg/Deedle/pull-requests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull-requests.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/fslaborg/Deedle/pull-requests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull-requests.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/fslaborg/Deedle/pull-requests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/push-master.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/fslaborg/Deedle/push-master.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/push-master.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/fslaborg/Deedle/push-master.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/push-master.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/fslaborg/Deedle/push-master.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/push-master.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/fslaborg/Deedle/push-master.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/push-master.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/fslaborg/Deedle/push-master.yml/master?enable=pin","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 21 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T23:07:44.999Z","repository_id":10669150,"created_at":"2025-08-18T23:07:44.999Z","updated_at":"2025-08-18T23:07:44.999Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28724374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T08:27:05.734Z","status":"ssl_error","status_checked_at":"2026-01-24T08:27:01.197Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T07:28:51.814Z","updated_at":"2026-01-24T10:01:16.286Z","avatar_url":"https://github.com/fslaborg.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"Deedle \n======\n\u003cimg align=\"right\" src=\"https://github.com/fslaborg/Deedle/raw/master/docs/files/images/logo.png\" alt=\"Deedle\" /\u003e\n\n[![Discord](https://img.shields.io/discord/836161044501889064?color=purple\u0026label=Join%20our%20Discord%21\u0026logo=discord\u0026logoColor=white)](https://discord.gg/tNxJkz9KaA)\n\nDeedle is an easy to use library for data and time series manipulation and for scientific programming. It supports working with structured data frames, ordered and unordered data, as well as time series. Deedle is designed to work well for exploratory programming using F# and C# interactive console, but can be also used in efficient compiled .NET code.\n\nThe library implements a wide range of operations for data manipulation including advanced indexing and slicing, joining and aligning data, handling of missing values, grouping and aggregation, statistics and more.\n\nBuild\n-------------\nInstall .Net SDK 3.0.100 or higher\n\nWindows: Run *fake build*\n\nLinux/Mac: Run *./fake.sh build*\n\n[![Build Status](https://github.com/fslaborg/deedle/actions/workflows/push-master.yml/badge.svg)](https://github.com/fslaborg/Deedle/actions) \n\n[![Deedle Nuget](https://buildstats.info/nuget/Deedle)](https://www.nuget.org/packages/Deedle/) Deedle  \n[![Deedle.Math Nuget](https://buildstats.info/nuget/Deedle.Math)](https://www.nuget.org/packages/Deedle.Math/) Deedle.Math\n\nDocumentation\n-------------\n\nMore information can be found in the [documentation](http://fslab.org/Deedle/).\n\n * [Quick start tutorial](http://fslab.org/Deedle/tutorial.html) shows how to use the most important \n   features of Deedle. Start here for a 10 minute intro!\n * [Data frame features](http://fslab.org/Deedle/frame.html) provides more examples of using data frames including slicing, joining, grouping and aggregation.\n * [Time series features](http://fslab.org/Deedle/series.html) discusses data and time-series manipulation, such as sliding windows, sampling and statistics.\n * [Using Deedle from C#](http://fslab.org/Deedle/csharpintro.html) shows the idiomatic C# API for working with Deedle.\n\nAutomatically generated documentation for all types, modules and functions in the library \nis available in the [API Reference](http://fslab.org/Deedle/reference/index.html):\n\n * [`Series` module](http://fslab.org/Deedle/reference/deedle-seriesmodule.html) for working with data and time-series values\n * [`Frame` module](http://fslab.org/Deedle/reference/deedle-framemodule.html) for data frame manipulation\n * [`Stats` module](http://fslab.org/Deedle/reference/deedle-stats.html) for statistical functions, moving windows and a lot more.\n\nMore functions related to linear algebra, statistical analysis and financial analysis can be found in **Deedle.Math** extension. Deedle.Math has dependency on MathNet.Numerics.\n * [`LinearAlgebra` module](http://fslab.org/Deedle/reference/deedle-math-linearalgebra.html) provides linear algebra functions on frame.\n * [`Matrix` module](http://fslab.org/Deedle/reference/deedle-math-matrix.html) provides matrix multiplication between frame, series, matrix and vector. They are also available via type extensions.\n * [`Stats` module](http://fslab.org/Deedle/reference/deedle-math-stats.html) provides extra statistical functions on frame and series by applying existing functions in MathNet.Numerics.\n * [`Finance` module](http://fslab.org/Deedle/reference/deedle-math-finance.html) provides statistical functions specific to finance domain.  \n\nMaintainers\n-----------\n\n* @AndrewIOM\n* @kMutagene\n* @zyzhu \n\nAll fsprojects and fslaborg projects have @fsprojectsgit as a backup maintainer who can help recruit new maintainers should things go cold.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffslaborg%2Fdeedle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffslaborg%2Fdeedle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffslaborg%2Fdeedle/lists"}