{"id":20091080,"url":"https://github.com/kedder/openvario-compman","last_synced_at":"2025-05-06T03:30:57.613Z","repository":{"id":37726522,"uuid":"244189133","full_name":"kedder/openvario-compman","owner":"kedder","description":"Gliding competition manager app for Openvario","archived":false,"fork":false,"pushed_at":"2025-04-26T05:54:31.000Z","size":1322,"stargazers_count":10,"open_issues_count":5,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-26T20:06:31.775Z","etag":null,"topics":["gliding","openvario","soaring","soaringspot","tui","urwid"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kedder.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-01T17:04:09.000Z","updated_at":"2025-04-12T09:52:26.000Z","dependencies_parsed_at":"2023-12-02T19:23:50.793Z","dependency_job_id":"b519726b-9650-42bc-acb7-6fbabe79db4a","html_url":"https://github.com/kedder/openvario-compman","commit_stats":{"total_commits":335,"total_committers":4,"mean_commits":83.75,"dds":0.4686567164179104,"last_synced_commit":"26b6a3dff278144226da28127180fb28b932e1a8"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kedder%2Fopenvario-compman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kedder%2Fopenvario-compman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kedder%2Fopenvario-compman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kedder%2Fopenvario-compman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kedder","download_url":"https://codeload.github.com/kedder/openvario-compman/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251045432,"owners_count":21527745,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gliding","openvario","soaring","soaringspot","tui","urwid"],"created_at":"2024-11-13T16:28:05.907Z","updated_at":"2025-05-06T03:30:57.328Z","avatar_url":"https://github.com/kedder.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gliding Competiton Manager for OpenVario\n\n[![Build Status](https://github.com/kedder/openvario-compman/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/kedder/openvario-compman/actions/workflows/test.yml)\n[![Coverage Status](https://coveralls.io/repos/github/kedder/openvario-compman/badge.svg?branch=master)](https://coveralls.io/github/kedder/openvario-compman?branch=master)\n[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Maintainability](https://api.codeclimate.com/v1/badges/45964f7cf5f78f3a0f98/maintainability)](https://codeclimate.com/github/kedder/openvario-compman/maintainability)\n\nThis application is intended for glider pilots participating in gliding\ncompetitions, published on [Soaring Spot](https://soaringspot.com). It runs on\n[OpenVario](https://openvario.org/) flight computer and automatically downloads\ncurrent contest airspace and waypoint files when they are published on Soaring\nSpot. `compman` allows to select your competition class and automatically\ndownloads today's task, provided by [soarscore.com](https://soarscore.com). It\nwill configure [XCSoar](https://xcsoar.org/) to use the task and updated files.\nYou can switch between contests easily without need to download and transfer\nfiles to the flight computer manually.\n\nIt is a text-mode application, which might look primitive for modern\ngraphics-rich UI standards. However, it is written using contemporary software\nengineering techniques, responsive, very fast and easy to use, even with very\nlimited input controls available for OpenVario. It also has a fairly simple\ncode, that makes `openvario` easy to understand and change.\n\n\n![Main Screen](screenshots/screen1.png?raw=true \"Main screen\")\n![Soaringspot competitions](screenshots/screen2.png?raw=true \"Soaringspot competitions\")\n![Competition selector](screenshots/screen3.png?raw=true \"Competition selector\")\n![Competition details](screenshots/screen4.png?raw=true \"Competition details\")\n\n## Usage\n\nThis app requires Internet connection to be useful. The simplest way to get it\non your OpenVerio is to use a small USB WiFi dongle.\n\nTypically, during the gliding competition, you run `compman` daily to check if\nnew competition files were uploaded to Soaring Spot (or when new files are\nannounced during the briefing). When `compman` is started, new files for the\ncurrent competition will be automatically downloaded to the device. As soon as\nyou select them, XCSoar will be reconfigured to use these files. Simply exit\n`compman` and run the XCSoar the usual way.\n\nWhen you go to the next competition, simply switch the contest using `compman`\nmenu system. All competition files will be automatically downloaded and XCSoar\nwill be reconfigured. No more complicated downloading of files on the flash\ndrives and transferring them manually to the OpenVario!\n\n`compman` can be operated using only 6 buttons: 4 arrow keys for navigating,\n\u003ckbd\u003eEnter\u003c/kbd\u003e (usually a push on rotary encoder or joystick) for selecting\nitems and \u003ckbd\u003eEsc\u003c/kbd\u003e (usually marked as \u003ckbd\u003eX\u003c/kbd\u003e) for going back.\n\n## Installation\n\nTo install `compman` on your OpenVario you will also need to be able to ssh to\nthe device or connect to it through standard debugging serial port. Assuming\nthe network connection is up, use `opkg` package manager to download and\ninstall `compman`:\n\n```\n$ echo src compman http://openvario.lebedev.lt/opkg/armv7vet2hf-neon \u003e\u003e /etc/opkg/customfeeds.conf\n$ opkg update\n$ opkg install openvario-compman\n$ opkg install ovmenu-compman\n```\n\nIf you have already installed [openvario-shell](https://github.com/kedder/openvario-shell), all you have to do is:\n\n```\n$ opkg install openvario-compman\n```\n\nAt this point you should be able to run compman from command line:\n\n```\n$ compman\n```\n\nReboot your OpenVario and you should also see the new menu item for `compman`!\n\n## Developing\n\nIt is not required to own or have access to OpenVario device in order to\ndevelop `compman`. The only requirements are Python 3.7 or higher and terminal\nemulator, readily available on MacOS or Linux operating systems. There are lots\nof free options for Windows as well.\n\n### Setting up the development environment\n\n`compman` uses `pipenv` for managing dependencies and dev environment. If you\ndon't have it yet, install with:\n\n```sh\n$ pip install pipenv\n```\n\nAfter checking out the sources, `cd` to `openvario-compman` directory and run:\n\n```sh\n$ pipenv shell\n$ pipenv install\n```\n\nAfter that, your development environment is ready, you should be able to run\nthe app:\n\n```sh\n$ compman\n```\n\nIt is possible to adjust few options by providing them in `.env` file, located\nin project directory. You can copy the sample file `sample.env` to `.env` and\nadjust values there.\n\n### Development tools\n\n`compman` uses various tools to check the code quality. They are generally\navailable through `make` program. Most useful are these:\n\n* `make test` - runs the test suite\n* `make mypy` - checks the sources with static type checker\n* `make black` - reformats the source code to match the code style\n\nIt is often useful to watch the log file while running `compman` in development\nenvironment. The log file will contain traces of actions user makes and\ntracebacks from exceptions happening during the execution. Use `tail` to watch\nthe logs in a separate terminal window:\n\n```sh\n$ tail -F ~/.compman/compman.log\n```\n\n### Filesystem\n\n`compman` keeps all its files under `~/.compman` directory. It contains the set\nof directories for each configured competition. Each competition directory\ncontains downloaded airspace and waypoints files. This directory can be changed\nby stting `COMPMAN_DATADIR` environment variable or using `--datadir`\ncommand-line option.\n\n`compman` expects to find XCSoar profile in `~/.xcsoar` directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkedder%2Fopenvario-compman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkedder%2Fopenvario-compman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkedder%2Fopenvario-compman/lists"}