Skip to main content

An app for tracking your health and training progress.

Project description

Valens

/ˈva.lens/ [ˈväːlɛns] lat. strong, vigorous, healthy

App screenshots

Features

  • Track your training progress
    • Define training routines
    • Choose from more than 150 exercises or create your own
    • Log repetitions, weight, time and rating of perceived exertion (RPE) for each set
    • Measure your training execution using a stopwatch, timer or metronome
    • Assess the progress for each routine and exercise
  • Keep track of your body weight
  • Calculate and log your body fat based on the 3-site or 7-site caliper method
  • Monitor your menstrual cycle (if you have one 😉)

Installation

The latest release can be installed from PyPI.

pip install valens

The latest development version can be installed from TestPyPI.

pip install --pre --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ valens

Demo Mode

To get a first impression of Valens, the app can be run in demo mode.

valens demo

The app can be accessed on http://127.0.0.1:5000/. A temporary database with random example data is used. All changes are non-persistent. Adding --public to the command line makes the app available to other devices on your network.

Configuration and Running

A configuration file must be created before running the app for the first time.

valens config

The environment variable VALENS_CONFIG must be set to the absolute path of the created config file.

Local Network

The development server can be used to provide the app for your local computer or local network.

VALENS_CONFIG=$PWD/config.py valens run

By default, the app is only accessible on your local computer at http://127.0.0.1:5000/. If you trust the users in your network, you can make the server publicly available adding --public to the command line:

VALENS_CONFIG=$PWD/config.py valens run --public

Public Network

The development server is not intended for production use. Please consider the deployment options for providing the app in a public network.

Example Configuration: NGINX and uWSGI

The following configuration binds the app to /valens.

/etc/uwsgi/valens.ini

[uwsgi]
master = true
plugins = python
socket = /run/uwsgi/%n.sock
manage-script-name = true
mount = /valens=valens.web:app
uid = http
gid = http
env = VALENS_CONFIG=/opt/valens/config.py

/etc/nginx/nginx.conf

[...]

http {

    [...]

    server {

        [...]

        gzip on;
        gzip_types text/plain test/css text/javascript application/json application/wasm;

        location = /valens { return 301 /valens/; }
        location /valens/ { try_files $uri @valens; }
        location @valens {
                include uwsgi_params;
                uwsgi_pass unix:/run/uwsgi/valens.sock;
        }

    }

}

NGINX compression is disabled by default. With compression enabled, the amount of data transferred can be significantly reduced, resulting in a reduction in transfer time, especially on slow networks.

Documentation

License

This project is licensed under the terms of the AGPL-3.0 license and includes third-party software.

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

valens-0.6.0.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

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

valens-0.6.0-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file valens-0.6.0.tar.gz.

File metadata

  • Download URL: valens-0.6.0.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for valens-0.6.0.tar.gz
Algorithm Hash digest
SHA256 5b4f341252089add68489a777815a1ebb3b8e8cd7167764025a1b18799c77f44
MD5 006320f36c67d502bbccd16a5958ac05
BLAKE2b-256 f62e9a99ffcd4bab0d088f8a6ea6b9f8b7ae9d34290ddc2e2ae71c6862c0971f

See more details on using hashes here.

Provenance

The following attestation bundles were made for valens-0.6.0.tar.gz:

Publisher: publishing.yml on treiher/valens

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file valens-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: valens-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for valens-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97be681fe24df1f3fe5c0514f18272a17ead38585a4ec858116922b7a279e320
MD5 fef0fcb4da934b4d83ebb5370a860df3
BLAKE2b-256 8d83c4f7f9675c17dee872c66ba3d05fb56925d7a5170dd43cba7fedc84e3a42

See more details on using hashes here.

Provenance

The following attestation bundles were made for valens-0.6.0-py3-none-any.whl:

Publisher: publishing.yml on treiher/valens

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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