# controlled-vocabulary-fastapi
A lightweight REST API implemented using FastAPI for providing read-only endpoints for the controlled vocabulary implemented in the controlled-vocabulary-utils.
- [controlled-vocabulary-fastapi](#controlled-vocabulary-fastapi)
- [Use Cases](#use-cases)
- [Installation](#installation)
- [Usage](#usage)
- [Step 1 - Create Python virtual environment](#step-1---create-python-virtual-environment)
- [Step 2 - Controlled vocabulary YAML file](#step-2---controlled-vocabulary-yaml-file)
- [Step 3 - Launch the REST API](#step-3---launch-the-rest-api)
- [Contributing](#contributing)
- [To-Do/Coming Next](#to-docoming-next)
- [CHANGELOG](#changelog)
- [License](#license)
## Use Cases
<img src="use_cases.png" width="400" height="400" alt="Use Cases diagram">
## Installation
Please see the [INSTALL](docs/INSTALL.md) guide for instructions.
## Usage
### Step 1 - Create Python virtual environment
```bash
python3 -m venv venv && source venv/bin/activate && pip install --upgrade && pip install -r requirements.txt
```
### Step 2 - Controlled vocabulary YAML file
Prepare your controlled vocabulary YAML file.
Then copy it to `./controlled_vocabulary.yaml`.
### Step 3 - Launch the REST API
```bash
uvicorn main:app --reload
```
You can specify a different port number e.g.:
```bash
uvicorn main:app --reload --port 8082
```
## Contributing
Pull requests are welcome. For major changes, please open an issue first
to discuss what you would like to change.
## To-Do/Coming Next
Please view the listing of planned improvements [here](docs/TODO.md).
## CHANGELOG
Please view the CHANGELOG [here](docs/CHANGELOG.md).
## License
[No License](docs/LICENSE)
## [v0.1.0](https://github.com/jai-python3/controlled-vocabulary-fastapi/tree/v0.1.0) - 2025-02-23
ADDS:
- Initial implementation
Raw data
{
"_id": null,
"home_page": "https://github.com/jai-python3/controlled-vocabulary-fastapi",
"name": "controlled-vocabulary-fastapi",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "controlled_vocabulary_fastapi",
"author": "Jaideep Sundaram",
"author_email": "jai.python3@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/84/61/054bfa8781fcf53c09df0d88e9231f31e669537e361630c731f1b34a70da/controlled_vocabulary_fastapi-0.1.0.tar.gz",
"platform": null,
"description": "# controlled-vocabulary-fastapi\n\nA lightweight REST API implemented using FastAPI for providing read-only endpoints for the controlled vocabulary implemented in the controlled-vocabulary-utils.\n\n- [controlled-vocabulary-fastapi](#controlled-vocabulary-fastapi)\n - [Use Cases](#use-cases)\n - [Installation](#installation)\n - [Usage](#usage)\n - [Step 1 - Create Python virtual environment](#step-1---create-python-virtual-environment)\n - [Step 2 - Controlled vocabulary YAML file](#step-2---controlled-vocabulary-yaml-file)\n - [Step 3 - Launch the REST API](#step-3---launch-the-rest-api)\n - [Contributing](#contributing)\n - [To-Do/Coming Next](#to-docoming-next)\n - [CHANGELOG](#changelog)\n - [License](#license)\n\n\n## Use Cases\n\n<img src=\"use_cases.png\" width=\"400\" height=\"400\" alt=\"Use Cases diagram\">\n\n## Installation\n\nPlease see the [INSTALL](docs/INSTALL.md) guide for instructions.\n\n## Usage\n\n### Step 1 - Create Python virtual environment\n\n```bash\npython3 -m venv venv && source venv/bin/activate && pip install --upgrade && pip install -r requirements.txt\n```\n### Step 2 - Controlled vocabulary YAML file\n\nPrepare your controlled vocabulary YAML file.\nThen copy it to `./controlled_vocabulary.yaml`.\n\n### Step 3 - Launch the REST API\n\n```bash\nuvicorn main:app --reload\n```\n\nYou can specify a different port number e.g.:\n\n```bash\nuvicorn main:app --reload --port 8082\n```\n\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first\nto discuss what you would like to change.\n\n## To-Do/Coming Next\n\nPlease view the listing of planned improvements [here](docs/TODO.md).\n\n## CHANGELOG\n\nPlease view the CHANGELOG [here](docs/CHANGELOG.md).\n\n## License\n\n[No License](docs/LICENSE)\n\n\n## [v0.1.0](https://github.com/jai-python3/controlled-vocabulary-fastapi/tree/v0.1.0) - 2025-02-23\n\nADDS:\n- Initial implementation\n",
"bugtrack_url": null,
"license": null,
"summary": "A lightweight REST API implemented using FastAPI for providing read-only endpoints for the controlled vocabulary implemented in the controlled-vocabulary-utils.",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/jai-python3/controlled-vocabulary-fastapi"
},
"split_keywords": [
"controlled_vocabulary_fastapi"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "aa3b7d0f3d263ef51508691d427a354c29d4e0b364ec735875a14ea55d751a33",
"md5": "b2460da829443e5e6481e1fb5238643c",
"sha256": "1a8757477dcade5e36209089ec7abd7bb2a41f621a5225227d462d7525d787fb"
},
"downloads": -1,
"filename": "controlled_vocabulary_fastapi-0.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "b2460da829443e5e6481e1fb5238643c",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.10",
"size": 7795,
"upload_time": "2025-02-23T23:30:28",
"upload_time_iso_8601": "2025-02-23T23:30:28.558702Z",
"url": "https://files.pythonhosted.org/packages/aa/3b/7d0f3d263ef51508691d427a354c29d4e0b364ec735875a14ea55d751a33/controlled_vocabulary_fastapi-0.1.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8461054bfa8781fcf53c09df0d88e9231f31e669537e361630c731f1b34a70da",
"md5": "ac4e2e218792837b75136c78780de631",
"sha256": "6f63a968237a3d30e647cecd9a683f3f565b9b78db6eea6200f23f5766a3c473"
},
"downloads": -1,
"filename": "controlled_vocabulary_fastapi-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "ac4e2e218792837b75136c78780de631",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 12367,
"upload_time": "2025-02-23T23:30:30",
"upload_time_iso_8601": "2025-02-23T23:30:30.383573Z",
"url": "https://files.pythonhosted.org/packages/84/61/054bfa8781fcf53c09df0d88e9231f31e669537e361630c731f1b34a70da/controlled_vocabulary_fastapi-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-23 23:30:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jai-python3",
"github_project": "controlled-vocabulary-fastapi",
"github_not_found": true,
"lcname": "controlled-vocabulary-fastapi"
}