Package sertit
Source Code: https://code.sertit.unistra.fr/SERTIT/sertit-utils
Library gathering functions for all SERTIT's projects.
Find the API documentation here.
Installing
For installing this library to your environment, please type this:
- in your console:
pip install sertit[full]
[full]
will allow you to use the whole library, but you will need to install alsorioxarray
and geopandas
(with GDAL installation issues on Windows, so please install them from wheels that you can
find here).
However, if you do not need everything, you can type instead:
- nothing, and you won't need
rasterio
,rioxarray
orgeopandas
:pip install sertit --extra-index-url ...
[sertit.vectors]
, and you won't needrasterio
orrioxarray
:pip install sertit[vectors] --extra-index-url ...
[sertit.rasters]
, and you won't needrioxarray
:pip install sertit[rasters] --extra-index-url ...
[sertit.rasters_rio]
:pip install sertit[rasters_rio] --extra-index-url ...
[colorlog]
:pip install sertit[colorlog] --extra-index-url ...
to havecolorlog
installed
What is in it ?
Files
File gathering file-related functions:
- paths
- Create archive
- Add folder to zip file
- file extraction
- file name
- copy/remove
- find files
- JSON/pickles
- hash
Logs
- Init simple logger
- Create complex logger (file and stream + color)
- Shutdown logger
Misc
- Function on lists: convert a list to a dict, remove empty values…
- Function on dicts: nested set, check mandatory keys, find by key
- Run a command line
- Get a function name
- Test if in docker
- Change current directory (
cd
) as a context manager
Strings
- Conversion from string to bool, logging level, list, list of dates…
- Convert the string to be usable in command line
- Case conversion (
snake_case
to/fromCamelCase
)
Vectors
- Load an AOI as WKT
- Get UTM projection from lat/lon
- Manage bounds and polygons
- Get
geopandas.Geodataframe
from polygon and CRS
Rasters and rasters_rio
Basically, these functions are overloads of rasterio's functions:
- Get extent and footprint of a raster
- Read/write overload of rasterio functions
- Masking and cropping with masked array
- Collocation (superimpose)
- Sieving
- Vectorization and get nodata vector
- Merge rasters (as GTiff and VRT)
- Get the path of the BEAM-DIMAP image that can be read by rasterio
- Manage bit arrays
The main difference between the two is that sertit.rasters
outputs one xarray
variable
when sertit.rasters_rio
outputs numpy.ma.masked_arrays
+ dict
for the raster array and its metadata.
Network
- Standard Exponential Backoff algorithm
SNAP
- Function converting bytes to SNAP understanding
- Function creating a SNAP optimized commande line
Documentation
An HTML documentation is provided to document the code. It can be found:
- online here),
- on git, in
docs
. To consult it, just open theindex.html
file in a web browser (you need first to clone this project) To generate the HTML documentation, just typepdoc sertit -o docs\html -f --html -c sort_identifiers=False
Packaging
In order to generate a distribution, just upgrade the version in setup.py
and run the command python setup.py sdist bdist_wheel
.
To upload the pypi package, just type twine upload --config-file .pypirc --repository gitlab dist\*
from the root of this project.
Expand source code
# -*- coding: utf-8 -*-
# Copyright 2021, SERTIT-ICube - France, https://sertit.unistra.fr/
# This file is part of sertit-utils project
# https://github.com/sertit/sertit-utils
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""
**Source Code**: https://code.sertit.unistra.fr/SERTIT/sertit-utils
.. include:: ../README.md
"""
__version__ = "1.2.8"
Sub-modules
sertit.ci
-
CI tools …
sertit.files
-
Tools for paths and files
sertit.logs
-
Logging tools
sertit.misc
-
Miscellaneous Tools
sertit.network
-
Network control utils
sertit.rasters
-
Raster tools …
sertit.rasters_rio
-
Raster tools …
sertit.snap
-
SNAP tools
sertit.strings
-
Tools concerning strings
sertit.vectors
-
Vectors tools …