Metadata-Version: 1.1
Name: bt-python-sdk
Version: 0.2.0
Summary: Pybt is a BaoTa panel python sdk.
Home-page: https://github.com/adamzhang1987/bt-python-sdk
Author: Adam Zhang
Author-email: adamzhang1987@gmail.com
License: MIT
Description: About
        =====
        
        *Pybt* is a BaoTa panel python sdk.
        
        *Pybt* 是一个宝塔面板API的Python版本sdk封装库
        
        Documentation:
        https://bt-python-sdk.readthedocs.io/en/latest/?
        
        Examples
        ========
        
        1.首先需要在 ``面板设置-API接口`` 中打开API接口，获取 ``接口秘钥`` 。
        
        2.开启API后，必需在IP白名单列表中的IP才能访问面板API接口。
        
        3.如需本机调用面板API密钥，请添加“127.0.0.1”和本机IP至IP白名单。
        
        接口初始化\ ``YOUR_PANEL_ADDRESS``\ 参数不需要安全入口，只需要填写面板的域名或IP加端口即可，如:
        ``http://192.168.1.168:8888``\ 。
        
        .. code:: python
        
           # 系统状态相关接口api
           >>> from pybt.system import System
           >>> system_api = System(YOUR_PANEL_ADDRESS, YOUR_API_KEY)
        
           # 获取系统基础统计
           >>> system_api.get_system_total()
        
           {'memTotal': 31700,
            'memFree': 18403,
            'memBuffers': 1020,
            'memCached': 8444,
            'memRealUsed': 3833,
            'cpuNum': 12,
            'cpuRealUsed': 4.9,
            'time': '36天',
            'system': 'Ubuntu 20.04.3 LTS x86_64(Py3.7.9)',
            'isuser': 0,
            'isport': True,
            'version': '7.7.0'}
        
           # 获取磁盘分区信息
            >>> system_api.get_disk_info()
        
            [{'filesystem': '/dev/sda6',
             'type': 'ext4',
             'path': '/',
             'size': ['1.1T', '23G', '1005G', '3%'],
             'inodes': ['72089600', '360084', '71729516', '1%']}]
        
        .. code:: python
        
           # 网站管理相关接口
           >>> from pybt.sites import Sites
           >>> sites_api = Sites(YOUR_PANEL_ADDRESS, YOUR_API_KEY)
        
           # 获取网站列表
           >>> sites_api.websites()
        
           {'where': '',
            'page': "<div><span class='Pcurrent'>1</span><span class='Pcount'>共1条</span></div>",
            'data': [{'id': 5,
              'name': '10.10.11.181',
              'path': '/www/wwwroot/webSiteDir',
              'status': '1',
              'ps': '10_10_11_181',
              'addtime': '2021-06-12 22:57:32',
              'edate': '0000-00-00',
              'backup_count': 0,
              'domain': 2,
              'ssl': {'issuer': 'R3',
               'notAfter': '2022-03-09',
               'notBefore': '2021-12-09',
               'dns': ['*.*.com'],
               'subject': '*.*.com',
               'endtime': 73},
             'php_version': '静态'}]}
        
           # 获取PHP版本信息
           >>> sites_api.get_php_version()
        
           [{'version': '00', 'name': '纯静态'}, {'version': '56', 'name': 'PHP-56'}]
        
           # 获取网站SSL详情, YOUR_SITES_NAME通过websites接口获取
           >>> sites_api.get_ssl(YOUR_SITES_NAME)
        
           {'status': True,
            'oid': -1,
            'domain': [{'name': '10.10.11.181'}, {'name': '127.0.0.1'}],
            'key': YOUR_KEY,
            'csr': YOUR_CSR,
            'type': 1,
            'httpTohttps': False,
            'cert_data': {'subject': '*.*.com',
             'notAfter': '2022-03-09',
             'notBefore': '2021-12-09',
             'issuer': "Let's Encrypt",
             'dns': ['*.*.com']},
            'email': 'test@message.com',
            'index': '142e5275a456ecd7bf32bda98528375c',
            'auth_type': 'http'}
        
        .. code:: python
        
           # FTP管理相关接口
           >>> from pybt.ftp import Ftp
           >>> ftp_api = Ftp(YOUR_PANEL_ADDRESS, YOUR_API_KEY)
           # 获取FTP信息列表
           >>> ftp_api.web_ftp_list()
        
           {'where': '',
            'page': "<div><span class='Pcurrent'>1</span><span class='Pcount'>共1条</span></div>",
            'data': [{'id': 1,
              'pid': 0,
              'name': 'web_user',
              'password': 'web_user_password',
              'status': '1',
              'ps': 'web_user',
              'addtime': '2021-10-25 10:48:35',
              'path': '/www/wwwroot/web_user'}]}
        
        .. code:: python
        
           # 数据库管理
           >>> from pybt.dbm import DBM
           >>> dbm_api = DBM(YOUR_PANEL_ADDRESS, YOUR_API_KEY)
           # 获取数据库信息列表
           >>> dbm_api.web_db_list()
        
           {'where': '',
            'page': "<div><span class='Pcurrent'>1</span><span class='Pcount'>共1条</span></div>",
            'data': [{'id': 1,
              'pid': 0,
              'name': 'test_site_db',
              'username': 'test_site_db',
              'password': 'test_site_db_password',
              'accept': '127.0.0.1',
              'ps': 'test_site_db',
              'addtime': '2021-10-25 10:53:15',
              'backup_count': 0}]}
        
        .. code:: python
        
           # 插件管理
           >>> from pybt.plugin import Plugin
           >>> plugin_api = Plugin((YOUR_PANEL_ADDRESS, YOUR_API_KEY)
           # 宝塔一键部署执行
           >>> plugin_api.setup_package(dname, site_name, php_version)
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
