anomalyarmor-cli 0.1.1__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 (30) hide show
  1. anomalyarmor_cli-0.1.1/.gitignore +239 -0
  2. anomalyarmor_cli-0.1.1/PKG-INFO +76 -0
  3. anomalyarmor_cli-0.1.1/README.md +40 -0
  4. anomalyarmor_cli-0.1.1/anomalyarmor/__init__.py +58 -0
  5. anomalyarmor_cli-0.1.1/anomalyarmor/_version.py +3 -0
  6. anomalyarmor_cli-0.1.1/anomalyarmor/cli.py +1402 -0
  7. anomalyarmor_cli-0.1.1/anomalyarmor/client.py +204 -0
  8. anomalyarmor_cli-0.1.1/anomalyarmor/config.py +94 -0
  9. anomalyarmor_cli-0.1.1/anomalyarmor/exceptions.py +143 -0
  10. anomalyarmor_cli-0.1.1/anomalyarmor/models.py +285 -0
  11. anomalyarmor_cli-0.1.1/anomalyarmor/resources/__init__.py +23 -0
  12. anomalyarmor_cli-0.1.1/anomalyarmor/resources/alerts.py +296 -0
  13. anomalyarmor_cli-0.1.1/anomalyarmor/resources/api_keys.py +138 -0
  14. anomalyarmor_cli-0.1.1/anomalyarmor/resources/assets.py +76 -0
  15. anomalyarmor_cli-0.1.1/anomalyarmor/resources/badges.py +211 -0
  16. anomalyarmor_cli-0.1.1/anomalyarmor/resources/base.py +49 -0
  17. anomalyarmor_cli-0.1.1/anomalyarmor/resources/freshness.py +152 -0
  18. anomalyarmor_cli-0.1.1/anomalyarmor/resources/intelligence.py +135 -0
  19. anomalyarmor_cli-0.1.1/anomalyarmor/resources/jobs.py +46 -0
  20. anomalyarmor_cli-0.1.1/anomalyarmor/resources/lineage.py +66 -0
  21. anomalyarmor_cli-0.1.1/anomalyarmor/resources/schema.py +85 -0
  22. anomalyarmor_cli-0.1.1/anomalyarmor/resources/tags.py +204 -0
  23. anomalyarmor_cli-0.1.1/pyproject.toml +69 -0
  24. anomalyarmor_cli-0.1.1/tests/__init__.py +1 -0
  25. anomalyarmor_cli-0.1.1/tests/test_cli.py +352 -0
  26. anomalyarmor_cli-0.1.1/tests/test_client.py +193 -0
  27. anomalyarmor_cli-0.1.1/tests/test_config.py +251 -0
  28. anomalyarmor_cli-0.1.1/tests/test_exceptions.py +127 -0
  29. anomalyarmor_cli-0.1.1/tests/test_integration.py +291 -0
  30. anomalyarmor_cli-0.1.1/tests/test_resources.py +372 -0
