skillware 0.3.7__tar.gz → 0.3.9__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 (123) hide show
  1. {skillware-0.3.7/skillware.egg-info → skillware-0.3.9}/PKG-INFO +20 -6
  2. {skillware-0.3.7 → skillware-0.3.9}/README.md +19 -5
  3. {skillware-0.3.7 → skillware-0.3.9}/pyproject.toml +1 -1
  4. skillware-0.3.9/skillware/cli.py +759 -0
  5. {skillware-0.3.7 → skillware-0.3.9/skillware.egg-info}/PKG-INFO +20 -6
  6. skillware-0.3.9/tests/test_cli.py +640 -0
  7. {skillware-0.3.7 → skillware-0.3.9}/tests/test_skill_issuer.py +11 -0
  8. skillware-0.3.7/skillware/cli.py +0 -351
  9. skillware-0.3.7/tests/test_cli.py +0 -281
  10. {skillware-0.3.7 → skillware-0.3.9}/LICENSE +0 -0
  11. {skillware-0.3.7 → skillware-0.3.9}/MANIFEST.in +0 -0
  12. {skillware-0.3.7 → skillware-0.3.9}/setup.cfg +0 -0
  13. {skillware-0.3.7 → skillware-0.3.9}/skills/__init__.py +0 -0
  14. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/__init__.py +0 -0
  15. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/mica_module/__init__.py +0 -0
  16. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/mica_module/card.json +0 -0
  17. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/mica_module/instructions.md +0 -0
  18. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/mica_module/manifest.yaml +0 -0
  19. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/mica_module/mica_corpus.json +0 -0
  20. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/mica_module/skill.py +0 -0
  21. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/mica_module/test_skill.py +0 -0
  22. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/pii_masker/__init__.py +0 -0
  23. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/pii_masker/card.json +0 -0
  24. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/pii_masker/instructions.md +0 -0
  25. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/pii_masker/manifest.yaml +0 -0
  26. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/pii_masker/skill.py +0 -0
  27. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/pii_masker/test_skill.py +0 -0
  28. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/tos_evaluator/__init__.py +0 -0
  29. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/tos_evaluator/card.json +0 -0
  30. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/tos_evaluator/instructions.md +0 -0
  31. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/tos_evaluator/manifest.yaml +0 -0
  32. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/tos_evaluator/skill.py +0 -0
  33. {skillware-0.3.7 → skillware-0.3.9}/skills/compliance/tos_evaluator/test_skill.py +0 -0
  34. {skillware-0.3.7 → skillware-0.3.9}/skills/data_engineering/__init__.py +0 -0
  35. {skillware-0.3.7 → skillware-0.3.9}/skills/data_engineering/novelty_extractor/__init__.py +0 -0
  36. {skillware-0.3.7 → skillware-0.3.9}/skills/data_engineering/novelty_extractor/card.json +0 -0
  37. {skillware-0.3.7 → skillware-0.3.9}/skills/data_engineering/novelty_extractor/instructions.md +0 -0
  38. {skillware-0.3.7 → skillware-0.3.9}/skills/data_engineering/novelty_extractor/manifest.yaml +0 -0
  39. {skillware-0.3.7 → skillware-0.3.9}/skills/data_engineering/novelty_extractor/skill.py +0 -0
  40. {skillware-0.3.7 → skillware-0.3.9}/skills/data_engineering/novelty_extractor/test_skill.py +0 -0
  41. {skillware-0.3.7 → skillware-0.3.9}/skills/data_engineering/synthetic_generator/__init__.py +0 -0
  42. {skillware-0.3.7 → skillware-0.3.9}/skills/data_engineering/synthetic_generator/card.json +0 -0
  43. {skillware-0.3.7 → skillware-0.3.9}/skills/data_engineering/synthetic_generator/instructions.md +0 -0
  44. {skillware-0.3.7 → skillware-0.3.9}/skills/data_engineering/synthetic_generator/manifest.yaml +0 -0
  45. {skillware-0.3.7 → skillware-0.3.9}/skills/data_engineering/synthetic_generator/skill.py +0 -0
  46. {skillware-0.3.7 → skillware-0.3.9}/skills/data_engineering/synthetic_generator/test_skill.py +0 -0
  47. {skillware-0.3.7 → skillware-0.3.9}/skills/defi/__init__.py +0 -0
  48. {skillware-0.3.7 → skillware-0.3.9}/skills/defi/evm_tx_handler/__init__.py +0 -0
  49. {skillware-0.3.7 → skillware-0.3.9}/skills/defi/evm_tx_handler/abis.py +0 -0
  50. {skillware-0.3.7 → skillware-0.3.9}/skills/defi/evm_tx_handler/card.json +0 -0
  51. {skillware-0.3.7 → skillware-0.3.9}/skills/defi/evm_tx_handler/config.yaml.example +0 -0
  52. {skillware-0.3.7 → skillware-0.3.9}/skills/defi/evm_tx_handler/data/addressbook.yaml +0 -0
  53. {skillware-0.3.7 → skillware-0.3.9}/skills/defi/evm_tx_handler/data/chains.yaml +0 -0
  54. {skillware-0.3.7 → skillware-0.3.9}/skills/defi/evm_tx_handler/data/tokens.yaml +0 -0
  55. {skillware-0.3.7 → skillware-0.3.9}/skills/defi/evm_tx_handler/instructions.md +0 -0
  56. {skillware-0.3.7 → skillware-0.3.9}/skills/defi/evm_tx_handler/manifest.yaml +0 -0
  57. {skillware-0.3.7 → skillware-0.3.9}/skills/defi/evm_tx_handler/skill.py +0 -0
  58. {skillware-0.3.7 → skillware-0.3.9}/skills/defi/evm_tx_handler/test_skill.py +0 -0
  59. {skillware-0.3.7 → skillware-0.3.9}/skills/dev_tools/__init__.py +0 -0
  60. {skillware-0.3.7 → skillware-0.3.9}/skills/dev_tools/issue_resolver/__init__.py +0 -0
  61. {skillware-0.3.7 → skillware-0.3.9}/skills/dev_tools/issue_resolver/card.json +0 -0
  62. {skillware-0.3.7 → skillware-0.3.9}/skills/dev_tools/issue_resolver/instructions.md +0 -0
  63. {skillware-0.3.7 → skillware-0.3.9}/skills/dev_tools/issue_resolver/manifest.yaml +0 -0
  64. {skillware-0.3.7 → skillware-0.3.9}/skills/dev_tools/issue_resolver/skill.py +0 -0
  65. {skillware-0.3.7 → skillware-0.3.9}/skills/dev_tools/issue_resolver/test_skill.py +0 -0
  66. {skillware-0.3.7 → skillware-0.3.9}/skills/dev_tools/issue_resolver/workflow.py +0 -0
  67. {skillware-0.3.7 → skillware-0.3.9}/skills/finance/__init__.py +0 -0
  68. {skillware-0.3.7 → skillware-0.3.9}/skills/finance/wallet_screening/__init__.py +0 -0
  69. {skillware-0.3.7 → skillware-0.3.9}/skills/finance/wallet_screening/card.json +0 -0
  70. {skillware-0.3.7 → skillware-0.3.9}/skills/finance/wallet_screening/data/entities.ftm.json +0 -0
  71. {skillware-0.3.7 → skillware-0.3.9}/skills/finance/wallet_screening/data/malicious_scs_2025.json +0 -0
  72. {skillware-0.3.7 → skillware-0.3.9}/skills/finance/wallet_screening/data/normalized_fbi_lazarus_20250722_180019.json +0 -0
  73. {skillware-0.3.7 → skillware-0.3.9}/skills/finance/wallet_screening/data/normalized_israel_nbctf_20250722_180019.json +0 -0
  74. {skillware-0.3.7 → skillware-0.3.9}/skills/finance/wallet_screening/data/normalized_uniswap_trm.json +0 -0
  75. {skillware-0.3.7 → skillware-0.3.9}/skills/finance/wallet_screening/instructions.md +0 -0
  76. {skillware-0.3.7 → skillware-0.3.9}/skills/finance/wallet_screening/maintenance/normalization_tool.py +0 -0
  77. {skillware-0.3.7 → skillware-0.3.9}/skills/finance/wallet_screening/maintenance/normalize_uniswap_trm.py +0 -0
  78. {skillware-0.3.7 → skillware-0.3.9}/skills/finance/wallet_screening/manifest.yaml +0 -0
  79. {skillware-0.3.7 → skillware-0.3.9}/skills/finance/wallet_screening/skill.py +0 -0
  80. {skillware-0.3.7 → skillware-0.3.9}/skills/finance/wallet_screening/test_skill.py +0 -0
  81. {skillware-0.3.7 → skillware-0.3.9}/skills/office/__init__.py +0 -0
  82. {skillware-0.3.7 → skillware-0.3.9}/skills/office/pdf_form_filler/__init__.py +0 -0
  83. {skillware-0.3.7 → skillware-0.3.9}/skills/office/pdf_form_filler/card.json +0 -0
  84. {skillware-0.3.7 → skillware-0.3.9}/skills/office/pdf_form_filler/instructions.md +0 -0
  85. {skillware-0.3.7 → skillware-0.3.9}/skills/office/pdf_form_filler/manifest.yaml +0 -0
  86. {skillware-0.3.7 → skillware-0.3.9}/skills/office/pdf_form_filler/skill.py +0 -0
  87. {skillware-0.3.7 → skillware-0.3.9}/skills/office/pdf_form_filler/test_skill.py +0 -0
  88. {skillware-0.3.7 → skillware-0.3.9}/skills/office/pdf_form_filler/utils.py +0 -0
  89. {skillware-0.3.7 → skillware-0.3.9}/skills/optimization/__init__.py +0 -0
  90. {skillware-0.3.7 → skillware-0.3.9}/skills/optimization/prompt_rewriter/__init__.py +0 -0
  91. {skillware-0.3.7 → skillware-0.3.9}/skills/optimization/prompt_rewriter/card.json +0 -0
  92. {skillware-0.3.7 → skillware-0.3.9}/skills/optimization/prompt_rewriter/instructions.md +0 -0
  93. {skillware-0.3.7 → skillware-0.3.9}/skills/optimization/prompt_rewriter/manifest.yaml +0 -0
  94. {skillware-0.3.7 → skillware-0.3.9}/skills/optimization/prompt_rewriter/skill.py +0 -0
  95. {skillware-0.3.7 → skillware-0.3.9}/skills/optimization/prompt_rewriter/test_skill.py +0 -0
  96. {skillware-0.3.7 → skillware-0.3.9}/skills/wellness/__init__.py +0 -0
  97. {skillware-0.3.7 → skillware-0.3.9}/skills/wellness/mental_coach/__init__.py +0 -0
  98. {skillware-0.3.7 → skillware-0.3.9}/skills/wellness/mental_coach/card.json +0 -0
  99. {skillware-0.3.7 → skillware-0.3.9}/skills/wellness/mental_coach/constraints.py +0 -0
  100. {skillware-0.3.7 → skillware-0.3.9}/skills/wellness/mental_coach/crisis_gate.py +0 -0
  101. {skillware-0.3.7 → skillware-0.3.9}/skills/wellness/mental_coach/instructions.md +0 -0
  102. {skillware-0.3.7 → skillware-0.3.9}/skills/wellness/mental_coach/kb/corpus.json +0 -0
  103. {skillware-0.3.7 → skillware-0.3.9}/skills/wellness/mental_coach/kb/crisis_resources.json +0 -0
  104. {skillware-0.3.7 → skillware-0.3.9}/skills/wellness/mental_coach/kb/hard_constraints.yaml +0 -0
  105. {skillware-0.3.7 → skillware-0.3.9}/skills/wellness/mental_coach/kb_provider.py +0 -0
  106. {skillware-0.3.7 → skillware-0.3.9}/skills/wellness/mental_coach/manifest.yaml +0 -0
  107. {skillware-0.3.7 → skillware-0.3.9}/skills/wellness/mental_coach/resources.py +0 -0
  108. {skillware-0.3.7 → skillware-0.3.9}/skills/wellness/mental_coach/skill.py +0 -0
  109. {skillware-0.3.7 → skillware-0.3.9}/skills/wellness/mental_coach/test_skill.py +0 -0
  110. {skillware-0.3.7 → skillware-0.3.9}/skillware/__init__.py +0 -0
  111. {skillware-0.3.7 → skillware-0.3.9}/skillware/__main__.py +0 -0
  112. {skillware-0.3.7 → skillware-0.3.9}/skillware/core/__init__.py +0 -0
  113. {skillware-0.3.7 → skillware-0.3.9}/skillware/core/base_skill.py +0 -0
  114. {skillware-0.3.7 → skillware-0.3.9}/skillware/core/env.py +0 -0
  115. {skillware-0.3.7 → skillware-0.3.9}/skillware/core/loader.py +0 -0
  116. {skillware-0.3.7 → skillware-0.3.9}/skillware/version_policy.py +0 -0
  117. {skillware-0.3.7 → skillware-0.3.9}/skillware.egg-info/SOURCES.txt +0 -0
  118. {skillware-0.3.7 → skillware-0.3.9}/skillware.egg-info/dependency_links.txt +0 -0
  119. {skillware-0.3.7 → skillware-0.3.9}/skillware.egg-info/entry_points.txt +0 -0
  120. {skillware-0.3.7 → skillware-0.3.9}/skillware.egg-info/requires.txt +0 -0
  121. {skillware-0.3.7 → skillware-0.3.9}/skillware.egg-info/top_level.txt +0 -0
  122. {skillware-0.3.7 → skillware-0.3.9}/tests/test_loader.py +0 -0
  123. {skillware-0.3.7 → skillware-0.3.9}/tests/test_version_policy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skillware
