pltr-cli 0.9.1__tar.gz → 0.9.3__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 (128) hide show
  1. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/PKG-INFO +1 -1
  2. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/docs/examples/csv-upload.md +23 -15
  3. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/docs/examples/gallery.md +2 -1
  4. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/pyproject.toml +1 -1
  5. pltr_cli-0.9.3/src/pltr/__init__.py +1 -0
  6. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/services/orchestration.py +1 -1
  7. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/uv.lock +1 -1
  8. pltr_cli-0.9.1/src/pltr/__init__.py +0 -1
  9. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/.github/workflows/ci.yml +0 -0
  10. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/.github/workflows/publish.yml +0 -0
  11. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/.github/workflows/test-publish.yml +0 -0
  12. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/.gitignore +0 -0
  13. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/.pre-commit-config.yaml +0 -0
  14. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/CHANGELOG.md +0 -0
  15. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/CLAUDE.md +0 -0
  16. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/LICENSE +0 -0
  17. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/README.md +0 -0
  18. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/RELEASE.md +0 -0
  19. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/children.csv +0 -0
  20. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/docs/README.md +0 -0
  21. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/docs/api/wrapper.md +0 -0
  22. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/docs/features/dataset-transactions.md +0 -0
  23. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/docs/user-guide/aliases.md +0 -0
  24. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/docs/user-guide/authentication.md +0 -0
  25. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/docs/user-guide/commands.md +0 -0
  26. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/docs/user-guide/quick-start.md +0 -0
  27. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/docs/user-guide/troubleshooting.md +0 -0
  28. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/docs/user-guide/workflows.md +0 -0
  29. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/folder_info.json +0 -0
  30. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/folders.json +0 -0
  31. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/mypy.ini +0 -0
  32. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/scripts/release.py +0 -0
  33. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/__main__.py +0 -0
  34. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/auth/__init__.py +0 -0
  35. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/auth/base.py +0 -0
  36. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/auth/manager.py +0 -0
  37. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/auth/oauth.py +0 -0
  38. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/auth/storage.py +0 -0
  39. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/auth/token.py +0 -0
  40. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/cli.py +0 -0
  41. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/__init__.py +0 -0
  42. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/admin.py +0 -0
  43. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/alias.py +0 -0
  44. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/completion.py +0 -0
  45. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/configure.py +0 -0
  46. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/connectivity.py +0 -0
  47. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/dataset.py +0 -0
  48. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/folder.py +0 -0
  49. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/mediasets.py +0 -0
  50. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/ontology.py +0 -0
  51. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/orchestration.py +0 -0
  52. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/project.py +0 -0
  53. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/resource.py +0 -0
  54. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/resource_role.py +0 -0
  55. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/shell.py +0 -0
  56. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/space.py +0 -0
  57. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/sql.py +0 -0
  58. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/commands/verify.py +0 -0
  59. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/config/__init__.py +0 -0
  60. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/config/aliases.py +0 -0
  61. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/config/profiles.py +0 -0
  62. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/config/settings.py +0 -0
  63. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/services/__init__.py +0 -0
  64. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/services/admin.py +0 -0
  65. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/services/base.py +0 -0
  66. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/services/connectivity.py +0 -0
  67. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/services/dataset.py +0 -0
  68. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/services/folder.py +0 -0
  69. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/services/mediasets.py +0 -0
  70. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/services/ontology.py +0 -0
  71. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/services/project.py +0 -0
  72. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/services/resource.py +0 -0
  73. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/services/resource_role.py +0 -0
  74. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/services/space.py +0 -0
  75. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/services/sql.py +0 -0
  76. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/utils/__init__.py +0 -0
  77. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/utils/alias_resolver.py +0 -0
  78. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/utils/completion.py +0 -0
  79. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/utils/formatting.py +0 -0
  80. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/src/pltr/utils/progress.py +0 -0
  81. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/__init__.py +0 -0
  82. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/conftest.py +0 -0
  83. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/integration/README.md +0 -0
  84. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/integration/__init__.py +0 -0
  85. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/integration/conftest.py +0 -0
  86. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/integration/test_auth_flow.py +0 -0
  87. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/integration/test_cli_integration.py +0 -0
  88. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/integration/test_data_workflows.py +0 -0
  89. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/integration/test_data_workflows_simple.py +0 -0
  90. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/integration/test_simple_integration.py +0 -0
  91. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_auth/__init__.py +0 -0
  92. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_auth/test_base.py +0 -0
  93. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_auth/test_manager.py +0 -0
  94. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_auth/test_oauth.py +0 -0
  95. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_auth/test_storage.py +0 -0
  96. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_auth/test_token.py +0 -0
  97. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_commands/__init__.py +0 -0
  98. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_commands/test_admin.py +0 -0
  99. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_commands/test_alias.py +0 -0
  100. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_commands/test_completion.py +0 -0
  101. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_commands/test_connectivity.py +0 -0
  102. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_commands/test_dataset.py +0 -0
  103. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_commands/test_folder.py +0 -0
  104. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_commands/test_ontology.py +0 -0
  105. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_commands/test_orchestration.py +0 -0
  106. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_commands/test_shell.py +0 -0
  107. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_commands/test_sql.py +0 -0
  108. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_commands/test_verify_simple.py +0 -0
  109. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_config/__init__.py +0 -0
  110. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_config/test_aliases.py +0 -0
  111. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_config/test_profiles.py +0 -0
  112. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_config/test_settings.py +0 -0
  113. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_services/__init__.py +0 -0
  114. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_services/test_admin.py +0 -0
  115. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_services/test_base.py +0 -0
  116. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_services/test_connectivity.py +0 -0
  117. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_services/test_dataset.py +0 -0
  118. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_services/test_dataset_transactions.py +0 -0
  119. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_services/test_folder.py +0 -0
  120. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_services/test_ontology.py +0 -0
  121. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_services/test_orchestration.py +0 -0
  122. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_services/test_project.py +0 -0
  123. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_services/test_resource.py +0 -0
  124. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_services/test_resource_role.py +0 -0
  125. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_services/test_space.py +0 -0
  126. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_services/test_sql.py +0 -0
  127. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_utils/__init__.py +0 -0
  128. {pltr_cli-0.9.1 → pltr_cli-0.9.3}/tests/test_utils/test_alias_resolver.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pltr-cli
