robocorp-action-server


Namerobocorp-action-server JSON
Version 0.4.1 PyPI version JSON
download
home_pagehttps://github.com/robocorp/robocorp/
SummaryRobocorp local task server
upload_time2024-04-17 18:23:26
maintainerNone
docs_urlNone
authorFabio Z.
requires_python<4.0,>=3.10
licenseApache-2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # robocorp-action-server

[Robocorp Action Server](https://github.com/robocorp/robocorp#readme) is a Python framework designed to simplify the deployment of actions (AI or otherwise).

An `action` in this case is defined as a Python function (which has inputs/outputs defined), which is served by the `Robocorp Action Server`.

The `Robocorp Action Server` automatically generates an OpenAPI spec for your Python code, enabling different AI/LLM Agents to understand and call your Action. It also manages the Action lifecycle and provides full traceability of what happened during runs.

## 1. Install Action Server

Action Server is available as a stand-alone fully signed executable and via `pip install robocorp-action-server`.
> We recommend the executable to prevent confusion in case you have multiple/crowded Python environments, etc.

#### For macOS

```sh
# Install Robocorp Action Server
brew update
brew install robocorp/tools/action-server 
```

#### For Windows

```sh
# Download Robocorp Action Server
curl -o action-server.exe https://downloads.robocorp.com/action-server/releases/latest/windows64/action-server.exe

# Add to PATH or move to a folder that is in PATH
setx PATH=%PATH%;%CD%
```

#### For Linux

```sh
# Download Robocorp Action Server
curl -o action-server https://downloads.robocorp.com/action-server/releases/latest/linux64/action-server
chmod a+x action-server

# Add to PATH or move to a folder that is in PATH
sudo mv action-server /usr/local/bin/
```

## 2. Run your first Action

```sh
# Bootstrap a new project using this template.
# You'll be prompted for the name of the project (directory):
action-server new

# Start Action Server 
cd my-project
action-server start --expose
```

👉 You should now have an Action Server running locally at: [http://localhost:8080](http://localhost:8080), so open that in your browser and the web UI will guide you further.

👉 Using the `--expose` -flag, you also get a public internet-facing URL (something like "https://twently-cuddly-dinosaurs.robocorp.link") and the related token. These are the details that you need to configure your AI Agent to have access to your Action

## What do you need in your Action Package

An `Action Package` is currently defined as a local folder that contains at least one Python file containing an action entry point (a Python function marked with `@action` -decorator from `robocorp.actions`).

The `package.yaml` file is required for specifying the Python environment and dependencies for your Action ([RCC](https://github.com/robocorp/rcc/) will be used to automatically bootstrap it and keep it updated given the `package.yaml` contents).

> Note: the `package.yaml` is optional if the action server is not being used as a standalone (i.e.: if it was pip-installed it can use the same python environment where it's installed).

### Bootstrapping a new Action

Start new projects with:

`action-server new`

Note: the `action-server` executable should be automatically added to your python installation after `pip install robocorp-action-server`, but if for some reason it wasn't pip-installed, it's also possible to use `python -m robocorp.action_server` instead of `action-server`.

After creating the project, it's possible to serve the actions under the current directory with:

`action-server start`

For example: When running `action-server start`, the action server will scan for existing actions under the current directory, and it'll start serving those.

After it's started, it's possible to access the following URLs:

- `/index.html`: UI for the Action Server.
- `/openapi.json`: Provides the openapi spec for the action server.
- `/docs`: Provides access to the APIs available in the server and a UI to test it.

## Documentation

Explore our [docs](https://github.com/robocorp/robocorp/tree/master/action_server/docs) for extensive documentation.

## Changelog

A list of releases and corresponding changes can be found in the [changelog](https://github.com/robocorp/robocorp/blob/master/action_server/docs/CHANGELOG.md).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/robocorp/robocorp/",
    "name": "robocorp-action-server",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Fabio Z.",
    "author_email": "fabio@robocorp.com",
    "download_url": "https://files.pythonhosted.org/packages/11/56/e68f149ef7723dc54b73c05f8186c5b604bbe69c2ddd5c4f1f2fe75df12a/robocorp_action_server-0.4.1.tar.gz",
    "platform": null,
    "description": "# robocorp-action-server\n\n[Robocorp Action Server](https://github.com/robocorp/robocorp#readme) is a Python framework designed to simplify the deployment of actions (AI or otherwise).\n\nAn `action` in this case is defined as a Python function (which has inputs/outputs defined), which is served by the `Robocorp Action Server`.\n\nThe `Robocorp Action Server` automatically generates an OpenAPI spec for your Python code, enabling different AI/LLM Agents to understand and call your Action. It also manages the Action lifecycle and provides full traceability of what happened during runs.\n\n## 1. Install Action Server\n\nAction Server is available as a stand-alone fully signed executable and via `pip install robocorp-action-server`.\n> We recommend the executable to prevent confusion in case you have multiple/crowded Python environments, etc.\n\n#### For macOS\n\n```sh\n# Install Robocorp Action Server\nbrew update\nbrew install robocorp/tools/action-server \n```\n\n#### For Windows\n\n```sh\n# Download Robocorp Action Server\ncurl -o action-server.exe https://downloads.robocorp.com/action-server/releases/latest/windows64/action-server.exe\n\n# Add to PATH or move to a folder that is in PATH\nsetx PATH=%PATH%;%CD%\n```\n\n#### For Linux\n\n```sh\n# Download Robocorp Action Server\ncurl -o action-server https://downloads.robocorp.com/action-server/releases/latest/linux64/action-server\nchmod a+x action-server\n\n# Add to PATH or move to a folder that is in PATH\nsudo mv action-server /usr/local/bin/\n```\n\n## 2. Run your first Action\n\n```sh\n# Bootstrap a new project using this template.\n# You'll be prompted for the name of the project (directory):\naction-server new\n\n# Start Action Server \ncd my-project\naction-server start --expose\n```\n\n\ud83d\udc49 You should now have an Action Server running locally at: [http://localhost:8080](http://localhost:8080), so open that in your browser and the web UI will guide you further.\n\n\ud83d\udc49 Using the `--expose` -flag, you also get a public internet-facing URL (something like \"https://twently-cuddly-dinosaurs.robocorp.link\") and the related token. These are the details that you need to configure your AI Agent to have access to your Action\n\n## What do you need in your Action Package\n\nAn `Action Package` is currently defined as a local folder that contains at least one Python file containing an action entry point (a Python function marked with `@action` -decorator from `robocorp.actions`).\n\nThe `package.yaml` file is required for specifying the Python environment and dependencies for your Action ([RCC](https://github.com/robocorp/rcc/) will be used to automatically bootstrap it and keep it updated given the `package.yaml` contents).\n\n> Note: the `package.yaml` is optional if the action server is not being used as a standalone (i.e.: if it was pip-installed it can use the same python environment where it's installed).\n\n### Bootstrapping a new Action\n\nStart new projects with:\n\n`action-server new`\n\nNote: the `action-server` executable should be automatically added to your python installation after `pip install robocorp-action-server`, but if for some reason it wasn't pip-installed, it's also possible to use `python -m robocorp.action_server` instead of `action-server`.\n\nAfter creating the project, it's possible to serve the actions under the current directory with:\n\n`action-server start`\n\nFor example: When running `action-server start`, the action server will scan for existing actions under the current directory, and it'll start serving those.\n\nAfter it's started, it's possible to access the following URLs:\n\n- `/index.html`: UI for the Action Server.\n- `/openapi.json`: Provides the openapi spec for the action server.\n- `/docs`: Provides access to the APIs available in the server and a UI to test it.\n\n## Documentation\n\nExplore our [docs](https://github.com/robocorp/robocorp/tree/master/action_server/docs) for extensive documentation.\n\n## Changelog\n\nA list of releases and corresponding changes can be found in the [changelog](https://github.com/robocorp/robocorp/blob/master/action_server/docs/CHANGELOG.md).\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Robocorp local task server",
    "version": "0.4.1",
    "project_urls": {
        "Homepage": "https://github.com/robocorp/robocorp/",
        "Repository": "https://github.com/robocorp/robocorp/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "06372ee0acb5bd9c78a5b6a8e69a8fd148fe0279223b236a7114165170a48ce2",
                "md5": "04ad29412b8d2694f2502287f0ddd118",
                "sha256": "2bc0375d6d78ca1e87dec20771a7a25f642b179d524255f1d8fe69ee374a3520"
            },
            "downloads": -1,
            "filename": "robocorp_action_server-0.4.1-cp310-cp310-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "04ad29412b8d2694f2502287f0ddd118",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4.0,>=3.10",
            "size": 14852513,
            "upload_time": "2024-04-17T18:27:37",
            "upload_time_iso_8601": "2024-04-17T18:27:37.351822Z",
            "url": "https://files.pythonhosted.org/packages/06/37/2ee0acb5bd9c78a5b6a8e69a8fd148fe0279223b236a7114165170a48ce2/robocorp_action_server-0.4.1-cp310-cp310-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0ebe91cfd2ea94fd1a83bbf8a57da9b03cfff5526cef657b26fa08928f49ae0b",
                "md5": "ed524e199ee1d4b15c5f8c2fa46a5ed8",
                "sha256": "94ffdef025f4001fde986e8fc56489ab34f196228f4c36152e27390194f9fd6e"
            },
            "downloads": -1,
            "filename": "robocorp_action_server-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ed524e199ee1d4b15c5f8c2fa46a5ed8",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4.0,>=3.10",
            "size": 10660259,
            "upload_time": "2024-04-17T18:23:57",
            "upload_time_iso_8601": "2024-04-17T18:23:57.577235Z",
            "url": "https://files.pythonhosted.org/packages/0e/be/91cfd2ea94fd1a83bbf8a57da9b03cfff5526cef657b26fa08928f49ae0b/robocorp_action_server-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "599ad4c5cf3b2b007a571ed52d985f80e21e10cd83149689a05181e6e93969eb",
                "md5": "9b08849e51ba398498a80a0fe3c21138",
                "sha256": "89ee60a98365dc2906fa765a7fd1b403df106ff565603d5eb3672e7e74da6bc1"
            },
            "downloads": -1,
            "filename": "robocorp_action_server-0.4.1-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "9b08849e51ba398498a80a0fe3c21138",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4.0,>=3.10",
            "size": 8721784,
            "upload_time": "2024-04-17T18:25:10",
            "upload_time_iso_8601": "2024-04-17T18:25:10.514080Z",
            "url": "https://files.pythonhosted.org/packages/59/9a/d4c5cf3b2b007a571ed52d985f80e21e10cd83149689a05181e6e93969eb/robocorp_action_server-0.4.1-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "25eebbbd516c67b7886f4fc1a0a76b4a06fe767a5162fb85e2be8a93fcab848d",
                "md5": "c2416b6850e93573df8fa733141e0d01",
                "sha256": "e7bcf944640935a14f3ffa26f5c8db56243c7761611f2eaa37d50e07a1a0d041"
            },
            "downloads": -1,
            "filename": "robocorp_action_server-0.4.1-cp311-cp311-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c2416b6850e93573df8fa733141e0d01",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4.0,>=3.10",
            "size": 14852513,
            "upload_time": "2024-04-17T18:27:40",
            "upload_time_iso_8601": "2024-04-17T18:27:40.401527Z",
            "url": "https://files.pythonhosted.org/packages/25/ee/bbbd516c67b7886f4fc1a0a76b4a06fe767a5162fb85e2be8a93fcab848d/robocorp_action_server-0.4.1-cp311-cp311-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a4f9360e61f25335e94ff7c46330076f96bba112cdd09ad72d60698c7780cabb",
                "md5": "78928f236bbfce13d1541b1397d3322d",
                "sha256": "ac4ef9f2f405be7f47dea415f216cd6a06e6f90f0f851de07ac0aba1b6b099a3"
            },
            "downloads": -1,
            "filename": "robocorp_action_server-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "78928f236bbfce13d1541b1397d3322d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4.0,>=3.10",
            "size": 10660254,
            "upload_time": "2024-04-17T18:23:59",
            "upload_time_iso_8601": "2024-04-17T18:23:59.891261Z",
            "url": "https://files.pythonhosted.org/packages/a4/f9/360e61f25335e94ff7c46330076f96bba112cdd09ad72d60698c7780cabb/robocorp_action_server-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "614859bf6f012f76949f0397bc57e2e7629f13ed3a50d1f395021c3a975eb16f",
                "md5": "8e5ffa327d7666e14d7e8cc00858ebc0",
                "sha256": "c9dcf7a934853775639b7acccd6bc355f61686567c80ca0c68c5b19667a0ac88"
            },
            "downloads": -1,
            "filename": "robocorp_action_server-0.4.1-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "8e5ffa327d7666e14d7e8cc00858ebc0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4.0,>=3.10",
            "size": 8721784,
            "upload_time": "2024-04-17T18:25:13",
            "upload_time_iso_8601": "2024-04-17T18:25:13.264206Z",
            "url": "https://files.pythonhosted.org/packages/61/48/59bf6f012f76949f0397bc57e2e7629f13ed3a50d1f395021c3a975eb16f/robocorp_action_server-0.4.1-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3316edaa209078a1516bbda04380a475ce0e6e4efdb72d023e8421636eaab3a1",
                "md5": "77b04fc21587036188d04a0a7a783466",
                "sha256": "60fc0cc0adbb37de401ad03283b5685061992d6f5a555c6d686190567a892d1f"
            },
            "downloads": -1,
            "filename": "robocorp_action_server-0.4.1-cp312-cp312-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "77b04fc21587036188d04a0a7a783466",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4.0,>=3.10",
            "size": 14852513,
            "upload_time": "2024-04-17T18:27:42",
            "upload_time_iso_8601": "2024-04-17T18:27:42.812371Z",
            "url": "https://files.pythonhosted.org/packages/33/16/edaa209078a1516bbda04380a475ce0e6e4efdb72d023e8421636eaab3a1/robocorp_action_server-0.4.1-cp312-cp312-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6b3702ad12da49d90dd34f75723c9037a1bd5465f80ecd6fbdd6fe46e8760a74",
                "md5": "0ed270963d7f102891884efe6fca27f1",
                "sha256": "818305ca198e6325266dab69b3596a2999fa7d13fc2c3d98fc113c169213119e"
            },
            "downloads": -1,
            "filename": "robocorp_action_server-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0ed270963d7f102891884efe6fca27f1",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4.0,>=3.10",
            "size": 10660254,
            "upload_time": "2024-04-17T18:24:03",
            "upload_time_iso_8601": "2024-04-17T18:24:03.215467Z",
            "url": "https://files.pythonhosted.org/packages/6b/37/02ad12da49d90dd34f75723c9037a1bd5465f80ecd6fbdd6fe46e8760a74/robocorp_action_server-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4e811c3ffd75c9a4de5be46028828dca76ec56a3ac18144cfef53a9a5cb421a5",
                "md5": "7dfa0c59e2f7b6c6618c32b09e65c30a",
                "sha256": "7897edbbf1a7bee8c4daf461d8161dd2f3ffae1683562f0c724156b89159084b"
            },
            "downloads": -1,
            "filename": "robocorp_action_server-0.4.1-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7dfa0c59e2f7b6c6618c32b09e65c30a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4.0,>=3.10",
            "size": 8721784,
            "upload_time": "2024-04-17T18:25:15",
            "upload_time_iso_8601": "2024-04-17T18:25:15.894688Z",
            "url": "https://files.pythonhosted.org/packages/4e/81/1c3ffd75c9a4de5be46028828dca76ec56a3ac18144cfef53a9a5cb421a5/robocorp_action_server-0.4.1-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1156e68f149ef7723dc54b73c05f8186c5b604bbe69c2ddd5c4f1f2fe75df12a",
                "md5": "2c71acd7a540395f247e1f528abab406",
                "sha256": "4934681d090ecc5595c7e25d342538614b7e785d0f665fa4a8483569c872619f"
            },
            "downloads": -1,
            "filename": "robocorp_action_server-0.4.1.tar.gz",
            "has_sig": false,
            "md5_digest": "2c71acd7a540395f247e1f528abab406",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 391103,
            "upload_time": "2024-04-17T18:23:26",
            "upload_time_iso_8601": "2024-04-17T18:23:26.929557Z",
            "url": "https://files.pythonhosted.org/packages/11/56/e68f149ef7723dc54b73c05f8186c5b604bbe69c2ddd5c4f1f2fe75df12a/robocorp_action_server-0.4.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-17 18:23:26",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "robocorp",
    "github_project": "robocorp",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "robocorp-action-server"
}
        
Elapsed time: 0.33284s