3
- Version: 0.3.7
3
+ Version: 0.3.9
4
4
  Summary: A framework for modular, self-contained AI skills.
5
5
  Author-email: ARPA Hellenic Logical Systems <skillware-os@arpacorp.net>
6
6
  License: MIT License
@@ -79,7 +79,7 @@ Dynamic: license-file
79
79
 
80
80
  <div align="center">
81
81
  <img src="https://img.shields.io/badge/License-MIT-efcefa?style=flat-square" alt="License">
82
- <img src="https://img.shields.io/badge/Python-3.11+-bae6fd?style=flat-square" alt="Python Version">
82
+ <img src="https://img.shields.io/badge/Python-3.10+-bae6fd?style=flat-square" alt="Python Version">
83
83
  <a href="https://pypi.org/project/skillware/"><img src="https://img.shields.io/pypi/v/skillware?style=flat-square&color=bbf7d0" alt="PyPI Version"></a>
84
84
  </div>
85
85
 
@@ -150,6 +150,8 @@ Skillware/
150
150
 
151
151
  ## Quick Start
152
152
 
153
+ Requires **Python 3.10 or newer** (see `requires-python` in `pyproject.toml`).
154
+
153
155
  ### 1. Installation
154
156
 
155
157
  You can install Skillware directly from PyPI:
