├── .aicoe-ci.yaml ├── .codeclimate.yml ├── .gitattributes ├── .gitignore ├── .mypy.ini ├── .pre-commit-config.yaml ├── .prow.yaml ├── .thoth.yaml ├── CHANGELOG.md ├── Documentation ├── AdviseApi.md ├── AdviseInput.md ├── AdviseInputLibraryUsage.md ├── AdviserResultResponse.md ├── AdviserResultResponseMetadata.md ├── AdviserResultResponseMetadataDistribution.md ├── AdviserResultResponseMetadataDistributionVersionParts.md ├── AdviserResultResponseMetadataPython.md ├── AdviserResultResponseResult.md ├── AdviserResultResponseResultReport.md ├── AdviserResultResponseResultReportDependencyGraph.md ├── AdviserResultResponseResultReportPipeline.md ├── AdviserResultResponseResultReportProducts.md ├── AnalysisLogResponse.md ├── AnalysisResponse.md ├── AnalysisResponseError.md ├── AnalysisResultResponse.md ├── AnalysisResultResponseMetadata.md ├── AnalysisResultResponseResult.md ├── AnalysisResultResponseResultAicoeci.md ├── AnalysisResultResponseResultDeb.md ├── AnalysisResultResponseResultDebdependencies.md ├── AnalysisResultResponseResultPythonfiles.md ├── AnalysisResultResponseResultPythoninterpreters.md ├── AnalysisResultResponseResultPythonpackages.md ├── AnalysisStatusResponse.md ├── AnalysisStatusResponseStatus.md ├── AnalysisUnauthorizedError.md ├── AnalysisWithAuthenticationResponse.md ├── Build.md ├── BuildAnalysisApi.md ├── BuildAnalysisResponse.md ├── BuildAnalysisResponseBaseImageAnalysis.md ├── BuildAnalysisResponseBuildlogAnalysis.md ├── BuildAnalysisResponseError.md ├── BuildAnalysisResponseErrorBaseImageAnalysis.md ├── BuildAnalysisResponseErrorBuildLogAnalysis.md ├── BuildBuildLog.md ├── BuildlogsApi.md ├── CallbackInfo.md ├── ContainerImagesApi.md ├── ContainerImagesResponse.md ├── ContainerImagesResponseContainerImages.md ├── ContainerImagesResponseError.md ├── ContainerImagesResponseParameters.md ├── DebDependencyItem.md ├── EnvironmentsApi.md ├── ImageAnalysisApi.md ├── ImageMetadataResponse.md ├── Justification.md ├── JustificationInner.md ├── KebechetApi.md ├── KebechetMetadata.md ├── KebechetWebhookInput.md ├── ProjectDef.md ├── ProjectDefConstraints.md ├── ProvenanceApi.md ├── ProvenanceInput.md ├── ProvenanceResultResponse.md ├── ProvenanceResultResponseMetadata.md ├── ProvenanceResultResponseMetadataDistribution.md ├── ProvenanceResultResponseMetadataDistributionVersionParts.md ├── ProvenanceResultResponseResult.md ├── ProvenanceResultResponseResultParameters.md ├── PythonEnvironments.md ├── PythonEnvironmentsEnvironment.md ├── PythonPackageDependencies.md ├── PythonPackageDependenciesDependencies.md ├── PythonPackageDependenciesError.md ├── PythonPackageIndexes.md ├── PythonPackageIndexesIndexes.md ├── PythonPackageNameImportResponse.md ├── PythonPackageNameImportResponsePackageNames.md ├── PythonPackageNameResponseError.md ├── PythonPackageVersionEnvironmentsResponse.md ├── PythonPackageVersionMetadataResponse.md ├── PythonPackageVersionMetadataResponseError.md ├── PythonPackageVersionMetadataResponseMetadata.md ├── PythonPackageVersionMetadataResponseMetadataImportlibMetadata.md ├── PythonPackageVersionMetadataResponseMetadataImportlibMetadataEntryPoints.md ├── PythonPackageVersionsResponse.md ├── PythonPackageVersionsResponseError.md ├── PythonPackageVersionsResponseVersions.md ├── PythonPackagesApi.md ├── PythonPackagesResponse.md ├── PythonPackagesResponsePackages.md ├── PythonPlatforms.md ├── PythonStack.md ├── RepoInitInput.md ├── RequirementsDef.md ├── RequirementsLockDef.md ├── RuntimeEnvironment.md ├── RuntimeEnvironmentHardware.md ├── RuntimeEnvironmentOperatingSystem.md ├── StackInfo.md └── UnitDef.md ├── LICENSE ├── MANIFEST.in ├── OWNERS ├── Pipfile ├── Pipfile.lock ├── README.rst ├── docs └── source │ ├── _templates │ └── layout.html │ ├── conf.py │ ├── index.rst │ └── openapi.rst ├── requirements.txt ├── setup.py ├── swagger-codegen.json ├── swagger-codegen.sh ├── tests ├── base.py ├── data │ ├── cpu_info_file │ └── response_1.json ├── test_discover.py └── test_response.py ├── thamos-cli └── thamos ├── __init__.py ├── cli.py ├── cli_config.py ├── config.py ├── data └── defaultThoth.yaml ├── discover.py ├── exceptions.py ├── lib.py ├── py.typed ├── swagger_client ├── __init__.py ├── api_client.py ├── configuration.py ├── models │ ├── __init__.py │ ├── advise_input.py │ ├── advise_input_library_usage.py │ ├── adviser_result_response.py │ ├── adviser_result_response_metadata.py │ ├── adviser_result_response_metadata_distribution.py │ ├── adviser_result_response_metadata_distribution_version_parts.py │ ├── adviser_result_response_metadata_python.py │ ├── adviser_result_response_result.py │ ├── adviser_result_response_result_report.py │ ├── adviser_result_response_result_report_dependency_graph.py │ ├── adviser_result_response_result_report_pipeline.py │ ├── adviser_result_response_result_report_products.py │ ├── analysis_log_response.py │ ├── analysis_response.py │ ├── analysis_response_error.py │ ├── analysis_result_response.py │ ├── analysis_result_response_metadata.py │ ├── analysis_result_response_result.py │ ├── analysis_result_response_result_aicoeci.py │ ├── analysis_result_response_result_deb.py │ ├── analysis_result_response_result_debdependencies.py │ ├── analysis_result_response_result_pythonfiles.py │ ├── analysis_result_response_result_pythoninterpreters.py │ ├── analysis_result_response_result_pythonpackages.py │ ├── analysis_status_response.py │ ├── analysis_status_response_status.py │ ├── analysis_unauthorized_error.py │ ├── analysis_with_authentication_response.py │ ├── build.py │ ├── build_analysis_response.py │ ├── build_analysis_response_base_image_analysis.py │ ├── build_analysis_response_buildlog_analysis.py │ ├── build_analysis_response_error.py │ ├── build_analysis_response_error_base_image_analysis.py │ ├── build_analysis_response_error_build_log_analysis.py │ ├── build_build_log.py │ ├── callback_info.py │ ├── container_images_response.py │ ├── container_images_response_container_images.py │ ├── container_images_response_error.py │ ├── container_images_response_parameters.py │ ├── deb_dependency_item.py │ ├── image_metadata_response.py │ ├── justification.py │ ├── justification_inner.py │ ├── kebechet_metadata.py │ ├── kebechet_webhook_input.py │ ├── project_def.py │ ├── project_def_constraints.py │ ├── provenance_input.py │ ├── provenance_result_response.py │ ├── provenance_result_response_metadata.py │ ├── provenance_result_response_metadata_distribution.py │ ├── provenance_result_response_metadata_distribution_version_parts.py │ ├── provenance_result_response_result.py │ ├── provenance_result_response_result_parameters.py │ ├── python_environments.py │ ├── python_environments_environment.py │ ├── python_package_dependencies.py │ ├── python_package_dependencies_dependencies.py │ ├── python_package_dependencies_error.py │ ├── python_package_indexes.py │ ├── python_package_indexes_indexes.py │ ├── python_package_name_import_response.py │ ├── python_package_name_import_response_package_names.py │ ├── python_package_name_response_error.py │ ├── python_package_version_environments_response.py │ ├── python_package_version_metadata_response.py │ ├── python_package_version_metadata_response_error.py │ ├── python_package_version_metadata_response_metadata.py │ ├── python_package_version_metadata_response_metadata_importlib_metadata.py │ ├── python_package_version_metadata_response_metadata_importlib_metadata_entry_points.py │ ├── python_package_versions_response.py │ ├── python_package_versions_response_error.py │ ├── python_package_versions_response_versions.py │ ├── python_packages_response.py │ ├── python_packages_response_packages.py │ ├── python_platforms.py │ ├── python_stack.py │ ├── repo_init_input.py │ ├── requirements_def.py │ ├── requirements_lock_def.py │ ├── runtime_environment.py │ ├── runtime_environment_hardware.py │ ├── runtime_environment_operating_system.py │ ├── stack_info.py │ └── unit_def.py ├── rest.py └── thoth │ ├── __init__.py │ ├── advise_api.py │ ├── build_analysis_api.py │ ├── buildlogs_api.py │ ├── container_images_api.py │ ├── environments_api.py │ ├── image_analysis_api.py │ ├── kebechet_api.py │ ├── provenance_api.py │ └── python_packages_api.py └── utils.py /.aicoe-ci.yaml: -------------------------------------------------------------------------------- 1 | check: [] 2 | release: 3 | - upload-pypi-sesheta 4 | -------------------------------------------------------------------------------- /.codeclimate.yml: -------------------------------------------------------------------------------- 1 | exclude_patterns: 2 | - "thamos/swagger_client/**" 3 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set unix LF EOL for shell scripts 2 | *.sh text eol=lf 3 | *.py text working-tree-encoding=utf-8 eol=lf 4 | *.ipynb text 5 | * text=auto 6 | 7 | *.db binary 8 | *.p binary 9 | *.pkl binary 10 | *.pickle binary 11 | *.pyc binary 12 | *.pyd binary 13 | *.pyo binary 14 | 15 | Pipenv.lock linguist-generated=true 16 | 17 | **/swagger_client/** -diff linguist-generated=true 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | MANIFEST 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .coverage 42 | .coverage.* 43 | .cache 44 | nosetests.xml 45 | coverage.xml 46 | *.cover 47 | .hypothesis/ 48 | .pytest_cache/ 49 | 50 | # Translations 51 | *.mo 52 | *.pot 53 | 54 | # Django stuff: 55 | *.log 56 | local_settings.py 57 | db.sqlite3 58 | 59 | # Flask stuff: 60 | instance/ 61 | .webassets-cache 62 | 63 | # Scrapy stuff: 64 | .scrapy 65 | 66 | # Sphinx documentation 67 | docs/_build/ 68 | 69 | # PyBuilder 70 | target/ 71 | 72 | # Jupyter Notebook 73 | .ipynb_checkpoints 74 | 75 | # pyenv 76 | .python-version 77 | 78 | # celery beat schedule file 79 | celerybeat-schedule 80 | 81 | # SageMath parsed files 82 | *.sage.py 83 | 84 | # Environments 85 | .env 86 | .venv 87 | env/ 88 | venv/ 89 | ENV/ 90 | env.bak/ 91 | venv.bak/ 92 | 93 | # Spyder project settings 94 | .spyderproject 95 | .spyproject 96 | 97 | # Rope project settings 98 | .ropeproject 99 | 100 | # mkdocs documentation 101 | /site 102 | 103 | # mypy 104 | .mypy_cache/ 105 | 106 | # Ignore swagger-codegen temporary output and swagger-codegen itself. 107 | swagger-codegen-output/ 108 | swagger-codegen/ 109 | .vscode 110 | -------------------------------------------------------------------------------- /.mypy.ini: -------------------------------------------------------------------------------- 1 | [mypy] 2 | disable_error_code = misc 3 | show_error_codes = True 4 | files = **/*.py 5 | ignore_missing_imports = True 6 | 7 | [mypy-thamos.swagger_client.*] 8 | ignore_errors = True 9 | 10 | [mypy-sphinx_nameko_theme] 11 | ignore_missing_imports = true 12 | 13 | [mypy-setuptools] 14 | ignore_missing_imports = true 15 | 16 | [mypy-distro] 17 | ignore_missing_imports = true 18 | 19 | [mypy-jsonschema] 20 | ignore_missing_imports = true 21 | 22 | [mypy-requests] 23 | ignore_missing_imports = true 24 | 25 | [mypy-micropipenv] 26 | ignore_missing_imports = true 27 | 28 | [mypy-invectio] 29 | ignore_missing_imports = true 30 | 31 | [mypy-PyYAML] 32 | ignore_missing_imports = true 33 | 34 | [mypy-termcolor] 35 | ignore_missing_imports = true 36 | 37 | [mypy-thoth.analyzer.*] 38 | ignore_missing_imports = true 39 | 40 | [mypy-toml] 41 | ignore_missing_imports = true 42 | 43 | [mypy-yaml] 44 | ignore_missing_imports = true 45 | 46 | [mypy-yaspin] 47 | ignore_missing_imports = true 48 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | exclude: "thamos/swagger_client/|docs/|Documentation|tests/data/cpu_info_file" 3 | repos: 4 | - repo: https://github.com/Lucas-C/pre-commit-hooks 5 | rev: v1.3.1 6 | hooks: 7 | - id: remove-tabs 8 | 9 | - repo: https://github.com/pre-commit/pre-commit-hooks 10 | rev: v4.3.0 11 | hooks: 12 | - id: check-added-large-files 13 | - id: check-ast 14 | - id: check-byte-order-marker 15 | - id: check-case-conflict 16 | - id: check-docstring-first 17 | - id: check-json 18 | - id: check-merge-conflict 19 | - id: check-symlinks 20 | - id: check-toml 21 | - id: check-yaml 22 | - id: debug-statements 23 | - id: detect-private-key 24 | - id: end-of-file-fixer 25 | - id: trailing-whitespace 26 | 27 | - repo: https://github.com/pycqa/pydocstyle.git 28 | rev: 6.1.1 29 | hooks: 30 | - id: pydocstyle 31 | exclude: "thamos/swagger_client/|docs/" 32 | 33 | 34 | - repo: https://github.com/psf/black 35 | rev: 22.10.0 36 | hooks: 37 | - id: black 38 | additional_dependencies: ['click==8.0.4'] 39 | 40 | - repo: https://github.com/PyCQA/flake8 41 | rev: 5.0.4 42 | hooks: 43 | - id: flake8 44 | additional_dependencies: ["pep8-naming"] 45 | # Ignore all format-related checks as Black takes care of those. 46 | args: 47 | ["--ignore", "E2,W5,N818", "--select", "E,W,F,N", "--max-line-length=120"] 48 | exclude: "^(thamos/swagger_client/|examples/|docs/)" 49 | 50 | - repo: https://github.com/mgedmin/check-manifest 51 | rev: "0.48" 52 | hooks: 53 | - id: check-manifest 54 | -------------------------------------------------------------------------------- /.prow.yaml: -------------------------------------------------------------------------------- 1 | presubmits: 2 | - always_run: true 3 | context: op1st/prow/pre-commit 4 | decorate: true 5 | name: pre-commit 6 | skip_report: false 7 | spec: 8 | containers: 9 | - command: 10 | - pre-commit 11 | - run 12 | - --all-files 13 | image: quay.io/thoth-station/thoth-precommit-py38:v0.15.0 14 | - always_run: true 15 | context: op1st/prow/mypy 16 | decorate: true 17 | name: thoth-mypy-py38 18 | skip_report: false 19 | spec: 20 | containers: 21 | - command: 22 | - /bin/run-mypy 23 | - . 24 | - --ignore-missing-imports 25 | - --exclude 26 | - docs/|tasks/|tests/|setup.py|thamos/swagger_client/|examples/ 27 | image: quay.io/thoth-station/thoth-pytest-ubi8-py38:v0.15.0 28 | - always_run: true 29 | context: op1st/prow/pytest 30 | decorate: true 31 | name: thoth-pytest-py38 32 | skip_report: false 33 | spec: 34 | containers: 35 | - command: 36 | - /bin/run-pytest 37 | image: quay.io/thoth-station/thoth-pytest-ubi8-py38:v0.15.0 38 | -------------------------------------------------------------------------------- /.thoth.yaml: -------------------------------------------------------------------------------- 1 | host: khemenu.thoth-station.ninja 2 | tls_verify: true 3 | requirements_format: pipenv 4 | 5 | runtime_environments: 6 | - name: ubi8 7 | operating_system: 8 | name: ubi 9 | version: "8" 10 | python_version: "3.8" 11 | recommendation_type: latest 12 | 13 | managers: 14 | - name: pipfile-requirements 15 | - name: update 16 | configuration: 17 | labels: [bot] 18 | - name: info 19 | - name: version 20 | configuration: 21 | assignees: 22 | - sesheta 23 | labels: [bot] 24 | changelog_file: true 25 | -------------------------------------------------------------------------------- /Documentation/AdviseInput.md: -------------------------------------------------------------------------------- 1 | # AdviseInput 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **application_stack** | [**PythonStack**](PythonStack.md) | | 7 | **callback_info** | [**CallbackInfo**](CallbackInfo.md) | | [optional] 8 | **constraints** | **str** | Constraints to apply during the resolution | [optional] 9 | **justification** | [**Justification**](Justification.md) | | [optional] 10 | **kebechet_metadata** | [**KebechetMetadata**](KebechetMetadata.md) | | [optional] 11 | **labels** | **object** | Labels used to label the request | [optional] 12 | **library_usage** | [**AdviseInputLibraryUsage**](AdviseInputLibraryUsage.md) | | [optional] 13 | **runtime_environment** | [**RuntimeEnvironment**](RuntimeEnvironment.md) | | [optional] 14 | **stack_info** | [**StackInfo**](StackInfo.md) | | [optional] 15 | 16 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 17 | 18 | -------------------------------------------------------------------------------- /Documentation/AdviseInputLibraryUsage.md: -------------------------------------------------------------------------------- 1 | # AdviseInputLibraryUsage 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **report** | **object** | | 7 | **version** | **str** | | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/AdviserResultResponse.md: -------------------------------------------------------------------------------- 1 | # AdviserResultResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **metadata** | [**AdviserResultResponseMetadata**](AdviserResultResponseMetadata.md) | | 7 | **result** | [**AdviserResultResponseResult**](AdviserResultResponseResult.md) | | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/AdviserResultResponseMetadata.md: -------------------------------------------------------------------------------- 1 | # AdviserResultResponseMetadata 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **analyzer** | **str** | Analyzer name which handled analysis | 7 | **analyzer_version** | **str** | Version of analyzer handling analysis | 8 | **arguments** | **object** | Arguments passed to the analyzer | 9 | **_datetime** | **str** | Date and time of analysis end in ISO format | 10 | **distribution** | [**AdviserResultResponseMetadataDistribution**](AdviserResultResponseMetadataDistribution.md) | | 11 | **document_id** | **str** | A unique identifier of the document | 12 | **duration** | **int** | Number of seconds for which the analyzer was running | 13 | **hostname** | **str** | Pod name where the analysis was done | 14 | **os_release** | **object** | | 15 | **python** | [**AdviserResultResponseMetadataPython**](AdviserResultResponseMetadataPython.md) | | 16 | **thoth_deployment_name** | **str** | Name of Thoth's deployment that computed results | 17 | **timestamp** | **int** | Timestamp when results were computed | 18 | 19 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 20 | 21 | -------------------------------------------------------------------------------- /Documentation/AdviserResultResponseMetadataDistribution.md: -------------------------------------------------------------------------------- 1 | # AdviserResultResponseMetadataDistribution 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **codename** | **str** | Codename of environment in which the analysis was performed | 7 | **id** | **str** | Identifier of environment in which the analysis was performed | 8 | **like** | **str** | Similar environments in comparison to environment in which the analysis was performed | 9 | **version** | **str** | A string representation of environment version | 10 | **version_parts** | [**AdviserResultResponseMetadataDistributionVersionParts**](AdviserResultResponseMetadataDistributionVersionParts.md) | | 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | -------------------------------------------------------------------------------- /Documentation/AdviserResultResponseMetadataDistributionVersionParts.md: -------------------------------------------------------------------------------- 1 | # AdviserResultResponseMetadataDistributionVersionParts 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **build_number** | **str** | | 7 | **major** | **str** | | 8 | **minor** | **str** | | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/AdviserResultResponseMetadataPython.md: -------------------------------------------------------------------------------- 1 | # AdviserResultResponseMetadataPython 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **api_version** | **int** | | 7 | **implementation_name** | **str** | | 8 | **major** | **int** | | 9 | **micro** | **int** | | 10 | **minor** | **int** | | 11 | **releaselevel** | **str** | | 12 | **serial** | **int** | | 13 | 14 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 15 | 16 | -------------------------------------------------------------------------------- /Documentation/AdviserResultResponseResult.md: -------------------------------------------------------------------------------- 1 | # AdviserResultResponseResult 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **error** | **bool** | A flag indicating error during the advise | 7 | **error_msg** | **str** | An error message describing the error encountered | 8 | **parameters** | **object** | Parameters supplied on advise together with user inputs | 9 | **report** | [**AdviserResultResponseResultReport**](AdviserResultResponseResultReport.md) | | 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | -------------------------------------------------------------------------------- /Documentation/AdviserResultResponseResultReport.md: -------------------------------------------------------------------------------- 1 | # AdviserResultResponseResultReport 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **error** | **str** | Error message describing advise failure | [optional] 7 | **accepted_final_states_count** | **int** | Number of resolved states that were accepted | [optional] 8 | **discarded_final_states_count** | **int** | Number of states that were discarded during the resolution | [optional] 9 | **pipeline** | [**AdviserResultResponseResultReportPipeline**](AdviserResultResponseResultReportPipeline.md) | | [optional] 10 | **products** | [**list[AdviserResultResponseResultReportProducts]**](AdviserResultResponseResultReportProducts.md) | Products computed in the deployment, always holds only one item | [optional] 11 | **resolver_iterations** | **int** | Number of iterations done by the resolver to compute products | [optional] 12 | **stack_info** | [**StackInfo**](StackInfo.md) | | [optional] 13 | 14 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 15 | 16 | -------------------------------------------------------------------------------- /Documentation/AdviserResultResponseResultReportDependencyGraph.md: -------------------------------------------------------------------------------- 1 | # AdviserResultResponseResultReportDependencyGraph 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **edges** | **list[list[int]]** | Edge represented as a source-destination pair, representing indexes to the nodes listing | 7 | **nodes** | **list[str]** | A listing of nodes (package names) in the dependency graph | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/AdviserResultResponseResultReportPipeline.md: -------------------------------------------------------------------------------- 1 | # AdviserResultResponseResultReportPipeline 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **boots** | [**list[UnitDef]**](UnitDef.md) | Boot pipeline unit types registered to the resolution process | 7 | **pseudonyms** | [**list[UnitDef]**](UnitDef.md) | Pseudonym pipeline unit types registered to the resolution process | 8 | **sieves** | [**list[UnitDef]**](UnitDef.md) | Sieve pipeline unit types registered to the resolution process | 9 | **steps** | [**list[UnitDef]**](UnitDef.md) | Step pipeline unit types registered to the resolution process | 10 | **strides** | [**list[UnitDef]**](UnitDef.md) | Stride pipeline unit types registered to the resolution process | 11 | **wraps** | [**list[UnitDef]**](UnitDef.md) | Wrap pipeline unit types registered to the resolution process | 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | -------------------------------------------------------------------------------- /Documentation/AdviserResultResponseResultReportProducts.md: -------------------------------------------------------------------------------- 1 | # AdviserResultResponseResultReportProducts 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **advised_manifest_changes** | **list[list[object]]** | Advised changes to manifest files | 7 | **advised_runtime_environment** | [**RuntimeEnvironment**](RuntimeEnvironment.md) | | 8 | **dependency_graph** | [**AdviserResultResponseResultReportDependencyGraph**](AdviserResultResponseResultReportDependencyGraph.md) | | 9 | **justification** | [**Justification**](Justification.md) | | 10 | **project** | [**ProjectDef**](ProjectDef.md) | | 11 | **score** | **float** | Score of the computed product | 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | -------------------------------------------------------------------------------- /Documentation/AnalysisLogResponse.md: -------------------------------------------------------------------------------- 1 | # AnalysisLogResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **log** | **str** | Analyzer logs printed to stdout/stderr as a plain text | 7 | **parameters** | **object** | Parameters echoed back to user for debugging | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/AnalysisResponse.md: -------------------------------------------------------------------------------- 1 | # AnalysisResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **analysis_id** | **str** | An id of submitted analysis for checking its status and its results | 7 | **cached** | **bool** | If set to true the given analysis was picked from cache | 8 | **parameters** | **object** | Parameters echoed back to user (with default parameters if omitted) | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/AnalysisResponseError.md: -------------------------------------------------------------------------------- 1 | # AnalysisResponseError 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **error** | **str** | Error information for user | 7 | **parameters** | **object** | Parameters echoed back to user for debugging | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/AnalysisResultResponse.md: -------------------------------------------------------------------------------- 1 | # AnalysisResultResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **metadata** | [**AnalysisResultResponseMetadata**](AnalysisResultResponseMetadata.md) | | 7 | **result** | [**AnalysisResultResponseResult**](AnalysisResultResponseResult.md) | | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/AnalysisResultResponseMetadata.md: -------------------------------------------------------------------------------- 1 | # AnalysisResultResponseMetadata 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **analyzer** | **str** | Analyzer name which handled container image analysis | 7 | **analyzer_version** | **str** | Version of analyzer handling the container image analysis | 8 | **arguments** | **object** | Arguments passed to the analyzer | 9 | **_datetime** | **str** | Date and time of analysis end in ISO format | 10 | **distribution** | [**AdviserResultResponseMetadataDistribution**](AdviserResultResponseMetadataDistribution.md) | | 11 | **document_id** | **str** | A unique identifier of the document | 12 | **duration** | **int** | Number of seconds for which the analyzer was running | 13 | **hostname** | **str** | Pod name where the analysis was done | 14 | **os_release** | **object** | | 15 | **python** | [**AdviserResultResponseMetadataPython**](AdviserResultResponseMetadataPython.md) | | 16 | **thoth_deployment_name** | **str** | Name of Thoth's deployment that computed results | 17 | **timestamp** | **int** | Timestamp when results were computed | 18 | 19 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 20 | 21 | -------------------------------------------------------------------------------- /Documentation/AnalysisResultResponseResult.md: -------------------------------------------------------------------------------- 1 | # AnalysisResultResponseResult 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **aicoe_ci** | [**AnalysisResultResponseResultAicoeci**](AnalysisResultResponseResultAicoeci.md) | | 7 | **cuda_version** | **object** | Nvidia CUDA version detected - path is the key and CUDA version is the object value | 8 | **deb** | [**list[AnalysisResultResponseResultDeb]**](AnalysisResultResponseResultDeb.md) | Debian packages detected (experimental) | 9 | **deb_dependencies** | [**list[AnalysisResultResponseResultDebdependencies]**](AnalysisResultResponseResultDebdependencies.md) | Dependencies of Debian packages detected | 10 | **image_size** | **int** | Size of the container image in bytes | 11 | **layers** | **list[str]** | Container image layers, sorted based on the layer precedence | 12 | **mercator** | **list[object]** | Mercator (TM) output | 13 | **operating_system** | **object** | Operating System information | 14 | **python_files** | [**list[AnalysisResultResponseResultPythonfiles]**](AnalysisResultResponseResultPythonfiles.md) | Python files detected in the container image | 15 | **python_interpreters** | [**list[AnalysisResultResponseResultPythoninterpreters]**](AnalysisResultResponseResultPythoninterpreters.md) | Python interpreters detected inside the container image | 16 | **python_packages** | [**list[AnalysisResultResponseResultPythonpackages]**](AnalysisResultResponseResultPythonpackages.md) | Detected Python packages inside the container image | 17 | **rpm** | **list[str]** | A listing of container images found inside the analyzed container image | 18 | **rpm_dependencies** | **list[object]** | Information about RPM packages and their dependencies | 19 | **skopeo_inspect** | [**ImageMetadataResponse**](ImageMetadataResponse.md) | | 20 | **system_symbols** | **object** | Systems symbols detected - a path mapping to exported symbols available | 21 | 22 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 23 | 24 | -------------------------------------------------------------------------------- /Documentation/AnalysisResultResponseResultAicoeci.md: -------------------------------------------------------------------------------- 1 | # AnalysisResultResponseResultAicoeci 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **requirements** | [**RequirementsDef**](RequirementsDef.md) | | 7 | **requirements_lock** | [**RequirementsLockDef**](RequirementsLockDef.md) | | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/AnalysisResultResponseResultDeb.md: -------------------------------------------------------------------------------- 1 | # AnalysisResultResponseResultDeb 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **arch** | **str** | Package architecture | 7 | **name** | **str** | Name of the Debian package | 8 | **version** | **str** | Version identifier of the Debian package | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/AnalysisResultResponseResultDebdependencies.md: -------------------------------------------------------------------------------- 1 | # AnalysisResultResponseResultDebdependencies 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **depends** | [**DebDependencyItem**](DebDependencyItem.md) | | 7 | **epoch** | **str** | Debian package epoch | 8 | **name** | **str** | Debian package name | 9 | **pre_depends** | [**DebDependencyItem**](DebDependencyItem.md) | | 10 | **replaces** | [**DebDependencyItem**](DebDependencyItem.md) | | 11 | **version** | **str** | Debian package version | 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | -------------------------------------------------------------------------------- /Documentation/AnalysisResultResponseResultPythonfiles.md: -------------------------------------------------------------------------------- 1 | # AnalysisResultResponseResultPythonfiles 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **filepath** | **str** | | 7 | **sha256** | **str** | SHA256 of the file | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/AnalysisResultResponseResultPythoninterpreters.md: -------------------------------------------------------------------------------- 1 | # AnalysisResultResponseResultPythoninterpreters 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **link** | **str** | A dereferenced symlink (if any) to the Python interpreter | 7 | **path** | **str** | A path to the Python interpreter executable | 8 | **version** | **str** | Python interpreter version | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/AnalysisResultResponseResultPythonpackages.md: -------------------------------------------------------------------------------- 1 | # AnalysisResultResponseResultPythonpackages 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **location** | **str** | A location where the Python package is installed | 7 | **package_name** | **str** | Python package name | 8 | **package_version** | **str** | Python package version | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/AnalysisStatusResponse.md: -------------------------------------------------------------------------------- 1 | # AnalysisStatusResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **parameters** | **object** | Parameters echoed back to user for debugging | 7 | **status** | [**AnalysisStatusResponseStatus**](AnalysisStatusResponseStatus.md) | | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/AnalysisStatusResponseStatus.md: -------------------------------------------------------------------------------- 1 | # AnalysisStatusResponseStatus 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **finished_at** | **str** | Datetime in ISO format informing about when the analysis has finished | 7 | **reason** | **str** | Reasoning on finished run | 8 | **started_at** | **str** | Datetime in ISO format informing about when the analysis has started | 9 | **state** | **str** | | 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | -------------------------------------------------------------------------------- /Documentation/AnalysisUnauthorizedError.md: -------------------------------------------------------------------------------- 1 | # AnalysisUnauthorizedError 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **error** | **str** | Unauthorized error information | 7 | 8 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 9 | 10 | -------------------------------------------------------------------------------- /Documentation/AnalysisWithAuthenticationResponse.md: -------------------------------------------------------------------------------- 1 | # AnalysisWithAuthenticationResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **analysis_id** | **str** | An id of submitted analysis for checking its status and its results | 7 | **authenticated** | **bool** | If set to true the given analysis was authenticated | 8 | **cached** | **bool** | If set to true the given analysis was picked from cache | 9 | **parameters** | **object** | Parameters echoed back to user (with default parameters if omitted) | 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | -------------------------------------------------------------------------------- /Documentation/Build.md: -------------------------------------------------------------------------------- 1 | # Build 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **base_image** | **str** | Name of base image used by the s2i build | [optional] 7 | **build_log** | [**BuildBuildLog**](BuildBuildLog.md) | | [optional] 8 | **output_image** | **str** | Name of output image - can also specify remote registry to pull image from | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/BuildAnalysisResponse.md: -------------------------------------------------------------------------------- 1 | # BuildAnalysisResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **base_image_analysis** | [**BuildAnalysisResponseBaseImageAnalysis**](BuildAnalysisResponseBaseImageAnalysis.md) | | [optional] 7 | **buildlog_analysis** | [**BuildAnalysisResponseBuildlogAnalysis**](BuildAnalysisResponseBuildlogAnalysis.md) | | [optional] 8 | **buildlog_document_id** | **str** | Document identifier for the stored build log | [optional] 9 | **output_image_analysis** | [**BuildAnalysisResponseBaseImageAnalysis**](BuildAnalysisResponseBaseImageAnalysis.md) | | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | -------------------------------------------------------------------------------- /Documentation/BuildAnalysisResponseBaseImageAnalysis.md: -------------------------------------------------------------------------------- 1 | # BuildAnalysisResponseBaseImageAnalysis 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **analysis_id** | **str** | An identifier of submitted analysis for checking its status and its results | [optional] 7 | **cached** | **bool** | If set to true the given analysis was picked from cache | [optional] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/BuildAnalysisResponseBuildlogAnalysis.md: -------------------------------------------------------------------------------- 1 | # BuildAnalysisResponseBuildlogAnalysis 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **analysis_id** | **str** | An identifier of submitted analysis for checking its status and its results | [optional] 7 | **cached** | **bool** | If set to true the given analysis was picked from cache | [optional] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/BuildAnalysisResponseError.md: -------------------------------------------------------------------------------- 1 | # BuildAnalysisResponseError 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **base_image_analysis** | [**BuildAnalysisResponseErrorBaseImageAnalysis**](BuildAnalysisResponseErrorBaseImageAnalysis.md) | | 7 | **build_log_analysis** | [**BuildAnalysisResponseErrorBuildLogAnalysis**](BuildAnalysisResponseErrorBuildLogAnalysis.md) | | 8 | **output_image_analysis** | [**BuildAnalysisResponseErrorBuildLogAnalysis**](BuildAnalysisResponseErrorBuildLogAnalysis.md) | | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/BuildAnalysisResponseErrorBaseImageAnalysis.md: -------------------------------------------------------------------------------- 1 | # BuildAnalysisResponseErrorBaseImageAnalysis 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **error** | **str** | Error information for users | [optional] 7 | **parameters** | **object** | Parameters echoed back to user for debugging | [optional] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/BuildAnalysisResponseErrorBuildLogAnalysis.md: -------------------------------------------------------------------------------- 1 | # BuildAnalysisResponseErrorBuildLogAnalysis 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **error** | **str** | Error information for user | [optional] 7 | **parameters** | **object** | Parameters echoed back to user for debugging | [optional] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/BuildBuildLog.md: -------------------------------------------------------------------------------- 1 | # BuildBuildLog 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **apiversion** | **str** | BuildLog api version | [optional] 7 | **kind** | **str** | Type of the log | [optional] 8 | **log** | **str** | A full build or installation log that was output during image build | [optional] 9 | **metadata** | **str** | | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | -------------------------------------------------------------------------------- /Documentation/BuildlogsApi.md: -------------------------------------------------------------------------------- 1 | # thamos.swagger_client.BuildlogsApi 2 | 3 | All URIs are relative to https://test.thoth-station.ninja/api/v1 4 | 5 | Method | HTTP request | Description 6 | ------------- | ------------- | ------------- 7 | [**get_buildlog**](BuildlogsApi.md#get_buildlog) | **GET** /buildlog/{document_id} | Retrieve the given build log 8 | 9 | # **get_buildlog** 10 | > get_buildlog(document_id) 11 | 12 | Retrieve the given build log 13 | 14 | ### Example 15 | ```python 16 | from __future__ import print_function 17 | import time 18 | import thamos.swagger_client 19 | from thamos.swagger_client.rest import ApiException 20 | from pprint import pprint 21 | 22 | # create an instance of the API class 23 | api_instance = thamos.swagger_client.BuildlogsApi() 24 | document_id = 'document_id_example' # str | Build log to be retrieved 25 | 26 | try: 27 | # Retrieve the given build log 28 | api_instance.get_buildlog(document_id) 29 | except ApiException as e: 30 | print("Exception when calling BuildlogsApi->get_buildlog: %s\n" % e) 31 | ``` 32 | 33 | ### Parameters 34 | 35 | Name | Type | Description | Notes 36 | ------------- | ------------- | ------------- | ------------- 37 | **document_id** | **str**| Build log to be retrieved | 38 | 39 | ### Return type 40 | 41 | void (empty response body) 42 | 43 | ### Authorization 44 | 45 | No authorization required 46 | 47 | ### HTTP request headers 48 | 49 | - **Content-Type**: Not defined 50 | - **Accept**: Not defined 51 | 52 | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) 53 | 54 | -------------------------------------------------------------------------------- /Documentation/CallbackInfo.md: -------------------------------------------------------------------------------- 1 | # CallbackInfo 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **authorization** | **str** | string to be passed as auth header to client webhook url | [optional] 7 | **client_data** | **object** | arbitrary json that is passed back to the user upon request completion | [optional] 8 | **url** | **str** | url to post results to upon request completion | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/ContainerImagesApi.md: -------------------------------------------------------------------------------- 1 | # thamos.swagger_client.ContainerImagesApi 2 | 3 | All URIs are relative to https://test.thoth-station.ninja/api/v1 4 | 5 | Method | HTTP request | Description 6 | ------------- | ------------- | ------------- 7 | [**list_thoth_container_images**](ContainerImagesApi.md#list_thoth_container_images) | **GET** /container-images | List available Thoth container images 8 | 9 | # **list_thoth_container_images** 10 | > ContainerImagesResponse list_thoth_container_images(page=page, per_page=per_page, os_name=os_name, os_version=os_version, python_version=python_version, cuda_version=cuda_version, image_name=image_name, library_name=library_name, symbol=symbol, package_name=package_name, rpm_package_name=rpm_package_name) 11 | 12 | List available Thoth container images 13 | 14 | ### Example 15 | ```python 16 | from __future__ import print_function 17 | import time 18 | import thamos.swagger_client 19 | from thamos.swagger_client.rest import ApiException 20 | from pprint import pprint 21 | 22 | # create an instance of the API class 23 | api_instance = thamos.swagger_client.ContainerImagesApi() 24 | page = 0 # int | Page offset in pagination (optional) (default to 0) 25 | per_page = 25 # int | Number of items returned per page (optional) (default to 25) 26 | os_name = 'os_name_example' # str | Name of the operating system to consider (optional) 27 | os_version = 'os_version_example' # str | Version of the operating system to consider (optional) 28 | python_version = 'python_version_example' # str | Version of Python interpreter provided (optional) 29 | cuda_version = 'cuda_version_example' # str | Filter based on CUDA version available (optional) 30 | image_name = 'image_name_example' # str | Filter based on the image name (optional) 31 | library_name = 'library_name_example' # str | Filter based on library name (optional) 32 | symbol = 'symbol_example' # str | Filter based on symbol (optional) 33 | package_name = 'package_name_example' # str | Filter based on Python package name (optional) 34 | rpm_package_name = 'rpm_package_name_example' # str | Filter based on RPM package name (optional) 35 | 36 | try: 37 | # List available Thoth container images 38 | api_response = api_instance.list_thoth_container_images(page=page, per_page=per_page, os_name=os_name, os_version=os_version, python_version=python_version, cuda_version=cuda_version, image_name=image_name, library_name=library_name, symbol=symbol, package_name=package_name, rpm_package_name=rpm_package_name) 39 | pprint(api_response) 40 | except ApiException as e: 41 | print("Exception when calling ContainerImagesApi->list_thoth_container_images: %s\n" % e) 42 | ``` 43 | 44 | ### Parameters 45 | 46 | Name | Type | Description | Notes 47 | ------------- | ------------- | ------------- | ------------- 48 | **page** | **int**| Page offset in pagination | [optional] [default to 0] 49 | **per_page** | **int**| Number of items returned per page | [optional] [default to 25] 50 | **os_name** | **str**| Name of the operating system to consider | [optional] 51 | **os_version** | **str**| Version of the operating system to consider | [optional] 52 | **python_version** | **str**| Version of Python interpreter provided | [optional] 53 | **cuda_version** | **str**| Filter based on CUDA version available | [optional] 54 | **image_name** | **str**| Filter based on the image name | [optional] 55 | **library_name** | **str**| Filter based on library name | [optional] 56 | **symbol** | **str**| Filter based on symbol | [optional] 57 | **package_name** | **str**| Filter based on Python package name | [optional] 58 | **rpm_package_name** | **str**| Filter based on RPM package name | [optional] 59 | 60 | ### Return type 61 | 62 | [**ContainerImagesResponse**](ContainerImagesResponse.md) 63 | 64 | ### Authorization 65 | 66 | No authorization required 67 | 68 | ### HTTP request headers 69 | 70 | - **Content-Type**: Not defined 71 | - **Accept**: application/json 72 | 73 | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) 74 | 75 | -------------------------------------------------------------------------------- /Documentation/ContainerImagesResponse.md: -------------------------------------------------------------------------------- 1 | # ContainerImagesResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **container_images** | [**list[ContainerImagesResponseContainerImages]**](ContainerImagesResponseContainerImages.md) | | 7 | **parameters** | [**ContainerImagesResponseParameters**](ContainerImagesResponseParameters.md) | | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/ContainerImagesResponseContainerImages.md: -------------------------------------------------------------------------------- 1 | # ContainerImagesResponseContainerImages 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **cuda_version** | **str** | | 7 | **_datetime** | **str** | | 8 | **env_image_name** | **str** | | 9 | **env_image_tag** | **str** | | 10 | **environment_name** | **str** | | 11 | **environment_type** | **str** | | 12 | **image_analysis_url** | **str** | | 13 | **image_sha** | **str** | | 14 | **os_name** | **str** | | 15 | **os_version** | **str** | | 16 | **package_extract_document_id** | **str** | | 17 | **python_version** | **str** | | 18 | **quay_repo_url** | **str** | | 19 | **thoth_image_name** | **str** | | 20 | **thoth_image_version** | **str** | | 21 | 22 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 23 | 24 | -------------------------------------------------------------------------------- /Documentation/ContainerImagesResponseError.md: -------------------------------------------------------------------------------- 1 | # ContainerImagesResponseError 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **error** | **str** | Error information for user | 7 | **parameters** | **object** | Parameters echoed back to user for debugging | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/ContainerImagesResponseParameters.md: -------------------------------------------------------------------------------- 1 | # ContainerImagesResponseParameters 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **page** | **int** | Page offset in the pagination | 7 | 8 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 9 | 10 | -------------------------------------------------------------------------------- /Documentation/DebDependencyItem.md: -------------------------------------------------------------------------------- 1 | # DebDependencyItem 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **name** | **str** | Dependency name | 7 | **version** | **str** | Dependency version | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/EnvironmentsApi.md: -------------------------------------------------------------------------------- 1 | # thamos.swagger_client.EnvironmentsApi 2 | 3 | All URIs are relative to https://test.thoth-station.ninja/api/v1 4 | 5 | Method | HTTP request | Description 6 | ------------- | ------------- | ------------- 7 | [**list_python_environments**](EnvironmentsApi.md#list_python_environments) | **GET** /python/environment | Get environments available for Python resolutions 8 | 9 | # **list_python_environments** 10 | > PythonEnvironments list_python_environments() 11 | 12 | Get environments available for Python resolutions 13 | 14 | ### Example 15 | ```python 16 | from __future__ import print_function 17 | import time 18 | import thamos.swagger_client 19 | from thamos.swagger_client.rest import ApiException 20 | from pprint import pprint 21 | 22 | # create an instance of the API class 23 | api_instance = thamos.swagger_client.EnvironmentsApi() 24 | 25 | try: 26 | # Get environments available for Python resolutions 27 | api_response = api_instance.list_python_environments() 28 | pprint(api_response) 29 | except ApiException as e: 30 | print("Exception when calling EnvironmentsApi->list_python_environments: %s\n" % e) 31 | ``` 32 | 33 | ### Parameters 34 | This endpoint does not need any parameter. 35 | 36 | ### Return type 37 | 38 | [**PythonEnvironments**](PythonEnvironments.md) 39 | 40 | ### Authorization 41 | 42 | No authorization required 43 | 44 | ### HTTP request headers 45 | 46 | - **Content-Type**: Not defined 47 | - **Accept**: application/json 48 | 49 | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) 50 | 51 | -------------------------------------------------------------------------------- /Documentation/ImageMetadataResponse.md: -------------------------------------------------------------------------------- 1 | # ImageMetadataResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **architecture** | **str** | Target architecture of image | 7 | **created** | **str** | Image creation date and time | 8 | **digest** | **str** | Digest of the image | 9 | **docker_version** | **str** | Version of Docker | 10 | **env** | **list[str]** | Environment variables from analyzed image | 11 | **labels** | **object** | Image labels | 12 | **layers** | **list[str]** | | 13 | **os** | **str** | Operating system identifier | 14 | **repo_tags** | **list[str]** | | 15 | 16 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 17 | 18 | -------------------------------------------------------------------------------- /Documentation/Justification.md: -------------------------------------------------------------------------------- 1 | # Justification 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | 7 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 8 | 9 | -------------------------------------------------------------------------------- /Documentation/JustificationInner.md: -------------------------------------------------------------------------------- 1 | # JustificationInner 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **link** | **str** | | 7 | **message** | **str** | | 8 | **type** | **str** | | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/KebechetApi.md: -------------------------------------------------------------------------------- 1 | # thamos.swagger_client.KebechetApi 2 | 3 | All URIs are relative to https://test.thoth-station.ninja/api/v1 4 | 5 | Method | HTTP request | Description 6 | ------------- | ------------- | ------------- 7 | [**initialize_repo**](KebechetApi.md#initialize_repo) | **POST** /repo-init | Initialize the user's provided repository. 8 | [**schedule_kebechet_webhook**](KebechetApi.md#schedule_kebechet_webhook) | **POST** /kebechet-webhook | Schedule kebechet instance from webhook, this endpoint is not intended for users 9 | 10 | # **initialize_repo** 11 | > initialize_repo(body) 12 | 13 | Initialize the user's provided repository. 14 | 15 | ### Example 16 | ```python 17 | from __future__ import print_function 18 | import time 19 | import thamos.swagger_client 20 | from thamos.swagger_client.rest import ApiException 21 | from pprint import pprint 22 | 23 | # create an instance of the API class 24 | api_instance = thamos.swagger_client.KebechetApi() 25 | body = thamos.swagger_client.RepoInitInput() # RepoInitInput | 26 | 27 | try: 28 | # Initialize the user's provided repository. 29 | api_instance.initialize_repo(body) 30 | except ApiException as e: 31 | print("Exception when calling KebechetApi->initialize_repo: %s\n" % e) 32 | ``` 33 | 34 | ### Parameters 35 | 36 | Name | Type | Description | Notes 37 | ------------- | ------------- | ------------- | ------------- 38 | **body** | [**RepoInitInput**](RepoInitInput.md)| | 39 | 40 | ### Return type 41 | 42 | void (empty response body) 43 | 44 | ### Authorization 45 | 46 | No authorization required 47 | 48 | ### HTTP request headers 49 | 50 | - **Content-Type**: application/json 51 | - **Accept**: Not defined 52 | 53 | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) 54 | 55 | # **schedule_kebechet_webhook** 56 | > schedule_kebechet_webhook(body) 57 | 58 | Schedule kebechet instance from webhook, this endpoint is not intended for users 59 | 60 | ### Example 61 | ```python 62 | from __future__ import print_function 63 | import time 64 | import thamos.swagger_client 65 | from thamos.swagger_client.rest import ApiException 66 | from pprint import pprint 67 | 68 | # create an instance of the API class 69 | api_instance = thamos.swagger_client.KebechetApi() 70 | body = thamos.swagger_client.KebechetWebhookInput() # KebechetWebhookInput | Body of a git service webhook 71 | 72 | try: 73 | # Schedule kebechet instance from webhook, this endpoint is not intended for users 74 | api_instance.schedule_kebechet_webhook(body) 75 | except ApiException as e: 76 | print("Exception when calling KebechetApi->schedule_kebechet_webhook: %s\n" % e) 77 | ``` 78 | 79 | ### Parameters 80 | 81 | Name | Type | Description | Notes 82 | ------------- | ------------- | ------------- | ------------- 83 | **body** | [**KebechetWebhookInput**](KebechetWebhookInput.md)| Body of a git service webhook | 84 | 85 | ### Return type 86 | 87 | void (empty response body) 88 | 89 | ### Authorization 90 | 91 | No authorization required 92 | 93 | ### HTTP request headers 94 | 95 | - **Content-Type**: application/json 96 | - **Accept**: Not defined 97 | 98 | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) 99 | 100 | -------------------------------------------------------------------------------- /Documentation/KebechetMetadata.md: -------------------------------------------------------------------------------- 1 | # KebechetMetadata 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **message_justification** | **int** | | [optional] 7 | **package_index** | **str** | | [optional] 8 | **package_name** | **str** | | [optional] 9 | **package_version** | **str** | | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | -------------------------------------------------------------------------------- /Documentation/KebechetWebhookInput.md: -------------------------------------------------------------------------------- 1 | # KebechetWebhookInput 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | 7 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 8 | 9 | -------------------------------------------------------------------------------- /Documentation/ProjectDef.md: -------------------------------------------------------------------------------- 1 | # ProjectDef 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **constraints** | [**list[ProjectDefConstraints]**](ProjectDefConstraints.md) | | 7 | **requirements** | **object** | Requirements stating direct dependencies of the project, the format is compatible with Pipenv | 8 | **requirements_locked** | **object** | A lock file stating all the dependencies pinned to a specific version togher with an explicit Python package index configuration | 9 | **runtime_environment** | [**RuntimeEnvironment**](RuntimeEnvironment.md) | | 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | -------------------------------------------------------------------------------- /Documentation/ProjectDefConstraints.md: -------------------------------------------------------------------------------- 1 | # ProjectDefConstraints 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **markers** | **str** | An environment marker used with the version constrain | 7 | **name** | **str** | Name of the package that was constrained | 8 | **version** | **str** | Version range specifier for the constrain | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/ProvenanceInput.md: -------------------------------------------------------------------------------- 1 | # ProvenanceInput 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **application_stack** | [**PythonStack**](PythonStack.md) | | 7 | **justification** | [**Justification**](Justification.md) | | [optional] 8 | **kebechet_metadata** | [**KebechetMetadata**](KebechetMetadata.md) | | [optional] 9 | **stack_info** | [**StackInfo**](StackInfo.md) | | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | -------------------------------------------------------------------------------- /Documentation/ProvenanceResultResponse.md: -------------------------------------------------------------------------------- 1 | # ProvenanceResultResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **metadata** | [**ProvenanceResultResponseMetadata**](ProvenanceResultResponseMetadata.md) | | 7 | **result** | [**ProvenanceResultResponseResult**](ProvenanceResultResponseResult.md) | | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/ProvenanceResultResponseMetadata.md: -------------------------------------------------------------------------------- 1 | # ProvenanceResultResponseMetadata 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **analyzer** | **str** | Name of the component used to check provenance | 7 | **analyzer_version** | **str** | Version of the component used to check provenance | 8 | **arguments** | **object** | Arguments passed to the provenance checker | 9 | **_datetime** | **str** | Date and time of analysis end in ISO format | 10 | **distribution** | [**ProvenanceResultResponseMetadataDistribution**](ProvenanceResultResponseMetadataDistribution.md) | | 11 | **document_id** | **str** | A unique identifier of the document | 12 | **duration** | **int** | Number of seconds for which the provenance-checker was running | 13 | **hostname** | **str** | Pod name where the provenance checks were done | 14 | **os_release** | **object** | | 15 | **python** | [**AdviserResultResponseMetadataPython**](AdviserResultResponseMetadataPython.md) | | 16 | **thoth_deployment_name** | **str** | Name of Thoth's deployment that computed results | 17 | **timestamp** | **int** | Timestamp when results were computed | 18 | 19 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 20 | 21 | -------------------------------------------------------------------------------- /Documentation/ProvenanceResultResponseMetadataDistribution.md: -------------------------------------------------------------------------------- 1 | # ProvenanceResultResponseMetadataDistribution 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **codename** | **str** | Codename of environment in which the provenance check was run | 7 | **id** | **str** | Identifier of environment in which the provenance check was run | 8 | **like** | **str** | Similar environments in comparison to environment in which the provenance check was run | 9 | **version** | **str** | A string representation of environment version | 10 | **version_parts** | [**ProvenanceResultResponseMetadataDistributionVersionParts**](ProvenanceResultResponseMetadataDistributionVersionParts.md) | | 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | -------------------------------------------------------------------------------- /Documentation/ProvenanceResultResponseMetadataDistributionVersionParts.md: -------------------------------------------------------------------------------- 1 | # ProvenanceResultResponseMetadataDistributionVersionParts 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **build_number** | **str** | | 7 | **major** | **str** | | 8 | **minor** | **str** | | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/ProvenanceResultResponseResult.md: -------------------------------------------------------------------------------- 1 | # ProvenanceResultResponseResult 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **error** | **bool** | A flag set to true if an error was encountered | 7 | **error_msg** | **str** | An error message reported to users | 8 | **input** | **object** | | 9 | **parameters** | [**ProvenanceResultResponseResultParameters**](ProvenanceResultResponseResultParameters.md) | | 10 | **report** | **list[object]** | A provenance check report | 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | -------------------------------------------------------------------------------- /Documentation/ProvenanceResultResponseResultParameters.md: -------------------------------------------------------------------------------- 1 | # ProvenanceResultResponseResultParameters 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **project** | [**ProjectDef**](ProjectDef.md) | | 7 | **whitelisted_sources** | **list[str]** | Python package indexes whitelisted | [optional] 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/PythonEnvironments.md: -------------------------------------------------------------------------------- 1 | # PythonEnvironments 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **environment** | [**list[PythonEnvironmentsEnvironment]**](PythonEnvironmentsEnvironment.md) | | 7 | 8 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 9 | 10 | -------------------------------------------------------------------------------- /Documentation/PythonEnvironmentsEnvironment.md: -------------------------------------------------------------------------------- 1 | # PythonEnvironmentsEnvironment 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **os_name** | **str** | Operating system name | 7 | **os_version** | **str** | Operating system version | 8 | **python_version** | **str** | Python version | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/PythonPackageDependencies.md: -------------------------------------------------------------------------------- 1 | # PythonPackageDependencies 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **dependencies** | [**list[PythonPackageDependenciesDependencies]**](PythonPackageDependenciesDependencies.md) | | 7 | **parameters** | **object** | | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/PythonPackageDependenciesDependencies.md: -------------------------------------------------------------------------------- 1 | # PythonPackageDependenciesDependencies 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **environment_marker** | **str** | | 7 | **extra** | **str** | | 8 | **name** | **str** | | 9 | **version** | **str** | | 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | -------------------------------------------------------------------------------- /Documentation/PythonPackageDependenciesError.md: -------------------------------------------------------------------------------- 1 | # PythonPackageDependenciesError 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **error** | **str** | Error information for user | 7 | **parameters** | **object** | Parameters echoed back to user for debugging | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/PythonPackageIndexes.md: -------------------------------------------------------------------------------- 1 | # PythonPackageIndexes 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **indexes** | [**list[PythonPackageIndexesIndexes]**](PythonPackageIndexesIndexes.md) | | 7 | 8 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 9 | 10 | -------------------------------------------------------------------------------- /Documentation/PythonPackageIndexesIndexes.md: -------------------------------------------------------------------------------- 1 | # PythonPackageIndexesIndexes 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **only_if_package_seen** | **bool** | The backend is configured to monitor only releases of already seen packages | 7 | **url** | **str** | URL to the Python simple repository as described in PEP 503 | 8 | **verify_ssl** | **bool** | Use secured connection to warehouse | 9 | **warehouse_api_url** | **str** | URL to the warehouse API | 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | -------------------------------------------------------------------------------- /Documentation/PythonPackageNameImportResponse.md: -------------------------------------------------------------------------------- 1 | # PythonPackageNameImportResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **package_names** | [**list[PythonPackageNameImportResponsePackageNames]**](PythonPackageNameImportResponsePackageNames.md) | | 7 | **parameters** | **object** | | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/PythonPackageNameImportResponsePackageNames.md: -------------------------------------------------------------------------------- 1 | # PythonPackageNameImportResponsePackageNames 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **index_url** | **str** | Source index URL of the package | 7 | **package_import** | **str** | A module import matching the given criteria | 8 | **package_name** | **str** | Name of the package | 9 | **package_version** | **str** | Version of the package | 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | -------------------------------------------------------------------------------- /Documentation/PythonPackageNameResponseError.md: -------------------------------------------------------------------------------- 1 | # PythonPackageNameResponseError 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **error** | **str** | Error information for user | 7 | **parameters** | **object** | Parameters echoed back to user for debugging | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/PythonPackageVersionEnvironmentsResponse.md: -------------------------------------------------------------------------------- 1 | # PythonPackageVersionEnvironmentsResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **environments** | [**list[PythonEnvironmentsEnvironment]**](PythonEnvironmentsEnvironment.md) | | 7 | 8 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 9 | 10 | -------------------------------------------------------------------------------- /Documentation/PythonPackageVersionMetadataResponse.md: -------------------------------------------------------------------------------- 1 | # PythonPackageVersionMetadataResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **metadata** | [**PythonPackageVersionMetadataResponseMetadata**](PythonPackageVersionMetadataResponseMetadata.md) | | 7 | **parameters** | **object** | Parameters echoed back to user for debugging | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/PythonPackageVersionMetadataResponseError.md: -------------------------------------------------------------------------------- 1 | # PythonPackageVersionMetadataResponseError 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **error** | **str** | Error information for user | 7 | **parameters** | **object** | Parameters echoed back to user for debugging | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/PythonPackageVersionMetadataResponseMetadata.md: -------------------------------------------------------------------------------- 1 | # PythonPackageVersionMetadataResponseMetadata 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **dependencies** | **object** | Dependency information | 7 | **importlib_metadata** | [**PythonPackageVersionMetadataResponseMetadataImportlibMetadata**](PythonPackageVersionMetadataResponseMetadataImportlibMetadata.md) | | 8 | **index_url** | **str** | Index URL from where the given package comes from | 9 | **package_name** | **str** | Name of the Python package | 10 | **package_version** | **str** | Version of the Python package | 11 | **packages** | **list[str]** | Python packages (modules) the given package provides | 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | -------------------------------------------------------------------------------- /Documentation/PythonPackageVersionMetadataResponseMetadataImportlibMetadata.md: -------------------------------------------------------------------------------- 1 | # PythonPackageVersionMetadataResponseMetadataImportlibMetadata 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **entry_points** | [**list[PythonPackageVersionMetadataResponseMetadataImportlibMetadataEntryPoints]**](PythonPackageVersionMetadataResponseMetadataImportlibMetadataEntryPoints.md) | | 7 | **files** | **list[object]** | Files shipped with the Python package | 8 | **metadata** | **object** | Core Python packaging metadata extracted | 9 | **requires** | **list[str]** | Python requirements of the given package | 10 | **version** | **str** | Version of the Python package based on importlib metadata detection | 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | -------------------------------------------------------------------------------- /Documentation/PythonPackageVersionMetadataResponseMetadataImportlibMetadataEntryPoints.md: -------------------------------------------------------------------------------- 1 | # PythonPackageVersionMetadataResponseMetadataImportlibMetadataEntryPoints 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **group** | **str** | | 7 | **name** | **str** | | 8 | **value** | **str** | | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/PythonPackageVersionsResponse.md: -------------------------------------------------------------------------------- 1 | # PythonPackageVersionsResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **versions** | [**list[PythonPackageVersionsResponseVersions]**](PythonPackageVersionsResponseVersions.md) | | 7 | 8 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 9 | 10 | -------------------------------------------------------------------------------- /Documentation/PythonPackageVersionsResponseError.md: -------------------------------------------------------------------------------- 1 | # PythonPackageVersionsResponseError 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **error** | **str** | Error information for user | 7 | **parameters** | **object** | Parameters echoed back to user for debugging | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/PythonPackageVersionsResponseVersions.md: -------------------------------------------------------------------------------- 1 | # PythonPackageVersionsResponseVersions 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **index_url** | **str** | Source index URL of the package | 7 | **package_name** | **str** | Name of the package | 8 | **package_version** | **str** | Version of the package | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/PythonPackagesResponse.md: -------------------------------------------------------------------------------- 1 | # PythonPackagesResponse 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **packages** | [**list[PythonPackagesResponsePackages]**](PythonPackagesResponsePackages.md) | | 7 | 8 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 9 | 10 | -------------------------------------------------------------------------------- /Documentation/PythonPackagesResponsePackages.md: -------------------------------------------------------------------------------- 1 | # PythonPackagesResponsePackages 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **package_name** | **str** | Name of the package | 7 | 8 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 9 | 10 | -------------------------------------------------------------------------------- /Documentation/PythonPlatforms.md: -------------------------------------------------------------------------------- 1 | # PythonPlatforms 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **platform** | **list[str]** | | 7 | 8 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 9 | 10 | -------------------------------------------------------------------------------- /Documentation/PythonStack.md: -------------------------------------------------------------------------------- 1 | # PythonStack 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **requirements** | [**RequirementsDef**](RequirementsDef.md) | | 7 | **requirements_format** | **list[str]** | Lockfile format - defaults to pipenv if not explicitly specified | [optional] 8 | **requirements_lock** | [**RequirementsLockDef**](RequirementsLockDef.md) | | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/RepoInitInput.md: -------------------------------------------------------------------------------- 1 | # RepoInitInput 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **project_url** | **str** | | [optional] 7 | 8 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 9 | 10 | -------------------------------------------------------------------------------- /Documentation/RequirementsDef.md: -------------------------------------------------------------------------------- 1 | # RequirementsDef 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | 7 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 8 | 9 | -------------------------------------------------------------------------------- /Documentation/RequirementsLockDef.md: -------------------------------------------------------------------------------- 1 | # RequirementsLockDef 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | 7 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 8 | 9 | -------------------------------------------------------------------------------- /Documentation/RuntimeEnvironment.md: -------------------------------------------------------------------------------- 1 | # RuntimeEnvironment 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **base_image** | **str** | A base container image used to run the application | [optional] 7 | **cuda_version** | **str** | Nvidia CUDA version which the application uses | [optional] 8 | **cudnn_version** | **str** | NVIDIA cuDNN version used, if any | [optional] 9 | **hardware** | [**RuntimeEnvironmentHardware**](RuntimeEnvironmentHardware.md) | | [optional] 10 | **mkl_version** | **str** | Intel® Math Kernel Library version used, if any | [optional] 11 | **name** | **str** | User defined name of the runtime environment | [optional] 12 | **openblas_version** | **str** | OpenBLAS version used, if any | [optional] 13 | **openmpi_version** | **str** | Open MPI version used, if any | [optional] 14 | **operating_system** | [**RuntimeEnvironmentOperatingSystem**](RuntimeEnvironmentOperatingSystem.md) | | [optional] 15 | **platform** | **list[str]** | Platform used - corresponds to sysconfig.get_platform() call | [optional] 16 | **python_version** | **str** | Python version on which the application runs on | [optional] 17 | 18 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 19 | 20 | -------------------------------------------------------------------------------- /Documentation/RuntimeEnvironmentHardware.md: -------------------------------------------------------------------------------- 1 | # RuntimeEnvironmentHardware 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **cpu_family** | **int** | | [optional] 7 | **cpu_model** | **int** | | [optional] 8 | **gpu_model** | **str** | | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /Documentation/RuntimeEnvironmentOperatingSystem.md: -------------------------------------------------------------------------------- 1 | # RuntimeEnvironmentOperatingSystem 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **name** | **str** | | 7 | **version** | **str** | | 8 | 9 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 10 | 11 | -------------------------------------------------------------------------------- /Documentation/StackInfo.md: -------------------------------------------------------------------------------- 1 | # StackInfo 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | 7 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 8 | 9 | -------------------------------------------------------------------------------- /Documentation/UnitDef.md: -------------------------------------------------------------------------------- 1 | # UnitDef 2 | 3 | ## Properties 4 | Name | Type | Description | Notes 5 | ------------ | ------------- | ------------- | ------------- 6 | **configuration** | **object** | | 7 | **name** | **str** | | 8 | **unit_run** | **bool** | Flag set to true if the pipeline unit was run during the resolution process | 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include thamos-cli 2 | include requirements.txt 3 | include requirements-test.txt 4 | include thamos/data/defaultThoth.yaml 5 | include tests/data/cpu_info_file 6 | include *.json 7 | include *.lock 8 | include *.md 9 | include *.sh 10 | include *.yaml 11 | include *.yml 12 | include LICENSE 13 | include OWNERS 14 | include Pipfile 15 | include examples/*/Pipfile 16 | include .mypy.ini 17 | recursive-include Documentation *.md 18 | recursive-include docs *.html 19 | recursive-include docs *.py 20 | recursive-include docs *.rst 21 | recursive-include examples *.lock 22 | recursive-include examples *.py 23 | recursive-include examples *.rst 24 | recursive-include examples *.txt 25 | recursive-include examples *.yaml 26 | recursive-include tests *.json 27 | recursive-include tests *.py 28 | recursive-include thamos *.typed 29 | -------------------------------------------------------------------------------- /OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | approvers: 4 | - codificat 5 | - goern 6 | - harshad16 7 | - kpostoffice 8 | - mayaCostantini 9 | - sesheta 10 | 11 | reviewers: 12 | - codificat 13 | - harshad16 14 | - kpostoffice 15 | - mayaCostantini 16 | 17 | emeritus_approvers: 18 | - pacospace 19 | - fridex 20 | 21 | labels: 22 | - sig/user-experience 23 | -------------------------------------------------------------------------------- /Pipfile: -------------------------------------------------------------------------------- 1 | [[source]] 2 | url = "https://pypi.org/simple" 3 | verify_ssl = true 4 | name = "pypi" 5 | 6 | [packages] 7 | certifi = ">=14.05.14" 8 | six = ">=1.10" 9 | python-dateutil = ">=2.5.3" 10 | "urllib3" = ">=1.15.1" 11 | daiquiri = "*" 12 | click = "*" 13 | distro = "*" 14 | thoth-analyzer = "*" 15 | yaspin = "*" 16 | pyyaml = "*" 17 | requests = "*" 18 | termcolor = "*" 19 | invectio = "*" 20 | thoth-python = ">=0.9.0" 21 | thoth-common = "*" 22 | rich = "*" 23 | micropipenv = "*" 24 | jsonschema = "*" 25 | virtualenv = ">=20.0.3" 26 | rich-click = "*" 27 | 28 | [dev-packages] 29 | toml = "*" 30 | pytest = "*" 31 | pytest-timeout = "*" 32 | pytest-cov = "*" 33 | pytest-mypy = "*" 34 | 35 | [requires] 36 | python_version = "3.8" 37 | -------------------------------------------------------------------------------- /docs/source/_templates/layout.html: -------------------------------------------------------------------------------- 1 | {% extends "!layout.html" %} 2 | 3 | {% block footer %} 4 | {{ super() }} 5 | 6 | 7 | 17 | {% endblock %} 18 | -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../../README.rst 2 | 3 | Thamos Python client 4 | ==================== 5 | 6 | * :ref:`openapi` 7 | 8 | Crossroad 9 | ========= 10 | 11 | * `Documentation for thoth-adviser <../adviser>`_ 12 | * `Documentation for thoth-analyzer <../analyzer>`_ 13 | * `Documentation for thoth-common <../common>`_ 14 | * `Documentation for thoth-lab <../lab>`_ 15 | * `Documentation for thoth-package-analyzer <../package-analyzer>`_ 16 | * `Documentation for thoth-package-extract <../package-extract>`_ 17 | * `Documentation for thoth-python <../python>`_ 18 | * `Documentation for thoth-storages <../storages>`_ 19 | * `Documentation for thoth-solver <../solver>`_ 20 | * `Documentation for kebechet <../kebechet>`_ 21 | * :ref:`genindex` 22 | * :ref:`modindex` 23 | * :ref:`search` 24 | 25 | .. toctree:: 26 | :maxdepth: 3 27 | 28 | thamos 29 | 30 | This documentation corresponds to implementation in version |version|, 31 | documentation was generated on |today|. 32 | -------------------------------------------------------------------------------- /docs/source/openapi.rst: -------------------------------------------------------------------------------- 1 | .. _openapi: 2 | 3 | Documentation of Thamos Python client 4 | ------------------------------------- 5 | 6 | This documentation is automatically generated from sources. 7 | 8 | .. openapi:: ../../../user-api/openapi/openapi.yaml 9 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | certifi>=14.05.14 2 | click 3 | daiquiri 4 | distro 5 | invectio 6 | jsonschema 7 | micropipenv 8 | python-dateutil>=2.5.3 9 | pyyaml 10 | requests 11 | rich 12 | rich-click 13 | six>=1.10 14 | termcolor 15 | thoth-analyzer 16 | thoth-common 17 | thoth-python>=0.9.0 18 | urllib3>=1.15.1 19 | virtualenv>=20.0.3 20 | yaspin 21 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | """This file sets up the thoth-thamos module.""" 2 | 3 | import os 4 | import sys 5 | from setuptools import setup, find_packages 6 | from pathlib import Path 7 | from setuptools.command.test import test as TestCommand # noqa 8 | 9 | 10 | def get_install_requires(): 11 | """Get thamos installation requirements.""" 12 | with open("requirements.txt", "r") as requirements_file: 13 | return [req for req in requirements_file.readlines() if req] 14 | 15 | 16 | def get_version(): 17 | """Get thamos version.""" 18 | with open(os.path.join("thamos", "__init__.py")) as f: 19 | content = f.readlines() 20 | 21 | for line in content: 22 | if line.startswith("__version__ ="): 23 | # dirty, remove trailing and leading chars 24 | return line.split(" = ")[1][1:-2] 25 | raise ValueError("No version identifier found") 26 | 27 | 28 | class Test(TestCommand): 29 | """Introduce test command to run testsuite using pytest.""" 30 | 31 | _IMPLICIT_PYTEST_ARGS = [ 32 | "tests/", 33 | "--timeout=2", 34 | "--cov=./thamos", 35 | "--capture=no", 36 | "--verbose", 37 | "-l", 38 | "-s", 39 | "-vv", 40 | ] 41 | 42 | user_options = [("pytest-args=", "a", "Arguments to pass into py.test")] 43 | 44 | def initialize_options(self): 45 | """Initialize cli options.""" 46 | super().initialize_options() 47 | self.pytest_args = None 48 | 49 | def finalize_options(self): 50 | """Finalize cli options.""" 51 | super().finalize_options() 52 | self.test_args = [] 53 | self.test_suite = True 54 | 55 | def run_tests(self): 56 | """Run pytests.""" 57 | import pytest # noqa 58 | 59 | passed_args = list(self._IMPLICIT_PYTEST_ARGS) 60 | 61 | if self.pytest_args: 62 | self.pytest_args = [arg for arg in self.pytest_args.split() if arg] 63 | passed_args.extend(self.pytest_args) 64 | 65 | sys.exit(pytest.main(passed_args)) 66 | 67 | 68 | VERSION = get_version() 69 | setup( 70 | name="thamos", 71 | entry_points={"console_scripts": ["thamos=thamos.cli:cli"]}, 72 | version=VERSION, 73 | url="https://github.com/thoth-station/thamos", 74 | package_data={"thamos": [os.path.join("data", "*.yaml"), "py.typed"]}, 75 | include_package_data=True, 76 | description="A CLI tool and library for interacting with Thoth", 77 | long_description=Path("README.rst").read_text(), 78 | author="Fridolin Pokorny", 79 | author_email="fridolin@redhat.com", 80 | license="GPLv3+", 81 | packages=find_packages(), 82 | long_description_content_type="text/x-rst", 83 | project_urls={ 84 | "Documentation": "https://thoth-station.ninja/docs/developers/thamos/index.html", 85 | "Source Code": "https://github.com/thoth-station/thamos/", 86 | "Issues": "https://github.com/thoth-station/thamos/issues", 87 | "CI": "https://prow.operate-first.cloud/?repo=thoth-station%2Fthamos", 88 | "Changelog": "https://github.com/thoth-station/thamos/blob/master/CHANGELOG.md", 89 | }, 90 | cmdclass={"test": Test}, 91 | install_requires=get_install_requires(), 92 | command_options={ 93 | "build_sphinx": { 94 | "version": ("setup.py", VERSION), 95 | "release": ("setup.py", VERSION), 96 | } 97 | }, 98 | ) 99 | -------------------------------------------------------------------------------- /swagger-codegen.json: -------------------------------------------------------------------------------- 1 | { 2 | "apiPackage" : "thoth", 3 | "packageName": "thamos.swagger_client", 4 | "packageUrl": "https://github.com/thoth-station/thamos", 5 | "packageVersion": "0.0.1" 6 | } 7 | -------------------------------------------------------------------------------- /tests/base.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # thamos 3 | # Copyright(C) 2019 - 2021 Fridolin Pokorny 4 | # 5 | # This program is free software: you can redistribute it and / or modify 6 | # it under the terms of the GNU General Public License as published by 7 | # the Free Software Foundation, either version 3 of the License, or 8 | # (at your option) any later version. 9 | # 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | # GNU General Public License for more details. 14 | # 15 | # You should have received a copy of the GNU General Public License 16 | # along with this program. If not, see . 17 | 18 | """Core logic for Thamos test suite.""" 19 | 20 | import os 21 | 22 | 23 | class ThamosTestCase: 24 | """A base class for Thamos test cases.""" 25 | 26 | data_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), "data") 27 | -------------------------------------------------------------------------------- /tests/test_response.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # thamos 3 | # Copyright(C) 2019 - 2021 Fridolin Pokorny 4 | # 5 | # This program is free software: you can redistribute it and / or modify 6 | # it under the terms of the GNU General Public License as published by 7 | # the Free Software Foundation, either version 3 of the License, or 8 | # (at your option) any later version. 9 | # 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | # GNU General Public License for more details. 14 | # 15 | # You should have received a copy of the GNU General Public License 16 | # along with this program. If not, see . 17 | 18 | """Test serialization of response from Thoth.""" 19 | 20 | import json 21 | from base import ThamosTestCase 22 | from pathlib import Path 23 | import toml 24 | 25 | from thoth.common import cwd 26 | from thamos.lib import write_files 27 | 28 | 29 | class TestResponse(ThamosTestCase): 30 | """Test response serialization.""" 31 | 32 | def test_serialization(self, tmp_path: Path): 33 | """Test serialization of a response from backend.""" 34 | response = json.loads((Path(self.data_dir) / "response_1.json").read_text()) 35 | with cwd(str(tmp_path)): 36 | pipfile = response["result"]["report"]["products"][0]["project"][ 37 | "requirements" 38 | ] 39 | pipfile_lock = response["result"]["report"]["products"][0]["project"][ 40 | "requirements_locked" 41 | ] 42 | write_files(pipfile, pipfile_lock, requirements_format="pipenv") 43 | 44 | written_pipfile = toml.loads(Path("Pipfile").read_text()) 45 | assert written_pipfile == { 46 | "dev-packages": {}, 47 | "packages": { 48 | "flask": {"index": "pypi-org", "version": "*"}, 49 | "tensorflow": {"index": "pypi-org", "version": "*"}, 50 | }, 51 | "source": [ 52 | { 53 | "name": "pypi-org", 54 | "url": "https://pypi.org/simple", 55 | "verify_ssl": True, 56 | } 57 | ], 58 | "thoth": {"allow_prereleases": {}, "disable_index_adjustment": False}, 59 | } 60 | 61 | written_pipfile_lock = json.loads(Path("Pipfile.lock").read_text()) 62 | assert written_pipfile_lock == pipfile_lock 63 | -------------------------------------------------------------------------------- /thamos-cli: -------------------------------------------------------------------------------- 1 | thamos/cli.py -------------------------------------------------------------------------------- /thamos/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # thamos 3 | # Copyright(C) 2018 - 2021 Fridolin Pokorny 4 | # 5 | # This program is free software: you can redistribute it and / or modify 6 | # it under the terms of the GNU General Public License as published by 7 | # the Free Software Foundation, either version 3 of the License, or 8 | # (at your option) any later version. 9 | # 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | # GNU General Public License for more details. 14 | # 15 | # You should have received a copy of the GNU General Public License 16 | # along with this program. If not, see . 17 | 18 | """A CLI tool and library for interacting with Thoth.""" 19 | 20 | __name__ = "thamos" 21 | __version__ = "1.29.1" 22 | __author__ = "Fridolin Pokorny " 23 | -------------------------------------------------------------------------------- /thamos/cli_config.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # thamos 3 | # Copyright(C) 2022 Fridolin Pokorny 4 | # 5 | # This program is free software: you can redistribute it and / or modify 6 | # it under the terms of the GNU General Public License as published by 7 | # the Free Software Foundation, either version 3 of the License, or 8 | # (at your option) any later version. 9 | # 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | # GNU General Public License for more details. 14 | # 15 | # You should have received a copy of the GNU General Public License 16 | # along with this program. If not, see . 17 | 18 | """Configuration for Thamos CLI using rich-click.""" 19 | 20 | import os 21 | import sys 22 | import rich_click as click 23 | 24 | 25 | def init_rich_click() -> None: 26 | """Initialize rich-click.""" 27 | click.rich_click.ERRORS_EPILOGUE = ( 28 | "Check Thamos documentation: https://thoth-station.ninja/docs/developers/thamos" 29 | ) 30 | click.rich_click.HEADER_TEXT = "Thoth homepage: https://thoth-station.ninja" 31 | click.rich_click.FOOTER_TEXT = ( 32 | "Check Thamos documentation: https://thoth-station.ninja/docs/developers/thamos" 33 | ) 34 | click.rich_click.USE_RICH_MARKUP = True 35 | 36 | tool = os.path.basename(sys.argv[0]) 37 | 38 | click.rich_click.COMMAND_GROUPS = { 39 | tool: [ 40 | { 41 | "name": "Thoth resolver", 42 | "commands": [ 43 | "advise", 44 | "environments", 45 | "graph", 46 | "images", 47 | "indexes", 48 | "log", 49 | "provenance-check", 50 | "status", 51 | "whatprovides", 52 | "diff", 53 | ], 54 | }, 55 | { 56 | "name": "Application & Requirements", 57 | "commands": [ 58 | "add", 59 | "discover", 60 | "install", 61 | "purge", 62 | "remove", 63 | "run", 64 | "venv", 65 | "verify", 66 | ], 67 | }, 68 | { 69 | "name": "Runtime environments", 70 | "commands": [ 71 | "check", 72 | "config", 73 | "list", 74 | "show", 75 | ], 76 | }, 77 | { 78 | "name": "Information", 79 | "commands": [ 80 | "support", 81 | "version", 82 | ], 83 | }, 84 | ], 85 | } 86 | -------------------------------------------------------------------------------- /thamos/data/defaultThoth.yaml: -------------------------------------------------------------------------------- 1 | # This is Thoth's configuration file placed in a root of a repo 2 | # (named as .thoth.yaml) used by Thamos CLI as well as by Thoth bots. Please 3 | # adjust values listed below as desired. 4 | 5 | # A remote Thoth service to talk to: 6 | host: khemenu.thoth-station.ninja 7 | 8 | # Configure TLS verification for communication with remote Thoth instance: 9 | tls_verify: true 10 | 11 | # Format of requirements file, supported are "pip" and "pipenv": 12 | requirements_format: {requirements_format} 13 | # A path to overlays directory relative to this configuration file. If null provided, no overlays are used. 14 | # Read more about overlays in the README: https://github.com/thoth-station/thamos#overlays-directory 15 | overlays_dir: null 16 | # Allow or disable managing virtual environment for each overlay. 17 | virtualenv: false 18 | 19 | runtime_environments: 20 | - name: '{runtime_environment_name}' 21 | # Operating system for which the recommendations should be created: 22 | operating_system: 23 | name: {os_name} 24 | version: '{os_version}' 25 | # Labels to be used during the resolution (key-value pairs). 26 | labels: 27 | # Hardware information for the recommendation engine: 28 | hardware: 29 | # {cpu_model_name} 30 | cpu_family: {cpu_family} 31 | cpu_model: {cpu_model} 32 | gpu_model: null 33 | # Software configuration of runtime environment: 34 | python_version: '{python_version}' 35 | cuda_version: {cuda_version} 36 | # Recommendation type - one of: 37 | # * testing 38 | # * stable 39 | # * latest 40 | # * performance 41 | # * security 42 | # See https://thoth-station.ninja/recommendation-types/ 43 | recommendation_type: latest 44 | # Platform used for running the application - corresponds to sysconfig.get_platform() call (e.g. 'linux-x86_64') 45 | platform: {platform} 46 | # Additional options: 47 | openblas_version: null 48 | openmpi_version: null 49 | cudnn_version: null 50 | mkl_version: null 51 | # Base container image used to run the application. 52 | base_image: {base_image} 53 | 54 | # 55 | # Configuration of bots: 56 | # 57 | managers: 58 | - name: pipfile-requirements 59 | - name: info 60 | - name: version 61 | configuration: 62 | # A list of maintainers (GitHub or GitLab accounts) of this repository: 63 | maintainers: [] 64 | # A list of assignees to which the opened pull requests and issues should 65 | # be assigned to: 66 | assignees: [] 67 | # Labels for issues and pull requests: 68 | labels: 69 | - bot 70 | # Automatically maintain a changelog file stating features of new 71 | # releases: 72 | changelog_file: true 73 | # Use AI/ML to group messages in a smart way. 74 | changelog_smart: true 75 | - name: update 76 | configuration: 77 | labels: [bot] 78 | -------------------------------------------------------------------------------- /thamos/exceptions.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # thamos 3 | # Copyright(C) 2018 - 2021 Fridolin Pokorny 4 | # 5 | # This program is free software: you can redistribute it and / or modify 6 | # it under the terms of the GNU General Public License as published by 7 | # the Free Software Foundation, either version 3 of the License, or 8 | # (at your option) any later version. 9 | # 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | # GNU General Public License for more details. 14 | # 15 | # You should have received a copy of the GNU General Public License 16 | # along with this program. If not, see . 17 | 18 | """Exception hierarchy in Thamos.""" 19 | 20 | 21 | class ThamosException(Exception): 22 | """A base class for exceptions in Thamos.""" 23 | 24 | 25 | class NoProjectDirError(ThamosException): 26 | """An exception raised if the project directory cannot be found.""" 27 | 28 | 29 | class InternalError(ThamosException): 30 | """An exception raised on internal programming errors.""" 31 | 32 | 33 | class NoApiSupported(ThamosException): 34 | """Raised if client and Thoth server does not support same API versions.""" 35 | 36 | 37 | class ServiceUnavailable(ThamosException): 38 | """Raised if Thoth service is not available.""" 39 | 40 | 41 | class UnknownAnalysisType(ThamosException): 42 | """Raised analysis type (adviser, package-extract, ...) cannot be determined from analysis identifier.""" 43 | 44 | 45 | class NoRuntimeEnvironmentError(ThamosException): 46 | """An exception raised if no runtime environment could be found in configuration file.""" 47 | 48 | 49 | class RuntimeEnvironmentExistsError(ThamosException): 50 | """An exception raised the given runtime environment already exists.""" 51 | 52 | 53 | class NoRequirementsFormatError(ThamosException): 54 | """An exception raised if no requirements format could be found in configuration file.""" 55 | 56 | 57 | class ConfigurationError(ThamosException): 58 | """An exception raised if there are issues with configuration file.""" 59 | 60 | 61 | class TimeoutError(ThamosException): 62 | """An exception raised if the API takes longer than timeout limit.""" 63 | 64 | 65 | class ApiError(ThamosException): 66 | """An exception raised if the API doesn't return expected status code.""" 67 | 68 | 69 | class NoRequirementsFile(ThamosException): 70 | """An exception raised when requirements file is not present.""" 71 | 72 | 73 | class NoDevRequirements(ThamosException): 74 | """An exception raised if no development requirements are found during the installation process.""" 75 | 76 | 77 | class NoMatchingPackage(ThamosException): 78 | """An exception raised if no matching package can be found for a given import.""" 79 | 80 | 81 | class PedanticRunVerificationError(ThamosException): 82 | """An exception raised if the runtime environment used does not match configuration.""" 83 | 84 | 85 | class RequirementsFileError(ThamosException): 86 | """An exception raised if there is an issue with requirements file or lock file.""" 87 | -------------------------------------------------------------------------------- /thamos/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thoth-station/thamos/602a343cd8ce986f476db4001f8e7bfc128e0539/thamos/py.typed -------------------------------------------------------------------------------- /thamos/swagger_client/models/advise_input_library_usage.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class AdviseInputLibraryUsage(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'report': 'object', 32 | 'version': 'str' 33 | } 34 | 35 | attribute_map = { 36 | 'report': 'report', 37 | 'version': 'version' 38 | } 39 | 40 | def __init__(self, report=None, version=None): # noqa: E501 41 | """AdviseInputLibraryUsage - a model defined in Swagger""" # noqa: E501 42 | self._report = None 43 | self._version = None 44 | self.discriminator = None 45 | self.report = report 46 | self.version = version 47 | 48 | @property 49 | def report(self): 50 | """Gets the report of this AdviseInputLibraryUsage. # noqa: E501 51 | 52 | 53 | :return: The report of this AdviseInputLibraryUsage. # noqa: E501 54 | :rtype: object 55 | """ 56 | return self._report 57 | 58 | @report.setter 59 | def report(self, report): 60 | """Sets the report of this AdviseInputLibraryUsage. 61 | 62 | 63 | :param report: The report of this AdviseInputLibraryUsage. # noqa: E501 64 | :type: object 65 | """ 66 | if report is None: 67 | raise ValueError("Invalid value for `report`, must not be `None`") # noqa: E501 68 | 69 | self._report = report 70 | 71 | @property 72 | def version(self): 73 | """Gets the version of this AdviseInputLibraryUsage. # noqa: E501 74 | 75 | 76 | :return: The version of this AdviseInputLibraryUsage. # noqa: E501 77 | :rtype: str 78 | """ 79 | return self._version 80 | 81 | @version.setter 82 | def version(self, version): 83 | """Sets the version of this AdviseInputLibraryUsage. 84 | 85 | 86 | :param version: The version of this AdviseInputLibraryUsage. # noqa: E501 87 | :type: str 88 | """ 89 | if version is None: 90 | raise ValueError("Invalid value for `version`, must not be `None`") # noqa: E501 91 | 92 | self._version = version 93 | 94 | def to_dict(self): 95 | """Returns the model properties as a dict""" 96 | result = {} 97 | 98 | for attr, _ in six.iteritems(self.swagger_types): 99 | value = getattr(self, attr) 100 | if isinstance(value, list): 101 | result[attr] = list(map( 102 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 103 | value 104 | )) 105 | elif hasattr(value, "to_dict"): 106 | result[attr] = value.to_dict() 107 | elif isinstance(value, dict): 108 | result[attr] = dict(map( 109 | lambda item: (item[0], item[1].to_dict()) 110 | if hasattr(item[1], "to_dict") else item, 111 | value.items() 112 | )) 113 | else: 114 | result[attr] = value 115 | if issubclass(AdviseInputLibraryUsage, dict): 116 | for key, value in self.items(): 117 | result[key] = value 118 | 119 | return result 120 | 121 | def to_str(self): 122 | """Returns the string representation of the model""" 123 | return pprint.pformat(self.to_dict()) 124 | 125 | def __repr__(self): 126 | """For `print` and `pprint`""" 127 | return self.to_str() 128 | 129 | def __eq__(self, other): 130 | """Returns true if both objects are equal""" 131 | if not isinstance(other, AdviseInputLibraryUsage): 132 | return False 133 | 134 | return self.__dict__ == other.__dict__ 135 | 136 | def __ne__(self, other): 137 | """Returns true if both objects are not equal""" 138 | return not self == other 139 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/adviser_result_response.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class AdviserResultResponse(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'metadata': 'AdviserResultResponseMetadata', 32 | 'result': 'AdviserResultResponseResult' 33 | } 34 | 35 | attribute_map = { 36 | 'metadata': 'metadata', 37 | 'result': 'result' 38 | } 39 | 40 | def __init__(self, metadata=None, result=None): # noqa: E501 41 | """AdviserResultResponse - a model defined in Swagger""" # noqa: E501 42 | self._metadata = None 43 | self._result = None 44 | self.discriminator = None 45 | self.metadata = metadata 46 | self.result = result 47 | 48 | @property 49 | def metadata(self): 50 | """Gets the metadata of this AdviserResultResponse. # noqa: E501 51 | 52 | 53 | :return: The metadata of this AdviserResultResponse. # noqa: E501 54 | :rtype: AdviserResultResponseMetadata 55 | """ 56 | return self._metadata 57 | 58 | @metadata.setter 59 | def metadata(self, metadata): 60 | """Sets the metadata of this AdviserResultResponse. 61 | 62 | 63 | :param metadata: The metadata of this AdviserResultResponse. # noqa: E501 64 | :type: AdviserResultResponseMetadata 65 | """ 66 | 67 | self._metadata = metadata 68 | 69 | @property 70 | def result(self): 71 | """Gets the result of this AdviserResultResponse. # noqa: E501 72 | 73 | 74 | :return: The result of this AdviserResultResponse. # noqa: E501 75 | :rtype: AdviserResultResponseResult 76 | """ 77 | return self._result 78 | 79 | @result.setter 80 | def result(self, result): 81 | """Sets the result of this AdviserResultResponse. 82 | 83 | 84 | :param result: The result of this AdviserResultResponse. # noqa: E501 85 | :type: AdviserResultResponseResult 86 | """ 87 | if result is None: 88 | raise ValueError("Invalid value for `result`, must not be `None`") # noqa: E501 89 | 90 | self._result = result 91 | 92 | def to_dict(self): 93 | """Returns the model properties as a dict""" 94 | result = {} 95 | 96 | for attr, _ in six.iteritems(self.swagger_types): 97 | value = getattr(self, attr) 98 | if isinstance(value, list): 99 | result[attr] = list(map( 100 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 101 | value 102 | )) 103 | elif hasattr(value, "to_dict"): 104 | result[attr] = value.to_dict() 105 | elif isinstance(value, dict): 106 | result[attr] = dict(map( 107 | lambda item: (item[0], item[1].to_dict()) 108 | if hasattr(item[1], "to_dict") else item, 109 | value.items() 110 | )) 111 | else: 112 | result[attr] = value 113 | if issubclass(AdviserResultResponse, dict): 114 | for key, value in self.items(): 115 | result[key] = value 116 | 117 | return result 118 | 119 | def to_str(self): 120 | """Returns the string representation of the model""" 121 | return pprint.pformat(self.to_dict()) 122 | 123 | def __repr__(self): 124 | """For `print` and `pprint`""" 125 | return self.to_str() 126 | 127 | def __eq__(self, other): 128 | """Returns true if both objects are equal""" 129 | if not isinstance(other, AdviserResultResponse): 130 | return False 131 | 132 | return self.__dict__ == other.__dict__ 133 | 134 | def __ne__(self, other): 135 | """Returns true if both objects are not equal""" 136 | return not self == other 137 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/analysis_log_response.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class AnalysisLogResponse(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'log': 'str', 32 | 'parameters': 'object' 33 | } 34 | 35 | attribute_map = { 36 | 'log': 'log', 37 | 'parameters': 'parameters' 38 | } 39 | 40 | def __init__(self, log=None, parameters=None): # noqa: E501 41 | """AnalysisLogResponse - a model defined in Swagger""" # noqa: E501 42 | self._log = None 43 | self._parameters = None 44 | self.discriminator = None 45 | self.log = log 46 | self.parameters = parameters 47 | 48 | @property 49 | def log(self): 50 | """Gets the log of this AnalysisLogResponse. # noqa: E501 51 | 52 | Analyzer logs printed to stdout/stderr as a plain text # noqa: E501 53 | 54 | :return: The log of this AnalysisLogResponse. # noqa: E501 55 | :rtype: str 56 | """ 57 | return self._log 58 | 59 | @log.setter 60 | def log(self, log): 61 | """Sets the log of this AnalysisLogResponse. 62 | 63 | Analyzer logs printed to stdout/stderr as a plain text # noqa: E501 64 | 65 | :param log: The log of this AnalysisLogResponse. # noqa: E501 66 | :type: str 67 | """ 68 | 69 | self._log = log 70 | 71 | @property 72 | def parameters(self): 73 | """Gets the parameters of this AnalysisLogResponse. # noqa: E501 74 | 75 | Parameters echoed back to user for debugging # noqa: E501 76 | 77 | :return: The parameters of this AnalysisLogResponse. # noqa: E501 78 | :rtype: object 79 | """ 80 | return self._parameters 81 | 82 | @parameters.setter 83 | def parameters(self, parameters): 84 | """Sets the parameters of this AnalysisLogResponse. 85 | 86 | Parameters echoed back to user for debugging # noqa: E501 87 | 88 | :param parameters: The parameters of this AnalysisLogResponse. # noqa: E501 89 | :type: object 90 | """ 91 | if parameters is None: 92 | raise ValueError("Invalid value for `parameters`, must not be `None`") # noqa: E501 93 | 94 | self._parameters = parameters 95 | 96 | def to_dict(self): 97 | """Returns the model properties as a dict""" 98 | result = {} 99 | 100 | for attr, _ in six.iteritems(self.swagger_types): 101 | value = getattr(self, attr) 102 | if isinstance(value, list): 103 | result[attr] = list(map( 104 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 105 | value 106 | )) 107 | elif hasattr(value, "to_dict"): 108 | result[attr] = value.to_dict() 109 | elif isinstance(value, dict): 110 | result[attr] = dict(map( 111 | lambda item: (item[0], item[1].to_dict()) 112 | if hasattr(item[1], "to_dict") else item, 113 | value.items() 114 | )) 115 | else: 116 | result[attr] = value 117 | if issubclass(AnalysisLogResponse, dict): 118 | for key, value in self.items(): 119 | result[key] = value 120 | 121 | return result 122 | 123 | def to_str(self): 124 | """Returns the string representation of the model""" 125 | return pprint.pformat(self.to_dict()) 126 | 127 | def __repr__(self): 128 | """For `print` and `pprint`""" 129 | return self.to_str() 130 | 131 | def __eq__(self, other): 132 | """Returns true if both objects are equal""" 133 | if not isinstance(other, AnalysisLogResponse): 134 | return False 135 | 136 | return self.__dict__ == other.__dict__ 137 | 138 | def __ne__(self, other): 139 | """Returns true if both objects are not equal""" 140 | return not self == other 141 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/analysis_response_error.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class AnalysisResponseError(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'error': 'str', 32 | 'parameters': 'object' 33 | } 34 | 35 | attribute_map = { 36 | 'error': 'error', 37 | 'parameters': 'parameters' 38 | } 39 | 40 | def __init__(self, error=None, parameters=None): # noqa: E501 41 | """AnalysisResponseError - a model defined in Swagger""" # noqa: E501 42 | self._error = None 43 | self._parameters = None 44 | self.discriminator = None 45 | self.error = error 46 | self.parameters = parameters 47 | 48 | @property 49 | def error(self): 50 | """Gets the error of this AnalysisResponseError. # noqa: E501 51 | 52 | Error information for user # noqa: E501 53 | 54 | :return: The error of this AnalysisResponseError. # noqa: E501 55 | :rtype: str 56 | """ 57 | return self._error 58 | 59 | @error.setter 60 | def error(self, error): 61 | """Sets the error of this AnalysisResponseError. 62 | 63 | Error information for user # noqa: E501 64 | 65 | :param error: The error of this AnalysisResponseError. # noqa: E501 66 | :type: str 67 | """ 68 | if error is None: 69 | raise ValueError("Invalid value for `error`, must not be `None`") # noqa: E501 70 | 71 | self._error = error 72 | 73 | @property 74 | def parameters(self): 75 | """Gets the parameters of this AnalysisResponseError. # noqa: E501 76 | 77 | Parameters echoed back to user for debugging # noqa: E501 78 | 79 | :return: The parameters of this AnalysisResponseError. # noqa: E501 80 | :rtype: object 81 | """ 82 | return self._parameters 83 | 84 | @parameters.setter 85 | def parameters(self, parameters): 86 | """Sets the parameters of this AnalysisResponseError. 87 | 88 | Parameters echoed back to user for debugging # noqa: E501 89 | 90 | :param parameters: The parameters of this AnalysisResponseError. # noqa: E501 91 | :type: object 92 | """ 93 | if parameters is None: 94 | raise ValueError("Invalid value for `parameters`, must not be `None`") # noqa: E501 95 | 96 | self._parameters = parameters 97 | 98 | def to_dict(self): 99 | """Returns the model properties as a dict""" 100 | result = {} 101 | 102 | for attr, _ in six.iteritems(self.swagger_types): 103 | value = getattr(self, attr) 104 | if isinstance(value, list): 105 | result[attr] = list(map( 106 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 107 | value 108 | )) 109 | elif hasattr(value, "to_dict"): 110 | result[attr] = value.to_dict() 111 | elif isinstance(value, dict): 112 | result[attr] = dict(map( 113 | lambda item: (item[0], item[1].to_dict()) 114 | if hasattr(item[1], "to_dict") else item, 115 | value.items() 116 | )) 117 | else: 118 | result[attr] = value 119 | if issubclass(AnalysisResponseError, dict): 120 | for key, value in self.items(): 121 | result[key] = value 122 | 123 | return result 124 | 125 | def to_str(self): 126 | """Returns the string representation of the model""" 127 | return pprint.pformat(self.to_dict()) 128 | 129 | def __repr__(self): 130 | """For `print` and `pprint`""" 131 | return self.to_str() 132 | 133 | def __eq__(self, other): 134 | """Returns true if both objects are equal""" 135 | if not isinstance(other, AnalysisResponseError): 136 | return False 137 | 138 | return self.__dict__ == other.__dict__ 139 | 140 | def __ne__(self, other): 141 | """Returns true if both objects are not equal""" 142 | return not self == other 143 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/analysis_result_response.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class AnalysisResultResponse(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'metadata': 'AnalysisResultResponseMetadata', 32 | 'result': 'AnalysisResultResponseResult' 33 | } 34 | 35 | attribute_map = { 36 | 'metadata': 'metadata', 37 | 'result': 'result' 38 | } 39 | 40 | def __init__(self, metadata=None, result=None): # noqa: E501 41 | """AnalysisResultResponse - a model defined in Swagger""" # noqa: E501 42 | self._metadata = None 43 | self._result = None 44 | self.discriminator = None 45 | self.metadata = metadata 46 | self.result = result 47 | 48 | @property 49 | def metadata(self): 50 | """Gets the metadata of this AnalysisResultResponse. # noqa: E501 51 | 52 | 53 | :return: The metadata of this AnalysisResultResponse. # noqa: E501 54 | :rtype: AnalysisResultResponseMetadata 55 | """ 56 | return self._metadata 57 | 58 | @metadata.setter 59 | def metadata(self, metadata): 60 | """Sets the metadata of this AnalysisResultResponse. 61 | 62 | 63 | :param metadata: The metadata of this AnalysisResultResponse. # noqa: E501 64 | :type: AnalysisResultResponseMetadata 65 | """ 66 | if metadata is None: 67 | raise ValueError("Invalid value for `metadata`, must not be `None`") # noqa: E501 68 | 69 | self._metadata = metadata 70 | 71 | @property 72 | def result(self): 73 | """Gets the result of this AnalysisResultResponse. # noqa: E501 74 | 75 | 76 | :return: The result of this AnalysisResultResponse. # noqa: E501 77 | :rtype: AnalysisResultResponseResult 78 | """ 79 | return self._result 80 | 81 | @result.setter 82 | def result(self, result): 83 | """Sets the result of this AnalysisResultResponse. 84 | 85 | 86 | :param result: The result of this AnalysisResultResponse. # noqa: E501 87 | :type: AnalysisResultResponseResult 88 | """ 89 | if result is None: 90 | raise ValueError("Invalid value for `result`, must not be `None`") # noqa: E501 91 | 92 | self._result = result 93 | 94 | def to_dict(self): 95 | """Returns the model properties as a dict""" 96 | result = {} 97 | 98 | for attr, _ in six.iteritems(self.swagger_types): 99 | value = getattr(self, attr) 100 | if isinstance(value, list): 101 | result[attr] = list(map( 102 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 103 | value 104 | )) 105 | elif hasattr(value, "to_dict"): 106 | result[attr] = value.to_dict() 107 | elif isinstance(value, dict): 108 | result[attr] = dict(map( 109 | lambda item: (item[0], item[1].to_dict()) 110 | if hasattr(item[1], "to_dict") else item, 111 | value.items() 112 | )) 113 | else: 114 | result[attr] = value 115 | if issubclass(AnalysisResultResponse, dict): 116 | for key, value in self.items(): 117 | result[key] = value 118 | 119 | return result 120 | 121 | def to_str(self): 122 | """Returns the string representation of the model""" 123 | return pprint.pformat(self.to_dict()) 124 | 125 | def __repr__(self): 126 | """For `print` and `pprint`""" 127 | return self.to_str() 128 | 129 | def __eq__(self, other): 130 | """Returns true if both objects are equal""" 131 | if not isinstance(other, AnalysisResultResponse): 132 | return False 133 | 134 | return self.__dict__ == other.__dict__ 135 | 136 | def __ne__(self, other): 137 | """Returns true if both objects are not equal""" 138 | return not self == other 139 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/analysis_result_response_result_pythonfiles.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class AnalysisResultResponseResultPythonfiles(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'filepath': 'str', 32 | 'sha256': 'str' 33 | } 34 | 35 | attribute_map = { 36 | 'filepath': 'filepath', 37 | 'sha256': 'sha256' 38 | } 39 | 40 | def __init__(self, filepath=None, sha256=None): # noqa: E501 41 | """AnalysisResultResponseResultPythonfiles - a model defined in Swagger""" # noqa: E501 42 | self._filepath = None 43 | self._sha256 = None 44 | self.discriminator = None 45 | self.filepath = filepath 46 | self.sha256 = sha256 47 | 48 | @property 49 | def filepath(self): 50 | """Gets the filepath of this AnalysisResultResponseResultPythonfiles. # noqa: E501 51 | 52 | 53 | :return: The filepath of this AnalysisResultResponseResultPythonfiles. # noqa: E501 54 | :rtype: str 55 | """ 56 | return self._filepath 57 | 58 | @filepath.setter 59 | def filepath(self, filepath): 60 | """Sets the filepath of this AnalysisResultResponseResultPythonfiles. 61 | 62 | 63 | :param filepath: The filepath of this AnalysisResultResponseResultPythonfiles. # noqa: E501 64 | :type: str 65 | """ 66 | if filepath is None: 67 | raise ValueError("Invalid value for `filepath`, must not be `None`") # noqa: E501 68 | 69 | self._filepath = filepath 70 | 71 | @property 72 | def sha256(self): 73 | """Gets the sha256 of this AnalysisResultResponseResultPythonfiles. # noqa: E501 74 | 75 | SHA256 of the file # noqa: E501 76 | 77 | :return: The sha256 of this AnalysisResultResponseResultPythonfiles. # noqa: E501 78 | :rtype: str 79 | """ 80 | return self._sha256 81 | 82 | @sha256.setter 83 | def sha256(self, sha256): 84 | """Sets the sha256 of this AnalysisResultResponseResultPythonfiles. 85 | 86 | SHA256 of the file # noqa: E501 87 | 88 | :param sha256: The sha256 of this AnalysisResultResponseResultPythonfiles. # noqa: E501 89 | :type: str 90 | """ 91 | if sha256 is None: 92 | raise ValueError("Invalid value for `sha256`, must not be `None`") # noqa: E501 93 | 94 | self._sha256 = sha256 95 | 96 | def to_dict(self): 97 | """Returns the model properties as a dict""" 98 | result = {} 99 | 100 | for attr, _ in six.iteritems(self.swagger_types): 101 | value = getattr(self, attr) 102 | if isinstance(value, list): 103 | result[attr] = list(map( 104 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 105 | value 106 | )) 107 | elif hasattr(value, "to_dict"): 108 | result[attr] = value.to_dict() 109 | elif isinstance(value, dict): 110 | result[attr] = dict(map( 111 | lambda item: (item[0], item[1].to_dict()) 112 | if hasattr(item[1], "to_dict") else item, 113 | value.items() 114 | )) 115 | else: 116 | result[attr] = value 117 | if issubclass(AnalysisResultResponseResultPythonfiles, dict): 118 | for key, value in self.items(): 119 | result[key] = value 120 | 121 | return result 122 | 123 | def to_str(self): 124 | """Returns the string representation of the model""" 125 | return pprint.pformat(self.to_dict()) 126 | 127 | def __repr__(self): 128 | """For `print` and `pprint`""" 129 | return self.to_str() 130 | 131 | def __eq__(self, other): 132 | """Returns true if both objects are equal""" 133 | if not isinstance(other, AnalysisResultResponseResultPythonfiles): 134 | return False 135 | 136 | return self.__dict__ == other.__dict__ 137 | 138 | def __ne__(self, other): 139 | """Returns true if both objects are not equal""" 140 | return not self == other 141 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/analysis_status_response.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class AnalysisStatusResponse(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'parameters': 'object', 32 | 'status': 'AnalysisStatusResponseStatus' 33 | } 34 | 35 | attribute_map = { 36 | 'parameters': 'parameters', 37 | 'status': 'status' 38 | } 39 | 40 | def __init__(self, parameters=None, status=None): # noqa: E501 41 | """AnalysisStatusResponse - a model defined in Swagger""" # noqa: E501 42 | self._parameters = None 43 | self._status = None 44 | self.discriminator = None 45 | self.parameters = parameters 46 | self.status = status 47 | 48 | @property 49 | def parameters(self): 50 | """Gets the parameters of this AnalysisStatusResponse. # noqa: E501 51 | 52 | Parameters echoed back to user for debugging # noqa: E501 53 | 54 | :return: The parameters of this AnalysisStatusResponse. # noqa: E501 55 | :rtype: object 56 | """ 57 | return self._parameters 58 | 59 | @parameters.setter 60 | def parameters(self, parameters): 61 | """Sets the parameters of this AnalysisStatusResponse. 62 | 63 | Parameters echoed back to user for debugging # noqa: E501 64 | 65 | :param parameters: The parameters of this AnalysisStatusResponse. # noqa: E501 66 | :type: object 67 | """ 68 | if parameters is None: 69 | raise ValueError("Invalid value for `parameters`, must not be `None`") # noqa: E501 70 | 71 | self._parameters = parameters 72 | 73 | @property 74 | def status(self): 75 | """Gets the status of this AnalysisStatusResponse. # noqa: E501 76 | 77 | 78 | :return: The status of this AnalysisStatusResponse. # noqa: E501 79 | :rtype: AnalysisStatusResponseStatus 80 | """ 81 | return self._status 82 | 83 | @status.setter 84 | def status(self, status): 85 | """Sets the status of this AnalysisStatusResponse. 86 | 87 | 88 | :param status: The status of this AnalysisStatusResponse. # noqa: E501 89 | :type: AnalysisStatusResponseStatus 90 | """ 91 | if status is None: 92 | raise ValueError("Invalid value for `status`, must not be `None`") # noqa: E501 93 | 94 | self._status = status 95 | 96 | def to_dict(self): 97 | """Returns the model properties as a dict""" 98 | result = {} 99 | 100 | for attr, _ in six.iteritems(self.swagger_types): 101 | value = getattr(self, attr) 102 | if isinstance(value, list): 103 | result[attr] = list(map( 104 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 105 | value 106 | )) 107 | elif hasattr(value, "to_dict"): 108 | result[attr] = value.to_dict() 109 | elif isinstance(value, dict): 110 | result[attr] = dict(map( 111 | lambda item: (item[0], item[1].to_dict()) 112 | if hasattr(item[1], "to_dict") else item, 113 | value.items() 114 | )) 115 | else: 116 | result[attr] = value 117 | if issubclass(AnalysisStatusResponse, dict): 118 | for key, value in self.items(): 119 | result[key] = value 120 | 121 | return result 122 | 123 | def to_str(self): 124 | """Returns the string representation of the model""" 125 | return pprint.pformat(self.to_dict()) 126 | 127 | def __repr__(self): 128 | """For `print` and `pprint`""" 129 | return self.to_str() 130 | 131 | def __eq__(self, other): 132 | """Returns true if both objects are equal""" 133 | if not isinstance(other, AnalysisStatusResponse): 134 | return False 135 | 136 | return self.__dict__ == other.__dict__ 137 | 138 | def __ne__(self, other): 139 | """Returns true if both objects are not equal""" 140 | return not self == other 141 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/analysis_unauthorized_error.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class AnalysisUnauthorizedError(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'error': 'str' 32 | } 33 | 34 | attribute_map = { 35 | 'error': 'error' 36 | } 37 | 38 | def __init__(self, error=None): # noqa: E501 39 | """AnalysisUnauthorizedError - a model defined in Swagger""" # noqa: E501 40 | self._error = None 41 | self.discriminator = None 42 | self.error = error 43 | 44 | @property 45 | def error(self): 46 | """Gets the error of this AnalysisUnauthorizedError. # noqa: E501 47 | 48 | Unauthorized error information # noqa: E501 49 | 50 | :return: The error of this AnalysisUnauthorizedError. # noqa: E501 51 | :rtype: str 52 | """ 53 | return self._error 54 | 55 | @error.setter 56 | def error(self, error): 57 | """Sets the error of this AnalysisUnauthorizedError. 58 | 59 | Unauthorized error information # noqa: E501 60 | 61 | :param error: The error of this AnalysisUnauthorizedError. # noqa: E501 62 | :type: str 63 | """ 64 | if error is None: 65 | raise ValueError("Invalid value for `error`, must not be `None`") # noqa: E501 66 | 67 | self._error = error 68 | 69 | def to_dict(self): 70 | """Returns the model properties as a dict""" 71 | result = {} 72 | 73 | for attr, _ in six.iteritems(self.swagger_types): 74 | value = getattr(self, attr) 75 | if isinstance(value, list): 76 | result[attr] = list(map( 77 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 78 | value 79 | )) 80 | elif hasattr(value, "to_dict"): 81 | result[attr] = value.to_dict() 82 | elif isinstance(value, dict): 83 | result[attr] = dict(map( 84 | lambda item: (item[0], item[1].to_dict()) 85 | if hasattr(item[1], "to_dict") else item, 86 | value.items() 87 | )) 88 | else: 89 | result[attr] = value 90 | if issubclass(AnalysisUnauthorizedError, dict): 91 | for key, value in self.items(): 92 | result[key] = value 93 | 94 | return result 95 | 96 | def to_str(self): 97 | """Returns the string representation of the model""" 98 | return pprint.pformat(self.to_dict()) 99 | 100 | def __repr__(self): 101 | """For `print` and `pprint`""" 102 | return self.to_str() 103 | 104 | def __eq__(self, other): 105 | """Returns true if both objects are equal""" 106 | if not isinstance(other, AnalysisUnauthorizedError): 107 | return False 108 | 109 | return self.__dict__ == other.__dict__ 110 | 111 | def __ne__(self, other): 112 | """Returns true if both objects are not equal""" 113 | return not self == other 114 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/container_images_response_parameters.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class ContainerImagesResponseParameters(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'page': 'int' 32 | } 33 | 34 | attribute_map = { 35 | 'page': 'page' 36 | } 37 | 38 | def __init__(self, page=None): # noqa: E501 39 | """ContainerImagesResponseParameters - a model defined in Swagger""" # noqa: E501 40 | self._page = None 41 | self.discriminator = None 42 | self.page = page 43 | 44 | @property 45 | def page(self): 46 | """Gets the page of this ContainerImagesResponseParameters. # noqa: E501 47 | 48 | Page offset in the pagination # noqa: E501 49 | 50 | :return: The page of this ContainerImagesResponseParameters. # noqa: E501 51 | :rtype: int 52 | """ 53 | return self._page 54 | 55 | @page.setter 56 | def page(self, page): 57 | """Sets the page of this ContainerImagesResponseParameters. 58 | 59 | Page offset in the pagination # noqa: E501 60 | 61 | :param page: The page of this ContainerImagesResponseParameters. # noqa: E501 62 | :type: int 63 | """ 64 | if page is None: 65 | raise ValueError("Invalid value for `page`, must not be `None`") # noqa: E501 66 | 67 | self._page = page 68 | 69 | def to_dict(self): 70 | """Returns the model properties as a dict""" 71 | result = {} 72 | 73 | for attr, _ in six.iteritems(self.swagger_types): 74 | value = getattr(self, attr) 75 | if isinstance(value, list): 76 | result[attr] = list(map( 77 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 78 | value 79 | )) 80 | elif hasattr(value, "to_dict"): 81 | result[attr] = value.to_dict() 82 | elif isinstance(value, dict): 83 | result[attr] = dict(map( 84 | lambda item: (item[0], item[1].to_dict()) 85 | if hasattr(item[1], "to_dict") else item, 86 | value.items() 87 | )) 88 | else: 89 | result[attr] = value 90 | if issubclass(ContainerImagesResponseParameters, dict): 91 | for key, value in self.items(): 92 | result[key] = value 93 | 94 | return result 95 | 96 | def to_str(self): 97 | """Returns the string representation of the model""" 98 | return pprint.pformat(self.to_dict()) 99 | 100 | def __repr__(self): 101 | """For `print` and `pprint`""" 102 | return self.to_str() 103 | 104 | def __eq__(self, other): 105 | """Returns true if both objects are equal""" 106 | if not isinstance(other, ContainerImagesResponseParameters): 107 | return False 108 | 109 | return self.__dict__ == other.__dict__ 110 | 111 | def __ne__(self, other): 112 | """Returns true if both objects are not equal""" 113 | return not self == other 114 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/deb_dependency_item.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class DebDependencyItem(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'name': 'str', 32 | 'version': 'str' 33 | } 34 | 35 | attribute_map = { 36 | 'name': 'name', 37 | 'version': 'version' 38 | } 39 | 40 | def __init__(self, name=None, version=None): # noqa: E501 41 | """DebDependencyItem - a model defined in Swagger""" # noqa: E501 42 | self._name = None 43 | self._version = None 44 | self.discriminator = None 45 | self.name = name 46 | self.version = version 47 | 48 | @property 49 | def name(self): 50 | """Gets the name of this DebDependencyItem. # noqa: E501 51 | 52 | Dependency name # noqa: E501 53 | 54 | :return: The name of this DebDependencyItem. # noqa: E501 55 | :rtype: str 56 | """ 57 | return self._name 58 | 59 | @name.setter 60 | def name(self, name): 61 | """Sets the name of this DebDependencyItem. 62 | 63 | Dependency name # noqa: E501 64 | 65 | :param name: The name of this DebDependencyItem. # noqa: E501 66 | :type: str 67 | """ 68 | if name is None: 69 | raise ValueError("Invalid value for `name`, must not be `None`") # noqa: E501 70 | 71 | self._name = name 72 | 73 | @property 74 | def version(self): 75 | """Gets the version of this DebDependencyItem. # noqa: E501 76 | 77 | Dependency version # noqa: E501 78 | 79 | :return: The version of this DebDependencyItem. # noqa: E501 80 | :rtype: str 81 | """ 82 | return self._version 83 | 84 | @version.setter 85 | def version(self, version): 86 | """Sets the version of this DebDependencyItem. 87 | 88 | Dependency version # noqa: E501 89 | 90 | :param version: The version of this DebDependencyItem. # noqa: E501 91 | :type: str 92 | """ 93 | if version is None: 94 | raise ValueError("Invalid value for `version`, must not be `None`") # noqa: E501 95 | 96 | self._version = version 97 | 98 | def to_dict(self): 99 | """Returns the model properties as a dict""" 100 | result = {} 101 | 102 | for attr, _ in six.iteritems(self.swagger_types): 103 | value = getattr(self, attr) 104 | if isinstance(value, list): 105 | result[attr] = list(map( 106 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 107 | value 108 | )) 109 | elif hasattr(value, "to_dict"): 110 | result[attr] = value.to_dict() 111 | elif isinstance(value, dict): 112 | result[attr] = dict(map( 113 | lambda item: (item[0], item[1].to_dict()) 114 | if hasattr(item[1], "to_dict") else item, 115 | value.items() 116 | )) 117 | else: 118 | result[attr] = value 119 | if issubclass(DebDependencyItem, dict): 120 | for key, value in self.items(): 121 | result[key] = value 122 | 123 | return result 124 | 125 | def to_str(self): 126 | """Returns the string representation of the model""" 127 | return pprint.pformat(self.to_dict()) 128 | 129 | def __repr__(self): 130 | """For `print` and `pprint`""" 131 | return self.to_str() 132 | 133 | def __eq__(self, other): 134 | """Returns true if both objects are equal""" 135 | if not isinstance(other, DebDependencyItem): 136 | return False 137 | 138 | return self.__dict__ == other.__dict__ 139 | 140 | def __ne__(self, other): 141 | """Returns true if both objects are not equal""" 142 | return not self == other 143 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/justification.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class Justification(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | } 32 | 33 | attribute_map = { 34 | } 35 | 36 | def __init__(self): # noqa: E501 37 | """Justification - a model defined in Swagger""" # noqa: E501 38 | self.discriminator = None 39 | 40 | def to_dict(self): 41 | """Returns the model properties as a dict""" 42 | result = {} 43 | 44 | for attr, _ in six.iteritems(self.swagger_types): 45 | value = getattr(self, attr) 46 | if isinstance(value, list): 47 | result[attr] = list(map( 48 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 49 | value 50 | )) 51 | elif hasattr(value, "to_dict"): 52 | result[attr] = value.to_dict() 53 | elif isinstance(value, dict): 54 | result[attr] = dict(map( 55 | lambda item: (item[0], item[1].to_dict()) 56 | if hasattr(item[1], "to_dict") else item, 57 | value.items() 58 | )) 59 | else: 60 | result[attr] = value 61 | if issubclass(Justification, dict): 62 | for key, value in self.items(): 63 | result[key] = value 64 | 65 | return result 66 | 67 | def to_str(self): 68 | """Returns the string representation of the model""" 69 | return pprint.pformat(self.to_dict()) 70 | 71 | def __repr__(self): 72 | """For `print` and `pprint`""" 73 | return self.to_str() 74 | 75 | def __eq__(self, other): 76 | """Returns true if both objects are equal""" 77 | if not isinstance(other, Justification): 78 | return False 79 | 80 | return self.__dict__ == other.__dict__ 81 | 82 | def __ne__(self, other): 83 | """Returns true if both objects are not equal""" 84 | return not self == other 85 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/kebechet_webhook_input.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class KebechetWebhookInput(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | } 32 | 33 | attribute_map = { 34 | } 35 | 36 | def __init__(self): # noqa: E501 37 | """KebechetWebhookInput - a model defined in Swagger""" # noqa: E501 38 | self.discriminator = None 39 | 40 | def to_dict(self): 41 | """Returns the model properties as a dict""" 42 | result = {} 43 | 44 | for attr, _ in six.iteritems(self.swagger_types): 45 | value = getattr(self, attr) 46 | if isinstance(value, list): 47 | result[attr] = list(map( 48 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 49 | value 50 | )) 51 | elif hasattr(value, "to_dict"): 52 | result[attr] = value.to_dict() 53 | elif isinstance(value, dict): 54 | result[attr] = dict(map( 55 | lambda item: (item[0], item[1].to_dict()) 56 | if hasattr(item[1], "to_dict") else item, 57 | value.items() 58 | )) 59 | else: 60 | result[attr] = value 61 | if issubclass(KebechetWebhookInput, dict): 62 | for key, value in self.items(): 63 | result[key] = value 64 | 65 | return result 66 | 67 | def to_str(self): 68 | """Returns the string representation of the model""" 69 | return pprint.pformat(self.to_dict()) 70 | 71 | def __repr__(self): 72 | """For `print` and `pprint`""" 73 | return self.to_str() 74 | 75 | def __eq__(self, other): 76 | """Returns true if both objects are equal""" 77 | if not isinstance(other, KebechetWebhookInput): 78 | return False 79 | 80 | return self.__dict__ == other.__dict__ 81 | 82 | def __ne__(self, other): 83 | """Returns true if both objects are not equal""" 84 | return not self == other 85 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/provenance_result_response.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class ProvenanceResultResponse(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'metadata': 'ProvenanceResultResponseMetadata', 32 | 'result': 'ProvenanceResultResponseResult' 33 | } 34 | 35 | attribute_map = { 36 | 'metadata': 'metadata', 37 | 'result': 'result' 38 | } 39 | 40 | def __init__(self, metadata=None, result=None): # noqa: E501 41 | """ProvenanceResultResponse - a model defined in Swagger""" # noqa: E501 42 | self._metadata = None 43 | self._result = None 44 | self.discriminator = None 45 | self.metadata = metadata 46 | self.result = result 47 | 48 | @property 49 | def metadata(self): 50 | """Gets the metadata of this ProvenanceResultResponse. # noqa: E501 51 | 52 | 53 | :return: The metadata of this ProvenanceResultResponse. # noqa: E501 54 | :rtype: ProvenanceResultResponseMetadata 55 | """ 56 | return self._metadata 57 | 58 | @metadata.setter 59 | def metadata(self, metadata): 60 | """Sets the metadata of this ProvenanceResultResponse. 61 | 62 | 63 | :param metadata: The metadata of this ProvenanceResultResponse. # noqa: E501 64 | :type: ProvenanceResultResponseMetadata 65 | """ 66 | if metadata is None: 67 | raise ValueError("Invalid value for `metadata`, must not be `None`") # noqa: E501 68 | 69 | self._metadata = metadata 70 | 71 | @property 72 | def result(self): 73 | """Gets the result of this ProvenanceResultResponse. # noqa: E501 74 | 75 | 76 | :return: The result of this ProvenanceResultResponse. # noqa: E501 77 | :rtype: ProvenanceResultResponseResult 78 | """ 79 | return self._result 80 | 81 | @result.setter 82 | def result(self, result): 83 | """Sets the result of this ProvenanceResultResponse. 84 | 85 | 86 | :param result: The result of this ProvenanceResultResponse. # noqa: E501 87 | :type: ProvenanceResultResponseResult 88 | """ 89 | if result is None: 90 | raise ValueError("Invalid value for `result`, must not be `None`") # noqa: E501 91 | 92 | self._result = result 93 | 94 | def to_dict(self): 95 | """Returns the model properties as a dict""" 96 | result = {} 97 | 98 | for attr, _ in six.iteritems(self.swagger_types): 99 | value = getattr(self, attr) 100 | if isinstance(value, list): 101 | result[attr] = list(map( 102 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 103 | value 104 | )) 105 | elif hasattr(value, "to_dict"): 106 | result[attr] = value.to_dict() 107 | elif isinstance(value, dict): 108 | result[attr] = dict(map( 109 | lambda item: (item[0], item[1].to_dict()) 110 | if hasattr(item[1], "to_dict") else item, 111 | value.items() 112 | )) 113 | else: 114 | result[attr] = value 115 | if issubclass(ProvenanceResultResponse, dict): 116 | for key, value in self.items(): 117 | result[key] = value 118 | 119 | return result 120 | 121 | def to_str(self): 122 | """Returns the string representation of the model""" 123 | return pprint.pformat(self.to_dict()) 124 | 125 | def __repr__(self): 126 | """For `print` and `pprint`""" 127 | return self.to_str() 128 | 129 | def __eq__(self, other): 130 | """Returns true if both objects are equal""" 131 | if not isinstance(other, ProvenanceResultResponse): 132 | return False 133 | 134 | return self.__dict__ == other.__dict__ 135 | 136 | def __ne__(self, other): 137 | """Returns true if both objects are not equal""" 138 | return not self == other 139 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/python_environments.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class PythonEnvironments(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'environment': 'list[PythonEnvironmentsEnvironment]' 32 | } 33 | 34 | attribute_map = { 35 | 'environment': 'environment' 36 | } 37 | 38 | def __init__(self, environment=None): # noqa: E501 39 | """PythonEnvironments - a model defined in Swagger""" # noqa: E501 40 | self._environment = None 41 | self.discriminator = None 42 | self.environment = environment 43 | 44 | @property 45 | def environment(self): 46 | """Gets the environment of this PythonEnvironments. # noqa: E501 47 | 48 | 49 | :return: The environment of this PythonEnvironments. # noqa: E501 50 | :rtype: list[PythonEnvironmentsEnvironment] 51 | """ 52 | return self._environment 53 | 54 | @environment.setter 55 | def environment(self, environment): 56 | """Sets the environment of this PythonEnvironments. 57 | 58 | 59 | :param environment: The environment of this PythonEnvironments. # noqa: E501 60 | :type: list[PythonEnvironmentsEnvironment] 61 | """ 62 | if environment is None: 63 | raise ValueError("Invalid value for `environment`, must not be `None`") # noqa: E501 64 | 65 | self._environment = environment 66 | 67 | def to_dict(self): 68 | """Returns the model properties as a dict""" 69 | result = {} 70 | 71 | for attr, _ in six.iteritems(self.swagger_types): 72 | value = getattr(self, attr) 73 | if isinstance(value, list): 74 | result[attr] = list(map( 75 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 76 | value 77 | )) 78 | elif hasattr(value, "to_dict"): 79 | result[attr] = value.to_dict() 80 | elif isinstance(value, dict): 81 | result[attr] = dict(map( 82 | lambda item: (item[0], item[1].to_dict()) 83 | if hasattr(item[1], "to_dict") else item, 84 | value.items() 85 | )) 86 | else: 87 | result[attr] = value 88 | if issubclass(PythonEnvironments, dict): 89 | for key, value in self.items(): 90 | result[key] = value 91 | 92 | return result 93 | 94 | def to_str(self): 95 | """Returns the string representation of the model""" 96 | return pprint.pformat(self.to_dict()) 97 | 98 | def __repr__(self): 99 | """For `print` and `pprint`""" 100 | return self.to_str() 101 | 102 | def __eq__(self, other): 103 | """Returns true if both objects are equal""" 104 | if not isinstance(other, PythonEnvironments): 105 | return False 106 | 107 | return self.__dict__ == other.__dict__ 108 | 109 | def __ne__(self, other): 110 | """Returns true if both objects are not equal""" 111 | return not self == other 112 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/python_package_dependencies.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class PythonPackageDependencies(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'dependencies': 'list[PythonPackageDependenciesDependencies]', 32 | 'parameters': 'object' 33 | } 34 | 35 | attribute_map = { 36 | 'dependencies': 'dependencies', 37 | 'parameters': 'parameters' 38 | } 39 | 40 | def __init__(self, dependencies=None, parameters=None): # noqa: E501 41 | """PythonPackageDependencies - a model defined in Swagger""" # noqa: E501 42 | self._dependencies = None 43 | self._parameters = None 44 | self.discriminator = None 45 | self.dependencies = dependencies 46 | self.parameters = parameters 47 | 48 | @property 49 | def dependencies(self): 50 | """Gets the dependencies of this PythonPackageDependencies. # noqa: E501 51 | 52 | 53 | :return: The dependencies of this PythonPackageDependencies. # noqa: E501 54 | :rtype: list[PythonPackageDependenciesDependencies] 55 | """ 56 | return self._dependencies 57 | 58 | @dependencies.setter 59 | def dependencies(self, dependencies): 60 | """Sets the dependencies of this PythonPackageDependencies. 61 | 62 | 63 | :param dependencies: The dependencies of this PythonPackageDependencies. # noqa: E501 64 | :type: list[PythonPackageDependenciesDependencies] 65 | """ 66 | if dependencies is None: 67 | raise ValueError("Invalid value for `dependencies`, must not be `None`") # noqa: E501 68 | 69 | self._dependencies = dependencies 70 | 71 | @property 72 | def parameters(self): 73 | """Gets the parameters of this PythonPackageDependencies. # noqa: E501 74 | 75 | 76 | :return: The parameters of this PythonPackageDependencies. # noqa: E501 77 | :rtype: object 78 | """ 79 | return self._parameters 80 | 81 | @parameters.setter 82 | def parameters(self, parameters): 83 | """Sets the parameters of this PythonPackageDependencies. 84 | 85 | 86 | :param parameters: The parameters of this PythonPackageDependencies. # noqa: E501 87 | :type: object 88 | """ 89 | if parameters is None: 90 | raise ValueError("Invalid value for `parameters`, must not be `None`") # noqa: E501 91 | 92 | self._parameters = parameters 93 | 94 | def to_dict(self): 95 | """Returns the model properties as a dict""" 96 | result = {} 97 | 98 | for attr, _ in six.iteritems(self.swagger_types): 99 | value = getattr(self, attr) 100 | if isinstance(value, list): 101 | result[attr] = list(map( 102 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 103 | value 104 | )) 105 | elif hasattr(value, "to_dict"): 106 | result[attr] = value.to_dict() 107 | elif isinstance(value, dict): 108 | result[attr] = dict(map( 109 | lambda item: (item[0], item[1].to_dict()) 110 | if hasattr(item[1], "to_dict") else item, 111 | value.items() 112 | )) 113 | else: 114 | result[attr] = value 115 | if issubclass(PythonPackageDependencies, dict): 116 | for key, value in self.items(): 117 | result[key] = value 118 | 119 | return result 120 | 121 | def to_str(self): 122 | """Returns the string representation of the model""" 123 | return pprint.pformat(self.to_dict()) 124 | 125 | def __repr__(self): 126 | """For `print` and `pprint`""" 127 | return self.to_str() 128 | 129 | def __eq__(self, other): 130 | """Returns true if both objects are equal""" 131 | if not isinstance(other, PythonPackageDependencies): 132 | return False 133 | 134 | return self.__dict__ == other.__dict__ 135 | 136 | def __ne__(self, other): 137 | """Returns true if both objects are not equal""" 138 | return not self == other 139 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/python_package_indexes.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class PythonPackageIndexes(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'indexes': 'list[PythonPackageIndexesIndexes]' 32 | } 33 | 34 | attribute_map = { 35 | 'indexes': 'indexes' 36 | } 37 | 38 | def __init__(self, indexes=None): # noqa: E501 39 | """PythonPackageIndexes - a model defined in Swagger""" # noqa: E501 40 | self._indexes = None 41 | self.discriminator = None 42 | self.indexes = indexes 43 | 44 | @property 45 | def indexes(self): 46 | """Gets the indexes of this PythonPackageIndexes. # noqa: E501 47 | 48 | 49 | :return: The indexes of this PythonPackageIndexes. # noqa: E501 50 | :rtype: list[PythonPackageIndexesIndexes] 51 | """ 52 | return self._indexes 53 | 54 | @indexes.setter 55 | def indexes(self, indexes): 56 | """Sets the indexes of this PythonPackageIndexes. 57 | 58 | 59 | :param indexes: The indexes of this PythonPackageIndexes. # noqa: E501 60 | :type: list[PythonPackageIndexesIndexes] 61 | """ 62 | if indexes is None: 63 | raise ValueError("Invalid value for `indexes`, must not be `None`") # noqa: E501 64 | 65 | self._indexes = indexes 66 | 67 | def to_dict(self): 68 | """Returns the model properties as a dict""" 69 | result = {} 70 | 71 | for attr, _ in six.iteritems(self.swagger_types): 72 | value = getattr(self, attr) 73 | if isinstance(value, list): 74 | result[attr] = list(map( 75 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 76 | value 77 | )) 78 | elif hasattr(value, "to_dict"): 79 | result[attr] = value.to_dict() 80 | elif isinstance(value, dict): 81 | result[attr] = dict(map( 82 | lambda item: (item[0], item[1].to_dict()) 83 | if hasattr(item[1], "to_dict") else item, 84 | value.items() 85 | )) 86 | else: 87 | result[attr] = value 88 | if issubclass(PythonPackageIndexes, dict): 89 | for key, value in self.items(): 90 | result[key] = value 91 | 92 | return result 93 | 94 | def to_str(self): 95 | """Returns the string representation of the model""" 96 | return pprint.pformat(self.to_dict()) 97 | 98 | def __repr__(self): 99 | """For `print` and `pprint`""" 100 | return self.to_str() 101 | 102 | def __eq__(self, other): 103 | """Returns true if both objects are equal""" 104 | if not isinstance(other, PythonPackageIndexes): 105 | return False 106 | 107 | return self.__dict__ == other.__dict__ 108 | 109 | def __ne__(self, other): 110 | """Returns true if both objects are not equal""" 111 | return not self == other 112 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/python_package_version_environments_response.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class PythonPackageVersionEnvironmentsResponse(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'environments': 'list[PythonEnvironmentsEnvironment]' 32 | } 33 | 34 | attribute_map = { 35 | 'environments': 'environments' 36 | } 37 | 38 | def __init__(self, environments=None): # noqa: E501 39 | """PythonPackageVersionEnvironmentsResponse - a model defined in Swagger""" # noqa: E501 40 | self._environments = None 41 | self.discriminator = None 42 | self.environments = environments 43 | 44 | @property 45 | def environments(self): 46 | """Gets the environments of this PythonPackageVersionEnvironmentsResponse. # noqa: E501 47 | 48 | 49 | :return: The environments of this PythonPackageVersionEnvironmentsResponse. # noqa: E501 50 | :rtype: list[PythonEnvironmentsEnvironment] 51 | """ 52 | return self._environments 53 | 54 | @environments.setter 55 | def environments(self, environments): 56 | """Sets the environments of this PythonPackageVersionEnvironmentsResponse. 57 | 58 | 59 | :param environments: The environments of this PythonPackageVersionEnvironmentsResponse. # noqa: E501 60 | :type: list[PythonEnvironmentsEnvironment] 61 | """ 62 | if environments is None: 63 | raise ValueError("Invalid value for `environments`, must not be `None`") # noqa: E501 64 | 65 | self._environments = environments 66 | 67 | def to_dict(self): 68 | """Returns the model properties as a dict""" 69 | result = {} 70 | 71 | for attr, _ in six.iteritems(self.swagger_types): 72 | value = getattr(self, attr) 73 | if isinstance(value, list): 74 | result[attr] = list(map( 75 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 76 | value 77 | )) 78 | elif hasattr(value, "to_dict"): 79 | result[attr] = value.to_dict() 80 | elif isinstance(value, dict): 81 | result[attr] = dict(map( 82 | lambda item: (item[0], item[1].to_dict()) 83 | if hasattr(item[1], "to_dict") else item, 84 | value.items() 85 | )) 86 | else: 87 | result[attr] = value 88 | if issubclass(PythonPackageVersionEnvironmentsResponse, dict): 89 | for key, value in self.items(): 90 | result[key] = value 91 | 92 | return result 93 | 94 | def to_str(self): 95 | """Returns the string representation of the model""" 96 | return pprint.pformat(self.to_dict()) 97 | 98 | def __repr__(self): 99 | """For `print` and `pprint`""" 100 | return self.to_str() 101 | 102 | def __eq__(self, other): 103 | """Returns true if both objects are equal""" 104 | if not isinstance(other, PythonPackageVersionEnvironmentsResponse): 105 | return False 106 | 107 | return self.__dict__ == other.__dict__ 108 | 109 | def __ne__(self, other): 110 | """Returns true if both objects are not equal""" 111 | return not self == other 112 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/python_package_versions_response.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class PythonPackageVersionsResponse(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'versions': 'list[PythonPackageVersionsResponseVersions]' 32 | } 33 | 34 | attribute_map = { 35 | 'versions': 'versions' 36 | } 37 | 38 | def __init__(self, versions=None): # noqa: E501 39 | """PythonPackageVersionsResponse - a model defined in Swagger""" # noqa: E501 40 | self._versions = None 41 | self.discriminator = None 42 | self.versions = versions 43 | 44 | @property 45 | def versions(self): 46 | """Gets the versions of this PythonPackageVersionsResponse. # noqa: E501 47 | 48 | 49 | :return: The versions of this PythonPackageVersionsResponse. # noqa: E501 50 | :rtype: list[PythonPackageVersionsResponseVersions] 51 | """ 52 | return self._versions 53 | 54 | @versions.setter 55 | def versions(self, versions): 56 | """Sets the versions of this PythonPackageVersionsResponse. 57 | 58 | 59 | :param versions: The versions of this PythonPackageVersionsResponse. # noqa: E501 60 | :type: list[PythonPackageVersionsResponseVersions] 61 | """ 62 | if versions is None: 63 | raise ValueError("Invalid value for `versions`, must not be `None`") # noqa: E501 64 | 65 | self._versions = versions 66 | 67 | def to_dict(self): 68 | """Returns the model properties as a dict""" 69 | result = {} 70 | 71 | for attr, _ in six.iteritems(self.swagger_types): 72 | value = getattr(self, attr) 73 | if isinstance(value, list): 74 | result[attr] = list(map( 75 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 76 | value 77 | )) 78 | elif hasattr(value, "to_dict"): 79 | result[attr] = value.to_dict() 80 | elif isinstance(value, dict): 81 | result[attr] = dict(map( 82 | lambda item: (item[0], item[1].to_dict()) 83 | if hasattr(item[1], "to_dict") else item, 84 | value.items() 85 | )) 86 | else: 87 | result[attr] = value 88 | if issubclass(PythonPackageVersionsResponse, dict): 89 | for key, value in self.items(): 90 | result[key] = value 91 | 92 | return result 93 | 94 | def to_str(self): 95 | """Returns the string representation of the model""" 96 | return pprint.pformat(self.to_dict()) 97 | 98 | def __repr__(self): 99 | """For `print` and `pprint`""" 100 | return self.to_str() 101 | 102 | def __eq__(self, other): 103 | """Returns true if both objects are equal""" 104 | if not isinstance(other, PythonPackageVersionsResponse): 105 | return False 106 | 107 | return self.__dict__ == other.__dict__ 108 | 109 | def __ne__(self, other): 110 | """Returns true if both objects are not equal""" 111 | return not self == other 112 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/python_packages_response.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class PythonPackagesResponse(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'packages': 'list[PythonPackagesResponsePackages]' 32 | } 33 | 34 | attribute_map = { 35 | 'packages': 'packages' 36 | } 37 | 38 | def __init__(self, packages=None): # noqa: E501 39 | """PythonPackagesResponse - a model defined in Swagger""" # noqa: E501 40 | self._packages = None 41 | self.discriminator = None 42 | self.packages = packages 43 | 44 | @property 45 | def packages(self): 46 | """Gets the packages of this PythonPackagesResponse. # noqa: E501 47 | 48 | 49 | :return: The packages of this PythonPackagesResponse. # noqa: E501 50 | :rtype: list[PythonPackagesResponsePackages] 51 | """ 52 | return self._packages 53 | 54 | @packages.setter 55 | def packages(self, packages): 56 | """Sets the packages of this PythonPackagesResponse. 57 | 58 | 59 | :param packages: The packages of this PythonPackagesResponse. # noqa: E501 60 | :type: list[PythonPackagesResponsePackages] 61 | """ 62 | if packages is None: 63 | raise ValueError("Invalid value for `packages`, must not be `None`") # noqa: E501 64 | 65 | self._packages = packages 66 | 67 | def to_dict(self): 68 | """Returns the model properties as a dict""" 69 | result = {} 70 | 71 | for attr, _ in six.iteritems(self.swagger_types): 72 | value = getattr(self, attr) 73 | if isinstance(value, list): 74 | result[attr] = list(map( 75 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 76 | value 77 | )) 78 | elif hasattr(value, "to_dict"): 79 | result[attr] = value.to_dict() 80 | elif isinstance(value, dict): 81 | result[attr] = dict(map( 82 | lambda item: (item[0], item[1].to_dict()) 83 | if hasattr(item[1], "to_dict") else item, 84 | value.items() 85 | )) 86 | else: 87 | result[attr] = value 88 | if issubclass(PythonPackagesResponse, dict): 89 | for key, value in self.items(): 90 | result[key] = value 91 | 92 | return result 93 | 94 | def to_str(self): 95 | """Returns the string representation of the model""" 96 | return pprint.pformat(self.to_dict()) 97 | 98 | def __repr__(self): 99 | """For `print` and `pprint`""" 100 | return self.to_str() 101 | 102 | def __eq__(self, other): 103 | """Returns true if both objects are equal""" 104 | if not isinstance(other, PythonPackagesResponse): 105 | return False 106 | 107 | return self.__dict__ == other.__dict__ 108 | 109 | def __ne__(self, other): 110 | """Returns true if both objects are not equal""" 111 | return not self == other 112 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/python_packages_response_packages.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class PythonPackagesResponsePackages(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'package_name': 'str' 32 | } 33 | 34 | attribute_map = { 35 | 'package_name': 'package_name' 36 | } 37 | 38 | def __init__(self, package_name=None): # noqa: E501 39 | """PythonPackagesResponsePackages - a model defined in Swagger""" # noqa: E501 40 | self._package_name = None 41 | self.discriminator = None 42 | self.package_name = package_name 43 | 44 | @property 45 | def package_name(self): 46 | """Gets the package_name of this PythonPackagesResponsePackages. # noqa: E501 47 | 48 | Name of the package # noqa: E501 49 | 50 | :return: The package_name of this PythonPackagesResponsePackages. # noqa: E501 51 | :rtype: str 52 | """ 53 | return self._package_name 54 | 55 | @package_name.setter 56 | def package_name(self, package_name): 57 | """Sets the package_name of this PythonPackagesResponsePackages. 58 | 59 | Name of the package # noqa: E501 60 | 61 | :param package_name: The package_name of this PythonPackagesResponsePackages. # noqa: E501 62 | :type: str 63 | """ 64 | if package_name is None: 65 | raise ValueError("Invalid value for `package_name`, must not be `None`") # noqa: E501 66 | 67 | self._package_name = package_name 68 | 69 | def to_dict(self): 70 | """Returns the model properties as a dict""" 71 | result = {} 72 | 73 | for attr, _ in six.iteritems(self.swagger_types): 74 | value = getattr(self, attr) 75 | if isinstance(value, list): 76 | result[attr] = list(map( 77 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 78 | value 79 | )) 80 | elif hasattr(value, "to_dict"): 81 | result[attr] = value.to_dict() 82 | elif isinstance(value, dict): 83 | result[attr] = dict(map( 84 | lambda item: (item[0], item[1].to_dict()) 85 | if hasattr(item[1], "to_dict") else item, 86 | value.items() 87 | )) 88 | else: 89 | result[attr] = value 90 | if issubclass(PythonPackagesResponsePackages, dict): 91 | for key, value in self.items(): 92 | result[key] = value 93 | 94 | return result 95 | 96 | def to_str(self): 97 | """Returns the string representation of the model""" 98 | return pprint.pformat(self.to_dict()) 99 | 100 | def __repr__(self): 101 | """For `print` and `pprint`""" 102 | return self.to_str() 103 | 104 | def __eq__(self, other): 105 | """Returns true if both objects are equal""" 106 | if not isinstance(other, PythonPackagesResponsePackages): 107 | return False 108 | 109 | return self.__dict__ == other.__dict__ 110 | 111 | def __ne__(self, other): 112 | """Returns true if both objects are not equal""" 113 | return not self == other 114 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/python_platforms.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class PythonPlatforms(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'platform': 'list[str]' 32 | } 33 | 34 | attribute_map = { 35 | 'platform': 'platform' 36 | } 37 | 38 | def __init__(self, platform=None): # noqa: E501 39 | """PythonPlatforms - a model defined in Swagger""" # noqa: E501 40 | self._platform = None 41 | self.discriminator = None 42 | self.platform = platform 43 | 44 | @property 45 | def platform(self): 46 | """Gets the platform of this PythonPlatforms. # noqa: E501 47 | 48 | 49 | :return: The platform of this PythonPlatforms. # noqa: E501 50 | :rtype: list[str] 51 | """ 52 | return self._platform 53 | 54 | @platform.setter 55 | def platform(self, platform): 56 | """Sets the platform of this PythonPlatforms. 57 | 58 | 59 | :param platform: The platform of this PythonPlatforms. # noqa: E501 60 | :type: list[str] 61 | """ 62 | if platform is None: 63 | raise ValueError("Invalid value for `platform`, must not be `None`") # noqa: E501 64 | 65 | self._platform = platform 66 | 67 | def to_dict(self): 68 | """Returns the model properties as a dict""" 69 | result = {} 70 | 71 | for attr, _ in six.iteritems(self.swagger_types): 72 | value = getattr(self, attr) 73 | if isinstance(value, list): 74 | result[attr] = list(map( 75 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 76 | value 77 | )) 78 | elif hasattr(value, "to_dict"): 79 | result[attr] = value.to_dict() 80 | elif isinstance(value, dict): 81 | result[attr] = dict(map( 82 | lambda item: (item[0], item[1].to_dict()) 83 | if hasattr(item[1], "to_dict") else item, 84 | value.items() 85 | )) 86 | else: 87 | result[attr] = value 88 | if issubclass(PythonPlatforms, dict): 89 | for key, value in self.items(): 90 | result[key] = value 91 | 92 | return result 93 | 94 | def to_str(self): 95 | """Returns the string representation of the model""" 96 | return pprint.pformat(self.to_dict()) 97 | 98 | def __repr__(self): 99 | """For `print` and `pprint`""" 100 | return self.to_str() 101 | 102 | def __eq__(self, other): 103 | """Returns true if both objects are equal""" 104 | if not isinstance(other, PythonPlatforms): 105 | return False 106 | 107 | return self.__dict__ == other.__dict__ 108 | 109 | def __ne__(self, other): 110 | """Returns true if both objects are not equal""" 111 | return not self == other 112 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/repo_init_input.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class RepoInitInput(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'project_url': 'str' 32 | } 33 | 34 | attribute_map = { 35 | 'project_url': 'project_url' 36 | } 37 | 38 | def __init__(self, project_url=None): # noqa: E501 39 | """RepoInitInput - a model defined in Swagger""" # noqa: E501 40 | self._project_url = None 41 | self.discriminator = None 42 | if project_url is not None: 43 | self.project_url = project_url 44 | 45 | @property 46 | def project_url(self): 47 | """Gets the project_url of this RepoInitInput. # noqa: E501 48 | 49 | 50 | :return: The project_url of this RepoInitInput. # noqa: E501 51 | :rtype: str 52 | """ 53 | return self._project_url 54 | 55 | @project_url.setter 56 | def project_url(self, project_url): 57 | """Sets the project_url of this RepoInitInput. 58 | 59 | 60 | :param project_url: The project_url of this RepoInitInput. # noqa: E501 61 | :type: str 62 | """ 63 | 64 | self._project_url = project_url 65 | 66 | def to_dict(self): 67 | """Returns the model properties as a dict""" 68 | result = {} 69 | 70 | for attr, _ in six.iteritems(self.swagger_types): 71 | value = getattr(self, attr) 72 | if isinstance(value, list): 73 | result[attr] = list(map( 74 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 75 | value 76 | )) 77 | elif hasattr(value, "to_dict"): 78 | result[attr] = value.to_dict() 79 | elif isinstance(value, dict): 80 | result[attr] = dict(map( 81 | lambda item: (item[0], item[1].to_dict()) 82 | if hasattr(item[1], "to_dict") else item, 83 | value.items() 84 | )) 85 | else: 86 | result[attr] = value 87 | if issubclass(RepoInitInput, dict): 88 | for key, value in self.items(): 89 | result[key] = value 90 | 91 | return result 92 | 93 | def to_str(self): 94 | """Returns the string representation of the model""" 95 | return pprint.pformat(self.to_dict()) 96 | 97 | def __repr__(self): 98 | """For `print` and `pprint`""" 99 | return self.to_str() 100 | 101 | def __eq__(self, other): 102 | """Returns true if both objects are equal""" 103 | if not isinstance(other, RepoInitInput): 104 | return False 105 | 106 | return self.__dict__ == other.__dict__ 107 | 108 | def __ne__(self, other): 109 | """Returns true if both objects are not equal""" 110 | return not self == other 111 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/requirements_def.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class RequirementsDef(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | } 32 | 33 | attribute_map = { 34 | } 35 | 36 | def __init__(self): # noqa: E501 37 | """RequirementsDef - a model defined in Swagger""" # noqa: E501 38 | self.discriminator = None 39 | 40 | def to_dict(self): 41 | """Returns the model properties as a dict""" 42 | result = {} 43 | 44 | for attr, _ in six.iteritems(self.swagger_types): 45 | value = getattr(self, attr) 46 | if isinstance(value, list): 47 | result[attr] = list(map( 48 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 49 | value 50 | )) 51 | elif hasattr(value, "to_dict"): 52 | result[attr] = value.to_dict() 53 | elif isinstance(value, dict): 54 | result[attr] = dict(map( 55 | lambda item: (item[0], item[1].to_dict()) 56 | if hasattr(item[1], "to_dict") else item, 57 | value.items() 58 | )) 59 | else: 60 | result[attr] = value 61 | if issubclass(RequirementsDef, dict): 62 | for key, value in self.items(): 63 | result[key] = value 64 | 65 | return result 66 | 67 | def to_str(self): 68 | """Returns the string representation of the model""" 69 | return pprint.pformat(self.to_dict()) 70 | 71 | def __repr__(self): 72 | """For `print` and `pprint`""" 73 | return self.to_str() 74 | 75 | def __eq__(self, other): 76 | """Returns true if both objects are equal""" 77 | if not isinstance(other, RequirementsDef): 78 | return False 79 | 80 | return self.__dict__ == other.__dict__ 81 | 82 | def __ne__(self, other): 83 | """Returns true if both objects are not equal""" 84 | return not self == other 85 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/requirements_lock_def.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class RequirementsLockDef(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | } 32 | 33 | attribute_map = { 34 | } 35 | 36 | def __init__(self): # noqa: E501 37 | """RequirementsLockDef - a model defined in Swagger""" # noqa: E501 38 | self.discriminator = None 39 | 40 | def to_dict(self): 41 | """Returns the model properties as a dict""" 42 | result = {} 43 | 44 | for attr, _ in six.iteritems(self.swagger_types): 45 | value = getattr(self, attr) 46 | if isinstance(value, list): 47 | result[attr] = list(map( 48 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 49 | value 50 | )) 51 | elif hasattr(value, "to_dict"): 52 | result[attr] = value.to_dict() 53 | elif isinstance(value, dict): 54 | result[attr] = dict(map( 55 | lambda item: (item[0], item[1].to_dict()) 56 | if hasattr(item[1], "to_dict") else item, 57 | value.items() 58 | )) 59 | else: 60 | result[attr] = value 61 | if issubclass(RequirementsLockDef, dict): 62 | for key, value in self.items(): 63 | result[key] = value 64 | 65 | return result 66 | 67 | def to_str(self): 68 | """Returns the string representation of the model""" 69 | return pprint.pformat(self.to_dict()) 70 | 71 | def __repr__(self): 72 | """For `print` and `pprint`""" 73 | return self.to_str() 74 | 75 | def __eq__(self, other): 76 | """Returns true if both objects are equal""" 77 | if not isinstance(other, RequirementsLockDef): 78 | return False 79 | 80 | return self.__dict__ == other.__dict__ 81 | 82 | def __ne__(self, other): 83 | """Returns true if both objects are not equal""" 84 | return not self == other 85 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/runtime_environment_operating_system.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class RuntimeEnvironmentOperatingSystem(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | 'name': 'str', 32 | 'version': 'str' 33 | } 34 | 35 | attribute_map = { 36 | 'name': 'name', 37 | 'version': 'version' 38 | } 39 | 40 | def __init__(self, name=None, version=None): # noqa: E501 41 | """RuntimeEnvironmentOperatingSystem - a model defined in Swagger""" # noqa: E501 42 | self._name = None 43 | self._version = None 44 | self.discriminator = None 45 | self.name = name 46 | self.version = version 47 | 48 | @property 49 | def name(self): 50 | """Gets the name of this RuntimeEnvironmentOperatingSystem. # noqa: E501 51 | 52 | 53 | :return: The name of this RuntimeEnvironmentOperatingSystem. # noqa: E501 54 | :rtype: str 55 | """ 56 | return self._name 57 | 58 | @name.setter 59 | def name(self, name): 60 | """Sets the name of this RuntimeEnvironmentOperatingSystem. 61 | 62 | 63 | :param name: The name of this RuntimeEnvironmentOperatingSystem. # noqa: E501 64 | :type: str 65 | """ 66 | 67 | self._name = name 68 | 69 | @property 70 | def version(self): 71 | """Gets the version of this RuntimeEnvironmentOperatingSystem. # noqa: E501 72 | 73 | 74 | :return: The version of this RuntimeEnvironmentOperatingSystem. # noqa: E501 75 | :rtype: str 76 | """ 77 | return self._version 78 | 79 | @version.setter 80 | def version(self, version): 81 | """Sets the version of this RuntimeEnvironmentOperatingSystem. 82 | 83 | 84 | :param version: The version of this RuntimeEnvironmentOperatingSystem. # noqa: E501 85 | :type: str 86 | """ 87 | 88 | self._version = version 89 | 90 | def to_dict(self): 91 | """Returns the model properties as a dict""" 92 | result = {} 93 | 94 | for attr, _ in six.iteritems(self.swagger_types): 95 | value = getattr(self, attr) 96 | if isinstance(value, list): 97 | result[attr] = list(map( 98 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 99 | value 100 | )) 101 | elif hasattr(value, "to_dict"): 102 | result[attr] = value.to_dict() 103 | elif isinstance(value, dict): 104 | result[attr] = dict(map( 105 | lambda item: (item[0], item[1].to_dict()) 106 | if hasattr(item[1], "to_dict") else item, 107 | value.items() 108 | )) 109 | else: 110 | result[attr] = value 111 | if issubclass(RuntimeEnvironmentOperatingSystem, dict): 112 | for key, value in self.items(): 113 | result[key] = value 114 | 115 | return result 116 | 117 | def to_str(self): 118 | """Returns the string representation of the model""" 119 | return pprint.pformat(self.to_dict()) 120 | 121 | def __repr__(self): 122 | """For `print` and `pprint`""" 123 | return self.to_str() 124 | 125 | def __eq__(self, other): 126 | """Returns true if both objects are equal""" 127 | if not isinstance(other, RuntimeEnvironmentOperatingSystem): 128 | return False 129 | 130 | return self.__dict__ == other.__dict__ 131 | 132 | def __ne__(self, other): 133 | """Returns true if both objects are not equal""" 134 | return not self == other 135 | -------------------------------------------------------------------------------- /thamos/swagger_client/models/stack_info.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | import pprint 14 | import re # noqa: F401 15 | 16 | import six 17 | 18 | class StackInfo(object): 19 | """NOTE: This class is auto generated by the swagger code generator program. 20 | 21 | Do not edit the class manually. 22 | """ 23 | """ 24 | Attributes: 25 | swagger_types (dict): The key is attribute name 26 | and the value is attribute type. 27 | attribute_map (dict): The key is attribute name 28 | and the value is json key in definition. 29 | """ 30 | swagger_types = { 31 | } 32 | 33 | attribute_map = { 34 | } 35 | 36 | def __init__(self): # noqa: E501 37 | """StackInfo - a model defined in Swagger""" # noqa: E501 38 | self.discriminator = None 39 | 40 | def to_dict(self): 41 | """Returns the model properties as a dict""" 42 | result = {} 43 | 44 | for attr, _ in six.iteritems(self.swagger_types): 45 | value = getattr(self, attr) 46 | if isinstance(value, list): 47 | result[attr] = list(map( 48 | lambda x: x.to_dict() if hasattr(x, "to_dict") else x, 49 | value 50 | )) 51 | elif hasattr(value, "to_dict"): 52 | result[attr] = value.to_dict() 53 | elif isinstance(value, dict): 54 | result[attr] = dict(map( 55 | lambda item: (item[0], item[1].to_dict()) 56 | if hasattr(item[1], "to_dict") else item, 57 | value.items() 58 | )) 59 | else: 60 | result[attr] = value 61 | if issubclass(StackInfo, dict): 62 | for key, value in self.items(): 63 | result[key] = value 64 | 65 | return result 66 | 67 | def to_str(self): 68 | """Returns the string representation of the model""" 69 | return pprint.pformat(self.to_dict()) 70 | 71 | def __repr__(self): 72 | """For `print` and `pprint`""" 73 | return self.to_str() 74 | 75 | def __eq__(self, other): 76 | """Returns true if both objects are equal""" 77 | if not isinstance(other, StackInfo): 78 | return False 79 | 80 | return self.__dict__ == other.__dict__ 81 | 82 | def __ne__(self, other): 83 | """Returns true if both objects are not equal""" 84 | return not self == other 85 | -------------------------------------------------------------------------------- /thamos/swagger_client/thoth/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | # flake8: noqa 4 | 5 | # import apis into api package 6 | from thamos.swagger_client.thoth.advise_api import AdviseApi 7 | from thamos.swagger_client.thoth.build_analysis_api import BuildAnalysisApi 8 | from thamos.swagger_client.thoth.buildlogs_api import BuildlogsApi 9 | from thamos.swagger_client.thoth.container_images_api import ContainerImagesApi 10 | from thamos.swagger_client.thoth.environments_api import EnvironmentsApi 11 | from thamos.swagger_client.thoth.image_analysis_api import ImageAnalysisApi 12 | from thamos.swagger_client.thoth.kebechet_api import KebechetApi 13 | from thamos.swagger_client.thoth.provenance_api import ProvenanceApi 14 | from thamos.swagger_client.thoth.python_packages_api import PythonPackagesApi 15 | -------------------------------------------------------------------------------- /thamos/swagger_client/thoth/buildlogs_api.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | from __future__ import absolute_import 14 | 15 | import re # noqa: F401 16 | 17 | # python 2 and python 3 compatibility library 18 | import six 19 | 20 | from thamos.swagger_client.api_client import ApiClient 21 | 22 | 23 | class BuildlogsApi(object): 24 | """NOTE: This class is auto generated by the swagger code generator program. 25 | 26 | Do not edit the class manually. 27 | Ref: https://github.com/swagger-api/swagger-codegen 28 | """ 29 | 30 | def __init__(self, api_client=None): 31 | if api_client is None: 32 | api_client = ApiClient() 33 | self.api_client = api_client 34 | 35 | def get_buildlog(self, document_id, **kwargs): # noqa: E501 36 | """Retrieve the given build log # noqa: E501 37 | 38 | This method makes a synchronous HTTP request by default. To make an 39 | asynchronous HTTP request, please pass async_req=True 40 | >>> thread = api.get_buildlog(document_id, async_req=True) 41 | >>> result = thread.get() 42 | 43 | :param async_req bool 44 | :param str document_id: Build log to be retrieved (required) 45 | :return: None 46 | If the method is called asynchronously, 47 | returns the request thread. 48 | """ 49 | kwargs['_return_http_data_only'] = True 50 | if kwargs.get('async_req'): 51 | return self.get_buildlog_with_http_info(document_id, **kwargs) # noqa: E501 52 | else: 53 | (data) = self.get_buildlog_with_http_info(document_id, **kwargs) # noqa: E501 54 | return data 55 | 56 | def get_buildlog_with_http_info(self, document_id, **kwargs): # noqa: E501 57 | """Retrieve the given build log # noqa: E501 58 | 59 | This method makes a synchronous HTTP request by default. To make an 60 | asynchronous HTTP request, please pass async_req=True 61 | >>> thread = api.get_buildlog_with_http_info(document_id, async_req=True) 62 | >>> result = thread.get() 63 | 64 | :param async_req bool 65 | :param str document_id: Build log to be retrieved (required) 66 | :return: None 67 | If the method is called asynchronously, 68 | returns the request thread. 69 | """ 70 | 71 | all_params = ['document_id'] # noqa: E501 72 | all_params.append('async_req') 73 | all_params.append('_return_http_data_only') 74 | all_params.append('_preload_content') 75 | all_params.append('_request_timeout') 76 | 77 | params = locals() 78 | for key, val in six.iteritems(params['kwargs']): 79 | if key not in all_params: 80 | raise TypeError( 81 | "Got an unexpected keyword argument '%s'" 82 | " to method get_buildlog" % key 83 | ) 84 | params[key] = val 85 | del params['kwargs'] 86 | # verify the required parameter 'document_id' is set 87 | if ('document_id' not in params or 88 | params['document_id'] is None): 89 | raise ValueError("Missing the required parameter `document_id` when calling `get_buildlog`") # noqa: E501 90 | 91 | collection_formats = {} 92 | 93 | path_params = {} 94 | if 'document_id' in params: 95 | path_params['document_id'] = params['document_id'] # noqa: E501 96 | 97 | query_params = [] 98 | 99 | header_params = {} 100 | 101 | form_params = [] 102 | local_var_files = {} 103 | 104 | body_params = None 105 | # Authentication setting 106 | auth_settings = [] # noqa: E501 107 | 108 | return self.api_client.call_api( 109 | '/buildlog/{document_id}', 'GET', 110 | path_params, 111 | query_params, 112 | header_params, 113 | body=body_params, 114 | post_params=form_params, 115 | files=local_var_files, 116 | response_type=None, # noqa: E501 117 | auth_settings=auth_settings, 118 | async_req=params.get('async_req'), 119 | _return_http_data_only=params.get('_return_http_data_only'), 120 | _preload_content=params.get('_preload_content', True), 121 | _request_timeout=params.get('_request_timeout'), 122 | collection_formats=collection_formats) 123 | -------------------------------------------------------------------------------- /thamos/swagger_client/thoth/environments_api.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | Thoth User API 5 | 6 | No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 7 | 8 | OpenAPI spec version: 0.7.0-dev 9 | 10 | Generated by: https://github.com/swagger-api/swagger-codegen.git 11 | """ 12 | 13 | from __future__ import absolute_import 14 | 15 | import re # noqa: F401 16 | 17 | # python 2 and python 3 compatibility library 18 | import six 19 | 20 | from thamos.swagger_client.api_client import ApiClient 21 | 22 | 23 | class EnvironmentsApi(object): 24 | """NOTE: This class is auto generated by the swagger code generator program. 25 | 26 | Do not edit the class manually. 27 | Ref: https://github.com/swagger-api/swagger-codegen 28 | """ 29 | 30 | def __init__(self, api_client=None): 31 | if api_client is None: 32 | api_client = ApiClient() 33 | self.api_client = api_client 34 | 35 | def list_python_environments(self, **kwargs): # noqa: E501 36 | """Get environments available for Python resolutions # noqa: E501 37 | 38 | This method makes a synchronous HTTP request by default. To make an 39 | asynchronous HTTP request, please pass async_req=True 40 | >>> thread = api.list_python_environments(async_req=True) 41 | >>> result = thread.get() 42 | 43 | :param async_req bool 44 | :return: PythonEnvironments 45 | If the method is called asynchronously, 46 | returns the request thread. 47 | """ 48 | kwargs['_return_http_data_only'] = True 49 | if kwargs.get('async_req'): 50 | return self.list_python_environments_with_http_info(**kwargs) # noqa: E501 51 | else: 52 | (data) = self.list_python_environments_with_http_info(**kwargs) # noqa: E501 53 | return data 54 | 55 | def list_python_environments_with_http_info(self, **kwargs): # noqa: E501 56 | """Get environments available for Python resolutions # noqa: E501 57 | 58 | This method makes a synchronous HTTP request by default. To make an 59 | asynchronous HTTP request, please pass async_req=True 60 | >>> thread = api.list_python_environments_with_http_info(async_req=True) 61 | >>> result = thread.get() 62 | 63 | :param async_req bool 64 | :return: PythonEnvironments 65 | If the method is called asynchronously, 66 | returns the request thread. 67 | """ 68 | 69 | all_params = [] # noqa: E501 70 | all_params.append('async_req') 71 | all_params.append('_return_http_data_only') 72 | all_params.append('_preload_content') 73 | all_params.append('_request_timeout') 74 | 75 | params = locals() 76 | for key, val in six.iteritems(params['kwargs']): 77 | if key not in all_params: 78 | raise TypeError( 79 | "Got an unexpected keyword argument '%s'" 80 | " to method list_python_environments" % key 81 | ) 82 | params[key] = val 83 | del params['kwargs'] 84 | 85 | collection_formats = {} 86 | 87 | path_params = {} 88 | 89 | query_params = [] 90 | 91 | header_params = {} 92 | 93 | form_params = [] 94 | local_var_files = {} 95 | 96 | body_params = None 97 | # HTTP header `Accept` 98 | header_params['Accept'] = self.api_client.select_header_accept( 99 | ['application/json']) # noqa: E501 100 | 101 | # Authentication setting 102 | auth_settings = [] # noqa: E501 103 | 104 | return self.api_client.call_api( 105 | '/python/environment', 'GET', 106 | path_params, 107 | query_params, 108 | header_params, 109 | body=body_params, 110 | post_params=form_params, 111 | files=local_var_files, 112 | response_type='PythonEnvironments', # noqa: E501 113 | auth_settings=auth_settings, 114 | async_req=params.get('async_req'), 115 | _return_http_data_only=params.get('_return_http_data_only'), 116 | _preload_content=params.get('_preload_content', True), 117 | _request_timeout=params.get('_request_timeout'), 118 | collection_formats=collection_formats) 119 | -------------------------------------------------------------------------------- /thamos/utils.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # thamos 3 | # Copyright(C) 2018 - 2021 Fridolin Pokorny 4 | # 5 | # This program is free software: you can redistribute it and / or modify 6 | # it under the terms of the GNU General Public License as published by 7 | # the Free Software Foundation, either version 3 of the License, or 8 | # (at your option) any later version. 9 | # 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | # GNU General Public License for more details. 14 | # 15 | # You should have received a copy of the GNU General Public License 16 | # along with this program. If not, see . 17 | 18 | """Utility and helper functions for Thamos.""" 19 | 20 | from typing import Optional 21 | from contextlib import contextmanager 22 | import logging 23 | import os 24 | import sys 25 | 26 | from thoth.common import cwd 27 | 28 | from .exceptions import NoProjectDirError 29 | 30 | # Limit traversing to parent directories so we handle root - we do not loop over and over in root and we also 31 | # handle cyclic symlinks natively. 32 | _WORKDIR_DEPTH_LEN = 33 33 | _LOGGER = logging.getLogger(__name__) 34 | 35 | 36 | @contextmanager # type: ignore 37 | def workdir(file_lookup: Optional[str] = None, warn_on_dir_change: bool = True) -> None: 38 | """Find project directory and cd into it.""" 39 | file_lookup = file_lookup or ".thoth.yaml" 40 | 41 | project_dir = os.getcwd() 42 | original_project_dir = project_dir 43 | for _ in range(_WORKDIR_DEPTH_LEN): 44 | file = os.path.join(project_dir, file_lookup) 45 | if os.path.isfile(file): 46 | with cwd(project_dir): 47 | if project_dir != original_project_dir and warn_on_dir_change: 48 | _LOGGER.warning("Using %r as project root directory", project_dir) 49 | yield project_dir 50 | break 51 | 52 | project_dir = os.path.dirname(project_dir) 53 | else: 54 | raise NoProjectDirError( 55 | f"No {file_lookup} found in the current directory {os.getcwd()!r} or in any of its parent " 56 | f"directories, you can generate it using '{sys.argv[0]} config'" 57 | ) 58 | --------------------------------------------------------------------------------