# JIVAS Web Server (jvserve)





`jvserve` is a FastAPI-based web server designed for loading and interacting with JIVAS agents. It is built on top of [`jac-cloud`](https://github.com/Jaseci-Labs/jaseci/tree/main/jac-cloud) and provides a robust platform for managing jivas agent jobs, handling webhooks, and executing actions within the JIVAS ecosystem.
## Installation
To install `jvserve`, use `pip`:
```sh
pip install jvserve
```
## Usage
To use `jvserve`, you can start the server with the following command:
```sh
jac jvserve <path_to_your_jac_file>
```
For example:
```sh
jac jvserve main.jac
```
You can also start a file server to serve static files:
```sh
jac jvfileserve <directory>
```
For example:
```sh
jac jvfileserve ./static
```
### Supported Arguments
- **filename**: Path to your JAC file.
- **host**: Host address to bind the server (default: `localhost`).
- **port**: Port number to bind the server (default: `8000`).
- **loglevel**: Logging level (default: `INFO`).
- **workers**: Number of worker processes (optional).
Example with all arguments:
```sh
jac jvserve main.jac --host 127.0.0.1 --port 8080 --loglevel DEBUG --workers 4
```
## API Endpoints
- **Interact with Agent**: `/interact` (POST)
- **Execute Webhook**: `/webhook/{key}` (GET, POST)
- **Execute Action Walker**: `/action/walker` (POST)
You can see all endpoints at the URL `/docs`.
## 🔰 Contributing
- **🐛 [Report Issues](https://github.com/TrueSelph/jvserve/issues)**: Submit bugs found or log feature requests for the `jvserve` project.
- **💡 [Submit Pull Requests](https://github.com/TrueSelph/jvserve/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs.
<details closed>
<summary>Contributing Guidelines</summary>
1. **Fork the Repository**: Start by forking the project repository to your GitHub account.
2. **Clone Locally**: Clone the forked repository to your local machine using a git client.
```sh
git clone https://github.com/TrueSelph/jvserve
```
3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name.
```sh
git checkout -b new-feature-x
```
4. **Make Your Changes**: Develop and test your changes locally.
5. **Commit Your Changes**: Commit with a clear message describing your updates.
```sh
git commit -m 'Implemented new feature x.'
```
6. **Push to GitHub**: Push the changes to your forked repository.
```sh
git push origin new-feature-x
```
7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations.
8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
</details>
<details open>
<summary>Contributor Graph</summary>
<br>
<p align="left">
<a href="https://github.com/TrueSelph/jvserve/graphs/contributors">
<img src="https://contrib.rocks/image?repo=TrueSelph/jvserve" />
</a>
</p>
</details>
## 🎗 License
This project is protected under the Apache License 2.0. See [LICENSE](./LICENSE) for more information.
## Additional Information
Since `jvserve` is a wrapper around `jac-cloud`, it supports all the primitives available in `jac-cloud`. You can find more information about `jac-cloud` primitives [here](https://www.jac-lang.org/for_coders/jac-cloud/jac_cloud/).
Raw data
{
"_id": null,
"home_page": "https://github.com/TrueSelph/jvserve",
"name": "jvserve",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12.0",
"maintainer_email": null,
"keywords": "jivas",
"author": "TrueSelph Inc.",
"author_email": "admin@trueselph.com",
"download_url": "https://files.pythonhosted.org/packages/83/17/b41fdbcb4d36c65b9fb7c4bec8c804eae607f60a37d393a115bf7943d7c2/jvserve-2.1.18.tar.gz",
"platform": null,
"description": "# JIVAS Web Server (jvserve)\n\n\n\n\n\n\n\n`jvserve` is a FastAPI-based web server designed for loading and interacting with JIVAS agents. It is built on top of [`jac-cloud`](https://github.com/Jaseci-Labs/jaseci/tree/main/jac-cloud) and provides a robust platform for managing jivas agent jobs, handling webhooks, and executing actions within the JIVAS ecosystem.\n\n## Installation\n\nTo install `jvserve`, use `pip`:\n\n```sh\npip install jvserve\n```\n\n## Usage\n\nTo use `jvserve`, you can start the server with the following command:\n\n```sh\njac jvserve <path_to_your_jac_file>\n```\n\nFor example:\n\n```sh\njac jvserve main.jac\n```\n\nYou can also start a file server to serve static files:\n\n```sh\njac jvfileserve <directory>\n```\n\nFor example:\n\n```sh\njac jvfileserve ./static\n```\n\n### Supported Arguments\n\n- **filename**: Path to your JAC file.\n- **host**: Host address to bind the server (default: `localhost`).\n- **port**: Port number to bind the server (default: `8000`).\n- **loglevel**: Logging level (default: `INFO`).\n- **workers**: Number of worker processes (optional).\n\nExample with all arguments:\n\n```sh\njac jvserve main.jac --host 127.0.0.1 --port 8080 --loglevel DEBUG --workers 4\n```\n\n## API Endpoints\n\n- **Interact with Agent**: `/interact` (POST)\n- **Execute Webhook**: `/webhook/{key}` (GET, POST)\n- **Execute Action Walker**: `/action/walker` (POST)\n\nYou can see all endpoints at the URL `/docs`.\n\n## \ud83d\udd30 Contributing\n\n- **\ud83d\udc1b [Report Issues](https://github.com/TrueSelph/jvserve/issues)**: Submit bugs found or log feature requests for the `jvserve` project.\n- **\ud83d\udca1 [Submit Pull Requests](https://github.com/TrueSelph/jvserve/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs.\n\n<details closed>\n<summary>Contributing Guidelines</summary>\n\n1. **Fork the Repository**: Start by forking the project repository to your GitHub account.\n2. **Clone Locally**: Clone the forked repository to your local machine using a git client.\n ```sh\n git clone https://github.com/TrueSelph/jvserve\n ```\n3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name.\n ```sh\n git checkout -b new-feature-x\n ```\n4. **Make Your Changes**: Develop and test your changes locally.\n5. **Commit Your Changes**: Commit with a clear message describing your updates.\n ```sh\n git commit -m 'Implemented new feature x.'\n ```\n6. **Push to GitHub**: Push the changes to your forked repository.\n ```sh\n git push origin new-feature-x\n ```\n7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations.\n8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!\n</details>\n\n<details open>\n<summary>Contributor Graph</summary>\n<br>\n<p align=\"left\">\n <a href=\"https://github.com/TrueSelph/jvserve/graphs/contributors\">\n <img src=\"https://contrib.rocks/image?repo=TrueSelph/jvserve\" />\n </a>\n</p>\n</details>\n\n## \ud83c\udf97 License\n\nThis project is protected under the Apache License 2.0. See [LICENSE](./LICENSE) for more information.\n\n## Additional Information\n\nSince `jvserve` is a wrapper around `jac-cloud`, it supports all the primitives available in `jac-cloud`. You can find more information about `jac-cloud` primitives [here](https://www.jac-lang.org/for_coders/jac-cloud/jac_cloud/).\n",
"bugtrack_url": null,
"license": null,
"summary": "FastAPI webserver for loading and interaction with JIVAS agents.",
"version": "2.1.18",
"project_urls": {
"Homepage": "https://github.com/TrueSelph/jvserve"
},
"split_keywords": [
"jivas"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "68cb27ee7833c93864fd153edfa54902fe95546e0c4e195ea3887d84e79a2c6c",
"md5": "1ce56e0757c3a7696bbbfb66cf4489db",
"sha256": "799c77e4ce81355fbfaa70340142b018f6bcc6f9974bc9c402f809a95deebdb3"
},
"downloads": -1,
"filename": "jvserve-2.1.18-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1ce56e0757c3a7696bbbfb66cf4489db",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12.0",
"size": 20798,
"upload_time": "2025-09-04T00:52:16",
"upload_time_iso_8601": "2025-09-04T00:52:16.687989Z",
"url": "https://files.pythonhosted.org/packages/68/cb/27ee7833c93864fd153edfa54902fe95546e0c4e195ea3887d84e79a2c6c/jvserve-2.1.18-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8317b41fdbcb4d36c65b9fb7c4bec8c804eae607f60a37d393a115bf7943d7c2",
"md5": "8c1deb0e591362eeb7bf96ed8857ee49",
"sha256": "3433db0b58d4fa68dc83f14d8cb3f9f2ffbdaa24a3521b8c3bc51a0b6c533bf7"
},
"downloads": -1,
"filename": "jvserve-2.1.18.tar.gz",
"has_sig": false,
"md5_digest": "8c1deb0e591362eeb7bf96ed8857ee49",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12.0",
"size": 23462,
"upload_time": "2025-09-04T00:52:17",
"upload_time_iso_8601": "2025-09-04T00:52:17.810297Z",
"url": "https://files.pythonhosted.org/packages/83/17/b41fdbcb4d36c65b9fb7c4bec8c804eae607f60a37d393a115bf7943d7c2/jvserve-2.1.18.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-04 00:52:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "TrueSelph",
"github_project": "jvserve",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "jvserve"
}