Skip to content

Commit b6c39e3

Browse files
committed
Merge branch 'main' of github.com:scikit-learn-contrib/skglm into internalize-jit-compilation
2 parents 605bd79 + 1799819 commit b6c39e3

File tree

18 files changed

+192
-51
lines changed

18 files changed

+192
-51
lines changed

.circleci/config.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: 2
22
jobs:
33
build_docs:
44
docker:
5-
- image: circleci/python:3.8.1-buster
5+
- image: cimg/python:3.10
66
steps:
77
- checkout
88
- run:
@@ -32,6 +32,13 @@ jobs:
3232
keys:
3333
- pip-cache
3434

35+
# Install Xvfb and related dependencies
36+
- run:
37+
name: Install Xvfb and dependencies
38+
command: |
39+
sudo apt-get update
40+
sudo apt-get install -y xvfb
41+
3542
- run:
3643
name: Spin up Xvfb
3744
command: |

.github/pull_request_template.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ Any detail to be able to relate the PR changes
1515
### Checks before merging PR
1616

1717
- [ ] added documentation for any new feature
18-
- [ ] added unittests
19-
- [ ] edited the [what's new](../doc/changes/whats_new.rst)(if applicable)
18+
- [ ] added unit tests
19+
- [ ] edited the [what's new](../doc/changes/whats_new.rst) (if applicable)

.github/workflows/main.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,20 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- uses: actions/checkout@v3
16-
- name: Set up Python 3.8
16+
- name: Set up Python 3.10
1717
uses: actions/setup-python@v3
1818
with:
19-
python-version: 3.8
19+
python-version: "3.10"
2020
- name: Install package and testing tools
2121
run: |
2222
python -m pip install --upgrade pip
2323
pip install .
2424
pip install .[test]
2525
- name: Install other dependencies
2626
run: |
27-
pip install celer
27+
conda install rpy2 -c conda-forge
2828
pip install statsmodels cvxopt
29-
pip install git+https://github.com/jolars/pyslope.git
29+
pip install sortedl1
3030
# for testing Cox estimator
3131
pip install lifelines
3232
pip install pandas

README.md

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
<img src="doc/_static/images/logo.svg" alt="skglm logo" width="34%" align="center"/>
44

5+
56
## A fast ⚡ and modular ⚒️ scikit-learn replacement for sparse GLMs
67

78
![build](https://github.com/scikit-learn-contrib/skglm/workflows/pytest/badge.svg)
@@ -19,6 +20,24 @@ You get to choose from ``skglm``'s already-made estimators or **customize your o
1920

2021
Excited to have a tour on ``skglm`` [documentation](https://contrib.scikit-learn.org/skglm/)?
2122

23+
# Cite
24+
25+
``skglm`` is the result of perseverant research. It is licensed under [BSD 3-Clause](https://github.com/scikit-learn-contrib/skglm/blob/main/LICENSE). You are free to use it and if you do so, please cite
26+
27+
```bibtex
28+
@inproceedings{skglm,
29+
title = {Beyond L1: Faster and better sparse models with skglm},
30+
author = {Q. Bertrand and Q. Klopfenstein and P.-A. Bannier and G. Gidel and M. Massias},
31+
booktitle = {NeurIPS},
32+
year = {2022},
33+
}
34+
35+
@article{moufad2023skglm,
36+
title={skglm: improving scikit-learn for regularized Generalized Linear Models},
37+
author={Moufad, Badr and Bannier, Pierre-Antoine and Bertrand, Quentin and Klopfenstein, Quentin and Massias, Mathurin},
38+
year={2023}
39+
}
40+
```
2241

2342
# Why ``skglm``?
2443

@@ -108,18 +127,7 @@ You can also take our tutorial to learn how to create your own datafit and penal
108127
- **pull request**: you may have fixed a bug, added a features, or even fixed a small typo in the documentation, ... you can submit a [pull request](https://github.com/scikit-learn-contrib/skglm/pulls) and we will reach out to you asap.
109128

110129

111-
# Cite
112130

113-
``skglm`` is the result of perseverant research. It is licensed under [BSD 3-Clause](https://github.com/scikit-learn-contrib/skglm/blob/main/LICENSE). You are free to use it and if you do so, please cite
114-
115-
```bibtex
116-
@inproceedings{skglm,
117-
title = {Beyond L1: Faster and better sparse models with skglm},
118-
author = {Q. Bertrand and Q. Klopfenstein and P.-A. Bannier and G. Gidel and M. Massias},
119-
booktitle = {NeurIPS},
120-
year = {2022},
121-
}
122-
```
123131

124132

125133
# Useful links

doc/api.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ Datafits
6868
Poisson
6969
Quadratic
7070
QuadraticGroup
71+
QuadraticHessian
7172
QuadraticSVC
7273
WeightedQuadratic
7374

@@ -102,4 +103,4 @@ Experimental
102103
PDCD_WS
103104
Pinball
104105
SqrtQuadratic
105-
SqrtLasso
106+
SqrtLasso

doc/changes/0.4.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
.. _changes_0_4:
22

3-
Version 0.4 (in progress)
3+
Version 0.4 (2023/04/08)
44
-------------------------
55
- Add :ref:`GroupLasso Estimator <skglm.GroupLasso>` (PR: :gh:`228`)
66
- Add support and tutorial for positive coefficients to :ref:`Group Lasso Penalty <skglm.penalties.WeightedGroupL2>` (PR: :gh:`221`)
77
- Check compatibility with datafit and penalty in solver (PR :gh:`137`)
88
- Add support to weight samples in the quadratic datafit :ref:`Weighted Quadratic Datafit <skglm.datafit.WeightedQuadratic>` (PR: :gh:`258`)
9-
9+
- Add support for ElasticNet regularization (`penalty="l1_plus_l2"`) to :ref:`SparseLogisticRegression <skglm.SparseLogisticRegression>` (PR: :gh:`244`)
1010

1111
Version 0.3.1 (2023/12/21)
1212
--------------------------

doc/changes/0.5.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.. _changes_0_5:
2+
3+
Version 0.5 (in progress)
4+
-------------------------

doc/changes/whats_new.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ What's new
55

66
.. currentmodule:: skglm
77

8+
.. include:: 0.5.rst
9+
810
.. include:: 0.4.rst
911

1012
.. include:: 0.3.rst

pyproject.toml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,16 @@ dependencies = [
2222
]
2323
dynamic = ["version"]
2424

25+
requires-python = ">=3.9"
26+
27+
classifiers = [
28+
"Programming Language :: Python :: 3 :: Only",
29+
"Programming Language :: Python :: 3.9",
30+
"Programming Language :: Python :: 3.10",
31+
"Programming Language :: Python :: 3.11",
32+
"Programming Language :: Python :: 3.12",
33+
"Programming Language :: Python :: 3.13",
34+
]
2535

2636
[tool.setuptools.dynamic]
2737
version = {attr = "skglm.__version__"}
@@ -38,6 +48,7 @@ test = [
3848
"flake8",
3949
"coverage",
4050
"numpydoc",
51+
"celer",
4152
]
4253

4354
doc = [
@@ -55,3 +66,7 @@ doc = [
5566
"furo",
5667
"lifelines",
5768
]
69+
70+
71+
[tool.setuptools]
72+
license-files = []

skglm/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = '0.4dev'
1+
__version__ = '0.5dev'
22

33
from skglm.estimators import ( # noqa F401
44
Lasso, WeightedLasso, ElasticNet, MCPRegression, MultiTaskLasso, LinearSVC,

0 commit comments

Comments
 (0)