deezer-oauth-cli 1.6.0__tar.gz → 1.8.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.
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/PKG-INFO +5 -3
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/README.md +2 -2
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/pyproject.toml +25 -44
- deezer_oauth_cli-1.8.0/src/deezer_oauth/__init__.py +1 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth_cli.egg-info/PKG-INFO +5 -3
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/tests/test_dunder_main.py +1 -1
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/tests/test_main.py +1 -1
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/tests/test_server.py +3 -6
- deezer_oauth_cli-1.6.0/src/deezer_oauth/__init__.py +0 -1
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/LICENSE +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/setup.cfg +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth/__main__.py +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth/client.py +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth/constants.py +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth/files.py +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth/main.py +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth/py.typed +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth/server.py +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth_cli.egg-info/SOURCES.txt +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth_cli.egg-info/dependency_links.txt +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth_cli.egg-info/entry_points.txt +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth_cli.egg-info/requires.txt +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth_cli.egg-info/top_level.txt +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/tests/test_client.py +0 -0
- {deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/tests/test_files.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deezer-oauth-cli
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.8.0
|
|
4
4
|
Summary: A small CLI to quickly obtain an API token for Deezer API.
|
|
5
5
|
Author-email: Bruno Alla <alla.brunoo@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -19,6 +19,8 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.13
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
22
24
|
Classifier: Topic :: Software Development :: Libraries
|
|
23
25
|
Requires-Python: >=3.10
|
|
24
26
|
Description-Content-Type: text/markdown
|
|
@@ -45,8 +47,8 @@ Dynamic: license-file
|
|
|
45
47
|
<a href="https://github.com/astral-sh/ruff">
|
|
46
48
|
<img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff">
|
|
47
49
|
</a>
|
|
48
|
-
<a href="https://github.com/
|
|
49
|
-
<img src="https://img.shields.io/
|
|
50
|
+
<a href="https://github.com/j178/prek">
|
|
51
|
+
<img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/j178/prek/master/docs/assets/badge-v0.json" alt="prek">
|
|
50
52
|
</a>
|
|
51
53
|
</p>
|
|
52
54
|
<p align="center">
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
<a href="https://github.com/astral-sh/ruff">
|
|
16
16
|
<img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff">
|
|
17
17
|
</a>
|
|
18
|
-
<a href="https://github.com/
|
|
19
|
-
<img src="https://img.shields.io/
|
|
18
|
+
<a href="https://github.com/j178/prek">
|
|
19
|
+
<img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/j178/prek/master/docs/assets/badge-v0.json" alt="prek">
|
|
20
20
|
</a>
|
|
21
21
|
</p>
|
|
22
22
|
<p align="center">
|
|
@@ -4,7 +4,7 @@ requires = [ "setuptools>=77.0.3" ]
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "deezer-oauth-cli"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.8.0"
|
|
8
8
|
description = "A small CLI to quickly obtain an API token for Deezer API."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -22,9 +22,10 @@ classifiers = [
|
|
|
22
22
|
"Programming Language :: Python :: 3.11",
|
|
23
23
|
"Programming Language :: Python :: 3.12",
|
|
24
24
|
"Programming Language :: Python :: 3.13",
|
|
25
|
+
"Programming Language :: Python :: 3.14",
|
|
26
|
+
"Programming Language :: Python :: 3.15",
|
|
25
27
|
"Topic :: Software Development :: Libraries",
|
|
26
28
|
]
|
|
27
|
-
|
|
28
29
|
dependencies = [
|
|
29
30
|
"httpx>=0.27",
|
|
30
31
|
"rich>=10",
|
|
@@ -40,16 +41,16 @@ scripts.deezer-oauth = "deezer_oauth.main:app"
|
|
|
40
41
|
|
|
41
42
|
[dependency-groups]
|
|
42
43
|
dev = [
|
|
43
|
-
"pyfakefs>=
|
|
44
|
-
"pytest>=
|
|
44
|
+
"pyfakefs>=6,<7",
|
|
45
|
+
"pytest>=9,<10",
|
|
45
46
|
"pytest-cov>=7,<8",
|
|
46
47
|
"pytest-mock>=3.6,<4",
|
|
47
48
|
"respx>=0.22",
|
|
49
|
+
"ty==0.0.69",
|
|
48
50
|
]
|
|
49
51
|
|
|
50
52
|
[tool.ruff]
|
|
51
53
|
line-length = 88
|
|
52
|
-
|
|
53
54
|
lint.select = [
|
|
54
55
|
"B", # flake8-bugbear
|
|
55
56
|
"C4", # flake8-comprehensions
|
|
@@ -82,63 +83,43 @@ lint.per-file-ignores."tests/**/*" = [
|
|
|
82
83
|
lint.isort.known-first-party = [ "deezer_oauth", "tests" ]
|
|
83
84
|
|
|
84
85
|
[tool.pyproject-fmt]
|
|
85
|
-
max_supported_python = "3.
|
|
86
|
+
max_supported_python = "3.15"
|
|
86
87
|
|
|
87
|
-
[tool.
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
[tool.ty]
|
|
89
|
+
terminal.error-on-warning = true
|
|
90
|
+
analysis.allowed-unresolved-imports = [ "test.**" ]
|
|
90
91
|
|
|
91
|
-
[tool.
|
|
92
|
-
|
|
92
|
+
[tool.pytest]
|
|
93
|
+
addopts = [ "-v", "-Wonce", "--cov=deezer_oauth" ]
|
|
94
|
+
minversion = "9.0"
|
|
95
|
+
pythonpath = [ "src" ]
|
|
93
96
|
|
|
94
|
-
[tool.coverage
|
|
95
|
-
|
|
96
|
-
exclude_lines = [
|
|
97
|
-
"pragma: no cover",
|
|
97
|
+
[tool.coverage]
|
|
98
|
+
run.branch = true
|
|
99
|
+
report.exclude_lines = [
|
|
98
100
|
"@overload",
|
|
99
101
|
"if TYPE_CHECKING",
|
|
102
|
+
"pragma: no cover",
|
|
100
103
|
]
|
|
101
|
-
|
|
102
|
-
[tool.mypy]
|
|
103
|
-
check_untyped_defs = true
|
|
104
|
-
disallow_any_generics = true
|
|
105
|
-
disallow_incomplete_defs = true
|
|
106
|
-
disallow_untyped_defs = true
|
|
107
|
-
mypy_path = "src/"
|
|
108
|
-
no_implicit_optional = true
|
|
109
|
-
show_error_codes = true
|
|
110
|
-
warn_unreachable = true
|
|
111
|
-
warn_unused_ignores = true
|
|
112
|
-
|
|
113
|
-
[[tool.mypy.overrides]]
|
|
114
|
-
module = "tests.*"
|
|
115
|
-
allow_untyped_defs = true
|
|
104
|
+
report.ignore_errors = true
|
|
116
105
|
|
|
117
106
|
[tool.semantic_release]
|
|
118
|
-
version_toml = [ "pyproject.toml:project.version" ]
|
|
119
107
|
version_variables = [
|
|
120
108
|
"src/deezer_oauth/__init__.py:__version__",
|
|
121
109
|
]
|
|
110
|
+
version_toml = [ "pyproject.toml:project.version" ]
|
|
122
111
|
build_command = """
|
|
123
112
|
pip install uv
|
|
124
113
|
uv lock
|
|
125
114
|
git add uv.lock
|
|
126
115
|
uv build
|
|
127
116
|
"""
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
117
|
+
branches.main.match = "main"
|
|
118
|
+
branches.noop.match = "(?!main$)"
|
|
119
|
+
branches.noop.prerelease = true
|
|
120
|
+
changelog.environment.keep_trailing_newline = true
|
|
121
|
+
changelog.exclude_commit_patterns = [
|
|
131
122
|
"chore.*",
|
|
132
123
|
"ci.*",
|
|
133
124
|
"Merge pull request .*",
|
|
134
125
|
]
|
|
135
|
-
|
|
136
|
-
[tool.semantic_release.changelog.environment]
|
|
137
|
-
keep_trailing_newline = true
|
|
138
|
-
|
|
139
|
-
[tool.semantic_release.branches.main]
|
|
140
|
-
match = "main"
|
|
141
|
-
|
|
142
|
-
[tool.semantic_release.branches.noop]
|
|
143
|
-
match = "(?!main$)"
|
|
144
|
-
prerelease = true
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.8.0"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deezer-oauth-cli
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.8.0
|
|
4
4
|
Summary: A small CLI to quickly obtain an API token for Deezer API.
|
|
5
5
|
Author-email: Bruno Alla <alla.brunoo@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -19,6 +19,8 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.13
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
22
24
|
Classifier: Topic :: Software Development :: Libraries
|
|
23
25
|
Requires-Python: >=3.10
|
|
24
26
|
Description-Content-Type: text/markdown
|
|
@@ -45,8 +47,8 @@ Dynamic: license-file
|
|
|
45
47
|
<a href="https://github.com/astral-sh/ruff">
|
|
46
48
|
<img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff">
|
|
47
49
|
</a>
|
|
48
|
-
<a href="https://github.com/
|
|
49
|
-
<img src="https://img.shields.io/
|
|
50
|
+
<a href="https://github.com/j178/prek">
|
|
51
|
+
<img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/j178/prek/master/docs/assets/badge-v0.json" alt="prek">
|
|
50
52
|
</a>
|
|
51
53
|
</p>
|
|
52
54
|
<p align="center">
|
|
@@ -2,7 +2,6 @@ import http.client
|
|
|
2
2
|
import threading
|
|
3
3
|
|
|
4
4
|
import pytest
|
|
5
|
-
from test.support.threading_helper import threading_cleanup, threading_setup
|
|
6
5
|
|
|
7
6
|
from deezer_oauth.client import OAuthDancer
|
|
8
7
|
from deezer_oauth.server import LocalHTTPServer, LocalRequestHandler, run_server
|
|
@@ -38,8 +37,9 @@ class ServerWrapperThread(threading.Thread):
|
|
|
38
37
|
"""
|
|
39
38
|
|
|
40
39
|
server: LocalHTTPServer
|
|
40
|
+
test_class: "TestLocalRequestHandler | None"
|
|
41
41
|
|
|
42
|
-
def __init__(self, test_class):
|
|
42
|
+
def __init__(self, test_class: "TestLocalRequestHandler"):
|
|
43
43
|
threading.Thread.__init__(self)
|
|
44
44
|
self.test_class = test_class
|
|
45
45
|
|
|
@@ -49,6 +49,7 @@ class ServerWrapperThread(threading.Thread):
|
|
|
49
49
|
("localhost", 0),
|
|
50
50
|
LocalRequestHandler,
|
|
51
51
|
)
|
|
52
|
+
assert self.test_class is not None
|
|
52
53
|
self.test_class.host, self.test_class.port = self.server.socket.getsockname()
|
|
53
54
|
self.test_class.server_started.set()
|
|
54
55
|
self.test_class = None
|
|
@@ -69,16 +70,12 @@ class TestLocalRequestHandler:
|
|
|
69
70
|
|
|
70
71
|
@pytest.fixture
|
|
71
72
|
def http_server(self):
|
|
72
|
-
_threads = threading_setup()
|
|
73
73
|
self.server_started = threading.Event()
|
|
74
74
|
thread = ServerWrapperThread(self)
|
|
75
75
|
thread.start()
|
|
76
76
|
self.server_started.wait()
|
|
77
77
|
yield
|
|
78
78
|
thread.stop()
|
|
79
|
-
# clear assignment to avoid dangling thread
|
|
80
|
-
thread = None # type: ignore[assignment]
|
|
81
|
-
threading_cleanup(*_threads)
|
|
82
79
|
|
|
83
80
|
def request(self, uri, method="GET"):
|
|
84
81
|
self.connection = http.client.HTTPConnection(self.host, self.port)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.6.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth_cli.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth_cli.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth_cli.egg-info/requires.txt
RENAMED
|
File without changes
|
{deezer_oauth_cli-1.6.0 → deezer_oauth_cli-1.8.0}/src/deezer_oauth_cli.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|