Python-aiml

Latest version: v0.9.3

Safety actively analyzes 630130 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

0.6.1

- Fixed undefined variable exception that was thrown whenever there was no
match for the user's input.
- Fixed an infinite recursion bug caused by processing two or more nested
'srai' or 'sr' elements.

0.6

- Completely rewrote the LearnHandler class (which handles all AIML parsing)
to be much less forgiving of incorrect AIML. Currently, any AIML errors
outside of "template" elements should be caught and reported at load-time.
AIML errors inside templates are still not detected until run-time.
- Added support for atomic 'person' and 'person2' tags (they implicitly use
'star' as their contents if none are provided).
- Oops; Kernel.respond() was DEFINITELY not thread-safe. Now it is, provided
you're using Python's standard 'threading' module. If not, you'll have to
provide your own mutual-exclusion system to ensure that only one thread
is calling Kernel.respond() at a time.
- Recursive tags ('srai' and 'sr') no longer add their intermediate results
to the input and output history.
- EXPERIMENTAL FEATURE: persistent sessions. If enabled using
Kernel.persistentSessions(True), session data will be written to disk
after every response. This lets session data be preserved when the
Kernel is destroyed, at the expense of a small performance hit (all
that extra disk I/O). The semantics of this feature may change in future
releases!
- Added support for the "id" tag (it returns the session ID).
- Added support for the "topic", "topicstar" and "thatstar" tags.
- Commented up the test.py file.
- Added a summary to the end of the Kernel.py self-test (since there are now
too many tests to fit on screen).
- Added support for multi-sentence input. The user's input is split into
individual sentences, each of which is treated as a completely separate
piece of input. I'm *pretty* sure this is the Right Way(tm).

0.5

- The filename inside Learn tags can now contain wildcards. Besides
simplifying the loading of multiple files, this allows the possibility
of loading AIML files that may not exist without crashing the
interpreter.
- Attempting to set the value of a predicate in a nonexistent session
now automatically creates the session, instead of silently doing nothing.
- "set" tags now output the new value of the variable, as well as assigning
it.

0.4.1

- Unknown AIML tags are handled in a more forgiving fashion. If an
unknown tag is encountered, instead of ignoring its contents entirely,
the contents are processed and returned unaltered.
- Added support for "bot name='name'" tags, both in patterns and in
templates. This also fixes a nasty infinite loop crash when a user
says Hello to a bot.

0.4

- Added support for "star" and "sr" tags.
- Considered adding support for the "secure" tag, but decided against it.
see SUPPORTED_TAGS.txt for more information.

0.3

- Cleaned up AIML processing code to remove some unnecessary
special-cases in the interpretation algorithm.
- Added support for "input" and "that" tags.

Page 3 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.