estout


Nameestout JSON
Version 0.0.2 PyPI version JSON
download
home_pagehttps://github.com/ionmihai/estout
SummaryCollect regression results and export them to LaTex and pdf
upload_time2023-06-23 16:38:48
maintainer
docs_urlNone
authorMihai Ion
requires_python>=3.7
licenseApache Software License 2.0
keywords nbdev jupyter notebook python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # estout

<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

## Install

``` sh
pip install estout
```

## How to use

Set up an example dataset and run a few regressions to showcase the
functions in this module.

``` python
import numpy as np
import pandas as pd
import statsmodels.api as sm
from linearmodels import PanelOLS
import estout
```

``` python
np.random.seed(123)
df = pd.DataFrame(np.random.rand(9,3), 
                  columns=['y','x','z'],
                  index = pd.MultiIndex.from_product([[1,2,3],[1,2,3]], names=['firmid','time'])
                  ).assign(cons = 1)
sm1 = sm.OLS(df['y'], df[['cons','x']]).fit()
sm2 = sm.OLS(df['y'], df[['cons','x','z']]).fit().get_robustcov_results(cov_type='HAC', maxlags=2)
lmres = PanelOLS(df['y'],  df[['cons','x','z']], entity_effects=True
                 ).fit(cov_type='clustered', cluster_entity=True)
```

### Extracting statistics after fitting a model

Below, we collect just the default set of statistics from the `sm1`
object. These are given by the functions implemented in the
`statsmodels_results` module (since `sm1` was generated by the
`statsmodels` package).

``` python
estout.collect_stats(sm1)
```

    {'package': 'statsmodels',
     'ynames': ['y'],
     'xnames': ['cons', 'x'],
     'params': cons    0.507852
     x       0.345003
     dtype: float64,
     'tstats': cons    3.905440
     x       1.292246
     dtype: float64,
     'pvalues': cons    0.005858
     x       0.237293
     dtype: float64,
     'covmat':           cons         x
     cons  0.016910 -0.030531
     x    -0.030531  0.071278,
     'se': cons    0.130037
     x       0.266979
     dtype: float64,
     'nobs': 9,
     'r2': 0.19260886185799475}

Collect statistics by specifying the name of their attribute in the
results object (using the `add_stats` parameter):

``` python
estout.collect_stats(sm1, get_default_stats=False, add_stats={'xnames': 'model.exog_names',
                                                              'Adj. R2': 'rsquared_adj'})
```

    {'package': 'statsmodels',
     'xnames': ['cons', 'x'],
     'Adj. R2': 0.07726727069485118}

Add scalar statistics not available as attributes of the results object
(using the `add_literals` paramter):

``` python
estout.collect_stats(sm1, get_default_stats=False, add_literals={'Fixed Effects': 'No', 
                                                                 'Nr observations': 123})
```

    {'package': 'statsmodels', 'Fixed Effects': 'No', 'Nr observations': 123}

### Combining model results into a DataFrame

Start by collecting stats from each model and combining them in a list.

``` python
allmodels = []
for res in [sm1, sm2, lmres]:
    allmodels.append(estout.collect_stats(res))
```

Then export them to a DataFrame.

``` python
estout.to_df(allmodels)
```

<div>

|      |        | 0          | 1          | 2          |
|------|--------|------------|------------|------------|
| cons | params | 0.51\*\*\* | 0.70\*\*\* | 0.73\*\*\* |
|      | tstats | (3.91)     | (21.48)    | (167.36)   |
| x    | params | 0.35       | 0.57\*\*   | 0.64\*     |
|      | tstats | (1.29)     | (2.85)     | (2.26)     |
| z    | params |            | -0.64\*\*  | -0.77\*\*  |
|      | tstats |            | (-3.55)    | (-2.91)    |
| r2   |        | 0.193      | 0.487      | 0.352      |
| nobs |        | 9          | 9          | 9          |

</div>

