Skip to main content

A python library to help users of the Higher Education Access Tracker (HEAT) process their data.

Project description

HEAT Helper

python - >= 3.10 License PyPI - Version

heat_helper is a Python utility library designed to streamline the cleaning and preparation of student data for use with the Higher Education Access Tracker (HEAT). It's available on PyPI here.

Preparing CSV or Excel files for HEAT often involves repetitive tasks like cleaning and formatting of names, year groups, and postcodes. This package automates these common data-cleaning tasks to ensure your imports are valid and consistent. It also provides functions to help you match students to your existing HEAT records and get their IDs to support you in reducing duplicate records uploaded to the database and with registering students to activities.

Features

heat_helper provides functions to support many common tasks:

  • Text Cleaning: simple functions to normalise names (including removing numbers, converting diacritics to plain text, removing punctuation except for hyphens and apostrophes, cleaning extra white spaces, and casing), postcodes, and year groups.
  • Working with Dates: reverse day/month in a date, calculate a year group from date of birth, or calculate a date of birth range from year group
  • Student Matching: exact and fuzzy match students from external sources (e.g. registers) to your HEAT Students export to get their ID numbers for activity linking.
  • Data Validation: derive the expected date-of-birth range for a year group so you can check students against it, and normalise postcodes to the UK format. Optionally install pydantic and generate error reports for your data.
  • Bulk processing: get lists of Excel files in folders so you can process lots of files at once.
  • Duplicates: find potential duplicates in a dataset based on name, date of birth and postcode.
  • Compatibility: built for use with pandas for handling your data.

What can I use heat_helper for?

Common use cases for heat_helper include:

  • Cleaning new data to be uploaded to the HEAT database
  • Checking if 'new' students already have records in HEAT
  • Checking which fields need updating if students already have records in HEAT
  • Matching students from your activities to their records on HEAT, so you can use their IDs to bulk register student records to activity records within HEAT

Installation

You can install heat_helper from PyPI or directly from this repository. I recommend uv for easy package management.

with pip

You can install heat_helper with pip by typing the following into your terminal:

pip install heat_helper

or from this repo:

pip install git+https://github.com/hammezii/heat-helper.git

with uv

If have already initialised a project with uv, you can add heat_helper as a dependency:

uv add heat_helper

or from this repo:

uv add git+https://github.com/hammezii/heat-helper.git

Dependencies

heat_helper has the following dependencies which will also be installed:

  • pandas - for DataFrames and dealing with spreadsheet data
  • rapidfuzz - for fuzzy matching
  • openpyxl - for processing Excel files
  • Optional: pydantic - for validating your data and producing error reports

This means that in a new environment you can simply install heat_helper and have a complete setup for processing and manipulating CSV or Excel files. See documentation for information about optional dependencies and how to install them.

Documentation

You can access the documentation here.

The documentation is a work in progress and will be updated with more examples of how to use heat_helper.

Contributing

You are welcome to contribute to heat_helper. Please either submit an issue or a pull request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

heat_helper-0.3.0.tar.gz (39.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

heat_helper-0.3.0-py3-none-any.whl (44.6 kB view details)

Uploaded Python 3

File details

Details for the file heat_helper-0.3.0.tar.gz.

File metadata

  • Download URL: heat_helper-0.3.0.tar.gz
  • Upload date:
  • Size: 39.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for heat_helper-0.3.0.tar.gz
Algorithm Hash digest
SHA256 90fb41a2401e0390ce371d1c786edd82b228979d960e10a64cb3e9c2f4e11cf5
MD5 99c540894352799535de8485b01fd2d7
BLAKE2b-256 e62a23d27b1d58b08909b2cfcf308dcc69c86a5ac1993ab32d709203488de4c4

See more details on using hashes here.

File details

Details for the file heat_helper-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: heat_helper-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 44.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for heat_helper-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 435df0aa57bfa4390016ca307101da63f6ebd31e56cc8b4c230207f5d1530949
MD5 06039fae0f2a7904b7e906eeed8d7882
BLAKE2b-256 d8d73411df496f2e3c16d32b1579a10c0f484b11f7cbe10b986d966cd6a48fa5

See more details on using hashes here.

Supported by

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