Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions services/cost/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# stackit.cost
The cost API provides detailed reports on the costs for a customer or project over a certain amount of time



This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK.


## Installation & Usage
### pip install

```sh
pip install stackit-cost
```

Then import the package:
```python
import stackit.cost
```

## Getting Started

[Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK.
1,617 changes: 1,617 additions & 0 deletions services/cost/poetry.lock

Large diffs are not rendered by default.

99 changes: 99 additions & 0 deletions services/cost/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
[project]
name = "stackit-cost"

[tool.poetry]
name = "stackit-cost"
version = "v0.0.1a"
authors = [
"STACKIT Developer Tools <developer-tools@stackit.cloud>",
]
description = "STACKIT Cost API"
readme = "README.md"
#license = "NoLicense"
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
]
packages = [
{ include = "stackit", from="src" }
]

[tool.poetry.dependencies]
python = "^3.9"
stackit-core = ">=0.0.1a"
requests = ">=2.32.3"
pydantic = ">=2.9.2"
python-dateutil = ">=2.9.0.post0"

[tool.poetry.group.dev.dependencies]
black = ">=24.8.0"
pytest = ">=8.3.3"
flake8 = [
{ version= ">=5.0.3", python="<3.12"},
{ version= ">=6.0.1", python=">=3.12"}
]
flake8-black = ">=0.3.6"
flake8-pyproject = ">=1.2.3"
autoimport = ">=1.6.1"
flake8-eol = ">=0.0.8"
flake8-eradicate = ">=1.5.0"
flake8-bandit = ">=4.1.1"
flake8-bugbear = ">=23.1.14"
flake8-quotes = ">=3.4.0"
isort = ">=5.13.2"

[project.urls]
Homepage = "https://github.com/stackitcloud/stackit-sdk-python"
Issues = "https://github.com/stackitcloud/stackit-sdk-python/issues"

[build-system]
requires = ["setuptools", "poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.pytest.ini_options]
pythonpath = [
"src"
]
testpaths = [
"tests"
]

[tool.black]
line-length = 120
exclude = """
/(
.eggs
| .git
| .hg
| .mypy_cache
| .nox
| .pants.d
| .tox
| .venv
| _build
| buck-out
| build
| dist
| node_modules
| venv
)/
"""

[tool.isort]
profile = 'black'

[tool.flake8]
exclude= [".eggs", ".git", ".hg", ".mypy_cache", ".tox", ".venv", ".devcontainer", "venv", "_build", "buck-out", "build", "dist"]
statistics = true
show-source = false
max-line-length = 120
# E203,W503 and E704 are incompatible with the formatter black
# W291 needs to be disabled because some doc-strings get generated with trailing whitespace but black won't re-format comments
ignore = ["E203", "W503", "E704", "W291"]
inline-quotes = '"'
docstring-quotes = '"""'
multiline-quotes = '"""'
ban-relative-imports = true
# Exclude generated code
extend-exclude = [ "src/stackit/*/models/*", "src/stackit/*/api/*", "src/stackit/*/*.py" ]
81 changes: 81 additions & 0 deletions services/cost/src/stackit/cost/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# coding: utf-8

# flake8: noqa

"""
STACKIT Cost API

The cost API provides detailed reports on the costs for a customer or project over a certain amount of time

The version of the OpenAPI document: 3.0
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
""" # noqa: E501


__version__ = "1.0.0"

# Define package exports
__all__ = [
"DefaultApi",
"ApiResponse",
"ApiClient",
"HostConfiguration",
"OpenApiException",
"ApiTypeError",
"ApiValueError",
"ApiKeyError",
"ApiAttributeError",
"ApiException",
"DefaultError",
"DetailedServiceCost",
"ProjectCost",
"ProjectCostWithDetailedServices",
"ProjectCostWithReports",
"ProjectCostWithSummarizedServices",
"ReportData",
"ReportDataTimePeriod",
"SummarizedProjectCost",
"SummarizedServiceCost",
]

# import apis into sdk package
from stackit.cost.api.default_api import DefaultApi as DefaultApi
from stackit.cost.api_client import ApiClient as ApiClient

# import ApiClient
from stackit.cost.api_response import ApiResponse as ApiResponse
from stackit.cost.configuration import HostConfiguration as HostConfiguration
from stackit.cost.exceptions import ApiAttributeError as ApiAttributeError
from stackit.cost.exceptions import ApiException as ApiException
from stackit.cost.exceptions import ApiKeyError as ApiKeyError
from stackit.cost.exceptions import ApiTypeError as ApiTypeError
from stackit.cost.exceptions import ApiValueError as ApiValueError
from stackit.cost.exceptions import OpenApiException as OpenApiException

# import models into sdk package
from stackit.cost.models.default_error import DefaultError as DefaultError
from stackit.cost.models.detailed_service_cost import (
DetailedServiceCost as DetailedServiceCost,
)
from stackit.cost.models.project_cost import ProjectCost as ProjectCost
from stackit.cost.models.project_cost_with_detailed_services import (
ProjectCostWithDetailedServices as ProjectCostWithDetailedServices,
)
from stackit.cost.models.project_cost_with_reports import (
ProjectCostWithReports as ProjectCostWithReports,
)
from stackit.cost.models.project_cost_with_summarized_services import (
ProjectCostWithSummarizedServices as ProjectCostWithSummarizedServices,
)
from stackit.cost.models.report_data import ReportData as ReportData
from stackit.cost.models.report_data_time_period import (
ReportDataTimePeriod as ReportDataTimePeriod,
)
from stackit.cost.models.summarized_project_cost import (
SummarizedProjectCost as SummarizedProjectCost,
)
from stackit.cost.models.summarized_service_cost import (
SummarizedServiceCost as SummarizedServiceCost,
)
4 changes: 4 additions & 0 deletions services/cost/src/stackit/cost/api/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# flake8: noqa

# import apis into api package
from stackit.cost.api.default_api import DefaultApi
Loading