pltr-cli 0.1.2__tar.gz → 0.2.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.
Files changed (92) hide show
  1. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/.github/workflows/ci.yml +3 -2
  2. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/.github/workflows/publish.yml +3 -3
  3. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/.github/workflows/test-publish.yml +9 -8
  4. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/.gitignore +1 -1
  5. pltr_cli-0.2.0/.pre-commit-config.yaml +109 -0
  6. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/CLAUDE.md +6 -6
  7. pltr_cli-0.2.0/DEVELOPMENT_PLAN.md +620 -0
  8. pltr_cli-0.2.0/PKG-INFO +280 -0
  9. pltr_cli-0.2.0/README.md +243 -0
  10. pltr_cli-0.2.0/docs/README.md +51 -0
  11. pltr_cli-0.2.0/docs/api/wrapper.md +625 -0
  12. pltr_cli-0.2.0/docs/examples/gallery.md +688 -0
  13. pltr_cli-0.2.0/docs/user-guide/authentication.md +403 -0
  14. pltr_cli-0.2.0/docs/user-guide/commands.md +614 -0
  15. pltr_cli-0.2.0/docs/user-guide/quick-start.md +178 -0
  16. pltr_cli-0.2.0/docs/user-guide/troubleshooting.md +514 -0
  17. pltr_cli-0.2.0/docs/user-guide/workflows.md +522 -0
  18. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/mypy.ini +1 -1
  19. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/pyproject.toml +5 -1
  20. pltr_cli-0.2.0/src/pltr/__main__.py +28 -0
  21. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/cli.py +19 -1
  22. pltr_cli-0.2.0/src/pltr/commands/admin.py +530 -0
  23. pltr_cli-0.2.0/src/pltr/commands/completion.py +383 -0
  24. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/commands/dataset.py +20 -3
  25. pltr_cli-0.2.0/src/pltr/commands/ontology.py +508 -0
  26. pltr_cli-0.2.0/src/pltr/commands/shell.py +126 -0
  27. pltr_cli-0.2.0/src/pltr/commands/sql.py +358 -0
  28. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/commands/verify.py +2 -1
  29. pltr_cli-0.2.0/src/pltr/services/__init__.py +5 -0
  30. pltr_cli-0.2.0/src/pltr/services/admin.py +314 -0
  31. pltr_cli-0.2.0/src/pltr/services/ontology.py +443 -0
  32. pltr_cli-0.2.0/src/pltr/services/sql.py +340 -0
  33. pltr_cli-0.2.0/src/pltr/utils/completion.py +170 -0
  34. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/utils/formatting.py +208 -0
  35. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/utils/progress.py +1 -1
  36. pltr_cli-0.2.0/tests/integration/README.md +45 -0
  37. pltr_cli-0.2.0/tests/integration/__init__.py +1 -0
  38. pltr_cli-0.2.0/tests/integration/conftest.py +23 -0
  39. pltr_cli-0.2.0/tests/integration/test_auth_flow.py +397 -0
  40. pltr_cli-0.2.0/tests/integration/test_cli_integration.py +397 -0
  41. pltr_cli-0.2.0/tests/integration/test_data_workflows.py +224 -0
  42. pltr_cli-0.2.0/tests/integration/test_data_workflows_simple.py +89 -0
  43. pltr_cli-0.2.0/tests/integration/test_simple_integration.py +53 -0
  44. pltr_cli-0.2.0/tests/test_commands/test_admin.py +468 -0
  45. pltr_cli-0.2.0/tests/test_commands/test_completion.py +259 -0
  46. pltr_cli-0.2.0/tests/test_commands/test_ontology.py +404 -0
  47. pltr_cli-0.2.0/tests/test_commands/test_shell.py +183 -0
  48. pltr_cli-0.2.0/tests/test_commands/test_sql.py +471 -0
  49. pltr_cli-0.2.0/tests/test_services/test_admin.py +414 -0
  50. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_services/test_base.py +9 -9
  51. pltr_cli-0.2.0/tests/test_services/test_ontology.py +422 -0
  52. pltr_cli-0.2.0/tests/test_services/test_sql.py +349 -0
  53. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/uv.lock +250 -1
  54. pltr_cli-0.1.2/DEVELOPMENT_PLAN.md +0 -381
  55. pltr_cli-0.1.2/PKG-INFO +0 -203
  56. pltr_cli-0.1.2/README.md +0 -167
  57. pltr_cli-0.1.2/src/pltr/services/__init__.py +0 -1
  58. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/LICENSE +0 -0
  59. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/scripts/release.py +0 -0
  60. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/__init__.py +0 -0
  61. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/auth/__init__.py +0 -0
  62. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/auth/base.py +0 -0
  63. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/auth/manager.py +0 -0
  64. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/auth/oauth.py +0 -0
  65. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/auth/storage.py +0 -0
  66. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/auth/token.py +0 -0
  67. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/commands/__init__.py +0 -0
  68. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/commands/configure.py +0 -0
  69. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/config/__init__.py +0 -0
  70. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/config/profiles.py +0 -0
  71. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/config/settings.py +0 -0
  72. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/services/base.py +0 -0
  73. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/services/dataset.py +0 -0
  74. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/services/dataset_full.py +0 -0
  75. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/services/dataset_v2.py +0 -0
  76. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/src/pltr/utils/__init__.py +0 -0
  77. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/__init__.py +0 -0
  78. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/conftest.py +0 -0
  79. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_auth/__init__.py +0 -0
  80. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_auth/test_base.py +0 -0
  81. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_auth/test_manager.py +0 -0
  82. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_auth/test_oauth.py +0 -0
  83. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_auth/test_storage.py +0 -0
  84. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_auth/test_token.py +0 -0
  85. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_commands/__init__.py +0 -0
  86. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_commands/test_dataset.py +0 -0
  87. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_commands/test_verify_simple.py +0 -0
  88. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_config/__init__.py +0 -0
  89. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_config/test_profiles.py +0 -0
  90. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_config/test_settings.py +0 -0
  91. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_services/__init__.py +0 -0
  92. {pltr_cli-0.1.2 → pltr_cli-0.2.0}/tests/test_services/test_dataset.py +0 -0
