Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Biogeme #26374

Merged
merged 94 commits into from
Aug 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
a6618e0
biogeme for conda-forge
FGarridoV May 16, 2024
63659a1
biogeme for conda-forge
FGarridoV May 16, 2024
de7f8c3
Merge branch 'conda-forge:main' into biogeme
FGarridoV May 21, 2024
42135ff
updated cythonbiogeme
FGarridoV May 21, 2024
28e80ac
updated cythonbiogeme v2
FGarridoV May 21, 2024
f780af2
new test
FGarridoV May 21, 2024
677dd86
Merge branch 'conda-forge:main' into biogeme
FGarridoV May 21, 2024
beb61a0
biogeme v3
FGarridoV May 21, 2024
4e0d84f
Merge branch 'biogeme' of https://github.com/TUD-CityAI-Lab/staged-re…
FGarridoV May 21, 2024
f157eb3
tester v3
FGarridoV May 21, 2024
1d415c4
Update meta.yaml
FGarridoV May 21, 2024
a2a77a1
Update meta.yaml
FGarridoV May 21, 2024
77bed29
Update meta.yaml
FGarridoV May 21, 2024
5966602
Update recipes/biogeme/meta.yaml
FGarridoV May 23, 2024
b361fa3
Merge branch 'conda-forge:main' into biogeme
FGarridoV May 23, 2024
0c9193c
changes proposed by jason
FGarridoV May 23, 2024
548702c
minor change
FGarridoV May 23, 2024
572126e
Merge branch 'conda-forge:main' into biogeme
FGarridoV May 29, 2024
940b49f
Adding a pathc for cythonbiogeme
FGarridoV May 29, 2024
cc80118
Adding a pathc for cythonbiogeme v2
FGarridoV May 29, 2024
2648622
Adding a patch for cythonbiogeme v2
FGarridoV May 29, 2024
089c7ef
Adding a patch for cythonbiogeme for win and matching to 0.0.6
FGarridoV May 29, 2024
6e4b391
Adding a patch for cythonbiogeme for win and matching to 0.0.6
FGarridoV May 29, 2024
fc0bd68
Merge branch 'conda-forge:main' into biogeme
FGarridoV Jun 12, 2024
dce48f7
updated patches
FGarridoV Jun 12, 2024
e66ddff
Updated optimization to 0.0.5 and reverted patch modification
FGarridoV Jun 12, 2024
2b807c2
Modification of version format
FGarridoV Jun 12, 2024
29dc69d
updated with the second patch
FGarridoV Jun 12, 2024
3c3c422
updated patch
FGarridoV Jun 12, 2024
c69bc86
Reverted patch modification
FGarridoV Jun 12, 2024
86cb324
Jason patches (original ones)
FGarridoV Jun 12, 2024
d2271c5
Updated url of tar for biogeme_optimization
FGarridoV Jun 12, 2024
5c6a480
Merge branch 'conda-forge:main' into biogeme
FGarridoV Jun 13, 2024
9b30c8a
Adding python 3.12 skip to all recipes
FGarridoV Jun 13, 2024
394a262
Adding the mingw c compiler
FGarridoV Jun 13, 2024
8e9a1cb
Updating the patch with no static flags
FGarridoV Jun 13, 2024
8cce67b
removing noarch: python line in build sections
FGarridoV Jun 13, 2024
98657c0
Reverting deletion of norach and moving the skip to the top
FGarridoV Jun 13, 2024
bd3de4b
Removing again the "noarch: python" line in build and removing python…
FGarridoV Jun 13, 2024
64b8696
Removing some flags that mentioned to be static
FGarridoV Jun 13, 2024
e6cbaa7
Reverting the skip 312 for biogeme and opti
FGarridoV Jun 13, 2024
1c1032b
trying new patch version
FGarridoV Jun 13, 2024
f47670a
Other try with the patch
FGarridoV Jun 13, 2024
e41b3f1
Trying another patch
FGarridoV Jun 13, 2024
1394102
Reset patch to original
FGarridoV Jun 13, 2024
090e402
Updating the compilers
FGarridoV Jun 13, 2024
c7e4787
New patch created with diff.
FGarridoV Jun 13, 2024
206caa3
updated compilers
FGarridoV Jun 13, 2024
c5ccae3
another try of setup patch
FGarridoV Jun 13, 2024
b7ee6f5
another try
FGarridoV Jun 13, 2024
98e8d96
New yaml and patch
FGarridoV Jun 14, 2024
3fb7332
new yaml
FGarridoV Jun 14, 2024
a5b888c
new patch for mingw compilation
FGarridoV Jun 14, 2024
83712c4
Merge branch 'conda-forge:main' into biogeme
FGarridoV Jun 27, 2024
930d5a6
Adding native definition
FGarridoV Jun 27, 2024
aad5714
updated
FGarridoV Jun 28, 2024
a12b934
next try
FGarridoV Jun 28, 2024
a8c050d
try
FGarridoV Jul 1, 2024
7da5d80
new patch
FGarridoV Jul 1, 2024
ddaecfd
testing a new patch
FGarridoV Jul 1, 2024
e40658f
changes on the patch
FGarridoV Jul 3, 2024
3b12f1a
updated patch
FGarridoV Jul 3, 2024
1bdcc45
Merge branch 'conda-forge:main' into biogeme
FGarridoV Jul 21, 2024
7363907
Updated recipe for 1.0.3
Jul 21, 2024
7e2b86a
updated ref
Jul 21, 2024
1ff3d86
updated sha256
Jul 21, 2024
00f2d1a
commented prevous patch
Jul 21, 2024
dd4e360
python version
Jul 21, 2024
52c4645
Merge branch 'conda-forge:main' into biogeme
FGarridoV Aug 6, 2024
7f5b941
removing cythonbiogeme
FGarridoV Aug 6, 2024
d8ac7bf
updating biogeme
FGarridoV Aug 6, 2024
b634c68
going back 1 version
FGarridoV Aug 6, 2024
e4f2982
minor space bug
FGarridoV Aug 6, 2024
dbfad1f
Adding License filename
FGarridoV Aug 6, 2024
191fb5c
Removing License file from optimization as there is not in the tarball
FGarridoV Aug 6, 2024
4bdbe13
changing dependency version
FGarridoV Aug 6, 2024
04f8568
to new versions
FGarridoV Aug 6, 2024
a66ed8f
tomlkit version
FGarridoV Aug 6, 2024
90eef21
version cython
FGarridoV Aug 6, 2024
0dbc13e
Added license for opti
FGarridoV Aug 6, 2024
c70e74a
updated metas files with new dependencies
FGarridoV Aug 6, 2024
6227321
removing numpy
FGarridoV Aug 6, 2024
0e26491
updated versions
FGarridoV Aug 7, 2024
29a7ba9
typo
FGarridoV Aug 16, 2024
8c45729
Adding ipython
FGarridoV Aug 16, 2024
edbd25b
Merge branch 'main' into biogeme
sandervancranenburgh Aug 23, 2024
f7964d4
Update license meta.yaml --> LicenseRef-BIOGEME
sandervancranenburgh Aug 30, 2024
a759d95
Merge branch 'main' into biogeme
sandervancranenburgh Aug 30, 2024
ca058c5
Merge branch 'main' into biogeme
sandervancranenburgh Aug 30, 2024
ba9e2a2
Update meta.yaml license --> LicenseRef-BIOGEME-OPTIMIZATION
sandervancranenburgh Aug 30, 2024
0ee164b
Update meta.yaml license: --> LicenseRef-BIOGEME
sandervancranenburgh Aug 30, 2024
bd12db2
Update meta.yaml Adding setuptools to host requirements
sandervancranenburgh Aug 30, 2024
50c8984
Update meta.yaml add dev_url
sandervancranenburgh Aug 30, 2024
0306cc3
Update meta.yaml add dev_url
sandervancranenburgh Aug 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions recipes/biogeme-optimization/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
BIOGEME is distributed free of charge. We ask each user to register to
Biogeme's users group, and to mention explicitly the use of the
package when publishing results, using the following reference:

