Files
dify-plugin-sdks/python
QuantumGhost 5cb24625c3 ci(python): Add CI Pipeline for Python SDK (#72)
* chore(python): temporarily disable `UP007` rule in Ruff

Disable the `UP007` rule temporarily due to numerous existing
violations in the current codebase.

* ci(python): add lint and test for Python SDK

* ci: Add mega-linter

* chore(python): Add final newline to markdown files

* fix(python): Fix linter issues by using ruff's auto fix

* fix(python): Fix TRY400 linter violations

Ruff suggests using `logger.exception` to log when
logging an exception, instead of using `logging.error`.

The former logs the exception and the traceback
automatically.

ref: https://docs.astral.sh/ruff/rules/error-instead-of-exception/

* fix(python): fix ruff linter violations

* test(python): Add Test cases for LLM entities

Test the initialization of `LLMResult` and `LLMResultChunk`.

* test(python): Add test for `AgentModelConfig`

Ensures that the `history_prompt_messages` attribute is
not shared between instances of `AgentModelConfig`.

* chore(python): output diffs in Ruff's format check

* style(python): format code with Ruff

* chore(python): Add a bash script for fix and format python code

* chore: add `persist-credentials: false` to checkout action

Enhances security by preventing subsequent
steps from accessing GitHub credentials, reducing
potential attack surfaces.

Ref: https://github.com/actions/checkout#checkout-v4
2025-04-14 20:25:19 +08:00
..
2025-04-11 13:29:16 +08:00

Dify Plugin SDK

A Python SDK for building plugins for Dify.

Version Management

This SDK follows Semantic Versioning (a.b.c):

  • a: Major version - Indicates significant architectural changes or incompatible API modifications
  • b: Minor version - Indicates new feature additions while maintaining backward compatibility
  • c: Patch version - Indicates backward-compatible bug fixes

For SDK Users

When depending on this SDK, it's recommended to specify version constraints that:

  • Allow patch and minor updates for bug fixes and new features
  • Prevent major version updates to avoid breaking changes

Example in your project's dependency management:

dify_plugin>=0.1.0,<0.2.0