# pymarz
[![Stars](https://img.shields.io/github/stars/SSaeedhoseini/pymarz.svg?style=social)](https://github.com/SSaeedhoseini/pymarz/stargazers)
[![Forks](https://img.shields.io/github/forks/SSaeedhoseini/pymarz.svg?style=social)](https://github.com/SSaeedhoseini/pymarz/network/members)
[![Issues](https://img.shields.io/github/issues/SSaeedhoseini/pymarz.svg)](https://github.com/SSaeedhoseini/pymarz/issues)
[![Supported python versions](https://img.shields.io/pypi/pyversions/pymarz.svg)](https://pypi.python.org/pypi/pymarz)
[![Downloads](https://img.shields.io/pypi/dm/pymarz.svg)](https://pypi.python.org/pypi/pymarz)
[![PyPi Package Version](https://img.shields.io/pypi/v/pymarz)](https://pypi.python.org/pypi/pymarz)
**pymarz** is an asynchronous Python library designed for interacting with [Marzban](https://github.com/Gozargah/Marzban). It provides comprehensive methods for managing administrators, users, nodes, and system statistics.
## Requirements.
Python 3.7+
## Installation & Usage
### pip install
```sh
pip install pymarz
```
### install from repository
you can install directly form github repository using:
```sh
pip install git+https://github.com/SSaeedHoseini/pymarz.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/SSaeedHoseini/pymarz.git`)
### Setuptools
Install via [Setuptools](http://pypi.python.org/pypi/setuptools).
```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)
## Getting Started
Please follow the [installation procedure](#installation--usage) and then run the following:
```python
from asyncio import run
from pymarz import MarzAPI
pyload = {
"url": "your-domain",
"username": "admin-username",
"password": "admin-password",
}
async def main():
client = MarzAPI(**pyload)
hosts = await client.host.get_all()
print(hosts)
if __name__ == "__main__":
try:
run(main())
except Exception as e:
print(str(e))
```
## Documentation for API Endpoints
All URIs are relative to *http://localhost*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AdminApi* | [**admin_token**](docs/AdminApi.md#admin_token) | **POST** /api/admin/token | Admin Token
*AdminApi* | [**create_admin**](docs/AdminApi.md#create_admin) | **POST** /api/admin | Create Admin
*AdminApi* | [**get_admins**](docs/AdminApi.md#get_admins) | **GET** /api/admins | Get Admins
*AdminApi* | [**get_current_admin**](docs/AdminApi.md#get_current_admin) | **GET** /api/admin | Get Current Admin
*AdminApi* | [**modify_admin**](docs/AdminApi.md#modify_admin) | **PUT** /api/admin/{username} | Modify Admin
*AdminApi* | [**remove_admin**](docs/AdminApi.md#remove_admin) | **DELETE** /api/admin/{username} | Remove Admin
*CoreApi* | [**get_core_config**](docs/CoreApi.md#get_core_config) | **GET** /api/core/config | Get Core Config
*CoreApi* | [**get_core_stats**](docs/CoreApi.md#get_core_stats) | **GET** /api/core | Get Core Stats
*CoreApi* | [**modify_core_config**](docs/CoreApi.md#modify_core_config) | **PUT** /api/core/config | Modify Core Config
*CoreApi* | [**restart_core**](docs/CoreApi.md#restart_core) | **POST** /api/core/restart | Restart Core
*NodeApi* | [**add_node**](docs/NodeApi.md#add_node) | **POST** /api/node | Add Node
*NodeApi* | [**get_node**](docs/NodeApi.md#get_node) | **GET** /api/node/{node_id} | Get Node
*NodeApi* | [**get_node_settings**](docs/NodeApi.md#get_node_settings) | **GET** /api/node/settings | Get Node Settings
*NodeApi* | [**get_nodes**](docs/NodeApi.md#get_nodes) | **GET** /api/nodes | Get Nodes
*NodeApi* | [**get_usage**](docs/NodeApi.md#get_usage) | **GET** /api/nodes/usage | Get Usage
*NodeApi* | [**modify_node**](docs/NodeApi.md#modify_node) | **PUT** /api/node/{node_id} | Modify Node
*NodeApi* | [**reconnect_node**](docs/NodeApi.md#reconnect_node) | **POST** /api/node/{node_id}/reconnect | Reconnect Node
*NodeApi* | [**remove_node**](docs/NodeApi.md#remove_node) | **DELETE** /api/node/{node_id} | Remove Node
*SubscriptionApi* | [**user_get_usage**](docs/SubscriptionApi.md#user_get_usage) | **GET** /sub/{token}/usage | User Get Usage
*SubscriptionApi* | [**user_subscription**](docs/SubscriptionApi.md#user_subscription) | **GET** /sub/{token}/ | User Subscription
*SubscriptionApi* | [**user_subscription_info**](docs/SubscriptionApi.md#user_subscription_info) | **GET** /sub/{token}/info | User Subscription Info
*SubscriptionApi* | [**user_subscription_with_client_type**](docs/SubscriptionApi.md#user_subscription_with_client_type) | **GET** /sub/{token}/{client_type} | User Subscription With Client Type
*SystemApi* | [**get_hosts**](docs/SystemApi.md#get_hosts) | **GET** /api/hosts | Get Hosts
*SystemApi* | [**get_inbounds**](docs/SystemApi.md#get_inbounds) | **GET** /api/inbounds | Get Inbounds
*SystemApi* | [**get_system_stats**](docs/SystemApi.md#get_system_stats) | **GET** /api/system | Get System Stats
*SystemApi* | [**modify_hosts**](docs/SystemApi.md#modify_hosts) | **PUT** /api/hosts | Modify Hosts
*UserApi* | [**add_user**](docs/UserApi.md#add_user) | **POST** /api/user | Add User
*UserApi* | [**delete_expired_users**](docs/UserApi.md#delete_expired_users) | **DELETE** /api/users/expired | Delete Expired Users
*UserApi* | [**get_expired_users**](docs/UserApi.md#get_expired_users) | **GET** /api/users/expired | Get Expired Users
*UserApi* | [**get_user**](docs/UserApi.md#get_user) | **GET** /api/user/{username} | Get User
*UserApi* | [**get_user_usage**](docs/UserApi.md#get_user_usage) | **GET** /api/user/{username}/usage | Get User Usage
*UserApi* | [**get_users**](docs/UserApi.md#get_users) | **GET** /api/users | Get Users
*UserApi* | [**get_users_usage**](docs/UserApi.md#get_users_usage) | **GET** /api/users/usage | Get Users Usage
*UserApi* | [**modify_user**](docs/UserApi.md#modify_user) | **PUT** /api/user/{username} | Modify User
*UserApi* | [**remove_user**](docs/UserApi.md#remove_user) | **DELETE** /api/user/{username} | Remove User
*UserApi* | [**reset_user_data_usage**](docs/UserApi.md#reset_user_data_usage) | **POST** /api/user/{username}/reset | Reset User Data Usage
*UserApi* | [**reset_users_data_usage**](docs/UserApi.md#reset_users_data_usage) | **POST** /api/users/reset | Reset Users Data Usage
*UserApi* | [**revoke_user_subscription**](docs/UserApi.md#revoke_user_subscription) | **POST** /api/user/{username}/revoke_sub | Revoke User Subscription
*UserApi* | [**set_owner**](docs/UserApi.md#set_owner) | **PUT** /api/user/{username}/set-owner | Set Owner
*UserTemplateApi* | [**add_user_template**](docs/UserTemplateApi.md#add_user_template) | **POST** /api/user_template | Add User Template
*UserTemplateApi* | [**get_user_template_endpoint**](docs/UserTemplateApi.md#get_user_template_endpoint) | **GET** /api/user_template/{id} | Get User Template Endpoint
*UserTemplateApi* | [**get_user_templates**](docs/UserTemplateApi.md#get_user_templates) | **GET** /api/user_template | Get User Templates
*UserTemplateApi* | [**modify_user_template**](docs/UserTemplateApi.md#modify_user_template) | **PUT** /api/user_template/{id} | Modify User Template
*UserTemplateApi* | [**remove_user_template**](docs/UserTemplateApi.md#remove_user_template) | **DELETE** /api/user_template/{id} | Remove User Template
*DefaultApi* | [**base**](docs/DefaultApi.md#base) | **GET** / | Base
## Documentation For Models
- [Admin](docs/Admin.md)
- [AdminCreate](docs/AdminCreate.md)
- [AdminModify](docs/AdminModify.md)
- [CoreStats](docs/CoreStats.md)
- [HTTPValidationError](docs/HTTPValidationError.md)
- [LocationInner](docs/LocationInner.md)
- [NodeCreate](docs/NodeCreate.md)
- [NodeModify](docs/NodeModify.md)
- [NodeResponse](docs/NodeResponse.md)
- [NodeSettings](docs/NodeSettings.md)
- [NodeStatus](docs/NodeStatus.md)
- [NodeUsageResponse](docs/NodeUsageResponse.md)
- [NodesUsageResponse](docs/NodesUsageResponse.md)
- [Port](docs/Port.md)
- [ProxyHost](docs/ProxyHost.md)
- [ProxyHostALPN](docs/ProxyHostALPN.md)
- [ProxyHostFingerprint](docs/ProxyHostFingerprint.md)
- [ProxyHostSecurity](docs/ProxyHostSecurity.md)
- [ProxyInbound](docs/ProxyInbound.md)
- [ProxyTypes](docs/ProxyTypes.md)
- [SubscriptionUserResponse](docs/SubscriptionUserResponse.md)
- [SystemStats](docs/SystemStats.md)
- [Token](docs/Token.md)
- [UserCreate](docs/UserCreate.md)
- [UserDataLimitResetStrategy](docs/UserDataLimitResetStrategy.md)
- [UserModify](docs/UserModify.md)
- [UserResponse](docs/UserResponse.md)
- [UserStatus](docs/UserStatus.md)
- [UserStatusCreate](docs/UserStatusCreate.md)
- [UserStatusModify](docs/UserStatusModify.md)
- [UserTemplateCreate](docs/UserTemplateCreate.md)
- [UserTemplateModify](docs/UserTemplateModify.md)
- [UserTemplateResponse](docs/UserTemplateResponse.md)
- [UserUsageResponse](docs/UserUsageResponse.md)
- [UserUsagesResponse](docs/UserUsagesResponse.md)
- [UsersResponse](docs/UsersResponse.md)
- [UsersUsagesResponse](docs/UsersUsagesResponse.md)
- [ValidationError](docs/ValidationError.md)
## Project Links
- **PyPI**: [marzban](https://pypi.org/project/pymarz/)
- **GitHub Repository**: [pymarz](https://github.com/SSaeedhoseini/pymarz)
## Contributing
We welcome contributions! If you encounter any issues or have suggestions for improvements, please feel free to [open an issue](https://github.com/SSaeedhoseini/pymarz/issues) or submit a Pull Request (PR).
## Support
If you have any questions or need assistance, you can contact the author via:
- **Telegram**: [@SSaeedhoseini](https://t.me/SSaeedhoseini)
## License
This project is licensed under the MIT License. For more details, refer to the [LICENSE file](https://github.com/SSaeedhoseini/pymarz/blob/production/LICENSE).
Raw data
{
"_id": null,
"home_page": "https://github.com/SSaeedhoseini/pymarz",
"name": "pymarz",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "pymarz, pymarz API, MarzbanAPI, Marzban",
"author": "SSaeedhoseini",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/da/99/f7999288bc8d79aaf42c217e255e4fc1d44702f7238600b4c3c9865e0b7d/pymarz-1.0.1.tar.gz",
"platform": null,
"description": "\n# pymarz\n[![Stars](https://img.shields.io/github/stars/SSaeedhoseini/pymarz.svg?style=social)](https://github.com/SSaeedhoseini/pymarz/stargazers)\n[![Forks](https://img.shields.io/github/forks/SSaeedhoseini/pymarz.svg?style=social)](https://github.com/SSaeedhoseini/pymarz/network/members)\n[![Issues](https://img.shields.io/github/issues/SSaeedhoseini/pymarz.svg)](https://github.com/SSaeedhoseini/pymarz/issues)\n[![Supported python versions](https://img.shields.io/pypi/pyversions/pymarz.svg)](https://pypi.python.org/pypi/pymarz)\n[![Downloads](https://img.shields.io/pypi/dm/pymarz.svg)](https://pypi.python.org/pypi/pymarz)\n[![PyPi Package Version](https://img.shields.io/pypi/v/pymarz)](https://pypi.python.org/pypi/pymarz)\n\n**pymarz** is an asynchronous Python library designed for interacting with [Marzban](https://github.com/Gozargah/Marzban). It provides comprehensive methods for managing administrators, users, nodes, and system statistics.\n\n## Requirements.\n\nPython 3.7+\n\n## Installation & Usage\n\n### pip install\n```sh\npip install pymarz\n```\n### install from repository\n\nyou can install directly form github repository using:\n\n```sh\npip install git+https://github.com/SSaeedHoseini/pymarz.git\n```\n(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/SSaeedHoseini/pymarz.git`)\n\n### Setuptools\n\nInstall via [Setuptools](http://pypi.python.org/pypi/setuptools).\n\n```sh\npython setup.py install --user\n```\n(or `sudo python setup.py install` to install the package for all users)\n\n\n## Getting Started\nPlease follow the [installation procedure](#installation--usage) and then run the following:\n\n```python\nfrom asyncio import run\n\nfrom pymarz import MarzAPI\n\npyload = {\n \"url\": \"your-domain\",\n \"username\": \"admin-username\",\n \"password\": \"admin-password\",\n}\n\n\nasync def main():\n client = MarzAPI(**pyload)\n\n hosts = await client.host.get_all()\n\n print(hosts)\n\n\nif __name__ == \"__main__\":\n try:\n run(main())\n except Exception as e:\n print(str(e))\n\n```\n\n\n## Documentation for API Endpoints\n\nAll URIs are relative to *http://localhost*\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*AdminApi* | [**admin_token**](docs/AdminApi.md#admin_token) | **POST** /api/admin/token | Admin Token\n*AdminApi* | [**create_admin**](docs/AdminApi.md#create_admin) | **POST** /api/admin | Create Admin\n*AdminApi* | [**get_admins**](docs/AdminApi.md#get_admins) | **GET** /api/admins | Get Admins\n*AdminApi* | [**get_current_admin**](docs/AdminApi.md#get_current_admin) | **GET** /api/admin | Get Current Admin\n*AdminApi* | [**modify_admin**](docs/AdminApi.md#modify_admin) | **PUT** /api/admin/{username} | Modify Admin\n*AdminApi* | [**remove_admin**](docs/AdminApi.md#remove_admin) | **DELETE** /api/admin/{username} | Remove Admin\n*CoreApi* | [**get_core_config**](docs/CoreApi.md#get_core_config) | **GET** /api/core/config | Get Core Config\n*CoreApi* | [**get_core_stats**](docs/CoreApi.md#get_core_stats) | **GET** /api/core | Get Core Stats\n*CoreApi* | [**modify_core_config**](docs/CoreApi.md#modify_core_config) | **PUT** /api/core/config | Modify Core Config\n*CoreApi* | [**restart_core**](docs/CoreApi.md#restart_core) | **POST** /api/core/restart | Restart Core\n*NodeApi* | [**add_node**](docs/NodeApi.md#add_node) | **POST** /api/node | Add Node\n*NodeApi* | [**get_node**](docs/NodeApi.md#get_node) | **GET** /api/node/{node_id} | Get Node\n*NodeApi* | [**get_node_settings**](docs/NodeApi.md#get_node_settings) | **GET** /api/node/settings | Get Node Settings\n*NodeApi* | [**get_nodes**](docs/NodeApi.md#get_nodes) | **GET** /api/nodes | Get Nodes\n*NodeApi* | [**get_usage**](docs/NodeApi.md#get_usage) | **GET** /api/nodes/usage | Get Usage\n*NodeApi* | [**modify_node**](docs/NodeApi.md#modify_node) | **PUT** /api/node/{node_id} | Modify Node\n*NodeApi* | [**reconnect_node**](docs/NodeApi.md#reconnect_node) | **POST** /api/node/{node_id}/reconnect | Reconnect Node\n*NodeApi* | [**remove_node**](docs/NodeApi.md#remove_node) | **DELETE** /api/node/{node_id} | Remove Node\n*SubscriptionApi* | [**user_get_usage**](docs/SubscriptionApi.md#user_get_usage) | **GET** /sub/{token}/usage | User Get Usage\n*SubscriptionApi* | [**user_subscription**](docs/SubscriptionApi.md#user_subscription) | **GET** /sub/{token}/ | User Subscription\n*SubscriptionApi* | [**user_subscription_info**](docs/SubscriptionApi.md#user_subscription_info) | **GET** /sub/{token}/info | User Subscription Info\n*SubscriptionApi* | [**user_subscription_with_client_type**](docs/SubscriptionApi.md#user_subscription_with_client_type) | **GET** /sub/{token}/{client_type} | User Subscription With Client Type\n*SystemApi* | [**get_hosts**](docs/SystemApi.md#get_hosts) | **GET** /api/hosts | Get Hosts\n*SystemApi* | [**get_inbounds**](docs/SystemApi.md#get_inbounds) | **GET** /api/inbounds | Get Inbounds\n*SystemApi* | [**get_system_stats**](docs/SystemApi.md#get_system_stats) | **GET** /api/system | Get System Stats\n*SystemApi* | [**modify_hosts**](docs/SystemApi.md#modify_hosts) | **PUT** /api/hosts | Modify Hosts\n*UserApi* | [**add_user**](docs/UserApi.md#add_user) | **POST** /api/user | Add User\n*UserApi* | [**delete_expired_users**](docs/UserApi.md#delete_expired_users) | **DELETE** /api/users/expired | Delete Expired Users\n*UserApi* | [**get_expired_users**](docs/UserApi.md#get_expired_users) | **GET** /api/users/expired | Get Expired Users\n*UserApi* | [**get_user**](docs/UserApi.md#get_user) | **GET** /api/user/{username} | Get User\n*UserApi* | [**get_user_usage**](docs/UserApi.md#get_user_usage) | **GET** /api/user/{username}/usage | Get User Usage\n*UserApi* | [**get_users**](docs/UserApi.md#get_users) | **GET** /api/users | Get Users\n*UserApi* | [**get_users_usage**](docs/UserApi.md#get_users_usage) | **GET** /api/users/usage | Get Users Usage\n*UserApi* | [**modify_user**](docs/UserApi.md#modify_user) | **PUT** /api/user/{username} | Modify User\n*UserApi* | [**remove_user**](docs/UserApi.md#remove_user) | **DELETE** /api/user/{username} | Remove User\n*UserApi* | [**reset_user_data_usage**](docs/UserApi.md#reset_user_data_usage) | **POST** /api/user/{username}/reset | Reset User Data Usage\n*UserApi* | [**reset_users_data_usage**](docs/UserApi.md#reset_users_data_usage) | **POST** /api/users/reset | Reset Users Data Usage\n*UserApi* | [**revoke_user_subscription**](docs/UserApi.md#revoke_user_subscription) | **POST** /api/user/{username}/revoke_sub | Revoke User Subscription\n*UserApi* | [**set_owner**](docs/UserApi.md#set_owner) | **PUT** /api/user/{username}/set-owner | Set Owner\n*UserTemplateApi* | [**add_user_template**](docs/UserTemplateApi.md#add_user_template) | **POST** /api/user_template | Add User Template\n*UserTemplateApi* | [**get_user_template_endpoint**](docs/UserTemplateApi.md#get_user_template_endpoint) | **GET** /api/user_template/{id} | Get User Template Endpoint\n*UserTemplateApi* | [**get_user_templates**](docs/UserTemplateApi.md#get_user_templates) | **GET** /api/user_template | Get User Templates\n*UserTemplateApi* | [**modify_user_template**](docs/UserTemplateApi.md#modify_user_template) | **PUT** /api/user_template/{id} | Modify User Template\n*UserTemplateApi* | [**remove_user_template**](docs/UserTemplateApi.md#remove_user_template) | **DELETE** /api/user_template/{id} | Remove User Template\n*DefaultApi* | [**base**](docs/DefaultApi.md#base) | **GET** / | Base\n\n\n## Documentation For Models\n\n - [Admin](docs/Admin.md)\n - [AdminCreate](docs/AdminCreate.md)\n - [AdminModify](docs/AdminModify.md)\n - [CoreStats](docs/CoreStats.md)\n - [HTTPValidationError](docs/HTTPValidationError.md)\n - [LocationInner](docs/LocationInner.md)\n - [NodeCreate](docs/NodeCreate.md)\n - [NodeModify](docs/NodeModify.md)\n - [NodeResponse](docs/NodeResponse.md)\n - [NodeSettings](docs/NodeSettings.md)\n - [NodeStatus](docs/NodeStatus.md)\n - [NodeUsageResponse](docs/NodeUsageResponse.md)\n - [NodesUsageResponse](docs/NodesUsageResponse.md)\n - [Port](docs/Port.md)\n - [ProxyHost](docs/ProxyHost.md)\n - [ProxyHostALPN](docs/ProxyHostALPN.md)\n - [ProxyHostFingerprint](docs/ProxyHostFingerprint.md)\n - [ProxyHostSecurity](docs/ProxyHostSecurity.md)\n - [ProxyInbound](docs/ProxyInbound.md)\n - [ProxyTypes](docs/ProxyTypes.md)\n - [SubscriptionUserResponse](docs/SubscriptionUserResponse.md)\n - [SystemStats](docs/SystemStats.md)\n - [Token](docs/Token.md)\n - [UserCreate](docs/UserCreate.md)\n - [UserDataLimitResetStrategy](docs/UserDataLimitResetStrategy.md)\n - [UserModify](docs/UserModify.md)\n - [UserResponse](docs/UserResponse.md)\n - [UserStatus](docs/UserStatus.md)\n - [UserStatusCreate](docs/UserStatusCreate.md)\n - [UserStatusModify](docs/UserStatusModify.md)\n - [UserTemplateCreate](docs/UserTemplateCreate.md)\n - [UserTemplateModify](docs/UserTemplateModify.md)\n - [UserTemplateResponse](docs/UserTemplateResponse.md)\n - [UserUsageResponse](docs/UserUsageResponse.md)\n - [UserUsagesResponse](docs/UserUsagesResponse.md)\n - [UsersResponse](docs/UsersResponse.md)\n - [UsersUsagesResponse](docs/UsersUsagesResponse.md)\n - [ValidationError](docs/ValidationError.md)\n\n\n## Project Links\n - **PyPI**: [marzban](https://pypi.org/project/pymarz/)\n- **GitHub Repository**: [pymarz](https://github.com/SSaeedhoseini/pymarz)\n\n## Contributing\n\nWe welcome contributions! If you encounter any issues or have suggestions for improvements, please feel free to [open an issue](https://github.com/SSaeedhoseini/pymarz/issues) or submit a Pull Request (PR).\n\n## Support\n\nIf you have any questions or need assistance, you can contact the author via:\n- **Telegram**: [@SSaeedhoseini](https://t.me/SSaeedhoseini)\n\n## License\n\nThis project is licensed under the MIT License. For more details, refer to the [LICENSE file](https://github.com/SSaeedhoseini/pymarz/blob/production/LICENSE).\n",
"bugtrack_url": null,
"license": null,
"summary": "Asynchronous Python library for interacting with Marzban",
"version": "1.0.1",
"project_urls": {
"Homepage": "https://github.com/SSaeedhoseini/pymarz",
"Source": "https://github.com/SSaeedhoseini/pymarz"
},
"split_keywords": [
"pymarz",
" pymarz api",
" marzbanapi",
" marzban"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "03b403cbdb1beedb27bb90ed85f433c230a58d676a1ac861df22abcd9e94252e",
"md5": "042816d13d3997684b26c18c1c824d76",
"sha256": "96f03c0387cb78f662ba45cc1fd825442735d68ab8d731e9edf65a7cb88d8334"
},
"downloads": -1,
"filename": "pymarz-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "042816d13d3997684b26c18c1c824d76",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 19089,
"upload_time": "2024-11-08T17:02:48",
"upload_time_iso_8601": "2024-11-08T17:02:48.387229Z",
"url": "https://files.pythonhosted.org/packages/03/b4/03cbdb1beedb27bb90ed85f433c230a58d676a1ac861df22abcd9e94252e/pymarz-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "da99f7999288bc8d79aaf42c217e255e4fc1d44702f7238600b4c3c9865e0b7d",
"md5": "769caf87c2323cb317117543335ad872",
"sha256": "93b00a2c81cd2fe5857aff8c58e37617ac3f6c016dcdf6e9fdec657a749bccdf"
},
"downloads": -1,
"filename": "pymarz-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "769caf87c2323cb317117543335ad872",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 15307,
"upload_time": "2024-11-08T17:02:50",
"upload_time_iso_8601": "2024-11-08T17:02:50.091412Z",
"url": "https://files.pythonhosted.org/packages/da/99/f7999288bc8d79aaf42c217e255e4fc1d44702f7238600b4c3c9865e0b7d/pymarz-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-08 17:02:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "SSaeedhoseini",
"github_project": "pymarz",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "pymarz"
}