https://github.com/csbiology/dynamicobj

F# library supporting Dynamic Objects including inheritance in functional style

https://github.com/csbiology/dynamicobj

Science Score: 36.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
  • Committers with academic emails
    1 of 6 committers (16.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.6%) to scientific vocabulary

Keywords from Contributors

dotnet-core fsharp graph-library plotly plotlyjs
Last synced: 10 months ago · JSON representation

Repository

F# library supporting Dynamic Objects including inheritance in functional style

Basic Info
Statistics
  • Stars: 16
  • Watchers: 2
  • Forks: 4
  • Open Issues: 8
  • Releases: 7
Created over 5 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

DynamicObj

Build and test

F# library supporting Dynamic Objects including inheritance in functional style.

The library is compatible with Fable, allowing transpilation to javascript and python.

The primary use case of DynamicObj is the extension of F# classes with dynamic properties. This is useful when you want to add arbitrarily typed properties to a class at runtime.

Why would you want to do that?

Yes, The type system is one of the core strengths of F#, and it is awesome. However, there are cases where a static domain model is either unfeasible or not flexible enough, especially when interfacing with dynamic languages such as JavaScript or Python.

DynamicObj is transpilable into JS and Python via Fable, meaning you can use it to create classes that are usable in both .NET and those languages, while making their usage (e.g., the setting of dynamic properties) both safe in .NET and idiomatic in JS/Python.

Docs

Documentation is hosted at https://csbiology.github.io/DynamicObj/

Development

Requirements

  • nodejs and npm
    • verify with node --version (Tested with v18.16.1)
    • verify with npm --version (Tested with v9.2.0)
  • .NET SDK
    • verify with dotnet --version (Tested with 7.0.306)
  • Python
    • verify with py --version (Tested with 3.12.2, known to work only for >=3.11)

Local Setup

On windows you can use the setup.cmd to run the following steps automatically!

  1. Setup dotnet tools

dotnet tool restore

  1. Install NPM dependencies

    npm install

  2. Setup python environment

    py -m venv .venv

Verify correct setup with ./build.cmd runtests

GitHub Events

Total
  • Create event: 9
  • Release event: 3
  • Issues event: 13
  • Issue comment event: 33
  • Push event: 36
  • Pull request review event: 8
  • Pull request review comment event: 4
  • Pull request event: 11
Last Year
  • Create event: 9
  • Release event: 3
  • Issues event: 13
  • Issue comment event: 33
  • Push event: 36
  • Pull request review event: 8
  • Pull request review comment event: 4
  • Pull request event: 11

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 147
  • Total Committers: 6
  • Avg Commits per committer: 24.5
  • Development Distribution Score (DDS): 0.524
Past Year
  • Commits: 82
  • Committers: 2
  • Avg Commits per committer: 41.0
  • Development Distribution Score (DDS): 0.488
Top Committers
Name Email Commits
Kevin Schneider s****v@o****e 70
HLWeil h****l@t****e 42
WhiteBlackGoose w****g@a****g 24
Timo Mühlhaus m****s@b****e 8
Kevin F F****r@g****e 2
David Zimmer d****1@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 28
  • Total pull requests: 27
  • Average time to close issues: 7 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 6
  • Total pull request authors: 5
  • Average comments per issue: 1.36
  • Average comments per pull request: 0.85
  • Merged pull requests: 23
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 14
  • Pull requests: 13
  • Average time to close issues: 25 days
  • Average time to close pull requests: 4 days
  • Issue authors: 3
  • Pull request authors: 2
  • Average comments per issue: 0.79
  • Average comments per pull request: 0.38
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • kMutagene (16)
  • HLWeil (6)
  • Freymaurer (3)
  • caroott (1)
  • JakeRadMSFT (1)
  • WhiteBlackGoose (1)
Pull Request Authors
  • HLWeil (17)
  • kMutagene (12)
  • WhiteBlackGoose (6)
  • Freymaurer (3)
  • ZimmerD (1)
Top Labels
Issue Labels
Status: Needs Triage (3) Type: Feature Request (2) enhancement (1) Type: Bug (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • nuget 685,627 total
  • Total dependent packages: 6
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 22
  • Total maintainers: 4
nuget.org: dynamicobj

F# library supporting Dynamic Objects including inheritance in functional style. Compatible with Fable javascript and python transpilation.

  • Versions: 19
  • Dependent Packages: 6
  • Dependent Repositories: 0
  • Downloads: 685,269 Total
Rankings
Downloads: 3.0%
Average: 9.0%
Dependent repos count: 10.2%
Dependent packages count: 13.9%
Maintainers (3)
Last synced: 10 months ago
nuget.org: dynamicobj.immutable

F# library supporting Dynamic Objects including inheritance in functional style.

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 358 Total
Rankings
Dependent repos count: 7.4%
Dependent packages count: 20.0%
Average: 28.3%
Downloads: 57.5%
Maintainers (1)
Last synced: 11 months ago