Basic library for interacting with the REST interface of XNAT.
Project description
# The Boring XNAT Library (BXL)
[](https://badge.fury.io/py/bxl)
[](https://gitlab.com/bbrc/xnat/bxl/commits/master)
[](https://gitlab.com/bbrc/xnat/bxl/commits/master)
BXL is a library for interacting with the REST interface of XNAT ([Extensible Neuroimaging Archive Toolkit](https://www.xnat.org/)),
an open-source imaging informatics software platform.
## Usage
### Installation
BXL is available at [PyPI](https://pypi.org/project/bxl/), the Python Package Index.
With [pip](https://pypi.org/project/pip/) package management system:
```commandline
pip install bxl
```
Without pip:
```commandline
git clone https://gitlab.com/bbrc/xnat/bxl.git .
cd ./bxl
python setup.py install
```
### Credentials handling
The `xnat.Connection()` class constructor expects a `credentials` argument to be passed when instantiated,
* If is a `tuple`, it will proceed to a basic authentication procedure against the `host` XNAT instance.
* If is a `basestring`, it will reuse it as a cookie for authentication against the `host` XNAT instance.
* Otherwise (or if authentication procedure failed in the aforementioned cases), it will remain offline.
### Examples
Connect to XNAT instance using an existing JSESSIONID token and get a list of user-visible XNAT projects
```python
import bxl.xnat as xlib
c = xlib.Connection(hostname='http://myxnat.org',credentials='1A12346385E876546C99B4179E20986A')
data = c.get_json_data(URL=c.host + '/data/projects')
projects = { item['ID'] : item['URI'] for item in data }
print projects
c.close_jsession()
```
Connect via ['with' statement](https://docs.python.org/2.5/whatsnew/pep-343.html) to create a new Female subject 'dummy' in the 'test' project
```python
from bxl import xnat
with xnat.Connection(hostname='http://myxnat.org',credentials=(usr,pwd)) as c :
response = c._put_data(URL=c.host + '/data/projects/test/subjects/dummy', data="",options= {'gender' : 'female'} )
subject_uid = response.content
print 'New subject %s created!' %subject_uid
```
[](https://badge.fury.io/py/bxl)
[](https://gitlab.com/bbrc/xnat/bxl/commits/master)
[](https://gitlab.com/bbrc/xnat/bxl/commits/master)
BXL is a library for interacting with the REST interface of XNAT ([Extensible Neuroimaging Archive Toolkit](https://www.xnat.org/)),
an open-source imaging informatics software platform.
## Usage
### Installation
BXL is available at [PyPI](https://pypi.org/project/bxl/), the Python Package Index.
With [pip](https://pypi.org/project/pip/) package management system:
```commandline
pip install bxl
```
Without pip:
```commandline
git clone https://gitlab.com/bbrc/xnat/bxl.git .
cd ./bxl
python setup.py install
```
### Credentials handling
The `xnat.Connection()` class constructor expects a `credentials` argument to be passed when instantiated,
* If is a `tuple`, it will proceed to a basic authentication procedure against the `host` XNAT instance.
* If is a `basestring`, it will reuse it as a cookie for authentication against the `host` XNAT instance.
* Otherwise (or if authentication procedure failed in the aforementioned cases), it will remain offline.
### Examples
Connect to XNAT instance using an existing JSESSIONID token and get a list of user-visible XNAT projects
```python
import bxl.xnat as xlib
c = xlib.Connection(hostname='http://myxnat.org',credentials='1A12346385E876546C99B4179E20986A')
data = c.get_json_data(URL=c.host + '/data/projects')
projects = { item['ID'] : item['URI'] for item in data }
print projects
c.close_jsession()
```
Connect via ['with' statement](https://docs.python.org/2.5/whatsnew/pep-343.html) to create a new Female subject 'dummy' in the 'test' project
```python
from bxl import xnat
with xnat.Connection(hostname='http://myxnat.org',credentials=(usr,pwd)) as c :
response = c._put_data(URL=c.host + '/data/projects/test/subjects/dummy', data="",options= {'gender' : 'female'} )
subject_uid = response.content
print 'New subject %s created!' %subject_uid
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bxl-0.3.0.tar.gz
(10.6 kB
view details)
Built Distribution
bxl-0.3.0-py2-none-any.whl
(13.2 kB
view details)
File details
Details for the file bxl-0.3.0.tar.gz
.
File metadata
- Download URL: bxl-0.3.0.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
62eb7ababb5a3ad079565ca196668cc5bd5b59fca0abb6e713eb8741a3d1b508
|
|
MD5 |
40a89d3c9c159084578b4dcee07a3e4a
|
|
BLAKE2b-256 |
aeb45578896d0fb56eb8ef7d8fc6518ea6dc2b6a75bb72911d95fd7a699ca707
|
File details
Details for the file bxl-0.3.0-py2-none-any.whl
.
File metadata
- Download URL: bxl-0.3.0-py2-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
05c1b3370df5dc0f975fe6e827676cbefb063bd31ab5ce5161b5b7b1db3da404
|
|
MD5 |
b7a7257bd054b7f57bd53a06c3a34a69
|
|
BLAKE2b-256 |
277c0f212e1f4eeb3e7cccacbed8a2a71dc8d15af4599685d9cca2f5c76ebea3
|