You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The goal of this project is to enable rapid application development without tradeoffs. Tradeoffs of Protocol Buffers / Thrift etc. are an untouchable "generated" directory and package, compile-time and/or runtime overhead. Tradeoffs of Java or JavaScript for everything are: overhead in hardware access, offline mode, ML inefficiency, and more. And neither of these alterantive approaches are truly integrated into your target system, test frameworks, and bigger abstractions you build in your app. Tradeoffs in CDD are code duplication (but CDD handles the synchronisation for you).
The goal of this project is to enable rapid application development without tradeoffs. Tradeoffs of Protocol Buffers / Thrift etc. are an untouchable "generated" directory and package, compile-time and/or runtime overhead. Tradeoffs of Java or JavaScript for everything are: overhead in hardware access, offline mode, ML inefficiency, and more. And neither of these alternative approaches are truly integrated into your target system, test frameworks, and bigger abstractions you build in your app. Tradeoffs in CDD are code duplication (but CDD handles the synchronisation for you).
21
24
22
25
## 🚀 Capabilities
23
26
24
27
The `cdd-python-all` compiler leverages a unified architecture to support various facets of API and code lifecycle management.
***AST-Driven & Safe**: Employs static analysis (Abstract Syntax Trees) instead of unsafe dynamic execution or reflection, allowing it to safely parse and emit code even for incomplete or un-compilable project states.
30
-
***Seamless Sync**: Keep your docs, tests, database, clients, and routing in perfect harmony. Update your code, and generate the docs; or update the docs, and generate the code.
29
+
-**Compilation**:
30
+
-**OpenAPI → `Python`**: Generate idiomatic native models, network routes, client SDKs, and boilerplate directly from OpenAPI (`.json` / `.yaml`) specifications.
-**AST-Driven & Safe**: Employs static analysis instead of unsafe dynamic execution or reflection, allowing it to safely parse and emit code even for incomplete or un-compilable project states.
33
+
-**Seamless Sync**: Keep your docs, tests, database, clients, and routing in perfect harmony. Update your code, and generate the docs; or update the docs, and generate the code.
31
34
32
-
## 📦 Installation
35
+
## 📦 Installation & Build
33
36
34
-
Requires Python 3.9+. Run `pip install cdd-python-all`
37
+
### Native Tooling
35
38
36
-
## 🛠 Usage
39
+
```bash
40
+
python3 -m pip install -e .
41
+
python3 -m pytest
42
+
```
37
43
38
-
### Command Line Interface
44
+
### Makefile / make.bat
39
45
46
+
You can also use the included cross-platform Makefiles to fetch dependencies, build, and test:
40
47
41
48
```bash
42
-
#Generate a Python SDK and an interactive CLI from an OpenAPI spec
0 commit comments