marzban 0.2.6__py3-none-any.whl → 0.2.8__py3-none-any.whl

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.
marzban/__init__.py CHANGED
@@ -59,4 +59,4 @@ __all__ = (
59
59
  "ValidationError",
60
60
  )
61
61
 
62
- __version__ = "0.2.6"
62
+ __version__ = "0.2.8"
marzban/api.py CHANGED
@@ -4,9 +4,9 @@ from pydantic import BaseModel
4
4
  from .models import *
5
5
 
6
6
  class MarzbanAPI:
7
- def __init__(self, base_url: str):
7
+ def __init__(self, base_url: str, *, timeout: float = 10.0, verify: bool = False):
8
8
  self.base_url = base_url
9
- self.client = httpx.AsyncClient(base_url=base_url)
9
+ self.client = httpx.AsyncClient(base_url=base_url, verify=verify, timeout=timeout)
10
10
 
11
11
  def _get_headers(self, token: str) -> Dict[str, str]:
12
12
  return {"Authorization": f"Bearer {token}"}
@@ -14,7 +14,7 @@ class MarzbanAPI:
14
14
  async def _request(self, method: str, url: str, token: Optional[str] = None, data: Optional[BaseModel] = None, params: Optional[Dict[str, Any]] = None) -> httpx.Response:
15
15
  headers = self._get_headers(token) if token else {}
16
16
  json_data = data.model_dump(exclude_none=True) if data else None
17
- params = [param for param in (params or []) if param is not None]
17
+ params = {k: v for k, v in (params or {}).items() if v is not None}
18
18
  response = await self.client.request(method, url, headers=headers, json=json_data, params=params)
19
19
  response.raise_for_status()
20
20
  return response
marzban/models.py CHANGED
@@ -69,6 +69,7 @@ class UserResponse(BaseModel):
69
69
  on_hold_expire_duration: Optional[int] = None
70
70
  on_hold_timeout: Optional[str] = None
71
71
  status: Optional[str] = None
72
+ admin: Optional[Admin] = None
72
73
  used_traffic: Optional[int] = None
73
74
  lifetime_used_traffic: Optional[int] = None
74
75
  created_at: Optional[str] = None
@@ -195,4 +196,4 @@ class UserStatus(BaseModel):
195
196
  class ValidationError(BaseModel):
196
197
  loc: List[Any]
197
198
  msg: str
198
- type: str
199
+ type: str
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: marzban
3
- Version: 0.2.6
3
+ Version: 0.2.8
4
4
  Summary: Асинхронная библиотека Python для взаимодействия с MarzbanAPI
5
5
  Home-page: https://github.com/sm1ky/marzban_api
6
6
  Author: Artem
@@ -0,0 +1,8 @@
1
+ marzban/__init__.py,sha256=C_Py0ya2lJIGKUjXy6kN3gVmEdC-PVgXWSZaXaoKoXA,1205
2
+ marzban/api.py,sha256=-NfYamr8XFr2TTnZ7clN-LrLZvrVmTxcehSyRqyUvrg,10763
3
+ marzban/models.py,sha256=mtWiF5t6Be-oLULQ1VyhQ2sQyX4BhfTNPBth70VxWLg,5635
4
+ marzban-0.2.8.dist-info/LICENSE,sha256=e7OchdHfXoz2OZRHj8iltLIKYwdri9J4_9PMEnov418,1061
5
+ marzban-0.2.8.dist-info/METADATA,sha256=dSuyQgRw9ryskuHfIbT7uswG_gdvpeHorpaO5nF0g3E,1111
6
+ marzban-0.2.8.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
7
+ marzban-0.2.8.dist-info/top_level.txt,sha256=KUmBWzTarBlzw2GZOuk-d-jM2GU4zPWo1iwvW_mXS-c,8
8
+ marzban-0.2.8.dist-info/RECORD,,
@@ -1,8 +0,0 @@
1
- marzban/__init__.py,sha256=F7_zxFWoa18F7R3UAmIN5GbRYNHtpA794XPrtDhoWAk,1205
2
- marzban/api.py,sha256=m8Uv0dgN0gg4yeCu_u5RBWw1hhz5dRSSOvp7SffjW80,10681
3
- marzban/models.py,sha256=CmmrobcipIsv3m6Jc9XMPdgQMNMoYyJdmwn3NbVIjvU,5600
4
- marzban-0.2.6.dist-info/LICENSE,sha256=e7OchdHfXoz2OZRHj8iltLIKYwdri9J4_9PMEnov418,1061
5
- marzban-0.2.6.dist-info/METADATA,sha256=RxxzJygFfgBMa-FOTYUZefmUs6KDJrHJW8x3xHE_5wo,1111
6
- marzban-0.2.6.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
7
- marzban-0.2.6.dist-info/top_level.txt,sha256=KUmBWzTarBlzw2GZOuk-d-jM2GU4zPWo1iwvW_mXS-c,8
8
- marzban-0.2.6.dist-info/RECORD,,