vtexpy 0.0.0b37__tar.gz → 0.0.0b39__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.

Potentially problematic release.


This version of vtexpy might be problematic. Click here for more details.

Files changed (52) hide show
  1. vtexpy-0.0.0b39/.github/CODEOWNERS +1 -0
  2. vtexpy-0.0.0b39/.github/actions/setup-python/action.yaml +28 -0
  3. vtexpy-0.0.0b39/.github/workflows/publish.yaml +82 -0
  4. vtexpy-0.0.0b39/.gitignore +94 -0
  5. vtexpy-0.0.0b39/.pre-commit-config.yaml +22 -0
  6. vtexpy-0.0.0b39/Makefile +119 -0
  7. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/PKG-INFO +17 -21
  8. vtexpy-0.0.0b39/mise.local.toml.sample +2 -0
  9. vtexpy-0.0.0b39/mise.toml +10 -0
  10. vtexpy-0.0.0b39/pyproject.toml +89 -0
  11. vtexpy-0.0.0b39/tests/__init__.py +3 -0
  12. vtexpy-0.0.0b39/tests/base.py +2 -0
  13. vtexpy-0.0.0b39/tests/conftest.py +0 -0
  14. vtexpy-0.0.0b39/tests/integration.py +8 -0
  15. vtexpy-0.0.0b39/tests/unit.py +8 -0
  16. vtexpy-0.0.0b39/tests/vtex/__init__.py +0 -0
  17. vtexpy-0.0.0b39/tests/vtex/api/__init__.py +0 -0
  18. vtexpy-0.0.0b39/tests/vtex/test_config.py +1005 -0
  19. vtexpy-0.0.0b39/uv.lock +866 -0
  20. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/__init__.py +1 -0
  21. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/catalog.py +2 -2
  22. vtexpy-0.0.0b39/vtex/_api/intelligent_search.py +68 -0
  23. vtexpy-0.0.0b39/vtex/_api/types/__init__.py +0 -0
  24. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_constants.py +4 -0
  25. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_dto.py +7 -0
  26. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_utils.py +8 -2
  27. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_vtex.py +7 -0
  28. vtexpy-0.0.0b39/vtex/py.typed +0 -0
  29. vtexpy-0.0.0b37/pyproject.toml +0 -111
  30. /vtexpy-0.0.0b37/vtex/_api/types/__init__.py → /vtexpy-0.0.0b39/CHANGELOG.md +0 -0
  31. /vtexpy-0.0.0b37/vtex/py.typed → /vtexpy-0.0.0b39/CONTRIBUTING.md +0 -0
  32. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/LICENSE +0 -0
  33. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/README.md +0 -0
  34. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/__init__.py +0 -0
  35. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/base.py +0 -0
  36. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/checkout.py +0 -0
  37. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/custom.py +0 -0
  38. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/license_manager.py +0 -0
  39. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/logistics.py +0 -0
  40. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/master_data.py +0 -0
  41. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/orders.py +0 -0
  42. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/payments_gateway.py +0 -0
  43. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/pricing.py +0 -0
  44. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/promotions_and_taxes.py +0 -0
  45. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/types/catalog.py +0 -0
  46. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/types/generic.py +0 -0
  47. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_api/types/license_manager.py +0 -0
  48. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_config.py +0 -0
  49. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_exceptions.py +0 -0
  50. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_logging.py +0 -0
  51. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_sentinels.py +0 -0
  52. {vtexpy-0.0.0b37 → vtexpy-0.0.0b39}/vtex/_types.py +0 -0
