Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,15 @@
History
=======

in development
--------------
* Modernize infrastructure (pyproject.toml, uv, ruff, update dependencies)
4.1.0 (2026-02-26)
------------------
* Modernize build infrastructure: migrate to pyproject.toml, remove setup.py/setup.cfg/Makefile
* Switch to ruff for linting and formatting, add ty for type checking
* Use uv and tox-uv for faster CI and local development
* Add type annotations throughout the codebase (Optional parameters, return types, abstract methods)
* Remove dead code: unused functions, constants, and commented-out class stubs
* Fix pandas deprecation warnings
* Remove BetaBinomial.as_cumulative() classmethod (unused, untested)

4.0.0 (2024-11-24)
------------------
Expand Down
17 changes: 8 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Spotify Confidence
========

![Status](https://img.shields.io/badge/Status-Beta-blue.svg)
![Latest release](https://img.shields.io/badge/release-4.0.0-green.svg "Latest release: 4.0.0")
![Latest release](https://img.shields.io/badge/release-4.1.0-green.svg "Latest release: 4.1.0")
![Python](https://img.shields.io/badge/Python-3.9-blue.svg "Python")
![Python](https://img.shields.io/badge/Python-3.10-blue.svg "Python")
![Python](https://img.shields.io/badge/Python-3.11-blue.svg "Python")
Expand All @@ -12,15 +12,15 @@ Python library for AB test analysis.
Why use Spotify Confidence?
-----------------

Spotify Confidence provides convenience wrappers around statsmodel's various functions for computing p-values and confidence intervalls.
With Spotify Confidence it's easy to compute several p-values and confidence bounds in one go, e.g. one for each country or for each date.
Each function comes in two versions:
Spotify Confidence provides convenience wrappers around statsmodel's various functions for computing p-values and confidence intervalls.
With Spotify Confidence it's easy to compute several p-values and confidence bounds in one go, e.g. one for each country or for each date.
Each function comes in two versions:
- one that return a pandas dataframe,
- one that returns a [Chartify](https://github.com/spotify/chartify) chart.

Spotify Confidence has support calculating p-values and confidence intervals using Z-statistics, Student's T-statistics
(or more exactly [Welch's T-test](https://en.wikipedia.org/wiki/Welch%27s_t-test)), as well as Chi-squared statistics.
It also supports a variance reduction technique based on using pre-exposure data to fit a linear model.
Spotify Confidence has support calculating p-values and confidence intervals using Z-statistics, Student's T-statistics
(or more exactly [Welch's T-test](https://en.wikipedia.org/wiki/Welch%27s_t-test)), as well as Chi-squared statistics.
It also supports a variance reduction technique based on using pre-exposure data to fit a linear model.

There is also a Bayesian alternative in the BetaBinomial class.

Expand All @@ -44,7 +44,7 @@ test = confidence.ZTest(
denominator_column='total',
categorical_group_columns='variation_name',
correction_method='bonferroni')

test.summary()
test.difference(level_1='control', level_2='treatment1')
test.multiple_difference(level='control', level_as_reference=True)
Expand Down Expand Up @@ -74,4 +74,3 @@ Spotify Confidence can be installed via pip:
### Code of Conduct

This project adheres to the [Open Code of Conduct](https://github.com/spotify/code-of-conduct/blob/master/code-of-conduct.md) By participating, you are expected to honor this code.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "spotify-confidence"
version = "4.0.0"
version = "4.1.0"
description = "Package for calculating and visualising confidence intervals, e.g. for A/B test analysis."
readme = "README.md"
license = {file = "LICENSE"}
Expand Down