Skip to content

Python script that calculates the average price in platinum of a specific item using the listings from the fan website warframe.market

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE.txt
MIT
LICENSE-urllib3.txt
Notifications You must be signed in to change notification settings

Eutropios/WarMAC

WarMAC Version 0.0.4

GitHub last commit (branch) Documentation Status pre-commit.ci status
PyPI PyPI - Python Version
Ruff MIT License PyPI - Downloads

WarMAC is a command-line Python script that can calculate the average market price of items in Warframe.

WarMAC compiles orders from the fan website https://warframe.market/ and can be used to find the average prices of prime parts, tradeable parts, relics, mods, and arcane enhancements.

Features

  • 🎮Target PC, PlayStation, XBOX, or Nintendo Switch platforms.
  • 📈Calculate the median, mean, mode, harmonic mean, or geometric means of items.
  • 🕜Restrict orders to specific time ranges.
  • 💰Utilize either seller or buyer orders.
  • ⛏️Find averages for intact or radiant relics.
  • ✨Find averages for unranked or max-ranked mods and arcane enhancements.

Table of Contents

Installation

WarMAC only supports Python versions 3.8 to 3.12. There are currently no plans to add support to Python 3.7

Using pipx

Currently, the primary method of installing WarMAC is by installing it through pipx. This keeps WarMAC and its dependencies separate from your global Python packages. Installation can be done using the following command:

Platform Command
UNIX/MacOS python -m pipx install warmac
Windows py -m pipx install warmac

You can ensure that you've installed WarMAC correctly by calling its help page like so:

warmac --version

Using Pip

Using pip alone to install WarMAC will work just as well. Installation can be done using the following command:

Platform Command
UNIX/MacOS python -m pip install warmac
Windows py -m pip install warmac

You can ensure that you've installed WarMAC correctly by calling its help page like so:

warmac --version

Using Poetry

WarMAC can also be installed using Poetry either through the provided poetry.lock file (recommended) or by building a lock of your own.

To obtain the source code, you can either download the latest version from Releases or by cloning the repository using git with the following command:

git clone https://github.com/Eutropios/WarMAC.git ./some/directory

WarMAC can then be built by navigating to the directory you cloned WarMAC into, and running the poetry build and poetry install commands.

Usage

General Usage

Full usage instructions as well as examples can be found in the official documentation.

WarMAC has a variety of commands for users to select from. Each command has its own unique options and arguments. Wherever possible, options that perform similar functions for different commands will share the same name.

Every WarMAC command is preceded by warmac. The general help section of the program can be viewed by running warmac --help.

To view a specific command's usage from the command line, simply run: warmac <command> --help

For example, to view the usage for the average command, users should run: warmac average --help

Handling WarMAC Output

WarMAC accepts outgoing pipes just like any other tool:

$ warmac average -p=ps4 -t=5 -v "bite" | grep "Time Range"
Time Range Used:             10 days

WarMAC output can also be redirected to a file:

$ warmac average -p PC -t 2 -v "vengeful revenant" > warmacOut.txt
$ cat warmacOut.txt
Item:                  Vengeful Revenant
Statistic Found:       Median
Time Range Used:       2 days
Median Price:          5.0 platinum
Max Price:             30 platinum
Min Price:             4 platinum
Number of Orders:      38

Examples

Calculating the median price of the mod "Primed Continuity" on PS4. Note that the median is calculated as it's the default.

warmac average -p ps4 "primed continuity"

Calculating the mode price of the mod "Bite" when it's at max rank on PC. Note that the PC price is calculated as it's the default.

warmac average -s mode -m bite

Documentation

Full documentation for installation, usage, and contribution guidelines can be found here.

Upcoming Features

  • Adding file input
  • Adding even more commands to WarMAC!

Contributing

Contributions are welcome. The expected development stack that you will use consists of docformatter, mypy, and ruff. Please see pyproject.toml for the appropriate configuration of each tool.

Testing

There are currently no tests or intrusive GitHub Actions, but that is expected to change in the future.

Acknowledgements

In addition to the tools listed in .pre-commit-config.yaml and pyproject.toml, this project uses the following tools in its development:

WarMAC is packaged using Poetry.

Licensing

This project is NOT affiliated with Warframe, Digital Extremes, or Warframe Market

Copyright (c) 2023 Noah Jenner under MIT License

For additional licensing information, please see LICENSE.txt
For licensing regarding urllib3, please see LICENSE-urllib3.txt

Authors

WarMAC is authored by: