Releases: the-anylogic-company/AnyLogic-Pypeline
v1.9.5 release
What's Changed
- Update library for AL 8.8.6
- Minor updates to example models (including changes by @nikolay2706 -- thanks!)
Full Changelog: v1.9.4...v1.9.5
v1.9.4 release
What's Changed
- Fixed
runFileHeadless
to allow any types (Object), not just String - Updated the example model "Basic Functionality" in various minor ways and to accommodate for a missing dependency due to an internal library AL removed in recent versions
Full Changelog: t-wolfeadam/AnyLogic-Pypeline@v1.9.3...v1.9.4
v1.9.3 release
What's Changed
runFile
/runFileHeadless
now correctly works for alternate aliases (i.e.,PYTHON_OTHER
)runFile
/runFileHeadless
, inline with the other runlike functions, permits objects of any type, not just string (it will auto-stringify them)- Passing single tables to
toJson
now includes the table's data, but only if using the PyCommunicator in its agent-form (i.e., not programmatically created) - Added a serializer for the Tuple class (i.e., the object type containing all values from a row when querying multiple columns from a database; e.g.,
selectFrom(my_table).list()
, which returns an object of typeList<Tuple>
) - Serializing tables / database now correctly has the order of columns synchronized between the list of column info and table data values
- Minor refactor "Simple Hospital" to workaround a previously-built-in google library being removed in the latest AL versions
Full Changelog: t-wolfeadam/AnyLogic-Pypeline@v1.9.1...v1.9.3
v1.9.1 release
What's Changed
To core library
- JSON features improved upon and extracted to its own object (Jsonifier)
- Improvements include making nearly all AnyLogic classes serializable and adding parameters for the
toJson
filter - The PyCommunicator extends the Jsonifier object, so the API remains the same (e.g.,
pyCommunicator.toJson(...)
), but if your models don't require Python, you can still use the JSON features via just adding the Jsonifier object.
- Improvements include making nearly all AnyLogic classes serializable and adding parameters for the
- Add new
runFileHeadless
function - intended for scripts that don't immediately return a value- Returned is a new class,
FutureAttempt
, which implements Java'sFuture
interface, for getting the latest output from the headless background process
- Returned is a new class,
- Remove test model from main repo (moved to a Discussion)
- Fix internal bug in
runFile
To models
- Organized all models into sub-directories
- Finished the (long WIP) model "Supply Chain Optimizer"
- Updated the Interconnected Call Center Web App model to use Plotly's Dash instead of H2O's Wave
- Merged a few sets of models that were similar to one another into single, more useful versions of themselves
- Added
requirements.txt
to all models with any dependencies - Improved error reporting from Python (will now print the Python traceback to syserr)
- Minor bug fixes and english/graphical changes to multiple models
Full Changelog: t-wolfeadam/AnyLogic-Pypeline@v1.7.1...v1.9.1
v1.7.1 release
Re-exported library to be compatible with latest AnyLogic version (no internal library changes made)
v1.7.0 release
This release contains...
- fixes and updates for the "json" functions:
- add the ability to filter in or out specific classes when converting from agents to JSON
- consolidate and simplify the "from" json (to agents/populations) functions
- limited the amount of warnings outputted
- improved clarity in exception messages
- fixes for characters printed in non-english characters
Next release will contain "official" updates to example models; the WIP ones can be accessed by downloading this repo from the main page.
To update, ensure AnyLogic is closed, then overwrite the jar file on your local system with the one accessible via the asset below. If you check "Manage libraries", it should report Pypeline is on v1.7.0 (see the relevant AnyLogic help article for a full description on checking this).
v1.4.0 release
- New JSON functions for converting to json (toJson -- with option to pretty print) or from JSON (fromJson, fromAgentJson, fromPopulationJson -- use the latter two exclusively for agents/populations)
- New JSON demo model
- New option to redirect Python print/warning statements to AL
- runResults function alternate [shortcut] (pass class as first argument for direct return of type)
- Overhaul of basic functions demo model
- Minor updates to models
- Libraries in Anaconda/Pip environments should now be recognized
See below or user guide for information on installation and troubleshooting.
I'll be updating the user guide in the near future with the latest functions (for now, see docstrings).
Minor release
In this release:
- Removed some code that was causing issues for Mac users
- Modified Lorenz Weather example to include Parameters Variation experiment (showing how you can seamlessly run Pypeline-included-models with no extra code/hassle); also show parameters in graph
- Minor edits to user guide
For instructions on installation / use, see first release notes, the README, or the user guide.
First release
To install:
- Download the
Pypeline.jar
file and place it somewhere it won't be moved (or accidently deleted). - Add it to your AnyLogic palette. A step-by-step explanation of how to do this is available in the AnyLogic help article "Managing Libraries".
- You should see a new palette item for Pypeline with the custom Python Communicator agent.
General usage is explained in this project's readme and more detailed information (including installation, available functions, and troubleshooting) can be read in this project's User Guide.
A copy of this version's example models can be downloaded here: Pypeline-v1.0.0-Examples.zip