From 8d4597705d5ae2c2eb24048170bad6ec591a9b98 Mon Sep 17 00:00:00 2001 From: Sven Heidemann Date: Mon, 17 May 2021 17:55:20 +0200 Subject: [PATCH] Build docs --- .../doctrees/cpl.dependency_injection.doctree | Bin 115112 -> 123539 bytes docs/build/doctrees/cpl.environment.doctree | Bin 51394 -> 59116 bytes docs/build/doctrees/cpl.logging.doctree | Bin 80952 -> 113576 bytes docs/build/doctrees/cpl.mailing.doctree | Bin 63246 -> 82021 bytes docs/build/doctrees/cpl.time.doctree | Bin 22200 -> 22560 bytes docs/build/doctrees/environment.pickle | Bin 126993 -> 126993 bytes docs/build/html/cpl.dependency_injection.html | 83 +++++-- docs/build/html/cpl.environment.html | 45 ++-- docs/build/html/cpl.logging.html | 204 ++++++++++++------ docs/build/html/cpl.mailing.html | 106 ++++++--- docs/build/html/cpl.time.html | 1 + docs/build/html/searchindex.js | 2 +- 12 files changed, 321 insertions(+), 120 deletions(-) diff --git a/docs/build/doctrees/cpl.dependency_injection.doctree b/docs/build/doctrees/cpl.dependency_injection.doctree index 291c24b34331a460ef9ac47e7bc8cec60772ceeb..7c1fa94eafa1e759737c4f9caac681ecd536f323 100644 GIT binary patch literal 123539 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 delta 7245 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 diff --git a/docs/build/doctrees/cpl.logging.doctree b/docs/build/doctrees/cpl.logging.doctree index 9776b4f5c7d42ecd5c34157810f62f5b5a1dc465..01cb954b4745d22391c71309a0ead56e41485a30 100644 GIT binary patch literal 113576 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 literal 80952 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�J6FQbyYXju41QMO&pTGb&mH)4>Kgc&z@K5b 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 diff --git a/docs/build/doctrees/cpl.time.doctree b/docs/build/doctrees/cpl.time.doctree index 61a5e233cc52213bc131165b04f7d6a4729916cf..f4c98be884e86a53afff1f66bb88187ff466996e 100644 GIT binary patch delta 2769 zcma)8du)?c6yN>YZYyiqqh)inE8Tt*cOijYhs zhzO3yc53{?I5$aDbOiAWLKFi2A^ro4i%*Q3JWLP*W+ZBmkmx=4`}$xE;~yN>bI&=y z-?{g9&v#E9B|{$*&C8lMX01Q2X-U{|GX|Z>%@$@K$Azbz{ct{ zZ9vQuM?`bqF!bAop&%h%YEF2Lz;%6bEEP>Oj=)6D2$Uzzgu=yYIHq@!+0dU>qKhLj zF>*bc4tG)vM1cM|Wgyy&ELaE2O5@>>?J)a0MMc#Fk}I7$b#zLX(GI5*XOJ@ZDlv;x zNH-Jr5IB}nq(Rhm(g(?LgiwyOE|TWsNN$egGW;eq$b}oCBf5;a*~^)O?nmQdrZ0Aj z*DrQ#3erk+^`ohh&KUO+IFu#>9+rAj4TOBk0S~hPrL_|raF7FLKQ<{0$$&%A5n;ef zSa=%1aSjM)jBe>}`WPX9APSlM#Jri1WVn(s3wCB0w21;kHPHkC-p;5XS)=q7k zoJ$2bo??gj#qqjZSSEu6{?&6|W3zr>pc6neIY%B5lBFUqW1@jreU=q>0n zrViK*GwJQNj#$PfidF~(!Ojnf$!$Z5*vf@ zoV&uWxF3tGV-W(^@Xsk*dO^y!nTRkd;Jwk0Mh7D?S>JK0>4_zvzlzB%9sXXK2?l#% z7H?!$I9}7-=IQBCu0uKxm%R3sM3}3>)8aEBk?kE5VeV;?B@N~sCrpv`^IrjXf!s|4 z4Cal(r3KrBR?I0(>Sgf_tdz2?Ef6ed5(2oks3zKvA=oWdv#!GPPxFGOE#T$jjm~(~ zLK65FE-ZeXRp8@G(Vv*bH27aC-=l&qiv=}4Bc$9Cf)YVyyTc z-HHs@nQvle-NO6fqF${6V$Fdc3SHzF%yyKK&tSbHTR5$P9hpmnQwTW+Mz!&%X>uMW z9YygUVfHxP3VB6WS(3hZp6)+)$WNnffX!hIE=)%TTB zm;)P~xr@1kN?5vl7qlL~zuVUo@Ou>*IdN&~b)X~CIj25Eb)(4uN##bcF0F^JmlbJ{ za;^0K(p*BGN21nRWG7$C#%YLF!-%Vr@!VXNN=OYPRW8xhL}f&1?nEwp5I;n7H!eL) z6V5p+q3ubww|rB5<-1_5OWxEs6$mJ(_!(kd_2fg&HRNU+bOa-&+~5I)>m8SckRaz8 zR0?56gzH5lG(FcbTzUl8dzELy0?2^+6?#alegcM8$egb!P)rD4vc-Dx7v~&uGX{TR z#1zgGGH1}2X0s$6(3){_nNz>4)WgIG^>oc6sb}EQG}M1zxj?@t$E>U z4~(b$X)9%64do>hk+PkZOK&}ORUjLrm!5e?Rp-Rq$I;AT@zjjQfj3_rOgCvTBm1~w{J zVHgf5dJhfWXIhQozzahM(4ZXY1e$Bo`8B(Va7lwxPkG*%==b1%)+5~DP8@{>dL27q n3%nuz4dqXP{Ixkb_(APcxB1$=!CEzbHoui)ANXwctgZSNgY_8U delta 2691 zcmb7GdrXs86z6_zvBd)I%EJb1p_^Dz@=BoT+2#Z19Rvc*M-Iv-)qWxMD5zS0W#$NuQ;_nmw0 z@BGfWzjN=`-ABGVLR259J~^_YU)40-|GjoO5$H469iE|KG=Yv$LKSc?tq1n&qTs1D z8g$Va5FO=A{x~p86Ilca3!^hV9rcaWwAE*$Nwq%u5cCUTV2#lV18FgQwH7{itKqNc zZw2}o_Qd8)r;ia^Tn!HvrGZHwK{CLuw-A?qv3>_3i$NEaO&0ni4ATf)ddUfG(aPk7 z7)n~VYI0OoMj*M`0IQ95I2d!AltZ5`FS0yz4Uc6@adHcLABQYHc*8d|w$s)IAInD5 zhdAW;&2c*k`BdcK^IwlQ5co1);^5;BGKU^~d_HrwTjbzhZ8Q?HS0u1EbU~2700x?Z zz#!Ulz#O;Czbavf2)_~NuW%`Eax;u390Rkdmk2OuvT4Eu9zKCRBk-@Oj2NKIY_sbF zwy>~{dK%{?Nxn|sHXrVbiiV5cIKv3|%!SHy?hXB#neeB1S(cT*bkx@cH_=k-W0Blg zM^pKhTKUgb>+7KDEEu@WWrDRC(<0bYOfrEzAuzwjYI`KTA!oT%5AktAsjddM%aLr= zN-kA|!;J948DXwd3p_if4M9c(wNG1b&ii`YrQxl2s6IQ`RPQ!fb7^tn1CQk=hT*k)&JuzYSn7|1~yzsa9M+h8u#KWj#M%EVY@xO%qjsjJzku}{ez9q_< zo+@%9#8#W3$UV=*TdapsjK?>zfp1=o$WByhse+e%23NI*bi)>BA^8f9Ia7oq3b<*> zQy$`uycH+u^(fl8UZ-=t?nkg;M!}nPi(|C9(zNG-_+4KJ`9)(s>eII@Ch##sv1G)kgY{=8V?ZPPNe%S@va-FIC5?}!*o{XTBOC3Dv z*&Rr#j^VjG2=%wRwL}=jG~L=!85@_u{YCaXQ7~4HAc;#;*WSLdxxS;lQ5H=)PEBk8 z*2Q7K5my3D`RBwu4v=E#tH>q=eodjBz{LXREM!@L)TBQ2Ou;f&DRzKF^L$Yp5!_0V zraNR^kmg3@BKE)}ns4FMi)juP4{@5^CB4LpG}Rx;_^@ZeHK1inz*8y_4ovX+e1<*~ zT6X(5VKvH$_IMqzwj>jJjcR}eBSNP{zf*=slpy^R$Z=}=r*Z1V^jE)fa$GGl;Z&s- z+A8LgD`F~_V_o(iGR>Q3RXe+WYo{~;L@mm>dM zQ6&+o7xIt7smc6dN!8rQ(xBvO6nLOziD)y%(Vjb`5~oBmaHLp;jb-}(sk$YQCH@

Adds database context

-
@@ -205,8 +209,12 @@ db_settings: add_scoped(service_type: Type, service: Optional[Callable] = None)

Adds a service with scoped lifetime

-

service_type: Type -service: Callable

+
+
service_type: Type

Type of the service

+
+
service: Callable

Object of the service

+
+
@@ -215,8 +223,12 @@ service: add_singleton(service_type: Union[type, object], service: Optional[Union[type, object]] = None)

Adds a service with singleton lifetime

-

service_type: Type -service: Callable

+
+
service_type: Type

Type of the service

+
+
service: Callable

Object of the service

+
+
@@ -225,8 +237,12 @@ service: add_transient(service_type: type, service: Optional[type] = None)

Adds a service with transient lifetime

-

service_type: Type -service: Callable

+
+
service_type: Type

Type of the service

+
+
service: Callable

Object of the service

+
+
@@ -254,8 +270,12 @@ service: abstract add_db_context(db_context: Type[cpl.database.context.database_context_abc.DatabaseContextABC], db_settings: cpl.database.database_settings.DatabaseSettings)

Adds database context

-
@@ -270,8 +290,12 @@ db_settings: abstract add_scoped(service_type: Type, service: Optional[collections.abc.Callable] = None)

Adds a service with scoped lifetime

-

service_type: Type -service: Callable

+
+
service_type: Type

Type of the service

+
+
service: Callable

