prefect-cloud 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.
Files changed (55) hide show
  1. prefect_cloud-0.1.0/.github/CODEOWNERS +1 -0
  2. prefect_cloud-0.1.0/.github/workflows/publish.yaml +28 -0
  3. prefect_cloud-0.1.0/.github/workflows/python-tests.yaml +61 -0
  4. prefect_cloud-0.1.0/.github/workflows/static-analysis.yaml +50 -0
  5. prefect_cloud-0.1.0/.gitignore +186 -0
  6. prefect_cloud-0.1.0/.pre-commit-config.yaml +25 -0
  7. prefect_cloud-0.1.0/PKG-INFO +112 -0
  8. prefect_cloud-0.1.0/README.md +90 -0
  9. prefect_cloud-0.1.0/examples/hello.py +2 -0
  10. prefect_cloud-0.1.0/pyproject.toml +53 -0
  11. prefect_cloud-0.1.0/pyrightconfig.json +49 -0
  12. prefect_cloud-0.1.0/src/prefect_cloud/__init__.py +0 -0
  13. prefect_cloud-0.1.0/src/prefect_cloud/auth.py +419 -0
  14. prefect_cloud-0.1.0/src/prefect_cloud/cli/__init__.py +0 -0
  15. prefect_cloud-0.1.0/src/prefect_cloud/cli/completions.py +54 -0
  16. prefect_cloud-0.1.0/src/prefect_cloud/cli/root.py +468 -0
  17. prefect_cloud-0.1.0/src/prefect_cloud/cli/utilities.py +202 -0
  18. prefect_cloud-0.1.0/src/prefect_cloud/client.py +832 -0
  19. prefect_cloud-0.1.0/src/prefect_cloud/dependencies.py +80 -0
  20. prefect_cloud-0.1.0/src/prefect_cloud/deployments.py +88 -0
  21. prefect_cloud-0.1.0/src/prefect_cloud/github.py +113 -0
  22. prefect_cloud-0.1.0/src/prefect_cloud/py.typed +0 -0
  23. prefect_cloud-0.1.0/src/prefect_cloud/schemas/__init__.py +0 -0
  24. prefect_cloud-0.1.0/src/prefect_cloud/schemas/actions.py +88 -0
  25. prefect_cloud-0.1.0/src/prefect_cloud/schemas/objects.py +167 -0
  26. prefect_cloud-0.1.0/src/prefect_cloud/schemas/responses.py +14 -0
  27. prefect_cloud-0.1.0/src/prefect_cloud/settings.py +18 -0
  28. prefect_cloud-0.1.0/src/prefect_cloud/types.py +56 -0
  29. prefect_cloud-0.1.0/src/prefect_cloud/utilities/__init__.py +0 -0
  30. prefect_cloud-0.1.0/src/prefect_cloud/utilities/blocks.py +15 -0
  31. prefect_cloud-0.1.0/src/prefect_cloud/utilities/callables.py +683 -0
  32. prefect_cloud-0.1.0/src/prefect_cloud/utilities/exception.py +41 -0
  33. prefect_cloud-0.1.0/src/prefect_cloud/utilities/flows.py +55 -0
  34. prefect_cloud-0.1.0/src/prefect_cloud/utilities/generics.py +63 -0
  35. prefect_cloud-0.1.0/src/prefect_cloud/utilities/pendulum.py +78 -0
  36. prefect_cloud-0.1.0/src/prefect_cloud/utilities/tui.py +80 -0
  37. prefect_cloud-0.1.0/tests/.cursorrules +20 -0
  38. prefect_cloud-0.1.0/tests/__init__.py +0 -0
  39. prefect_cloud-0.1.0/tests/conftest.py +30 -0
  40. prefect_cloud-0.1.0/tests/test_auth.py +609 -0
  41. prefect_cloud-0.1.0/tests/test_auth_interactive.py +100 -0
  42. prefect_cloud-0.1.0/tests/test_auth_profiles.py +340 -0
  43. prefect_cloud-0.1.0/tests/test_cli/test_root.py +509 -0
  44. prefect_cloud-0.1.0/tests/test_cli/test_utilities.py +75 -0
  45. prefect_cloud-0.1.0/tests/test_client.py +248 -0
  46. prefect_cloud-0.1.0/tests/test_github.py +200 -0
  47. prefect_cloud-0.1.0/tests/test_run.py +123 -0
  48. prefect_cloud-0.1.0/tests/test_schedules.py +368 -0
  49. prefect_cloud-0.1.0/tests/test_the_tests.py +2 -0
  50. prefect_cloud-0.1.0/tests/test_utilities/test_blocks.py +37 -0
  51. prefect_cloud-0.1.0/tests/test_utilities/test_callables.py +1461 -0
  52. prefect_cloud-0.1.0/tests/test_utilities/test_flows.py +133 -0
  53. prefect_cloud-0.1.0/tests/test_utilities/test_generics.py +44 -0
  54. prefect_cloud-0.1.0/tests/test_utilities/test_tui.py +98 -0
  55. prefect_cloud-0.1.0/uv.lock +1023 -0
