-
-
Notifications
You must be signed in to change notification settings - Fork 5k
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
Add Biogeme #26374
Conversation
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
recipes/biogeme/meta.yaml
Outdated
- scipy >=1.7.3 | ||
- tqdm >=4.64.1 | ||
- tomlkit >=0.11.5 | ||
- cythonbiogeme ==1.0.2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not present on conda forge, afaik. You should include a recipe for it in this PR also.
recipes/biogeme/meta.yaml
Outdated
home: http://biogeme.epfl.ch | ||
summary: Estimation and application of discrete choice models | ||
license: MIT | ||
license_family: MIT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This license does not seem to be MIT: https://github.com/michelbierlaire/biogeme/blob/master/LICENSE
It seems to be a modification of the MIT license. I'm not sure we can actually distribute this package, given the license.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MIT license:
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
License found in biogeme:
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove license
and license_family
since this is not the MIT license.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs to be license: Custom
, same as I did in cythonbiogeme.
Hi! This is the friendly automated conda-forge-linting service. I wanted to let you know that I linted all conda-recipes in your PR ( Here's what I've got... For recipes/biogeme:
For recipes/biogeme-optimization:
For recipes/cythonbiogeme:
|
Hi! This is the friendly automated conda-forge-linting service. I wanted to let you know that I linted all conda-recipes in your PR ( Here's what I've got... For recipes/biogeme:
For recipes/cythonbiogeme:
|
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
recipes/cythonbiogeme/meta.yaml
Outdated
sha256: f139342944c849b47ce5aaa548e68aa179c195de93ab76be78353f4309684d0e | ||
|
||
build: | ||
number: 3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Build number should start at 0.
summary: Various optimization algorithms for teaching and research | ||
license: MIT | ||
license_family: MIT | ||
license_file: LICENSE.txt |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the error from the linux build:
ValueError: License file given in about/license_file (/home/conda/staged-recipes-copy/recipes/biogeme-optimization/LICENSE.txt) does not exist in source root dir or in recipe root dir (with meta.yaml)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no license file in the source tarball for this package. In fact, there is no evidence of a license in the repo at all: https://github.com/michelbierlaire/optimization
If there is no license at all, I don't think we can add this to conda forge because no permission to redistribute is given. Maybe you can open an issue on the author's repository and ask if he will grant permission or add an OSS license to the repository.
cythonbiogeme osx failure:
|
recipes/cythonbiogeme/meta.yaml
Outdated
summary: C++ part of the Biogeme package | ||
license: MIT | ||
license_family: MIT | ||
license_file: LICENSE.txt |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Windows build error:
ValueError: License file given in about/license_file (D:\a\1\s\recipes\cythonbiogeme\LICENSE.txt) does not exist in source root dir or in recipe root dir (with meta.yaml)
recipes/cythonbiogeme/meta.yaml
Outdated
summary: C++ part of the Biogeme package | ||
license: MIT | ||
license_family: MIT | ||
license_file: LICENSE.txt |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
license_file: LICENSE.txt | |
license_file: LICENSE |
recipes/cythonbiogeme/meta.yaml
Outdated
|
||
build: | ||
number: 3 | ||
script: /bin/rm -f pyproject.toml && {{ PYTHON }} -m pip install . -vv # [unix] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
script: /bin/rm -f pyproject.toml && {{ PYTHON }} -m pip install . -vv # [unix] | |
script: {{ PYTHON }} -m pip install . -vv |
Should be able to keep pyproject.toml and this should run on windows too (at least to start to see if we need a special script.
recipes/cythonbiogeme/meta.yaml
Outdated
build: | ||
number: 3 | ||
script: /bin/rm -f pyproject.toml && {{ PYTHON }} -m pip install . -vv # [unix] | ||
skip: true # [python_impl == 'pypy'] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove this line, we'll see if it runs on pypy later.
recipes/cythonbiogeme/meta.yaml
Outdated
- pip | ||
run: | ||
- python | ||
- cython >=0.29.16 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't need this a run dependency, remove.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nevermind I see it in the setup.cfg:
install_requires =
cython >= 0.29.16
pandas >= 1.3.5
Does the package compile things at run time?
cythonbiogeme builds for me locally on linux with the suggested changes I made above. |
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( I do have some suggestions for making it better though... For recipes/biogeme/meta.yaml:
Documentation on acceptable licenses can be found here. For recipes/biogeme-optimization/meta.yaml:
Documentation on acceptable licenses can be found here. |
recipes/biogeme/meta.yaml
Outdated
- python-levenshtein >=0.25.1 | ||
- fuzzywuzzy >=0.18.0 | ||
- cythonbiogeme ==1.0.4 | ||
- biogeme_optimization ==0.0.10 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- biogeme_optimization ==0.0.10 | |
- biogeme-optimization ==0.0.10 |
@moorepants Finally!! It seems that there no issues now! |
Wonderful!! |
@conda-forge/help-python-c This is ready for review. The license is a custom license that does not have an SPDX identifier. The author gave consent to package for conda forge in #27157. I used "Custom" as the license name and the license is packaged. We are hoping to get this included in our annual software deployment at my university before classes start Sept 1, so if this can be merged soon, that would be much appreciated. I can iterate in the feedstock if there are any other issues. @mwcraig I would like your assistance as you were involved in cythonbiogeme (a dependency of biogeme) Thank you! |
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( I do have some suggestions for making it better though... For recipes/biogeme/meta.yaml:
Documentation on acceptable licenses can be found here. For recipes/biogeme-optimization/meta.yaml:
Documentation on acceptable licenses can be found here. |
@moorepants |
Yes. |
about: | ||
home: http://biogeme.epfl.ch | ||
summary: Various optimization algorithms for teaching and research | ||
license: Custom |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please make it SPDX
license: Custom | |
license: LicenseRef-BIOGEME |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The license has been updated, in line with the naming convention. Pls review
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( I do have some suggestions for making it better though... For recipes/biogeme/meta.yaml:
Documentation on acceptable licenses can be found here. For recipes/biogeme-optimization/meta.yaml:
|
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( I do have some suggestions for making it better though... For recipes/biogeme-optimization/meta.yaml:
|
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
@xhochy it seems all remaining issues have been addressed. Please review to code to merge the PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is almost ready to go -- just a couple version restrictions to fix, and ideally you would add the dev_url to each recipe.
The versions are important to get right to make sure the user doesn't end up with an unsupported combination (e.g. numpy 1.26)
- pip | ||
run: | ||
- python >=3.7 | ||
- numpy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- numpy | |
- numpy >=2 |
There is a version restriction in the biogeme-optimization dependencies: https://github.com/michelbierlaire/optimization/blob/main/pyproject.toml#L28
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, sure.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thx!
home: http://biogeme.epfl.ch | ||
summary: Various optimization algorithms for teaching and research | ||
license: LicenseRef-BIOGEME-OPTIMIZATION | ||
license_file: LICENSE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
There was a problem hiding this comment.
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
- cythonbiogeme ==1.0.4 | ||
- biogeme-optimization ==0.0.10 | ||
- Jinja2 >=3.1.4 | ||
- ipython |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- ipython | |
- ipython >=8.25.0 |
Please include the version restriction
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
home: http://biogeme.epfl.ch | ||
summary: Estimation and application of discrete choice models | ||
license: LicenseRef-BIOGEME | ||
license_file: LICENSE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
There was a problem hiding this comment.
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
I wasn't able to add @moorepants as a maintainer, so I'll merge this and he can be added in the feedstock repos. Thanks everyone for wrapping this one up. |
Thanks! |
Exciting to see this merged! And just in time for the new academic year. Thanks for everyone’s efforts! |
Checklist
url
) rather than a repo (e.g.git_url
) is used in your recipe (see here for more details).