Skip to content

Commit 9b68c89

Browse files
authored
Merge pull request #399 from GispoCoding/396-prepare-10-release
Prepare 1.0.0 release
2 parents b06c6dd + fe9d9fe commit 9b68c89

File tree

3 files changed

+30
-26
lines changed

3 files changed

+30
-26
lines changed

CONTRIBUTING.md

+13-13
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,17 @@ Note that the subpackages can split up into more subpackages if needed.
4343

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

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

57-
1. Functions
56+
3. Functions
5857

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

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

9997
## Naming policy
10098

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

235-
## Recent changes
236-
237-
Some changes have been made to the style guide:
233+
## Additional style instructions
238234

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

291287
- Create an issue **before or when you start** developing a
292-
functionality
288+
functionality. Otherwise other people might have no idea you are
289+
developing a feature.
293290
- Adhere to the style guide
294291
- Look at existing implementations and copy the form
295292
- Enable pre-commit and fix style/other issues according to the
296293
error messages
297294
- Remember to use typing hints
298295
- Write tests for your functions
299296
- Add a .md file for you functionality
297+
- Either implment a command-line interface function in `cli.py` in
298+
approriate section of the file or raise an issue about the need to
299+
implement a CLI function for your tool
300300
- If you think the tool you are developing could use a separate
301301
general utility function, make an issue about this need before
302302
starting to develop it on your own. Also check if a utility function

README.md

+16-12
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,10 @@ pip install eis_toolkit
5050
conda install -c conda-forge eis_toolkit
5151
```
5252

53-
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
54-
55-
```console
56-
pip install eis_toolkit-0.4.0-py3-none-any.whl
57-
```
53+
A Python wheel can be downloaded also from the [releases page](https://github.com/GispoCoding/eis_toolkit/releases) of this GitHub repository.
5854

5955
> [!TIP]
60-
> 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.
56+
> 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.
6157
6258

6359
## Usage
@@ -71,7 +67,7 @@ from eis_toolkit.raster_processing.reprojecting import reproject_raster
7167
from eis_toolkit.exploratory_analyses.pca import compute_pca
7268
```
7369

74-
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/).
70+
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.
7571

7672

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

8278
### CLI
83-
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
79+
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
80+
8481
```console
85-
eis
82+
eis resample-raster-cli --input-raster path/to/raster.tif --output-raster path/to/output.tif --resolution 50 --resampling-method bilinear
8683
```
8784

88-
or
85+
For general help, use
8986

9087
```console
9188
eis --help
9289
```
9390

94-
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.
91+
or help for a tool
92+
93+
```console
94+
eis <tool-name> --help
95+
```
96+
97+
> [!NOTE]
98+
> Please note that the CLI has been primarily designed to communicate with external programs and may be clunky in direct use.
9599
96100
## Roadmap
97101

98102
- 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.
99-
- 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.
103+
- 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.
100104

101105
## Contributing
102106

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "eis_toolkit"
3-
version = "0.5.2"
3+
version = "1.0.0"
44
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."
55
authors = []
66
maintainers = ["Gispo Ltd. <[email protected]>"]

0 commit comments

Comments
 (0)