@@ -0,0 +1,239 @@
1
+ # Dependencies
2
+ node_modules/
3
+ .pnp/
4
+ .pnp.js
5
+ .npm
6
+ yarn.lock
7
+ # Note: package-lock.json is now tracked for npm ci in CI/CD
8
+
9
+ # Claude-specific
10
+ .claude/settings.json
11
+ .claude/*.local.md
12
+ .claude/backups/
13
+
14
+ # Autofix pipeline temp files
15
+ scripts/autofix/bugs.json
16
+ scripts/autofix/.processed_bugs
17
+
18
+ # Python
19
+ __pycache__/
20
+ *.py[cod]
21
+ *$py.class
22
+ *.so
23
+ *.egg-info/
24
+ *.egg
25
+ .Python
26
+ build/
27
+ dist/
28
+ *.lock
29
+ !requirements.lock
30
+
31
+ # Virtual environments
32
+ env/
33
+ venv/
34
+ ENV/
35
+ .env/
36
+ .venv/
37
+ env.bak/
38
+ venv.bak/
39
+ develop-eggs/
40
+ eggs/
41
+ .eggs/
42
+ lib/
43
+ lib64/
44
+ parts/
45
+ sdist/
46
+ var/
47
+ .installed.cfg
48
+
49
+ # Environment variables
50
+ .env*
51
+ !.env.example
52
+ !.clerk-prod.env.example
53
+
54
+ # Demo credentials (SECURITY CRITICAL)
55
+ .demo-credentials
56
+
57
+ # Build outputs
58
+ /build/
59
+ /dist/
60
+ frontend/build/
61
+
62
+ # Generated reports
63
+ api_compliance_violations.json
64
+ *_compliance_report.json
65
+ tmp/
66
+ frontend/dist/
67
+ backend/build/
68
+ backend/dist/
69
+
70
+ # Testing & Coverage
71
+ coverage/
72
+ .pytest_cache/
73
+ htmlcov/
74
+ .tox/
75
+ .coverage*
76
+ coverage.xml
77
+ coverage.json
78
+ *.cover
79
+ .playwright-mcp/
80
+
81
+ # Linting & Type Checking
82
+ .mypy_cache/
83
+ .ruff_cache/
84
+
85
+ # IDEs & Editors
86
+ .idea/
87
+ .vscode/
88
+ *.swp
89
+ *.swo
90
+ *.sublime-*
91
+ .DS_Store
92
+ Thumbs.db
93
+
94
+ # Docker
95
+ .docker/
96
+ docker-compose.override.yml
97
+ postgres_data/
98
+ frontend_node_modules/
99
+ api_node_modules/
100
+ localstack_data/
101
+
102
+ # Logs
103
+ logs/
104
+ *.log
105
+ *-debug.log*
106
+ *-error.log*
107
+
108
+ # Cache
109
+ .eslintcache
110
+ .cache/
111
+ .parcel-cache/
112
+ .serena
113
+
114
+ # TypeScript build artifacts
115
+ *.tsbuildinfo
116
+ .tsbuildinfo
117
+ test-output.css
118
+ test-minimal.css
119
+
120
+ # Database
121
+ *.db
122
+ *.sqlite*
123
+ .data/
124
+
125
+ # Terraform (SECURITY CRITICAL)
126
+ terraform/.terraform/
127
+ terraform.tfstate*
128
+ **/terraform.tfstate*
129
+ *.tfstate*
130
+ terraform/.terraform.lock.hcl
131
+ **/.terraform/
132
+ # Prevent terraform.tfvars from being committed (may contain secrets)
133
+ **/terraform.tfvars
134
+ terraform/terraform.tfvars
135
+
136
+ # AWS Audits - keep README, ignore CSVs
137
+ data/aws/audits/*.csv
138
+ !data/aws/audits/README.md
139
+
140
+ # Development
141
+ .dev_pids
142
+ *.pid
143
+ .backend_pid
144
+ scripts/services/workers/.worker_pids
145
+
146
+ # Git worktrees
147
+ .worktrees/
148
+
149
+ # Generated docs
150
+ scripts/docs/generated/
151
+ scripts/tools/docs/generated/
152
+ docs/generated/
153
+
154
+ # Prevent docs directories in backend/frontend (should be in root docs/)
155
+ backend/docs/
156
+ frontend/docs/
157
+
158
+ # Debug/test files
159
+ backend/debug_*.py
160
+ backend/test_*.py
161
+ !backend/tests/
162
+ **/test_results.json
163
+ **/*_test_results.json
164
+
165
+ # Project-specific
166
+ frontend/src/assets/phoenix_theme_backup/
167
+ phoenix_assets/
168
+
169
+ # Knowledge Base - Company Data (SECURITY CRITICAL)
170
+ backend/knowledge_base/companies/
171
+ backend/knowledge_base/.cache/
172
+
173
+ # Temporary files
174
+ .demo_pids
175
+ *.tmp
176
+ *.temp
177
+ *.bak
178
+ *.backup
179
+ *~
180
+ tmp/
181
+ .worktrees
182
+ api_validation_report_*.json
183
+ .last_backup
184
+ CLAUDE.md.bak*
185
+
186
+ # Demo/test credentials
187
+ .demo-credentials
188
+
189
+ # Duplicate/backup files
190
+ frontend/Dockerfile.frontend
191
+ frontend/Dockerfile.simple
192
+ frontend/nginx.conf
193
+ frontend/test-signup-flow.md
194
+
195
+ # Terraform planning
196
+ terraform/index.html
197
+ terraform/tfplan
198
+ .env.prod
199
+
200
+ # AWS ECS task definitions (contain production secrets)
201
+ *task-definition*.json
202
+ task-definition.json
203
+ frontend/.env
204
+ backend/.env
205
+ .env
206
+ **/secrets.tfvars
207
+ **/terraform.secrets.tfvars
208
+ secrets/
209
+ **/secrets.tfvars
210
+ **/terraform.secrets.tfvars
211
+ secrets/
212
+ cookies.txt
213
+ logs/
214
+ output.txt
215
+ build.log
216
+ localstack_data/
217
+ *.tfplan
218
+ .clerk-prod.env
219
+
220
+ # Health Monitor Reports (auto-generated)
221
+ backend/tools/health_monitor/reports/
222
+
223
+ # Analysis Reports (auto-generated)
224
+ endpoint_analysis_report.json
225
+ CODE_SMELL_ANALYSIS.md
226
+
227
+ # Script output files (auto-generated)
228
+ backend/scripts/api-pattern-audit.json
229
+ backend/scripts/api-violations-analysis.json
230
+ backend/scripts/api-patterns-detailed.json
231
+ backend/scripts/api_compliance_audit.json
232
+ backend/scripts/api_endpoints_audit.json
233
+ backend/scripts/dal-coverage.xml
234
+ backend/scripts/dal-coverage-report.md
235
+ backend/scripts/performance-results.json
236
+ backend/scripts/development/api_endpoints_audit.json
237
+ backend/scripts/development/api_endpoints_audit.md
238
+ reports/
239
+ .beads/
@@ -0,0 +1,76 @@
1
+ Metadata-Version: 2.4
2
+ Name: anomalyarmor-cli
3
+ Version: 0.1.1
4
+ Summary: AnomalyArmor SDK and CLI for data observability
5
+ Project-URL: Homepage, https://anomalyarmor.com
6
+ Project-URL: Documentation, https://docs.anomalyarmor.com
7
+ Project-URL: Repository, https://github.com/anomalyarmor/core
8
+ Author-email: AnomalyArmor <support@anomalyarmor.com>
9
+ License-Expression: MIT
10
+ Keywords: cli,data-observability,data-quality,monitoring,sdk
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
+ Requires-Python: >=3.9
23
+ Requires-Dist: httpx>=0.25.0
24
+ Requires-Dist: pydantic>=2.0.0
25
+ Requires-Dist: pyyaml>=6.0
26
+ Requires-Dist: rich>=13.0.0
27
+ Requires-Dist: typer>=0.9.0
28
+ Provides-Extra: dev
29
+ Requires-Dist: mypy>=1.0.0; extra == 'dev'
30
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
31
+ Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
32
+ Requires-Dist: pytest>=7.0.0; extra == 'dev'
33
+ Requires-Dist: ruff>=0.1.0; extra == 'dev'
34
+ Requires-Dist: types-pyyaml>=6.0.0; extra == 'dev'
35
+ Description-Content-Type: text/markdown
36
+
37
+ # AnomalyArmor Python SDK
38
+
39
+ Python SDK and CLI for AnomalyArmor data observability platform.
40
+
41
+ ## Installation
42
+
43
+ ```bash
44
+ pip install anomalyarmor-cli
45
+ ```
46
+
47
+ ## Quick Start
48
+
49
+ ```python
50
+ from anomalyarmor import AnomalyArmorClient
51
+
52
+ client = AnomalyArmorClient(
53
+ api_key="your-api-key",
54
+ base_url="https://api.anomalyarmor.com"
55
+ )
56
+
57
+ # List assets
58
+ assets = client.assets.list()
59
+ ```
60
+
61
+ ## CLI Usage
62
+
63
+ ```bash
64
+ # Configure credentials
65
+ armor config set --api-key YOUR_API_KEY --base-url https://api.anomalyarmor.com
66
+
67
+ # List assets
68
+ armor assets list
69
+
70
+ # Apply configuration from YAML
71
+ armor apply config.yaml
72
+ ```
73
+
74
+ ## Documentation
75
+
76
+ See [docs.anomalyarmor.com](https://docs.anomalyarmor.com) for full documentation.
@@ -0,0 +1,40 @@
1
+ # AnomalyArmor Python SDK
2
+
3
+ Python SDK and CLI for AnomalyArmor data observability platform.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install anomalyarmor-cli
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ```python
14
+ from anomalyarmor import AnomalyArmorClient
15
+
16
+ client = AnomalyArmorClient(
17
+ api_key="your-api-key",
18
+ base_url="https://api.anomalyarmor.com"
19
+ )
20
+
21
+ # List assets
22
+ assets = client.assets.list()
23
+ ```
24
+
25
+ ## CLI Usage
26
+
27
+ ```bash
28
+ # Configure credentials
29
+ armor config set --api-key YOUR_API_KEY --base-url https://api.anomalyarmor.com
30
+
31
+ # List assets
32
+ armor assets list
33
+
34
+ # Apply configuration from YAML
35
+ armor apply config.yaml
36
+ ```
37
+
38
+ ## Documentation
39
+
40
+ See [docs.anomalyarmor.com](https://docs.anomalyarmor.com) for full documentation.
@@ -0,0 +1,58 @@
1
+ """AnomalyArmor SDK for Python.
2
+
3
+ The armor SDK provides programmatic access to AnomalyArmor's data observability platform.
4
+
5
+ Quick Start:
6
+ >>> from anomalyarmor import Client
7
+ >>> client = Client(api_key="aa_live_...")
8
+ >>>
9
+ >>> # List assets
10
+ >>> assets = client.assets.list()
11
+ >>> for asset in assets:
12
+ ... print(asset.qualified_name)
13
+ >>>
14
+ >>> # Check freshness
15
+ >>> freshness = client.freshness.get("postgresql.mydb.public.users")
16
+ >>> if freshness.is_stale:
17
+ ... print(f"Stale for {freshness.hours_since_update} hours")
18
+
19
+ Environment Variables:
20
+ ARMOR_API_KEY: Your API key (alternative to passing in code)
21
+ ARMOR_API_URL: API base URL (default: https://app.anomalyarmor.ai/api/v1)
22
+ """
23
+
24
+ from anomalyarmor._version import __version__
25
+ from anomalyarmor.client import Client
26
+ from anomalyarmor.exceptions import (
27
+ ArmorError,
28
+ AuthenticationError,
29
+ DataStaleError,
30
+ NotFoundError,
31
+ RateLimitError,
32
+ ValidationError,
33
+ )
34
+ from anomalyarmor.models import (
35
+ Alert,
36
+ Asset,
37
+ FreshnessStatus,
38
+ LineageGraph,
39
+ SchemaChange,
40
+ )
41
+
42
+ __all__ = [
43
+ "__version__",
44
+ "Client",
45
+ # Exceptions
46
+ "ArmorError",
47
+ "AuthenticationError",
48
+ "DataStaleError",
49
+ "NotFoundError",
50
+ "RateLimitError",
51
+ "ValidationError",
52
+ # Models
53
+ "Asset",
54
+ "FreshnessStatus",
55
+ "SchemaChange",
56
+ "LineageGraph",
57
+ "Alert",
58
+ ]
@@ -0,0 +1,3 @@
1
+ """Version information for anomalyarmor-cli."""
2
+
3
+ __version__ = "0.1.1"