RINEARN
HOMEINFOSOFTTECHAICONTACT
RINEARN > English Top > News > 2025
[ Prev | Index | Next ]
2025/11/04
Japanese English

Exevalator v2.3 Released — Now Usable from Python

We've released Exevalator (a compact expression-evaluation library) v2.3.0!

  • Exevalator — Official Site

We also shipped a small update recently, but that one focused on Japanese error messages and minor fixes/adjustments.

This time, as the minor version bump from 2.2 → 2.3 suggests, it's our first major update in about a year.

So what changed in a big way?

  • Added a new supported language: Exevalator is now usable from Python.

hat brings Exevalator's language lineup to seven: Java / Rust / C++ / C# / VB.NET / TypeScript, and now Python.

Below, we'll walk through using Exevalator from Python right away.

- Table of Contents -
  • What Is Exevalator?
  • Now Available from Python
  • Try It from Python

What Is Exevalator?

As always, let's briefly revisit what Exevalator actually is.

A Library That Interprets and Evaluates "String Expressions"

Exevalator parses and evaluates math expressions given as strings like:

"(1 + 2) * 3"
"sqrt( sin(1.2) / (cos(3.4) + 1) )"

You'll often need this in app development. A classic case is a "type the whole formula" scientific calculator: the user's input is captured as text, which the app must parse and evaluate.

Screenshot of the RINPn UI

In fact, the recently released online version of our scientific calculator RINPn uses the TypeScript implementation of Exevalator to evaluate entered expressions: Oct 22, 2025 — Inside the Architecture of RINPn Online

Compact and (Effectively) Public-Domain — Easy to Use Anywhere

Exevalator prioritizes simplicity and ease of use.

Notably, it's a single-file library — everything fits in one file that you can drop into your project's source tree.

It's released under public-domain-equivalent licenses (Unlicense / CC0, selectable). That means you can use it in any project — commercial or non-commercial, open-source or proprietary — without fuss.

Multi-Language Support

As mentioned above, Exevalator's compact design makes it easy to port. It currently supports:

Java / Rust / C++ / C# / VB.NET / TypeScript / Python

We plan to add more language bindings over time, including Go.

We expect the next major release to prioritize MCP support, with Go likely to follow in a subsequent release.

Now Available from Python

Here's the main news: starting with this release, Exevalator can now be used from Python.

Below are the details.

About Python

You probably don't need an introduction — Python is a hugely popular, interpreted programming language.

While it has long been used for data analysis, in recent years its presence has exploded in AI-related work. In research and prototyping especially, it's fair to say Python has become a dominant force.

Python Already Has eval(...) for String Expressions, But...

Python includes a built-in `eval` function that evaluates expressions provided as strings — no external library required:

result = eval("1.2 + 3.4")
print(result)    # 4.6

However, `eval` can do far more than simple arithmetic. In practice, it can execute almost anything you could write directly in Python, which is very powerful — but also potentially dangerous.

If you are the one entering the expression, that might be acceptable.

But if the expression comes from a third party you can't fully trust, it can be risky. In the worst case, malicious input could overwrite important files, read secrets from environment variables, and so on. That's scary.

"Is That a Common Python Use Case?" → It May Grow with AI Tooling

Unlike languages used primarily to power public websites, Python is often run under the user's own control (local scripts, notebooks, etc.). So today, "evaluate unknown expressions from others" may not feel like a common Python scenario.

But this may change.

AI systems have advanced rapidly, and AI agents can now proactively use tools and perform tasks semi-autonomously.

This implies a near-future where humans build tools for AI to use, connect them to agents, and then let the AI run workflows end-to-end. Many such AI-consumable tools will likely be built in Python.

Those tools will need to process inputs not from the end user directly, but from the AI acting on their behalf.

And since AIs can be very assertive and fast-moving, you may not want to grant full, unrestricted execution privileges (arbitrary scripts/commands) for every step — it's easy to imagine things going off the rails.

In short, you can readily imagine steps where string expressions must be evaluated, but you don't want to pass them to Python's built-in `eval`.

Even if a human "oversees" the AI, you can't review every step at full speed. Design tools so unsafe operations are impossible by construction, e.g.: evaluate only expressions, expose only whitelisted functions/variables, and avoid APIs that execute arbitrary code (e.g., Python's `eval`).

