# Introduction to the CPL Docs

The Common Python Library (CPL) is a package for python and a development platform meant to help you create simple and efficient server and desktop applications.

This CPL docs help you learn, understand and use the package. From your first application to complex apps for enterprises.

## Feature overview

- Expandle
- Application base
  - Standardized application classes
  - Application object builder
  - Application extension classes
  - Startup classes
  - Startup extension classes
- Configuration
  - Configure via object mapped JSON
  - Console argument handling
- Console class for in and output
  - Banner
  - Spinner
  - Options (menu)
  - Table
  - Write
  - Write_at
  - Write_line
  - Write_line_at
- Dependency injection
  - Service lifetimes: singleton, scoped and transient
- Providing of application environment
  - Environment (development, staging, testing, production)
  - Appname
  - Customer
  - Hostname
  - Runtime directory
  - Working directory
- Logging
  - Standardized logger
  - Log-level (FATAL, ERROR, WARN, INFO, DEBUG & TRACE)
- Mail handling
  - Send mails
- Pipe classes
  - Convert input
- Utils
  - Credential manager
    - Encryption via BASE64
  - PIP wrapper class based on subprocess
    - Run pip commands
  - String converter to different variants
    - to_lower_case
    - to_camel_case
    - ...

## Explore

- [Getting started](quickstart)
- [Setup](setup)
- [API Reference](cpl_core)
- [CLI Reference](cli.overview)
- [Query Reference](cpl_query)
