The LMS Toolkit helps school districts unlock, transform and simplify, and use instructional system data.
The Toolkit's initial use cases focus on student assignment completion / delinquency, and on general student activity and "presence" in instructional systems. You can read more about this on Ed-Fi Tech Docs.
All of the tools in this repository require Python 3.9 or higher and
Poetry. Please install both and insure the
python
and poetry
commands are available in your command path before trying
to run any of the tools.
To do so, try running python --version
in the command line which should output
a version >= 3.9 for python and try poetry --version
for poetry.
The Toolkit consists of extractors and loaders:
- LMS Extractors: utilities that extracts data from important K12 instructional systems and merges that data into a common format (LMS Unifying Data Model), as CSV files. Extractors are available for the following platforms:
- LMS DS Loader: pushes CSV files into a relational database (SQL Server only, at this time).
We also anticipate utilities and features that help reconcile this instructional data with data from SIS and assessment systems.
Several Jupyter Notebooks have been developed to document the output files and provide sample analyses:
The docs/demonstration directory contains notebooks demonstrating how to execute the extractors and the data store loader from a Jupyter notebook.
- Build script: a Python script to automate common developer operations.
- Continuous Integration: automated unit testing and more, using GitHub Actions.
- File Tester: a script for validating the directory structure, columns, and some formatting details for files created by the extractor utilities.
- Ed-Fi Tracker: LMS Toolkit: issue tracking.
- The experimental directory contains proof of concept code used to help develop the extractors. These projects have been kept for historical access by the core development team, and are unlikely to be of interest to anyone else.
- The docs directory contains additional documentation, including diagrams developed using draw.io, sample output files, MetaEd files defining the data model, and SQL scripts for generating database tables that will eventually be populated using the LMS Data Store Loader.
Copyright (c) 2022 Ed-Fi Alliance, LLC and contributors.
Licensed under the Apache License, Version 2.0 (the "License").
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
See NOTICES for additional copyright and license notifications.