@@ -41,7 +41,8 @@ jobs:
41
41
 
42
42
  - name: Run tests with coverage
43
43
  run: |
44
- uv run pytest --cov=pltr --cov-report=xml --cov-report=term
44
+ # Run all tests including integration tests (import issues fixed)
45
+ uv run pytest tests/ --cov=pltr --cov-report=xml --cov-report=term
45
46
 
46
47
  - name: Upload coverage to Codecov
47
48
  uses: codecov/codecov-action@v4
@@ -77,4 +78,4 @@ jobs:
77
78
  - name: Run security checks (if configured)
78
79
  run: |
79
80
  # Add security scanning tools here if needed
80
- echo "Security checks placeholder - add tools like bandit, safety, etc."
81
+ echo "Security checks placeholder - add tools like bandit, safety, etc."
@@ -62,7 +62,7 @@ jobs:
62
62
  if: startsWith(github.ref, 'refs/tags/')
63
63
  needs: build
64
64
  runs-on: ubuntu-latest
65
- environment:
65
+ environment:
66
66
  name: pypi
67
67
  url: https://pypi.org/project/pltr-cli/
68
68
  permissions:
@@ -90,7 +90,7 @@ jobs:
90
90
  steps:
91
91
  - name: Checkout code
92
92
  uses: actions/checkout@v4
93
-
93
+
94
94
  - name: Download distribution artifacts
95
95
  uses: actions/download-artifact@v4
96
96
  with:
@@ -126,4 +126,4 @@ jobs:
126
126
  body: ${{ steps.changelog.outputs.CHANGELOG }}
127
127
  draft: false
128
128
  prerelease: false
129
- generate_release_notes: true
129
+ generate_release_notes: true
@@ -20,7 +20,7 @@ jobs:
20
20
  test-build:
21
21
  name: Test build and publish to TestPyPI
22
22
  runs-on: ubuntu-latest
23
- environment:
23
+ environment:
24
24
  name: testpypi
25
25
  url: https://test.pypi.org/project/pltr/
26
26
  permissions:
@@ -46,7 +46,8 @@ jobs:
46
46
 
47
47
  - name: Run tests
48
48
  run: |
49
- uv run pytest --cov=pltr --cov-report=xml --cov-report=term
49
+ # Run all tests including integration tests (import issues fixed)
50
+ uv run pytest tests/ --cov=pltr --cov-report=xml --cov-report=term
50
51
 
51
52
  - name: Run linting
52
53
  run: |
@@ -85,12 +86,12 @@ jobs:
85
86
  # Create a temporary pyproject.toml with test version
86
87
  uv run python -c "
87
88
  import tomllib, tomli_w
88
-
89
+
89
90
  with open('pyproject.toml', 'rb') as f:
90
91
  config = tomllib.load(f)
91
-
92
+
92
93
  config['project']['version'] = '${{ steps.test_version.outputs.TEST_VERSION }}'
93
-
94
+
94
95
  with open('pyproject.toml', 'wb') as f:
95
96
  tomli_w.dump(config, f)
96
97
  "
@@ -118,12 +119,12 @@ jobs:
118
119
  run: |
119
120
  # Wait a moment for TestPyPI to process the upload
120
121
  sleep 30
121
-
122
+
122
123
  # Try to install the package from TestPyPI
123
124
  uv run pip install --index-url https://test.pypi.org/simple/ \
124
125
  --extra-index-url https://pypi.org/simple/ \
125
126
  pltr-cli==${{ steps.test_version.outputs.TEST_VERSION }}
126
-
127
+
127
128
  # Test basic import and CLI functionality
128
129
  uv run python -c "import pltr; print('Package import successful')"
129
130
  uv run pltr --help
