stinger-ipc 0.0.1__tar.gz → 0.0.2__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.
Files changed (60) hide show
  1. {stinger_ipc-0.0.1/stinger_ipc.egg-info → stinger_ipc-0.0.2}/PKG-INFO +3 -3
  2. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/README.md +1 -1
  3. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/pyproject.toml +16 -4
  4. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2/stinger_ipc.egg-info}/PKG-INFO +3 -3
  5. stinger_ipc-0.0.2/stinger_ipc.egg-info/SOURCES.txt +57 -0
  6. stinger_ipc-0.0.2/stinger_ipc.egg-info/entry_points.txt +4 -0
  7. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/stinger_ipc.egg-info/requires.txt +1 -1
  8. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/stingeripc/args.py +6 -5
  9. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/stingeripc/asyncapi.py +249 -167
  10. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/stingeripc/components.py +301 -136
  11. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/stingeripc/connection.py +2 -1
  12. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/stingeripc/exceptions.py +1 -2
  13. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/stingeripc/interface.py +8 -4
  14. stinger_ipc-0.0.2/stingeripc/lang_symb.py +68 -0
  15. stinger_ipc-0.0.2/stingeripc/templates/cpp/CMakeLists.txt.jinja2 +26 -0
  16. stinger_ipc-0.0.2/stingeripc/templates/cpp/examples/client_main.cpp.jinja2 +47 -0
  17. stinger_ipc-0.0.2/stingeripc/templates/cpp/examples/server_main.cpp.jinja2 +35 -0
  18. stinger_ipc-0.0.2/stingeripc/templates/cpp/include/broker.hpp.jinja2 +132 -0
  19. stinger_ipc-0.0.2/stingeripc/templates/cpp/include/client.hpp.jinja2 +53 -0
  20. stinger_ipc-0.0.2/stingeripc/templates/cpp/include/enums.hpp.jinja2 +17 -0
  21. stinger_ipc-0.0.2/stingeripc/templates/cpp/include/ibrokerconnection.hpp.jinja2 +42 -0
  22. stinger_ipc-0.0.2/stingeripc/templates/cpp/include/return_types.hpp.jinja2 +14 -0
  23. stinger_ipc-0.0.2/stingeripc/templates/cpp/include/server.hpp.jinja2 +44 -0
  24. stinger_ipc-0.0.2/stingeripc/templates/cpp/include/structs.hpp.jinja2 +13 -0
  25. stinger_ipc-0.0.2/stingeripc/templates/cpp/src/broker.cpp.jinja2 +243 -0
  26. stinger_ipc-0.0.2/stingeripc/templates/cpp/src/client.cpp.jinja2 +202 -0
  27. stinger_ipc-0.0.2/stingeripc/templates/cpp/src/server.cpp.jinja2 +170 -0
  28. stinger_ipc-0.0.2/stingeripc/templates/markdown/index.md.jinja2 +142 -0
  29. stinger_ipc-0.0.2/stingeripc/templates/python/__init__.py.jinja2 +1 -0
  30. stinger_ipc-0.0.2/stingeripc/templates/python/client.py.jinja2 +309 -0
  31. stinger_ipc-0.0.2/stingeripc/templates/python/connection.py.jinja2 +164 -0
  32. stinger_ipc-0.0.2/stingeripc/templates/python/interface_types.py.jinja2 +48 -0
  33. stinger_ipc-0.0.2/stingeripc/templates/python/method_codes.py.jinja2 +30 -0
  34. stinger_ipc-0.0.2/stingeripc/templates/python/pyproject.toml.jinja2 +9 -0
  35. stinger_ipc-0.0.2/stingeripc/templates/python/server.py.jinja2 +214 -0
  36. stinger_ipc-0.0.2/stingeripc/templates/rust/Cargo.toml.jinja2 +4 -0
  37. stinger_ipc-0.0.2/stingeripc/templates/rust/client/Cargo.toml.jinja2 +25 -0
  38. stinger_ipc-0.0.2/stingeripc/templates/rust/client/examples/client.rs.jinja2 +53 -0
  39. stinger_ipc-0.0.2/stingeripc/templates/rust/client/src/lib.rs.jinja2 +247 -0
  40. stinger_ipc-0.0.2/stingeripc/templates/rust/connection/Cargo.toml.jinja2 +21 -0
  41. stinger_ipc-0.0.2/stingeripc/templates/rust/connection/examples/pub_and_recv.rs.jinja2 +44 -0
  42. stinger_ipc-0.0.2/stingeripc/templates/rust/connection/src/handler.rs.jinja2 +0 -0
  43. stinger_ipc-0.0.2/stingeripc/templates/rust/connection/src/lib.rs.jinja2 +262 -0
  44. stinger_ipc-0.0.2/stingeripc/templates/rust/connection/src/payloads.rs.jinja2 +131 -0
  45. stinger_ipc-0.0.2/stingeripc/templates/rust/server/Cargo.toml.jinja2 +19 -0
  46. stinger_ipc-0.0.2/stingeripc/templates/rust/server/examples/server.rs.jinja2 +83 -0
  47. stinger_ipc-0.0.2/stingeripc/templates/rust/server/src/lib.rs.jinja2 +272 -0
  48. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/stingeripc/topic.py +11 -8
  49. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/tests/test_interface.py +1 -1
  50. stinger_ipc-0.0.1/stinger_ipc.egg-info/SOURCES.txt +0 -22
  51. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/LICENSE +0 -0
  52. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/setup.cfg +0 -0
  53. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/stinger_ipc.egg-info/dependency_links.txt +0 -0
  54. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/stinger_ipc.egg-info/top_level.txt +0 -0
  55. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/stingeripc/__init__.py +0 -0
  56. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/tests/test_args.py +0 -0
  57. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/tests/test_enum.py +0 -0
  58. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/tests/test_examples.py +0 -0
  59. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/tests/test_signal.py +0 -0
  60. {stinger_ipc-0.0.1 → stinger_ipc-0.0.2}/tests/test_topics.py +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stinger-ipc
