superset-sup 0.1.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.
- superset_sup-0.1.0/.coveragerc +28 -0
- superset_sup-0.1.0/.flake8 +5 -0
- superset_sup-0.1.0/.github/workflows/docs.yml +86 -0
- superset_sup-0.1.0/.github/workflows/python-package-daily.yml +37 -0
- superset_sup-0.1.0/.github/workflows/python-package.yml +38 -0
- superset_sup-0.1.0/.github/workflows/python-publish.yml +36 -0
- superset_sup-0.1.0/.gitignore +65 -0
- superset_sup-0.1.0/.isort.cfg +3 -0
- superset_sup-0.1.0/.pre-commit-config.yaml +38 -0
- superset_sup-0.1.0/.pylintrc +6 -0
- superset_sup-0.1.0/.readthedocs.yml +23 -0
- superset_sup-0.1.0/AUTHORS.rst +5 -0
- superset_sup-0.1.0/CHANGELOG.rst +279 -0
- superset_sup-0.1.0/CLAUDE.md +327 -0
- superset_sup-0.1.0/CONTRIBUTING.rst +17 -0
- superset_sup-0.1.0/LICENSE.txt +50 -0
- superset_sup-0.1.0/Makefile +22 -0
- superset_sup-0.1.0/PKG-INFO +434 -0
- superset_sup-0.1.0/PROJECT.md +325 -0
- superset_sup-0.1.0/PUBLISHING.md +152 -0
- superset_sup-0.1.0/README.md +311 -0
- superset_sup-0.1.0/dev-requirements.in +1 -0
- superset_sup-0.1.0/dev-requirements.txt +86 -0
- superset_sup-0.1.0/docs/Makefile +29 -0
- superset_sup-0.1.0/docs/_static/.gitignore +1 -0
- superset_sup-0.1.0/docs/authors.rst +2 -0
- superset_sup-0.1.0/docs/changelog.rst +2 -0
- superset_sup-0.1.0/docs/conf.py +283 -0
- superset_sup-0.1.0/docs/contributing.rst +1 -0
- superset_sup-0.1.0/docs/images/export_dashboards.png +0 -0
- superset_sup-0.1.0/docs/index.rst +61 -0
- superset_sup-0.1.0/docs/license.rst +7 -0
- superset_sup-0.1.0/docs/readme.rst +2 -0
- superset_sup-0.1.0/docs/requirements.txt +5 -0
- superset_sup-0.1.0/docs-site/.gitignore +21 -0
- superset_sup-0.1.0/docs-site/README.md +80 -0
- superset_sup-0.1.0/docs-site/astro.config.mjs +54 -0
- superset_sup-0.1.0/docs-site/package-lock.json +6300 -0
- superset_sup-0.1.0/docs-site/package.json +18 -0
- superset_sup-0.1.0/docs-site/public/favicon.svg +1 -0
- superset_sup-0.1.0/docs-site/src/content/docs/commands/chart.mdx +40 -0
- superset_sup-0.1.0/docs-site/src/content/docs/commands/config.mdx +62 -0
- superset_sup-0.1.0/docs-site/src/content/docs/commands/dashboard.mdx +31 -0
- superset_sup-0.1.0/docs-site/src/content/docs/commands/database.mdx +32 -0
- superset_sup-0.1.0/docs-site/src/content/docs/commands/dataset.mdx +32 -0
- superset_sup-0.1.0/docs-site/src/content/docs/commands/query.mdx +31 -0
- superset_sup-0.1.0/docs-site/src/content/docs/commands/sql.mdx +44 -0
- superset_sup-0.1.0/docs-site/src/content/docs/commands/sync.mdx +54 -0
- superset_sup-0.1.0/docs-site/src/content/docs/commands/theme.mdx +32 -0
- superset_sup-0.1.0/docs-site/src/content/docs/commands/user.mdx +33 -0
- superset_sup-0.1.0/docs-site/src/content/docs/commands/workspace.mdx +39 -0
- superset_sup-0.1.0/docs-site/src/content/docs/config/authentication.md +67 -0
- superset_sup-0.1.0/docs-site/src/content/docs/config/settings.md +48 -0
- superset_sup-0.1.0/docs-site/src/content/docs/config/sync.md +97 -0
- superset_sup-0.1.0/docs-site/src/content/docs/guides/cross-workspace.md +90 -0
- superset_sup-0.1.0/docs-site/src/content/docs/guides/dbt-integration.md +103 -0
- superset_sup-0.1.0/docs-site/src/content/docs/guides/example.md +11 -0
- superset_sup-0.1.0/docs-site/src/content/docs/guides/multi-asset.md +167 -0
- superset_sup-0.1.0/docs-site/src/content/docs/index.mdx +98 -0
- superset_sup-0.1.0/docs-site/src/content/docs/installation.md +61 -0
- superset_sup-0.1.0/docs-site/src/content/docs/introduction.md +41 -0
- superset_sup-0.1.0/docs-site/src/content/docs/quick-start.md +100 -0
- superset_sup-0.1.0/docs-site/src/content/docs/reference/example.md +11 -0
- superset_sup-0.1.0/docs-site/src/content.config.ts +7 -0
- superset_sup-0.1.0/docs-site/tsconfig.json +5 -0
- superset_sup-0.1.0/examples/exports/charts/Total_count_134.yaml +40 -0
- superset_sup-0.1.0/examples/exports/dashboards/White_label_test.yaml +50 -0
- superset_sup-0.1.0/examples/exports/databases/Google_Sheets.yaml +16 -0
- superset_sup-0.1.0/examples/exports/datasets/Google_Sheets/country_cnt.yaml +48 -0
- superset_sup-0.1.0/examples/exports/functions/demo.py +10 -0
- superset_sup-0.1.0/examples/exports/metadata.yaml +2 -0
- superset_sup-0.1.0/pyproject.toml +116 -0
- superset_sup-0.1.0/requirements.in +1 -0
- superset_sup-0.1.0/requirements.txt +49 -0
- superset_sup-0.1.0/scripts/generate_cli_docs.py +578 -0
- superset_sup-0.1.0/setup.cfg +4 -0
- superset_sup-0.1.0/src/preset_cli/__init__.py +14 -0
- superset_sup-0.1.0/src/preset_cli/api/__init__.py +0 -0
- superset_sup-0.1.0/src/preset_cli/api/clients/__init__.py +0 -0
- superset_sup-0.1.0/src/preset_cli/api/clients/dbt.py +343 -0
- superset_sup-0.1.0/src/preset_cli/api/clients/preset.py +297 -0
- superset_sup-0.1.0/src/preset_cli/api/clients/superset.py +1216 -0
- superset_sup-0.1.0/src/preset_cli/api/operators.py +34 -0
- superset_sup-0.1.0/src/preset_cli/auth/__init__.py +0 -0
- superset_sup-0.1.0/src/preset_cli/auth/jwt.py +30 -0
- superset_sup-0.1.0/src/preset_cli/auth/lib.py +68 -0
- superset_sup-0.1.0/src/preset_cli/auth/main.py +56 -0
- superset_sup-0.1.0/src/preset_cli/auth/preset.py +59 -0
- superset_sup-0.1.0/src/preset_cli/auth/superset.py +75 -0
- superset_sup-0.1.0/src/preset_cli/auth/token.py +20 -0
- superset_sup-0.1.0/src/preset_cli/cli/__init__.py +0 -0
- superset_sup-0.1.0/src/preset_cli/cli/export_users.py +428 -0
- superset_sup-0.1.0/src/preset_cli/cli/main.py +814 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/__init__.py +0 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/export.py +362 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/import_.py +133 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/lib.py +78 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/main.py +123 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/sql.py +179 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/sync/__init__.py +0 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/sync/dbt/__init__.py +0 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/sync/dbt/command.py +632 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/sync/dbt/databases.py +98 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/sync/dbt/datasets.py +440 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/sync/dbt/exposures.py +173 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/sync/dbt/lib.py +537 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/sync/dbt/metrics.py +412 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/sync/dbt/schemas.py +303 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/sync/main.py +22 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/sync/native/__init__.py +0 -0
- superset_sup-0.1.0/src/preset_cli/cli/superset/sync/native/command.py +537 -0
- superset_sup-0.1.0/src/preset_cli/exceptions.py +67 -0
- superset_sup-0.1.0/src/preset_cli/lib.py +145 -0
- superset_sup-0.1.0/src/preset_cli/typing.py +18 -0
- superset_sup-0.1.0/src/sup/__init__.py +7 -0
- superset_sup-0.1.0/src/sup/__main__.py +9 -0
- superset_sup-0.1.0/src/sup/auth/__init__.py +1 -0
- superset_sup-0.1.0/src/sup/auth/preset.py +109 -0
- superset_sup-0.1.0/src/sup/clients/__init__.py +1 -0
- superset_sup-0.1.0/src/sup/clients/preset.py +128 -0
- superset_sup-0.1.0/src/sup/clients/superset.py +568 -0
- superset_sup-0.1.0/src/sup/commands/__init__.py +1 -0
- superset_sup-0.1.0/src/sup/commands/chart.py +1271 -0
- superset_sup-0.1.0/src/sup/commands/chart_dry.py +161 -0
- superset_sup-0.1.0/src/sup/commands/config.py +483 -0
- superset_sup-0.1.0/src/sup/commands/dashboard.py +366 -0
- superset_sup-0.1.0/src/sup/commands/database.py +145 -0
- superset_sup-0.1.0/src/sup/commands/dataset.py +423 -0
- superset_sup-0.1.0/src/sup/commands/dataset_dry.py +220 -0
- superset_sup-0.1.0/src/sup/commands/query.py +267 -0
- superset_sup-0.1.0/src/sup/commands/sql.py +217 -0
- superset_sup-0.1.0/src/sup/commands/sync.py +514 -0
- superset_sup-0.1.0/src/sup/commands/template_params.py +68 -0
- superset_sup-0.1.0/src/sup/commands/theme.py +89 -0
- superset_sup-0.1.0/src/sup/commands/user.py +168 -0
- superset_sup-0.1.0/src/sup/commands/workspace.py +305 -0
- superset_sup-0.1.0/src/sup/config/__init__.py +1 -0
- superset_sup-0.1.0/src/sup/config/paths.py +56 -0
- superset_sup-0.1.0/src/sup/config/settings.py +308 -0
- superset_sup-0.1.0/src/sup/config/sync.py +255 -0
- superset_sup-0.1.0/src/sup/decorators/__init__.py +14 -0
- superset_sup-0.1.0/src/sup/decorators/filters.py +137 -0
- superset_sup-0.1.0/src/sup/decorators/output.py +61 -0
- superset_sup-0.1.0/src/sup/filters/__init__.py +1 -0
- superset_sup-0.1.0/src/sup/filters/api_params.py +86 -0
- superset_sup-0.1.0/src/sup/filters/base.py +303 -0
- superset_sup-0.1.0/src/sup/filters/chart.py +130 -0
- superset_sup-0.1.0/src/sup/filters/dashboard.py +139 -0
- superset_sup-0.1.0/src/sup/filters/dataset.py +155 -0
- superset_sup-0.1.0/src/sup/main.py +188 -0
- superset_sup-0.1.0/src/sup/output/__init__.py +1 -0
- superset_sup-0.1.0/src/sup/output/formatters.py +366 -0
- superset_sup-0.1.0/src/sup/output/spinners.py +75 -0
- superset_sup-0.1.0/src/sup/output/styles.py +134 -0
- superset_sup-0.1.0/src/sup/output/tables.py +384 -0
- superset_sup-0.1.0/src/superset_sup.egg-info/PKG-INFO +434 -0
- superset_sup-0.1.0/src/superset_sup.egg-info/SOURCES.txt +196 -0
- superset_sup-0.1.0/src/superset_sup.egg-info/dependency_links.txt +1 -0
- superset_sup-0.1.0/src/superset_sup.egg-info/entry_points.txt +4 -0
- superset_sup-0.1.0/src/superset_sup.egg-info/requires.txt +46 -0
- superset_sup-0.1.0/src/superset_sup.egg-info/top_level.txt +2 -0
- superset_sup-0.1.0/tests/__init__.py +0 -0
- superset_sup-0.1.0/tests/api/__init__.py +0 -0
- superset_sup-0.1.0/tests/api/clients/__init__.py +0 -0
- superset_sup-0.1.0/tests/api/clients/dbt_test.py +1293 -0
- superset_sup-0.1.0/tests/api/clients/preset_test.py +516 -0
- superset_sup-0.1.0/tests/api/clients/superset_test.py +3820 -0
- superset_sup-0.1.0/tests/auth/__init__.py +0 -0
- superset_sup-0.1.0/tests/auth/jwt_test.py +51 -0
- superset_sup-0.1.0/tests/auth/lib_test.py +82 -0
- superset_sup-0.1.0/tests/auth/main_test.py +31 -0
- superset_sup-0.1.0/tests/auth/preset_test.py +85 -0
- superset_sup-0.1.0/tests/auth/superset_test.py +82 -0
- superset_sup-0.1.0/tests/cli/__init__.py +0 -0
- superset_sup-0.1.0/tests/cli/export_users_test.py +619 -0
- superset_sup-0.1.0/tests/cli/main_test.py +2390 -0
- superset_sup-0.1.0/tests/cli/superset/__init__.py +0 -0
- superset_sup-0.1.0/tests/cli/superset/export_test.py +1035 -0
- superset_sup-0.1.0/tests/cli/superset/import_test.py +384 -0
- superset_sup-0.1.0/tests/cli/superset/lib_test.py +226 -0
- superset_sup-0.1.0/tests/cli/superset/main_test.py +167 -0
- superset_sup-0.1.0/tests/cli/superset/sql_test.py +405 -0
- superset_sup-0.1.0/tests/cli/superset/sync/__init__.py +0 -0
- superset_sup-0.1.0/tests/cli/superset/sync/dbt/__init__.py +0 -0
- superset_sup-0.1.0/tests/cli/superset/sync/dbt/command_test.py +3929 -0
- superset_sup-0.1.0/tests/cli/superset/sync/dbt/databases_test.py +422 -0
- superset_sup-0.1.0/tests/cli/superset/sync/dbt/datasets_test.py +2317 -0
- superset_sup-0.1.0/tests/cli/superset/sync/dbt/exposures_test.py +798 -0
- superset_sup-0.1.0/tests/cli/superset/sync/dbt/lib_test.py +1190 -0
- superset_sup-0.1.0/tests/cli/superset/sync/dbt/manifest-metricflow.json +1 -0
- superset_sup-0.1.0/tests/cli/superset/sync/dbt/manifest.json +330 -0
- superset_sup-0.1.0/tests/cli/superset/sync/dbt/metrics_test.py +1251 -0
- superset_sup-0.1.0/tests/cli/superset/sync/native/__init__.py +0 -0
- superset_sup-0.1.0/tests/cli/superset/sync/native/command_test.py +2395 -0
- superset_sup-0.1.0/tests/conftest.py +10 -0
- superset_sup-0.1.0/tests/lib_test.py +146 -0
- superset_sup-0.1.0/tox.ini +69 -0
- superset_sup-0.1.0/uv.lock +2361 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# .coveragerc to control coverage.py
|
|
2
|
+
[run]
|
|
3
|
+
branch = True
|
|
4
|
+
source = preset_cli
|
|
5
|
+
# omit = bad_file.py
|
|
6
|
+
|
|
7
|
+
[paths]
|
|
8
|
+
source =
|
|
9
|
+
src/
|
|
10
|
+
*/site-packages/
|
|
11
|
+
|
|
12
|
+
[report]
|
|
13
|
+
# Regexes for lines to exclude from consideration
|
|
14
|
+
exclude_lines =
|
|
15
|
+
# Have to re-enable the standard pragma
|
|
16
|
+
pragma: no cover
|
|
17
|
+
|
|
18
|
+
# Don't complain about missing debug-only code:
|
|
19
|
+
def __repr__
|
|
20
|
+
if self\.debug
|
|
21
|
+
|
|
22
|
+
# Don't complain if tests don't hit defensive assertion code:
|
|
23
|
+
raise AssertionError
|
|
24
|
+
raise NotImplementedError
|
|
25
|
+
|
|
26
|
+
# Don't complain if non-runnable code isn't run:
|
|
27
|
+
if 0:
|
|
28
|
+
if __name__ == .__main__.:
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
name: Generate and Build Documentation
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
paths:
|
|
7
|
+
- 'src/sup/**/*.py' # Trigger on CLI changes
|
|
8
|
+
- 'docs-site/**' # Or manual doc updates
|
|
9
|
+
- 'scripts/generate_cli_docs.py'
|
|
10
|
+
pull_request:
|
|
11
|
+
branches: [main]
|
|
12
|
+
paths:
|
|
13
|
+
- 'src/sup/**/*.py'
|
|
14
|
+
- 'docs-site/**'
|
|
15
|
+
- 'scripts/generate_cli_docs.py'
|
|
16
|
+
workflow_dispatch: # Allow manual trigger
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
build:
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
steps:
|
|
22
|
+
- name: Checkout
|
|
23
|
+
uses: actions/checkout@v4
|
|
24
|
+
|
|
25
|
+
- name: Setup Python
|
|
26
|
+
uses: actions/setup-python@v5
|
|
27
|
+
with:
|
|
28
|
+
python-version: '3.11'
|
|
29
|
+
|
|
30
|
+
- name: Install sup CLI
|
|
31
|
+
run: |
|
|
32
|
+
pip install --upgrade pip
|
|
33
|
+
pip install -e .
|
|
34
|
+
|
|
35
|
+
- name: Generate CLI command documentation
|
|
36
|
+
run: python scripts/generate_cli_docs.py
|
|
37
|
+
|
|
38
|
+
- name: Setup Node.js
|
|
39
|
+
uses: actions/setup-node@v4
|
|
40
|
+
with:
|
|
41
|
+
node-version: '20'
|
|
42
|
+
cache: 'npm'
|
|
43
|
+
cache-dependency-path: docs-site/package-lock.json
|
|
44
|
+
|
|
45
|
+
- name: Install dependencies
|
|
46
|
+
working-directory: docs-site
|
|
47
|
+
run: npm ci
|
|
48
|
+
|
|
49
|
+
- name: Build documentation site
|
|
50
|
+
working-directory: docs-site
|
|
51
|
+
run: npm run build
|
|
52
|
+
|
|
53
|
+
- name: Upload build artifact
|
|
54
|
+
uses: actions/upload-artifact@v4
|
|
55
|
+
with:
|
|
56
|
+
name: documentation-site
|
|
57
|
+
path: docs-site/dist
|
|
58
|
+
|
|
59
|
+
deploy:
|
|
60
|
+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
|
61
|
+
needs: build
|
|
62
|
+
runs-on: ubuntu-latest
|
|
63
|
+
permissions:
|
|
64
|
+
pages: write
|
|
65
|
+
id-token: write
|
|
66
|
+
environment:
|
|
67
|
+
name: github-pages
|
|
68
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
69
|
+
steps:
|
|
70
|
+
- name: Download build artifact
|
|
71
|
+
uses: actions/download-artifact@v4
|
|
72
|
+
with:
|
|
73
|
+
name: documentation-site
|
|
74
|
+
path: ./dist
|
|
75
|
+
|
|
76
|
+
- name: Setup Pages
|
|
77
|
+
uses: actions/configure-pages@v4
|
|
78
|
+
|
|
79
|
+
- name: Upload to GitHub Pages
|
|
80
|
+
uses: actions/upload-pages-artifact@v3
|
|
81
|
+
with:
|
|
82
|
+
path: ./dist
|
|
83
|
+
|
|
84
|
+
- name: Deploy to GitHub Pages
|
|
85
|
+
id: deployment
|
|
86
|
+
uses: actions/deploy-pages@v4
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
|
|
2
|
+
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
|
|
3
|
+
|
|
4
|
+
name: Run tests with latest dependencies
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
schedule:
|
|
8
|
+
- cron: "0 6 * * *"
|
|
9
|
+
workflow_dispatch:
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
build:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
strategy:
|
|
15
|
+
fail-fast: false
|
|
16
|
+
matrix:
|
|
17
|
+
python-version: [3.8, 3.9, "3.10", "3.11"]
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v2
|
|
21
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
22
|
+
uses: actions/setup-python@v2
|
|
23
|
+
with:
|
|
24
|
+
python-version: ${{ matrix.python-version }}
|
|
25
|
+
|
|
26
|
+
- name: Install uv and set the python version
|
|
27
|
+
uses: astral-sh/setup-uv@v6
|
|
28
|
+
with:
|
|
29
|
+
python-version: ${{ matrix.python-version }}
|
|
30
|
+
|
|
31
|
+
- name: Install dependencies
|
|
32
|
+
run: uv sync --locked --extra testing
|
|
33
|
+
|
|
34
|
+
- name: Test with pytest
|
|
35
|
+
run: |
|
|
36
|
+
uv run pre-commit run --all-files
|
|
37
|
+
uv run pytest --cov-fail-under=100 --cov=src/preset_cli -vv tests/
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
|
|
2
|
+
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
|
|
3
|
+
|
|
4
|
+
name: Run tests with pinned dependencies
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
push:
|
|
8
|
+
branches: [main]
|
|
9
|
+
pull_request:
|
|
10
|
+
branches: [main]
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
build:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
strategy:
|
|
16
|
+
fail-fast: false
|
|
17
|
+
matrix:
|
|
18
|
+
python-version: [3.8, 3.9, "3.10", "3.11"]
|
|
19
|
+
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v2
|
|
22
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
23
|
+
uses: actions/setup-python@v2
|
|
24
|
+
with:
|
|
25
|
+
python-version: ${{ matrix.python-version }}
|
|
26
|
+
|
|
27
|
+
- name: Install uv and set the python version
|
|
28
|
+
uses: astral-sh/setup-uv@v6
|
|
29
|
+
with:
|
|
30
|
+
python-version: ${{ matrix.python-version }}
|
|
31
|
+
|
|
32
|
+
- name: Install dependencies
|
|
33
|
+
run: uv sync --locked --extra testing
|
|
34
|
+
|
|
35
|
+
- name: Test with pytest
|
|
36
|
+
run: |
|
|
37
|
+
uv run pre-commit run --all-files
|
|
38
|
+
uv run pytest --cov-fail-under=100 --cov=src/preset_cli -vv tests/
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# This workflow will upload a Python Package using Twine when a release is created
|
|
2
|
+
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
|
|
3
|
+
|
|
4
|
+
# This workflow uses actions that are not certified by GitHub.
|
|
5
|
+
# They are provided by a third-party and are governed by
|
|
6
|
+
# separate terms of service, privacy policy, and support
|
|
7
|
+
# documentation.
|
|
8
|
+
|
|
9
|
+
name: Upload Python Package
|
|
10
|
+
|
|
11
|
+
on:
|
|
12
|
+
release:
|
|
13
|
+
types: [published]
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
deploy:
|
|
17
|
+
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v2
|
|
22
|
+
- name: Set up Python
|
|
23
|
+
uses: actions/setup-python@v2
|
|
24
|
+
with:
|
|
25
|
+
python-version: '3.x'
|
|
26
|
+
- name: Install dependencies
|
|
27
|
+
run: |
|
|
28
|
+
python -m pip install --upgrade pip
|
|
29
|
+
pip install build
|
|
30
|
+
- name: Build package
|
|
31
|
+
run: python -m build
|
|
32
|
+
- name: Publish package
|
|
33
|
+
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
|
|
34
|
+
with:
|
|
35
|
+
user: __token__
|
|
36
|
+
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Temporary and binary files
|
|
2
|
+
*~
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*.so
|
|
5
|
+
*.cfg
|
|
6
|
+
!.isort.cfg
|
|
7
|
+
!setup.cfg
|
|
8
|
+
*.orig
|
|
9
|
+
*.log
|
|
10
|
+
*.pot
|
|
11
|
+
__pycache__/*
|
|
12
|
+
.cache/*
|
|
13
|
+
.*.swp
|
|
14
|
+
*/.ipynb_checkpoints/*
|
|
15
|
+
.DS_Store
|
|
16
|
+
|
|
17
|
+
# Project files
|
|
18
|
+
.ropeproject
|
|
19
|
+
.project
|
|
20
|
+
.pydevproject
|
|
21
|
+
.settings
|
|
22
|
+
.idea
|
|
23
|
+
.vscode
|
|
24
|
+
tags
|
|
25
|
+
|
|
26
|
+
# Package files
|
|
27
|
+
*.egg
|
|
28
|
+
*.eggs/
|
|
29
|
+
.installed.cfg
|
|
30
|
+
*.egg-info
|
|
31
|
+
|
|
32
|
+
# Unittest and coverage
|
|
33
|
+
htmlcov/*
|
|
34
|
+
.coverage
|
|
35
|
+
.coverage.*
|
|
36
|
+
.tox
|
|
37
|
+
junit*.xml
|
|
38
|
+
coverage.xml
|
|
39
|
+
.pytest_cache/
|
|
40
|
+
|
|
41
|
+
# Build and docs folder/files
|
|
42
|
+
build/*
|
|
43
|
+
dist/*
|
|
44
|
+
sdist/*
|
|
45
|
+
docs/api/*
|
|
46
|
+
docs/_rst/*
|
|
47
|
+
docs/_build/*
|
|
48
|
+
cover/*
|
|
49
|
+
MANIFEST
|
|
50
|
+
|
|
51
|
+
# Per-project virtualenvs
|
|
52
|
+
.venv*/
|
|
53
|
+
.conda*/
|
|
54
|
+
.python-version
|
|
55
|
+
|
|
56
|
+
.pyre/
|
|
57
|
+
.pyre_configuration
|
|
58
|
+
.watchmanconfig
|
|
59
|
+
|
|
60
|
+
# sup CLI local state and assets
|
|
61
|
+
.sup/
|
|
62
|
+
assets/
|
|
63
|
+
|
|
64
|
+
# dotenv files
|
|
65
|
+
.envrc
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
exclude: '^docs/conf.py'
|
|
2
|
+
|
|
3
|
+
repos:
|
|
4
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
5
|
+
rev: v3.4.0
|
|
6
|
+
hooks:
|
|
7
|
+
#- id: check-added-large-files
|
|
8
|
+
- id: check-ast
|
|
9
|
+
- id: check-json
|
|
10
|
+
- id: check-merge-conflict
|
|
11
|
+
- id: check-xml
|
|
12
|
+
- id: check-yaml
|
|
13
|
+
exclude: ^examples
|
|
14
|
+
- id: debug-statements
|
|
15
|
+
- id: end-of-file-fixer
|
|
16
|
+
- id: requirements-txt-fixer
|
|
17
|
+
- id: mixed-line-ending
|
|
18
|
+
args: ['--fix=auto'] # replace 'auto' with 'lf' to enforce Linux/Mac line endings or 'crlf' for Windows
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
22
|
+
rev: v0.8.0
|
|
23
|
+
hooks:
|
|
24
|
+
- id: ruff
|
|
25
|
+
args: [--fix]
|
|
26
|
+
- id: ruff-format
|
|
27
|
+
|
|
28
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
29
|
+
rev: 'v0.981' # Use the sha / tag you want to point at
|
|
30
|
+
hooks:
|
|
31
|
+
- id: mypy
|
|
32
|
+
additional_dependencies:
|
|
33
|
+
- types-requests
|
|
34
|
+
- types-freezegun
|
|
35
|
+
- types-python-dateutil
|
|
36
|
+
- types-setuptools
|
|
37
|
+
- types-PyYAML
|
|
38
|
+
- types-tabulate
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Read the Docs configuration file
|
|
2
|
+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
|
3
|
+
|
|
4
|
+
# Required
|
|
5
|
+
version: 2
|
|
6
|
+
|
|
7
|
+
# Build documentation in the docs/ directory with Sphinx
|
|
8
|
+
sphinx:
|
|
9
|
+
configuration: docs/conf.py
|
|
10
|
+
|
|
11
|
+
# Build documentation with MkDocs
|
|
12
|
+
#mkdocs:
|
|
13
|
+
# configuration: mkdocs.yml
|
|
14
|
+
|
|
15
|
+
# Optionally build your docs in additional formats such as PDF
|
|
16
|
+
formats:
|
|
17
|
+
- pdf
|
|
18
|
+
|
|
19
|
+
python:
|
|
20
|
+
version: 3.8
|
|
21
|
+
install:
|
|
22
|
+
- requirements: docs/requirements.txt
|
|
23
|
+
- {path: ., method: pip}
|