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, andmatplotlibfor 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)
| File | Size | Uploaded | |
|---|---|---|---|
| simple_period_tracker-0.1.2.tar.gz | 10.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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+
|