Console tool to visualize Russian military losses data
Project description
moskali
A console tool to visualize Russian military losses data sourced from the Ukrainian General Staff.
Dependencies
- rich ≥ 13.0 — terminal tables and styling
Development setup
# Install the package in editable mode (changes take effect immediately)
pip install -e .
Usage
moskali <command> [options]
Commands
| Command | Description |
|---|---|
moskali summary |
Cumulative losses with bar chart |
moskali daily [--days N] |
Daily losses table, one column per day |
moskali trend [CATEGORY] [--days N] |
Bar chart trend for a single category |
moskali period [--days N] |
Net losses over a period |
moskali categories |
List all available category names |
Examples
moskali summary
moskali daily --days 10
moskali trend UAVs/Drones --days 30
moskali period --days 7
moskali categories
Project structure
moskali/
├── pyproject.toml
├── setup.cfg
├── README.md
└── moskali/
├── __init__.py
├── loader.py — loads and parses moskali.json
├── stats.py — daily diffs, trends, period totals
├── render.py — rich tables and bar charts
├── cli.py — argparse entry point
└── moskali.json — data source
Building and publishing
Install the build tools once:
pip install build twine
Build a source distribution and wheel into dist/:
python -m build
Test the upload against Test PyPI first:
twine upload --repository testpypi dist/*
Publish to PyPI:
twine upload dist/*
Credentials can be stored in ~/.pypirc or passed via TWINE_USERNAME / TWINE_PASSWORD environment variables.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file moskali-6.0.0.tar.gz.
File metadata
- Download URL: moskali-6.0.0.tar.gz
- Upload date:
- Size: 56.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e96cc1d4e1d05ad347a00f1869451b9d60d5a23291a94aa53ba852eeec748d3
|
|
| MD5 |
665eb734519b0295f6fa9c38d0a06155
|
|
| BLAKE2b-256 |
a8795780277f6edc005c3a0b5080eb3c601bad8bc35dd313d10d266f17744f82
|
File details
Details for the file moskali-6.0.0-py3-none-any.whl.
File metadata
- Download URL: moskali-6.0.0-py3-none-any.whl
- Upload date:
- Size: 61.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c3a6d042f40d2721f85c24868746cf5925edb82b1066f4cfd78898e43169aad
|
|
| MD5 |
6fdfc3d4f0a6134adc5bc4c59b212a19
|
|
| BLAKE2b-256 |
ad5c47137a1c25c906105cfc90e52e6c67a778e5594a71eaa4f76b767cfe67b0
|