@@ -163,9 +165,11 @@ Or for development, clone the repository and install in editable mode:
163
165
  ```bash
164
166
  git clone https://github.com/arpahls/skillware.git
165
167
  cd skillware
166
- pip install -e .
168
+ pip install -e ".[dev,all]"
167
169
  ```
168
170
 
171
+ For documentation-only work, `pip install -e ".[dev]"` is enough. Skill and framework contributors should use `[dev,all]` to match CI (see [TESTING.md](docs/TESTING.md)).
172
+
169
173
  > **Note**: Individual skills may have their own dependencies. The `SkillLoader` validates `manifest.yaml` and warns of missing packages (e.g., `requests`, `pandas`) upon loading a skill.
170
174
 
171
175
  ### 2. Verify your installation
@@ -184,12 +188,22 @@ your PATH — use `python -m skillware list` as a fallback. See
184
188
 
185
189
  ### 3. Configuration
186
190
 
187
- Create a `.env` file with your API keys (e.g., Google Gemini API Key):
191
+ Copy the environment template and add your keys.
192
+
193
+ **Unix / macOS:**
194
+
195
+ ```bash
196
+ cp .env.example .env
197
+ ```
188
198
 
189
- ```ini
190
- GOOGLE_API_KEY="your_key"
199
+ **Windows (PowerShell):**
200
+
201
+ ```powershell
202
+ Copy-Item .env.example .env
191
203
  ```
192
204
 
205
+ Edit `.env` with agent keys (for example Gemini) and any keys your skills need. Agent keys power your LLM client; skill keys are declared per skill in the [Skill library](docs/skills/README.md). See [API keys for skills](docs/usage/api_keys.md) for setup, security, and framework variables.
206
+
193
207
  ### 4. Usage Example (Gemini)
194
208
 
195
209
  This example requires the Google SDK optional extra: `pip install "skillware[gemini]"` (local dev: `pip install -e ".[gemini]"`). See the [Gemini usage guide](docs/usage/gemini.md) for setup details.
@@ -8,7 +8,7 @@
8
8
 
9
9
  <div align="center">
10
10
  <img src="https://img.shields.io/badge/License-MIT-efcefa?style=flat-square" alt="License">
11
- <img src="https://img.shields.io/badge/Python-3.11+-bae6fd?style=flat-square" alt="Python Version">
11
+ <img src="https://img.shields.io/badge/Python-3.10+-bae6fd?style=flat-square" alt="Python Version">
12
12
  <a href="https://pypi.org/project/skillware/"><img src="https://img.shields.io/pypi/v/skillware?style=flat-square&color=bbf7d0" alt="PyPI Version"></a>
13
13
  </div>
14
14
 
@@ -79,6 +79,8 @@ Skillware/
79
79
 
80
80
  ## Quick Start
81
81
 
82
+ Requires **Python 3.10 or newer** (see `requires-python` in `pyproject.toml`).
83
+
82
84
  ### 1. Installation
83
85
 
84
86
  You can install Skillware directly from PyPI:
@@ -92,9 +94,11 @@ Or for development, clone the repository and install in editable mode:
92
94
  ```bash
93
95
  git clone https://github.com/arpahls/skillware.git
94
96
  cd skillware
95
- pip install -e .
97
+ pip install -e ".[dev,all]"
96
98
  ```
97
99
 
100
+ For documentation-only work, `pip install -e ".[dev]"` is enough. Skill and framework contributors should use `[dev,all]` to match CI (see [TESTING.md](docs/TESTING.md)).
101
+
98
102
  > **Note**: Individual skills may have their own dependencies. The `SkillLoader` validates `manifest.yaml` and warns of missing packages (e.g., `requests`, `pandas`) upon loading a skill.
99
103
 
100
104
  ### 2. Verify your installation
@@ -113,12 +117,22 @@ your PATH — use `python -m skillware list` as a fallback. See
113
117
 
114
118
  ### 3. Configuration
115
119
 
116
- Create a `.env` file with your API keys (e.g., Google Gemini API Key):
120
+ Copy the environment template and add your keys.
121
+
122
+ **Unix / macOS:**
123
+
124
+ ```bash
125
+ cp .env.example .env
126
+ ```
117
127
 
118
- ```ini
119
- GOOGLE_API_KEY="your_key"
128
+ **Windows (PowerShell):**
129
+
130
+ ```powershell
131
+ Copy-Item .env.example .env
120
132
  ```
121
133
 
134
+ Edit `.env` with agent keys (for example Gemini) and any keys your skills need. Agent keys power your LLM client; skill keys are declared per skill in the [Skill library](docs/skills/README.md). See [API keys for skills](docs/usage/api_keys.md) for setup, security, and framework variables.
135
+
122
136
  ### 4. Usage Example (Gemini)
123
137
 
124
138
  This example requires the Google SDK optional extra: `pip install "skillware[gemini]"` (local dev: `pip install -e ".[gemini]"`). See the [Gemini usage guide](docs/usage/gemini.md) for setup details.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "skillware"
7
- version = "0.3.7"
7
+ version = "0.3.9"
8
8
  description = "A framework for modular, self-contained AI skills."
9
9
  readme = "README.md"
10
10
  authors = [