Compare commits

..

415 Commits

Author SHA1 Message Date
94b5ed05d4 Added readme for devs
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 12s
Build on push / query (push) Successful in 20s
Build on push / core (push) Successful in 20s
Build on push / cli (push) Successful in 19s
Build on push / dependency (push) Successful in 20s
Build on push / application (push) Successful in 16s
Build on push / mail (push) Successful in 20s
Build on push / translation (push) Successful in 20s
Build on push / database (push) Successful in 26s
Build on push / auth (push) Successful in 16s
Build on push / api (push) Successful in 16s
2025-10-19 19:05:01 +02:00
2ac7fa4568 Fixed dev build
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 14s
Build on push / core (push) Successful in 21s
Build on push / query (push) Successful in 22s
Build on push / cli (push) Successful in 19s
Build on push / dependency (push) Successful in 21s
Build on push / translation (push) Successful in 16s
Build on push / application (push) Successful in 22s
Build on push / mail (push) Successful in 24s
Build on push / database (push) Successful in 26s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 15s
2025-10-19 14:42:40 +02:00
43947055e5 Merge pull request 'cli' (#199) from cli into dev
Some checks failed
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 13s
Build on push / core (push) Failing after 9s
Build on push / query (push) Failing after 10s
Build on push / api (push) Has been skipped
Build on push / application (push) Has been skipped
Build on push / auth (push) Has been skipped
Build on push / cli (push) Has been skipped
Build on push / database (push) Has been skipped
Build on push / dependency (push) Has been skipped
Build on push / mail (push) Has been skipped
Build on push / translation (push) Has been skipped
Reviewed-on: #199
2025-10-19 14:40:45 +02:00
ba9edfa3fc Added cli dev build
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
2025-10-19 14:40:24 +02:00
6d3e435da6 cpl new use venv & install deps on creation
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
2025-10-19 14:39:27 +02:00
76b44ca517 Added cpl new
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 7s
2025-10-18 18:19:39 +02:00
8ebac05dd8 Cleanup
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 7s
2025-10-16 18:19:36 +02:00
98ed458d7c Added cpl generate
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 7s
2025-10-16 12:47:06 +02:00
8d0bc13cc0 Added live dev server
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
2025-10-13 06:22:04 +02:00
33728cdec3 Added internal extra url
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 6s
2025-10-12 20:45:11 +02:00
f1604f1477 Removed ref for dev
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 7s
2025-10-12 20:22:40 +02:00
a02c101438 Improved spinner
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 8s
2025-10-12 20:02:45 +02:00
9647923647 Improved build 2025-10-12 18:19:58 +02:00
883fa2d691 Added build command
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 7s
2025-10-11 18:25:32 +02:00
3c26c73b41 Added run command
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 7s
2025-10-11 16:31:04 +02:00
faedf328cb Added build command
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 7s
2025-10-11 15:50:38 +02:00
849dd7a733 [WIP] Started run command 2025-10-11 14:13:28 +02:00
6e0ae1f25e Cleanup & fixes 2025-10-11 11:43:23 +02:00
45dcb400da Added remove & add commands
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 7s
2025-10-11 11:05:04 +02:00
104b736778 Moved commands by context 2025-10-11 09:39:46 +02:00
90ff8d466d Renamed project dirs
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
2025-10-11 09:32:13 +02:00
f1aaaf2a5b Set version to all packages
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 9s
2025-10-09 21:24:25 +02:00
5f8519d4b3 Added version
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 7s
2025-10-09 21:08:05 +02:00
c4334f32ed Fixed install & added update 2025-10-09 19:59:02 +02:00
0a6a17acf6 Added cpl-cli 2025-10-09 17:17:39 +02:00
c02903b009 Merge pull request 'master' (#198) from master into dev
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 11s
Build on push / query (push) Successful in 19s
Build on push / core (push) Successful in 19s
Build on push / dependency (push) Successful in 18s
Build on push / mail (push) Successful in 16s
Build on push / translation (push) Successful in 19s
Build on push / database (push) Successful in 20s
Build on push / application (push) Successful in 29s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 18s
Reviewed-on: #198
2025-10-08 21:31:55 +02:00
b6cf5962aa Merge pull request 'Removed tools & docs' (#197) from dev_cleanup into master
Reviewed-on: #197
2025-10-08 21:30:47 +02:00
d3084041a9 Removed tools & docs 2025-10-08 21:30:01 +02:00
d4af923e4c Merge pull request 'Added gql base #181' (#196) from #181_gql into dev
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 12s
Build on push / query (push) Successful in 23s
Build on push / core (push) Successful in 23s
Build on push / dependency (push) Successful in 29s
Build on push / translation (push) Successful in 17s
Build on push / application (push) Successful in 22s
Build on push / database (push) Successful in 22s
Build on push / mail (push) Successful in 23s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 15s
Reviewed-on: #196
Closes #181
2025-10-08 21:25:41 +02:00
545540d05d Added subscriptions final #181
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 7s
2025-10-08 21:22:51 +02:00
3774cef56a Updated permissions #181
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 10s
2025-10-08 17:27:46 +02:00
cdb5e4ff89 [WIP] Subscriptions
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
2025-10-04 06:57:14 +02:00
e362b7fb61 Added/Fixed api_key/user/role gql #181
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 6s
2025-10-04 05:44:13 +02:00
262e26cb83 Internal api key gql #181 2025-10-04 05:44:13 +02:00
5b3872a1fe Added possibility to put auth schema to root graphs #181 2025-10-04 05:44:13 +02:00
e7e3712e08 Renamed AuthUsers -> Users & completed user gql #181 2025-10-04 05:44:13 +02:00
df69f1c725 Recursive filter #181 2025-10-04 05:44:13 +02:00
39351a5eb9 Recursive types #181 2025-10-04 05:44:13 +02:00
39d06dfe48 Added mutations #181 2025-10-04 05:44:13 +02:00
3286a95cbf require any #181 2025-10-04 05:44:13 +02:00
6f46b94998 [WIP] with authentication #181 2025-10-04 05:44:13 +02:00
20e5da5770 Recursive complex filtering #181 2025-10-04 05:44:13 +02:00
a12a4082db Dao complex filtering #181 2025-10-04 05:44:13 +02:00
d8c60defba Further gql improvements & added test data #181 2025-10-04 05:44:13 +02:00
ada50c693e Changed to strawberry #181 2025-10-04 05:44:13 +02:00
a35b44b3b5 [WIP] collection #181 2025-10-04 05:44:13 +02:00
683805137a Added arguments to field #181 2025-10-04 05:44:13 +02:00
b0f1fb9839 Removed query base #181 2025-10-04 05:44:13 +02:00
e1ab9cf0db Added gql base #181 2025-10-04 05:44:13 +02:00
685c20e3bf Added cron jobs as hosted services
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 11s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 14s
Build on push / database (push) Successful in 15s
Build on push / application (push) Successful in 18s
Build on push / mail (push) Successful in 19s
Build on push / translation (push) Successful in 29s
Build on push / auth (push) Successful in 18s
Build on push / api (push) Successful in 18s
2025-10-04 05:38:21 +02:00
e0f6e1c241 Console & file logging format msg seperate & removed timestamp from console & minor fixes to di
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 14s
Build on push / translation (push) Successful in 16s
Build on push / mail (push) Successful in 17s
Build on push / application (push) Successful in 19s
Build on push / database (push) Successful in 19s
Build on push / auth (push) Successful in 25s
Build on push / api (push) Successful in 14s
2025-09-26 15:48:33 +02:00
c410a692be Better modules
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 17s
Build on push / mail (push) Successful in 16s
Build on push / translation (push) Successful in 16s
Build on push / application (push) Successful in 18s
Build on push / database (push) Successful in 19s
Build on push / auth (push) Successful in 17s
Build on push / api (push) Successful in 14s
2025-09-26 12:55:00 +02:00
56a16cbeba Module dependencies as static var
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 10s
Build on push / query (push) Successful in 19s
Build on push / core (push) Successful in 20s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 15s
Build on push / database (push) Successful in 16s
Build on push / mail (push) Successful in 18s
Build on push / translation (push) Successful in 22s
Build on push / auth (push) Successful in 18s
Build on push / api (push) Successful in 17s
2025-09-26 08:46:30 +02:00
d05d947d54 Import cleanup
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 12s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 15s
Build on push / translation (push) Successful in 18s
Build on push / mail (push) Successful in 18s
Build on push / database (push) Successful in 20s
Build on push / auth (push) Successful in 17s
Build on push / api (push) Successful in 13s
2025-09-26 00:03:12 +02:00
0529269747 Fixed formatting
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 14s
Build on push / mail (push) Successful in 16s
Build on push / application (push) Successful in 19s
Build on push / database (push) Successful in 20s
Build on push / translation (push) Successful in 20s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 15s
2025-09-25 10:37:29 +02:00
e3e1703ff8 Fixed versioning
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Successful in 19s
Build on push / core (push) Successful in 19s
Build on push / dependency (push) Successful in 14s
Build on push / api (push) Has been cancelled
Build on push / auth (push) Has been cancelled
Build on push / application (push) Has been cancelled
Build on push / mail (push) Has been cancelled
Build on push / translation (push) Has been cancelled
Build on push / database (push) Has been cancelled
2025-09-25 10:36:36 +02:00
cf4aa8291f Minor DI fixes & cleanup
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 27s
Build on push / dependency (push) Successful in 18s
Build on push / application (push) Successful in 15s
Build on push / database (push) Successful in 20s
Build on push / translation (push) Successful in 19s
Build on push / mail (push) Successful in 20s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 14s
2025-09-25 10:29:40 +02:00
55a727c482 Modularization
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 7s
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 16s
Build on push / mail (push) Successful in 15s
Build on push / database (push) Successful in 15s
Build on push / translation (push) Successful in 18s
Build on push / auth (push) Successful in 23s
Build on push / api (push) Successful in 16s
2025-09-25 09:42:07 +02:00
ecb92fca3e Minor fixes 2025-09-25 08:46:02 +02:00
0ca5e5757a Added hosted services #186
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 8s
Build on push / query (push) Successful in 18s
Build on push / core (push) Successful in 18s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 15s
Build on push / translation (push) Successful in 17s
Build on push / database (push) Successful in 18s
Build on push / mail (push) Successful in 24s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 14s
2025-09-25 00:54:09 +02:00
75417966eb Moved general example 2025-09-25 00:15:26 +02:00
15d3c59f02 StartupTask #186 2025-09-25 00:11:26 +02:00
6a3fdb3ebd Fixed formatting #186
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 7s
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 17s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 16s
Build on push / database (push) Successful in 17s
Build on push / mail (push) Successful in 18s
Build on push / translation (push) Successful in 18s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 14s
2025-09-24 21:48:57 +02:00
b49f663ae0 API scoped requests #186
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Successful in 18s
Build on push / core (push) Successful in 21s
Build on push / dependency (push) Successful in 14s
Build on push / api (push) Has been cancelled
Build on push / auth (push) Has been cancelled
Build on push / application (push) Has been cancelled
Build on push / database (push) Has been cancelled
Build on push / mail (push) Has been cancelled
Build on push / translation (push) Has been cancelled
2025-09-24 21:47:52 +02:00
287f5e3149 New implementation of scopes #186 2025-09-24 21:27:28 +02:00
4c8cd988cc Removed ServiceProviderABC #186 2025-09-24 20:53:01 +02:00
cdb4a0fb34 DI Provider ctx #186 2025-09-24 20:46:43 +02:00
cf8edafd39 Added enumerable order & added array & removed collection
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 20s
Build on push / dependency (push) Successful in 17s
Build on push / translation (push) Successful in 20s
Build on push / application (push) Successful in 21s
Build on push / mail (push) Successful in 24s
Build on push / database (push) Successful in 24s
Build on push / auth (push) Successful in 18s
Build on push / api (push) Successful in 14s
2025-09-24 19:41:12 +02:00
01a2ff7166 Added query@v2 2025-09-24 19:09:11 +02:00
2da6d679ad Moved test projects 2025-09-24 16:57:24 +02:00
a1cfe76047 Added cache 2025-09-24 12:04:37 +02:00
c71a3df62c More efficient wrapped logger by getting service type not service
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 17s
Build on push / query (push) Successful in 24s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 15s
Build on push / translation (push) Successful in 15s
Build on push / database (push) Successful in 19s
Build on push / mail (push) Successful in 19s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 14s
2025-09-24 08:28:50 +02:00
e296c0992b Merge pull request 'Added structured and wrapped logger #187' (#193) from #187_structured_logging into dev
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 10s
Build on push / query (push) Successful in 17s
Build on push / core (push) Successful in 18s
Build on push / dependency (push) Successful in 18s
Build on push / mail (push) Successful in 15s
Build on push / translation (push) Successful in 15s
Build on push / database (push) Successful in 19s
Build on push / application (push) Successful in 19s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 17s
Reviewed-on: #193
2025-09-23 23:35:55 +02:00
6639946346 Improved wrapped logging #187
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
2025-09-23 23:34:45 +02:00
b9ac11e15f Added structured and wrapped logger #187
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 5s
2025-09-22 23:24:46 +02:00
77d821bb6e Added internal imports
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 18s
Build on push / dependency (push) Successful in 14s
Build on push / application (push) Successful in 15s
Build on push / database (push) Successful in 18s
Build on push / translation (push) Successful in 19s
Build on push / mail (push) Successful in 19s
Build on push / auth (push) Successful in 18s
Build on push / api (push) Successful in 14s
2025-09-22 22:08:59 +02:00
86ad953ff1 Authorization via with_route
All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Successful in 18s
Build on push / core (push) Successful in 18s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 15s
Build on push / mail (push) Successful in 18s
Build on push / translation (push) Successful in 18s
Build on push / database (push) Successful in 19s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 14s
2025-09-22 22:04:36 +02:00
d6b7eb9b30 Authorization via decorator 2025-09-22 21:16:47 +02:00
12b7c62b69 Fixed formatting
All checks were successful
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 17s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 17s
Build on push / translation (push) Successful in 14s
Build on push / application (push) Successful in 18s
Build on push / database (push) Successful in 17s
Build on push / mail (push) Successful in 18s
Build on push / auth (push) Successful in 13s
Build on push / api (push) Successful in 17s
Test before pr merge / test-lint (pull_request) Successful in 5s
2025-09-21 23:48:09 +02:00
7fc70747bb Added black test
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 6s
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 17s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 17s
Build on push / api (push) Has been cancelled
Build on push / auth (push) Has been cancelled
Build on push / mail (push) Has started running
Build on push / translation (push) Has been cancelled
Build on push / application (push) Has been cancelled
Build on push / database (push) Has been cancelled
2025-09-21 23:47:15 +02:00
6de4f3c03a Middleware updated & Fixed mysql pool
All checks were successful
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 18s
Build on push / dependency (push) Successful in 17s
Build on push / database (push) Successful in 15s
Build on push / translation (push) Successful in 18s
Build on push / mail (push) Successful in 19s
Build on push / application (push) Successful in 21s
Build on push / auth (push) Successful in 14s
Build on push / api (push) Successful in 14s
2025-09-21 23:41:25 +02:00
ea3055527c Changed middleware to asgi 2025-09-21 21:22:19 +02:00
7b37748ca6 [WIP] validate token via keycloak 2025-09-21 21:07:09 +02:00
073b35f71a App deps check 2025-09-21 20:11:47 +02:00
eceff6128b [WIP] Authentication
All checks were successful
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 16s
Build on push / mail (push) Successful in 16s
Build on push / translation (push) Successful in 18s
Build on push / database (push) Successful in 22s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 13s
2025-09-19 23:01:41 +02:00
17dfb245bf Minor cleanup 2025-09-19 21:54:08 +02:00
4f698269b5 Fixed api build
All checks were successful
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 18s
Build on push / application (push) Successful in 15s
Build on push / database (push) Successful in 18s
Build on push / translation (push) Successful in 18s
Build on push / mail (push) Successful in 19s
Build on push / auth (push) Successful in 15s
Build on push / api (push) Successful in 14s
2025-09-19 21:12:33 +02:00
ddc62dfb9a Added api & route handling
Some checks failed
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 15s
Build on push / database (push) Successful in 18s
Build on push / mail (push) Successful in 19s
Build on push / translation (push) Successful in 23s
Build on push / auth (push) Successful in 16s
Build on push / api (push) Failing after 14s
2025-09-19 21:03:33 +02:00
1a67318091 Config model options handling. Closes #185
All checks were successful
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 25s
Build on push / translation (push) Successful in 17s
Build on push / database (push) Successful in 20s
Build on push / application (push) Successful in 21s
Build on push / mail (push) Successful in 20s
Build on push / auth (push) Successful in 14s
2025-09-19 17:47:49 +02:00
2be58f6577 Introduced fernet to credential manager. Closes #183
All checks were successful
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 22s
Build on push / dependency (push) Successful in 15s
Build on push / application (push) Successful in 20s
Build on push / database (push) Successful in 21s
Build on push / translation (push) Successful in 21s
Build on push / mail (push) Successful in 22s
Build on push / auth (push) Successful in 18s
2025-09-19 15:01:16 +02:00
9c6078f4fd with_logging & logger level fix
All checks were successful
Build on push / prepare (push) Successful in 8s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 18s
Build on push / dependency (push) Successful in 14s
Build on push / translation (push) Successful in 15s
Build on push / database (push) Successful in 17s
Build on push / application (push) Successful in 18s
Build on push / mail (push) Successful in 20s
Build on push / auth (push) Successful in 18s
2025-09-17 22:18:38 +02:00
dfdc31512d App with extension functions
All checks were successful
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 17s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 14s
Build on push / translation (push) Successful in 14s
Build on push / database (push) Successful in 18s
Build on push / mail (push) Successful in 19s
Build on push / application (push) Successful in 22s
Build on push / auth (push) Successful in 14s
2025-09-17 21:56:47 +02:00
ab7ff7da93 Made startup/app extensions static 2025-09-17 20:54:21 +02:00
41087a838b Removed pass from empty functions
All checks were successful
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 17s
Build on push / query (push) Successful in 17s
Build on push / dependency (push) Successful in 17s
Build on push / translation (push) Successful in 14s
Build on push / mail (push) Successful in 18s
Build on push / database (push) Successful in 18s
Build on push / application (push) Successful in 24s
Build on push / auth (push) Successful in 14s
2025-09-17 20:49:15 +02:00
836b92ccbf Further console test 2025-09-17 20:44:25 +02:00
8aaba22940 Improved application structure
All checks were successful
Build on push / prepare (push) Successful in 11s
Build on push / core (push) Successful in 22s
Build on push / query (push) Successful in 22s
Build on push / dependency (push) Successful in 20s
Build on push / database (push) Successful in 20s
Build on push / translation (push) Successful in 20s
Build on push / application (push) Successful in 22s
Build on push / mail (push) Successful in 23s
Build on push / auth (push) Successful in 16s
2025-09-17 19:23:14 +02:00
504dc5e188 Added auth & improved database
All checks were successful
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Successful in 18s
Build on push / core (push) Successful in 24s
Build on push / dependency (push) Successful in 17s
Build on push / database (push) Successful in 15s
Build on push / translation (push) Successful in 15s
Build on push / mail (push) Successful in 18s
Build on push / application (push) Successful in 19s
Build on push / auth (push) Successful in 16s
2025-09-17 12:21:32 +02:00
4625b626e6 Added dao base
All checks were successful
Build on push / prepare (push) Successful in 8s
Build on push / query (push) Successful in 16s
Build on push / core (push) Successful in 23s
Build on push / translation (push) Successful in 14s
Build on push / mail (push) Successful in 14s
2025-09-17 00:12:25 +02:00
58dbd3ed1e Cleanup for mysql
All checks were successful
Build on push / prepare (push) Successful in 8s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 18s
Build on push / translation (push) Successful in 15s
Build on push / mail (push) Successful in 17s
2025-09-16 20:21:33 +02:00
cd7dfaf2b4 Fixed spinner thread & remove log thread
All checks were successful
Build on push / prepare (push) Successful in 8s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 19s
Build on push / translation (push) Successful in 18s
Build on push / mail (push) Successful in 18s
2025-09-16 18:41:57 +02:00
8ad3e3bdb4 Removed ConfigModel from_dict
All checks were successful
Build on push / prepare (push) Successful in 8s
Build on push / core (push) Successful in 16s
Build on push / query (push) Successful in 17s
Build on push / mail (push) Successful in 17s
Build on push / translation (push) Successful in 18s
2025-09-16 08:51:56 +02:00
b97bc0a3ed Restructuring
All checks were successful
Build on push / prepare (push) Successful in 8s
Build on push / query (push) Successful in 17s
Build on push / core (push) Successful in 26s
Build on push / translation (push) Successful in 15s
Build on push / mail (push) Successful in 17s
2025-09-16 08:48:07 +02:00
5f25400bcd Updated config & environment 2025-09-16 08:39:00 +02:00
5edabbf8c1 Removed docs from sources
All checks were successful
Build on push / prepare (push) Successful in 10s
Build on push / core (push) Successful in 17s
Build on push / query (push) Successful in 18s
Build on push / translation (push) Successful in 15s
Build on push / mail (push) Successful in 16s
2025-09-15 23:08:17 +02:00
62b6435470 Improved logging closes #180
All checks were successful
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Successful in 17s
Build on push / core (push) Successful in 18s
Build on push / mail (push) Successful in 17s
Build on push / translation (push) Successful in 18s
2025-09-15 23:06:38 +02:00
d9d7802f33 Fixed translation build
All checks were successful
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Successful in 19s
Build on push / core (push) Successful in 20s
Build on push / mail (push) Successful in 15s
Build on push / translation (push) Successful in 18s
2025-09-15 21:08:40 +02:00
25b4ca0696 Added cpl-mail
Some checks failed
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 18s
Build on push / query (push) Successful in 25s
Build on push / translation (push) Failing after 8s
Build on push / mail (push) Successful in 14s
2025-09-15 20:56:07 +02:00
3b120370b8 Added cpl-mail
All checks were successful
Build on push / prepare (push) Successful in 9s
Build on push / translation (push) Successful in 20s
Build on push / mail (push) Successful in 21s
Build on push / query (push) Successful in 21s
Build on push / core (push) Successful in 21s
2025-09-15 18:38:34 +02:00
aac038ef63 Added cpl-mail
Some checks failed
Build on push / core (push) Failing after 9s
Build on push / mail (push) Has been cancelled
Build on push / translation (push) Has been cancelled
Build on push / prepare (push) Has been cancelled
Build on push / query (push) Has been cancelled
2025-09-15 18:35:36 +02:00
784632a0b4 Updated ci
Some checks failed
Build on push / core (push) Has been cancelled
Build on push / query (push) Has been cancelled
Build on push / translation (push) Has been cancelled
Build on push / prepare (push) Has been cancelled
2025-09-15 18:17:23 +02:00
4719c32457 Updated ci
Some checks failed
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Failing after 18s
Build on push / core (push) Successful in 15s
2025-09-15 16:55:57 +02:00
516fa3fb7e Updated ci
Some checks failed
Build on push / prepare (push) Successful in 8s
Build on push / query (push) Successful in 18s
Build on push / core (push) Failing after 18s
2025-09-15 15:28:09 +02:00
2d2bb86720 First update towards cpl2
Some checks failed
Build on push / prepare (push) Failing after 6s
Build on push / build (push) Has been skipped
2025-09-15 15:02:47 +02:00
c1e65bf0dc Set correct version 2024-07-25 17:56:25 +02:00
688381b106 Merge pull request 'py12' (#177) from py12 into master
Reviewed-on: sh-edraft.de/sh_cpl#177
2024-07-25 17:55:07 +02:00
c3e3367264 Removed bundle project 2024-07-25 17:54:24 +02:00
c3d51e29fc Set version 2024-07-25 17:34:24 +02:00
cae2e6d92e Hopefully fixed db errors 2024-01-13 14:26:36 +01:00
347418bdc5 Added ssl_disabled option 2023-12-06 17:56:13 +01:00
153fc8922e Fixed dc collection 2023-10-13 15:20:26 +02:00
cdbfaeb013 Merge pull request 'Updated deps' (#176) from 2023.10 into master
Reviewed-on: sh-edraft.de/sh_cpl#176
2023-10-13 15:01:06 +02:00
4062a6ebe4 Updated deps 2023-10-13 14:57:46 +02:00
46ef6b3938 Merge pull request '2023.10' (#175) from 2023.10 into master
Reviewed-on: sh-edraft.de/sh_cpl#175
2023-10-13 14:48:39 +02:00
c1b9c0fb4a Added R as return type 2023-10-12 21:20:36 +02:00
8ede2998fe Fixed configuration typing 2023-10-12 21:14:49 +02:00
41f974fe6e Fixed cpl-discord deps 2023-10-12 21:06:10 +02:00
e7af5ce322 Fixed cpl-query typing 2023-10-12 21:05:38 +02:00
7881294554 Fixed types 2023-10-12 20:55:24 +02:00
b3fd122fcd Build cpl-discord new version 2023-10-12 20:42:24 +02:00
1dd48899d7 Improved cpl-discords service loading for commands and events 2023-10-12 20:41:34 +02:00
f357e97ce5 Build and formatted new version 2023-10-12 20:16:16 +02:00
2d8ecd424a Switched mysql package 2023-10-12 20:11:14 +02:00
affbbc822d Removed handled vars from values in JP 2023-07-19 11:34:19 +02:00
43ea732c5f Fixed config loading 2023-07-19 11:28:33 +02:00
708918464f Improved config loading 2023-07-19 11:16:04 +02:00
ed2377c288 Updated discord.py 2023-06-13 16:22:54 +02:00
b819eb439c Fixed translaiton settings 2023-06-13 16:14:38 +02:00
b3ed7101fc Fixed update command 2023-06-13 15:56:46 +02:00
a3504af376 Fixed update command 2023-06-13 15:47:44 +02:00
81c2f1cba9 Fixed discord service config loading 2023-06-13 15:38:04 +02:00
bea5b22251 Fixed db settings default port 2023-06-13 15:08:04 +02:00
e04d0beb68 Fixed circular import from query package 2023-06-13 13:27:37 +02:00
08ba097aaa Merge pull request '#173' (#174) from #173 into master
Reviewed-on: sh-edraft.de/sh_cpl#174
2023-06-12 20:48:34 +02:00
ea968d94e4 Build app 2023-06-12 20:47:14 +02:00
8e12c72b07 Fixed cpl update dev deps bug #170 2023-06-12 20:47:13 +02:00
8dee4d8f70 Fixed config type 2023-04-15 11:47:31 +02:00
315b8e631a Merge pull request '2023.4' (#168) from 2023.4 into master
Reviewed-on: sh-edraft.de/sh_cpl#168
2023-04-12 13:57:50 +02:00
cbb1860f25 Fixed internal settings 2023-04-12 13:47:38 +02:00
9839bcaa14 Removed unused imports 2023-04-12 13:34:43 +02:00
da54337221 Fixed ProjectSettings 2023-04-12 13:31:59 +02:00
a6a1e764d1 Updated deps 2023-04-12 13:30:13 +02:00
eb6aa08c10 Updated deps 2023-04-12 12:57:58 +02:00
14a190a67f Merge pull request '#166' (#167) from #166 into 2023.4
Reviewed-on: sh-edraft.de/sh_cpl#167
Closes #166
2023-04-11 14:49:21 +02:00
cf5ae89884 Fixed start test 2023-04-11 14:26:17 +02:00
558dfb8ced Deactivated test output 2023-04-11 12:51:49 +02:00
2ec8fc22b3 Improved generic type hints 2023-04-11 12:50:05 +02:00
c94700495b Merge pull request '#157' (#165) from #157 into 2023.4
Reviewed-on: sh-edraft.de/sh_cpl#165
Closes #157
2023-04-11 11:48:48 +02:00
69a3bc5e31 Fixed cwd handling 2023-04-10 15:10:39 +02:00
d189f49418 Improved service_provider_tests 2023-04-10 14:53:59 +02:00
60fb416b67 Added service_provider_tests 2023-04-10 14:47:25 +02:00
792429d19d Added console argument tests 2023-04-10 13:35:11 +02:00
106975015e Improved config tests 2023-04-09 12:51:57 +02:00
1117735f2e Added configuration tests & improved json parsing by converting into target types 2023-04-09 12:31:31 +02:00
0378f8944a Added AppEnv tests 2023-04-09 12:05:05 +02:00
75fde0f444 Added pipe tests 2023-04-07 14:52:17 +02:00
04f610c799 Removed obsolete pipes 2023-04-07 14:41:11 +02:00
3178b59147 Added JSONProcessorTestCase 2023-04-07 14:40:03 +02:00
9c7008e179 Improved core test suite 2023-04-07 14:08:06 +02:00
7ff7dbc56b Added core test suite 2023-04-07 14:04:39 +02:00
823d524a81 Added core.utils.string tests & fixed some functions 2023-04-07 14:03:45 +02:00
1b60debba7 Fixed cli schematics & added tests 2023-04-07 13:42:20 +02:00
3fc713cc8d Merge pull request '#154' (#164) from #154 into 2023.4
Reviewed-on: sh-edraft.de/sh_cpl#164
Closes #154
2023-04-05 22:30:38 +02:00
bb26c7e94d Updated docs 2023-04-05 22:01:15 +02:00
52404cf5d3 Updated docs 2023-04-05 21:59:58 +02:00
32223bcfc2 Updated docs 2023-04-05 21:43:21 +02:00
4e2bdb2b59 Fixed translation settings 2023-04-05 18:17:57 +02:00
d72514205c Updated PipSettings 2023-04-05 18:13:29 +02:00
9b4afdbe18 Updated TranslationSettings & formatted code 2023-04-05 18:12:31 +02:00
6751541269 Updated DiscordBotSettings 2023-04-05 18:11:16 +02:00
fe9918af16 Updated discord deps 2023-04-05 18:10:33 +02:00
d2c56f1a3f Fixed some broken references 2023-04-05 18:07:31 +02:00
8624549aa6 Fixed some broken references 2023-04-05 18:03:13 +02:00
9a6ce704b7 Removed from_dict from build and project settings 2023-04-05 16:30:02 +02:00
9af2a1962d Improved internal settings 2023-04-04 23:19:59 +02:00
a8d4a7a362 Added JSONProcessor to utils & Added JSONProcessor as settings parser 2023-04-04 22:52:13 +02:00
943f5ad50b Improved service scope 2023-04-04 21:45:32 +02:00
4cd8fea07a Merge pull request 'Added more version operator support' (#163) from #160 into 2023.4
Reviewed-on: sh-edraft.de/sh_cpl#163
Closes #160
2023-04-04 21:36:54 +02:00
82b3a22ac8 Added more version operator support 2023-04-04 21:36:24 +02:00
2c6367a408 Improved cpl query 2023-04-04 21:05:53 +02:00
af94a0c52d Formatted code 2023-04-04 15:56:37 +02:00
9c374f6bb2 Merge pull request '#161' (#162) from #161 into 2023.4
Reviewed-on: sh-edraft.de/sh_cpl#162
Closes #161
2023-04-04 14:52:30 +02:00
d0a19458c5 Formatted code 2023-04-04 14:50:19 +02:00
5d6e7677de Improved typing in query 2023-04-04 14:42:43 +02:00
01309e3124 Cleaned code 2023-04-04 13:58:37 +02:00
083e1ce4a1 Fixed OrderedQueryable imports 2023-04-04 13:55:50 +02:00
8c012e5902 Set Self type 2023-04-04 13:33:45 +02:00
5e6d17cc86 Updated some stuff 2023-04-04 13:30:10 +02:00
c4a71de83f Formatted code 2023-04-04 13:30:00 +02:00
01bc746092 Merge branch 'master' into 2023.4
# Conflicts:
#	src/cpl_cli/.cpl/__init__.py
#	src/cpl_cli/__init__.py
#	src/cpl_cli/_templates/__init__.py
#	src/cpl_cli/_templates/build/__init__.py
#	src/cpl_cli/_templates/publish/__init__.py
#	src/cpl_cli/abc/__init__.py
#	src/cpl_cli/command/__init__.py
#	src/cpl_cli/configuration/__init__.py
#	src/cpl_cli/cpl-cli.json
#	src/cpl_cli/helper/__init__.py
#	src/cpl_cli/live_server/__init__.py
#	src/cpl_cli/migrations/__init__.py
#	src/cpl_cli/migrations/base/__init__.py
#	src/cpl_cli/migrations/service/__init__.py
#	src/cpl_cli/publish/__init__.py
#	src/cpl_cli/source_creator/__init__.py
#	src/cpl_cli/validators/__init__.py
#	src/cpl_core/__init__.py
#	src/cpl_core/application/__init__.py
#	src/cpl_core/configuration/__init__.py
#	src/cpl_core/console/__init__.py
#	src/cpl_core/cpl-core.json
#	src/cpl_core/database/__init__.py
#	src/cpl_core/database/connection/__init__.py
#	src/cpl_core/database/context/__init__.py
#	src/cpl_core/dependency_injection/__init__.py
#	src/cpl_core/dependency_injection/service_provider.py
#	src/cpl_core/dependency_injection/service_provider_abc.py
#	src/cpl_core/environment/__init__.py
#	src/cpl_core/logging/__init__.py
#	src/cpl_core/mailing/__init__.py
#	src/cpl_core/pipes/__init__.py
#	src/cpl_core/time/__init__.py
#	src/cpl_core/utils/__init__.py
#	src/cpl_discord/.cpl/__init__.py
#	src/cpl_discord/.cpl/schematic_discord_event.py
#	src/cpl_discord/__init__.py
#	src/cpl_discord/application/__init__.py
#	src/cpl_discord/command/__init__.py
#	src/cpl_discord/configuration/__init__.py
#	src/cpl_discord/container/__init__.py
#	src/cpl_discord/cpl-discord.json
#	src/cpl_discord/events/__init__.py
#	src/cpl_discord/helper/__init__.py
#	src/cpl_discord/service/__init__.py
#	src/cpl_discord/service/discord_bot_service.py
#	src/cpl_discord/service/discord_bot_service_abc.py
#	src/cpl_discord/service/discord_service.py
#	src/cpl_query/__init__.py
#	src/cpl_query/base/__init__.py
#	src/cpl_query/base/queryable_abc.py
#	src/cpl_query/cpl-query.json
#	src/cpl_query/enumerable/__init__.py
#	src/cpl_query/extension/__init__.py
#	src/cpl_query/iterable/__init__.py
2023-04-04 13:29:45 +02:00
87d023ef7f Merge pull request 'Updated docs' (#159) from #150 into 2023.4
Reviewed-on: sh-edraft.de/sh_cpl#159
Closes #150
2023-04-04 13:16:38 +02:00
119052f9a2 Updated docs 2023-04-04 13:16:19 +02:00
43710717c9 Fixed cpl-discord deps 2023-03-11 01:33:56 +01:00
7bf5e25c5e Fixed typing 2023-03-06 19:03:35 +01:00
faa030df96 Fixed typing 2023-03-06 19:03:01 +01:00
b2efe285a9 Added line counter 2023-02-20 15:59:33 +01:00
9e28dce5ce Updated docs 2023-02-20 15:55:20 +01:00
8179508248 Added scheduled event support for cpl-discord 2023-02-13 16:58:46 +01:00
2c3664c1b9 Fixed schematic schematic 2023-01-15 10:01:19 +01:00
269f083662 Fixed static inject args order 2023-01-15 02:34:09 +01:00
8b40c65661 Fixed discord event schematic 2023-01-12 13:49:15 +01:00
7be3cf38dc Fixed cpl-cli deps 2023-01-12 09:05:36 +01:00
b18a7297a7 Build fix version 2023-01-12 08:58:05 +01:00
7f46fbe87a Added *args and **kwargs support to discord bot and DI 2023-01-12 08:57:01 +01:00
e0ca7c2ae6 Build fixed version 2023-01-07 15:03:21 +01:00
6389a940bc Fixed static di injection 2023-01-07 15:00:38 +01:00
48d0daabf5 Updated copyright 2022-12-25 12:05:02 +01:00
8fc3c04720 Updated deps 2022-12-25 12:02:47 +01:00
351f953fdb Merge pull request '2022.12' (#133) from 2022.12 into master
Reviewed-on: sh-edraft.de/sh_cpl#133
Reviewed-by: edraft-dev <dev.sven.heidemann@sh-edraft.de>
2022-12-25 11:58:34 +01:00
e1560dfab5 Merge pull request '2022.12.1' (#158) from 2022.12.1 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#158
2022-12-25 11:29:56 +01:00
c9bc6a026a Build release 2022.12.1 2022-12-25 11:26:51 +01:00
83f0e8bd42 Set version 2022-12-25 11:25:53 +01:00
7af83b49a5 Merge pull request 'Added multiple instance handling (#152)' (#156) from #152 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#156
Closes #152
2022-12-23 17:29:15 +01:00
59263ece6e Added multiple instance handling #152 2022-12-23 17:28:38 +01:00
a507ed9f46 Fixed publish all script 2022-12-23 16:45:14 +01:00
6b451142e2 Merge pull request 'Static dependency injection (#148)' (#155) from #148 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#155
Closes #148
2022-12-23 16:36:21 +01:00
12beea05a7 Merge branch '2022.12' into #148 2022-12-23 16:35:24 +01:00
713fa5243c Fixed publisher service 2022-12-23 16:09:28 +01:00
d600852bec Added logic to support global service provider #148 2022-12-22 18:52:17 +01:00
c09f2f8e83 Fixed scoped #148 2022-12-20 14:50:35 +01:00
2fb515195c Improved query performance test 2022-12-20 14:34:55 +01:00
889f51f5c5 Fixed python path in settings 2022-12-20 14:29:43 +01:00
742ba8314a Merge pull request 'cpl n l -> keine Fragen... (#144)' (#149) from #144 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#149
Closes #144
2022-12-19 08:39:30 +01:00
b95d90a191 Fixed python path in project settings #144 2022-12-19 08:36:40 +01:00
46fa49a102 Updated project type library logic & fixed tests #144 2022-12-18 14:27:41 +01:00
d5e89d6e2a Fixed cpl cli build #144 2022-12-18 12:03:41 +01:00
086fc75fec Build cpl query 2022-12-12 20:59:43 +01:00
05c33990bb Performance improvements 2022-12-12 20:59:04 +01:00
cbae40ef4d Fixed skip function 2022-12-11 10:44:23 +01:00
002ba6b4e0 Added split function 2022-12-11 09:16:38 +01:00
85f75b4677 Fixed group by 2022-12-11 08:58:55 +01:00
95d8df5bea Merge pull request 'Added new schematics & fixed run command #145' (#147) from #145 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#147
Closes #145
2022-12-10 21:44:17 +01:00
ac1cd9bdde Added new schematics & fixed run command #145 2022-12-10 21:43:46 +01:00
2d9bb79af7 Merge pull request 'cli discord unterstützung (#143)' (#146) from #143 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#146
Closes #143
2022-12-09 15:07:27 +01:00
120c9e6800 Fixed tests #143 2022-12-08 16:08:48 +01:00
6f3099a8db Updated packages & improved docs #143 2022-12-08 15:29:48 +01:00
e46711dc54 Added unittests #143 2022-12-08 14:23:46 +01:00
59920c59e0 Added cpl g & n discord support #143 2022-12-08 12:14:58 +01:00
604bb8f55c Updated discord test app #143 2022-12-08 11:02:54 +01:00
2f8dc63cdc Added discord command & event to cpl g schematics #143 2022-12-08 10:36:23 +01:00
4fbb3ec838 Updated readme 2022-12-07 20:12:07 +01:00
6818fe9a5c Improved cpl new appsettings template 2022-12-07 20:06:54 +01:00
3854fa5aa6 Merge pull request 'cpl n <project-type> name (#139)' (#140) from #139 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#140
Closes #139
2022-12-07 16:16:14 +01:00
1ca459e67a Removed skip test case #139 2022-12-07 15:48:37 +01:00
fe8ffb2839 Removed comments #139 2022-12-07 15:46:58 +01:00
42fb88c35d Removed old new command #139 2022-12-07 15:45:15 +01:00
db7a0786a9 Merge branch '2022.12' into #139 2022-12-07 15:41:56 +01:00
f9f2612356 Merge pull request 'configuration.add_configuration(value: any) type fix (#141)' (#142) from #141 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#142
Closes #141
2022-12-07 15:41:18 +01:00
df81bb599f Merge branch '2022.12' into #141 2022-12-07 13:07:38 +01:00
6d2492c1cf Added generic typing to configuration #141 2022-12-07 13:06:50 +01:00
e244535557 Improved cpl n custom templating #139 2022-12-06 17:42:55 +01:00
5f10603fe5 [WIP] Improved cpl new templating #139 2022-12-05 23:08:52 +01:00
6b8491eea2 Merge pull request 'cpl g <schematic> customizable (#137)' (#138) from #137 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#138
Closes #137
2022-12-05 20:34:45 +01:00
b63bf41294 Fixed cpl help #137 2022-12-05 20:24:15 +01:00
f6cc3a7ddf Removed cpl g arguments #137 2022-12-05 20:00:32 +01:00
d1c93abe2c Improved cpl g templating & added custom templating #137 2022-12-05 19:57:33 +01:00
d6e3b37f7f Fixed recursion in cpl 2022-12-05 14:37:25 +01:00
9840779af4 build new cpl version 2022-12-05 14:30:33 +01:00
b893ec1fcf Merge pull request 'Removed old file #134' (#136) from #134 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#136
2022-12-05 14:16:55 +01:00
d5e5bfe69d Removed old file #134 2022-12-05 14:15:01 +01:00
4afe5c4581 Fixed cpl query for now #134 2022-12-05 14:12:20 +01:00
e054ac364e Updated docs 2022-12-04 00:50:24 +01:00
68e01afb5b Release 2022.12.0 2022-12-04 00:12:40 +01:00
2e0a8bb1ff Minor fixes to cpl query 2022-12-04 00:08:16 +01:00
b02aebef35 Improved set-version tool & set version 2022-12-03 23:42:23 +01:00
099a51ed93 Merge pull request 'Fixed invalid output after console spinner #122' (#132) from #122 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#132
Closes #122
2022-12-03 23:31:20 +01:00
e4aedb354b Fixed invalid output after console spinner #122 2022-12-03 23:30:54 +01:00
301768b842 Merge pull request 'cpl start & run - Bessere Einbindung mit den Build-Tools #124' (#131) from #124 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#131
Closes #124
2022-12-03 23:25:11 +01:00
856960d799 Added logic to run build code to cpl start #124 2022-12-02 19:38:03 +01:00
d0877a4ea6 Added logic to run build code to cpl run #124 2022-12-02 18:41:58 +01:00
3c20ab296a Added --dev flag to cpl run & start #124 2022-12-02 17:48:35 +01:00
4dc7ee3314 Merge pull request 'cpl query Enumerable quatsch #129' (#130) from #129 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#130
Closes #129
2022-12-01 23:43:01 +01:00
05bd5e8593 Improved query performance test #129 2022-12-01 23:41:06 +01:00
2fe3912a07 Fixed version test #129 2022-12-01 23:34:00 +01:00
2840628443 Improved tests #129 2022-12-01 23:23:48 +01:00
f0f79e7e3b Refactored cpl-query Iterable & Enumerable #129 2022-12-01 21:09:39 +01:00
e8ae635c88 Improved tests #129 2022-12-01 17:00:17 +01:00
d8f7e03815 Added group by & refactored Iterable #129 2022-12-01 16:27:29 +01:00
ba1b5e49ae Merge pull request 'Added logic to change base path for cpl n #120' (#128) from #120 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#128
Closes #120
2022-12-01 14:00:46 +01:00
703a2c91b5 Added logic to change base path for cpl n #120 2022-12-01 13:55:55 +01:00
4a54bb62de Merge pull request 'cpl g in project directory #93' (#127) from #93 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#127
Closes #93
2022-12-01 12:26:01 +01:00
9e84c8359b Removed empty PythonPath #93 2022-12-01 12:25:36 +01:00
5139876d90 Merge branch '#93' of https://git.sh-edraft.de/sh-edraft.de/sh_cpl into #93 2022-12-01 12:22:20 +01:00
6aef49de40 Repaired build & publish #93 2022-12-01 12:22:14 +01:00
186b336bf3 Repaired build & publish #93 2022-12-01 12:22:14 +01:00
1bbec27d1a Fixed cpl g path problems & package names #93 2022-12-01 12:21:57 +01:00
f0a8d69e22 Merge branch '2022.12' of https://git.sh-edraft.de/sh-edraft.de/sh_cpl into 2022.12 2022-12-01 12:21:17 +01:00
8bd237206c Fixed logging #123 2022-12-01 12:20:32 +01:00
6bf7c3a2bc Reverted #125 fix 2022-12-01 12:19:49 +01:00
2e8be741cc Repaired build & publish #93 2022-12-01 12:17:26 +01:00
abd0352750 Repaired build & publish #93 2022-11-30 19:05:11 +01:00
25d91b85f3 Merge branch '2022.12' into #93 2022-11-30 18:06:49 +01:00
f08eb42105 Merge pull request 'Logging Farben #123' (#126) from #123 into 2022.12
Reviewed-on: sh-edraft.de/sh_cpl#126
Closes #123
2022-11-30 18:06:12 +01:00
f450102c93 Fixed cpl g path problems & package names #93 2022-11-30 18:04:40 +01:00
db28645e98 Fixed logging #123 2022-11-30 15:17:08 +01:00
23efb776e7 Call pre & post scripts with args of base command & Build cpl-core@2022.7.0.post9 2022-11-18 09:17:56 +01:00
7f621b282f Build cpl-core@2022.7.0.post8 2022-11-18 08:37:16 +01:00
5dc7fce1e7 Call pre & post scripts with args of base command 2022-11-18 08:36:21 +01:00
879f59b0d5 Fixed #125 2022-10-21 22:34:47 +02:00
511622820a Fixed translation loading 2022-10-19 17:38:21 +02:00
0914f969e5 Resolved deps conflicts 2022-10-18 20:58:19 +02:00
c611045290 Removed german string 'this is a automatic...' in mail client 2022-10-18 20:44:08 +02:00
89ac9e90d6 Fixed take & skip 2022-10-15 13:17:08 +02:00
ae2a98b3bc Fixed unicode problems with windoof 2022-10-12 20:29:18 +02:00
bd242baa0a Removed exit from console warn in logger | WTF im so fckng sorry 2022-10-06 16:47:29 +02:00
8e4caeb2a8 Removed exit from console warn in logger | WTF im so fckng sorry 2022-10-06 16:46:44 +02:00
3b55b3d5a5 Fixed _append_log & create logic in logger_service 2022-10-06 16:45:20 +02:00
cc3b1afaa1 Fixed _append_log & create logic in logger_service 2022-10-06 16:24:01 +02:00
a22b6fdbdb Fixed typo | sry x2 :/ 2022-10-03 17:39:43 +02:00
e3041c4b5b Fixed typo | sry :/ 2022-10-03 17:36:31 +02:00
8ad6d50a04 Added reaction raw events 2022-10-03 17:32:12 +02:00
4db000f6d7 Added protected log and path getter to logger in cpl-core 2022-10-02 23:15:07 +02:00
3821624c3b Removed content from on_message log in cpl-discord 2022-10-02 13:01:09 +02:00
60a722b4ec Improved app builder to return self in use_startup 2022-10-02 02:43:10 +02:00
65132aa107 Improved app builder to return self in use_extension 2022-10-02 02:39:03 +02:00
48eac124a5 Fixed settings handling in cpl-discord 2022-10-01 22:38:01 +02:00
be23b18d33 Merge pull request 'Release 2022.10' (#112) from 2022.10 into master
Reviewed-on: sh-edraft.de/sh_cpl#112
Reviewed-by: edraft-dev <dev.sven.heidemann@sh-edraft.de>
2022-09-30 15:48:19 +02:00
748cc66946 Removed print 2022-09-30 15:47:54 +02:00
304b2e4255 Set new version & build projects 2022-09-30 15:39:41 +02:00
9fa183f143 Merge pull request '2022.10.11 - Added migrations to update command #114' (#117) from 2022.10.11-#114 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#117
Closes 117
2022-09-30 14:10:50 +02:00
82df528395 Merge pull request '2022.10.12 - Fixed cpl g existing __init__.py overwrite #116' (#118) from 2022.10.12-#116 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#118
Closes #118
2022-09-30 14:07:07 +02:00
49e3bddc91 Fixed cpl g existing __init__.py overwrite #116 2022-09-19 23:10:10 +02:00
c52bf961e1 Added migrations to update command #114 2022-09-19 23:00:09 +02:00
df3f9f0306 Merge pull request 'Fixed update & install commands #113' (#115) from 2022.10.10-#113 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#115
Closes #113
2022-09-19 21:48:56 +02:00
ef2d73aadc Fixed update & install commands #113 2022-09-19 21:09:41 +02:00
1ed721cccb Updated packages (Build RC2) 2022-09-18 11:37:50 +02:00
a724216563 Added dockerfile to test 2022-09-18 11:27:26 +02:00
2bcf4d7a97 Re-build correct version 2022-09-18 11:09:38 +02:00
2dfa2dd68f Improved project file structure 2022-09-18 10:59:29 +02:00
e94ed0b7f0 Build rc1 2022-09-17 13:03:37 +02:00
c7e2f8609c Merge pull request '2022.10.3 - Removed duplicated schematic name in generate command #92' (#111) from 2022.10.3 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#111
Closes #92
2022-09-17 12:12:52 +02:00
9d2321cc9c Merge branch '2022.10' into 2022.10.3 2022-09-17 12:12:40 +02:00
61d9912950 Removed duplicated schematic name in generate command #92 2022-09-17 12:09:05 +02:00
f23d32a92a Merge pull request '2022.10.4 - Removed async from startup functions (#94)' (#110) from 2022.10.4 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#110
Closes #94
2022-09-17 11:59:38 +02:00
dc489cbf7a Removed async from startup functions 2022-09-17 11:58:43 +02:00
41d24aae99 Merge pull request '2022.10.6 - Added error message when logging configuration not exists (#95)' (#109) from 2022.10.6 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#109
Closes #95
2022-09-17 11:40:46 +02:00
6b50bba139 Merge branch '2022.10' into 2022.10.6 2022-09-17 11:40:30 +02:00
139422fd32 Added error message when logging configuration not exists 2022-09-17 11:39:19 +02:00
409e11df42 Merge pull request '2022.10.5 Improved version command & fixed unittests (#97)' (#107) from 2022.10.5 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#107
Closes #97
2022-09-16 10:43:17 +02:00
f3a11f9791 Improved version command & fixed unittests 2022-09-15 19:16:52 +02:00
8dcc5b4011 Merge pull request '2022.10.9 - Enumerable & List (#105)' (#106) from 2022.10.9 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#106
Closes #105
2022-09-15 18:21:25 +02:00
d0f65834f1 Added performance test case 2022-09-15 18:14:40 +02:00
47ed0a705d Improved query 2022-09-15 17:00:22 +02:00
ae3192b63c Removed SequenceABC 2022-09-15 12:48:05 +02:00
bb461f5fba Improved query 2022-09-15 00:30:44 +02:00
52069b7bb3 Improved Sequences 2022-09-14 23:01:52 +02:00
f0ed0bd2e1 Added sequence converters 2022-09-14 13:23:23 +02:00
e868a120f0 Build cpl-query 2022-09-13 19:38:16 +02:00
70652aeb4c Changed structure of cpl-query 2022-09-13 19:33:26 +02:00
28adcc4e49 Implemented enumerable 2022-09-13 12:07:04 +02:00
affbb1ee7b Merge pull request '2022.10.8 - Moved query functions to static query class (#102)' (#104) from 2022.10.8 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#104
Closes #102
2022-09-12 22:55:14 +02:00
d8a4210c9b Moved query functions to static query class 2022-09-12 22:53:52 +02:00
b16d555e33 Merge pull request '2022.10.2 - Code refactoring' (#103) from 2022.10.2 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#103
2022-09-12 22:31:04 +02:00
4380142ccd Merge branch '2022.10' into 2022.10.2 2022-09-12 22:30:41 +02:00
91f2d6cb21 Code refactoring 2022-09-12 22:29:46 +02:00
249b071ee9 Merge pull request '2022.10.2' (#101) from 2022.10.2 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#101
2022-09-12 22:29:22 +02:00
53fe437100 Added more data containers 2022-09-12 22:18:54 +02:00
fc63f3616e Added tests for select & select many 2022-09-12 18:07:37 +02:00
a528511732 Added tests for select & select many 2022-09-12 17:58:48 +02:00
dbe1d37046 Build version 2022-09-11 22:02:10 +02:00
988965ed52 Improved cpl-query & added first types from discord 2022-09-11 21:57:27 +02:00
3c5ca594d5 Merge pull request '2022.10.1' (#100) from 2022.10.1 into 2022.10
Reviewed-on: sh-edraft.de/sh_cpl#100
2022-09-11 19:30:39 +02:00
452b30c899 Build version 2022-09-11 19:30:19 +02:00
85c5b26fdf Added slash command support 2022-09-11 10:21:28 +02:00
92ed684866 First migrations 2022-09-10 10:27:31 +02:00
88e83db330 Improved scope handling 2022-07-31 13:32:02 +02:00
55609fc691 Renamed sh_cpl to cpl in docs 2022-07-31 11:33:45 +02:00
e0d89f967f Improved docs 2022-07-31 11:30:05 +02:00
b2ce8a6924 Added on_error to event types enum 2022-07-19 21:42:45 +02:00
71efbd1b42 Fixed database connection handling by reconnecting 2022-07-19 07:37:03 +02:00
e36939a108 Fixed database port handling 2022-07-18 12:15:28 +02:00
721461fc1b Deployed cpl-discord==2022.7.0.post2 2022-07-17 16:11:33 +02:00
72ee59b2b4 Deployed cpl-core==2022.7.0.post3 2022-07-17 15:52:53 +02:00
95159da0fc Fixed pynput imports 2022-07-17 15:52:17 +02:00
330d702347 Fixed base class of translation service 2022-07-17 15:49:50 +02:00
cbf669d3bd Fixed base class of translation service 2022-07-16 22:06:38 +02:00
7498fe3255 Fixed settings error 2022-07-16 19:37:40 +02:00
880998e8ca Published cpl-discord.post1 2022-07-16 19:23:00 +02:00
ecc9657eaa Merge pull request '2022.7 - cpl-discord' (#96) from 2022.7 into master
Reviewed-on: sh-edraft.de/sh_cpl#96
Closes #91
2022-07-16 16:16:49 +02:00
125f65cf1b Published cpl-discord 2022-07-16 16:15:52 +02:00
1cd9c7d669 Fixed set-version 2022-07-16 16:07:39 +02:00
5165f31066 Build cpl-discord 2022-07-16 15:53:02 +02:00
10d33e5d1d Added logic to handle commands 2022-07-16 15:45:34 +02:00
fb35e8b8b2 Added logic to create a bot 2022-07-16 14:53:54 +02:00
4402bcce73 Added test project 2022-07-16 12:22:10 +02:00
8839b26f00 Added event bases 2022-07-16 12:21:59 +02:00
a79358725c Added cpl-discord project 2022-07-16 12:12:52 +02:00
2ab1576230 Fixed async init error & Fixed pip install 2022-07-14 16:29:08 +02:00
c0be380f69 Removed vscode files 2022-07-14 15:22:10 +02:00
c0ae0c8389 Merge pull request '2022.7 - cpl-translation' (#90) from 2022.7 into master
Reviewed-on: sh-edraft.de/sh_cpl#90
Closes #89
Closes #63
Closes #62
2022-07-10 18:10:30 +02:00
4a766e8284 Release 2022.7 2022-07-10 18:08:44 +02:00
2772ea8df2 Added translation unittests 2022-07-10 17:56:38 +02:00
a604f0e821 Build package 2022-07-10 17:23:50 +02:00
6995b25518 Injected add_translation function from translation package 2022-07-10 17:17:45 +02:00
e4f843829f Added logic to load translations and to translate texts 2022-06-29 20:03:13 +02:00
39b6ca790c Added test project 2022-06-29 19:05:12 +02:00
4c8d7a8031 Added translation project 2022-06-29 19:04:01 +02:00
6d75bc433e Merge pull request '2022.6' (#88) from 2022.6 into master
Reviewed-on: sh-edraft.de/sh_cpl#88
2022-06-29 17:50:06 +02:00
8bb7fbd1c4 Merge remote-tracking branch 'origin/2022.6' into 2022.6 2022-06-29 17:47:04 +02:00
ad03e655e9 Build Release 2022.6.0 2022-06-29 17:46:59 +02:00
61d3974a47 Build Release 2022.6.0 2022-06-29 17:46:01 +02:00
3d852c87e2 Improved docs 2022-06-29 17:44:10 +02:00
0e46528f32 Merge pull request '2022.6.8 - Dokumentation' (#87) from 2022.6.8 into 2022.6
Reviewed-on: sh-edraft.de/sh_cpl#87
Closes #56
2022-06-29 17:42:33 +02:00
bb8fa1f6a8 Improved readme 2022-06-29 17:40:05 +02:00
9fdaa810c0 Build 2022.6.0rc2 2022-06-27 21:48:15 +02:00
4083ac0c14 Build docs and added tutorial files 2022-06-27 21:42:34 +02:00
1063 changed files with 18049 additions and 54184 deletions

View File

@@ -0,0 +1,83 @@
name: Build on push
run-name: Build on push
on:
push:
branches:
- dev
jobs:
prepare:
uses: ./.gitea/workflows/prepare.yaml
with:
version_suffix: 'dev'
secrets: inherit
api:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, application, auth, core, dependency ]
with:
working_directory: src/api
secrets: inherit
application:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core, dependency ]
with:
working_directory: src/application
secrets: inherit
auth:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core, dependency, database ]
with:
working_directory: src/auth
secrets: inherit
cli:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core ]
with:
working_directory: src/cli
secrets: inherit
core:
uses: ./.gitea/workflows/package.yaml
needs: [prepare]
with:
working_directory: src/core
secrets: inherit
database:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core, dependency ]
with:
working_directory: src/database
secrets: inherit
dependency:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core ]
with:
working_directory: src/dependency
secrets: inherit
mail:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core, dependency ]
with:
working_directory: src/mail
secrets: inherit
query:
uses: ./.gitea/workflows/package.yaml
needs: [prepare]
with:
working_directory: src/query
secrets: inherit
translation:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core, dependency ]
with:
working_directory: src/translation
secrets: inherit

View File

@@ -0,0 +1,39 @@
name: Build on push
run-name: Build on push
on:
push:
branches:
- master
jobs:
prepare:
uses: ./.gitea/workflows/prepare.yaml
secrets: inherit
core:
uses: ./.gitea/workflows/package.yaml
needs: [prepare]
with:
working_directory: src/cpl-core
secrets: inherit
query:
uses: ./.gitea/workflows/package.yaml
needs: [prepare]
with:
working_directory: src/cpl-query
secrets: inherit
translation:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core ]
with:
working_directory: src/cpl-translation
secrets: inherit
mail:
uses: ./.gitea/workflows/package.yaml
needs: [ prepare, core ]
with:
working_directory: src/cpl-mail
secrets: inherit

View File

@@ -0,0 +1,71 @@
name: Build Package
run-name: Build Python Package
on:
workflow_call:
inputs:
version_suffix:
description: 'Suffix for version (z.B. "dev", "alpha", "beta")'
required: false
type: string
working_directory:
required: true
type: string
jobs:
build:
runs-on: [ runner ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
defaults:
run:
working-directory: ${{ inputs.working_directory }}
steps:
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Download build version artifact
uses: actions/download-artifact@v3
with:
name: version
- name: Set version
run: |
sed -i -E "s/^version = \".*\"/version = \"$(cat /workspace/sh-edraft.de/cpl/version.txt)\"/" pyproject.toml
echo "Set version to $(cat /workspace/sh-edraft.de/cpl/version.txt)"
cat pyproject.toml
- name: Set package version
run: |
sed -i -E "s/^__version__ = \".*\"/__version__ = \"$(cat /workspace/sh-edraft.de/cpl/version.txt)\"/" cpl/*/__init__.py
echo "Set version to $(cat /workspace/sh-edraft.de/cpl/version.txt)"
cat cpl/*/__init__.py
- name: Set pip conf
run: |
cat > .pip.conf <<'EOF'
[global]
extra-index-url = https://git.sh-edraft.de/api/packages/sh-edraft.de/pypi/simple/
EOF
- name: Install Dependencies
run: |
export PIP_CONFIG_FILE=".pip.conf"
pip install build
- name: Build Package
run: |
python -m build --outdir dist
- name: Login to registry git.sh-edraft.de
uses: https://github.com/docker/login-action@v1
with:
registry: git.sh-edraft.de
username: ${{ secrets.CI_USERNAME }}
password: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Push image
run: |
pip install twine
python -m twine upload --repository-url https://git.sh-edraft.de/api/packages/sh-edraft.de/pypi -u ${{ secrets.CI_USERNAME }} -p ${{ secrets.CI_ACCESS_TOKEN }} ./dist/*

View File

@@ -0,0 +1,58 @@
name: Prepare Build
run-name: Prepare Build Version
on:
workflow_call:
inputs:
version_suffix:
description: 'Suffix for version (z.B. "dev", "alpha", "beta")'
required: false
type: string
jobs:
prepare:
runs-on: [ runner ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Get Date and Build Number
run: |
git fetch --tags
git tag
DATE=$(date +'%Y.%m.%d')
TAG_COUNT=$(git tag -l "${DATE}.*" | wc -l)
if [ "$TAG_COUNT" -eq 0 ]; then
BUILD_NUMBER=0
else
BUILD_NUMBER=$(($TAG_COUNT + 1))
fi
VERSION_SUFFIX=${{ inputs.version_suffix }}
if [ -n "$VERSION_SUFFIX" ] && [ "$VERSION_SUFFIX" = "dev" ]; then
BUILD_VERSION="${DATE}.dev${BUILD_NUMBER}"
elif [ -n "$VERSION_SUFFIX" ]; then
BUILD_VERSION="${DATE}.${BUILD_NUMBER}${VERSION_SUFFIX}"
else
BUILD_VERSION="${DATE}.${BUILD_NUMBER}"
fi
echo "$BUILD_VERSION" > version.txt
echo "VERSION $BUILD_VERSION"
- name: Create Git Tag for Build
run: |
git config user.name "ci"
git config user.email "dev@sh-edraft.de"
echo "tag $(cat version.txt)"
git tag $(cat version.txt)
git push origin --tags
- name: Upload build version artifact
uses: actions/upload-artifact@v3
with:
name: version
path: version.txt

View File

@@ -0,0 +1,26 @@
name: Test before pr merge
run-name: Test before pr merge
on:
pull_request:
types:
- opened
- edited
- reopened
- synchronize
- ready_for_review
jobs:
test-lint:
runs-on: [ runner ]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Installing black
run: python3.12 -m pip install black
- name: Checking black
run: python3.12 -m black src --check

4
.gitignore vendored
View File

@@ -113,6 +113,7 @@ venv.bak/
# Custom Environments
cpl-env/
.secret
# Spyder project settings
.spyderproject
@@ -138,3 +139,6 @@ PythonImportHelper-v2-Completion.json
# cpl unittest stuff
unittests/test_*_playground
# cpl logs
**/logs/*.jsonl

2
.pip.conf Normal file
View File

@@ -0,0 +1,2 @@
[global]
extra-index-url = https://git.sh-edraft.de/api/packages/sh-edraft.de/pypi/simple/

307
.vscode/launch.json vendored
View File

@@ -1,307 +0,0 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Aktuelle Datei",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
},
{
"name": "CPL: main test",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}/cpl_core/src/tests/custom/general/src/general",
"program": "main.py",
"console": "integratedTerminal",
"args": [
"--customer=sh-edraft.de"
],
"env": {
"CPL_NAME": "CPL_Dev_Test",
"PYTHON_ENVIRONMENT": "development"
}
},
{
"name": "CPL: console test",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}/src/tests/custom/console",
"program": "main.py",
"console": "integratedTerminal",
},
{
"name": "CPL: database test",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}/src/tests/custom/database/src",
"program": "main.py",
"console": "integratedTerminal",
"env": {
"PYTHON_ENVIRONMENT": "development",
"PYTHONPATH": "${workspaceFolder}/src/:$PYTHONPATH"
}
},
{
"name": "CLI",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}/",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": []
},
{
"name": "CLI: add",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}/src/tests/custom/general",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"add",
"testing",
"general",
]
},
{
"name": "CLI: remove",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}/src/tests/custom/general",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"remove",
"testing",
]
},
{
"name": "CLI: build",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"build"
]
},
{
"name": "CLI: generate abc",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"generate",
"a",
"testName"
]
},
{
"name": "CLI: generate class",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"generate",
"c",
"src/hfs/fsnfiu/fiush/fisbf/testName"
]
},
{
"name": "CLI: generate enum",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"generate",
"e",
"testName"
]
},
{
"name": "CLI: generate service",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"generate",
"s",
"testName"
]
},
{
"name": "CLI: generate settings",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"generate",
"st",
"testName"
]
},
{
"name": "CLI: generate thread",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"generate",
"t",
"testName"
]
},
{
"name": "CLI: hello-world",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"hello-world",
]
},
{
"name": "CLI: help",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"help",
]
},
{
"name": "CLI: install discord.py",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}/src/tests/custom/general",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"install",
"discord.py",
],
"env": {
"GISMO_ENVIRONMENT": "development",
"PYTHONPATH": "${workspaceFolder}/src/:$PYTHONPATH"
}
},
{
"name": "CLI: install local",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}/src/tests/custom/general",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"install",
]
},
{
"name": "CLI: new console",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"new",
"console",
"HelloWorld"
]
},
{
"name": "CLI: new library",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"new",
"library",
"HelloWorldLib"
]
},
{
"name": "CLI: publish",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"publish",
]
},
{
"name": "CLI: start",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"start",
],
"env": {
"PYTHONPATH": "${workspaceFolder}/src/:${workspaceFolder}/src/cpl_cli/"
}
},
{
"name": "CLI: uninstall discord.py",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}/src/tests/custom/general",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"uninstall",
"discord.py",
]
},
{
"name": "CLI: start",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}/src/tests/custom/general",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"update",
]
},
{
"name": "CLI: version",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/src/cpl_cli/main.py",
"console": "integratedTerminal",
"args": [
"version",
]
},
]
}

23
.vscode/settings.json vendored
View File

@@ -1,23 +0,0 @@
{
"workbench.colorCustomizations": {
"activityBar.activeBackground": "#93e6fc",
"activityBar.activeBorder": "#fa45d4",
"activityBar.background": "#93e6fc",
"activityBar.foreground": "#15202b",
"activityBar.inactiveForeground": "#15202b99",
"activityBarBadge.background": "#fa45d4",
"activityBarBadge.foreground": "#15202b",
"sash.hoverBorder": "#93e6fc",
"statusBar.background": "#61dafb",
"statusBar.foreground": "#15202b",
"statusBarItem.hoverBackground": "#2fcefa",
"statusBarItem.remoteBackground": "#61dafb",
"statusBarItem.remoteForeground": "#15202b",
"titleBar.activeBackground": "#61dafb",
"titleBar.activeForeground": "#15202b",
"titleBar.inactiveBackground": "#61dafb99",
"titleBar.inactiveForeground": "#15202b99"
},
"peacock.color": "#61dafb",
"python.pythonPath": "cpl-env/bin/python3.9",
}

View File

@@ -1,4 +1,4 @@
MIT License Copyright (c) 2020 - 2022 sh-edraft.de
MIT License Copyright (c) 2020 - 2023 sh-edraft.de
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

112
README.md
View File

@@ -1,106 +1,16 @@
<h1 align="center">CPL - Common python library</h1>
## Prepare for development
<!-- 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>
After cloning the repository, run the following commands to set up your development environment:
## Table of Contents
<!-- TABLE OF CONTENTS -->
<ol>
<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>
<!-- 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
```bash
python -m venv .venv
source .venv/bin/activate # On Windows use `.venv\Scripts\activate`
bash install.sh
```
Install the CPL CLI
```sh
pip install sh_cpl-cli --extra-index-url https://pip.sh-edraft.de
```
Install cpl-cli as a development package:
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
```bash
pip install -e src/core
pip install -e src/cli
```

View File

@@ -1,95 +0,0 @@
{
"WorkspaceSettings": {
"DefaultProject": "cpl-cli",
"Projects": {
"cpl-core": "src/cpl_core/cpl-core.json",
"cpl-cli": "src/cpl_cli/cpl-cli.json",
"cpl-query": "src/cpl_query/cpl-query.json",
"set-version": "tools/set_version/set-version.json",
"set-pip-urls": "tools/set_pip_urls/set-pip-urls.json",
"unittests": "unittests/unittests/unittests.json",
"unittests_cli": "unittests/unittests_cli/unittests_cli.json",
"unittests_core": "unittests/unittests_core/unittests_core.json",
"unittests_query": "unittests/unittests_query/unittests_query.json",
"unittests_shared": "unittests/unittests_shared/unittests_shared.json"
},
"Scripts": {
"hello-world": "echo 'Hello World'",
"sv": "cpl set-version",
"set-version": "cpl run set-version $ARGS; echo '';",
"spu": "cpl set-pip-urls",
"set-pip-urls": "cpl run set-pip-urls $ARGS; echo '';",
"docs-build": "echo 'Build Documentation'; cd docs/; sphinx-apidoc -o source/ ../src/cpl_core; sphinx-apidoc -o source/ ../src/cpl_query; make clean; make html; rm source/cpl_query.tests.rst;",
"db": "cpl build-docs",
"docs-open": "xdg-open $PWD/docs/build/html/index.html &",
"do": "cpl docs-open",
"test": "cpl run unittests",
"pre-build-all": "cpl sv $ARGS; cpl spu $ARGS;",
"build-all": "cpl build-cli; cpl build-core; cpl build-query; cpl build-set-pip-urls; cpl build-set-version",
"ba": "cpl build-all $ARGS",
"build-cli": "echo 'Build cpl-cli'; cd ./src/cpl_cli; cpl build; cd ../../;",
"build-core": "echo 'Build cpl-core'; cd ./src/cpl_core; cpl build; cd ../../;",
"build-query": "echo 'Build cpl-query'; cd ./src/cpl_query; cpl build; cd ../../;",
"build-set-pip-urls": "echo 'Build set-pip-urls'; cd ./tools/set_pip_urls; cpl build; cd ../../;",
"build-set-version": "echo 'Build set-version'; cd ./tools/set_version; cpl build; cd ../../;",
"pre-publish-all": "cpl sv $ARGS; cpl spu $ARGS;",
"publish-all": "cpl publish-cli; cpl publish-core; cpl publish-query;",
"pa": "cpl build-all $ARGS",
"publish-cli": "echo 'Publish cpl-cli'; cd ./src/cpl_cli; cpl publish; cd ../../;",
"publish-core": "echo 'Publish cpl-core'; cd ./src/cpl_core; cpl publish; cd ../../;",
"publish-query": "echo 'Publish cpl_query'; cd ./src/cpl_query; cpl publish; cd ../../;",
"upload-prod-cli": "echo 'PROD Upload cpl-cli'; cpl upl-prod-cli;",
"upl-prod-cli": "twine upload -r pip.sh-edraft.de dist/cpl-cli/publish/setup/*",
"upload-prod-core": "echo 'PROD Upload cpl-core'; cpl upl-prod-core;",
"upl-prod-core": "twine upload -r pip.sh-edraft.de dist/cpl-core/publish/setup/*",
"upload-prod-query": "echo 'PROD Upload cpl_query'; cpl upl-prod-query;",
"upl-prod-query": "twine upload -r pip.sh-edraft.de dist/cpl-query/publish/setup/*",
"upload-exp-cli": "echo 'EXP Upload cpl-cli'; cpl upl-exp-cli;",
"upl-exp-cli": "twine upload -r pip-exp.sh-edraft.de dist/cpl-cli/publish/setup/*",
"upload-exp-core": "echo 'EXP Upload cpl-core'; cpl upl-exp-core;",
"upl-exp-core": "twine upload -r pip-exp.sh-edraft.de dist/cpl-core/publish/setup/*",
"upload-exp-query": "echo 'EXP Upload cpl_query'; cpl upl-exp-query;",
"upl-exp-query": "twine upload -r pip-exp.sh-edraft.de dist/cpl-query/publish/setup/*",
"upload-dev-cli": "echo 'DEV Upload cpl-cli'; cpl upl-dev-cli;",
"upl-dev-cli": "twine upload -r pip-dev.sh-edraft.de dist/cpl-cli/publish/setup/*",
"upload-dev-core": "echo 'DEV Upload cpl-core'; cpl upl-dev-core;",
"upl-dev-core": "twine upload -r pip-dev.sh-edraft.de dist/cpl-core/publish/setup/*",
"upload-dev-query": "echo 'DEV Upload cpl_query'; cpl upl-dev-query;",
"upl-dev-query": "twine upload -r pip-dev.sh-edraft.de dist/cpl-query/publish/setup/*",
"pre-deploy-prod": "cpl sv $ARGS; cpl spu --environment=production;",
"deploy-prod": "cpl deploy-prod-cli; cpl deploy-prod-core; cpl deploy-prod-query;",
"dp": "cpl deploy-prod $ARGS",
"deploy-prod-cli": "cpl publish-cli; cpl upload-prod-cli",
"deploy-prod-core": "cpl publish-core; cpl upload-prod-core",
"deploy-prod-query": "cpl publish-query; cpl upload-prod-query",
"pre-deploy-exp": "cpl sv $ARGS; cpl spu --environment=staging;",
"deploy-exp": "cpl deploy-exp-cli; cpl deploy-exp-core; cpl deploy-exp-query;",
"de": "cpl deploy-exp $ARGS",
"deploy-exp-cli": "cpl publish-cli; cpl upload-exp-cli",
"deploy-exp-core": "cpl publish-core; cpl upload-exp-core",
"deploy-exp-query": "cpl publish-query; cpl upload-exp-query",
"pre-deploy-dev": "cpl sv $ARGS; cpl spu --environment=development;",
"deploy-dev": "cpl deploy-dev-cli; cpl deploy-dev-core; cpl deploy-dev-query;",
"dd": "cpl deploy-dev $ARGS",
"deploy-dev-cli": "cpl publish-cli; cpl upload-dev-cli",
"deploy-dev-core": "cpl publish-core; cpl upload-dev-core",
"deploy-dev-query": "cpl publish-query; cpl upload-dev-query",
"dev-install": "cpl di-core; cpl di-cli; cpl di-query;",
"di": "cpl dev-install",
"di-core": "pip install cpl-query --pre --upgrade --extra-index-url https://pip-dev.sh-edraft.de",
"di-cli": "pip install cpl-query --pre --upgrade --extra-index-url https://pip-dev.sh-edraft.de",
"di-query": "pip install cpl-query --pre --upgrade --extra-index-url https://pip-dev.sh-edraft.de"
}
}
}

12
cpl.workspace.json Normal file
View File

@@ -0,0 +1,12 @@
{
"name": "cpl",
"projects": [
"src/cli/cpl.project.json",
"src/core/cpl.project.json",
"test/cpl.project.json"
],
"defaultProject": "cpl-cli",
"scripts": {
"format": "black src"
}
}

View File

@@ -1,20 +0,0 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,4 +0,0 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 8170277cf12e5442e6180427108a8adf
tags: 645f666f9bcd5a90fca523b33c5a78b7

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -1,25 +0,0 @@
# cpl add
## Contents
- [Description](#description)
- [Arguments](#arguments)
Removes a project from workspace.
cpl **add** *&lt;source-project&gt;* *&lt;target-project&gt;* <br>
cpl **a** *&lt;source-project&gt;* *&lt;target-project&gt;* <br>
cpl **A** *&lt;source-project&gt;* *&lt;target-project&gt;*
## Description
Adds a project reference to given project.
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
| Argument | Description | Value type |
| ------------------------- |:---------------------------------------------------------------:|:----------------:|
| ```<source-project>``` | Name of the project to which the reference has to be added | ```str```
| ```<target-project>``` | Name of the project to be referenced | ```str```

View File

@@ -1,26 +0,0 @@
# cpl build
## Contents
- [Description](#description)
<!-- - [Arguments](#arguments) -->
Copies an python app into an output directory named build/ at the given output path. Must be executed within a CPL workspace or project directory
cpl **build** <br>
cpl **b** <br>
cpl **B**
## Description
The command can be used to build a project of type "console" or "library".
The build command copies all included source files to the output directory. You can run the source files in the output directory directly.
The command is used to prepare the source files for the publish command or to copy them to an target for execution.
<!-- ## Arguments
| Argument | Description | Value type |
| ------------- |:-------------:|:----------------:|
| ```<project>``` | The name of the project to build. Can be an console or a library. | ```str``` -->

View File

@@ -1,35 +0,0 @@
# cpl generate
## Contents
- [Description](#description)
- [Arguments](#arguments)
- [Schematics](#schematics)
Generate a file based on schematic.
cpl **generate** *&lt;schematic&gt;* *&lt;name&gt;* <br>
cpl **g** *&lt;schematic&gt;* *&lt;name&gt;* <br>
cpl **G** *&lt;schematic&gt;* *&lt;name&gt;*
## Description
Generates files based on a schematic.
## Arguments
| Argument | Description | Value type |
| ----------------- |:---------------------------------:|:-------------:|
| ```<schematic>``` | The schematic to generate. | ```str``` |
| ```<name>``` | The name of the generated file. | ```str``` |
## Schematics
| Schematic | Description | Arguments |
| ----------------- |:-------------------:|:----------------:|
| ```abc``` | Abstract base class | ```<name>```
| ```class``` | Class | ```<name>```
| ```enum``` | Enum class | ```<name>```
| ```service``` | Service class | ```<name>```
| ```settings``` | [Configmodel](cpl_core.configuration) | ```<name>```
| ```thread``` | Thread class | ```<name>```

View File

@@ -1,22 +0,0 @@
# cpl help
<!-- ## Contents
- [Description](#description) -->
<!-- - [Arguments](#arguments) -->
Lists available command and their short descriptions.
cpl **help** *&lt;command&gt;* <br>
cpl **h** *&lt;command&gt;* <br>
cpl **H** *&lt;command&gt;*
## Description
Lists available command and their short descriptions.
## Arguments
| Argument | Description | Value type |
| ----------------- |:-----------------------------:|:-------------:|
| ```<command>``` | Shows a help message for this command in the console. | ```str``` |

View File

@@ -1,23 +0,0 @@
# cpl install
## Contents
- [Description](#description)
- [Arguments](#arguments)
Installs given package via pip
cpl **install** *&lt;package&gt;* <br>
cpl **i** *&lt;package&gt;* <br>
cpl **I** *&lt;package&gt;*
## Description
Install given package to project via pip.
Without given package it will install the depedencies of the CPL project your in.
## Arguments
| Argument | Description | Value type |
| ----------------- |:-----------------------------:|:-------------:|
| ```<package>``` | The package to install | ```str``` |

View File

@@ -1,31 +0,0 @@
# cpl new
## Contents
- [Description](#description)
- [Arguments](#arguments)
- [Project types](#project-types)
Generates a workspace and initial project or add a project to workspace.
cpl **new** *&lt;type&gt;* *&lt;name&gt;*<br>
cpl **n** *&lt;type&gt;* *&lt;name&gt;* <br>
cpl **N** *&lt;type&gt;* *&lt;name&gt;*
## Description
Generates a workspace and initial project or add a project to workspace.
If the command is running in a CPL workspace, it will add the new project to the workspace.
| Argument | Description | Value type |
| ----------------- |:-----------------------------------------------------:|:-------------:|
| ```<type>``` | The type of the project, see [types](#project-types) | ```str``` |
| ```<name>``` | The name of the project | ```str``` |
## Project types
| Project type | Description |
| ----------------- |:-----------------------------:|
| ```console``` | A simple console application |
| ```library``` | A package |

View File

@@ -1,53 +0,0 @@
# CLI Overview and Command Reference
## Table of Contents
1. [Install CPL](setup#install-the-package)
2. [Install CPL CLI](setup#install-the-cli)
3. [Basic workflow](#basic-workflow)
4. [CLI command-language syntax](#cli-command-language-syntax)
5. [Command overview](#command-overview)
## Basic workflow
To create, build, and serve a new, basic CPL project on a development server, go to the parent directory of your new workspace use the following commands:
```sh
cpl new console my-first-project
cd my-first-project
cpl start
```
In the terminal you will the output of the app.
## CLI command-language syntax
```cpl``` commandNameOrAlias requiredArg ```[optionalsArgs]```
- Most commands, and some options, have aliases. Aliases are shown in the syntax statement for each command.
- Arguments are not prefixed.
### Relative paths
Options that specify files can be given as absolute paths, or as paths relative to the current working directory, which is generally either the workspace or project root.
### Schematics
The cpl generate command takes as an argument the artifact to be generated. In addition to any general options, each artifact defines its own options in a schematic. Schematic options are supplied to the command in the same format as immediate command options.
## Command overview
| Command | Alias | Description |
| ----------------------------- |:-------------:|:----------------:|
| [add](cli.add) | a or a | Adds a project reference to given project.
| [build](cli.build) | b or B | Prepares files for publish into an output directory named dist/ at the given output path. Must be executed from within a workspace directory.
| [generate](cli.generate) | g or G | Generate a new file.
| [help](cli.help) | h or H | Lists available command and their short descriptions.
| [install](cli.install) | i or I | With argument installs packages to project, without argument installs project dependencies.
| [new](cli.new) | n or N | Creates new CPL project.
| [publish](cli.publish) | p or P | Prepares files for publish into an output directory named dist/ at the given output path and executes ```setup.py```. Must be executed from within a library workspace directory.
| [remove](cli.remove) | r or R | Removes a project from workspace.
| [start](cli.start) | s or S | Starts CPL project, restarting on file changes.
| [uninstall](cli.uninstall) | ui or UI | Uninstalls packages from project.
| [update](cli.update) | u or U | Update CPL and project dependencies.
| [version](cli.version) | v or V | Outputs CPL CLI version.

View File

@@ -1,27 +0,0 @@
# cpl publish
## Contents
- [Description](#description)
<!-- - [Arguments](#arguments) -->
Prepares files for publish into an output directory named dist/ at the given output path and executes ```setup.py```.
cpl **publish** <br>
cpl **p** <br>
cpl **P**
## Description
The command can be used to publish a project of type "console" or "library".
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.
<!-- ## Arguments
| Argument | Description | Value type |
| ------------- |:-------------:|:----------------:|
| ```<project>``` | The name of the project to build. Can be an console or a library. | ```str``` -->

View File

@@ -1,24 +0,0 @@
# cpl remove
## Contents
- [Description](#description)
- [Arguments](#arguments)
Removes a project from workspace.
cpl **remove** *&lt;project&gt;* <br>
cpl **r** *&lt;project&gt;* <br>
cpl **R** *&lt;project&gt;*
## Description
Removes a project reference and the files from workspace.
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
| Argument | Description | Value type |
| ------------------------- |:-------------------------------------:|:----------------:|
| ```<project>``` | The name of the project to delete | ```str```

View File

@@ -1,7 +0,0 @@
# cpl start
Starts your application, restarting on file changes.
cpl **start** <br>
cpl **s** <br>
cpl **S**

View File

@@ -1,22 +0,0 @@
# cpl uninstall
## Contents
- [Description](#description)
- [Arguments](#arguments)
Uninstalls given package via pip
cpl **uninstall** *&lt;package&gt;* <br>
cpl **ui** *&lt;package&gt;* <br>
cpl **UI** *&lt;package&gt;*
## Description
Uninstall given package from project via pip.
## Arguments
| Argument | Description | Value type |
| ----------------- |:-----------------------------:|:-------------:|
| ```<package>``` | The package to uninstall | ```str``` |

View File

@@ -1,7 +0,0 @@
# cpl update
Updates the CPL and project dependencies.
cpl **update** <br>
cpl **u** <br>
cpl **U**

View File

@@ -1,7 +0,0 @@
# cpl version
Lists the version of CPL, CPL CLI and all installed packages from pip.
cpl **version** <br>
cpl **v** <br>
cpl **V**

View File

@@ -1,111 +0,0 @@
# Contributing to CPL
We would love for you to contribute to CPL and help make it even better than it is today! As a contributor, here are the guidelines we would like you to follow:
- [Issuses and Bugs](#found-a-bug)
- [Feature Request](#feature-request)
- [Submission Guidelines](#submission-guidelines)
- [Coding Rules](#coding-rules)
- [License](#license)
## Found a Bug?
If you find a bug in the source code, you can help us by [submitting an issue](#submitting-an-issue) to our [Gitea Repository][gitea-repo]. Even better, you can [submit a Pull Request](#submitting-a-pull-request) with a fix.
## Feature Request
You can request a new feature by submitting an issue to our [Gitea Repository][gitea-repo]. If you would like to implement a new feature, please consider the size of the change in order to determine the right steps to proceed:
For a Major Feature, first open an issue and outline your proposal so that it can be discussed. This process allows us to better coordinate our efforts, prevent duplication of work, and help you to craft the change so that it is successfully accepted into the project.
Note: Adding a new topic to the documentation, or significantly re-writing a topic, counts as a major feature.
Small Features can be crafted and directly submitted as a [Pull Request](#submit-pr).
## Submission Guidelines
### Submitting an Issue
Before you submit an issue, please search the issue tracker, maybe an issue for your problem already exists and the discussion might inform you of workarounds readily available.
We want to fix all the issues as soon as possible, but before fixing a bug we need to reproduce and confirm it. In order to reproduce bugs, we require that you provide a minimal reproduction. Having a minimal reproducible scenario gives us a wealth of important information without going back and forth to you with additional questions.
A minimal reproduction allows us to quickly confirm a bug (or point out a coding problem) as well as confirm that we are fixing the right problem.
We require a minimal reproduction to save maintainers' time and ultimately be able to fix more bugs. Often, developers find coding problems themselves while preparing a minimal reproduction. We understand that sometimes it might be hard to extract essential bits of code from a larger codebase but we really need to isolate the problem before we can fix it.
Unfortunately, we are not able to investigate / fix bugs without a minimal reproduction, so if we don't hear back from you, we are going to close an issue that doesn't have enough info to be reproduced.
### Submitting a Pull Request
Before you submit your Pull Request (PR) consider the following guidelines:
1. Search the [repository][gitea-repo] for an open or closed PR that relates to your submission. You don't want to duplicate existing efforts.
2. Be sure that an issue describes the problem you're fixing, or documents the design for the feature you'd like to add. Discussing the design upfront helps to ensure that we're ready to accept your work.
3. Fork the sh-edraft.de/sh_cpl repo.
4. In your forked repository, make your changes in a new git branch:
```sh
git checkout -b my-fix-branch master
```
5. Create your patch, including appropriate test cases.
<!-- 6. Follow our [Coding Rules](coding-rules). -->
6. Commit your changes.
```sh
git commit --all
```
Note: the optional commit ```-a``` command line option will automatically "add" and "rm" edited files.
7. Push your branch to the [repository][gitea-repo]:
```sh
git push origin my-fix-branch
```
8. In Gitea, send a pull request to sh_cpl:master
### Reviewing a Pull Request
The sh-edraft.de team reserves the right not to accept pull requests from community members who haven't been good citizens of the community. Such behavior includes not following the CPL [coding rules](#coding-rules) and applies within or outside of CPL managed channels.
#### Addressing review feedback
If we ask for changes via code reviews then:
1. Make the required updates to the code.
2. Create a fixup commit and push to your repository (this will update your Pull Request):
```sh
git commit --all --fixup HEAD
git push
```
That's it! Thank you for your contribution!
## Coding Rules
To ensure consistency throughout the source code, keep these rules in mind as you are working:
- All features or bug fixes must be tested by one or more unit-tests.
- All public API methods must be documented.
- We follow [PEP 8 -- Style Guide for Python Code](https://www.python.org/dev/peps/pep-0008/).
## License
By contributing, you agree that your contributions will be licensed under its MIT License.
See [LICENSE](https://git.sh-edraft.de/sh-edraft.de/sh_cpl/src/branch/master/LICENSE)
<!-- LINKS -->
[gitea-repo]: https://git.sh-edraft.de/sh-edraft.de/sh_cpl/
[coding-rules]: /

View File

@@ -1,19 +0,0 @@
CLI Reference
=============
.. toctree::
:maxdepth: 4
cli.overview
cli.add
cli.build
cli.generate
cli.help
cli.install
cli.new
cli.publish
cli.remove
cli.start
cli.uninstall
cli.update
cli.version

View File

@@ -1,34 +0,0 @@
cpl_core.application
=======================
cpl_core.application.application\_abc
---------------------------------------
.. automodule:: cpl_core.application.application_abc
:members:
:undoc-members:
:show-inheritance:
cpl_core.application.application\_builder
-------------------------------------------
.. automodule:: cpl_core.application.application_builder
:members:
:undoc-members:
:show-inheritance:
cpl_core.application.application\_builder\_abc
------------------------------------------------
.. automodule:: cpl_core.application.application_builder_abc
:members:
:undoc-members:
:show-inheritance:
cpl_core.application.startup\_abc
-----------------------------------
.. automodule:: cpl_core.application.startup_abc
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,42 +0,0 @@
cpl_core.configuration
=========================
cpl_core.configuration.configuration
--------------------------------------
.. automodule:: cpl_core.configuration.configuration
:members:
:undoc-members:
:show-inheritance:
cpl_core.configuration.configuration\_abc
-------------------------------------------
.. automodule:: cpl_core.configuration.configuration_abc
:members:
:undoc-members:
:show-inheritance:
cpl_core.configuration.configuration\_model\_abc
--------------------------------------------------
.. automodule:: cpl_core.configuration.configuration_model_abc
:members:
:undoc-members:
:show-inheritance:
cpl_core.configuration.configuration\_variable\_name\_enum
------------------------------------------------------------
.. automodule:: cpl_core.configuration.configuration_variable_name_enum
:members:
:undoc-members:
:show-inheritance:
cpl_core.configuration.console\_argument
------------------------------------------
.. automodule:: cpl_core.configuration.console_argument
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,42 +0,0 @@
cpl_core.console
===================
cpl_core.console.background\_color\_enum
------------------------------------------
.. automodule:: cpl_core.console.background_color_enum
:members:
:undoc-members:
:show-inheritance:
cpl_core.console.console
--------------------------
.. automodule:: cpl_core.console.console
:members:
:undoc-members:
:show-inheritance:
cpl_core.console.console\_call
--------------------------------
.. automodule:: cpl_core.console.console_call
:members:
:undoc-members:
:show-inheritance:
cpl_core.console.foreground\_color\_enum
------------------------------------------
.. automodule:: cpl_core.console.foreground_color_enum
:members:
:undoc-members:
:show-inheritance:
cpl_core.console.spinner\_thread
----------------------------------
.. automodule:: cpl_core.console.spinner_thread
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,18 +0,0 @@
cpl_core.database.connection
===============================
cpl_core.database.connection.database\_connection
---------------------------------------------------
.. automodule:: cpl_core.database.connection.database_connection
:members:
:undoc-members:
:show-inheritance:
cpl_core.database.connection.database\_connection\_abc
--------------------------------------------------------
.. automodule:: cpl_core.database.connection.database_connection_abc
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,18 +0,0 @@
cpl_core.database.context
============================
cpl_core.database.context.database\_context
---------------------------------------------
.. automodule:: cpl_core.database.context.database_context
:members:
:undoc-members:
:show-inheritance:
cpl_core.database.context.database\_context\_abc
--------------------------------------------------
.. automodule:: cpl_core.database.context.database_context_abc
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,35 +0,0 @@
cpl_core.database
====================
.. toctree::
:maxdepth: 4
cpl_core.database.connection
cpl_core.database.context
Submodules
----------
cpl_core.database.database\_model
-----------------------------------
.. automodule:: cpl_core.database.database_model
:members:
:undoc-members:
:show-inheritance:
cpl_core.database.database\_settings
--------------------------------------
.. automodule:: cpl_core.database.database_settings
:members:
:undoc-members:
:show-inheritance:
cpl_core.database.database\_settings\_name\_enum
--------------------------------------------------
.. automodule:: cpl_core.database.database_settings_name_enum
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,50 +0,0 @@
cpl_core.dependency\_injection
=================================
cpl_core.dependency\_injection.service\_collection
----------------------------------------------------
.. automodule:: cpl_core.dependency_injection.service_collection
:members:
:undoc-members:
:show-inheritance:
cpl_core.dependency\_injection.service\_collection\_abc
---------------------------------------------------------
.. automodule:: cpl_core.dependency_injection.service_collection_abc
:members:
:undoc-members:
:show-inheritance:
cpl_core.dependency\_injection.service\_descriptor
----------------------------------------------------
.. automodule:: cpl_core.dependency_injection.service_descriptor
:members:
:undoc-members:
:show-inheritance:
cpl_core.dependency\_injection.service\_lifetime\_enum
--------------------------------------------------------
.. automodule:: cpl_core.dependency_injection.service_lifetime_enum
:members:
:undoc-members:
:show-inheritance:
cpl_core.dependency\_injection.service\_provider
--------------------------------------------------
.. automodule:: cpl_core.dependency_injection.service_provider
:members:
:undoc-members:
:show-inheritance:
cpl_core.dependency\_injection.service\_provider\_abc
-------------------------------------------------------
.. automodule:: cpl_core.dependency_injection.service_provider_abc
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,26 +0,0 @@
cpl_core.environment
=======================
cpl_core.environment.application\_environment
-----------------------------------------------
.. automodule:: cpl_core.environment.application_environment
:members:
:undoc-members:
:show-inheritance:
cpl_core.environment.application\_environment\_abc
----------------------------------------------------
.. automodule:: cpl_core.environment.application_environment_abc
:members:
:undoc-members:
:show-inheritance:
cpl_core.environment.environment\_name\_enum
----------------------------------------------
.. automodule:: cpl_core.environment.environment_name_enum
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,42 +0,0 @@
cpl_core.logging
===================
cpl_core.logging.logger\_abc
------------------------------
.. automodule:: cpl_core.logging.logger_abc
:members:
:undoc-members:
:show-inheritance:
cpl_core.logging.logger\_service
----------------------------------
.. automodule:: cpl_core.logging.logger_service
:members:
:undoc-members:
:show-inheritance:
cpl_core.logging.logging\_level\_enum
---------------------------------------
.. automodule:: cpl_core.logging.logging_level_enum
:members:
:undoc-members:
:show-inheritance:
cpl_core.logging.logging\_settings
------------------------------------
.. automodule:: cpl_core.logging.logging_settings
:members:
:undoc-members:
:show-inheritance:
cpl_core.logging.logging\_settings\_name\_enum
------------------------------------------------
.. automodule:: cpl_core.logging.logging_settings_name_enum
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,42 +0,0 @@
cpl_core.mailing
===================
cpl_core.mailing.email
------------------------
.. automodule:: cpl_core.mailing.email
:members:
:undoc-members:
:show-inheritance:
cpl_core.mailing.email\_client\_abc
-------------------------------------
.. automodule:: cpl_core.mailing.email_client_abc
:members:
:undoc-members:
:show-inheritance:
cpl_core.mailing.email\_client\_service
-----------------------------------------
.. automodule:: cpl_core.mailing.email_client_service
:members:
:undoc-members:
:show-inheritance:
cpl_core.mailing.email\_client\_settings
------------------------------------------
.. automodule:: cpl_core.mailing.email_client_settings
:members:
:undoc-members:
:show-inheritance:
cpl_core.mailing.email\_client\_settings\_name\_enum
------------------------------------------------------
.. automodule:: cpl_core.mailing.email_client_settings_name_enum
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,16 +0,0 @@
API Reference
===========
.. toctree::
:maxdepth: 4
cpl_core.application
cpl_core.configuration
cpl_core.console
cpl_core.database
cpl_core.dependency_injection
cpl_core.environment
cpl_core.logging
cpl_core.mailing
cpl_core.time
cpl_core.utils

View File

@@ -1,18 +0,0 @@
cpl_core.time
================
cpl_core.time.time\_format\_settings
--------------------------------------
.. automodule:: cpl_core.time.time_format_settings
:members:
:undoc-members:
:show-inheritance:
cpl_core.time.time\_format\_settings\_names\_enum
---------------------------------------------------
.. automodule:: cpl_core.time.time_format_settings_names_enum
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,26 +0,0 @@
cpl_core.utils
=================
cpl_core.utils.credential\_manager
------------------------------------
.. automodule:: cpl_core.utils.credential_manager
:members:
:undoc-members:
:show-inheritance:
cpl_core.utils.pip
--------------------
.. automodule:: cpl_core.utils.pip
:members:
:undoc-members:
:show-inheritance:
cpl_core.utils.string
-----------------------
.. automodule:: cpl_core.utils.string
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,10 +0,0 @@
cpl_query.exceptions
=================================
cpl_query.exceptions
----------------------------------------------------
.. automodule:: cpl_query.exceptions
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,42 +0,0 @@
cpl_query.extension
=================================
cpl_query.extension.iterable_abc
----------------------------------------------------
.. automodule:: cpl_query.extension.iterable_abc
:members:
:undoc-members:
:show-inheritance:
cpl_query.extension.iterable
----------------------------------------------------
.. automodule:: cpl_query.extension.iterable
: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:
cpl_query.extension.ordered_iterable
----------------------------------------------------
.. automodule:: cpl_query.extension.ordered_iterable
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,8 +0,0 @@
Query Reference
===========
.. toctree::
:maxdepth: 4
cpl_query.extension
cpl_query.exceptions

View File

@@ -1,45 +0,0 @@
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:

View File

@@ -1,9 +0,0 @@
Getting started
===============
.. toctree::
:maxdepth: 4
quickstart
setup

View File

@@ -1,25 +0,0 @@
.. Common Python Library documentation master file, created by
sphinx-quickstart on Wed Apr 14 10:25:36 2021.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
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.
Manuals
---------
These pages go into great detail about everything the Library can do.
.. toctree::
:maxdepth: 1
introduction
getting_started
cpl_cli
cpl_core
cpl_query

View File

@@ -1,13 +0,0 @@
# 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.
## Explore
- [Getting started](quickstart)
- [Setup](setup)
- [API Reference](cpl_core)
- [CLI Reference](cli.overview)
- [Query Reference](cpl_query)

View File

@@ -1,10 +0,0 @@
cpl
===
.. toctree::
:maxdepth: 4
getting_started
cpl_cli
cpl_core
cpl_query

View File

@@ -1,210 +0,0 @@
# Getting started with CPL
Welcome to CPL!
This tutorial introduces you to the essentials of the CPL package by walking through building an console based app.
## Table of Contents
1. [Prerequisites](#prerequisites)
2. [Create the project](#create-the-project)
3. [Create a menu](#create-a-menu)
4. [What's next](#whats-next)
## Prerequisites
To get most out of this tutorial you should already have a basic understanding of the following.
- [Python][python]
Also you need to have the following installed.
- [Python][python]
- [Pip][pip-url]
- [CPL](setup)
- [CPL-CLI](setup)
## Create the project
To create the sample project to the following:
1. Open a terminal
2. Run
```sh
cpl new console sample-project
```
3. We don't want to use Application base or Dependency injection:
```sh
Do you want to use application base? (y/n) n
Do you want to use service providing? (y/n) n
```
The ouput should look like this:
```sh
Creating sample-project/LICENSE done
Creating sample-project/README.md done
Creating sample-project/src/tests/__init__.py done
Creating sample-project/appsettings.json done
Creating sample-project/src/sample-project/__init__.py done
Creating sample-project/src/sample-projectmain.py done
```
4. Open the project with an IDE like VS Code or PyCharm
![IDE](images/ide.png)
5. Set the 'src' directory as source folder
![IDE set src folder](images/ide-src.png)
6. Run the application
You should see an output like:
```sh
Hello World
```
7. In PyCharm you have to enable ```Emulate terminal in output console```!
![IDE emulate console](images/ide-emulate.png)
## Create a menu
1. Open the 'sample-project/main.py'
2. Change 'Hello World' to 'Password generator:' in line 5
3. Add ```Console.select``` as follows:
```py
from cpl_core.console import Console
def main():
Console.write_line('Password generator:')
options = [
'Only lower case',
'Only upper case',
'Lower and upper case'
'Exit'
]
option = Console.select('>', 'Select option: ', options)
if __name__ == '__main__':
main()
```
4. Get Id of the selected option:
```py
index = options.index(option)
```
5. Create the generate function as follows:
```py
def generate_password(letters: str, length: int) -> str:
return ''.join(random.choice(letters) for i in range(length))
```
Add imports:
```py
import random
import string
```
6. Get length of the password:
```py
length = int(Console.read('Length: '))
```
7. Validate the selected option:
```py
index = options.index(option)
letters = ''
if index == 0:
letters = string.ascii_lowercase
elif index == 1:
letters = string.ascii_uppercase
elif index == 2:
letters = string.ascii_letters
elif index == len(options) - 1:
exit()
```
8. Print the generated password:
```py
Console.write_line('Password: ', generate_password(letters, length))
```
9. The full 'sample-project/main.py':
```py
import random
import string
from cpl_core.console import Console
def generate_password(letters: str, length: int) -> str:
return ''.join(random.choice(letters) for i in range(length))
def main():
Console.write_line('Password generator:')
options = [
'Only lower case',
'Only upper case',
'Lower and upper case',
'Exit'
]
option = Console.select('>', 'Select option: ', options)
length = int(Console.read('Length: '))
index = options.index(option)
letters = ''
if index == 0:
letters = string.ascii_lowercase
elif index == 1:
letters = string.ascii_uppercase
elif index == 2:
letters = string.ascii_letters
elif index == len(options) - 1:
exit()
Console.write_line('Password: ', generate_password(letters, length))
if __name__ == '__main__':
main()
```
## What's next
In this section, you've created an application that uses user input to generate a password.
To continue exploring CPL and developing applications:
- [Application base](cpl_core.application)
- [Dependency injection](cpl_core.dependency_injection)
- [Console](cpl_core.console)
<!-- LINKS -->
[pip-url]: https://pip.sh-edraft.de
[python]: https://www.python.org/
[pip]: https://pypi.org/project/pip/

View File

@@ -1,113 +0,0 @@
# Setting up the local environment and workspace
## Table of Contents
1. [Prerequisites](#prerequisites)
2. [Install the package](#install-the-package)
3. [Install the CLI](#install-the-cli)
3. [Install the query](#install-the-query)
4. [Create a initial application](#create-initial-console-app)
5. [Create a initial library](#create-initial-library)
6. [Start the application](#start-the-app)
7. [What's next](#whats-next)
## Prerequisites
To get most out of this tutorial you should already have a basic understanding of the following.
- [Python][python]
Also you need to have the following installed.
- [Python][python]
- [Pip][pip-url]
## Install the package
To install the package, open a terminal window and run the following command:
```sh
pip install sh_cpl-core --extra-index-url https://pip.sh-edraft.de
```
## Install the CLI
You use the CPL CLI to create projects, generate application and library code. You also use the CLI to build and publish your python packages.
To install the CLI, open a terminal window and run the following command:
```sh
pip install sh_cpl-cli --extra-index-url https://pip.sh-edraft.de
```
## Install the query
To install the package, open a terminal window and run the following command:
```sh
pip install sh_cpl-query --extra-index-url https://pip.sh-edraft.de
```
## Create initial console app
You develop apps and packages in the context of an CPL project which is defined in an cpl_core.json.
1. Run the CLI command ```cpl new console``` and provide the name my-app, as shown here:
```sh
cpl new console my-app
```
2. The cpl new command prompts you for information about features to include in the initial app. Decline the defaults by enter 'n' and press the Enter key.
The CLI create a new workspace and a simple 'Hello World' app, ready to run.
## Create initial library
You develop apps and packages in the context of an CPL project which is defined in an cpl_core.json.
1. Run the CLI command ```cpl new library``` and provide the name my-lib, as shown here:
```sh
cpl new library my-lib
```
2. The cpl new command prompts you for information about features to include in the initial library. Decline the defaults by enter 'n' and press the Enter key.
The CLI create a new workspace and a simple 'Hello World' library with CLI, ready to run.
## Start the app
The CLI includes a live development server, so that you can run your app locally.
1. Open a terminal window
2. To navigate to your project workspace, run the following command:
```sh
cd /path/to/project/name
```
3. To run the app run:
```sh
cpl start
```
The ```cpl start``` command launches the server, watches your source files, and restarts the app as you make chnages to thoses source files.
If your installation and setup was successful, you should see a output similar to the following:
```sh
Hello World
```
## What's next
- To learn more about the CPL CLI, see the [CLI Overview](cli.overview)
- Fore more informations about the Pyhton files generated by ```cpl new```, see [New Command](cli.new)
<!-- LINKS -->
[pip-url]: https://pip.sh-edraft.de
[python]: https://www.python.org/
[pip]: https://pypi.org/project/pip/

View File

@@ -1,856 +0,0 @@
/*
* basic.css
* ~~~~~~~~~
*
* Sphinx stylesheet -- basic theme.
*
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
/* -- main layout ----------------------------------------------------------- */
div.clearer {
clear: both;
}
div.section::after {
display: block;
content: '';
clear: left;
}
/* -- relbar ---------------------------------------------------------------- */
div.related {
width: 100%;
font-size: 90%;
}
div.related h3 {
display: none;
}
div.related ul {
margin: 0;
padding: 0 0 0 10px;
list-style: none;
}
div.related li {
display: inline;
}
div.related li.right {
float: right;
margin-right: 5px;
}
/* -- sidebar --------------------------------------------------------------- */
div.sphinxsidebarwrapper {
padding: 10px 5px 0 10px;
}
div.sphinxsidebar {
float: left;
width: 230px;
margin-left: -100%;
font-size: 90%;
word-wrap: break-word;
overflow-wrap : break-word;
}
div.sphinxsidebar ul {
list-style: none;
}
div.sphinxsidebar ul ul,
div.sphinxsidebar ul.want-points {
margin-left: 20px;
list-style: square;
}
div.sphinxsidebar ul ul {
margin-top: 0;
margin-bottom: 0;
}
div.sphinxsidebar form {
margin-top: 10px;
}
div.sphinxsidebar input {
border: 1px solid #98dbcc;
font-family: sans-serif;
font-size: 1em;
}
div.sphinxsidebar #searchbox form.search {
overflow: hidden;
}
div.sphinxsidebar #searchbox input[type="text"] {
float: left;
width: 80%;
padding: 0.25em;
box-sizing: border-box;
}
div.sphinxsidebar #searchbox input[type="submit"] {
float: left;
width: 20%;
border-left: none;
padding: 0.25em;
box-sizing: border-box;
}
img {
border: 0;
max-width: 100%;
}
/* -- search page ----------------------------------------------------------- */
ul.search {
margin: 10px 0 0 20px;
padding: 0;
}
ul.search li {
padding: 5px 0 5px 20px;
background-image: url(file.png);
background-repeat: no-repeat;
background-position: 0 7px;
}
ul.search li a {
font-weight: bold;
}
ul.search li div.context {
color: #888;
margin: 2px 0 0 30px;
text-align: left;
}
ul.keywordmatches li.goodmatch a {
font-weight: bold;
}
/* -- index page ------------------------------------------------------------ */
table.contentstable {
width: 90%;
margin-left: auto;
margin-right: auto;
}
table.contentstable p.biglink {
line-height: 150%;
}
a.biglink {
font-size: 1.3em;
}
span.linkdescr {
font-style: italic;
padding-top: 5px;
font-size: 90%;
}
/* -- general index --------------------------------------------------------- */
table.indextable {
width: 100%;
}
table.indextable td {
text-align: left;
vertical-align: top;
}
table.indextable ul {
margin-top: 0;
margin-bottom: 0;
list-style-type: none;
}
table.indextable > tbody > tr > td > ul {
padding-left: 0em;
}
table.indextable tr.pcap {
height: 10px;
}
table.indextable tr.cap {
margin-top: 10px;
background-color: #f2f2f2;
}
img.toggler {
margin-right: 3px;
margin-top: 3px;
cursor: pointer;
}
div.modindex-jumpbox {
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
margin: 1em 0 1em 0;
padding: 0.4em;
}
div.genindex-jumpbox {
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
margin: 1em 0 1em 0;
padding: 0.4em;
}
/* -- domain module index --------------------------------------------------- */
table.modindextable td {
padding: 2px;
border-collapse: collapse;
}
/* -- general body styles --------------------------------------------------- */
div.body {
min-width: 450px;
max-width: 800px;
}
div.body p, div.body dd, div.body li, div.body blockquote {
-moz-hyphens: auto;
-ms-hyphens: auto;
-webkit-hyphens: auto;
hyphens: auto;
}
a.headerlink {
visibility: hidden;
}
a.brackets:before,
span.brackets > a:before{
content: "[";
}
a.brackets:after,
span.brackets > a:after {
content: "]";
}
h1:hover > a.headerlink,
h2:hover > a.headerlink,
h3:hover > a.headerlink,
h4:hover > a.headerlink,
h5:hover > a.headerlink,
h6:hover > a.headerlink,
dt:hover > a.headerlink,
caption:hover > a.headerlink,
p.caption:hover > a.headerlink,
div.code-block-caption:hover > a.headerlink {
visibility: visible;
}
div.body p.caption {
text-align: inherit;
}
div.body td {
text-align: left;
}
.first {
margin-top: 0 !important;
}
p.rubric {
margin-top: 30px;
font-weight: bold;
}
img.align-left, .figure.align-left, object.align-left {
clear: left;
float: left;
margin-right: 1em;
}
img.align-right, .figure.align-right, object.align-right {
clear: right;
float: right;
margin-left: 1em;
}
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
img.align-default, .figure.align-default {
display: block;
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left;
}
.align-center {
text-align: center;
}
.align-default {
text-align: center;
}
.align-right {
text-align: right;
}
/* -- sidebars -------------------------------------------------------------- */
div.sidebar {
margin: 0 0 0.5em 1em;
border: 1px solid #ddb;
padding: 7px;
background-color: #ffe;
width: 40%;
float: right;
clear: right;
overflow-x: auto;
}
p.sidebar-title {
font-weight: bold;
}
div.admonition, div.topic, blockquote {
clear: left;
}
/* -- topics ---------------------------------------------------------------- */
div.topic {
border: 1px solid #ccc;
padding: 7px;
margin: 10px 0 10px 0;
}
p.topic-title {
font-size: 1.1em;
font-weight: bold;
margin-top: 10px;
}
/* -- admonitions ----------------------------------------------------------- */
div.admonition {
margin-top: 10px;
margin-bottom: 10px;
padding: 7px;
}
div.admonition dt {
font-weight: bold;
}
p.admonition-title {
margin: 0px 10px 5px 0px;
font-weight: bold;
}
div.body p.centered {
text-align: center;
margin-top: 25px;
}
/* -- content of sidebars/topics/admonitions -------------------------------- */
div.sidebar > :last-child,
div.topic > :last-child,
div.admonition > :last-child {
margin-bottom: 0;
}
div.sidebar::after,
div.topic::after,
div.admonition::after,
blockquote::after {
display: block;
content: '';
clear: both;
}
/* -- tables ---------------------------------------------------------------- */
table.docutils {
margin-top: 10px;
margin-bottom: 10px;
border: 0;
border-collapse: collapse;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
table.align-default {
margin-left: auto;
margin-right: auto;
}
table caption span.caption-number {
font-style: italic;
}
table caption span.caption-text {
}
table.docutils td, table.docutils th {
padding: 1px 8px 1px 5px;
border-top: 0;
border-left: 0;
border-right: 0;
border-bottom: 1px solid #aaa;
}
table.footnote td, table.footnote th {
border: 0 !important;
}
th {
text-align: left;
padding-right: 5px;
}
table.citation {
border-left: solid 1px gray;
margin-left: 1px;
}
table.citation td {
border-bottom: none;
}
th > :first-child,
td > :first-child {
margin-top: 0px;
}
th > :last-child,
td > :last-child {
margin-bottom: 0px;
}
/* -- figures --------------------------------------------------------------- */
div.figure {
margin: 0.5em;
padding: 0.5em;
}
div.figure p.caption {
padding: 0.3em;
}
div.figure p.caption span.caption-number {
font-style: italic;
}
div.figure p.caption span.caption-text {
}
/* -- field list styles ----------------------------------------------------- */
table.field-list td, table.field-list th {
border: 0 !important;
}
.field-list ul {
margin: 0;
padding-left: 1em;
}
.field-list p {
margin: 0;
}
.field-name {
-moz-hyphens: manual;
-ms-hyphens: manual;
-webkit-hyphens: manual;
hyphens: manual;
}
/* -- hlist styles ---------------------------------------------------------- */
table.hlist {
margin: 1em 0;
}
table.hlist td {
vertical-align: top;
}
/* -- other body styles ----------------------------------------------------- */
ol.arabic {
list-style: decimal;
}
ol.loweralpha {
list-style: lower-alpha;
}
ol.upperalpha {
list-style: upper-alpha;
}
ol.lowerroman {
list-style: lower-roman;
}
ol.upperroman {
list-style: upper-roman;
}
:not(li) > ol > li:first-child > :first-child,
:not(li) > ul > li:first-child > :first-child {
margin-top: 0px;
}
:not(li) > ol > li:last-child > :last-child,
:not(li) > ul > li:last-child > :last-child {
margin-bottom: 0px;
}
ol.simple ol p,
ol.simple ul p,
ul.simple ol p,
ul.simple ul p {
margin-top: 0;
}
ol.simple > li:not(:first-child) > p,
ul.simple > li:not(:first-child) > p {
margin-top: 0;
}
ol.simple p,
ul.simple p {
margin-bottom: 0;
}
dl.footnote > dt,
dl.citation > dt {
float: left;
margin-right: 0.5em;
}
dl.footnote > dd,
dl.citation > dd {
margin-bottom: 0em;
}
dl.footnote > dd:after,
dl.citation > dd:after {
content: "";
clear: both;
}
dl.field-list {
display: grid;
grid-template-columns: fit-content(30%) auto;
}
dl.field-list > dt {
font-weight: bold;
word-break: break-word;
padding-left: 0.5em;
padding-right: 5px;
}
dl.field-list > dt:after {
content: ":";
}
dl.field-list > dd {
padding-left: 0.5em;
margin-top: 0em;
margin-left: 0em;
margin-bottom: 0em;
}
dl {
margin-bottom: 15px;
}
dd > :first-child {
margin-top: 0px;
}
dd ul, dd table {
margin-bottom: 10px;
}
dd {
margin-top: 3px;
margin-bottom: 10px;
margin-left: 30px;
}
dl > dd:last-child,
dl > dd:last-child > :last-child {
margin-bottom: 0;
}
dt:target, span.highlighted {
background-color: #fbe54e;
}
rect.highlighted {
fill: #fbe54e;
}
dl.glossary dt {
font-weight: bold;
font-size: 1.1em;
}
.optional {
font-size: 1.3em;
}
.sig-paren {
font-size: larger;
}
.versionmodified {
font-style: italic;
}
.system-message {
background-color: #fda;
padding: 5px;
border: 3px solid red;
}
.footnote:target {
background-color: #ffa;
}
.line-block {
display: block;
margin-top: 1em;
margin-bottom: 1em;
}
.line-block .line-block {
margin-top: 0;
margin-bottom: 0;
margin-left: 1.5em;
}
.guilabel, .menuselection {
font-family: sans-serif;
}
.accelerator {
text-decoration: underline;
}
.classifier {
font-style: oblique;
}
.classifier:before {
font-style: normal;
margin: 0.5em;
content: ":";
}
abbr, acronym {
border-bottom: dotted 1px;
cursor: help;
}
/* -- code displays --------------------------------------------------------- */
pre {
overflow: auto;
overflow-y: hidden; /* fixes display issues on Chrome browsers */
}
pre, div[class*="highlight-"] {
clear: both;
}
span.pre {
-moz-hyphens: none;
-ms-hyphens: none;
-webkit-hyphens: none;
hyphens: none;
}
div[class*="highlight-"] {
margin: 1em 0;
}
td.linenos pre {
border: 0;
background-color: transparent;
color: #aaa;
}
table.highlighttable {
display: block;
}
table.highlighttable tbody {
display: block;
}
table.highlighttable tr {
display: flex;
}
table.highlighttable td {
margin: 0;
padding: 0;
}
table.highlighttable td.linenos {
padding-right: 0.5em;
}
table.highlighttable td.code {
flex: 1;
overflow: hidden;
}
.highlight .hll {
display: block;
}
div.highlight pre,
table.highlighttable pre {
margin: 0;
}
div.code-block-caption + div {
margin-top: 0;
}
div.code-block-caption {
margin-top: 1em;
padding: 2px 5px;
font-size: small;
}
div.code-block-caption code {
background-color: transparent;
}
table.highlighttable td.linenos,
span.linenos,
div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */
user-select: none;
}
div.code-block-caption span.caption-number {
padding: 0.1em 0.3em;
font-style: italic;
}
div.code-block-caption span.caption-text {
}
div.literal-block-wrapper {
margin: 1em 0;
}
code.descname {
background-color: transparent;
font-weight: bold;
font-size: 1.2em;
}
code.descclassname {
background-color: transparent;
}
code.xref, a code {
background-color: transparent;
font-weight: bold;
}
h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
background-color: transparent;
}
.viewcode-link {
float: right;
}
.viewcode-back {
float: right;
font-family: sans-serif;
}
div.viewcode-block:target {
margin: -1px -10px;
padding: 0 10px;
}
/* -- math display ---------------------------------------------------------- */
img.math {
vertical-align: middle;
}
div.body div.math p {
text-align: center;
}
span.eqno {
float: right;
}
span.eqno a.headerlink {
position: absolute;
z-index: 1;
}
div.math:hover a.headerlink {
visibility: visible;
}
/* -- printout stylesheet --------------------------------------------------- */
@media print {
div.document,
div.documentwrapper,
div.bodywrapper {
margin: 0 !important;
width: 100%;
}
div.sphinxsidebar,
div.related,
div.footer,
#top-link {
display: none;
}
}

View File

@@ -1 +0,0 @@
.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}

Some files were not shown because too many files have changed in this diff Show More