Skip to main content

Simple Period Tracker

GitLab Repository

A simple, command-line period tracker with statistical analysis and prediction.

Features

  • Calculates cycle lengths and provides statistics (mean, median, standard deviation).
  • Predicts next period and ovulation dates with confidence intervals.
  • Displays an ASCII calendar in the terminal with predictions.
  • Generates a graphical calendar as a PDF file.
  • Reads data from CSV files or standard input.
  • Optional support for pandas, numpy, scipy, and matplotlib for more advanced analysis and visualization.

Installation

You can install simple-period-tracker using pip:

pip install simple-period-tracker

Or, if you have cloned the repository, you can install it with poetry:

poetry install

Usage

simple-period-tracker [OPTIONS] [FILE]

Arguments

  • FILE: Path to the CSV file with period dates. Use -- to read from stdin.

Options

  • --luteal-phase DAYS: Days between ovulation and period (default: 14, or calculated from data).
  • --safe-days-buffer DAYS: Days after ovulation confidence interval to start 'safe' days (default: 5).
  • --period-duration DAYS: Default period duration in days (default: 4).
  • --calendar: Display an ASCII calendar with predictions.
  • --months MONTHS: Number of months to display in the calendar (1-3, default: 3).
  • --no-color: Disable color output in the calendar.
  • --hatch: Use hatch patterns instead of filled colors for events in the figure.
  • --figure-path PATH: Path to save the calendar as a PDF figure.
  • --ci-method METHOD: Method for period/ovulation confidence interval: 'minmax' (default) or 'normal'.

CSV File Format

The CSV file should have a header row and at least one column for the period start dates. The columns can be in any order, but the header must contain period_start, period_end, and ovulation.

Example:

period_start,period_end,ovulation
2023-01-01,2023-01-05,2023-01-15
2023-01-30,2023-02-03,2023-02-13

License

This project is licensed under the MIT License.

Metadata

Release files for simple-period-tracker 0.1.2

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

Source distribution (sdist)

Source distribution for simple-period-tracker 0.1.2
File Size Uploaded
simple_period_tracker-0.1.2.tar.gz 10.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for simple-period-tracker 0.1.2
File Interpreter ABI Platform
simple_period_tracker-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 22.0 kB

Release files / simple_period_tracker-0.1.2.tar.gz

Download URL simple_period_tracker-0.1.2.tar.gz
Size 10.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6ddee7c283cbc618c791aeac167cf0f78c9f86678747dbe40f78c48e138b2af5
BLAKE2b-256 checksum
How to use checksums
63b95add7f0a4153aed95f8295d05d8fd28c75e9a849c1ad8a0455f33c406b6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.10.19 Linux/5.15.154+

Release files / simple_period_tracker-0.1.2-py3-none-any.whl

Download URL simple_period_tracker-0.1.2-py3-none-any.whl
Size 11.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
571e86e793ce2bf88b0c456cbeb41d333eb25099a09e892de01ad8074c957b76
BLAKE2b-256 checksum
How to use checksums
9f7bc4bd88f358e6744b7832c471af11431755e4700cca30b86bd482906d146d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.10.19 Linux/5.15.154+

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

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