diff --git a/docs/build/doctrees/cli.remove.doctree b/docs/build/doctrees/cli.remove.doctree
index a4033447..d899e973 100644
Binary files a/docs/build/doctrees/cli.remove.doctree and b/docs/build/doctrees/cli.remove.doctree differ
diff --git a/docs/build/doctrees/cpl_query.doctree b/docs/build/doctrees/cpl_query.doctree
new file mode 100644
index 00000000..83106a74
Binary files /dev/null and b/docs/build/doctrees/cpl_query.doctree differ
diff --git a/docs/build/doctrees/cpl_query.exceptions.doctree b/docs/build/doctrees/cpl_query.exceptions.doctree
new file mode 100644
index 00000000..d7fac14d
Binary files /dev/null and b/docs/build/doctrees/cpl_query.exceptions.doctree differ
diff --git a/docs/build/doctrees/cpl_query.extension.doctree b/docs/build/doctrees/cpl_query.extension.doctree
new file mode 100644
index 00000000..9932aa3d
Binary files /dev/null and b/docs/build/doctrees/cpl_query.extension.doctree differ
diff --git a/docs/build/doctrees/cpl_query.tests.doctree b/docs/build/doctrees/cpl_query.tests.doctree
new file mode 100644
index 00000000..1c8943d6
Binary files /dev/null and b/docs/build/doctrees/cpl_query.tests.doctree differ
diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle
index f1a26533..9d7cbcb2 100644
Binary files a/docs/build/doctrees/environment.pickle and b/docs/build/doctrees/environment.pickle differ
diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree
index 6c7f2e7b..e8ce2a60 100644
Binary files a/docs/build/doctrees/index.doctree and b/docs/build/doctrees/index.doctree differ
diff --git a/docs/build/doctrees/introduction.doctree b/docs/build/doctrees/introduction.doctree
index 14267783..9e5713f7 100644
Binary files a/docs/build/doctrees/introduction.doctree and b/docs/build/doctrees/introduction.doctree differ
diff --git a/docs/build/doctrees/modules.doctree b/docs/build/doctrees/modules.doctree
index 1dad1a49..bba72622 100644
Binary files a/docs/build/doctrees/modules.doctree and b/docs/build/doctrees/modules.doctree differ
diff --git a/docs/build/html/_sources/cli.remove.md.txt b/docs/build/html/_sources/cli.remove.md.txt
index 2ea71b90..dab91804 100644
--- a/docs/build/html/_sources/cli.remove.md.txt
+++ b/docs/build/html/_sources/cli.remove.md.txt
@@ -13,12 +13,9 @@ cpl **R** *<project>*
## Description
-The command can be used to publish a project of type "console" or "library".
+Removes a project reference and the files from workspace.
-The publish command builds the source files and then creates an ```setup.py``` with data from ```cpl_core.json```.
-The command executes the ```setup.py``` and removes all source files with the ```setup.py``` from the 'publish/' directory.
-
-Generated files of ```setup.py``` are in the 'publish/setup/' directory.
+If you call the command in a CPL workspace, you can use the project names. Otherwise the paths of the projects must be specified.
## Arguments
diff --git a/docs/build/html/_sources/cpl_query.exceptions.rst.txt b/docs/build/html/_sources/cpl_query.exceptions.rst.txt
new file mode 100644
index 00000000..d492c637
--- /dev/null
+++ b/docs/build/html/_sources/cpl_query.exceptions.rst.txt
@@ -0,0 +1,10 @@
+cpl_query.exceptions
+=================================
+
+cpl_query.exceptions
+----------------------------------------------------
+
+.. automodule:: cpl_query.exceptions
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/build/html/_sources/cpl_query.extension.rst.txt b/docs/build/html/_sources/cpl_query.extension.rst.txt
new file mode 100644
index 00000000..3f995913
--- /dev/null
+++ b/docs/build/html/_sources/cpl_query.extension.rst.txt
@@ -0,0 +1,26 @@
+cpl_query.extension
+=================================
+
+cpl_query.extension.iterable_abc
+----------------------------------------------------
+
+.. automodule:: cpl_query.extension.iterable_abc
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+cpl_query.extension.list
+----------------------------------------------------
+
+.. automodule:: cpl_query.extension.list
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+cpl_query.extension.ordered_iterable_abc
+----------------------------------------------------
+
+.. automodule:: cpl_query.extension.ordered_iterable_abc
+ :members:
+ :undoc-members:
+ :show-inheritance:
\ No newline at end of file
diff --git a/docs/build/html/_sources/cpl_query.rst.txt b/docs/build/html/_sources/cpl_query.rst.txt
new file mode 100644
index 00000000..10d6f0d8
--- /dev/null
+++ b/docs/build/html/_sources/cpl_query.rst.txt
@@ -0,0 +1,8 @@
+Query Reference
+===========
+
+.. toctree::
+ :maxdepth: 4
+
+ cpl_query.extension
+ cpl_query.exceptions
diff --git a/docs/build/html/_sources/cpl_query.tests.rst.txt b/docs/build/html/_sources/cpl_query.tests.rst.txt
new file mode 100644
index 00000000..ca15d156
--- /dev/null
+++ b/docs/build/html/_sources/cpl_query.tests.rst.txt
@@ -0,0 +1,45 @@
+cpl\_query.tests package
+========================
+
+Submodules
+----------
+
+cpl\_query.tests.iterable\_test module
+--------------------------------------
+
+.. automodule:: cpl_query.tests.iterable_test
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+cpl\_query.tests.models module
+------------------------------
+
+.. automodule:: cpl_query.tests.models
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+cpl\_query.tests.query\_test module
+-----------------------------------
+
+.. automodule:: cpl_query.tests.query_test
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+cpl\_query.tests.tester module
+------------------------------
+
+.. automodule:: cpl_query.tests.tester
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Module contents
+---------------
+
+.. automodule:: cpl_query.tests
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/build/html/_sources/introduction.md.txt b/docs/build/html/_sources/introduction.md.txt
index eb36b40f..9e43037c 100644
--- a/docs/build/html/_sources/introduction.md.txt
+++ b/docs/build/html/_sources/introduction.md.txt
@@ -8,5 +8,6 @@ This CPL docs help you learn, understand and use the package. From your first ap
- [Getting started](quickstart)
- [Setup](setup)
-- [API Reference](cpl)
+- [API Reference](cpl_core)
- [CLI Reference](cli.overview)
+- [Query Reference](cpl_query)
diff --git a/docs/build/html/cli.add.html b/docs/build/html/cli.add.html
index de071367..036bd9eb 100644
--- a/docs/build/html/cli.add.html
+++ b/docs/build/html/cli.add.html
@@ -109,6 +109,7 @@
Arguments
diff --git a/docs/build/html/cli.start.html b/docs/build/html/cli.start.html
index a6fdacc9..150f9c70 100644
--- a/docs/build/html/cli.start.html
+++ b/docs/build/html/cli.start.html
@@ -104,6 +104,7 @@
API Reference
+
Query Reference
diff --git a/docs/build/html/cli.uninstall.html b/docs/build/html/cli.uninstall.html
index 98213b51..b0511681 100644
--- a/docs/build/html/cli.uninstall.html
+++ b/docs/build/html/cli.uninstall.html
@@ -109,6 +109,7 @@
API Reference
+
Query Reference
diff --git a/docs/build/html/cli.update.html b/docs/build/html/cli.update.html
index 67bfee35..46b94ee4 100644
--- a/docs/build/html/cli.update.html
+++ b/docs/build/html/cli.update.html
@@ -104,6 +104,7 @@
API Reference
+
Query Reference
diff --git a/docs/build/html/cli.version.html b/docs/build/html/cli.version.html
index 69bb097a..7ec1f234 100644
--- a/docs/build/html/cli.version.html
+++ b/docs/build/html/cli.version.html
@@ -104,6 +104,7 @@
API Reference
+
Query Reference
diff --git a/docs/build/html/contributing.html b/docs/build/html/contributing.html
index 57b85806..b642585f 100644
--- a/docs/build/html/contributing.html
+++ b/docs/build/html/contributing.html
@@ -87,6 +87,7 @@
Getting started
CLI Reference
API Reference
+
Query Reference
diff --git a/docs/build/html/cpl_cli.html b/docs/build/html/cpl_cli.html
index f91b025f..0d2fadfa 100644
--- a/docs/build/html/cpl_cli.html
+++ b/docs/build/html/cpl_cli.html
@@ -104,6 +104,7 @@
API Reference
+
Query Reference
diff --git a/docs/build/html/cpl_core.application.html b/docs/build/html/cpl_core.application.html
index d436f440..2e85f6a2 100644
--- a/docs/build/html/cpl_core.application.html
+++ b/docs/build/html/cpl_core.application.html
@@ -107,6 +107,7 @@
cpl_core.utils
+
Query Reference
diff --git a/docs/build/html/cpl_core.configuration.html b/docs/build/html/cpl_core.configuration.html
index 4c982e23..e6cbefbb 100644
--- a/docs/build/html/cpl_core.configuration.html
+++ b/docs/build/html/cpl_core.configuration.html
@@ -108,6 +108,7 @@
cpl_core.utils
+
Query Reference
diff --git a/docs/build/html/cpl_core.console.html b/docs/build/html/cpl_core.console.html
index 3aaef613..6b0fd936 100644
--- a/docs/build/html/cpl_core.console.html
+++ b/docs/build/html/cpl_core.console.html
@@ -108,6 +108,7 @@
cpl_core.utils
+
Query Reference
diff --git a/docs/build/html/cpl_core.database.connection.html b/docs/build/html/cpl_core.database.connection.html
index 45ffbb29..1c838486 100644
--- a/docs/build/html/cpl_core.database.connection.html
+++ b/docs/build/html/cpl_core.database.connection.html
@@ -113,6 +113,7 @@
cpl_core.utils
+
Query Reference
diff --git a/docs/build/html/cpl_core.database.context.html b/docs/build/html/cpl_core.database.context.html
index b8ed72d7..be9f2afe 100644
--- a/docs/build/html/cpl_core.database.context.html
+++ b/docs/build/html/cpl_core.database.context.html
@@ -113,6 +113,7 @@
cpl_core.utils
+
Query Reference
diff --git a/docs/build/html/cpl_core.database.html b/docs/build/html/cpl_core.database.html
index 7e107d2b..ffd7dd14 100644
--- a/docs/build/html/cpl_core.database.html
+++ b/docs/build/html/cpl_core.database.html
@@ -109,6 +109,7 @@
cpl_core.utils
+
Query Reference
diff --git a/docs/build/html/cpl_core.dependency_injection.html b/docs/build/html/cpl_core.dependency_injection.html
index a82c87aa..2ec50e27 100644
--- a/docs/build/html/cpl_core.dependency_injection.html
+++ b/docs/build/html/cpl_core.dependency_injection.html
@@ -109,6 +109,7 @@
cpl_core.utils
+
Query Reference
diff --git a/docs/build/html/cpl_core.environment.html b/docs/build/html/cpl_core.environment.html
index d5c8d66d..7c1884ae 100644
--- a/docs/build/html/cpl_core.environment.html
+++ b/docs/build/html/cpl_core.environment.html
@@ -106,6 +106,7 @@
cpl_core.utils
+
Query Reference
diff --git a/docs/build/html/cpl_core.html b/docs/build/html/cpl_core.html
index 1f19bc67..8ff861fa 100644
--- a/docs/build/html/cpl_core.html
+++ b/docs/build/html/cpl_core.html
@@ -101,6 +101,7 @@
cpl_core.utils
+
Query Reference
diff --git a/docs/build/html/cpl_core.logging.html b/docs/build/html/cpl_core.logging.html
index 7b7fcc03..4bc4fc20 100644
--- a/docs/build/html/cpl_core.logging.html
+++ b/docs/build/html/cpl_core.logging.html
@@ -108,6 +108,7 @@
cpl_core.utils
+
Query Reference
diff --git a/docs/build/html/cpl_core.mailing.html b/docs/build/html/cpl_core.mailing.html
index 830dd703..ee7fee75 100644
--- a/docs/build/html/cpl_core.mailing.html
+++ b/docs/build/html/cpl_core.mailing.html
@@ -108,6 +108,7 @@
cpl_core.utils
+
Query Reference
diff --git a/docs/build/html/cpl_core.time.html b/docs/build/html/cpl_core.time.html
index a919e9ef..00138024 100644
--- a/docs/build/html/cpl_core.time.html
+++ b/docs/build/html/cpl_core.time.html
@@ -105,6 +105,7 @@
cpl_core.utils
+
Query Reference
diff --git a/docs/build/html/cpl_core.utils.html b/docs/build/html/cpl_core.utils.html
index c7d0ed16..fd40df45 100644
--- a/docs/build/html/cpl_core.utils.html
+++ b/docs/build/html/cpl_core.utils.html
@@ -38,6 +38,7 @@
+
@@ -105,6 +106,7 @@
+
Query Reference
@@ -410,6 +412,7 @@
diff --git a/docs/build/html/cpl_query.exceptions.html b/docs/build/html/cpl_query.exceptions.html
new file mode 100644
index 00000000..9e2ba4af
--- /dev/null
+++ b/docs/build/html/cpl_query.exceptions.html
@@ -0,0 +1,279 @@
+
+
+
+
+
+
+
+
+
+ cpl_query.exceptions — Common Python Library documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Common Python Library
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
cpl_query.exceptions
+
+
cpl_query.exceptions
+
+
+exception cpl_query.exceptions.
ArgumentNoneException
( arg : cpl_query.exceptions.ExceptionArgument )
+Bases: Exception
+Exception when argument is None
+
+
+
+
+class cpl_query.exceptions.
ExceptionArgument
( value )
+Bases: enum.Enum
+An enumeration.
+
+
+func
= 'func'
+
+
+
+
+index
= 'index'
+
+
+
+
+list
= 'list'
+
+
+
+
+type
= 'type'
+
+
+
+
+value
= 'value'
+
+
+
+
+
+
+exception cpl_query.exceptions.
IndexOutOfRangeException
+Bases: Exception
+
+
+
+
+exception cpl_query.exceptions.
InvalidTypeException
+Bases: Exception
+
+
+
+
+exception cpl_query.exceptions.
WrongTypeException
+Bases: Exception
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/build/html/cpl_query.extension.html b/docs/build/html/cpl_query.extension.html
new file mode 100644
index 00000000..d86b30b5
--- /dev/null
+++ b/docs/build/html/cpl_query.extension.html
@@ -0,0 +1,428 @@
+
+
+
+
+
+
+
+
+
+ cpl_query.extension — Common Python Library documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Common Python Library
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
cpl_query.extension
+
+
cpl_query.extension.iterable_abc
+
+
+class cpl_query.extension.iterable_abc.
IterableABC
( t : Optional [ type ] = None , values : Optional [ list ] = None )
+Bases: abc.ABC
, list
+
+
+abstract all
( func : Callable ) → bool
+
+
+
+
+abstract any
( func : Callable ) → bool
+
+
+
+
+append
( _IterableABC__object : object ) → None
+Append object to the end of the list.
+
+
+
+
+abstract average
( func : Optional [ Callable ] = None ) → Union [ int , float , complex ]
+
+
+
+
+abstract contains
( value : object ) → bool
+
+
+
+
+abstract count
( func : Callable ) → int
+Return number of occurrences of value.
+
+
+
+
+abstract distinct
( func : Callable ) → cpl_query.extension.iterable_abc.IterableABC
+
+
+
+
+abstract element_at
( index : int ) → cpl_query.extension.iterable_abc.IterableABC.any
+
+
+
+
+abstract element_at_or_default
( index : int ) → Optional [ cpl_query.extension.iterable_abc.IterableABC.any ]
+
+
+
+
+extend
( _IterableABC__iterable : Iterable ) → None
+Extend list by appending elements from the iterable.
+
+
+
+
+abstract first
( ) → cpl_query.extension.iterable_abc.IterableABC.any
+
+
+
+
+abstract first_or_default
( ) → cpl_query.extension.iterable_abc.IterableABC.any
+
+
+
+
+abstract for_each
( func : Callable ) → Union [ int , float , complex ]
+
+
+
+
+abstract last
( ) → cpl_query.extension.iterable_abc.IterableABC.any
+
+
+
+
+abstract last_or_default
( ) → cpl_query.extension.iterable_abc.IterableABC.any
+
+
+
+
+abstract max
( func : Optional [ Callable ] = None ) → Union [ int , float , complex ]
+
+
+
+
+abstract min
( func : Optional [ Callable ] = None ) → Union [ int , float , complex ]
+
+
+
+
+abstract order_by
( func : Callable ) → cpl_query.extension.iterable_abc.IterableABC
+
+
+
+
+abstract order_by_descending
( func : Callable ) → cpl_query.extension.iterable_abc.IterableABC
+
+
+
+
+abstract reverse
( ) → cpl_query.extension.iterable_abc.IterableABC
+Reverse IN PLACE .
+
+
+
+
+abstract single
( ) → cpl_query.extension.iterable_abc.IterableABC.any
+
+
+
+
+abstract single_or_default
( ) → Optional [ cpl_query.extension.iterable_abc.IterableABC.any ]
+
+
+
+
+abstract skip
( index : int ) → cpl_query.extension.iterable_abc.IterableABC
+
+
+
+
+abstract skip_last
( index : int ) → cpl_query.extension.iterable_abc.IterableABC
+
+
+
+
+abstract sum
( func : Optional [ Callable ] = None ) → Union [ int , float , complex ]
+
+
+
+
+abstract take
( index : int ) → cpl_query.extension.iterable_abc.IterableABC
+
+
+
+
+abstract take_last
( index : int ) → cpl_query.extension.iterable_abc.IterableABC
+
+
+
+
+to_list
( ) → list
+
+
+
+
+property type
+
+
+
+
+abstract where
( func : Callable ) → cpl_query.extension.iterable_abc.IterableABC
+
+
+
+
+
+
+
cpl_query.extension.list
+
+
+class cpl_query.extension.list.
List
( t : Optional [ type ] = None , values : Optional [ list ] = None )
+Bases: cpl_query._extension.iterable.Iterable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/build/html/cpl_query.html b/docs/build/html/cpl_query.html
new file mode 100644
index 00000000..e216dbc4
--- /dev/null
+++ b/docs/build/html/cpl_query.html
@@ -0,0 +1,230 @@
+
+
+
+
+
+
+
+
+
+ Query Reference — Common Python Library documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Common Python Library
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/build/html/cpl_query.tests.html b/docs/build/html/cpl_query.tests.html
new file mode 100644
index 00000000..3b8bdb88
--- /dev/null
+++ b/docs/build/html/cpl_query.tests.html
@@ -0,0 +1,421 @@
+
+
+
+
+
+
+
+
+
+ cpl_query.tests package — Common Python Library documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Common Python Library
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
cpl_query.tests package
+
+
Submodules
+
+
+
cpl_query.tests.iterable_test module
+
+
+class cpl_query.tests.iterable_test.
IterableTest
( methodName = 'runTest' )
+Bases: unittest.case.TestCase
+
+
+setUp
( ) → None
+Hook method for setting up the test fixture before exercising it.
+
+
+
+
+test_append
( )
+
+
+
+
+
+
+
cpl_query.tests.models module
+
+
+class cpl_query.tests.models.
Address
( street , nr )
+Bases: object
+
+
+
+
+class cpl_query.tests.models.
User
( name , address )
+Bases: object
+
+
+
+
+
cpl_query.tests.query_test module
+
+
+class cpl_query.tests.query_test.
QueryTest
( methodName = 'runTest' )
+Bases: unittest.case.TestCase
+
+
+setUp
( ) → None
+Hook method for setting up the test fixture before exercising it.
+
+
+
+
+test_all
( )
+
+
+
+
+test_any
( )
+
+
+
+
+test_avg
( )
+
+
+
+
+test_contains
( )
+
+
+
+
+test_count
( )
+
+
+
+
+test_distinct
( )
+
+
+
+
+test_element_at
( )
+
+
+
+
+test_element_at_or_default
( )
+
+
+
+
+test_first
( )
+
+
+
+
+test_first_or_default
( )
+
+
+
+
+test_for_each
( )
+
+
+
+
+test_last
( )
+
+
+
+
+test_last_or_default
( )
+
+
+
+
+test_max
( )
+
+
+
+
+test_min
( )
+
+
+
+
+test_order_by
( )
+
+
+
+
+test_order_by_descending
( )
+
+
+
+
+test_reverse
( )
+
+
+
+
+test_single
( )
+
+
+
+
+test_single_or_default
( )
+
+
+
+
+test_skip
( )
+
+
+
+
+test_skip_last
( )
+
+
+
+
+test_sum
( )
+
+
+
+
+test_take
( )
+
+
+
+
+test_take_last
( )
+
+
+
+
+test_then_by
( )
+
+
+
+
+test_then_by_descending
( )
+
+
+
+
+test_where
( )
+
+
+
+
+
+
+
cpl_query.tests.tester module
+
+
+class cpl_query.tests.tester.
Tester
+Bases: object
+
+
+create
( )
+
+
+
+
+start
( )
+
+
+
+
+
+
+
Module contents
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html
index c9517d7e..f7baef2d 100644
--- a/docs/build/html/genindex.html
+++ b/docs/build/html/genindex.html
@@ -87,6 +87,7 @@
Getting started
CLI Reference
API Reference
+Query Reference
@@ -170,6 +171,7 @@
| N
| O
| P
+ | Q
| R
| S
| T
@@ -234,8 +236,6 @@
(cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC method)
-
-
+
+ ArgumentNoneException
+
auth_plugin (cpl_core.database.database_settings_name_enum.DatabaseSettingsNameEnum attribute)
auth_plugin() (cpl_core.database.database_settings.DatabaseSettings property)
+
+ average() (cpl_query.extension.iterable_abc.IterableABC method)
@@ -387,10 +401,14 @@
ConsoleArgument (class in cpl_core.configuration.console_argument)
ConsoleCall (class in cpl_core.console.console_call)
+
+ contains() (cpl_query.extension.iterable_abc.IterableABC method)
convert_to_camel_case() (cpl_core.utils.string.String static method)
convert_to_snake_case() (cpl_core.utils.string.String static method)
+
+ count() (cpl_query.extension.iterable_abc.IterableABC method)
cpl_core.application.application_abc
@@ -518,8 +536,6 @@
module
-
-
cpl_core.database.database_model
@@ -555,6 +571,8 @@
module
+
+
@@ -810,6 +895,10 @@
echo (cpl_core.database.database_settings_name_enum.DatabaseSettingsNameEnum attribute)
echo() (cpl_core.database.database_settings.DatabaseSettings property)
+
+ element_at() (cpl_query.extension.iterable_abc.IterableABC method)
+
+ element_at_or_default() (cpl_query.extension.iterable_abc.IterableABC method)
EMail (class in cpl_core.mailing.email)
@@ -873,7 +962,11 @@
(cpl_core.logging.logger_service.Logger method)
+ ExceptionArgument (class in cpl_query.exceptions)
+
exit() (cpl_core.console.spinner_thread.SpinnerThread method)
+
+ extend() (cpl_query.extension.iterable_abc.IterableABC method)
@@ -894,6 +987,10 @@
filename (cpl_core.logging.logging_settings_name_enum.LoggingSettingsNameEnum attribute)
filename() (cpl_core.logging.logging_settings.LoggingSettings property)
+
+ first() (cpl_query.extension.iterable_abc.IterableABC method)
+
+ first_or_default() (cpl_query.extension.iterable_abc.IterableABC method)
first_to_lower() (cpl_core.utils.string.String static method)
@@ -901,6 +998,8 @@
+ func (cpl_query.exceptions.ExceptionArgument attribute)
+
function() (cpl_core.console.console_call.ConsoleCall property)
@@ -994,6 +1095,10 @@
@@ -1015,16 +1126,24 @@
L
+Q
+
+
R
@@ -1321,8 +1498,78 @@
@@ -1368,6 +1621,8 @@
diff --git a/docs/build/html/index.html b/docs/build/html/index.html
index d7ab4f5a..c31d1835 100644
--- a/docs/build/html/index.html
+++ b/docs/build/html/index.html
@@ -88,6 +88,7 @@
Getting started
CLI Reference
API Reference
+Query Reference
@@ -168,6 +169,7 @@
Getting started
CLI Reference
API Reference
+Query Reference
diff --git a/docs/build/html/introduction.html b/docs/build/html/introduction.html
index 5ab3f717..62bdaa1d 100644
--- a/docs/build/html/introduction.html
+++ b/docs/build/html/introduction.html
@@ -92,6 +92,7 @@
Getting started
CLI Reference
API Reference
+Query Reference
@@ -168,8 +169,9 @@
diff --git a/docs/build/html/modules.html b/docs/build/html/modules.html
index 5014f221..8b59ef84 100644
--- a/docs/build/html/modules.html
+++ b/docs/build/html/modules.html
@@ -87,6 +87,7 @@
Getting started
CLI Reference
API Reference
+Query Reference
@@ -334,6 +335,19 @@
+Query Reference
+
diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv
index e13443cb..39d6bd15 100644
Binary files a/docs/build/html/objects.inv and b/docs/build/html/objects.inv differ
diff --git a/docs/build/html/py-modindex.html b/docs/build/html/py-modindex.html
index b130ed95..f6266519 100644
--- a/docs/build/html/py-modindex.html
+++ b/docs/build/html/py-modindex.html
@@ -90,6 +90,7 @@
Getting started
CLI Reference
API Reference
+Query Reference
@@ -395,6 +396,57 @@
cpl_core.utils.string
+
+
+
+ cpl_query
+
+
+
+
+ cpl_query.exceptions
+
+
+
+
+ cpl_query.extension.iterable_abc
+
+
+
+
+ cpl_query.extension.list
+
+
+
+
+ cpl_query.extension.ordered_iterable_abc
+
+
+
+
+ cpl_query.tests
+
+
+
+
+ cpl_query.tests.iterable_test
+
+
+
+
+ cpl_query.tests.models
+
+
+
+
+ cpl_query.tests.query_test
+
+
+
+
+ cpl_query.tests.tester
+
diff --git a/docs/build/html/quickstart.html b/docs/build/html/quickstart.html
index d7ff567c..020f0a61 100644
--- a/docs/build/html/quickstart.html
+++ b/docs/build/html/quickstart.html
@@ -100,6 +100,7 @@
CLI Reference
API Reference
+Query Reference
diff --git a/docs/build/html/search.html b/docs/build/html/search.html
index 2336f301..8f3b0660 100644
--- a/docs/build/html/search.html
+++ b/docs/build/html/search.html
@@ -90,6 +90,7 @@
Getting started
CLI Reference
API Reference
+Query Reference
diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js
index f6306c80..070a0c9f 100644
--- a/docs/build/html/searchindex.js
+++ b/docs/build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["cli.add","cli.build","cli.generate","cli.help","cli.install","cli.new","cli.overview","cli.publish","cli.remove","cli.start","cli.uninstall","cli.update","cli.version","contributing","cpl_cli","cpl_core","cpl_core.application","cpl_core.configuration","cpl_core.console","cpl_core.database","cpl_core.database.connection","cpl_core.database.context","cpl_core.dependency_injection","cpl_core.environment","cpl_core.logging","cpl_core.mailing","cpl_core.time","cpl_core.utils","getting_started","index","introduction","modules","quickstart","setup"],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:["cli.add.md","cli.build.md","cli.generate.md","cli.help.md","cli.install.md","cli.new.md","cli.overview.md","cli.publish.md","cli.remove.md","cli.start.md","cli.uninstall.md","cli.update.md","cli.version.md","contributing.md","cpl_cli.rst","cpl_core.rst","cpl_core.application.rst","cpl_core.configuration.rst","cpl_core.console.rst","cpl_core.database.rst","cpl_core.database.connection.rst","cpl_core.database.context.rst","cpl_core.dependency_injection.rst","cpl_core.environment.rst","cpl_core.logging.rst","cpl_core.mailing.rst","cpl_core.time.rst","cpl_core.utils.rst","getting_started.rst","index.rst","introduction.md","modules.rst","quickstart.md","setup.md"],objects:{"cpl_core.application":{application_abc:[16,0,0,"-"],application_builder:[16,0,0,"-"],application_builder_abc:[16,0,0,"-"],startup_abc:[16,0,0,"-"]},"cpl_core.application.application_abc":{ApplicationABC:[16,1,1,""]},"cpl_core.application.application_abc.ApplicationABC":{configure:[16,2,1,""],main:[16,2,1,""],run:[16,2,1,""]},"cpl_core.application.application_builder":{ApplicationBuilder:[16,1,1,""]},"cpl_core.application.application_builder.ApplicationBuilder":{build:[16,2,1,""],use_extension:[16,2,1,""],use_startup:[16,2,1,""]},"cpl_core.application.application_builder_abc":{ApplicationBuilderABC:[16,1,1,""]},"cpl_core.application.application_builder_abc.ApplicationBuilderABC":{build:[16,2,1,""],use_startup:[16,2,1,""]},"cpl_core.application.startup_abc":{StartupABC:[16,1,1,""]},"cpl_core.application.startup_abc.StartupABC":{configure_configuration:[16,2,1,""],configure_services:[16,2,1,""]},"cpl_core.configuration":{configuration:[17,0,0,"-"],configuration_abc:[17,0,0,"-"],configuration_model_abc:[17,0,0,"-"],configuration_variable_name_enum:[17,0,0,"-"],console_argument:[17,0,0,"-"]},"cpl_core.configuration.configuration":{Configuration:[17,1,1,""]},"cpl_core.configuration.configuration.Configuration":{add_configuration:[17,2,1,""],add_console_argument:[17,2,1,""],add_console_arguments:[17,2,1,""],add_environment_variables:[17,2,1,""],add_json_file:[17,2,1,""],additional_arguments:[17,2,1,""],argument_error_function:[17,2,1,""],environment:[17,2,1,""],get_configuration:[17,2,1,""]},"cpl_core.configuration.configuration_abc":{ConfigurationABC:[17,1,1,""]},"cpl_core.configuration.configuration_abc.ConfigurationABC":{add_configuration:[17,2,1,""],add_console_argument:[17,2,1,""],add_console_arguments:[17,2,1,""],add_environment_variables:[17,2,1,""],add_json_file:[17,2,1,""],additional_arguments:[17,2,1,""],argument_error_function:[17,2,1,""],environment:[17,2,1,""],get_configuration:[17,2,1,""]},"cpl_core.configuration.configuration_model_abc":{ConfigurationModelABC:[17,1,1,""]},"cpl_core.configuration.configuration_model_abc.ConfigurationModelABC":{from_dict:[17,2,1,""]},"cpl_core.configuration.configuration_variable_name_enum":{ConfigurationVariableNameEnum:[17,1,1,""]},"cpl_core.configuration.configuration_variable_name_enum.ConfigurationVariableNameEnum":{customer:[17,3,1,""],environment:[17,3,1,""],name:[17,3,1,""],to_list:[17,2,1,""]},"cpl_core.configuration.console_argument":{ConsoleArgument:[17,1,1,""]},"cpl_core.configuration.console_argument.ConsoleArgument":{aliases:[17,2,1,""],console_arguments:[17,2,1,""],is_value_token_optional:[17,2,1,""],name:[17,2,1,""],token:[17,2,1,""],value_token:[17,2,1,""]},"cpl_core.console":{background_color_enum:[18,0,0,"-"],console:[18,0,0,"-"],console_call:[18,0,0,"-"],foreground_color_enum:[18,0,0,"-"],spinner_thread:[18,0,0,"-"]},"cpl_core.console.background_color_enum":{BackgroundColorEnum:[18,1,1,""]},"cpl_core.console.background_color_enum.BackgroundColorEnum":{"default":[18,3,1,""],blue:[18,3,1,""],cyan:[18,3,1,""],green:[18,3,1,""],grey:[18,3,1,""],magenta:[18,3,1,""],red:[18,3,1,""],white:[18,3,1,""],yellow:[18,3,1,""]},"cpl_core.console.console":{Console:[18,1,1,""]},"cpl_core.console.console.Console":{background_color:[18,3,1,""],banner:[18,2,1,""],clear:[18,2,1,""],close:[18,2,1,""],color_reset:[18,2,1,""],disable:[18,2,1,""],enable:[18,2,1,""],error:[18,2,1,""],foreground_color:[18,3,1,""],read:[18,2,1,""],read_line:[18,2,1,""],reset_cursor_position:[18,2,1,""],select:[18,2,1,""],set_background_color:[18,2,1,""],set_cursor_position:[18,2,1,""],set_foreground_color:[18,2,1,""],set_hold_back:[18,2,1,""],spinner:[18,2,1,""],table:[18,2,1,""],write:[18,2,1,""],write_at:[18,2,1,""],write_line:[18,2,1,""],write_line_at:[18,2,1,""]},"cpl_core.console.console_call":{ConsoleCall:[18,1,1,""]},"cpl_core.console.console_call.ConsoleCall":{"function":[18,2,1,""],args:[18,2,1,""]},"cpl_core.console.foreground_color_enum":{ForegroundColorEnum:[18,1,1,""]},"cpl_core.console.foreground_color_enum.ForegroundColorEnum":{"default":[18,3,1,""],blue:[18,3,1,""],cyan:[18,3,1,""],green:[18,3,1,""],grey:[18,3,1,""],magenta:[18,3,1,""],red:[18,3,1,""],white:[18,3,1,""],yellow:[18,3,1,""]},"cpl_core.console.spinner_thread":{SpinnerThread:[18,1,1,""]},"cpl_core.console.spinner_thread.SpinnerThread":{exit:[18,2,1,""],run:[18,2,1,""],stop_spinning:[18,2,1,""]},"cpl_core.database":{database_model:[19,0,0,"-"],database_settings:[19,0,0,"-"],database_settings_name_enum:[19,0,0,"-"]},"cpl_core.database.connection":{database_connection:[20,0,0,"-"],database_connection_abc:[20,0,0,"-"]},"cpl_core.database.connection.database_connection":{DatabaseConnection:[20,1,1,""]},"cpl_core.database.connection.database_connection.DatabaseConnection":{connect:[20,2,1,""],engine:[20,2,1,""],session:[20,2,1,""]},"cpl_core.database.connection.database_connection_abc":{DatabaseConnectionABC:[20,1,1,""]},"cpl_core.database.connection.database_connection_abc.DatabaseConnectionABC":{connect:[20,2,1,""],engine:[20,2,1,""],session:[20,2,1,""]},"cpl_core.database.context":{database_context:[21,0,0,"-"],database_context_abc:[21,0,0,"-"]},"cpl_core.database.context.database_context":{DatabaseContext:[21,1,1,""]},"cpl_core.database.context.database_context.DatabaseContext":{connect:[21,2,1,""],engine:[21,2,1,""],save_changes:[21,2,1,""],session:[21,2,1,""]},"cpl_core.database.context.database_context_abc":{DatabaseContextABC:[21,1,1,""]},"cpl_core.database.context.database_context_abc.DatabaseContextABC":{connect:[21,2,1,""],engine:[21,2,1,""],save_changes:[21,2,1,""],session:[21,2,1,""]},"cpl_core.database.database_settings":{DatabaseSettings:[19,1,1,""]},"cpl_core.database.database_settings.DatabaseSettings":{auth_plugin:[19,2,1,""],case_sensitive:[19,2,1,""],connection_string:[19,2,1,""],credentials:[19,2,1,""],echo:[19,2,1,""],encoding:[19,2,1,""],from_dict:[19,2,1,""]},"cpl_core.database.database_settings_name_enum":{DatabaseSettingsNameEnum:[19,1,1,""]},"cpl_core.database.database_settings_name_enum.DatabaseSettingsNameEnum":{auth_plugin:[19,3,1,""],case_sensitive:[19,3,1,""],connection_string:[19,3,1,""],credentials:[19,3,1,""],echo:[19,3,1,""],encoding:[19,3,1,""]},"cpl_core.dependency_injection":{service_collection:[22,0,0,"-"],service_collection_abc:[22,0,0,"-"],service_descriptor:[22,0,0,"-"],service_lifetime_enum:[22,0,0,"-"],service_provider:[22,0,0,"-"],service_provider_abc:[22,0,0,"-"]},"cpl_core.dependency_injection.service_collection":{ServiceCollection:[22,1,1,""]},"cpl_core.dependency_injection.service_collection.ServiceCollection":{add_db_context:[22,2,1,""],add_logging:[22,2,1,""],add_scoped:[22,2,1,""],add_singleton:[22,2,1,""],add_transient:[22,2,1,""],build_service_provider:[22,2,1,""]},"cpl_core.dependency_injection.service_collection_abc":{ServiceCollectionABC:[22,1,1,""]},"cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC":{add_db_context:[22,2,1,""],add_logging:[22,2,1,""],add_scoped:[22,2,1,""],add_singleton:[22,2,1,""],add_transient:[22,2,1,""],build_service_provider:[22,2,1,""]},"cpl_core.dependency_injection.service_descriptor":{ServiceDescriptor:[22,1,1,""]},"cpl_core.dependency_injection.service_descriptor.ServiceDescriptor":{implementation:[22,2,1,""],lifetime:[22,2,1,""],service_type:[22,2,1,""]},"cpl_core.dependency_injection.service_lifetime_enum":{ServiceLifetimeEnum:[22,1,1,""]},"cpl_core.dependency_injection.service_lifetime_enum.ServiceLifetimeEnum":{"transient":[22,3,1,""],scoped:[22,3,1,""],singleton:[22,3,1,""]},"cpl_core.dependency_injection.service_provider":{ServiceProvider:[22,1,1,""]},"cpl_core.dependency_injection.service_provider.ServiceProvider":{build_service:[22,2,1,""],get_service:[22,2,1,""]},"cpl_core.dependency_injection.service_provider_abc":{ServiceProviderABC:[22,1,1,""]},"cpl_core.dependency_injection.service_provider_abc.ServiceProviderABC":{build_service:[22,2,1,""],get_service:[22,2,1,""]},"cpl_core.environment":{application_environment:[23,0,0,"-"],application_environment_abc:[23,0,0,"-"],environment_name_enum:[23,0,0,"-"]},"cpl_core.environment.application_environment":{ApplicationEnvironment:[23,1,1,""]},"cpl_core.environment.application_environment.ApplicationEnvironment":{application_name:[23,2,1,""],customer:[23,2,1,""],date_time_now:[23,2,1,""],end_time:[23,2,1,""],environment_name:[23,2,1,""],host_name:[23,2,1,""],runtime_directory:[23,2,1,""],set_runtime_directory:[23,2,1,""],set_working_directory:[23,2,1,""],start_time:[23,2,1,""],working_directory:[23,2,1,""]},"cpl_core.environment.application_environment_abc":{ApplicationEnvironmentABC:[23,1,1,""]},"cpl_core.environment.application_environment_abc.ApplicationEnvironmentABC":{application_name:[23,2,1,""],customer:[23,2,1,""],date_time_now:[23,2,1,""],end_time:[23,2,1,""],environment_name:[23,2,1,""],host_name:[23,2,1,""],runtime_directory:[23,2,1,""],set_runtime_directory:[23,2,1,""],set_working_directory:[23,2,1,""],start_time:[23,2,1,""],working_directory:[23,2,1,""]},"cpl_core.environment.environment_name_enum":{EnvironmentNameEnum:[23,1,1,""]},"cpl_core.environment.environment_name_enum.EnvironmentNameEnum":{development:[23,3,1,""],production:[23,3,1,""],staging:[23,3,1,""],testing:[23,3,1,""]},"cpl_core.logging":{logger_abc:[24,0,0,"-"],logger_service:[24,0,0,"-"],logging_level_enum:[24,0,0,"-"],logging_settings:[24,0,0,"-"],logging_settings_name_enum:[24,0,0,"-"]},"cpl_core.logging.logger_abc":{LoggerABC:[24,1,1,""]},"cpl_core.logging.logger_abc.LoggerABC":{debug:[24,2,1,""],error:[24,2,1,""],fatal:[24,2,1,""],header:[24,2,1,""],info:[24,2,1,""],trace:[24,2,1,""],warn:[24,2,1,""]},"cpl_core.logging.logger_service":{Logger:[24,1,1,""]},"cpl_core.logging.logger_service.Logger":{create:[24,2,1,""],debug:[24,2,1,""],error:[24,2,1,""],fatal:[24,2,1,""],header:[24,2,1,""],info:[24,2,1,""],trace:[24,2,1,""],warn:[24,2,1,""]},"cpl_core.logging.logging_level_enum":{LoggingLevelEnum:[24,1,1,""]},"cpl_core.logging.logging_level_enum.LoggingLevelEnum":{DEBUG:[24,3,1,""],ERROR:[24,3,1,""],FATAL:[24,3,1,""],INFO:[24,3,1,""],OFF:[24,3,1,""],TRACE:[24,3,1,""],WARN:[24,3,1,""]},"cpl_core.logging.logging_settings":{LoggingSettings:[24,1,1,""]},"cpl_core.logging.logging_settings.LoggingSettings":{console:[24,2,1,""],filename:[24,2,1,""],from_dict:[24,2,1,""],level:[24,2,1,""],path:[24,2,1,""]},"cpl_core.logging.logging_settings_name_enum":{LoggingSettingsNameEnum:[24,1,1,""]},"cpl_core.logging.logging_settings_name_enum.LoggingSettingsNameEnum":{console_level:[24,3,1,""],file_level:[24,3,1,""],filename:[24,3,1,""],path:[24,3,1,""]},"cpl_core.mailing":{email:[25,0,0,"-"],email_client_abc:[25,0,0,"-"],email_client_service:[25,0,0,"-"],email_client_settings:[25,0,0,"-"],email_client_settings_name_enum:[25,0,0,"-"]},"cpl_core.mailing.email":{EMail:[25,1,1,""]},"cpl_core.mailing.email.EMail":{add_header:[25,2,1,""],add_receiver:[25,2,1,""],body:[25,2,1,""],check_mail:[25,2,1,""],get_content:[25,2,1,""],header:[25,2,1,""],header_list:[25,2,1,""],receiver:[25,2,1,""],receiver_list:[25,2,1,""],subject:[25,2,1,""],transceiver:[25,2,1,""]},"cpl_core.mailing.email_client_abc":{EMailClientABC:[25,1,1,""]},"cpl_core.mailing.email_client_abc.EMailClientABC":{connect:[25,2,1,""],send_mail:[25,2,1,""]},"cpl_core.mailing.email_client_service":{EMailClient:[25,1,1,""]},"cpl_core.mailing.email_client_service.EMailClient":{connect:[25,2,1,""],create:[25,2,1,""],login:[25,2,1,""],send_mail:[25,2,1,""]},"cpl_core.mailing.email_client_settings":{EMailClientSettings:[25,1,1,""]},"cpl_core.mailing.email_client_settings.EMailClientSettings":{credentials:[25,2,1,""],from_dict:[25,2,1,""],host:[25,2,1,""],port:[25,2,1,""],user_name:[25,2,1,""]},"cpl_core.mailing.email_client_settings_name_enum":{EMailClientSettingsNameEnum:[25,1,1,""]},"cpl_core.mailing.email_client_settings_name_enum.EMailClientSettingsNameEnum":{credentials:[25,3,1,""],host:[25,3,1,""],port:[25,3,1,""],user_name:[25,3,1,""]},"cpl_core.time":{time_format_settings:[26,0,0,"-"],time_format_settings_names_enum:[26,0,0,"-"]},"cpl_core.time.time_format_settings":{TimeFormatSettings:[26,1,1,""]},"cpl_core.time.time_format_settings.TimeFormatSettings":{date_format:[26,2,1,""],date_time_format:[26,2,1,""],date_time_log_format:[26,2,1,""],from_dict:[26,2,1,""],time_format:[26,2,1,""]},"cpl_core.time.time_format_settings_names_enum":{TimeFormatSettingsNamesEnum:[26,1,1,""]},"cpl_core.time.time_format_settings_names_enum.TimeFormatSettingsNamesEnum":{date_format:[26,3,1,""],date_time_format:[26,3,1,""],date_time_log_format:[26,3,1,""],time_format:[26,3,1,""]},"cpl_core.utils":{credential_manager:[27,0,0,"-"],pip:[27,0,0,"-"],string:[27,0,0,"-"]},"cpl_core.utils.credential_manager":{CredentialManager:[27,1,1,""]},"cpl_core.utils.credential_manager.CredentialManager":{build_string:[27,2,1,""],decrypt:[27,2,1,""],encrypt:[27,2,1,""]},"cpl_core.utils.pip":{Pip:[27,1,1,""]},"cpl_core.utils.pip.Pip":{get_executable:[27,2,1,""],get_outdated:[27,2,1,""],get_package:[27,2,1,""],install:[27,2,1,""],reset_executable:[27,2,1,""],set_executable:[27,2,1,""],uninstall:[27,2,1,""]},"cpl_core.utils.string":{String:[27,1,1,""]},"cpl_core.utils.string.String":{convert_to_camel_case:[27,2,1,""],convert_to_snake_case:[27,2,1,""],first_to_lower:[27,2,1,""],first_to_upper:[27,2,1,""],random_string:[27,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":[2,16,17,20,21,22,23,24,25],"byte":27,"case":[13,27,32],"char":[18,27],"class":[2,16,17,18,19,20,21,22,23,24,25,26,27],"default":[18,33],"enum":[2,17,18,19,22,23,24,25,26],"function":[18,27,32],"import":[13,32],"int":[18,27,32],"new":[6,13,14,18,31,32,33],"public":13,"return":[17,18,22,25,32],"short":[3,6],"static":[17,25,27],"transient":22,"true":17,"while":13,Adding:13,For:13,IDE:32,Such:13,That:13,The:[1,2,4,5,6,7,8,10,13,22,25,27,29,30,32,33],These:29,Useful:[18,27],With:6,__init__:32,__main__:32,__name__:32,abc:[2,16,17,18,20,21,22,23,24,25],abl:13,about:[29,33],absolut:6,accept:13,activ:18,add:[5,6,13,14,17,22,25,31,32],add_configur:17,add_console_argu:17,add_db_context:22,add_environment_vari:17,add_head:25,add_json_fil:17,add_log:22,add_receiv:25,add_scop:22,add_singleton:22,add_transi:22,added:0,addit:[6,13],additional_argu:17,address:25,agre:13,alia:6,alias:[6,17],all:[1,7,8,12,13],allow:13,alreadi:[13,32,33],also:[32,33],ani:[6,18],api:[13,29,30,31],app:[1,6,16,28,29,30,31,32],appli:13,applic:[5,9,15,18,23,24,25,29,30,31,32,33],application_abc:[15,31],application_build:[15,31],application_builder_abc:[15,31],application_environ:[15,31],application_environment_abc:[15,16,24,25,31],application_extension_abc:16,application_nam:23,applicationabc:16,applicationbuild:16,applicationbuilderabc:16,applicationenviron:23,applicationenvironmentabc:[16,23,24,25],applicationextensionabc:16,appropri:13,appset:[16,32],arg:[16,18,21,27],argument:[1,5,6,7,14,17,18,27,31],argument_error_funct:17,artifact:6,ascii_lett:32,ascii_lowercas:32,ascii_uppercas:32,ask:13,attribut:[17,19,24,25,26],auth_plugin:19,authplugin:19,automat:13,avail:[3,6,13],back:[13,18],background:18,background_color:18,background_color_enum:[15,31],backgroundcolorenum:18,banner:18,base64:27,base:[2,16,17,18,19,20,21,22,23,24,25,26,27,32],basic:[14,31,32,33],been:13,befor:[13,18],behavior:13,better:13,bit:13,blue:18,bodi:25,bool:[17,18,25],branch:13,build:[6,7,8,14,16,27,31,32,33],build_servic:22,build_service_provid:22,build_str:27,call:[0,16,18],callabl:[17,18,22],camel:27,camelcas:27,can:[0,1,6,7,8,13,29,33],case_sensit:19,casesensit:19,chang:[6,9,13,21,32],channel:13,charact:18,check:25,check_mail:25,checkout:13,chnage:33,choic:32,citizen:13,classmethod:[18,27],clear:18,cli:[12,28,29,30,31,32],close:[13,18],code:[32,33],codebas:13,collect:[17,18,22],color:18,color_reset:18,command:[0,1,3,5,7,8,13,14,27,31,33],commandnameoralia:6,commit:13,common:[29,30],commun:13,complex:[29,30],config:[16,22],configmodel:2,configur:[15,16,19,22,24,25,26,31],configuration_abc:[15,16,22,31],configuration_model_abc:[15,19,24,25,26,31],configuration_variable_name_enum:[15,31],configurationabc:[16,17,22],configurationmodelabc:[17,19,24,25,26],configurationvariablenameenum:17,configure_configur:16,configure_servic:16,confirm:13,connect:[15,19,21,25,31],connection_str:[19,20,21],connectionstr:19,consid:13,consist:13,consol:[1,3,5,6,7,8,15,17,24,28,31,32],console_argu:[15,31],console_cal:[15,31],console_level:24,consoleargu:17,consolecal:18,consoleloglevel:24,contain:16,content:[14,28,31],context:[15,19,22,31,33],continu:32,contributor:13,convert:[17,24,25,26,27],convert_to_camel_cas:27,convert_to_snake_cas:27,coordin:[13,18],copi:1,core:[20,21],count:13,cpl:[6,14,22,28,33],cpl_core:[7,8,15,31,32,33],craft:13,creat:[6,7,8,13,16,22,24,25,27,28,29,30,31],credenti:[19,25,27],credential_manag:[15,31],credentialmanag:27,current:[6,23],cursor:18,cursor_background_color:18,cursor_foreground_color:18,custom:[16,17,23],cyan:18,data:[7,8],databas:[15,22,31],database_connect:[15,19,31],database_connection_abc:[15,19,31],database_context:[15,19,31],database_context_abc:[15,19,22,31],database_model:[15,31],database_set:[15,20,21,22,31],database_settings_name_enum:[15,31],databaseconnect:20,databaseconnectionabc:20,databasecontext:21,databasecontextabc:[21,22],databaseset:[19,20,21,22],databasesettingsnameenum:19,date_format:26,date_time_format:26,date_time_log_format:26,date_time_now:23,dateformat:26,datetimeformat:26,datetimelogformat:26,db_context:22,db_context_typ:22,db_set:22,debug:24,declin:33,decod:27,decrypt:27,def:32,defin:[6,17,33],delet:8,deped:4,depend:[6,11,32],dependency_inject:[15,16,31],describ:13,descript:[6,14,31],descriptor:22,design:13,desktop:[29,30],detail:29,determin:13,develop:[6,13,23,29,30,32,33],dict:[17,18,19,24,25,26],directli:[1,13],directori:[1,6,7,8,23,32],disabl:18,discuss:13,dist:[6,7],doc:[20,21],document:13,doesn:13,don:[13,32],done:32,duplic:13,each:6,echo:19,edit:13,edraft:[13,33],effici:[29,30],effort:13,either:6,element:18,elif:32,email:[15,31],email_client_abc:[15,31],email_client_servic:[15,31],email_client_set:[15,31],email_client_settings_name_enum:[15,31],emailcli:25,emailclientabc:25,emailclientset:25,emailclientsettingsnameenum:25,emul:32,enabl:[18,32],encod:[19,27],encrypt:27,end:[18,24],end_tim:23,engin:[20,21],enough:13,ensur:13,enter:33,enterpris:[29,30],entri:[16,18],enumer:[17,18,19,22,23,24,25,26],env:[16,24],environ:[15,16,17,24,25,28,31],environment_nam:23,environment_name_enum:[15,31],environmentnameenum:23,error:[17,18,24],essenti:[13,32],even:13,everyth:29,except:24,execut:[1,6,7,8,27],exist:13,exit:[18,32],explor:32,extens:16,extra:[27,33],extract:13,fatal:24,featur:33,file:[1,2,6,7,8,9,13,17,33],file_level:24,fileloglevel:24,filenam:24,find:13,first:[6,13,27,29,30],first_to_low:27,first_to_upp:27,fix:13,fixup:13,folder:32,follow:[6,13,32,33],fore:33,foreground:18,foreground_color:18,foreground_color_enum:[15,31],foregroundcolorenum:18,fork:13,format:[6,24,26],forth:13,found:17,from:[0,6,7,8,10,12,13,16,17,19,29,30,32],from_dict:[17,19,24,25,26],full:32,gener:[5,6,7,8,14,31,32,33],generate_password:32,get:[27,29,30,31,33],get_configur:17,get_cont:25,get_execut:27,get_outd:27,get_packag:27,get_servic:22,git:13,gitea:13,give:13,given:[0,1,4,6,7,10,17,18,19,22,27],going:13,good:13,great:29,green:18,grei:18,guid:13,handl:[18,27],hard:13,has:[0,18],have:[6,13,32,33],haven:13,head:13,header:[18,24,25],header_background_color:18,header_foreground_color:18,header_list:25,hear:13,hello:[32,33],help:[6,13,14,29,30,31],here:[13,33],hold:18,host:25,host_nam:23,html:[20,21],http:[20,21,33],immedi:6,implement:[13,22],includ:[1,13,33],index:[27,32,33],info:[13,24],inform:[13,24,33],initi:[5,28,31],inject:32,input:[18,32],instal:[6,12,14,27,28,31,32],instanc:[16,22],instance_typ:22,interact:18,intern:22,introduc:32,invalid:17,investig:13,is_value_token_opt:17,isol:13,issus:13,its:[6,13],join:32,json:[7,8,17,32,33],keep:13,kei:33,key_typ:17,keyword:18,known:17,kwarg:18,languag:[14,31],larger:13,last:18,launch:33,learn:[29,30,33],len:32,length:[18,27,32],letter:32,level:24,lib:33,librari:[1,5,6,7,8,28,29,30,31],licens:32,lifetim:22,like:[13,32],line:[13,18,32],list:[3,6,12,17,18,22,25,27],live:33,load:16,local:[27,28,31],log:[15,25,31],logfil:24,logger:[22,24,25],logger_abc:[15,25,31],logger_servic:[15,31],loggerabc:[24,25],logging_level_enum:[15,31],logging_set:[15,31],logging_settings_name_enum:[15,31],logginglevelenum:24,loggingset:24,loggingsettingsnameenum:24,login:25,look:32,love:13,lower:[27,32],magenta:18,mail:[15,31],mail_set:25,main:[16,32],maintain:13,major:13,make:[13,33],manag:13,master:13,mayb:13,meant:[29,30],member:13,menu:[18,28,31],messag:[3,18,24],method:13,might:13,mind:13,minim:13,mit:13,more:[13,33],most:[6,32,33],msg_len:18,must:[0,1,6,13],name:[0,1,2,5,6,7,8,17,23,24,27,33],navig:33,need:[13,32,33],next:[18,28,31],none:[17,18,22,24,25,27],note:13,object:[16,17,18,22,25,27],occur:17,off:24,often:13,on_blu:18,on_cyan:18,on_default:18,on_green:18,on_grei:18,on_magenta:18,on_r:18,on_whit:18,on_yellow:18,one:13,onli:32,open:[13,32,33],option:[6,13,17,18,22,24,25,27,32],option_background_color:18,option_foreground_color:18,optionalsarg:6,order:13,org:[20,21],origin:13,otherwis:0,ouput:32,our:13,out:[13,32,33],outdat:27,outlin:13,output:[1,6,7,17,18,32,33],outsid:13,overview:[14,31,33],own:6,packag:[4,5,6,10,12,27,28,29,30,31,32],page:29,parent:6,password:32,patch:13,path:[0,1,7,14,17,23,24,31,33],pep:13,pip:[4,10,12,15,31,32,33],place:17,platform:[29,30],pleas:13,point:[13,16,18],port:25,posit:18,possibl:13,prefix:[6,17],prepar:[1,6,7,13,16],prerequisit:[28,31],press:33,prevent:13,print:[18,32],problem:13,proce:13,process:13,product:23,program:24,project:[0,1,4,6,7,8,10,11,13,14,28,31,33],projectmain:32,prompt:33,properti:[17,18,19,20,21,22,23,24,25,26],propos:13,provid:[13,16,22,32,33],publish:[1,6,8,14,31,33],push:13,pycharm:32,pyhton:33,python:[1,13,27,29,30,32,33],question:13,quickli:13,random:[27,32],random_str:27,rang:32,read:[17,18,32],read_lin:18,readi:[13,33],readili:13,readm:32,realli:13,receiv:25,receiver_list:25,red:18,refer:[0,29,30,31],referenc:0,rel:[14,31],relat:13,remov:[0,6,7,14,31],replac:27,repo:13,repositori:13,repres:[18,19,23,25],represent:[20,21,22,24,25,26],reproduc:13,reproduct:13,requir:13,requiredarg:6,reserv:13,reset:[18,27],reset_cursor_posit:18,reset_execut:27,restart:[6,9,33],result:[25,27],right:13,root:6,run:[1,5,16,18,27,32,33],runtim:23,runtime_directori:23,same:6,sampl:32,save:[13,17,21],save_chang:21,scenario:13,schemat:[14,31],scope:22,search:[13,17,22],search_typ:17,section:32,see:[5,13,20,21,32,33],select:[18,32],send:[13,25],send_mail:25,serv:6,server:[6,25,29,30,33],servic:[2,16,22,24,25,32],service_collect:[15,31],service_collection_abc:[15,16,31],service_descriptor:[15,31],service_lifetime_enum:[15,31],service_provid:[15,31],service_provider_abc:[15,16,31],service_typ:22,servicecollect:22,servicecollectionabc:[16,22],servicedescriptor:22,servicelifetimeenum:22,serviceprovid:22,serviceproviderabc:[16,22],session:[20,21],set:[2,16,17,18,19,22,23,24,25,26,27,28,31,32],set_background_color:18,set_cursor_posit:18,set_execut:27,set_foreground_color:18,set_hold_back:18,set_runtime_directori:23,set_working_directori:23,setup:[6,7,8,30,33],sh_cpl:[13,33],should:[17,32,33],show:[3,18],shown:[6,17,33],significantli:13,similar:33,simpl:[5,29,30,33],singleton:22,size:13,small:13,snake:27,snake_cas:27,some:6,sometim:13,soon:13,sourc:[0,1,7,8,13,27,32,33],specifi:[0,6,17],spinner:18,spinner_background_color:18,spinner_foreground_color:18,spinner_thread:[15,31],spinnerthread:18,sqlalchemi:[20,21],src:32,stage:23,standard:27,start:[6,14,29,30,31],start_tim:23,startup:16,startup_abc:[15,31],startupabc:16,statement:6,stderr:27,stdout:27,step:13,stop:18,stop_spin:18,store:17,str:[0,1,2,3,4,5,7,8,10,17,18,20,21,23,24,25,27,32],string:[15,18,20,21,24,25,31,32],style:13,subject:25,submodul:[15,31],subprocess:27,success:33,successfulli:13,suppli:6,sure:13,syntax:[14,31],system:27,tabl:[14,18,27,28,31],take:[6,17],target:[0,1],team:13,termin:[6,18,32,33],test:[13,23,32],text:18,text_background_color:18,text_foreground_color:18,than:13,thank:13,them:1,themselv:13,thi:[3,13,16,29,30,32,33],those:33,thread:[2,18],through:32,throughout:13,thrown:24,time:[13,15,24,31],time_format:[24,26],time_format_set:[15,24,31],time_format_settings_names_enum:[15,31],timeformat:26,timeformatset:[24,26],timeformatsettingsnamesenum:26,to_list:17,todai:13,token:17,topic:13,trace:24,traceback:18,tracker:13,transceiv:25,tree:24,tutori:[32,33],type:[0,1,2,3,4,7,8,10,14,16,17,22,31],ultim:13,under:13,understand:[13,29,30,32,33],unfortun:13,uninstal:[6,14,27,31],union:[17,18,22],unit:13,updat:[6,13,14,31],upfront:13,upper:[27,32],url:[27,33],use:[0,6,16,25,29,30,32,33],use_extens:16,use_startup:16,used:[1,7,8,16],user:32,user_nam:25,usernam:25,uses:32,util:[15,31],valid:[25,32],valu:[0,1,2,3,4,5,7,8,10,17,18,19,22,23,24,25,26],value_token:17,variabl:[17,27],version:[6,14,31],via:[4,10,13],walk:32,want:[13,32],warn:24,watch:33,wealth:13,welcom:32,well:13,what:[28,31],when:18,whether:17,which:[0,6,17,18,27,33],white:18,who:13,window:33,within:[1,6,13],without:[4,6,13],work:[6,13,23],workaround:13,workflow:[14,31],working_directori:23,workspac:[0,1,5,6,8,28,31],world:[32,33],would:13,write:[13,18,24],write_at:18,write_lin:[18,32],write_line_at:18,yellow:18,you:[0,1,6,13,29,30,32,33],your:[4,6,9,13,29,30,33]},titles:["cpl add","cpl build","cpl generate","cpl help","cpl install","cpl new","CLI Overview and Command Reference","cpl publish","cpl remove","cpl start","cpl uninstall","cpl update","cpl version","Contributing to CPL","CLI Reference","API Reference","cpl_core.application","cpl_core.configuration","cpl_core.console","cpl_core.database","cpl_core.database.connection","cpl_core.database.context","cpl_core.dependency_injection","cpl_core.environment","cpl_core.logging","cpl_core.mailing","cpl_core.time","cpl_core.utils","Getting started","Introduction to the CPL Docs","Introduction to the CPL Docs","cpl","Getting started with CPL","Setting up the local environment and workspace"],titleterms:{"new":5,add:0,address:13,api:15,app:33,applic:16,application_abc:16,application_build:16,application_builder_abc:16,application_environ:23,application_environment_abc:23,argument:[0,2,3,4,8,10],background_color_enum:18,basic:6,bug:13,build:1,cli:[6,14,33],code:13,command:6,configur:17,configuration_abc:17,configuration_model_abc:17,configuration_variable_name_enum:17,connect:20,consol:[18,33],console_argu:17,console_cal:18,content:[0,1,2,4,5,6,7,8,10,32,33],context:21,contribut:13,cpl:[0,1,2,3,4,5,7,8,9,10,11,12,13,29,30,31,32],cpl_core:[16,17,18,19,20,21,22,23,24,25,26,27],creat:[32,33],credential_manag:27,databas:[19,20,21],database_connect:20,database_connection_abc:20,database_context:21,database_context_abc:21,database_model:19,database_set:19,database_settings_name_enum:19,dependency_inject:22,descript:[0,1,2,3,4,5,7,8,10],doc:[29,30],email:25,email_client_abc:25,email_client_servic:25,email_client_set:25,email_client_settings_name_enum:25,environ:[23,33],environment_name_enum:23,explor:30,featur:13,feedback:13,foreground_color_enum:18,found:13,gener:2,get:[28,32],guidelin:13,help:3,initi:33,instal:[4,33],introduct:[29,30],issu:13,languag:6,librari:33,licens:13,local:33,log:24,logger_abc:24,logger_servic:24,logging_level_enum:24,logging_set:24,logging_settings_name_enum:24,mail:25,manual:29,menu:32,next:[32,33],overview:6,packag:33,path:6,pip:27,prerequisit:[32,33],project:[5,32],publish:7,pull:13,refer:[6,14,15],rel:6,remov:8,request:13,review:13,rule:13,schemat:[2,6],service_collect:22,service_collection_abc:22,service_descriptor:22,service_lifetime_enum:22,service_provid:22,service_provider_abc:22,set:33,spinner_thread:18,start:[9,28,32,33],startup_abc:16,string:27,submiss:13,submit:13,submodul:19,syntax:6,tabl:[6,32,33],time:26,time_format_set:26,time_format_settings_names_enum:26,type:5,uninstal:10,updat:11,util:27,version:12,what:[32,33],workflow:6,workspac:33}})
\ No newline at end of file
+Search.setIndex({docnames:["cli.add","cli.build","cli.generate","cli.help","cli.install","cli.new","cli.overview","cli.publish","cli.remove","cli.start","cli.uninstall","cli.update","cli.version","contributing","cpl_cli","cpl_core","cpl_core.application","cpl_core.configuration","cpl_core.console","cpl_core.database","cpl_core.database.connection","cpl_core.database.context","cpl_core.dependency_injection","cpl_core.environment","cpl_core.logging","cpl_core.mailing","cpl_core.time","cpl_core.utils","cpl_query","cpl_query.exceptions","cpl_query.extension","cpl_query.tests","getting_started","index","introduction","modules","quickstart","setup"],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:["cli.add.md","cli.build.md","cli.generate.md","cli.help.md","cli.install.md","cli.new.md","cli.overview.md","cli.publish.md","cli.remove.md","cli.start.md","cli.uninstall.md","cli.update.md","cli.version.md","contributing.md","cpl_cli.rst","cpl_core.rst","cpl_core.application.rst","cpl_core.configuration.rst","cpl_core.console.rst","cpl_core.database.rst","cpl_core.database.connection.rst","cpl_core.database.context.rst","cpl_core.dependency_injection.rst","cpl_core.environment.rst","cpl_core.logging.rst","cpl_core.mailing.rst","cpl_core.time.rst","cpl_core.utils.rst","cpl_query.rst","cpl_query.exceptions.rst","cpl_query.extension.rst","cpl_query.tests.rst","getting_started.rst","index.rst","introduction.md","modules.rst","quickstart.md","setup.md"],objects:{"cpl_core.application":{application_abc:[16,0,0,"-"],application_builder:[16,0,0,"-"],application_builder_abc:[16,0,0,"-"],startup_abc:[16,0,0,"-"]},"cpl_core.application.application_abc":{ApplicationABC:[16,1,1,""]},"cpl_core.application.application_abc.ApplicationABC":{configure:[16,2,1,""],main:[16,2,1,""],run:[16,2,1,""]},"cpl_core.application.application_builder":{ApplicationBuilder:[16,1,1,""]},"cpl_core.application.application_builder.ApplicationBuilder":{build:[16,2,1,""],use_extension:[16,2,1,""],use_startup:[16,2,1,""]},"cpl_core.application.application_builder_abc":{ApplicationBuilderABC:[16,1,1,""]},"cpl_core.application.application_builder_abc.ApplicationBuilderABC":{build:[16,2,1,""],use_startup:[16,2,1,""]},"cpl_core.application.startup_abc":{StartupABC:[16,1,1,""]},"cpl_core.application.startup_abc.StartupABC":{configure_configuration:[16,2,1,""],configure_services:[16,2,1,""]},"cpl_core.configuration":{configuration:[17,0,0,"-"],configuration_abc:[17,0,0,"-"],configuration_model_abc:[17,0,0,"-"],configuration_variable_name_enum:[17,0,0,"-"],console_argument:[17,0,0,"-"]},"cpl_core.configuration.configuration":{Configuration:[17,1,1,""]},"cpl_core.configuration.configuration.Configuration":{add_configuration:[17,2,1,""],add_console_argument:[17,2,1,""],add_console_arguments:[17,2,1,""],add_environment_variables:[17,2,1,""],add_json_file:[17,2,1,""],additional_arguments:[17,2,1,""],argument_error_function:[17,2,1,""],environment:[17,2,1,""],get_configuration:[17,2,1,""]},"cpl_core.configuration.configuration_abc":{ConfigurationABC:[17,1,1,""]},"cpl_core.configuration.configuration_abc.ConfigurationABC":{add_configuration:[17,2,1,""],add_console_argument:[17,2,1,""],add_console_arguments:[17,2,1,""],add_environment_variables:[17,2,1,""],add_json_file:[17,2,1,""],additional_arguments:[17,2,1,""],argument_error_function:[17,2,1,""],environment:[17,2,1,""],get_configuration:[17,2,1,""]},"cpl_core.configuration.configuration_model_abc":{ConfigurationModelABC:[17,1,1,""]},"cpl_core.configuration.configuration_model_abc.ConfigurationModelABC":{from_dict:[17,2,1,""]},"cpl_core.configuration.configuration_variable_name_enum":{ConfigurationVariableNameEnum:[17,1,1,""]},"cpl_core.configuration.configuration_variable_name_enum.ConfigurationVariableNameEnum":{customer:[17,3,1,""],environment:[17,3,1,""],name:[17,3,1,""],to_list:[17,2,1,""]},"cpl_core.configuration.console_argument":{ConsoleArgument:[17,1,1,""]},"cpl_core.configuration.console_argument.ConsoleArgument":{aliases:[17,2,1,""],console_arguments:[17,2,1,""],is_value_token_optional:[17,2,1,""],name:[17,2,1,""],token:[17,2,1,""],value_token:[17,2,1,""]},"cpl_core.console":{background_color_enum:[18,0,0,"-"],console:[18,0,0,"-"],console_call:[18,0,0,"-"],foreground_color_enum:[18,0,0,"-"],spinner_thread:[18,0,0,"-"]},"cpl_core.console.background_color_enum":{BackgroundColorEnum:[18,1,1,""]},"cpl_core.console.background_color_enum.BackgroundColorEnum":{"default":[18,3,1,""],blue:[18,3,1,""],cyan:[18,3,1,""],green:[18,3,1,""],grey:[18,3,1,""],magenta:[18,3,1,""],red:[18,3,1,""],white:[18,3,1,""],yellow:[18,3,1,""]},"cpl_core.console.console":{Console:[18,1,1,""]},"cpl_core.console.console.Console":{background_color:[18,3,1,""],banner:[18,2,1,""],clear:[18,2,1,""],close:[18,2,1,""],color_reset:[18,2,1,""],disable:[18,2,1,""],enable:[18,2,1,""],error:[18,2,1,""],foreground_color:[18,3,1,""],read:[18,2,1,""],read_line:[18,2,1,""],reset_cursor_position:[18,2,1,""],select:[18,2,1,""],set_background_color:[18,2,1,""],set_cursor_position:[18,2,1,""],set_foreground_color:[18,2,1,""],set_hold_back:[18,2,1,""],spinner:[18,2,1,""],table:[18,2,1,""],write:[18,2,1,""],write_at:[18,2,1,""],write_line:[18,2,1,""],write_line_at:[18,2,1,""]},"cpl_core.console.console_call":{ConsoleCall:[18,1,1,""]},"cpl_core.console.console_call.ConsoleCall":{"function":[18,2,1,""],args:[18,2,1,""]},"cpl_core.console.foreground_color_enum":{ForegroundColorEnum:[18,1,1,""]},"cpl_core.console.foreground_color_enum.ForegroundColorEnum":{"default":[18,3,1,""],blue:[18,3,1,""],cyan:[18,3,1,""],green:[18,3,1,""],grey:[18,3,1,""],magenta:[18,3,1,""],red:[18,3,1,""],white:[18,3,1,""],yellow:[18,3,1,""]},"cpl_core.console.spinner_thread":{SpinnerThread:[18,1,1,""]},"cpl_core.console.spinner_thread.SpinnerThread":{exit:[18,2,1,""],run:[18,2,1,""],stop_spinning:[18,2,1,""]},"cpl_core.database":{database_model:[19,0,0,"-"],database_settings:[19,0,0,"-"],database_settings_name_enum:[19,0,0,"-"]},"cpl_core.database.connection":{database_connection:[20,0,0,"-"],database_connection_abc:[20,0,0,"-"]},"cpl_core.database.connection.database_connection":{DatabaseConnection:[20,1,1,""]},"cpl_core.database.connection.database_connection.DatabaseConnection":{connect:[20,2,1,""],engine:[20,2,1,""],session:[20,2,1,""]},"cpl_core.database.connection.database_connection_abc":{DatabaseConnectionABC:[20,1,1,""]},"cpl_core.database.connection.database_connection_abc.DatabaseConnectionABC":{connect:[20,2,1,""],engine:[20,2,1,""],session:[20,2,1,""]},"cpl_core.database.context":{database_context:[21,0,0,"-"],database_context_abc:[21,0,0,"-"]},"cpl_core.database.context.database_context":{DatabaseContext:[21,1,1,""]},"cpl_core.database.context.database_context.DatabaseContext":{connect:[21,2,1,""],engine:[21,2,1,""],save_changes:[21,2,1,""],session:[21,2,1,""]},"cpl_core.database.context.database_context_abc":{DatabaseContextABC:[21,1,1,""]},"cpl_core.database.context.database_context_abc.DatabaseContextABC":{connect:[21,2,1,""],engine:[21,2,1,""],save_changes:[21,2,1,""],session:[21,2,1,""]},"cpl_core.database.database_settings":{DatabaseSettings:[19,1,1,""]},"cpl_core.database.database_settings.DatabaseSettings":{auth_plugin:[19,2,1,""],case_sensitive:[19,2,1,""],connection_string:[19,2,1,""],credentials:[19,2,1,""],echo:[19,2,1,""],encoding:[19,2,1,""],from_dict:[19,2,1,""]},"cpl_core.database.database_settings_name_enum":{DatabaseSettingsNameEnum:[19,1,1,""]},"cpl_core.database.database_settings_name_enum.DatabaseSettingsNameEnum":{auth_plugin:[19,3,1,""],case_sensitive:[19,3,1,""],connection_string:[19,3,1,""],credentials:[19,3,1,""],echo:[19,3,1,""],encoding:[19,3,1,""]},"cpl_core.dependency_injection":{service_collection:[22,0,0,"-"],service_collection_abc:[22,0,0,"-"],service_descriptor:[22,0,0,"-"],service_lifetime_enum:[22,0,0,"-"],service_provider:[22,0,0,"-"],service_provider_abc:[22,0,0,"-"]},"cpl_core.dependency_injection.service_collection":{ServiceCollection:[22,1,1,""]},"cpl_core.dependency_injection.service_collection.ServiceCollection":{add_db_context:[22,2,1,""],add_logging:[22,2,1,""],add_scoped:[22,2,1,""],add_singleton:[22,2,1,""],add_transient:[22,2,1,""],build_service_provider:[22,2,1,""]},"cpl_core.dependency_injection.service_collection_abc":{ServiceCollectionABC:[22,1,1,""]},"cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC":{add_db_context:[22,2,1,""],add_logging:[22,2,1,""],add_scoped:[22,2,1,""],add_singleton:[22,2,1,""],add_transient:[22,2,1,""],build_service_provider:[22,2,1,""]},"cpl_core.dependency_injection.service_descriptor":{ServiceDescriptor:[22,1,1,""]},"cpl_core.dependency_injection.service_descriptor.ServiceDescriptor":{implementation:[22,2,1,""],lifetime:[22,2,1,""],service_type:[22,2,1,""]},"cpl_core.dependency_injection.service_lifetime_enum":{ServiceLifetimeEnum:[22,1,1,""]},"cpl_core.dependency_injection.service_lifetime_enum.ServiceLifetimeEnum":{"transient":[22,3,1,""],scoped:[22,3,1,""],singleton:[22,3,1,""]},"cpl_core.dependency_injection.service_provider":{ServiceProvider:[22,1,1,""]},"cpl_core.dependency_injection.service_provider.ServiceProvider":{build_service:[22,2,1,""],get_service:[22,2,1,""]},"cpl_core.dependency_injection.service_provider_abc":{ServiceProviderABC:[22,1,1,""]},"cpl_core.dependency_injection.service_provider_abc.ServiceProviderABC":{build_service:[22,2,1,""],get_service:[22,2,1,""]},"cpl_core.environment":{application_environment:[23,0,0,"-"],application_environment_abc:[23,0,0,"-"],environment_name_enum:[23,0,0,"-"]},"cpl_core.environment.application_environment":{ApplicationEnvironment:[23,1,1,""]},"cpl_core.environment.application_environment.ApplicationEnvironment":{application_name:[23,2,1,""],customer:[23,2,1,""],date_time_now:[23,2,1,""],end_time:[23,2,1,""],environment_name:[23,2,1,""],host_name:[23,2,1,""],runtime_directory:[23,2,1,""],set_runtime_directory:[23,2,1,""],set_working_directory:[23,2,1,""],start_time:[23,2,1,""],working_directory:[23,2,1,""]},"cpl_core.environment.application_environment_abc":{ApplicationEnvironmentABC:[23,1,1,""]},"cpl_core.environment.application_environment_abc.ApplicationEnvironmentABC":{application_name:[23,2,1,""],customer:[23,2,1,""],date_time_now:[23,2,1,""],end_time:[23,2,1,""],environment_name:[23,2,1,""],host_name:[23,2,1,""],runtime_directory:[23,2,1,""],set_runtime_directory:[23,2,1,""],set_working_directory:[23,2,1,""],start_time:[23,2,1,""],working_directory:[23,2,1,""]},"cpl_core.environment.environment_name_enum":{EnvironmentNameEnum:[23,1,1,""]},"cpl_core.environment.environment_name_enum.EnvironmentNameEnum":{development:[23,3,1,""],production:[23,3,1,""],staging:[23,3,1,""],testing:[23,3,1,""]},"cpl_core.logging":{logger_abc:[24,0,0,"-"],logger_service:[24,0,0,"-"],logging_level_enum:[24,0,0,"-"],logging_settings:[24,0,0,"-"],logging_settings_name_enum:[24,0,0,"-"]},"cpl_core.logging.logger_abc":{LoggerABC:[24,1,1,""]},"cpl_core.logging.logger_abc.LoggerABC":{debug:[24,2,1,""],error:[24,2,1,""],fatal:[24,2,1,""],header:[24,2,1,""],info:[24,2,1,""],trace:[24,2,1,""],warn:[24,2,1,""]},"cpl_core.logging.logger_service":{Logger:[24,1,1,""]},"cpl_core.logging.logger_service.Logger":{create:[24,2,1,""],debug:[24,2,1,""],error:[24,2,1,""],fatal:[24,2,1,""],header:[24,2,1,""],info:[24,2,1,""],trace:[24,2,1,""],warn:[24,2,1,""]},"cpl_core.logging.logging_level_enum":{LoggingLevelEnum:[24,1,1,""]},"cpl_core.logging.logging_level_enum.LoggingLevelEnum":{DEBUG:[24,3,1,""],ERROR:[24,3,1,""],FATAL:[24,3,1,""],INFO:[24,3,1,""],OFF:[24,3,1,""],TRACE:[24,3,1,""],WARN:[24,3,1,""]},"cpl_core.logging.logging_settings":{LoggingSettings:[24,1,1,""]},"cpl_core.logging.logging_settings.LoggingSettings":{console:[24,2,1,""],filename:[24,2,1,""],from_dict:[24,2,1,""],level:[24,2,1,""],path:[24,2,1,""]},"cpl_core.logging.logging_settings_name_enum":{LoggingSettingsNameEnum:[24,1,1,""]},"cpl_core.logging.logging_settings_name_enum.LoggingSettingsNameEnum":{console_level:[24,3,1,""],file_level:[24,3,1,""],filename:[24,3,1,""],path:[24,3,1,""]},"cpl_core.mailing":{email:[25,0,0,"-"],email_client_abc:[25,0,0,"-"],email_client_service:[25,0,0,"-"],email_client_settings:[25,0,0,"-"],email_client_settings_name_enum:[25,0,0,"-"]},"cpl_core.mailing.email":{EMail:[25,1,1,""]},"cpl_core.mailing.email.EMail":{add_header:[25,2,1,""],add_receiver:[25,2,1,""],body:[25,2,1,""],check_mail:[25,2,1,""],get_content:[25,2,1,""],header:[25,2,1,""],header_list:[25,2,1,""],receiver:[25,2,1,""],receiver_list:[25,2,1,""],subject:[25,2,1,""],transceiver:[25,2,1,""]},"cpl_core.mailing.email_client_abc":{EMailClientABC:[25,1,1,""]},"cpl_core.mailing.email_client_abc.EMailClientABC":{connect:[25,2,1,""],send_mail:[25,2,1,""]},"cpl_core.mailing.email_client_service":{EMailClient:[25,1,1,""]},"cpl_core.mailing.email_client_service.EMailClient":{connect:[25,2,1,""],create:[25,2,1,""],login:[25,2,1,""],send_mail:[25,2,1,""]},"cpl_core.mailing.email_client_settings":{EMailClientSettings:[25,1,1,""]},"cpl_core.mailing.email_client_settings.EMailClientSettings":{credentials:[25,2,1,""],from_dict:[25,2,1,""],host:[25,2,1,""],port:[25,2,1,""],user_name:[25,2,1,""]},"cpl_core.mailing.email_client_settings_name_enum":{EMailClientSettingsNameEnum:[25,1,1,""]},"cpl_core.mailing.email_client_settings_name_enum.EMailClientSettingsNameEnum":{credentials:[25,3,1,""],host:[25,3,1,""],port:[25,3,1,""],user_name:[25,3,1,""]},"cpl_core.time":{time_format_settings:[26,0,0,"-"],time_format_settings_names_enum:[26,0,0,"-"]},"cpl_core.time.time_format_settings":{TimeFormatSettings:[26,1,1,""]},"cpl_core.time.time_format_settings.TimeFormatSettings":{date_format:[26,2,1,""],date_time_format:[26,2,1,""],date_time_log_format:[26,2,1,""],from_dict:[26,2,1,""],time_format:[26,2,1,""]},"cpl_core.time.time_format_settings_names_enum":{TimeFormatSettingsNamesEnum:[26,1,1,""]},"cpl_core.time.time_format_settings_names_enum.TimeFormatSettingsNamesEnum":{date_format:[26,3,1,""],date_time_format:[26,3,1,""],date_time_log_format:[26,3,1,""],time_format:[26,3,1,""]},"cpl_core.utils":{credential_manager:[27,0,0,"-"],pip:[27,0,0,"-"],string:[27,0,0,"-"]},"cpl_core.utils.credential_manager":{CredentialManager:[27,1,1,""]},"cpl_core.utils.credential_manager.CredentialManager":{build_string:[27,2,1,""],decrypt:[27,2,1,""],encrypt:[27,2,1,""]},"cpl_core.utils.pip":{Pip:[27,1,1,""]},"cpl_core.utils.pip.Pip":{get_executable:[27,2,1,""],get_outdated:[27,2,1,""],get_package:[27,2,1,""],install:[27,2,1,""],reset_executable:[27,2,1,""],set_executable:[27,2,1,""],uninstall:[27,2,1,""]},"cpl_core.utils.string":{String:[27,1,1,""]},"cpl_core.utils.string.String":{convert_to_camel_case:[27,2,1,""],convert_to_snake_case:[27,2,1,""],first_to_lower:[27,2,1,""],first_to_upper:[27,2,1,""],random_string:[27,2,1,""]},"cpl_query.exceptions":{ArgumentNoneException:[29,4,1,""],ExceptionArgument:[29,1,1,""],IndexOutOfRangeException:[29,4,1,""],InvalidTypeException:[29,4,1,""],WrongTypeException:[29,4,1,""]},"cpl_query.exceptions.ExceptionArgument":{func:[29,3,1,""],index:[29,3,1,""],list:[29,3,1,""],type:[29,3,1,""],value:[29,3,1,""]},"cpl_query.extension":{iterable_abc:[30,0,0,"-"],list:[30,0,0,"-"],ordered_iterable_abc:[30,0,0,"-"]},"cpl_query.extension.iterable_abc":{IterableABC:[30,1,1,""]},"cpl_query.extension.iterable_abc.IterableABC":{all:[30,2,1,""],any:[30,2,1,""],append:[30,2,1,""],average:[30,2,1,""],contains:[30,2,1,""],count:[30,2,1,""],distinct:[30,2,1,""],element_at:[30,2,1,""],element_at_or_default:[30,2,1,""],extend:[30,2,1,""],first:[30,2,1,""],first_or_default:[30,2,1,""],for_each:[30,2,1,""],last:[30,2,1,""],last_or_default:[30,2,1,""],max:[30,2,1,""],min:[30,2,1,""],order_by:[30,2,1,""],order_by_descending:[30,2,1,""],reverse:[30,2,1,""],single:[30,2,1,""],single_or_default:[30,2,1,""],skip:[30,2,1,""],skip_last:[30,2,1,""],sum:[30,2,1,""],take:[30,2,1,""],take_last:[30,2,1,""],to_list:[30,2,1,""],type:[30,2,1,""],where:[30,2,1,""]},"cpl_query.extension.list":{List:[30,1,1,""]},"cpl_query.extension.ordered_iterable_abc":{OrderedIterableABC:[30,1,1,""]},"cpl_query.extension.ordered_iterable_abc.OrderedIterableABC":{then_by:[30,2,1,""],then_by_descending:[30,2,1,""]},"cpl_query.tests":{iterable_test:[31,0,0,"-"],models:[31,0,0,"-"],query_test:[31,0,0,"-"],tester:[31,0,0,"-"]},"cpl_query.tests.iterable_test":{IterableTest:[31,1,1,""]},"cpl_query.tests.iterable_test.IterableTest":{setUp:[31,2,1,""],test_append:[31,2,1,""]},"cpl_query.tests.models":{Address:[31,1,1,""],User:[31,1,1,""]},"cpl_query.tests.query_test":{QueryTest:[31,1,1,""]},"cpl_query.tests.query_test.QueryTest":{setUp:[31,2,1,""],test_all:[31,2,1,""],test_any:[31,2,1,""],test_avg:[31,2,1,""],test_contains:[31,2,1,""],test_count:[31,2,1,""],test_distinct:[31,2,1,""],test_element_at:[31,2,1,""],test_element_at_or_default:[31,2,1,""],test_first:[31,2,1,""],test_first_or_default:[31,2,1,""],test_for_each:[31,2,1,""],test_last:[31,2,1,""],test_last_or_default:[31,2,1,""],test_max:[31,2,1,""],test_min:[31,2,1,""],test_order_by:[31,2,1,""],test_order_by_descending:[31,2,1,""],test_reverse:[31,2,1,""],test_single:[31,2,1,""],test_single_or_default:[31,2,1,""],test_skip:[31,2,1,""],test_skip_last:[31,2,1,""],test_sum:[31,2,1,""],test_take:[31,2,1,""],test_take_last:[31,2,1,""],test_then_by:[31,2,1,""],test_then_by_descending:[31,2,1,""],test_where:[31,2,1,""]},"cpl_query.tests.tester":{Tester:[31,1,1,""]},"cpl_query.tests.tester.Tester":{create:[31,2,1,""],start:[31,2,1,""]},cpl_query:{exceptions:[29,0,0,"-"],tests:[31,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","attribute","Python attribute"],"4":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:attribute","4":"py:exception"},terms:{"abstract":[2,16,17,20,21,22,23,24,25,30],"byte":27,"case":[13,27,31,36],"char":[18,27],"class":[2,16,17,18,19,20,21,22,23,24,25,26,27,29,30,31],"default":[18,37],"enum":[2,17,18,19,22,23,24,25,26,29],"float":30,"function":[18,27,30,36],"import":[13,36],"int":[18,27,30,36],"new":[6,13,14,18,35,36,37],"public":13,"return":[17,18,22,25,30,36],"short":[3,6],"static":[17,25,27],"transient":22,"true":17,"while":13,Adding:13,For:13,IDE:36,Such:13,That:13,The:[1,2,4,5,6,7,8,10,13,22,25,27,33,34,36,37],These:33,Useful:[18,27],With:6,__init__:36,__main__:36,__name__:36,_extens:30,_func:30,_iterableabc__iter:30,_iterableabc__object:30,abc:[2,16,17,18,20,21,22,23,24,25,30],abl:13,about:[33,37],absolut:6,accept:13,activ:18,add:[5,6,13,14,17,22,25,35,36],add_configur:17,add_console_argu:17,add_db_context:22,add_environment_vari:17,add_head:25,add_json_fil:17,add_log:22,add_receiv:25,add_scop:22,add_singleton:22,add_transi:22,added:0,addit:[6,13],additional_argu:17,address:[25,31],agre:13,alia:6,alias:[6,17],all:[1,7,12,13,30],allow:13,alreadi:[13,36,37],also:[36,37],ani:[6,18,30],api:[13,33,34,35],app:[1,6,16,32,33,34,35,36],append:30,appli:13,applic:[5,9,15,18,23,24,25,33,34,35,36,37],application_abc:[15,35],application_build:[15,35],application_builder_abc:[15,35],application_environ:[15,35],application_environment_abc:[15,16,24,25,35],application_extension_abc:16,application_nam:23,applicationabc:16,applicationbuild:16,applicationbuilderabc:16,applicationenviron:23,applicationenvironmentabc:[16,23,24,25],applicationextensionabc:16,appropri:13,appset:[16,36],arg:[16,18,21,27,29],argument:[1,5,6,7,14,17,18,27,29,35],argument_error_funct:17,argumentnoneexcept:29,artifact:6,ascend:30,ascii_lett:36,ascii_lowercas:36,ascii_uppercas:36,ask:13,attribut:[17,19,24,25,26],auth_plugin:19,authplugin:19,automat:13,avail:[3,6,13],averag:30,back:[13,18],background:18,background_color:18,background_color_enum:[15,35],backgroundcolorenum:18,banner:18,base64:27,base:[2,16,17,18,19,20,21,22,23,24,25,26,27,29,30,31,36],basic:[14,35,36,37],been:13,befor:[13,18,31],behavior:13,better:13,bit:13,blue:18,bodi:25,bool:[17,18,25,30],branch:13,build:[6,7,14,16,27,35,36,37],build_servic:22,build_service_provid:22,build_str:27,call:[0,8,16,18],callabl:[17,18,22,30],camel:27,camelcas:27,can:[0,1,6,7,8,13,33,37],case_sensit:19,casesensit:19,chang:[6,9,13,21,36],channel:13,charact:18,check:25,check_mail:25,checkout:13,chnage:37,choic:36,citizen:13,classmethod:[18,27],clear:18,cli:[12,32,33,34,35,36],close:[13,18],code:[36,37],codebas:13,collect:[17,18,22,30],color:18,color_reset:18,command:[0,1,3,5,7,8,13,14,27,35,37],commandnameoralia:6,commit:13,common:[33,34],commun:13,complex:[30,33,34],config:[16,22],configmodel:2,configur:[15,16,19,22,24,25,26,35],configuration_abc:[15,16,22,35],configuration_model_abc:[15,19,24,25,26,35],configuration_variable_name_enum:[15,35],configurationabc:[16,17,22],configurationmodelabc:[17,19,24,25,26],configurationvariablenameenum:17,configure_configur:16,configure_servic:16,confirm:13,connect:[15,19,21,25,35],connection_str:[19,20,21],connectionstr:19,consid:13,consist:13,consol:[1,3,5,6,7,15,17,24,32,35,36],console_argu:[15,35],console_cal:[15,35],console_level:24,consoleargu:17,consolecal:18,consoleloglevel:24,contain:[16,30],content:[14,32,35],context:[15,19,22,35,37],continu:36,contributor:13,convert:[17,24,25,26,27],convert_to_camel_cas:27,convert_to_snake_cas:27,coordin:[13,18],copi:1,core:[20,21],count:[13,30],cpl:[6,14,22,32,37],cpl_core:[7,15,35,36,37],cpl_queri:[28,35],craft:13,creat:[6,7,13,16,22,24,25,27,31,32,33,34,35],credenti:[19,25,27],credential_manag:[15,35],credentialmanag:27,current:[6,23],cursor:18,cursor_background_color:18,cursor_foreground_color:18,custom:[16,17,23],cyan:18,data:7,databas:[15,22,35],database_connect:[15,19,35],database_connection_abc:[15,19,35],database_context:[15,19,35],database_context_abc:[15,19,22,35],database_model:[15,35],database_set:[15,20,21,22,35],database_settings_name_enum:[15,35],databaseconnect:20,databaseconnectionabc:20,databasecontext:21,databasecontextabc:[21,22],databaseset:[19,20,21,22],databasesettingsnameenum:19,date_format:26,date_time_format:26,date_time_log_format:26,date_time_now:23,dateformat:26,datetimeformat:26,datetimelogformat:26,db_context:22,db_context_typ:22,db_set:22,debug:24,declin:37,decod:27,decrypt:27,def:36,defin:[6,17,37],delet:8,deped:4,depend:[6,11,36],dependency_inject:[15,16,35],descend:30,describ:13,descript:[6,14,35],descriptor:22,design:13,desktop:[33,34],detail:33,determin:13,develop:[6,13,23,33,34,36,37],dict:[17,18,19,24,25,26],directli:[1,13],directori:[1,6,7,23,36],disabl:18,discuss:13,dist:[6,7],distinct:30,doc:[20,21],document:13,doesn:13,don:[13,36],done:36,duplic:13,each:6,echo:19,edit:13,edraft:[13,37],effici:[33,34],effort:13,either:6,element:[18,30],element_at:30,element_at_or_default:30,elif:36,email:[15,35],email_client_abc:[15,35],email_client_servic:[15,35],email_client_set:[15,35],email_client_settings_name_enum:[15,35],emailcli:25,emailclientabc:25,emailclientset:25,emailclientsettingsnameenum:25,emul:36,enabl:[18,36],encod:[19,27],encrypt:27,end:[18,24,30],end_tim:23,engin:[20,21],enough:13,ensur:13,enter:37,enterpris:[33,34],entri:[16,18],enumer:[17,18,19,22,23,24,25,26,29],env:[16,24],environ:[15,16,17,24,25,32,35],environment_nam:23,environment_name_enum:[15,35],environmentnameenum:23,error:[17,18,24],essenti:[13,36],even:13,everyth:33,except:[24,28,35],exceptionargu:29,execut:[1,6,7,27],exercis:31,exist:13,exit:[18,36],explor:36,extend:30,extens:[16,28,35],extra:[27,37],extract:13,fatal:24,featur:37,file:[1,2,6,7,8,9,13,17,37],file_level:24,fileloglevel:24,filenam:24,find:13,first:[6,13,27,30,33,34],first_or_default:30,first_to_low:27,first_to_upp:27,fix:13,fixtur:31,fixup:13,folder:36,follow:[6,13,36,37],for_each:30,fore:37,foreground:18,foreground_color:18,foreground_color_enum:[15,35],foregroundcolorenum:18,fork:13,format:[6,24,26],forth:13,found:17,from:[0,6,7,8,10,12,13,16,17,19,30,33,34,36],from_dict:[17,19,24,25,26],full:36,func:[29,30],gener:[5,6,7,14,35,36,37],generate_password:36,get:[27,33,34,35,37],get_configur:17,get_cont:25,get_execut:27,get_outd:27,get_packag:27,get_servic:22,git:13,gitea:13,give:13,given:[0,1,4,6,7,10,17,18,19,22,27],going:13,good:13,great:33,green:18,grei:18,guid:13,handl:[18,27],hard:13,has:[0,18],have:[6,13,36,37],haven:13,head:13,header:[18,24,25],header_background_color:18,header_foreground_color:18,header_list:25,hear:13,hello:[36,37],help:[6,13,14,33,34,35],here:[13,37],hold:18,hook:31,host:25,host_nam:23,html:[20,21],http:[20,21,37],immedi:6,implement:[13,22],includ:[1,13,37],index:[27,29,30,36,37],indexoutofrangeexcept:29,info:[13,24],inform:[13,24,37],initi:[5,32,35],inject:36,input:[18,36],instal:[6,12,14,27,32,35,36],instanc:[16,22],instance_typ:22,interact:18,intern:22,introduc:36,invalid:17,invalidtypeexcept:29,investig:13,is_value_token_opt:17,isol:13,issus:13,iter:30,iterable_abc:[28,35],iterableabc:30,iterabletest:31,its:[6,13],join:36,json:[7,17,36,37],keep:13,kei:37,key_typ:17,keyword:18,known:17,kwarg:18,languag:[14,35],larger:13,last:[18,30],last_or_default:30,launch:37,learn:[33,34,37],len:36,length:[18,27,36],letter:36,level:24,lib:37,librari:[1,5,6,7,32,33,34,35],licens:36,lifetim:22,like:[13,36],line:[13,18,36],list:[3,6,12,17,18,22,25,27,28,29,35],live:37,load:16,local:[27,32,35],log:[15,25,35],logfil:24,logger:[22,24,25],logger_abc:[15,25,35],logger_servic:[15,35],loggerabc:[24,25],logging_level_enum:[15,35],logging_set:[15,35],logging_settings_name_enum:[15,35],logginglevelenum:24,loggingset:24,loggingsettingsnameenum:24,login:25,look:36,love:13,lower:[27,36],magenta:18,mail:[15,35],mail_set:25,main:[16,36],maintain:13,major:13,make:[13,37],manag:13,master:13,max:30,mayb:13,meant:[33,34],member:13,menu:[18,32,35],messag:[3,18,24],method:[13,31],methodnam:31,might:13,min:30,mind:13,minim:13,mit:13,more:[13,37],most:[6,36,37],msg_len:18,must:[0,1,6,8,13],name:[0,1,2,5,6,7,8,17,23,24,27,31,37],navig:37,need:[13,36,37],next:[18,32,35],none:[17,18,22,24,25,27,29,30,31],note:13,number:30,object:[16,17,18,22,25,27,30,31],occur:17,occurr:30,off:24,often:13,on_blu:18,on_cyan:18,on_default:18,on_green:18,on_grei:18,on_magenta:18,on_r:18,on_whit:18,on_yellow:18,one:13,onli:36,open:[13,36,37],option:[6,13,17,18,22,24,25,27,30,36],option_background_color:18,option_foreground_color:18,optionalsarg:6,order:[13,30],order_bi:30,order_by_descend:30,ordered_iterable_abc:[28,35],orderediterableabc:30,orderedlist:30,org:[20,21],origin:13,otherwis:[0,8],ouput:36,our:13,out:[13,36,37],outdat:27,outlin:13,output:[1,6,7,17,18,36,37],outsid:13,overview:[14,35,37],own:6,packag:[4,5,6,10,12,27,32,33,34,35,36],page:33,parent:6,password:36,patch:13,path:[0,1,7,8,14,17,23,24,35,37],pep:13,pip:[4,10,12,15,35,36,37],place:[17,30],platform:[33,34],pleas:13,point:[13,16,18],port:25,posit:18,possibl:13,prefix:[6,17],prepar:[1,6,7,13,16],prerequisit:[32,35],press:37,prevent:13,print:[18,36],problem:13,proce:13,process:13,product:23,program:24,project:[0,1,4,6,7,8,10,11,13,14,32,35,37],projectmain:36,prompt:37,properti:[17,18,19,20,21,22,23,24,25,26,30],propos:13,provid:[13,16,22,36,37],publish:[1,6,14,35,37],push:13,pycharm:36,pyhton:37,python:[1,13,27,33,34,36,37],queri:[33,34,35],querytest:31,question:13,quickli:13,random:[27,36],random_str:27,rang:36,read:[17,18,36],read_lin:18,readi:[13,37],readili:13,readm:36,realli:13,receiv:25,receiver_list:25,red:18,refer:[0,8,33,34,35],referenc:0,rel:[14,35],relat:13,remov:[0,6,7,14,35],replac:27,repo:13,repositori:13,repres:[18,19,23,25],represent:[20,21,22,24,25,26],reproduc:13,reproduct:13,requir:13,requiredarg:6,reserv:13,reset:[18,27],reset_cursor_posit:18,reset_execut:27,restart:[6,9,37],result:[25,27],revers:30,right:13,root:6,run:[1,5,16,18,27,36,37],runtest:31,runtim:23,runtime_directori:23,same:6,sampl:36,save:[13,17,21],save_chang:21,scenario:13,schemat:[14,35],scope:22,search:[13,17,22],search_typ:17,section:36,see:[5,13,20,21,36,37],select:[18,36],send:[13,25],send_mail:25,serv:6,server:[6,25,33,34,37],servic:[2,16,22,24,25,36],service_collect:[15,35],service_collection_abc:[15,16,35],service_descriptor:[15,35],service_lifetime_enum:[15,35],service_provid:[15,35],service_provider_abc:[15,16,35],service_typ:22,servicecollect:22,servicecollectionabc:[16,22],servicedescriptor:22,servicelifetimeenum:22,serviceprovid:22,serviceproviderabc:[16,22],session:[20,21],set:[2,16,17,18,19,22,23,24,25,26,27,31,32,35,36],set_background_color:18,set_cursor_posit:18,set_execut:27,set_foreground_color:18,set_hold_back:18,set_runtime_directori:23,set_working_directori:23,setup:[6,7,31,34,37],sh_cpl:[13,37],should:[17,36,37],show:[3,18],shown:[6,17,37],significantli:13,similar:37,simpl:[5,33,34,37],singl:30,single_or_default:30,singleton:22,size:13,skip:30,skip_last:30,small:13,snake:27,snake_cas:27,some:6,sometim:13,soon:13,sort:30,sourc:[0,1,7,13,27,36,37],specifi:[0,6,8,17],spinner:18,spinner_background_color:18,spinner_foreground_color:18,spinner_thread:[15,35],spinnerthread:18,sqlalchemi:[20,21],src:36,stage:23,standard:27,start:[6,14,31,33,34,35],start_tim:23,startup:16,startup_abc:[15,35],startupabc:16,statement:6,stderr:27,stdout:27,step:13,stop:18,stop_spin:18,store:17,str:[0,1,2,3,4,5,7,8,10,17,18,20,21,23,24,25,27,36],street:31,string:[15,18,20,21,24,25,35,36],style:13,subject:25,submodul:[15,35],subprocess:27,success:37,successfulli:13,sum:30,suppli:6,sure:13,syntax:[14,35],system:27,tabl:[14,18,27,32,35],take:[6,17,30],take_last:30,target:[0,1],team:13,termin:[6,18,36,37],test:[13,23,36],test_al:31,test_ani:31,test_append:31,test_avg:31,test_contain:31,test_count:31,test_distinct:31,test_element_at:31,test_element_at_or_default:31,test_first:31,test_first_or_default:31,test_for_each:31,test_last:31,test_last_or_default:31,test_max:31,test_min:31,test_order_bi:31,test_order_by_descend:31,test_revers:31,test_singl:31,test_single_or_default:31,test_skip:31,test_skip_last:31,test_sum:31,test_tak:31,test_take_last:31,test_then_bi:31,test_then_by_descend:31,test_wher:31,testcas:31,text:18,text_background_color:18,text_foreground_color:18,than:13,thank:13,them:1,themselv:13,then_bi:30,then_by_descend:30,thi:[3,13,16,33,34,36,37],those:37,thread:[2,18],through:36,throughout:13,thrown:24,time:[13,15,24,35],time_format:[24,26],time_format_set:[15,24,35],time_format_settings_names_enum:[15,35],timeformat:26,timeformatset:[24,26],timeformatsettingsnamesenum:26,to_list:[17,30],todai:13,token:17,topic:13,trace:24,traceback:18,tracker:13,transceiv:25,tree:24,tutori:[36,37],type:[0,1,2,3,4,7,8,10,14,16,17,22,29,30,35],ultim:13,under:13,understand:[13,33,34,36,37],unfortun:13,uninstal:[6,14,27,35],union:[17,18,22,30],unit:13,unittest:31,updat:[6,13,14,35],upfront:13,upper:[27,36],url:[27,37],use:[0,6,8,16,25,33,34,36,37],use_extens:16,use_startup:16,used:[1,7,16],user:[31,36],user_nam:25,usernam:25,uses:36,util:[15,35],valid:[25,36],valu:[0,1,2,3,4,5,7,8,10,17,18,19,22,23,24,25,26,29,30],value_token:17,variabl:[17,27],version:[6,14,35],via:[4,10,13],walk:36,want:[13,36],warn:24,watch:37,wealth:13,welcom:36,well:13,what:[32,35],when:[18,29],where:30,whether:17,which:[0,6,17,18,27,37],white:18,who:13,window:37,within:[1,6,13],without:[4,6,13],work:[6,13,23],workaround:13,workflow:[14,35],working_directori:23,workspac:[0,1,5,6,8,32,35],world:[36,37],would:13,write:[13,18,24],write_at:18,write_lin:[18,36],write_line_at:18,wrongtypeexcept:29,yellow:18,you:[0,1,6,8,13,33,34,36,37],your:[4,6,9,13,33,34,37]},titles:["cpl add","cpl build","cpl generate","cpl help","cpl install","cpl new","CLI Overview and Command Reference","cpl publish","cpl remove","cpl start","cpl uninstall","cpl update","cpl version","Contributing to CPL","CLI Reference","API Reference","cpl_core.application","cpl_core.configuration","cpl_core.console","cpl_core.database","cpl_core.database.connection","cpl_core.database.context","cpl_core.dependency_injection","cpl_core.environment","cpl_core.logging","cpl_core.mailing","cpl_core.time","cpl_core.utils","Query Reference","cpl_query.exceptions","cpl_query.extension","cpl_query.tests package","Getting started","Introduction to the CPL Docs","Introduction to the CPL Docs","cpl","Getting started with CPL","Setting up the local environment and workspace"],titleterms:{"new":5,add:0,address:13,api:15,app:37,applic:16,application_abc:16,application_build:16,application_builder_abc:16,application_environ:23,application_environment_abc:23,argument:[0,2,3,4,8,10],background_color_enum:18,basic:6,bug:13,build:1,cli:[6,14,37],code:13,command:6,configur:17,configuration_abc:17,configuration_model_abc:17,configuration_variable_name_enum:17,connect:20,consol:[18,37],console_argu:17,console_cal:18,content:[0,1,2,4,5,6,7,8,10,31,36,37],context:21,contribut:13,cpl:[0,1,2,3,4,5,7,8,9,10,11,12,13,33,34,35,36],cpl_core:[16,17,18,19,20,21,22,23,24,25,26,27],cpl_queri:[29,30,31],creat:[36,37],credential_manag:27,databas:[19,20,21],database_connect:20,database_connection_abc:20,database_context:21,database_context_abc:21,database_model:19,database_set:19,database_settings_name_enum:19,dependency_inject:22,descript:[0,1,2,3,4,5,7,8,10],doc:[33,34],email:25,email_client_abc:25,email_client_servic:25,email_client_set:25,email_client_settings_name_enum:25,environ:[23,37],environment_name_enum:23,except:29,explor:34,extens:30,featur:13,feedback:13,foreground_color_enum:18,found:13,gener:2,get:[32,36],guidelin:13,help:3,initi:37,instal:[4,37],introduct:[33,34],issu:13,iterable_abc:30,iterable_test:31,languag:6,librari:37,licens:13,list:30,local:37,log:24,logger_abc:24,logger_servic:24,logging_level_enum:24,logging_set:24,logging_settings_name_enum:24,mail:25,manual:33,menu:36,model:31,modul:31,next:[36,37],ordered_iterable_abc:30,overview:6,packag:[31,37],path:6,pip:27,prerequisit:[36,37],project:[5,36],publish:7,pull:13,queri:28,query_test:31,refer:[6,14,15,28],rel:6,remov:8,request:13,review:13,rule:13,schemat:[2,6],service_collect:22,service_collection_abc:22,service_descriptor:22,service_lifetime_enum:22,service_provid:22,service_provider_abc:22,set:37,spinner_thread:18,start:[9,32,36,37],startup_abc:16,string:27,submiss:13,submit:13,submodul:[19,31],syntax:6,tabl:[6,36,37],test:31,tester:31,time:26,time_format_set:26,time_format_settings_names_enum:26,type:5,uninstal:10,updat:11,util:27,version:12,what:[36,37],workflow:6,workspac:37}})
\ No newline at end of file
diff --git a/docs/build/html/setup.html b/docs/build/html/setup.html
index 89071bfd..4a2ed637 100644
--- a/docs/build/html/setup.html
+++ b/docs/build/html/setup.html
@@ -103,6 +103,7 @@
CLI Reference
API Reference
+Query Reference
diff --git a/docs/source/conf.py b/docs/source/conf.py
index b4e07d05..6954834c 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -51,6 +51,8 @@ templates_path = ['_templates']
exclude_patterns = [
'cpl_cli/templates/*',
'cpl_cli/*',
+ 'tests',
+ 'cpl_query/tests/*',
'tests/*'
]
@@ -65,4 +67,4 @@ html_theme = 'sphinx_rtd_theme'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
\ No newline at end of file
+html_static_path = ['_static']
diff --git a/docs/source/cpl_query.exceptions.rst b/docs/source/cpl_query.exceptions.rst
new file mode 100644
index 00000000..d492c637
--- /dev/null
+++ b/docs/source/cpl_query.exceptions.rst
@@ -0,0 +1,10 @@
+cpl_query.exceptions
+=================================
+
+cpl_query.exceptions
+----------------------------------------------------
+
+.. automodule:: cpl_query.exceptions
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/source/cpl_query.extension.rst b/docs/source/cpl_query.extension.rst
new file mode 100644
index 00000000..3f995913
--- /dev/null
+++ b/docs/source/cpl_query.extension.rst
@@ -0,0 +1,26 @@
+cpl_query.extension
+=================================
+
+cpl_query.extension.iterable_abc
+----------------------------------------------------
+
+.. automodule:: cpl_query.extension.iterable_abc
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+cpl_query.extension.list
+----------------------------------------------------
+
+.. automodule:: cpl_query.extension.list
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+cpl_query.extension.ordered_iterable_abc
+----------------------------------------------------
+
+.. automodule:: cpl_query.extension.ordered_iterable_abc
+ :members:
+ :undoc-members:
+ :show-inheritance:
\ No newline at end of file
diff --git a/docs/source/cpl_query.rst b/docs/source/cpl_query.rst
new file mode 100644
index 00000000..10d6f0d8
--- /dev/null
+++ b/docs/source/cpl_query.rst
@@ -0,0 +1,8 @@
+Query Reference
+===========
+
+.. toctree::
+ :maxdepth: 4
+
+ cpl_query.extension
+ cpl_query.exceptions
diff --git a/docs/source/introduction.md b/docs/source/introduction.md
index eb36b40f..9e43037c 100644
--- a/docs/source/introduction.md
+++ b/docs/source/introduction.md
@@ -8,5 +8,6 @@ This CPL docs help you learn, understand and use the package. From your first ap
- [Getting started](quickstart)
- [Setup](setup)
-- [API Reference](cpl)
+- [API Reference](cpl_core)
- [CLI Reference](cli.overview)
+- [Query Reference](cpl_query)
diff --git a/scripts/create_docs.sh b/scripts/create_docs.sh
index ea3d0d8f..41e6f8f8 100755
--- a/scripts/create_docs.sh
+++ b/scripts/create_docs.sh
@@ -2,5 +2,7 @@
cd ../docs/
sphinx-apidoc -o source/ ../src/cpl_core
+sphinx-apidoc -o source/ ../src/cpl_query
make clean
-make html;
\ No newline at end of file
+make html;
+rm source/cpl_query.tests.rst
\ No newline at end of file
diff --git a/src/cpl_query/exceptions.py b/src/cpl_query/exceptions.py
index 7fc33909..873de96e 100644
--- a/src/cpl_query/exceptions.py
+++ b/src/cpl_query/exceptions.py
@@ -12,6 +12,8 @@ class ExceptionArgument(Enum):
# exceptions
class ArgumentNoneException(Exception):
+ r"""Exception when argument is None
+ """
def __init__(self, arg: ExceptionArgument):
Exception.__init__(self, f'argument {arg} is None')