Skip to main content

The ultimate terminal RPN calculator.

Project description

Dexa

Python support PyPI Release Repository Releases Docker Licence Expand your project structure from atoms of code to galactic dimensions.

Project type Project stage Contributions Welcome Open issues Merge Requests

BDD Code style: Ruff Docstrings Gitmoji Semantic Line Breaks

Poetry Pre-commit Bandit isort Editorconfig

Intended Effort Versioning

Pipelines

The ultimate terminal RPN calculator


POWERED BY

Powered by Typer Powered by Textual Powered by Orbittings

:sunrise_over_mountains: Purpose & Function

Dexa is a Reverse Polish Notation calculator built for use in the terminal. It aims to be the ultimate terminal calculator for power users, providing versatile operations, quick navigation and useful customisation options!

This project addresses the apparent lack of options for RPN enthusiasts to perform advanced calculations in the terminal. By leveraging tools from the Python ecosystem, we hope to provide a lightweight and modern application to make RPN calculations fun and remarkable. :raised_hands:

:star_struck: Standout Features

We are currently in the Planning stage of the project, still defining the scope of the first milestones and our development plan. However, we anticipate the following features to be delivered for users at some point in the future:

  • :zap: Vim-like bindings for navigation;
  • :label: A memory stack with both positional allocation and tag-based naming;
  • :currency_exchange: Quick dimension conversion tables;
  • :art: Customisation options for both constants and dimension conversions.

:inbox_tray: Installation

Use pipx to install Dexa in an isolated environment:

pipx install dexa

Then you can run it from the command line:

dexa --help

:black_joker: How to Use It

You can simply launch the Dexa by calling dexa directly.

The top-level command is also callable with other options for fine-grained control of the application:

dexa [--version | -v] [(--config | -c) <file>]

--version

-v

Print the current version of the program and exit.

--config

-c

Specify a custom configuration file to launch the application.

Manage the Configuration

The dexa config command provides additional subcommands to manipulate the settings for your Dexa installation:

dexa config get [--path <file>] [--secret | -s] KEY

KEY

The configuration key to be retrieved. [required]

--path

Specify a custom configuration file.

--secret

-s

Retrieve configuration from the secret manager instead.

dexa config set [--path <file>] [--secret | -s] KEY VALUE

KEY

The configuration key to be retrieved. [required]

VALUE

The value to be stored with the key. [required]

--path

Specify a custom configuration file.

--secret

-s

Store configuration in the secret manager instead.

dexa config extend [--path <file>] [--secret | -s] [--create-on-missing | -c] KEY VALUE

KEY

The configuration key to be extended. [required]

VALUE

The value to be appended to the key. [required]

--path

Specify a custom configuration file.

--secret

-s

Store configuration in the secret manager instead.

--create-on-missing

-c

Add the provided value in an array if the setting is not set. Will raise an error otherwise.

dexa config unset [--path <file>] [--secret | -s] KEY

KEY

The configuration key to be removed. [required]

--path

Specify a custom configuration file.

--secret

-s

Retrieve configuration from the secret manager instead.

:reminder_ribbon: Contributing

There are several ways to contribute to Dexa. Refer to our CONTRIBUTING guide for all relevant details.

Currently, we are seeking help to tackle areas of focus that are more pressing to our project's progress and would make an immediate difference in helping us achieve our mission.

Here are some key contributions your can help us with right now:

:ship: Releases

You can see the list of available releases on the GitLab Releases page.

We follow Intended Effort Versioning specification, details can be found in our CONTRIBUTING guide.

:shield: Licence

Licence

This project is licenced under the terms of the MIT License. See LICENCE for more details.

:page_with_curl: Citation

We provide a CITATION.cff file to make it easier to cite this project in your paper.

:women_with_bunny_ears: Similar Projects

  • The dc command-line program is the original RPN terminal calculator, created more than 50 years ago at Bell Labs;
  • T-REX is a RPN calculator implemented in Ruby;
  • Squiid is a modern calculator written in Rust with support for RPN, along with a mathematical expression parser;
  • HP-15C is a simulator for the iconic scientific calculator from Hewlett-Packard.

Also, a great inspiration for Dexa comes from the RealCalc Android app, arguably the best mobile RPN calculator out there. Check it out if you have the chance. :wink:

Credits Expand your project structure from atoms of code to galactic dimensions.

This project was generated with Galactipy.

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

dexa-0.1.0a0.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

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

dexa-0.1.0a0-py3-none-any.whl (42.1 kB view details)

Uploaded Python 3

File details

Details for the file dexa-0.1.0a0.tar.gz.

File metadata

  • Download URL: dexa-0.1.0a0.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.7 Linux/6.17.7-arch1-1

File hashes

Hashes for dexa-0.1.0a0.tar.gz
Algorithm Hash digest
SHA256 428ef1927dc433072e68b3507ef959cff3a32e2f533a10e6a7c303c862c8a9ac
MD5 f185c7a70d9aea7b461261229e03be26
BLAKE2b-256 750b64b47fce81a48130c47a6a1d2aee4e0a3b54103cf61115a46e34269421fd

See more details on using hashes here.

File details

Details for the file dexa-0.1.0a0-py3-none-any.whl.

File metadata

  • Download URL: dexa-0.1.0a0-py3-none-any.whl
  • Upload date:
  • Size: 42.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.7 Linux/6.17.7-arch1-1

File hashes

Hashes for dexa-0.1.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 38b0ca9cc1101f213903bcf6be029edd6faec7565def9bb29aa1df5a0597ad0f
MD5 145fd00551aa575e99a803002ba510ba
BLAKE2b-256 d39fe03073b1c2da1b350d04d6a7eb7a0a259ed2aeaf31162020397e9f9bd23c

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