blackant-sdk 1.0.3__tar.gz → 1.0.4__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 (135) hide show
  1. blackant_sdk-1.0.4/PKG-INFO +196 -0
  2. blackant_sdk-1.0.4/README.md +148 -0
  3. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/pyproject.toml +1 -1
  4. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/cli.py +1 -1
  5. blackant_sdk-1.0.4/src/blackant_sdk.egg-info/PKG-INFO +196 -0
  6. blackant_sdk-1.0.3/PKG-INFO +0 -118
  7. blackant_sdk-1.0.3/README.md +0 -70
  8. blackant_sdk-1.0.3/src/blackant_sdk.egg-info/PKG-INFO +0 -118
  9. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/MANIFEST.in +0 -0
  10. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/_version.py +0 -0
  11. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/config/defaults.yaml +0 -0
  12. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/config/development.yaml +0 -0
  13. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/config/production.yaml +0 -0
  14. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/config/schema.yaml +0 -0
  15. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/docs/Makefile +0 -0
  16. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/docs/source/conf.py +0 -0
  17. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/docs/source/index.rst +0 -0
  18. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/docs/source/modules/api.rst +0 -0
  19. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/docs/source/modules/auth.rst +0 -0
  20. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/docs/source/modules/blackant.rst +0 -0
  21. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/docs/source/modules/config.rst +0 -0
  22. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/docs/source/modules/docker.rst +0 -0
  23. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/docs/source/modules/http.rst +0 -0
  24. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/docs/source/modules/patterns.rst +0 -0
  25. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/docs/source/modules/services.rst +0 -0
  26. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/docs/source/modules/utils.rst +0 -0
  27. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/examples/build_service_demo.py +0 -0
  28. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/requirements-dev.txt +0 -0
  29. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/requirements.debug.txt +0 -0
  30. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/requirements.txt +0 -0
  31. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/setup.cfg +0 -0
  32. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/setup.py +0 -0
  33. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/__init__.py +0 -0
  34. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/auth/__init__.py +0 -0
  35. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/auth/blackant_auth.py +0 -0
  36. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/auth/keycloak_manager.py +0 -0
  37. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/auth/request_id.py +0 -0
  38. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/auth/role_assignment.py +0 -0
  39. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/auth/tokens.py +0 -0
  40. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/client.py +0 -0
  41. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/config/__init__.py +0 -0
  42. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/config/docker_config.py +0 -0
  43. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/config/keycloak_admin_config.py +0 -0
  44. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/docker/__init__.py +0 -0
  45. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/docker/builder.py +0 -0
  46. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/docker/client.py +0 -0
  47. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/docker/dao.py +0 -0
  48. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/docker/registry.py +0 -0
  49. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/exceptions.py +0 -0
  50. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/http/__init__.py +0 -0
  51. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/http/client.py +0 -0
  52. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/patterns/__init__.py +0 -0
  53. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/patterns/singleton.py +0 -0
  54. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/services/__init__.py +0 -0
  55. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/services/dao.py +0 -0
  56. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/services/registry.py +0 -0
  57. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/utils/__init__.py +0 -0
  58. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/utils/initialization.py +0 -0
  59. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/utils/logging.py +0 -0
  60. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/utils/request_id.py +0 -0
  61. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant/utils/store.py +0 -0
  62. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant_sdk.egg-info/SOURCES.txt +0 -0
  63. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant_sdk.egg-info/dependency_links.txt +0 -0
  64. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant_sdk.egg-info/entry_points.txt +0 -0
  65. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant_sdk.egg-info/requires.txt +0 -0
  66. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/blackant_sdk.egg-info/top_level.txt +0 -0
  67. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/calculation/__init__.py +0 -0
  68. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/calculation/base.py +0 -0
  69. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/calculation/errors.py +0 -0
  70. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/calculation/impl/__init__.py +0 -0
  71. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/calculation/impl/my_calculation.py +0 -0
  72. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/calculation/impl/simple_calc.py +0 -0
  73. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/calculation/impl/test.py +0 -0
  74. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/calculation/impl/test_calc.py +0 -0
  75. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/calculation/loader.py +0 -0
  76. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/healthcheck.py +0 -0
  77. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/notifinations/__init__.py +0 -0
  78. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/notifinations/mail_sender.py +0 -0
  79. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/server.py +0 -0
  80. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/server_status.py +0 -0
  81. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/storage/__init__.py +0 -0
  82. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/storage/errors.py +0 -0
  83. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/storage/factory.py +0 -0
  84. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/storage/interface.py +0 -0
  85. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/storage/minio.py +0 -0
  86. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/__init__.py +0 -0
  87. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/dao.py +0 -0
  88. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/errors.py +0 -0
  89. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/log_adapter.py +0 -0
  90. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/parsers/__init__.py +0 -0
  91. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/parsers/base.py +0 -0
  92. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/parsers/callback.py +0 -0
  93. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/parsers/cmd_args.py +0 -0
  94. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/parsers/freetext.py +0 -0
  95. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/parsers/objects.py +0 -0
  96. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/parsers/request.py +0 -0
  97. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/resource.py +0 -0
  98. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/states/__init__.py +0 -0
  99. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/states/base.py +0 -0
  100. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/states/error.py +0 -0
  101. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/states/idle.py +0 -0
  102. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/states/ready.py +0 -0
  103. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/states/running.py +0 -0
  104. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/states/set_up.py +0 -0
  105. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/states/tear_down.py +0 -0
  106. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/src/task/task.py +0 -0
  107. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/__init__.py +0 -0
  108. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/conftest.py +0 -0
  109. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/function/__init__.py +0 -0
  110. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/function/test_auth_operations.py +0 -0
  111. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/function/test_automatic_role_assignment.py +0 -0
  112. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/function/test_build_service_operations.py +0 -0
  113. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/function/test_client_credentials_operations.py +0 -0
  114. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/function/test_core_methods_integration.py +0 -0
  115. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/function/test_docker_operations.py +0 -0
  116. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/function/test_full_state_machine_e2e.py +0 -0
  117. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/function/test_remote_docker_build.py +0 -0
  118. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/function/test_service_operations.py +0 -0
  119. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/function/test_task_communication.py +0 -0
  120. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/__init__.py +0 -0
  121. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_auth_tokens.py +0 -0
  122. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_calculation_loader.py +0 -0
  123. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_client_credentials_auth.py +0 -0
  124. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_docker_builder.py +0 -0
  125. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_docker_dao.py +0 -0
  126. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_http.py +0 -0
  127. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_http_integration.py +0 -0
  128. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_keycloak_manager.py +0 -0
  129. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_logger.py +0 -0
  130. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_my_calculation.py +0 -0
  131. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_request_id.py +0 -0
  132. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_role_assignment.py +0 -0
  133. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_service_manager_dao.py +0 -0
  134. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_singleton.py +0 -0
  135. {blackant_sdk-1.0.3 → blackant_sdk-1.0.4}/test/unit/test_store.py +0 -0
