pycsw Migration Guide¶
This page provides migration support across pycsw versions over time to help with pycsw change management.
pycsw 1.x to 2.0 Migration¶
the default CSW version is now 3.0.0. CSW clients need to explicitly specify
version=2.0.2
for CSW 2 behaviour. Also, pycsw administrators can use a WSGI wrapper to the pycsw API to forceversion=2.0.2
on init ofpycsw.server.Csw
from the server. See CSW Support for more information.pycsw.server.Csw.dispatch_wsgi()
previously returned the response content as a string. 2.0.0 introduces a compatability break to additionally return the HTTP status code along with the response as a list
from pycsw.server import Csw
my_csw = Csw(my_dict) # add: env=some_environ_dict, version='2.0.2' if preferred
# using pycsw 1.x
response = my_csw.dispatch_wsgi()
# using pycsw 2.0
http_status_code, response = my_csw.dispatch_wsgi()
# covering either pycsw version
content = csw.dispatch_wsgi()
# pycsw 2.0 has an API break:
# pycsw < 2.0: content = xml_response
# pycsw >= 2.0: content = [http_status_code, content]
# deal with the API break
if isinstance(content, list): # pycsw 2.0+
http_response_code, response = content
See API for more information.