跳转到主要内容

Nextcloud Python框架

项目描述

NcPyApi logo

Nextcloud Python框架

Analysis & Coverage Docs codecov

NextcloudVersion PythonVersion impl pypi

Python库,提供了一个强大且文档齐全的API,允许开发者与Nextcloud的功能进行交互和扩展。

关键特性包括

  • 快速:高性能,尽可能低延迟。
  • 直观:快速编码,易于使用。
  • 可靠:最小化不兼容的更改。
  • 健壮:尽可能多地覆盖所有代码的测试。
  • 简单:设计得易于使用,并配有优秀的文档。
  • 同步+异步:提供同步和异步API。

功能

功能 Nextcloud 27 Nextcloud 28 Nextcloud 29 Nextcloud 30
日历
文件系统 & 标签
Nextcloud Talk
通知
共享
用户 & 组
用户 & 天气状况
其他API**
聊天机器人API*
设置UI API* N/A N/A
任务处理提供者API* N/A N/A N/A

*仅适用于 NextcloudApp
**活动,笔记

Nextcloud和NextcloudApp类的区别

Nextcloud类作为一个标准Nextcloud客户端,允许您使用用户名和密码进行API请求。

另一方面,NextcloudApp类是为创建Nextcloud应用而设计的。
它使用AppAPI提供额外的功能,允许应用程序拥有自己的图形界面,满足不同用户的需求,以及实现全功能应用程序所需的一切。

这两个类提供了大多数相同的API,但NextcloudApp提供了更广泛的选择,因为应用程序通常需要访问更多的API。

为Nextcloud类编写的任何代码都可以轻松地适应NextcloudApp类,只要它不涉及需要用户密码验证的调用。

NextcloudApp仅从Nextcloud 27.1.2及更高版本,且已安装AppAPI时可用。

Python中的Nextcloud骨架应用

from contextlib import asynccontextmanager

from fastapi import FastAPI

from nc_py_api import NextcloudApp
from nc_py_api.ex_app import AppAPIAuthMiddleware, LogLvl, run_app, set_handlers


@asynccontextmanager
async def lifespan(app: FastAPI):
    set_handlers(app, enabled_handler)
    yield


APP = FastAPI(lifespan=lifespan)
APP.add_middleware(AppAPIAuthMiddleware)


def enabled_handler(enabled: bool, nc: NextcloudApp) -> str:
    if enabled:
        nc.log(LogLvl.WARNING, "Hello from nc_py_api.")
    else:
        nc.log(LogLvl.WARNING, "Bye bye from nc_py_api.")
    return ""


if __name__ == "__main__":
    run_app("main:APP", log_level="trace")

支持

您可以通过多种方式支持我们

  • ⭐️ 关注我们的工作(这真的很有动力)
  • ❗️ 创建一个问题或功能请求(给我们带来一个优秀想法)
  • 💁 解决一些问题或创建一个Pull Request(为该项目做出贡献)
  • 🙏 编写其使用示例或纠正文档中的错误。

更多信息

项目详情


下载文件

下载适合您平台的项目文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

nc_py_api-0.17.1.tar.gz (77.7 kB 查看哈希值)

上传时间

构建分布

nc_py_api-0.17.1-py3-none-any.whl (98.9 kB 查看哈希值)

上传时间 Python 3