%global _empty_manifest_terminate_build 0
Name:		python-arcor2-execution-rest-proxy
Version:	1.0.0
Release:	1
Summary:	REST Proxy for ARCOR2 Execution service.
License:	LGPL
URL:		https://pypi.org/project/arcor2-execution-rest-proxy/
Source0:	https://mirrors.aliyun.com/pypi/web/packages/0a/32/c4998db6f6312d0b6163679444ecfbcf358abd5ca46002372488d6ed45a0/arcor2_execution_rest_proxy-1.0.0.tar.gz
BuildArch:	noarch

Requires:	python3-Flask
Requires:	python3-arcor2-execution-data
Requires:	python3-arcor2-runtime
Requires:	python3-arcor2
Requires:	python3-dataclasses-jsonschema[apispec,fast-dateparsing,fast-uuid,fast-validation]
Requires:	python3-fastuuid
Requires:	python3-sqlitedict
Requires:	python3-websocket-client
Requires:	python3-werkzeug

%description
# arcor2_execution_rest_proxy

## Environment variables

- `ARCOR2_EXECUTION_PROXY_PORT=5009` - by default, the service listens on port 5009.
- `ARCOR2_EXECUTION_PROXY_DB_PATH=/tmp` - by default, the service stores its files in the `/tmp` folder.
- `ARCOR2_REST_API_DEBUG=1` - turns on Flask debugging (logs each endpoint call).
# Changelog

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## [1.0.0] - 2023-02-14

### Changed

- Marked as a stable version.

### Added

- Health check end-point `/healthz/ready`.

## [0.18.0] - 2022-10-28

### Changed

- Switched to Python 3.10, updated dependencies.

## [0.17.1] - 2022-08-02

### Changed

- Update of swagger definition for selected endpoints.

## [0.17.0] - 2022-07-11

### Changed

- **BREAKING**: Implement new error handling flow. Error codes of **every** endpoint were replaced with error 
  types as described in swagger documentation.
- **BREAKING**: `/packages/executioninfo` endpoint changed to `/packages/state`. Tests updated.
- Update of API description.
- Change of service name.

### Added

- New API exceptions added.
- `SummaryProject`, `SummaryPackage`, `ExecutionInfo`, `Token` fields description.

## [0.16.0] - 2022-01-25

### Added

- `ExecutionInfo` was extended with an optional property `actionPointIds`.

### Changed

- Switched to Python 3.9, updated dependencies.

## [0.15.1] - 2021-11-08

## Fixed

- Fixed mutual dependency between `arcor2_execution_data` and `arcor2_runtime` (`package.py` moved to `arcor2_runtime`).

## [0.15.0] - 2021-11-02

### Changed

- Added API for setting and getting breakpoints.
  - Breakpoints are cleared when package is normally started or deleted.
  - Breakpoints can be only set when there is no running package.
- API version changed to 0.8.0.

## [0.14.0] - 2021-10-25

### Changed

- Support for debugging.
  - New methods `PUT /packages/{packageId}/debug` and `PUT /packages/step`.
  - The script can now be started in paused state.
  - Breakpoints can be set on action points.
  - The paused script can be stepped to the following action.

## [0.13.2] - 2021-09-02

### Changed
- Added EXPOSE to dockerfile

## [0.13.1] - 2021-08-04

### Fixed
- API version was not updated.

## [0.13.0] - 2021-07-29

### Changed
- Property `description` added to `SummaryProject`.
- If more exceptions happen, they are combined into `exceptionMessage`.


## [0.12.0] - 2021-06-11

### Changed
- OpenAPI definition updated.

## [0.11.0] - 2021-05-21

### Changed
- Update of dependencies.

## [0.10.0] - 2021-03-30

### Changed
- Implements Execution API 0.5.0.
  - Execution state `Pending` was added, which is reported when long-running operation takes place (e.g. pause a package).

## [0.9.0] - 2021-02-08

### Changed
- Part of the code refactored into `arcor2/flask.py`.
- Update of 3rd party dependencies.

## [0.8.3] - 2020-12-14

### Fixed
- Error code and message when attempting to delete a non-existent execution package. 

## [0.8.2] - 2020-10-22

### Changed
- Implements Execution API 0.4.0.
  - `ProjectName` property added to `SummaryPackage` model.

