Llama CLI fetches and preprocesses learning data
Project description
Llama CLI
A utility program that fetches and preprocesses learning data from supported learning tools. Educators and researches have important usecases for accessing the raw data that is generated while learners are using digital learning tools and environments. These stakeholders can aim to e.g. analyse and improve teaching materials, methods, and activities.
The aim of Llama CLI is to support and ease the steps of
- connecting to the supported learning data sources
- excluding persons and unwanted data tables or columns
- fetching partial and complete data sets
- anonymizing data before research activities
- standardizing or transforming data
- sampling and selecing data for analysis/ML
Currently supported data sources are
- A-plus https://apluslms.github.io/
Etymology
The name for the project comes from ~ la lumière à Montagne analytique. Pardon my French for ~ light on the mountain of analytics. Also LA is an acronym, that the package author may have used in his thesis more than a decent number of times, and that stands for Learning Analytics which is a research field in education technologies. Llamas are also known from a controversial programming exercise for computer science majors at Aalto University.
Installation
Llama CLI is available at PyPI. It has a number of automatically installed
dependencies, most notably pandas
, numpy
, and requests
.
% python3 -m pip install llama-cli
% llama
OR contained in a virtual environment (directory)
% python3 -m venv .venv && .venv/bin/pip install llama-cli
% .venv/bin/llama
Instructions
Llama CLI operates on the current working directory. The configurations and data will be stored in that directory – little bit like when working with git repositories. One work directory can connect with multiple data sources and one should select the sources that the current research or analysis project requires.
% llama
Llama CLI fetches and preprocesses learning data
usage: llama <cmd> [<args>]
status Show the working tree status
source Manage sources for learning data
list List available data tables and columns
privacy Configure privacy (default: pseudoanonymous)
exclude Exclude selected tables, columns, or persons at fetch
fetch Fetch data from sources
anonymize Export anonymized data
shell Open python REPL with 'llama' instance to fetched data
- Use
llama source add
to interactively connect with data sources. The required addresses and keys will be prompted when required. - Use
llama list
to fetch the available data tables. - Time to consider excluding some uninteresting data or persons who have
not consent to the research at hand. See
llama exclude
for examples. - Use
llama fetch rows
to download data tables. Depending on the project it may be necessary to alsollama fetch files
and/orllama fetch meta
. This step has a delay between internet requests and it may take a long time to complete. The rows can be fetched again to append new data if supported by the data source. - The data in
fetched
directory is pseudoanonymized by default. The pseudo identifiers are required to complete fetching of depended data. Usellama anonymize
to produceexport
directory that can be e.g. stored in research repository when the security measures and research consent allow it.
Output
The Python class from llama import Llama
offers some programmatic accessors
and samplers to the data for further processing and analysis, as well as
interactive testing via llama shell
.
Naturally, the raw CSV and other files are available in export
directory.
TODO
- Some R scripts for fast access and general measures & visualizations could be added.
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
Built Distribution
File details
Details for the file llama-cli-1.0.6.tar.gz
.
File metadata
- Download URL: llama-cli-1.0.6.tar.gz
- Upload date:
- Size: 16.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8d160742a08d117ac396bef360a29398fcdeabf75c15704bcf18ec9e6751de2 |
|
MD5 | 0b1de44c2345ce747a26928404118c43 |
|
BLAKE2b-256 | 00d03353ef34b71571028fd00c8ed4a4660e13f5428d9d022ccc13c44fd156db |
File details
Details for the file llama_cli-1.0.6-py3-none-any.whl
.
File metadata
- Download URL: llama_cli-1.0.6-py3-none-any.whl
- Upload date:
- Size: 20.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab79657ee9295e625edae96d6e14b2a59807df84db4c000c9b7c41a9883e5065 |
|
MD5 | 68220cfd8e6b11bbd42276210a979d8f |
|
BLAKE2b-256 | 96086ce564f7a492aca88da8c060db6a760a076af7c3c22df5ba32c9b53945a7 |