3
- Version: 0.0.1
3
+ Version: 0.0.2
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.12
6
6
  Description-Content-Type: text/markdown
7
7
  License-File: LICENSE
8
- Requires-Dist: jacobs-jinja-too>=0.0.8
8
+ Requires-Dist: jacobs-jinja-too>=0.1.0
9
9
  Requires-Dist: packaging>=25.0
10
10
  Requires-Dist: pydantic>=2.11.7
11
11
  Requires-Dist: pyyaml>=6.0.2
@@ -28,7 +28,7 @@ StingerIPC takes a interface description file (.singeripc), and will generate co
28
28
 
29
29
  ```yaml
30
30
  stingeripc:
31
- version: 0.0.6
31
+ version: 0.0.7
32
32
 
33
33
  interface:
34
34
  name: Example
@@ -12,7 +12,7 @@ StingerIPC takes a interface description file (.singeripc), and will generate co
12
12
 
13
13
  ```yaml
14
14
  stingeripc:
15
- version: 0.0.6
15
+ version: 0.0.7
16
16
 
17
17
  interface:
18
18
  name: Example
@@ -1,11 +1,11 @@
1
1
  [project]
2
2
  name = "stinger-ipc"
3
- version = "0.0.1"
3
+ version = "0.0.2"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
7
7
  dependencies = [
8
- "jacobs-jinja-too>=0.0.8",
8
+ "jacobs-jinja-too>=0.1.0",
9
9
  "packaging>=25.0",
10
10
  "pydantic>=2.11.7",
11
11
  "pyyaml>=6.0.2",
@@ -14,7 +14,6 @@ dependencies = [
14
14
  "yamlloader>=1.5.1",
15
15
  ]
16
16
 
17
-
18
17
  [dependency-groups]
19
18
  dev = [
20
19
  "black>=25.1.0",
@@ -26,9 +25,22 @@ dev = [
26
25
  "types-pyyaml>=6.0.12.20250516",
27
26
  ]
28
27
 
28
+ [tool.black]
29
+ line-length = 200
30
+
29
31
  [build-system]
30
32
  requires = ["setuptools>=61.0", "wheel"]
31
33
  build-backend = "setuptools.build_meta"
32
34
 
33
35
  [tool.setuptools]
34
- packages = ["stingeripc"]
36
+ packages = ["stingeripc"]
37
+
38
+ [tool.setuptools.package-data]
39
+ stingeripc = [
40
+ "templates/**/*.jinja2"
41
+ ]
42
+
43
+ [project.scripts]
44
+ pythongen = "stingeripc.tools.python_generator:main"
45
+ rustgen = "stingeripc.tools.rust_generator:main"
46
+ markdowngen = "stingeripc.tools.markdown_generator:main"
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stinger-ipc
3
- Version: 0.0.1
3
+ Version: 0.0.2
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.12
6
6
  Description-Content-Type: text/markdown
7
7
  License-File: LICENSE
8
- Requires-Dist: jacobs-jinja-too>=0.0.8
8
+ Requires-Dist: jacobs-jinja-too>=0.1.0
9
9
  Requires-Dist: packaging>=25.0
10
10
  Requires-Dist: pydantic>=2.11.7
11
11
  Requires-Dist: pyyaml>=6.0.2
@@ -28,7 +28,7 @@ StingerIPC takes a interface description file (.singeripc), and will generate co
28
28
 
29
29
  ```yaml
30
30
  stingeripc:
31
- version: 0.0.6
31
+ version: 0.0.7
32
32
 
33
33
  interface:
34
34
  name: Example
@@ -0,0 +1,57 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ stinger_ipc.egg-info/PKG-INFO
5
+ stinger_ipc.egg-info/SOURCES.txt
6
+ stinger_ipc.egg-info/dependency_links.txt
7
+ stinger_ipc.egg-info/entry_points.txt
8
+ stinger_ipc.egg-info/requires.txt
9
+ stinger_ipc.egg-info/top_level.txt
10
+ stingeripc/__init__.py
11
+ stingeripc/args.py
12
+ stingeripc/asyncapi.py
13
+ stingeripc/components.py
14
+ stingeripc/connection.py
15
+ stingeripc/exceptions.py
16
+ stingeripc/interface.py
17
+ stingeripc/lang_symb.py
18
+ stingeripc/topic.py
19
+ stingeripc/templates/cpp/CMakeLists.txt.jinja2
20
+ stingeripc/templates/cpp/examples/client_main.cpp.jinja2
21
+ stingeripc/templates/cpp/examples/server_main.cpp.jinja2
22
+ stingeripc/templates/cpp/include/broker.hpp.jinja2
23
+ stingeripc/templates/cpp/include/client.hpp.jinja2
24
+ stingeripc/templates/cpp/include/enums.hpp.jinja2
25
+ stingeripc/templates/cpp/include/ibrokerconnection.hpp.jinja2
26
+ stingeripc/templates/cpp/include/return_types.hpp.jinja2
27
+ stingeripc/templates/cpp/include/server.hpp.jinja2
28
+ stingeripc/templates/cpp/include/structs.hpp.jinja2
29
+ stingeripc/templates/cpp/src/broker.cpp.jinja2
30
+ stingeripc/templates/cpp/src/client.cpp.jinja2
31
+ stingeripc/templates/cpp/src/server.cpp.jinja2
32
+ stingeripc/templates/markdown/index.md.jinja2
33
+ stingeripc/templates/python/__init__.py.jinja2
34
+ stingeripc/templates/python/client.py.jinja2
35
+ stingeripc/templates/python/connection.py.jinja2
36
+ stingeripc/templates/python/interface_types.py.jinja2
37
+ stingeripc/templates/python/method_codes.py.jinja2
38
+ stingeripc/templates/python/pyproject.toml.jinja2
39
+ stingeripc/templates/python/server.py.jinja2
40
+ stingeripc/templates/rust/Cargo.toml.jinja2
41
+ stingeripc/templates/rust/client/Cargo.toml.jinja2
42
+ stingeripc/templates/rust/client/examples/client.rs.jinja2
43
+ stingeripc/templates/rust/client/src/lib.rs.jinja2
44
+ stingeripc/templates/rust/connection/Cargo.toml.jinja2
45
+ stingeripc/templates/rust/connection/examples/pub_and_recv.rs.jinja2
46
+ stingeripc/templates/rust/connection/src/handler.rs.jinja2
47
+ stingeripc/templates/rust/connection/src/lib.rs.jinja2
48
+ stingeripc/templates/rust/connection/src/payloads.rs.jinja2
49
+ stingeripc/templates/rust/server/Cargo.toml.jinja2
50
+ stingeripc/templates/rust/server/examples/server.rs.jinja2
51
+ stingeripc/templates/rust/server/src/lib.rs.jinja2
52
+ tests/test_args.py
53
+ tests/test_enum.py
54
+ tests/test_examples.py
55
+ tests/test_interface.py
56
+ tests/test_signal.py
57
+ tests/test_topics.py
@@ -0,0 +1,4 @@
1
+ [console_scripts]
2
+ markdowngen = stingeripc.tools.markdown_generator:main
3
+ pythongen = stingeripc.tools.python_generator:main
4
+ rustgen = stingeripc.tools.rust_generator:main
@@ -1,4 +1,4 @@
1
- jacobs-jinja-too>=0.0.8
1
+ jacobs-jinja-too>=0.1.0
2
2
  packaging>=25.0
3
3
  pydantic>=2.11.7
4
4
  pyyaml>=6.0.2
@@ -17,6 +17,7 @@ from __future__ import annotations
17
17
  from enum import Enum
18
18
  from .exceptions import InvalidStingerStructure
19
19
 
20
+
20
21
  class ArgType(Enum):
21
22
  UNKNOWN = 0
22
23
  PRIMITIVE = 1
@@ -25,7 +26,7 @@ class ArgType(Enum):
25
26
 
26
27
 
27
28
  class ArgPrimitiveType(Enum):
28
- """ This is not an Arg, rather it is an enumeration of different primitives that an ArgPrimitive can represent."""
29
+ """This is not an Arg, rather it is an enumeration of different primitives that an ArgPrimitive can represent."""
29
30
 
30
31
  BOOLEAN = 0
31
32
  INTEGER = 1
@@ -40,7 +41,7 @@ class ArgPrimitiveType(Enum):
40
41
  raise InvalidStingerStructure(f"No ArgType called '{arg_type}'")
41
42
 
42
43
  @classmethod
43
- def to_python_type(cls, arg_type: ArgPrimitiveType, optional: bool=False) -> str:
44
+ def to_python_type(cls, arg_type: ArgPrimitiveType, optional: bool = False) -> str:
44
45
  if optional:
45
46
  return f"{cls.to_python_type(arg_type, optional=False)} | None"
46
47
  if arg_type == cls.BOOLEAN:
@@ -54,7 +55,7 @@ class ArgPrimitiveType(Enum):
54
55
  raise InvalidStingerStructure("Unhandled arg type")
55
56
 
56
57
  @classmethod
57
- def to_rust_type(cls, arg_type: ArgPrimitiveType, optional:bool=False) -> str:
58
+ def to_rust_type(cls, arg_type: ArgPrimitiveType, optional: bool = False) -> str:
58
59
  if optional:
59
60
  return f"Option<{cls.to_rust_type(arg_type, optional=False)}>"
60
61
  if arg_type == cls.BOOLEAN:
@@ -80,7 +81,7 @@ class ArgPrimitiveType(Enum):
80
81
  raise InvalidStingerStructure("Unhandled arg type")
81
82
 
82
83
  @classmethod
83
- def to_cpp_type(cls, arg_type: ArgPrimitiveType, optional: bool=False) -> str:
84
+ def to_cpp_type(cls, arg_type: ArgPrimitiveType, optional: bool = False) -> str:
84
85
  if arg_type == cls.BOOLEAN:
85
86
  if optional:
86
87
  return "boost::optional<bool>"
@@ -113,4 +114,4 @@ class ArgPrimitiveType(Enum):
113
114
  return "Double"
114
115
  elif arg_type == cls.STRING:
115
116
  return "String"
116
- raise InvalidStingerStructure("Unhandled arg type")
117
+ raise InvalidStingerStructure("Unhandled arg type")