Object of the service

+
+
@@ -280,8 +304,12 @@ service: abstract add_singleton(service_type: Type, service: Optional[collections.abc.Callable] = None)

Adds a service with singleton lifetime

-

service_type: Type -service: Callable

+
+
service_type: Type

Type of the service

+
+
service: Callable

Object of the service

+
+
@@ -290,8 +318,12 @@ service: abstract add_transient(service_type: Type, service: Optional[collections.abc.Callable] = None)

Adds a service with transient lifetime

-

service_type: Type -service: Callable

+
+
service_type: Type

Type of the service

+
+
service: Callable

Object of the service

+
+
@@ -315,8 +347,12 @@ service:

Bases: object

Descriptor of a service

-

implementation: Union[type, Optional[object]] -lifetime: cpl.dependency_injection.service_lifetime_enum.ServiceLifetimeEnum

+
+
implementation: Union[type, Optional[object]]

Object or type of service

+
+
lifetime: cpl.dependency_injection.service_lifetime_enum.ServiceLifetimeEnum

Lifetime of the service

+
+
@@ -369,9 +405,14 @@ lifetime: cpl.dependency_injection.service_provider_abc.ServiceProviderABC

Provider for the services

-
diff --git a/docs/build/html/cpl.environment.html b/docs/build/html/cpl.environment.html index 1ae3cce7..8453c93a 100644 --- a/docs/build/html/cpl.environment.html +++ b/docs/build/html/cpl.environment.html @@ -180,6 +180,10 @@
class cpl.environment.application_environment.ApplicationEnvironment(name: cpl.environment.environment_name_enum.EnvironmentNameEnum = <EnvironmentNameEnum.production: 'production'>)

Bases: cpl.environment.application_environment_abc.ApplicationEnvironmentABC

+

Represents environment of the application

+
+
property application_name
@@ -218,17 +222,25 @@
set_runtime_directory(runtime_directory: str)
-

Sets the current runtime directory -:param runtime_directory: -:return:

+

Sets the current runtime directory

+
+
+
runtime_directory: str

Path of the runtime directory

+
+
+
set_working_directory(working_directory: str)
-

Sets the current working directory -:param working_directory: -:return:

+

Sets the current working directory

+
+
+
working_directory: str

Path of the current working directory

+
+
+
@@ -250,6 +262,7 @@
class cpl.environment.application_environment_abc.ApplicationEnvironmentABC

Bases: abc.ABC

+

ABC of the class cpl.environment.application_environment.ApplicationEnvironment

abstract property application_name
@@ -288,17 +301,25 @@
abstract set_runtime_directory(runtime_directory: str)
-

Sets the current runtime directory -:param runtime_directory: -:return:

+

Sets the current runtime directory

+
+
+
runtime_directory: str

Path of the runtime directory

+
+
+
abstract set_working_directory(working_directory: str)
-

Sets the current working directory -:param working_directory: -:return:

+

Sets the current working directory

+
+
+
working_directory: str

Path of the current working directory

+
+
+
diff --git a/docs/build/html/cpl.logging.html b/docs/build/html/cpl.logging.html index d4ce2d63..f7b94d4d 100644 --- a/docs/build/html/cpl.logging.html +++ b/docs/build/html/cpl.logging.html @@ -182,68 +182,105 @@
class cpl.logging.logger_abc.LoggerABC

Bases: abc.ABC

+

ABC for cpl.logging.logger_service.Logger

abstract debug(name: str, message: str)
-

Writes a debug message -:param name: -:param message: -:return:

+

Writes a debug message

+
+
+
name: str

Message name

+
+
message: str

Message string

+
+
+
abstract error(name: str, message: str, ex: Optional[Exception] = None)
-

Writes an error -:param name: -:param message: -:param ex: -:return:

+

Writes an error

+
+
+
name: str

Error name

+
+
message: str

Error message

+
+
ex: Exception

Thrown exception

+
+
+
abstract fatal(name: str, message: str, ex: Optional[Exception] = None)
-

Writes an error and exits -:param name: -:param message: -:param ex: -:return:

+

Writes an error and ends the program

+
+
+
name: str

Error name

+
+
message: str

Error message

+
+
ex: Exception

Thrown exception

+
+
+
abstract header(string: str)
-

Writes a header message -:param string: -:return:

+

Writes a header message

+
+
+
string: str

String to write as header

+
+
+
abstract info(name: str, message: str)
-

Writes an information -:param name: -:param message: -:return:

+

Writes an information

+
+
+
name: str

Message name

+
+
message: str

Message string

+
+
+
abstract trace(name: str, message: str)
-

Writes a trace message -:param name: -:param message: -:return:

+

Writes a trace message

+
+
+
name: str

Message name

+
+
message: str

Message string

+
+
+
abstract warn(name: str, message: str)
-

Writes an warning -:param name: -:param message: -:return:

+

Writes an warning

+
+
+
name: str

Message name

+
+
message: str

Message string

+
+
+
@@ -255,75 +292,121 @@
class cpl.logging.logger_service.Logger(logging_settings: cpl.logging.logging_settings.LoggingSettings, time_format: cpl.time.time_format_settings.TimeFormatSettings, env: cpl.environment.application_environment_abc.ApplicationEnvironmentABC)

Bases: cpl.logging.logger_abc.LoggerABC

+

Service for logging

+
+
+
logging_settings: cpl.logging.logging_settings.LoggingSettings

Settings for the logger

+
+
time_format: cpl.time.time_format_settings.TimeFormatSettings

Time format settings

+
+
env: cpl.environment.application_environment_abc.ApplicationEnvironmentABC

Environment of the application

+
+
+
create()None
-

Creates path tree and logfile -:return:

+

Creates path tree and logfile

debug(name: str, message: str)
-

Writes a debug message -:param name: -:param message: -:return:

+

Writes a debug message

+
+
+
name: str

Message name

+
+
message: str

Message string

+
+
+
error(name: str, message: str, ex: Optional[Exception] = None)
-

Writes an error -:param name: -:param message: -:param ex: -:return:

+

Writes an error

+
+
+
name: str

Error name

+
+
message: str

Error message

+
+
ex: Exception

Thrown exception

+
+
+
fatal(name: str, message: str, ex: Optional[Exception] = None)
-

Writes an error and exits -:param name: -:param message: -:param ex: -:return:

+

Writes an error and ends the program

+
+
+
name: str

Error name

+
+
message: str

Error message

+
+
ex: Exception

Thrown exception

+
+
+
header(string: str)
-

Writes a header message -:param string: -:return:

+

Writes a header message

+
+
+
string: str

String to write as header

+
+
+
info(name: str, message: str)
-

Writes an information -:param name: -:param message: -:return:

+

Writes an information

+
+
+
name: str

Message name

+
+
message: str

Message string

+
+
+
trace(name: str, message: str)
-

Writes a trace message -:param name: -:param message: -:return:

+

Writes a trace message

+
+
+
name: str

Message name

+
+
message: str

Message string

+
+
+
warn(name: str, message: str)
-

Writes an warning -:param name: -:param message: -:return:

+

Writes an warning

+
+
+
name: str

Message name

+
+
message: str

Message string

+
+
+
@@ -380,6 +463,7 @@
class cpl.logging.logging_settings.LoggingSettings

Bases: cpl.configuration.configuration_model_abc.ConfigurationModelABC

+

Representation of logging settings

property console
diff --git a/docs/build/html/cpl.mailing.html b/docs/build/html/cpl.mailing.html index 3e8ea1f2..34c5afae 100644 --- a/docs/build/html/cpl.mailing.html +++ b/docs/build/html/cpl.mailing.html @@ -182,20 +182,43 @@
class cpl.mailing.email.EMail(header: Optional[list] = None, subject: Optional[str] = None, body: Optional[str] = None, transceiver: Optional[str] = None, receiver: Optional[list] = None)

Bases: object

+

Represents an email

+
+
+
header: list[str]

Header of the E-Mail

+
+
subject: str

Subject of the E-Mail

+
+
body: str

Body of the E-Mail

+
+
transceiver: str

Transceiver of the E-Mail

+
+
receiver: list[str]

Receiver of the E-Mail

+
+
+
add_header(header: str)
-

Adds header -:param header: -:return:

+

Adds header

+
+
+
header: str

The header of the E-Mail

+
+
+
add_receiver(receiver: str)
-

Adds receiver -:param receiver: -:return:

+

Adds receiver

+
+
+
receiver: str

The receiver of the E-Mail

+
+
+
@@ -206,17 +229,31 @@
static check_mail(address: str)bool
-

Checks if an email is valid -:param address: -:return:

+

Checks if an email is valid

+
+
+
address: str

The address to check

+
+
+
+
+

Result if E-Mail is valid or not

+
get_content(transceiver: str)
-

Returns the mail as string -:param transceiver: -:return:

+

Returns the mail as string

+
+
+
transceiver: str

The transceiver of the E-Mail

+
+
+
+
+

E-Mail as string

+
@@ -258,19 +295,23 @@
class cpl.mailing.email_client_abc.EMailClientABC

Bases: abc.ABC

+

ABC of cpl.mailing.email_client_service.EMailClient

abstract connect()
-

Connects to server -:return:

+

Connects to server

abstract send_mail(email: cpl.mailing.email.EMail)
-

Sends email -:param email: -:return:

+

Sends email

+
+
+
email: cpl.mailing.email.EMail

Object of the E-Mail to send

+
+
+
@@ -282,33 +323,45 @@
class cpl.mailing.email_client_service.EMailClient(environment: cpl.environment.application_environment_abc.ApplicationEnvironmentABC, logger: cpl.logging.logger_abc.LoggerABC, mail_settings: cpl.mailing.email_client_settings.EMailClientSettings)

Bases: cpl.mailing.email_client_abc.EMailClientABC

+

Service to send emails

+
+
+
environment: cpl.environment.application_environment_abc.ApplicationEnvironmentABC

Environment of the application

+
+
logger: cpl.logging.logger_abc.LoggerABC

The logger to use

+
+
mail_settings: cpl.mailing.email_client_settings.EMailClientSettings

Settings for mailing

+
+
+
connect()
-

Connects to server -:return:

+

Connects to server

create()
-

Creates connection -:return:

+

Creates connection

login()
-

Login to server -:return:

+

Login to server

