Skip to main content

logo

ARCtrl

DOI

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

Documentation can be found here

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

Windows

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 uv and dependencies

    1. .\.venv\Scripts\python.exe -m pip install -U pip setuptools
    2. .\.venv\Scripts\python.exe -m pip install uv
    3. .\.venv\Scripts\python.exe -m uv pip install -r pyproject.toml --group dev

Verify correct setup with ./build.cmd runtests

Linux / macOS

On unix you can use the setup.sh to run the following steps automatically!

  1. Setup dotnet tools

    dotnet tool restore

  2. Install NPM dependencies

    npm install

  3. Setup python environment

    python -m venv .venv

  4. Install uv and dependencies

    1. .venv/bin/python -m pip install -U pip setuptools
    2. .venv/bin/python -m pip install uv
    3. .venv/bin/python -m uv pip install -r pyproject.toml --group dev

Verify correct setup with bash build.sh 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 0 ± 0 0 ± 1 91 ± 12
Table_AddDistinctRows Add 10000 distinct rows to a table with 4 columns. 13 ± 2 14 ± 4 119 ± 12
Table_AddIdenticalRows Add 10000 identical rows to a table with 4 columns. 6 ± 2 6 ± 1 104 ± 6
Table_AddColumnsWithDistinctValues Add 4 columns with 10000 distinct values each. 8 ± 3 10 ± 1 53 ± 1
Table_AddColumnsWithIdenticalValues Add 4 columns with 10000 identical values each. 5 ± 1 4 ± 0 47 ± 1
Table_fillMissingCells For a table 6 columns and 20000 rows, where each row has one missing value, fill those values with default values. 0 ± 0 2 ± 1 6 ± 4
Table_ToJson Serialize a table with 5 columns and 10000 rows to json, with 3 fixed and 2 variable columns. 227 ± 64 68 ± 18 7851 ± 1411
Table_ToCompressedJson Serialize a table with 5 columns and 10000 rows to compressed json, with 3 fixed and 2 variable columns. 147 ± 15 2878 ± 135 6303 ± 1798
Assay_toJson Parse an assay with one table with 10000 rows and 6 columns to json, with 3 fixed and 3 variable columns. 330 ± 36 88 ± 9 12644 ± 550
Assay_fromJson Parse an assay with one table with 10000 rows and 6 columns from json, with 3 fixed and 3 variable columns. 355 ± 66 61 ± 6 6499 ± 1068
Assay_toISAJson Parse an assay with one table with 10000 rows and 6 columns to json, with 3 fixed and 3 variable columns 487 ± 36 959 ± 36 15618 ± 482
Assay_fromISAJson Parse an assay with one table with 10000 rows and 6 columns from json, with 3 fixed and 3 variable columns 359 ± 29 706 ± 46 9587 ± 621
Study_FromWorkbook Parse a workbook with one study with 10000 rows and 6 columns to an ArcStudy 29 ± 14 62 ± 5 818 ± 36
Investigation_ToWorkbook_ManyStudies Parse an investigation with 1500 studies to a workbook 240 ± 31 284 ± 24 3657 ± 199
Investigation_FromWorkbook_ManyStudies Parse a workbook with 1500 studies to an ArcInvestigation 127 ± 20 498 ± 21 9469 ± 412
ARC_ToROCrate Parse an ARC with one assay with 10000 rows and 6 columns to a RO-Crate metadata file. 1431 ± 99 3526 ± 264 61224 ± 728

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arctrl-3.2.1.tar.gz (646.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arctrl-3.2.1-py3-none-any.whl (936.0 kB view details)

Uploaded Python 3

File details

Details for the file arctrl-3.2.1.tar.gz.

File metadata

  • Download URL: arctrl-3.2.1.tar.gz
  • Upload date:
  • Size: 646.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for arctrl-3.2.1.tar.gz
Algorithm Hash digest
SHA256 4384f726bf2c2fbbe5e02055d134af0b790edef8c788d91d4a69a382b468f7ca
MD5 209d93ec4358217b710a4c8f4a72e185
BLAKE2b-256 0d43be0d39e94bcd586c8deeeeba9a886a5613f01c92560fc84d9aad3e873dd8

See more details on using hashes here.

File details

Details for the file arctrl-3.2.1-py3-none-any.whl.

File metadata

  • Download URL: arctrl-3.2.1-py3-none-any.whl
  • Upload date:
  • Size: 936.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for arctrl-3.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 76e38ee7f6ca715b7ad98b714381b1c2cb66ad3e0005b97dda9b9f144a4eaca8
MD5 fc255e0953e6dddce2758072a9fc710a
BLAKE2b-256 5257a8f0ef31c7dc6d3721e08a5e4b387c4f0eb817dbe2efbcf09bc67ed38623

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

3.2.1 This release

2 files

3.2.0

2 files

3.1.1

2 files

3.1.0

2 files

3.0.5

2 files

3.0.4

1 file

3.0.3

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.5.1

2 files

2.5.0

2 files

2.4.0

2 files

2.3.1

2 files

2.3.0

2 files

2.2.4

2 files

2.2.3

2 files

2.2.2

2 files

2.2.1

2 files

2.2.0

2 files

2.0.1

2 files

2.0.0

2 files

1.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page