pltr-cli 0.16.0__tar.gz → 0.17.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.
- pltr_cli-0.17.0/.github/workflows/ci.yml +179 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/.gitignore +4 -0
- pltr_cli-0.17.0/CHANGELOG.md +1288 -0
- pltr_cli-0.17.0/PKG-INFO +672 -0
- pltr_cli-0.17.0/README.md +629 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/RELEASE.md +64 -0
- pltr_cli-0.17.0/claude_skill/README.md +56 -0
- pltr_cli-0.17.0/claude_skill/SKILL.md +205 -0
- pltr_cli-0.17.0/claude_skill/reference/api/admin/cbac-banner.md +24 -0
- pltr_cli-0.17.0/claude_skill/reference/api/admin/cbac-marking-restrictions.md +15 -0
- pltr_cli-0.17.0/claude_skill/reference/api/admin/enrollment.md +119 -0
- pltr_cli-0.17.0/claude_skill/reference/api/admin/group.md +163 -0
- pltr_cli-0.17.0/claude_skill/reference/api/admin/marking-category.md +46 -0
- pltr_cli-0.17.0/claude_skill/reference/api/admin/marking.md +152 -0
- pltr_cli-0.17.0/claude_skill/reference/api/admin/organization.md +114 -0
- pltr_cli-0.17.0/claude_skill/reference/api/admin/role.md +24 -0
- pltr_cli-0.17.0/claude_skill/reference/api/admin/user.md +126 -0
- pltr_cli-0.17.0/claude_skill/reference/api/aip-agents.md +184 -0
- pltr_cli-0.17.0/claude_skill/reference/api/audit.md +30 -0
- pltr_cli-0.17.0/claude_skill/reference/api/checkpoints.md +38 -0
- pltr_cli-0.17.0/claude_skill/reference/api/connectivity.md +239 -0
- pltr_cli-0.17.0/claude_skill/reference/api/data-health.md +73 -0
- pltr_cli-0.17.0/claude_skill/reference/api/datasets.md +368 -0
- pltr_cli-0.17.0/claude_skill/reference/api/filesystem.md +401 -0
- pltr_cli-0.17.0/claude_skill/reference/api/functions.md +111 -0
- pltr_cli-0.17.0/claude_skill/reference/api/language-models.md +36 -0
- pltr_cli-0.17.0/claude_skill/reference/api/media-sets.md +217 -0
- pltr_cli-0.17.0/claude_skill/reference/api/models.md +368 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/action-type-full-metadata.md +48 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/action.md +55 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/attachment-property.md +60 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/attachment.md +49 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/cipher-text-property.md +46 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/geotemporal-series-property.md +20 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/linked-object.md +33 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/media-reference-property.md +45 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/ontology-interface.md +102 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/ontology-object-set.md +84 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/ontology-object.md +64 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/ontology-scenario.md +91 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/ontology-transaction.md +18 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/ontology-value-type.md +25 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/ontology.md +241 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/query.md +18 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/time-series-property-v2.md +45 -0
- pltr_cli-0.17.0/claude_skill/reference/api/ontologies/time-series-value-bank-property.md +32 -0
- pltr_cli-0.17.0/claude_skill/reference/api/orchestration.md +207 -0
- pltr_cli-0.17.0/claude_skill/reference/api/sql-queries.md +57 -0
- pltr_cli-0.17.0/claude_skill/reference/api/streams.md +195 -0
- pltr_cli-0.17.0/claude_skill/reference/api/third-party-applications.md +107 -0
- pltr_cli-0.17.0/claude_skill/reference/api/widgets.md +122 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/admin.md +265 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/aip-agents.md +54 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/alias.md +88 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/audit.md +27 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/commands.md +43 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/completion.md +34 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/configure.md +45 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/connectivity.md +179 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/cp.md +20 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/data-health.md +73 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/dataset.md +389 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/folder.md +54 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/functions.md +71 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/hello.md +12 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/language-models.md +63 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/media-sets.md +152 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/models.md +53 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/ontology.md +225 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/orchestration.md +201 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/project.md +121 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/resource-role.md +57 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/resource.md +150 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/shell.md +24 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/space.md +79 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/sql.md +76 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/streams.md +91 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/third-party-apps.md +15 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/verify.md +12 -0
- pltr_cli-0.17.0/claude_skill/reference/curated/widgets.md +64 -0
- pltr_cli-0.17.0/claude_skill/reference/index.md +105 -0
- pltr_cli-0.17.0/claude_skill/workflows/builds-and-schedules.md +63 -0
- pltr_cli-0.17.0/claude_skill/workflows/explore-data.md +89 -0
- pltr_cli-0.17.0/claude_skill/workflows/permissions.md +58 -0
- pltr_cli-0.17.0/docs/README.md +36 -0
- pltr_cli-0.17.0/docs/api/wrapper.md +213 -0
- pltr_cli-0.17.0/docs/api-commands.md +352 -0
- pltr_cli-0.17.0/docs/development/command-contract.md +560 -0
- pltr_cli-0.17.0/docs/development/live-verification.md +525 -0
- pltr_cli-0.17.0/docs/development/sdk-guardrail.md +214 -0
- pltr_cli-0.17.0/docs/examples/csv-upload.md +322 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/docs/examples/gallery.md +21 -13
- pltr_cli-0.17.0/docs/features/dataset-transactions.md +287 -0
- pltr_cli-0.17.0/docs/migration/v2-pagination.md +66 -0
- pltr_cli-0.17.0/docs/pagination.md +118 -0
- pltr_cli-0.17.0/docs/user-guide/aliases.md +252 -0
- pltr_cli-0.17.0/docs/user-guide/authentication.md +537 -0
- pltr_cli-0.17.0/docs/user-guide/claude-skill.md +135 -0
- pltr_cli-0.17.0/docs/user-guide/commands.md +818 -0
- pltr_cli-0.17.0/docs/user-guide/quick-start.md +136 -0
- pltr_cli-0.17.0/docs/user-guide/troubleshooting.md +212 -0
- pltr_cli-0.17.0/docs/user-guide/workflows.md +229 -0
- pltr_cli-0.17.0/pyproject.toml +121 -0
- pltr_cli-0.17.0/scripts/__init__.py +5 -0
- pltr_cli-0.17.0/scripts/check_command_metadata.py +418 -0
- pltr_cli-0.17.0/scripts/check_sdk_calls.py +131 -0
- pltr_cli-0.17.0/scripts/coverage.py +237 -0
- pltr_cli-0.17.0/scripts/generate_api_commands.py +1000 -0
- pltr_cli-0.17.0/scripts/generate_skill_reference.py +692 -0
- pltr_cli-0.17.0/scripts/sdk_calls.py +1341 -0
- pltr_cli-0.17.0/scripts/smoke.example.toml +117 -0
- pltr_cli-0.17.0/scripts/smoke.py +2818 -0
- pltr_cli-0.17.0/src/pltr/__init__.py +1 -0
- pltr_cli-0.17.0/src/pltr/__main__.py +6 -0
- pltr_cli-0.17.0/src/pltr/auth/base.py +109 -0
- pltr_cli-0.17.0/src/pltr/auth/environment.py +162 -0
- pltr_cli-0.17.0/src/pltr/auth/manager.py +459 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/src/pltr/auth/oauth.py +42 -26
- pltr_cli-0.17.0/src/pltr/auth/storage.py +232 -0
- pltr_cli-0.17.0/src/pltr/auth/token.py +74 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/src/pltr/cli.py +44 -23
- pltr_cli-0.17.0/src/pltr/commands/admin.py +1217 -0
- pltr_cli-0.17.0/src/pltr/commands/aip_agents.py +214 -0
- pltr_cli-0.17.0/src/pltr/commands/alias.py +344 -0
- pltr_cli-0.17.0/src/pltr/commands/api/__init__.py +62 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_runtime.py +723 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/__init__.py +26 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/admin.py +997 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/aip_agents.py +260 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/audit.py +58 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/checkpoints.py +58 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/connectivity.py +297 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/data_health.py +104 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/datasets.py +483 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/filesystem.py +529 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/functions.py +173 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/language_models.py +67 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/media_sets.py +282 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/models.py +502 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/ontologies.py +1563 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/orchestration.py +284 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/sql_queries.py +84 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/streams.py +259 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/third_party_applications.py +146 -0
- pltr_cli-0.17.0/src/pltr/commands/api/_specs/widgets.py +157 -0
- pltr_cli-0.17.0/src/pltr/commands/audit.py +148 -0
- pltr_cli-0.17.0/src/pltr/commands/completion.py +221 -0
- pltr_cli-0.17.0/src/pltr/commands/configure.py +338 -0
- pltr_cli-0.17.0/src/pltr/commands/connectivity.py +831 -0
- pltr_cli-0.17.0/src/pltr/commands/cp.py +196 -0
- pltr_cli-0.17.0/src/pltr/commands/data_health.py +301 -0
- pltr_cli-0.17.0/src/pltr/commands/dataset.py +1823 -0
- pltr_cli-0.17.0/src/pltr/commands/folder.py +223 -0
- pltr_cli-0.17.0/src/pltr/commands/functions.py +308 -0
- pltr_cli-0.17.0/src/pltr/commands/language_models.py +475 -0
- pltr_cli-0.17.0/src/pltr/commands/manifest.py +263 -0
- pltr_cli-0.17.0/src/pltr/commands/mediasets.py +643 -0
- pltr_cli-0.17.0/src/pltr/commands/models.py +228 -0
- pltr_cli-0.17.0/src/pltr/commands/ontology.py +1465 -0
- pltr_cli-0.17.0/src/pltr/commands/orchestration.py +943 -0
- pltr_cli-0.17.0/src/pltr/commands/project.py +517 -0
- pltr_cli-0.17.0/src/pltr/commands/resource.py +630 -0
- pltr_cli-0.17.0/src/pltr/commands/resource_role.py +306 -0
- pltr_cli-0.17.0/src/pltr/commands/shell.py +320 -0
- pltr_cli-0.17.0/src/pltr/commands/space.py +292 -0
- pltr_cli-0.17.0/src/pltr/commands/sql.py +362 -0
- pltr_cli-0.17.0/src/pltr/commands/streams.py +443 -0
- pltr_cli-0.17.0/src/pltr/commands/third_party_applications.py +66 -0
- pltr_cli-0.17.0/src/pltr/commands/verify.py +135 -0
- pltr_cli-0.17.0/src/pltr/commands/widgets.py +201 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/src/pltr/config/aliases.py +0 -30
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/src/pltr/config/profiles.py +12 -12
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/src/pltr/config/settings.py +18 -10
- pltr_cli-0.17.0/src/pltr/contract/__init__.py +152 -0
- pltr_cli-0.17.0/src/pltr/contract/command.py +344 -0
- pltr_cli-0.17.0/src/pltr/contract/errors.py +729 -0
- pltr_cli-0.17.0/src/pltr/contract/options.py +350 -0
- pltr_cli-0.17.0/src/pltr/contract/output.py +494 -0
- pltr_cli-0.17.0/src/pltr/contract/runtime.py +275 -0
- pltr_cli-0.17.0/src/pltr/contract/serialize.py +163 -0
- pltr_cli-0.17.0/src/pltr/manifest.py +756 -0
- pltr_cli-0.17.0/src/pltr/services/admin.py +409 -0
- pltr_cli-0.17.0/src/pltr/services/aip_agents.py +72 -0
- pltr_cli-0.17.0/src/pltr/services/audit.py +74 -0
- pltr_cli-0.17.0/src/pltr/services/base.py +120 -0
- pltr_cli-0.17.0/src/pltr/services/connectivity.py +238 -0
- pltr_cli-0.17.0/src/pltr/services/copy.py +462 -0
- pltr_cli-0.17.0/src/pltr/services/data_health.py +84 -0
- pltr_cli-0.17.0/src/pltr/services/dataset.py +864 -0
- pltr_cli-0.17.0/src/pltr/services/folder.py +74 -0
- pltr_cli-0.17.0/src/pltr/services/functions.py +126 -0
- pltr_cli-0.17.0/src/pltr/services/language_models.py +282 -0
- pltr_cli-0.17.0/src/pltr/services/mediasets.py +164 -0
- pltr_cli-0.17.0/src/pltr/services/models.py +75 -0
- pltr_cli-0.17.0/src/pltr/services/ontology.py +597 -0
- pltr_cli-0.17.0/src/pltr/services/orchestration.py +231 -0
- pltr_cli-0.17.0/src/pltr/services/project.py +226 -0
- pltr_cli-0.17.0/src/pltr/services/resource.py +278 -0
- pltr_cli-0.17.0/src/pltr/services/resource_role.py +86 -0
- pltr_cli-0.17.0/src/pltr/services/space.py +111 -0
- pltr_cli-0.17.0/src/pltr/services/sql.py +197 -0
- pltr_cli-0.17.0/src/pltr/services/streams.py +137 -0
- pltr_cli-0.17.0/src/pltr/services/third_party_applications.py +30 -0
- pltr_cli-0.17.0/src/pltr/services/verify.py +36 -0
- pltr_cli-0.17.0/src/pltr/services/widgets.py +73 -0
- pltr_cli-0.17.0/src/pltr/utils/completion.py +122 -0
- pltr_cli-0.17.0/tests/conftest.py +285 -0
- pltr_cli-0.17.0/tests/foundry_json.py +99 -0
- pltr_cli-0.17.0/tests/foundry_json_admin.py +124 -0
- pltr_cli-0.17.0/tests/foundry_json_aip_agents.py +79 -0
- pltr_cli-0.17.0/tests/foundry_json_audit.py +14 -0
- pltr_cli-0.17.0/tests/foundry_json_connectivity.py +106 -0
- pltr_cli-0.17.0/tests/foundry_json_data_health.py +66 -0
- pltr_cli-0.17.0/tests/foundry_json_dataset.py +191 -0
- pltr_cli-0.17.0/tests/foundry_json_filesystem.py +183 -0
- pltr_cli-0.17.0/tests/foundry_json_functions.py +60 -0
- pltr_cli-0.17.0/tests/foundry_json_language_models.py +63 -0
- pltr_cli-0.17.0/tests/foundry_json_mediasets.py +62 -0
- pltr_cli-0.17.0/tests/foundry_json_models.py +57 -0
- pltr_cli-0.17.0/tests/foundry_json_ontology.py +221 -0
- pltr_cli-0.17.0/tests/foundry_json_orchestration.py +130 -0
- pltr_cli-0.17.0/tests/foundry_json_sql.py +59 -0
- pltr_cli-0.17.0/tests/foundry_json_streams.py +48 -0
- pltr_cli-0.17.0/tests/foundry_json_widgets.py +38 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/integration/test_auth_flow.py +9 -1
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/integration/test_cli_integration.py +10 -24
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/integration/test_data_workflows_simple.py +23 -10
- pltr_cli-0.17.0/tests/sdk_call_allowlist.txt +9 -0
- pltr_cli-0.17.0/tests/test_api_commands/conftest.py +32 -0
- pltr_cli-0.17.0/tests/test_api_commands/test_behaviour.py +1008 -0
- pltr_cli-0.17.0/tests/test_api_commands/test_generator.py +356 -0
- pltr_cli-0.17.0/tests/test_api_commands/test_lazy_loading.py +122 -0
- pltr_cli-0.17.0/tests/test_api_commands/test_namespaces.py +357 -0
- pltr_cli-0.17.0/tests/test_auth/fakes.py +170 -0
- pltr_cli-0.17.0/tests/test_auth/test_headless_auth.py +777 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/test_auth/test_manager.py +25 -0
- pltr_cli-0.17.0/tests/test_auth/test_oauth.py +186 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/test_auth/test_storage.py +89 -7
- pltr_cli-0.17.0/tests/test_auth/test_token.py +134 -0
- pltr_cli-0.17.0/tests/test_cli_help.py +107 -0
- pltr_cli-0.17.0/tests/test_commands/test_admin.py +1366 -0
- pltr_cli-0.17.0/tests/test_commands/test_aip_agents.py +338 -0
- pltr_cli-0.17.0/tests/test_commands/test_alias.py +468 -0
- pltr_cli-0.17.0/tests/test_commands/test_audit.py +313 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/test_commands/test_completion.py +196 -63
- pltr_cli-0.17.0/tests/test_commands/test_configure.py +505 -0
- pltr_cli-0.17.0/tests/test_commands/test_connectivity.py +1228 -0
- pltr_cli-0.17.0/tests/test_commands/test_cp.py +383 -0
- pltr_cli-0.17.0/tests/test_commands/test_data_health.py +433 -0
- pltr_cli-0.17.0/tests/test_commands/test_dataset.py +997 -0
- pltr_cli-0.17.0/tests/test_commands/test_dataset_files.py +841 -0
- pltr_cli-0.17.0/tests/test_commands/test_dataset_transactions.py +280 -0
- pltr_cli-0.17.0/tests/test_commands/test_dataset_views.py +431 -0
- pltr_cli-0.17.0/tests/test_commands/test_folder.py +454 -0
- pltr_cli-0.17.0/tests/test_commands/test_functions.py +394 -0
- pltr_cli-0.17.0/tests/test_commands/test_language_models.py +657 -0
- pltr_cli-0.17.0/tests/test_commands/test_mediasets.py +782 -0
- pltr_cli-0.17.0/tests/test_commands/test_models.py +279 -0
- pltr_cli-0.17.0/tests/test_commands/test_ontology.py +1590 -0
- pltr_cli-0.17.0/tests/test_commands/test_orchestration.py +962 -0
- pltr_cli-0.17.0/tests/test_commands/test_project.py +575 -0
- pltr_cli-0.17.0/tests/test_commands/test_resource.py +647 -0
- pltr_cli-0.17.0/tests/test_commands/test_resource_role.py +402 -0
- pltr_cli-0.17.0/tests/test_commands/test_shell.py +500 -0
- pltr_cli-0.17.0/tests/test_commands/test_space.py +339 -0
- pltr_cli-0.17.0/tests/test_commands/test_sql.py +587 -0
- pltr_cli-0.17.0/tests/test_commands/test_streams.py +632 -0
- pltr_cli-0.17.0/tests/test_commands/test_third_party_applications.py +127 -0
- pltr_cli-0.17.0/tests/test_commands/test_verify.py +451 -0
- pltr_cli-0.17.0/tests/test_commands/test_widgets.py +393 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/test_config/test_aliases.py +0 -26
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/test_config/test_profiles.py +35 -2
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/test_config/test_settings.py +45 -23
- pltr_cli-0.17.0/tests/test_contract/__init__.py +0 -0
- pltr_cli-0.17.0/tests/test_contract/cases/__init__.py +69 -0
- pltr_cli-0.17.0/tests/test_contract/cases/admin.py +69 -0
- pltr_cli-0.17.0/tests/test_contract/cases/aip_agents.py +11 -0
- pltr_cli-0.17.0/tests/test_contract/cases/api.py +194 -0
- pltr_cli-0.17.0/tests/test_contract/cases/audit.py +15 -0
- pltr_cli-0.17.0/tests/test_contract/cases/connectivity.py +69 -0
- pltr_cli-0.17.0/tests/test_contract/cases/cp.py +26 -0
- pltr_cli-0.17.0/tests/test_contract/cases/data/connectivity-driver.jar +1 -0
- pltr_cli-0.17.0/tests/test_contract/cases/data/connectivity-secrets.json +1 -0
- pltr_cli-0.17.0/tests/test_contract/cases/data_health.py +24 -0
- pltr_cli-0.17.0/tests/test_contract/cases/dataset.py +69 -0
- pltr_cli-0.17.0/tests/test_contract/cases/folder.py +18 -0
- pltr_cli-0.17.0/tests/test_contract/cases/functions.py +16 -0
- pltr_cli-0.17.0/tests/test_contract/cases/language_models.py +29 -0
- pltr_cli-0.17.0/tests/test_contract/cases/local.py +28 -0
- pltr_cli-0.17.0/tests/test_contract/cases/manifest.py +10 -0
- pltr_cli-0.17.0/tests/test_contract/cases/mediasets.py +38 -0
- pltr_cli-0.17.0/tests/test_contract/cases/models.py +13 -0
- pltr_cli-0.17.0/tests/test_contract/cases/ontology.py +57 -0
- pltr_cli-0.17.0/tests/test_contract/cases/orchestration.py +43 -0
- pltr_cli-0.17.0/tests/test_contract/cases/project.py +32 -0
- pltr_cli-0.17.0/tests/test_contract/cases/resource.py +30 -0
- pltr_cli-0.17.0/tests/test_contract/cases/resource_role.py +31 -0
- pltr_cli-0.17.0/tests/test_contract/cases/space.py +21 -0
- pltr_cli-0.17.0/tests/test_contract/cases/sql.py +22 -0
- pltr_cli-0.17.0/tests/test_contract/cases/streams.py +49 -0
- pltr_cli-0.17.0/tests/test_contract/cases/third_party_applications.py +7 -0
- pltr_cli-0.17.0/tests/test_contract/cases/verify.py +7 -0
- pltr_cli-0.17.0/tests/test_contract/cases/widgets.py +14 -0
- pltr_cli-0.17.0/tests/test_contract/test_cli_contract.py +325 -0
- pltr_cli-0.17.0/tests/test_contract/test_command.py +356 -0
- pltr_cli-0.17.0/tests/test_contract/test_errors.py +635 -0
- pltr_cli-0.17.0/tests/test_contract/test_options.py +457 -0
- pltr_cli-0.17.0/tests/test_contract/test_output.py +438 -0
- pltr_cli-0.17.0/tests/test_contract/test_runtime.py +275 -0
- pltr_cli-0.17.0/tests/test_contract/test_serialize.py +247 -0
- pltr_cli-0.17.0/tests/test_contract/test_table_rows_timezones.py +38 -0
- pltr_cli-0.17.0/tests/test_debug_tracebacks.py +97 -0
- pltr_cli-0.17.0/tests/test_dependencies.py +92 -0
- pltr_cli-0.17.0/tests/test_docs_examples.py +606 -0
- pltr_cli-0.17.0/tests/test_entry_point.py +46 -0
- pltr_cli-0.17.0/tests/test_manifest/__init__.py +0 -0
- pltr_cli-0.17.0/tests/test_manifest/conftest.py +39 -0
- pltr_cli-0.17.0/tests/test_manifest/test_manifest_build.py +436 -0
- pltr_cli-0.17.0/tests/test_manifest/test_manifest_cli.py +211 -0
- pltr_cli-0.17.0/tests/test_manifest/test_manifest_search.py +128 -0
- pltr_cli-0.17.0/tests/test_manifest/test_metadata_crosscheck.py +114 -0
- pltr_cli-0.17.0/tests/test_manifest/test_skill_reference.py +254 -0
- pltr_cli-0.17.0/tests/test_sdk_call_checker.py +622 -0
- pltr_cli-0.17.0/tests/test_sdk_call_guardrail.py +68 -0
- pltr_cli-0.17.0/tests/test_services/test_admin.py +615 -0
- pltr_cli-0.17.0/tests/test_services/test_aip_agents.py +102 -0
- pltr_cli-0.17.0/tests/test_services/test_audit.py +73 -0
- pltr_cli-0.17.0/tests/test_services/test_connectivity.py +334 -0
- pltr_cli-0.17.0/tests/test_services/test_copy.py +844 -0
- pltr_cli-0.17.0/tests/test_services/test_data_health.py +137 -0
- pltr_cli-0.17.0/tests/test_services/test_dataset.py +696 -0
- pltr_cli-0.17.0/tests/test_services/test_dataset_transactions.py +206 -0
- pltr_cli-0.17.0/tests/test_services/test_folder.py +128 -0
- pltr_cli-0.17.0/tests/test_services/test_functions.py +174 -0
- pltr_cli-0.17.0/tests/test_services/test_language_models.py +276 -0
- pltr_cli-0.17.0/tests/test_services/test_mediasets.py +227 -0
- pltr_cli-0.17.0/tests/test_services/test_models.py +97 -0
- pltr_cli-0.17.0/tests/test_services/test_ontology.py +616 -0
- pltr_cli-0.17.0/tests/test_services/test_orchestration.py +338 -0
- pltr_cli-0.17.0/tests/test_services/test_project.py +325 -0
- pltr_cli-0.17.0/tests/test_services/test_resource.py +310 -0
- pltr_cli-0.17.0/tests/test_services/test_resource_role.py +130 -0
- pltr_cli-0.17.0/tests/test_services/test_space.py +144 -0
- pltr_cli-0.17.0/tests/test_services/test_sql.py +292 -0
- pltr_cli-0.17.0/tests/test_services/test_streams.py +185 -0
- pltr_cli-0.17.0/tests/test_services/test_widgets.py +108 -0
- pltr_cli-0.17.0/tests/test_smoke_script.py +913 -0
- pltr_cli-0.17.0/tests/test_smoke_script_stubbed.py +689 -0
- pltr_cli-0.17.0/tests/test_startup.py +37 -0
- pltr_cli-0.17.0/tests/test_utils/test_rid_cache.py +94 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/uv.lock +35 -281
- pltr_cli-0.16.0/.github/workflows/ci.yml +0 -81
- pltr_cli-0.16.0/.github/workflows/claude-code-review.yml +0 -56
- pltr_cli-0.16.0/.github/workflows/claude.yml +0 -49
- pltr_cli-0.16.0/CHANGELOG.md +0 -26
- pltr_cli-0.16.0/PKG-INFO +0 -565
- pltr_cli-0.16.0/README.md +0 -526
- pltr_cli-0.16.0/claude_skill/README.md +0 -51
- pltr_cli-0.16.0/claude_skill/SKILL.md +0 -188
- pltr_cli-0.16.0/claude_skill/reference/admin-commands.md +0 -311
- pltr_cli-0.16.0/claude_skill/reference/aip-agents-commands.md +0 -209
- pltr_cli-0.16.0/claude_skill/reference/connectivity-commands.md +0 -227
- pltr_cli-0.16.0/claude_skill/reference/dataset-commands.md +0 -154
- pltr_cli-0.16.0/claude_skill/reference/filesystem-commands.md +0 -398
- pltr_cli-0.16.0/claude_skill/reference/functions-commands.md +0 -279
- pltr_cli-0.16.0/claude_skill/reference/language-models-commands.md +0 -235
- pltr_cli-0.16.0/claude_skill/reference/mediasets-commands.md +0 -222
- pltr_cli-0.16.0/claude_skill/reference/models-commands.md +0 -232
- pltr_cli-0.16.0/claude_skill/reference/ontology-commands.md +0 -171
- pltr_cli-0.16.0/claude_skill/reference/orchestration-commands.md +0 -221
- pltr_cli-0.16.0/claude_skill/reference/quick-start.md +0 -136
- pltr_cli-0.16.0/claude_skill/reference/sql-commands.md +0 -156
- pltr_cli-0.16.0/claude_skill/reference/streams-commands.md +0 -268
- pltr_cli-0.16.0/claude_skill/workflows/data-analysis.md +0 -215
- pltr_cli-0.16.0/claude_skill/workflows/data-pipeline.md +0 -242
- pltr_cli-0.16.0/claude_skill/workflows/permission-management.md +0 -254
- pltr_cli-0.16.0/docs/README.md +0 -52
- pltr_cli-0.16.0/docs/api/wrapper.md +0 -625
- pltr_cli-0.16.0/docs/examples/csv-upload.md +0 -724
- pltr_cli-0.16.0/docs/features/dataset-transactions.md +0 -295
- pltr_cli-0.16.0/docs/migration/v2-pagination.md +0 -478
- pltr_cli-0.16.0/docs/pagination.md +0 -494
- pltr_cli-0.16.0/docs/user-guide/aliases.md +0 -257
- pltr_cli-0.16.0/docs/user-guide/authentication.md +0 -403
- pltr_cli-0.16.0/docs/user-guide/claude-skill.md +0 -141
- pltr_cli-0.16.0/docs/user-guide/commands.md +0 -1987
- pltr_cli-0.16.0/docs/user-guide/quick-start.md +0 -184
- pltr_cli-0.16.0/docs/user-guide/troubleshooting.md +0 -529
- pltr_cli-0.16.0/docs/user-guide/workflows.md +0 -759
- pltr_cli-0.16.0/pyproject.toml +0 -81
- pltr_cli-0.16.0/src/pltr/__init__.py +0 -1
- pltr_cli-0.16.0/src/pltr/__main__.py +0 -31
- pltr_cli-0.16.0/src/pltr/auth/base.py +0 -49
- pltr_cli-0.16.0/src/pltr/auth/manager.py +0 -129
- pltr_cli-0.16.0/src/pltr/auth/storage.py +0 -87
- pltr_cli-0.16.0/src/pltr/auth/token.py +0 -64
- pltr_cli-0.16.0/src/pltr/commands/admin.py +0 -1084
- pltr_cli-0.16.0/src/pltr/commands/aip_agents.py +0 -333
- pltr_cli-0.16.0/src/pltr/commands/alias.py +0 -241
- pltr_cli-0.16.0/src/pltr/commands/audit.py +0 -186
- pltr_cli-0.16.0/src/pltr/commands/completion.py +0 -383
- pltr_cli-0.16.0/src/pltr/commands/configure.py +0 -151
- pltr_cli-0.16.0/src/pltr/commands/connectivity.py +0 -740
- pltr_cli-0.16.0/src/pltr/commands/cp.py +0 -103
- pltr_cli-0.16.0/src/pltr/commands/data_health.py +0 -474
- pltr_cli-0.16.0/src/pltr/commands/dataset.py +0 -1609
- pltr_cli-0.16.0/src/pltr/commands/folder.py +0 -338
- pltr_cli-0.16.0/src/pltr/commands/functions.py +0 -503
- pltr_cli-0.16.0/src/pltr/commands/language_models.py +0 -657
- pltr_cli-0.16.0/src/pltr/commands/mediasets.py +0 -598
- pltr_cli-0.16.0/src/pltr/commands/models.py +0 -362
- pltr_cli-0.16.0/src/pltr/commands/ontology.py +0 -732
- pltr_cli-0.16.0/src/pltr/commands/orchestration.py +0 -837
- pltr_cli-0.16.0/src/pltr/commands/project.py +0 -649
- pltr_cli-0.16.0/src/pltr/commands/resource.py +0 -959
- pltr_cli-0.16.0/src/pltr/commands/resource_role.py +0 -454
- pltr_cli-0.16.0/src/pltr/commands/shell.py +0 -126
- pltr_cli-0.16.0/src/pltr/commands/space.py +0 -384
- pltr_cli-0.16.0/src/pltr/commands/sql.py +0 -405
- pltr_cli-0.16.0/src/pltr/commands/streams.py +0 -616
- pltr_cli-0.16.0/src/pltr/commands/third_party_applications.py +0 -82
- pltr_cli-0.16.0/src/pltr/commands/verify.py +0 -186
- pltr_cli-0.16.0/src/pltr/commands/widgets.py +0 -466
- pltr_cli-0.16.0/src/pltr/services/admin.py +0 -642
- pltr_cli-0.16.0/src/pltr/services/aip_agents.py +0 -147
- pltr_cli-0.16.0/src/pltr/services/audit.py +0 -105
- pltr_cli-0.16.0/src/pltr/services/base.py +0 -232
- pltr_cli-0.16.0/src/pltr/services/connectivity.py +0 -562
- pltr_cli-0.16.0/src/pltr/services/copy.py +0 -391
- pltr_cli-0.16.0/src/pltr/services/data_health.py +0 -212
- pltr_cli-0.16.0/src/pltr/services/dataset.py +0 -1334
- pltr_cli-0.16.0/src/pltr/services/folder.py +0 -193
- pltr_cli-0.16.0/src/pltr/services/functions.py +0 -223
- pltr_cli-0.16.0/src/pltr/services/language_models.py +0 -547
- pltr_cli-0.16.0/src/pltr/services/mediasets.py +0 -428
- pltr_cli-0.16.0/src/pltr/services/models.py +0 -179
- pltr_cli-0.16.0/src/pltr/services/ontology.py +0 -729
- pltr_cli-0.16.0/src/pltr/services/orchestration.py +0 -610
- pltr_cli-0.16.0/src/pltr/services/project.py +0 -451
- pltr_cli-0.16.0/src/pltr/services/resource.py +0 -578
- pltr_cli-0.16.0/src/pltr/services/resource_role.py +0 -321
- pltr_cli-0.16.0/src/pltr/services/space.py +0 -203
- pltr_cli-0.16.0/src/pltr/services/sql.py +0 -388
- pltr_cli-0.16.0/src/pltr/services/streams.py +0 -290
- pltr_cli-0.16.0/src/pltr/services/third_party_applications.py +0 -53
- pltr_cli-0.16.0/src/pltr/services/widgets.py +0 -293
- pltr_cli-0.16.0/src/pltr/utils/completion.py +0 -178
- pltr_cli-0.16.0/src/pltr/utils/formatting.py +0 -1654
- pltr_cli-0.16.0/src/pltr/utils/pagination.py +0 -325
- pltr_cli-0.16.0/src/pltr/utils/progress.py +0 -328
- pltr_cli-0.16.0/tests/conftest.py +0 -118
- pltr_cli-0.16.0/tests/test_auth/test_oauth.py +0 -271
- pltr_cli-0.16.0/tests/test_auth/test_token.py +0 -217
- pltr_cli-0.16.0/tests/test_commands/test_admin.py +0 -872
- pltr_cli-0.16.0/tests/test_commands/test_aip_agents.py +0 -458
- pltr_cli-0.16.0/tests/test_commands/test_alias.py +0 -225
- pltr_cli-0.16.0/tests/test_commands/test_audit.py +0 -340
- pltr_cli-0.16.0/tests/test_commands/test_connectivity.py +0 -857
- pltr_cli-0.16.0/tests/test_commands/test_data_health.py +0 -396
- pltr_cli-0.16.0/tests/test_commands/test_dataset.py +0 -380
- pltr_cli-0.16.0/tests/test_commands/test_folder.py +0 -393
- pltr_cli-0.16.0/tests/test_commands/test_functions.py +0 -629
- pltr_cli-0.16.0/tests/test_commands/test_language_models.py +0 -815
- pltr_cli-0.16.0/tests/test_commands/test_mediasets.py +0 -520
- pltr_cli-0.16.0/tests/test_commands/test_models.py +0 -404
- pltr_cli-0.16.0/tests/test_commands/test_ontology.py +0 -700
- pltr_cli-0.16.0/tests/test_commands/test_orchestration.py +0 -610
- pltr_cli-0.16.0/tests/test_commands/test_shell.py +0 -183
- pltr_cli-0.16.0/tests/test_commands/test_sql.py +0 -476
- pltr_cli-0.16.0/tests/test_commands/test_streams.py +0 -579
- pltr_cli-0.16.0/tests/test_commands/test_third_party_applications.py +0 -255
- pltr_cli-0.16.0/tests/test_commands/test_verify_simple.py +0 -95
- pltr_cli-0.16.0/tests/test_commands/test_widgets.py +0 -560
- pltr_cli-0.16.0/tests/test_services/test_admin.py +0 -776
- pltr_cli-0.16.0/tests/test_services/test_aip_agents.py +0 -204
- pltr_cli-0.16.0/tests/test_services/test_connectivity.py +0 -715
- pltr_cli-0.16.0/tests/test_services/test_copy.py +0 -160
- pltr_cli-0.16.0/tests/test_services/test_data_health.py +0 -259
- pltr_cli-0.16.0/tests/test_services/test_dataset.py +0 -525
- pltr_cli-0.16.0/tests/test_services/test_dataset_transactions.py +0 -404
- pltr_cli-0.16.0/tests/test_services/test_folder.py +0 -307
- pltr_cli-0.16.0/tests/test_services/test_functions.py +0 -345
- pltr_cli-0.16.0/tests/test_services/test_language_models.py +0 -709
- pltr_cli-0.16.0/tests/test_services/test_mediasets.py +0 -371
- pltr_cli-0.16.0/tests/test_services/test_models.py +0 -274
- pltr_cli-0.16.0/tests/test_services/test_ontology.py +0 -707
- pltr_cli-0.16.0/tests/test_services/test_orchestration.py +0 -652
- pltr_cli-0.16.0/tests/test_services/test_pagination_integration.py +0 -167
- pltr_cli-0.16.0/tests/test_services/test_project.py +0 -573
- pltr_cli-0.16.0/tests/test_services/test_resource.py +0 -778
- pltr_cli-0.16.0/tests/test_services/test_resource_role.py +0 -371
- pltr_cli-0.16.0/tests/test_services/test_space.py +0 -296
- pltr_cli-0.16.0/tests/test_services/test_sql.py +0 -388
- pltr_cli-0.16.0/tests/test_services/test_streams.py +0 -376
- pltr_cli-0.16.0/tests/test_utils/test_pagination.py +0 -321
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/.github/workflows/publish.yml +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/.github/workflows/test-publish.yml +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/.pre-commit-config.yaml +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/CLAUDE.md +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/LICENSE +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/mypy.ini +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/scripts/release.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/src/pltr/auth/__init__.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/src/pltr/commands/__init__.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/src/pltr/config/__init__.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/src/pltr/services/__init__.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/src/pltr/utils/__init__.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/src/pltr/utils/alias_resolver.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/__init__.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/integration/README.md +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/integration/__init__.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/integration/conftest.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/integration/test_data_workflows.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/integration/test_simple_integration.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/test_auth/__init__.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/test_auth/test_base.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/test_commands/__init__.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/test_config/__init__.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/test_services/__init__.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/test_services/test_base.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/test_utils/__init__.py +0 -0
- {pltr_cli-0.16.0 → pltr_cli-0.17.0}/tests/test_utils/test_alias_resolver.py +0 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ main ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ${{ matrix.os }}
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
15
|
+
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
|
|
20
|
+
- name: Install uv
|
|
21
|
+
uses: astral-sh/setup-uv@v3
|
|
22
|
+
with:
|
|
23
|
+
version: "latest"
|
|
24
|
+
|
|
25
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
26
|
+
uses: actions/setup-python@v5
|
|
27
|
+
with:
|
|
28
|
+
python-version: ${{ matrix.python-version }}
|
|
29
|
+
|
|
30
|
+
- name: Install dependencies
|
|
31
|
+
run: |
|
|
32
|
+
uv sync --dev
|
|
33
|
+
|
|
34
|
+
- name: Run linting with ruff
|
|
35
|
+
run: |
|
|
36
|
+
uv run ruff check .
|
|
37
|
+
|
|
38
|
+
- name: Run type checking with mypy
|
|
39
|
+
run: |
|
|
40
|
+
uv run mypy src/pltr
|
|
41
|
+
|
|
42
|
+
- name: Run tests with coverage
|
|
43
|
+
run: |
|
|
44
|
+
# Run all tests including integration tests (import issues fixed)
|
|
45
|
+
uv run pytest tests/ --cov=pltr --cov-report=xml --cov-report=term
|
|
46
|
+
|
|
47
|
+
- name: Upload coverage to Codecov
|
|
48
|
+
uses: codecov/codecov-action@v4
|
|
49
|
+
with:
|
|
50
|
+
file: ./coverage.xml
|
|
51
|
+
fail_ci_if_error: false
|
|
52
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
53
|
+
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
|
|
54
|
+
|
|
55
|
+
fresh-install:
|
|
56
|
+
# Install the built wheel the way users do: without uv.lock, so the resolver
|
|
57
|
+
# picks the newest versions pyproject.toml allows. The lock can hide a missing
|
|
58
|
+
# or incompatible dependency (typer >= 0.26 no longer installs click, which
|
|
59
|
+
# pltr imports; see the typer/click caps in pyproject.toml).
|
|
60
|
+
name: fresh-install (${{ matrix.os }}, Python ${{ matrix.python-version }})
|
|
61
|
+
runs-on: ${{ matrix.os }}
|
|
62
|
+
strategy:
|
|
63
|
+
fail-fast: false
|
|
64
|
+
matrix:
|
|
65
|
+
os: [ubuntu-latest, windows-latest]
|
|
66
|
+
python-version: ["3.10", "3.13"]
|
|
67
|
+
defaults:
|
|
68
|
+
run:
|
|
69
|
+
shell: bash
|
|
70
|
+
|
|
71
|
+
steps:
|
|
72
|
+
- uses: actions/checkout@v4
|
|
73
|
+
|
|
74
|
+
- name: Install uv
|
|
75
|
+
uses: astral-sh/setup-uv@v3
|
|
76
|
+
with:
|
|
77
|
+
version: "latest"
|
|
78
|
+
|
|
79
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
80
|
+
uses: actions/setup-python@v5
|
|
81
|
+
with:
|
|
82
|
+
python-version: ${{ matrix.python-version }}
|
|
83
|
+
|
|
84
|
+
- name: Build the wheel
|
|
85
|
+
run: |
|
|
86
|
+
uv build --wheel --out-dir dist
|
|
87
|
+
|
|
88
|
+
- name: Install the wheel into a clean venv, without the lock
|
|
89
|
+
run: |
|
|
90
|
+
uv venv --python "${{ matrix.python-version }}" "$RUNNER_TEMP/fresh"
|
|
91
|
+
uv pip install --python "$RUNNER_TEMP/fresh" dist/*.whl
|
|
92
|
+
uv pip list --python "$RUNNER_TEMP/fresh"
|
|
93
|
+
if [ "$RUNNER_OS" = "Windows" ]; then
|
|
94
|
+
cygpath -w "$RUNNER_TEMP/fresh/Scripts" >> "$GITHUB_PATH"
|
|
95
|
+
else
|
|
96
|
+
echo "$RUNNER_TEMP/fresh/bin" >> "$GITHUB_PATH"
|
|
97
|
+
fi
|
|
98
|
+
|
|
99
|
+
- name: Run the installed CLI
|
|
100
|
+
working-directory: ${{ runner.temp }}
|
|
101
|
+
run: |
|
|
102
|
+
command -v pltr
|
|
103
|
+
pltr --version
|
|
104
|
+
pltr --help
|
|
105
|
+
pltr api --help
|
|
106
|
+
|
|
107
|
+
- name: Check the error contract (JSON error on stderr, documented exit code)
|
|
108
|
+
working-directory: ${{ runner.temp }}
|
|
109
|
+
shell: python
|
|
110
|
+
run: |
|
|
111
|
+
import json
|
|
112
|
+
import os
|
|
113
|
+
import subprocess
|
|
114
|
+
|
|
115
|
+
# No profile and no FOUNDRY_* variables here, so an API command fails on auth.
|
|
116
|
+
env = {k: v for k, v in os.environ.items() if not k.startswith(("FOUNDRY_", "PLTR_"))}
|
|
117
|
+
cases = [
|
|
118
|
+
(["folder", "get", "--format", "json"], 2, "usage_error"),
|
|
119
|
+
(["folder", "get", "not-a-rid", "--format", "json"], 3, "auth_error"),
|
|
120
|
+
]
|
|
121
|
+
for args, code, kind in cases:
|
|
122
|
+
result = subprocess.run(
|
|
123
|
+
["pltr", *args], capture_output=True, encoding="utf-8", env=env
|
|
124
|
+
)
|
|
125
|
+
print("pltr", *args, "-> exit", result.returncode)
|
|
126
|
+
print(result.stderr)
|
|
127
|
+
assert result.returncode == code, f"expected exit code {code}"
|
|
128
|
+
assert result.stdout == "", "stdout must stay empty on failure"
|
|
129
|
+
# In JSON mode stderr carries only JSON Lines; the last one is the error.
|
|
130
|
+
error = [json.loads(line) for line in result.stderr.splitlines()][-1]
|
|
131
|
+
assert (error["type"], error["exitCode"]) == (kind, code), error
|
|
132
|
+
|
|
133
|
+
lint-and-format:
|
|
134
|
+
runs-on: ubuntu-latest
|
|
135
|
+
steps:
|
|
136
|
+
- uses: actions/checkout@v4
|
|
137
|
+
|
|
138
|
+
- name: Install uv
|
|
139
|
+
uses: astral-sh/setup-uv@v3
|
|
140
|
+
with:
|
|
141
|
+
version: "latest"
|
|
142
|
+
|
|
143
|
+
- name: Set up Python
|
|
144
|
+
uses: actions/setup-python@v5
|
|
145
|
+
with:
|
|
146
|
+
python-version: "3.11"
|
|
147
|
+
|
|
148
|
+
- name: Install dependencies
|
|
149
|
+
run: |
|
|
150
|
+
uv sync --dev
|
|
151
|
+
|
|
152
|
+
- name: Check code formatting with ruff
|
|
153
|
+
run: |
|
|
154
|
+
uv run ruff format --check .
|
|
155
|
+
|
|
156
|
+
- name: Check every SDK call against the installed SDK (#185)
|
|
157
|
+
run: |
|
|
158
|
+
uv run python scripts/check_sdk_calls.py
|
|
159
|
+
|
|
160
|
+
- name: Check generated API commands are up to date (#186)
|
|
161
|
+
run: |
|
|
162
|
+
uv run python scripts/generate_api_commands.py --check
|
|
163
|
+
|
|
164
|
+
- name: Report SDK method coverage (#186)
|
|
165
|
+
run: |
|
|
166
|
+
uv run python scripts/coverage.py
|
|
167
|
+
|
|
168
|
+
- name: Check curated commands' SDK metadata matches their calls (#188)
|
|
169
|
+
run: |
|
|
170
|
+
uv run python scripts/check_command_metadata.py
|
|
171
|
+
|
|
172
|
+
- name: Check the generated agent skill reference is up to date (#188)
|
|
173
|
+
run: |
|
|
174
|
+
uv run python scripts/generate_skill_reference.py --check
|
|
175
|
+
|
|
176
|
+
- name: Run security checks (if configured)
|
|
177
|
+
run: |
|
|
178
|
+
# Add security scanning tools here if needed
|
|
179
|
+
echo "Security checks placeholder - add tools like bandit, safety, etc."
|