template_web_client


Nametemplate_web_client JSON
Version 0.1.1 PyPI version JSON
download
home_page
SummaryClient for Template web service
upload_time2024-02-29 07:23:06
maintainer
docs_urlNone
authorHIRO-MicroDataCenters
requires_python>=3.8,<4.0
licenseMIT
keywords openapi openapi-generator template web service
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Python client
API version: 0.1.0

## Requirements

- Python 3.8+
- Docker engine. [Documentation](https://docs.docker.com/engine/install/)

## Installation & Usage

1. If you don't have `Poetry` installed run:

```bash
pip install poetry
```

2. Install dependencies:

```bash
poetry config virtualenvs.in-project true
poetry install --no-root
```

3. Running tests:

```bash
poetry run pytest
```

You can test the application for multiple versions of Python. To do this, you need to install the required Python versions on your operating system, specify these versions in the tox.ini file, and then run the tests:
```bash
poetry run tox
```
Add the tox.ini file to `client/.openapi-generator-ignore` so that it doesn't get overwritten during client generation.

4. Building package:

```bash
poetry build
```

5. Publishing
```bash
poetry config pypi-token.pypi <pypi token>
poetry publish
```

## Client generator
To generate the client, execute the following script from the project root folder
```bash
poetry --directory server run python ./tools/client_generator/generate.py --file ./api/openapi.yaml
```

### Command
```bash
generate.py [--file <a path or URL to a .yaml file>] [--asyncio]
```

#### Arguments
**--file**
Specifies the input OpenAPI specification file path or URL. This argument is required for generating the Python client. The input file can be either a local file path or a URL pointing to the OpenAPI schema.

**--asyncio**
Flag to indicate whether to generate asynchronous code. If this flag is provided, the generated Python client will include asynchronous features. By default, synchronous code is generated.

#### Saving Arguments

The script saves provided arguments for future use. Upon the initial execution, if no arguments are provided, the script will check if there are previously saved arguments in the specified file path. If saved arguments are found, they will be loaded and used for generating the client. If no saved arguments are found or if new arguments are provided, the script will save the provided arguments for future use.

This mechanism ensures that users can omit specifying arguments on subsequent executions if the same arguments were used previously. Saved arguments are stored in a JSON file located at generator/args.json.

#### Configuration
You can change the name of the client package in the file `/tools/client_generator/config.json`.

Add file's paths to `client/.openapi-generator-ignore` so that it doesn't get overwritten during client generation.

#### Examples

```bash
python generate.py --file https://<domain>/openapi.json
python generate.py --file https://<domain>/openapi.json --asyncio
python generate.py --file /<path>/openapi.yaml
python generate.py --file /<path>/openapi.yaml --asyncio
python generate.py
```

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import template_web_client
from template_web_client.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = template_web_client.Configuration(
    host = "http://localhost"
)



# Enter a context with an instance of the API client
with template_web_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = template_web_client.DefaultApi(api_client)

    try:
        # Example endpoint
        api_response = api_instance.example_get()
        print("The response of DefaultApi->example_get:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling DefaultApi->example_get: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *http://localhost*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*DefaultApi* | [**example_get**](docs/DefaultApi.md#example_get) | **GET** / | Example endpoint
*ItemsApi* | [**items_create**](docs/ItemsApi.md#items_create) | **POST** /item/ | Create an item
*ItemsApi* | [**items_delete_item**](docs/ItemsApi.md#items_delete_item) | **DELETE** /item/{id}/ | Delete an item
*ItemsApi* | [**items_read_all**](docs/ItemsApi.md#items_read_all) | **GET** /item/ | Read all items
*ItemsApi* | [**items_read_item**](docs/ItemsApi.md#items_read_item) | **GET** /item/{id}/ | Read an item
*ItemsApi* | [**items_update_item**](docs/ItemsApi.md#items_update_item) | **PUT** /item/{id}/ | Update an item


## Documentation For Models

 - [ExampleResponse](docs/ExampleResponse.md)
 - [HTTPValidationError](docs/HTTPValidationError.md)
 - [Item](docs/Item.md)
 - [ValidationError](docs/ValidationError.md)
 - [ValidationErrorLocInner](docs/ValidationErrorLocInner.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization

Endpoints do not require authorization.


## Author

all-hiro@hiro-microdatacenters.nl



            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "template_web_client",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "OpenAPI,OpenAPI-Generator,Template web service",
    "author": "HIRO-MicroDataCenters",
    "author_email": "all-hiro@hiro-microdatacenters.nl",
    "download_url": "https://files.pythonhosted.org/packages/ed/11/0f950c7c94d21bddf696e366e9c88fb433b1653f1452be73b0ed404f1489/template_web_client-0.1.1.tar.gz",
    "platform": null,
    "description": "# Python client\nAPI version: 0.1.0\n\n## Requirements\n\n- Python 3.8+\n- Docker engine. [Documentation](https://docs.docker.com/engine/install/)\n\n## Installation & Usage\n\n1. If you don't have `Poetry` installed run:\n\n```bash\npip install poetry\n```\n\n2. Install dependencies:\n\n```bash\npoetry config virtualenvs.in-project true\npoetry install --no-root\n```\n\n3. Running tests:\n\n```bash\npoetry run pytest\n```\n\nYou can test the application for multiple versions of Python. To do this, you need to install the required Python versions on your operating system, specify these versions in the tox.ini file, and then run the tests:\n```bash\npoetry run tox\n```\nAdd the tox.ini file to `client/.openapi-generator-ignore` so that it doesn't get overwritten during client generation.\n\n4. Building package:\n\n```bash\npoetry build\n```\n\n5. Publishing\n```bash\npoetry config pypi-token.pypi <pypi token>\npoetry publish\n```\n\n## Client generator\nTo generate the client, execute the following script from the project root folder\n```bash\npoetry --directory server run python ./tools/client_generator/generate.py --file ./api/openapi.yaml\n```\n\n### Command\n```bash\ngenerate.py [--file <a path or URL to a .yaml file>] [--asyncio]\n```\n\n#### Arguments\n**--file**\nSpecifies the input OpenAPI specification file path or URL. This argument is required for generating the Python client. The input file can be either a local file path or a URL pointing to the OpenAPI schema.\n\n**--asyncio**\nFlag to indicate whether to generate asynchronous code. If this flag is provided, the generated Python client will include asynchronous features. By default, synchronous code is generated.\n\n#### Saving Arguments\n\nThe script saves provided arguments for future use. Upon the initial execution, if no arguments are provided, the script will check if there are previously saved arguments in the specified file path. If saved arguments are found, they will be loaded and used for generating the client. If no saved arguments are found or if new arguments are provided, the script will save the provided arguments for future use.\n\nThis mechanism ensures that users can omit specifying arguments on subsequent executions if the same arguments were used previously. Saved arguments are stored in a JSON file located at generator/args.json.\n\n#### Configuration\nYou can change the name of the client package in the file `/tools/client_generator/config.json`.\n\nAdd file's paths to `client/.openapi-generator-ignore` so that it doesn't get overwritten during client generation.\n\n#### Examples\n\n```bash\npython generate.py --file https://<domain>/openapi.json\npython generate.py --file https://<domain>/openapi.json --asyncio\npython generate.py --file /<path>/openapi.yaml\npython generate.py --file /<path>/openapi.yaml --asyncio\npython generate.py\n```\n\n## Getting Started\n\nPlease follow the [installation procedure](#installation--usage) and then run the following:\n\n```python\n\nimport template_web_client\nfrom template_web_client.rest import ApiException\nfrom pprint import pprint\n\n# Defining the host is optional and defaults to http://localhost\n# See configuration.py for a list of all supported configuration parameters.\nconfiguration = template_web_client.Configuration(\n    host = \"http://localhost\"\n)\n\n\n\n# Enter a context with an instance of the API client\nwith template_web_client.ApiClient(configuration) as api_client:\n    # Create an instance of the API class\n    api_instance = template_web_client.DefaultApi(api_client)\n\n    try:\n        # Example endpoint\n        api_response = api_instance.example_get()\n        print(\"The response of DefaultApi->example_get:\\n\")\n        pprint(api_response)\n    except ApiException as e:\n        print(\"Exception when calling DefaultApi->example_get: %s\\n\" % e)\n\n```\n\n## Documentation for API Endpoints\n\nAll URIs are relative to *http://localhost*\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*DefaultApi* | [**example_get**](docs/DefaultApi.md#example_get) | **GET** / | Example endpoint\n*ItemsApi* | [**items_create**](docs/ItemsApi.md#items_create) | **POST** /item/ | Create an item\n*ItemsApi* | [**items_delete_item**](docs/ItemsApi.md#items_delete_item) | **DELETE** /item/{id}/ | Delete an item\n*ItemsApi* | [**items_read_all**](docs/ItemsApi.md#items_read_all) | **GET** /item/ | Read all items\n*ItemsApi* | [**items_read_item**](docs/ItemsApi.md#items_read_item) | **GET** /item/{id}/ | Read an item\n*ItemsApi* | [**items_update_item**](docs/ItemsApi.md#items_update_item) | **PUT** /item/{id}/ | Update an item\n\n\n## Documentation For Models\n\n - [ExampleResponse](docs/ExampleResponse.md)\n - [HTTPValidationError](docs/HTTPValidationError.md)\n - [Item](docs/Item.md)\n - [ValidationError](docs/ValidationError.md)\n - [ValidationErrorLocInner](docs/ValidationErrorLocInner.md)\n\n\n<a id=\"documentation-for-authorization\"></a>\n## Documentation For Authorization\n\nEndpoints do not require authorization.\n\n\n## Author\n\nall-hiro@hiro-microdatacenters.nl\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Client for Template web service",
    "version": "0.1.1",
    "project_urls": null,
    "split_keywords": [
        "openapi",
        "openapi-generator",
        "template web service"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e704281f72a3a86fbae6efdcb397a88f7e17e6c9defc793ababb2125b8f7e5f7",
                "md5": "45c9762dd14b2a0b3fa8a007c1648309",
                "sha256": "f30910be4c4b9fd7c2dc7cf16dc89bb76c4525585f253af1c7095f2878b02d18"
            },
            "downloads": -1,
            "filename": "template_web_client-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "45c9762dd14b2a0b3fa8a007c1648309",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 31725,
            "upload_time": "2024-02-29T07:23:03",
            "upload_time_iso_8601": "2024-02-29T07:23:03.408837Z",
            "url": "https://files.pythonhosted.org/packages/e7/04/281f72a3a86fbae6efdcb397a88f7e17e6c9defc793ababb2125b8f7e5f7/template_web_client-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ed110f950c7c94d21bddf696e366e9c88fb433b1653f1452be73b0ed404f1489",
                "md5": "34a93343614d8ea86888bbfed99894b9",
                "sha256": "3b27ec7d29cd8121f869cede03b1d50bce5b4cecef70617d772df8a164226076"
            },
            "downloads": -1,
            "filename": "template_web_client-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "34a93343614d8ea86888bbfed99894b9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 23785,
            "upload_time": "2024-02-29T07:23:06",
            "upload_time_iso_8601": "2024-02-29T07:23:06.148804Z",
            "url": "https://files.pythonhosted.org/packages/ed/11/0f950c7c94d21bddf696e366e9c88fb433b1653f1452be73b0ed404f1489/template_web_client-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-29 07:23:06",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "template_web_client"
}
        
Elapsed time: 3.75674s