quickspirit 2.0.1__tar.gz → 2.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: quickspirit
3
- Version: 2.0.1
3
+ Version: 2.1.0
4
4
  Summary: Fast, Async Network & File Downloader Client In Python
5
5
  Home-page: https://github.com/DroidZed/QuickSpirit-Async
6
6
  License: GPL-3.0-or-later
@@ -24,7 +24,7 @@ Requires-Dist: httpx (>=0.27.0)
24
24
  Project-URL: Repository, https://github.com/DroidZed/QuickSpirit-Async
25
25
  Description-Content-Type: text/markdown
26
26
 
27
- # Quick Spirit
27
+ # Quick Spirit 🐬
28
28
 
29
29
  An easy to use HTTP client with a fast downloader.
30
30
 
@@ -52,7 +52,7 @@ uv add quickspirit
52
52
 
53
53
  ## Usage:
54
54
 
55
- The library's getter function returns a bytes data repersenting the bytes coming in from the network. Since we don't know the shape of the data, I delegated the responsibility to you to figure out how to parse it to your liking.
55
+ The library's internal mechanism returns a bytes data repersenting the bytes coming in from the network. Since we don't know the shape of the data, I delegated the responsibility to you to figure out how to parse it to your liking.
56
56
 
57
57
  A sample code would look like this:
58
58
 
@@ -79,7 +79,7 @@ if __name__ == "__main__":
79
79
 
80
80
  ```
81
81
 
82
- A complete example can be found in the `example` directory.
82
+ A complete example can be found in the [`example`](https://github.com/DroidZed/QuickSpirit-Async/tree/main/example) directory.
83
83
 
84
84
  ## Testing:
85
85
 
@@ -89,13 +89,17 @@ Clone with git:
89
89
  git clone https://github.com/DroidZed/QuickSpirit-Async && cd QuickSpirit-Async
90
90
  ```
91
91
 
92
- Create a virtual env:
92
+ Create a virtual env and install the dependencies in it:
93
93
 
94
94
  ```sh
95
95
  python3 -m venv .venv && .venv/Scripts/activate
96
+
97
+ # I built the project using poetry, so you may want to have that inside of your venv ! No need to install it in your global python install.
98
+ poetry install --no-root
99
+
96
100
  ```
97
101
 
98
- Run the tests with pytest (install it first using your package manager of choice):
102
+ Run the tests with pytest:
99
103
 
100
104
  ```sh
101
105
  # Here I'm using uv to run the tests, but the command should be the same for other package manager:
@@ -103,4 +107,7 @@ Run the tests with pytest (install it first using your package manager of choice
103
107
  pytest -vs .
104
108
  ```
105
109
 
