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 and analyse cycle statistics.

Features

  • Record period start dates and durations
  • Analyse cycle statistics (average length, standard deviation, min, max)
  • Data persistence using JSON files
  • 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:

$XDG_DATA_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:

$XDG_CONFIG_HOME/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.1.tar.gz (11.4 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.1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: period_tracker-0.1.1.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for period_tracker-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3a8010803514acce480231593659d5e5e9529292f38e73e6b9d93ba87b0b427c
MD5 c966964ce219e86cb35f6c28438bb59d
BLAKE2b-256 730aa69d273cda589ff2b193331f97277ed107782de863ef14aadb1b3e6d1bc9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: period_tracker-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for period_tracker-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 18d63b8edcf1469ee039259e4eaf5bead6d8d808d6371033871acb3cb0d5aac5
MD5 75eddeec947494d4f6ae5d1d6c36e7cb
BLAKE2b-256 c4614faa3edb60f0f7fff93eb59bb66efb0b91d006ec6282c093e311f3c655fc

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