Skip to main content

No project description provided

Project description

Period Tracker

period-tracker is a lightweight, easy-to-use Python application to track menstrual cycles, analyse cycle statistics, and visualise your data.

Features

  • Record period start dates and durations
  • Analyse cycle statistics (average length, standard deviation, min, max)
  • Data persistence using JSON files
  • Visualize cycle length with matplotlib
  • Secure your data using GPG asymmetric encryption.

Screenshots

Here’s a few screenshots of the Period Tracker app in action:

Period Tracker Screenshot

Period Tracker Screenshot 2

Installation

Prerequisites

  • Python 3.7 or higher
  • pip + pipx installed (recommended for isolated installs)
  • git
  • gpg (GNU Privacy Guard) must be installed and accessible in your system path.

From PyPi (recommended)

You can install period-tracker with pipx from the PyPi repo.

pipx install period-tracker

From source

Clone the repository and install:

git clone https://codeberg.org/kingorgg/period_tracker.git
cd period_tracker
pipx install .

Usage

After installation, launch the tracker using the command:

period-tracker

(OPTIONAL) create a shortcut

Copy the following content (replace USERNAME with your actual username) to a new file at:

$HOME/.local/share/applications/period-tracker.desktop
[Desktop Entry]
Name=Period Tracker
GenericName=Period Tracker
Exec=/home/USERNAME/.local/bin/period-tracker
Terminal=false
Type=Application
Categories=Other;

Uninstallation

To uninstall the package installed via pipx:

pipx uninstall period-tracker

Data Encryption

Period Tracker uses GPG asymmetric encryption to protect your data.

How it works

The app encrypts your data file (data.json) using your GPG public key. Only your corresponding private key can decrypt it.

Requirements

Make sure you have a GPG key pair generated (using gpg --gen-key). When you first load the period-tracker, you'll be prompted to enter your email address or key ID/fingerprint.

You can check what keys you have by running:

gpg --list-keys

Data Storage

Data is stored locally and encrypted with gpg in:

$HOME/.period-tracker/data.json.gpg # Linux

C:\Users\USERNAME\AppData\Local\period-tracker\data.json.gpg # Windows

Config

Your config file is located in:

$HOME/.config/period-tracker/config.json # Linux

C:\Users\USERNAME\AppData\period-tracker\config.json # Windows

Development

For development, install optional dependencies:

pip install .[dev]

Run tests with:

pytest tests/

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

period_tracker-0.1.0.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

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

period_tracker-0.1.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: period_tracker-0.1.0.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for period_tracker-0.1.0.tar.gz
Algorithm Hash digest
SHA256 eb44db8f4ba3fb731f6bcda110b8a88c1d4e34dfde8271b9e46a5b63a8ce0225
MD5 33c6a8ba91e50bb72b0d02fe1dae71f6
BLAKE2b-256 a0dd5c4bfd28bd00e69af61147b50fae9bb172534e3aed9870929baf6661e5a1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: period_tracker-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for period_tracker-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c38ca5be3047614946b6d0014e8ab78b40999bbf3ac14495a8127932d157d4c3
MD5 7df8fb2e5ee8b66f7bdf536726027e07
BLAKE2b-256 95e525e8d30334112fc844278fd601d0f2941e9f3865ee3af52ca9fb09c560dd

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