The source code is currently hosted on GitHub at: https://github.com/pyxnat/pyxnat
Binary installers for the latest released version are available at the Python
package index. pyxnat can be installed
using pip with the following command:
pip install pyxnat
- requests v2.20 or higher
- python-lxml v4.3.2 or higher recommended, earlier versions may work.
For development purposes:
See the full installation instructions for recommended and optional dependencies.
To install pyxnat from source, from the pyxnat directory (same one
where you found this file after cloning the git repo), execute:
python setup.py install
The official documentation is hosted at: https://pyxnat.github.io/pyxnat
Until v1.1 tests were exclusively performed on XNAT Central
using a dedicated user account (nosetests). However, some tests could not run
due to restricted permissions. In v1.1, tests were restructured to use two
independent XNAT instances based on permission level.
A public XNAT instance (NITRC/IR) is used for most tests with read access, while tests requiring write permissions run against a local XNAT instance in a Docker container.
Running the test suite requires the following:
- pytest v7.1+
- coverage v3.6+
- docker v18+
A local Docker-powered XNAT instance can be set up using docker-compose and
any available recipe. We recommend the one maintained by the XNAT
team (xnat-docker-compose).
Once the repository is cloned, run:
docker-compose up -d
After a couple of minutes, the XNAT instance should be up and running locally at http://localhost.
Finally run the tests from the root of the project:
pytest --cov pyxnat
See .github/workflows/ci.yml (used for CI) for the full test setup.
Building the docs requires to have setuptools and sphinx (v2.0+) installed. Then run the command:
python setup.py build_sphinx
The docs are built in the build/sphinx/html folder.
To contribute to pyxnat, first create an account on GitHub. Once this is done, fork the pyxnat repository to have you own repository,
clone it using git clone on the computers where you want to work. Make
changes in your clone, push them to your GitHub fork, test them
on several computers and when you are happy with them, send a pull
request to the main repository.