3
- Version: 0.9.1
3
+ Version: 0.9.3
4
4
  Summary: Command-line interface for Palantir Foundry APIs
5
5
  Project-URL: Homepage, https://github.com/anjor/pltr-cli
6
6
  Project-URL: Repository, https://github.com/anjor/pltr-cli
@@ -47,11 +47,11 @@ pltr dataset transaction commit "$DATASET_RID" "$TRANSACTION_RID"
47
47
 
48
48
  echo "✅ CSV uploaded successfully to dataset: $DATASET_RID"
49
49
 
50
- # Set the schema based on CSV headers (NEW!)
51
- echo "Setting dataset schema from CSV..."
52
- pltr dataset schema set "$DATASET_RID" --from-csv "$CSV_FILE"
50
+ # Apply/infer the schema automatically (NEW!)
51
+ echo "Applying schema to dataset..."
52
+ pltr dataset schema apply "$DATASET_RID"
53
53
 
54
- echo "✅ Schema set successfully"
54
+ echo "✅ Schema applied successfully"
55
55
  ```
56
56
 
57
57
  ### Step 2: Verify Upload
@@ -63,7 +63,7 @@ pltr dataset get "$DATASET_RID"
63
63
  # List files in dataset
64
64
  pltr dataset files list "$DATASET_RID"
65
65
 
66
- # Check the schema (NEW!)
66
+ # Check the applied schema (NEW!)
67
67
  pltr dataset schema get "$DATASET_RID"
68
68
 
69
69
  # Query the data (now with proper types!)
@@ -214,13 +214,13 @@ EOF
214
214
  pltr dataset schema set "$DATASET_RID" --json-file schema.json
215
215
  ```
216
216
 
217
- ### Schema-Aware CSV Upload Workflow
217
+ ### Recommended Schema-Aware CSV Upload Workflow
218
218
 
219
- Here's the complete workflow for uploading CSV with proper schema:
219
+ Here's the recommended workflow for uploading CSV with automatic schema application:
220
220
 
