# 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/24/97/c611ca64f6a63f8d8c7c75a5cc3bee13125af79296983472357d30a68b4c/jvserve-2.1.11.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.11",
"project_urls": {
"Homepage": "https://github.com/TrueSelph/jvserve"
},
"split_keywords": [
"jivas"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2282f99b9734482f38be602d1a2f1d3bb0b5719c08879beb482221fcad2b880e",
"md5": "c63cd8916b14df21e4b2720eb32ac26e",
"sha256": "3bfbe70ab20448f25b553854a5ae6e98365433c4dda82f9db7488e7e1573875b"
},
"downloads": -1,
"filename": "jvserve-2.1.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c63cd8916b14df21e4b2720eb32ac26e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12.0",
"size": 19228,
"upload_time": "2025-08-12T13:22:49",
"upload_time_iso_8601": "2025-08-12T13:22:49.346837Z",
"url": "https://files.pythonhosted.org/packages/22/82/f99b9734482f38be602d1a2f1d3bb0b5719c08879beb482221fcad2b880e/jvserve-2.1.11-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2497c611ca64f6a63f8d8c7c75a5cc3bee13125af79296983472357d30a68b4c",
"md5": "4921ffd307d13f05ff57a04356aeda5a",
"sha256": "4333032f88d735485f081d05a019be2ddbdd75bcb94fa6227e506573cf75c43a"
},
"downloads": -1,
"filename": "jvserve-2.1.11.tar.gz",
"has_sig": false,
"md5_digest": "4921ffd307d13f05ff57a04356aeda5a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12.0",
"size": 22231,
"upload_time": "2025-08-12T13:22:50",
"upload_time_iso_8601": "2025-08-12T13:22:50.151248Z",
"url": "https://files.pythonhosted.org/packages/24/97/c611ca64f6a63f8d8c7c75a5cc3bee13125af79296983472357d30a68b4c/jvserve-2.1.11.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-12 13:22:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "TrueSelph",
"github_project": "jvserve",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "jvserve"
}