python-icat is a Python package that provides a collection of modules for writing programs that access an ICAT service using the SOAP interface. It is based on Suds and extends it with ICAT specific features.
See the online documentation.
- Python 2.7, or 3.3 and newer.
Required Library packages
- Suds, either the original version or the fork by Jurko Gospodnetić. The latter is recommended as the original version is not maintained any more and contains bugs. Python 3 requires the jurko fork.
Optional library packages
Only needed to use certain extra features, not required to install or use python-icat itself.
- PyYAML. (Only needed to use the YAML backend of icatdump.py and icatingest.py and to run the example scripts.)
- lxml. (Only needed to use the XML backend of icatdump.py and icatingest.py.)
- Requests. (Only needed for the example scripts using the ICAT RESTful interface, icatexport.py and icatimport.py.)
- setuptools_scm. (The version number is managed using this package. All source distributions add a static text file with the version number and fall back using that if setuptools_scm is not available. So this package is only needed to build out of the plain development source tree as cloned from GitHub.)
- pytest >= 3.1.0. (Only if you want to run the tests.)
- pytest-dependency >= 0.2. (Only if you want to run the tests.)
- distutils-pytest. (Only if you want to run the tests.)
Old versions can also be found here.
python-icat uses the distutils Python standard library package and
follows its conventions of packaging source distributions. See the documentation on Installing Python Modules for details or to customize the install process.
- Download the sources, unpack, and change into the source directory.
- python setup.py build
- python setup.py install
The last step might require admin privileges in order to write into the site-packages directory of your Python installation.
- I gave a presentation on python-icat at the ICAT meeting, March 2014, Dublin.
- I gave a presentation on data ingestion with python-icat at the ICAT meeting, October 2016, Copenhagen.
- The source repository is on GitHub.
Copyright 2013-2019 Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.