221
221
  ```bash
222
222
  #!/bin/bash
223
- # complete_csv_upload.sh - Upload CSV with schema
223
+ # complete_csv_upload.sh - Upload CSV with automatic schema
224
224
 
225
225
  CSV_FILE="data.csv"
226
226
  DATASET_NAME="typed_dataset_$(date +%Y%m%d)"
@@ -240,10 +240,10 @@ pltr dataset files upload "$CSV_FILE" "$DATASET_RID" \
240
240
 
241
241
  pltr dataset transaction commit "$DATASET_RID" "$TRANSACTION_RID"
242
242
 
243
- # 3. Set schema from CSV
244
- pltr dataset schema set "$DATASET_RID" --from-csv "$CSV_FILE"
243
+ # 3. Apply schema automatically
244
+ pltr dataset schema apply "$DATASET_RID"
245
245
 
246
- # 4. Verify schema
246
+ # 4. Verify applied schema
247
247
  echo "Dataset schema:"
248
248
  pltr dataset schema get "$DATASET_RID"
249
249
 
@@ -687,23 +687,31 @@ fi
687
687
  - Consider uploading during off-peak hours
688
688
 
689
689
  6. **Schema Issues**
690
- - **Schema not taking effect**: Ensure the dataset has been created and files uploaded before setting schema
690
+ - **Schema not taking effect**: Ensure the dataset has been created and files uploaded before applying schema
691
691
  - **Type inference errors**: Review the first 100 rows of your CSV for inconsistent data
692
692
  - **Column name issues**: Schema field names must be valid identifiers (no spaces, special chars)
693
693
  - **Query errors after schema**: The schema applies to new data; existing data may need reprocessing
694
+ - **Apply vs Set commands**: Use `schema apply` for uploaded data, `schema set --from-csv` for local files
694
695
 
695
696
  ```bash
696
697
  # Debug schema issues
697
698
  # 1. Check current schema
698
699
  pltr dataset schema get <dataset_rid>
699
700
 
700
- # 2. Test inference without applying
701
- pltr dataset schema set <dataset_rid> --from-csv data.csv --dry-run
701
+ # 2. Apply schema from uploaded data (recommended)
702
+ pltr dataset schema apply <dataset_rid>
702
703
 
703
- # 3. Verify CSV headers match schema
704
+ # 3. Or set schema from local CSV file (requires preview API)
705
+ pltr dataset schema set <dataset_rid> --from-csv data.csv
706
+
707
+ # 4. Verify CSV headers match schema
704
708
  head -1 data.csv
705
709
  ```
706
710
 
711
+ **When to use which schema command:**
712
+ - **`pltr dataset schema apply`**: Use after uploading files to the dataset. Analyzes uploaded data directly and doesn't require preview API access. This is the **recommended approach**.
713
+ - **`pltr dataset schema set --from-csv`**: Use when you want to infer schema from a local CSV file before uploading. Requires preview API access and may not reflect the exact uploaded data.
714
+
707
715
  ## 📚 Related Documentation
708
716
 
709
717
  - [Dataset Commands Reference](../user-guide/commands.md#dataset-commands)
@@ -6,9 +6,10 @@ Real-world examples and use cases for pltr-cli. Copy, adapt, and use these examp
6
6
 
7
7
  ### CSV Upload to Foundry
8
8
  Complete examples for uploading CSV files to Foundry datasets. See [CSV Upload Examples](csv-upload.md) for:
9
- - Simple CSV upload to new dataset
9
+ - Simple CSV upload to new dataset with automatic schema application
10
10
  - Batch CSV processing
11
11
  - Transaction management for safe uploads
12
+ - Schema inference and management (using `pltr dataset schema apply`)
12
13
  - Large file handling with progress tracking
13
14
  - Error handling and retry logic
14
15
  - Python scripts for programmatic uploads
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pltr-cli"
3
- version = "0.9.1"
3
+ version = "0.9.3"
4
4
  description = "Command-line interface for Palantir Foundry APIs"
5
5
  authors = [
6
6
  { name = "anjor", email = "anjor@umd.edu" },
@@ -0,0 +1 @@
1
+ __version__ = "0.9.3"
@@ -62,7 +62,7 @@ class OrchestrationService(BaseService):
62
62
  try:
63
63
  kwargs: Dict[str, Any] = {
64
64
  "target": target,
65
- "fallback_branches": fallback_branches or {},
65
+ "fallback_branches": fallback_branches or [],
66
66
  }
67
67
 
68
68
  # Add optional parameters if provided
@@ -710,7 +710,7 @@ wheels = [
710
710
 
711
711
  [[package]]
712
712
  name = "pltr-cli"
713
- version = "0.9.1"
713
+ version = "0.9.3"
714
714
  source = { editable = "." }
715
715
  dependencies = [
716
716
  { name = "click-repl" },
@@ -1 +0,0 @@
1
- __version__ = "0.9.1"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes