Skip to main content

A Python library to simplify data-analytics tasks

Project description

l4v1

l4v1 is a Python library designed to simplify data analytics tasks through data manipulation and visualization techniques. Built on top of Polars and Plotly, it offers a straightforward API for quickly creating detailed summaries. This project is a work in progress, and more functionality will be added in the future.

Installation

You can install the l4v1 package directly from PyPI:

pip install l4v1

Usage

Calculate price, volume, and mix effects conveniently, and visualize them in an Excel heatmap or a Plotly waterfall chart.

Start by importing Polars to load the data:

import polars as pl

# Load your datasets
sales_week_1 = pl.read_csv("data/sales_week1.csv")
sales_week_2 = pl.read_csv("data/sales_week2.csv")

Once you have the data, import the PVM module:

from l4v1.price_volume_mix import PVM

# Initialize the class with your data and desired dimensions
pvm = PVM(
    df_primary=sales_week_2, # Data to analyse
    df_comparison=sales_week_1, # Data to compare against
    group_by_columns=["Product line", "Customer type"] # Dimension(s) to use
    volume_column_name="Quantity", # Column name containing volume (e.g. quantity)
    outcome_column_name="Total", # Column name containing outcome (e.g. revenue or cost)
)

Once the class is initialized, you can decide whether to create an Excel table, a Plotly waterfall chart, or continue working with the data in a Polars DataFrame.

To create a waterfall chart:

pvm.waterfall_plot(
    primary_total_label="Week 2 Sales", # Optional label
    comparison_total_label="Week 1 Sales", # Optional label
    title="Sales Week 2 vs 1", # Optional title,
    color_total = "#F1F1F1", # Optional color for totals
    # etc.
)

Waterfall Plot Example

In Excel, it is easier to visualize if there are many dimensions used:

pvm.write_xlsx_table("your/path/file_name.xlsx") # Must end to .xlsx file extensions

Heatmap Example

For large datasets, it might be most convenient to continue exploring directly in Polars. In that case, simply call get_table:

pvm.get_table()

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

l4v1-0.2.4.tar.gz (360.1 kB view details)

Uploaded Source

Built Distribution

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

l4v1-0.2.4-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file l4v1-0.2.4.tar.gz.

File metadata

  • Download URL: l4v1-0.2.4.tar.gz
  • Upload date:
  • Size: 360.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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 l4v1-0.2.4.tar.gz
Algorithm Hash digest
SHA256 b6dc44c7543da8946176aa636e0ab4116319c6a04e37d2f06a59b2be0198c381
MD5 952a636d522be5752bec5d4cdc99d045
BLAKE2b-256 9cd666c4b96d3963d1ee0e13bd2cda9e822340fac576cb67d37cea195db3de8c

See more details on using hashes here.

File details

Details for the file l4v1-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: l4v1-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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 l4v1-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 62dd18141b29ef8e33b2ffa042a6723b5b96f150ad38ce84fed53f7b2451dfa0
MD5 a0fcf5e81868aac846c73a71e9068298
BLAKE2b-256 e783db3b0feccc08475edac6a187e0773980aa31cc05953da077ff66ec278830

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