We can choose to report only a subset of the regressors.

``` python
estout.to_df(allmodels, which_xvars=['x','z'])
```

<div>

|      |        | 0      | 1         | 2         |
|------|--------|--------|-----------|-----------|
| x    | params | 0.35   | 0.57\*\*  | 0.64\*    |
|      | tstats | (1.29) | (2.85)    | (2.26)    |
| z    | params |        | -0.64\*\* | -0.77\*\* |
|      | tstats |        | (-3.55)   | (-2.91)   |
| r2   |        | 0.193  | 0.487     | 0.352     |
| nobs |        | 9      | 9         | 9         |

</div>

Report other statistics under the parameter values.

``` python
estout.to_df(allmodels, stats_body=['params','se','pvalues'], which_xvars=['x'])
```

<div>

|      |         | 0       | 1        | 2       |
|------|---------|---------|----------|---------|
| x    | params  | 0.35    | 0.57\*\* | 0.64\*  |
|      | se      | (0.27)  | (0.20)   | (0.28)  |
|      | pvalues | (0.237) | (0.029)  | (0.086) |
| r2   |         | 0.193   | 0.487    | 0.352   |
| nobs |         | 9       | 9        | 9       |

</div>

Change the statistics reported at the bottom of the table

``` python
estout.to_df(allmodels, stats_bottom=['r2'],  which_xvars=['x'])
```

<div>

|     |        | 0      | 1        | 2      |
|-----|--------|--------|----------|--------|
| x   | params | 0.35   | 0.57\*\* | 0.64\* |
|     | tstats | (1.29) | (2.85)   | (2.26) |
| r2  |        | 0.193  | 0.487    | 0.352  |

</div>

Change the formatting for any of the statistics reported.

``` python
estout.to_df(allmodels, add_formats={'params':'{:.3}','r2':'{:.2f}'}, which_xvars=['x'])
```

<div>

|      |        | 0      | 1         | 2       |
|------|--------|--------|-----------|---------|
| x    | params | 0.345  | 0.571\*\* | 0.643\* |
|      | tstats | (1.29) | (2.85)    | (2.26)  |
| r2   |        | 0.19   | 0.49      | 0.35    |
| nobs |        | 9      | 9         | 9       |

</div>

Replace names of regressor (or bottom stats) with labels.

``` python
estout.to_df(allmodels, labels={'cons':'Intercept', 'nobs':'Observations'}, which_xvars=['cons'])
```

<div>

|              |        | 0          | 1          | 2          |
|--------------|--------|------------|------------|------------|
| Intercept    | params | 0.51\*\*\* | 0.70\*\*\* | 0.73\*\*\* |
|              | tstats | (3.91)     | (21.48)    | (167.36)   |
| r2           |        | 0.193      | 0.487      | 0.352      |
| Observations |        | 9          | 9          | 9          |

</div>

Since the output of
[`to_df`](https://ionmihai.github.io/estout/core.html#to_df) is a
pd.DataFrame, it is easy to add more information at the bottom of the
table without having to re-run
[`collect_stats`](https://ionmihai.github.io/estout/core.html#collect_stats).

``` python
df = estout.to_df(allmodels)
df.loc['Fixed effects',:] = ['No','No','Entity']
df
```

<div>

|               |        | 0          | 1          | 2          |
|---------------|--------|------------|------------|------------|
| cons          | params | 0.51\*\*\* | 0.70\*\*\* | 0.73\*\*\* |
|               | tstats | (3.91)     | (21.48)    | (167.36)   |
| x             | params | 0.35       | 0.57\*\*   | 0.64\*     |
|               | tstats | (1.29)     | (2.85)     | (2.26)     |
| z             | params |            | -0.64\*\*  | -0.77\*\*  |
|               | tstats |            | (-3.55)    | (-2.91)    |
| r2            |        | 0.193      | 0.487      | 0.352      |
| nobs          |        | 9          | 9          | 9          |
| Fixed effects |        | No         | No         | Entity     |

</div>

### Exporting to LaTex

With the `estout.to_tex` function, we can combine one or more DataFrames
into a single LaTex table (each DataFrame will be a separate panel in
the LaTex table).

In the example below, we just return the tex code as a string, but the
function also takes an `outfile` parameter that allows us to store the
output in a `.tex` file. Either the file path or the string can be used
in the `estout.to_pdf` function to create a PDF out of this tex code.

``` python
tbl = estout.to_tex([df,df], panel_title=['Panel A: Some title', 'Panel B: Some title'], 
               col_groups=[{'Group1':[1,2]}]*2,
               col_names=[['Model 1', 'Model 2', 'Model 3']]*2,
               hlines=[[0,1,4,13], [1,4,13]] )
print(tbl)
```

    \newpage 
     \clearpage 
     \begin{table}[!h] \footnotesize 
    \addtocounter{table}{0} 
    \caption{\textbf{Table title}} 
    \par {Table description} 

     \vspace{2mm} 

     \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}l*{3}{c}} 
     \hline \noalign{\smallskip} 
    \multicolumn{4}{@{} l}{Panel A: Some title} \\ 
     \hline \noalign{\smallskip} 
    & \multicolumn{2}{c}{Group1}  \\ 
    \cline{2-3}  
     & Model 1 & Model 2 & Model 3 \\ 
     \hline \noalign{\smallskip} 
    cons & 0.51*** & 0.70*** & 0.73*** \\ 
     & (3.91) & (21.48) & (167.36) \\ 
    x & 0.35 & 0.57** & 0.64* \\ 
     & (1.29) & (2.85) & (2.26) \\ 
    z &  & -0.64** & -0.77** \\ 
     &  & (-3.55) & (-2.91) \\ 
    r2 & 0.193 & 0.487 & 0.352 \\ 
    nobs & 9 & 9 & 9 \\ 
    Fixed effects & No & No & Entity \\ 
     \hline \noalign{\smallskip} 
    \end{tabular*}
     \smallskip 
    \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}l*{3}{c}} 
    \multicolumn{4}{@{} l}{Panel B: Some title} \\ 
     \hline \noalign{\smallskip} 
    & \multicolumn{2}{c}{Group1}  \\ 
    \cline{2-3}  
     & Model 1 & Model 2 & Model 3 \\ 
     \hline \noalign{\smallskip} 
    cons & 0.51*** & 0.70*** & 0.73*** \\ 
     & (3.91) & (21.48) & (167.36) \\ 
    x & 0.35 & 0.57** & 0.64* \\ 
     & (1.29) & (2.85) & (2.26) \\ 
    z &  & -0.64** & -0.77** \\ 
     &  & (-3.55) & (-2.91) \\ 
    r2 & 0.193 & 0.487 & 0.352 \\ 
    nobs & 9 & 9 & 9 \\ 
    Fixed effects & No & No & Entity \\ 
     \hline \noalign{\smallskip} 
    \end{tabular*} 
    \label{} 
     \end{table} 

### Exporting to PDF

With the `estout.to_pdf` function, we can combine the LaTex code for
multiple tables (like the ones produced by `estout.to_tex`) into a
single .tex document.

By default, the resulting .tex file is run through TexLive’s `pdflatex`
utility to produce a PDF document with the tables (set `make_pdf`=False
if you do not want the PDF to be automatically produced).

You can also set `open_pdf` to True if you want the resulting pdf to be
opened after it is produced.

For the code below to work, you need to have `TexLive` installed (and
change the path below to a valid path on your system).

``` python
estout.to_pdf(outfile='../_outputs/paper.tex', 
              table_tex_code=[tbl, tbl],
              make_pdf=True,
              open_pdf=False)
```

    PDF creation successful!

This produced a PDF with two tables (given by the `tbl` tex string),
each with two panels (given by the `df` DataFrame above).

Note that the `table_tex_code` parameter also accepts paths to tex
files. Those tex files must have the complete table environment for that
table (i.e. from
).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ionmihai/estout",
    "name": "estout",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "nbdev jupyter notebook python",
    "author": "Mihai Ion",
    "author_email": "mihaiion@email.arizona.edu",
    "download_url": "https://files.pythonhosted.org/packages/bc/c0/8d329d33390bc0c028c0cddf39a246a0a506c73c400569b980c4ac1088a9/estout-0.0.2.tar.gz",
    "platform": null,
    "description": "# estout\n\n<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->\n\n## Install\n\n``` sh\npip install estout\n```\n\n## How to use\n\nSet up an example dataset and run a few regressions to showcase the\nfunctions in this module.\n\n``` python\nimport numpy as np\nimport pandas as pd\nimport statsmodels.api as sm\nfrom linearmodels import PanelOLS\nimport estout\n```\n\n``` python\nnp.random.seed(123)\ndf = pd.DataFrame(np.random.rand(9,3), \n                  columns=['y','x','z'],\n                  index = pd.MultiIndex.from_product([[1,2,3],[1,2,3]], names=['firmid','time'])\n                  ).assign(cons = 1)\nsm1 = sm.OLS(df['y'], df[['cons','x']]).fit()\nsm2 = sm.OLS(df['y'], df[['cons','x','z']]).fit().get_robustcov_results(cov_type='HAC', maxlags=2)\nlmres = PanelOLS(df['y'],  df[['cons','x','z']], entity_effects=True\n                 ).fit(cov_type='clustered', cluster_entity=True)\n```\n\n### Extracting statistics after fitting a model\n\nBelow, we collect just the default set of statistics from the `sm1`\nobject. These are given by the functions implemented in the\n`statsmodels_results` module (since `sm1` was generated by the\n`statsmodels` package).\n\n``` python\nestout.collect_stats(sm1)\n```\n\n    {'package': 'statsmodels',\n     'ynames': ['y'],\n     'xnames': ['cons', 'x'],\n     'params': cons    0.507852\n     x       0.345003\n     dtype: float64,\n     'tstats': cons    3.905440\n     x       1.292246\n     dtype: float64,\n     'pvalues': cons    0.005858\n     x       0.237293\n     dtype: float64,\n     'covmat':           cons         x\n     cons  0.016910 -0.030531\n     x    -0.030531  0.071278,\n     'se': cons    0.130037\n     x       0.266979\n     dtype: float64,\n     'nobs': 9,\n     'r2': 0.19260886185799475}\n\nCollect statistics by specifying the name of their attribute in the\nresults object (using the `add_stats` parameter):\n\n``` python\nestout.collect_stats(sm1, get_default_stats=False, add_stats={'xnames': 'model.exog_names',\n                                                              'Adj. R2': 'rsquared_adj'})\n```\n\n    {'package': 'statsmodels',\n     'xnames': ['cons', 'x'],\n     'Adj. R2': 0.07726727069485118}\n\nAdd scalar statistics not available as attributes of the results object\n(using the `add_literals` paramter):\n\n``` python\nestout.collect_stats(sm1, get_default_stats=False, add_literals={'Fixed Effects': 'No', \n                                                                 'Nr observations': 123})\n```\n\n    {'package': 'statsmodels', 'Fixed Effects': 'No', 'Nr observations': 123}\n\n### Combining model results into a DataFrame\n\nStart by collecting stats from each model and combining them in a list.\n\n``` python\nallmodels = []\nfor res in [sm1, sm2, lmres]:\n    allmodels.append(estout.collect_stats(res))\n```\n\nThen export them to a DataFrame.\n\n``` python\nestout.to_df(allmodels)\n```\n\n<div>\n\n|      |        | 0          | 1          | 2          |\n|------|--------|------------|------------|------------|\n| cons | params | 0.51\\*\\*\\* | 0.70\\*\\*\\* | 0.73\\*\\*\\* |\n|      | tstats | (3.91)     | (21.48)    | (167.36)   |\n| x    | params | 0.35       | 0.57\\*\\*   | 0.64\\*     |\n|      | tstats | (1.29)     | (2.85)     | (2.26)     |\n| z    | params |            | -0.64\\*\\*  | -0.77\\*\\*  |\n|      | tstats |            | (-3.55)    | (-2.91)    |\n| r2   |        | 0.193      | 0.487      | 0.352      |\n| nobs |        | 9          | 9          | 9          |\n\n</div>\n\nWe can choose to report only a subset of the regressors.\n\n``` python\nestout.to_df(allmodels, which_xvars=['x','z'])\n```\n\n<div>\n\n|      |        | 0      | 1         | 2         |\n|------|--------|--------|-----------|-----------|\n| x    | params | 0.35   | 0.57\\*\\*  | 0.64\\*    |\n|      | tstats | (1.29) | (2.85)    | (2.26)    |\n| z    | params |        | -0.64\\*\\* | -0.77\\*\\* |\n|      | tstats |        | (-3.55)   | (-2.91)   |\n| r2   |        | 0.193  | 0.487     | 0.352     |\n| nobs |        | 9      | 9         | 9         |\n\n</div>\n\nReport other statistics under the parameter values.\n\n``` python\nestout.to_df(allmodels, stats_body=['params','se','pvalues'], which_xvars=['x'])\n```\n\n<div>\n\n|      |         | 0       | 1        | 2       |\n|------|---------|---------|----------|---------|\n| x    | params  | 0.35    | 0.57\\*\\* | 0.64\\*  |\n|      | se      | (0.27)  | (0.20)   | (0.28)  |\n|      | pvalues | (0.237) | (0.029)  | (0.086) |\n| r2   |         | 0.193   | 0.487    | 0.352   |\n| nobs |         | 9       | 9        | 9       |\n\n</div>\n\nChange the statistics reported at the bottom of the table\n\n``` python\nestout.to_df(allmodels, stats_bottom=['r2'],  which_xvars=['x'])\n```\n\n<div>\n\n|     |        | 0      | 1        | 2      |\n|-----|--------|--------|----------|--------|\n| x   | params | 0.35   | 0.57\\*\\* | 0.64\\* |\n|     | tstats | (1.29) | (2.85)   | (2.26) |\n| r2  |        | 0.193  | 0.487    | 0.352  |\n\n</div>\n\nChange the formatting for any of the statistics reported.\n\n``` python\nestout.to_df(allmodels, add_formats={'params':'{:.3}','r2':'{:.2f}'}, which_xvars=['x'])\n```\n\n<div>\n\n|      |        | 0      | 1         | 2       |\n|------|--------|--------|-----------|---------|\n| x    | params | 0.345  | 0.571\\*\\* | 0.643\\* |\n|      | tstats | (1.29) | (2.85)    | (2.26)  |\n| r2   |        | 0.19   | 0.49      | 0.35    |\n| nobs |        | 9      | 9         | 9       |\n\n</div>\n\nReplace names of regressor (or bottom stats) with labels.\n\n``` python\nestout.to_df(allmodels, labels={'cons':'Intercept', 'nobs':'Observations'}, which_xvars=['cons'])\n```\n\n<div>\n\n|              |        | 0          | 1          | 2          |\n|--------------|--------|------------|------------|------------|\n| Intercept    | params | 0.51\\*\\*\\* | 0.70\\*\\*\\* | 0.73\\*\\*\\* |\n|              | tstats | (3.91)     | (21.48)    | (167.36)   |\n| r2           |        | 0.193      | 0.487      | 0.352      |\n| Observations |        | 9          | 9          | 9          |\n\n</div>\n\nSince the output of\n[`to_df`](https://ionmihai.github.io/estout/core.html#to_df) is a\npd.DataFrame, it is easy to add more information at the bottom of the\ntable without having to re-run\n[`collect_stats`](https://ionmihai.github.io/estout/core.html#collect_stats).\n\n``` python\ndf = estout.to_df(allmodels)\ndf.loc['Fixed effects',:] = ['No','No','Entity']\ndf\n```\n\n<div>\n\n|               |        | 0          | 1          | 2          |\n|---------------|--------|------------|------------|------------|\n| cons          | params | 0.51\\*\\*\\* | 0.70\\*\\*\\* | 0.73\\*\\*\\* |\n|               | tstats | (3.91)     | (21.48)    | (167.36)   |\n| x             | params | 0.35       | 0.57\\*\\*   | 0.64\\*     |\n|               | tstats | (1.29)     | (2.85)     | (2.26)     |\n| z             | params |            | -0.64\\*\\*  | -0.77\\*\\*  |\n|               | tstats |            | (-3.55)    | (-2.91)    |\n| r2            |        | 0.193      | 0.487      | 0.352      |\n| nobs          |        | 9          | 9          | 9          |\n| Fixed effects |        | No         | No         | Entity     |\n\n</div>\n\n### Exporting to LaTex\n\nWith the `estout.to_tex` function, we can combine one or more DataFrames\ninto a single LaTex table (each DataFrame will be a separate panel in\nthe LaTex table).\n\nIn the example below, we just return the tex code as a string, but the\nfunction also takes an `outfile` parameter that allows us to store the\noutput in a `.tex` file. Either the file path or the string can be used\nin the `estout.to_pdf` function to create a PDF out of this tex code.\n\n``` python\ntbl = estout.to_tex([df,df], panel_title=['Panel A: Some title', 'Panel B: Some title'], \n               col_groups=[{'Group1':[1,2]}]*2,\n               col_names=[['Model 1', 'Model 2', 'Model 3']]*2,\n               hlines=[[0,1,4,13], [1,4,13]] )\nprint(tbl)\n```\n\n    \\newpage \n     \\clearpage \n     \\begin{table}[!h] \\footnotesize \n    \\addtocounter{table}{0} \n    \\caption{\\textbf{Table title}} \n    \\par {Table description} \n\n     \\vspace{2mm} \n\n     \\begin{tabular*}{\\textwidth}{@{\\extracolsep{\\fill}}l*{3}{c}} \n     \\hline \\noalign{\\smallskip} \n    \\multicolumn{4}{@{} l}{Panel A: Some title} \\\\ \n     \\hline \\noalign{\\smallskip} \n    & \\multicolumn{2}{c}{Group1}  \\\\ \n    \\cline{2-3}  \n     & Model 1 & Model 2 & Model 3 \\\\ \n     \\hline \\noalign{\\smallskip} \n    cons & 0.51*** & 0.70*** & 0.73*** \\\\ \n     & (3.91) & (21.48) & (167.36) \\\\ \n    x & 0.35 & 0.57** & 0.64* \\\\ \n     & (1.29) & (2.85) & (2.26) \\\\ \n    z &  & -0.64** & -0.77** \\\\ \n     &  & (-3.55) & (-2.91) \\\\ \n    r2 & 0.193 & 0.487 & 0.352 \\\\ \n    nobs & 9 & 9 & 9 \\\\ \n    Fixed effects & No & No & Entity \\\\ \n     \\hline \\noalign{\\smallskip} \n    \\end{tabular*}\n     \\smallskip \n    \\begin{tabular*}{\\textwidth}{@{\\extracolsep{\\fill}}l*{3}{c}} \n    \\multicolumn{4}{@{} l}{Panel B: Some title} \\\\ \n     \\hline \\noalign{\\smallskip} \n    & \\multicolumn{2}{c}{Group1}  \\\\ \n    \\cline{2-3}  \n     & Model 1 & Model 2 & Model 3 \\\\ \n     \\hline \\noalign{\\smallskip} \n    cons & 0.51*** & 0.70*** & 0.73*** \\\\ \n     & (3.91) & (21.48) & (167.36) \\\\ \n    x & 0.35 & 0.57** & 0.64* \\\\ \n     & (1.29) & (2.85) & (2.26) \\\\ \n    z &  & -0.64** & -0.77** \\\\ \n     &  & (-3.55) & (-2.91) \\\\ \n    r2 & 0.193 & 0.487 & 0.352 \\\\ \n    nobs & 9 & 9 & 9 \\\\ \n    Fixed effects & No & No & Entity \\\\ \n     \\hline \\noalign{\\smallskip} \n    \\end{tabular*} \n    \\label{} \n     \\end{table} \n\n### Exporting to PDF\n\nWith the `estout.to_pdf` function, we can combine the LaTex code for\nmultiple tables (like the ones produced by `estout.to_tex`) into a\nsingle .tex document.\n\nBy default, the resulting .tex file is run through TexLive\u2019s `pdflatex`\nutility to produce a PDF document with the tables (set `make_pdf`=False\nif you do not want the PDF to be automatically produced).\n\nYou can also set `open_pdf` to True if you want the resulting pdf to be\nopened after it is produced.\n\nFor the code below to work, you need to have `TexLive` installed (and\nchange the path below to a valid path on your system).\n\n``` python\nestout.to_pdf(outfile='../_outputs/paper.tex', \n              table_tex_code=[tbl, tbl],\n              make_pdf=True,\n              open_pdf=False)\n```\n\n    PDF creation successful!\n\nThis produced a PDF with two tables (given by the `tbl` tex string),\neach with two panels (given by the `df` DataFrame above).\n\nNote that the `table_tex_code` parameter also accepts paths to tex\nfiles. Those tex files must have the complete table environment for that\ntable (i.e.\u00a0from\n).\n",
    "bugtrack_url": null,
    "license": "Apache Software License 2.0",
    "summary": "Collect regression results and export them to LaTex and pdf",
    "version": "0.0.2",
    "project_urls": {
        "Homepage": "https://github.com/ionmihai/estout"
    },
    "split_keywords": [
        "nbdev",
        "jupyter",
        "notebook",
        "python"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4a8891149a0c5f8f65a6cd042cb4cac38cc79d9c16cf6f62c8002c6aee552c5f",
                "md5": "722de32b6c69a752a99662d284c3ac3b",
                "sha256": "fd6955890d9f255906a87433f18231f3bdce949c3175e14fd84663439ffb83d4"
            },
            "downloads": -1,
            "filename": "estout-0.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "722de32b6c69a752a99662d284c3ac3b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 16866,
            "upload_time": "2023-06-23T16:38:45",
            "upload_time_iso_8601": "2023-06-23T16:38:45.960939Z",
            "url": "https://files.pythonhosted.org/packages/4a/88/91149a0c5f8f65a6cd042cb4cac38cc79d9c16cf6f62c8002c6aee552c5f/estout-0.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bcc08d329d33390bc0c028c0cddf39a246a0a506c73c400569b980c4ac1088a9",
                "md5": "cd6dff4a8f20201c361bba2a6261556e",
                "sha256": "faafb4b3ee0dca4d1283b12a7eea3f6e09ef1596ae553f7f43b9a893b66f853c"
            },
            "downloads": -1,
            "filename": "estout-0.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "cd6dff4a8f20201c361bba2a6261556e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 32742,
            "upload_time": "2023-06-23T16:38:48",
            "upload_time_iso_8601": "2023-06-23T16:38:48.169560Z",
            "url": "https://files.pythonhosted.org/packages/bc/c0/8d329d33390bc0c028c0cddf39a246a0a506c73c400569b980c4ac1088a9/estout-0.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-23 16:38:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ionmihai",
    "github_project": "estout",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "estout"
}
        
Elapsed time: 0.12466s