$npx skillfedfor your agent

spyne

A transport and architecture agnostic rpc library that focuses on exposing public services with a well-defined API.

SkipPyPI Dynamic ContentReleased Feb 2022232.7K downloads / moLGPL-2.1Source build

Decision gist · record as of 2026-08-14

sdist only — spyne-2.14.0.tar.gz · builds from source
v2.14.0 · released 2022-02-03

No. Spyne is abandoned (1653 days without release) and carries high install friction. While it works with modern Python versions and has no known vulnerabilities, the lack of active maintenance means security patches, compatibility fixes, and feature updates are unlikely. For new projects, choose an actively maintained alternative like FastAPI, gRPC, or a dedicated SOAP library. For existing Spyne deployments, plan a migration path.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires a WSGI-compatible server or Twisted/Django integration to run; no zero-config standalone mode.
  • Installation friction is high.
  • The package has been abandoned for 1653 days with no recent maintenance signal.

License · maintenance · safety

LGPL-2.1 (copyleft) — Spyne is licensed under LGPL-2.1 (copyleft). Any application linking or distributing this library must make its own source code available under compatible terms; proprietary closed-source projects should review licensing implications carefully.

last release 2022-02-03 (1653 days)

0 known vulnerabilities (OSV.dev, 2026-08-14) · 232,680 downloads/mo, #9,057 on PyPI

Verify before relying

pip install spyne

from spyne import Application, rpc, ServiceBase, Unicode
from spyne.protocol.soap import Soap11
from spyne.server.wsgi import WsgiApplication

class HelloService(ServiceBase):
    @rpc(Unicode, _returns=Unicode)
    def hello(ctx, name):
        return 'Hello ' + name

application = WsgiApplication([HelloService], tns='hello.example',
    in_protocol=Soap11(validator='lxml'),
    out_protocol=Soap11())
  • Current compatibility with SQLAlchemy 1.4+ and msgpack 1.x beyond what 2.14.0 changelog states
  • Whether the DoS fix (GHSL-2021-115) addresses all known attack vectors in production use
  • Level of community support and third-party maintenance given the project's abandoned status
Same gist for agents: .md · .json

What it is and what it does

Spyne is a framework for defining RPC services once and exposing them over multiple protocols and transports without rewriting the service logic. It handles SOAP/WSDL generation, REST endpoints, JSON, MessagePack, and other serialization formats, integrating with WSGI, Twisted, Django, and other Python web stacks. The core idea is to let you define your service interface using Python decorators and type hints, then automatically generate the protocol-specific plumbing—WSDL documents, serializers, deserializers, and transport handlers.

The framework supports complex data models through SQLAlchemy integration, handles polymorphic types, manages relationships, and provides both synchronous and asynchronous execution paths. It has been in production use since 2012 and claims to support Python 2.7 and 3.6 through 3.10, though active development ceased around 2022. No runtime dependencies are required for basic use, though specific transports (Twisted, Django) and features (SQLAlchemy ORM mapping) require optional integration.

Use it for

  • Expose legacy business logic as both SOAP and REST endpoints without duplicating service code
  • Generate WSDL contracts and client stubs for enterprise integration scenarios
  • Build multi-protocol RPC services that serve SOAP clients, JSON REST clients, and MessagePack consumers from one codebase
  • Integrate complex database models with automatic serialization and deserialization via SQLAlchemy
  • Migrate SOAP-based systems to modern transports by keeping service definitions stable while swapping protocol handlers

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Skip

No.

Spyne is abandoned (1653 days without release) and carries high install friction. While it works with modern Python versions and has no known vulnerabilities, the lack of active maintenance means security patches, compatibility fixes, and feature updates are unlikely. For new projects, choose an actively maintained alternative like FastAPI, gRPC, or a dedicated SOAP library. For existing Spyne deployments, plan a migration path.

Install

spyne on PyPI

Before you install

Installation friction is high. The package has been abandoned for 1653 days with no recent maintenance signal. While it supports modern Python versions through 3.10, the lack of active development means bug fixes and compatibility updates are unlikely.

