https://github.com/csbiology/dynamicobj
F# library supporting Dynamic Objects including inheritance in functional style
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
Repository
F# library supporting Dynamic Objects including inheritance in functional style
Basic Info
- Host: GitHub
- Owner: CSBiology
- License: mit
- Language: F#
- Default Branch: main
- Homepage: https://csbiology.github.io/DynamicObj/
- Size: 693 KB
Statistics
- Stars: 16
- Watchers: 2
- Forks: 4
- Open Issues: 8
- Releases: 7
Metadata Files
README.md
DynamicObj
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)
- verify with
- .NET SDK
- verify with
dotnet --version(Tested with 7.0.306)
- verify with
- Python
- verify with
py --version(Tested with 3.12.2, known to work only for >=3.11)
- verify with
Local Setup
On windows you can use the setup.cmd to run the following steps automatically!
- Setup dotnet tools
dotnet tool restore
Install NPM dependencies
npm installSetup 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
Top Committers
| Name | 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
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.
- Homepage: https://csbiology.github.io/DynamicObj/
- License: MIT
-
Latest release: 7.0.1
published over 1 year ago
Rankings
nuget.org: dynamicobj.immutable
F# library supporting Dynamic Objects including inheritance in functional style.
- Homepage: https://csbiology.github.io/DynamicObj/
- License: MIT
-
Latest release: 7.0.1
published over 1 year ago