For BisonBiogeme: Bierlaire, M. (2003). BIOGEME: A free package for
the estimation of discrete choice models , Proceedings of the 3rd
Swiss Transportation Research Conference, Ascona, Switzerland.

For PythonBiogeme: Bierlaire, M. (2016) PythonBiogeme: a short
introduction. Report TRANSP-OR 160706 ,Series on Biogeme. Transport
and Mobility Laboratory, School of Architecture, Civil and
Environmental Engineering, Ecole Polytechnique Fédérale de Lausanne,
Switzerland.

Disclaimer: This software is provided free of charge and "AS IS"
WITHOUT ANY WARRANTY of any kind. The implied warranties of
merchantability, fitness for a particular purpose and non-infringment
are expressly disclaimed. In no event will the author (Michel
Bierlaire) or his employer (EPFL) be liable to any party for any
direct, indirect, special or other consequential damages for any use
of the code including, without limitation, any lost profits, business
interruption, loss of programs or other data on your information
handling system or otherwise, even if we are expressly advised of the
possibility of such damages.
46 changes: 46 additions & 0 deletions recipes/biogeme-optimization/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{% set name = "biogeme-optimization" %}
{% set version = "0.0.10" %}

package:
name: {{ name|lower }}
version: {{ version }}

source:
url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/biogeme_optimization-{{ version }}.tar.gz
sha256: a4e964d034208eb762217556112369d9f8f7dfeabe603a2dde360bca50031fca