Requires a WSGI-compatible server or Twisted/Django integration to run; no zero-config standalone mode.

License in practice

Spyne is licensed under LGPL-2.1 (copyleft). Any application linking or distributing this library must make its own source code available under compatible terms; proprietary closed-source projects should review licensing implications carefully.

Quickstart

pip install spyne

from spyne import Application, rpc, ServiceBase, Unicode
from spyne.protocol.soap import Soap11
from spyne.server.wsgi import WsgiApplication

class HelloService(ServiceBase):
    @rpc(Unicode, _returns=Unicode)
    def hello(ctx, name):
        return 'Hello ' + name

application = WsgiApplication([HelloService], tns='hello.example',
    in_protocol=Soap11(validator='lxml'),
    out_protocol=Soap11())

Verify before relying

  • Current compatibility with SQLAlchemy 1.4+ and msgpack 1.x beyond what 2.14.0 changelog states
  • Whether the DoS fix (GHSL-2021-115) addresses all known attack vectors in production use
  • Level of community support and third-party maintenance given the project's abandoned status

Package facts

LicenseLGPL-2.1 copyleft
Python supportNot specified
Install frictionHigh. Source build required
Runtime dependenciesNone
MaintenanceAbandoned 1,653 days since the last release
First released
Downloads232,680 / month, #9,057 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Internet :: WWW/HTTP :: Dynamic Content

Evidence: spyne-2.14.0.tar.gz

Tags

Capabilities
soap rpc frameworkwsdl web servicerest api generatormulti-protocol rpcwsgi service frameworkxml json rpctwisted http service
Topics
soap-wsdlmulti-protocol-rpcabandoned
PyPI keywords
soapwsdlwsgizeromqrestrpcjsonhttpmsgpackxmldjangopyramidpostgresqlsqlalchemytwistedyaml

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “soap rpc framework”

  • spyneSpyne is a framework for building remote procedure call (RPC)…
  • suds-py3A lightweight SOAP client library for Python 3 that consumes web…
  • suds-communityLightweight SOAP-based web service client that reads WSDL at runtime…

Give your agent the search over MCP, or paste the wish link into any chat.

More Dynamic Content packages

MarkupSafe Worth it
PyPI · Dynamic Content · released Sep 2025

MarkupSafe provides a text object that escapes special characters so untrusted strings can be safely embedded in HTML and XML without injection attacks.

BSD-3-Clausecompiled wheel · 3.9+aging
797.1Mdownloads / mo
Jinja2 Worth it
PyPI · Dynamic Content · released Mar 2025

Jinja2 is a templating engine that renders dynamic content by combining templates with Python-like syntax and data, supporting template inheritance, macros, autoescaping, and sandboxed execution.

BSD-3-Clausepure Python · 3.7+aging
718.6Mdownloads / mo
soupsieve Worth it
PyPI · Python Modules · released Aug 2026

Soupsieve is a CSS selector library designed to work with Beautiful Soup 4 to select, match, and filter HTML and XML elements using modern CSS selectors from CSS level 1 through CSS level 4 specifications.

Install it if you use Beautiful Soup for HTML or XML parsing and want modern CSS selector support.

MITpure Python · 3.10+
428.6Mdownloads / mo
Werkzeug Worth it
PyPI · Application Frameworks · released Apr 2026

Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.

BSD-3-Clausepure Python · 3.9+
268.1Mdownloads / mo
Flask Worth it
PyPI · Application Frameworks · released Feb 2026

Flask is a lightweight WSGI web application framework for building web applications in Python, from simple single-page sites to complex multi-route applications.

BSD-3-Clausepure Python · 3.9+
211.4Mdownloads / mo
Mako Worth it
PyPI · Dynamic Content · released Aug 2026

Mako compiles Python-embedded templates into Python modules for fast rendering, supporting layout inheritance, custom functions, and direct Python expressions within template syntax.

MITpure Python · 3.10+
201.7Mdownloads / mo

See also suds-community · suds-py3 · WSME · python-jsonrpc-server · suds · crochet · zeep · Twisted · suds-jurko · treq