mirror of
https://github.com/tiqi-group/pydase_service_base.git
synced 2025-04-29 04:00:02 +02:00
38 lines
1.8 KiB
Markdown
38 lines
1.8 KiB
Markdown
# ICON Service Base
|
|
|
|
ICON Service Base is a git repository that contains code shared among all Icon services in a service-oriented architecture. The repository consists of a backend written in Python and a frontend written in TypeScript.
|
|
|
|
|
|
## Installation
|
|
### Python
|
|
|
|
Make sure you have Python 3.10 or later installed on your system. The dependencies of this package are handled with [`poetry`](https://python-poetry.org/docs/#installation). You can install the `icon_service_base` like so:
|
|
|
|
```bash
|
|
poetry add git+ssh://git@gitlab.phys.ethz.ch:tiqi-projects/qchub/icon-services/icon_service_base.git
|
|
```
|
|
|
|
### TypeScript frontend
|
|
Make sure you have Node.js and npm or yarn installed on your system. You can install `@icon-service/icon_service_base` like so:
|
|
|
|
```bash
|
|
npm install git+ssh://git@gitlab.phys.ethz.ch:tiqi-projects/qchub/icon-services/icon_service_base.git
|
|
```
|
|
|
|
## Usage
|
|
### Python
|
|
The Python code can be used as a library in other ICON services. Import the relevant modules and classes from the `icon_service_base` package in your Python code, as needed.
|
|
### TypeScript Frontend
|
|
The frontend code contains the core of the typescript openAPI clients generated by [`openapi-typescript-codegen`](https://github.com/ferdikoomen/openapi-typescript-codegen/tree/master). This needs to be imported in the ICON services like so:
|
|
|
|
```ts
|
|
import { OpenAPI } from '@icon-service/icon_service_base';
|
|
import { request as __request } from '@icon-service/icon_service_base';
|
|
export { ApiError } from "@icon-service/icon_service_base";
|
|
export { CancelablePromise, CancelError } from '@icon-service/icon_service_base';
|
|
export type { OpenAPIConfig } from '@icon-service/icon_service_base';
|
|
```
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details. |