@@ -0,0 +1 @@
1
+ * @lvieirajr
@@ -0,0 +1,28 @@
1
+ #name: "Setup Python"
2
+ #description: "Sets up specific Python version with caching enabled"
3
+ #
4
+ #inputs:
5
+ # python:
6
+ # description: "Python version"
7
+ # required: true
8
+ #
9
+ #runs:
10
+ # using: "composite"
11
+ # steps:
12
+ # - name: Set up Python ${{ inputs.python }}
13
+ # uses: actions/setup-python@v5
14
+ # with:
15
+ # python-version: ${{ inputs.python }}
16
+ # update-environment: true
17
+ # - name: Cache Python dependencies
18
+ # uses: actions/cache@v4
19
+ # with:
20
+ # path: ${{ env.pythonLocation }}
21
+ # key: python-cache-${{ inputs.python }}-${{ hashFiles('**/poetry.lock') }}
22
+ # restore-keys: python-cache-${{ inputs.python }}-
23
+ # - name: Install Poetry
24
+ # run: pip install --upgrade poetry
25
+ # shell: bash
26
+ # - name: Install dependencies
27
+ # run: poetry install --compile --no-interaction --no-root --sync
28
+ # shell: bash
@@ -0,0 +1,82 @@
1
+ #name: "Publish"
2
+ #
3
+ #permissions:
4
+ # attestations: write
5
+ # contents: read
6
+ # id-token: write
7
+ #
8
+ #env:
9
+ # PIP_CACHE_DIR: "~/.cache/pip"
10
+ # PIP_DEFAULT_TIMEOUT: "60"
11
+ # PIP_DISABLE_PIP_VERSION_CHECK: "on"
12
+ # PIP_ROOT_USER_ACTION: "ignore"
13
+ # POETRY_CACHE_DIR: "~/.cache/poetry"
14
+ # POETRY_VIRTUALENVS_CREATE: "false"
15
+ #
16
+ #on:
17
+ # push:
18
+ # branches:
19
+ # - "**"
20
+ #
21
+ #jobs:
22
+ # ruff:
23
+ # name: "Ruff"
24
+ # runs-on: "ubuntu-latest"
25
+ # steps:
26
+ # - uses: actions/checkout@v4
27
+ # - uses: ./.github/actions/setup-python
28
+ # with:
29
+ # python: "3.9"
30
+ # - name: Run Ruff checker
31
+ # run: ruff check --output-format=github ./
32
+ # - name: Run Ruff formatter
33
+ # run: ruff format --check ./
34
+ #
35
+ # mypy:
36
+ # name: "Mypy"
37
+ # runs-on: "ubuntu-latest"
38
+ # steps:
39
+ # - uses: actions/checkout@v4
40
+ # - uses: ./.github/actions/setup-python
41
+ # with:
42
+ # python: "3.9"
43
+ # - name: Run Mypy
44
+ # run: mypy ./
45
+ #
46
+ # pytest:
47
+ # name: "Pytest"
48
+ # runs-on: "ubuntu-latest"
49
+ # strategy:
50
+ # matrix:
51
+ # python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
52
+ # steps:
53
+ # - uses: actions/checkout@v4
54
+ # - uses: ./.github/actions/setup-python
55
+ # with:
56
+ # python: ${{ matrix.python-version }}
57
+ # - name: Run Pytest
58
+ # run: pytest ./
59
+ #
60
+ # publish:
61
+ # name: "Publish"
62
+ # runs-on: "ubuntu-latest"
63
+ # needs:
64
+ # - ruff
65
+ # - mypy
66
+ # - pytest
67
+ # steps:
68
+ # - uses: actions/checkout@v4
69
+ # - uses: ./.github/actions/setup-python
70
+ # with:
71
+ # python: "3.9"
72
+ # - name: Update version for non-main branches
73
+ # if: github.ref_name != 'main'
74
+ # run: poetry version "$(poetry version -s).dev$((RANDOM % 9999999))"
75
+ # - name: Build package
76
+ # run: poetry build --no-interaction
77
+ # - name: Publish package
78
+ # uses: pypa/gh-action-pypi-publish@release/v1
79
+ # with:
80
+ # attestations: true
81
+ # skip-existing: true
82
+ # repository-url: ${{ github.ref_name == 'main' && 'https://upload.pypi.org/legacy/' || 'https://test.pypi.org/legacy/' }}
@@ -0,0 +1,94 @@
1
+ ### START Mac OS ###
2
+ *.icloud
3
+ ._*
4
+ .AppleDB
5
+ .AppleDesktop
6
+ .AppleDouble
7
+ .DocumentRevisions-V100
8
+ .DS_Store
9
+ .LSOverride
10
+ .Spotlight-V100
11
+ .TemporaryItems
12
+ .Trashes
13
+ .VolumeIcon.icns
14
+ .apdisk
15
+ .com.apple.timemachine.donotpresent
16
+ .fseventsd
17
+ Network Trash Folder
18
+ Temporary Items
19
+ ### END Mac OS ###
20
+
21
+
22
+ ### START Linux ###
23
+ *~
24
+ .directory
25
+ .fuse_hidden*
26
+ .nfs*
27
+ .Trash-*
28
+ ### END Linux ###
29
+
30
+
31
+ ### START Windows ###
32
+ *.cab
33
+ *.lnk
34
+ *.msi
35
+ *.msix
36
+ *.msm
37
+ *.msp
38
+ *.stackdump
39
+ $RECYCLE.BIN/
40
+ [Dd]esktop.ini
41
+ Thumbs.db
42
+ Thumbs.db:encryptable
43
+ ehthumbs.db
44
+ ehthumbs_vista.db
45
+ ### END Windows ###
46
+
47
+
48
+ ### START Others ###
49
+ # Backups / Logs / Temporary files
50
+ *.bak
51
+ *.log
52
+ *.swp
53
+ *.tmp
54
+
55
+ # IDEs
56
+ .idea/
57
+ *.project
58
+ *.tmproj
59
+ *.vscode
60
+ .devcontainer
61
+
62
+ # Environment
63
+ .env
64
+ ### END Others ###
65
+
66
+
67
+ # Mise
68
+ mise.local.toml
69
+
70
+ # Python
71
+ __pycache__/
72
+ *.py[cod]
73
+ *$py.class
74
+ .python-version
75
+
76
+ # Mypy
77
+ .mypy_cache/
78
+ .dmypy.json
79
+ dmypy.json
80
+
81
+ # PyTest
82
+ .pytest_cache/
83
+
84
+ # Ruff
85
+ .ruff_cache/
86
+
87
+ # Coverage
88
+ .coverage*
89
+
90
+ # Build
91
+ dist/
92
+
93
+ # Bootstrap
94
+ .bootstrapped-*
@@ -0,0 +1,22 @@
1
+ ---
2
+ repos:
3
+ - repo: https://github.com/pre-commit/pre-commit-hooks
4
+ rev: v5.0.0
5
+ hooks:
6
+ - id: check-added-large-files
7
+ - id: check-ast
8
+ - id: check-toml
9
+ - id: debug-statements
10
+ - id: end-of-file-fixer
11
+ - id: mixed-line-ending
12
+ - id: trailing-whitespace
13
+ - repo: https://github.com/astral-sh/uv-pre-commit
14
+ rev: 0.6.11
15
+ hooks:
16
+ - id: uv-lock
17
+ - repo: https://github.com/astral-sh/ruff-pre-commit
18
+ rev: v0.11.2
19
+ hooks:
20
+ - id: ruff
21
+ args: ["--fix"]
22
+ - id: ruff-format
@@ -0,0 +1,119 @@
1
+ SHELL := /usr/bin/env bash -eou pipefail
2
+ .DEFAULT_GOAL := bootstrap
3
+
4
+
5
+ # ======================================================================================
6
+ # Bootstrap
7
+ # ======================================================================================
8
+ .bootstrapped-mise:
9
+ @$(MAKE) mise-setup
10
+ @touch .bootstrapped-mise
11
+
12
+ .bootstrapped-uv:
13
+ @$(MAKE) sync
14
+ @touch .bootstrapped-uv
15
+
16
+ .bootstrapped-pre-commit:
17
+ @$(MAKE) pre-commit-install
18
+ @touch .bootstrapped-pre-commit
19
+
20
+ .PHONY: bootstrap
21
+ bootstrap: .bootstrapped-mise .bootstrapped-uv .bootstrapped-pre-commit ##@Bootstrap Bootstraps the project
22
+
23
+
24
+ # ======================================================================================
25
+ # Mise en place
26
+ # ======================================================================================
27
+ .PHONY: mise-setup
28
+ mise-setup: mise.toml ##@Mise Sets up mise-en-place
29
+ @echo "Setting up mise..."
30
+ @mise trust --yes --quiet --silent
31
+ @mise install --yes --quiet --silent
32
+
33
+
34
+ # ======================================================================================
35
+ # UV
36
+ # ======================================================================================
37
+ .PHONY: lock
38
+ lock: .bootstrapped-mise pyproject.toml ##@UV Locks the Python dependencies
39
+ @echo "Locking Python dependencies..."
40
+ @uv lock --upgrade
41
+
42
+ .PHONY: sync
43
+ sync: .bootstrapped-mise pyproject.toml uv.lock ##@UV Installs the Python dependencies
44
+ @echo "Installing Python dependencies..."
45
+ @uv sync --frozen --no-install-project
46
+
47
+ .PHONY: build
48
+ build: .bootstrapped-uv pyproject.toml uv.lock ##@UV Builds the package
49
+ @echo "Building the package..."
50
+ @uv build
51
+
52
+ .PHONY: publish
53
+ publish: .bootstrapped-uv pyproject.toml uv.lock ##@UV Publishes the package
54
+ @echo "Publishing the package..."
55
+ @uv publish
56
+
57
+
58
+ # ======================================================================================
59
+ # Pre-commit
60
+ # ======================================================================================
61
+ .PHONY: pre-commit-install
62
+ pre-commit-install: .bootstrapped-mise .pre-commit-config.yaml ##@PreCommit Installs pre-commit hooks
63
+ @echo "Installing pre-commit hooks..."
64
+ @pre-commit install
65
+
66
+
67
+ # ======================================================================================
68
+ # Ruff
69
+ # ======================================================================================
70
+ .PHONY: linter
71
+ linter: ##@Ruff Runs the Ruff linter on the project
72
+ @echo "Running ruff linter..."
73
+ @ruff check ./ --fix
74
+
75
+
76
+ .PHONY: formatter
77
+ formatter: ##@Ruff Runs the Ruff formatter on the project
78
+ @echo "Running ruff formatter..."
79
+ @ruff format ./
80
+
81
+
82
+ .PHONY: ruff
83
+ ruff: ##@Ruff Runs both the Ruff linter and formatter on the project
84
+ @$(MAKE) linter
85
+ @$(MAKE) formatter
86
+
87
+
88
+ # ======================================================================================
89
+ # MyPy
90
+ # ======================================================================================
91
+ .PHONY: mypy
92
+ mypy: ##@Mypy Runs the MyPy static type checker on the project
93
+ @echo "Running mypy..."
94
+ @dmypy status > /dev/null 2>&1 || dmypy start
95
+ @dmypy run -- ./
96
+
97
+
98
+ # ======================================================================================
99
+ # PyTest
100
+ # ======================================================================================
101
+ .PHONY: pytest
102
+ pytest: ##@Testing Runs the PyTest test suite
103
+ @echo "Running tests..."
104
+ @pytest ./
105
+
106
+
107
+ # ======================================================================================
108
+ # Help - https://stackoverflow.com/a/30796664
109
+ # ======================================================================================
110
+ HELP_FUN = \
111
+ %help; while(<>){push@{$$help{$$2//'options'}},[$$1,$$3] \
112
+ if/^([\w-_]+)\s*:.*\#\#(?:@(\w+))?\s(.*)$$/}; \
113
+ print"$$_:\n", map" $$_->[0]".(" "x(24-length($$_->[0])))."$$_->[1]\n",\
114
+ @{$$help{$$_}},"\n" for sort keys %help; \
115
+
116
+ .PHONY: help
117
+ help: ##@Help Shows this help
118
+ @echo "Usage: make [target] ..."
119
+ @perl -e '$(HELP_FUN)' $(MAKEFILE_LIST)
@@ -1,23 +1,21 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: vtexpy
3
- Version: 0.0.0b37
3
+ Version: 0.0.0b39
4
4
  Summary: Unofficial VTEX API's Python SDK
5
- Home-page: https://github.com/lvieirajr/vtex-python
6
- License: Apache
7
- Keywords: vtex,sdk,client,api
8
- Author: Luis Vieira
9
- Author-email: lvieira@lvieira.com
10
- Maintainer: Luis Vieira
11
- Maintainer-email: lvieira@lvieira.com
12
- Requires-Python: >=3.9,<3.14
5
+ Project-URL: homepage, https://github.com/lvieirajr/vtex-python
6
+ Project-URL: repository, https://github.com/lvieirajr/vtex-python
7
+ Project-URL: documentation, https://github.com/lvieirajr/vtex-python
8
+ Author-email: Luis Vieira <lvieira@lvieira.com>
9
+ Maintainer-email: Luis Vieira <lvieira@lvieira.com>
10
+ License-Expression: Apache-2.0
11
+ License-File: LICENSE
12
+ Keywords: api,client,sdk,vtex
13
13
  Classifier: Development Status :: 4 - Beta
14
14
  Classifier: Intended Audience :: Developers
15
15
  Classifier: License :: OSI Approved :: Apache Software License
16
- Classifier: License :: Other/Proprietary License
17
16
  Classifier: Operating System :: OS Independent
18
17
  Classifier: Programming Language :: Python
19
18
  Classifier: Programming Language :: Python :: 3
20
- Classifier: Programming Language :: Python :: 3.9
21
19
  Classifier: Programming Language :: Python :: 3.10
22
20
  Classifier: Programming Language :: Python :: 3.11
23
21
  Classifier: Programming Language :: Python :: 3.12
@@ -25,14 +23,13 @@ Classifier: Programming Language :: Python :: 3.13
25
23
  Classifier: Topic :: Software Development :: Libraries
26
24
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
27
25
  Classifier: Typing :: Typed
28
- Requires-Dist: cachetools (>=5.0,<6.0)
29
- Requires-Dist: httpx (>=0.17,<1.0)
30
- Requires-Dist: pydantic (>=2.0,<3.0)
31
- Requires-Dist: python-dateutil (>=2.9,<3.0)
32
- Requires-Dist: tenacity (>=8.0,<10.0)
33
- Requires-Dist: typing-extensions (>=3.10,<5.0) ; python_version < "3.12"
34
- Project-URL: Documentation, https://github.com/lvieirajr/vtex-python
35
- Project-URL: Repository, https://github.com/lvieirajr/vtex-python
26
+ Requires-Python: <3.14,>=3.10
27
+ Requires-Dist: cachetools<6.0,>=5.0
28
+ Requires-Dist: httpx<1.0,>=0.17
29
+ Requires-Dist: pydantic<3.0,>=2.0
30
+ Requires-Dist: python-dateutil<3.0,>=2.9
31
+ Requires-Dist: tenacity<10.0,>=8.0
32
+ Requires-Dist: typing-extensions<5.0,>=3.10; python_version < '3.12'
36
33
  Description-Content-Type: text/markdown
37
34
 
38
35
  # VTEXPY
@@ -99,4 +96,3 @@ response = vtex_client.custom.request(
99
96
  # Other arguments such as: query params, headers, json data, response class, etc...
100
97
  )
101
98
  ```
102
-
@@ -0,0 +1,2 @@
1
+ [env]
2
+ UV_PUBLISH_TOKEN = ""
@@ -0,0 +1,10 @@
1
+ [tools]
2
+ uv = "latest"
3
+
4
+ [env]
5
+ UV_COMPILE_BYTECODE = true
6
+
7
+ [settings]
8
+ experimental = true
9
+ pipx.uvx = true
10
+ python.uv_venv_auto = true
@@ -0,0 +1,89 @@
1
+ [project]
2
+ name = "vtexpy"
3
+ version = "0.0.0b39"
4
+ description = "Unofficial VTEX API's Python SDK"
5
+ readme = "README.md"
6
+ license = "Apache-2.0"
7
+ authors = [
8
+ {name = "Luis Vieira", email = "lvieira@lvieira.com"},
9
+ ]
10
+ maintainers = [
11
+ {name = "Luis Vieira", email = "lvieira@lvieira.com"},
12
+ ]
13
+ keywords = ["vtex", "sdk", "client", "api"]
14
+ classifiers = [
15
+ "Development Status :: 4 - Beta",
16
+ "Intended Audience :: Developers",
17
+ "License :: OSI Approved :: Apache Software License",
18
+ "Programming Language :: Python",
19
+ "Programming Language :: Python :: 3",
20
+ "Programming Language :: Python :: 3.10",
21
+ "Programming Language :: Python :: 3.11",
22
+ "Programming Language :: Python :: 3.12",
23
+ "Programming Language :: Python :: 3.13",
24
+ "Operating System :: OS Independent",
25
+ "Topic :: Software Development :: Libraries",
26
+ "Topic :: Software Development :: Libraries :: Python Modules",
27
+ "Typing :: Typed",
28
+ ]
29
+ requires-python = ">=3.10,<3.14"
30
+ dependencies = [
31
+ "cachetools (>=5.0,<6.0)",
32
+ "httpx (>=0.17,<1.0)",
33
+ "pydantic (>=2.0,<3.0)",
34
+ "python-dateutil (>=2.9,<3.0)",
35
+ "tenacity (>=8.0,<10.0)",
36
+ "typing-extensions (>=3.10,<5.0); python_version < '3.12'",
37
+ ]
38
+
39
+ [dependency-groups]
40
+ dev = [
41
+ "ipdb",
42
+ "mock",
43
+ "mypy",
44
+ "pre-commit",
45
+ "pytest",
46
+ "pytest-mock",
47
+ "ruff",
48
+ "types-cachetools",
49
+ "types-python-dateutil",
50
+ ]
51
+
52
+ [project.urls]
53
+ homepage = "https://github.com/lvieirajr/vtex-python"
54
+ repository = "https://github.com/lvieirajr/vtex-python"
55
+ documentation = "https://github.com/lvieirajr/vtex-python"
56
+
57
+ [build-system]
58
+ requires = ["hatchling"]
59
+ build-backend = "hatchling.build"
60
+
61
+ [tool.hatch.build.targets.wheel]
62
+ packages = ["vtex"]
63
+
64
+ [tool.pytest.ini_options]
65
+ addopts = "-s -vv"
66
+ markers = [
67
+ "unit: unit tests",
68
+ "integration: integration tests",
69
+ ]
70
+ mock_use_standalone_module = true
71
+
72
+ [tool.mypy]
73
+ exclude = [".*tests/*"]
74
+ ignore_missing_imports = true
75
+ namespace_packages = true
76
+ no_implicit_reexport = false
77
+ plugins = []
78
+ pretty = true
79
+ strict = true
80
+
81
+ [tool.ruff]
82
+ target-version = "py313"
83
+
84
+ [tool.ruff.format]
85
+ preview = true
86
+
87
+ [tool.ruff.lint.per-file-ignores]
88
+ "**/__init__.py" = ["F401"]
89
+ "**/tests/*" = ["S101"]
@@ -0,0 +1,3 @@
1
+ from .base import BaseTest
2
+ from .integration import IntegrationTest
3
+ from .unit import UnitTest
@@ -0,0 +1,2 @@
1
+ class BaseTest:
2
+ pass
File without changes
@@ -0,0 +1,8 @@
1
+ from pytest import mark
2
+
3
+ from .base import BaseTest
4
+
5
+
6
+ @mark.integration
7
+ class IntegrationTest(BaseTest):
8
+ pass
@@ -0,0 +1,8 @@
1
+ from pytest import mark
2
+
3
+ from .base import BaseTest
4
+
5
+
6
+ @mark.unit
7
+ class UnitTest(BaseTest):
8
+ pass
File without changes
File without changes