build:
noarch: python
script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation
number: 0

requirements:
host:
- python >=3.7
- setuptools >=63.4.1
- pip
mwcraig marked this conversation as resolved.
Show resolved Hide resolved
run:
- python >=3.7
- numpy
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- numpy
- numpy >=2

There is a version restriction in the biogeme-optimization dependencies: https://github.com/michelbierlaire/optimization/blob/main/pyproject.toml#L28

Copy link
Contributor

@moorepants moorepants Aug 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The author of biogeme compiled cythonbiogeme against numpy 2, so it should be fine with numpy 1. We really need to be able to install this with numpy 1 and that is why I recommended not following upstream. I've opened an issue upstream to see if the author will correct this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will help manage this in the feedstock repo and if we really have to add a restriction to numpy 2 we will, but there should be no issues with this and if someone reports something on the feedstock I can give my word to help resolve it. Can that possibly be sufficient? I maintain many feedstocks and haven't had any past issues with similar decisions when upstream authors are a bit to heavy with the pins.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, ok, thanks for the explanation.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also @moorepants should I add you as a maintainer on this?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, sure.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, and you have no objection to adding the dev_url, I assume? If not, then I'll wait a couple hours for @FGarridoV to chime, then push the necessary changes and merge. That way you can both start testing and tuning as needed. I know you have an imminent deadline.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thx!

- scipy >=1.14.0
- matplotlib-base >=3.9.0
- tomlkit >=0.12.5

test:
imports:
- biogeme_optimization
commands:
- pip check
requires:
- pip

about:
home: http://biogeme.epfl.ch
summary: Various optimization algorithms for teaching and research
license: LicenseRef-BIOGEME-OPTIMIZATION
license_file: LICENSE
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
license_file: LICENSE
license_file: LICENSE
dev_url: https://github.com/michelbierlaire/optimization

This one took a little while to find 😀, so listing it explicitly would be helpful.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added this dev_url

dev_url: https://github.com/michelbierlaire/optimization

FGarridoV marked this conversation as resolved.
Show resolved Hide resolved
extra:
recipe-maintainers:
- FGarridoV
54 changes: 54 additions & 0 deletions recipes/biogeme/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{% set name = "biogeme" %}
{% set version = "3.2.14" %}

package:
name: {{ name|lower }}
version: {{ version }}

source:
url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/biogeme-{{ version }}.tar.gz
sha256: fe1169e09fcebe6c100e3c887c015301cba1e6abcd0f546eaf6e949104d52847

build:
noarch: python
script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation
number: 0

requirements:
host:
- python >=3.7
- setuptools >=63.4.1
- wheel
- pip
run:
- python >=3.7
- scipy >=1.14.0
- matplotlib-base >=3.9.0
- pandas >=2.2.2
- tqdm >=4.66.4
- tomlkit >=0.12.5
- python-levenshtein >=0.25.1
- fuzzywuzzy >=0.18.0
- cythonbiogeme ==1.0.4
- biogeme-optimization ==0.0.10
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are the dependencies that are found in the pyproject.toml file in biogeme 3.12.4:

    "pandas>=2.2.2, <3",
    "scipy>=1.14.0, <2",
    "tqdm>=4.66.4",
    "tomlkit>=0.12.5",
    "python-levenshtein>=0.25.1",
    "fuzzywuzzy>=0.18.0",
    "cythonbiogeme==1.0.4",
    "biogeme_optimization==0.0.10",
    "matplotlib>=3.9.0, <4",
    "numpy>=2.0.0, <3",
    "ipython>=8.25.0",
    "Jinja2>=3.1.4"

All will need to be included here.

- Jinja2 >=3.1.4
- ipython
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- ipython
- ipython >=8.25.0

Please include the version restriction

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ipython isn't even really a dependency, it is never imported in the modules. I think this is also a mistake from the upstream author.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one seems harmless to include now, and it can always be removed later.


test:
imports:
- biogeme
commands:
- pip check
requires:
- pip

about:
home: http://biogeme.epfl.ch
summary: Estimation and application of discrete choice models
license: LicenseRef-BIOGEME
license_file: LICENSE
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
license_file: LICENSE
license_file: LICENSE
dev_url: https://github.com/michelbierlaire/biogeme

The dev URL is really handy for checking for dependency changes when the conda-forge bot opens pull requests for new versions.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added this dev_url

dev_url: https://github.com/michelbierlaire/biogeme

extra:
recipe-maintainers:
- FGarridoV