pyxnat
XNAT in Python
Decision gist · record as of 2026-08-14
Yes, if you work with XNAT servers in a research or clinical setting. The package is actively maintained, has no security vulnerabilities, and low install friction. It is the standard Python interface to XNAT and solves a real problem for anyone needing programmatic access to imaging archives. Not relevant if you do not use XNAT.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires an accessible XNAT server instance to connect to; authentication credentials needed.
- Low friction installation with three stable runtime dependencies (lxml, requests, pathlib).
- Package is actively maintained with a recent release and no known vulnerabilities.
License · maintenance · safety
BSD (permissive) — BSD license is permissive, allowing use in commercial and proprietary projects with minimal restrictions beyond attribution.
last release 2025-11-06 (281 days) · last repo commit 2026-06-02 · 79 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 401,709 downloads/mo, #6,925 on PyPI
Alternatives
Verify before relying
pip install pyxnat
import pyxnat
xnat = pyxnat.Interface(server='http://xnat-server', user='username', password='password')
project = xnat.select.project('PROJECT_ID')- Whether pathlib is truly a runtime dependency or a standard library reference in the metadata.
- Specific XNAT server version compatibility requirements beyond the general API.
- Performance characteristics when working with large imaging datasets.
What it is and what it does
pyxnat is a Python library that wraps the XNAT REST API, allowing researchers and developers to programmatically interact with XNAT servers—systems commonly used in neuroimaging and biomedical research to store, manage, and retrieve medical imaging data. It depends on requests for HTTP communication and lxml for XML parsing, which are core to XNAT's data exchange format. The package is classified as Beta and targets Python 3.9 and 3.10, with active maintenance and no known security vulnerabilities.
Typically used in research workflows where imaging data needs to be queried, downloaded, or uploaded in bulk, or where imaging projects must be managed programmatically. It abstracts away the complexity of direct REST calls, offering a more Pythonic interface to XNAT's object hierarchy (projects, subjects, experiments, scans, resources).
Use it for
- Batch download imaging datasets from an XNAT repository for local analysis pipelines.
- Programmatically upload processed imaging results back to an XNAT server for archival and sharing.
- Query and filter imaging projects by metadata to identify cohorts for research studies.
- Automate routine data management tasks on XNAT servers without manual web interface interaction.
- Integrate XNAT data access into reproducible research workflows and computational notebooks.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with XNAT servers in a research or clinical setting.
The package is actively maintained, has no security vulnerabilities, and low install friction. It is the standard Python interface to XNAT and solves a real problem for anyone needing programmatic access to imaging archives. Not relevant if you do not use XNAT.
Install
pyxnat on PyPI
Before you install
Low friction installation with three stable runtime dependencies (lxml, requests, pathlib). Package is actively maintained with a recent release and no known vulnerabilities.
Requires an accessible XNAT server instance to connect to; authentication credentials needed.
License in practice
BSD license is permissive, allowing use in commercial and proprietary projects with minimal restrictions beyond attribution.
Quickstart
pip install pyxnat
import pyxnat
xnat = pyxnat.Interface(server='http://xnat-server', user='username', password='password')
project = xnat.select.project('PROJECT_ID')
Verify before relying
- Whether pathlib is truly a runtime dependency or a standard library reference in the metadata.
- Specific XNAT server version compatibility requirements beyond the general API.
- Performance characteristics when working with large imaging datasets.
Package facts
| License | BSD permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packageslxmlrequestspathlib |
| Maintenance | Actively maintained 281 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 401,709 / month, #6,925 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.9Topic :: Internet :: WWW/HTTPTopic :: Scientific/EngineeringTopic :: Utilities |
Evidence: pyxnat-1.6.4-py3-none-any.whl
Tags
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 › “XNAT Python client”
- pyxnatpyxnat provides Python bindings to interact with XNAT (Extensible…
- codewords-clientA Python client library for the Codewords API with built-in FastAPI…
- openapi-python-clientGenerates type-annotated Python HTTP clients from OpenAPI 3.0 and 3.1…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also pybids · dicomweb-client · bidsschematools · mne-bids · nibabel · nilearn · monai · dicom2nifti · itk-segmentation · itkwasm