gen-cli 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
gen_cli-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Prasad Raju G
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
gen_cli-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,116 @@
1
+ Metadata-Version: 2.4
2
+ Name: gen-cli
3
+ Version: 0.1.0
4
+ Summary: Gen-CLI is a Python-based tool to generate boilerplate code and framework templates for multiple programming languages.
5
+ Author: Prasad Raju G
6
+ License: MIT License
7
+
8
+ Copyright (c) 2026 Prasad Raju G
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Requires-Python: >=3.13
29
+ Description-Content-Type: text/markdown
30
+ License-File: LICENSE
31
+ Dynamic: license-file
32
+
33
+
34
+ # Gen-CLI
35
+
36
+ **Gen-CLI** is a Python-based tool to generate boilerplate code and framework templates for multiple programming languages.
37
+
38
+ It supports both single-file and full project generation using templates, making it easy to start projects quickly.
39
+
40
+ ---
41
+
42
+ ## Usage
43
+
44
+ ```bash
45
+ gen <command> [options]
46
+ ````
47
+
48
+ ---
49
+
50
+ ## Commands
51
+
52
+ | Command | Description |
53
+ | -------- | ---------------------------------------- |
54
+ | `list` | List available languages and frameworks. |
55
+ | `doctor` | Check environment and configuration. |
56
+ | `help` | Show this help message. |
57
+
58
+ ---
59
+
60
+ ## Options (for `new` command)
61
+
62
+ | Option | Description |
63
+ | ----------------------- | --------------------------------------------------- |
64
+ | `--dry-run` | Show what would be generated without writing files. |
65
+ | `--overwrite` | Overwrite existing files if they exist. |
66
+ | `--project-name <name>` | Name to use in templates (default: `myapp`). |
67
+ | `--author <name>` | Author name to use in templates (optional). |
68
+
69
+ ---
70
+
71
+ ## Supported Languages & Frameworks
72
+
73
+ | Language | Frameworks |
74
+ | ---------- | ---------------------- |
75
+ | Python | flask, fastapi, django |
76
+ | Go | cli, web |
77
+ | Rust | actix, rocket |
78
+ | C | standard |
79
+ | C++ | standard |
80
+ | Java | spring, standard |
81
+ | JavaScript | node, react, vue |
82
+ | HTML | standard |
83
+
84
+ ---
85
+
86
+ ## Examples
87
+
88
+ ```bash
89
+ # Generate a single file using Python Flask template
90
+ gen new main.py python flask --project-name myapp
91
+
92
+ # Generate a full FastAPI project
93
+ gen new myapp python fastapi --dry-run
94
+
95
+ # Generate a Go CLI project
96
+ gen new app.go go cli
97
+
98
+ # List all supported languages and frameworks
99
+ gen list
100
+
101
+ # Check environment
102
+ gen doctor
103
+ ```
104
+
105
+ ---
106
+
107
+ ## Help
108
+
109
+ ```bash
110
+ gen help
111
+ ```
112
+
113
+ Show the general help message.
114
+
115
+ ---
116
+
@@ -0,0 +1,84 @@
1
+
2
+ # Gen-CLI
3
+
4
+ **Gen-CLI** is a Python-based tool to generate boilerplate code and framework templates for multiple programming languages.
5
+
6
+ It supports both single-file and full project generation using templates, making it easy to start projects quickly.
7
+
8
+ ---
9
+
10
+ ## Usage
11
+
12
+ ```bash
13
+ gen <command> [options]
14
+ ````
15
+
16
+ ---
17
+
18
+ ## Commands
19
+
20
+ | Command | Description |
21
+ | -------- | ---------------------------------------- |
22
+ | `list` | List available languages and frameworks. |
23
+ | `doctor` | Check environment and configuration. |
24
+ | `help` | Show this help message. |
25
+
26
+ ---
27
+
28
+ ## Options (for `new` command)
29
+
30
+ | Option | Description |
31
+ | ----------------------- | --------------------------------------------------- |
32
+ | `--dry-run` | Show what would be generated without writing files. |
33
+ | `--overwrite` | Overwrite existing files if they exist. |
34
+ | `--project-name <name>` | Name to use in templates (default: `myapp`). |
35
+ | `--author <name>` | Author name to use in templates (optional). |
36
+
37
+ ---
38
+
39
+ ## Supported Languages & Frameworks
40
+
41
+ | Language | Frameworks |
42
+ | ---------- | ---------------------- |
43
+ | Python | flask, fastapi, django |
44
+ | Go | cli, web |
45
+ | Rust | actix, rocket |
46
+ | C | standard |
47
+ | C++ | standard |
48
+ | Java | spring, standard |
49
+ | JavaScript | node, react, vue |
50
+ | HTML | standard |
51
+
52
+ ---
53
+
54
+ ## Examples
55
+
56
+ ```bash
57
+ # Generate a single file using Python Flask template
58
+ gen new main.py python flask --project-name myapp
59
+
60
+ # Generate a full FastAPI project
61
+ gen new myapp python fastapi --dry-run
62
+
63
+ # Generate a Go CLI project
64
+ gen new app.go go cli
65
+
66
+ # List all supported languages and frameworks
67
+ gen list
68
+
69
+ # Check environment
70
+ gen doctor
71
+ ```
72
+
73
+ ---
74
+
75
+ ## Help
76
+
77
+ ```bash
78
+ gen help
79
+ ```
80
+
81
+ Show the general help message.
82
+
83
+ ---
84
+
@@ -0,0 +1,23 @@
1
+ [project]
2
+ name = "gen-cli"
3
+ version = "0.1.0"
4
+ description = "Gen-CLI is a Python-based tool to generate boilerplate code and framework templates for multiple programming languages."
5
+ readme = "README.md"
6
+ requires-python = ">=3.13"
7
+ license = { file = "LICENSE" }
8
+
9
+ authors = [{ name = "Prasad Raju G" }]
10
+ dependencies = []
11
+
12
+ [build-system]
13
+ requires = ["setuptools>=61"]
14
+ build-backend = "setuptools.build_meta"
15
+
16
+ [project.scripts]
17
+ gen = "gen.cli:main"
18
+
19
+ [tool.setuptools]
20
+ package-dir = { "" = "src" }
21
+
22
+ [tool.setuptools.packages.find]
23
+ where = ["src"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
File without changes
@@ -0,0 +1,29 @@
1
+ import sys
2
+
3
+ from gen.commands import helper, list_, template
4
+
5
+
6
+ def main():
7
+ if len(sys.argv) < 2:
8
+ helper.help()
9
+ return
10
+
11
+ cmd = sys.argv[1]
12
+
13
+ if cmd in ("--list", "list"):
14
+ list_.list_langtemplates()
15
+ elif cmd in ["-h", "--help", "help"]:
16
+ helper.help()
17
+ elif "." in cmd:
18
+ parts = sys.argv[1].split(".")
19
+
20
+ filename, extension = parts[0], "." + parts[1]
21
+
22
+ flag = sys.argv[2] if len(sys.argv) > 2 else None
23
+
24
+ if flag:
25
+ template.gen_langtemplate(filename, extension, flag=flag)
26
+ else:
27
+ template.gen_langtemplate(filename, extension)
28
+ else:
29
+ helper.help()
File without changes
@@ -0,0 +1,50 @@
1
+ HELP_TEXT = """
2
+ Gen-CLI: Generate boilerplate and framework templates for multiple programming languages.
3
+
4
+ Usage:
5
+ gen <command> [options]
6
+
7
+ Commands:
8
+ list List available languages and frameworks.
9
+ doctor Check environment and configuration.
10
+ help Show this help message.
11
+
12
+ Options (for `new` command):
13
+ --dry-run Show what would be generated without writing files.
14
+ --overwrite Overwrite existing files if they exist.
15
+ --project-name <name> Name to use in templates (default: myapp).
16
+ --author <name> Author name to use in templates (optional).
17
+
18
+ Languages & Frameworks:
19
+ Python: flask, fastapi, django
20
+ Go: cli, web
21
+ Rust: actix, rocket
22
+ C: standard
23
+ C++: standard
24
+ Java: spring, standard
25
+ JavaScript: node, react, vue
26
+ HTML: standard
27
+
28
+ Examples:
29
+ # Generate a single file using Python Flask template
30
+ gen new main.py python flask --project-name myapp
31
+
32
+ # Generate a full FastAPI project
33
+ gen new myapp python fastapi --dry-run
34
+
35
+ # Generate a Go CLI project
36
+ gen new app.go go cli
37
+
38
+ # List all supported languages and frameworks
39
+ gen list
40
+
41
+ # Check environment
42
+ gen doctor
43
+
44
+ Help:
45
+ gen help Show this message.
46
+ """
47
+
48
+
49
+ def help():
50
+ print(HELP_TEXT)
@@ -0,0 +1,7 @@
1
+ from gen.config import EXTENSION_MAP
2
+
3
+
4
+ # Prints the Language Templetes
5
+ def list_langtemplates():
6
+ for ext, lang in EXTENSION_MAP.items():
7
+ print(lang)
@@ -0,0 +1,40 @@
1
+ import os
2
+
3
+ from gen.config import EXTENSION_MAP
4
+
5
+ working_dir = os.getcwd()
6
+
7
+
8
+ def gen_langtemplate(file, extension, flag=None):
9
+ if file and extension:
10
+ lang = EXTENSION_MAP.get(extension)
11
+ filename = file + extension
12
+
13
+ current_dir = os.path.dirname(__file__) # Gets the parent dir of lib
14
+ template_name = f"main{extension}"
15
+ template_path = os.path.join(
16
+ current_dir, "..", "templates", lang, template_name
17
+ )
18
+
19
+ abs_path = os.path.join(working_dir, filename) # Gives absolute path
20
+
21
+ # print(template_path)
22
+ with open(template_path, "r") as template:
23
+ # Reads the template (main.*)
24
+ content = template.read()
25
+ if flag is None:
26
+ if os.path.isfile(abs_path): # check weather file exists
27
+ print("File is already exists")
28
+ else:
29
+ with open(abs_path, "w") as file:
30
+ file.write(content)
31
+ print(f"{filename} created!")
32
+ else:
33
+ if flag == "--dryrun":
34
+ print(content)
35
+ elif flag == "--overwrite":
36
+ with open(abs_path, "w") as file:
37
+ file.write(content)
38
+ print(f"{filename} overwrited!")
39
+ else:
40
+ pass
@@ -0,0 +1,10 @@
1
+ EXTENSION_MAP = {
2
+ ".py": "python",
3
+ ".go": "go",
4
+ ".c": "c",
5
+ ".cpp": "cpp",
6
+ ".js": "javascript",
7
+ ".java": "java",
8
+ ".rs": "rust",
9
+ ".html": "html",
10
+ }
File without changes
@@ -0,0 +1,6 @@
1
+ def main():
2
+ print("Weclome to gen-cli!")
3
+
4
+
5
+ if __name__ == "__main__":
6
+ main()
@@ -0,0 +1,116 @@
1
+ Metadata-Version: 2.4
2
+ Name: gen-cli
3
+ Version: 0.1.0
4
+ Summary: Gen-CLI is a Python-based tool to generate boilerplate code and framework templates for multiple programming languages.
5
+ Author: Prasad Raju G
6
+ License: MIT License
7
+
8
+ Copyright (c) 2026 Prasad Raju G
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Requires-Python: >=3.13
29
+ Description-Content-Type: text/markdown
30
+ License-File: LICENSE
31
+ Dynamic: license-file
32
+
33
+
34
+ # Gen-CLI
35
+
36
+ **Gen-CLI** is a Python-based tool to generate boilerplate code and framework templates for multiple programming languages.
37
+
38
+ It supports both single-file and full project generation using templates, making it easy to start projects quickly.
39
+
40
+ ---
41
+
42
+ ## Usage
43
+
44
+ ```bash
45
+ gen <command> [options]
46
+ ````
47
+
48
+ ---
49
+
50
+ ## Commands
51
+
52
+ | Command | Description |
53
+ | -------- | ---------------------------------------- |
54
+ | `list` | List available languages and frameworks. |
55
+ | `doctor` | Check environment and configuration. |
56
+ | `help` | Show this help message. |
57
+
58
+ ---
59
+
60
+ ## Options (for `new` command)
61
+
62
+ | Option | Description |
63
+ | ----------------------- | --------------------------------------------------- |
64
+ | `--dry-run` | Show what would be generated without writing files. |
65
+ | `--overwrite` | Overwrite existing files if they exist. |
66
+ | `--project-name <name>` | Name to use in templates (default: `myapp`). |
67
+ | `--author <name>` | Author name to use in templates (optional). |
68
+
69
+ ---
70
+
71
+ ## Supported Languages & Frameworks
72
+
73
+ | Language | Frameworks |
74
+ | ---------- | ---------------------- |
75
+ | Python | flask, fastapi, django |
76
+ | Go | cli, web |
77
+ | Rust | actix, rocket |
78
+ | C | standard |
79
+ | C++ | standard |
80
+ | Java | spring, standard |
81
+ | JavaScript | node, react, vue |
82
+ | HTML | standard |
83
+
84
+ ---
85
+
86
+ ## Examples
87
+
88
+ ```bash
89
+ # Generate a single file using Python Flask template
90
+ gen new main.py python flask --project-name myapp
91
+
92
+ # Generate a full FastAPI project
93
+ gen new myapp python fastapi --dry-run
94
+
95
+ # Generate a Go CLI project
96
+ gen new app.go go cli
97
+
98
+ # List all supported languages and frameworks
99
+ gen list
100
+
101
+ # Check environment
102
+ gen doctor
103
+ ```
104
+
105
+ ---
106
+
107
+ ## Help
108
+
109
+ ```bash
110
+ gen help
111
+ ```
112
+
113
+ Show the general help message.
114
+
115
+ ---
116
+
@@ -0,0 +1,17 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ src/gen/__init__.py
5
+ src/gen/cli.py
6
+ src/gen/config.py
7
+ src/gen/commands/__init__.py
8
+ src/gen/commands/helper.py
9
+ src/gen/commands/list_.py
10
+ src/gen/commands/template.py
11
+ src/gen/templates/__init__.py
12
+ src/gen/templates/python/main.py
13
+ src/gen_cli.egg-info/PKG-INFO
14
+ src/gen_cli.egg-info/SOURCES.txt
15
+ src/gen_cli.egg-info/dependency_links.txt
16
+ src/gen_cli.egg-info/entry_points.txt
17
+ src/gen_cli.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ gen = gen.cli:main
@@ -0,0 +1 @@
1
+ gen