Enter Exevalator for Python

That's where the newly added Python version of Exevalator comes in as a safer drop-in alternative.

Instead of calling Python's `eval`, you can evaluate expressions with Exevalator like this:

ex = Exevalator()
result = ex.eval("1.2 + 3.4")
print(result)    # 4.6

If the input contains anything other than math expression evaluation, it fails with an error — no execution beyond math expressions.

You can of course use variables and functions, but only those registered beforehand are available. That means no calls into system-affecting operations and no access to sensitive data you haven't explicitly exposed.

So even in Python — despite having a built-in `eval` — there are plenty of scenarios where using Exevalator is preferable, and for AI tool development this may become quite important.

By the way, I'm currently studying and prototyping MCP (a framework for building tools for AI), and I found myself wanting a Python version of Exevalator during that work — so I ported it over a recent three-day weekend. That's the background for this release.

Try It from Python

Let's actually download and use the Python version of Exevalator.

As a prerequisite, have a working Python 3.10+ environment on your PC. That's all you need.

Download

First, visit the Exevalator repository on GitHub:

  • Exevalator — Source Code Repository (GitHub)

Near the upper-right of the page, click the green "Code" button and choose "Download ZIP." You'll get a file like:

exevalator-main.zip

Extract (unzip) this ZIP file.

If you prefer `git`, you can clone the repository instead:

git clone https://github.com/RINEARN/exevalator.git

Drop `exevalator.py` into Your Source Folder

Inside the downloaded package, open the `python` directory and locate:

exevalator.py

Copy this file into your project's source folder, in the same directory as the .py file where you want to evaluate expressions.

Evaluate an Expression

That's it for setup. Let's call it from Python.

Create a new `.py` file in the same folder as `exevalator.py` and add:

from exevalator import Exevalator

# Create the Exevalator interpreter
ex = Exevalator()

# Evaluate an expression
result = ex.eval("1.2 + 3.4")

# Print the result
print(f"result: {result}")

Run it with `python` and you should see:

result: 4.6

It's working!

You'll also find several sample scripts (`example*.py`) in the downloaded package — take a look to get a feel for the available features. The Python README will also be helpful.

-

That's all for today's announcement.

We'll continue sharing updates about Exevalator here. Stay tuned!


Author of This Article

Fumihiro Matsui
[ Founder of RINEARN, Doctor of Science (Physics), Applied Info Tech Engineer ]
Develops VCSSL, RINEARN Graph 3D and more. Also writes guides and articles.
| About Me | Contact |

Translation Cooperator

ChatGPT AIs
[ GPT-3.5, 4, 5, 5.1 ]
We greatly appreciate the cooperation of ChatGPT AIs in translating this article.
» How we translated this article

Japanese English
[ Prev | Index | Next ]
RINEARN > English Top > News > 2025

Exevalator v2.4 Released — MCP Support Added, Now Usable as an AI Calculation Tool
2025-11-15 - We've released Exevalator v2.4, our expression-evaluation library. Starting with this version, it supports MCP, making it usable as a calculation tool for AI assistants.

Exevalator v2.3 Released — Now Usable from Python
2025-11-04 - We've released Exevalator v2.3. Starting with this version, you can now use it from Python! With growing demand around AI tool development in mind, we share the details here.

Exevalator Updated — Easy Japanese Localization for Error Messages
2025-10-31 - Exevalator 2.2.2 is out. You can now localize error messages to Japanese with a simple copy-and-paste, and we've included several bug fixes and minor parser adjustments.

Inside RINPn Online: Architecture Overview
2025-10-22 - An inside look at the architecture of the recently launched online version of the RINPn scientific calculator. It's open source, so you can freely modify and reuse it to build your own web calculator (maybe!).

Meet RINPn Online: Use the Scientific Calculator Anywhere, Instantly
2025-10-21 - RINPn, the free scientific calculator, now has an online version you can use instantly in your browser — on both PC and smartphones. Read the announcement for details.

The VCSSL Support AI is Here! — Requires a ChatGPT Plus Account for Practical Performance
2025-08-19 - A new AI assistant for the VCSSL programming language is here to answer your questions and help with coding. This article explains how to use it and showcases plenty of real Q&A and generated code examples.