@@ -0,0 +1,196 @@
1
+ Metadata-Version: 2.4
2
+ Name: blackant-sdk
3
+ Version: 1.0.4
4
+ Summary: Python SDK for Docker operations with automatic authentication through BlackAnt platform
5
+ Author-email: Balázs Milán <milan.balazs@uni-obuda.hu>
6
+ Maintainer-email: BlackAnt Development Team <dev@blackant.app>
7
+ License: Proprietary - Óbudai Egyetem
8
+ Project-URL: Homepage, https://env.blackant.app/systemdevelopers/blackant_sdk
9
+ Project-URL: Documentation, https://docs.blackant.app
10
+ Project-URL: Repository, https://env.blackant.app/systemdevelopers/blackant_sdk
11
+ Project-URL: Bug Tracker, https://env.blackant.app/systemdevelopers/blackant_sdk/-/issues
12
+ Keywords: docker,sdk,authentication,blackant,container,orchestration,swarm
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
16
+ Classifier: Topic :: System :: Distributed Computing
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Operating System :: OS Independent
21
+ Requires-Python: >=3.11
22
+ Description-Content-Type: text/markdown
23
+ Requires-Dist: flask>=2.3.2
24
+ Requires-Dist: flask-restful>=0.3.10
25
+ Requires-Dist: waitress>=2.1.2
26
+ Requires-Dist: minio>=6.0.0
27
+ Requires-Dist: requests>=2.31.0
28
+ Requires-Dist: docker>=4.4.3
29
+ Requires-Dist: urllib3<2.0
30
+ Requires-Dist: gunicorn>=21.2.0
31
+ Requires-Dist: colorama>=0.4.6
32
+ Requires-Dist: python-keycloak>=3.0.0
33
+ Requires-Dist: PyJWT>=2.8.0
34
+ Requires-Dist: click>=8.1.0
35
+ Provides-Extra: dev
36
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
37
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
38
+ Requires-Dist: pytest-mock>=3.10.0; extra == "dev"
39
+ Requires-Dist: sphinx>=5.0.0; extra == "dev"
40
+ Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "dev"
41
+ Provides-Extra: test
42
+ Requires-Dist: pytest>=7.0.0; extra == "test"
43
+ Requires-Dist: pytest-cov>=4.0.0; extra == "test"
44
+ Requires-Dist: pytest-mock>=3.10.0; extra == "test"
45
+ Provides-Extra: docs
46
+ Requires-Dist: sphinx>=5.0.0; extra == "docs"
47
+ Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "docs"
48
+
49
+ # BlackAnt SDK
50
+
51
+ Python SDK for Docker operations with automatic authentication through the BlackAnt platform.
52
+
53
+ ## Features
54
+
55
+ - Automatic authentication with BlackAnt platform
56
+ - Build Docker images on remote daemon
57
+ - Push images to private registry
58
+ - Service management (list, status, delete)
59
+ - Both Python API and CLI interface
60
+
61
+ ## Installation
62
+
63
+ ```bash
64
+ pip install blackant-sdk
65
+ ```
66
+
67
+ ## Quick Start
68
+
69
+ ### Python API
70
+
71
+ ```python
72
+ from blackant import BlackAntClient
73
+
74
+ # Initialize client
75
+ client = BlackAntClient(
76
+ user="your-username",
77
+ password="your-password",
78
+ base_url="https://your-blackant-instance.com"
79
+ )
80
+
81
+ # Authenticate
82
+ if client.authenticate():
83
+ print("Connected to BlackAnt!")
84
+
85
+ # Build and push a service
86
+ result = client.build_service(
87
+ service_name="my-calculation",
88
+ impl_path="./src/calculation/impl",
89
+ tag="v1.0.0",
90
+ push=True
91
+ )
92
+
93
+ print(f"Image: {result['full_image']}")
94
+
95
+ # List services
96
+ services = client.list_services()
97
+ for svc in services:
98
+ print(f" - {svc['name']}: {svc['status']}")
99
+ ```
100
+
101
+ ### Command Line Interface (CLI)
102
+
103
+ ```bash
104
+ # Set credentials via environment variables
105
+ export BLACKANT_USER=your-username
106
+ export BLACKANT_PASSWORD=your-password
107
+ export BLACKANT_URL=https://your-blackant-instance.com
108
+
109
+ # Test connection
110
+ blackant login
111
+
112
+ # Build and push
113
+ blackant build --name my-calculation --path ./src/calculation/impl --tag v1.0.0
114
+
115
+ # List services
116
+ blackant list
117
+
118
+ # Get service status
119
+ blackant status my-calculation
120
+
121
+ # Delete service
122
+ blackant delete my-calculation
123
+ ```
124
+
125
+ ## Environment Variables
126
+
127
+ | Variable | Description | Default |
128
+ |----------|-------------|---------|
129
+ | `BLACKANT_USER` | Username for authentication | - |
130
+ | `BLACKANT_PASSWORD` | Password for authentication | - |
131
+ | `BLACKANT_URL` | BlackAnt platform base URL | `https://dev.blackant.app` |
132
+
133
+ ## API Reference
134
+
135
+ ### BlackAntClient
136
+
137
+ The main client class providing all SDK functionality.
138
+
139
+ #### Methods
140
+
141
+ | Method | Description |
142
+ |--------|-------------|
143
+ | `authenticate()` | Authenticate with BlackAnt platform |
144
+ | `test_connection()` | Test if connection is working |
145
+ | `build_service(...)` | Build Docker image and optionally push |
146
+ | `list_services()` | List all registered services |
147
+ | `get_service(name)` | Get service details |
148
+ | `get_service_status(name)` | Get service status |
149
+ | `delete_service(name)` | Delete a service |
150
+
151
+ ### CLI Commands
152
+
153
+ | Command | Description |
154
+ |---------|-------------|
155
+ | `blackant login` | Test connection and authenticate |
156
+ | `blackant build` | Build Docker image and push to registry |
157
+ | `blackant list` | List all registered services |
158
+ | `blackant status <name>` | Get status of a service |
159
+ | `blackant info <name>` | Get detailed service information |
160
+ | `blackant delete <name>` | Delete a service |
161
+
162
+ Use `blackant <command> --help` for detailed options.
163
+
164
+ ## Requirements
165
+
166
+ - Python 3.11+
167
+ - Access to a BlackAnt platform instance
168
+ - Valid BlackAnt credentials
169
+
170
+ ## License
171
+
172
+ Proprietary - Obuda University, John von Neumann Faculty of Informatics
173
+
174
+ ---
175
+
176
+ ## About
177
+
178
+ <p align="center">
179
+ <img src="https://nik.uni-obuda.hu/wp-content/uploads/2025/10/NIK_logo_header.png" alt="NIK Logo" width="300"/>
180
+ </p>
181
+
182
+ This SDK is developed and maintained by the **BlackAnt Development Team** at:
183
+
184
+ **Obuda University - John von Neumann Faculty of Informatics**
185
+ *(Óbudai Egyetem - Neumann János Informatikai Kar)*
186
+
187
+ | | |
188
+ |---|---|
189
+ | Address | 1034 Budapest, Bécsi út 96/B, Hungary |
190
+ | Phone | +36 1 666 5520 |
191
+ | Email | titkarsag@nik.uni-obuda.hu |
192
+ | Web | [nik.uni-obuda.hu](https://nik.uni-obuda.hu) |
193
+
194
+ ## Support
195
+
196
+ For SDK issues and questions, contact the BlackAnt Development Team at dev@blackant.app
@@ -0,0 +1,148 @@
1
+ # BlackAnt SDK
2
+
3
+ Python SDK for Docker operations with automatic authentication through the BlackAnt platform.
4
+
5
+ ## Features
6
+
7
+ - Automatic authentication with BlackAnt platform
8
+ - Build Docker images on remote daemon
9
+ - Push images to private registry
10
+ - Service management (list, status, delete)
11
+ - Both Python API and CLI interface
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ pip install blackant-sdk
17
+ ```
18
+
19
+ ## Quick Start
20
+
21
+ ### Python API
22
+
23
+ ```python
24
+ from blackant import BlackAntClient
25
+
26
+ # Initialize client
27
+ client = BlackAntClient(
28
+ user="your-username",
29
+ password="your-password",
30
+ base_url="https://your-blackant-instance.com"
31
+ )
32
+
33
+ # Authenticate
34
+ if client.authenticate():
35
+ print("Connected to BlackAnt!")
36
+
37
+ # Build and push a service
38
+ result = client.build_service(
39
+ service_name="my-calculation",
40
+ impl_path="./src/calculation/impl",
41
+ tag="v1.0.0",
42
+ push=True
43
+ )
44
+
45
+ print(f"Image: {result['full_image']}")
46
+
47
+ # List services
48
+ services = client.list_services()
49
+ for svc in services:
50
+ print(f" - {svc['name']}: {svc['status']}")
51
+ ```
52
+
53
+ ### Command Line Interface (CLI)
54
+
55
+ ```bash
56
+ # Set credentials via environment variables
57
+ export BLACKANT_USER=your-username
58
+ export BLACKANT_PASSWORD=your-password
59
+ export BLACKANT_URL=https://your-blackant-instance.com
60
+
61
+ # Test connection
62
+ blackant login
63
+
64
+ # Build and push
65
+ blackant build --name my-calculation --path ./src/calculation/impl --tag v1.0.0
66
+
67
+ # List services
68
+ blackant list
69
+
70
+ # Get service status
71
+ blackant status my-calculation
72
+
73
+ # Delete service
74
+ blackant delete my-calculation
75
+ ```
76
+
77
+ ## Environment Variables
78
+
79
+ | Variable | Description | Default |
80
+ |----------|-------------|---------|
81
+ | `BLACKANT_USER` | Username for authentication | - |
82
+ | `BLACKANT_PASSWORD` | Password for authentication | - |
83
+ | `BLACKANT_URL` | BlackAnt platform base URL | `https://dev.blackant.app` |
84
+
85
+ ## API Reference
86
+
87
+ ### BlackAntClient
88
+
89
+ The main client class providing all SDK functionality.
90
+
91
+ #### Methods
92
+
93
+ | Method | Description |
94
+ |--------|-------------|
95
+ | `authenticate()` | Authenticate with BlackAnt platform |
96
+ | `test_connection()` | Test if connection is working |
97
+ | `build_service(...)` | Build Docker image and optionally push |
98
+ | `list_services()` | List all registered services |
99
+ | `get_service(name)` | Get service details |
100
+ | `get_service_status(name)` | Get service status |
101
+ | `delete_service(name)` | Delete a service |
102
+
103
+ ### CLI Commands
104
+
105
+ | Command | Description |
106
+ |---------|-------------|
107
+ | `blackant login` | Test connection and authenticate |
108
+ | `blackant build` | Build Docker image and push to registry |
109
+ | `blackant list` | List all registered services |
110
+ | `blackant status <name>` | Get status of a service |
111
+ | `blackant info <name>` | Get detailed service information |
112
+ | `blackant delete <name>` | Delete a service |
113
+
114
+ Use `blackant <command> --help` for detailed options.
115
+
116
+ ## Requirements
117
+
118
+ - Python 3.11+
119
+ - Access to a BlackAnt platform instance
120
+ - Valid BlackAnt credentials
121
+
122
+ ## License
123
+
124
+ Proprietary - Obuda University, John von Neumann Faculty of Informatics
125
+
126
+ ---
127
+
128
+ ## About
129
+
130
+ <p align="center">
131
+ <img src="https://nik.uni-obuda.hu/wp-content/uploads/2025/10/NIK_logo_header.png" alt="NIK Logo" width="300"/>
132
+ </p>
133
+
134
+ This SDK is developed and maintained by the **BlackAnt Development Team** at:
135
+
136
+ **Obuda University - John von Neumann Faculty of Informatics**
137
+ *(Óbudai Egyetem - Neumann János Informatikai Kar)*
138
+
139
+ | | |
140
+ |---|---|
141
+ | Address | 1034 Budapest, Bécsi út 96/B, Hungary |
142
+ | Phone | +36 1 666 5520 |
143
+ | Email | titkarsag@nik.uni-obuda.hu |
144
+ | Web | [nik.uni-obuda.hu](https://nik.uni-obuda.hu) |
145
+
146
+ ## Support
147
+
148
+ For SDK issues and questions, contact the BlackAnt Development Team at dev@blackant.app
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "blackant-sdk"
7
- version = "1.0.3"
7
+ version = "1.0.4"
8
8
  description = "Python SDK for Docker operations with automatic authentication through BlackAnt platform"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -61,7 +61,7 @@ def get_client(user: Optional[str] = None, password: Optional[str] = None,
61
61
 
62
62
 
63
63
  @click.group()
64
- @click.version_option(version="1.0.3", prog_name="blackant")
64
+ @click.version_option(version="1.0.4", prog_name="blackant")
65
65
  def main():
66
66
  """BlackAnt SDK - Command Line Interface
67
67
 
@@ -0,0 +1,196 @@
1
+ Metadata-Version: 2.4
2
+ Name: blackant-sdk
3
+ Version: 1.0.4
4
+ Summary: Python SDK for Docker operations with automatic authentication through BlackAnt platform
5
+ Author-email: Balázs Milán <milan.balazs@uni-obuda.hu>
6
+ Maintainer-email: BlackAnt Development Team <dev@blackant.app>
7
+ License: Proprietary - Óbudai Egyetem
8
+ Project-URL: Homepage, https://env.blackant.app/systemdevelopers/blackant_sdk
9
+ Project-URL: Documentation, https://docs.blackant.app
10
+ Project-URL: Repository, https://env.blackant.app/systemdevelopers/blackant_sdk
11
+ Project-URL: Bug Tracker, https://env.blackant.app/systemdevelopers/blackant_sdk/-/issues
12
+ Keywords: docker,sdk,authentication,blackant,container,orchestration,swarm
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
16
+ Classifier: Topic :: System :: Distributed Computing
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Operating System :: OS Independent
21
+ Requires-Python: >=3.11
22
+ Description-Content-Type: text/markdown
23
+ Requires-Dist: flask>=2.3.2
24
+ Requires-Dist: flask-restful>=0.3.10
25
+ Requires-Dist: waitress>=2.1.2
26
+ Requires-Dist: minio>=6.0.0
27
+ Requires-Dist: requests>=2.31.0
28
+ Requires-Dist: docker>=4.4.3
29
+ Requires-Dist: urllib3<2.0
30
+ Requires-Dist: gunicorn>=21.2.0
31
+ Requires-Dist: colorama>=0.4.6
32
+ Requires-Dist: python-keycloak>=3.0.0
33
+ Requires-Dist: PyJWT>=2.8.0
34
+ Requires-Dist: click>=8.1.0
35
+ Provides-Extra: dev
36
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
37
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
38
+ Requires-Dist: pytest-mock>=3.10.0; extra == "dev"
39
+ Requires-Dist: sphinx>=5.0.0; extra == "dev"
40
+ Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "dev"
41
+ Provides-Extra: test
42
+ Requires-Dist: pytest>=7.0.0; extra == "test"
43
+ Requires-Dist: pytest-cov>=4.0.0; extra == "test"
44
+ Requires-Dist: pytest-mock>=3.10.0; extra == "test"
45
+ Provides-Extra: docs
46
+ Requires-Dist: sphinx>=5.0.0; extra == "docs"
47
+ Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "docs"
48
+
49
+ # BlackAnt SDK
50
+
51
+ Python SDK for Docker operations with automatic authentication through the BlackAnt platform.
52
+
53
+ ## Features
54
+
55
+ - Automatic authentication with BlackAnt platform
56
+ - Build Docker images on remote daemon
57
+ - Push images to private registry
58
+ - Service management (list, status, delete)
59
+ - Both Python API and CLI interface
60
+
61
+ ## Installation
62
+
63
+ ```bash
64
+ pip install blackant-sdk
65
+ ```
66
+
67
+ ## Quick Start
68
+
69
+ ### Python API
70
+
71
+ ```python
72
+ from blackant import BlackAntClient
73
+
74
+ # Initialize client
75
+ client = BlackAntClient(
76
+ user="your-username",
77
+ password="your-password",
78
+ base_url="https://your-blackant-instance.com"
79
+ )
80
+
81
+ # Authenticate
82
+ if client.authenticate():
83
+ print("Connected to BlackAnt!")
84
+
85
+ # Build and push a service
86
+ result = client.build_service(
87
+ service_name="my-calculation",
88
+ impl_path="./src/calculation/impl",
89
+ tag="v1.0.0",
90
+ push=True
91
+ )
92
+
93
+ print(f"Image: {result['full_image']}")
94
+
95
+ # List services
96
+ services = client.list_services()
97
+ for svc in services:
98
+ print(f" - {svc['name']}: {svc['status']}")
99
+ ```
100
+
101
+ ### Command Line Interface (CLI)
102
+
103
+ ```bash
104
+ # Set credentials via environment variables
105
+ export BLACKANT_USER=your-username
106
+ export BLACKANT_PASSWORD=your-password
107
+ export BLACKANT_URL=https://your-blackant-instance.com
108
+
109
+ # Test connection
110
+ blackant login
111
+
112
+ # Build and push
113
+ blackant build --name my-calculation --path ./src/calculation/impl --tag v1.0.0
114
+
115
+ # List services
116
+ blackant list
117
+
118
+ # Get service status
119
+ blackant status my-calculation
120
+
121
+ # Delete service
122
+ blackant delete my-calculation
123
+ ```
124
+
125
+ ## Environment Variables
126
+
127
+ | Variable | Description | Default |
128
+ |----------|-------------|---------|
129
+ | `BLACKANT_USER` | Username for authentication | - |
130
+ | `BLACKANT_PASSWORD` | Password for authentication | - |
131
+ | `BLACKANT_URL` | BlackAnt platform base URL | `https://dev.blackant.app` |
132
+
133
+ ## API Reference
134
+
135
+ ### BlackAntClient
136
+
137
+ The main client class providing all SDK functionality.
138
+
139
+ #### Methods
140
+
141
+ | Method | Description |
142
+ |--------|-------------|
143
+ | `authenticate()` | Authenticate with BlackAnt platform |
144
+ | `test_connection()` | Test if connection is working |
145
+ | `build_service(...)` | Build Docker image and optionally push |
146
+ | `list_services()` | List all registered services |
147
+ | `get_service(name)` | Get service details |
148
+ | `get_service_status(name)` | Get service status |
149
+ | `delete_service(name)` | Delete a service |
150
+
151
+ ### CLI Commands
152
+
153
+ | Command | Description |
154
+ |---------|-------------|
155
+ | `blackant login` | Test connection and authenticate |
156
+ | `blackant build` | Build Docker image and push to registry |
157
+ | `blackant list` | List all registered services |
158
+ | `blackant status <name>` | Get status of a service |
159
+ | `blackant info <name>` | Get detailed service information |
160
+ | `blackant delete <name>` | Delete a service |
161
+
162
+ Use `blackant <command> --help` for detailed options.
163
+
164
+ ## Requirements
165
+
166
+ - Python 3.11+
167
+ - Access to a BlackAnt platform instance
168
+ - Valid BlackAnt credentials
169
+
170
+ ## License
171
+
172
+ Proprietary - Obuda University, John von Neumann Faculty of Informatics
173
+
174
+ ---
175
+
176
+ ## About
177
+
178
+ <p align="center">
179
+ <img src="https://nik.uni-obuda.hu/wp-content/uploads/2025/10/NIK_logo_header.png" alt="NIK Logo" width="300"/>
180
+ </p>
181
+
182
+ This SDK is developed and maintained by the **BlackAnt Development Team** at:
183
+
184
+ **Obuda University - John von Neumann Faculty of Informatics**
185
+ *(Óbudai Egyetem - Neumann János Informatikai Kar)*
186
+
187
+ | | |
188
+ |---|---|
189
+ | Address | 1034 Budapest, Bécsi út 96/B, Hungary |
190
+ | Phone | +36 1 666 5520 |
191
+ | Email | titkarsag@nik.uni-obuda.hu |
192
+ | Web | [nik.uni-obuda.hu](https://nik.uni-obuda.hu) |
193
+
194
+ ## Support
195
+
196
+ For SDK issues and questions, contact the BlackAnt Development Team at dev@blackant.app
@@ -1,118 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: blackant-sdk
3
- Version: 1.0.3
4
- Summary: Python SDK for Docker operations with automatic authentication through BlackAnt platform
5
- Author-email: Balázs Milán <milan.balazs@uni-obuda.hu>
6
- Maintainer-email: BlackAnt Development Team <dev@blackant.app>
7
- License: Proprietary - Óbudai Egyetem
8
- Project-URL: Homepage, https://env.blackant.app/systemdevelopers/blackant_sdk
9
- Project-URL: Documentation, https://docs.blackant.app
10
- Project-URL: Repository, https://env.blackant.app/systemdevelopers/blackant_sdk
11
- Project-URL: Bug Tracker, https://env.blackant.app/systemdevelopers/blackant_sdk/-/issues
12
- Keywords: docker,sdk,authentication,blackant,container,orchestration,swarm
13
- Classifier: Development Status :: 4 - Beta
14
- Classifier: Intended Audience :: Developers
15
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
16
- Classifier: Topic :: System :: Distributed Computing
17
- Classifier: Programming Language :: Python :: 3
18
- Classifier: Programming Language :: Python :: 3.11
19
- Classifier: Programming Language :: Python :: 3.12
20
- Classifier: Operating System :: OS Independent
21
- Requires-Python: >=3.11
22
- Description-Content-Type: text/markdown
23
- Requires-Dist: flask>=2.3.2
24
- Requires-Dist: flask-restful>=0.3.10
25
- Requires-Dist: waitress>=2.1.2
26
- Requires-Dist: minio>=6.0.0
27
- Requires-Dist: requests>=2.31.0
28
- Requires-Dist: docker>=4.4.3
29
- Requires-Dist: urllib3<2.0
30
- Requires-Dist: gunicorn>=21.2.0
31
- Requires-Dist: colorama>=0.4.6
32
- Requires-Dist: python-keycloak>=3.0.0
33
- Requires-Dist: PyJWT>=2.8.0
34
- Requires-Dist: click>=8.1.0
35
- Provides-Extra: dev
36
- Requires-Dist: pytest>=7.0.0; extra == "dev"
37
- Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
38
- Requires-Dist: pytest-mock>=3.10.0; extra == "dev"
39
- Requires-Dist: sphinx>=5.0.0; extra == "dev"
40
- Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "dev"
41
- Provides-Extra: test
42
- Requires-Dist: pytest>=7.0.0; extra == "test"
43
- Requires-Dist: pytest-cov>=4.0.0; extra == "test"
44
- Requires-Dist: pytest-mock>=3.10.0; extra == "test"
45
- Provides-Extra: docs
46
- Requires-Dist: sphinx>=5.0.0; extra == "docs"
47
- Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "docs"
48
-
49
- # Python REST API docker template
50
-
51
- A simple template to implement REST APIs using Python Flask & docker.
52
-
53
- ## Build arguments
54
-
55
- ### INSTALL_DEBUG_TOOLS
56
-
57
- If it's set to True, ptvsd is installed during build to be able to do live debugging.
58
-
59
- ## Environment variables
60
-
61
- ### CALCULATION_NAME
62
-
63
- Name of the calculation. Mandatory parameter.
64
-
65
- ### SERVER_PORT
66
-
67
- Port which on the server runs. Default: 5000
68
-
69
- ### DEBUG_MODE
70
-
71
- A switch to select between debug and release mode. If it is set to True, a Flask server will be started in debug mode and a ptvsd server. Otherwise, it is served using gevent production server. Default: False
72
-
73
- ### OBJECT_STORAGE_URL
74
-
75
- Url for the object storage. Mandatory if the code uses object storage.
76
-
77
- ### OBJECT_STORAGE_ACCESS_KEY
78
-
79
- Public key for the object storage.
80
-
81
- ### OBJECT_STORAGE_SECRET_KEY
82
-
83
- Private key for the object storage.
84
-
85
- ### SCHEDULER_URL
86
-
87
- Callback url of the scheduler.
88
-
89
- ## Commands
90
-
91
- ### Build
92
-
93
- ```sh
94
- docker-compose build
95
- ```
96
-
97
- ### Run
98
-
99
- ```sh
100
- docker-compose up
101
- ```
102
-
103
- ### Create task
104
-
105
- You can use the tools/send_request.py script to send a simple request to the calculation container.
106
-
107
- ### Debug
108
-
109
- If you use Visual Studio Code, there is a debug configuration called Python: Remote Attach which will start a debug session and connect to your running container.
110
-
111
- ## Documentation
112
-
113
- Full HTML and PDF documentation can be generated from any revision using the generate_documentation job in the CI.
114
- After the job have run successfully, the artifacts are stored for one day.
115
- If it's necessary it can be rerun any time.
116
-
117
-
118
- ......