Python ⇄ Julia bridge for the OptimalGIV package
Project description
optimalgiv
A minimal Python wrapper for OptimalGIV.jl, a Julia package developed by Zhiyu Fu for estimating Generalized Instrumental Variable (GIV) models.
This interface enables Python users to call GIV estimators directly on pandas DataFrames using JuliaCall. Julia is automatically installed and all dependencies are resolved without manual setup.
Installation
pip install optimalgiv
On first use, optimalgiv will automatically:
- Install Julia (if not already available)
- Install
OptimalGIV.jland supporting packages - Precompile and create a self-contained Julia environment
Quickstart
import pandas as pd
import numpy as np
from optimalgiv import giv
df = pd.DataFrame({
"id": np.repeat([1, 2], 5),
"t": list(range(1, 6)) * 2,
"q": np.random.randn(10),
"p": np.random.randn(10),
"η1": np.random.randn(10),
"η2": np.random.randn(10),
"absS": np.abs(np.random.randn(10)),
})
model = giv(
df,
"q + endog(p) ~ id & (η1 + η2)",
id="id", t="t", weight="absS",
algorithm="scalar_search",
guess={"Aggregate": 2.0}
)
print(model.coef)
print(model.coefficient_table())
Credits
This package wraps the core functionality of OptimalGIV.jl, authored by Zhiyu Fu.
All modeling logic and algorithms originate from her original Julia implementation.
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file optimalgiv-0.1.2.tar.gz.
File metadata
- Download URL: optimalgiv-0.1.2.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc308bee043995b97048b47b71766d2907748cb83c06a6ff1488700710ffdde6
|
|
| MD5 |
1fac4fdd60f8368df889432f617d14a7
|
|
| BLAKE2b-256 |
3b85d2cf9a4ae7956d0307f438dbef0d45d17d7398dfe752176f007b9054a6d2
|
File details
Details for the file optimalgiv-0.1.2-py3-none-any.whl.
File metadata
- Download URL: optimalgiv-0.1.2-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4072d2eacb3468420cda1650466f058ceb07ef4d22210576cc9f65ef3db96d32
|
|
| MD5 |
b6ec37d468c4f35b3150bc01386ce3db
|
|
| BLAKE2b-256 |
e9832b4ab8537dc9257fe0df02945b72ada348875071a4857621d9fb053a4e4b
|