oast
This package provides our awesome spectral toolbox for performing analysis of hyperspectral data.
Development
Setup
In the cloned git repository, create your virtual environment:
python3 -m venv .venv
source .venv/bin/activate # or .venv/bin/activate.fish, or whatever
and install this package in "editable" mode:
pip install --editable .
If you get an error like ERROR: File "setup.py" not found.
, then upgrade pip (pip install --upgrade pip
) and retry.
Now, you can run the console scripts and such, with all the necessary dependencies, but the local code is still being run directly, so any changes made are immediately reflected.
Building and releasing for PyPI
With build
installed (pip install --upgrade build
), you can then run:
python3 -m build
You now have your distribution ready (e.g. a tar.gz file and a .whl file in the dist directory), which you can upload to PyPI! With twine
installed (pipx install twine
), upload the distribution with:
twine upload dist/*
Releasing for conda
This package is distributed for conda through the conda-forge
channel. When a new version is released on PyPI, that new version should also be released on conda-forge.
It is highly likely that a bot will notice the new PyPI version and create and auto-merge a pull request on https://github.com/conda-forge/oast-feedstock automatically. If such a pull request doesn't arrive, update the feedstock manually as follows.
Clone your fork of the conda feedstock (https://github.com/conda-forge/oast-feedstock) and update the recipe/meta.yaml
file to reflect the new PyPI release. If you have grayskull
installed (pipx install grayskull
), you can generate a recipe that has the new PyPI release information with
grayskull pypi --strict-conda-forge oast
and manually copy over the version, sha256, etc to the recipe/meta.yaml
file in the feedstock repository. Don't blindly copy over the whole file.
Commit and push the recipe change and open a pull request to https://github.com/conda-forge/oast-feedstock. On the pull request, comment "@conda-forge-admin please rerender" to rerender it. Once the pull request is merged, conda-forge should build and publish the new version.