@@ -138,4 +139,4 @@ jobs:
138
139
  echo "- **Status**: ✅ Successfully published and tested" >> $GITHUB_STEP_SUMMARY
139
140
  else
140
141
  echo "- **Status**: ❌ Test failed" >> $GITHUB_STEP_SUMMARY
141
- fi
142
+ fi
@@ -145,4 +145,4 @@ config.ini
145
145
  credentials.json
146
146
 
147
147
  # ruff
148
- .ruff_cache/
148
+ .ruff_cache/
@@ -0,0 +1,109 @@
1
+ # Pre-commit hooks for pltr-cli
2
+ # See https://pre-commit.com for more information
3
+
4
+ repos:
5
+ # General file fixes
6
+ - repo: https://github.com/pre-commit/pre-commit-hooks
7
+ rev: v4.5.0
8
+ hooks:
9
+ - id: trailing-whitespace
10
+ name: Fix trailing whitespace
11
+ description: Removes trailing whitespace
12
+ - id: end-of-file-fixer
13
+ name: Fix end of files
14
+ description: Ensures files end with a newline
15
+ - id: check-yaml
16
+ name: Check YAML files
17
+ description: Validates YAML file syntax
18
+ - id: check-added-large-files
19
+ name: Check for large files
20
+ description: Prevents large files from being committed
21
+ args: ['--maxkb=1000']
22
+ - id: check-toml
23
+ name: Check TOML files
24
+ description: Validates TOML file syntax
25
+ - id: check-json
26
+ name: Check JSON files
27
+ description: Validates JSON file syntax
28
+ - id: check-merge-conflict
29
+ name: Check merge conflicts
30
+ description: Checks for merge conflict markers
31
+ - id: check-ast
32
+ name: Check Python syntax
33
+ description: Validates Python file syntax
34
+ - id: debug-statements
35
+ name: Check for debug statements
36
+ description: Checks for Python debug statements
37
+ - id: mixed-line-ending
38
+ name: Fix mixed line endings
39
+ description: Checks for mixed line ending
40
+ args: ['--fix=lf']
41
+
42
+ # Python code formatting with Ruff
43
+ - repo: https://github.com/astral-sh/ruff-pre-commit
44
+ rev: v0.1.9
45
+ hooks:
46
+ - id: ruff
47
+ name: Ruff linter
48
+ description: Fast Python linter
49
+ args: [--fix]
50
+ - id: ruff-format
51
+ name: Ruff formatter
52
+ description: Fast Python formatter
53
+
54
+ # Type checking with mypy
55
+ - repo: https://github.com/pre-commit/mirrors-mypy
56
+ rev: v1.8.0
57
+ hooks:
58
+ - id: mypy
59
+ name: mypy type checker
60
+ description: Static type checker for Python
61
+ additional_dependencies:
62
+ - types-requests
63
+ - types-setuptools
64
+ args: [--ignore-missing-imports, --no-strict-optional, --explicit-package-bases]
65
+ files: ^src/
66
+
67
+ # Security checks
68
+ - repo: https://github.com/PyCQA/bandit
69
+ rev: 1.7.6
70
+ hooks:
71
+ - id: bandit
72
+ name: Bandit security linter
73
+ description: Security linter for Python
74
+ args: ['-ll', '--skip', 'B101,B601']
75
+ files: ^src/
76
+
77
+
78
+ # Configuration
79
+ default_language_version:
80
+ python: python3.9
81
+
82
+ # Run hooks on all files by default
83
+ default_install_hook_types: [pre-commit, pre-push]
84
+
85
+ # Exclude directories
86
+ exclude: |
87
+ (?x)^(
88
+ \.git/|
89
+ \.venv/|
90
+ venv/|
91
+ \.env/|
92
+ env/|
93
+ __pycache__/|
94
+ \.pytest_cache/|
95
+ \.mypy_cache/|
96
+ \.ruff_cache/|
97
+ build/|
98
+ dist/|
99
+ \.eggs/|
100
+ .*\.egg-info/|
101
+ uv\.lock
102
+ )
103
+
104
+ # CI configuration
105
+ ci:
106
+ autofix_prs: true
107
+ autofix_commit_msg: '[pre-commit.ci] auto fixes from pre-commit hooks'
108
+ autoupdate_schedule: weekly
109
+ autoupdate_commit_msg: '[pre-commit.ci] pre-commit autoupdate'
@@ -1,11 +1,11 @@
1
- ## Dependency Management
2
-
3
- Use uv for dependency management
4
-
5
-
6
1
  ## Development tips
7
2
 
8
- Always keep @DEVELOPMENT_PLAN.md up to date
3
+ Always keep @DEVELOPMENT_PLAN.md up to date.
4
+ The basis of the SDK is https://github.com/palantir/foundry-platform-python . This is a
5
+ CLI that wraps around the SDK to give a CLI interface.
6
+
7
+ Use uv for dependency management.
8
+ Use uv to run python scripts.
9
9
 
10
10
  ## General Guidance
11
11