Skip to main content

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

Project description

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.

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.1.tar.gz (10.8 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.1-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: simple_period_tracker-0.1.1.tar.gz
  • Upload date:
  • Size: 10.8 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.1.tar.gz
Algorithm Hash digest
SHA256 6d33c1b1097a2e7dbb858078a287ba3ab135f9055e12672717454f0361916fa0
MD5 e54a296b74cc96af4401df1906f30031
BLAKE2b-256 267d08e186c5c40077840b7177ce7c581979bd5a5b8c8346b5a2d336eafa42bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: simple_period_tracker-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.0 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 899a3f2ea0fd60e29080e950a00b7948fcb26f396131871b117712b4715ac14a
MD5 05126fbb1475b39af8c3b2487e93e787
BLAKE2b-256 484007dcb07649175754ebd009b6b7ece282f23086151b5383de333050dfda37

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