## [0.8.1] - 2020-10-19

### Changed
- ARCOR2 dependency updated

## [0.8.0] - 2020-09-24
### Changed
- The first release of the separated package.
- API version is now hardcoded (0.3.0 at the moment).
- Tokens controller added.
  - Tokens as saved in DB in directory specified by ```ARCOR2_EXECUTION_PROXY_DB_PATH```.
- Added wait until the Execution service is up.


%package -n python3-arcor2-execution-rest-proxy
Summary:	REST Proxy for ARCOR2 Execution service.
Provides:	python-arcor2-execution-rest-proxy
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-arcor2-execution-rest-proxy
# arcor2_execution_rest_proxy

## Environment variables

- `ARCOR2_EXECUTION_PROXY_PORT=5009` - by default, the service listens on port 5009.
- `ARCOR2_EXECUTION_PROXY_DB_PATH=/tmp` - by default, the service stores its files in the `/tmp` folder.
- `ARCOR2_REST_API_DEBUG=1` - turns on Flask debugging (logs each endpoint call).
# Changelog

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## [1.0.0] - 2023-02-14

### Changed

- Marked as a stable version.

### Added

- Health check end-point `/healthz/ready`.

## [0.18.0] - 2022-10-28

### Changed

- Switched to Python 3.10, updated dependencies.

## [0.17.1] - 2022-08-02

### Changed

- Update of swagger definition for selected endpoints.

## [0.17.0] - 2022-07-11

### Changed

- **BREAKING**: Implement new error handling flow. Error codes of **every** endpoint were replaced with error 
  types as described in swagger documentation.
- **BREAKING**: `/packages/executioninfo` endpoint changed to `/packages/state`. Tests updated.
- Update of API description.
- Change of service name.

### Added

- New API exceptions added.
- `SummaryProject`, `SummaryPackage`, `ExecutionInfo`, `Token` fields description.

## [0.16.0] - 2022-01-25

### Added

- `ExecutionInfo` was extended with an optional property `actionPointIds`.

### Changed

- Switched to Python 3.9, updated dependencies.

## [0.15.1] - 2021-11-08

## Fixed

- Fixed mutual dependency between `arcor2_execution_data` and `arcor2_runtime` (`package.py` moved to `arcor2_runtime`).

## [0.15.0] - 2021-11-02

### Changed

- Added API for setting and getting breakpoints.
  - Breakpoints are cleared when package is normally started or deleted.
  - Breakpoints can be only set when there is no running package.
- API version changed to 0.8.0.

## [0.14.0] - 2021-10-25

### Changed

- Support for debugging.
  - New methods `PUT /packages/{packageId}/debug` and `PUT /packages/step`.
  - The script can now be started in paused state.
  - Breakpoints can be set on action points.
  - The paused script can be stepped to the following action.

## [0.13.2] - 2021-09-02

### Changed
- Added EXPOSE to dockerfile

## [0.13.1] - 2021-08-04

### Fixed
- API version was not updated.

## [0.13.0] - 2021-07-29

### Changed
- Property `description` added to `SummaryProject`.
- If more exceptions happen, they are combined into `exceptionMessage`.


## [0.12.0] - 2021-06-11

### Changed
- OpenAPI definition updated.

## [0.11.0] - 2021-05-21

### Changed
- Update of dependencies.

## [0.10.0] - 2021-03-30

### Changed
- Implements Execution API 0.5.0.
  - Execution state `Pending` was added, which is reported when long-running operation takes place (e.g. pause a package).

## [0.9.0] - 2021-02-08

### Changed
- Part of the code refactored into `arcor2/flask.py`.
- Update of 3rd party dependencies.

## [0.8.3] - 2020-12-14

### Fixed
- Error code and message when attempting to delete a non-existent execution package. 

## [0.8.2] - 2020-10-22

### Changed
- Implements Execution API 0.4.0.
  - `ProjectName` property added to `SummaryPackage` model.

## [0.8.1] - 2020-10-19

### Changed
- ARCOR2 dependency updated

## [0.8.0] - 2020-09-24
### Changed
- The first release of the separated package.
- API version is now hardcoded (0.3.0 at the moment).
- Tokens controller added.
  - Tokens as saved in DB in directory specified by ```ARCOR2_EXECUTION_PROXY_DB_PATH```.
