Skip to main content

Python wrapper to interface with ITk DB.

Project description

ITk DB v0.4.0rc12

PyPI version Downloads Downloads Downloads

To install as a user

pip install itkdb

or if you wish to develop/contribute

git clone ...
pip install -e .[develop]

or

git clone ...
pip install -e .[complete]

Using

Command line available via

itkdb --help

Environment Variables

See itkdb/settings/base.py for all environment variables that can be set. All environment variables for this package are prefixed with ITKDB_. As of now, there are:

  • ITKDB_ACCESS_CODE1: access code #1 for authentication
  • ITKDB_ACCESS_CODE2: access code #2 for authentication
  • ITKDB_ACCESS_SCOPE: scope for the access token authentication request
  • ITKDB_AUTH_URL: authentication server
  • ITKDB_SITE_URL: API server
  • ITKDB_CASSETTE_LIBRARY_DIR: for tests, where to store recorded requests/responses

Develop

Bump Version

Run bump2version x.y.z to bump to the next version. We will always tag any version we bump, and this creates the relevant commits/tags for you. All you need to do is git push --tags and that should be it.

Examples

import itkdb

client = itkdb.Client()
comps = client.get(
    "listComponents", json={"project": "P", "pageInfo": {"pageSize": 32}}
)

for i, comp in enumerate(comps):
    print(i, comp["code"])

FAQ

SSL Error with CERN websites

If you run into SSL errors with CERN websites, you might need the CERN certificate chain to sign the certificates correctly. Just add a verify keyword into your calls:

client.get(..., verify=itkdb.data / "CERN_chain.pem")

and it should work.

pycurl error

If you try running itkdb and run into an issue like:

Traceback (most recent call last):
  File "script.py", line 1, in <module>
    import itkdb
  File "/Users/kratsg/itkdb/src/itkdb/__init__.py", line 7, in <module>
    from .client import Client
  File "/Users/kratsg/itkdb/src/itkdb/client.py", line 8, in <module>
    import pycurl
ImportError: pycurl: libcurl link-time ssl backends (secure-transport, openssl) do not include compile-time ssl backend (none/other)

You will need to reinstall pycurl and force re-compilation. This can be done by first checking the config for curl on your machine:

$ curl-config --features
AsynchDNS
GSS-API
HTTPS-proxy
IPv6
Kerberos
Largefile
MultiSSL
NTLM
NTLM_WB
SPNEGO
SSL
UnixSockets
alt-svc
libz

and then setting the appropriate compile flags. For example, on a Mac, I have openssl so I do the following:

on MacOS

$ brew info openssl
...
...

For compilers to find openssl@3 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@3/include"

...

which tells me to export the above lines and then I can reinstall correctly:

$ export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
$ export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
$ python -m pip install --no-cache-dir --compile --ignore-installed --install-option="--with-openssl" pycurl

on lxplus (CC7)

Assuming a virtual environment like

$ lsetup "views dev4 latest/x86_64-centos7-gcc11-opt"
$ python3 -m venv venv
$ source venv/bin/activate

I looked up the locations of the installations on lxplus for you already:

$ export LDFLAGS="-L/usr/local/lib/openssl"
$ export CPPFLAGS="-I/usr/local/include/openssl"
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig/
$ python -m pip install --no-cache-dir --compile --ignore-installed --install-option="--with-nss" pycurl

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

itkdb-0.4.0rc12.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

itkdb-0.4.0rc12-py3-none-any.whl (45.4 kB view details)

Uploaded Python 3

File details

Details for the file itkdb-0.4.0rc12.tar.gz.

File metadata

  • Download URL: itkdb-0.4.0rc12.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.16

File hashes

Hashes for itkdb-0.4.0rc12.tar.gz
Algorithm Hash digest
SHA256 5e09d730ab56f6edc323596516e2d9efbb5533ec0a2f871d71a429945d840c67
MD5 81272beeedc3620533ab4048cafd5715
BLAKE2b-256 284a1ed058fff76f332bed3276e394644755ccc090106fa27c6ebc524663a79b

See more details on using hashes here.

File details

Details for the file itkdb-0.4.0rc12-py3-none-any.whl.

File metadata

  • Download URL: itkdb-0.4.0rc12-py3-none-any.whl
  • Upload date:
  • Size: 45.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.16

File hashes

Hashes for itkdb-0.4.0rc12-py3-none-any.whl
Algorithm Hash digest
SHA256 41584717ee5f8da62c33a907a1555fc3d191580fd6984cb1572da4a287ff5275
MD5 b1be37b5a09b2261ae1fea21a3d9495f
BLAKE2b-256 3936a387ef7333dde12f0c585e6a5b626dd2d7b161c3ff366fcc33b411cb6db5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page