Skip to main content

Specialized scripting language

Project description

Macal Package

This is the installation package for Macal, a Python script Language by Marco Caspers.

Macal was developed for a limited and specific use.

Creating a human and machine readable configuration file that loads data, transforms the data and emits the data. Loading happens by calling functions from libraries specific to a particular (Rest/XML) API.

Emitting data is currently limited to the console and SysLog.

In the tests folder find the test.py utility that contains several tests.

13-12-2021: Please note that this package was previously called pyql, however there already existed a pyql project so i renamed it.

Whats new in 2.0:

  • Fully revised lexer, parser and interpreter.
  • Script language now support defining functions.
  • The interface for libraries was changed to make it much easier to write libraries.
  • Published on github in a private repository.
  • Extension for examples changed from .pyql into .mcl
  • Examples in example subfolder
  • Removed http library, may be re-added later
  • Removed external dependancies due to removal of http library
  • Changed interface of syslog commands

Version 2.0.1:

  • Minor bugfix, validatefunction throws an exception which needed scope to be passed, but the function didn't have that arg.
  • Function Parameters/Arguments for library RegisterFunction now created by FuncArg() instead of ExpressionItem() to make the name more obvious and easier to read.

Version 3.0.0:

  • Lexer token is now a class.
  • Rewrite of Lexer to greatly simplify it.
  • Changes to parser to take into account changes in the Lexer/Lexer token.

Version 3.0.1:

  • MANY bugfixes in the interpreter.
  • Several updates to libraries.

Version 3.0.3 - 13-01-2022:

  • Updated this document.
  • Trying to fix issue with pip where it doesn't go to the normal branch but to legacy?

Version 3.0.5 - 14-01-2022:

  • Fixed parser issue with comments in blocks (parse_instruction). When a block contained a comment just before the closing bracket the skipping of the comment caused the closing bracket itself to be considered an illegal character.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Macal-3.0.5.tar.gz (32.2 kB view hashes)

Uploaded Source

Built Distribution

Macal-3.0.5-py3-none-any.whl (45.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page