oracle-of-ammon


Nameoracle-of-ammon JSON
Version 0.3.1 PyPI version JSON
download
home_pagehttps://kmcleste.github.io/oracle-of-ammon/
SummaryCLI tool for creating Search APIs.
upload_time2023-02-12 01:18:10
maintainer
docs_urlNone
authorKyle McLester
requires_python>=3.8.1,<3.11
licenseMIT
keywords fastapi haystack search faq typer
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Oracle of Ammon

[![PyPI version shield](https://img.shields.io/pypi/v/oracle-of-ammon?color=blue&style=flat-square)](https://pypi.org/project/oracle-of-ammon/)
[![Python version shield](https://img.shields.io/pypi/pyversions/oracle-of-ammon?color=blue&style=flat-square)](https://pypi.org/project/oracle-of-ammon/)
[![MIT License](https://img.shields.io/github/license/kmcleste/oracle-of-ammon?style=flat-square)](https://github.com/kmcleste/oracle-of-ammon/blob/main/LICENSE)

A simple CLI tool for creating Search APIs.

## Installation

Creating a virtual environment is highly recommended. To do so, run:

```bash
python3 -m venv .venv
source .venv/bin/activate
```

Once your environment is active, simply install the package with:

```bash
pip install oracle-of-ammon
```

## Usage

To get started, checkout the help menu:

```bash
oracle-of-ammon --help
```

[![Image of oracle-of-ammon cli help documentaiton](https://github.com/kmcleste/oracle-of-ammon/blob/main/images/oracle-of-ammon-help.gif?raw=true)](https://github.com/faressoft/terminalizer)

Here, you will see we currently have two options: **summon** and **locust**.

### Summon

By default, Summon is configured to initialize an empty search service on port 8000. The API framework used is [FastAPI](https://fastapi.tiangolo.com/) and the underlying search engine is built on [Haystack](https://docs.haystack.deepset.ai/). If you would like to initialize the search service with documents upon startup, provide a filepath with the `--path` option. Once the service has been initialized, you can view the API docs at [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs). A static version of the swagger documentation can also be found [here](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/kmcleste/oracle-of-ammon/main/openapi.json#/).

| Option        | Type | Default         | Description                                                                                                                         |
| ------------- | ---- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| --path        | TEXT | None            | Filepath used to pre-index document store.                                                                                          |
| --sheet-name  | TEXT | None            | If using an excel file, select which sheet(s) to load. If none provided, all sheets will be loaded. Expects a comma-separated list. |
| --title       | TEXT | Oracle of Ammon | API documentation title.                                                                                                            |
| --index       | TEXT | document        | Default index name.                                                                                                                 |
| --faq         | BOOL | TRUE            | Selector for content preloaded into document store.                                                                                 |

Supported Filetypes:

- FAQ: CSV, TSV, JSON, XLSX, TXT
- Semantic: TXT

See the [`data`](https://github.com/kmcleste/oracle-of-ammon/tree/main/oracle_of_ammon/data) directory for examples of accepted files.

[![Oracle of Ammon CLI - Summon](https://github.com/kmcleste/oracle-of-ammon/blob/main/images/oracle-of-ammon-summon.gif?raw=true)](https://github.com/faressoft/terminalizer)

### Locust

[Locust](https://locust.io/) is an open source tool for load testing. You're able to swarm your system with millions of simultaneous users -- recording service performance and other metrics. By default, Locust will start on port 8089. To start a new load test, simply enter the number of users you want to simulate, their spawn rate, and the host address to swarm.

[![Image of locust config](https://github.com/kmcleste/oracle-of-ammon/blob/main/images/locust-config.png?raw=true)](https://locust.io)]

## Coming Eventually 👀

- ~~Semantic search~~
- ~~Document search~~
- ~~Document summarization~~
- Document ranking
- ~~Multiple index support~~
- Annotations/Feedback
- Fine tuning
- Additional locust endpoints
- Dynamic Locust config
- Custom pipelines
- Dedicated docs wiki

            

Raw data

            {
    "_id": null,
    "home_page": "https://kmcleste.github.io/oracle-of-ammon/",
    "name": "oracle-of-ammon",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8.1,<3.11",
    "maintainer_email": "",
    "keywords": "fastapi,haystack,search,faq,typer",
    "author": "Kyle McLester",
    "author_email": "kyle.mclester@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/b8/45/74c940c2285b4521f6945dd98e0a73924a59352d51c3949a2c0fec9c008c/oracle_of_ammon-0.3.1.tar.gz",
    "platform": null,
    "description": "# Oracle of Ammon\n\n[![PyPI version shield](https://img.shields.io/pypi/v/oracle-of-ammon?color=blue&style=flat-square)](https://pypi.org/project/oracle-of-ammon/)\n[![Python version shield](https://img.shields.io/pypi/pyversions/oracle-of-ammon?color=blue&style=flat-square)](https://pypi.org/project/oracle-of-ammon/)\n[![MIT License](https://img.shields.io/github/license/kmcleste/oracle-of-ammon?style=flat-square)](https://github.com/kmcleste/oracle-of-ammon/blob/main/LICENSE)\n\nA simple CLI tool for creating Search APIs.\n\n## Installation\n\nCreating a virtual environment is highly recommended. To do so, run:\n\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\nOnce your environment is active, simply install the package with:\n\n```bash\npip install oracle-of-ammon\n```\n\n## Usage\n\nTo get started, checkout the help menu:\n\n```bash\noracle-of-ammon --help\n```\n\n[![Image of oracle-of-ammon cli help documentaiton](https://github.com/kmcleste/oracle-of-ammon/blob/main/images/oracle-of-ammon-help.gif?raw=true)](https://github.com/faressoft/terminalizer)\n\nHere, you will see we currently have two options: **summon** and **locust**.\n\n### Summon\n\nBy default, Summon is configured to initialize an empty search service on port 8000. The API framework used is [FastAPI](https://fastapi.tiangolo.com/) and the underlying search engine is built on [Haystack](https://docs.haystack.deepset.ai/). If you would like to initialize the search service with documents upon startup, provide a filepath with the `--path` option. Once the service has been initialized, you can view the API docs at [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs). A static version of the swagger documentation can also be found [here](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/kmcleste/oracle-of-ammon/main/openapi.json#/).\n\n| Option        | Type | Default         | Description                                                                                                                         |\n| ------------- | ---- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------- |\n| --path        | TEXT | None            | Filepath used to pre-index document store.                                                                                          |\n| --sheet-name  | TEXT | None            | If using an excel file, select which sheet(s) to load. If none provided, all sheets will be loaded. Expects a comma-separated list. |\n| --title       | TEXT | Oracle of Ammon | API documentation title.                                                                                                            |\n| --index       | TEXT | document        | Default index name.                                                                                                                 |\n| --faq         | BOOL | TRUE            | Selector for content preloaded into document store.                                                                                 |\n\nSupported Filetypes:\n\n- FAQ: CSV, TSV, JSON, XLSX, TXT\n- Semantic: TXT\n\nSee the [`data`](https://github.com/kmcleste/oracle-of-ammon/tree/main/oracle_of_ammon/data) directory for examples of accepted files.\n\n[![Oracle of Ammon CLI - Summon](https://github.com/kmcleste/oracle-of-ammon/blob/main/images/oracle-of-ammon-summon.gif?raw=true)](https://github.com/faressoft/terminalizer)\n\n### Locust\n\n[Locust](https://locust.io/) is an open source tool for load testing. You're able to swarm your system with millions of simultaneous users -- recording service performance and other metrics. By default, Locust will start on port 8089. To start a new load test, simply enter the number of users you want to simulate, their spawn rate, and the host address to swarm.\n\n[![Image of locust config](https://github.com/kmcleste/oracle-of-ammon/blob/main/images/locust-config.png?raw=true)](https://locust.io)]\n\n## Coming Eventually \ud83d\udc40\n\n- ~~Semantic search~~\n- ~~Document search~~\n- ~~Document summarization~~\n- Document ranking\n- ~~Multiple index support~~\n- Annotations/Feedback\n- Fine tuning\n- Additional locust endpoints\n- Dynamic Locust config\n- Custom pipelines\n- Dedicated docs wiki\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "CLI tool for creating Search APIs.",
    "version": "0.3.1",
    "split_keywords": [
        "fastapi",
        "haystack",
        "search",
        "faq",
        "typer"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e751deb0dc591741873ee99d3e1c6d3b10f78b7a10148ee1a6996290f57f41a1",
                "md5": "4075cee4800d21c4e54ca06f046416e4",
                "sha256": "2eab53b1d1c3b476b782d72afd480304a0dd6579c39bbd19ebede710ca920c53"
            },
            "downloads": -1,
            "filename": "oracle_of_ammon-0.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4075cee4800d21c4e54ca06f046416e4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8.1,<3.11",
            "size": 39951,
            "upload_time": "2023-02-12T01:18:08",
            "upload_time_iso_8601": "2023-02-12T01:18:08.710236Z",
            "url": "https://files.pythonhosted.org/packages/e7/51/deb0dc591741873ee99d3e1c6d3b10f78b7a10148ee1a6996290f57f41a1/oracle_of_ammon-0.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b84574c940c2285b4521f6945dd98e0a73924a59352d51c3949a2c0fec9c008c",
                "md5": "85a10cdd8668145248771001698833dc",
                "sha256": "b0949a940051038dc4bd03eb98806a7ae2cd0d5d321424fdf3bea09a642cf6f3"
            },
            "downloads": -1,
            "filename": "oracle_of_ammon-0.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "85a10cdd8668145248771001698833dc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8.1,<3.11",
            "size": 34495,
            "upload_time": "2023-02-12T01:18:10",
            "upload_time_iso_8601": "2023-02-12T01:18:10.459974Z",
            "url": "https://files.pythonhosted.org/packages/b8/45/74c940c2285b4521f6945dd98e0a73924a59352d51c3949a2c0fec9c008c/oracle_of_ammon-0.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-02-12 01:18:10",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "oracle-of-ammon"
}
        
Elapsed time: 0.24718s