send_mail(email: cpl.mailing.email.EMail)
-

Sends email -:param email: -:return:

+

Sends email

+
+
+
email: cpl.mailing.email.EMail

Object of the E-Mail to send

+
+
+
@@ -320,6 +373,7 @@
class cpl.mailing.email_client_settings.EMailClientSettings

Bases: cpl.configuration.configuration_model_abc.ConfigurationModelABC

+

Representation of mailing settings

property credentials
diff --git a/docs/build/html/cpl.time.html b/docs/build/html/cpl.time.html index 3868dfcb..82ada9ab 100644 --- a/docs/build/html/cpl.time.html +++ b/docs/build/html/cpl.time.html @@ -179,6 +179,7 @@
class cpl.time.time_format_settings.TimeFormatSettings

Bases: cpl.configuration.configuration_model_abc.ConfigurationModelABC

+

Representation of time format settings

property date_format
diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index dba2ca15..c8dadfa5 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["cpl","cpl.application","cpl.configuration","cpl.console","cpl.database","cpl.database.connection","cpl.database.context","cpl.dependency_injection","cpl.environment","cpl.logging","cpl.mailing","cpl.time","cpl.utils","index","modules"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["cpl.rst","cpl.application.rst","cpl.configuration.rst","cpl.console.rst","cpl.database.rst","cpl.database.connection.rst","cpl.database.context.rst","cpl.dependency_injection.rst","cpl.environment.rst","cpl.logging.rst","cpl.mailing.rst","cpl.time.rst","cpl.utils.rst","index.rst","modules.rst"],objects:{"cpl.application":{application_abc:[1,0,0,"-"],application_builder:[1,0,0,"-"],application_builder_abc:[1,0,0,"-"],startup_abc:[1,0,0,"-"]},"cpl.application.application_abc":{ApplicationABC:[1,1,1,""]},"cpl.application.application_abc.ApplicationABC":{configure:[1,2,1,""],main:[1,2,1,""],run:[1,2,1,""]},"cpl.application.application_builder":{ApplicationBuilder:[1,1,1,""]},"cpl.application.application_builder.ApplicationBuilder":{build:[1,2,1,""],use_startup:[1,2,1,""]},"cpl.application.application_builder_abc":{ApplicationBuilderABC:[1,1,1,""]},"cpl.application.application_builder_abc.ApplicationBuilderABC":{build:[1,2,1,""],use_startup:[1,2,1,""]},"cpl.application.startup_abc":{StartupABC:[1,1,1,""]},"cpl.application.startup_abc.StartupABC":{configure_configuration:[1,2,1,""],configure_services:[1,2,1,""]},"cpl.configuration":{configuration:[2,0,0,"-"],configuration_abc:[2,0,0,"-"],configuration_model_abc:[2,0,0,"-"],configuration_variable_name_enum:[2,0,0,"-"],console_argument:[2,0,0,"-"]},"cpl.configuration.configuration":{Configuration:[2,1,1,""]},"cpl.configuration.configuration.Configuration":{add_configuration:[2,2,1,""],add_console_argument:[2,2,1,""],add_console_arguments:[2,2,1,""],add_environment_variables:[2,2,1,""],add_json_file:[2,2,1,""],additional_arguments:[2,2,1,""],argument_error_function:[2,2,1,""],environment:[2,2,1,""],get_configuration:[2,2,1,""]},"cpl.configuration.configuration_abc":{ConfigurationABC:[2,1,1,""]},"cpl.configuration.configuration_abc.ConfigurationABC":{add_configuration:[2,2,1,""],add_console_argument:[2,2,1,""],add_console_arguments:[2,2,1,""],add_environment_variables:[2,2,1,""],add_json_file:[2,2,1,""],additional_arguments:[2,2,1,""],argument_error_function:[2,2,1,""],environment:[2,2,1,""],get_configuration:[2,2,1,""]},"cpl.configuration.configuration_model_abc":{ConfigurationModelABC:[2,1,1,""]},"cpl.configuration.configuration_model_abc.ConfigurationModelABC":{from_dict:[2,2,1,""]},"cpl.configuration.configuration_variable_name_enum":{ConfigurationVariableNameEnum:[2,1,1,""]},"cpl.configuration.configuration_variable_name_enum.ConfigurationVariableNameEnum":{customer:[2,3,1,""],environment:[2,3,1,""],name:[2,3,1,""],to_list:[2,2,1,""]},"cpl.configuration.console_argument":{ConsoleArgument:[2,1,1,""]},"cpl.configuration.console_argument.ConsoleArgument":{aliases:[2,2,1,""],console_arguments:[2,2,1,""],is_value_token_optional:[2,2,1,""],name:[2,2,1,""],token:[2,2,1,""],value_token:[2,2,1,""]},"cpl.console":{background_color_enum:[3,0,0,"-"],console:[3,0,0,"-"],console_call:[3,0,0,"-"],foreground_color_enum:[3,0,0,"-"],spinner_thread:[3,0,0,"-"]},"cpl.console.background_color_enum":{BackgroundColorEnum:[3,1,1,""]},"cpl.console.background_color_enum.BackgroundColorEnum":{"default":[3,3,1,""],blue:[3,3,1,""],cyan:[3,3,1,""],green:[3,3,1,""],grey:[3,3,1,""],magenta:[3,3,1,""],red:[3,3,1,""],white:[3,3,1,""],yellow:[3,3,1,""]},"cpl.console.console":{Console:[3,1,1,""]},"cpl.console.console.Console":{background_color:[3,3,1,""],banner:[3,2,1,""],clear:[3,2,1,""],close:[3,2,1,""],color_reset:[3,2,1,""],disable:[3,2,1,""],enable:[3,2,1,""],error:[3,2,1,""],foreground_color:[3,3,1,""],read:[3,2,1,""],read_line:[3,2,1,""],reset_cursor_position:[3,2,1,""],select:[3,2,1,""],set_background_color:[3,2,1,""],set_cursor_position:[3,2,1,""],set_foreground_color:[3,2,1,""],set_hold_back:[3,2,1,""],spinner:[3,2,1,""],table:[3,2,1,""],write:[3,2,1,""],write_at:[3,2,1,""],write_line:[3,2,1,""],write_line_at:[3,2,1,""]},"cpl.console.console_call":{ConsoleCall:[3,1,1,""]},"cpl.console.console_call.ConsoleCall":{"function":[3,2,1,""],args:[3,2,1,""]},"cpl.console.foreground_color_enum":{ForegroundColorEnum:[3,1,1,""]},"cpl.console.foreground_color_enum.ForegroundColorEnum":{"default":[3,3,1,""],blue:[3,3,1,""],cyan:[3,3,1,""],green:[3,3,1,""],grey:[3,3,1,""],magenta:[3,3,1,""],red:[3,3,1,""],white:[3,3,1,""],yellow:[3,3,1,""]},"cpl.console.spinner_thread":{SpinnerThread:[3,1,1,""]},"cpl.console.spinner_thread.SpinnerThread":{exit:[3,2,1,""],run:[3,2,1,""],stop_spinning:[3,2,1,""]},"cpl.database":{database_model:[4,0,0,"-"],database_settings:[4,0,0,"-"],database_settings_name_enum:[4,0,0,"-"]},"cpl.database.connection":{database_connection:[5,0,0,"-"],database_connection_abc:[5,0,0,"-"]},"cpl.database.connection.database_connection":{DatabaseConnection:[5,1,1,""]},"cpl.database.connection.database_connection.DatabaseConnection":{connect:[5,2,1,""],engine:[5,2,1,""],session:[5,2,1,""]},"cpl.database.connection.database_connection_abc":{DatabaseConnectionABC:[5,1,1,""]},"cpl.database.connection.database_connection_abc.DatabaseConnectionABC":{connect:[5,2,1,""],engine:[5,2,1,""],session:[5,2,1,""]},"cpl.database.context":{database_context:[6,0,0,"-"],database_context_abc:[6,0,0,"-"]},"cpl.database.context.database_context":{DatabaseContext:[6,1,1,""]},"cpl.database.context.database_context.DatabaseContext":{connect:[6,2,1,""],engine:[6,2,1,""],save_changes:[6,2,1,""],session:[6,2,1,""]},"cpl.database.context.database_context_abc":{DatabaseContextABC:[6,1,1,""]},"cpl.database.context.database_context_abc.DatabaseContextABC":{connect:[6,2,1,""],engine:[6,2,1,""],save_changes:[6,2,1,""],session:[6,2,1,""]},"cpl.database.database_settings":{DatabaseSettings:[4,1,1,""]},"cpl.database.database_settings.DatabaseSettings":{auth_plugin:[4,2,1,""],case_sensitive:[4,2,1,""],connection_string:[4,2,1,""],credentials:[4,2,1,""],echo:[4,2,1,""],encoding:[4,2,1,""],from_dict:[4,2,1,""]},"cpl.database.database_settings_name_enum":{DatabaseSettingsNameEnum:[4,1,1,""]},"cpl.database.database_settings_name_enum.DatabaseSettingsNameEnum":{auth_plugin:[4,3,1,""],case_sensitive:[4,3,1,""],connection_string:[4,3,1,""],credentials:[4,3,1,""],echo:[4,3,1,""],encoding:[4,3,1,""]},"cpl.dependency_injection":{service_collection:[7,0,0,"-"],service_collection_abc:[7,0,0,"-"],service_descriptor:[7,0,0,"-"],service_lifetime_enum:[7,0,0,"-"],service_provider:[7,0,0,"-"],service_provider_abc:[7,0,0,"-"]},"cpl.dependency_injection.service_collection":{ServiceCollection:[7,1,1,""]},"cpl.dependency_injection.service_collection.ServiceCollection":{add_db_context:[7,2,1,""],add_logging:[7,2,1,""],add_scoped:[7,2,1,""],add_singleton:[7,2,1,""],add_transient:[7,2,1,""],build_service_provider:[7,2,1,""]},"cpl.dependency_injection.service_collection_abc":{ServiceCollectionABC:[7,1,1,""]},"cpl.dependency_injection.service_collection_abc.ServiceCollectionABC":{add_db_context:[7,2,1,""],add_logging:[7,2,1,""],add_scoped:[7,2,1,""],add_singleton:[7,2,1,""],add_transient:[7,2,1,""],build_service_provider:[7,2,1,""]},"cpl.dependency_injection.service_descriptor":{ServiceDescriptor:[7,1,1,""]},"cpl.dependency_injection.service_descriptor.ServiceDescriptor":{implementation:[7,2,1,""],lifetime:[7,2,1,""],service_type:[7,2,1,""]},"cpl.dependency_injection.service_lifetime_enum":{ServiceLifetimeEnum:[7,1,1,""]},"cpl.dependency_injection.service_lifetime_enum.ServiceLifetimeEnum":{"transient":[7,3,1,""],scoped:[7,3,1,""],singleton:[7,3,1,""]},"cpl.dependency_injection.service_provider":{ServiceProvider:[7,1,1,""]},"cpl.dependency_injection.service_provider.ServiceProvider":{build_service:[7,2,1,""],get_service:[7,2,1,""]},"cpl.dependency_injection.service_provider_abc":{ServiceProviderABC:[7,1,1,""]},"cpl.dependency_injection.service_provider_abc.ServiceProviderABC":{build_service:[7,2,1,""],get_service:[7,2,1,""]},"cpl.environment":{application_environment:[8,0,0,"-"],application_environment_abc:[8,0,0,"-"],environment_name_enum:[8,0,0,"-"]},"cpl.environment.application_environment":{ApplicationEnvironment:[8,1,1,""]},"cpl.environment.application_environment.ApplicationEnvironment":{application_name:[8,2,1,""],customer:[8,2,1,""],date_time_now:[8,2,1,""],end_time:[8,2,1,""],environment_name:[8,2,1,""],host_name:[8,2,1,""],runtime_directory:[8,2,1,""],set_runtime_directory:[8,2,1,""],set_working_directory:[8,2,1,""],start_time:[8,2,1,""],working_directory:[8,2,1,""]},"cpl.environment.application_environment_abc":{ApplicationEnvironmentABC:[8,1,1,""]},"cpl.environment.application_environment_abc.ApplicationEnvironmentABC":{application_name:[8,2,1,""],customer:[8,2,1,""],date_time_now:[8,2,1,""],end_time:[8,2,1,""],environment_name:[8,2,1,""],host_name:[8,2,1,""],runtime_directory:[8,2,1,""],set_runtime_directory:[8,2,1,""],set_working_directory:[8,2,1,""],start_time:[8,2,1,""],working_directory:[8,2,1,""]},"cpl.environment.environment_name_enum":{EnvironmentNameEnum:[8,1,1,""]},"cpl.environment.environment_name_enum.EnvironmentNameEnum":{development:[8,3,1,""],production:[8,3,1,""],staging:[8,3,1,""],testing:[8,3,1,""]},"cpl.logging":{logger_abc:[9,0,0,"-"],logger_service:[9,0,0,"-"],logging_level_enum:[9,0,0,"-"],logging_settings:[9,0,0,"-"],logging_settings_name_enum:[9,0,0,"-"]},"cpl.logging.logger_abc":{LoggerABC:[9,1,1,""]},"cpl.logging.logger_abc.LoggerABC":{debug:[9,2,1,""],error:[9,2,1,""],fatal:[9,2,1,""],header:[9,2,1,""],info:[9,2,1,""],trace:[9,2,1,""],warn:[9,2,1,""]},"cpl.logging.logger_service":{Logger:[9,1,1,""]},"cpl.logging.logger_service.Logger":{create:[9,2,1,""],debug:[9,2,1,""],error:[9,2,1,""],fatal:[9,2,1,""],header:[9,2,1,""],info:[9,2,1,""],trace:[9,2,1,""],warn:[9,2,1,""]},"cpl.logging.logging_level_enum":{LoggingLevelEnum:[9,1,1,""]},"cpl.logging.logging_level_enum.LoggingLevelEnum":{DEBUG:[9,3,1,""],ERROR:[9,3,1,""],FATAL:[9,3,1,""],INFO:[9,3,1,""],OFF:[9,3,1,""],TRACE:[9,3,1,""],WARN:[9,3,1,""]},"cpl.logging.logging_settings":{LoggingSettings:[9,1,1,""]},"cpl.logging.logging_settings.LoggingSettings":{console:[9,2,1,""],filename:[9,2,1,""],from_dict:[9,2,1,""],level:[9,2,1,""],path:[9,2,1,""]},"cpl.logging.logging_settings_name_enum":{LoggingSettingsNameEnum:[9,1,1,""]},"cpl.logging.logging_settings_name_enum.LoggingSettingsNameEnum":{console_level:[9,3,1,""],file_level:[9,3,1,""],filename:[9,3,1,""],path:[9,3,1,""]},"cpl.mailing":{email:[10,0,0,"-"],email_client_abc:[10,0,0,"-"],email_client_service:[10,0,0,"-"],email_client_settings:[10,0,0,"-"],email_client_settings_name_enum:[10,0,0,"-"]},"cpl.mailing.email":{EMail:[10,1,1,""]},"cpl.mailing.email.EMail":{add_header:[10,2,1,""],add_receiver:[10,2,1,""],body:[10,2,1,""],check_mail:[10,2,1,""],get_content:[10,2,1,""],header:[10,2,1,""],header_list:[10,2,1,""],receiver:[10,2,1,""],receiver_list:[10,2,1,""],subject:[10,2,1,""],transceiver:[10,2,1,""]},"cpl.mailing.email_client_abc":{EMailClientABC:[10,1,1,""]},"cpl.mailing.email_client_abc.EMailClientABC":{connect:[10,2,1,""],send_mail:[10,2,1,""]},"cpl.mailing.email_client_service":{EMailClient:[10,1,1,""]},"cpl.mailing.email_client_service.EMailClient":{connect:[10,2,1,""],create:[10,2,1,""],login:[10,2,1,""],send_mail:[10,2,1,""]},"cpl.mailing.email_client_settings":{EMailClientSettings:[10,1,1,""]},"cpl.mailing.email_client_settings.EMailClientSettings":{credentials:[10,2,1,""],from_dict:[10,2,1,""],host:[10,2,1,""],port:[10,2,1,""],user_name:[10,2,1,""]},"cpl.mailing.email_client_settings_name_enum":{EMailClientSettingsNameEnum:[10,1,1,""]},"cpl.mailing.email_client_settings_name_enum.EMailClientSettingsNameEnum":{credentials:[10,3,1,""],host:[10,3,1,""],port:[10,3,1,""],user_name:[10,3,1,""]},"cpl.time":{time_format_settings:[11,0,0,"-"],time_format_settings_names_enum:[11,0,0,"-"]},"cpl.time.time_format_settings":{TimeFormatSettings:[11,1,1,""]},"cpl.time.time_format_settings.TimeFormatSettings":{date_format:[11,2,1,""],date_time_format:[11,2,1,""],date_time_log_format:[11,2,1,""],from_dict:[11,2,1,""],time_format:[11,2,1,""]},"cpl.time.time_format_settings_names_enum":{TimeFormatSettingsNamesEnum:[11,1,1,""]},"cpl.time.time_format_settings_names_enum.TimeFormatSettingsNamesEnum":{date_format:[11,3,1,""],date_time_format:[11,3,1,""],date_time_log_format:[11,3,1,""],time_format:[11,3,1,""]},"cpl.utils":{credential_manager:[12,0,0,"-"],pip:[12,0,0,"-"],string:[12,0,0,"-"]},"cpl.utils.credential_manager":{CredentialManager:[12,1,1,""]},"cpl.utils.credential_manager.CredentialManager":{build_string:[12,2,1,""],decrypt:[12,2,1,""],encrypt:[12,2,1,""]},"cpl.utils.pip":{Pip:[12,1,1,""]},"cpl.utils.pip.Pip":{get_executable:[12,2,1,""],get_outdated:[12,2,1,""],get_package:[12,2,1,""],install:[12,2,1,""],reset_executable:[12,2,1,""],set_executable:[12,2,1,""],uninstall:[12,2,1,""]},"cpl.utils.string":{String:[12,1,1,""]},"cpl.utils.string.String":{convert_to_camel_case:[12,2,1,""],convert_to_snake_case:[12,2,1,""],first_to_lower:[12,2,1,""],first_to_upper:[12,2,1,""],random_string:[12,2,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:attribute"},terms:{"abstract":[1,2,5,6,7,8,9,10],"byte":12,"case":12,"char":[3,12],"class":[1,2,3,4,5,6,7,8,9,10,11,12],"default":3,"enum":[2,3,4,7,8,9,10,11],"function":[3,12],"int":[3,12],"new":3,"return":[2,3,7,8,9,10,12],"static":[2,10,12],"transient":7,"true":2,The:[7,13],These:13,Useful:[3,12],abc:[1,2,3,5,6,7,8,9,10],about:13,activ:3,add:[2,7,10],add_configur:2,add_console_argu:2,add_db_context:7,add_environment_vari:2,add_head:10,add_json_fil:2,add_log:7,add_receiv:10,add_scop:7,add_singleton:7,add_transi:7,additional_argu:2,address:10,alias:2,ani:3,app:[1,13],applic:[0,3,13,14],application_abc:[0,14],application_build:[0,14],application_builder_abc:[0,14],application_environ:[0,14],application_environment_abc:[0,9,10,14],application_nam:8,applicationabc:1,applicationbuild:1,applicationbuilderabc:1,applicationenviron:8,applicationenvironmentabc:[8,9,10],appset:1,arg:[1,3,6,12],argument:[2,3],argument_error_funct:2,attribut:[2,4,9,10,11],auth_plugin:4,authplugin:4,back:3,background:3,background_color:3,background_color_enum:[0,14],backgroundcolorenum:3,banner:3,base64:12,base:[1,2,3,4,5,6,7,8,9,10,11,12],befor:3,blue:3,bodi:10,bool:[2,3,10],build:[1,12],build_servic:7,build_service_provid:7,build_str:12,call:[1,3],callabl:[2,3,7],camel:12,can:13,case_sensit:4,casesensit:4,chang:6,charact:3,check:10,check_mail:10,classmethod:[3,12],clear:3,close:3,collect:[2,3,7],color:3,color_reset:3,command:12,common:13,complex:13,config:[1,7],configur:[0,1,4,7,9,10,11,14],configuration_abc:[0,1,7,14],configuration_model_abc:[0,4,9,10,11,14],configuration_variable_name_enum:[0,14],configurationabc:[1,2,7],configurationmodelabc:[2,4,9,10,11],configurationvariablenameenum:2,configure_configur:1,configure_servic:1,connect:[0,4,6,10,14],connection_str:[4,5,6],connectionstr:4,consol:[0,2,9,14],console_argu:[0,14],console_cal:[0,14],console_level:9,consoleargu:2,consolecal:3,consoleloglevel:9,contain:1,context:[0,4,7,14],convert:[2,9,10,11,12],convert_to_camel_cas:12,convert_to_snake_cas:12,coordin:3,core:[5,6],creat:[1,7,9,10,12,13],credenti:[4,10,12],credential_manag:[0,14],credentialmanag:12,current:8,cursor:3,cursor_background_color:3,cursor_foreground_color:3,custom:[1,2,8],cyan:3,databas:[0,7,14],database_connect:[0,4,14],database_connection_abc:[0,4,14],database_context:[0,4,14],database_context_abc:[0,4,7,14],database_model:[0,14],database_set:[0,5,6,7,14],database_settings_name_enum:[0,14],databaseconnect:5,databaseconnectionabc:5,databasecontext:6,databasecontextabc:[6,7],databaseset:[4,5,6,7],databasesettingsnameenum:4,date_format:11,date_time_format:11,date_time_log_format:11,date_time_now:8,dateformat:11,datetimeformat:11,datetimelogformat:11,db_context:7,db_context_typ:7,db_set:7,debug:9,decod:12,decrypt:12,defin:2,dependency_inject:[0,1,14],descriptor:7,desktop:13,detail:13,develop:[8,13],dict:[2,3,4,9,10,11],directori:8,disabl:3,doc:[5,6],echo:4,effici:13,element:3,email:[0,14],email_client_abc:[0,14],email_client_servic:[0,14],email_client_set:[0,14],email_client_settings_name_enum:[0,14],emailcli:10,emailclientabc:10,emailclientset:10,emailclientsettingsnameenum:10,enabl:3,encod:[4,12],encrypt:12,end:3,end_tim:8,engin:[5,6],enterpris:13,entri:[1,3],enumer:[2,3,4,7,8,9,10,11],env:9,environ:[0,2,9,10,14],environment_nam:8,environment_name_enum:[0,14],environmentnameenum:8,error:[2,3,9],everyth:13,except:9,execut:12,exit:[3,9],fatal:9,file:2,file_level:9,fileloglevel:9,filenam:9,first:[12,13],first_to_low:12,first_to_upp:12,foreground:3,foreground_color:3,foreground_color_enum:[0,14],foregroundcolorenum:3,found:2,from:[1,2,4,13],from_dict:[2,4,9,10,11],get:12,get_configur:2,get_cont:10,get_execut:12,get_outd:12,get_packag:12,get_servic:7,given:[2,3,4,7,12],great:13,green:3,grei:3,handl:[3,12],has:3,header:[3,9,10],header_background_color:3,header_foreground_color:3,header_list:10,help:13,hold:3,host:10,host_nam:8,html:[5,6],http:[5,6],implement:7,info:9,inform:9,input:3,instal:12,instanc:[1,7],instance_typ:7,interact:3,intern:7,invalid:2,is_value_token_opt:2,json:2,key_typ:2,keyword:3,known:2,kwarg:3,last:3,learn:13,length:[3,12],level:9,librari:13,lifetim:7,line:3,list:[2,3,7,10,12],load:1,local:12,log:[0,10,14],logfil:9,logger:[7,9,10],logger_abc:[0,10,14],logger_servic:[0,14],loggerabc:[9,10],logging_level_enum:[0,14],logging_set:[0,14],logging_settings_name_enum:[0,14],logginglevelenum:9,loggingset:9,loggingsettingsnameenum:9,login:10,lower:12,magenta:3,mail:[0,14],mail_set:10,main:1,meant:13,menu:3,messag:[3,9],msg_len:3,name:[2,8,9],next:3,none:[2,3,7,9,10,12],object:[1,2,3,7,10,12],occur:2,off:9,on_blu:3,on_cyan:3,on_default:3,on_green:3,on_grei:3,on_magenta:3,on_r:3,on_whit:3,on_yellow:3,option:[2,3,7,9,10,12],option_background_color:3,option_foreground_color:3,org:[5,6],outdat:12,output:[2,3],packag:[12,13],page:13,param:[8,9,10,12],path:[2,9],pip:[0,14],place:2,platform:13,point:[1,3],port:10,posit:3,prefix:2,prepar:1,print:3,product:8,properti:[2,3,4,5,6,7,8,9,10,11],provid:[1,7],python:13,random:12,random_str:12,read:[2,3],read_lin:3,receiv:10,receiver_list:10,red:3,repres:[3,4],represent:[5,6,7],reset:[3,12],reset_cursor_posit:3,reset_execut:12,run:[1,3],runtim:8,runtime_directori:8,save:[2,6],save_chang:6,scope:7,search:[2,7],search_typ:2,see:[5,6],select:3,send:10,send_mail:10,server:[10,13],servic:[1,7],service_collect:[0,14],service_collection_abc:[0,14],service_descriptor:[0,14],service_lifetime_enum:[0,14],service_provid:[0,14],service_provider_abc:[0,1,14],service_typ:7,servicecollect:7,servicecollectionabc:7,servicedescriptor:7,servicelifetimeenum:7,serviceprovid:7,serviceproviderabc:[1,7],session:[5,6],set:[1,2,3,4,8,9,10,11,12],set_background_color:3,set_cursor_posit:3,set_execut:12,set_foreground_color:3,set_hold_back:3,set_runtime_directori:8,set_working_directori:8,should:2,show:3,shown:2,simpl:13,singleton:7,snake:12,sourc:12,specifi:2,spinner:3,spinner_background_color:3,spinner_foreground_color:3,spinner_thread:[0,14],spinnerthread:3,sqlalchemi:[5,6],stage:8,standard:12,start_tim:8,startup:1,startup_abc:[0,14],startupabc:1,stderr:12,stdout:12,stop:3,stop_spin:3,store:2,str:[2,3,5,6,8,9,10,12],string:[0,3,5,6,9,10,14],subject:10,submodul:[0,14],system:12,tabl:[3,12],take:2,termin:3,test:8,text:3,text_background_color:3,text_foreground_color:3,thi:[1,13],thread:3,time:[0,9,14],time_format:[9,11],time_format_set:[0,9,14],time_format_settings_names_enum:[0,14],timeformat:11,timeformatset:[9,11],timeformatsettingsnamesenum:11,to_list:2,token:2,trace:9,traceback:3,transceiv:10,tree:9,type:[1,2,7],understand:13,uninstal:12,union:[2,3,7],upper:12,use:[1,13],use_startup:1,used:1,user_nam:10,usernam:10,util:[0,14],valid:10,valu:[2,3,4,7,8,9,10,11],value_token:2,variabl:2,warn:9,when:3,whether:2,which:[2,3],white:3,work:8,working_directori:8,write:[3,9],write_at:3,write_lin:3,write_line_at:3,yellow:3,you:13,your:13},titles:["CPL","cpl.application","cpl.configuration","cpl.console","cpl.database","cpl.database.connection","cpl.database.context","cpl.dependency_injection","cpl.environment","cpl.logging","cpl.mailing","cpl.time","cpl.utils","Introduction to the CPL Docs","cpl"],titleterms:{applic:1,application_abc:1,application_build:1,application_builder_abc:1,application_environ:8,application_environment_abc:8,background_color_enum:3,configur:2,configuration_abc:2,configuration_model_abc:2,configuration_variable_name_enum:2,connect:5,consol:3,console_argu:2,console_cal:3,context:6,cpl:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],credential_manag:12,databas:[4,5,6],database_connect:5,database_connection_abc:5,database_context:6,database_context_abc:6,database_model:4,database_set:4,database_settings_name_enum:4,dependency_inject:7,doc:13,email:10,email_client_abc:10,email_client_servic:10,email_client_set:10,email_client_settings_name_enum:10,environ:8,environment_name_enum:8,foreground_color_enum:3,introduct:13,log:9,logger_abc:9,logger_servic:9,logging_level_enum:9,logging_set:9,logging_settings_name_enum:9,mail:10,manual:13,pip:12,service_collect:7,service_collection_abc:7,service_descriptor:7,service_lifetime_enum:7,service_provid:7,service_provider_abc:7,spinner_thread:3,startup_abc:1,string:12,submodul:4,time:11,time_format_set:11,time_format_settings_names_enum:11,util:12}}) \ No newline at end of file +Search.setIndex({docnames:["cpl","cpl.application","cpl.configuration","cpl.console","cpl.database","cpl.database.connection","cpl.database.context","cpl.dependency_injection","cpl.environment","cpl.logging","cpl.mailing","cpl.time","cpl.utils","index","modules"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["cpl.rst","cpl.application.rst","cpl.configuration.rst","cpl.console.rst","cpl.database.rst","cpl.database.connection.rst","cpl.database.context.rst","cpl.dependency_injection.rst","cpl.environment.rst","cpl.logging.rst","cpl.mailing.rst","cpl.time.rst","cpl.utils.rst","index.rst","modules.rst"],objects:{"cpl.application":{application_abc:[1,0,0,"-"],application_builder:[1,0,0,"-"],application_builder_abc:[1,0,0,"-"],startup_abc:[1,0,0,"-"]},"cpl.application.application_abc":{ApplicationABC:[1,1,1,""]},"cpl.application.application_abc.ApplicationABC":{configure:[1,2,1,""],main:[1,2,1,""],run:[1,2,1,""]},"cpl.application.application_builder":{ApplicationBuilder:[1,1,1,""]},"cpl.application.application_builder.ApplicationBuilder":{build:[1,2,1,""],use_startup:[1,2,1,""]},"cpl.application.application_builder_abc":{ApplicationBuilderABC:[1,1,1,""]},"cpl.application.application_builder_abc.ApplicationBuilderABC":{build:[1,2,1,""],use_startup:[1,2,1,""]},"cpl.application.startup_abc":{StartupABC:[1,1,1,""]},"cpl.application.startup_abc.StartupABC":{configure_configuration:[1,2,1,""],configure_services:[1,2,1,""]},"cpl.configuration":{configuration:[2,0,0,"-"],configuration_abc:[2,0,0,"-"],configuration_model_abc:[2,0,0,"-"],configuration_variable_name_enum:[2,0,0,"-"],console_argument:[2,0,0,"-"]},"cpl.configuration.configuration":{Configuration:[2,1,1,""]},"cpl.configuration.configuration.Configuration":{add_configuration:[2,2,1,""],add_console_argument:[2,2,1,""],add_console_arguments:[2,2,1,""],add_environment_variables:[2,2,1,""],add_json_file:[2,2,1,""],additional_arguments:[2,2,1,""],argument_error_function:[2,2,1,""],environment:[2,2,1,""],get_configuration:[2,2,1,""]},"cpl.configuration.configuration_abc":{ConfigurationABC:[2,1,1,""]},"cpl.configuration.configuration_abc.ConfigurationABC":{add_configuration:[2,2,1,""],add_console_argument:[2,2,1,""],add_console_arguments:[2,2,1,""],add_environment_variables:[2,2,1,""],add_json_file:[2,2,1,""],additional_arguments:[2,2,1,""],argument_error_function:[2,2,1,""],environment:[2,2,1,""],get_configuration:[2,2,1,""]},"cpl.configuration.configuration_model_abc":{ConfigurationModelABC:[2,1,1,""]},"cpl.configuration.configuration_model_abc.ConfigurationModelABC":{from_dict:[2,2,1,""]},"cpl.configuration.configuration_variable_name_enum":{ConfigurationVariableNameEnum:[2,1,1,""]},"cpl.configuration.configuration_variable_name_enum.ConfigurationVariableNameEnum":{customer:[2,3,1,""],environment:[2,3,1,""],name:[2,3,1,""],to_list:[2,2,1,""]},"cpl.configuration.console_argument":{ConsoleArgument:[2,1,1,""]},"cpl.configuration.console_argument.ConsoleArgument":{aliases:[2,2,1,""],console_arguments:[2,2,1,""],is_value_token_optional:[2,2,1,""],name:[2,2,1,""],token:[2,2,1,""],value_token:[2,2,1,""]},"cpl.console":{background_color_enum:[3,0,0,"-"],console:[3,0,0,"-"],console_call:[3,0,0,"-"],foreground_color_enum:[3,0,0,"-"],spinner_thread:[3,0,0,"-"]},"cpl.console.background_color_enum":{BackgroundColorEnum:[3,1,1,""]},"cpl.console.background_color_enum.BackgroundColorEnum":{"default":[3,3,1,""],blue:[3,3,1,""],cyan:[3,3,1,""],green:[3,3,1,""],grey:[3,3,1,""],magenta:[3,3,1,""],red:[3,3,1,""],white:[3,3,1,""],yellow:[3,3,1,""]},"cpl.console.console":{Console:[3,1,1,""]},"cpl.console.console.Console":{background_color:[3,3,1,""],banner:[3,2,1,""],clear:[3,2,1,""],close:[3,2,1,""],color_reset:[3,2,1,""],disable:[3,2,1,""],enable:[3,2,1,""],error:[3,2,1,""],foreground_color:[3,3,1,""],read:[3,2,1,""],read_line:[3,2,1,""],reset_cursor_position:[3,2,1,""],select:[3,2,1,""],set_background_color:[3,2,1,""],set_cursor_position:[3,2,1,""],set_foreground_color:[3,2,1,""],set_hold_back:[3,2,1,""],spinner:[3,2,1,""],table:[3,2,1,""],write:[3,2,1,""],write_at:[3,2,1,""],write_line:[3,2,1,""],write_line_at:[3,2,1,""]},"cpl.console.console_call":{ConsoleCall:[3,1,1,""]},"cpl.console.console_call.ConsoleCall":{"function":[3,2,1,""],args:[3,2,1,""]},"cpl.console.foreground_color_enum":{ForegroundColorEnum:[3,1,1,""]},"cpl.console.foreground_color_enum.ForegroundColorEnum":{"default":[3,3,1,""],blue:[3,3,1,""],cyan:[3,3,1,""],green:[3,3,1,""],grey:[3,3,1,""],magenta:[3,3,1,""],red:[3,3,1,""],white:[3,3,1,""],yellow:[3,3,1,""]},"cpl.console.spinner_thread":{SpinnerThread:[3,1,1,""]},"cpl.console.spinner_thread.SpinnerThread":{exit:[3,2,1,""],run:[3,2,1,""],stop_spinning:[3,2,1,""]},"cpl.database":{database_model:[4,0,0,"-"],database_settings:[4,0,0,"-"],database_settings_name_enum:[4,0,0,"-"]},"cpl.database.connection":{database_connection:[5,0,0,"-"],database_connection_abc:[5,0,0,"-"]},"cpl.database.connection.database_connection":{DatabaseConnection:[5,1,1,""]},"cpl.database.connection.database_connection.DatabaseConnection":{connect:[5,2,1,""],engine:[5,2,1,""],session:[5,2,1,""]},"cpl.database.connection.database_connection_abc":{DatabaseConnectionABC:[5,1,1,""]},"cpl.database.connection.database_connection_abc.DatabaseConnectionABC":{connect:[5,2,1,""],engine:[5,2,1,""],session:[5,2,1,""]},"cpl.database.context":{database_context:[6,0,0,"-"],database_context_abc:[6,0,0,"-"]},"cpl.database.context.database_context":{DatabaseContext:[6,1,1,""]},"cpl.database.context.database_context.DatabaseContext":{connect:[6,2,1,""],engine:[6,2,1,""],save_changes:[6,2,1,""],session:[6,2,1,""]},"cpl.database.context.database_context_abc":{DatabaseContextABC:[6,1,1,""]},"cpl.database.context.database_context_abc.DatabaseContextABC":{connect:[6,2,1,""],engine:[6,2,1,""],save_changes:[6,2,1,""],session:[6,2,1,""]},"cpl.database.database_settings":{DatabaseSettings:[4,1,1,""]},"cpl.database.database_settings.DatabaseSettings":{auth_plugin:[4,2,1,""],case_sensitive:[4,2,1,""],connection_string:[4,2,1,""],credentials:[4,2,1,""],echo:[4,2,1,""],encoding:[4,2,1,""],from_dict:[4,2,1,""]},"cpl.database.database_settings_name_enum":{DatabaseSettingsNameEnum:[4,1,1,""]},"cpl.database.database_settings_name_enum.DatabaseSettingsNameEnum":{auth_plugin:[4,3,1,""],case_sensitive:[4,3,1,""],connection_string:[4,3,1,""],credentials:[4,3,1,""],echo:[4,3,1,""],encoding:[4,3,1,""]},"cpl.dependency_injection":{service_collection:[7,0,0,"-"],service_collection_abc:[7,0,0,"-"],service_descriptor:[7,0,0,"-"],service_lifetime_enum:[7,0,0,"-"],service_provider:[7,0,0,"-"],service_provider_abc:[7,0,0,"-"]},"cpl.dependency_injection.service_collection":{ServiceCollection:[7,1,1,""]},"cpl.dependency_injection.service_collection.ServiceCollection":{add_db_context:[7,2,1,""],add_logging:[7,2,1,""],add_scoped:[7,2,1,""],add_singleton:[7,2,1,""],add_transient:[7,2,1,""],build_service_provider:[7,2,1,""]},"cpl.dependency_injection.service_collection_abc":{ServiceCollectionABC:[7,1,1,""]},"cpl.dependency_injection.service_collection_abc.ServiceCollectionABC":{add_db_context:[7,2,1,""],add_logging:[7,2,1,""],add_scoped:[7,2,1,""],add_singleton:[7,2,1,""],add_transient:[7,2,1,""],build_service_provider:[7,2,1,""]},"cpl.dependency_injection.service_descriptor":{ServiceDescriptor:[7,1,1,""]},"cpl.dependency_injection.service_descriptor.ServiceDescriptor":{implementation:[7,2,1,""],lifetime:[7,2,1,""],service_type:[7,2,1,""]},"cpl.dependency_injection.service_lifetime_enum":{ServiceLifetimeEnum:[7,1,1,""]},"cpl.dependency_injection.service_lifetime_enum.ServiceLifetimeEnum":{"transient":[7,3,1,""],scoped:[7,3,1,""],singleton:[7,3,1,""]},"cpl.dependency_injection.service_provider":{ServiceProvider:[7,1,1,""]},"cpl.dependency_injection.service_provider.ServiceProvider":{build_service:[7,2,1,""],get_service:[7,2,1,""]},"cpl.dependency_injection.service_provider_abc":{ServiceProviderABC:[7,1,1,""]},"cpl.dependency_injection.service_provider_abc.ServiceProviderABC":{build_service:[7,2,1,""],get_service:[7,2,1,""]},"cpl.environment":{application_environment:[8,0,0,"-"],application_environment_abc:[8,0,0,"-"],environment_name_enum:[8,0,0,"-"]},"cpl.environment.application_environment":{ApplicationEnvironment:[8,1,1,""]},"cpl.environment.application_environment.ApplicationEnvironment":{application_name:[8,2,1,""],customer:[8,2,1,""],date_time_now:[8,2,1,""],end_time:[8,2,1,""],environment_name:[8,2,1,""],host_name:[8,2,1,""],runtime_directory:[8,2,1,""],set_runtime_directory:[8,2,1,""],set_working_directory:[8,2,1,""],start_time:[8,2,1,""],working_directory:[8,2,1,""]},"cpl.environment.application_environment_abc":{ApplicationEnvironmentABC:[8,1,1,""]},"cpl.environment.application_environment_abc.ApplicationEnvironmentABC":{application_name:[8,2,1,""],customer:[8,2,1,""],date_time_now:[8,2,1,""],end_time:[8,2,1,""],environment_name:[8,2,1,""],host_name:[8,2,1,""],runtime_directory:[8,2,1,""],set_runtime_directory:[8,2,1,""],set_working_directory:[8,2,1,""],start_time:[8,2,1,""],working_directory:[8,2,1,""]},"cpl.environment.environment_name_enum":{EnvironmentNameEnum:[8,1,1,""]},"cpl.environment.environment_name_enum.EnvironmentNameEnum":{development:[8,3,1,""],production:[8,3,1,""],staging:[8,3,1,""],testing:[8,3,1,""]},"cpl.logging":{logger_abc:[9,0,0,"-"],logger_service:[9,0,0,"-"],logging_level_enum:[9,0,0,"-"],logging_settings:[9,0,0,"-"],logging_settings_name_enum:[9,0,0,"-"]},"cpl.logging.logger_abc":{LoggerABC:[9,1,1,""]},"cpl.logging.logger_abc.LoggerABC":{debug:[9,2,1,""],error:[9,2,1,""],fatal:[9,2,1,""],header:[9,2,1,""],info:[9,2,1,""],trace:[9,2,1,""],warn:[9,2,1,""]},"cpl.logging.logger_service":{Logger:[9,1,1,""]},"cpl.logging.logger_service.Logger":{create:[9,2,1,""],debug:[9,2,1,""],error:[9,2,1,""],fatal:[9,2,1,""],header:[9,2,1,""],info:[9,2,1,""],trace:[9,2,1,""],warn:[9,2,1,""]},"cpl.logging.logging_level_enum":{LoggingLevelEnum:[9,1,1,""]},"cpl.logging.logging_level_enum.LoggingLevelEnum":{DEBUG:[9,3,1,""],ERROR:[9,3,1,""],FATAL:[9,3,1,""],INFO:[9,3,1,""],OFF:[9,3,1,""],TRACE:[9,3,1,""],WARN:[9,3,1,""]},"cpl.logging.logging_settings":{LoggingSettings:[9,1,1,""]},"cpl.logging.logging_settings.LoggingSettings":{console:[9,2,1,""],filename:[9,2,1,""],from_dict:[9,2,1,""],level:[9,2,1,""],path:[9,2,1,""]},"cpl.logging.logging_settings_name_enum":{LoggingSettingsNameEnum:[9,1,1,""]},"cpl.logging.logging_settings_name_enum.LoggingSettingsNameEnum":{console_level:[9,3,1,""],file_level:[9,3,1,""],filename:[9,3,1,""],path:[9,3,1,""]},"cpl.mailing":{email:[10,0,0,"-"],email_client_abc:[10,0,0,"-"],email_client_service:[10,0,0,"-"],email_client_settings:[10,0,0,"-"],email_client_settings_name_enum:[10,0,0,"-"]},"cpl.mailing.email":{EMail:[10,1,1,""]},"cpl.mailing.email.EMail":{add_header:[10,2,1,""],add_receiver:[10,2,1,""],body:[10,2,1,""],check_mail:[10,2,1,""],get_content:[10,2,1,""],header:[10,2,1,""],header_list:[10,2,1,""],receiver:[10,2,1,""],receiver_list:[10,2,1,""],subject:[10,2,1,""],transceiver:[10,2,1,""]},"cpl.mailing.email_client_abc":{EMailClientABC:[10,1,1,""]},"cpl.mailing.email_client_abc.EMailClientABC":{connect:[10,2,1,""],send_mail:[10,2,1,""]},"cpl.mailing.email_client_service":{EMailClient:[10,1,1,""]},"cpl.mailing.email_client_service.EMailClient":{connect:[10,2,1,""],create:[10,2,1,""],login:[10,2,1,""],send_mail:[10,2,1,""]},"cpl.mailing.email_client_settings":{EMailClientSettings:[10,1,1,""]},"cpl.mailing.email_client_settings.EMailClientSettings":{credentials:[10,2,1,""],from_dict:[10,2,1,""],host:[10,2,1,""],port:[10,2,1,""],user_name:[10,2,1,""]},"cpl.mailing.email_client_settings_name_enum":{EMailClientSettingsNameEnum:[10,1,1,""]},"cpl.mailing.email_client_settings_name_enum.EMailClientSettingsNameEnum":{credentials:[10,3,1,""],host:[10,3,1,""],port:[10,3,1,""],user_name:[10,3,1,""]},"cpl.time":{time_format_settings:[11,0,0,"-"],time_format_settings_names_enum:[11,0,0,"-"]},"cpl.time.time_format_settings":{TimeFormatSettings:[11,1,1,""]},"cpl.time.time_format_settings.TimeFormatSettings":{date_format:[11,2,1,""],date_time_format:[11,2,1,""],date_time_log_format:[11,2,1,""],from_dict:[11,2,1,""],time_format:[11,2,1,""]},"cpl.time.time_format_settings_names_enum":{TimeFormatSettingsNamesEnum:[11,1,1,""]},"cpl.time.time_format_settings_names_enum.TimeFormatSettingsNamesEnum":{date_format:[11,3,1,""],date_time_format:[11,3,1,""],date_time_log_format:[11,3,1,""],time_format:[11,3,1,""]},"cpl.utils":{credential_manager:[12,0,0,"-"],pip:[12,0,0,"-"],string:[12,0,0,"-"]},"cpl.utils.credential_manager":{CredentialManager:[12,1,1,""]},"cpl.utils.credential_manager.CredentialManager":{build_string:[12,2,1,""],decrypt:[12,2,1,""],encrypt:[12,2,1,""]},"cpl.utils.pip":{Pip:[12,1,1,""]},"cpl.utils.pip.Pip":{get_executable:[12,2,1,""],get_outdated:[12,2,1,""],get_package:[12,2,1,""],install:[12,2,1,""],reset_executable:[12,2,1,""],set_executable:[12,2,1,""],uninstall:[12,2,1,""]},"cpl.utils.string":{String:[12,1,1,""]},"cpl.utils.string.String":{convert_to_camel_case:[12,2,1,""],convert_to_snake_case:[12,2,1,""],first_to_lower:[12,2,1,""],first_to_upper:[12,2,1,""],random_string:[12,2,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:attribute"},terms:{"abstract":[1,2,5,6,7,8,9,10],"byte":12,"case":12,"char":[3,12],"class":[1,2,3,4,5,6,7,8,9,10,11,12],"default":3,"enum":[2,3,4,7,8,9,10,11],"function":[3,12],"int":[3,12],"new":3,"return":[2,3,7,10,12],"static":[2,10,12],"transient":7,"true":2,The:[7,10,13],These:13,Useful:[3,12],abc:[1,2,3,5,6,7,8,9,10],about:13,activ:3,add:[2,7,10],add_configur:2,add_console_argu:2,add_db_context:7,add_environment_vari:2,add_head:10,add_json_fil:2,add_log:7,add_receiv:10,add_scop:7,add_singleton:7,add_transi:7,additional_argu:2,address:10,alias:2,ani:3,app:[1,13],applic:[0,3,8,9,10,13,14],application_abc:[0,14],application_build:[0,14],application_builder_abc:[0,14],application_environ:[0,14],application_environment_abc:[0,9,10,14],application_nam:8,applicationabc:1,applicationbuild:1,applicationbuilderabc:1,applicationenviron:8,applicationenvironmentabc:[8,9,10],appset:1,arg:[1,3,6,12],argument:[2,3],argument_error_funct:2,attribut:[2,4,9,10,11],auth_plugin:4,authplugin:4,back:3,background:3,background_color:3,background_color_enum:[0,14],backgroundcolorenum:3,banner:3,base64:12,base:[1,2,3,4,5,6,7,8,9,10,11,12],befor:3,blue:3,bodi:10,bool:[2,3,10],build:[1,12],build_servic:7,build_service_provid:7,build_str:12,call:[1,3],callabl:[2,3,7],camel:12,can:13,case_sensit:4,casesensit:4,chang:6,charact:3,check:10,check_mail:10,classmethod:[3,12],clear:3,close:3,collect:[2,3,7],color:3,color_reset:3,command:12,common:13,complex:13,config:[1,7],configur:[0,1,4,7,9,10,11,14],configuration_abc:[0,1,7,14],configuration_model_abc:[0,4,9,10,11,14],configuration_variable_name_enum:[0,14],configurationabc:[1,2,7],configurationmodelabc:[2,4,9,10,11],configurationvariablenameenum:2,configure_configur:1,configure_servic:1,connect:[0,4,6,10,14],connection_str:[4,5,6],connectionstr:4,consol:[0,2,9,14],console_argu:[0,14],console_cal:[0,14],console_level:9,consoleargu:2,consolecal:3,consoleloglevel:9,contain:1,context:[0,4,7,14],convert:[2,9,10,11,12],convert_to_camel_cas:12,convert_to_snake_cas:12,coordin:3,core:[5,6],creat:[1,7,9,10,12,13],credenti:[4,10,12],credential_manag:[0,14],credentialmanag:12,current:8,cursor:3,cursor_background_color:3,cursor_foreground_color:3,custom:[1,2,8],cyan:3,databas:[0,7,14],database_connect:[0,4,14],database_connection_abc:[0,4,14],database_context:[0,4,14],database_context_abc:[0,4,7,14],database_model:[0,14],database_set:[0,5,6,7,14],database_settings_name_enum:[0,14],databaseconnect:5,databaseconnectionabc:5,databasecontext:6,databasecontextabc:[6,7],databaseset:[4,5,6,7],databasesettingsnameenum:4,date_format:11,date_time_format:11,date_time_log_format:11,date_time_now:8,dateformat:11,datetimeformat:11,datetimelogformat:11,db_context:7,db_context_typ:7,db_set:7,debug:9,decod:12,decrypt:12,defin:2,dependency_inject:[0,1,14],descriptor:7,desktop:13,detail:13,develop:[8,13],dict:[2,3,4,9,10,11],directori:8,disabl:3,doc:[5,6],echo:4,effici:13,element:3,email:[0,14],email_client_abc:[0,14],email_client_servic:[0,14],email_client_set:[0,14],email_client_settings_name_enum:[0,14],emailcli:10,emailclientabc:10,emailclientset:10,emailclientsettingsnameenum:10,enabl:3,encod:[4,12],encrypt:12,end:[3,9],end_tim:8,engin:[5,6],enterpris:13,entri:[1,3],enumer:[2,3,4,7,8,9,10,11],env:9,environ:[0,2,9,10,14],environment_nam:8,environment_name_enum:[0,14],environmentnameenum:8,error:[2,3,9],everyth:13,except:9,execut:12,exit:3,fatal:9,file:2,file_level:9,fileloglevel:9,filenam:9,first:[12,13],first_to_low:12,first_to_upp:12,foreground:3,foreground_color:3,foreground_color_enum:[0,14],foregroundcolorenum:3,format:[9,11],found:2,from:[1,2,4,13],from_dict:[2,4,9,10,11],get:12,get_configur:2,get_cont:10,get_execut:12,get_outd:12,get_packag:12,get_servic:7,given:[2,3,4,7,12],great:13,green:3,grei:3,handl:[3,12],has:3,header:[3,9,10],header_background_color:3,header_foreground_color:3,header_list:10,help:13,hold:3,host:10,host_nam:8,html:[5,6],http:[5,6],implement:7,info:9,inform:9,input:3,instal:12,instanc:[1,7],instance_typ:7,interact:3,intern:7,invalid:2,is_value_token_opt:2,json:2,key_typ:2,keyword:3,known:2,kwarg:3,last:3,learn:13,length:[3,12],level:9,librari:13,lifetim:7,line:3,list:[2,3,7,10,12],load:1,local:12,log:[0,10,14],logfil:9,logger:[7,9,10],logger_abc:[0,10,14],logger_servic:[0,14],loggerabc:[9,10],logging_level_enum:[0,14],logging_set:[0,14],logging_settings_name_enum:[0,14],logginglevelenum:9,loggingset:9,loggingsettingsnameenum:9,login:10,lower:12,magenta:3,mail:[0,14],mail_set:10,main:1,meant:13,menu:3,messag:[3,9],msg_len:3,name:[2,8,9],next:3,none:[2,3,7,9,10,12],object:[1,2,3,7,10,12],occur:2,off:9,on_blu:3,on_cyan:3,on_default:3,on_green:3,on_grei:3,on_magenta:3,on_r:3,on_whit:3,on_yellow:3,option:[2,3,7,9,10,12],option_background_color:3,option_foreground_color:3,org:[5,6],outdat:12,output:[2,3],packag:[12,13],page:13,param:12,path:[2,8,9],pip:[0,14],place:2,platform:13,point:[1,3],port:10,posit:3,prefix:2,prepar:1,print:3,product:8,program:9,properti:[2,3,4,5,6,7,8,9,10,11],provid:[1,7],python:13,random:12,random_str:12,read:[2,3],read_lin:3,receiv:10,receiver_list:10,red:3,repres:[3,4,8,10],represent:[5,6,7,9,10,11],reset:[3,12],reset_cursor_posit:3,reset_execut:12,result:10,run:[1,3],runtim:8,runtime_directori:8,save:[2,6],save_chang:6,scope:7,search:[2,7],search_typ:2,see:[5,6],select:3,send:10,send_mail:10,server:[10,13],servic:[1,7,9,10],service_collect:[0,14],service_collection_abc:[0,14],service_descriptor:[0,14],service_lifetime_enum:[0,14],service_provid:[0,14],service_provider_abc:[0,1,14],service_typ:7,servicecollect:7,servicecollectionabc:7,servicedescriptor:7,servicelifetimeenum:7,serviceprovid:7,serviceproviderabc:[1,7],session:[5,6],set:[1,2,3,4,7,8,9,10,11,12],set_background_color:3,set_cursor_posit:3,set_execut:12,set_foreground_color:3,set_hold_back:3,set_runtime_directori:8,set_working_directori:8,should:2,show:3,shown:2,simpl:13,singleton:7,snake:12,sourc:12,specifi:2,spinner:3,spinner_background_color:3,spinner_foreground_color:3,spinner_thread:[0,14],spinnerthread:3,sqlalchemi:[5,6],stage:8,standard:12,start_tim:8,startup:1,startup_abc:[0,14],startupabc:1,stderr:12,stdout:12,stop:3,stop_spin:3,store:2,str:[2,3,5,6,8,9,10,12],string:[0,3,5,6,9,10,14],subject:10,submodul:[0,14],system:12,tabl:[3,12],take:2,termin:3,test:8,text:3,text_background_color:3,text_foreground_color:3,thi:[1,13],thread:3,thrown:9,time:[0,9,14],time_format:[9,11],time_format_set:[0,9,14],time_format_settings_names_enum:[0,14],timeformat:11,timeformatset:[9,11],timeformatsettingsnamesenum:11,to_list:2,token:2,trace:9,traceback:3,transceiv:10,tree:9,type:[1,2,7],understand:13,uninstal:12,union:[2,3,7],upper:12,use:[1,10,13],use_startup:1,used:1,user_nam:10,usernam:10,util:[0,14],valid:10,valu:[2,3,4,7,8,9,10,11],value_token:2,variabl:2,warn:9,when:3,whether:2,which:[2,3],white:3,work:8,working_directori:8,write:[3,9],write_at:3,write_lin:3,write_line_at:3,yellow:3,you:13,your:13},titles:["CPL","cpl.application","cpl.configuration","cpl.console","cpl.database","cpl.database.connection","cpl.database.context","cpl.dependency_injection","cpl.environment","cpl.logging","cpl.mailing","cpl.time","cpl.utils","Introduction to the CPL Docs","cpl"],titleterms:{applic:1,application_abc:1,application_build:1,application_builder_abc:1,application_environ:8,application_environment_abc:8,background_color_enum:3,configur:2,configuration_abc:2,configuration_model_abc:2,configuration_variable_name_enum:2,connect:5,consol:3,console_argu:2,console_cal:3,context:6,cpl:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],credential_manag:12,databas:[4,5,6],database_connect:5,database_connection_abc:5,database_context:6,database_context_abc:6,database_model:4,database_set:4,database_settings_name_enum:4,dependency_inject:7,doc:13,email:10,email_client_abc:10,email_client_servic:10,email_client_set:10,email_client_settings_name_enum:10,environ:8,environment_name_enum:8,foreground_color_enum:3,introduct:13,log:9,logger_abc:9,logger_servic:9,logging_level_enum:9,logging_set:9,logging_settings_name_enum:9,mail:10,manual:13,pip:12,service_collect:7,service_collection_abc:7,service_descriptor:7,service_lifetime_enum:7,service_provid:7,service_provider_abc:7,spinner_thread:3,startup_abc:1,string:12,submodul:4,time:11,time_format_set:11,time_format_settings_names_enum:11,util:12}}) \ No newline at end of file

