Using Python from Analytica
Revision as of 17:55, 19 August 2025 by Lchrisman (talk | contribs) (→Accessing Analytica objects from Python code)
New in Analytica 7.0
Requires the Analytica Developer edition.
Introduction
- Short overview
- Motivation (i.e., rich ecosystem, many libraries)
- Use cases
- Advantages of using python from within Analytica vs. plain python.
- Downsides: When it is better to stick with Analytica syntax (dependencies, array abstraction, MC, optimization).
Setting up a Python environment
- Very brief basics.
conda create -n MyEnv python=3.11- Configuring Python Environment or Model Environment sysvars in Analytica.
- Link to Setting up a Python environment for detailed info.
Importing Python modules and objects
- The Python Startup Code sysvar
- Use of "From module Import object"
The Python namespace
- The py:: namespace prefix
Calling a Python function
- py::F(...) calling syntax
- What print(...) does
Using Python classes
- Using an existing python class
- The -> operator to access fields, methods
Using Python code in Definitions
- The Python Expression view for definitions
- Writing an Analytica UDF with python code in body
Defining your own Python classes and Python functions
- Using "def" or "class" in python code.
- The Callable
- Developing your code outside of Analytica and importing as a module.
Dependencies
- The convenience of Analytica's dependencies.
- Drawing arrows to indicate dependence where Python doesn't track it.
- When dependencies are not tracked
Functions for evaluating Python code
Non-scalar data structures
- Distinction between Python data structures and Analytica data structures. How Python objects display in «...»
- Why to sometimes keep as python data structure w/o exploding
Converting from Python data to Analytica
- Automatic conversions (including list of types)
- PyExplode
- Basic usage. Nested usage.
- Include/exclude types
- Collections: np.array, dict, set/map, pandas data frame (documented on a separate library page), etc.
Converting from Analytica to Python data structures
Using Analytica locals from Python code
- When Analytica locals are visible to python code.
- Assignment to an Analytica local from python code.
Accessing Analytica objects from Python code
- Analytica module
- Get an Analytica object
- Evaluate a variable
- Analytica.eval(...) -- evaluate an analytica expression
- Call an Analytica function (?) -- Don't have something very direct here yet
Comments
Enable comment auto-refresher