Skip to content
Open
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/mailout/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# stackit.mailout
This API provides endpoints for managing STACKIT MailOut.



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-mailout
```

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

## 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 change: 1 addition & 0 deletions services/mailout/oas_commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
716f4d2bf40383fc9a9c3ee0f67a0490d4a15d81
110 changes: 110 additions & 0 deletions services/mailout/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
[project]
name = "stackit-mailout"
version = "v0.0.1a"
description = "STACKIT MailOut API"
authors = [{name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud"}]
requires-python = ">=3.11,<4.0"
readme = "README.md"
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15",
]
dependencies = [
"stackit-core>=0.0.1a",
"requests>=2.33.0",
"pydantic>=2.9.2",
"python-dateutil>=2.9.0.post0",
]

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

[dependency-groups]
dev = [
"black>=26.3.1",
"pytest>=9.1.1",
"flake8>=5.0.3 ; python_full_version < '3.12'",
"flake8>=6.0.1 ; python_full_version >= '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",
]

[tool.uv]
default-groups = "all"

[tool.uv.sources]
stackit-core = { path = "../../core" }

[tool.hatch.build.targets.sdist]
include = ["src/stackit"]

[tool.hatch.build.targets.wheel]
include = ["src/stackit"]

[tool.hatch.build.targets.wheel.sources]
"src/stackit" = "stackit"

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[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" ]
150 changes: 150 additions & 0 deletions services/mailout/src/stackit/mailout/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
# coding: utf-8

# flake8: noqa

"""
STACKIT MailOut API

This API provides endpoints for managing STACKIT MailOut.

The version of the OpenAPI document: 1beta1.0.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",
"AddRecipientToSuppressionListPayload",
"AuthorizedSender",
"AuthorizedSenderState",
"CreateAuthorizedSenderPayload",
"CreateAuthorizedSenderResponse",
"CreateSendingDomainPayload",
"CreateSendingDomainResponse",
"DKIMValidationReport",
"DNSRecord",
"DNSRecords",
"DomainValidationReport",
"DomainValidationStatus",
"ErrorResponse",
"GetAuthorizedSenderResponse",
"GetSendingDomainResponse",
"ListAuthorizedSendersResponse",
"ListMessagesResponse",
"ListSendingDomainsResponse",
"ListSuppressedRecipientsResponse",
"MetricsResponse",
"MetricsTimespan",
"RegionId",
"SendingDomain",
"SendingDomainConfig",
"SendingDomainMessage",
"SendingDomainMessageDetails",
"SendingDomainState",
"Suppression",
"SuppressionReason",
"ValidationReport",
]

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

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

# import models into sdk package
from stackit.mailout.models.add_recipient_to_suppression_list_payload import (
AddRecipientToSuppressionListPayload as AddRecipientToSuppressionListPayload,
)
from stackit.mailout.models.authorized_sender import (
AuthorizedSender as AuthorizedSender,
)
from stackit.mailout.models.authorized_sender_state import (
AuthorizedSenderState as AuthorizedSenderState,
)
from stackit.mailout.models.create_authorized_sender_payload import (
CreateAuthorizedSenderPayload as CreateAuthorizedSenderPayload,
)
from stackit.mailout.models.create_authorized_sender_response import (
CreateAuthorizedSenderResponse as CreateAuthorizedSenderResponse,
)
from stackit.mailout.models.create_sending_domain_payload import (
CreateSendingDomainPayload as CreateSendingDomainPayload,
)
from stackit.mailout.models.create_sending_domain_response import (
CreateSendingDomainResponse as CreateSendingDomainResponse,
)
from stackit.mailout.models.dkim_validation_report import (
DKIMValidationReport as DKIMValidationReport,
)
from stackit.mailout.models.dns_record import DNSRecord as DNSRecord
from stackit.mailout.models.dns_records import DNSRecords as DNSRecords
from stackit.mailout.models.domain_validation_report import (
DomainValidationReport as DomainValidationReport,
)
from stackit.mailout.models.domain_validation_status import (
DomainValidationStatus as DomainValidationStatus,
)
from stackit.mailout.models.error_response import ErrorResponse as ErrorResponse
from stackit.mailout.models.get_authorized_sender_response import (
GetAuthorizedSenderResponse as GetAuthorizedSenderResponse,
)
from stackit.mailout.models.get_sending_domain_response import (
GetSendingDomainResponse as GetSendingDomainResponse,
)
from stackit.mailout.models.list_authorized_senders_response import (
ListAuthorizedSendersResponse as ListAuthorizedSendersResponse,
)
from stackit.mailout.models.list_messages_response import (
ListMessagesResponse as ListMessagesResponse,
)
from stackit.mailout.models.list_sending_domains_response import (
ListSendingDomainsResponse as ListSendingDomainsResponse,
)
from stackit.mailout.models.list_suppressed_recipients_response import (
ListSuppressedRecipientsResponse as ListSuppressedRecipientsResponse,
)
from stackit.mailout.models.metrics_response import MetricsResponse as MetricsResponse
from stackit.mailout.models.metrics_timespan import MetricsTimespan as MetricsTimespan
from stackit.mailout.models.region_id import RegionId as RegionId
from stackit.mailout.models.sending_domain import SendingDomain as SendingDomain
from stackit.mailout.models.sending_domain_config import (
SendingDomainConfig as SendingDomainConfig,
)
from stackit.mailout.models.sending_domain_message import (
SendingDomainMessage as SendingDomainMessage,
)
from stackit.mailout.models.sending_domain_message_details import (
SendingDomainMessageDetails as SendingDomainMessageDetails,
)
from stackit.mailout.models.sending_domain_state import (
SendingDomainState as SendingDomainState,
)
from stackit.mailout.models.suppression import Suppression as Suppression
from stackit.mailout.models.suppression_reason import (
SuppressionReason as SuppressionReason,
)
from stackit.mailout.models.validation_report import (
ValidationReport as ValidationReport,
)
4 changes: 4 additions & 0 deletions services/mailout/src/stackit/mailout/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.mailout.api.default_api import DefaultApi
Loading
Loading