Skip to main content

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

Project description

Simple Period Tracker

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.

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

simple_period_tracker-0.1.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

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

simple_period_tracker-0.1.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file simple_period_tracker-0.1.0.tar.gz.

File metadata

  • Download URL: simple_period_tracker-0.1.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.7 Linux/6.17.4-200.fc42.x86_64

File hashes

Hashes for simple_period_tracker-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5b23d2171d8e7a38c7b43d1d9b4053391c095e793d94062c3ab348efcb584a67
MD5 681e412714a4b80059ab82f39223ff84
BLAKE2b-256 b42c328976ac2eb3a30652597f3b49ea7257cf85a9ecf912afadcd7ac3e776e2

See more details on using hashes here.

File details

Details for the file simple_period_tracker-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: simple_period_tracker-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.7 Linux/6.17.4-200.fc42.x86_64

File hashes

Hashes for simple_period_tracker-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8b8840d17d21e35b0de3cab13553d632f0e98c1b4ce208b591ccd1fe69a9e893
MD5 2914b7c6181856e68a65772dabeb3e8b
BLAKE2b-256 e796b54a8491985eeffc9825e94029e1a1546631f6912437f99d5243d077e50d

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