- Added wait until the Execution service is up.


%package help
Summary:	Development documents and examples for arcor2-execution-rest-proxy
Provides:	python3-arcor2-execution-rest-proxy-doc
%description help
# arcor2_execution_rest_proxy

## Environment variables

- `ARCOR2_EXECUTION_PROXY_PORT=5009` - by default, the service listens on port 5009.
- `ARCOR2_EXECUTION_PROXY_DB_PATH=/tmp` - by default, the service stores its files in the `/tmp` folder.
- `ARCOR2_REST_API_DEBUG=1` - turns on Flask debugging (logs each endpoint call).
# Changelog

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## [1.0.0] - 2023-02-14

### Changed

- Marked as a stable version.

### Added

- Health check end-point `/healthz/ready`.

## [0.18.0] - 2022-10-28

### Changed

- Switched to Python 3.10, updated dependencies.

## [0.17.1] - 2022-08-02

### Changed

- Update of swagger definition for selected endpoints.

## [0.17.0] - 2022-07-11

### Changed

- **BREAKING**: Implement new error handling flow. Error codes of **every** endpoint were replaced with error 
  types as described in swagger documentation.
- **BREAKING**: `/packages/executioninfo` endpoint changed to `/packages/state`. Tests updated.
- Update of API description.
- Change of service name.

### Added

- New API exceptions added.
- `SummaryProject`, `SummaryPackage`, `ExecutionInfo`, `Token` fields description.

## [0.16.0] - 2022-01-25

### Added

- `ExecutionInfo` was extended with an optional property `actionPointIds`.

### Changed

- Switched to Python 3.9, updated dependencies.

## [0.15.1] - 2021-11-08

## Fixed

- Fixed mutual dependency between `arcor2_execution_data` and `arcor2_runtime` (`package.py` moved to `arcor2_runtime`).

## [0.15.0] - 2021-11-02

### Changed

- Added API for setting and getting breakpoints.
  - Breakpoints are cleared when package is normally started or deleted.
  - Breakpoints can be only set when there is no running package.
- API version changed to 0.8.0.

## [0.14.0] - 2021-10-25

### Changed

- Support for debugging.
  - New methods `PUT /packages/{packageId}/debug` and `PUT /packages/step`.
  - The script can now be started in paused state.
  - Breakpoints can be set on action points.
  - The paused script can be stepped to the following action.

## [0.13.2] - 2021-09-02

### Changed
- Added EXPOSE to dockerfile

## [0.13.1] - 2021-08-04

### Fixed
- API version was not updated.

## [0.13.0] - 2021-07-29

### Changed
- Property `description` added to `SummaryProject`.
- If more exceptions happen, they are combined into `exceptionMessage`.


## [0.12.0] - 2021-06-11

### Changed
- OpenAPI definition updated.

## [0.11.0] - 2021-05-21

### Changed
- Update of dependencies.

## [0.10.0] - 2021-03-30

### Changed
- Implements Execution API 0.5.0.
  - Execution state `Pending` was added, which is reported when long-running operation takes place (e.g. pause a package).

## [0.9.0] - 2021-02-08

### Changed
- Part of the code refactored into `arcor2/flask.py`.
- Update of 3rd party dependencies.

## [0.8.3] - 2020-12-14

### Fixed
- Error code and message when attempting to delete a non-existent execution package. 

## [0.8.2] - 2020-10-22

### Changed
- Implements Execution API 0.4.0.
  - `ProjectName` property added to `SummaryPackage` model.

## [0.8.1] - 2020-10-19

### Changed
- ARCOR2 dependency updated

## [0.8.0] - 2020-09-24
### Changed
- The first release of the separated package.
- API version is now hardcoded (0.3.0 at the moment).
- Tokens controller added.
  - Tokens as saved in DB in directory specified by ```ARCOR2_EXECUTION_PROXY_DB_PATH```.
- Added wait until the Execution service is up.


%prep
%autosetup -n arcor2_execution_rest_proxy-1.0.0

%build
%py3_build

%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
	find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
	find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
	find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
	find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
	find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .

%files -n python3-arcor2-execution-rest-proxy -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Fri Jun 09 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.0-1
- Package Spec generated