wbapi2 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.
@@ -0,0 +1,95 @@
1
+ ### macOS ###
2
+ # General macOS system files
3
+ .DS_Store
4
+ .AppleDouble
5
+ .LSOverride
6
+
7
+ # iCloud generated files
8
+ *.icloud
9
+
10
+ ### Python ###
11
+ # Byte-compiled / optimized / DLL files
12
+ __pycache__/
13
+ *.py[cod]
14
+ *$py.class
15
+
16
+ # C extensions
17
+ *.so
18
+
19
+ # Virtual environments
20
+ .venv/
21
+ env/
22
+ ENV/
23
+ env.bak/
24
+ venv.bak/
25
+ .python-version
26
+ .env
27
+
28
+ # Unit test / coverage reports
29
+ .tox/
30
+ .coverage
31
+ .coverage.*
32
+ .pytest_cache/
33
+ .nox/
34
+ cache/
35
+ htmlcov/
36
+ hypothesis/
37
+ .cover
38
+ *.py,cover
39
+
40
+ # Jupyter Notebook
41
+ .ipynb_checkpoints
42
+
43
+ # Mypy, Pytype, Pyre caches
44
+ .mypy_cache/
45
+ .pytype/
46
+ .pyre/
47
+
48
+ # PyInstaller
49
+ *.spec
50
+ *.manifest
51
+ *.exe
52
+
53
+ # Flask / Django
54
+ instance/
55
+ .webassets-cache
56
+ db.sqlite3
57
+ db.sqlite3-journal
58
+
59
+
60
+ # Documentation
61
+ docs/_build/
62
+
63
+ ### IDEs ###
64
+ # JetBrains / PyCharm
65
+ .idea
66
+ .idea/
67
+ *.iml
68
+ *.xml
69
+ .idea_modules/
70
+ # VSCode
71
+ .vscode/
72
+
73
+ ### macOS Patch ###
74
+ ._*
75
+
76
+ # General files from Python tools (pip, distutils, eggs)
77
+ build/
78
+ dist/
79
+ *.egg-info/
80
+ .eggs/
81
+ wheels/
82
+ downloads/
83
+ lib/
84
+ lib64/
85
+ parts/
86
+ sdist/
87
+ var/
88
+ share/python-wheels/
89
+
90
+
91
+ ### LSP config files ###
92
+ pyrightconfig.json
93
+
94
+ ### Ruff ###
95
+ .ruff_cache/
wbapi2-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) [2026] [ANDREI SERDIUKOV]
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
wbapi2-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,33 @@
1
+ Metadata-Version: 2.4
2
+ Name: wbapi2
3
+ Version: 0.1.0
4
+ Summary: WB API
5
+ Project-URL: Homepage, https://github.com/serdukow/wbapi2
6
+ Project-URL: Documentation, https://github.com/serdukow/wbapi2#readme
7
+ Project-URL: Repository, https://github.com/serdukow/wbapi2
8
+ Author-email: Andrei Serdiukov <serdukow1@gmail.com>
9
+ Maintainer-email: Andrei Serdiukov <serdukow1@gmail.com>
10
+ License: MIT
11
+ License-File: LICENSE
12
+ Keywords: api,async,client,wb,wildberries
13
+ Classifier: Development Status :: 2 - Pre-Alpha
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Requires-Python: <3.14,>=3.10
20
+ Requires-Dist: aiolimiter<2.0.0,>=1.2.1
21
+ Requires-Dist: httpx<0.29.0,>=0.28.1
22
+ Requires-Dist: pydantic<2.12.2,>=2.4.1
23
+ Provides-Extra: dev
24
+ Requires-Dist: pre-commit<5.0.0,>=4.3.0; extra == 'dev'
25
+ Requires-Dist: ruff<0.15.0,>=0.14.1; extra == 'dev'
26
+ Provides-Extra: lint
27
+ Requires-Dist: pre-commit<5.0.0,>=4.3.0; extra == 'lint'
28
+ Requires-Dist: ruff<0.15.0,>=0.14.1; extra == 'lint'
29
+ Provides-Extra: test
30
+ Requires-Dist: pytest-asyncio<2.0.0,>=1.2.0; extra == 'test'
31
+ Requires-Dist: pytest-httpx<0.37.0,>=0.35.0; extra == 'test'
32
+ Requires-Dist: pytest<9.0.0,>=8.4.2; extra == 'test'
33
+ Requires-Dist: python-dotenv<2.0.0,>=1.2.1; extra == 'test'
wbapi2-0.1.0/README.md ADDED
File without changes
@@ -0,0 +1,114 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "wbapi2"
7
+ version = "0.1.0"
8
+ description = "WB API"
9
+ authors = [
10
+ { name = "Andrei Serdiukov", email = "serdukow1@gmail.com" },
11
+ ]
12
+ maintainers = [
13
+ { name = "Andrei Serdiukov", email = "serdukow1@gmail.com" },
14
+ ]
15
+ readme = "README.md"
16
+ requires-python = ">=3.10,<3.14"
17
+ license = {text = "MIT"}
18
+ keywords = ["wb", "wildberries", "api", "client", "async"]
19
+ classifiers = [
20
+ "Development Status :: 2 - Pre-Alpha",
21
+ "Intended Audience :: Developers",
22
+ "License :: OSI Approved :: MIT License",
23
+ "Programming Language :: Python :: 3",
24
+ "Programming Language :: Python :: 3.13",
25
+ "Topic :: Software Development :: Libraries :: Python Modules",
26
+ ]
27
+ dependencies = [
28
+ "aiolimiter (>=1.2.1,<2.0.0)",
29
+ "httpx (>=0.28.1,<0.29.0)",
30
+ "pydantic (>=2.4.1,<2.12.2)",
31
+ ]
32
+
33
+ [project.optional-dependencies]
34
+ dev = [
35
+ "ruff (>=0.14.1,<0.15.0)",
36
+ "pre-commit (>=4.3.0,<5.0.0)",
37
+ ]
38
+
39
+ test = [
40
+ "pytest (>=8.4.2,<9.0.0)",
41
+ "pytest-asyncio (>=1.2.0,<2.0.0)",
42
+ "pytest-httpx (>=0.35.0,<0.37.0)",
43
+ "python-dotenv (>=1.2.1,<2.0.0)"
44
+ ]
45
+
46
+ lint = [
47
+ "ruff (>=0.14.1,<0.15.0)",
48
+ "pre-commit (>=4.3.0,<5.0.0)",
49
+ ]
50
+
51
+ [project.urls]
52
+ Homepage = "https://github.com/serdukow/wbapi2"
53
+ Documentation = "https://github.com/serdukow/wbapi2#readme"
54
+ Repository = "https://github.com/serdukow/wbapi2"
55
+
56
+ [tool.hatch.build.targets.sdist]
57
+ only-include = [
58
+ "src/wb_api",
59
+ "README.md",
60
+ "pyproject.toml"
61
+ ]
62
+
63
+ [tool.hatch.build.targets.wheel]
64
+ packages = ["src/wb_api"]
65
+
66
+ [tool.ruff]
67
+ exclude = [
68
+ ".git",
69
+ "build",
70
+ "dist",
71
+ "venv",
72
+ ".venv",
73
+ "docs",
74
+ "tests",
75
+ "dev",
76
+ "scripts",
77
+ "*.egg-info",
78
+ ]
79
+ line-length = 99
80
+ target-version = "py313"
81
+
82
+ [tool.ruff.lint]
83
+ select = ["E", "F", "I", "UP", "C4", "B", "RUF100"]
84
+ fixable = ["ALL"]
85
+
86
+ [tool.ruff.lint.isort]
87
+ known-first-party = ["wb_api"]
88
+ force-sort-within-sections = true
89
+ order-by-type = true
90
+ combine-as-imports = true
91
+ section-order = ["future", "standard-library", "third-party", "first-party", "local-folder"]
92
+ lines-between-types = 1
93
+ lines-after-imports = 2
94
+
95
+ [tool.ruff.lint.pep8-naming]
96
+ classmethod-decorators = ["classmethod"]
97
+ staticmethod-decorators = ["staticmethod"]
98
+
99
+ [tool.ruff.format]
100
+ quote-style = "double"
101
+ indent-style = "space"
102
+ line-ending = "lf"
103
+ skip-magic-trailing-comma = false
104
+ docstring-code-format = true
105
+ docstring-code-line-length = 60
106
+
107
+
108
+ [tool.pytest.ini_options]
109
+ addopts = "-vv -s --log-cli-level=DEBUG"
110
+ markers = [
111
+ "unit: unit tests",
112
+ "integration: integration tests",
113
+ "slow: slow running tests"
114
+ ]
File without changes
File without changes
File without changes
@@ -0,0 +1,5 @@
1
+ from .base import Base
2
+ from .error import Error
3
+
4
+
5
+ __all__ = ("Base", "Error")
@@ -0,0 +1,5 @@
1
+ from pydantic import BaseModel, ConfigDict
2
+
3
+
4
+ class Base(BaseModel):
5
+ model_config = ConfigDict(extra="allow", populate_by_name=True)
@@ -0,0 +1,17 @@
1
+ from pydantic import Field
2
+
3
+ from .base import Base
4
+
5
+
6
+ class Error(Base):
7
+ data: str | None = Field(None, alias="data")
8
+ error: bool | None = Field(None, alias="error")
9
+ error_text: str | None = Field(None, alias="errorText")
10
+ title: str | None = Field(None, alias="title")
11
+ detail: str | None = Field(None, alias="detail")
12
+ code: str | None = Field(None, alias="code")
13
+ request_id: str | None = Field(None, alias="requestId")
14
+ origin: str | None = Field(None, alias="origin")
15
+ status: str | None = Field(None, alias="status")
16
+ status_text: str | None = Field(None, alias="statusText")
17
+ timestamp: str | None = Field(None, alias="timestamp")