Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/impossiblereality/siffra
A fast and accurate calculator app written in Rust
https://github.com/impossiblereality/siffra
calculator dimensional-analysis rust rust-lang tauri
Last synced: 3 months ago
JSON representation
A fast and accurate calculator app written in Rust
- Host: GitHub
- URL: https://github.com/impossiblereality/siffra
- Owner: ImpossibleReality
- License: mit
- Created: 2024-01-22T06:42:11.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-01T04:26:18.000Z (9 months ago)
- Last Synced: 2024-10-18T18:01:58.991Z (3 months ago)
- Topics: calculator, dimensional-analysis, rust, rust-lang, tauri
- Language: Rust
- Homepage:
- Size: 2.05 MB
- Stars: 40
- Watchers: 1
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Siffra
Siffra is a beautiful, lightweight, fast, and accurate calculator with support for dimensional analysis.
The project is currently in heavy development, and is not currently stable yet. However, it is usable.
## Installation
### Prebuild BinariesThere are provided prebuilt binaries for all supported platforms in the [Releases tab](https://github.com/ImpossibleReality/Siffra/releases).
### Building from source
To build Siffra from source, you will need to have the following installed:
- [Rust](https://www.rust-lang.org/tools/install)
- [Bun](https://bun.sh)Once you have these installed, you can clone the repository and build Siffra with the following commands:
```sh
bun install
bun run tauri build
```You will find the built binary in the `src-tauri/target/release/bundle` directory.
note: Siffra currently only *officially* supports macOS due to testing limitations, but I am working on adding support for Linux and Windows. Please open an issue if you have any problems running Siffra on your platform.
## Planned Features
- [x] Basic calculator functionality
- [x] Basic natural language support
- [x] Syntax highlighting
- [x] Variables support
- [x] Dimensional analysis
- [x] Unit conversion
- [x] Basic units
- [x] Dimensions w/ multiple units + exponents (ie. m/s^2)
- [ ] Derived units (ie. Jules, Newtons, etc.)
- [ ] Absolute units (ie. Temperature, time/date, etc.)
- [x] Stoichiometry
- [ ] Full support for all SI units (including derived)
- [ ] Currency/Stock units
- [ ] Improved syntax + error handling
- [ ] Support for saving calculations + multi-window support
- [ ] Custom defined functions
- [ ] Preferences page
- [ ] Plugin + theme system
- [ ] CAS support
- [ ] Graphing## Contributing
Because Siffra is still under heavy development, I am not currently accepting contributions. However, once the project is more stable, I will be accepting contributions. Please do, however, feel free to [open an issue](https://github.com/ImpossibleReality/Siffra/issues/new) if you find a bug or have a feature request.
## Supporting the project
Unlike other calculators that provide similar functionality, Siffra is open-source, which also means I am unable to make a profit off of it. If you would like to support my future work, you can do so by buying me a coffee using the button below. Thank you!## License
Siffra is licensed under the [MIT License](https://opensource.org/license/mit/)