You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.4 KiB
Markdown
49 lines
1.4 KiB
Markdown
# Developer guide
|
|
|
|
## General info
|
|
|
|
Most of the files in this package are generated. The `gen/` directory
|
|
contains generator config and templates.
|
|
|
|
## How to generate API
|
|
|
|
1. Obtain the REST API schema:
|
|
```bash
|
|
python manage.py spectacular --file schema.yml && mkdir -p cvat-sdk/schema/ && mv schema.yml cvat-sdk/schema/
|
|
```
|
|
|
|
2. Generate package code (call from the package root directory):
|
|
```bash
|
|
# pip install -r gen/requirements.txt
|
|
|
|
./gen/generate.sh
|
|
```
|
|
|
|
## How to edit templates
|
|
|
|
If you want to edit templates, obtain them from the generator first:
|
|
|
|
```bash
|
|
docker run --rm -v $PWD:/local \
|
|
openapitools/openapi-generator-cli author template \
|
|
-o /local/generator_templates -g python
|
|
```
|
|
|
|
Then, you can copy the modified version of the template you need into
|
|
the `gen/templates/openapi-generator/` directory.
|
|
|
|
Relevant links:
|
|
- [Generator implementation, available variables in templates](https://github.com/OpenAPITools/openapi-generator/tree/master/modules/openapi-generator/src/main/java/org/openapitools/codegen)
|
|
- [Mustache syntax in the generator](https://github.com/OpenAPITools/openapi-generator/wiki/Mustache-Template-Variables)
|
|
|
|
## How to test
|
|
|
|
API client tests are integrated into REST API tests (`/tests/python/rest_api`)
|
|
and SDK tests are placed next to them (`/tests/python/sdk`).
|
|
To execute, run:
|
|
```bash
|
|
pytest tests/python/rest_api tests/python/sdk
|
|
```
|
|
|
|
To allow editing of the package, install it with `pip install -e cvat-sdk/`.
|