English Documentation for Our Software and VCSSL Is Now Nearly Complete
2025-06-30 - We're happy to announce that the large-scale expansion of our English documentation with the support of AI — a project that began two years ago — has now reached its initial target milestone.

VCSSL 3.4.52 Released: Enhanced Integration with External Programs and More
2025-05-25 - This update introduces enhancements to the external program integration features (e.g., for running C-language executables). Several other improvements and fixes are also included. Details inside.

Released: Latest Version of VCSSL with Fixes for Behavioral Changes on Java 24
2025-04-22 - VCSSL 3.4.50 released with a fix for a subtle behavioral change in absolute path resolution on network drives, introduced in Java 24. Details inside.

Index of this category
RINEARN > English Top > News > 2025
[ Prev | Index | Next ]
  • Exevalator v2.4 Released — MCP Support Added, Now Usable as an AI Calculation Tool
  • Exevalator v2.3 Released — Now Usable from Python
  • Exevalator Updated — Easy Japanese Localization for Error Messages
  • Inside RINPn Online: Architecture Overview
  • Meet RINPn Online: Use the Scientific Calculator Anywhere, Instantly
  • The VCSSL Support AI is Here! — Requires a ChatGPT Plus Account for Practical Performance
  • English Documentation for Our Software and VCSSL Is Now Nearly Complete
  • VCSSL 3.4.52 Released: Enhanced Integration with External Programs and More
  • Released: Latest Version of VCSSL with Fixes for Behavioral Changes on Java 24
News

Exevalatorv2.4Released—MCPSupportAdded,NowUsableasanAICalculationTool
2025-11-15 - We'vereleasedExevalatorv2.4,ourexpression-evaluationlibrary.Startingwiththisversion,itsupportsMCP,makingitusableasacalculationtoolforAIassistants.

Exevalatorv2.3Released—NowUsablefromPython
2025-11-04 - We'vereleasedExevalatorv2.3.Startingwiththisversion,youcannowuseitfromPython!WithgrowingdemandaroundAItooldevelopmentinmind,wesharethedetailshere.

ExevalatorUpdated—EasyJapaneseLocalizationforErrorMessages
2025-10-31 - Exevalator2.2.2isout.YoucannowlocalizeerrormessagestoJapanesewithasimplecopy-and-paste,andwe'veincludedseveralbugfixesandminorparseradjustments.

InsideRINPnOnline:ArchitectureOverview
2025-10-22 - AninsidelookatthearchitectureoftherecentlylaunchedonlineversionoftheRINPnscientificcalculator.It'sopensource,soyoucanfreelymodifyandreuseittobuildyourownwebcalculator(maybe!).

MeetRINPnOnline:UsetheScientificCalculatorAnywhere,Instantly
2025-10-21 - RINPn,thefreescientificcalculator,nowhasanonlineversionyoucanuseinstantlyinyourbrowser—onbothPCandsmartphones.Readtheannouncementfordetails.

TheVCSSLSupportAIisHere!—RequiresaChatGPTPlusAccountforPracticalPerformance
2025-08-19 - AnewAIassistantfortheVCSSLprogramminglanguageisheretoansweryourquestionsandhelpwithcoding.ThisarticleexplainshowtouseitandshowcasesplentyofrealQ&Aandgeneratedcodeexamples.

EnglishDocumentationforOurSoftwareandVCSSLIsNowNearlyComplete
2025-06-30 - We'rehappytoannouncethatthelarge-scaleexpansionofourEnglishdocumentationwiththesupportofAI—aprojectthatbegantwoyearsago—hasnowreacheditsinitialtargetmilestone.

VCSSL3.4.52Released:EnhancedIntegrationwithExternalProgramsandMore
2025-05-25 - Thisupdateintroducesenhancementstotheexternalprogramintegrationfeatures(e.g.,forrunningC-languageexecutables).Severalotherimprovementsandfixesarealsoincluded.Detailsinside.

» View More Articles
See Our News
on Twitter !
RINEARN Official Website | Top Page | Privacy Policy |
This website uses cookies for serving ads and analyzing traffic data. By continuing to use this website, you agree to our privacy policy.
This website is managed by RINEARN. All rights to the contents of this website are owned by RINEARN and its owner.
Copyright(C) RINEARN 2009 - 2025 All rights reserved.