Skip to main content

Data cleaning package

version: 0.2.1

This repository collects python modules to clean and prepare data for downstream analyses or presentation in reports. For example, the module contains functionality to created formatted publication ready baseline tables or supplementary excel tables.

Please consult the package documentation.

Installation

At present, the repository is undergoing development and no packages exist yet on PyPy or in Conda. Therefore it is recommended that it is installed in either of the two ways listed below. First, clone this repository and then cd to the root of the repository.

git clone git@gitlab.com:SchmidtAF/clean-data.git
cd clean-data

Installation using conda dependencies

A conda environment is provided in a yaml file in the directory ./resources/conda/. A new conda environment called clean-data can be built using the command:

# From the root of the repository
conda env create --file ./resources/conda/envs/conda_create.yaml

To add to an existing environment use:

# From the root of the repository
conda env update --file ./resources/conda/envs/conda_update.yaml

Next the package can be installed:

make install

Development

For development work, install the package in editable mode with Git commit hooks configured:

make install-dev

This command installs the package in editable mode and configures Git commit hooks, allowing you to run git pull to update the repository or switch branches without reinstalling.

Alternatively, you can install manually:

python -m pip install -e .
python .setup_git_hooks.py

Git Hooks Configuration

When setting up a development environment, the setup-hooks command configures Git hooks to enforce conventional commit message formatting and spell check using codespell.

To view the commit message format requirements, run:

./.githooks/commit-msg -help

For frequent use, add this function to your shell configuration (~/.bashrc or ~/.zshrc):

commit-format-help() {
    local git_root
    git_root=$(git rev-parse --show-toplevel 2>/dev/null)
    
    if [ -z "$git_root" ]; then
        echo "Error: Not inside a git repository"
        return 1
    fi
    
    local hook_path="$git_root/.githooks/commit-msg"
    
    if [ ! -f "$hook_path" ]; then
        echo "Error: commit-msg hook not found"
        return 1
    fi
    
    "$hook_path" --help
}

If you have already installed the package in editable mode without running _setup_git_hooks.py, you can configure the hooks manually at any time by running:

_setup_git_hooks.py

Validating the package

After installing the package from GitLab, you may wish to run the test suite to confirm everything is working as expected:

# From the root of the repository
pytest tests

Usage

Please have a look at the examples in resources for some possible recipes.

Metadata

Release files for clean-data-schmidtaf 0.2.1

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

Source distribution (sdist)

Source distribution for clean-data-schmidtaf 0.2.1
File Size Uploaded
clean_data_schmidtaf-0.2.1.tar.gz 74.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for clean-data-schmidtaf 0.2.1
File Interpreter ABI Platform
clean_data_schmidtaf-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 150.1 kB

Release files / clean_data_schmidtaf-0.2.1.tar.gz

Download URL clean_data_schmidtaf-0.2.1.tar.gz
Size 74.5 kB
Tags Source
SHA-256 checksum
How to use checksums
2662354c3c8431e9b616b930538494c3f1d7d47822ce05adb3d52cb05c06cb68
BLAKE2b-256 checksum
How to use checksums
f34444d3b9c285d2c83e19c25ea5a9b0d444d24bae96c5c41bd64bf76f346eef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / clean_data_schmidtaf-0.2.1-py3-none-any.whl

Download URL clean_data_schmidtaf-0.2.1-py3-none-any.whl
Size 75.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3c2037ed01eadea7da2f7a8108dcbeef207d493c99c8ad23133d2fd30208c897
BLAKE2b-256 checksum
How to use checksums
980cafcf7b3dc615d726280e2ea24ccd680f28e11d10118fbd132af391b17f05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release history Release notifications | RSS feed

This release

0.2.1 This release

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