crabbymetrics 0.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. crabbymetrics-0.3.0/.github/workflows/tests.yml +36 -0
  2. crabbymetrics-0.3.0/.github/workflows/wheels.yml +103 -0
  3. crabbymetrics-0.3.0/.gitignore +30 -0
  4. crabbymetrics-0.3.0/Cargo.lock +2389 -0
  5. crabbymetrics-0.3.0/Cargo.toml +24 -0
  6. crabbymetrics-0.3.0/PKG-INFO +5 -0
  7. crabbymetrics-0.3.0/README.md +49 -0
  8. crabbymetrics-0.3.0/commit_tag_release.sh +28 -0
  9. crabbymetrics-0.3.0/devlog.md +370 -0
  10. crabbymetrics-0.3.0/docs/.gitignore +1 -0
  11. crabbymetrics-0.3.0/docs/_quarto.yml +36 -0
  12. crabbymetrics-0.3.0/docs/api.html +5992 -0
  13. crabbymetrics-0.3.0/docs/api.qmd +463 -0
  14. crabbymetrics-0.3.0/docs/examples/elastic-net.html +5321 -0
  15. crabbymetrics-0.3.0/docs/examples/elastic-net.qmd +48 -0
  16. crabbymetrics-0.3.0/docs/examples/fixed-effects-ols.html +5363 -0
  17. crabbymetrics-0.3.0/docs/examples/fixed-effects-ols.qmd +84 -0
  18. crabbymetrics-0.3.0/docs/examples/ftrl.html +5318 -0
  19. crabbymetrics-0.3.0/docs/examples/ftrl.qmd +46 -0
  20. crabbymetrics-0.3.0/docs/examples/logit.html +5323 -0
  21. crabbymetrics-0.3.0/docs/examples/logit.qmd +51 -0
  22. crabbymetrics-0.3.0/docs/examples/mestimator-poisson.html +5484 -0
  23. crabbymetrics-0.3.0/docs/examples/mestimator-poisson.qmd +163 -0
  24. crabbymetrics-0.3.0/docs/examples/multinomial-logit.html +5340 -0
  25. crabbymetrics-0.3.0/docs/examples/multinomial-logit.qmd +64 -0
  26. crabbymetrics-0.3.0/docs/examples/ols.html +5321 -0
  27. crabbymetrics-0.3.0/docs/examples/ols.qmd +49 -0
  28. crabbymetrics-0.3.0/docs/examples/poisson.html +5323 -0
  29. crabbymetrics-0.3.0/docs/examples/poisson.qmd +51 -0
  30. crabbymetrics-0.3.0/docs/examples/twosls.html +5331 -0
  31. crabbymetrics-0.3.0/docs/examples/twosls.qmd +59 -0
  32. crabbymetrics-0.3.0/docs/index.html +5281 -0
  33. crabbymetrics-0.3.0/docs/index.qmd +38 -0
  34. crabbymetrics-0.3.0/docs/search.json +247 -0
  35. crabbymetrics-0.3.0/docs/site_libs/bootstrap/bootstrap-icons.css +2078 -0
  36. crabbymetrics-0.3.0/docs/site_libs/bootstrap/bootstrap-icons.woff +0 -0
  37. crabbymetrics-0.3.0/docs/site_libs/bootstrap/bootstrap.min.css +12 -0
  38. crabbymetrics-0.3.0/docs/site_libs/bootstrap/bootstrap.min.js +7 -0
  39. crabbymetrics-0.3.0/docs/site_libs/clipboard/clipboard.min.js +7 -0
  40. crabbymetrics-0.3.0/docs/site_libs/quarto-html/anchor.min.js +9 -0
  41. crabbymetrics-0.3.0/docs/site_libs/quarto-html/popper.min.js +6 -0
  42. crabbymetrics-0.3.0/docs/site_libs/quarto-html/quarto-syntax-highlighting.css +205 -0
  43. crabbymetrics-0.3.0/docs/site_libs/quarto-html/quarto.js +908 -0
  44. crabbymetrics-0.3.0/docs/site_libs/quarto-html/tippy.css +1 -0
  45. crabbymetrics-0.3.0/docs/site_libs/quarto-html/tippy.umd.min.js +2 -0
  46. crabbymetrics-0.3.0/docs/site_libs/quarto-nav/headroom.min.js +7 -0
  47. crabbymetrics-0.3.0/docs/site_libs/quarto-nav/quarto-nav.js +325 -0
  48. crabbymetrics-0.3.0/docs/site_libs/quarto-search/autocomplete.umd.js +3 -0
  49. crabbymetrics-0.3.0/docs/site_libs/quarto-search/fuse.min.js +9 -0
  50. crabbymetrics-0.3.0/docs/site_libs/quarto-search/quarto-search.js +1290 -0
  51. crabbymetrics-0.3.0/pyproject.toml +20 -0
  52. crabbymetrics-0.3.0/render_docs.sh +40 -0
  53. crabbymetrics-0.3.0/src/estimators/linear.rs +552 -0
  54. crabbymetrics-0.3.0/src/estimators/mle.rs +899 -0
  55. crabbymetrics-0.3.0/src/estimators/mod.rs +7 -0
  56. crabbymetrics-0.3.0/src/estimators/regularized.rs +284 -0
  57. crabbymetrics-0.3.0/src/lib.rs +21 -0
  58. crabbymetrics-0.3.0/src/utils.rs +238 -0
  59. crabbymetrics-0.3.0/tests/test_fixed_effects_ols.py +81 -0
  60. crabbymetrics-0.3.0/tests/test_linear_and_poisson.py +114 -0
