About
Project Information
- Project homepage: GitHub - limingkang12345/CalculusCalculator
- Web version: https://limingkang.pythonanywhere.com
- PyPI: https://pypi.org/project/CalculusCalculator/
- Core libraries: SymPy (symbolic computation), PySide6 (GUI), Matplotlib (plotting), PyQtDarkTheme-fork (themes), latex2sympy2 (LaTeX parsing), pyqt5-math-widget (visual formula input)
Version History
v2.0.0
- Added "Blockly" feature: visualize computation flows by assembling blocks, supporting Sympy/Latex expression input, in-editor flow execution, automatic output formula rendering, function definition / function analysis, derivative / integral, equation(s) / inequality(ies) / triangle solving, and project save / load.
- Blockly: added "dual-mode code preview" - the dropdown at the top of the preview panel switches between native SymPy code (self-contained, only requires SymPy - copy and run directly in any interpreter with SymPy installed) and CalculusCalculator library code (the code actually executed by the Run button), with native SymPy code shown by default.
- Fixed LaTeX output rendering misdetection in Blockly; fixed subscript access error when sympify receives a SymPy object.
- Fully upgraded the formula editor: backend switched to MathLive for a better experience.
- Added a splash screen and optimized startup speed.
- Added English support for the help documentation.
v1.6.5
This is the final version of CalculusCalculator-v1
- Replaced the dependency
latex2sympy2withlatex2sympy2_extendedto ensure support for Python 3.13+. - Built precompiled Linux binary releases.
- Updated
requirements.txtto ensure long-term support for this version. - Development of CalculusCalculator-v2 will begin in August 2026. See you in the future!
v1.6.4
- Expression cache: added a "Cache" feature (menu "File → Cache"), supporting tab management of cached expressions; three quick buttons next to the input box: visual input, open cache popup, store to cache.
- Visual formula input: based on pyqt5-math-widget (bundled in the
math_input/directory), supports structured selection and editing of mathematical symbols. - Save settings: added a "Save settings (when saving)" list in the settings page, where you can check/uncheck the function list, equation list, etc., to finely control the scope of saved data.
- Menu adjustments: "Solve triangle" moved to a sub-item of the "Solve" menu; "Transform" moved to a sub-item of the "Compute" menu.
- Project structure optimization: added
__init__.pyto thecore/directory; refactoredui/i18n.pyintocore/settings.py. - Code cleanup: removed residual QActions for light/dark style switching.
v1.6.3
- Added a "Settings" tab and moved theme style settings into the settings tab.
- Added a "Language" setting to support the English interface.
- Added built-in "Help documentation" providing user docs and API docs.
- Fixed the issue where indefinite and definite integrals could not be computed.
- Removed the bundled MathJax library from
resources_rc.py, reducing the ico size.
v1.6.2 (latest GitHub release)
- Replaced the math formula display component with
QGraphicsView, greatly reducing package size. - Refactored the project structure for better standardization.
- Used
lazy_loaderto speed up startup. - Fixed help documentation style errors under the dark theme.
v1.6
- Window widgets adapt to window size.
- Used PyQtDarkTheme-fork to implement a modern flat UI.
- Added an "Interface theme" menu item supporting light/dark switching.
- Provided an additional Nuitka-compiled version.
v1.6.1
- Direct LaTeX code input: prefix an expression with
$to input LaTeX. - Changed the help page from
QWebEngineViewtoQTextBrowser, improving load performance. - Updated help docs and README.
v1.5.2
- Geometry computation: 32 plane and 22 solid operations.
- Enter shortcut: the main input box supports triggering the button via Enter.
- Added a "Compute" item to the menu bar.
v1.5.1
- Plane geometry / solid geometry definition and plotting.
v1.5.0
- Vectors, triangle solving, function plotting.
v1.4.4
- Compute tab: high-precision and symbolic computation, LaTeX generation.
- Functions called as
function_name(argument_value), supporting nesting. - Most results automatically rationalize the denominator; inequality solution sets returned as sets/intervals.
- Equation systems and inequality systems written to save file; fixed multi-solution errors.
v1.4.3
- Added JSON save / load functionality.
- Fixed lag when first creating a new tab; switched to WinRAR/7z packaging.
v1.4.2
- Fixed the issue where algebraic expressions were auto-simplified on input but not simplified when solving.
v1.4.1
- Refactored UI: tabs can be added/removed like a browser.
- Added a menu bar (the "About" item contains GitHub/web version links).
- Moved UI code into the
uidirectory; reduced package size.
Known Limitations
- Under very complex symbolic expressions, SymPy computation may be slow or consume significant memory.
- Expression parsing relies on SymPy's
sympifyand must basically conform to Python/SymPy syntax. - The web version is limited by PythonAnywhere resources and has difficulty handling very large computation tasks.
License
This project is licensed under the MIT License.
Author
LiMingkang — GitHub: limingkang12345