Skip to content
toastclubPublic

About

A SwiftUI app for Qalculate

Topics

Resources

Stars

12 stars

Watchers

1 watching

Forks

Repository files navigation

Maculate

Maculate offers a Swift—native frontend for Qalculate, the ultimate desktop calculator. In observance of Qalculate's GPL license, Maculate is licensed freely under the GPLv2.

Mac App Store Badge

It supports just about anything you could imagine, including hundreds of units and dozens of constants, unit conversions, solving for unknown values, factorizing equations, calculus: differentiate and integrate, calculate in different base systems, calculate with time, account for uncertainty, economics, matrices and vectors, combinatorics, complex numbers, variable assignment, and much much more

For a full list of features, refer to the Qalculate documentation. Please note that Maculate does not currently support the following features: plotting, loading & exporting datasets, real time currency conversion

Due to the reoccuring expenses associated with Apple development, Maculate builds will be made available on the App Store, for $4.99. The current intent is to distribute 50% of the proceeds to various open source projects, after $600 in yearly expenses are covered.

Building

You'll need Xcode and gettext.

Maculate is divided into two parts: the Swift frontend, and the C++ backend. The backend is built using CMake, and the frontend is built using Xcode. The backend is built as a static library, and the frontend links against it.

brew install gettext
./libqalc/build-apple.sh

You may want XCode to be closed when you do this but it will probably be fine.

Then open maculate.xcodeproj, select the Maculate-macOS scheme, and run.

For iOS and the simulator, build the dependencies with ./libqalc/build-apple.sh all, then select Maculate-iOS and your device or simulator in Xcode.

Downloaded sources and build files are cached in libqalc/.build/apple. Set APPLE_BUILD_DIR to an absolute path to use another cache, or APPLE_BUILD_JOBS to change the number of build jobs (default: 8).

Open Source Status

Maculate is open source, but the source code is not under any sort of warranty. Contributions are generally welcome, though be aware that you will not be compensated for them.

We generally regard the codebase as being well-written and documented, so it could serve as a good basis to libqalculate.

DRM

The currency conversion feature makes calls to a server hosted at maculate.toastcat.club. This server is developed within this repository. It currently acts as a simple anonymizing proxy. These requests include Reciepts signed by Apple, which are used to verify the purchase of the app. Hence, the currency conversion feature is not available in the open source version of Maculate out of the box, but you can host your own server with relative ease.

Please note that the server is licensed under the AGPLv3, wheras the rest of the project is licensed under the GPLv2.

Support Matrix

macOS iOS iPadOS Notes
macOS 15
iOS 18
✅ ✅ ⏱️⚠️
macOS 14
iOS 17
⚠️ ⚠️ ⏱️⚠️ No plots, completion on macOS, and currencies
macOS <14
iOS <17
❌ ❌ ❌ Never Supported

About

A SwiftUI app for Qalculate

Topics

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages