summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/latex2pydata/README
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/latex2pydata/README')
-rw-r--r--macros/latex/contrib/latex2pydata/README29
1 files changed, 29 insertions, 0 deletions
diff --git a/macros/latex/contrib/latex2pydata/README b/macros/latex/contrib/latex2pydata/README
new file mode 100644
index 0000000000..678217ebc7
--- /dev/null
+++ b/macros/latex/contrib/latex2pydata/README
@@ -0,0 +1,29 @@
+latex2pydata - write data to file in Python literal format
+
+Author: Geoffrey M. Poore
+License: LPPL v1.3c or later
+Development: https://github.com/gpoore/latex2pydata_tex
+
+
+latex2pydata is a LaTeX package for writing data to file using Python literal
+syntax (https://docs.python.org/3/reference/lexical_analysis.html#literals).
+The data may be loaded safely in Python using the ast.literal_eval() function
+(https://docs.python.org/3/library/ast.html#ast.literal_eval) or the
+latex2pydata Python package https://github.com/gpoore/latex2pydata_py).
+
+The top-level data structure can be configured as either a Python dict or a
+list of dicts. Within dicts, all keys and values are written to file as
+Python string literals. However, this does not limit the data types that can
+be passed from LaTeX to Python. When data is loaded, the included schema
+functionality makes it possible to convert string values into other Python
+data types such as dicts, lists, sets, bools, and numbers.
+
+The data is suitable for direct loading in Python with ast.literal_eval().
+It is also possible to load data using the latex2pydata Python package
+(https://github.com/gpoore/latex2pydata_py). This functions as a wrapper for
+ast.literal_eval(). The package requires all keys to match the regex
+"[A-Za-z_][0-9A-Za-z_]*". Periods in keys are interpreted as key paths and
+indicate sub-dicts. For example, the key path "main.sub" represents a key
+"main" in the main dict that maps to a sub-dict containing a key "sub". The
+Python package supports the schema features provided by the LaTeX package, so
+that data types other than dicts of strings are possible.