154 lines
3.6 KiB
Markdown
154 lines
3.6 KiB
Markdown
<h1 align="center">CPL - Common python library</h1>
|
|
|
|
<!-- Summary -->
|
|
<p align="center">
|
|
<!-- <img src="" alt="cpl-logo" width="120px" height="120px"/> -->
|
|
<br>
|
|
<i>
|
|
CPL is a development platform for python server applications
|
|
<br>using Python.</i>
|
|
<br>
|
|
</p>
|
|
|
|
## Table of Contents
|
|
<!-- TABLE OF CONTENTS -->
|
|
<ol>
|
|
<li><a href="#Features">Features</a></li>
|
|
<li>
|
|
<a href="#getting-started">Getting Started</a>
|
|
<ul>
|
|
<li><a href="#prerequisites">Prerequisites</a></li>
|
|
<li><a href="#installation">Installation</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#roadmap">Roadmap</a></li>
|
|
<li><a href="#contributing">Contributing</a></li>
|
|
<li><a href="#license">License</a></li>
|
|
<li><a href="#contact">Contact</a></li>
|
|
</ol>
|
|
|
|
## Features
|
|
<!-- 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
|
|
- ...
|
|
|
|
<!-- GETTING STARTED -->
|
|
## Getting Started
|
|
|
|
[Get started with CPL][quickstart].
|
|
|
|
### Prerequisites
|
|
|
|
- Install [python] which includes [Pip installs packages][pip]
|
|
|
|
### Installation
|
|
|
|
Install the CPL package
|
|
```sh
|
|
pip install sh_cpl --extra-index-url https://pip.sh-edraft.de
|
|
```
|
|
|
|
Install the CPL CLI
|
|
```sh
|
|
pip install sh_cpl-cli --extra-index-url https://pip.sh-edraft.de
|
|
```
|
|
|
|
Create workspace:
|
|
```sh
|
|
cpl new <console|library> <PROJECT NAME>
|
|
```
|
|
|
|
Run the application:
|
|
```sh
|
|
cd <PROJECT NAME>
|
|
cpl start
|
|
```
|
|
|
|
|
|
<!-- ROADMAP -->
|
|
## Roadmap
|
|
|
|
See the [open issues](https://git.sh-edraft.de/sh-edraft.de/sh_common_py_lib/issues) for a list of proposed features (and known issues).
|
|
|
|
|
|
|
|
<!-- CONTRIBUTING -->
|
|
## Contributing
|
|
|
|
### Contributing Guidelines
|
|
|
|
Read through our [contributing guidelines][contributing] to learn about our submission process, coding rules and more.
|
|
|
|
### Want to Help?
|
|
|
|
Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for [contributing][contributing].
|
|
|
|
|
|
|
|
<!-- LICENSE -->
|
|
## License
|
|
|
|
Distributed under the MIT License. See [LICENSE] for more information.
|
|
|
|
|
|
|
|
<!-- CONTACT -->
|
|
## Contact
|
|
|
|
Sven Heidemann - sven.heidemann@sh-edraft.de
|
|
|
|
Project link: [https://git.sh-edraft.de/sh-edraft.de/sh_common_py_lib](https://git.sh-edraft.de/sh-edraft.de/sh_common_py_lib)
|
|
|
|
<!-- External LINKS -->
|
|
[pip_url]: https://pip.sh-edraft.de
|
|
[python]: https://www.python.org/
|
|
[pip]: https://pypi.org/project/pip/
|
|
|
|
<!-- Internal LINKS -->
|
|
[project]: https://git.sh-edraft.de/sh-edraft.de/sh_common_py_lib
|
|
[quickstart]: https://git.sh-edraft.de/sh-edraft.de/sh_common_py_lib/wiki/quickstart
|
|
[contributing]: https://git.sh-edraft.de/sh-edraft.de/sh_common_py_lib/wiki/contributing
|
|
[license]: LICENSE
|