-
Notifications
You must be signed in to change notification settings - Fork 11
Conda packaging #131
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
Conda packaging #131
Conversation
add blank line at the end of the file
Add blank line
conda/meta.yaml
Outdated
| {% set home = pyproject.get('project', {}).get('urls', {}).get('Homepage', '') %} | ||
| {% set build_deps = pyproject.get("build-system", {}).get("requires", []) %} | ||
| {% set deps = pyproject.get('project', {}).get('dependencies', []) %} | ||
| {% set conda_deps = pyproject.get('tool', {}).get('conda-environment', {}).get('dependencies',[]) %} |
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.
Here conda-dependencies are note set.
Perhaps adding them to pyproject.yaml
conda/meta.yaml
Outdated
| - pandas | ||
| - jsonschema | ||
| - pvlib-python | ||
| - openalea.mtg |
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.
need to move this to pyproject.toml
conda/meta.yaml
Outdated
| - pvlib-python | ||
| - openalea.mtg | ||
| - openalea.plantgl | ||
| - alinea.caribu |
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.
Replace alinea.caribu and alinea.astk by one new version.
But perhaps in another PR
pradal
left a comment
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.
You also may change the pyproject.toml for management of the version.
See the documentation (https://openalea.rtfd.io)
|
in pyproject.toml [tool.setuptools_scm]
# Format version to ease alignment with conda/meta.yaml tag-based versioning
fallback_version = "0.0.0.dev0"
version_scheme = "guess-next-dev"
local_scheme = "no-local-version" |
|
Thanks for the updates.
thanks again |
No problems ! For the |
pradal
left a comment
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.
Few comments but they are quite general and not specific to hydroshoot
| uses: openalea/github-action-conda-build/.github/workflows/conda-package-build.yml@main | ||
| uses: openalea/action-build-publish-anaconda/.github/workflows/openalea_ci.yml@main | ||
| secrets: | ||
| anaconda_token: ${{ secrets.ANACONDA_TOKEN }} |
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.
add end of line
| - setuptools | ||
| host: | ||
| - python | ||
| {% for dep in build_deps %} |
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.
need setuptools_scm
but other build_deps are not host, isn't it?
If so we need to change the doc and all the packages
| "Operating System :: OS Independent", | ||
| "Programming Language :: Python", | ||
| "Programming Language :: Python :: 3", | ||
| "Programming Language :: Python :: 3 :: Only", |
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.
We can also add "Framework :: OpenAlea"
pyproject.toml
Outdated
| # enable dynamic version based on git tags | ||
| [tool.setuptools_scm] | ||
| # Format version to ease alignment with conda/meta.yaml tag-based versioning | ||
| fallback_version = "0.0.0.dev0" |
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.
perhaps the latest version 5.2.2? Rather than 0.0.0
|
The bug on windows is just because alinea.caribu is too old : the caribu PR should be accecpted first (one maclatest is okay !) |
|
We need to move on for the release. |
|
@RamiALBASHA : a gentle reminder. |
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.
Thanks for this improvement @pradal , @AurelienBesnier.
I have some questions:
- Is it possible to make an editable installation using
pip? I installed the package usingmambaas indicated in theREADMEand the installation ran without any error. HydroShoot was then installed as a dependency in mymambaenv.
However, performingpip install -e .fails:
ERROR: Could not find a version that satisfies the requirement setuptools (from versions: none)
ERROR: No matching distribution found for setuptoolsHow can we now develop the package without an editable installation?
- how dependencies are handleded? the optional dependencies are not installed with
mamba, which is logic. However, if I cannot perform a manual installation (pip install .), how can I then usepyproject.toml? (same pblm as above) - Is the version now hard-coded in
pyproject.toml? Just to verify, since I'm not familiar yet withsetuptools_scm
|
Hi Rami!
But we do that on a mamba environment where the deps have been installed.
|
@pradal So should I extract the deps from
thanks, yes
The workflow obliges now to release a new tag each time the devs want to bump the version? (just to understand) |
|
We add an environment.yaml in conda (see https://github.com/openalea/hydroroot/blob/main/conda/environment.yml) So you can build the env with mamba env -f conda/environment.yaml |
|
@pradal PackagesNotFoundError: The following packages are not available from current channels:
- openalea.caribu
Current channels:
- https://conda.anaconda.org/conda-forge
- https://conda.anaconda.org/openalea3Should we merge this PR now and open an issue for editable installation, or wait until the compiled libraries are handled? |
|
Yes. Sure. You need to add -c openalea3/label/dev -c openalea/label/rc -c openalea3 -c conda-forge |
|
@pradal channels:
- conda-forge
- openalea3
- openalea3/label/dev
- openalea/label/rcbut hit a new problem:
|
|
Sure channels:
- openalea3/label/dev
- openalea/label/rc
- openalea3
- conda-forgeA package is first uploaded to dev when the branch is merge in the master or main branch . Otherelse, this is stange that there are conflicts. |
|
Hi @RamiALBASHA Just by running mamba env -f conda/environment.ymlEverything is installed and work. I suucced to run some examples. |
Just an update of the conda packaging with the new versioning system