ARCtrl


NameARCtrl JSON
Version 2.3.1 PyPI version JSON
download
home_pagehttps://github.com/nfdi4plants/ARCtrl
SummaryLibrary for management of Annotated Research Contexts (ARCs) using an in-memory representation and runtimer agnostic contract systems.
upload_time2024-12-05 15:19:03
maintainerFlorian Wetzels
docs_urlNone
authorHeinrich Lukas Weil
requires_python<4.0,>=3.10
licenseNone
keywords arc annotated research context isa research data multi platform
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ARCtrl

> **ARCtrl** the easy way to read, manipulate and write ARCs in __.NET__, __JavaScript__ and __Python__! ❤️

| Version | Downloads |
| :--------|-----------:|
|<a href="https://www.nuget.org/packages/ARCtrl/"><img alt="Nuget" src="https://img.shields.io/nuget/v/ARCtrl?logo=nuget&color=%234fb3d9"></a>|<a href="https://www.nuget.org/packages/ARCtrl/"><img alt="Nuget" src="https://img.shields.io/nuget/dt/ARCtrl?color=%234FB3D9"></a>|
|<a href="https://www.npmjs.com/package/@nfdi4plants/arctrl"><img alt="NPM" src="https://img.shields.io/npm/v/%40nfdi4plants/arctrl?logo=npm&color=%234fb3d9"></a>|<a href="https://www.npmjs.com/package/@nfdi4plants/arctrl"><img alt="NPM" src="https://img.shields.io/npm/dt/%40nfdi4plants%2Farctrl?color=%234fb3d9"></a>|
|<a href="https://pypi.org/project/ARCtrl/"><img alt="PyPI" src="https://img.shields.io/pypi/v/arctrl?logo=pypi&color=%234fb3d9"></a>|<a href="https://pypi.org/project/ARCtrl/"><img alt="PyPI" src="https://img.shields.io/pepy/dt/arctrl?color=%234fb3d9"></a>|

## Install

#### .NET

```fsharp
#r "nuget: ARCtrl"
``` 

```bash
<PackageReference Include="ARCtrl" Version="1.1.0" />
```

#### JavaScript

```bash
npm i @nfdi4plants/arctrl
```

#### Python

```bash
pip install arctrl
```

## Docs

Currently we provide some documentation in form of markdown files in the `/docs` folder of this repository!

[Check it out!](/docs)

## Development

#### Requirements

