Skip to content
forked from nfdi4plants/ARCtrl

Library for management of Annotated Research Contexts (ARCs) using an in-memory representation and runtime-agnostic contract systems.

License

Notifications You must be signed in to change notification settings

olscholz/ARCtrl

This branch is 82 commits behind nfdi4plants/ARCtrl:main.

Folders and files

NameName
Last commit message
Last commit date
Dec 3, 2024
Oct 14, 2024
Dec 5, 2024
Jun 27, 2024
Dec 18, 2024
Jan 22, 2025
Jan 22, 2025
Jul 8, 2024
Mar 21, 2024
Nov 21, 2024
Nov 28, 2024
Oct 21, 2024
Nov 29, 2024
Jan 11, 2021
Dec 18, 2024
Dec 5, 2024
Sep 4, 2024
Oct 30, 2023
Jul 8, 2024
Nov 25, 2024
Nov 25, 2024
Nov 29, 2024
Dec 5, 2024
Apr 4, 2024

Repository files navigation

logo

ARCtrl

ARCtrl the easy way to read, manipulate and write ARCs in .NET, JavaScript and Python! ❤️

Version Downloads
Nuget Nuget
NPM NPM
PyPI PyPI

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!

Check it out!

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

  2. Install NPM dependencies

    npm install

  3. Setup python environment

    py -m venv .venv

  4. Install Poetry and dependencies

    1. .\.venv\Scripts\python.exe -m pip install -U pip setuptools
    2. .\.venv\Scripts\python.exe -m pip install poetry
    3. .\.venv\Scripts\python.exe -m poetry install --no-root

Verify correct setup with ./build.cmd runtests

Branding

Feel free to reference ARCtrl on slides or elsewhere using our logos:

Square Horizontal Vertical
square horizontal vertical

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

About

Library for management of Annotated Research Contexts (ARCs) using an in-memory representation and runtime-agnostic contract systems.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • F# 99.0%
  • JavaScript 0.8%
  • Python 0.1%
  • Vue 0.1%
  • HTML 0.0%
  • Batchfile 0.0%