@nfdi4plants/arctrl
v2.2.4
Published
Top level ARC DataModel and API function descriptions.
Downloads
348
Keywords
Readme
ARCtrl
ARCtrl the easy way to read, manipulate and write ARCs in .NET, JavaScript and Python! ❤️
| Version | Downloads | | :--------|-----------:| ||| ||| |||
Install
.NET
#r "nuget: ARCtrl"
<PackageReference Include="ARCtrl" Version="1.1.0" />
JavaScript
npm i @nfdi4plants/arctrl
Python
pip install arctrl
Docs
Currently we provide some documentation in form of markdown files in the /docs
folder of this repository!
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 install
Setup python environment
py -m venv .venv
Install Poetry and dependencies
.\.venv\Scripts\python.exe -m pip install -U pip setuptools
.\.venv\Scripts\python.exe -m pip install poetry
.\.venv\Scripts\python.exe -m poetry install --no-root
Verify correct setup with ./build.cmd runtests
✨
Performance
Measured on 13th Gen Intel(R) Core(TM) i7-13800H
| Name | Description | FSharp Time (ms) | JavaScript Time (ms) | Python Time (ms) | | --- | --- | --- | --- | --- | | Table_GetHashCode | From a table with 1 column and 10000 rows, retrieve the Hash Code | 5 | 21 | 226 | | Table_AddRows | Add 10000 rows to a table with 4 columns. | 15 | 22 | 289 | | Table_fillMissingCells | For a table 6 columns and 20000 rows, where each row has one missing value, fill those values with default values. | 49 | 108 | 4813 | | Table_ToJson | Serialize a table with 5 columns and 10000 rows to json. | 1099 | 481 | 6833 | | Table_ToCompressedJson | Serialize a table with 5 columns and 10000 rows to compressed json. | 261 | 2266 | 717334 | | Assay_toJson | Parse an assay with one table with 10000 rows and 6 columns to json | 915 | 2459 | 28799 | | Study_FromWorkbook | Parse a workbook with one study with 10000 rows and 6 columns to an ArcStudy | 97 | 87 | 1249 | | Investigation_ToWorkbook_ManyStudies | Parse an investigation with 1500 studies to a workbook | 621 | 379 | 9974 |