- [nodejs and npm](https://nodejs.org/en/download)
    - verify with `node --version` (Tested with v18.16.1)
    - verify with `npm --version` (Tested with v9.2.0)
- [.NET SDK](https://dotnet.microsoft.com/en-us/download)
    - verify with `dotnet --version` (Tested with 7.0.306)
- [Python](https://www.python.org/downloads/)
    - 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](https://python-poetry.org/) 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` ✨

## 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 |

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/nfdi4plants/ARCtrl",
    "name": "ARCtrl",
    "maintainer": "Florian Wetzels",
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": "arc, annotated research context, isa, research data, multi platform",
    "author": "Heinrich Lukas Weil",
    "author_email": "weil@rptu.de",
    "download_url": "https://files.pythonhosted.org/packages/71/0b/a4eba3946f9bf982018313ac0758aecf6415c3d2b5750ae3c0bb8ef2ae80/arctrl-2.3.1.tar.gz",
    "platform": null,
    "description": "# ARCtrl\n\n> **ARCtrl** the easy way to read, manipulate and write ARCs in __.NET__, __JavaScript__ and __Python__! \u2764\ufe0f\n\n| Version | Downloads |\n| :--------|-----------:|\n|<a href=\"https://www.nuget.org/packages/ARCtrl/\"><img alt=\"Nuget\" src=\"https://img.shields.io/nuget/v/ARCtrl?logo=nuget&color=%234fb3d9\"></a>|<a href=\"https://www.nuget.org/packages/ARCtrl/\"><img alt=\"Nuget\" src=\"https://img.shields.io/nuget/dt/ARCtrl?color=%234FB3D9\"></a>|\n|<a href=\"https://www.npmjs.com/package/@nfdi4plants/arctrl\"><img alt=\"NPM\" src=\"https://img.shields.io/npm/v/%40nfdi4plants/arctrl?logo=npm&color=%234fb3d9\"></a>|<a href=\"https://www.npmjs.com/package/@nfdi4plants/arctrl\"><img alt=\"NPM\" src=\"https://img.shields.io/npm/dt/%40nfdi4plants%2Farctrl?color=%234fb3d9\"></a>|\n|<a href=\"https://pypi.org/project/ARCtrl/\"><img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/arctrl?logo=pypi&color=%234fb3d9\"></a>|<a href=\"https://pypi.org/project/ARCtrl/\"><img alt=\"PyPI\" src=\"https://img.shields.io/pepy/dt/arctrl?color=%234fb3d9\"></a>|\n\n## Install\n\n#### .NET\n\n```fsharp\n#r \"nuget: ARCtrl\"\n``` \n\n```bash\n<PackageReference Include=\"ARCtrl\" Version=\"1.1.0\" />\n```\n\n#### JavaScript\n\n```bash\nnpm i @nfdi4plants/arctrl\n```\n\n#### Python\n\n```bash\npip install arctrl\n```\n\n## Docs\n\nCurrently we provide some documentation in form of markdown files in the `/docs` folder of this repository!\n\n[Check it out!](/docs)\n\n## Development\n\n#### Requirements\n\n- [nodejs and npm](https://nodejs.org/en/download)\n    - verify with `node --version` (Tested with v18.16.1)\n    - verify with `npm --version` (Tested with v9.2.0)\n- [.NET SDK](https://dotnet.microsoft.com/en-us/download)\n    - verify with `dotnet --version` (Tested with 7.0.306)\n- [Python](https://www.python.org/downloads/)\n    - verify with `py --version` (Tested with 3.12.2, known to work only for >=3.11)\n\n#### Local Setup\n\nOn windows you can use the `setup.cmd` to run the following steps automatically!\n\n1. Setup dotnet tools\n\n   `dotnet tool restore`\n\n\n2. Install NPM dependencies\n   \n    `npm install`\n\n3. Setup python environment\n    \n    `py -m venv .venv`\n\n4. Install [Poetry](https://python-poetry.org/) and dependencies\n\n   1. `.\\.venv\\Scripts\\python.exe -m pip install -U pip setuptools`\n   2. `.\\.venv\\Scripts\\python.exe -m pip install poetry`\n   3. `.\\.venv\\Scripts\\python.exe -m poetry install --no-root`\n\nVerify correct setup with `./build.cmd runtests` \u2728\n\n## Performance\n\nMeasured on 13th Gen Intel(R) Core(TM) i7-13800H\n\n| Name | Description | FSharp Time (ms) | JavaScript Time (ms) | Python Time (ms) |\n| --- | --- | --- | --- | --- |\n| Table_GetHashCode | From a table with 1 column and 10000 rows, retrieve the Hash Code |  5 | 21 | 226 |\n| Table_AddRows | Add 10000 rows to a table with 4 columns. |  15 | 22 | 289 |\n| 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 |\n| Table_ToJson | Serialize a table with 5 columns and 10000 rows to json. |  1099 | 481 | 6833 |\n| Table_ToCompressedJson | Serialize a table with 5 columns and 10000 rows to compressed json. |  261 |  2266 | 717334 |\n| Assay_toJson | Parse an assay with one table with 10000 rows and 6 columns to json |  915 | 2459 | 28799 |\n| Study_FromWorkbook | Parse a workbook with one study with 10000 rows and 6 columns to an ArcStudy |  97 | 87 | 1249 |\n| Investigation_ToWorkbook_ManyStudies | Parse an investigation with 1500 studies to a workbook |  621 | 379 | 9974 |\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Library for management of Annotated Research Contexts (ARCs) using an in-memory representation and runtimer agnostic contract systems.",
    "version": "2.3.1",
    "project_urls": {
        "Homepage": "https://github.com/nfdi4plants/ARCtrl",
        "Repository": "https://github.com/nfdi4plants/ARCtrl"
    },
    "split_keywords": [
        "arc",
        " annotated research context",
        " isa",
        " research data",
        " multi platform"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5f0574bb92e6de4817a4804bb05b7812d3d74d50a3a26abca5cc6601ac902c71",
                "md5": "cd049e9dc8976c3e539086518861028c",
                "sha256": "a201ba62c8337faf92982a16cb825dc52de96d53b6ac363feae1035c77c29c35"
            },
            "downloads": -1,
            "filename": "arctrl-2.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cd049e9dc8976c3e539086518861028c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 768441,
            "upload_time": "2024-12-05T15:19:00",
            "upload_time_iso_8601": "2024-12-05T15:19:00.894644Z",
            "url": "https://files.pythonhosted.org/packages/5f/05/74bb92e6de4817a4804bb05b7812d3d74d50a3a26abca5cc6601ac902c71/arctrl-2.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "710ba4eba3946f9bf982018313ac0758aecf6415c3d2b5750ae3c0bb8ef2ae80",
                "md5": "a1126a93dc344eee7acd481f4009533b",
                "sha256": "80cf52bb0e6754d22cf8326459a43a6867781922845fb088e9577af4ef97a193"
            },
            "downloads": -1,
            "filename": "arctrl-2.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "a1126a93dc344eee7acd481f4009533b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 506591,
            "upload_time": "2024-12-05T15:19:03",
            "upload_time_iso_8601": "2024-12-05T15:19:03.516308Z",
            "url": "https://files.pythonhosted.org/packages/71/0b/a4eba3946f9bf982018313ac0758aecf6415c3d2b5750ae3c0bb8ef2ae80/arctrl-2.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-05 15:19:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nfdi4plants",
    "github_project": "ARCtrl",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "arctrl"
}
        
Elapsed time: 0.86853s