1=0k^9(^AL3AvU))Zo-R}p|?l$^oU-b4w{5^1fW_L3Fntp zsrTVaqIVZ8joJmh%MHc!AsypiFdP)Wa`<-yAMjg)UBv;fQg$4VU_9%^xXgewGI0P7 z25;))1(wO%F*yK!5FS({0c=iX}T+z1UHGf@LQ8#l_r3i)Kt7cy~_2?Esee^ RC4MrTkvv1MOSoE7{vQL}0geCw diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 40ea60827d8b170d9d3f851502320855c27f7ba9..4ad70fc3b756c07c263b1409e28505e81e137bbd 100644 GIT binary patch delta 6994 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 ZT|+v!TAD-AkJ)(+jgU}gdJJ1?|1S}CRUQBU delta 7062 zcmZu#cUY9i*7s;&LCP*`p@{;EfI=uD*cCM-Ml2}CXs}R3*_UlB%NmoYc#Q=`g$#PI zgHbeAbXDvnmTN=>W1>c5L=7gn>A5%MNuv4AJF~lp&-V|%Ic3f{bIQ!Sls75Ln-sNw zb&2rIG3jDvWLdJZvkG%7O5J4AqSe#VLtf?>4TVNsZUsvo>^rp7U1k+ow7SBIQl-4k zHCVM~qd}i*uvC;P^u`%Qx?GaEXbm%R-?ZywnM^uuPL@S$G_X@aLF#t2(QaLzrPXN- zvsiFYmtgKrXPh;Q7!{>HcIPv-vx>}oudO-gbldrbZQHbYW$5k5EhXm)L!|;I^{M}E zX||KP-*&E)@1%Z8$&j>8>c0&Oq#`Hvx96{t&Ot469r34Rc2d3v4U)l0h2H*9vW|C> zQH$~*Q9&sMyx1c#1+Uk{rdj zq%iUs&(9wd@5x-FHp4&`93McdK+N0@F3j93oZXC?ppYx+*fJq%+%sFoJm;c&O#lDS z$Rj%A#^?anD>~7h3%MQaxqtyIOB2N&$Ef8x(e^A&B1~sxy`orAQnZ|1)~n~)mg4!IGxy}>B6SQx+!B!b1KSs)5*CEW)H&r zSyh<(b9E#SZA-(rP}?hpQe|y9H-yT3*FuX~9<0B54`7SKT2+8zRWfCwAA6b*%VTYh zjiC5so{B9?5HVSMzsMST%e^4?xHF}F!l5gJq(Ih?=)&#Nx!+5Q<44~nn@I9ysy-f0 zv)olur*>J{Ijo>p1pBt9(5dRvkxa`2<1qbvnz4_FzaP3$E(O_R#t)>Gasune`t!j{QY8 z_72rDAn#A=da@bAe&bh~G@xCZHvBr1UXxeyRVL-gD|r^B0(m7*m^5Er$&(?ikXLfU zOY7y8+^5n9@=Ct4q&j&ew}o^;UddIIZpbS+>CyvvCErlekL_Ndzb1BXcvs5I-@`+I zHC6jC)BX-@Xvzst`1*MMzBGk6x38%y&ZDJ!|uz7R6 zY(pm96Wo|L8pJ|5r3BdbrAA7(j&)3Tj3SgB} zjl4m#R^+pvrVF1xt;hi))a=?AFE*uIV_Usy2WQyEmQ(d)$-1|_Y=hZ+VBYhM)YLjw zyin{tv3e*Fp|&aUeZF8{&GcejP-$zbTrDI^)=_Y>%7_gY#G>1#6~InbSZE|>u_tSU zrCn8tK!n=%OZ8T<*ztaySQKnKDHh4wZ}J6C{^;#NSbLW)gxUfho8f~|!1D5pG+A1< z$|y`8-bL-W%BZ&a@1fGtg3T-N!lgRsZtJmcDzK0_Mw&if=D9ze>E`;_O#3r|7HT$P zgO}~c1I3)MEjakDSoj{E4eZ!XBTedDrr0BVY&t?CqS&Km*N@hN$+q#>mo8J}kCIg2 z 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 iKAaJ)q%qG)2ey)?v`Fadd_db_context(db_context_type: Type[cpl.database.context.database_context_abc.DatabaseContextABC], db_settings: cpl.database.database_settings.DatabaseSettings)