Skip to content

esc v1.0.0

Latest
Compare
Choose a tag to compare
@sobjornstad sobjornstad released this 08 Nov 23:57
43eb60f

esc has been completely revamped in version 1.0.0. The philosophy and the user interface are roughly the same, but the internals and the plugin API have changed dramatically and the UI is improved.

In addition to major refactoring so I’m not embarrassed about the code and can continue working on it without screaming, the most visible changes include:

  • Python 3.6 or greater is now required.

  • Functions have a new, more intuitive and pythonic API. Any logic you wrote in custom functions for version-0 esc will obviously still be applicable, but you’ll need to use the new @Operator decorator instead of registerFunction() calls, and the order of stack items and naming convention for arguments to your function have changed. If you were used to the old API, you should work through the Operations section of the developer manual and upgrade any functions as needed.

  • Functions you write can be automatically tested on application start.

  • A new on-line help system can be accessed by pressing F1 and helps you understand in detail what each function does.

  • You can now put user-defined functions in plugins (individual Python files) in a user config location, rather than having to edit the esc source distribution.

  • The History and Registers sections of the screen now actually do something.

  • Some functionality that was in base esc has been factored out into plugins so you can plug-and-play only the pieces you need and use.

  • Decimal arithmetic is now used instead of floating-point, and precision is globally decreased to 12 significant figures, which prevents the stack window from overflowing with more digits than will ever be useful.

  • A number of small, irritating bugs have been fixed.

  • Complete documentation has been published on Read The Docs.

  • A PyPi package, esc-calc, is now available for easy installation.