@@ -0,0 +1 @@
1
+ * @jakekaplan @chrisguidry
@@ -0,0 +1,28 @@
1
+ name: Publish Prefect Cloud to PyPI
2
+ on:
3
+ release:
4
+ types: [published]
5
+ workflow_dispatch:
6
+
7
+ jobs:
8
+ pypi-publish:
9
+ name: Upload to PyPI
10
+ environment: prd
11
+ runs-on: ubuntu-latest
12
+ permissions:
13
+ contents: read # allow access to the repo
14
+ id-token: write # For PyPI's trusted publishing
15
+ steps:
16
+ - name: Checkout
17
+ uses: actions/checkout@v4
18
+ with:
19
+ fetch-depth: 0
20
+
21
+ - name: "Install uv"
22
+ uses: astral-sh/setup-uv@v3
23
+
24
+ - name: Build
25
+ run: uv build
26
+
27
+ - name: Publish to PyPi
28
+ run: uv publish -v dist/*
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: Python Tests
3
+
4
+ env:
5
+ PY_COLORS: 1
6
+
7
+ "on":
8
+ pull_request:
9
+ paths:
10
+ - .github/workflows/python-tests.yaml
11
+ - "**/*.py"
12
+ - pyproject.toml
13
+ - uv.lock
14
+ push:
15
+ branches:
16
+ - main
17
+ paths:
18
+ - .github/workflows/python-tests.yaml
19
+ - "**/*.py"
20
+ - pyproject.toml
21
+ - uv.lock
22
+
23
+ concurrency:
24
+ group: ${{ github.workflow }}-${{ github.ref }}
25
+ cancel-in-progress: ${{ github.event_name == 'pull_request' }}
26
+
27
+ jobs:
28
+ run_unit_tests:
29
+ name: "Unit tests"
30
+ permissions:
31
+ contents: read
32
+ timeout-minutes: 10
33
+ runs-on: ubuntu-latest
34
+ strategy:
35
+ matrix:
36
+ python-version:
37
+ - "3.10"
38
+ - "3.11"
39
+ - "3.12"
40
+ steps:
41
+ - uses: actions/checkout@v4
42
+ with:
43
+ fetch-depth: 0
44
+ persist-credentials: false
45
+
46
+ - name: Install uv
47
+ uses: astral-sh/setup-uv@v5
48
+ with:
49
+ version: "0.5.26"
50
+ enable-cache: true
51
+ cache-dependency-glob: "uv.lock"
52
+ python-version: ${{ matrix.python-version }}
53
+
54
+ - name: Set up Python
55
+ run: uv python install
56
+
57
+ - name: Install Project
58
+ run: uv sync --all-extras --dev
59
+
60
+ - name: Run tests
61
+ run: uv run pytest tests
@@ -0,0 +1,50 @@
1
+ name: Static analysis
2
+
3
+ # on PR and push to main
4
+ on:
5
+ push:
6
+ branches:
7
+ - main
8
+ pull_request:
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ # Limit concurrency by workflow/branch combination.
14
+ #
15
+ # For pull request builds, pushing additional changes to the
16
+ # branch will cancel prior in-progress and pending builds.
17
+ #
18
+ # For builds triggered on a branch push, additional changes
19
+ # will wait for prior builds to complete before starting.
20
+ #
21
+ # https://docs.github.com/en/actions/using-jobs/using-concurrency
22
+ concurrency:
23
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
24
+ cancel-in-progress: ${{ github.event_name == 'pull_request' }}
25
+
26
+ jobs:
27
+ pre-commit-checks:
28
+ name: Pre-commit checks
29
+ runs-on: ubuntu-latest
30
+
31
+ steps:
32
+ - uses: actions/checkout@v4
33
+ with:
34
+ persist-credentials: false
35
+ fetch-depth: 0
36
+ - name: Install uv
37
+ uses: astral-sh/setup-uv@v5
38
+ with:
39
+ version: "0.5.26"
40
+ enable-cache: true
41
+ cache-dependency-glob: "uv.lock"
42
+
43
+ - name: Set up Python
44
+ run: uv python install
45
+
46
+ - name: Install Project
47
+ run: uv sync --all-extras --dev
48
+
49
+ - name: Run pre-commit
50
+ run: uv run pre-commit run --show-diff-on-failure --color=always --all-files
@@ -0,0 +1,186 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # All node modules in any directory
30
+ node_modules/
31
+ _docs/
32
+
33
+
34
+ # PyInstaller
35
+ # Usually these files are written by a python script from a template
36
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
37
+ *.manifest
38
+ *.spec
39
+
40
+ # Installer logs
41
+ pip-log.txt
42
+ pip-delete-this-directory.txt
43
+
44
+ /sandbox/*
45
+ !/sandbox/pyproject.toml
46
+
47
+ # Unit test / coverage reports
48
+ htmlcov/
49
+ .tox/
50
+ .nox/
51
+ .coverage
52
+ .coverage.*
53
+ .cache
54
+ nosetests.xml
55
+ coverage.xml
56
+ *.cover
57
+ *.py,cover
58
+ .hypothesis/
59
+ .pytest_cache/
60
+ .pytest_cache/*
61
+ cover/
62
+
63
+ # Translations
64
+ *.mo
65
+ *.pot
66
+
67
+ # Django stuff:
68
+ *.log
69
+ local_settings.py
70
+ db.sqlite3
71
+ db.sqlite3-journal
72
+
73
+ # Flask stuff:
74
+ instance/
75
+ .webassets-cache
76
+
77
+ # Scrapy stuff:
78
+ .scrapy
79
+
80
+ # Sphinx documentation
81
+ docs/_build/
82
+
83
+ # PyBuilder
84
+ .pybuilder/
85
+ target/
86
+
87
+ # Jupyter Notebook
88
+ .ipynb_checkpoints
89
+
90
+ # IPython
91
+ profile_default/
92
+ ipython_config.py
93
+
94
+ # pyenv
95
+ # For a library or package, you might want to ignore these files since the code is
96
+ # intended to run in multiple environments; otherwise, check them in:
97
+ .python-version
98
+
99
+ # pipenv
100
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
101
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
102
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
103
+ # install all needed dependencies.
104
+ #Pipfile.lock
105
+
106
+ # poetry
107
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
108
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
109
+ # commonly ignored for libraries.
110
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
111
+ #poetry.lock
112
+
113
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
114
+ __pypackages__/
115
+
116
+ # Celery stuff
117
+ celerybeat-schedule
118
+ celerybeat.pid
119
+
120
+ # SageMath parsed files
121
+ *.sage.py
122
+
123
+ # Environments
124
+ .env
125
+ .venv
126
+ env/
127
+ venv/
128
+ ENV/
129
+ env.bak/
130
+ venv.bak/
131
+ .envrc
132
+
133
+ # Spyder project settings
134
+ .spyderproject
135
+ .spyproject
136
+
137
+ # Rope project settings
138
+ .ropeproject
139
+
140
+ # mkdocs documentation
141
+ /site
142
+
143
+ # mypy
144
+ .mypy_cache/
145
+ .dmypy.json
146
+ dmypy.json
147
+
148
+ # Pyre type checker
149
+ .pyre/
150
+
151
+ # pytype static type analyzer
152
+ .pytype/
153
+
154
+ # Cython debug symbols
155
+ cython_debug/
156
+
157
+ # PyCharm
158
+ # JetBrains specific template is maintainted in a separate JetBrains.gitignore that can
159
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
160
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
161
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
162
+ #.idea/
163
+
164
+ .DS_Store
165
+
166
+ # ruff
167
+ .ruff_cache/**/*
168
+
169
+ # VS Code
170
+ .vscode/
171
+
172
+ local_examples/
173
+
174
+ # Chroma
175
+ .chroma/
176
+
177
+ # versioning
178
+ src/raggy/_version.py
179
+
180
+ # Prefect
181
+ .prefect/
182
+ .prefect/*.json
183
+ .prefectignore
184
+
185
+ # ruff
186
+ .ruff_cache
@@ -0,0 +1,25 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ rev: "v0.9.4"
4
+ hooks:
5
+ - id: ruff
6
+ language_version: python3
7
+ args: [--fix, --exit-non-zero-on-fix, --show-fixes]
8
+ - id: ruff-format
9
+ - repo: https://github.com/astral-sh/uv-pre-commit
10
+ # uv version.
11
+ rev: 0.5.26
12
+ hooks:
13
+ - id: uv-lock
14
+ - repo: https://github.com/codespell-project/codespell
15
+ rev: v2.2.6
16
+ hooks:
17
+ - id: codespell
18
+ exclude: package-lock.json|_vendor/.*|docs/styles/.*
19
+ - repo: local
20
+ hooks:
21
+ - id: type-check
22
+ name: type-check
23
+ entry: uvx --with-editable . pyright -p pyrightconfig.json
24
+ language: python
25
+ files: ^(src/|tests/).*\.py$
@@ -0,0 +1,112 @@
1
+ Metadata-Version: 2.4
2
+ Name: prefect-cloud
3
+ Version: 0.1.0
4
+ Summary: Package for easily deploying to Prefect Cloud.
5
+ Author-email: "Prefect Technologies, Inc." <help@prefect.io>
6
+ Requires-Python: >=3.10
7
+ Requires-Dist: croniter>=6.0.0
8
+ Requires-Dist: griffe>=1.5.6
9
+ Requires-Dist: httpx>=0.28.1
10
+ Requires-Dist: pendulum>=3.0.0
11
+ Requires-Dist: pydantic-extra-types>=2.10.2
12
+ Requires-Dist: pydantic-settings>=2.7.1
13
+ Requires-Dist: pydantic>=2.10.6
14
+ Requires-Dist: readchar>=4.2.1
15
+ Requires-Dist: rich>=13.9.4
16
+ Requires-Dist: toml>=0.10.2
17
+ Requires-Dist: typer>=0.13.1
18
+ Requires-Dist: typing-extensions>=4.12.2
19
+ Requires-Dist: tzlocal>=5.2
20
+ Requires-Dist: uv>=0.5.26
21
+ Description-Content-Type: text/markdown
22
+
23
+ # prefect-cloud
24
+
25
+ :zap: Deploy your code to Prefect Cloud in seconds! :zap:
26
+
27
+ Deploy and run your Python functions on Prefect Cloud with a single command.
28
+
29
+ ## Installation
30
+ First, install `uv` if you haven't already. See [installation docs here](https://docs.astral.sh/uv/getting-started/installation/)
31
+ ```bash
32
+ curl -LsSf https://astral.sh/uv/install.sh | sh
33
+ ```
34
+
35
+ Create and activate a virtual environment:
36
+ ```bash
37
+ uv venv && source .venv/bin/activate
38
+ ```
39
+
40
+ Then install prefect-cloud:
41
+ ```bash
42
+ uv pip install prefect-cloud
43
+ ```
44
+
45
+ Alternatively, you can run `prefect-cloud` as a tool without installing it using `uvx`. See [uv tools guide](https://docs.astral.sh/uv/guides/tools/) for more details.
46
+
47
+ ## Login to Prefect Cloud
48
+
49
+ ```bash
50
+ prefect-cloud login
51
+ ```
52
+
53
+ ## Deploy your workflow
54
+
55
+ Deploy any Python function from a GitHub repository. For example:
56
+
57
+ ```python
58
+ # https://github.com/ExampleOwner/example-repo-cloud/blob/main/examples/hello.py
59
+
60
+ def hello_world():
61
+ print("Hello, World!")
62
+ ```
63
+
64
+ ### Deploy to Prefect Cloud
65
+ ```
66
+ prefect-cloud deploy <path/to/file.py:function_name> --from <source repo URL>
67
+ ```
68
+ e.g.
69
+ ```bash
70
+ prefect-cloud deploy examples/hello.py:hello_world --from https://github.com/PrefectHQ/prefect-cloud/
71
+ ```
72
+
73
+ ### Run it with
74
+ ```bash
75
+ prefect-cloud run <flow_name>/<deployment_name>
76
+ ````
77
+ e.g.
78
+ ```bash
79
+ prefect-cloud run hello_world/hello_world
80
+ ```
81
+
82
+ ### Schedule it with
83
+ ```bash
84
+ prefect-cloud schedule <flow_name>/<deployment_name> <SCHEDULE>
85
+ ````
86
+ e.g.
87
+ ```bash
88
+ prefect-cloud schedule hello_world/hello_world "0 * * * *"
89
+ ```
90
+
91
+
92
+ ### Additional Options
93
+
94
+ **Add Dependencies**
95
+ ```bash
96
+ # Add dependencies
97
+ prefect-cloud deploy ... --with pandas --with numpy
98
+
99
+ # Or install from requirements file at runtime
100
+ prefect-cloud deploy ... --with-requirements </path/to/requirements.txt>
101
+ ```
102
+
103
+ **Inclcude Environment Variables**
104
+ ```bash
105
+ prefect-cloud deploy ... --env KEY=VALUE --env KEY2=VALUE2
106
+ ```
107
+
108
+ **From a Private Repository**
109
+ ```bash
110
+ prefect-cloud deploy ... --from <private source repo URL> --credentials GITHUB_TOKEN
111
+ ```
112
+
@@ -0,0 +1,90 @@
1
+ # prefect-cloud
2
+
3
+ :zap: Deploy your code to Prefect Cloud in seconds! :zap:
4
+
5
+ Deploy and run your Python functions on Prefect Cloud with a single command.
6
+
7
+ ## Installation
8
+ First, install `uv` if you haven't already. See [installation docs here](https://docs.astral.sh/uv/getting-started/installation/)
9
+ ```bash
10
+ curl -LsSf https://astral.sh/uv/install.sh | sh
11
+ ```
12
+
13
+ Create and activate a virtual environment:
14
+ ```bash
15
+ uv venv && source .venv/bin/activate
16
+ ```
17
+
18
+ Then install prefect-cloud:
19
+ ```bash
20
+ uv pip install prefect-cloud
21
+ ```
22
+
23
+ Alternatively, you can run `prefect-cloud` as a tool without installing it using `uvx`. See [uv tools guide](https://docs.astral.sh/uv/guides/tools/) for more details.
24
+
25
+ ## Login to Prefect Cloud
26
+
27
+ ```bash
28
+ prefect-cloud login
29
+ ```
30
+
31
+ ## Deploy your workflow
32
+
33
+ Deploy any Python function from a GitHub repository. For example:
34
+
35
+ ```python
36
+ # https://github.com/ExampleOwner/example-repo-cloud/blob/main/examples/hello.py
37
+
38
+ def hello_world():
39
+ print("Hello, World!")
40
+ ```
41
+
42
+ ### Deploy to Prefect Cloud
43
+ ```
44
+ prefect-cloud deploy <path/to/file.py:function_name> --from <source repo URL>
45
+ ```
46
+ e.g.
47
+ ```bash
48
+ prefect-cloud deploy examples/hello.py:hello_world --from https://github.com/PrefectHQ/prefect-cloud/
49
+ ```
50
+
51
+ ### Run it with
52
+ ```bash
53
+ prefect-cloud run <flow_name>/<deployment_name>
54
+ ````
55
+ e.g.
56
+ ```bash
57
+ prefect-cloud run hello_world/hello_world
58
+ ```
59
+
60
+ ### Schedule it with
61
+ ```bash
62
+ prefect-cloud schedule <flow_name>/<deployment_name> <SCHEDULE>
63
+ ````
64
+ e.g.
65
+ ```bash
66
+ prefect-cloud schedule hello_world/hello_world "0 * * * *"
67
+ ```
68
+
69
+
70
+ ### Additional Options
71
+
72
+ **Add Dependencies**
73
+ ```bash
74
+ # Add dependencies
75
+ prefect-cloud deploy ... --with pandas --with numpy
76
+
77
+ # Or install from requirements file at runtime
78
+ prefect-cloud deploy ... --with-requirements </path/to/requirements.txt>
79
+ ```
80
+
81
+ **Inclcude Environment Variables**
82
+ ```bash
83
+ prefect-cloud deploy ... --env KEY=VALUE --env KEY2=VALUE2
84
+ ```
85
+
86
+ **From a Private Repository**
87
+ ```bash
88
+ prefect-cloud deploy ... --from <private source repo URL> --credentials GITHUB_TOKEN
89
+ ```
90
+
@@ -0,0 +1,2 @@
1
+ def hello_world():
2
+ print("Hello, World!")
@@ -0,0 +1,53 @@
1
+ [project]
2
+ name = "prefect-cloud"
3
+ version = "0.1.0"
4
+ description = "Package for easily deploying to Prefect Cloud."
5
+ readme = "README.md"
6
+ authors = [{ name = "Prefect Technologies, Inc.", email = "help@prefect.io" }]
7
+
8
+ requires-python = ">=3.10"
9
+ dependencies = [
10
+ "pydantic-settings>=2.7.1",
11
+ "pydantic>=2.10.6",
12
+ "rich>=13.9.4",
13
+ "typer>=0.13.1",
14
+ "typing-extensions>=4.12.2",
15
+ "uv>=0.5.26",
16
+ "tzlocal>=5.2",
17
+ "httpx>=0.28.1",
18
+ "pydantic-extra-types>=2.10.2",
19
+ "pendulum>=3.0.0",
20
+ "toml>=0.10.2",
21
+ "griffe>=1.5.6",
22
+ "readchar>=4.2.1",
23
+ "croniter>=6.0.0",
24
+ ]
25
+
26
+ [dependency-groups]
27
+ dev = [
28
+ "coverage>=7.6.10",
29
+ "pre-commit>=4.1.0",
30
+ "pytest-asyncio>=0.25.3",
31
+ "pytest-cov>=6.0.0",
32
+ "pytest-xdist>=3.6.1",
33
+ "pytest>=8.3.4",
34
+ "respx>=0.22.0",
35
+ "ruff>=0.9.4",
36
+ "types-toml>=0.10.8.20240310",
37
+ "types-tzlocal>=5.1.0.1",
38
+ "types-croniter>=5.0.1.20241205",
39
+ "pytest-env>=1.1.5",
40
+ ]
41
+
42
+ [project.scripts]
43
+ prefect-cloud = "prefect_cloud.cli.root:app"
44
+
45
+ [build-system]
46
+ requires = ["hatchling"]
47
+ build-backend = "hatchling.build"
48
+
49
+ [tool.pytest.ini_options]
50
+ asyncio_mode = "auto"
51
+ asyncio_default_fixture_loop_scope = "session"
52
+ testpaths = ["tests"]
53
+ env = ["CLOUD_ENV=prd"]
@@ -0,0 +1,49 @@
1
+ {
2
+ "include": [
3
+ "src/prefect_cloud"
4
+ ],
5
+ "typeCheckingMode": "strict",
6
+ "strictListInference": true,
7
+ "strictDictionaryInference": true,
8
+ "strictSetInference": true,
9
+ "reportMissingTypeStubs": "error",
10
+ "reportAssertAlwaysTrue": "error",
11
+ "reportInvalidStringEscapeSequence": "error",
12
+ "reportInvalidTypeVarUse": "error",
13
+ "reportSelfClsParameterName": "error",
14
+ "reportUnsupportedDunderAll": "error",
15
+ "reportUnusedExpression": "error",
16
+ "reportWildcardImportFromLibrary": "error",
17
+ "reportConstantRedefinition": "error",
18
+ "reportDeprecated": "error",
19
+ "reportDuplicateImport": "error",
20
+ "reportIncompleteStub": "error",
21
+ "reportInconsistentConstructor": "error",
22
+ "reportMatchNotExhaustive": "error",
23
+ "reportMissingParameterType": "error",
24
+ "reportMissingTypeArgument": "error",
25
+ "reportPrivateUsage": "error",
26
+ "reportTypeCommentUsage": "error",
27
+ "reportUnnecessaryCast": "error",
28
+ "reportUnnecessaryComparison": "error",
29
+ "reportUnnecessaryContains": "error",
30
+ "reportUnnecessaryIsInstance": "error",
31
+ "reportUnusedClass": "error",
32
+ "reportUnusedImport": "error",
33
+ "reportUnusedFunction": "error",
34
+ "reportUnusedVariable": "error",
35
+ "reportUntypedBaseClass": "error",
36
+ "reportUntypedClassDecorator": "error",
37
+ "reportUntypedFunctionDecorator": "error",
38
+ "reportUntypedNamedTuple": "error",
39
+ "reportUnknownArgumentType": "warning",
40
+ "reportUnknownLambdaType": "warning",
41
+ "reportUnknownMemberType": "warning",
42
+ "reportUnknownParameterType": "warning",
43
+ "reportUnknownVariableType": "warning",
44
+ "strict": [],
45
+ "ignore": [
46
+ "tests"
47
+ ],
48
+ "reportUnnecessaryTypeIgnoreComments": false
49
+ }
File without changes