pltr-cli 0.1.1__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.
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/.github/workflows/ci.yml +3 -2
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/.github/workflows/publish.yml +4 -4
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/.github/workflows/test-publish.yml +9 -8
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/.gitignore +1 -1
- pltr_cli-0.2.0/.pre-commit-config.yaml +109 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/CLAUDE.md +6 -6
- pltr_cli-0.2.0/DEVELOPMENT_PLAN.md +620 -0
- pltr_cli-0.2.0/PKG-INFO +280 -0
- pltr_cli-0.2.0/README.md +243 -0
- pltr_cli-0.2.0/docs/README.md +51 -0
- pltr_cli-0.2.0/docs/api/wrapper.md +625 -0
- pltr_cli-0.2.0/docs/examples/gallery.md +688 -0
- pltr_cli-0.2.0/docs/user-guide/authentication.md +403 -0
- pltr_cli-0.2.0/docs/user-guide/commands.md +614 -0
- pltr_cli-0.2.0/docs/user-guide/quick-start.md +178 -0
- pltr_cli-0.2.0/docs/user-guide/troubleshooting.md +514 -0
- pltr_cli-0.2.0/docs/user-guide/workflows.md +522 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/mypy.ini +1 -1
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/pyproject.toml +5 -1
- pltr_cli-0.2.0/src/pltr/__main__.py +28 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/cli.py +19 -1
- pltr_cli-0.2.0/src/pltr/commands/admin.py +530 -0
- pltr_cli-0.2.0/src/pltr/commands/completion.py +383 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/commands/dataset.py +20 -3
- pltr_cli-0.2.0/src/pltr/commands/ontology.py +508 -0
- pltr_cli-0.2.0/src/pltr/commands/shell.py +126 -0
- pltr_cli-0.2.0/src/pltr/commands/sql.py +358 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/commands/verify.py +2 -1
- pltr_cli-0.2.0/src/pltr/services/__init__.py +5 -0
- pltr_cli-0.2.0/src/pltr/services/admin.py +314 -0
- pltr_cli-0.2.0/src/pltr/services/ontology.py +443 -0
- pltr_cli-0.2.0/src/pltr/services/sql.py +340 -0
- pltr_cli-0.2.0/src/pltr/utils/completion.py +170 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/utils/formatting.py +208 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/utils/progress.py +1 -1
- pltr_cli-0.2.0/tests/integration/README.md +45 -0
- pltr_cli-0.2.0/tests/integration/__init__.py +1 -0
- pltr_cli-0.2.0/tests/integration/conftest.py +23 -0
- pltr_cli-0.2.0/tests/integration/test_auth_flow.py +397 -0
- pltr_cli-0.2.0/tests/integration/test_cli_integration.py +397 -0
- pltr_cli-0.2.0/tests/integration/test_data_workflows.py +224 -0
- pltr_cli-0.2.0/tests/integration/test_data_workflows_simple.py +89 -0
- pltr_cli-0.2.0/tests/integration/test_simple_integration.py +53 -0
- pltr_cli-0.2.0/tests/test_commands/test_admin.py +468 -0
- pltr_cli-0.2.0/tests/test_commands/test_completion.py +259 -0
- pltr_cli-0.2.0/tests/test_commands/test_ontology.py +404 -0
- pltr_cli-0.2.0/tests/test_commands/test_shell.py +183 -0
- pltr_cli-0.2.0/tests/test_commands/test_sql.py +471 -0
- pltr_cli-0.2.0/tests/test_services/test_admin.py +414 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/test_services/test_base.py +9 -9
- pltr_cli-0.2.0/tests/test_services/test_ontology.py +422 -0
- pltr_cli-0.2.0/tests/test_services/test_sql.py +349 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/uv.lock +250 -1
- pltr_cli-0.1.1/DEVELOPMENT_PLAN.md +0 -381
- pltr_cli-0.1.1/PKG-INFO +0 -203
- pltr_cli-0.1.1/README.md +0 -167
- pltr_cli-0.1.1/src/pltr/services/__init__.py +0 -1
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/LICENSE +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/scripts/release.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/__init__.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/auth/__init__.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/auth/base.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/auth/manager.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/auth/oauth.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/auth/storage.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/auth/token.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/commands/__init__.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/commands/configure.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/config/__init__.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/config/profiles.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/config/settings.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/services/base.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/services/dataset.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/services/dataset_full.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/services/dataset_v2.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/src/pltr/utils/__init__.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/__init__.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/conftest.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/test_auth/__init__.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/test_auth/test_base.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/test_auth/test_manager.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/test_auth/test_oauth.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/test_auth/test_storage.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/test_auth/test_token.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/test_commands/__init__.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/test_commands/test_dataset.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/test_commands/test_verify_simple.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/test_config/__init__.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/test_config/test_profiles.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/test_config/test_settings.py +0 -0
- {pltr_cli-0.1.1 → pltr_cli-0.2.0}/tests/test_services/__init__.py +0 -0
- {pltr_cli-0.1.1 → 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
|
-
|
|
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:
|
|
@@ -98,7 +98,7 @@ jobs:
|
|
|
98
98
|
path: dist/
|
|
99
99
|
|
|
100
100
|
- name: Sign the dists with Sigstore
|
|
101
|
-
uses: sigstore/gh-action-sigstore-python@
|
|
101
|
+
uses: sigstore/gh-action-sigstore-python@v3.0.1
|
|
102
102
|
with:
|
|
103
103
|
inputs: >-
|
|
104
104
|
./dist/*.tar.gz
|
|
@@ -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
|
-
|
|
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
|
|
@@ -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
|
|