Skip to content

Commit 653a7ce

Browse files
committed
Update package exports
Update docs according to new exports
1 parent 5d68aaf commit 653a7ce

3 files changed

Lines changed: 115 additions & 10 deletions

File tree

README.md

Lines changed: 58 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ pip install apitist
3636
### Example usage
3737

3838
```python
39-
from apitist.hooks import PrepRequestInfoLoggingHook, ResponseInfoLoggingHook
40-
from apitist.requests import session
39+
from apitist import PrepRequestInfoLoggingHook, ResponseInfoLoggingHook
40+
from apitist import session
4141

4242

4343
s = session()
@@ -54,7 +54,7 @@ s.post("https://httpbin.org/post", params={"q": "test"})
5454
```python
5555
from requests import Request, PreparedRequest, Response
5656

57-
from apitist.requests import session, RequestHook, PreparedRequestHook, ResponseHook
57+
from apitist import session, RequestHook, PreparedRequestHook, ResponseHook
5858

5959
s = session()
6060

@@ -90,9 +90,12 @@ s.get("https://ya.ru", params={"q": "test"})
9090
import attr
9191
import typing
9292

93-
from apitist.constructor import converter
94-
from apitist.hooks import RequestConverterHook, ResponseConverterHook
95-
from apitist.requests import session
93+
from apitist import (
94+
converter,
95+
RequestConverterHook,
96+
ResponseConverterHook,
97+
session,
98+
)
9699

97100

98101
class ExampleType:
@@ -143,7 +146,7 @@ print(res.structured.json.test.test) # test
143146
First of all create an instance of random class:
144147

145148
```python
146-
from apitist.random import Randomer
149+
from apitist import Randomer
147150
rand = Randomer()
148151
```
149152

@@ -209,3 +212,51 @@ By this you could create different data for different `str` fields.
209212

210213
Also, using with `RequestConverterHook` and `ResponseConverterHook`
211214
you could easily create random json objects which would be send to server.
215+
216+
## Predefined random types
217+
218+
```python
219+
from apitist import Randomer
220+
from apitist.random import Username, FirstName, LastName, Date
221+
from dataclasses import dataclass
222+
223+
224+
@dataclass
225+
class LoginModel:
226+
username: Username
227+
password: str
228+
229+
230+
@dataclass
231+
class BookingDates:
232+
checkin: Date
233+
checkout: Date
234+
235+
236+
@dataclass
237+
class BookingModel:
238+
firstname: FirstName
239+
lastname: LastName
240+
totalprice: int
241+
depositpaid: bool
242+
bookingdates: BookingDates
243+
additionalneeds: str
244+
245+
246+
rand = Randomer()
247+
rand.add_predefined(locale="es-ES")
248+
rand.object(LoginModel)
249+
# LoginModel(
250+
# username='wfeliu',
251+
# password='VjHoHtLSjdoxXhtitaXU'
252+
# )
253+
rand.object(BookingModel)
254+
# BookingModel(
255+
# firstname='Pedro',
256+
# lastname='Luz',
257+
# totalprice=931,
258+
# depositpaid=True,
259+
# bookingdates=BookingDates(checkin='1972-08-29', checkout='1971-05-19'),
260+
# additionalneeds='EFggHSpnzRSJATKtUmOm'
261+
# )
262+
```

src/apitist/__init__.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,62 @@
11
"""Apitist package"""
22
from pkg_resources import DistributionNotFound, get_distribution
33

4+
from .constructor import (
5+
AttrsConverter,
6+
Converter,
7+
ConverterType,
8+
DataclassConverter,
9+
convclass,
10+
converter,
11+
)
12+
from .hooks import (
13+
PreparedRequestHook,
14+
PrepRequestDebugLoggingHook,
15+
PrepRequestInfoLoggingHook,
16+
RequestAttrsConverterHook,
17+
RequestConverterHook,
18+
RequestDataclassConverterHook,
19+
RequestDebugLoggingHook,
20+
RequestHook,
21+
RequestInfoLoggingHook,
22+
ResponseAttrsConverterHook,
23+
ResponseConverterHook,
24+
ResponseDataclassConverterHook,
25+
ResponseDebugLoggingHook,
26+
ResponseHook,
27+
ResponseInfoLoggingHook,
28+
)
29+
from .random import Randomer
30+
from .requests import session
31+
32+
__all__ = [
33+
"__version__",
34+
"dist_name",
35+
"AttrsConverter",
36+
"DataclassConverter",
37+
"convclass",
38+
"converter",
39+
"ConverterType",
40+
"Converter",
41+
"PreparedRequestHook",
42+
"PrepRequestDebugLoggingHook",
43+
"PrepRequestInfoLoggingHook",
44+
"RequestAttrsConverterHook",
45+
"RequestConverterHook",
46+
"RequestDataclassConverterHook",
47+
"RequestDebugLoggingHook",
48+
"RequestHook",
49+
"RequestInfoLoggingHook",
50+
"ResponseAttrsConverterHook",
51+
"ResponseConverterHook",
52+
"ResponseDataclassConverterHook",
53+
"ResponseDebugLoggingHook",
54+
"ResponseHook",
55+
"ResponseInfoLoggingHook",
56+
"Randomer",
57+
"session",
58+
]
59+
460
try:
561
# Change here if project is renamed and does not equal the package name
662
dist_name = "apitist"

src/apitist/logging.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import logging
22

3-
import apitist
4-
53

64
class Logging:
75

@@ -29,7 +27,7 @@ def _setup_logging(log_level):
2927
logging.getLogger("requests").setLevel(logging.WARNING)
3028
logging.getLogger("urllib3").setLevel(logging.WARNING)
3129

32-
Logging.logger = logging.getLogger(apitist.dist_name)
30+
Logging.logger = logging.getLogger("apitist")
3331
Logging.logger.setLevel(log_level)
3432

3533

0 commit comments

Comments
 (0)