110
+ ## Licensing
111
+
112
+ The project is under the GPT-3.0 License, see the [`License`](https://github.com/DroidZed/QuickSpirit-Async/blob/main/LICENSE) file for details.
106
113
 
@@ -1,4 +1,4 @@
1
- # Quick Spirit
1
+ # Quick Spirit 🐬
2
2
 
3
3
  An easy to use HTTP client with a fast downloader.
4
4
 
@@ -26,7 +26,7 @@ uv add quickspirit
26
26
 
27
27
  ## Usage:
28
28
 
29
- The library's getter function returns a bytes data repersenting the bytes coming in from the network. Since we don't know the shape of the data, I delegated the responsibility to you to figure out how to parse it to your liking.
29
+ The library's internal mechanism returns a bytes data repersenting the bytes coming in from the network. Since we don't know the shape of the data, I delegated the responsibility to you to figure out how to parse it to your liking.
30
30
 
31
31
  A sample code would look like this:
32
32
 
@@ -53,7 +53,7 @@ if __name__ == "__main__":
53
53
 
54
54
  ```
55
55
 
56
- A complete example can be found in the `example` directory.
56
+ A complete example can be found in the [`example`](https://github.com/DroidZed/QuickSpirit-Async/tree/main/example) directory.
57
57
 
58
58
  ## Testing:
59
59
 
@@ -63,13 +63,17 @@ Clone with git:
63
63
  git clone https://github.com/DroidZed/QuickSpirit-Async && cd QuickSpirit-Async
64
64
  ```
65
65
 
66
- Create a virtual env:
66
+ Create a virtual env and install the dependencies in it:
67
67
 
68
68
  ```sh
69
69
  python3 -m venv .venv && .venv/Scripts/activate
70
+
71
+ # I built the project using poetry, so you may want to have that inside of your venv ! No need to install it in your global python install.
72
+ poetry install --no-root
73
+
70
74
  ```
71
75
 
72
- Run the tests with pytest (install it first using your package manager of choice):
76
+ Run the tests with pytest:
73
77
 
74
78
  ```sh
75
79
  # Here I'm using uv to run the tests, but the command should be the same for other package manager:
@@ -77,3 +81,6 @@ Run the tests with pytest (install it first using your package manager of choice
77
81
  pytest -vs .
78
82
  ```
79
83
 
84
+ ## Licensing
85
+
86
+ The project is under the GPT-3.0 License, see the [`License`](https://github.com/DroidZed/QuickSpirit-Async/blob/main/LICENSE) file for details.
@@ -11,7 +11,7 @@ classifiers = [
11
11
  [project]
12
12
  name = "quickspirit"
13
13
  description = "Fast, Async Network & File Downloader Client In Python"
14
- version = "2.0.1"
14
+ version = "2.1.0"
15
15
  dynamic = [ "classifiers" ]
16
16
  license = { text = "GPL-3.0-or-later" }
17
17
  readme = "README.md"
@@ -21,6 +21,7 @@ class HttpAsyncClient:
21
21
  json: Optional[Dict[str, Any]] = None,
22
22
  headers: Optional[Dict[str, str]] = None,
23
23
  url_params: Optional[Dict[str, Any]] = None,
24
+ files: Optional[Dict[str, Any]] = None,
24
25
  ) -> Result:
25
26
  """Make an HTTP request using the specified method.
26
27
 
@@ -56,6 +57,7 @@ class HttpAsyncClient:
56
57
  json=json,
57
58
  headers=headers,
58
59
  params=url_params,
60
+ files=files,
59
61
  )
60
62
 
61
63
  response.raise_for_status()
@@ -97,6 +99,7 @@ class HttpAsyncClient:
97
99
  json: Optional[Dict[str, Any]] = None,
98
100
  headers: Optional[Dict[str, str]] = None,
99
101
  url_params: Optional[Dict[str, Any]] = None,
102
+ files: Optional[Dict[str, Any]] = None,
100
103
  ) -> Result:
101
104
  """Make an HTTP POST request.
102
105
 
@@ -116,6 +119,7 @@ class HttpAsyncClient:
116
119
  json=json,
117
120
  headers=headers,
118
121
  url_params=url_params,
122
+ files=files,
119
123
  )
120
124
 
121
125
  async def put(
@@ -125,6 +129,7 @@ class HttpAsyncClient:
125
129
  json: Optional[Dict[str, Any]] = None,
126
130
  headers: Optional[Dict[str, str]] = None,
127
131
  url_params: Optional[Dict[str, Any]] = None,
132
+ files: Optional[Dict[str, Any]] = None,
128
133
  ) -> Result:
129
134
  """Make an HTTP PUT request.
130
135
 
@@ -144,6 +149,7 @@ class HttpAsyncClient:
144
149
  json=json,
145
150
  headers=headers,
146
151
  url_params=url_params,
152
+ files=files,
147
153
  )
148
154
 
149
155
  async def patch(
@@ -153,6 +159,7 @@ class HttpAsyncClient:
153
159
  json: Optional[Dict[str, Any]] = None,
154
160
  headers: Optional[Dict[str, str]] = None,
155
161
  url_params: Optional[Dict[str, Any]] = None,
162
+ files: Optional[Dict[str, Any]] = None,
156
163
  ) -> Result:
157
164
  """Make an HTTP PATCH request.
158
165
 
@@ -172,6 +179,7 @@ class HttpAsyncClient:
172
179
  json=json,
173
180
  headers=headers,
174
181
  url_params=url_params,
182
+ files=files,
175
183
  )
176
184
 
177
185
  async def delete(
@@ -7,4 +7,4 @@ from .http_errors import RequestError
7
7
  @dataclass
8
8
  class Result:
9
9
  Error: Optional[RequestError]
10
- Data: bytes
10
+ Data: Optional[bytes]
File without changes