semvec/pypi-packages huggingface dataset:
controlled-vocabulary-fastapi 0.1.0
A lightweight REST API implemented using FastAPI for providing read-only endpoints for the controlled vocabulary implemented in the controlled-vocabulary-utils.
Requires Python: >=3.10
Keywords: controlled_vocabulary_fastapi

# 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
gemerald 0.2
Markdown-based static site generator

# Gemerald #

A markdown-based static site generator for HTTP and Gemini. Inspired by Hugo. Written in Python.

### Try it out ###

This repository provides an example project for you to play around.
You can try to build it with just a few commands

```bash
pip install gemerald
gemerald example
ls -la example-build
```
## Gemerald markdown ##

Gemerald uses special flavour of Markdown. It is more restrictive then Github-flavoured Markdown.
It is due to the fact that Gemini markup is more restrictive.
Some opinionated choices were made along the way.

Full descrition of Gemerald Markdown is available in [capabilities](docs/capabilities.md) page.

## Usage guide ##

Once you are satisfied with playing with our example project you may want to read our project guide.
It is available [here](docs/usage_guide.md)

## Developer guide ##

If you wish to help with development here is a starter:

[Gemerald developer guide](docs/usage_guide.md)

## Who uses it? ##

 - [X] wilmhit.pw
 - [ ] hspoz.pl (If they will be willing to)
 - [ ] Your website
commit-crafter-ai 1.4.5
AI-powered commit message generator
Requires Python: >=3.7

# commit-crafter-ai

An AI-powered commit message generator that uses either OpenAI's GPT models or Ollama's local models to create meaningful git commit messages.

## Installation

```bash
pip install commit-crafter-ai
```

## Setup

1. Export your OpenAI API key:

```bash
# Linux/macOS
export OPENAI_API_KEY="your-api-key-here"

# Windows (Command Prompt)
set OPENAI_API_KEY=your-api-key-here

# Windows (PowerShell)
$env:OPENAI_API_KEY="your-api-key-here"
```

2. The API key can also be added to your shell configuration file (~/.bashrc, ~/.zshrc, etc.) for persistence:

```bash
echo 'export OPENAI_API_KEY="your-api-key-here"' >> ~/.bashrc  # or ~/.zshrc
```

## Usage

### Craft a commit message and directly create a commit

Default client is OpenAI:

```bash
commit-crafter-ai craft
```

If you want to use Ollama with a specific model:

```bash
commit-crafter-ai craft --ollama 'model-name'
```

### Craft a commit message and copy it to clipboard

If you want to copy the commit message to clipboard instead of directly creating a commit:

```bash
commit-crafter-ai craft --copy
```

## Configuration

You can customize the commit message generation prompt by creating a `craft.config` file in your project root directory. If no config file is found, the default prompt will be used.

## License

This project is licensed under the MIT License - see the LICENSE file for details.
ivcap_fastapi 0.3.1
Helper functions for building FastAPI based IVCAP services

# ivcap_fastapi: Python helpers for building FastAPI based IVCAP services

A python library containing various helper and middleware functions
to support converting FastAPI based tools into IVCAP services.

## Content

* [Try-Later Middleware](#try-later)
* [JSON-RPC Middleware](#json-rpc)

### Try-Later Middleware <a name="try-later"></a>

This middleware is supporting the use case where the execution of a
requested service is taking longer than the caller is willing to wait.
A typical use case is where the service is itself outsourcing the execution
to some other long-running service but may immediately receive a reference
to the eventual result.

In this case, raising a `TryLaterException` will return with a 204
status code and additional information on how to later check back for the
result.

```python
from ivcap_fastapi import TryLaterException, use_try_later_middleware
use_try_later_middleware(app)

@app.post("/big_job")
def big_job(req: Request) -> Response:
    jobID, expected_exec_time = scheduling_big_job(req)
    raise TryLaterException(f"/jobs/{jobID}", expected_exec_time)

@app.get("/jobs/{jobID}")
def get_job(jobID: str) -> Response:
    resp = find_result_for(job_id)
    return resp
```

Specifically, raising `TryLaterException(location, delay)` will
return an HTTP response with a 204 status code with the additional
HTTP headers `Location` and `Retry-Later` set to `location` and
`delay` respectively.

### JSON-RPC Middleware <a name="json-rpc"></a>

This middleware will convert any `POST /` with a payload
following the [JSON-RPC](https://www.jsonrpc.org/specification)
specification to an internal `POST /{method}` and will return
the result formatted according to the JSON-RPC spec.

```python
from ivcap_fastapi import use_json_rpc_middleware
use_json_rpc_middleware(app)
```