# OuterRail
An SDK for AI on Demand RAIL platform.
[](https://badge.fury.io/py/OuterRail)
[](https://pypi.org/project/OuterRail/)
[](https://pepy.tech/project/OuterRail)
[](https://opensource.org/licenses/MIT)
## What is RAIL
RAIL stands for: __Research and Innovation AI Lab__
RAIL is a tool that allows AI practitioners to explore and use AI assets
directly in the AI on Demand platform (AIoD). RAIL is developed within the
[AI4Europe project](https://www.ai4europe.eu) as one of the core services
of the [AI on Demand platform](https://aiod.eu).
## OuterRail organization
SDK provides two types of interfaces:
- __Instances__ - are classes that provide a way to work with individual instances of different parts of RAIL, e. g. individual templates, experiments, runs, datasets
- __Managers__ - contain operations that function on multiple instances, such as querying, counting,...
Special case that is also handled by managers is creation of new Instances.
## Installation
### Requirements
Python 3.11+
### pip install
The OuterRail package can simply be installed with pip via command:
```sh
pip install OuterRail
```
### Manual installation with wheel
## Usage
### Importing the package
You can import the SDK with:
```python
import OuterRail
```
## In code setup
### Importing the package
You can the entire SDK with:
```python
import OuterRail
```
Alternatively, you can import only needed parts with:
```python
from OuterRail import what_you_need
```
### Config and Logging in
For the SDK to work with underlying RAIL backend, you need to
specify the URL of the RAIL service. Additionally, most of the functionality
requires authentication, and therefore you need to be logged in to use this functionality. <br>
Logging in will require entering a device code on the provided URL, where afterwards you will be log in to the service
and give consent to resources needed by the SDK.
The code for this would look something like:
```python
import os
from OuterRail import Configuration
config = Configuration(host="https://rail.aiod.eu/api") # 1. Specify URL
config.login() # 2. Blocking function until log in or timeout
# ... your logic here ...
config.logout() # 3. After your code, logout
```
### Examples
For more examples, you can check out the following sources:
- [RAIL](https://rail.aiod.eu) - with example code for using the SDK
- [Official documentation](https://aiondemand.github.io/aiod-rail/)
- Docstrings in the SDK itself
## Author
This SDK was created at [KInIT](https://kinit.sk) by Jozef Barut.
            
         
        Raw data
        
            {
    "_id": null,
    "home_page": null,
    "name": "OuterRail",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "SDK, AIoD, RAIL, Machine Learning, ML Experiments",
    "author": null,
    "author_email": "Jozef Barut <jozef.barut@intern.kinit.sk>",
    "download_url": "https://files.pythonhosted.org/packages/7a/42/73d5b9e68e07f922397d9b30915f78bcfa8e00caaecaa79233c6500a1e3a/outerrail-1.2.4.tar.gz",
    "platform": null,
    "description": "# OuterRail\n\nAn SDK for AI on Demand RAIL platform.\n\n[](https://badge.fury.io/py/OuterRail)\n[](https://pypi.org/project/OuterRail/)\n[](https://pepy.tech/project/OuterRail)\n[](https://opensource.org/licenses/MIT)\n\n## What is RAIL\n\nRAIL stands for: __Research and Innovation AI Lab__\n\nRAIL is a tool that allows AI practitioners to explore and use AI assets\ndirectly in the AI on Demand platform (AIoD). RAIL is developed within the\n[AI4Europe project](https://www.ai4europe.eu) as one of the core services\nof the [AI on Demand platform](https://aiod.eu).\n\n## OuterRail organization\n\nSDK provides two types of interfaces:\n\n- __Instances__ - are classes that provide a way to work with individual instances of different parts of RAIL, e. g. individual templates, experiments, runs, datasets\n- __Managers__ - contain operations that function on multiple instances, such as querying, counting,...\nSpecial case that is also handled by managers is creation of new Instances.\n\n## Installation\n\n### Requirements\nPython 3.11+\n\n### pip install\nThe OuterRail package can simply be installed with pip via command:\n```sh\npip install OuterRail\n```\n### Manual installation with wheel\n\n## Usage\n\n### Importing the package\n\nYou can import the SDK with:\n```python\nimport OuterRail\n```\n\n## In code setup\n\n### Importing the package\nYou can the entire SDK with:\n\n```python\nimport OuterRail\n```\n\nAlternatively, you can import only needed parts with:\n\n```python\nfrom OuterRail import what_you_need\n```\n\n### Config and Logging in\n\nFor the SDK to work with underlying RAIL backend, you need to\nspecify the URL of the RAIL service. Additionally, most of the functionality\nrequires authentication, and therefore you need to be logged in to use this functionality. <br>\nLogging in will require entering a device code on the provided URL, where afterwards you will be log in to the service\nand give consent to resources needed by the SDK.\n\nThe code for this would look something like:\n\n```python\nimport os\nfrom OuterRail import Configuration\n\nconfig = Configuration(host=\"https://rail.aiod.eu/api\") # 1. Specify URL\nconfig.login() # 2. Blocking function until log in or timeout\n# ... your logic here ...\nconfig.logout() # 3. After your code, logout\n```\n\n### Examples\nFor more examples, you can check out the following sources:\n- [RAIL](https://rail.aiod.eu) - with example code for using the SDK\n- [Official documentation](https://aiondemand.github.io/aiod-rail/)\n- Docstrings in the SDK itself\n\n## Author\n\nThis SDK was created at [KInIT](https://kinit.sk) by Jozef Barut.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "AIoD - RAIL. SDK for the RAIL service of the AI on Demand platform.",
    "version": "1.2.4",
    "project_urls": {
        "RAIL-platform": "https://rail.aiod.i3a.es/docs/about>",
        "aIoD-platform": "https://www.ai4europe.eu",
        "issues": "https://github.com/aiondemand/aiod-rail/issues",
        "repository": "https://github.com/aiondemand/aiod-rail/tree/feature/outer-sdk/sdk-py"
    },
    "split_keywords": [
        "sdk",
        " aiod",
        " rail",
        " machine learning",
        " ml experiments"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "64673d119f46709d26b3a0349d553cd9c9a1f2fb798385eaace962b7d8b1d810",
                "md5": "da4ba98126cb25830d903d2aa70f2156",
                "sha256": "a650310ac8022d74a6a5f4737de9119de577fa8286cc751e335fe1a309e61602"
            },
            "downloads": -1,
            "filename": "outerrail-1.2.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "da4ba98126cb25830d903d2aa70f2156",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 75584,
            "upload_time": "2025-10-27T13:11:38",
            "upload_time_iso_8601": "2025-10-27T13:11:38.496346Z",
            "url": "https://files.pythonhosted.org/packages/64/67/3d119f46709d26b3a0349d553cd9c9a1f2fb798385eaace962b7d8b1d810/outerrail-1.2.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7a4273d5b9e68e07f922397d9b30915f78bcfa8e00caaecaa79233c6500a1e3a",
                "md5": "0d06e4a8823392e41b31f45257f8fc58",
                "sha256": "fe8c58573cb97fcc56f7893f7648e9dfcce34c8f71888d7aec4a73a71d451417"
            },
            "downloads": -1,
            "filename": "outerrail-1.2.4.tar.gz",
            "has_sig": false,
            "md5_digest": "0d06e4a8823392e41b31f45257f8fc58",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 46908,
            "upload_time": "2025-10-27T13:11:39",
            "upload_time_iso_8601": "2025-10-27T13:11:39.867993Z",
            "url": "https://files.pythonhosted.org/packages/7a/42/73d5b9e68e07f922397d9b30915f78bcfa8e00caaecaa79233c6500a1e3a/outerrail-1.2.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-27 13:11:39",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "aiondemand",
    "github_project": "aiod-rail",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "outerrail"
}