@@ -0,0 +1,36 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - "**"
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ python: ["3.10", "3.12"]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - uses: actions/setup-python@v5
21
+ with:
22
+ python-version: ${{ matrix.python }}
23
+
24
+ - uses: dtolnay/rust-toolchain@stable
25
+
26
+ - name: Install test dependencies
27
+ run: python -m pip install --upgrade pip maturin pytest numpy
28
+
29
+ - name: Build wheel
30
+ run: maturin build --release --interpreter python
31
+
32
+ - name: Install built wheel
33
+ run: python -m pip install --force-reinstall target/wheels/*.whl
34
+
35
+ - name: Run tests
36
+ run: python -m pytest
@@ -0,0 +1,103 @@
1
+ name: Build wheels
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: write
11
+
12
+ jobs:
13
+ build:
14
+ runs-on: ${{ matrix.os }}
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ os: [ubuntu-latest, macos-latest]
19
+ python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
20
+
21
+ steps:
22
+ - uses: actions/checkout@v4
23
+ - uses: actions/setup-python@v5
24
+ with:
25
+ python-version: ${{ matrix.python }}
26
+
27
+ - name: Build wheels (Linux)
28
+ if: runner.os == 'Linux'
29
+ uses: PyO3/maturin-action@v1
30
+ with:
31
+ command: build
32
+ args: --release --out dist --interpreter python${{ matrix.python }}
33
+ manylinux: auto
34
+
35
+ - name: Build wheels (macOS)
36
+ if: runner.os == 'macOS'
37
+ uses: PyO3/maturin-action@v1
38
+ with:
39
+ command: build
40
+ args: --release --out dist
41
+
42
+ - name: Upload wheels
43
+ uses: actions/upload-artifact@v4
44
+ with:
45
+ name: wheels-${{ matrix.os }}-py${{ matrix.python }}
46
+ path: dist/*.whl
47
+
48
+ sdist:
49
+ runs-on: ubuntu-latest
50
+
51
+ steps:
52
+ - uses: actions/checkout@v4
53
+ - uses: actions/setup-python@v5
54
+ with:
55
+ python-version: "3.12"
56
+
57
+ - name: Build sdist
58
+ uses: PyO3/maturin-action@v1
59
+ with:
60
+ command: sdist
61
+ args: --out dist
62
+
63
+ - name: Upload sdist
64
+ uses: actions/upload-artifact@v4
65
+ with:
66
+ name: sdist
67
+ path: dist/*.tar.gz
68
+
69
+ publish-pypi:
70
+ if: startsWith(github.ref, 'refs/tags/')
71
+ needs: [build, sdist]
72
+ runs-on: ubuntu-latest
73
+ permissions:
74
+ id-token: write
75
+
76
+ steps:
77
+ - name: Download distributions
78
+ uses: actions/download-artifact@v4
79
+ with:
80
+ path: dist
81
+ merge-multiple: true
82
+
83
+ - name: Publish to PyPI
84
+ uses: pypa/gh-action-pypi-publish@release/v1
85
+ with:
86
+ packages-dir: dist/
87
+
88
+ release:
89
+ if: startsWith(github.ref, 'refs/tags/')
90
+ needs: [build, sdist]
91
+ runs-on: ubuntu-latest
92
+
93
+ steps:
94
+ - name: Download distributions
95
+ uses: actions/download-artifact@v4
96
+ with:
97
+ path: dist
98
+ merge-multiple: true
99
+
100
+ - name: Publish GitHub Release
101
+ uses: softprops/action-gh-release@v2
102
+ with:
103
+ files: dist/*
@@ -0,0 +1,30 @@
1
+ /target/
2
+ **/__pycache__/
3
+ *.pyc
4
+ *.pyo
5
+ *.pyd
6
+ *.so
7
+ *.dylib
8
+ *.dll
9
+ *.rlib
10
+ *.rmeta
11
+ *.a
12
+ *.o
13
+ *.obj
14
+ .DS_Store
15
+ Thumbs.db
16
+ .venv/
17
+ .venv*/
18
+ .env/
19
+ .envrc
20
+ .maturin/
21
+ *.egg-info/
22
+ .build/
23
+ /dist/
24
+ /wheelhouse/
25
+ *.whl
26
+ Cargo.lock
27
+ uv.lock
28
+ pyfixest
29
+ within
30
+ scratch.ipynb