Skip to main content

Python Connector to Alyx-Local instance(s)

Install

Install with

pip install alyx-connector

or

pip install git+https://github.com/JostTim/alyx-local-connector.git@docker-compatible

First use

You need to create a connector object to the alyx_instance that you are using. The easyest way to create one at the beginning, or for any other new connection with a different username or to a different instance, you can use the Connector.setup() class function :

from alyx_connector import Connector

connector = Connector.setup()

You will be prompted to enter informations for setting the new connection.

First, the address of the server : Enter address

Second, the username to use : Enter username

Optionally, decide wether to make this the default address and username combo, when you call Connector() without arguments, at later times : Enter set default

Lastly, the password to use with that address / username combo : (if successfull, the server will provide a token that will be saved by the connector for that adress/username combo, so that you don't need to retype the password again, but the pasword itself is not saved for security reasons) Enter password

If the connection succeeds, you will get a connector object : connector obtained

Subsequent uses

After setting up at least a first connection, you can use the connector at later times (even after restarting python) using several ways :

Using the default server / username :

from alyx_connector import Connector
connector = Connector()

Using a specific server, but the default username for that server :

from alyx_connector import Connector
connector = Connector(url="127.0.0.1")

Using a specific server and username :

from alyx_connector import Connector
connector = Connector(url="127.0.0.1", username="myname")

At any time, you can check the server and username used by the connect, by typing connector.url or connector.username

Accessing experimental data using the connector

Searching for a session

The main use of the connector is usually to search experimental sessions data, based on some filter.

To get a table of session when the animal used is for example named ea04, you can type :

sessions = connector.search(subject = "ea04")

you will get a pandas.DataFrame where each row is corresponding to a session, and each column to some information relative to that session, as available on the alyx-local website.

Example : session_table

You can get the session infos narrative for example, for the third session that you obtained here, by doing :

session = sessions.iloc[3] # get the third session in the table, by index order
print(session.narrative) # print the narrative

session_narrative

You can also access the json based fields : session.json and session.extended_qc, which are standard python dictionnaries. (containing potentially nested data that you entered)

session.json

session_json session_json_getitem

The json field is meant as a way to store additionnal metadata that you cannot enter inside the regular session table fields. (as different experiments may need different fields)

The extended_qc field is meant as a way to store detailed Quality Check information, that you can use to get only the sessions that passed particular criterias after checking the data. (non exhaustive examples : a noise level in the electrophy recordings, etc...)

Metadata

Release files for alyx-connector 2.1.47

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for alyx-connector 2.1.47
File Size Uploaded
alyx_connector-2.1.47.tar.gz 967.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for alyx-connector 2.1.47
File Interpreter ABI Platform
alyx_connector-2.1.47-py3-none-any.whl Python 3 none any Details

Total release size: 1.0 MB

Release files / alyx_connector-2.1.47.tar.gz

Download URL alyx_connector-2.1.47.tar.gz
Size 967.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0d9b4010d0c6253a3e79daba4a56e3fc3a789b7839a4b6864c79a86d9f511195
BLAKE2b-256 checksum
How to use checksums
21ad96402cb70548adedefbf2ea6a7ed41df21bf119b0fe556deb3ed36e492b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via pdm/2.26.6 CPython/3.12.3 Linux/6.14.0-1017-azure

Release files / alyx_connector-2.1.47-py3-none-any.whl

Download URL alyx_connector-2.1.47-py3-none-any.whl
Size 80.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4d4031b715fdf340aeaac7af004579af3fd189e3e40392a598f165a9a3fd312a
BLAKE2b-256 checksum
How to use checksums
fcb96c21dc270ef53eb71913a792700349b0db145cd25c3a6aa05d1781ca7f9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via pdm/2.26.6 CPython/3.12.3 Linux/6.14.0-1017-azure

Release history Release notifications | RSS feed

This release

2.1.47 This release

2 release files

2.1.46

2 release files

2.1.45

2 release files

2.1.42

2 release files

2.1.41

2 release files

2.1.32

2 release files

2.1.10

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.1

2 release files

1.3.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page