Skip to content

Commit

Permalink
Merge pull request #399 from GispoCoding/396-prepare-10-release
Browse files Browse the repository at this point in the history
Prepare 1.0.0 release
  • Loading branch information
nmaarnio committed May 27, 2024
2 parents b06c6dd + fe9d9fe commit 9b68c89
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 26 deletions.
26 changes: 13 additions & 13 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,18 +43,17 @@ Note that the subpackages can split up into more subpackages if needed.

Module names come from the names of the .py files containing function
declarations. You will need to create a new python file for each functionality.
The name of the file containing the function declaration(s) for providing the
functionality will be essentially the same as the function’s name but instead
of the basic form use –ing form if it makes sense.
Name the modules in a brief, descriptive manner.

- Try to create modules in a way that each module contains only one
- For common cases, try to create modules in a way that each module contains only one
functionality. Split this functionality into two function
declarations: one for external use and one (the core functionality)
for internal use. See e.g. implementation of [clipping
functionality](./eis_toolkit/raster_processing/clipping.py) for
reference.
reference. In some cases it can make sense to include multiple tools in one module,
so the one/two functions per module is not absolute.

1. Functions
3. Functions

Name each function according to what it is supposed to do. Try to
express the purpose as simplistic as possible. In principle, each
Expand Down Expand Up @@ -92,9 +91,8 @@ maintainability and to avoid bugs.

For creating docstrings, we rely on google convention (see section 3.8
in [link](https://google.github.io/styleguide/pyguide.html) for more
detailed instructions). Let's try to minimize the amount of code
comments. Well defined docstrings should do most of the job with clear
code structure.
detailed instructions). Well defined docstrings should do most of the job with clear
code structure, but code comments can be used (sparingly) too.

## Naming policy

Expand Down Expand Up @@ -232,9 +230,7 @@ including the same package, which was added to `pyproject.toml`, in
`environment.yaml`. Please note that this file is only used for GitHub
workflows, otherwise we utilize poetry for dependency handling.

## Recent changes

Some changes have been made to the style guide:
## Additional style instructions

- Use `numbers.Number` as the type when both floats and integers are
accepted by functions:
Expand Down Expand Up @@ -289,14 +285,18 @@ def my_function(parameter_1: float, parameter_2: bool, parameter_seq: Sequence):
Here are some things to remember while implementing a new tool:

- Create an issue **before or when you start** developing a
functionality
functionality. Otherwise other people might have no idea you are
developing a feature.
- Adhere to the style guide
- Look at existing implementations and copy the form
- Enable pre-commit and fix style/other issues according to the
error messages
- Remember to use typing hints
- Write tests for your functions
- Add a .md file for you functionality
- Either implment a command-line interface function in `cli.py` in
approriate section of the file or raise an issue about the need to
implement a CLI function for your tool
- If you think the tool you are developing could use a separate
general utility function, make an issue about this need before
starting to develop it on your own. Also check if a utility function
Expand Down
28 changes: 16 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,10 @@ pip install eis_toolkit
conda install -c conda-forge eis_toolkit
```

You can find the latest release of EIS Toolkit also in the [releases page](https://github.com/GispoCoding/eis_toolkit/releases) of this GitHub repository as a Python wheel. Just download the wheel and install with pip

```console
pip install eis_toolkit-0.4.0-py3-none-any.whl
```
A Python wheel can be downloaded also from the [releases page](https://github.com/GispoCoding/eis_toolkit/releases) of this GitHub repository.

> [!TIP]
> GDAL needs to be installed separately on Windows when using pip / PyPI. If you have trouble installing EIS Toolkit in a venv due to GDAL, you can download a compatible GDAL wheel (for example from [this repository](https://github.com/cgohlke/geospatial-wheels/releases)), install it first, and then attempt to install EIS Toolkit again.
> GDAL needs to be installed separately on Windows when using pip / PyPI. If you have trouble installing EIS Toolkit due to GDAL, you can download a compatible GDAL wheel (for example from [this repository](https://github.com/cgohlke/geospatial-wheels/releases)), install it first, and then attempt to install EIS Toolkit again.

## Usage
Expand All @@ -71,7 +67,7 @@ from eis_toolkit.raster_processing.reprojecting import reproject_raster
from eis_toolkit.exploratory_analyses.pca import compute_pca
```

You can find several Jupyter notebooks in this repostiory that demonstrate how tools of EIS Toolkit can be used. The documentation of EIS Toolkit can be read [here](https://gispocoding.github.io/eis_toolkit/).
The documentation of EIS Toolkit can be read [here](https://gispocoding.github.io/eis_toolkit/). You can find several Jupyter notebooks in this repostiory that demonstrate how tools of EIS Toolkit can be used.


### EIS QGIS Plugin
Expand All @@ -80,23 +76,31 @@ For those that prefer using tools of EIS Toolkit via a graphical user interface,
The plugin is developed by the same core team that develops EIS Toolkit.

### CLI
EIS Toolkit includes a [Typer](https://typer.tiangolo.com/) command-line interface that serves as a common interface for integrating the toolkit with external applications, such as QGIS. However, it can be used directly too. To use the CLI, simply use the command
EIS Toolkit includes a [Typer](https://typer.tiangolo.com/) command-line interface that serves as a common interface for integrating the toolkit with external applications, such as QGIS. The CLI can be used directly too, for example

```console
eis
eis resample-raster-cli --input-raster path/to/raster.tif --output-raster path/to/output.tif --resolution 50 --resampling-method bilinear
```

or
For general help, use

```console
eis --help
```

to get started. However, please note that the CLI has been primarily designed to communicate with external programs and may feel clunky in direct use.
or help for a tool

```console
eis <tool-name> --help
```

> [!NOTE]
> Please note that the CLI has been primarily designed to communicate with external programs and may be clunky in direct use.
## Roadmap

- Milestone 1: **Beta release 0.1** (November 2023). The toolkit should have the basic funtionalities required for a full MPM workflow. Official testing phase begins. The plugin will be still under active development.
- Milestone 2: **Release 1.0** (April 2024). All features should be incorporated at this time and the toolkit useful for actual MPM work. Testing will continue, potential bugs will be fixed and the user experience refined.
- Milestone 2: **Release 1.0** (May 2024). Most features should be incorporated at this time and the toolkit useful for actual MPM work. Testing will continue, more advanced methods added and the user experience refined.

## Contributing

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "eis_toolkit"
version = "0.5.2"
version = "1.0.0"
description = "EIS Toolkit is a comprehensive collection of tools suitable for mineral prospectivity mapping. This toolkit has been developed as part of the Exploration Information System project which has been funded by European Union."
authors = []
maintainers = ["Gispo Ltd. <[email protected]>"]
Expand Down

0 comments on commit 9b68c89

Please sign in to comment.